first-commit
ci / Validate workspace (push) Has been cancelled
landing-page-ci / Validate landing page (push) Has been cancelled
landing-page-deploy / Deploy landing page (push) Has been cancelled
github-metrics / Generate repository metrics SVG (push) Has been cancelled
refresh-contributors-wall / Refresh contributors wall cache bust (push) Waiting to run
ci / Validate workspace (push) Has been cancelled
landing-page-ci / Validate landing page (push) Has been cancelled
landing-page-deploy / Deploy landing page (push) Has been cancelled
github-metrics / Generate repository metrics SVG (push) Has been cancelled
refresh-contributors-wall / Refresh contributors wall cache bust (push) Waiting to run
This commit is contained in:
@@ -0,0 +1,830 @@
|
||||
import type { Dict } from '../types';
|
||||
|
||||
export const ar: Dict = {
|
||||
'common.cancel': 'إلغاء',
|
||||
'common.save': 'حفظ',
|
||||
'common.close': 'إغلاق',
|
||||
'common.delete': 'حذف',
|
||||
'common.rename': 'إعادة تسمية',
|
||||
'common.preview': 'معاينة',
|
||||
'common.share': 'مشاركة',
|
||||
'common.search': 'بحث',
|
||||
'common.searchEllipsis': 'بحث...',
|
||||
'common.loading': 'جاري التحميل...',
|
||||
'common.all': 'الكل',
|
||||
'common.none': 'لا شيء',
|
||||
'common.default': 'افتراضي',
|
||||
'common.installed': 'مثبت',
|
||||
'common.notInstalled': 'غير مثبت',
|
||||
'common.active': 'نشط',
|
||||
'common.offline': 'غير متصل',
|
||||
'common.selected': 'محدد',
|
||||
'common.create': 'إنشاء',
|
||||
'common.openPreview': 'فتح المعاينة',
|
||||
'common.exitFullscreen': 'الخروج من ملء الشاشة',
|
||||
'common.fullscreen': 'ملء الشاشة',
|
||||
'common.openInNewTab': 'فتح في علامة تبويب جديدة',
|
||||
'common.exportPdf': 'تصدير كـ PDF',
|
||||
'common.exportZip': 'تحميل كـ zip.',
|
||||
'common.exportHtml': 'تصدير كـ HTML مستقل',
|
||||
'common.justNow': 'الآن',
|
||||
'common.minutesAgo': 'منذ {n} دقيقة',
|
||||
'common.hoursAgo': 'منذ {n} ساعة',
|
||||
'common.daysAgo': 'منذ {n} يوم',
|
||||
'common.now': 'الآن',
|
||||
'common.minutesShort': '{n} د',
|
||||
'common.hoursShort': '{n} سا',
|
||||
'common.daysShort': '{n} ي',
|
||||
'common.untitled': 'بدون عنوان',
|
||||
|
||||
'app.brand': 'Open Design',
|
||||
'app.brandPill': 'معاينة البحث',
|
||||
'app.brandSubtitle': 'بواسطة Nexu Labs',
|
||||
'app.welcomeLoading': 'جاري تحميل مساحة العمل...',
|
||||
|
||||
'settings.welcomeKicker': 'مرحباً',
|
||||
'settings.welcomeTitle': 'إعداد Open Design',
|
||||
'settings.welcomeSubtitle':
|
||||
"اختر كيف تريد تشغيل الأجيال. يمكنك تغيير هذا في أي وقت من زر الإعدادات في الشريط العلوي.",
|
||||
'settings.kicker': 'الإعدادات',
|
||||
'settings.title': 'التنفيذ والنموذج',
|
||||
'settings.subtitle': 'اختر بين CLI المحلي و BYOK. يتم حفظ مفتاح API في هذا المتصفح فقط.',
|
||||
'settings.modeAria': 'وضع التنفيذ',
|
||||
'settings.protocolAria': 'بروتوكول API',
|
||||
'settings.modeDaemon': 'CLI محلي',
|
||||
'settings.modeDaemonHelp': 'التشغيل عبر واجهة CLI على جهازك',
|
||||
'settings.modeDaemonOffline': 'البرنامج الخفي لا يعمل',
|
||||
'settings.modeDaemonOfflineMeta': 'غير متصل',
|
||||
'settings.modeDaemonInstalledMeta': '{count} مثبت',
|
||||
'settings.modeApi': 'مزود API',
|
||||
'settings.modeApiMeta': 'BYOK',
|
||||
'settings.codeAgent': 'وكيل الكود',
|
||||
'settings.codeAgentHint':
|
||||
'تم اكتشافه عبر مسح PATH الخاص بك. اختر واجهة CLI التي تريد أن تمر الأجيال عبرها.',
|
||||
'settings.rescan': '↻ إعادة المسح',
|
||||
'settings.rescanTitle': 'إعادة مسح PATH',
|
||||
'settings.rescanRunning': 'جارٍ المسح...',
|
||||
'settings.rescanSuccess': 'اكتمل المسح. {count} متاح.',
|
||||
'settings.rescanFailed': 'فشل المسح. تحقق من البرنامج الخفي وحاول مرة أخرى.',
|
||||
'settings.noAgentsDetected':
|
||||
'لم يتم اكتشاف أي وكلاء بعد. قم بتثبيت Claude Code أو Codex أو Devin أو Gemini CLI أو OpenCode أو Cursor Agent أو Qwen أو GitHub Copilot CLI، ثم اضغط على إعادة المسح.',
|
||||
'settings.apiSection': 'Anthropic API',
|
||||
'settings.quickFillProvider': 'ملء المزوّد سريعًا',
|
||||
'settings.customProvider': 'مزوّد مخصص',
|
||||
'settings.apiKey': 'مفتاح API',
|
||||
'settings.showKey': 'إظهار المفتاح',
|
||||
'settings.hideKey': 'إخفاء المفتاح',
|
||||
'settings.show': 'إظهار',
|
||||
'settings.hide': 'إخفاء',
|
||||
'settings.model': 'النموذج',
|
||||
'settings.suggestedModelsHint':
|
||||
'هذه نماذج مقترحة لهذا البروتوكول. قد يدعم مزوّدك نماذج مختلفة.',
|
||||
'settings.baseUrl': 'رابط القاعدة',
|
||||
'settings.baseUrlInvalid': 'أدخل رابط http:// أو https:// عام وصالح. يُسمح بـ localhost؛ ويتم حظر عناوين IP للشبكات الخاصة.',
|
||||
'settings.azureDeploymentModel': 'اسم النشر',
|
||||
'settings.azureDeploymentModelHint':
|
||||
'في Azure OpenAI، يُستخدم هذا الحقل كاسم النشر في /openai/deployments/<model>. أدخل اسم النشر الذي أنشأته في Azure.',
|
||||
'settings.apiVersion': 'إصدار API',
|
||||
'settings.maxTokens': 'أقصى عدد من الرموز (اختياري)',
|
||||
'settings.maxTokensHint':
|
||||
'الحد الأقصى لطول الاستجابة. لكل نموذج قيمة افتراضية؛ اتركها فارغة لاستخدامها، أو أدخل رقماً للتجاوز.',
|
||||
'settings.apiHint': 'تُرسل الطلبات عبر وكيل daemon المحلي إلى Base URL الذي تحدده. يُحفظ المفتاح في هذا المتصفح فقط ويُرسل مع طلبات المزود.',
|
||||
'settings.skipForNow': 'تخطي الآن',
|
||||
'settings.getStarted': 'ابدأ الآن',
|
||||
'settings.envConfigure': 'تكوين وضع التنفيذ',
|
||||
'settings.localCli': 'CLI محلي',
|
||||
'settings.anthropicApi': 'Anthropic API',
|
||||
'settings.noAgentSelected': 'لم يتم اختيار وكيل',
|
||||
'settings.language': 'اللغة',
|
||||
'settings.languageHint': 'تغيير لغة الواجهة. تحفظ في المتصفح.',
|
||||
'settings.appearance': 'المظهر',
|
||||
'settings.appearanceHint': 'اختر الفاتح، الداكن، أو اتبع إعدادات النظام.',
|
||||
'settings.themeSystem': 'النظام',
|
||||
'settings.themeLight': 'فاتح',
|
||||
'settings.themeDark': 'داكن',
|
||||
'settings.modelPicker': 'النموذج',
|
||||
'settings.reasoningPicker': 'جهد التفكير',
|
||||
'settings.modelPickerHint':
|
||||
'يتم جلبه من CLI عندما يعرض أمر `models`. "الافتراضي" يترك الخيار لإعدادات CLI؛ "مخصص..." يسمح لك بكتابة أي معرف نموذج يقبله CLI.',
|
||||
'settings.modelCustom': 'مخصص (اكتب أدناه)...',
|
||||
'settings.modelCustomLabel': 'معرف النموذج المخصص',
|
||||
'settings.modelCustomPlaceholder': 'مثلاً: anthropic/claude-sonnet-4-6',
|
||||
'settings.mediaProviders': 'مزودو الوسائط',
|
||||
'settings.mediaProvidersHint':
|
||||
'مفاتيح API لإنشاء الصور والفيديو والصوت. تخزن محلياً وتزامن مع البرنامج الخفي المحلي.',
|
||||
'settings.mediaProviderApiKey': 'مفتاح API',
|
||||
'settings.mediaProviderBaseUrl': 'رابط القاعدة',
|
||||
'settings.mediaProviderConfigured': 'تم التكوين',
|
||||
'settings.mediaProviderUnset': 'غير محدد',
|
||||
'settings.mediaProviderClear': 'مسح',
|
||||
'settings.mediaProviderPlaceholder': 'الصق مفتاح API',
|
||||
'settings.mediaProviderBaseUrlPlaceholder': 'تجاوز رابط القاعدة الافتراضي',
|
||||
'settings.about': 'حول',
|
||||
'settings.aboutHint': 'تفاصيل النسخة ووقت التشغيل',
|
||||
'settings.appVersion': 'النسخة',
|
||||
'settings.appChannel': 'القناة',
|
||||
'settings.appRuntime': 'وقت التشغيل',
|
||||
'settings.appPlatform': 'المنصة',
|
||||
'settings.appArchitecture': 'المعمارية',
|
||||
'settings.runtimePackaged': 'تطبيق معبأ',
|
||||
'settings.runtimeDevelopment': 'تطوير',
|
||||
'settings.versionUnavailable': 'تفاصيل النسخة غير متوفرة بينما البرنامج الخفي غير متصل.',
|
||||
|
||||
'entry.tabDesigns': 'التصاميم',
|
||||
'entry.tabExamples': 'أمثلة',
|
||||
'entry.tabDesignSystems': 'أنظمة التصميم',
|
||||
'entry.openSettingsTitle': 'الإعدادات',
|
||||
'entry.openSettingsAria': 'فتح الإعدادات',
|
||||
'entry.resizeAria': 'تغيير حجم الشريط الجانبي',
|
||||
'entry.loadingWorkspace': 'جاري تحميل مساحة العمل...',
|
||||
'entry.tabImageTemplates': 'قوالب الصور',
|
||||
'entry.tabVideoTemplates': 'قوالب الفيديو',
|
||||
'promptTemplates.searchPlaceholder': 'بحث في القوالب...',
|
||||
'promptTemplates.countLabel': '{n} نتائج',
|
||||
'promptTemplates.emptyImage': 'لم يتم تثبيت قوالب صور بعد.',
|
||||
'promptTemplates.emptyVideo': 'لم يتم تثبيت قوالب فيديو بعد.',
|
||||
'promptTemplates.emptyNoMatch': 'لا توجد قوالب تطابق بحثك.',
|
||||
'promptTemplates.attributionFooter': 'مقتبس من مكتبات الأوامر العامة. كل بطاقة تشير إلى المؤلف الأصلي.',
|
||||
'promptTemplates.openPreviewTitle': 'فتح الأمر والمعاينة',
|
||||
'promptTemplates.sourcePrefix': 'المصدر:',
|
||||
'promptTemplates.fetchError': 'تعذر تحميل جسم هذا القالب.',
|
||||
'promptTemplates.promptLabel': 'جسم الأمر',
|
||||
'promptTemplates.copyPrompt': 'نسخ الأمر',
|
||||
'promptTemplates.copyDone': 'تم النسخ!',
|
||||
'promptTemplates.modelHint': 'النموذج المقترح: {model}',
|
||||
'promptTemplates.openSource': 'عرض الأصلي',
|
||||
'promptTemplates.openFullscreen': 'فتح معاينة بملء الشاشة',
|
||||
'promptTemplates.closeFullscreen': 'إغلاق معاينة بملء الشاشة',
|
||||
'promptTemplates.retry': 'إعادة المحاولة',
|
||||
|
||||
'newproj.tabPrototype': 'نموذج أولي',
|
||||
'newproj.tabDeck': 'عرض تقديمي',
|
||||
'newproj.tabTemplate': 'من قالب',
|
||||
'newproj.tabOther': 'آخر',
|
||||
'newproj.titlePrototype': 'نموذج أولي جديد',
|
||||
'newproj.titleDeck': 'عرض تقديمي جديد',
|
||||
'newproj.titleTemplate': 'ابدأ من قالب',
|
||||
'newproj.titleImage': 'صورة جديدة',
|
||||
'newproj.titleVideo': 'فيديو جديد',
|
||||
'newproj.titleAudio': 'صوت جديد',
|
||||
'newproj.titleOther': 'مشروع جديد',
|
||||
'newproj.namePlaceholder': 'اسم المشروع',
|
||||
'newproj.fidelityLabel': 'الدقة',
|
||||
'newproj.fidelityWireframe': 'رسم تخطيطي',
|
||||
'newproj.fidelityHigh': 'دقة عالية',
|
||||
'newproj.toggleSpeakerNotes': 'استخدم ملاحظات المتحدث',
|
||||
'newproj.toggleSpeakerNotesHint': 'نص أقل على الشرائح - احتفظ بنقاط الحديث في الملاحظات.',
|
||||
'newproj.toggleAnimations': 'تضمين الرسوم المتحركة',
|
||||
'newproj.toggleAnimationsHint':
|
||||
'أضف الحركة (دخول، تحويم، انتقالات) فوق القالب.',
|
||||
'newproj.templateLabel': 'القالب',
|
||||
'newproj.noTemplatesTitle': 'لا توجد قوالب بعد',
|
||||
'newproj.noTemplatesBody':
|
||||
'افتح أي مشروع، ثم استخدم قائمة المشاركة داخل عارض الملفات لتحويله إلى قالب. ستظهر القوالب هنا.',
|
||||
'newproj.savedTemplate': 'قالب محفوظ',
|
||||
'newproj.fileSingular': 'ملف',
|
||||
'newproj.filePlural': 'ملفات',
|
||||
'newproj.create': 'إنشاء',
|
||||
'newproj.createFromTemplate': 'إنشاء من قالب',
|
||||
'newproj.createDisabledTitle':
|
||||
'احفظ مشروعاً كقالب أولاً (قائمة المشاركة داخل أي مشروع).',
|
||||
'newproj.importClaudeZip': 'استيراد ZIP من Claude Design',
|
||||
'newproj.importClaudeZipTitle': 'استيراد تصدير .zip من Claude Design',
|
||||
'newproj.importingClaudeZip': 'جاري الاستيراد...',
|
||||
'newproj.privacyFooter': 'أنت فقط من يمكنه رؤية مشروعك افتراضياً.',
|
||||
'newproj.designSystem': 'نظام التصميم',
|
||||
'newproj.dsNoneFreeform': 'لا يوجد - شكل حر',
|
||||
'newproj.dsNoneSubtitleEmpty': 'لا توجد رموز نظام، اختر لوحة الألوان الخاصة بك',
|
||||
'newproj.dsNoneSubtitleSelected': 'تخطي رموز النظام. يختار الوكيل لوحة الألوان الخاصة به.',
|
||||
'newproj.dsCategoryFallback': 'نظام التصميم',
|
||||
'newproj.dsSearch': 'بحث في أنظمة التصميم...',
|
||||
'newproj.dsModeAria': 'وضع الاختيار',
|
||||
'newproj.dsModeSingle': 'فردي',
|
||||
'newproj.dsModeMulti': 'متعدد',
|
||||
'newproj.dsNoneTitle': 'لا يوجد - شكل حر',
|
||||
'newproj.dsNoneSub': 'تخطي رموز النظام. يختار الوكيل لوحة الألوان الخاصة به.',
|
||||
'newproj.dsEmpty': 'لا توجد أنظمة تصميم تطابق "{query}".',
|
||||
'newproj.dsFootSingular': 'للإلهام فقط.',
|
||||
'newproj.dsFootPlural': 'للإلهام فقط.',
|
||||
'newproj.dsFootClear': 'مسح',
|
||||
'newproj.dsBadgeDefault': 'افتراضي',
|
||||
'newproj.dsPrimaryFallback': 'أساسي',
|
||||
'newproj.surfaceImage': 'صورة',
|
||||
'newproj.surfaceVideo': 'فيديو',
|
||||
'newproj.surfaceAudio': 'صوت',
|
||||
'newproj.modelLabel': 'النموذج',
|
||||
'newproj.aspectLabel': 'الأبعاد',
|
||||
'newproj.imageStyleLabel': 'ملاحظات الأسلوب',
|
||||
'newproj.imageStylePlaceholder': 'صورة تحريرية، ضوء نهار ناعم، لوحة ألوان هادئة',
|
||||
'newproj.videoLengthLabel': 'الطول',
|
||||
'newproj.videoLengthSeconds': '{n} ثا',
|
||||
'newproj.audioKindLabel': 'نوع الصوت',
|
||||
'newproj.audioKindMusic': 'موسيقى',
|
||||
'newproj.audioKindSpeech': 'كلام / TTS',
|
||||
'newproj.audioKindSfx': 'تأثيرات صوتية',
|
||||
'newproj.audioDurationLabel': 'المدة',
|
||||
'newproj.audioDurationSeconds': '{n} ثا',
|
||||
'newproj.voiceLabel': 'الصوت',
|
||||
'newproj.voicePlaceholder': 'معرف صوت المزود، اختياري',
|
||||
'newproj.promptTemplateLabel': 'قالب مرجعي',
|
||||
'newproj.promptTemplateNoneTitle': 'لا يوجد - اكتب خاصتك',
|
||||
'newproj.promptTemplateNoneSub': 'تخطي المعرض، صف موجزك الخاص',
|
||||
'newproj.promptTemplateRefSub': 'قالب مرجعي',
|
||||
'newproj.promptTemplateSearch': 'بحث في القوالب...',
|
||||
'newproj.promptTemplateEmpty': 'لم يتم تثبيت قوالب لهذه السطح بعد.',
|
||||
'newproj.promptTemplateBodyLabel': 'الأمر (يمكنك ضبطه)',
|
||||
'newproj.promptTemplateOptimizeHint':
|
||||
'عدل أي شيء - تغييراتك تنتقل إلى موجز الوكيل.',
|
||||
'newproj.promptTemplateBodyEmpty':
|
||||
'جسم فارغ - لن يحصل الوكيل على مرجع قالب.',
|
||||
|
||||
'designs.subRecent': 'الأخيرة',
|
||||
'designs.subYours': 'تصاميمك',
|
||||
'designs.filterAria': 'تصفية المشاريع',
|
||||
'designs.searchPlaceholder': 'بحث...',
|
||||
'designs.emptyNoProjects': 'لا توجد مشاريع بعد. أنشئ واحداً على اليسار.',
|
||||
'designs.emptyNoMatch': 'لا توجد مشاريع تطابق بحثك.',
|
||||
'designs.deleteTitle': 'حذف المشروع',
|
||||
'designs.deleteConfirm': 'هل تريد حذف "{name}"؟',
|
||||
'designs.cardFreeform': 'شكل حر',
|
||||
'designs.status.notStarted': 'لم يبدأ',
|
||||
'designs.status.queued': 'في الانتظار',
|
||||
'designs.status.running': 'جاري التشغيل',
|
||||
'designs.status.awaitingInput': 'يحتاج مدخلات',
|
||||
'designs.status.succeeded': 'اكتمل',
|
||||
'designs.status.failed': 'فشل',
|
||||
'designs.status.canceled': 'ملغى',
|
||||
'designs.viewToggleAria': 'وضع العرض',
|
||||
'designs.viewGrid': 'عرض الشبكة',
|
||||
'designs.viewKanban': 'عرض اللوحة',
|
||||
'designs.kanbanEmptyColumn': 'لا توجد تصاميم',
|
||||
'designs.deleteAria': 'حذف المشروع {name}',
|
||||
|
||||
'examples.typeLabel': 'النوع',
|
||||
'examples.surfaceLabel': 'السطح',
|
||||
'examples.surfaceWeb': 'ويب',
|
||||
'examples.surfaceImage': 'صورة',
|
||||
'examples.surfaceVideo': 'فيديو',
|
||||
'examples.surfaceAudio': 'صوت',
|
||||
'examples.scenarioLabel': 'السيناريو',
|
||||
'examples.modeAll': 'الكل',
|
||||
'examples.modePrototypeDesktop': 'نماذج أولية · سطح المكتب',
|
||||
'examples.modePrototypeMobile': 'نماذج أولية · الجوال',
|
||||
'examples.modeDeck': 'شرائح',
|
||||
'examples.modeDocument': 'مستندات وقوالب',
|
||||
'examples.scenarioGeneral': 'عام',
|
||||
'examples.scenarioEngineering': 'هندسة',
|
||||
'examples.scenarioProduct': 'منتج',
|
||||
'examples.scenarioDesign': 'تصميم',
|
||||
'examples.scenarioMarketing': 'تسويق',
|
||||
'examples.scenarioSales': 'مبيعات',
|
||||
'examples.scenarioFinance': 'مالية',
|
||||
'examples.scenarioHr': 'موارد بشرية',
|
||||
'examples.scenarioOperations': 'عمليات',
|
||||
'examples.scenarioSupport': 'دعم',
|
||||
'examples.scenarioLegal': 'قانوني',
|
||||
'examples.scenarioEducation': 'تعليم',
|
||||
'examples.scenarioPersonal': 'شخصي',
|
||||
'examples.emptyNoSkills': 'لا توجد مهارات متوفرة. هل البرنامج الخفي يعمل؟',
|
||||
'examples.searchPlaceholder': 'بحث في الأمثلة...',
|
||||
'examples.searchAria': 'بحث في الأمثلة بالاسم',
|
||||
'examples.emptyNoMatch': 'لا توجد أمثلة تطابق هذه الفلاتر.',
|
||||
'examples.openPreview': '⤢ فتح المعاينة',
|
||||
'examples.loadingPreview': 'جاري تحميل المعاينة...',
|
||||
'examples.hoverPreview': 'حوم للمعاينة',
|
||||
'examples.usePrompt': 'استخدم هذا الأمر',
|
||||
'examples.previewModalTitle': 'فتح المعاينة الكاملة (نافذة)',
|
||||
'examples.shareTitle': 'مشاركة هذا المثال',
|
||||
'examples.shareLoadFirst': 'حوم لتحميل المعاينة أولاً',
|
||||
'examples.shareMenu': 'مشاركة ▾',
|
||||
'examples.exportPdfAllSlides': 'تصدير كـ PDF (كل الشرائح)',
|
||||
'examples.exportPptxLocked': 'تصدير كـ PPTX... (افتح القالب أولاً)',
|
||||
'examples.tagSlideDeck': 'عرض تقديمي',
|
||||
'examples.tagTemplate': 'قالب',
|
||||
'examples.tagDesignSystem': 'نظام تصميم',
|
||||
'examples.tagMobilePrototype': 'نموذج أولي للجوال',
|
||||
'examples.tagDesktopPrototype': 'نموذج أولي لسطح المكتب',
|
||||
'examples.tagImage': 'صورة',
|
||||
'examples.tagVideo': 'فيديو',
|
||||
'examples.tagAudio': 'صوت',
|
||||
'examples.previewLabel': 'معاينة',
|
||||
|
||||
'ds.surfaceLabel': 'السطح',
|
||||
'ds.surfaceWeb': 'ويب',
|
||||
'ds.surfaceImage': 'صورة',
|
||||
'ds.surfaceVideo': 'فيديو',
|
||||
'ds.surfaceAudio': 'صوت',
|
||||
'ds.searchPlaceholder': 'بحث في أنظمة التصميم...',
|
||||
'ds.emptyNoMatch': 'لا توجد أنظمة تصميم تطابق بحثك.',
|
||||
'ds.badgeDefault': 'افتراضي',
|
||||
'ds.preview': 'معاينة',
|
||||
'ds.previewTitle': 'معاينة نظام التصميم',
|
||||
'ds.categoryAll': 'الكل',
|
||||
'ds.categoryUncategorized': 'غير مصنف',
|
||||
'ds.showcase': 'عرض',
|
||||
'ds.tokens': 'الرموز',
|
||||
'ds.specToggle': 'DESIGN.md',
|
||||
'ds.specLoading': 'جاري تحميل DESIGN.md...',
|
||||
|
||||
'avatar.title': 'الحساب والإعدادات',
|
||||
'avatar.localCli': 'CLI محلي',
|
||||
'avatar.anthropicApi': 'Anthropic API',
|
||||
'avatar.useLocal': 'استخدام CLI محلي',
|
||||
'avatar.useApi': 'استخدام API · BYOK',
|
||||
'avatar.codeAgent': 'وكيل الكود',
|
||||
'avatar.rescan': 'إعادة مسح PATH',
|
||||
'avatar.settings': 'الإعدادات',
|
||||
'avatar.backToProjects': 'العودة للمشاريع',
|
||||
'avatar.metaActive': 'نشط',
|
||||
'avatar.metaOffline': 'غير متصل',
|
||||
'avatar.metaSelected': 'محدد',
|
||||
'avatar.noAgentSelected': 'لم يتم اختيار وكيل',
|
||||
'avatar.modelSection': 'النموذج',
|
||||
'avatar.modelLabel': 'النموذج',
|
||||
'avatar.reasoningLabel': 'التفكير',
|
||||
'avatar.customSuffix': '(مخصص)',
|
||||
|
||||
'project.backToProjects': 'العودة للمشاريع',
|
||||
'project.metaFreeform': 'شكل حر',
|
||||
'chat.tabChat': 'دردشة',
|
||||
'chat.tabComments': 'تعليقات',
|
||||
'chat.commentsSoon': 'التعليقات - قريباً',
|
||||
'chat.comments.attached': 'مرفق بالدردشة',
|
||||
'chat.comments.emptyAttached': 'لا توجد تعليقات مرفقة.',
|
||||
'chat.comments.saved': 'تعليقات محفوظة',
|
||||
'chat.comments.emptySaved': 'لا توجد تعليقات محفوظة.',
|
||||
'chat.comments.add': 'إضافة',
|
||||
'chat.comments.addAll': 'إضافة الكل',
|
||||
'chat.comments.remove': 'إزالة',
|
||||
'chat.comments.placeholder': 'علق على هذا العنصر...',
|
||||
'chat.comments.addSend': 'إضافة وإرسال',
|
||||
'chat.comments.updateSend': 'تحديث وإرسال',
|
||||
'chat.comments.removeAttachment': 'إزالة مرفق التعليق',
|
||||
'chat.comments.removeAttachmentAria': 'إزالة مرفق التعليق لـ {name}',
|
||||
'chat.conversationsTitle': 'المحادثات',
|
||||
'chat.conversationsAria': 'سجل المحادثات',
|
||||
'chat.newConversation': 'محادثة جديدة',
|
||||
'chat.newConversationsTitle': 'محادثة جديدة',
|
||||
'chat.conversationsHeading': 'المحادثات',
|
||||
'chat.new': 'جديد',
|
||||
'chat.emptyConversations': 'لا توجد محادثات بعد.',
|
||||
'chat.deleteConversation': 'حذف المحادثة',
|
||||
'chat.deleteConversationConfirm':
|
||||
'هل تريد حذف "{title}"؟ سيؤدي هذا لإزالة رسائلها.',
|
||||
'chat.untitledConversation': 'محادثة بدون عنوان',
|
||||
'chat.startTitle': 'ابدأ محادثة',
|
||||
'chat.startHint':
|
||||
'اسحب وأفلت الصور للمرجع البصري، أو اكتب @ لإرفاق ملف من هذا المشروع. أو جرب أحد هذه البدايات:',
|
||||
'chat.fillInputTitle': 'اضغط لملء المدخلات',
|
||||
'chat.jumpToLatest': 'انتقال للأحدث',
|
||||
'chat.scrollToLatest': 'التمرير للأحدث',
|
||||
'chat.you': 'أنت',
|
||||
'chat.openFile': 'فتح {name}',
|
||||
'chat.composerPlaceholder':
|
||||
'صف التصميم الذي تريده - الصق أو اسحب الصور، أو @ لملف...',
|
||||
'chat.composerHint':
|
||||
'⌘/Ctrl + Enter للإرسال · الصق الصور · @ للإشارة لملفات',
|
||||
'chat.cliSettingsTitle': 'إعدادات CLI والنموذج',
|
||||
'chat.cliSettingsAria': 'فتح إعدادات CLI والنموذج',
|
||||
'chat.attachTitle': 'إرفاق ملفات (أو الصق / اسحب)',
|
||||
'chat.attachAria': 'إرفاق ملفات',
|
||||
'chat.importTitle': 'استيراد المصادر (قريباً)',
|
||||
'chat.importLabel': 'استيراد',
|
||||
'chat.importComingSoon': 'قريباً',
|
||||
'chat.importSoon': 'قريباً',
|
||||
'chat.importFig': 'رفع ملف .fig',
|
||||
'chat.importGitHub': 'ربط GitHub',
|
||||
'chat.importWeb': 'جلب عنصر ويب',
|
||||
'chat.importFolder': 'ربط مجلد كود',
|
||||
'chat.importSkills': 'المهارات وأنظمة التصميم',
|
||||
'chat.importProject': 'مرجع لمشروع آخر',
|
||||
'chat.send': 'إرسال',
|
||||
'chat.stop': 'إيقاف',
|
||||
'chat.removeAria': 'إزالة {name}',
|
||||
'chat.example1Title': 'عرض تقديمي تحريري',
|
||||
'chat.example1Tag': 'مجلة',
|
||||
'chat.example1Prompt':
|
||||
'عرض تقديمي تحريري من 10 شرائح لاستوديو تصميم يجمع تمويلاً - تخطيط شبكة سويسرية، عناوين عريضة مع أحرف استهلالية بارزة، أرقام أقسام أحادية المسافة، مساحات سلبية سخية، وشرائح صور بملء الشاشة تتخللها شرائح نصية مكثفة. الغلاف، الرؤية، السوق، المنتج، الزخم، الفريق، الطلب، الاتصال.',
|
||||
'chat.example2Title': 'لوحة تحكم تحليلات SaaS',
|
||||
'chat.example2Tag': 'بيانات',
|
||||
'chat.example2Prompt':
|
||||
'لوحة تحكم تحليلات مكثفة لـ SaaS لأدوات المطورين - شريط KPI مع التغييرات الأسبوعية، مخططان خطيان متراكمان (MRR ومساحات العمل النشطة)، خريطة حرارية عالمية للاستخدام، شبكة احتفاظ بالمجموعات، لوحة صدارة لكبار العملاء، وخلاصة أحداث فورية. سمة داكنة، أرقام أحادية المسافة، تأثيرات sparkline.',
|
||||
'chat.example3Title': 'تقرير سنوي بالتمرير الطويل',
|
||||
'chat.example3Tag': 'تحريري',
|
||||
'chat.example3Prompt':
|
||||
'تقرير سنوي تفاعلي لمنظمة مناخية غير ربحية - تخطيط تحريري بالتمرير الطويل يمزج بين كتل الاقتباسات الكبيرة، تصورات البيانات (أعمدة متراكمة، عدادات متحركة، خريطة لمواقع المشاريع)، فواصل صور، جدار المتبرعين، ودعوة نهائية للعمل. خط متن حديث، تسميات مخططات sans-serif، لوحة ألوان ورقية ترابية.',
|
||||
|
||||
'preview.shareMenu': 'مشاركة ▾',
|
||||
'preview.openInNewTab': 'فتح في علامة تبويب جديدة',
|
||||
'preview.exit': '⤓ خروج',
|
||||
'preview.fullscreen': '⤢ ملء الشاشة',
|
||||
'preview.closeTitle': 'إغلاق (Esc)',
|
||||
'preview.loading': 'جاري تحميل {label}...',
|
||||
'preview.showSidebar': 'إظهار {label}',
|
||||
'preview.hideSidebar': 'إخفاء {label}',
|
||||
|
||||
'misc.savedTemplate': 'قالب محفوظ',
|
||||
'misc.primary': 'أساسي',
|
||||
'misc.designSystem': 'نظام تصميم',
|
||||
|
||||
'workspace.designFiles': 'ملفات التصميم',
|
||||
'workspace.closeTab': 'إغلاق علامة التبويب',
|
||||
'workspace.deleteFileConfirm': 'حذف "{name}" من مجلد المشروع؟',
|
||||
'workspace.openFromDesignFiles': 'فتح ملف من',
|
||||
'workspace.designFilesLink': 'ملفات التصميم',
|
||||
'workspace.loadingSketch': 'جاري تحميل الرسم...',
|
||||
'designFiles.title': 'ملفات التصميم',
|
||||
'designFiles.upload': 'رفع ملفات',
|
||||
'designFiles.pasteText': 'لصق كملف نصي',
|
||||
'designFiles.newSketch': 'رسم جديد',
|
||||
'designFiles.empty':
|
||||
'لا يوجد شيء هنا بعد. اسحب الملفات أدناه، أو أنشئ رسماً / الصق نصاً.',
|
||||
'designFiles.refresh': 'تحديث',
|
||||
'designFiles.delete': 'حذف',
|
||||
'designFiles.searchPlaceholder': 'بحث في الملفات...',
|
||||
'designFiles.up': 'للأعلى',
|
||||
'designFiles.back': 'رجوع',
|
||||
'designFiles.crumbs': 'مشروع',
|
||||
'designFiles.rowMenu': 'قائمة الصف',
|
||||
'designFiles.openInTab': 'فتح في علامة تبويب',
|
||||
'designFiles.download': 'تحميل',
|
||||
'designFiles.downloadSelected': 'Download {n} as ZIP',
|
||||
'designFiles.clearSelection': 'Clear',
|
||||
'designFiles.selectAll': 'Select all',
|
||||
'designFiles.dropTitle': '⤓ أسقط الملفات هنا',
|
||||
'designFiles.dropDesc':
|
||||
'الصور، المستندات، المراجع، أو المجلدات - سيستخدمها الوكيل كسياق.',
|
||||
'designFiles.upload.title': 'رفع ملفات',
|
||||
'designFiles.paste.title': 'لصق نص كملف',
|
||||
'designFiles.upload.label': 'رفع',
|
||||
'designFiles.paste.label': 'لصق',
|
||||
'designFiles.previewOpen': 'فتح',
|
||||
'designFiles.previewClose': 'إغلاق المعاينة',
|
||||
'designFiles.modified': 'تم التعديل {time} · {size}',
|
||||
'designFiles.weeksAgo': 'منذ {n} أسبوع',
|
||||
'designFiles.sectionPages': 'صفحات',
|
||||
'designFiles.sectionScripts': 'سكربتات',
|
||||
'designFiles.sectionImages': 'صور',
|
||||
'designFiles.sectionSketches': 'رسومات',
|
||||
'designFiles.sectionOther': 'أخرى',
|
||||
'designFiles.showMore': 'عرض +{n} أخرى',
|
||||
'designFiles.kindHtml': 'صفحة HTML',
|
||||
'designFiles.kindImage': 'صورة',
|
||||
'designFiles.kindSketch': 'رسم',
|
||||
'designFiles.kindText': 'نص',
|
||||
'designFiles.kindCode': 'سكربت',
|
||||
'designFiles.kindPdf': 'PDF',
|
||||
'designFiles.kindDocument': 'مستند',
|
||||
'designFiles.kindPresentation': 'عرض تقديمي',
|
||||
'designFiles.kindSpreadsheet': 'جدول بيانات',
|
||||
'designFiles.kindBinary': 'ثنائي',
|
||||
'pasteDialog.title': 'لصق نص',
|
||||
'pasteDialog.hint': 'يحفظ في مجلد المشروع. اختر أي اسم.',
|
||||
'pasteDialog.fileNameLabel': 'اسم الملف',
|
||||
'pasteDialog.namePlaceholder': 'notes.txt',
|
||||
'pasteDialog.contentLabel': 'المحتوى',
|
||||
'pasteDialog.contentPlaceholder': 'الصق أي شيء...',
|
||||
'pasteDialog.save': 'حفظ',
|
||||
'pasteDialog.cancel': 'إلغاء',
|
||||
'sketch.save': 'حفظ الرسم',
|
||||
'sketch.cancel': 'إلغاء',
|
||||
'sketch.saving': 'جاري الحفظ...',
|
||||
'sketch.tooltipDirty': 'تغييرات غير محفوظة',
|
||||
'sketch.tooltipClean': 'تم الحفظ',
|
||||
'fileViewer.empty': 'اختر ملفاً لعرضه.',
|
||||
'fileViewer.loading': 'جاري التحميل...',
|
||||
'fileViewer.exportPptx': 'تصدير كـ PPTX',
|
||||
'fileViewer.openInNewTab': 'فتح في علامة تبويب جديدة',
|
||||
'fileViewer.copyPath': 'نسخ المسار',
|
||||
'fileViewer.copied': 'تم النسخ!',
|
||||
'fileViewer.share': 'مشاركة',
|
||||
'fileViewer.binaryMeta': 'ثنائي · {size}',
|
||||
'fileViewer.binaryNote':
|
||||
'ملف ثنائي ({size} بايت). حمله أو افتحه من القرص لفحصه.',
|
||||
'fileViewer.pdfMeta': 'PDF · {size}',
|
||||
'fileViewer.documentMeta': 'مستند',
|
||||
'fileViewer.presentationMeta': 'عرض تقديمي',
|
||||
'fileViewer.spreadsheetMeta': 'جدول بيانات',
|
||||
'fileViewer.previewUnavailable': 'المعاينة غير متوفرة. حمل الملف أو افتحه لفحصه.',
|
||||
'fileViewer.download': 'تحميل',
|
||||
'fileViewer.open': 'فتح',
|
||||
'fileViewer.imageMeta': 'صورة · {size}',
|
||||
'fileViewer.reactMeta': 'مكون React · {size}',
|
||||
'fileViewer.sketchMeta': 'رسم · {size}',
|
||||
'fileViewer.markdownStreamingMeta': 'معاينة متدفقة...',
|
||||
'fileViewer.markdownErrorMeta': 'قد تكون المعاينة غير مكتملة (خطأ في التوليد).',
|
||||
'fileViewer.markdownStreamingStatus': 'تدفق... عرض ماركداون جزئي.',
|
||||
'fileViewer.markdownErrorStatus': 'خطأ في التوليد. عرض آخر محتوى متوفر.',
|
||||
'fileViewer.videoMeta': 'فيديو · {size}',
|
||||
'fileViewer.audioMeta': 'صوت · {size}',
|
||||
'fileViewer.reload': 'إعادة تحميل',
|
||||
'fileViewer.reloadDisk': 'إعادة تحميل من القرص',
|
||||
'fileViewer.copy': 'نسخ',
|
||||
'fileViewer.copyTitle': 'نسخ محتويات الملف',
|
||||
'fileViewer.saveDisabled': 'حفظ (عارض للقراءة فقط)',
|
||||
'fileViewer.save': 'حفظ',
|
||||
'fileViewer.preview': 'معاينة',
|
||||
'fileViewer.source': 'المصدر',
|
||||
'fileViewer.tweaks': 'تعديلات',
|
||||
'fileViewer.comment': 'تعليق',
|
||||
'fileViewer.edit': 'تعديل',
|
||||
'fileViewer.draw': 'رسم',
|
||||
'fileViewer.zoomOut': 'تصغير',
|
||||
'fileViewer.zoomIn': 'تكبير',
|
||||
'fileViewer.resetZoom': 'إعادة تعيين الزوم',
|
||||
'fileViewer.reloadAria': 'إعادة تحميل',
|
||||
'fileViewer.previousSlide': 'الشريحة السابقة',
|
||||
'fileViewer.nextSlide': 'الشريحة التالية',
|
||||
'fileViewer.slideNavAria': 'التنقل بين الشرائح',
|
||||
'fileViewer.present': 'تقديم',
|
||||
'fileViewer.presentInTab': 'في علامة التبويب هذه',
|
||||
'fileViewer.presentFullscreen': 'ملء الشاشة',
|
||||
'fileViewer.presentNewTab': 'علامة تبويب جديدة',
|
||||
'fileViewer.exitPresentation': 'الخروج من العرض',
|
||||
'fileViewer.shareLabel': 'مشاركة',
|
||||
'fileViewer.exportPdf': 'تصدير كـ PDF',
|
||||
'fileViewer.exportPdfAllSlides': 'تصدير كـ PDF (كل الشرائح)',
|
||||
'fileViewer.exportPptxBusy': 'انتظر انتهاء الدور الحالي.',
|
||||
'fileViewer.exportPptxHint':
|
||||
'أرسل طلباً للوكيل لتحويل هذا التصميم إلى PPTX.',
|
||||
'fileViewer.exportPptxNa': 'تصدير PPTX غير متوفر هنا.',
|
||||
'fileViewer.exportZip': 'تحميل كـ zip.',
|
||||
'fileViewer.exportHtml': 'تصدير كـ HTML مستقل',
|
||||
'fileViewer.exportMd': 'تصدير كـ Markdown',
|
||||
'fileViewer.exportJsx': 'تصدير كـ JSX',
|
||||
'fileViewer.exportReactHtml': 'تصدير المعاينة كـ HTML',
|
||||
'fileViewer.saveAsTemplate': 'حفظ كقالب...',
|
||||
'fileViewer.savingTemplate': 'جاري حفظ القالب...',
|
||||
'fileViewer.savedTemplate': 'تم الحفظ باسم "{name}"',
|
||||
'fileViewer.savedTemplateFail': 'تعذر حفظ القالب - حاول مرة أخرى.',
|
||||
'fileViewer.templateNamePrompt': 'اسم القالب',
|
||||
'fileViewer.templateNameDefault': 'قالب بدون عنوان',
|
||||
'fileViewer.templateDescPrompt':
|
||||
'وصف قصير (اختياري - ما الذي يجعل هذا القالب مفيداً؟)',
|
||||
'fileViewer.deployToVercel': 'نشر على Vercel',
|
||||
'fileViewer.redeployToVercel': 'إعادة النشر',
|
||||
'fileViewer.deployingToVercel': 'جاري النشر على Vercel...',
|
||||
'fileViewer.preparingPublicLink': 'جاري تحضير الرابط العام...',
|
||||
'fileViewer.copyDeployLink': 'نسخ الرابط',
|
||||
'fileViewer.deployModalTitle': 'نشر على Vercel',
|
||||
'fileViewer.deployModalSubtitle':
|
||||
'انشر هذا الـ HTML كمعاينة Vercel باستخدام حسابك الخاص.',
|
||||
'fileViewer.vercelToken': 'رمز Vercel',
|
||||
'fileViewer.vercelTokenGetLink': 'احصل على رمز Vercel',
|
||||
'fileViewer.vercelTokenPlaceholder': 'الصق رمز Vercel الخاص بك',
|
||||
'fileViewer.vercelTokenReuseHint':
|
||||
'سيتم استخدام الرمز المحفوظ. أدخل رمزاً جديداً لاستبداله.',
|
||||
'fileViewer.vercelTokenRequired': 'أدخل واحفظ رمز Vercel أولاً.',
|
||||
'fileViewer.vercelTeamId': 'معرف الفريق',
|
||||
'fileViewer.vercelTeamSlug': 'اسم الفريق اللطيف',
|
||||
'fileViewer.optional': 'اختياري',
|
||||
'fileViewer.vercelPreviewOnly': 'النشر للمعاينة فقط حالياً.',
|
||||
'fileViewer.savingConfig': 'جاري الحفظ...',
|
||||
'fileViewer.deployConfigSaveFailed': 'تعذر حفظ إعدادات Vercel.',
|
||||
'fileViewer.deployFailed': 'فشل النشر. تحقق من إعدادات Vercel وحاول مرة أخرى.',
|
||||
'fileViewer.deployResultLabel': 'رابط النشر',
|
||||
'fileViewer.deployLinkPreparingLabel': 'الرابط العام معلق',
|
||||
'fileViewer.deployLinkDelayed':
|
||||
'تم نشر موقعك. Vercel لا يزال يحضر الرابط العام.',
|
||||
'fileViewer.deployLinkProtectedLabel': 'حماية Vercel مفعلة',
|
||||
'fileViewer.deployLinkProtected':
|
||||
'تم نشر موقعك، لكن Vercel يتطلب المصادقة لهذا الرابط. عطل حماية النشر أو استخدم دومين مخصص.',
|
||||
'fileViewer.retryLink': 'إعادة المحاولة الآن',
|
||||
|
||||
'questionForm.submit': 'إرسال',
|
||||
'questionForm.skip': 'تخطي',
|
||||
'questionForm.locked': 'تمت الإجابة',
|
||||
|
||||
'conv.switch': 'تبديل المحادثة',
|
||||
'conv.label': 'المحادثة',
|
||||
'conv.heading': 'المحادثات',
|
||||
'conv.new': '+ جديد',
|
||||
'conv.empty': 'لا توجد محادثات بعد.',
|
||||
'conv.untitled': 'محادثة بدون عنوان',
|
||||
'conv.renameTooltip': 'انقر مرتين لإعادة التسمية',
|
||||
'conv.delete': 'حذف المحادثة',
|
||||
'conv.deleteConfirm': 'هل تريد حذف "{title}"؟ سيؤدي هذا لإزالة رسائلها.',
|
||||
|
||||
'agentPicker.label': 'الوكيل',
|
||||
'agentPicker.modeChoose': 'اختر وضع التنفيذ',
|
||||
'agentPicker.localCli': 'CLI محلي',
|
||||
'agentPicker.daemonOff': 'البرنامج الخفي متوقف',
|
||||
'agentPicker.byok': 'API · BYOK',
|
||||
'agentPicker.selectAgent': 'اختر وكيل كود مكتشف',
|
||||
'agentPicker.noAgents': 'لا يوجد وكلاء في PATH',
|
||||
'agentPicker.notInstalled': 'غير مثبت',
|
||||
'agentPicker.rescan': 'إعادة مسح PATH المحلي للوكلاء',
|
||||
|
||||
'tool.openInTab': 'فتح {name} في علامة تبويب',
|
||||
'tool.open': 'فتح',
|
||||
'tool.todos': 'المهام',
|
||||
'tool.write': 'كتابة',
|
||||
'tool.edit': 'تعديل',
|
||||
'tool.read': 'قراءة',
|
||||
'tool.bash': 'Bash',
|
||||
'tool.glob': 'Glob',
|
||||
'tool.grep': 'Grep',
|
||||
'tool.fetch': 'جلب',
|
||||
'tool.search': 'بحث',
|
||||
'tool.lines': '{n} أسطر',
|
||||
'tool.changeSingular': 'تغيير',
|
||||
'tool.changePlural': 'تغييرات',
|
||||
'tool.in': 'في {path}',
|
||||
'tool.hide': 'إخفاء',
|
||||
'tool.output': 'المخرجات',
|
||||
'tool.running': 'جاري التشغيل...',
|
||||
'tool.error': 'خطأ',
|
||||
'tool.done': 'تم',
|
||||
|
||||
'assistant.role': 'المساعد',
|
||||
'assistant.workingLabel': 'جاري العمل',
|
||||
'assistant.doneLabel': 'تم',
|
||||
'assistant.unfinishedLabel': 'توقف مع عمل غير مكتمل',
|
||||
'assistant.unfinishedSummary': 'تبقى {n} مهمة/مهام',
|
||||
'assistant.unfinishedMore': '+{n} أكثر',
|
||||
'assistant.continueRemaining': 'متابعة المهام المتبقية',
|
||||
'assistant.outTokens': '{n} خرج',
|
||||
'assistant.producedFiles': 'الملفات من هذا الدور',
|
||||
'assistant.openFile': 'فتح',
|
||||
'assistant.downloadFile': 'تحميل',
|
||||
'assistant.thinking': 'تفكير',
|
||||
'assistant.systemReminder': 'تذكير النظام',
|
||||
'assistant.waitingFirstOutput': 'في انتظار أول مخرج',
|
||||
'assistant.statusBootingAgent': 'تشغيل الوكيل',
|
||||
'assistant.statusStarting': 'بدء',
|
||||
'assistant.statusRequesting': 'إرسال الطلب',
|
||||
'assistant.statusThinking': 'تفكير',
|
||||
'assistant.statusStreaming': 'تدفق',
|
||||
'assistant.slowHint':
|
||||
'يستغرق وقتاً أطول من المعتاد. يظهر النموذج عادة في 5-10 ثوانٍ - يمكنك التوقف وإعادة الصياغة.',
|
||||
'assistant.verbEditing': 'تعديل',
|
||||
'assistant.verbWriting': 'كتابة',
|
||||
'assistant.verbReading': 'قراءة',
|
||||
'assistant.verbSearching': 'بحث',
|
||||
'assistant.verbRunning': 'تشغيل',
|
||||
'assistant.verbTodos': 'مهام',
|
||||
'assistant.verbFetching': 'جلب',
|
||||
'assistant.verbCalling': 'اتصال',
|
||||
|
||||
'qf.answered': 'تمت الإجابة',
|
||||
'qf.choose': 'اختر...',
|
||||
'qf.required': 'مطلوب',
|
||||
'qf.lockedSubmitted':
|
||||
'تم إرسال الإجابات - يستخدمها الوكيل لبقية الجلسة.',
|
||||
'qf.lockedPrev': 'هذا النموذج من دور سابق.',
|
||||
'qf.hint':
|
||||
"اختر ما يناسبك. تخطى الحقول الاختيارية التي لا تهمك - سيستخدم الوكيل افتراضات معقولة.",
|
||||
'qf.submitDefault': 'إرسال الإجابات',
|
||||
'qf.submitDisabledTitle': 'املأ الحقول المطلوبة أولاً',
|
||||
'qf.submitTitle': 'إرسال الإجابات',
|
||||
'qf.cardSelected': 'محدد',
|
||||
'qf.cardRefs': 'المراجع:',
|
||||
'qf.cardSampleText': 'The quick brown fox · 0123',
|
||||
|
||||
'sketch.toolSelect': 'تحديد (لا إجراء)',
|
||||
'sketch.toolPen': 'قلم',
|
||||
'sketch.toolText': 'نص',
|
||||
'sketch.toolRect': 'مستطيل',
|
||||
'sketch.toolArrow': 'سهم',
|
||||
'sketch.toolEraser': 'ممحاة',
|
||||
'sketch.color': 'اللون',
|
||||
'sketch.strokeSize': 'حجم الخط',
|
||||
'sketch.undo': 'تراجع',
|
||||
'sketch.clear': 'مسح',
|
||||
'sketch.close': 'إغلاق',
|
||||
'sketch.textPrompt': 'النص:',
|
||||
|
||||
'pet.title': 'الحيوانات الأليفة',
|
||||
'pet.subtitle': 'تبنَّ رفيقاً صغيراً يطفو فوق مساحة عملك.',
|
||||
'pet.navTitle': 'الحيوانات الأليفة',
|
||||
'pet.navHint': 'تبنَّ أو خصص',
|
||||
'pet.tabBuiltIn': 'مدمج',
|
||||
'pet.tabBuiltInHint': 'رفقاء منتقون مدمجون مع Open Design - اختر واحداً وتبنَّه.',
|
||||
'pet.builtInEmpty': 'الحيوانات الأليفة المدمجة غير متوفرة حالياً. حاول تحديث تبويب المجتمع بمجرد اتصال البرنامج الخفي.',
|
||||
'pet.tabCustom': 'مخصص',
|
||||
'pet.tabCustomHint': 'اصنع خاصتك باسم، رمز، لون أو صورة.',
|
||||
'pet.tabCommunity': 'المجتمع',
|
||||
'pet.tabCommunityHint': 'حيوانات مفقوسة من Codex - تبنَّ واحداً أو ولد واحداً جديداً.',
|
||||
'pet.tabsAria': 'مصدر الحيوان الأليف',
|
||||
'pet.adopt': 'تبنَّ',
|
||||
'pet.adoptedBadge': 'تم التبني',
|
||||
'pet.adoptCallout': 'تبنَّ حيواناً أليفاً',
|
||||
'pet.changePet': 'تغيير الحيوان الأليف',
|
||||
'pet.wake': 'إيقاظ',
|
||||
'pet.tuck': 'إخفاء',
|
||||
'pet.wakeTitle': 'إيقاظ الحيوان الأليف - إظهار الطبقة العائمة.',
|
||||
'pet.tuckTitle': 'إخفاء الحيوان الأليف - إخفاء الطبقة العائمة.',
|
||||
'pet.settingsTitle': 'فتح إعدادات الحيوان الأليف',
|
||||
'pet.useCustom': 'استخدم حيواني',
|
||||
'pet.customTitle': 'اصنع خاصتك',
|
||||
'pet.customHint': 'اختر اسماً، رمزاً ولوناً - الطبقة تتحدث مباشرة.',
|
||||
'pet.customGreetingPlaceholder': 'قل مرحباً من حيوانك الأليف...',
|
||||
'pet.fieldName': 'الاسم',
|
||||
'pet.fieldGlyph': 'الرمز',
|
||||
'pet.fieldGlyphHint': 'إيموجي واحد يعمل بشكل أفضل (مثلاً: 🐝, 🦄, 🐢).',
|
||||
'pet.fieldGreeting': 'التحية',
|
||||
'pet.fieldAccent': 'لون التمييز',
|
||||
'pet.fieldAccentCustom': 'لون مخصص',
|
||||
'pet.overlayAria': 'رفيق الحيوان الأليف',
|
||||
'pet.spriteAria': '{name} - اسحب للتحريك، اضغط للدردشة',
|
||||
'pet.spriteTitle': 'مرحباً من {name}! اضغط للدردشة.',
|
||||
'pet.railAria': 'منتقي الحيوانات الأليفة',
|
||||
'pet.railTitle': 'الحيوانات الأليفة',
|
||||
'pet.railHint': 'اختر رفيقاً ليطفو فوق مساحة عملك.',
|
||||
'pet.railExpand': 'إظهار منتقي الحيوانات الأليفة',
|
||||
'pet.railCollapse': 'طي منتقي الحيوانات الأليفة',
|
||||
'pet.railHide': 'إخفاء منتقي الحيوانات الأليفة',
|
||||
'pet.railShow': 'إظهار منتقي الحيوانات الأليفة',
|
||||
'pet.railCustomFlavor': 'خاصتك - اسم، رمز، لون.',
|
||||
'pet.railCustomize': 'تخصيص...',
|
||||
'pet.composerTitle': 'الحيوانات الأليفة - إيقاظ، إخفاء، أو اختيار واحد',
|
||||
'pet.composerMenuTitle': 'الحيوانات الأليفة',
|
||||
'pet.composerMenuHint': 'تلميح: اكتب /pet للتبديل',
|
||||
'pet.composerOpenSettings': 'تخصيص في الإعدادات',
|
||||
'pet.welcomeTeaserTitle': 'تبنَّ حيواناً أليفاً',
|
||||
'pet.welcomeTeaserBody': 'رفيق عائم صغير يقضي الوقت معك.',
|
||||
'pet.welcomeTeaserCta': 'اختر واحداً',
|
||||
'pet.imageUpload': 'رفع صورة',
|
||||
'pet.imageReplace': 'استبدال الصورة',
|
||||
'pet.imageRemove': 'استخدام إيموجي',
|
||||
'pet.imageHintIdle': 'PNG, JPG, WebP, GIF أو SVG. رفع ورقة؟ أسقط شريطاً أفقياً وحدد عدد الإطارات.',
|
||||
'pet.imageHintActive': 'عرض صورتك. حدد الإطارات > 1 للمشي في ورقة صور أفقية.',
|
||||
'pet.fieldFrames': 'الإطارات',
|
||||
'pet.fieldFramesHint': '1 = ثابت. > 1 = ورقة صور أفقية.',
|
||||
'pet.fieldFps': 'السرعة (fps)',
|
||||
'pet.fieldFpsHint': 'مدى سرعة تدوير الإطارات.',
|
||||
'pet.atlasImport': 'استيراد صورة Codex',
|
||||
'pet.atlasImportTitle': 'استيراد أطلس حيوان مفقوس 8x9 / 192x208 (PNG أو WebP).',
|
||||
'pet.atlasPickerTitle': 'اختر صف رسوم متحركة',
|
||||
'pet.atlasPickerHint': 'حيوانات Codex تأتي بـ 9 صفوف رسوم متحركة. افتراضياً نحتفظ بالأطلس الكامل ليغير الحيوان الصفوف عند التحويم، السحب، والسكون. يمكنك أيضاً تجميده في حلقة واحدة.',
|
||||
'pet.atlasCancel': 'تجاهل الأطلس',
|
||||
'pet.atlasAdopt': 'تجميد في هذا الصف',
|
||||
'pet.atlasAdoptFull': 'استخدام الأطلس الكامل (متحرك)',
|
||||
'pet.atlasAdoptFullTitle': 'الاحتفاظ بكل الصفوف ليتفاعل الحيوان مع التحويم، اتجاه السحب، والسكون الطويل.',
|
||||
'pet.atlasAdoptRowTitle': 'قص الصف المظلل فقط في شريط متكرر واحد.',
|
||||
'pet.atlasActiveHint': 'الأطلس المتحرك نشط - يختار الحيوان صفاً من تفاعلك (تحويم، سحب، سكون).',
|
||||
'pet.atlasRow.idle': 'ساكن',
|
||||
'pet.atlasRow.running-right': 'جري يميناً',
|
||||
'pet.atlasRow.running-left': 'جري يساراً',
|
||||
'pet.atlasRow.waving': 'تلويح',
|
||||
'pet.atlasRow.jumping': 'قفز',
|
||||
'pet.atlasRow.failed': 'فشل',
|
||||
'pet.atlasRow.waiting': 'انتظار',
|
||||
'pet.atlasRow.running': 'جري',
|
||||
'pet.atlasRow.review': 'مراجعة',
|
||||
'pet.hatchTitle': 'فقس حيوان جديد بالذكاء الاصطناعي',
|
||||
'pet.hatchHint': 'استخدم مهارة hatch-pet في الدردشة لتوليد ورقة صور بأسلوب Codex، ثم استوردها هنا.',
|
||||
'pet.hatchConcept': 'مفهوم الحيوان (اختياري)',
|
||||
'pet.hatchConceptPlaceholder': 'مثلاً: شيبا بيكسل-آرت صغير في سترة مريحة',
|
||||
'pet.hatchCopy': 'نسخ الأمر',
|
||||
'pet.hatchCopied': 'تم النسخ!',
|
||||
'pet.hatchFoot': 'بعد أن يحفظ المساعد حيوانك، عد إلى هنا واختر "استيراد صورة Codex".',
|
||||
'pet.slashPopoverAria': 'أوامر Slash',
|
||||
'pet.slashPopoverTitle': 'الأوامر',
|
||||
'pet.slashPopoverHint': '↑↓ للتنقل · enter للاختيار · esc للتجاهل',
|
||||
'pet.slashPet': 'تبديل، تبني، أو الانتقال لإعدادات الحيوانات الأليفة.',
|
||||
'pet.slashPetWake': 'إيقاظ طبقة الحيوان الأليف العائمة.',
|
||||
'pet.slashPetTuck': 'إخفاء الحيوان الأليف حالياً.',
|
||||
'pet.slashHatch': 'توليد حيوان Codex عبر مهارة hatch-pet.',
|
||||
'pet.slashHatchArg': '<مفهوم>',
|
||||
'pet.codexTitle': 'فقس مؤخراً',
|
||||
'pet.codexSubtitle': 'الحيوانات التي تمت تعبئتها بواسطة مهارة hatch-pet تظهر هنا للتبني بنقرة واحدة.',
|
||||
'pet.codexSubtitleWithDir': 'مسح {dir} للبحث عن حيوانات معبأة بواسطة مهارة hatch-pet.',
|
||||
'pet.codexEmpty': 'لا توجد حيوانات مفقوسة بعد. اكتب /hatch في الدردشة لتوليد واحد.',
|
||||
'pet.codexLoading': 'البحث عن حيوانات مفقوسة...',
|
||||
'pet.codexRefresh': 'تحديث',
|
||||
'pet.codexAdopt': 'تبنَّ',
|
||||
'pet.codexAdopting': 'جاري التبني...',
|
||||
'pet.communitySync': 'تحميل حيوانات المجتمع',
|
||||
'pet.communitySyncing': 'جاري التحميل...',
|
||||
'pet.communitySyncTitle': 'مزامنة أحدث الحيوانات من Codex Pet Share + j20 Hatchery إلى ~/.codex/pets/.',
|
||||
'pet.communitySyncDone': 'تمت مزامنة {wrote} حيواناً جديداً ({total} إجمالي).',
|
||||
'pet.communitySyncFailed': 'فشلت المزامنة: {error}',
|
||||
'pet.codexBundled': 'مدمج',
|
||||
'pet.codexBundledTitle': 'يأتي مع Open Design - لا حاجة للتحميل.',
|
||||
|
||||
'settings.notifications': 'الإشعارات',
|
||||
'settings.notificationsHint': 'صوت وإشعار سطح المكتب عند اكتمال المهمة',
|
||||
'settings.notifyCompletionSound': 'صوت الاكتمال',
|
||||
'settings.notifyCompletionSoundHint': 'يُشغَّل عند انتهاء الجولة. متوقف افتراضيًا.',
|
||||
'settings.notifySuccessSound': 'صوت النجاح',
|
||||
'settings.notifyFailureSound': 'صوت الفشل',
|
||||
'settings.notifyDesktop': 'إشعار سطح المكتب',
|
||||
'settings.notifyDesktopHint': 'يُرسَل عندما لا تكون النافذة في المقدمة.',
|
||||
'settings.notifyDesktopBlocked': 'تم حظر الإشعارات من المتصفح. اسمح بها من إعدادات الموقع.',
|
||||
'settings.notifyDesktopUnsupported': 'إشعارات سطح المكتب غير متاحة في هذه البيئة.',
|
||||
'settings.notifyTest': 'إرسال اختبار',
|
||||
'settings.notifyTestSent': 'تم إرسال إشعار الاختبار. إذا لم تظهر نافذة، فتحقق من إعدادات إشعارات المتصفح والنظام.',
|
||||
'settings.notifyTestFailed': 'فشل استدعاء الإشعار. تحقق من إعدادات إشعارات المتصفح والنظام.',
|
||||
'settings.notifySoundDing': 'دينج',
|
||||
'settings.notifySoundChime': 'جرس',
|
||||
'settings.notifySoundTwoToneUp': 'نغمتان صاعدتان',
|
||||
'settings.notifySoundPluck': 'نقرة وتر',
|
||||
'settings.notifySoundBuzz': 'طنين',
|
||||
'settings.notifySoundTwoToneDown': 'نغمتان هابطتان',
|
||||
'settings.notifySoundThud': 'دمدمة',
|
||||
'notify.successTitle': 'اكتملت المهمة',
|
||||
'notify.failureTitle': 'فشلت المهمة',
|
||||
'notify.successBody': 'انتهت جولة.',
|
||||
'notify.failureBody': 'انتهت المهمة بخطأ.',
|
||||
};
|
||||
@@ -0,0 +1,830 @@
|
||||
import type { Dict } from '../types';
|
||||
|
||||
export const de: Dict = {
|
||||
'common.cancel': 'Abbrechen',
|
||||
'common.save': 'Speichern',
|
||||
'common.close': 'Schließen',
|
||||
'common.delete': 'Löschen',
|
||||
'common.rename': 'Umbenennen',
|
||||
'common.preview': 'Vorschau',
|
||||
'common.share': 'Teilen',
|
||||
'common.search': 'Suchen',
|
||||
'common.searchEllipsis': 'Suchen…',
|
||||
'common.loading': 'Wird geladen…',
|
||||
'common.all': 'Alle',
|
||||
'common.none': 'Keine',
|
||||
'common.default': 'Standard',
|
||||
'common.installed': 'installiert',
|
||||
'common.notInstalled': 'nicht installiert',
|
||||
'common.active': 'aktiv',
|
||||
'common.offline': 'offline',
|
||||
'common.selected': 'ausgewählt',
|
||||
'common.create': 'Erstellen',
|
||||
'common.openPreview': 'Vorschau öffnen',
|
||||
'common.exitFullscreen': 'Vollbild verlassen',
|
||||
'common.fullscreen': 'Vollbild',
|
||||
'common.openInNewTab': 'In neuem Tab öffnen',
|
||||
'common.exportPdf': 'Als PDF exportieren',
|
||||
'common.exportZip': 'Als .zip herunterladen',
|
||||
'common.exportHtml': 'Als eigenständiges HTML exportieren',
|
||||
'common.justNow': 'gerade eben',
|
||||
'common.minutesAgo': 'vor {n} Min.',
|
||||
'common.hoursAgo': 'vor {n} Std.',
|
||||
'common.daysAgo': 'vor {n} T.',
|
||||
'common.now': 'jetzt',
|
||||
'common.minutesShort': '{n} Min.',
|
||||
'common.hoursShort': '{n} Std.',
|
||||
'common.daysShort': '{n} T.',
|
||||
'common.untitled': 'Ohne Titel',
|
||||
|
||||
'app.brand': 'Open Design',
|
||||
'app.brandPill': 'Forschungsvorschau',
|
||||
'app.brandSubtitle': 'von Nexu Labs',
|
||||
'app.welcomeLoading': 'Workspace wird geladen…',
|
||||
|
||||
'settings.welcomeKicker': 'Willkommen',
|
||||
'settings.welcomeTitle': 'Open Design einrichten',
|
||||
'settings.welcomeSubtitle':
|
||||
'Wählen Sie aus, wie Generierungen ausgeführt werden sollen. Sie können dies jederzeit über die Schaltfläche „Einstellungen“ in der oberen Leiste ändern.',
|
||||
'settings.kicker': 'Einstellungen',
|
||||
'settings.title': 'Ausführung & Modell',
|
||||
'settings.subtitle': 'Wählen Sie zwischen lokaler CLI und BYOK. Ihr API-Schlüssel wird nur in diesem Browser gespeichert.',
|
||||
'settings.modeAria': 'Ausführungsmodus',
|
||||
'settings.protocolAria': 'API-Protokoll',
|
||||
'settings.modeDaemon': 'Lokale CLI',
|
||||
'settings.modeDaemonHelp': 'Über eine Code-Agent-CLI auf Ihrem Rechner ausführen',
|
||||
'settings.modeDaemonOffline': 'Daemon läuft nicht',
|
||||
'settings.modeDaemonOfflineMeta': 'Daemon offline',
|
||||
'settings.modeDaemonInstalledMeta': '{count} installiert',
|
||||
'settings.modeApi': 'API-Anbieter',
|
||||
'settings.modeApiMeta': 'BYOK',
|
||||
'settings.codeAgent': 'Code-Agent',
|
||||
'settings.codeAgentHint':
|
||||
'Durch Scannen Ihres PATH erkannt. Wählen Sie die CLI, über die Generierungen laufen sollen.',
|
||||
'settings.rescan': '↻ Neu scannen',
|
||||
'settings.rescanTitle': 'PATH erneut scannen',
|
||||
'settings.rescanRunning': 'Scannen...',
|
||||
'settings.rescanSuccess': 'Scan abgeschlossen. {count} verfuegbar.',
|
||||
'settings.rescanFailed': 'Scan fehlgeschlagen. Pruefen Sie den Daemon und versuchen Sie es erneut.',
|
||||
'settings.noAgentsDetected':
|
||||
'Noch keine Agents erkannt. Installieren Sie Claude Code, Codex, Devin for Terminal, Gemini CLI, OpenCode, Cursor Agent, Qwen oder GitHub Copilot CLI und klicken Sie dann auf Neu scannen.',
|
||||
'settings.apiSection': 'Anthropic API',
|
||||
'settings.quickFillProvider': 'Anbieter schnell ausfüllen',
|
||||
'settings.customProvider': 'Benutzerdefinierter Anbieter',
|
||||
'settings.apiKey': 'API-Key',
|
||||
'settings.showKey': 'Key anzeigen',
|
||||
'settings.hideKey': 'Key ausblenden',
|
||||
'settings.show': 'Anzeigen',
|
||||
'settings.hide': 'Ausblenden',
|
||||
'settings.model': 'Modell',
|
||||
'settings.suggestedModelsHint':
|
||||
'Dies sind vorgeschlagene Modelle für dieses Protokoll. Ihr Anbieter kann andere Modelle unterstützen.',
|
||||
'settings.baseUrl': 'Base URL',
|
||||
'settings.baseUrlInvalid': 'Geben Sie eine gültige öffentliche http://- oder https://-URL ein. Localhost ist erlaubt; private Netzwerk-IPs werden blockiert.',
|
||||
'settings.azureDeploymentModel': 'Deployment-Name',
|
||||
'settings.azureDeploymentModelHint':
|
||||
'Fuer Azure OpenAI wird dieses Feld als Deployment-Name in /openai/deployments/<model> verwendet. Geben Sie den in Azure angelegten Deployment-Namen ein.',
|
||||
'settings.apiVersion': 'API-Version',
|
||||
'settings.maxTokens': 'Max. Tokens (optional)',
|
||||
'settings.maxTokensHint':
|
||||
'Obergrenze für die Antwortlänge. Jedes Modell hat einen abgestimmten Standardwert (im Platzhalter sichtbar); leer lassen, um ihn zu verwenden, oder eine Zahl eingeben, um ihn zu überschreiben.',
|
||||
'settings.apiHint': 'Anfragen werden über den lokalen Daemon-Proxy an die festgelegte Base URL gesendet. Der Schlüssel wird nur in diesem Browser gespeichert und mit Provider-Anfragen gesendet.',
|
||||
'settings.skipForNow': 'Vorerst überspringen',
|
||||
'settings.getStarted': 'Loslegen',
|
||||
'settings.envConfigure': 'Ausführungsmodus konfigurieren',
|
||||
'settings.localCli': 'Lokale CLI',
|
||||
'settings.anthropicApi': 'Anthropic API',
|
||||
'settings.noAgentSelected': 'kein Agent ausgewählt',
|
||||
'settings.language': 'Sprache',
|
||||
'settings.languageHint': 'Wechseln Sie die Sprache der Oberfläche. Wird in diesem Browser gespeichert.',
|
||||
'settings.appearance': 'Erscheinungsbild',
|
||||
'settings.appearanceHint': 'Hell, dunkel oder Systemeinstellung übernehmen.',
|
||||
'settings.themeSystem': 'System',
|
||||
'settings.themeLight': 'Hell',
|
||||
'settings.themeDark': 'Dunkel',
|
||||
'settings.modelPicker': 'Modell',
|
||||
'settings.reasoningPicker': 'Reasoning-Aufwand',
|
||||
'settings.modelPickerHint':
|
||||
'Wird aus der CLI geladen, wenn sie einen `models`-Befehl anbietet. „Standard“ überlässt die Auswahl der CLI-Konfiguration; mit „Benutzerdefiniert…“ können Sie jede von der CLI akzeptierte Modell-ID eingeben.',
|
||||
'settings.modelCustom': 'Benutzerdefiniert (unten eingeben)…',
|
||||
'settings.modelCustomLabel': 'Benutzerdefinierte Modell-ID',
|
||||
'settings.modelCustomPlaceholder': 'z. B. anthropic/claude-sonnet-4-6',
|
||||
'settings.mediaProviders': 'Medienanbieter',
|
||||
'settings.mediaProvidersHint':
|
||||
'API-Keys für Bild-, Video- und Audiogenerierung. Lokal gespeichert und mit dem lokalen Daemon synchronisiert.',
|
||||
'settings.mediaProviderApiKey': 'API-Key',
|
||||
'settings.mediaProviderBaseUrl': 'Base URL',
|
||||
'settings.mediaProviderConfigured': 'Konfiguriert',
|
||||
'settings.mediaProviderUnset': 'Nicht gesetzt',
|
||||
'settings.mediaProviderClear': 'Leeren',
|
||||
'settings.mediaProviderPlaceholder': 'API-Key einfügen',
|
||||
'settings.mediaProviderBaseUrlPlaceholder': 'Standard-Base-URL überschreiben',
|
||||
'settings.about': 'Info',
|
||||
'settings.aboutHint': 'Version und Laufzeitdetails',
|
||||
'settings.appVersion': 'Version',
|
||||
'settings.appChannel': 'Kanal',
|
||||
'settings.appRuntime': 'Laufzeit',
|
||||
'settings.appPlatform': 'Plattform',
|
||||
'settings.appArchitecture': 'Architektur',
|
||||
'settings.runtimePackaged': 'Paketierte App',
|
||||
'settings.runtimeDevelopment': 'Entwicklung',
|
||||
'settings.versionUnavailable': 'Versionsdetails sind nicht verfügbar, solange der Daemon offline ist.',
|
||||
|
||||
'entry.tabDesigns': 'Designs',
|
||||
'entry.tabExamples': 'Beispiele',
|
||||
'entry.tabDesignSystems': 'Designsysteme',
|
||||
'entry.openSettingsTitle': 'Einstellungen',
|
||||
'entry.openSettingsAria': 'Einstellungen öffnen',
|
||||
'entry.resizeAria': 'Seitenleiste skalieren',
|
||||
'entry.loadingWorkspace': 'Workspace wird geladen…',
|
||||
'entry.tabImageTemplates': 'Bildvorlagen',
|
||||
'entry.tabVideoTemplates': 'Videovorlagen',
|
||||
'promptTemplates.searchPlaceholder': 'Templates suchen…',
|
||||
'promptTemplates.countLabel': '{n} Ergebnisse',
|
||||
'promptTemplates.emptyImage': 'Noch keine Bild-Prompt-Templates installiert.',
|
||||
'promptTemplates.emptyVideo': 'Noch keine Video-Prompt-Templates installiert.',
|
||||
'promptTemplates.emptyNoMatch': 'Keine Templates passen zu Ihrer Suche.',
|
||||
'promptTemplates.attributionFooter': 'Aus öffentlichen Prompt-Bibliotheken adaptiert. Jede Karte verlinkt zum ursprünglichen Autor.',
|
||||
'promptTemplates.openPreviewTitle': 'Prompt und Vorschau öffnen',
|
||||
'promptTemplates.sourcePrefix': 'Quelle:',
|
||||
'promptTemplates.fetchError': 'Dieser Template-Inhalt konnte nicht geladen werden.',
|
||||
'promptTemplates.promptLabel': 'Prompt-Text',
|
||||
'promptTemplates.copyPrompt': 'Prompt kopieren',
|
||||
'promptTemplates.copyDone': 'Kopiert!',
|
||||
'promptTemplates.modelHint': 'Vorgeschlagenes Modell: {model}',
|
||||
'promptTemplates.openSource': 'Original anzeigen',
|
||||
'promptTemplates.openFullscreen': 'Vollbildvorschau öffnen',
|
||||
'promptTemplates.closeFullscreen': 'Vollbildvorschau schließen',
|
||||
'promptTemplates.retry': 'Erneut versuchen',
|
||||
|
||||
'newproj.tabPrototype': 'Prototyp',
|
||||
'newproj.tabDeck': 'Slide Deck',
|
||||
'newproj.tabTemplate': 'Aus Template',
|
||||
'newproj.tabOther': 'Andere',
|
||||
'newproj.titlePrototype': 'Neuer Prototyp',
|
||||
'newproj.titleDeck': 'Neues Slide Deck',
|
||||
'newproj.titleTemplate': 'Mit Template starten',
|
||||
'newproj.titleImage': 'Neues Bild',
|
||||
'newproj.titleVideo': 'Neues Video',
|
||||
'newproj.titleAudio': 'Neues Audio',
|
||||
'newproj.titleOther': 'Neues Projekt',
|
||||
'newproj.namePlaceholder': 'Projektname',
|
||||
'newproj.fidelityLabel': 'Detailgrad',
|
||||
'newproj.fidelityWireframe': 'Wireframe',
|
||||
'newproj.fidelityHigh': 'High Fidelity',
|
||||
'newproj.toggleSpeakerNotes': 'Sprechernotizen verwenden',
|
||||
'newproj.toggleSpeakerNotesHint': 'Weniger Text auf Slides — Gesprächspunkte in Notizen halten.',
|
||||
'newproj.toggleAnimations': 'Animationen einbeziehen',
|
||||
'newproj.toggleAnimationsHint':
|
||||
'Bewegung (Einstiege, Hover, Übergänge) zusätzlich zum Template hinzufügen.',
|
||||
'newproj.templateLabel': 'Template',
|
||||
'newproj.noTemplatesTitle': 'Noch keine Templates',
|
||||
'newproj.noTemplatesBody':
|
||||
'Öffnen Sie ein Projekt und nutzen Sie dann das Teilen-Menü im File Viewer, um es in ein Template umzuwandeln. Templates erscheinen hier.',
|
||||
'newproj.savedTemplate': 'Gespeichertes Template',
|
||||
'newproj.fileSingular': 'Datei',
|
||||
'newproj.filePlural': 'Dateien',
|
||||
'newproj.create': 'Erstellen',
|
||||
'newproj.createFromTemplate': 'Aus Template erstellen',
|
||||
'newproj.createDisabledTitle':
|
||||
'Speichern Sie zuerst ein Projekt als Template (Teilen-Menü in einem beliebigen Projekt).',
|
||||
'newproj.importClaudeZip': 'Claude Design ZIP importieren',
|
||||
'newproj.importClaudeZipTitle': 'Einen Claude Design .zip-Export importieren',
|
||||
'newproj.importingClaudeZip': 'Import läuft…',
|
||||
'newproj.privacyFooter': 'Standardmäßig können nur Sie Ihr Projekt sehen.',
|
||||
'newproj.designSystem': 'Designsystem',
|
||||
'newproj.dsNoneFreeform': 'Keines — frei',
|
||||
'newproj.dsNoneSubtitleEmpty': 'Keine System-Tokens, eigene Palette wählen',
|
||||
'newproj.dsNoneSubtitleSelected': 'System-Tokens überspringen. Der Agent wählt eine eigene Palette.',
|
||||
'newproj.dsCategoryFallback': 'Designsystem',
|
||||
'newproj.dsSearch': 'Designsysteme suchen…',
|
||||
'newproj.dsModeAria': 'Auswahlmodus',
|
||||
'newproj.dsModeSingle': 'Einzeln',
|
||||
'newproj.dsModeMulti': 'Mehrfach',
|
||||
'newproj.dsNoneTitle': 'Keines — frei',
|
||||
'newproj.dsNoneSub': 'System-Tokens überspringen. Der Agent wählt eine eigene Palette.',
|
||||
'newproj.dsEmpty': 'Keine Designsysteme passen zu „{query}“.',
|
||||
'newproj.dsFootSingular': 'dient nur als Inspiration.',
|
||||
'newproj.dsFootPlural': 'dienen nur als Inspiration.',
|
||||
'newproj.dsFootClear': 'Leeren',
|
||||
'newproj.dsBadgeDefault': 'STANDARD',
|
||||
'newproj.dsPrimaryFallback': 'Primär',
|
||||
'newproj.surfaceImage': 'Bild',
|
||||
'newproj.surfaceVideo': 'Video',
|
||||
'newproj.surfaceAudio': 'Audio',
|
||||
'newproj.modelLabel': 'Modell',
|
||||
'newproj.aspectLabel': 'Format',
|
||||
'newproj.imageStyleLabel': 'Stilnotizen',
|
||||
'newproj.imageStylePlaceholder': 'Editorial-Foto, weiches Tageslicht, gedämpfte Palette',
|
||||
'newproj.videoLengthLabel': 'Länge',
|
||||
'newproj.videoLengthSeconds': '{n}s',
|
||||
'newproj.audioKindLabel': 'Audiotyp',
|
||||
'newproj.audioKindMusic': 'Musik',
|
||||
'newproj.audioKindSpeech': 'Sprache / TTS',
|
||||
'newproj.audioKindSfx': 'SFX',
|
||||
'newproj.audioDurationLabel': 'Dauer',
|
||||
'newproj.audioDurationSeconds': '{n}s',
|
||||
'newproj.voiceLabel': 'Stimme',
|
||||
'newproj.voicePlaceholder': 'Provider-Voice-ID, optional',
|
||||
'newproj.promptTemplateLabel': 'Referenzvorlage',
|
||||
'newproj.promptTemplateNoneTitle': 'Keine — eigene schreiben',
|
||||
'newproj.promptTemplateNoneSub': 'Galerie überspringen und eigenes Briefing verfassen',
|
||||
'newproj.promptTemplateRefSub': 'Referenzvorlage',
|
||||
'newproj.promptTemplateSearch': 'Vorlagen suchen…',
|
||||
'newproj.promptTemplateEmpty': 'Für dieses Format sind noch keine Vorlagen installiert.',
|
||||
'newproj.promptTemplateBodyLabel': 'Prompt (kann angepasst werden)',
|
||||
'newproj.promptTemplateOptimizeHint':
|
||||
'Beliebig editierbar — deine Änderungen fließen in das Agenten-Briefing ein.',
|
||||
'newproj.promptTemplateBodyEmpty':
|
||||
'Leerer Body — der Agent erhält keine Vorlagenreferenz.',
|
||||
|
||||
'designs.subRecent': 'Aktuell',
|
||||
'designs.subYours': 'Ihre Designs',
|
||||
'designs.filterAria': 'Projekte filtern',
|
||||
'designs.searchPlaceholder': 'Suchen…',
|
||||
'designs.emptyNoProjects': 'Noch keine Projekte. Erstellen Sie links eines.',
|
||||
'designs.emptyNoMatch': 'Keine Projekte passen zu Ihrer Suche.',
|
||||
'designs.deleteTitle': 'Projekt löschen',
|
||||
'designs.deleteConfirm': '„{name}“ löschen?',
|
||||
'designs.cardFreeform': 'frei',
|
||||
'designs.status.notStarted': 'Nicht gestartet',
|
||||
'designs.status.queued': 'In Warteschlange',
|
||||
'designs.status.running': 'Läuft',
|
||||
'designs.status.awaitingInput': 'Eingabe nötig',
|
||||
'designs.status.succeeded': 'Abgeschlossen',
|
||||
'designs.status.failed': 'Fehlgeschlagen',
|
||||
'designs.status.canceled': 'Abgebrochen',
|
||||
'designs.viewToggleAria': 'Ansichtsmodus',
|
||||
'designs.viewGrid': 'Rasteransicht',
|
||||
'designs.viewKanban': 'Board-Ansicht',
|
||||
'designs.kanbanEmptyColumn': 'Keine Designs',
|
||||
'designs.deleteAria': 'Projekt {name} löschen',
|
||||
|
||||
'examples.typeLabel': 'Typ',
|
||||
'examples.surfaceLabel': 'Oberfläche',
|
||||
'examples.surfaceWeb': 'Web',
|
||||
'examples.surfaceImage': 'Bild',
|
||||
'examples.surfaceVideo': 'Video',
|
||||
'examples.surfaceAudio': 'Audio',
|
||||
'examples.scenarioLabel': 'Szenario',
|
||||
'examples.modeAll': 'Alle',
|
||||
'examples.modePrototypeDesktop': 'Prototypen · Desktop',
|
||||
'examples.modePrototypeMobile': 'Prototypen · Mobil',
|
||||
'examples.modeDeck': 'Folien',
|
||||
'examples.modeDocument': 'Dokumente & Templates',
|
||||
'examples.scenarioGeneral': 'Allgemein',
|
||||
'examples.scenarioEngineering': 'Engineering',
|
||||
'examples.scenarioProduct': 'Produkt',
|
||||
'examples.scenarioDesign': 'Design',
|
||||
'examples.scenarioMarketing': 'Marketing',
|
||||
'examples.scenarioSales': 'Vertrieb',
|
||||
'examples.scenarioFinance': 'Finanzen',
|
||||
'examples.scenarioHr': 'Personal',
|
||||
'examples.scenarioOperations': 'Betrieb',
|
||||
'examples.scenarioSupport': 'Support',
|
||||
'examples.scenarioLegal': 'Recht',
|
||||
'examples.scenarioEducation': 'Bildung',
|
||||
'examples.scenarioPersonal': 'Persönlich',
|
||||
'examples.emptyNoSkills': 'Keine Skills verfügbar. Läuft der Daemon?',
|
||||
'examples.searchPlaceholder': 'Beispiele suchen…',
|
||||
'examples.searchAria': 'Beispiele nach Namen suchen',
|
||||
'examples.emptyNoMatch': 'Keine Beispiele passen zu diesen Filtern.',
|
||||
'examples.openPreview': '⤢ Vorschau öffnen',
|
||||
'examples.loadingPreview': 'Vorschau wird geladen…',
|
||||
'examples.hoverPreview': 'Für Vorschau hovern',
|
||||
'examples.usePrompt': 'Diesen Prompt verwenden',
|
||||
'examples.previewModalTitle': 'Vollständige Vorschau öffnen (Modal)',
|
||||
'examples.shareTitle': 'Dieses Beispiel teilen',
|
||||
'examples.shareLoadFirst': 'Zuerst hovern, um die Vorschau zu laden',
|
||||
'examples.shareMenu': 'Teilen ▾',
|
||||
'examples.exportPdfAllSlides': 'Als PDF exportieren (alle Slides)',
|
||||
'examples.exportPptxLocked': 'Als PPTX exportieren… (zuerst Template öffnen)',
|
||||
'examples.tagSlideDeck': 'Foliendeck',
|
||||
'examples.tagTemplate': 'Template',
|
||||
'examples.tagDesignSystem': 'Designsystem',
|
||||
'examples.tagMobilePrototype': 'Mobiler Prototyp',
|
||||
'examples.tagDesktopPrototype': 'Desktop-Prototyp',
|
||||
'examples.tagImage': 'Bild',
|
||||
'examples.tagVideo': 'Video',
|
||||
'examples.tagAudio': 'Audio',
|
||||
'examples.previewLabel': 'Vorschau',
|
||||
|
||||
'ds.surfaceLabel': 'Oberfläche',
|
||||
'ds.surfaceWeb': 'Web',
|
||||
'ds.surfaceImage': 'Bild',
|
||||
'ds.surfaceVideo': 'Video',
|
||||
'ds.surfaceAudio': 'Audio',
|
||||
'ds.searchPlaceholder': 'Designsysteme suchen…',
|
||||
'ds.emptyNoMatch': 'Keine Designsysteme passen zu Ihrer Suche.',
|
||||
'ds.badgeDefault': 'STANDARD',
|
||||
'ds.preview': 'Vorschau',
|
||||
'ds.previewTitle': 'Designsystem-Vorschau',
|
||||
'ds.categoryAll': 'Alle',
|
||||
'ds.categoryUncategorized': 'Nicht kategorisiert',
|
||||
'ds.showcase': 'Showcase',
|
||||
'ds.tokens': 'Tokens',
|
||||
'ds.specToggle': 'DESIGN.md',
|
||||
'ds.specLoading': 'DESIGN.md wird geladen…',
|
||||
|
||||
'avatar.title': 'Konto & Einstellungen',
|
||||
'avatar.localCli': 'Lokale CLI',
|
||||
'avatar.anthropicApi': 'Anthropic API',
|
||||
'avatar.useLocal': 'Lokale CLI verwenden',
|
||||
'avatar.useApi': 'API · BYOK verwenden',
|
||||
'avatar.codeAgent': 'Code-Agent',
|
||||
'avatar.rescan': 'PATH neu scannen',
|
||||
'avatar.settings': 'Einstellungen',
|
||||
'avatar.backToProjects': 'Zurück zu Projekten',
|
||||
'avatar.metaActive': 'aktiv',
|
||||
'avatar.metaOffline': 'offline',
|
||||
'avatar.metaSelected': 'ausgewählt',
|
||||
'avatar.noAgentSelected': 'kein Agent ausgewählt',
|
||||
'avatar.modelSection': 'Modell',
|
||||
'avatar.modelLabel': 'Modell',
|
||||
'avatar.reasoningLabel': 'Reasoning',
|
||||
'avatar.customSuffix': '(benutzerdefiniert)',
|
||||
|
||||
'project.backToProjects': 'Zurück zu Projekten',
|
||||
'project.metaFreeform': 'frei',
|
||||
'chat.tabChat': 'Chat',
|
||||
'chat.tabComments': 'Kommentare',
|
||||
'chat.commentsSoon': 'Kommentare — demnächst',
|
||||
'chat.comments.attached': 'Attached to chat',
|
||||
'chat.comments.emptyAttached': 'No comments attached.',
|
||||
'chat.comments.saved': 'Saved comments',
|
||||
'chat.comments.emptySaved': 'No saved comments.',
|
||||
'chat.comments.add': 'Add',
|
||||
'chat.comments.addAll': 'Add all',
|
||||
'chat.comments.remove': 'Remove',
|
||||
'chat.comments.placeholder': 'Comment on this element…',
|
||||
'chat.comments.addSend': 'Add & send',
|
||||
'chat.comments.updateSend': 'Update & send',
|
||||
'chat.comments.removeAttachment': 'Remove comment attachment',
|
||||
'chat.comments.removeAttachmentAria': 'Remove comment attachment for {name}',
|
||||
'chat.conversationsTitle': 'Konversationen',
|
||||
'chat.conversationsAria': 'Konversationsverlauf',
|
||||
'chat.newConversation': 'Neue Konversation',
|
||||
'chat.newConversationsTitle': 'Neue Konversation',
|
||||
'chat.conversationsHeading': 'Konversationen',
|
||||
'chat.new': 'Neu',
|
||||
'chat.emptyConversations': 'Noch keine Konversationen.',
|
||||
'chat.deleteConversation': 'Konversation löschen',
|
||||
'chat.deleteConversationConfirm':
|
||||
'„{title}“ löschen? Dadurch werden die Nachrichten entfernt.',
|
||||
'chat.untitledConversation': 'Konversation ohne Titel',
|
||||
'chat.startTitle': 'Konversation starten',
|
||||
'chat.startHint':
|
||||
'Legen Sie Bilder als visuelle Referenz ab, fügen Sie sie ein oder tippen Sie @, um eine Datei aus diesem Projekt anzuhängen. Oder probieren Sie einen dieser Starts:',
|
||||
'chat.fillInputTitle': 'Klicken, um die Eingabe zu füllen',
|
||||
'chat.jumpToLatest': 'Zur neuesten springen',
|
||||
'chat.scrollToLatest': 'Zur neuesten scrollen',
|
||||
'chat.you': 'Sie',
|
||||
'chat.openFile': '{name} öffnen',
|
||||
'chat.composerPlaceholder':
|
||||
'Beschreiben Sie das gewünschte Design — Bilder einfügen/ablegen oder mit @ eine Datei referenzieren…',
|
||||
'chat.composerHint':
|
||||
'⌘/Ctrl + Enter zum Senden · Bilder einfügen · @ für Dateireferenzen',
|
||||
'chat.cliSettingsTitle': 'CLI- & Modelleinstellungen',
|
||||
'chat.cliSettingsAria': 'CLI- und Modelleinstellungen öffnen',
|
||||
'chat.attachTitle': 'Dateien anhängen (oder einfügen / ablegen)',
|
||||
'chat.attachAria': 'Dateien anhängen',
|
||||
'chat.importTitle': 'Quellen importieren (demnächst)',
|
||||
'chat.importLabel': 'Importieren',
|
||||
'chat.importComingSoon': 'Demnächst',
|
||||
'chat.importSoon': 'Bald',
|
||||
'chat.importFig': '.fig-Datei hochladen',
|
||||
'chat.importGitHub': 'GitHub verbinden',
|
||||
'chat.importWeb': 'Webelement erfassen',
|
||||
'chat.importFolder': 'Code-Ordner verknüpfen',
|
||||
'chat.importSkills': 'Skills und Designsysteme',
|
||||
'chat.importProject': 'Anderes Projekt referenzieren',
|
||||
'chat.send': 'Senden',
|
||||
'chat.stop': 'Stoppen',
|
||||
'chat.removeAria': '{name} entfernen',
|
||||
'chat.example1Title': 'Editorial Pitch Deck',
|
||||
'chat.example1Tag': 'Magazin',
|
||||
'chat.example1Prompt':
|
||||
'Ein 10-Slide-Editorial-Pitch-Deck für ein Designstudio, das eine Seed-Runde aufnimmt — Swiss-Grid-Layout, übergroße Serif-Headlines mit markanten Initialen, Monospace-Abschnittsnummern, großzügiger Negativraum und Full-Bleed-Fotoslides im Wechsel mit textlastigen Slides. Cover, Vision, Markt, Produkt, Traction, Team, Ask, Kontakt.',
|
||||
'chat.example2Title': 'SaaS-Analytics-Dashboard',
|
||||
'chat.example2Tag': 'Daten',
|
||||
'chat.example2Prompt':
|
||||
'Ein dichtes Analytics-Dashboard für ein Developer-Tools-SaaS — KPI-Leiste mit Week-over-Week-Deltas, zwei gestapelte Liniendiagramme (MRR und aktive Workspaces), eine Welt-Heatmap der Nutzung, ein Kohorten-Retention-Raster, eine Top-Customers-Bestenliste und ein Echtzeit-Event-Feed. Dark Theme, tabellarische Monospace-Ziffern, Sparkline-Akzente.',
|
||||
'chat.example3Title': 'Annual Report Long-Scroll',
|
||||
'chat.example3Tag': 'Editorial',
|
||||
'chat.example3Prompt':
|
||||
'Ein interaktiver Annual Report für eine Klima-Non-Profit-Organisation — Long-Scroll-Editorial-Layout mit großen Pull-Quote-Blöcken, Datenvisualisierungen (gestapelte Balken, animierte Counter, Choropleth-Karte der Projektstandorte), Fotobrechern, Spenderwand und finalem Call-to-Action. Moderne Serifenschrift für Body, Sans-Serif-Chartlabels, erdige Papierpalette.',
|
||||
|
||||
'preview.shareMenu': 'Teilen ▾',
|
||||
'preview.openInNewTab': 'In neuem Tab öffnen',
|
||||
'preview.exit': '⤓ Beenden',
|
||||
'preview.fullscreen': '⤢ Vollbild',
|
||||
'preview.closeTitle': 'Schließen (Esc)',
|
||||
'preview.loading': '{label} wird geladen…',
|
||||
'preview.showSidebar': '{label} einblenden',
|
||||
'preview.hideSidebar': '{label} ausblenden',
|
||||
|
||||
'misc.savedTemplate': 'Gespeichertes Template',
|
||||
'misc.primary': 'Primär',
|
||||
'misc.designSystem': 'Designsystem',
|
||||
|
||||
'workspace.designFiles': 'Design-Dateien',
|
||||
'workspace.closeTab': 'Tab schließen',
|
||||
'workspace.deleteFileConfirm': '„{name}“ aus dem Projektordner löschen?',
|
||||
'workspace.openFromDesignFiles': 'Datei öffnen aus',
|
||||
'workspace.designFilesLink': 'Design-Dateien',
|
||||
'workspace.loadingSketch': 'Sketch wird geladen…',
|
||||
'designFiles.title': 'Design-Dateien',
|
||||
'designFiles.upload': 'Dateien hochladen',
|
||||
'designFiles.pasteText': 'Als Textdatei einfügen',
|
||||
'designFiles.newSketch': 'Neuer Sketch',
|
||||
'designFiles.empty':
|
||||
'Noch nichts hier. Legen Sie unten Dateien ab oder erstellen Sie einen Sketch / fügen Sie Text ein.',
|
||||
'designFiles.refresh': 'Aktualisieren',
|
||||
'designFiles.delete': 'Löschen',
|
||||
'designFiles.searchPlaceholder': 'Dateien suchen…',
|
||||
'designFiles.up': 'Nach oben',
|
||||
'designFiles.back': 'Zurück',
|
||||
'designFiles.crumbs': 'Projekt',
|
||||
'designFiles.rowMenu': 'Zeilenmenü',
|
||||
'designFiles.openInTab': 'In Tab öffnen',
|
||||
'designFiles.download': 'Herunterladen',
|
||||
'designFiles.downloadSelected': 'Download {n} as ZIP',
|
||||
'designFiles.clearSelection': 'Clear',
|
||||
'designFiles.selectAll': 'Select all',
|
||||
'designFiles.dropTitle': '⤓ Dateien hier ablegen',
|
||||
'designFiles.dropDesc':
|
||||
'Bilder, Docs, Referenzen oder Ordner — der Agent nutzt sie als Kontext.',
|
||||
'designFiles.upload.title': 'Dateien hochladen',
|
||||
'designFiles.paste.title': 'Text als Datei einfügen',
|
||||
'designFiles.upload.label': 'Hochladen',
|
||||
'designFiles.paste.label': 'Einfügen',
|
||||
'designFiles.previewOpen': 'Öffnen',
|
||||
'designFiles.previewClose': 'Vorschau schließen',
|
||||
'designFiles.modified': 'Geändert {time} · {size}',
|
||||
'designFiles.weeksAgo': 'vor {n} W.',
|
||||
'designFiles.sectionPages': 'Seiten',
|
||||
'designFiles.sectionScripts': 'Skripte',
|
||||
'designFiles.sectionImages': 'Bilder',
|
||||
'designFiles.sectionSketches': 'Sketches',
|
||||
'designFiles.sectionOther': 'Andere',
|
||||
'designFiles.showMore': '+{n} weitere anzeigen',
|
||||
'designFiles.kindHtml': 'HTML-Seite',
|
||||
'designFiles.kindImage': 'Bild',
|
||||
'designFiles.kindSketch': 'Sketch',
|
||||
'designFiles.kindText': 'Text',
|
||||
'designFiles.kindCode': 'Skript',
|
||||
'designFiles.kindPdf': 'PDF',
|
||||
'designFiles.kindDocument': 'Dokument',
|
||||
'designFiles.kindPresentation': 'Präsentation',
|
||||
'designFiles.kindSpreadsheet': 'Tabellenblatt',
|
||||
'designFiles.kindBinary': 'Binärdatei',
|
||||
'pasteDialog.title': 'Text einfügen',
|
||||
'pasteDialog.hint': 'Wird im Projektordner gespeichert. Wählen Sie einen beliebigen Namen.',
|
||||
'pasteDialog.fileNameLabel': 'Dateiname',
|
||||
'pasteDialog.namePlaceholder': 'notes.txt',
|
||||
'pasteDialog.contentLabel': 'Inhalt',
|
||||
'pasteDialog.contentPlaceholder': 'Beliebigen Text einfügen…',
|
||||
'pasteDialog.save': 'Speichern',
|
||||
'pasteDialog.cancel': 'Abbrechen',
|
||||
'sketch.save': 'Sketch speichern',
|
||||
'sketch.cancel': 'Abbrechen',
|
||||
'sketch.saving': 'Speichern…',
|
||||
'sketch.tooltipDirty': 'Ungespeicherte Änderungen',
|
||||
'sketch.tooltipClean': 'Gespeichert',
|
||||
'fileViewer.empty': 'Wählen Sie eine Datei zur Ansicht aus.',
|
||||
'fileViewer.loading': 'Wird geladen…',
|
||||
'fileViewer.exportPptx': 'Als PPTX exportieren',
|
||||
'fileViewer.openInNewTab': 'In neuem Tab öffnen',
|
||||
'fileViewer.copyPath': 'Pfad kopieren',
|
||||
'fileViewer.copied': 'Kopiert!',
|
||||
'fileViewer.share': 'Teilen',
|
||||
'fileViewer.binaryMeta': 'Binärdatei · {size}',
|
||||
'fileViewer.binaryNote':
|
||||
'Binärdatei ({size} Bytes). Laden Sie sie herunter oder öffnen Sie sie von der Festplatte, um sie zu prüfen.',
|
||||
'fileViewer.pdfMeta': 'PDF · {size}',
|
||||
'fileViewer.documentMeta': 'Dokument',
|
||||
'fileViewer.presentationMeta': 'Präsentation',
|
||||
'fileViewer.spreadsheetMeta': 'Tabellenblatt',
|
||||
'fileViewer.previewUnavailable': 'Vorschau nicht verfügbar. Laden Sie die Datei herunter oder öffnen Sie sie zur Prüfung.',
|
||||
'fileViewer.download': 'Herunterladen',
|
||||
'fileViewer.open': 'Öffnen',
|
||||
'fileViewer.imageMeta': 'Bild · {size}',
|
||||
'fileViewer.reactMeta': 'React-Komponente · {size}',
|
||||
'fileViewer.sketchMeta': 'Sketch · {size}',
|
||||
'fileViewer.markdownStreamingMeta': 'Streaming-Vorschau…',
|
||||
'fileViewer.markdownErrorMeta': 'Vorschau ist möglicherweise unvollständig (Generierungsfehler).',
|
||||
'fileViewer.markdownStreamingStatus': 'Streaming… zeige partielles Markdown.',
|
||||
'fileViewer.markdownErrorStatus': 'Generierungsfehler. Zeige letzten verfügbaren Inhalt.',
|
||||
'fileViewer.videoMeta': 'Video · {size}',
|
||||
'fileViewer.audioMeta': 'Audio · {size}',
|
||||
'fileViewer.reload': 'Neu laden',
|
||||
'fileViewer.reloadDisk': 'Von Festplatte neu laden',
|
||||
'fileViewer.copy': 'Kopieren',
|
||||
'fileViewer.copyTitle': 'Dateiinhalte kopieren',
|
||||
'fileViewer.saveDisabled': 'Speichern (Read-only-Viewer)',
|
||||
'fileViewer.save': 'Speichern',
|
||||
'fileViewer.preview': 'Vorschau',
|
||||
'fileViewer.source': 'Quelle',
|
||||
'fileViewer.tweaks': 'Tweaks',
|
||||
'fileViewer.comment': 'Kommentieren',
|
||||
'fileViewer.edit': 'Bearbeiten',
|
||||
'fileViewer.draw': 'Zeichnen',
|
||||
'fileViewer.zoomOut': 'Verkleinern',
|
||||
'fileViewer.zoomIn': 'Vergrößern',
|
||||
'fileViewer.resetZoom': 'Zoom zurücksetzen',
|
||||
'fileViewer.reloadAria': 'Neu laden',
|
||||
'fileViewer.previousSlide': 'Vorherige Slide',
|
||||
'fileViewer.nextSlide': 'Nächste Slide',
|
||||
'fileViewer.slideNavAria': 'Slide-Navigation',
|
||||
'fileViewer.present': 'Präsentieren',
|
||||
'fileViewer.presentInTab': 'In diesem Tab',
|
||||
'fileViewer.presentFullscreen': 'Vollbild',
|
||||
'fileViewer.presentNewTab': 'Neuer Tab',
|
||||
'fileViewer.exitPresentation': 'Präsentation beenden',
|
||||
'fileViewer.shareLabel': 'Teilen',
|
||||
'fileViewer.exportPdf': 'Als PDF exportieren',
|
||||
'fileViewer.exportPdfAllSlides': 'Als PDF exportieren (alle Slides)',
|
||||
'fileViewer.exportPptxBusy': 'Warten Sie, bis der aktuelle Turn abgeschlossen ist.',
|
||||
'fileViewer.exportPptxHint':
|
||||
'Senden Sie eine Anfrage an den Agent, um dieses Design in PPTX umzuwandeln.',
|
||||
'fileViewer.exportPptxNa': 'PPTX-Export ist hier nicht verfügbar.',
|
||||
'fileViewer.exportZip': 'Als .zip herunterladen',
|
||||
'fileViewer.exportHtml': 'Als eigenständiges HTML exportieren',
|
||||
'fileViewer.exportMd': 'Als Markdown exportieren',
|
||||
'fileViewer.exportJsx': 'Als JSX exportieren',
|
||||
'fileViewer.exportReactHtml': 'Vorschau als HTML exportieren',
|
||||
'fileViewer.saveAsTemplate': 'Als Template speichern…',
|
||||
'fileViewer.savingTemplate': 'Template wird gespeichert…',
|
||||
'fileViewer.savedTemplate': 'Als „{name}“ gespeichert',
|
||||
'fileViewer.savedTemplateFail': 'Template konnte nicht gespeichert werden — bitte erneut versuchen.',
|
||||
'fileViewer.templateNamePrompt': 'Template-Name',
|
||||
'fileViewer.templateNameDefault': 'Template ohne Titel',
|
||||
'fileViewer.templateDescPrompt':
|
||||
'Kurze Beschreibung (optional — was macht dieses Template nützlich?)',
|
||||
'fileViewer.deployToVercel': 'Auf Vercel deployen',
|
||||
'fileViewer.redeployToVercel': 'Erneut deployen',
|
||||
'fileViewer.deployingToVercel': 'Deployment auf Vercel läuft…',
|
||||
'fileViewer.preparingPublicLink': 'Öffentlicher Link wird vorbereitet…',
|
||||
'fileViewer.copyDeployLink': 'Link kopieren',
|
||||
'fileViewer.deployModalTitle': 'Auf Vercel deployen',
|
||||
'fileViewer.deployModalSubtitle':
|
||||
'Deployen Sie dieses HTML-Artifact als Vercel Preview mit Ihrem eigenen Konto.',
|
||||
'fileViewer.vercelToken': 'Vercel Token',
|
||||
'fileViewer.vercelTokenGetLink': 'Vercel Token abrufen',
|
||||
'fileViewer.vercelTokenPlaceholder': 'Vercel Token einfügen',
|
||||
'fileViewer.vercelTokenReuseHint':
|
||||
'Gespeicherter Token wird verwendet. Geben Sie einen neuen Token ein, um ihn zu ersetzen.',
|
||||
'fileViewer.vercelTokenRequired': 'Geben und speichern Sie zuerst einen Vercel Token.',
|
||||
'fileViewer.vercelTeamId': 'Team-ID',
|
||||
'fileViewer.vercelTeamSlug': 'Team-Slug',
|
||||
'fileViewer.optional': 'Optional',
|
||||
'fileViewer.vercelPreviewOnly': 'Deployments sind vorerst nur Previews.',
|
||||
'fileViewer.savingConfig': 'Speichern…',
|
||||
'fileViewer.deployConfigSaveFailed': 'Vercel-Einstellungen konnten nicht gespeichert werden.',
|
||||
'fileViewer.deployFailed': 'Deployment fehlgeschlagen. Prüfen Sie die Vercel-Einstellungen und versuchen Sie es erneut.',
|
||||
'fileViewer.deployResultLabel': 'Bereitgestellte URL',
|
||||
'fileViewer.deployLinkPreparingLabel': 'Öffentlicher Link ausstehend',
|
||||
'fileViewer.deployLinkDelayed':
|
||||
'Ihre Site ist deployed. Vercel bereitet den öffentlichen Link noch vor.',
|
||||
'fileViewer.deployLinkProtectedLabel': 'Vercel Protection aktiviert',
|
||||
'fileViewer.deployLinkProtected':
|
||||
'Ihre Site wurde deployed, aber Vercel verlangt Authentifizierung für diesen Preview-Link. Deaktivieren Sie Deployment Protection oder verwenden Sie eine Custom Domain.',
|
||||
'fileViewer.retryLink': 'Jetzt erneut versuchen',
|
||||
|
||||
'questionForm.submit': 'Absenden',
|
||||
'questionForm.skip': 'Überspringen',
|
||||
'questionForm.locked': 'Beantwortet',
|
||||
|
||||
'conv.switch': 'Konversation wechseln',
|
||||
'conv.label': 'Konversation',
|
||||
'conv.heading': 'Konversationen',
|
||||
'conv.new': '+ Neu',
|
||||
'conv.empty': 'Noch keine Konversationen.',
|
||||
'conv.untitled': 'Konversation ohne Titel',
|
||||
'conv.renameTooltip': 'Doppelklicken zum Umbenennen',
|
||||
'conv.delete': 'Konversation löschen',
|
||||
'conv.deleteConfirm': '„{title}“ löschen? Dadurch werden die Nachrichten entfernt.',
|
||||
|
||||
'agentPicker.label': 'Agent',
|
||||
'agentPicker.modeChoose': 'Ausführungsmodus wählen',
|
||||
'agentPicker.localCli': 'Lokale CLI',
|
||||
'agentPicker.daemonOff': 'Daemon aus',
|
||||
'agentPicker.byok': 'API · BYOK',
|
||||
'agentPicker.selectAgent': 'Erkannte Code-Agent-CLI auswählen',
|
||||
'agentPicker.noAgents': 'keine Agents im PATH',
|
||||
'agentPicker.notInstalled': 'nicht installiert',
|
||||
'agentPicker.rescan': 'Lokalen PATH erneut nach Agents scannen',
|
||||
|
||||
'tool.openInTab': '{name} in einem Tab öffnen',
|
||||
'tool.open': 'öffnen',
|
||||
'tool.todos': 'Todos',
|
||||
'tool.write': 'Write',
|
||||
'tool.edit': 'Edit',
|
||||
'tool.read': 'Read',
|
||||
'tool.bash': 'Bash',
|
||||
'tool.glob': 'Glob',
|
||||
'tool.grep': 'Grep',
|
||||
'tool.fetch': 'Fetch',
|
||||
'tool.search': 'Search',
|
||||
'tool.lines': '{n} Zeilen',
|
||||
'tool.changeSingular': 'Änderung',
|
||||
'tool.changePlural': 'Änderungen',
|
||||
'tool.in': 'in {path}',
|
||||
'tool.hide': 'ausblenden',
|
||||
'tool.output': 'Ausgabe',
|
||||
'tool.running': 'läuft…',
|
||||
'tool.error': 'Fehler',
|
||||
'tool.done': 'fertig',
|
||||
|
||||
'assistant.role': 'Assistent',
|
||||
'assistant.workingLabel': 'Arbeitet',
|
||||
'assistant.doneLabel': 'Fertig',
|
||||
'assistant.unfinishedLabel': 'Mit unerledigter Arbeit gestoppt',
|
||||
'assistant.unfinishedSummary': '{n} Aufgabe(n) offen',
|
||||
'assistant.unfinishedMore': '+{n} weitere',
|
||||
'assistant.continueRemaining': 'Offene Aufgaben fortsetzen',
|
||||
'assistant.outTokens': '{n} ausgehend',
|
||||
'assistant.producedFiles': 'Dateien aus diesem Turn',
|
||||
'assistant.openFile': 'Öffnen',
|
||||
'assistant.downloadFile': 'Herunterladen',
|
||||
'assistant.thinking': 'Denkt',
|
||||
'assistant.systemReminder': 'Systemhinweis',
|
||||
'assistant.waitingFirstOutput': 'Warte auf erste Ausgabe',
|
||||
'assistant.statusBootingAgent': 'Agent wird gestartet',
|
||||
'assistant.statusStarting': 'Startet',
|
||||
'assistant.statusRequesting': 'Anfrage wird gesendet',
|
||||
'assistant.statusThinking': 'Denkt',
|
||||
'assistant.statusStreaming': 'Streamt',
|
||||
'assistant.slowHint':
|
||||
'Dauert länger als üblich. Das Formular erscheint normalerweise nach 5–10 s — Sie können Stoppen und umformulieren.',
|
||||
'assistant.verbEditing': 'Bearbeitet',
|
||||
'assistant.verbWriting': 'Schreibt',
|
||||
'assistant.verbReading': 'Liest',
|
||||
'assistant.verbSearching': 'Sucht',
|
||||
'assistant.verbRunning': 'Führt aus',
|
||||
'assistant.verbTodos': 'Todos',
|
||||
'assistant.verbFetching': 'Holt',
|
||||
'assistant.verbCalling': 'Ruft auf',
|
||||
|
||||
'qf.answered': 'beantwortet',
|
||||
'qf.choose': 'Auswählen…',
|
||||
'qf.required': 'erforderlich',
|
||||
'qf.lockedSubmitted':
|
||||
'Antworten gesendet — der Agent nutzt sie für den Rest der Sitzung.',
|
||||
'qf.lockedPrev': 'Dieses Formular stammt aus einem vorherigen Turn.',
|
||||
'qf.hint':
|
||||
'Wählen Sie, was passt. Überspringen Sie optionale Felder, die Ihnen egal sind — der Agent nutzt sinnvolle Standards.',
|
||||
'qf.submitDefault': 'Antworten senden',
|
||||
'qf.submitDisabledTitle': 'Füllen Sie zuerst die erforderlichen Felder aus',
|
||||
'qf.submitTitle': 'Antworten senden',
|
||||
'qf.cardSelected': 'ausgewählt',
|
||||
'qf.cardRefs': 'Refs:',
|
||||
'qf.cardSampleText': 'Franz jagt im komplett verwahrlosten Taxi quer durch Bayern · 0123',
|
||||
|
||||
'sketch.toolSelect': 'Auswählen (no-op)',
|
||||
'sketch.toolPen': 'Stift',
|
||||
'sketch.toolText': 'Text',
|
||||
'sketch.toolRect': 'Rechteck',
|
||||
'sketch.toolArrow': 'Pfeil',
|
||||
'sketch.toolEraser': 'Radierer',
|
||||
'sketch.color': 'Farbe',
|
||||
'sketch.strokeSize': 'Strichstärke',
|
||||
'sketch.undo': 'Rückgängig',
|
||||
'sketch.clear': 'Leeren',
|
||||
'sketch.close': 'Schließen',
|
||||
'sketch.textPrompt': 'Text:',
|
||||
|
||||
'pet.title': 'Haustiere',
|
||||
'pet.tabBuiltIn': 'Vorgegeben',
|
||||
'pet.tabBuiltInHint': 'Mit Open Design gebündelte Begleiter — auswählen und adoptieren.',
|
||||
'pet.builtInEmpty': 'Eingebaute Pets sind gerade nicht verfügbar. Aktualisiere den Community-Tab, sobald der Daemon wieder online ist.',
|
||||
'pet.tabCustom': 'Eigenes',
|
||||
'pet.tabCustomHint': 'Eigener Name, Glyph, Farbe oder Sprite.',
|
||||
'pet.tabCommunity': 'Community',
|
||||
'pet.tabCommunityHint': 'Von Codex geschlüpfte Pets — adoptieren oder neue generieren.',
|
||||
'pet.tabsAria': 'Pet-Quelle',
|
||||
'pet.subtitle': 'Adoptiere ein kleines Maskottchen, das über deinem Workspace schwebt.',
|
||||
'pet.navTitle': 'Haustiere',
|
||||
'pet.navHint': 'Adoptieren oder anpassen',
|
||||
'pet.adopt': 'Adoptieren',
|
||||
'pet.adoptedBadge': 'Adoptiert',
|
||||
'pet.adoptCallout': 'Ein Haustier adoptieren',
|
||||
'pet.changePet': 'Haustier wechseln',
|
||||
'pet.wake': 'Wecken',
|
||||
'pet.tuck': 'Verstecken',
|
||||
'pet.wakeTitle': 'Haustier wecken — Overlay anzeigen.',
|
||||
'pet.tuckTitle': 'Haustier verstecken — Overlay ausblenden.',
|
||||
'pet.settingsTitle': 'Haustier-Einstellungen öffnen',
|
||||
'pet.useCustom': 'Mein Haustier verwenden',
|
||||
'pet.customTitle': 'Selbst gestalten',
|
||||
'pet.customHint': 'Wähle Name, Symbol und Akzentfarbe — das Overlay aktualisiert sich live.',
|
||||
'pet.customGreetingPlaceholder': 'Eine Begrüßung von deinem Haustier…',
|
||||
'pet.fieldName': 'Name',
|
||||
'pet.fieldGlyph': 'Symbol',
|
||||
'pet.fieldGlyphHint': 'Ein einzelnes Emoji passt am besten (z. B. 🐝, 🦄, 🐢).',
|
||||
'pet.fieldGreeting': 'Begrüßung',
|
||||
'pet.fieldAccent': 'Akzentfarbe',
|
||||
'pet.fieldAccentCustom': 'Eigene Farbe',
|
||||
'pet.overlayAria': 'Haustier-Begleiter',
|
||||
'pet.spriteAria': '{name} — zum Bewegen ziehen, zum Plaudern klicken',
|
||||
'pet.spriteTitle': 'Hallo von {name}! Klick zum Plaudern.',
|
||||
'pet.railAria': 'Haustier-Auswahl',
|
||||
'pet.railTitle': 'Haustiere',
|
||||
'pet.railHint': 'Wähle einen Begleiter, der über deinem Workspace schwebt.',
|
||||
'pet.railExpand': 'Haustier-Auswahl einblenden',
|
||||
'pet.railCollapse': 'Haustier-Auswahl einklappen',
|
||||
'pet.railHide': 'Haustier-Auswahl ausblenden',
|
||||
'pet.railShow': 'Haustier-Auswahl einblenden',
|
||||
'pet.railCustomFlavor': 'Eigenes — Name, Symbol, Farbe.',
|
||||
'pet.railCustomize': 'Anpassen…',
|
||||
'pet.composerTitle': 'Haustiere — wecken, verstecken oder auswählen',
|
||||
'pet.composerMenuTitle': 'Haustiere',
|
||||
'pet.composerMenuHint': 'Tipp: tippe /pet zum Umschalten',
|
||||
'pet.composerOpenSettings': 'In den Einstellungen anpassen',
|
||||
'pet.welcomeTeaserTitle': 'Adoptiere ein Haustier',
|
||||
'pet.welcomeTeaserBody': 'Ein kleiner schwebender Begleiter für deinen Workspace.',
|
||||
'pet.welcomeTeaserCta': 'Eines wählen',
|
||||
'pet.imageUpload': 'Sprite hochladen',
|
||||
'pet.imageReplace': 'Sprite ersetzen',
|
||||
'pet.imageRemove': 'Emoji verwenden',
|
||||
'pet.imageHintIdle': 'PNG, JPG, WebP, GIF oder SVG. Spritesheet? Lade einen horizontalen Streifen hoch und setze die Frame-Anzahl.',
|
||||
'pet.imageHintActive': 'Dein Sprite wird angezeigt. Setze Frames > 1, um einen horizontalen Spritesheet zu animieren.',
|
||||
'pet.fieldFrames': 'Frames',
|
||||
'pet.fieldFramesHint': '1 = statisch. > 1 = horizontaler Spritesheet.',
|
||||
'pet.fieldFps': 'Geschwindigkeit (fps)',
|
||||
'pet.fieldFpsHint': 'Wie schnell die Frames durchlaufen.',
|
||||
'pet.atlasImport': 'Codex-Sprite importieren',
|
||||
'pet.atlasImportTitle': 'Importiere ein hatch-pet 8x9 / 192x208 Atlas (PNG oder WebP).',
|
||||
'pet.atlasPickerTitle': 'Animationszeile wählen',
|
||||
'pet.atlasPickerHint': 'Codex-Pets bringen 9 Animationszeilen mit. Standardmäßig behalten wir den ganzen Atlas, damit das Pet bei Hover, Drag-Richtung und langer Untätigkeit die Reihen wechselt. Du kannst es auch auf eine Schleife festlegen.',
|
||||
'pet.atlasCancel': 'Atlas verwerfen',
|
||||
'pet.atlasAdopt': 'Auf diese Zeile festlegen',
|
||||
'pet.atlasAdoptFull': 'Ganzen Atlas verwenden (animiert)',
|
||||
'pet.atlasAdoptFullTitle': 'Alle Zeilen behalten, damit das Pet auf Hover, Drag-Richtung und lange Untätigkeit reagiert.',
|
||||
'pet.atlasAdoptRowTitle': 'Nur die markierte Zeile als einzelne Endlosschleife herausschneiden.',
|
||||
'pet.atlasActiveHint': 'Animierter Atlas aktiv — das Pet wählt anhand deiner Interaktion (Hover, Drag, Untätigkeit) eine Zeile aus.',
|
||||
'pet.atlasRow.idle': 'Idle',
|
||||
'pet.atlasRow.running-right': 'Lauf rechts',
|
||||
'pet.atlasRow.running-left': 'Lauf links',
|
||||
'pet.atlasRow.waving': 'Winken',
|
||||
'pet.atlasRow.jumping': 'Springen',
|
||||
'pet.atlasRow.failed': 'Gescheitert',
|
||||
'pet.atlasRow.waiting': 'Warten',
|
||||
'pet.atlasRow.running': 'Laufen',
|
||||
'pet.atlasRow.review': 'Prüfen',
|
||||
'pet.hatchTitle': 'Neues Pet mit KI ausbrüten',
|
||||
'pet.hatchHint': 'Nutze das mitgelieferte hatch-pet-Skill im Chat, um ein Codex-Spritesheet zu erzeugen, und importiere es danach hier.',
|
||||
'pet.hatchConcept': 'Pet-Konzept (optional)',
|
||||
'pet.hatchConceptPlaceholder': 'z. B. ein winziger Pixel-Shiba im kuscheligen Pulli',
|
||||
'pet.hatchCopy': 'Prompt kopieren',
|
||||
'pet.hatchCopied': 'Kopiert!',
|
||||
'pet.hatchFoot': 'Sobald das Skill dein Pet gespeichert hat, kommst du zurück und wählst „Codex-Sprite importieren".',
|
||||
'pet.slashPopoverAria': 'Slash-Befehle',
|
||||
'pet.slashPopoverTitle': 'Befehle',
|
||||
'pet.slashPopoverHint': '↑↓ navigieren · enter auswählen · esc schließen',
|
||||
'pet.slashPet': 'Pet umschalten, adoptieren oder Einstellungen öffnen.',
|
||||
'pet.slashPetWake': 'Schwebende Pet-Anzeige aufwecken.',
|
||||
'pet.slashPetTuck': 'Pet vorerst wegstecken.',
|
||||
'pet.slashHatch': 'Codex-Pet mit dem hatch-pet-Skill erzeugen.',
|
||||
'pet.slashHatchArg': '<Konzept>',
|
||||
'pet.codexTitle': 'Kürzlich ausgebrütet',
|
||||
'pet.codexSubtitle': 'Vom hatch-pet-Skill gepackte Pets erscheinen hier zur Ein-Klick-Adoption.',
|
||||
'pet.codexSubtitleWithDir': 'Suche in {dir} nach hatch-pet-Paketen.',
|
||||
'pet.codexEmpty': 'Noch keine ausgebrüteten Pets. Tippe /hatch im Chat, um eines zu erzeugen.',
|
||||
'pet.codexLoading': 'Suche nach ausgebrüteten Pets…',
|
||||
'pet.codexRefresh': 'Aktualisieren',
|
||||
'pet.codexAdopt': 'Adoptieren',
|
||||
'pet.codexAdopting': 'Adoptiere…',
|
||||
'pet.communitySync': 'Community-Pets herunterladen',
|
||||
'pet.communitySyncing': 'Lade…',
|
||||
'pet.communitySyncTitle': 'Synchronisiere die neuesten Pets aus Codex Pet Share + j20 Hatchery nach ~/.codex/pets/.',
|
||||
'pet.communitySyncDone': '{wrote} neue Pets synchronisiert ({total} insgesamt).',
|
||||
'pet.communitySyncFailed': 'Sync fehlgeschlagen: {error}',
|
||||
'pet.codexBundled': 'Mitgeliefert',
|
||||
'pet.codexBundledTitle': 'Wird mit Open Design ausgeliefert — kein Download nötig.',
|
||||
|
||||
'settings.notifications': 'Benachrichtigungen',
|
||||
'settings.notificationsHint': 'Ton und Desktop-Benachrichtigung beim Abschluss von Aufgaben',
|
||||
'settings.notifyCompletionSound': 'Abschluss-Ton',
|
||||
'settings.notifyCompletionSoundHint': 'Wird abgespielt, wenn eine Runde endet. Standardmäßig aus.',
|
||||
'settings.notifySuccessSound': 'Erfolgs-Ton',
|
||||
'settings.notifyFailureSound': 'Fehler-Ton',
|
||||
'settings.notifyDesktop': 'Desktop-Benachrichtigung',
|
||||
'settings.notifyDesktopHint': 'Wird gesendet, wenn das Fenster nicht im Vordergrund ist.',
|
||||
'settings.notifyDesktopBlocked': 'Vom Browser blockiert. Bitte in den Website-Einstellungen erlauben.',
|
||||
'settings.notifyDesktopUnsupported': 'Desktop-Benachrichtigungen werden in dieser Umgebung nicht unterstützt.',
|
||||
'settings.notifyTest': 'Test senden',
|
||||
'settings.notifyTestSent': 'Testbenachrichtigung gesendet. Wenn kein Banner erscheint, Browser- und Systembenachrichtigungen prüfen.',
|
||||
'settings.notifyTestFailed': 'Benachrichtigungsaufruf fehlgeschlagen. Browser- und Systembenachrichtigungen prüfen.',
|
||||
'settings.notifySoundDing': 'Ding',
|
||||
'settings.notifySoundChime': 'Glockenspiel',
|
||||
'settings.notifySoundTwoToneUp': 'Zweiton aufwärts',
|
||||
'settings.notifySoundPluck': 'Zupfen',
|
||||
'settings.notifySoundBuzz': 'Summen',
|
||||
'settings.notifySoundTwoToneDown': 'Zweiton abwärts',
|
||||
'settings.notifySoundThud': 'Dumpfer Schlag',
|
||||
'notify.successTitle': 'Aufgabe abgeschlossen',
|
||||
'notify.failureTitle': 'Aufgabe fehlgeschlagen',
|
||||
'notify.successBody': 'Eine Runde ist abgeschlossen.',
|
||||
'notify.failureBody': 'Die Aufgabe wurde mit einem Fehler beendet.',
|
||||
};
|
||||
@@ -0,0 +1,830 @@
|
||||
import type { Dict } from '../types';
|
||||
|
||||
export const en: Dict = {
|
||||
'common.cancel': 'Cancel',
|
||||
'common.save': 'Save',
|
||||
'common.close': 'Close',
|
||||
'common.delete': 'Delete',
|
||||
'common.rename': 'Rename',
|
||||
'common.preview': 'Preview',
|
||||
'common.share': 'Share',
|
||||
'common.search': 'Search',
|
||||
'common.searchEllipsis': 'Search…',
|
||||
'common.loading': 'Loading…',
|
||||
'common.all': 'All',
|
||||
'common.none': 'None',
|
||||
'common.default': 'Default',
|
||||
'common.installed': 'installed',
|
||||
'common.notInstalled': 'not installed',
|
||||
'common.active': 'active',
|
||||
'common.offline': 'offline',
|
||||
'common.selected': 'selected',
|
||||
'common.create': 'Create',
|
||||
'common.openPreview': 'Open preview',
|
||||
'common.exitFullscreen': 'Exit fullscreen',
|
||||
'common.fullscreen': 'Fullscreen',
|
||||
'common.openInNewTab': 'Open in new tab',
|
||||
'common.exportPdf': 'Export as PDF',
|
||||
'common.exportZip': 'Download as .zip',
|
||||
'common.exportHtml': 'Export as standalone HTML',
|
||||
'common.justNow': 'just now',
|
||||
'common.minutesAgo': '{n}m ago',
|
||||
'common.hoursAgo': '{n}h ago',
|
||||
'common.daysAgo': '{n}d ago',
|
||||
'common.now': 'now',
|
||||
'common.minutesShort': '{n}m',
|
||||
'common.hoursShort': '{n}h',
|
||||
'common.daysShort': '{n}d',
|
||||
'common.untitled': 'Untitled',
|
||||
|
||||
'app.brand': 'Open Design',
|
||||
'app.brandPill': 'Research Preview',
|
||||
'app.brandSubtitle': 'by Nexu Labs',
|
||||
'app.welcomeLoading': 'Loading workspace…',
|
||||
|
||||
'settings.welcomeKicker': 'Welcome',
|
||||
'settings.welcomeTitle': 'Set up Open Design',
|
||||
'settings.welcomeSubtitle':
|
||||
"Pick how you'd like to run generations. You can change this any time from the Settings button in the top bar.",
|
||||
'settings.kicker': 'Settings',
|
||||
'settings.title': 'Execution & model',
|
||||
'settings.subtitle': 'Choose between Local CLI and BYOK. Your API key is stored only in this browser.',
|
||||
'settings.modeAria': 'Execution mode',
|
||||
'settings.protocolAria': 'API protocol',
|
||||
'settings.modeDaemon': 'Local CLI',
|
||||
'settings.modeDaemonHelp': 'Run via a code-agent CLI on your machine',
|
||||
'settings.modeDaemonOffline': 'Daemon is not running',
|
||||
'settings.modeDaemonOfflineMeta': 'daemon offline',
|
||||
'settings.modeDaemonInstalledMeta': '{count} installed',
|
||||
'settings.modeApi': 'API provider',
|
||||
'settings.modeApiMeta': 'BYOK',
|
||||
'settings.codeAgent': 'Code agent',
|
||||
'settings.codeAgentHint':
|
||||
'Detected by scanning your PATH. Pick the CLI you want generations to flow through.',
|
||||
'settings.rescan': '↻ Rescan',
|
||||
'settings.rescanTitle': 'Re-scan PATH',
|
||||
'settings.rescanRunning': 'Scanning...',
|
||||
'settings.rescanSuccess': 'Scan complete. {count} available.',
|
||||
'settings.rescanFailed': 'Scan failed. Check the daemon and try again.',
|
||||
'settings.noAgentsDetected':
|
||||
'No agents detected yet. Install one of Claude Code, Codex, Devin for Terminal, Gemini CLI, OpenCode, Cursor Agent, Qwen, or GitHub Copilot CLI, then click Rescan.',
|
||||
'settings.apiSection': 'Anthropic API',
|
||||
'settings.quickFillProvider': 'Quick fill provider',
|
||||
'settings.customProvider': 'Custom provider',
|
||||
'settings.apiKey': 'API key',
|
||||
'settings.showKey': 'Show key',
|
||||
'settings.hideKey': 'Hide key',
|
||||
'settings.show': 'Show',
|
||||
'settings.hide': 'Hide',
|
||||
'settings.model': 'Model',
|
||||
'settings.suggestedModelsHint':
|
||||
'These are suggested models for this protocol. Your provider may support different models.',
|
||||
'settings.baseUrl': 'Base URL',
|
||||
'settings.baseUrlInvalid': 'Enter a valid public http:// or https:// URL. Localhost is allowed; private network IPs are blocked.',
|
||||
'settings.azureDeploymentModel': 'Deployment name',
|
||||
'settings.azureDeploymentModelHint':
|
||||
'For Azure OpenAI, this field is used as the deployment name in /openai/deployments/<model>. Enter the deployment name you created in Azure.',
|
||||
'settings.apiVersion': 'API version',
|
||||
'settings.maxTokens': 'Max tokens (optional)',
|
||||
'settings.maxTokensHint':
|
||||
'Cap on the response length. Each model has a tuned default (shown as a placeholder); leave blank to use it, or enter a number to override.',
|
||||
'settings.apiHint': 'Calls are sent through the local daemon proxy to the base URL you set. The key is stored only in this browser and sent with provider requests.',
|
||||
'settings.skipForNow': 'Skip for now',
|
||||
'settings.getStarted': 'Get started',
|
||||
'settings.envConfigure': 'Configure execution mode',
|
||||
'settings.localCli': 'Local CLI',
|
||||
'settings.anthropicApi': 'Anthropic API',
|
||||
'settings.noAgentSelected': 'no agent selected',
|
||||
'settings.language': 'Language',
|
||||
'settings.languageHint': 'Switch the interface language. Saved to this browser.',
|
||||
'settings.appearance': 'Appearance',
|
||||
'settings.appearanceHint': 'Choose light, dark, or follow your system setting.',
|
||||
'settings.themeSystem': 'System',
|
||||
'settings.themeLight': 'Light',
|
||||
'settings.themeDark': 'Dark',
|
||||
'settings.modelPicker': 'Model',
|
||||
'settings.reasoningPicker': 'Reasoning effort',
|
||||
'settings.modelPickerHint':
|
||||
'Fetched from the CLI when it exposes a `models` command. "Default" leaves the choice to the CLI’s own config; "Custom…" lets you type any model id the CLI accepts.',
|
||||
'settings.modelCustom': 'Custom (type below)…',
|
||||
'settings.modelCustomLabel': 'Custom model id',
|
||||
'settings.modelCustomPlaceholder': 'e.g. anthropic/claude-sonnet-4-6',
|
||||
'settings.mediaProviders': 'Media providers',
|
||||
'settings.mediaProvidersHint':
|
||||
'API keys for image, video and audio generation. Stored locally and synced to the local daemon.',
|
||||
'settings.mediaProviderApiKey': 'API key',
|
||||
'settings.mediaProviderBaseUrl': 'Base URL',
|
||||
'settings.mediaProviderConfigured': 'Configured',
|
||||
'settings.mediaProviderUnset': 'Unset',
|
||||
'settings.mediaProviderClear': 'Clear',
|
||||
'settings.mediaProviderPlaceholder': 'Paste API key',
|
||||
'settings.mediaProviderBaseUrlPlaceholder': 'Override default base URL',
|
||||
'settings.about': 'About',
|
||||
'settings.aboutHint': 'Version and runtime details',
|
||||
'settings.appVersion': 'Version',
|
||||
'settings.appChannel': 'Channel',
|
||||
'settings.appRuntime': 'Runtime',
|
||||
'settings.appPlatform': 'Platform',
|
||||
'settings.appArchitecture': 'Architecture',
|
||||
'settings.runtimePackaged': 'Packaged app',
|
||||
'settings.runtimeDevelopment': 'Development',
|
||||
'settings.versionUnavailable': 'Version details are unavailable while the daemon is offline.',
|
||||
|
||||
'entry.tabDesigns': 'Designs',
|
||||
'entry.tabExamples': 'Examples',
|
||||
'entry.tabDesignSystems': 'Design systems',
|
||||
'entry.openSettingsTitle': 'Settings',
|
||||
'entry.openSettingsAria': 'Open settings',
|
||||
'entry.resizeAria': 'Resize sidebar',
|
||||
'entry.loadingWorkspace': 'Loading workspace…',
|
||||
'entry.tabImageTemplates': 'Image templates',
|
||||
'entry.tabVideoTemplates': 'Video templates',
|
||||
'promptTemplates.searchPlaceholder': 'Search templates…',
|
||||
'promptTemplates.countLabel': '{n} results',
|
||||
'promptTemplates.emptyImage': 'No image prompt templates installed yet.',
|
||||
'promptTemplates.emptyVideo': 'No video prompt templates installed yet.',
|
||||
'promptTemplates.emptyNoMatch': 'No templates match your search.',
|
||||
'promptTemplates.attributionFooter': 'Adapted from public prompt libraries. Each card links back to the original author.',
|
||||
'promptTemplates.openPreviewTitle': 'Open prompt and preview',
|
||||
'promptTemplates.sourcePrefix': 'Source:',
|
||||
'promptTemplates.fetchError': 'Could not load this template body.',
|
||||
'promptTemplates.promptLabel': 'Prompt body',
|
||||
'promptTemplates.copyPrompt': 'Copy prompt',
|
||||
'promptTemplates.copyDone': 'Copied!',
|
||||
'promptTemplates.modelHint': 'Suggested model: {model}',
|
||||
'promptTemplates.openSource': 'View original',
|
||||
'promptTemplates.openFullscreen': 'Open fullscreen preview',
|
||||
'promptTemplates.closeFullscreen': 'Close fullscreen preview',
|
||||
'promptTemplates.retry': 'Retry',
|
||||
|
||||
'newproj.tabPrototype': 'Prototype',
|
||||
'newproj.tabDeck': 'Slide deck',
|
||||
'newproj.tabTemplate': 'From template',
|
||||
'newproj.tabOther': 'Other',
|
||||
'newproj.titlePrototype': 'New prototype',
|
||||
'newproj.titleDeck': 'New slide deck',
|
||||
'newproj.titleTemplate': 'Start from a template',
|
||||
'newproj.titleImage': 'New image',
|
||||
'newproj.titleVideo': 'New video',
|
||||
'newproj.titleAudio': 'New audio',
|
||||
'newproj.titleOther': 'New project',
|
||||
'newproj.namePlaceholder': 'Project name',
|
||||
'newproj.fidelityLabel': 'Fidelity',
|
||||
'newproj.fidelityWireframe': 'Wireframe',
|
||||
'newproj.fidelityHigh': 'High fidelity',
|
||||
'newproj.toggleSpeakerNotes': 'Use speaker notes',
|
||||
'newproj.toggleSpeakerNotesHint': 'Less text on slides — keep talking points in notes.',
|
||||
'newproj.toggleAnimations': 'Include animations',
|
||||
'newproj.toggleAnimationsHint':
|
||||
'Add motion (entrance, hover, transitions) on top of the template.',
|
||||
'newproj.templateLabel': 'Template',
|
||||
'newproj.noTemplatesTitle': 'No templates yet',
|
||||
'newproj.noTemplatesBody':
|
||||
'Open any project, then use the Share menu inside the file viewer to convert it into a template. Templates show up here.',
|
||||
'newproj.savedTemplate': 'Saved template',
|
||||
'newproj.fileSingular': 'file',
|
||||
'newproj.filePlural': 'files',
|
||||
'newproj.create': 'Create',
|
||||
'newproj.createFromTemplate': 'Create from template',
|
||||
'newproj.createDisabledTitle':
|
||||
'Save a project as a template first (Share menu inside any project).',
|
||||
'newproj.importClaudeZip': 'Import Claude Design ZIP',
|
||||
'newproj.importClaudeZipTitle': 'Import a Claude Design .zip export',
|
||||
'newproj.importingClaudeZip': 'Importing…',
|
||||
'newproj.privacyFooter': 'Only you can see your project by default.',
|
||||
'newproj.designSystem': 'Design system',
|
||||
'newproj.dsNoneFreeform': 'None — freeform',
|
||||
'newproj.dsNoneSubtitleEmpty': 'No system tokens, choose your own palette',
|
||||
'newproj.dsNoneSubtitleSelected': 'Skip system tokens. The agent picks its own palette.',
|
||||
'newproj.dsCategoryFallback': 'Design system',
|
||||
'newproj.dsSearch': 'Search design systems…',
|
||||
'newproj.dsModeAria': 'Selection mode',
|
||||
'newproj.dsModeSingle': 'Single',
|
||||
'newproj.dsModeMulti': 'Multi',
|
||||
'newproj.dsNoneTitle': 'None — freeform',
|
||||
'newproj.dsNoneSub': 'Skip system tokens. The agent picks its own palette.',
|
||||
'newproj.dsEmpty': 'No design systems match “{query}”.',
|
||||
'newproj.dsFootSingular': 'is inspiration only.',
|
||||
'newproj.dsFootPlural': 'are inspiration only.',
|
||||
'newproj.dsFootClear': 'Clear',
|
||||
'newproj.dsBadgeDefault': 'DEFAULT',
|
||||
'newproj.dsPrimaryFallback': 'Primary',
|
||||
'newproj.surfaceImage': 'Image',
|
||||
'newproj.surfaceVideo': 'Video',
|
||||
'newproj.surfaceAudio': 'Audio',
|
||||
'newproj.modelLabel': 'Model',
|
||||
'newproj.aspectLabel': 'Aspect',
|
||||
'newproj.imageStyleLabel': 'Style notes',
|
||||
'newproj.imageStylePlaceholder': 'Editorial photo, soft daylight, muted palette',
|
||||
'newproj.videoLengthLabel': 'Length',
|
||||
'newproj.videoLengthSeconds': '{n}s',
|
||||
'newproj.audioKindLabel': 'Audio type',
|
||||
'newproj.audioKindMusic': 'Music',
|
||||
'newproj.audioKindSpeech': 'Speech / TTS',
|
||||
'newproj.audioKindSfx': 'SFX',
|
||||
'newproj.audioDurationLabel': 'Duration',
|
||||
'newproj.audioDurationSeconds': '{n}s',
|
||||
'newproj.voiceLabel': 'Voice',
|
||||
'newproj.voicePlaceholder': 'Provider voice id, optional',
|
||||
'newproj.promptTemplateLabel': 'Reference template',
|
||||
'newproj.promptTemplateNoneTitle': 'None — write your own',
|
||||
'newproj.promptTemplateNoneSub': 'Skip the gallery, describe your own brief',
|
||||
'newproj.promptTemplateRefSub': 'Reference template',
|
||||
'newproj.promptTemplateSearch': 'Search templates…',
|
||||
'newproj.promptTemplateEmpty': 'No templates installed for this surface yet.',
|
||||
'newproj.promptTemplateBodyLabel': 'Prompt (you can tune it)',
|
||||
'newproj.promptTemplateOptimizeHint':
|
||||
'Edit anything — your changes carry into the agent\'s brief.',
|
||||
'newproj.promptTemplateBodyEmpty':
|
||||
'Empty body — the agent will get no template reference.',
|
||||
|
||||
'designs.subRecent': 'Recent',
|
||||
'designs.subYours': 'Your designs',
|
||||
'designs.filterAria': 'Filter projects',
|
||||
'designs.searchPlaceholder': 'Search…',
|
||||
'designs.emptyNoProjects': 'No projects yet. Create one on the left.',
|
||||
'designs.emptyNoMatch': 'No projects match your search.',
|
||||
'designs.deleteTitle': 'Delete project',
|
||||
'designs.deleteConfirm': 'Delete "{name}"?',
|
||||
'designs.cardFreeform': 'freeform',
|
||||
'designs.status.notStarted': 'Not started',
|
||||
'designs.status.queued': 'Queued',
|
||||
'designs.status.running': 'Running',
|
||||
'designs.status.awaitingInput': 'Needs input',
|
||||
'designs.status.succeeded': 'Completed',
|
||||
'designs.status.failed': 'Failed',
|
||||
'designs.status.canceled': 'Canceled',
|
||||
'designs.viewToggleAria': 'View mode',
|
||||
'designs.viewGrid': 'Grid view',
|
||||
'designs.viewKanban': 'Board view',
|
||||
'designs.kanbanEmptyColumn': 'No designs',
|
||||
'designs.deleteAria': 'Delete project {name}',
|
||||
|
||||
'examples.typeLabel': 'Type',
|
||||
'examples.surfaceLabel': 'Surface',
|
||||
'examples.surfaceWeb': 'Web',
|
||||
'examples.surfaceImage': 'Image',
|
||||
'examples.surfaceVideo': 'Video',
|
||||
'examples.surfaceAudio': 'Audio',
|
||||
'examples.scenarioLabel': 'Scenario',
|
||||
'examples.modeAll': 'All',
|
||||
'examples.modePrototypeDesktop': 'Prototypes · Desktop',
|
||||
'examples.modePrototypeMobile': 'Prototypes · Mobile',
|
||||
'examples.modeDeck': 'Slides',
|
||||
'examples.modeDocument': 'Docs & templates',
|
||||
'examples.scenarioGeneral': 'General',
|
||||
'examples.scenarioEngineering': 'Engineering',
|
||||
'examples.scenarioProduct': 'Product',
|
||||
'examples.scenarioDesign': 'Design',
|
||||
'examples.scenarioMarketing': 'Marketing',
|
||||
'examples.scenarioSales': 'Sales',
|
||||
'examples.scenarioFinance': 'Finance',
|
||||
'examples.scenarioHr': 'HR',
|
||||
'examples.scenarioOperations': 'Operations',
|
||||
'examples.scenarioSupport': 'Support',
|
||||
'examples.scenarioLegal': 'Legal',
|
||||
'examples.scenarioEducation': 'Education',
|
||||
'examples.scenarioPersonal': 'Personal',
|
||||
'examples.searchPlaceholder': 'Search examples…',
|
||||
'examples.searchAria': 'Search examples by name',
|
||||
'examples.emptyNoSkills': 'No skills available. Is the daemon running?',
|
||||
'examples.emptyNoMatch': 'No examples match these filters.',
|
||||
'examples.openPreview': '⤢ Open preview',
|
||||
'examples.loadingPreview': 'Loading preview…',
|
||||
'examples.hoverPreview': 'Hover to preview',
|
||||
'examples.usePrompt': 'Use this prompt',
|
||||
'examples.previewModalTitle': 'Open full preview (modal)',
|
||||
'examples.shareTitle': 'Share this example',
|
||||
'examples.shareLoadFirst': 'Hover to load preview first',
|
||||
'examples.shareMenu': 'Share ▾',
|
||||
'examples.exportPdfAllSlides': 'Export as PDF (all slides)',
|
||||
'examples.exportPptxLocked': 'Export as PPTX… (open template first)',
|
||||
'examples.tagSlideDeck': 'Slide deck',
|
||||
'examples.tagTemplate': 'Template',
|
||||
'examples.tagDesignSystem': 'Design system',
|
||||
'examples.tagMobilePrototype': 'Mobile prototype',
|
||||
'examples.tagDesktopPrototype': 'Desktop prototype',
|
||||
'examples.tagImage': 'Image',
|
||||
'examples.tagVideo': 'Video',
|
||||
'examples.tagAudio': 'Audio',
|
||||
'examples.previewLabel': 'Preview',
|
||||
|
||||
'ds.surfaceLabel': 'Surface',
|
||||
'ds.surfaceWeb': 'Web',
|
||||
'ds.surfaceImage': 'Image',
|
||||
'ds.surfaceVideo': 'Video',
|
||||
'ds.surfaceAudio': 'Audio',
|
||||
'ds.searchPlaceholder': 'Search design systems…',
|
||||
'ds.emptyNoMatch': 'No design systems match your search.',
|
||||
'ds.badgeDefault': 'DEFAULT',
|
||||
'ds.preview': 'Preview',
|
||||
'ds.previewTitle': 'Preview design system',
|
||||
'ds.categoryAll': 'All',
|
||||
'ds.categoryUncategorized': 'Uncategorized',
|
||||
'ds.showcase': 'Showcase',
|
||||
'ds.tokens': 'Tokens',
|
||||
'ds.specToggle': 'DESIGN.md',
|
||||
'ds.specLoading': 'Loading DESIGN.md…',
|
||||
|
||||
'avatar.title': 'Account & settings',
|
||||
'avatar.localCli': 'Local CLI',
|
||||
'avatar.anthropicApi': 'Anthropic API',
|
||||
'avatar.useLocal': 'Use Local CLI',
|
||||
'avatar.useApi': 'Use API · BYOK',
|
||||
'avatar.codeAgent': 'Code agent',
|
||||
'avatar.rescan': 'Rescan PATH',
|
||||
'avatar.settings': 'Settings',
|
||||
'avatar.backToProjects': 'Back to projects',
|
||||
'avatar.metaActive': 'active',
|
||||
'avatar.metaOffline': 'offline',
|
||||
'avatar.metaSelected': 'selected',
|
||||
'avatar.noAgentSelected': 'no agent selected',
|
||||
'avatar.modelSection': 'Model',
|
||||
'avatar.modelLabel': 'Model',
|
||||
'avatar.reasoningLabel': 'Reasoning',
|
||||
'avatar.customSuffix': '(custom)',
|
||||
|
||||
'project.backToProjects': 'Back to projects',
|
||||
'project.metaFreeform': 'freeform',
|
||||
'chat.tabChat': 'Chat',
|
||||
'chat.tabComments': 'Comments',
|
||||
'chat.commentsSoon': 'Comments — coming soon',
|
||||
'chat.comments.attached': 'Attached to chat',
|
||||
'chat.comments.emptyAttached': 'No comments attached.',
|
||||
'chat.comments.saved': 'Saved comments',
|
||||
'chat.comments.emptySaved': 'No saved comments.',
|
||||
'chat.comments.add': 'Add',
|
||||
'chat.comments.addAll': 'Add all',
|
||||
'chat.comments.remove': 'Remove',
|
||||
'chat.comments.placeholder': 'Comment on this element…',
|
||||
'chat.comments.addSend': 'Add & send',
|
||||
'chat.comments.updateSend': 'Update & send',
|
||||
'chat.comments.removeAttachment': 'Remove comment attachment',
|
||||
'chat.comments.removeAttachmentAria': 'Remove comment attachment for {name}',
|
||||
'chat.conversationsTitle': 'Conversations',
|
||||
'chat.conversationsAria': 'Conversation history',
|
||||
'chat.newConversation': 'New conversation',
|
||||
'chat.newConversationsTitle': 'New conversation',
|
||||
'chat.conversationsHeading': 'Conversations',
|
||||
'chat.new': 'New',
|
||||
'chat.emptyConversations': 'No conversations yet.',
|
||||
'chat.deleteConversation': 'Delete conversation',
|
||||
'chat.deleteConversationConfirm':
|
||||
'Delete "{title}"? This removes its messages.',
|
||||
'chat.untitledConversation': 'Untitled conversation',
|
||||
'chat.startTitle': 'Start a conversation',
|
||||
'chat.startHint':
|
||||
'Drop or paste images for visual reference, or type @ to attach a file from this project. Or try one of these starters:',
|
||||
'chat.fillInputTitle': 'Click to fill the input',
|
||||
'chat.jumpToLatest': 'Jump to latest',
|
||||
'chat.scrollToLatest': 'Scroll to latest',
|
||||
'chat.you': 'You',
|
||||
'chat.openFile': 'Open {name}',
|
||||
'chat.composerPlaceholder':
|
||||
'Describe the design you want — paste or drop images, or @ a file…',
|
||||
'chat.composerHint':
|
||||
'⌘/Ctrl + Enter to send · paste images · @ to reference files',
|
||||
'chat.cliSettingsTitle': 'CLI & model settings',
|
||||
'chat.cliSettingsAria': 'Open CLI and model settings',
|
||||
'chat.attachTitle': 'Attach files (or paste / drop)',
|
||||
'chat.attachAria': 'Attach files',
|
||||
'chat.importTitle': 'Import sources (coming soon)',
|
||||
'chat.importLabel': 'Import',
|
||||
'chat.importComingSoon': 'Coming soon',
|
||||
'chat.importSoon': 'Soon',
|
||||
'chat.importFig': 'Upload .fig file',
|
||||
'chat.importGitHub': 'Connect GitHub',
|
||||
'chat.importWeb': 'Grab web element',
|
||||
'chat.importFolder': 'Link code folder',
|
||||
'chat.importSkills': 'Skills and design systems',
|
||||
'chat.importProject': 'Reference another project',
|
||||
'chat.send': 'Send',
|
||||
'chat.stop': 'Stop',
|
||||
'chat.removeAria': 'Remove {name}',
|
||||
'chat.example1Title': 'Editorial pitch deck',
|
||||
'chat.example1Tag': 'Magazine',
|
||||
'chat.example1Prompt':
|
||||
'A 10-slide editorial pitch deck for a design studio raising a seed round — Swiss-grid layout, oversized serif headlines with bold drop caps, monospace section numbers, generous negative space, and full-bleed photo slides interleaved with text-heavy ones. Cover, vision, market, product, traction, team, ask, contact.',
|
||||
'chat.example2Title': 'SaaS analytics dashboard',
|
||||
'chat.example2Tag': 'Data',
|
||||
'chat.example2Prompt':
|
||||
'A dense analytics dashboard for a developer-tools SaaS — KPI strip with week-over-week deltas, two stacked line charts (MRR and active workspaces), a world heatmap of usage, a cohort retention grid, a top-customers leaderboard, and a real-time event feed. Dark theme, tabular monospace numerals, sparkline accents.',
|
||||
'chat.example3Title': 'Annual report long-scroll',
|
||||
'chat.example3Tag': 'Editorial',
|
||||
'chat.example3Prompt':
|
||||
'An interactive annual report for a climate non-profit — long-scroll editorial layout mixing big pull-quote blocks, data visualizations (stacked bars, animated counters, a choropleth map of project sites), photography breakers, donor wall, and a final call-to-action. Modern serif body, sans-serif chart labels, earthy paper palette.',
|
||||
|
||||
'preview.shareMenu': 'Share ▾',
|
||||
'preview.openInNewTab': 'Open in new tab',
|
||||
'preview.exit': '⤓ Exit',
|
||||
'preview.fullscreen': '⤢ Fullscreen',
|
||||
'preview.closeTitle': 'Close (Esc)',
|
||||
'preview.loading': 'Loading {label}…',
|
||||
'preview.showSidebar': 'Show {label}',
|
||||
'preview.hideSidebar': 'Hide {label}',
|
||||
|
||||
'misc.savedTemplate': 'Saved template',
|
||||
'misc.primary': 'Primary',
|
||||
'misc.designSystem': 'Design system',
|
||||
|
||||
'workspace.designFiles': 'Design Files',
|
||||
'workspace.closeTab': 'Close tab',
|
||||
'workspace.deleteFileConfirm': 'Delete "{name}" from the project folder?',
|
||||
'workspace.openFromDesignFiles': 'Open a file from',
|
||||
'workspace.designFilesLink': 'Design Files',
|
||||
'workspace.loadingSketch': 'Loading sketch…',
|
||||
'designFiles.title': 'Design Files',
|
||||
'designFiles.upload': 'Upload files',
|
||||
'designFiles.pasteText': 'Paste as text file',
|
||||
'designFiles.newSketch': 'New sketch',
|
||||
'designFiles.empty':
|
||||
'Nothing here yet. Drop files below, or create a sketch / paste text.',
|
||||
'designFiles.refresh': 'Refresh',
|
||||
'designFiles.delete': 'Delete',
|
||||
'designFiles.searchPlaceholder': 'Search files…',
|
||||
'designFiles.up': 'Up',
|
||||
'designFiles.back': 'Back',
|
||||
'designFiles.crumbs': 'project',
|
||||
'designFiles.rowMenu': 'Row menu',
|
||||
'designFiles.openInTab': 'Open in tab',
|
||||
'designFiles.download': 'Download',
|
||||
'designFiles.downloadSelected': 'Download {n} as ZIP',
|
||||
'designFiles.clearSelection': 'Clear',
|
||||
'designFiles.selectAll': 'Select all',
|
||||
'designFiles.dropTitle': '⤓ Drop files here',
|
||||
'designFiles.dropDesc':
|
||||
'Images, docs, references, or folders — the agent will use them as context.',
|
||||
'designFiles.upload.title': 'Upload files',
|
||||
'designFiles.paste.title': 'Paste text as a file',
|
||||
'designFiles.upload.label': 'Upload',
|
||||
'designFiles.paste.label': 'Paste',
|
||||
'designFiles.previewOpen': 'Open',
|
||||
'designFiles.previewClose': 'Close preview',
|
||||
'designFiles.modified': 'Modified {time} · {size}',
|
||||
'designFiles.weeksAgo': '{n}w ago',
|
||||
'designFiles.sectionPages': 'Pages',
|
||||
'designFiles.sectionScripts': 'Scripts',
|
||||
'designFiles.sectionImages': 'Images',
|
||||
'designFiles.sectionSketches': 'Sketches',
|
||||
'designFiles.sectionOther': 'Other',
|
||||
'designFiles.showMore': 'Show +{n} more',
|
||||
'designFiles.kindHtml': 'HTML page',
|
||||
'designFiles.kindImage': 'Image',
|
||||
'designFiles.kindSketch': 'Sketch',
|
||||
'designFiles.kindText': 'Text',
|
||||
'designFiles.kindCode': 'Script',
|
||||
'designFiles.kindPdf': 'PDF',
|
||||
'designFiles.kindDocument': 'Document',
|
||||
'designFiles.kindPresentation': 'Presentation',
|
||||
'designFiles.kindSpreadsheet': 'Spreadsheet',
|
||||
'designFiles.kindBinary': 'Binary',
|
||||
'pasteDialog.title': 'Paste text',
|
||||
'pasteDialog.hint': 'Saved into the project folder. Pick any name.',
|
||||
'pasteDialog.fileNameLabel': 'File name',
|
||||
'pasteDialog.namePlaceholder': 'notes.txt',
|
||||
'pasteDialog.contentLabel': 'Content',
|
||||
'pasteDialog.contentPlaceholder': 'Paste anything…',
|
||||
'pasteDialog.save': 'Save',
|
||||
'pasteDialog.cancel': 'Cancel',
|
||||
'sketch.save': 'Save sketch',
|
||||
'sketch.cancel': 'Cancel',
|
||||
'sketch.saving': 'Saving…',
|
||||
'sketch.tooltipDirty': 'Unsaved changes',
|
||||
'sketch.tooltipClean': 'Saved',
|
||||
'fileViewer.empty': 'Select a file to view.',
|
||||
'fileViewer.loading': 'Loading…',
|
||||
'fileViewer.exportPptx': 'Export as PPTX',
|
||||
'fileViewer.openInNewTab': 'Open in new tab',
|
||||
'fileViewer.copyPath': 'Copy path',
|
||||
'fileViewer.copied': 'Copied!',
|
||||
'fileViewer.share': 'Share',
|
||||
'fileViewer.binaryMeta': 'Binary · {size}',
|
||||
'fileViewer.binaryNote':
|
||||
'Binary file ({size} bytes). Download or open from disk to inspect.',
|
||||
'fileViewer.pdfMeta': 'PDF · {size}',
|
||||
'fileViewer.documentMeta': 'Document',
|
||||
'fileViewer.presentationMeta': 'Presentation',
|
||||
'fileViewer.spreadsheetMeta': 'Spreadsheet',
|
||||
'fileViewer.previewUnavailable': 'Preview unavailable. Download or open the file to inspect.',
|
||||
'fileViewer.download': 'Download',
|
||||
'fileViewer.open': 'Open',
|
||||
'fileViewer.imageMeta': 'Image · {size}',
|
||||
'fileViewer.reactMeta': 'React component · {size}',
|
||||
'fileViewer.sketchMeta': 'Sketch · {size}',
|
||||
'fileViewer.markdownStreamingMeta': 'Streaming preview…',
|
||||
'fileViewer.markdownErrorMeta': 'Preview may be incomplete (generation error).',
|
||||
'fileViewer.markdownStreamingStatus': 'Streaming… showing partial markdown.',
|
||||
'fileViewer.markdownErrorStatus': 'Generation error. Showing last available content.',
|
||||
'fileViewer.videoMeta': 'Video · {size}',
|
||||
'fileViewer.audioMeta': 'Audio · {size}',
|
||||
'fileViewer.reload': 'Reload',
|
||||
'fileViewer.reloadDisk': 'Reload from disk',
|
||||
'fileViewer.copy': 'Copy',
|
||||
'fileViewer.copyTitle': 'Copy file contents',
|
||||
'fileViewer.saveDisabled': 'Save (read-only viewer)',
|
||||
'fileViewer.save': 'Save',
|
||||
'fileViewer.preview': 'Preview',
|
||||
'fileViewer.source': 'Source',
|
||||
'fileViewer.tweaks': 'Tweaks',
|
||||
'fileViewer.comment': 'Comment',
|
||||
'fileViewer.edit': 'Edit',
|
||||
'fileViewer.draw': 'Draw',
|
||||
'fileViewer.zoomOut': 'Zoom out',
|
||||
'fileViewer.zoomIn': 'Zoom in',
|
||||
'fileViewer.resetZoom': 'Reset zoom',
|
||||
'fileViewer.reloadAria': 'Reload',
|
||||
'fileViewer.previousSlide': 'Previous slide',
|
||||
'fileViewer.nextSlide': 'Next slide',
|
||||
'fileViewer.slideNavAria': 'Slide navigation',
|
||||
'fileViewer.present': 'Present',
|
||||
'fileViewer.presentInTab': 'In this tab',
|
||||
'fileViewer.presentFullscreen': 'Fullscreen',
|
||||
'fileViewer.presentNewTab': 'New tab',
|
||||
'fileViewer.exitPresentation': 'Exit presentation',
|
||||
'fileViewer.shareLabel': 'Share',
|
||||
'fileViewer.exportPdf': 'Export as PDF',
|
||||
'fileViewer.exportPdfAllSlides': 'Export as PDF (all slides)',
|
||||
'fileViewer.exportPptxBusy': 'Wait for the current turn to finish.',
|
||||
'fileViewer.exportPptxHint':
|
||||
'Send a request to the agent to convert this design to PPTX.',
|
||||
'fileViewer.exportPptxNa': 'PPTX export is not available here.',
|
||||
'fileViewer.exportZip': 'Download as .zip',
|
||||
'fileViewer.exportHtml': 'Export as standalone HTML',
|
||||
'fileViewer.exportMd': 'Export as Markdown',
|
||||
'fileViewer.exportJsx': 'Export as JSX',
|
||||
'fileViewer.exportReactHtml': 'Export preview as HTML',
|
||||
'fileViewer.saveAsTemplate': 'Save as template…',
|
||||
'fileViewer.savingTemplate': 'Saving template…',
|
||||
'fileViewer.savedTemplate': 'Saved as "{name}"',
|
||||
'fileViewer.savedTemplateFail': 'Could not save template — try again.',
|
||||
'fileViewer.templateNamePrompt': 'Template name',
|
||||
'fileViewer.templateNameDefault': 'Untitled template',
|
||||
'fileViewer.templateDescPrompt':
|
||||
'Short description (optional — what makes this template useful?)',
|
||||
'fileViewer.deployToVercel': 'Deploy to Vercel',
|
||||
'fileViewer.redeployToVercel': 'Redeploy',
|
||||
'fileViewer.deployingToVercel': 'Deploying to Vercel…',
|
||||
'fileViewer.preparingPublicLink': 'Preparing public link…',
|
||||
'fileViewer.copyDeployLink': 'Copy link',
|
||||
'fileViewer.deployModalTitle': 'Deploy to Vercel',
|
||||
'fileViewer.deployModalSubtitle':
|
||||
'Deploy this HTML artifact as a Vercel Preview using your own account.',
|
||||
'fileViewer.vercelToken': 'Vercel token',
|
||||
'fileViewer.vercelTokenGetLink': 'Get Vercel token',
|
||||
'fileViewer.vercelTokenPlaceholder': 'Paste your Vercel token',
|
||||
'fileViewer.vercelTokenReuseHint':
|
||||
'Saved token will be used. Enter a new token to replace it.',
|
||||
'fileViewer.vercelTokenRequired': 'Enter and save a Vercel token first.',
|
||||
'fileViewer.vercelTeamId': 'Team ID',
|
||||
'fileViewer.vercelTeamSlug': 'Team slug',
|
||||
'fileViewer.optional': 'Optional',
|
||||
'fileViewer.vercelPreviewOnly': 'Deploys are Preview-only for now.',
|
||||
'fileViewer.savingConfig': 'Saving…',
|
||||
'fileViewer.deployConfigSaveFailed': 'Could not save Vercel settings.',
|
||||
'fileViewer.deployFailed': 'Deploy failed. Check Vercel settings and try again.',
|
||||
'fileViewer.deployResultLabel': 'Deployed URL',
|
||||
'fileViewer.deployLinkPreparingLabel': 'Public link pending',
|
||||
'fileViewer.deployLinkDelayed':
|
||||
'Your site is deployed. Vercel is still preparing the public link.',
|
||||
'fileViewer.deployLinkProtectedLabel': 'Vercel protection enabled',
|
||||
'fileViewer.deployLinkProtected':
|
||||
'Your site deployed, but Vercel is requiring authentication for this preview link. Disable Deployment Protection or use a custom domain.',
|
||||
'fileViewer.retryLink': 'Retry now',
|
||||
|
||||
'questionForm.submit': 'Submit',
|
||||
'questionForm.skip': 'Skip',
|
||||
'questionForm.locked': 'Answered',
|
||||
|
||||
'conv.switch': 'Switch conversation',
|
||||
'conv.label': 'Conversation',
|
||||
'conv.heading': 'Conversations',
|
||||
'conv.new': '+ New',
|
||||
'conv.empty': 'No conversations yet.',
|
||||
'conv.untitled': 'Untitled conversation',
|
||||
'conv.renameTooltip': 'Double-click to rename',
|
||||
'conv.delete': 'Delete conversation',
|
||||
'conv.deleteConfirm': 'Delete "{title}"? This removes its messages.',
|
||||
|
||||
'agentPicker.label': 'Agent',
|
||||
'agentPicker.modeChoose': 'Choose execution mode',
|
||||
'agentPicker.localCli': 'Local CLI',
|
||||
'agentPicker.daemonOff': 'daemon off',
|
||||
'agentPicker.byok': 'API · BYOK',
|
||||
'agentPicker.selectAgent': 'Select a detected code-agent CLI',
|
||||
'agentPicker.noAgents': 'no agents on PATH',
|
||||
'agentPicker.notInstalled': 'not installed',
|
||||
'agentPicker.rescan': 'Re-scan local PATH for agents',
|
||||
|
||||
'tool.openInTab': 'Open {name} in a tab',
|
||||
'tool.open': 'open',
|
||||
'tool.todos': 'Todos',
|
||||
'tool.write': 'Write',
|
||||
'tool.edit': 'Edit',
|
||||
'tool.read': 'Read',
|
||||
'tool.bash': 'Bash',
|
||||
'tool.glob': 'Glob',
|
||||
'tool.grep': 'Grep',
|
||||
'tool.fetch': 'Fetch',
|
||||
'tool.search': 'Search',
|
||||
'tool.lines': '{n} lines',
|
||||
'tool.changeSingular': 'change',
|
||||
'tool.changePlural': 'changes',
|
||||
'tool.in': 'in {path}',
|
||||
'tool.hide': 'hide',
|
||||
'tool.output': 'output',
|
||||
'tool.running': 'running…',
|
||||
'tool.error': 'error',
|
||||
'tool.done': 'done',
|
||||
|
||||
'assistant.role': 'Assistant',
|
||||
'assistant.workingLabel': 'Working',
|
||||
'assistant.doneLabel': 'Done',
|
||||
'assistant.unfinishedLabel': 'Stopped with unfinished work',
|
||||
'assistant.unfinishedSummary': '{n} task(s) remain',
|
||||
'assistant.unfinishedMore': '+{n} more',
|
||||
'assistant.continueRemaining': 'Continue remaining tasks',
|
||||
'assistant.outTokens': '{n} out',
|
||||
'assistant.producedFiles': 'Files from this turn',
|
||||
'assistant.openFile': 'Open',
|
||||
'assistant.downloadFile': 'Download',
|
||||
'assistant.thinking': 'Thinking',
|
||||
'assistant.systemReminder': 'System reminder',
|
||||
'assistant.waitingFirstOutput': 'Waiting for first output',
|
||||
'assistant.statusBootingAgent': 'Booting agent',
|
||||
'assistant.statusStarting': 'Starting',
|
||||
'assistant.statusRequesting': 'Sending request',
|
||||
'assistant.statusThinking': 'Thinking',
|
||||
'assistant.statusStreaming': 'Streaming',
|
||||
'assistant.slowHint':
|
||||
'Taking longer than usual. The form usually shows in 5–10s — you can Stop and rephrase.',
|
||||
'assistant.verbEditing': 'Editing',
|
||||
'assistant.verbWriting': 'Writing',
|
||||
'assistant.verbReading': 'Reading',
|
||||
'assistant.verbSearching': 'Searching',
|
||||
'assistant.verbRunning': 'Running',
|
||||
'assistant.verbTodos': 'Todos',
|
||||
'assistant.verbFetching': 'Fetching',
|
||||
'assistant.verbCalling': 'Calling',
|
||||
|
||||
'qf.answered': 'answered',
|
||||
'qf.choose': 'Choose…',
|
||||
'qf.required': 'required',
|
||||
'qf.lockedSubmitted':
|
||||
'Answers sent — agent is using these for the rest of the session.',
|
||||
'qf.lockedPrev': 'This form is from a previous turn.',
|
||||
'qf.hint':
|
||||
"Pick what fits. Skip optional fields you don't care about — the agent will use sensible defaults.",
|
||||
'qf.submitDefault': 'Send answers',
|
||||
'qf.submitDisabledTitle': 'Fill in the required fields first',
|
||||
'qf.submitTitle': 'Send answers',
|
||||
'qf.cardSelected': 'selected',
|
||||
'qf.cardRefs': 'Refs:',
|
||||
'qf.cardSampleText': 'The quick brown fox · 0123',
|
||||
|
||||
'sketch.toolSelect': 'Select (no-op)',
|
||||
'sketch.toolPen': 'Pen',
|
||||
'sketch.toolText': 'Text',
|
||||
'sketch.toolRect': 'Rectangle',
|
||||
'sketch.toolArrow': 'Arrow',
|
||||
'sketch.toolEraser': 'Eraser',
|
||||
'sketch.color': 'Color',
|
||||
'sketch.strokeSize': 'Stroke size',
|
||||
'sketch.undo': 'Undo',
|
||||
'sketch.clear': 'Clear',
|
||||
'sketch.close': 'Close',
|
||||
'sketch.textPrompt': 'Text:',
|
||||
|
||||
'pet.title': 'Pets',
|
||||
'pet.subtitle': 'Adopt a tiny companion that floats over your workspace.',
|
||||
'pet.navTitle': 'Pets',
|
||||
'pet.navHint': 'Adopt or customize',
|
||||
'pet.tabBuiltIn': 'Built-in',
|
||||
'pet.tabBuiltInHint': 'Curated companions bundled with Open Design — pick one and adopt.',
|
||||
'pet.builtInEmpty': 'Built-in pets are unavailable right now. Try refreshing the Community tab once the daemon is online.',
|
||||
'pet.tabCustom': 'Custom',
|
||||
'pet.tabCustomHint': 'Make your own with a name, glyph, color or sprite.',
|
||||
'pet.tabCommunity': 'Community',
|
||||
'pet.tabCommunityHint': 'Hatched pets from Codex — adopt one or generate a new one.',
|
||||
'pet.tabsAria': 'Pet source',
|
||||
'pet.adopt': 'Adopt',
|
||||
'pet.adoptedBadge': 'Adopted',
|
||||
'pet.adoptCallout': 'Adopt a pet',
|
||||
'pet.changePet': 'Change pet',
|
||||
'pet.wake': 'Wake',
|
||||
'pet.tuck': 'Tuck away',
|
||||
'pet.wakeTitle': 'Wake the pet — show the floating overlay.',
|
||||
'pet.tuckTitle': 'Tuck the pet away — hide the floating overlay.',
|
||||
'pet.settingsTitle': 'Open pet settings',
|
||||
'pet.useCustom': 'Use my pet',
|
||||
'pet.customTitle': 'Make your own',
|
||||
'pet.customHint': 'Pick a name, glyph and accent — the overlay updates live.',
|
||||
'pet.customGreetingPlaceholder': 'Say hi from your pet…',
|
||||
'pet.fieldName': 'Name',
|
||||
'pet.fieldGlyph': 'Glyph',
|
||||
'pet.fieldGlyphHint': 'A single emoji works best (e.g. 🐝, 🦄, 🐢).',
|
||||
'pet.fieldGreeting': 'Greeting',
|
||||
'pet.fieldAccent': 'Accent color',
|
||||
'pet.fieldAccentCustom': 'Custom color',
|
||||
'pet.overlayAria': 'Pet companion',
|
||||
'pet.spriteAria': '{name} — drag to move, click to chat',
|
||||
'pet.spriteTitle': 'Hi from {name}! Click to chat.',
|
||||
'pet.railAria': 'Pet picker',
|
||||
'pet.railTitle': 'Pets',
|
||||
'pet.railHint': 'Pick a companion to float over your workspace.',
|
||||
'pet.railExpand': 'Show pet picker',
|
||||
'pet.railCollapse': 'Collapse pet picker',
|
||||
'pet.railHide': 'Hide pet picker',
|
||||
'pet.railShow': 'Show pet picker',
|
||||
'pet.railCustomFlavor': 'Your own — name, glyph, color.',
|
||||
'pet.railCustomize': 'Customize…',
|
||||
'pet.composerTitle': 'Pets — wake, tuck, or pick one',
|
||||
'pet.composerMenuTitle': 'Pets',
|
||||
'pet.composerMenuHint': 'tip: type /pet to toggle',
|
||||
'pet.composerOpenSettings': 'Customize in Settings',
|
||||
'pet.welcomeTeaserTitle': 'Adopt a pet',
|
||||
'pet.welcomeTeaserBody': 'A tiny floating companion that hangs out with you.',
|
||||
'pet.welcomeTeaserCta': 'Pick one',
|
||||
'pet.imageUpload': 'Upload sprite',
|
||||
'pet.imageReplace': 'Replace sprite',
|
||||
'pet.imageRemove': 'Use emoji',
|
||||
'pet.imageHintIdle': 'PNG, JPG, WebP, GIF or SVG. Sheet upload? Drop a horizontal strip and set the frame count.',
|
||||
'pet.imageHintActive': 'Showing your sprite. Set frames > 1 to walk a horizontal spritesheet.',
|
||||
'pet.fieldFrames': 'Frames',
|
||||
'pet.fieldFramesHint': '1 = static. > 1 = horizontal spritesheet.',
|
||||
'pet.fieldFps': 'Speed (fps)',
|
||||
'pet.fieldFpsHint': 'How quickly the frames cycle.',
|
||||
'pet.atlasImport': 'Import Codex sprite',
|
||||
'pet.atlasImportTitle': 'Import a hatch-pet 8x9 / 192x208 atlas (PNG or WebP).',
|
||||
'pet.atlasPickerTitle': 'Pick an animation row',
|
||||
'pet.atlasPickerHint': 'Codex pets ship 9 animation rows. By default we keep the full atlas so the pet swaps rows on hover, drag, and idle. You can also freeze it to a single loop.',
|
||||
'pet.atlasCancel': 'Discard atlas',
|
||||
'pet.atlasAdopt': 'Freeze to this row',
|
||||
'pet.atlasAdoptFull': 'Use full atlas (animated)',
|
||||
'pet.atlasAdoptFullTitle': 'Keep every row so the pet reacts to hover, drag direction, and long idles.',
|
||||
'pet.atlasAdoptRowTitle': 'Slice just the highlighted row into a single looping strip.',
|
||||
'pet.atlasActiveHint': 'Animated atlas active — the pet picks a row from your interaction (hover, drag, idle).',
|
||||
'pet.atlasRow.idle': 'Idle',
|
||||
'pet.atlasRow.running-right': 'Run right',
|
||||
'pet.atlasRow.running-left': 'Run left',
|
||||
'pet.atlasRow.waving': 'Waving',
|
||||
'pet.atlasRow.jumping': 'Jumping',
|
||||
'pet.atlasRow.failed': 'Failed',
|
||||
'pet.atlasRow.waiting': 'Waiting',
|
||||
'pet.atlasRow.running': 'Running',
|
||||
'pet.atlasRow.review': 'Review',
|
||||
'pet.hatchTitle': 'Hatch a new pet with AI',
|
||||
'pet.hatchHint': 'Use the bundled hatch-pet skill in chat to generate a Codex-style spritesheet, then import it here.',
|
||||
'pet.hatchConcept': 'Pet concept (optional)',
|
||||
'pet.hatchConceptPlaceholder': 'e.g. a tiny pixel-art shiba in a cozy sweater',
|
||||
'pet.hatchCopy': 'Copy prompt',
|
||||
'pet.hatchCopied': 'Copied!',
|
||||
'pet.hatchFoot': 'After the skill saves your pet, come back and pick "Import Codex sprite".',
|
||||
'pet.slashPopoverAria': 'Slash commands',
|
||||
'pet.slashPopoverTitle': 'Commands',
|
||||
'pet.slashPopoverHint': '↑↓ navigate · enter to pick · esc to dismiss',
|
||||
'pet.slashPet': 'Toggle, adopt, or jump to pet settings.',
|
||||
'pet.slashPetWake': 'Wake the floating pet overlay.',
|
||||
'pet.slashPetTuck': 'Tuck the pet away for now.',
|
||||
'pet.slashHatch': 'Generate a Codex pet via the hatch-pet skill.',
|
||||
'pet.slashHatchArg': '<concept>',
|
||||
'pet.codexTitle': 'Recently hatched',
|
||||
'pet.codexSubtitle': 'Pets packaged by the hatch-pet skill show up here for one-click adoption.',
|
||||
'pet.codexSubtitleWithDir': 'Scanning {dir} for pets packaged by the hatch-pet skill.',
|
||||
'pet.codexEmpty': 'No hatched pets yet. Type /hatch in chat to generate one.',
|
||||
'pet.codexLoading': 'Looking for hatched pets…',
|
||||
'pet.codexRefresh': 'Refresh',
|
||||
'pet.codexAdopt': 'Adopt',
|
||||
'pet.codexAdopting': 'Adopting…',
|
||||
'pet.communitySync': 'Download community pets',
|
||||
'pet.communitySyncing': 'Downloading…',
|
||||
'pet.communitySyncTitle': 'Sync the latest pets from Codex Pet Share + j20 Hatchery into ~/.codex/pets/.',
|
||||
'pet.communitySyncDone': 'Synced {wrote} new pets ({total} total).',
|
||||
'pet.communitySyncFailed': 'Sync failed: {error}',
|
||||
'pet.codexBundled': 'Bundled',
|
||||
'pet.codexBundledTitle': 'Ships with Open Design — no download needed.',
|
||||
|
||||
'settings.notifications': 'Notifications',
|
||||
'settings.notificationsHint': 'Sound and desktop notification on task completion',
|
||||
'settings.notifyCompletionSound': 'Completion sound',
|
||||
'settings.notifyCompletionSoundHint': 'Plays when a turn finishes. Off by default.',
|
||||
'settings.notifySuccessSound': 'Success sound',
|
||||
'settings.notifyFailureSound': 'Failure sound',
|
||||
'settings.notifyDesktop': 'Desktop notification',
|
||||
'settings.notifyDesktopHint': 'Sent when the window is not focused.',
|
||||
'settings.notifyDesktopBlocked': 'Notifications blocked by the browser. Allow them in site settings.',
|
||||
'settings.notifyDesktopUnsupported': 'Desktop notifications unavailable in this environment.',
|
||||
'settings.notifyTest': 'Send test',
|
||||
'settings.notifyTestSent': 'Test notification sent. If no banner appears, check browser and system notification settings.',
|
||||
'settings.notifyTestFailed': 'Notification call failed. Check browser and system notification settings.',
|
||||
'settings.notifySoundDing': 'Ding',
|
||||
'settings.notifySoundChime': 'Chime',
|
||||
'settings.notifySoundTwoToneUp': 'Two-tone up',
|
||||
'settings.notifySoundPluck': 'Pluck',
|
||||
'settings.notifySoundBuzz': 'Buzz',
|
||||
'settings.notifySoundTwoToneDown': 'Two-tone down',
|
||||
'settings.notifySoundThud': 'Thud',
|
||||
'notify.successTitle': 'Task completed',
|
||||
'notify.failureTitle': 'Task failed',
|
||||
'notify.successBody': 'A turn has finished.',
|
||||
'notify.failureBody': 'The task ended with an error.',
|
||||
};
|
||||
@@ -0,0 +1,831 @@
|
||||
import type { Dict } from '../types';
|
||||
|
||||
export const esES: Dict = {
|
||||
'common.cancel': 'Cancelar',
|
||||
'common.save': 'Guardar',
|
||||
'common.close': 'Cerrar',
|
||||
'common.delete': 'Eliminar',
|
||||
'common.rename': 'Renombrar',
|
||||
'common.preview': 'Vista previa',
|
||||
'common.share': 'Compartir',
|
||||
'common.search': 'Buscar',
|
||||
'common.searchEllipsis': 'Buscar…',
|
||||
'common.loading': 'Cargando…',
|
||||
'common.all': 'Todos',
|
||||
'common.none': 'Ninguno',
|
||||
'common.default': 'Predeterminado',
|
||||
'common.installed': 'instalado',
|
||||
'common.notInstalled': 'no instalado',
|
||||
'common.active': 'activo',
|
||||
'common.offline': 'sin conexión',
|
||||
'common.selected': 'seleccionado',
|
||||
'common.create': 'Crear',
|
||||
'common.openPreview': 'Abrir vista previa',
|
||||
'common.exitFullscreen': 'Salir de pantalla completa',
|
||||
'common.fullscreen': 'Pantalla completa',
|
||||
'common.openInNewTab': 'Abrir en pestaña nueva',
|
||||
'common.exportPdf': 'Exportar como PDF',
|
||||
'common.exportZip': 'Descargar como .zip',
|
||||
'common.exportHtml': 'Exportar como HTML independiente',
|
||||
'common.justNow': 'justo ahora',
|
||||
'common.minutesAgo': 'hace {n} min',
|
||||
'common.hoursAgo': 'hace {n} h',
|
||||
'common.daysAgo': 'hace {n} d',
|
||||
'common.now': 'ahora',
|
||||
'common.minutesShort': '{n} min',
|
||||
'common.hoursShort': '{n} h',
|
||||
'common.daysShort': '{n} d',
|
||||
'common.untitled': 'Sin título',
|
||||
|
||||
'app.brand': 'Open Design',
|
||||
'app.brandPill': 'Vista previa de investigación',
|
||||
'app.brandSubtitle': 'por Nexu Labs',
|
||||
'app.welcomeLoading': 'Cargando espacio de trabajo…',
|
||||
|
||||
'settings.welcomeKicker': 'Bienvenido',
|
||||
'settings.welcomeTitle': 'Configura Open Design',
|
||||
'settings.welcomeSubtitle':
|
||||
'Elige cómo quieres ejecutar las generaciones. Puedes cambiarlo en cualquier momento desde el botón Ajustes en la barra superior.',
|
||||
'settings.kicker': 'Ajustes',
|
||||
'settings.title': 'Ejecución y modelo',
|
||||
'settings.subtitle': 'Elige entre CLI local y BYOK. Tu clave de API se guarda solo en este navegador.',
|
||||
'settings.modeAria': 'Modo de ejecución',
|
||||
'settings.protocolAria': 'Protocolo de API',
|
||||
'settings.modeDaemon': 'CLI local',
|
||||
'settings.modeDaemonHelp': 'Ejecuta a través de una CLI de agente de código en tu máquina',
|
||||
'settings.modeDaemonOffline': 'El daemon no está en ejecución',
|
||||
'settings.modeDaemonOfflineMeta': 'daemon sin conexión',
|
||||
'settings.modeDaemonInstalledMeta': '{count} instalados',
|
||||
'settings.modeApi': 'Proveedor de API',
|
||||
'settings.modeApiMeta': 'BYOK',
|
||||
'settings.codeAgent': 'Agente de código',
|
||||
'settings.codeAgentHint':
|
||||
'Detectado al escanear tu PATH. Elige la CLI por la que quieres que pasen las generaciones.',
|
||||
'settings.rescan': '↻ Reescanear',
|
||||
'settings.rescanTitle': 'Reescanear PATH',
|
||||
'settings.rescanRunning': 'Escaneando...',
|
||||
'settings.rescanSuccess': 'Escaneo completado. {count} disponibles.',
|
||||
'settings.rescanFailed': 'El escaneo falló. Comprueba el daemon e inténtalo de nuevo.',
|
||||
'settings.noAgentsDetected':
|
||||
'Aún no se ha detectado ningún agente. Instala Claude Code, Codex, Devin for Terminal, Gemini CLI, OpenCode, Cursor Agent, Qwen o GitHub Copilot CLI y pulsa Reescanear.',
|
||||
'settings.apiSection': 'API de Anthropic',
|
||||
'settings.quickFillProvider': 'Rellenar proveedor',
|
||||
'settings.customProvider': 'Proveedor personalizado',
|
||||
'settings.apiKey': 'Clave de API',
|
||||
'settings.showKey': 'Mostrar clave',
|
||||
'settings.hideKey': 'Ocultar clave',
|
||||
'settings.show': 'Mostrar',
|
||||
'settings.hide': 'Ocultar',
|
||||
'settings.model': 'Modelo',
|
||||
'settings.suggestedModelsHint':
|
||||
'Estos son modelos sugeridos para este protocolo. Tu proveedor puede admitir modelos diferentes.',
|
||||
'settings.baseUrl': 'URL base',
|
||||
'settings.baseUrlInvalid': 'Introduce una URL pública http:// o https:// válida. Localhost está permitido; las IPs de red privada se bloquean.',
|
||||
'settings.azureDeploymentModel': 'Nombre del despliegue',
|
||||
'settings.azureDeploymentModelHint':
|
||||
'Para Azure OpenAI, este campo se usa como nombre del despliegue en /openai/deployments/<model>. Introduce el nombre del despliegue que creaste en Azure.',
|
||||
'settings.apiVersion': 'Versión de API',
|
||||
'settings.maxTokens': 'Tokens máx. (opcional)',
|
||||
'settings.maxTokensHint':
|
||||
'Tope para la longitud de la respuesta. Cada modelo tiene un valor por defecto ajustado (visible en el placeholder); déjalo vacío para usarlo o introduce un número para anularlo.',
|
||||
'settings.apiHint': 'Las llamadas pasan por el proxy del daemon local hasta la URL base configurada. La clave se guarda solo en este navegador y se envía con las solicitudes al proveedor.',
|
||||
'settings.skipForNow': 'Omitir por ahora',
|
||||
'settings.getStarted': 'Empezar',
|
||||
'settings.envConfigure': 'Configurar el modo de ejecución',
|
||||
'settings.localCli': 'CLI local',
|
||||
'settings.anthropicApi': 'API de Anthropic',
|
||||
'settings.noAgentSelected': 'ningún agente seleccionado',
|
||||
'settings.language': 'Idioma',
|
||||
'settings.languageHint': 'Cambia el idioma de la interfaz. Se guarda en este navegador.',
|
||||
'settings.appearance': 'Apariencia',
|
||||
'settings.appearanceHint': 'Elige claro, oscuro o seguir la configuración del sistema.',
|
||||
'settings.themeSystem': 'Sistema',
|
||||
'settings.themeLight': 'Claro',
|
||||
'settings.themeDark': 'Oscuro',
|
||||
'settings.modelPicker': 'Modelo',
|
||||
'settings.reasoningPicker': 'Esfuerzo de razonamiento',
|
||||
'settings.modelPickerHint':
|
||||
'Se obtiene de la CLI cuando expone un comando `models`. «Predeterminado» deja la elección a la propia configuración de la CLI; «Personalizado…» permite escribir cualquier id de modelo aceptado por la CLI.',
|
||||
'settings.modelCustom': 'Personalizado (escribe abajo)…',
|
||||
'settings.modelCustomLabel': 'Id de modelo personalizado',
|
||||
'settings.modelCustomPlaceholder': 'p. ej., anthropic/claude-sonnet-4-6',
|
||||
'settings.mediaProviders': 'Proveedores de medios',
|
||||
'settings.mediaProvidersHint':
|
||||
'Claves de API para generación de imagen, vídeo y audio. Se guardan localmente y se sincronizan con el daemon local.',
|
||||
'settings.mediaProviderApiKey': 'Clave de API',
|
||||
'settings.mediaProviderBaseUrl': 'URL base',
|
||||
'settings.mediaProviderConfigured': 'Configurado',
|
||||
'settings.mediaProviderUnset': 'Sin configurar',
|
||||
'settings.mediaProviderClear': 'Limpiar',
|
||||
'settings.mediaProviderPlaceholder': 'Pega la clave de API',
|
||||
'settings.mediaProviderBaseUrlPlaceholder': 'Sobrescribir URL base por defecto',
|
||||
'settings.about': 'Acerca de',
|
||||
'settings.aboutHint': 'Versión y detalles de ejecución',
|
||||
'settings.appVersion': 'Versión',
|
||||
'settings.appChannel': 'Canal',
|
||||
'settings.appRuntime': 'Ejecución',
|
||||
'settings.appPlatform': 'Plataforma',
|
||||
'settings.appArchitecture': 'Arquitectura',
|
||||
'settings.runtimePackaged': 'App empaquetada',
|
||||
'settings.runtimeDevelopment': 'Desarrollo',
|
||||
'settings.versionUnavailable': 'Los detalles de versión no están disponibles mientras el daemon está offline.',
|
||||
|
||||
'entry.tabDesigns': 'Diseños',
|
||||
'entry.tabExamples': 'Ejemplos',
|
||||
'entry.tabDesignSystems': 'Sistemas de diseño',
|
||||
'entry.openSettingsTitle': 'Ajustes',
|
||||
'entry.openSettingsAria': 'Abrir ajustes',
|
||||
'entry.resizeAria': 'Redimensionar barra lateral',
|
||||
'entry.loadingWorkspace': 'Cargando espacio de trabajo…',
|
||||
'entry.tabImageTemplates': 'Plantillas de imagen',
|
||||
'entry.tabVideoTemplates': 'Plantillas de vídeo',
|
||||
'promptTemplates.searchPlaceholder': 'Buscar plantillas…',
|
||||
'promptTemplates.countLabel': '{n} resultados',
|
||||
'promptTemplates.emptyImage': 'Aún no hay plantillas de prompt de imagen instaladas.',
|
||||
'promptTemplates.emptyVideo': 'Aún no hay plantillas de prompt de vídeo instaladas.',
|
||||
'promptTemplates.emptyNoMatch': 'Ninguna plantilla coincide con tu búsqueda.',
|
||||
'promptTemplates.attributionFooter':
|
||||
'Adaptadas de bibliotecas públicas de prompts. Cada tarjeta enlaza al autor original.',
|
||||
'promptTemplates.openPreviewTitle': 'Abrir prompt y vista previa',
|
||||
'promptTemplates.sourcePrefix': 'Fuente:',
|
||||
'promptTemplates.fetchError': 'No se pudo cargar el cuerpo de esta plantilla.',
|
||||
'promptTemplates.promptLabel': 'Cuerpo del prompt',
|
||||
'promptTemplates.copyPrompt': 'Copiar prompt',
|
||||
'promptTemplates.copyDone': '¡Copiado!',
|
||||
'promptTemplates.modelHint': 'Modelo sugerido: {model}',
|
||||
'promptTemplates.openSource': 'Ver original',
|
||||
'promptTemplates.openFullscreen': 'Abrir vista previa en pantalla completa',
|
||||
'promptTemplates.closeFullscreen': 'Cerrar vista previa en pantalla completa',
|
||||
'promptTemplates.retry': 'Reintentar',
|
||||
|
||||
'newproj.tabPrototype': 'Prototipo',
|
||||
'newproj.tabDeck': 'Presentación',
|
||||
'newproj.tabTemplate': 'Desde plantilla',
|
||||
'newproj.tabOther': 'Otro',
|
||||
'newproj.titlePrototype': 'Nuevo prototipo',
|
||||
'newproj.titleDeck': 'Nueva presentación',
|
||||
'newproj.titleTemplate': 'Empezar desde una plantilla',
|
||||
'newproj.titleImage': 'Nueva imagen',
|
||||
'newproj.titleVideo': 'Nuevo vídeo',
|
||||
'newproj.titleAudio': 'Nuevo audio',
|
||||
'newproj.titleOther': 'Nuevo proyecto',
|
||||
'newproj.namePlaceholder': 'Nombre del proyecto',
|
||||
'newproj.fidelityLabel': 'Fidelidad',
|
||||
'newproj.fidelityWireframe': 'Wireframe',
|
||||
'newproj.fidelityHigh': 'Alta fidelidad',
|
||||
'newproj.toggleSpeakerNotes': 'Usar notas del orador',
|
||||
'newproj.toggleSpeakerNotesHint': 'Menos texto en las diapositivas: deja los puntos clave en las notas.',
|
||||
'newproj.toggleAnimations': 'Incluir animaciones',
|
||||
'newproj.toggleAnimationsHint':
|
||||
'Añade movimiento (entrada, hover, transiciones) sobre la plantilla.',
|
||||
'newproj.templateLabel': 'Plantilla',
|
||||
'newproj.noTemplatesTitle': 'Aún no hay plantillas',
|
||||
'newproj.noTemplatesBody':
|
||||
'Abre cualquier proyecto y usa el menú Compartir dentro del visor de archivos para convertirlo en plantilla. Las plantillas aparecerán aquí.',
|
||||
'newproj.savedTemplate': 'Plantilla guardada',
|
||||
'newproj.fileSingular': 'archivo',
|
||||
'newproj.filePlural': 'archivos',
|
||||
'newproj.create': 'Crear',
|
||||
'newproj.createFromTemplate': 'Crear desde plantilla',
|
||||
'newproj.createDisabledTitle':
|
||||
'Guarda primero un proyecto como plantilla (menú Compartir dentro de cualquier proyecto).',
|
||||
'newproj.importClaudeZip': 'Importar ZIP de Claude Design',
|
||||
'newproj.importClaudeZipTitle': 'Importar una exportación .zip de Claude Design',
|
||||
'newproj.importingClaudeZip': 'Importando…',
|
||||
'newproj.privacyFooter': 'Por defecto, solo tú puedes ver tu proyecto.',
|
||||
'newproj.designSystem': 'Sistema de diseño',
|
||||
'newproj.dsNoneFreeform': 'Ninguno: estilo libre',
|
||||
'newproj.dsNoneSubtitleEmpty': 'Sin tokens de sistema, elige tu propia paleta',
|
||||
'newproj.dsNoneSubtitleSelected': 'Omitir tokens de sistema. El agente elige su propia paleta.',
|
||||
'newproj.dsCategoryFallback': 'Sistema de diseño',
|
||||
'newproj.dsSearch': 'Buscar sistemas de diseño…',
|
||||
'newproj.dsModeAria': 'Modo de selección',
|
||||
'newproj.dsModeSingle': 'Único',
|
||||
'newproj.dsModeMulti': 'Múltiple',
|
||||
'newproj.dsNoneTitle': 'Ninguno: estilo libre',
|
||||
'newproj.dsNoneSub': 'Omitir tokens de sistema. El agente elige su propia paleta.',
|
||||
'newproj.dsEmpty': 'Ningún sistema de diseño coincide con «{query}».',
|
||||
'newproj.dsFootSingular': 'es solo inspiración.',
|
||||
'newproj.dsFootPlural': 'son solo inspiración.',
|
||||
'newproj.dsFootClear': 'Limpiar',
|
||||
'newproj.dsBadgeDefault': 'PREDETERMINADO',
|
||||
'newproj.dsPrimaryFallback': 'Principal',
|
||||
'newproj.surfaceImage': 'Imagen',
|
||||
'newproj.surfaceVideo': 'Vídeo',
|
||||
'newproj.surfaceAudio': 'Audio',
|
||||
'newproj.modelLabel': 'Modelo',
|
||||
'newproj.aspectLabel': 'Proporción',
|
||||
'newproj.imageStyleLabel': 'Notas de estilo',
|
||||
'newproj.imageStylePlaceholder': 'Foto editorial, luz suave de día, paleta apagada',
|
||||
'newproj.videoLengthLabel': 'Duración',
|
||||
'newproj.videoLengthSeconds': '{n} s',
|
||||
'newproj.audioKindLabel': 'Tipo de audio',
|
||||
'newproj.audioKindMusic': 'Música',
|
||||
'newproj.audioKindSpeech': 'Voz / TTS',
|
||||
'newproj.audioKindSfx': 'Efecto de sonido',
|
||||
'newproj.audioDurationLabel': 'Duración',
|
||||
'newproj.audioDurationSeconds': '{n} s',
|
||||
'newproj.voiceLabel': 'Voz',
|
||||
'newproj.voicePlaceholder': 'Id de voz del proveedor, opcional',
|
||||
'newproj.promptTemplateLabel': 'Plantilla de referencia',
|
||||
'newproj.promptTemplateNoneTitle': 'Ninguna — escribe la tuya',
|
||||
'newproj.promptTemplateNoneSub': 'Sáltate la galería y describe tu propio briefing',
|
||||
'newproj.promptTemplateRefSub': 'Plantilla de referencia',
|
||||
'newproj.promptTemplateSearch': 'Buscar plantillas…',
|
||||
'newproj.promptTemplateEmpty': 'Aún no hay plantillas para este formato.',
|
||||
'newproj.promptTemplateBodyLabel': 'Prompt (editable)',
|
||||
'newproj.promptTemplateOptimizeHint':
|
||||
'Edita lo que quieras — tus cambios se incorporan al briefing del agente.',
|
||||
'newproj.promptTemplateBodyEmpty':
|
||||
'Cuerpo vacío — el agente no recibirá ninguna referencia de plantilla.',
|
||||
|
||||
'designs.subRecent': 'Recientes',
|
||||
'designs.subYours': 'Tus diseños',
|
||||
'designs.filterAria': 'Filtrar proyectos',
|
||||
'designs.searchPlaceholder': 'Buscar…',
|
||||
'designs.emptyNoProjects': 'Aún no hay proyectos. Crea uno a la izquierda.',
|
||||
'designs.emptyNoMatch': 'Ningún proyecto coincide con tu búsqueda.',
|
||||
'designs.deleteTitle': 'Eliminar proyecto',
|
||||
'designs.deleteConfirm': '¿Eliminar «{name}»?',
|
||||
'designs.cardFreeform': 'estilo libre',
|
||||
'designs.status.notStarted': 'Sin empezar',
|
||||
'designs.status.queued': 'En cola',
|
||||
'designs.status.running': 'En ejecución',
|
||||
'designs.status.awaitingInput': 'Necesita respuesta',
|
||||
'designs.status.succeeded': 'Completado',
|
||||
'designs.status.failed': 'Fallido',
|
||||
'designs.status.canceled': 'Cancelado',
|
||||
'designs.viewToggleAria': 'Modo de vista',
|
||||
'designs.viewGrid': 'Vista en cuadrícula',
|
||||
'designs.viewKanban': 'Vista en tablero',
|
||||
'designs.kanbanEmptyColumn': 'Sin diseños',
|
||||
'designs.deleteAria': 'Eliminar proyecto {name}',
|
||||
|
||||
'examples.typeLabel': 'Tipo',
|
||||
'examples.surfaceLabel': 'Superficie',
|
||||
'examples.surfaceWeb': 'Web',
|
||||
'examples.surfaceImage': 'Imagen',
|
||||
'examples.surfaceVideo': 'Vídeo',
|
||||
'examples.surfaceAudio': 'Audio',
|
||||
'examples.scenarioLabel': 'Escenario',
|
||||
'examples.modeAll': 'Todos',
|
||||
'examples.modePrototypeDesktop': 'Prototipos · Escritorio',
|
||||
'examples.modePrototypeMobile': 'Prototipos · Móvil',
|
||||
'examples.modeDeck': 'Diapositivas',
|
||||
'examples.modeDocument': 'Documentos y plantillas',
|
||||
'examples.scenarioGeneral': 'General',
|
||||
'examples.scenarioEngineering': 'Ingeniería',
|
||||
'examples.scenarioProduct': 'Producto',
|
||||
'examples.scenarioDesign': 'Diseño',
|
||||
'examples.scenarioMarketing': 'Marketing',
|
||||
'examples.scenarioSales': 'Ventas',
|
||||
'examples.scenarioFinance': 'Finanzas',
|
||||
'examples.scenarioHr': 'RR. HH.',
|
||||
'examples.scenarioOperations': 'Operaciones',
|
||||
'examples.scenarioSupport': 'Soporte',
|
||||
'examples.scenarioLegal': 'Legal',
|
||||
'examples.scenarioEducation': 'Educación',
|
||||
'examples.scenarioPersonal': 'Personal',
|
||||
'examples.emptyNoSkills': 'No hay skills disponibles. ¿Está el daemon en ejecución?',
|
||||
'examples.searchPlaceholder': 'Buscar ejemplos…',
|
||||
'examples.searchAria': 'Buscar ejemplos por nombre',
|
||||
'examples.emptyNoMatch': 'Ningún ejemplo coincide con estos filtros.',
|
||||
'examples.openPreview': '⤢ Abrir vista previa',
|
||||
'examples.loadingPreview': 'Cargando vista previa…',
|
||||
'examples.hoverPreview': 'Pasa el cursor para ver la vista previa',
|
||||
'examples.usePrompt': 'Usar este prompt',
|
||||
'examples.previewModalTitle': 'Abrir vista previa completa (modal)',
|
||||
'examples.shareTitle': 'Compartir este ejemplo',
|
||||
'examples.shareLoadFirst': 'Pasa el cursor para cargar primero la vista previa',
|
||||
'examples.shareMenu': 'Compartir ▾',
|
||||
'examples.exportPdfAllSlides': 'Exportar como PDF (todas las diapositivas)',
|
||||
'examples.exportPptxLocked': 'Exportar como PPTX… (abre primero la plantilla)',
|
||||
'examples.tagSlideDeck': 'Presentación',
|
||||
'examples.tagTemplate': 'Plantilla',
|
||||
'examples.tagDesignSystem': 'Sistema de diseño',
|
||||
'examples.tagMobilePrototype': 'Prototipo móvil',
|
||||
'examples.tagDesktopPrototype': 'Prototipo de escritorio',
|
||||
'examples.tagImage': 'Imagen',
|
||||
'examples.tagVideo': 'Vídeo',
|
||||
'examples.tagAudio': 'Audio',
|
||||
'examples.previewLabel': 'Vista previa',
|
||||
|
||||
'ds.surfaceLabel': 'Superficie',
|
||||
'ds.surfaceWeb': 'Web',
|
||||
'ds.surfaceImage': 'Imagen',
|
||||
'ds.surfaceVideo': 'Vídeo',
|
||||
'ds.surfaceAudio': 'Audio',
|
||||
'ds.searchPlaceholder': 'Buscar sistemas de diseño…',
|
||||
'ds.emptyNoMatch': 'Ningún sistema de diseño coincide con tu búsqueda.',
|
||||
'ds.badgeDefault': 'PREDETERMINADO',
|
||||
'ds.preview': 'Vista previa',
|
||||
'ds.previewTitle': 'Vista previa del sistema de diseño',
|
||||
'ds.categoryAll': 'Todos',
|
||||
'ds.categoryUncategorized': 'Sin categoría',
|
||||
'ds.showcase': 'Vitrina',
|
||||
'ds.tokens': 'Tokens',
|
||||
'ds.specToggle': 'DESIGN.md',
|
||||
'ds.specLoading': 'Cargando DESIGN.md…',
|
||||
|
||||
'avatar.title': 'Cuenta y ajustes',
|
||||
'avatar.localCli': 'CLI local',
|
||||
'avatar.anthropicApi': 'API de Anthropic',
|
||||
'avatar.useLocal': 'Usar CLI local',
|
||||
'avatar.useApi': 'Usar API · BYOK',
|
||||
'avatar.codeAgent': 'Agente de código',
|
||||
'avatar.rescan': 'Reescanear PATH',
|
||||
'avatar.settings': 'Ajustes',
|
||||
'avatar.backToProjects': 'Volver a los proyectos',
|
||||
'avatar.metaActive': 'activo',
|
||||
'avatar.metaOffline': 'sin conexión',
|
||||
'avatar.metaSelected': 'seleccionado',
|
||||
'avatar.noAgentSelected': 'ningún agente seleccionado',
|
||||
'avatar.modelSection': 'Modelo',
|
||||
'avatar.modelLabel': 'Modelo',
|
||||
'avatar.reasoningLabel': 'Razonamiento',
|
||||
'avatar.customSuffix': '(personalizado)',
|
||||
|
||||
'project.backToProjects': 'Volver a los proyectos',
|
||||
'project.metaFreeform': 'estilo libre',
|
||||
'chat.tabChat': 'Chat',
|
||||
'chat.tabComments': 'Comentarios',
|
||||
'chat.commentsSoon': 'Comentarios — próximamente',
|
||||
'chat.comments.attached': 'Attached to chat',
|
||||
'chat.comments.emptyAttached': 'No comments attached.',
|
||||
'chat.comments.saved': 'Saved comments',
|
||||
'chat.comments.emptySaved': 'No saved comments.',
|
||||
'chat.comments.add': 'Add',
|
||||
'chat.comments.addAll': 'Add all',
|
||||
'chat.comments.remove': 'Remove',
|
||||
'chat.comments.placeholder': 'Comment on this element…',
|
||||
'chat.comments.addSend': 'Add & send',
|
||||
'chat.comments.updateSend': 'Update & send',
|
||||
'chat.comments.removeAttachment': 'Remove comment attachment',
|
||||
'chat.comments.removeAttachmentAria': 'Remove comment attachment for {name}',
|
||||
'chat.conversationsTitle': 'Conversaciones',
|
||||
'chat.conversationsAria': 'Historial de conversaciones',
|
||||
'chat.newConversation': 'Nueva conversación',
|
||||
'chat.newConversationsTitle': 'Nueva conversación',
|
||||
'chat.conversationsHeading': 'Conversaciones',
|
||||
'chat.new': 'Nueva',
|
||||
'chat.emptyConversations': 'Aún no hay conversaciones.',
|
||||
'chat.deleteConversation': 'Eliminar conversación',
|
||||
'chat.deleteConversationConfirm':
|
||||
'¿Eliminar «{title}»? Se borrarán sus mensajes.',
|
||||
'chat.untitledConversation': 'Conversación sin título',
|
||||
'chat.startTitle': 'Empieza una conversación',
|
||||
'chat.startHint':
|
||||
'Suelta o pega imágenes como referencia visual, o escribe @ para adjuntar un archivo de este proyecto. O prueba uno de estos comienzos:',
|
||||
'chat.fillInputTitle': 'Haz clic para rellenar el campo',
|
||||
'chat.jumpToLatest': 'Ir al más reciente',
|
||||
'chat.scrollToLatest': 'Desplazar al más reciente',
|
||||
'chat.you': 'Tú',
|
||||
'chat.openFile': 'Abrir {name}',
|
||||
'chat.composerPlaceholder':
|
||||
'Describe el diseño que quieres: pega o suelta imágenes, o usa @ para referenciar un archivo…',
|
||||
'chat.composerHint':
|
||||
'⌘/Ctrl + Intro para enviar · pega imágenes · @ para referenciar archivos',
|
||||
'chat.cliSettingsTitle': 'Ajustes de CLI y modelo',
|
||||
'chat.cliSettingsAria': 'Abrir ajustes de CLI y modelo',
|
||||
'chat.attachTitle': 'Adjuntar archivos (o pegar / soltar)',
|
||||
'chat.attachAria': 'Adjuntar archivos',
|
||||
'chat.importTitle': 'Importar fuentes (próximamente)',
|
||||
'chat.importLabel': 'Importar',
|
||||
'chat.importComingSoon': 'Próximamente',
|
||||
'chat.importSoon': 'Pronto',
|
||||
'chat.importFig': 'Subir archivo .fig',
|
||||
'chat.importGitHub': 'Conectar GitHub',
|
||||
'chat.importWeb': 'Capturar elemento web',
|
||||
'chat.importFolder': 'Vincular carpeta de código',
|
||||
'chat.importSkills': 'Skills y sistemas de diseño',
|
||||
'chat.importProject': 'Referenciar otro proyecto',
|
||||
'chat.send': 'Enviar',
|
||||
'chat.stop': 'Detener',
|
||||
'chat.removeAria': 'Quitar {name}',
|
||||
'chat.example1Title': 'Pitch deck editorial',
|
||||
'chat.example1Tag': 'Revista',
|
||||
'chat.example1Prompt':
|
||||
'Una presentación editorial de 10 diapositivas para un estudio de diseño que levanta una ronda seed: maquetación con grid suizo, titulares serif enormes con capitulares marcadas, números de sección en monoespaciada, abundante espacio en blanco y diapositivas a sangre con foto intercaladas con otras densas en texto. Portada, visión, mercado, producto, tracción, equipo, petición y contacto.',
|
||||
'chat.example2Title': 'Dashboard de analítica SaaS',
|
||||
'chat.example2Tag': 'Datos',
|
||||
'chat.example2Prompt':
|
||||
'Un dashboard denso de analítica para un SaaS de herramientas para desarrolladores: tira de KPIs con variaciones semana a semana, dos gráficos de líneas apilados (MRR y workspaces activos), un mapa de calor mundial de uso, una rejilla de retención por cohortes, un ranking de clientes principales y un feed de eventos en tiempo real. Tema oscuro, números monoespaciados tabulares, acentos con sparklines.',
|
||||
'chat.example3Title': 'Memoria anual long-scroll',
|
||||
'chat.example3Tag': 'Editorial',
|
||||
'chat.example3Prompt':
|
||||
'Una memoria anual interactiva para una ONG climática: maquetación editorial long-scroll mezclando grandes bloques de citas, visualizaciones de datos (barras apiladas, contadores animados, un mapa coroplético de proyectos), separadores con fotografía, muro de donantes y llamada a la acción final. Cuerpo en serif moderna, etiquetas de gráficos en sans-serif, paleta terrosa de papel.',
|
||||
|
||||
'preview.shareMenu': 'Compartir ▾',
|
||||
'preview.openInNewTab': 'Abrir en pestaña nueva',
|
||||
'preview.exit': '⤓ Salir',
|
||||
'preview.fullscreen': '⤢ Pantalla completa',
|
||||
'preview.closeTitle': 'Cerrar (Esc)',
|
||||
'preview.loading': 'Cargando {label}…',
|
||||
'preview.showSidebar': 'Mostrar {label}',
|
||||
'preview.hideSidebar': 'Ocultar {label}',
|
||||
|
||||
'misc.savedTemplate': 'Plantilla guardada',
|
||||
'misc.primary': 'Principal',
|
||||
'misc.designSystem': 'Sistema de diseño',
|
||||
|
||||
'workspace.designFiles': 'Archivos de diseño',
|
||||
'workspace.closeTab': 'Cerrar pestaña',
|
||||
'workspace.deleteFileConfirm': '¿Eliminar «{name}» de la carpeta del proyecto?',
|
||||
'workspace.openFromDesignFiles': 'Abre un archivo desde',
|
||||
'workspace.designFilesLink': 'Archivos de diseño',
|
||||
'workspace.loadingSketch': 'Cargando boceto…',
|
||||
'designFiles.title': 'Archivos de diseño',
|
||||
'designFiles.upload': 'Subir archivos',
|
||||
'designFiles.pasteText': 'Pegar como archivo de texto',
|
||||
'designFiles.newSketch': 'Nuevo boceto',
|
||||
'designFiles.empty':
|
||||
'Aquí no hay nada todavía. Suelta archivos abajo, o crea un boceto / pega texto.',
|
||||
'designFiles.refresh': 'Actualizar',
|
||||
'designFiles.delete': 'Eliminar',
|
||||
'designFiles.searchPlaceholder': 'Buscar archivos…',
|
||||
'designFiles.up': 'Subir',
|
||||
'designFiles.back': 'Atrás',
|
||||
'designFiles.crumbs': 'proyecto',
|
||||
'designFiles.rowMenu': 'Menú de la fila',
|
||||
'designFiles.openInTab': 'Abrir en pestaña',
|
||||
'designFiles.download': 'Descargar',
|
||||
'designFiles.downloadSelected': 'Download {n} as ZIP',
|
||||
'designFiles.clearSelection': 'Clear',
|
||||
'designFiles.selectAll': 'Select all',
|
||||
'designFiles.dropTitle': '⤓ Suelta archivos aquí',
|
||||
'designFiles.dropDesc':
|
||||
'Imágenes, documentos, referencias o carpetas: el agente los usará como contexto.',
|
||||
'designFiles.upload.title': 'Subir archivos',
|
||||
'designFiles.paste.title': 'Pegar texto como archivo',
|
||||
'designFiles.upload.label': 'Subir',
|
||||
'designFiles.paste.label': 'Pegar',
|
||||
'designFiles.previewOpen': 'Abrir',
|
||||
'designFiles.previewClose': 'Cerrar vista previa',
|
||||
'designFiles.modified': 'Modificado {time} · {size}',
|
||||
'designFiles.weeksAgo': 'hace {n} sem',
|
||||
'designFiles.sectionPages': 'Páginas',
|
||||
'designFiles.sectionScripts': 'Scripts',
|
||||
'designFiles.sectionImages': 'Imágenes',
|
||||
'designFiles.sectionSketches': 'Bocetos',
|
||||
'designFiles.sectionOther': 'Otros',
|
||||
'designFiles.showMore': 'Mostrar +{n} más',
|
||||
'designFiles.kindHtml': 'Página HTML',
|
||||
'designFiles.kindImage': 'Imagen',
|
||||
'designFiles.kindSketch': 'Boceto',
|
||||
'designFiles.kindText': 'Texto',
|
||||
'designFiles.kindCode': 'Script',
|
||||
'designFiles.kindPdf': 'PDF',
|
||||
'designFiles.kindDocument': 'Documento',
|
||||
'designFiles.kindPresentation': 'Presentación',
|
||||
'designFiles.kindSpreadsheet': 'Hoja de cálculo',
|
||||
'designFiles.kindBinary': 'Binario',
|
||||
'pasteDialog.title': 'Pegar texto',
|
||||
'pasteDialog.hint': 'Se guarda en la carpeta del proyecto. Elige cualquier nombre.',
|
||||
'pasteDialog.fileNameLabel': 'Nombre del archivo',
|
||||
'pasteDialog.namePlaceholder': 'notas.txt',
|
||||
'pasteDialog.contentLabel': 'Contenido',
|
||||
'pasteDialog.contentPlaceholder': 'Pega lo que quieras…',
|
||||
'pasteDialog.save': 'Guardar',
|
||||
'pasteDialog.cancel': 'Cancelar',
|
||||
'sketch.save': 'Guardar boceto',
|
||||
'sketch.cancel': 'Cancelar',
|
||||
'sketch.saving': 'Guardando…',
|
||||
'sketch.tooltipDirty': 'Cambios sin guardar',
|
||||
'sketch.tooltipClean': 'Guardado',
|
||||
'fileViewer.empty': 'Selecciona un archivo para verlo.',
|
||||
'fileViewer.loading': 'Cargando…',
|
||||
'fileViewer.exportPptx': 'Exportar como PPTX',
|
||||
'fileViewer.openInNewTab': 'Abrir en pestaña nueva',
|
||||
'fileViewer.copyPath': 'Copiar ruta',
|
||||
'fileViewer.copied': '¡Copiado!',
|
||||
'fileViewer.share': 'Compartir',
|
||||
'fileViewer.binaryMeta': 'Binario · {size}',
|
||||
'fileViewer.binaryNote':
|
||||
'Archivo binario ({size} bytes). Descárgalo o ábrelo desde el disco para inspeccionarlo.',
|
||||
'fileViewer.pdfMeta': 'PDF · {size}',
|
||||
'fileViewer.documentMeta': 'Documento',
|
||||
'fileViewer.presentationMeta': 'Presentación',
|
||||
'fileViewer.spreadsheetMeta': 'Hoja de cálculo',
|
||||
'fileViewer.previewUnavailable': 'Vista previa no disponible. Descarga o abre el archivo para inspeccionarlo.',
|
||||
'fileViewer.download': 'Descargar',
|
||||
'fileViewer.open': 'Abrir',
|
||||
'fileViewer.imageMeta': 'Imagen · {size}',
|
||||
'fileViewer.reactMeta': 'Componente React · {size}',
|
||||
'fileViewer.sketchMeta': 'Boceto · {size}',
|
||||
'fileViewer.markdownStreamingMeta': 'Vista previa en streaming…',
|
||||
'fileViewer.markdownErrorMeta': 'La vista previa puede estar incompleta (error de generación).',
|
||||
'fileViewer.markdownStreamingStatus': 'Streaming… mostrando markdown parcial.',
|
||||
'fileViewer.markdownErrorStatus': 'Error de generación. Mostrando el último contenido disponible.',
|
||||
'fileViewer.videoMeta': 'Vídeo · {size}',
|
||||
'fileViewer.audioMeta': 'Audio · {size}',
|
||||
'fileViewer.reload': 'Recargar',
|
||||
'fileViewer.reloadDisk': 'Recargar desde el disco',
|
||||
'fileViewer.copy': 'Copiar',
|
||||
'fileViewer.copyTitle': 'Copiar el contenido del archivo',
|
||||
'fileViewer.saveDisabled': 'Guardar (visor de solo lectura)',
|
||||
'fileViewer.save': 'Guardar',
|
||||
'fileViewer.preview': 'Vista previa',
|
||||
'fileViewer.source': 'Código fuente',
|
||||
'fileViewer.tweaks': 'Ajustes',
|
||||
'fileViewer.comment': 'Comentar',
|
||||
'fileViewer.edit': 'Editar',
|
||||
'fileViewer.draw': 'Dibujar',
|
||||
'fileViewer.zoomOut': 'Reducir zoom',
|
||||
'fileViewer.zoomIn': 'Aumentar zoom',
|
||||
'fileViewer.resetZoom': 'Restablecer zoom',
|
||||
'fileViewer.reloadAria': 'Recargar',
|
||||
'fileViewer.previousSlide': 'Diapositiva anterior',
|
||||
'fileViewer.nextSlide': 'Diapositiva siguiente',
|
||||
'fileViewer.slideNavAria': 'Navegación de diapositivas',
|
||||
'fileViewer.present': 'Presentar',
|
||||
'fileViewer.presentInTab': 'En esta pestaña',
|
||||
'fileViewer.presentFullscreen': 'Pantalla completa',
|
||||
'fileViewer.presentNewTab': 'Pestaña nueva',
|
||||
'fileViewer.exitPresentation': 'Salir de la presentación',
|
||||
'fileViewer.shareLabel': 'Compartir',
|
||||
'fileViewer.exportPdf': 'Exportar como PDF',
|
||||
'fileViewer.exportPdfAllSlides': 'Exportar como PDF (todas las diapositivas)',
|
||||
'fileViewer.exportPptxBusy': 'Espera a que termine el turno actual.',
|
||||
'fileViewer.exportPptxHint':
|
||||
'Envía una solicitud al agente para convertir este diseño a PPTX.',
|
||||
'fileViewer.exportPptxNa': 'La exportación a PPTX no está disponible aquí.',
|
||||
'fileViewer.exportZip': 'Descargar como .zip',
|
||||
'fileViewer.exportHtml': 'Exportar como HTML independiente',
|
||||
'fileViewer.exportMd': 'Exportar como Markdown',
|
||||
'fileViewer.exportJsx': 'Exportar como JSX',
|
||||
'fileViewer.exportReactHtml': 'Exportar vista previa como HTML',
|
||||
'fileViewer.saveAsTemplate': 'Guardar como plantilla…',
|
||||
'fileViewer.savingTemplate': 'Guardando plantilla…',
|
||||
'fileViewer.savedTemplate': 'Guardado como «{name}»',
|
||||
'fileViewer.savedTemplateFail': 'No se pudo guardar la plantilla. Inténtalo de nuevo.',
|
||||
'fileViewer.templateNamePrompt': 'Nombre de la plantilla',
|
||||
'fileViewer.templateNameDefault': 'Plantilla sin título',
|
||||
'fileViewer.templateDescPrompt':
|
||||
'Descripción breve (opcional: ¿qué hace útil esta plantilla?)',
|
||||
'fileViewer.deployToVercel': 'Desplegar en Vercel',
|
||||
'fileViewer.redeployToVercel': 'Volver a desplegar',
|
||||
'fileViewer.deployingToVercel': 'Desplegando en Vercel…',
|
||||
'fileViewer.preparingPublicLink': 'Preparando enlace público…',
|
||||
'fileViewer.copyDeployLink': 'Copiar enlace',
|
||||
'fileViewer.deployModalTitle': 'Desplegar en Vercel',
|
||||
'fileViewer.deployModalSubtitle':
|
||||
'Despliega este artefacto HTML como Preview de Vercel usando tu propia cuenta.',
|
||||
'fileViewer.vercelToken': 'Token de Vercel',
|
||||
'fileViewer.vercelTokenGetLink': 'Obtener token de Vercel',
|
||||
'fileViewer.vercelTokenPlaceholder': 'Pega tu token de Vercel',
|
||||
'fileViewer.vercelTokenReuseHint':
|
||||
'Se usará el token guardado. Introduce uno nuevo para reemplazarlo.',
|
||||
'fileViewer.vercelTokenRequired': 'Introduce y guarda primero un token de Vercel.',
|
||||
'fileViewer.vercelTeamId': 'Team ID',
|
||||
'fileViewer.vercelTeamSlug': 'Team slug',
|
||||
'fileViewer.optional': 'Opcional',
|
||||
'fileViewer.vercelPreviewOnly': 'Por ahora los despliegues son solo Preview.',
|
||||
'fileViewer.savingConfig': 'Guardando…',
|
||||
'fileViewer.deployConfigSaveFailed': 'No se pudieron guardar los ajustes de Vercel.',
|
||||
'fileViewer.deployFailed': 'El despliegue falló. Revisa los ajustes de Vercel e inténtalo de nuevo.',
|
||||
'fileViewer.deployResultLabel': 'URL desplegada',
|
||||
'fileViewer.deployLinkPreparingLabel': 'Enlace público pendiente',
|
||||
'fileViewer.deployLinkDelayed':
|
||||
'Tu sitio está desplegado. Vercel todavía está preparando el enlace público.',
|
||||
'fileViewer.deployLinkProtectedLabel': 'Protección de Vercel activada',
|
||||
'fileViewer.deployLinkProtected':
|
||||
'Tu sitio se desplegó, pero Vercel exige autenticación para este enlace de preview. Desactiva Deployment Protection o usa un dominio personalizado.',
|
||||
'fileViewer.retryLink': 'Reintentar ahora',
|
||||
|
||||
'questionForm.submit': 'Enviar',
|
||||
'questionForm.skip': 'Omitir',
|
||||
'questionForm.locked': 'Respondido',
|
||||
|
||||
'conv.switch': 'Cambiar de conversación',
|
||||
'conv.label': 'Conversación',
|
||||
'conv.heading': 'Conversaciones',
|
||||
'conv.new': '+ Nueva',
|
||||
'conv.empty': 'Aún no hay conversaciones.',
|
||||
'conv.untitled': 'Conversación sin título',
|
||||
'conv.renameTooltip': 'Doble clic para renombrar',
|
||||
'conv.delete': 'Eliminar conversación',
|
||||
'conv.deleteConfirm': '¿Eliminar «{title}»? Se borrarán sus mensajes.',
|
||||
|
||||
'agentPicker.label': 'Agente',
|
||||
'agentPicker.modeChoose': 'Elige el modo de ejecución',
|
||||
'agentPicker.localCli': 'CLI local',
|
||||
'agentPicker.daemonOff': 'daemon apagado',
|
||||
'agentPicker.byok': 'API · BYOK',
|
||||
'agentPicker.selectAgent': 'Selecciona una CLI de agente de código detectada',
|
||||
'agentPicker.noAgents': 'no hay agentes en el PATH',
|
||||
'agentPicker.notInstalled': 'no instalado',
|
||||
'agentPicker.rescan': 'Reescanear el PATH local en busca de agentes',
|
||||
|
||||
'tool.openInTab': 'Abrir {name} en una pestaña',
|
||||
'tool.open': 'abrir',
|
||||
'tool.todos': 'Tareas',
|
||||
'tool.write': 'Escribir',
|
||||
'tool.edit': 'Editar',
|
||||
'tool.read': 'Leer',
|
||||
'tool.bash': 'Bash',
|
||||
'tool.glob': 'Glob',
|
||||
'tool.grep': 'Grep',
|
||||
'tool.fetch': 'Obtener',
|
||||
'tool.search': 'Buscar',
|
||||
'tool.lines': '{n} líneas',
|
||||
'tool.changeSingular': 'cambio',
|
||||
'tool.changePlural': 'cambios',
|
||||
'tool.in': 'en {path}',
|
||||
'tool.hide': 'ocultar',
|
||||
'tool.output': 'salida',
|
||||
'tool.running': 'ejecutando…',
|
||||
'tool.error': 'error',
|
||||
'tool.done': 'listo',
|
||||
|
||||
'assistant.role': 'Asistente',
|
||||
'assistant.workingLabel': 'Trabajando',
|
||||
'assistant.doneLabel': 'Listo',
|
||||
'assistant.unfinishedLabel': 'Detenido con tareas pendientes',
|
||||
'assistant.unfinishedSummary': 'quedan {n} tarea(s)',
|
||||
'assistant.unfinishedMore': '+{n} más',
|
||||
'assistant.continueRemaining': 'Continuar tareas pendientes',
|
||||
'assistant.outTokens': '{n} salida',
|
||||
'assistant.producedFiles': 'Archivos de este turno',
|
||||
'assistant.openFile': 'Abrir',
|
||||
'assistant.downloadFile': 'Descargar',
|
||||
'assistant.thinking': 'Pensando',
|
||||
'assistant.systemReminder': 'Recordatorio del sistema',
|
||||
'assistant.waitingFirstOutput': 'Esperando la primera salida',
|
||||
'assistant.statusBootingAgent': 'Iniciando agente',
|
||||
'assistant.statusStarting': 'Iniciando',
|
||||
'assistant.statusRequesting': 'Enviando solicitud',
|
||||
'assistant.statusThinking': 'Pensando',
|
||||
'assistant.statusStreaming': 'Transmitiendo',
|
||||
'assistant.slowHint':
|
||||
'Está tardando más de lo normal. El formulario suele aparecer en 5-10 s. Puedes pulsar Detener y reformular.',
|
||||
'assistant.verbEditing': 'Editando',
|
||||
'assistant.verbWriting': 'Escribiendo',
|
||||
'assistant.verbReading': 'Leyendo',
|
||||
'assistant.verbSearching': 'Buscando',
|
||||
'assistant.verbRunning': 'Ejecutando',
|
||||
'assistant.verbTodos': 'Tareas',
|
||||
'assistant.verbFetching': 'Obteniendo',
|
||||
'assistant.verbCalling': 'Llamando',
|
||||
|
||||
'qf.answered': 'respondido',
|
||||
'qf.choose': 'Elige…',
|
||||
'qf.required': 'obligatorio',
|
||||
'qf.lockedSubmitted':
|
||||
'Respuestas enviadas: el agente las usará durante el resto de la sesión.',
|
||||
'qf.lockedPrev': 'Este formulario es de un turno anterior.',
|
||||
'qf.hint':
|
||||
'Elige lo que encaje. Omite los campos opcionales que no te importen: el agente usará valores predeterminados sensatos.',
|
||||
'qf.submitDefault': 'Enviar respuestas',
|
||||
'qf.submitDisabledTitle': 'Rellena primero los campos obligatorios',
|
||||
'qf.submitTitle': 'Enviar respuestas',
|
||||
'qf.cardSelected': 'seleccionado',
|
||||
'qf.cardRefs': 'Refs:',
|
||||
'qf.cardSampleText': 'El veloz murciélago hindú · 0123',
|
||||
|
||||
'sketch.toolSelect': 'Seleccionar (sin acción)',
|
||||
'sketch.toolPen': 'Lápiz',
|
||||
'sketch.toolText': 'Texto',
|
||||
'sketch.toolRect': 'Rectángulo',
|
||||
'sketch.toolArrow': 'Flecha',
|
||||
'sketch.toolEraser': 'Borrador',
|
||||
'sketch.color': 'Color',
|
||||
'sketch.strokeSize': 'Grosor del trazo',
|
||||
'sketch.undo': 'Deshacer',
|
||||
'sketch.clear': 'Limpiar',
|
||||
'sketch.close': 'Cerrar',
|
||||
'sketch.textPrompt': 'Texto:',
|
||||
|
||||
'pet.title': 'Mascotas',
|
||||
'pet.tabBuiltIn': 'Integradas',
|
||||
'pet.tabBuiltInHint': 'Compañeros incluidos con Open Design — elige uno y adóptalo.',
|
||||
'pet.builtInEmpty': 'Las mascotas integradas no están disponibles ahora. Actualiza la pestaña Comunidad cuando el daemon vuelva a estar en línea.',
|
||||
'pet.tabCustom': 'Personalizada',
|
||||
'pet.tabCustomHint': 'Pon nombre, glifo, color o sube un sprite.',
|
||||
'pet.tabCommunity': 'Comunidad',
|
||||
'pet.tabCommunityHint': 'Mascotas eclosionadas de Codex — adopta o genera una con IA.',
|
||||
'pet.tabsAria': 'Fuente de la mascota',
|
||||
'pet.subtitle': 'Adopta una mascotita que flota sobre tu workspace.',
|
||||
'pet.navTitle': 'Mascotas',
|
||||
'pet.navHint': 'Adopta o personaliza',
|
||||
'pet.adopt': 'Adoptar',
|
||||
'pet.adoptedBadge': 'Adoptada',
|
||||
'pet.adoptCallout': 'Adopta una mascota',
|
||||
'pet.changePet': 'Cambiar mascota',
|
||||
'pet.wake': 'Despertar',
|
||||
'pet.tuck': 'Esconder',
|
||||
'pet.wakeTitle': 'Despertar la mascota — mostrar el overlay.',
|
||||
'pet.tuckTitle': 'Esconder la mascota — ocultar el overlay.',
|
||||
'pet.settingsTitle': 'Abrir ajustes de mascota',
|
||||
'pet.useCustom': 'Usar mi mascota',
|
||||
'pet.customTitle': 'Crea la tuya',
|
||||
'pet.customHint': 'Elige nombre, símbolo y color — el overlay se actualiza en vivo.',
|
||||
'pet.customGreetingPlaceholder': 'Saluda con tu mascota…',
|
||||
'pet.fieldName': 'Nombre',
|
||||
'pet.fieldGlyph': 'Símbolo',
|
||||
'pet.fieldGlyphHint': 'Un solo emoji va mejor (p. ej. 🐝, 🦄, 🐢).',
|
||||
'pet.fieldGreeting': 'Saludo',
|
||||
'pet.fieldAccent': 'Color de acento',
|
||||
'pet.fieldAccentCustom': 'Color personalizado',
|
||||
'pet.overlayAria': 'Compañero',
|
||||
'pet.spriteAria': '{name} — arrastra para mover, haz clic para conversar',
|
||||
'pet.spriteTitle': '¡Hola de {name}! Haz clic para conversar.',
|
||||
'pet.railAria': 'Selector de mascota',
|
||||
'pet.railTitle': 'Mascotas',
|
||||
'pet.railHint': 'Elige un compañero que flote sobre tu workspace.',
|
||||
'pet.railExpand': 'Mostrar selector',
|
||||
'pet.railCollapse': 'Plegar selector',
|
||||
'pet.railHide': 'Ocultar selector de mascotas',
|
||||
'pet.railShow': 'Mostrar selector de mascotas',
|
||||
'pet.railCustomFlavor': 'La tuya — nombre, símbolo y color.',
|
||||
'pet.railCustomize': 'Personalizar…',
|
||||
'pet.composerTitle': 'Mascotas — despertar, esconder o elegir',
|
||||
'pet.composerMenuTitle': 'Mascotas',
|
||||
'pet.composerMenuHint': 'tip: escribe /pet para alternar',
|
||||
'pet.composerOpenSettings': 'Personalizar en Ajustes',
|
||||
'pet.welcomeTeaserTitle': 'Adopta una mascota',
|
||||
'pet.welcomeTeaserBody': 'Un compañerito que flota sobre tu workspace.',
|
||||
'pet.welcomeTeaserCta': 'Elegir',
|
||||
'pet.imageUpload': 'Subir sprite',
|
||||
'pet.imageReplace': 'Reemplazar sprite',
|
||||
'pet.imageRemove': 'Usar emoji',
|
||||
'pet.imageHintIdle': 'PNG, JPG, WebP, GIF o SVG. ¿Spritesheet? Sube una tira horizontal y ajusta el número de frames.',
|
||||
'pet.imageHintActive': 'Mostrando tu sprite. Pon frames > 1 para animar un spritesheet horizontal.',
|
||||
'pet.fieldFrames': 'Frames',
|
||||
'pet.fieldFramesHint': '1 = estático. > 1 = spritesheet horizontal.',
|
||||
'pet.fieldFps': 'Velocidad (fps)',
|
||||
'pet.fieldFpsHint': 'Velocidad de cambio de frames.',
|
||||
'pet.atlasImport': 'Importar sprite de Codex',
|
||||
'pet.atlasImportTitle': 'Importa un atlas hatch-pet 8x9 / 192x208 (PNG o WebP).',
|
||||
'pet.atlasPickerTitle': 'Elige una fila de animación',
|
||||
'pet.atlasPickerHint': 'Las mascotas Codex traen 9 filas de animación. Por defecto mantenemos todo el atlas para que la mascota cambie de fila al pasar el ratón, según la dirección del arrastre o tras estar inactiva. También puedes fijar un solo bucle.',
|
||||
'pet.atlasCancel': 'Descartar atlas',
|
||||
'pet.atlasAdopt': 'Fijar a esta fila',
|
||||
'pet.atlasAdoptFull': 'Usar atlas completo (animado)',
|
||||
'pet.atlasAdoptFullTitle': 'Conserva todas las filas para que la mascota reaccione al hover, a la dirección del arrastre y a la inactividad larga.',
|
||||
'pet.atlasAdoptRowTitle': 'Recorta solo la fila resaltada en una tira con bucle único.',
|
||||
'pet.atlasActiveHint': 'Atlas animado activo — la mascota elige una fila según tu interacción (hover, arrastre, inactividad).',
|
||||
'pet.atlasRow.idle': 'Idle',
|
||||
'pet.atlasRow.running-right': 'Corre a la derecha',
|
||||
'pet.atlasRow.running-left': 'Corre a la izquierda',
|
||||
'pet.atlasRow.waving': 'Saludo',
|
||||
'pet.atlasRow.jumping': 'Salto',
|
||||
'pet.atlasRow.failed': 'Falló',
|
||||
'pet.atlasRow.waiting': 'Espera',
|
||||
'pet.atlasRow.running': 'Corre',
|
||||
'pet.atlasRow.review': 'Revisión',
|
||||
'pet.hatchTitle': 'Eclosiona una mascota nueva con IA',
|
||||
'pet.hatchHint': 'Usa la skill hatch-pet incluida desde el chat para generar un spritesheet estilo Codex y luego impórtalo aquí.',
|
||||
'pet.hatchConcept': 'Concepto de mascota (opcional)',
|
||||
'pet.hatchConceptPlaceholder': 'p. ej. un shiba pixel-art con un suéter cómodo',
|
||||
'pet.hatchCopy': 'Copiar prompt',
|
||||
'pet.hatchCopied': '¡Copiado!',
|
||||
'pet.hatchFoot': 'Cuando la skill guarde tu mascota, vuelve y pulsa "Importar sprite de Codex".',
|
||||
'pet.slashPopoverAria': 'Comandos slash',
|
||||
'pet.slashPopoverTitle': 'Comandos',
|
||||
'pet.slashPopoverHint': '↑↓ navegar · enter elegir · esc cerrar',
|
||||
'pet.slashPet': 'Alternar, adoptar o ir a ajustes de mascota.',
|
||||
'pet.slashPetWake': 'Despertar la mascota flotante.',
|
||||
'pet.slashPetTuck': 'Guardar la mascota por ahora.',
|
||||
'pet.slashHatch': 'Genera una mascota Codex con la skill hatch-pet.',
|
||||
'pet.slashHatchArg': '<concepto>',
|
||||
'pet.codexTitle': 'Recién eclosionadas',
|
||||
'pet.codexSubtitle': 'Las mascotas empaquetadas por la skill hatch-pet aparecen aquí para adopción en un clic.',
|
||||
'pet.codexSubtitleWithDir': 'Escaneando {dir} en busca de paquetes de hatch-pet.',
|
||||
'pet.codexEmpty': 'Aún no hay mascotas eclosionadas. Escribe /hatch en el chat para generar una.',
|
||||
'pet.codexLoading': 'Buscando mascotas eclosionadas…',
|
||||
'pet.codexRefresh': 'Refrescar',
|
||||
'pet.codexAdopt': 'Adoptar',
|
||||
'pet.codexAdopting': 'Adoptando…',
|
||||
'pet.communitySync': 'Descargar mascotas de la comunidad',
|
||||
'pet.communitySyncing': 'Descargando…',
|
||||
'pet.communitySyncTitle': 'Sincronizar las últimas mascotas de Codex Pet Share + j20 Hatchery en ~/.codex/pets/.',
|
||||
'pet.communitySyncDone': '{wrote} mascotas nuevas sincronizadas ({total} en total).',
|
||||
'pet.communitySyncFailed': 'Error al sincronizar: {error}',
|
||||
'pet.codexBundled': 'Incluida',
|
||||
'pet.codexBundledTitle': 'Viene con Open Design — sin descarga.',
|
||||
|
||||
'settings.notifications': 'Notificaciones',
|
||||
'settings.notificationsHint': 'Sonido y notificación al completar la tarea',
|
||||
'settings.notifyCompletionSound': 'Sonido al completar',
|
||||
'settings.notifyCompletionSoundHint': 'Se reproduce al terminar un turno. Desactivado por defecto.',
|
||||
'settings.notifySuccessSound': 'Sonido de éxito',
|
||||
'settings.notifyFailureSound': 'Sonido de error',
|
||||
'settings.notifyDesktop': 'Notificación de escritorio',
|
||||
'settings.notifyDesktopHint': 'Se envía cuando la ventana no está en primer plano.',
|
||||
'settings.notifyDesktopBlocked': 'Bloqueadas por el navegador. Habilítalas en la configuración del sitio.',
|
||||
'settings.notifyDesktopUnsupported': 'Las notificaciones de escritorio no están disponibles en este entorno.',
|
||||
'settings.notifyTest': 'Enviar prueba',
|
||||
'settings.notifyTestSent': 'Notificación de prueba enviada. Si no aparece el aviso, revisa las notificaciones del navegador y del sistema.',
|
||||
'settings.notifyTestFailed': 'Falló la llamada de notificación. Revisa las notificaciones del navegador y del sistema.',
|
||||
'settings.notifySoundDing': 'Tilín',
|
||||
'settings.notifySoundChime': 'Carillón',
|
||||
'settings.notifySoundTwoToneUp': 'Dos tonos ascendente',
|
||||
'settings.notifySoundPluck': 'Pulsación',
|
||||
'settings.notifySoundBuzz': 'Zumbido',
|
||||
'settings.notifySoundTwoToneDown': 'Dos tonos descendente',
|
||||
'settings.notifySoundThud': 'Golpe',
|
||||
'notify.successTitle': 'Tarea completada',
|
||||
'notify.failureTitle': 'La tarea falló',
|
||||
'notify.successBody': 'Un turno ha terminado.',
|
||||
'notify.failureBody': 'La tarea terminó con un error.',
|
||||
};
|
||||
@@ -0,0 +1,831 @@
|
||||
import type { Dict } from '../types';
|
||||
|
||||
export const fa: Dict = {
|
||||
'common.cancel': 'لغو',
|
||||
'common.save': 'ذخیره',
|
||||
'common.close': 'بستن',
|
||||
'common.delete': 'حذف',
|
||||
'common.rename': 'تغییر نام',
|
||||
'common.preview': 'پیشنمایش',
|
||||
'common.share': 'اشتراکگذاری',
|
||||
'common.search': 'جستجو',
|
||||
'common.searchEllipsis': 'جستجو…',
|
||||
'common.loading': 'در حال بارگذاری…',
|
||||
'common.all': 'همه',
|
||||
'common.none': 'هیچ',
|
||||
'common.default': 'پیشفرض',
|
||||
'common.installed': 'نصب شده',
|
||||
'common.notInstalled': 'نصب نشده',
|
||||
'common.active': 'فعال',
|
||||
'common.offline': 'آفلاین',
|
||||
'common.selected': 'انتخاب شده',
|
||||
'common.create': 'ایجاد',
|
||||
'common.openPreview': 'باز کردن پیشنمایش',
|
||||
'common.exitFullscreen': 'خروج از تمام صفحه',
|
||||
'common.fullscreen': 'تمام صفحه',
|
||||
'common.openInNewTab': 'باز کردن در تب جدید',
|
||||
'common.exportPdf': 'صادرکردن به PDF',
|
||||
'common.exportZip': 'دانلود به صورت .zip',
|
||||
'common.exportHtml': 'صادرکردن به HTML مستقل',
|
||||
'common.justNow': 'همین الان',
|
||||
'common.minutesAgo': '{n} دقیقه پیش',
|
||||
'common.hoursAgo': '{n} ساعت پیش',
|
||||
'common.daysAgo': '{n} روز پیش',
|
||||
'common.now': 'الان',
|
||||
'common.minutesShort': '{n}د',
|
||||
'common.hoursShort': '{n}س',
|
||||
'common.daysShort': '{n}ر',
|
||||
'common.untitled': 'بدون عنوان',
|
||||
|
||||
'app.brand': 'Open Design',
|
||||
'app.brandPill': 'پیشنمایش تحقیقاتی',
|
||||
'app.brandSubtitle': 'توسط Nexu Labs',
|
||||
'app.welcomeLoading': 'در حال بارگذاری فضای کاری…',
|
||||
|
||||
'settings.welcomeKicker': 'خوش آمدید',
|
||||
'settings.welcomeTitle': 'Open Design را راهاندازی کنید',
|
||||
'settings.welcomeSubtitle':
|
||||
'نحوه اجرای تولیدات را انتخاب کنید. میتوانید هر زمان از دکمه تنظیمات در نوار بالا این را تغییر دهید.',
|
||||
'settings.kicker': 'تنظیمات',
|
||||
'settings.title': 'اجرا و مدل',
|
||||
'settings.subtitle': 'بین CLI محلی و BYOK انتخاب کنید. کلید API فقط در همین مرورگر ذخیره میشود.',
|
||||
'settings.modeAria': 'حالت اجرا',
|
||||
'settings.protocolAria': 'پروتکل API',
|
||||
'settings.modeDaemon': 'CLI محلی',
|
||||
'settings.modeDaemonHelp': 'اجرا از طریق CLI عامل کد روی دستگاه شما',
|
||||
'settings.modeDaemonOffline': 'Daemon در حال اجرا نیست',
|
||||
'settings.modeDaemonOfflineMeta': 'daemon آفلاین',
|
||||
'settings.modeDaemonInstalledMeta': '{count} نصب شده',
|
||||
'settings.modeApi': 'ارائهدهنده API',
|
||||
'settings.modeApiMeta': 'BYOK',
|
||||
'settings.codeAgent': 'عامل کد',
|
||||
'settings.codeAgentHint':
|
||||
'با اسکن PATH شما شناسایی شده. CLI مورد نظر برای جریان تولیدات را انتخاب کنید.',
|
||||
'settings.rescan': '↻ اسکن مجدد',
|
||||
'settings.rescanTitle': 'اسکن مجدد PATH',
|
||||
'settings.rescanRunning': 'در حال اسکن...',
|
||||
'settings.rescanSuccess': 'اسکن کامل شد. {count} مورد در دسترس است.',
|
||||
'settings.rescanFailed': 'اسکن ناموفق بود. daemon را بررسی کنید و دوباره تلاش کنید.',
|
||||
'settings.noAgentsDetected':
|
||||
'هنوز هیچ عاملی شناسایی نشده. یکی از Claude Code، Codex، Gemini CLI، OpenCode، Cursor Agent، Qwen یا GitHub Copilot CLI را نصب کنید، سپس روی اسکن مجدد کلیک کنید.',
|
||||
'settings.apiSection': 'Anthropic API',
|
||||
'settings.quickFillProvider': 'پر کردن سریع ارائهدهنده',
|
||||
'settings.customProvider': 'ارائهدهنده سفارشی',
|
||||
'settings.apiKey': 'کلید API',
|
||||
'settings.showKey': 'نمایش کلید',
|
||||
'settings.hideKey': 'پنهان کردن کلید',
|
||||
'settings.show': 'نمایش',
|
||||
'settings.hide': 'پنهان',
|
||||
'settings.model': 'مدل',
|
||||
'settings.suggestedModelsHint':
|
||||
'اینها مدلهای پیشنهادی برای این پروتکل هستند. ارائهدهنده شما ممکن است مدلهای دیگری را پشتیبانی کند.',
|
||||
'settings.baseUrl': 'آدرس پایه',
|
||||
'settings.baseUrlInvalid': 'یک URL عمومی معتبر با http:// یا https:// وارد کنید. localhost مجاز است؛ IPهای شبکه خصوصی مسدود میشوند.',
|
||||
'settings.azureDeploymentModel': 'نام استقرار',
|
||||
'settings.azureDeploymentModelHint':
|
||||
'در Azure OpenAI، این فیلد به عنوان نام استقرار در /openai/deployments/<model> استفاده میشود. نام استقراری را که در Azure ساختهاید وارد کنید.',
|
||||
'settings.apiVersion': 'نسخه API',
|
||||
'settings.maxTokens': 'حداکثر توکن (اختیاری)',
|
||||
'settings.maxTokensHint':
|
||||
'سقف طول پاسخ. هر مدل مقدار پیشفرض تنظیمشدهٔ خود را دارد (در placeholder نمایش داده میشود)؛ برای استفاده از آن خالی بگذارید، یا برای جایگزینی، عددی وارد کنید.',
|
||||
'settings.apiHint': 'درخواستها از طریق پراکسی daemon محلی به Base URL تنظیمشده ارسال میشوند. کلید فقط در همین مرورگر ذخیره میشود و همراه درخواستهای ارائهدهنده فرستاده میشود.',
|
||||
'settings.skipForNow': 'فعلاً رد کنید',
|
||||
'settings.getStarted': 'شروع کنید',
|
||||
'settings.envConfigure': 'پیکربندی حالت اجرا',
|
||||
'settings.localCli': 'CLI محلی',
|
||||
'settings.anthropicApi': 'Anthropic API',
|
||||
'settings.noAgentSelected': 'هیچ عاملی انتخاب نشده',
|
||||
'settings.language': 'زبان',
|
||||
'settings.languageHint': 'زبان رابط را تغییر دهید. در این مرورگر ذخیره میشود.',
|
||||
'settings.appearance': 'ظاهر',
|
||||
'settings.appearanceHint': 'روشن، تاریک یا پیروی از تنظیمات سیستم.',
|
||||
'settings.themeSystem': 'سیستم',
|
||||
'settings.themeLight': 'روشن',
|
||||
'settings.themeDark': 'تاریک',
|
||||
'settings.modelPicker': 'مدل',
|
||||
'settings.reasoningPicker': 'سطح استدلال',
|
||||
'settings.modelPickerHint':
|
||||
'هنگامی که CLI یک دستور `models` را ارائه میدهد از آن دریافت میشود. «پیشفرض» انتخاب را به پیکربندی خود CLI واگذار میکند؛ «سفارشی…» به شما امکان میدهد هر شناسه مدلی را که CLI میپذیرد تایپ کنید.',
|
||||
'settings.modelCustom': 'سفارشی (در زیر تایپ کنید)…',
|
||||
'settings.modelCustomLabel': 'شناسه مدل سفارشی',
|
||||
'settings.modelCustomPlaceholder': 'مثلاً anthropic/claude-sonnet-4-6',
|
||||
'settings.mediaProviders': 'ارائهدهندگان رسانه',
|
||||
'settings.mediaProvidersHint':
|
||||
'کلیدهای API برای تولید تصویر، ویدئو و صدا. به صورت محلی ذخیره و با daemon محلی همگام میشود.',
|
||||
'settings.mediaProviderApiKey': 'کلید API',
|
||||
'settings.mediaProviderBaseUrl': 'آدرس پایه',
|
||||
'settings.mediaProviderConfigured': 'پیکربندی شده',
|
||||
'settings.mediaProviderUnset': 'تنظیم نشده',
|
||||
'settings.mediaProviderClear': 'پاک کردن',
|
||||
'settings.mediaProviderPlaceholder': 'کلید API را وارد کنید',
|
||||
'settings.mediaProviderBaseUrlPlaceholder': 'بازنویسی آدرس پایه پیشفرض',
|
||||
'settings.about': 'درباره',
|
||||
'settings.aboutHint': 'جزئیات نسخه و اجرا',
|
||||
'settings.appVersion': 'نسخه',
|
||||
'settings.appChannel': 'کانال',
|
||||
'settings.appRuntime': 'محیط اجرا',
|
||||
'settings.appPlatform': 'سکو',
|
||||
'settings.appArchitecture': 'معماری',
|
||||
'settings.runtimePackaged': 'برنامه بستهبندیشده',
|
||||
'settings.runtimeDevelopment': 'توسعه',
|
||||
'settings.versionUnavailable': 'تا وقتی daemon آفلاین است جزئیات نسخه در دسترس نیست.',
|
||||
|
||||
'entry.tabDesigns': 'طرحها',
|
||||
'entry.tabExamples': 'نمونهها',
|
||||
'entry.tabDesignSystems': 'سیستمهای طراحی',
|
||||
'entry.tabImageTemplates': 'قالبهای تصویر',
|
||||
'entry.tabVideoTemplates': 'قالبهای ویدئو',
|
||||
'entry.openSettingsTitle': 'تنظیمات',
|
||||
'entry.openSettingsAria': 'باز کردن تنظیمات',
|
||||
'entry.resizeAria': 'تغییر اندازه نوار کناری',
|
||||
'entry.loadingWorkspace': 'در حال بارگذاری فضای کاری…',
|
||||
'promptTemplates.searchPlaceholder': 'جستجوی قالبها…',
|
||||
'promptTemplates.countLabel': '{n} نتیجه',
|
||||
'promptTemplates.emptyImage': 'هنوز قالب پرامپت تصویر نصب نشده است.',
|
||||
'promptTemplates.emptyVideo': 'هنوز قالب پرامپت ویدئو نصب نشده است.',
|
||||
'promptTemplates.emptyNoMatch': 'هیچ قالبی با جستجوی شما مطابقت ندارد.',
|
||||
'promptTemplates.attributionFooter':
|
||||
'برگرفته از کتابخانههای عمومی پرامپت. هر کارت به نویسنده اصلی لینک دارد.',
|
||||
'promptTemplates.openPreviewTitle': 'باز کردن پرامپت و پیشنمایش',
|
||||
'promptTemplates.sourcePrefix': 'منبع:',
|
||||
'promptTemplates.fetchError': 'بارگذاری متن این قالب ممکن نبود.',
|
||||
'promptTemplates.promptLabel': 'متن پرامپت',
|
||||
'promptTemplates.copyPrompt': 'کپی پرامپت',
|
||||
'promptTemplates.copyDone': 'کپی شد!',
|
||||
'promptTemplates.modelHint': 'مدل پیشنهادی: {model}',
|
||||
'promptTemplates.openSource': 'دیدن منبع اصلی',
|
||||
'promptTemplates.openFullscreen': 'باز کردن پیشنمایش تمامصفحه',
|
||||
'promptTemplates.closeFullscreen': 'بستن پیشنمایش تمامصفحه',
|
||||
'promptTemplates.retry': 'تلاش دوباره',
|
||||
|
||||
'newproj.tabPrototype': 'نمونه اولیه',
|
||||
'newproj.tabDeck': 'ارائه اسلاید',
|
||||
'newproj.tabTemplate': 'از قالب',
|
||||
'newproj.tabOther': 'سایر',
|
||||
'newproj.titlePrototype': 'نمونه اولیه جدید',
|
||||
'newproj.titleDeck': 'ارائه اسلاید جدید',
|
||||
'newproj.titleTemplate': 'شروع از یک قالب',
|
||||
'newproj.titleImage': 'تصویر جدید',
|
||||
'newproj.titleVideo': 'ویدئوی جدید',
|
||||
'newproj.titleAudio': 'صدای جدید',
|
||||
'newproj.titleOther': 'پروژه جدید',
|
||||
'newproj.namePlaceholder': 'نام پروژه',
|
||||
'newproj.fidelityLabel': 'دقت',
|
||||
'newproj.fidelityWireframe': 'وایرفریم',
|
||||
'newproj.fidelityHigh': 'دقت بالا',
|
||||
'newproj.toggleSpeakerNotes': 'استفاده از یادداشتهای سخنران',
|
||||
'newproj.toggleSpeakerNotesHint': 'متن کمتر روی اسلایدها — نکات صحبت را در یادداشتها نگه دارید.',
|
||||
'newproj.toggleAnimations': 'افزودن انیمیشن',
|
||||
'newproj.toggleAnimationsHint':
|
||||
'افزودن حرکت (ورود، هاور، انتقال) بر روی قالب.',
|
||||
'newproj.templateLabel': 'قالب',
|
||||
'newproj.noTemplatesTitle': 'هنوز هیچ قالبی وجود ندارد',
|
||||
'newproj.noTemplatesBody':
|
||||
'هر پروژهای را باز کنید، سپس از منوی اشتراکگذاری در داخل نمایشگر فایل آن را به قالب تبدیل کنید. قالبها اینجا نمایش داده میشوند.',
|
||||
'newproj.savedTemplate': 'قالب ذخیره شده',
|
||||
'newproj.fileSingular': 'فایل',
|
||||
'newproj.filePlural': 'فایل',
|
||||
'newproj.create': 'ایجاد',
|
||||
'newproj.createFromTemplate': 'ایجاد از قالب',
|
||||
'newproj.createDisabledTitle':
|
||||
'ابتدا یک پروژه را به عنوان قالب ذخیره کنید (منوی اشتراکگذاری در داخل هر پروژه).',
|
||||
'newproj.importClaudeZip': 'وارد کردن ZIP طراحی Claude',
|
||||
'newproj.importClaudeZipTitle': 'وارد کردن یک فایل .zip صادر شده از Claude Design',
|
||||
'newproj.importingClaudeZip': 'در حال وارد کردن…',
|
||||
'newproj.privacyFooter': 'به طور پیشفرض فقط شما میتوانید پروژه خود را ببینید.',
|
||||
'newproj.designSystem': 'سیستم طراحی',
|
||||
'newproj.dsNoneFreeform': 'هیچ — آزاد',
|
||||
'newproj.dsNoneSubtitleEmpty': 'بدون توکنهای سیستم، پالت خود را انتخاب کنید',
|
||||
'newproj.dsNoneSubtitleSelected': 'از توکنهای سیستم صرف نظر کنید. عامل پالت خود را انتخاب میکند.',
|
||||
'newproj.dsCategoryFallback': 'سیستم طراحی',
|
||||
'newproj.dsSearch': 'جستجوی سیستمهای طراحی…',
|
||||
'newproj.dsModeAria': 'حالت انتخاب',
|
||||
'newproj.surfaceImage': 'تصویر',
|
||||
'newproj.surfaceVideo': 'ویدئو',
|
||||
'newproj.surfaceAudio': 'صدا',
|
||||
'newproj.modelLabel': 'مدل',
|
||||
'newproj.aspectLabel': 'نسبت تصویر',
|
||||
'newproj.imageStyleLabel': 'یادداشتهای سبک',
|
||||
'newproj.imageStylePlaceholder': 'عکس ادیتوریال، نور روز نرم، پالت ملایم',
|
||||
'newproj.videoLengthLabel': 'طول',
|
||||
'newproj.videoLengthSeconds': '{n}ث',
|
||||
'newproj.audioKindLabel': 'نوع صدا',
|
||||
'newproj.audioKindMusic': 'موسیقی',
|
||||
'newproj.audioKindSpeech': 'گفتار / TTS',
|
||||
'newproj.audioKindSfx': 'افکت صوتی',
|
||||
'newproj.audioDurationLabel': 'مدت',
|
||||
'newproj.audioDurationSeconds': '{n}ث',
|
||||
'newproj.voiceLabel': 'صدا',
|
||||
'newproj.voicePlaceholder': 'شناسه صدای ارائهدهنده، اختیاری',
|
||||
'newproj.promptTemplateLabel': 'قالب مرجع',
|
||||
'newproj.promptTemplateNoneTitle': 'بدون قالب — توصیف اختصاصی',
|
||||
'newproj.promptTemplateNoneSub': 'گالری را رد کنید و خودتان توضیح دهید',
|
||||
'newproj.promptTemplateRefSub': 'قالب مرجع',
|
||||
'newproj.promptTemplateSearch': 'جستوجوی قالبها…',
|
||||
'newproj.promptTemplateEmpty': 'هنوز قالبی برای این نوع نصب نشده است.',
|
||||
'newproj.promptTemplateBodyLabel': 'پرامپت (قابل ویرایش)',
|
||||
'newproj.promptTemplateOptimizeHint':
|
||||
'هر چیزی را میتوانید ویرایش کنید — تغییرات شما به بریف ایجنت اضافه میشود.',
|
||||
'newproj.promptTemplateBodyEmpty': 'متن خالی است — ایجنت هیچ مرجع قالبی دریافت نمیکند.',
|
||||
'newproj.dsModeSingle': 'تکی',
|
||||
'newproj.dsModeMulti': 'چندگانه',
|
||||
'newproj.dsNoneTitle': 'هیچ — آزاد',
|
||||
'newproj.dsNoneSub': 'از توکنهای سیستم صرف نظر کنید. عامل پالت خود را انتخاب میکند.',
|
||||
'newproj.dsEmpty': 'هیچ سیستم طراحی با «{query}» مطابقت ندارد.',
|
||||
'newproj.dsFootSingular': 'فقط الهامبخش است.',
|
||||
'newproj.dsFootPlural': 'فقط الهامبخش هستند.',
|
||||
'newproj.dsFootClear': 'پاک کردن',
|
||||
'newproj.dsBadgeDefault': 'پیشفرض',
|
||||
'newproj.dsPrimaryFallback': 'اصلی',
|
||||
|
||||
'designs.subRecent': 'اخیر',
|
||||
'designs.subYours': 'طرحهای شما',
|
||||
'designs.filterAria': 'فیلتر پروژهها',
|
||||
'designs.searchPlaceholder': 'جستجو…',
|
||||
'designs.emptyNoProjects': 'هنوز هیچ پروژهای وجود ندارد. یکی را از سمت چپ ایجاد کنید.',
|
||||
'designs.emptyNoMatch': 'هیچ پروژهای با جستجوی شما مطابقت ندارد.',
|
||||
'designs.deleteTitle': 'حذف پروژه',
|
||||
'designs.deleteConfirm': 'آیا «{name}» حذف شود؟',
|
||||
'designs.cardFreeform': 'آزاد',
|
||||
'designs.status.notStarted': 'شروع نشده',
|
||||
'designs.status.queued': 'در صف',
|
||||
'designs.status.running': 'در حال اجرا',
|
||||
'designs.status.awaitingInput': 'نیازمند ورودی',
|
||||
'designs.status.succeeded': 'تکمیل شد',
|
||||
'designs.status.failed': 'ناموفق',
|
||||
'designs.status.canceled': 'لغو شد',
|
||||
'designs.viewToggleAria': 'حالت نمایش',
|
||||
'designs.viewGrid': 'نمای شبکهای',
|
||||
'designs.viewKanban': 'نمای برد',
|
||||
'designs.kanbanEmptyColumn': 'هیچ طرحی نیست',
|
||||
'designs.deleteAria': 'حذف پروژه {name}',
|
||||
|
||||
'examples.typeLabel': 'نوع',
|
||||
'examples.surfaceLabel': 'سطح',
|
||||
'examples.surfaceWeb': 'وب',
|
||||
'examples.surfaceImage': 'تصویر',
|
||||
'examples.surfaceVideo': 'ویدئو',
|
||||
'examples.surfaceAudio': 'صدا',
|
||||
'examples.scenarioLabel': 'سناریو',
|
||||
'examples.modeAll': 'همه',
|
||||
'examples.modePrototypeDesktop': 'نمونه اولیه · دسکتاپ',
|
||||
'examples.modePrototypeMobile': 'نمونه اولیه · موبایل',
|
||||
'examples.modeDeck': 'اسلایدها',
|
||||
'examples.modeDocument': 'اسناد و قالبها',
|
||||
'examples.scenarioGeneral': 'عمومی',
|
||||
'examples.scenarioEngineering': 'مهندسی',
|
||||
'examples.scenarioProduct': 'محصول',
|
||||
'examples.scenarioDesign': 'طراحی',
|
||||
'examples.scenarioMarketing': 'بازاریابی',
|
||||
'examples.scenarioSales': 'فروش',
|
||||
'examples.scenarioFinance': 'مالی',
|
||||
'examples.scenarioHr': 'منابع انسانی',
|
||||
'examples.scenarioOperations': 'عملیات',
|
||||
'examples.scenarioSupport': 'پشتیبانی',
|
||||
'examples.scenarioLegal': 'حقوقی',
|
||||
'examples.scenarioEducation': 'آموزش',
|
||||
'examples.scenarioPersonal': 'شخصی',
|
||||
'examples.emptyNoSkills': 'هیچ مهارتی موجود نیست. آیا daemon در حال اجرا است؟',
|
||||
'examples.searchPlaceholder': 'جستجوی نمونهها…',
|
||||
'examples.searchAria': 'جستجوی نمونهها بر اساس نام',
|
||||
'examples.emptyNoMatch': 'هیچ نمونهای با این فیلترها مطابقت ندارد.',
|
||||
'examples.openPreview': '⤢ باز کردن پیشنمایش',
|
||||
'examples.loadingPreview': 'در حال بارگذاری پیشنمایش…',
|
||||
'examples.hoverPreview': 'برای پیشنمایش هاور کنید',
|
||||
'examples.usePrompt': 'استفاده از این پرامپت',
|
||||
'examples.previewModalTitle': 'باز کردن پیشنمایش کامل (modal)',
|
||||
'examples.shareTitle': 'اشتراکگذاری این نمونه',
|
||||
'examples.shareLoadFirst': 'ابتدا برای بارگذاری پیشنمایش هاور کنید',
|
||||
'examples.shareMenu': 'اشتراکگذاری ▾',
|
||||
'examples.exportPdfAllSlides': 'صادرکردن به PDF (همه اسلایدها)',
|
||||
'examples.exportPptxLocked': 'صادرکردن به PPTX… (ابتدا قالب را باز کنید)',
|
||||
'examples.tagSlideDeck': 'ارائه اسلاید',
|
||||
'examples.tagTemplate': 'قالب',
|
||||
'examples.tagDesignSystem': 'سیستم طراحی',
|
||||
'examples.tagMobilePrototype': 'نمونه اولیه موبایل',
|
||||
'examples.tagDesktopPrototype': 'نمونه اولیه دسکتاپ',
|
||||
'examples.tagImage': 'تصویر',
|
||||
'examples.tagVideo': 'ویدئو',
|
||||
'examples.tagAudio': 'صدا',
|
||||
'examples.previewLabel': 'پیشنمایش',
|
||||
|
||||
'ds.surfaceLabel': 'سطح',
|
||||
'ds.surfaceWeb': 'وب',
|
||||
'ds.surfaceImage': 'تصویر',
|
||||
'ds.surfaceVideo': 'ویدئو',
|
||||
'ds.surfaceAudio': 'صدا',
|
||||
'ds.searchPlaceholder': 'جستجوی سیستمهای طراحی…',
|
||||
'ds.emptyNoMatch': 'هیچ سیستم طراحی با جستجوی شما مطابقت ندارد.',
|
||||
'ds.badgeDefault': 'پیشفرض',
|
||||
'ds.preview': 'پیشنمایش',
|
||||
'ds.previewTitle': 'پیشنمایش سیستم طراحی',
|
||||
'ds.categoryAll': 'همه',
|
||||
'ds.categoryUncategorized': 'دستهبندی نشده',
|
||||
'ds.showcase': 'ویترین',
|
||||
'ds.tokens': 'توکنها',
|
||||
'ds.specToggle': 'DESIGN.md',
|
||||
'ds.specLoading': 'بارگذاری DESIGN.md…',
|
||||
|
||||
'avatar.title': 'حساب و تنظیمات',
|
||||
'avatar.localCli': 'CLI محلی',
|
||||
'avatar.anthropicApi': 'Anthropic API',
|
||||
'avatar.useLocal': 'استفاده از CLI محلی',
|
||||
'avatar.useApi': 'استفاده از API · BYOK',
|
||||
'avatar.codeAgent': 'عامل کد',
|
||||
'avatar.rescan': 'اسکن مجدد PATH',
|
||||
'avatar.settings': 'تنظیمات',
|
||||
'avatar.backToProjects': 'بازگشت به پروژهها',
|
||||
'avatar.metaActive': 'فعال',
|
||||
'avatar.metaOffline': 'آفلاین',
|
||||
'avatar.metaSelected': 'انتخاب شده',
|
||||
'avatar.noAgentSelected': 'هیچ عاملی انتخاب نشده',
|
||||
'avatar.modelSection': 'مدل',
|
||||
'avatar.modelLabel': 'مدل',
|
||||
'avatar.reasoningLabel': 'استدلال',
|
||||
'avatar.customSuffix': '(سفارشی)',
|
||||
|
||||
'project.backToProjects': 'بازگشت به پروژهها',
|
||||
'project.metaFreeform': 'آزاد',
|
||||
'chat.tabChat': 'چت',
|
||||
'chat.tabComments': 'نظرات',
|
||||
'chat.commentsSoon': 'نظرات — به زودی',
|
||||
'chat.comments.attached': 'Attached to chat',
|
||||
'chat.comments.emptyAttached': 'No comments attached.',
|
||||
'chat.comments.saved': 'Saved comments',
|
||||
'chat.comments.emptySaved': 'No saved comments.',
|
||||
'chat.comments.add': 'Add',
|
||||
'chat.comments.addAll': 'Add all',
|
||||
'chat.comments.remove': 'Remove',
|
||||
'chat.comments.placeholder': 'Comment on this element…',
|
||||
'chat.comments.addSend': 'Add & send',
|
||||
'chat.comments.updateSend': 'Update & send',
|
||||
'chat.comments.removeAttachment': 'Remove comment attachment',
|
||||
'chat.comments.removeAttachmentAria': 'Remove comment attachment for {name}',
|
||||
'chat.conversationsTitle': 'مکالمات',
|
||||
'chat.conversationsAria': 'تاریخچه مکالمات',
|
||||
'chat.newConversation': 'مکالمه جدید',
|
||||
'chat.newConversationsTitle': 'مکالمه جدید',
|
||||
'chat.conversationsHeading': 'مکالمات',
|
||||
'chat.new': 'جدید',
|
||||
'chat.emptyConversations': 'هنوز هیچ مکالمهای وجود ندارد.',
|
||||
'chat.deleteConversation': 'حذف مکالمه',
|
||||
'chat.deleteConversationConfirm':
|
||||
'آیا «{title}» حذف شود؟ این کار پیامهای آن را حذف میکند.',
|
||||
'chat.untitledConversation': 'مکالمه بدون عنوان',
|
||||
'chat.startTitle': 'یک مکالمه شروع کنید',
|
||||
'chat.startHint':
|
||||
'تصاویر را برای مرجع بصری رها کنید یا بچسبانید، یا @ را تایپ کنید تا یک فایل از این پروژه را ضمیمه کنید. یا یکی از این شروعکنندهها را امتحان کنید:',
|
||||
'chat.fillInputTitle': 'برای پر کردن ورودی کلیک کنید',
|
||||
'chat.jumpToLatest': 'رفتن به آخرین',
|
||||
'chat.scrollToLatest': 'اسکرول به آخرین',
|
||||
'chat.you': 'شما',
|
||||
'chat.openFile': 'باز کردن {name}',
|
||||
'chat.composerPlaceholder':
|
||||
'طرح مورد نظر خود را توصیف کنید — تصاویر را بچسبانید یا رها کنید، یا @ برای مرجع فایل…',
|
||||
'chat.composerHint':
|
||||
'⌘/Ctrl + Enter برای ارسال · چسباندن تصاویر · @ برای مرجع فایلها',
|
||||
'chat.cliSettingsTitle': 'تنظیمات CLI و مدل',
|
||||
'chat.cliSettingsAria': 'باز کردن تنظیمات CLI و مدل',
|
||||
'chat.attachTitle': 'ضمیمه کردن فایلها (یا چسباندن / رها کردن)',
|
||||
'chat.attachAria': 'ضمیمه کردن فایلها',
|
||||
'chat.importTitle': 'وارد کردن منابع (به زودی)',
|
||||
'chat.importLabel': 'وارد کردن',
|
||||
'chat.importComingSoon': 'به زودی',
|
||||
'chat.importSoon': 'به زودی',
|
||||
'chat.importFig': 'آپلود فایل .fig',
|
||||
'chat.importGitHub': 'اتصال به GitHub',
|
||||
'chat.importWeb': 'گرفتن عنصر وب',
|
||||
'chat.importFolder': 'لینک کردن پوشه کد',
|
||||
'chat.importSkills': 'مهارتها و سیستمهای طراحی',
|
||||
'chat.importProject': 'مرجع یک پروژه دیگر',
|
||||
'chat.send': 'ارسال',
|
||||
'chat.stop': 'توقف',
|
||||
'chat.removeAria': 'حذف {name}',
|
||||
'chat.example1Title': 'ارائه سردبیری',
|
||||
'chat.example1Tag': 'مجله',
|
||||
'chat.example1Prompt':
|
||||
'یک ارائه سردبیری ۱۰ اسلایدی برای یک استودیو طراحی که در حال جمعآوری یک دور سرمایهگذاری اولیه است — چیدمان شبکه سوئیسی، عناوین سریف بزرگ با حروف تزئینی پررنگ، شمارههای بخش با فونت monospace، فضای منفی سخاوتمندانه، و اسلایدهای تمام خون عکس که با اسلایدهای متنمحور در هم تنیده شدهاند. جلد، چشمانداز، بازار، محصول، کشش، تیم، درخواست، تماس.',
|
||||
'chat.example2Title': 'داشبورد تحلیل SaaS',
|
||||
'chat.example2Tag': 'داده',
|
||||
'chat.example2Prompt':
|
||||
'یک داشبورد تحلیل متراکم برای یک SaaS ابزار توسعهدهنده — نوار KPI با دلتاهای هفته به هفته، دو نمودار خط انباشته (MRR و فضاهای کاری فعال)، یک نقشه حرارتی جهانی از استفاده، یک شبکه ماندگاری کوهورت، یک جدول رهبری برترین مشتریان، و یک فید رویداد بلادرنگ. تم تاریک، اعداد جدولی monospace، تأکیدات sparkline.',
|
||||
'chat.example3Title': 'گزارش سالانه اسکرول بلند',
|
||||
'chat.example3Tag': 'سردبیری',
|
||||
'chat.example3Prompt':
|
||||
'یک گزارش سالانه تعاملی برای یک سازمان غیرانتفاعی آب و هوایی — چیدمان سردبیری اسکرول بلند که بلوکهای نقل قول بزرگ، تصویرسازیهای داده، عکاسی، دیوار اهداکنندگان و یک فراخوان به عمل نهایی را ترکیب میکند.',
|
||||
|
||||
'preview.shareMenu': 'اشتراکگذاری ▾',
|
||||
'preview.openInNewTab': 'باز کردن در تب جدید',
|
||||
'preview.exit': '⤓ خروج',
|
||||
'preview.fullscreen': '⤢ تمام صفحه',
|
||||
'preview.closeTitle': 'بستن (Esc)',
|
||||
'preview.loading': 'در حال بارگذاری {label}…',
|
||||
'preview.showSidebar': 'نمایش {label}',
|
||||
'preview.hideSidebar': 'پنهان کردن {label}',
|
||||
|
||||
'misc.savedTemplate': 'قالب ذخیره شده',
|
||||
'misc.primary': 'اصلی',
|
||||
'misc.designSystem': 'سیستم طراحی',
|
||||
|
||||
'workspace.designFiles': 'فایلهای طراحی',
|
||||
'workspace.closeTab': 'بستن تب',
|
||||
'workspace.deleteFileConfirm': 'آیا «{name}» از پوشه پروژه حذف شود؟',
|
||||
'workspace.openFromDesignFiles': 'باز کردن یک فایل از',
|
||||
'workspace.designFilesLink': 'فایلهای طراحی',
|
||||
'workspace.loadingSketch': 'در حال بارگذاری طرح…',
|
||||
'designFiles.title': 'فایلهای طراحی',
|
||||
'designFiles.upload': 'آپلود فایلها',
|
||||
'designFiles.pasteText': 'چسباندن به عنوان فایل متنی',
|
||||
'designFiles.newSketch': 'طرح جدید',
|
||||
'designFiles.empty':
|
||||
'هنوز هیچ چیزی اینجا نیست. فایلها را رها کنید، یا یک طرح ایجاد کنید / متن بچسبانید.',
|
||||
'designFiles.refresh': 'بازنشانی',
|
||||
'designFiles.delete': 'حذف',
|
||||
'designFiles.searchPlaceholder': 'جستجوی فایلها…',
|
||||
'designFiles.up': 'بالا',
|
||||
'designFiles.back': 'بازگشت',
|
||||
'designFiles.crumbs': 'پروژه',
|
||||
'designFiles.rowMenu': 'منوی ردیف',
|
||||
'designFiles.openInTab': 'باز کردن در تب',
|
||||
'designFiles.download': 'دانلود',
|
||||
'designFiles.downloadSelected': 'Download {n} as ZIP',
|
||||
'designFiles.clearSelection': 'Clear',
|
||||
'designFiles.selectAll': 'Select all',
|
||||
'designFiles.dropTitle': '⤓ فایلها را اینجا رها کنید',
|
||||
'designFiles.dropDesc':
|
||||
'تصاویر، اسناد، مراجع یا پوشهها — عامل از آنها به عنوان زمینه استفاده خواهد کرد.',
|
||||
'designFiles.upload.title': 'آپلود فایلها',
|
||||
'designFiles.paste.title': 'چسباندن متن به عنوان فایل',
|
||||
'designFiles.upload.label': 'آپلود',
|
||||
'designFiles.paste.label': 'چسباندن',
|
||||
'designFiles.previewOpen': 'باز کردن',
|
||||
'designFiles.previewClose': 'بستن پیشنمایش',
|
||||
'designFiles.modified': 'ویرایش شده {time} · {size}',
|
||||
'designFiles.weeksAgo': '{n} هفته پیش',
|
||||
'designFiles.sectionPages': 'صفحات',
|
||||
'designFiles.sectionScripts': 'اسکریپتها',
|
||||
'designFiles.sectionImages': 'تصاویر',
|
||||
'designFiles.sectionSketches': 'طرحها',
|
||||
'designFiles.sectionOther': 'سایر',
|
||||
'designFiles.showMore': '+{n} بیشتر',
|
||||
'designFiles.kindHtml': 'صفحه HTML',
|
||||
'designFiles.kindImage': 'تصویر',
|
||||
'designFiles.kindSketch': 'طرح',
|
||||
'designFiles.kindText': 'متن',
|
||||
'designFiles.kindCode': 'اسکریپت',
|
||||
'designFiles.kindPdf': 'PDF',
|
||||
'designFiles.kindDocument': 'سند',
|
||||
'designFiles.kindPresentation': 'ارائه',
|
||||
'designFiles.kindSpreadsheet': 'صفحه گسترده',
|
||||
'designFiles.kindBinary': 'باینری',
|
||||
'pasteDialog.title': 'چسباندن متن',
|
||||
'pasteDialog.hint': 'در پوشه پروژه ذخیره میشود. هر نامی انتخاب کنید.',
|
||||
'pasteDialog.fileNameLabel': 'نام فایل',
|
||||
'pasteDialog.namePlaceholder': 'notes.txt',
|
||||
'pasteDialog.contentLabel': 'محتوا',
|
||||
'pasteDialog.contentPlaceholder': 'هر چیزی را بچسبانید…',
|
||||
'pasteDialog.save': 'ذخیره',
|
||||
'pasteDialog.cancel': 'لغو',
|
||||
'sketch.save': 'ذخیره طرح',
|
||||
'sketch.cancel': 'لغو',
|
||||
'sketch.saving': 'در حال ذخیره…',
|
||||
'sketch.tooltipDirty': 'تغییرات ذخیره نشده',
|
||||
'sketch.tooltipClean': 'ذخیره شد',
|
||||
'fileViewer.empty': 'یک فایل را برای مشاهده انتخاب کنید.',
|
||||
'fileViewer.loading': 'در حال بارگذاری…',
|
||||
'fileViewer.exportPptx': 'صادرکردن به PPTX',
|
||||
'fileViewer.openInNewTab': 'باز کردن در تب جدید',
|
||||
'fileViewer.copyPath': 'کپی مسیر',
|
||||
'fileViewer.copied': 'کپی شد!',
|
||||
'fileViewer.share': 'اشتراکگذاری',
|
||||
'fileViewer.binaryMeta': 'باینری · {size}',
|
||||
'fileViewer.binaryNote':
|
||||
'فایل باینری ({size} بایت). برای بررسی دانلود یا از دیسک باز کنید.',
|
||||
'fileViewer.markdownStreamingMeta': 'پیشنمایش در حال استریم…',
|
||||
'fileViewer.markdownErrorMeta': 'پیشنمایش ممکن است ناقص باشد (خطای تولید).',
|
||||
'fileViewer.markdownStreamingStatus': 'در حال استریم… Markdown ناقص نمایش داده میشود.',
|
||||
'fileViewer.markdownErrorStatus': 'خطای تولید. آخرین محتوای در دسترس نمایش داده میشود.',
|
||||
'fileViewer.pdfMeta': 'PDF · {size}',
|
||||
'fileViewer.documentMeta': 'سند',
|
||||
'fileViewer.presentationMeta': 'ارائه',
|
||||
'fileViewer.spreadsheetMeta': 'صفحه گسترده',
|
||||
'fileViewer.previewUnavailable': 'پیشنمایش در دسترس نیست. برای بررسی فایل را دانلود یا باز کنید.',
|
||||
'fileViewer.download': 'دانلود',
|
||||
'fileViewer.open': 'باز کردن',
|
||||
'fileViewer.imageMeta': 'تصویر · {size}',
|
||||
'fileViewer.reactMeta': 'مؤلفه React · {size}',
|
||||
'fileViewer.sketchMeta': 'طرح · {size}',
|
||||
'fileViewer.videoMeta': 'ویدئو · {size}',
|
||||
'fileViewer.audioMeta': 'صدا · {size}',
|
||||
'fileViewer.reload': 'بارگذاری مجدد',
|
||||
'fileViewer.reloadDisk': 'بارگذاری مجدد از دیسک',
|
||||
'fileViewer.copy': 'کپی',
|
||||
'fileViewer.copyTitle': 'کپی محتوای فایل',
|
||||
'fileViewer.saveDisabled': 'ذخیره (نمایشگر فقط خواندنی)',
|
||||
'fileViewer.save': 'ذخیره',
|
||||
'fileViewer.preview': 'پیشنمایش',
|
||||
'fileViewer.source': 'منبع',
|
||||
'fileViewer.tweaks': 'تنظیمات جزئی',
|
||||
'fileViewer.comment': 'نظر',
|
||||
'fileViewer.edit': 'ویرایش',
|
||||
'fileViewer.draw': 'رسم',
|
||||
'fileViewer.zoomOut': 'کوچکنمایی',
|
||||
'fileViewer.zoomIn': 'بزرگنمایی',
|
||||
'fileViewer.resetZoom': 'بازنشانی زوم',
|
||||
'fileViewer.reloadAria': 'بارگذاری مجدد',
|
||||
'fileViewer.previousSlide': 'اسلاید قبلی',
|
||||
'fileViewer.nextSlide': 'اسلاید بعدی',
|
||||
'fileViewer.slideNavAria': 'پیمایش اسلاید',
|
||||
'fileViewer.present': 'ارائه',
|
||||
'fileViewer.presentInTab': 'در این تب',
|
||||
'fileViewer.presentFullscreen': 'تمام صفحه',
|
||||
'fileViewer.presentNewTab': 'تب جدید',
|
||||
'fileViewer.exitPresentation': 'خروج از ارائه',
|
||||
'fileViewer.shareLabel': 'اشتراکگذاری',
|
||||
'fileViewer.exportPdf': 'صادرکردن به PDF',
|
||||
'fileViewer.exportPdfAllSlides': 'صادرکردن به PDF (همه اسلایدها)',
|
||||
'fileViewer.exportPptxBusy': 'منتظر پایان نوبت فعلی باشید.',
|
||||
'fileViewer.exportPptxHint':
|
||||
'یک درخواست به عامل برای تبدیل این طرح به PPTX ارسال کنید.',
|
||||
'fileViewer.exportPptxNa': 'صادرکردن PPTX اینجا در دسترس نیست.',
|
||||
'fileViewer.exportZip': 'دانلود به صورت .zip',
|
||||
'fileViewer.exportHtml': 'صادرکردن به HTML مستقل',
|
||||
'fileViewer.exportMd': 'صادرکردن به صورت Markdown',
|
||||
'fileViewer.exportJsx': 'صادرکردن به JSX',
|
||||
'fileViewer.exportReactHtml': 'صادرکردن پیشنمایش به HTML',
|
||||
'fileViewer.saveAsTemplate': 'ذخیره به عنوان قالب…',
|
||||
'fileViewer.savingTemplate': 'در حال ذخیره قالب…',
|
||||
'fileViewer.savedTemplate': 'به عنوان «{name}» ذخیره شد',
|
||||
'fileViewer.savedTemplateFail': 'ذخیره قالب ناموفق بود — دوباره امتحان کنید.',
|
||||
'fileViewer.templateNamePrompt': 'نام قالب',
|
||||
'fileViewer.templateNameDefault': 'قالب بدون عنوان',
|
||||
'fileViewer.templateDescPrompt':
|
||||
'توضیح کوتاه (اختیاری — چه چیزی این قالب را مفید میکند؟)',
|
||||
|
||||
'questionForm.submit': 'ارسال',
|
||||
'questionForm.skip': 'رد کردن',
|
||||
'questionForm.locked': 'پاسخ داده شده',
|
||||
|
||||
'conv.switch': 'تغییر مکالمه',
|
||||
'conv.label': 'مکالمه',
|
||||
'conv.heading': 'مکالمات',
|
||||
'conv.new': '+ جدید',
|
||||
'conv.empty': 'هنوز هیچ مکالمهای وجود ندارد.',
|
||||
'conv.untitled': 'مکالمه بدون عنوان',
|
||||
'conv.renameTooltip': 'برای تغییر نام دوبار کلیک کنید',
|
||||
'conv.delete': 'حذف مکالمه',
|
||||
'conv.deleteConfirm': 'آیا «{title}» حذف شود؟ این کار پیامهای آن را حذف میکند.',
|
||||
|
||||
'agentPicker.label': 'عامل',
|
||||
'agentPicker.modeChoose': 'انتخاب حالت اجرا',
|
||||
'agentPicker.localCli': 'CLI محلی',
|
||||
'agentPicker.daemonOff': 'daemon خاموش',
|
||||
'agentPicker.byok': 'API · BYOK',
|
||||
'agentPicker.selectAgent': 'انتخاب یک CLI عامل کد شناسایی شده',
|
||||
'agentPicker.noAgents': 'هیچ عاملی در PATH وجود ندارد',
|
||||
'agentPicker.notInstalled': 'نصب نشده',
|
||||
'agentPicker.rescan': 'اسکن مجدد PATH محلی برای عاملها',
|
||||
|
||||
'tool.openInTab': 'باز کردن {name} در یک تب',
|
||||
'tool.open': 'باز کردن',
|
||||
'tool.todos': 'وظایف',
|
||||
'tool.write': 'نوشتن',
|
||||
'tool.edit': 'ویرایش',
|
||||
'tool.read': 'خواندن',
|
||||
'tool.bash': 'Bash',
|
||||
'tool.glob': 'Glob',
|
||||
'tool.grep': 'Grep',
|
||||
'tool.fetch': 'دریافت',
|
||||
'tool.search': 'جستجو',
|
||||
'tool.lines': '{n} خط',
|
||||
'tool.changeSingular': 'تغییر',
|
||||
'tool.changePlural': 'تغییرات',
|
||||
'tool.in': 'در {path}',
|
||||
'tool.hide': 'پنهان',
|
||||
'tool.output': 'خروجی',
|
||||
'tool.running': 'در حال اجرا…',
|
||||
'tool.error': 'خطا',
|
||||
'tool.done': 'انجام شد',
|
||||
|
||||
'assistant.role': 'دستیار',
|
||||
'assistant.workingLabel': 'در حال کار',
|
||||
'assistant.doneLabel': 'انجام شد',
|
||||
'assistant.unfinishedLabel': 'با کار ناتمام متوقف شد',
|
||||
'assistant.unfinishedSummary': '{n} وظیفه باقی مانده',
|
||||
'assistant.unfinishedMore': '+{n} بیشتر',
|
||||
'assistant.continueRemaining': 'ادامه وظایف باقی مانده',
|
||||
'assistant.outTokens': '{n} خروجی',
|
||||
'assistant.producedFiles': 'فایلهای این نوبت',
|
||||
'assistant.openFile': 'باز کردن',
|
||||
'assistant.downloadFile': 'دانلود',
|
||||
'assistant.thinking': 'در حال فکر کردن',
|
||||
'assistant.systemReminder': 'یادآور سیستم',
|
||||
'assistant.waitingFirstOutput': 'در انتظار اولین خروجی',
|
||||
'assistant.statusBootingAgent': 'راهاندازی عامل',
|
||||
'assistant.statusStarting': 'در حال شروع',
|
||||
'assistant.statusRequesting': 'در حال ارسال درخواست',
|
||||
'assistant.statusThinking': 'در حال فکر کردن',
|
||||
'assistant.statusStreaming': 'در حال استریم',
|
||||
'assistant.slowHint':
|
||||
'بیشتر از حد معمول طول میکشد. فرم معمولاً در ۵ تا ۱۰ ثانیه نمایش داده میشود — میتوانید متوقف کنید و عبارت را تغییر دهید.',
|
||||
'assistant.verbEditing': 'در حال ویرایش',
|
||||
'assistant.verbWriting': 'در حال نوشتن',
|
||||
'assistant.verbReading': 'در حال خواندن',
|
||||
'assistant.verbSearching': 'در حال جستجو',
|
||||
'assistant.verbRunning': 'در حال اجرا',
|
||||
'assistant.verbTodos': 'وظایف',
|
||||
'assistant.verbFetching': 'در حال دریافت',
|
||||
'assistant.verbCalling': 'در حال فراخوانی',
|
||||
|
||||
'qf.answered': 'پاسخ داده شده',
|
||||
'qf.choose': 'انتخاب کنید…',
|
||||
'qf.required': 'الزامی',
|
||||
'qf.lockedSubmitted':
|
||||
'پاسخها ارسال شدند — عامل از اینها برای بقیه جلسه استفاده میکند.',
|
||||
'qf.lockedPrev': 'این فرم از یک نوبت قبلی است.',
|
||||
'qf.hint':
|
||||
'آنچه را که مناسب است انتخاب کنید. فیلدهای اختیاری که برایتان مهم نیست را رد کنید — عامل از پیشفرضهای معقول استفاده خواهد کرد.',
|
||||
'qf.submitDefault': 'ارسال پاسخها',
|
||||
'qf.submitDisabledTitle': 'ابتدا فیلدهای الزامی را پر کنید',
|
||||
'qf.submitTitle': 'ارسال پاسخها',
|
||||
'qf.cardSelected': 'انتخاب شده',
|
||||
'qf.cardRefs': 'مراجع:',
|
||||
'qf.cardSampleText': 'روباه قهوهای سریع · ۰۱۲۳',
|
||||
|
||||
'fileViewer.deployToVercel': 'Deploy to Vercel',
|
||||
'fileViewer.redeployToVercel': 'Redeploy',
|
||||
'fileViewer.deployingToVercel': 'Deploying to Vercel…',
|
||||
'fileViewer.preparingPublicLink': 'Preparing public link…',
|
||||
'fileViewer.copyDeployLink': 'Copy link',
|
||||
'fileViewer.deployModalTitle': 'Deploy to Vercel',
|
||||
'fileViewer.deployModalSubtitle':
|
||||
'Deploy this HTML artifact as a Vercel Preview using your own account.',
|
||||
'fileViewer.vercelToken': 'Vercel token',
|
||||
'fileViewer.vercelTokenGetLink': 'Get Vercel token',
|
||||
'fileViewer.vercelTokenPlaceholder': 'Paste your Vercel token',
|
||||
'fileViewer.vercelTokenReuseHint':
|
||||
'Saved token will be used. Enter a new token to replace it.',
|
||||
'fileViewer.vercelTokenRequired': 'Enter and save a Vercel token first.',
|
||||
'fileViewer.vercelTeamId': 'Team ID',
|
||||
'fileViewer.vercelTeamSlug': 'Team slug',
|
||||
'fileViewer.optional': 'Optional',
|
||||
'fileViewer.vercelPreviewOnly': 'Deploys are Preview-only for now.',
|
||||
'fileViewer.savingConfig': 'Saving…',
|
||||
'fileViewer.deployConfigSaveFailed': 'Could not save Vercel settings.',
|
||||
'fileViewer.deployFailed': 'Deploy failed. Check Vercel settings and try again.',
|
||||
'fileViewer.deployResultLabel': 'Deployed URL',
|
||||
'fileViewer.deployLinkPreparingLabel': 'Public link pending',
|
||||
'fileViewer.deployLinkDelayed':
|
||||
'Your site is deployed. Vercel is still preparing the public link.',
|
||||
'fileViewer.deployLinkProtectedLabel': 'Vercel protection enabled',
|
||||
'fileViewer.deployLinkProtected':
|
||||
'Your site deployed, but Vercel is requiring authentication for this preview link. Disable Deployment Protection or use a custom domain.',
|
||||
'fileViewer.retryLink': 'Retry now',
|
||||
|
||||
'sketch.toolSelect': 'انتخاب (غیرفعال)',
|
||||
'sketch.toolPen': 'قلم',
|
||||
'sketch.toolText': 'متن',
|
||||
'sketch.toolRect': 'مستطیل',
|
||||
'sketch.toolArrow': 'فلش',
|
||||
'sketch.toolEraser': 'پاککن',
|
||||
'sketch.color': 'رنگ',
|
||||
'sketch.strokeSize': 'اندازه خط',
|
||||
'sketch.undo': 'واگرد',
|
||||
'sketch.clear': 'پاک کردن',
|
||||
'sketch.close': 'بستن',
|
||||
'sketch.textPrompt': 'متن:',
|
||||
|
||||
'pet.title': 'حیوان خانگی',
|
||||
'pet.tabBuiltIn': 'پیشفرض',
|
||||
'pet.tabBuiltInHint': 'همراهان منتخب همراه Open Design — یکی را انتخاب و فرزندخوانده کن.',
|
||||
'pet.builtInEmpty': 'حیوانات داخلی در حال حاضر در دسترس نیستند. وقتی دیمن دوباره فعال شد، تب جامعه را تازه کن.',
|
||||
'pet.tabCustom': 'سفارشی',
|
||||
'pet.tabCustomHint': 'نام، نشان، رنگ یا اسپرایت دلخواه خودت را تنظیم کن.',
|
||||
'pet.tabCommunity': 'انجمن',
|
||||
'pet.tabCommunityHint': 'حیوانات تولیدشدهٔ Codex — یکی را پذیرش کن یا با هوش مصنوعی بساز.',
|
||||
'pet.tabsAria': 'منبع حیوان خانگی',
|
||||
'pet.subtitle': 'یک همراه کوچک را به فرزندخواندگی بپذیرید که روی فضای کاری شما شناور میماند.',
|
||||
'pet.navTitle': 'حیوان خانگی',
|
||||
'pet.navHint': 'فرزندخواندگی یا سفارشیسازی',
|
||||
'pet.adopt': 'فرزندخواندگی',
|
||||
'pet.adoptedBadge': 'فرزندخوانده',
|
||||
'pet.adoptCallout': 'یک حیوان خانگی بپذیرید',
|
||||
'pet.changePet': 'تغییر حیوان خانگی',
|
||||
'pet.wake': 'بیدار کردن',
|
||||
'pet.tuck': 'پنهان کردن',
|
||||
'pet.wakeTitle': 'بیدار کردن حیوان خانگی — نمایش لایه شناور.',
|
||||
'pet.tuckTitle': 'پنهان کردن حیوان خانگی — مخفی کردن لایه شناور.',
|
||||
'pet.settingsTitle': 'باز کردن تنظیمات حیوان خانگی',
|
||||
'pet.useCustom': 'استفاده از حیوان خانگی من',
|
||||
'pet.customTitle': 'خودتان بسازید',
|
||||
'pet.customHint': 'یک نام، نماد و رنگ تأکید انتخاب کنید — لایه بهطور زنده بهروزرسانی میشود.',
|
||||
'pet.customGreetingPlaceholder': 'سلامی از طرف حیوان خانگی شما…',
|
||||
'pet.fieldName': 'نام',
|
||||
'pet.fieldGlyph': 'نماد',
|
||||
'pet.fieldGlyphHint': 'یک ایموجی بهترین کارایی را دارد (مثلاً 🐝، 🦄، 🐢).',
|
||||
'pet.fieldGreeting': 'پیام خوشآمد',
|
||||
'pet.fieldAccent': 'رنگ تأکید',
|
||||
'pet.fieldAccentCustom': 'رنگ سفارشی',
|
||||
'pet.overlayAria': 'همراه حیوان خانگی',
|
||||
'pet.spriteAria': '{name} — برای جابجایی بکشید، برای گفتوگو کلیک کنید',
|
||||
'pet.spriteTitle': 'سلام از طرف {name}! برای گفتوگو کلیک کنید.',
|
||||
'pet.railAria': 'انتخابگر حیوان خانگی',
|
||||
'pet.railTitle': 'حیوانات خانگی',
|
||||
'pet.railHint': 'یک همراه انتخاب کنید تا روی فضای کاری شما شناور شود.',
|
||||
'pet.railExpand': 'نمایش انتخابگر',
|
||||
'pet.railCollapse': 'جمعکردن انتخابگر',
|
||||
'pet.railHide': 'مخفی کردن انتخابگر حیوانات',
|
||||
'pet.railShow': 'نمایش انتخابگر حیوانات',
|
||||
'pet.railCustomFlavor': 'مال شما — نام، نماد و رنگ.',
|
||||
'pet.railCustomize': 'سفارشیسازی…',
|
||||
'pet.composerTitle': 'حیوانات خانگی — بیدار کردن، پنهان یا انتخاب',
|
||||
'pet.composerMenuTitle': 'حیوانات خانگی',
|
||||
'pet.composerMenuHint': 'نکته: /pet را تایپ کنید تا تغییر دهید',
|
||||
'pet.composerOpenSettings': 'سفارشیسازی در تنظیمات',
|
||||
'pet.welcomeTeaserTitle': 'یک حیوان خانگی بپذیرید',
|
||||
'pet.welcomeTeaserBody': 'یک همراه کوچک که بالای فضای کاری شما شناور میشود.',
|
||||
'pet.welcomeTeaserCta': 'یکی انتخاب کنید',
|
||||
'pet.imageUpload': 'بارگذاری اسپرایت',
|
||||
'pet.imageReplace': 'جایگزینی اسپرایت',
|
||||
'pet.imageRemove': 'استفاده از ایموجی',
|
||||
'pet.imageHintIdle': 'PNG، JPG، WebP، GIF یا SVG. اسپرایتشیت؟ یک نوار افقی بارگذاری کنید و تعداد فریم را تنظیم کنید.',
|
||||
'pet.imageHintActive': 'اسپرایت شما نمایش داده میشود. فریم را > ۱ تنظیم کنید تا یک اسپرایتشیت افقی متحرک شود.',
|
||||
'pet.fieldFrames': 'فریمها',
|
||||
'pet.fieldFramesHint': '۱ = ثابت. > ۱ = اسپرایتشیت افقی.',
|
||||
'pet.fieldFps': 'سرعت (fps)',
|
||||
'pet.fieldFpsHint': 'سرعت چرخش فریمها.',
|
||||
'pet.atlasImport': 'وارد کردن اسپرایت Codex',
|
||||
'pet.atlasImportTitle': 'یک اطلس hatch-pet با ابعاد 8x9 / 192x208 (PNG یا WebP) وارد کنید.',
|
||||
'pet.atlasPickerTitle': 'یک ردیف انیمیشن انتخاب کنید',
|
||||
'pet.atlasPickerHint': 'پتهای Codex با ۹ ردیف انیمیشن میآیند. بهطور پیشفرض کل اطلس را نگه میداریم تا پت با هاور، جهت کشیدن و بیکاری طولانی ردیف عوض کند. میتوانی به یک حلقهٔ ثابت هم محدودش کنی.',
|
||||
'pet.atlasCancel': 'حذف اطلس',
|
||||
'pet.atlasAdopt': 'قفل روی این ردیف',
|
||||
'pet.atlasAdoptFull': 'استفاده از کل اطلس (متحرک)',
|
||||
'pet.atlasAdoptFullTitle': 'همهٔ ردیفها را نگه دار تا پت به هاور، جهت کشیدن و بیکاری طولانی واکنش بدهد.',
|
||||
'pet.atlasAdoptRowTitle': 'فقط ردیف برجستهشده را به نوار حلقهای تکردیفی تبدیل کن.',
|
||||
'pet.atlasActiveHint': 'اطلس متحرک فعال است — پت بر اساس تعامل تو (هاور، کشیدن، بیکاری) ردیف را عوض میکند.',
|
||||
'pet.atlasRow.idle': 'بیحرکت',
|
||||
'pet.atlasRow.running-right': 'دویدن به راست',
|
||||
'pet.atlasRow.running-left': 'دویدن به چپ',
|
||||
'pet.atlasRow.waving': 'تکان دادن دست',
|
||||
'pet.atlasRow.jumping': 'پرش',
|
||||
'pet.atlasRow.failed': 'شکست',
|
||||
'pet.atlasRow.waiting': 'انتظار',
|
||||
'pet.atlasRow.running': 'دویدن',
|
||||
'pet.atlasRow.review': 'بررسی',
|
||||
'pet.hatchTitle': 'یک پت جدید با هوش مصنوعی پرورش بده',
|
||||
'pet.hatchHint': 'از مهارت hatch-pet داخل چت برای ساخت اسپرایتشیت سبک Codex استفاده کنید و سپس اینجا وارد کنید.',
|
||||
'pet.hatchConcept': 'مفهوم پت (اختیاری)',
|
||||
'pet.hatchConceptPlaceholder': 'مثلاً: یک شیبا اینوی پیکسلی با ژاکتی نرم',
|
||||
'pet.hatchCopy': 'کپی پرامپت',
|
||||
'pet.hatchCopied': 'کپی شد!',
|
||||
'pet.hatchFoot': 'پس از اینکه مهارت پت شما را ذخیره کرد، اینجا برگردید و «وارد کردن اسپرایت Codex» را بزنید.',
|
||||
'pet.slashPopoverAria': 'دستورهای اسلش',
|
||||
'pet.slashPopoverTitle': 'دستورها',
|
||||
'pet.slashPopoverHint': '↑↓ پیمایش · enter انتخاب · esc بستن',
|
||||
'pet.slashPet': 'پت را روشن/خاموش کنید، انتخاب کنید یا تنظیمات را باز کنید.',
|
||||
'pet.slashPetWake': 'پت شناور را بیدار کنید.',
|
||||
'pet.slashPetTuck': 'پت را فعلاً جمع کنید.',
|
||||
'pet.slashHatch': 'با مهارت hatch-pet یک پت Codex بسازید.',
|
||||
'pet.slashHatchArg': '<مفهوم>',
|
||||
'pet.codexTitle': 'تازهمتولدها',
|
||||
'pet.codexSubtitle': 'پتهایی که مهارت hatch-pet بستهبندی کرده اینجا ظاهر میشوند تا با یک کلیک پذیرفته شوند.',
|
||||
'pet.codexSubtitleWithDir': 'در حال اسکن {dir} برای بستههای hatch-pet.',
|
||||
'pet.codexEmpty': 'هنوز پتی متولد نشده. در چت /hatch بنویسید تا یکی بسازد.',
|
||||
'pet.codexLoading': 'در حال جستجوی پتهای متولدشده…',
|
||||
'pet.codexRefresh': 'بازخوانی',
|
||||
'pet.codexAdopt': 'پذیرش',
|
||||
'pet.codexAdopting': 'در حال پذیرش…',
|
||||
'pet.communitySync': 'دانلود حیوانات اجتماعی',
|
||||
'pet.communitySyncing': 'در حال دانلود…',
|
||||
'pet.communitySyncTitle': 'همگامسازی جدیدترین حیوانات از Codex Pet Share + j20 Hatchery در ~/.codex/pets/.',
|
||||
'pet.communitySyncDone': '{wrote} حیوان جدید همگام شد (مجموع {total}).',
|
||||
'pet.communitySyncFailed': 'خطا در همگامسازی: {error}',
|
||||
'pet.codexBundled': 'همراه',
|
||||
'pet.codexBundledTitle': 'همراه Open Design ارائه میشود — نیازی به دانلود نیست.',
|
||||
|
||||
'settings.notifications': 'اعلانها',
|
||||
'settings.notificationsHint': 'صدا و اعلان دسکتاپ هنگام تکمیل وظیفه',
|
||||
'settings.notifyCompletionSound': 'صدای تکمیل',
|
||||
'settings.notifyCompletionSoundHint': 'پس از اتمام یک نوبت پخش میشود. بهطور پیشفرض خاموش است.',
|
||||
'settings.notifySuccessSound': 'صدای موفقیت',
|
||||
'settings.notifyFailureSound': 'صدای خطا',
|
||||
'settings.notifyDesktop': 'اعلان دسکتاپ',
|
||||
'settings.notifyDesktopHint': 'هنگامی که پنجره فعال نیست ارسال میشود.',
|
||||
'settings.notifyDesktopBlocked': 'مرورگر اعلانها را مسدود کرده است. در تنظیمات سایت آنها را مجاز کنید.',
|
||||
'settings.notifyDesktopUnsupported': 'اعلانهای دسکتاپ در این محیط در دسترس نیستند.',
|
||||
'settings.notifyTest': 'ارسال آزمایشی',
|
||||
'settings.notifyTestSent': 'اعلان آزمایشی ارسال شد. اگر بنری نمایش داده نشد، تنظیمات اعلان مرورگر و سیستم را بررسی کنید.',
|
||||
'settings.notifyTestFailed': 'فراخوانی اعلان ناموفق بود. تنظیمات اعلان مرورگر و سیستم را بررسی کنید.',
|
||||
'settings.notifySoundDing': 'دینگ',
|
||||
'settings.notifySoundChime': 'زنگ',
|
||||
'settings.notifySoundTwoToneUp': 'دو نوای بالارونده',
|
||||
'settings.notifySoundPluck': 'مضراب',
|
||||
'settings.notifySoundBuzz': 'وزوز',
|
||||
'settings.notifySoundTwoToneDown': 'دو نوای پایینرونده',
|
||||
'settings.notifySoundThud': 'تالاپ',
|
||||
'notify.successTitle': 'وظیفه تکمیل شد',
|
||||
'notify.failureTitle': 'وظیفه ناموفق بود',
|
||||
'notify.successBody': 'یک نوبت به پایان رسید.',
|
||||
'notify.failureBody': 'وظیفه با خطا پایان یافت.',
|
||||
};
|
||||
@@ -0,0 +1,830 @@
|
||||
import type { Dict } from '../types';
|
||||
|
||||
export const fr: Dict = {
|
||||
'common.cancel': 'Annuler',
|
||||
'common.save': 'Enregistrer',
|
||||
'common.close': 'Fermer',
|
||||
'common.delete': 'Supprimer',
|
||||
'common.rename': 'Renommer',
|
||||
'common.preview': 'Aperçu',
|
||||
'common.share': 'Partager',
|
||||
'common.search': 'Rechercher',
|
||||
'common.searchEllipsis': 'Rechercher…',
|
||||
'common.loading': 'Chargement…',
|
||||
'common.all': 'Tout',
|
||||
'common.none': 'Aucun',
|
||||
'common.default': 'Par défaut',
|
||||
'common.installed': 'installé',
|
||||
'common.notInstalled': 'non installé',
|
||||
'common.active': 'actif',
|
||||
'common.offline': 'hors ligne',
|
||||
'common.selected': 'sélectionné',
|
||||
'common.create': 'Créer',
|
||||
'common.openPreview': 'Ouvrir l\'aperçu',
|
||||
'common.exitFullscreen': 'Quitter le plein écran',
|
||||
'common.fullscreen': 'Plein écran',
|
||||
'common.openInNewTab': 'Ouvrir dans un nouvel onglet',
|
||||
'common.exportPdf': 'Exporter en PDF',
|
||||
'common.exportZip': 'Télécharger en .zip',
|
||||
'common.exportHtml': 'Exporter en HTML autonome',
|
||||
'common.justNow': 'à l\'instant',
|
||||
'common.minutesAgo': 'il y a {n} min',
|
||||
'common.hoursAgo': 'il y a {n} h',
|
||||
'common.daysAgo': 'il y a {n} j',
|
||||
'common.now': 'maintenant',
|
||||
'common.minutesShort': '{n} min',
|
||||
'common.hoursShort': '{n} h',
|
||||
'common.daysShort': '{n} j',
|
||||
'common.untitled': 'Sans titre',
|
||||
|
||||
'app.brand': 'Open Design',
|
||||
'app.brandPill': 'Aperçu de recherche',
|
||||
'app.brandSubtitle': 'par Nexu Labs',
|
||||
'app.welcomeLoading': 'Chargement de l\'espace de travail…',
|
||||
|
||||
'settings.welcomeKicker': 'Bienvenue',
|
||||
'settings.welcomeTitle': 'Configurer Open Design',
|
||||
'settings.welcomeSubtitle':
|
||||
'Choisissez comment vous souhaitez exécuter les générations. Vous pouvez changer cela à tout moment depuis le bouton Paramètres dans la barre supérieure.',
|
||||
'settings.kicker': 'Paramètres',
|
||||
'settings.title': 'Exécution et modèle',
|
||||
'settings.subtitle': 'Choisissez entre CLI local et BYOK. Votre clé API est stockée uniquement dans ce navigateur.',
|
||||
'settings.modeAria': 'Mode d\'exécution',
|
||||
'settings.protocolAria': 'Protocole d\'API',
|
||||
'settings.modeDaemon': 'CLI local',
|
||||
'settings.modeDaemonHelp': 'Exécuter via un agent CLI sur votre machine',
|
||||
'settings.modeDaemonOffline': 'Le daemon n\'est pas en cours d\'exécution',
|
||||
'settings.modeDaemonOfflineMeta': 'daemon hors ligne',
|
||||
'settings.modeDaemonInstalledMeta': '{count} installé(s)',
|
||||
'settings.modeApi': 'Fournisseur API',
|
||||
'settings.modeApiMeta': 'BYOK',
|
||||
'settings.codeAgent': 'Agent de code',
|
||||
'settings.codeAgentHint':
|
||||
'Détecté en analysant votre PATH. Choisissez le CLI à travers lequel les générations seront exécutées.',
|
||||
'settings.rescan': '↻ Réanalyser',
|
||||
'settings.rescanTitle': 'Réanalyser le PATH',
|
||||
'settings.rescanRunning': 'Analyse...',
|
||||
'settings.rescanSuccess': 'Analyse terminée. {count} disponible(s).',
|
||||
'settings.rescanFailed': 'L’analyse a échoué. Vérifiez le daemon et réessayez.',
|
||||
'settings.noAgentsDetected':
|
||||
'Aucun agent détecté pour l\'instant. Installez Claude Code, Codex, Devin for Terminal, Gemini CLI, OpenCode, Cursor Agent, Qwen ou GitHub Copilot CLI, puis cliquez sur Réanalyser.',
|
||||
'settings.apiSection': 'API Anthropic',
|
||||
'settings.quickFillProvider': 'Remplissage rapide du fournisseur',
|
||||
'settings.customProvider': 'Fournisseur personnalisé',
|
||||
'settings.apiKey': 'Clé API',
|
||||
'settings.showKey': 'Afficher la clé',
|
||||
'settings.hideKey': 'Masquer la clé',
|
||||
'settings.show': 'Afficher',
|
||||
'settings.hide': 'Masquer',
|
||||
'settings.model': 'Modèle',
|
||||
'settings.suggestedModelsHint':
|
||||
'Ce sont des modèles suggérés pour ce protocole. Votre fournisseur peut prendre en charge d\'autres modèles.',
|
||||
'settings.baseUrl': 'URL de base',
|
||||
'settings.baseUrlInvalid': 'Saisissez une URL publique http:// ou https:// valide. Localhost est autorisé ; les IP de réseau privé sont bloquées.',
|
||||
'settings.azureDeploymentModel': 'Nom du déploiement',
|
||||
'settings.azureDeploymentModelHint':
|
||||
'Pour Azure OpenAI, ce champ est utilisé comme nom du déploiement dans /openai/deployments/<model>. Saisissez le nom du déploiement créé dans Azure.',
|
||||
'settings.apiVersion': 'Version API',
|
||||
'settings.maxTokens': 'Tokens max (optionnel)',
|
||||
'settings.maxTokensHint':
|
||||
'Limite de la longueur de réponse. Chaque modèle a une valeur par défaut (affichée en placeholder) ; laissez vide pour l\'utiliser, ou entrez un nombre pour la remplacer.',
|
||||
'settings.apiHint': 'Les appels passent par le proxy du daemon local vers la Base URL définie. La clé est stockée uniquement dans ce navigateur et envoyée avec les requêtes au fournisseur.',
|
||||
'settings.skipForNow': 'Passer pour l\'instant',
|
||||
'settings.getStarted': 'Commencer',
|
||||
'settings.envConfigure': 'Configurer le mode d\'exécution',
|
||||
'settings.localCli': 'CLI local',
|
||||
'settings.anthropicApi': 'API Anthropic',
|
||||
'settings.noAgentSelected': 'aucun agent sélectionné',
|
||||
'settings.language': 'Langue',
|
||||
'settings.languageHint': 'Changer la langue de l\'interface. Enregistré dans ce navigateur.',
|
||||
'settings.appearance': 'Apparence',
|
||||
'settings.appearanceHint': 'Choisissez clair, sombre, ou suivez le paramètre système.',
|
||||
'settings.themeSystem': 'Système',
|
||||
'settings.themeLight': 'Clair',
|
||||
'settings.themeDark': 'Sombre',
|
||||
'settings.modelPicker': 'Modèle',
|
||||
'settings.reasoningPicker': 'Effort de raisonnement',
|
||||
'settings.modelPickerHint':
|
||||
'Récupéré depuis le CLI lorsqu\'il expose une commande `models`. « Par défaut » laisse le choix à la configuration du CLI ; « Personnalisé… » vous permet de saisir n\'importe quel identifiant de modèle accepté par le CLI.',
|
||||
'settings.modelCustom': 'Personnalisé (saisir ci-dessous)…',
|
||||
'settings.modelCustomLabel': 'Identifiant du modèle personnalisé',
|
||||
'settings.modelCustomPlaceholder': 'ex. anthropic/claude-sonnet-4-6',
|
||||
'settings.mediaProviders': 'Fournisseurs de médias',
|
||||
'settings.mediaProvidersHint':
|
||||
'Clés API pour la génération d\'images, de vidéos et d\'audio. Stockées localement et synchronisées avec le daemon local.',
|
||||
'settings.mediaProviderApiKey': 'Clé API',
|
||||
'settings.mediaProviderBaseUrl': 'URL de base',
|
||||
'settings.mediaProviderConfigured': 'Configuré',
|
||||
'settings.mediaProviderUnset': 'Non défini',
|
||||
'settings.mediaProviderClear': 'Effacer',
|
||||
'settings.mediaProviderPlaceholder': 'Coller la clé API',
|
||||
'settings.mediaProviderBaseUrlPlaceholder': 'Remplacer l\'URL de base par défaut',
|
||||
'settings.about': 'À propos',
|
||||
'settings.aboutHint': 'Version et informations d\'exécution',
|
||||
'settings.appVersion': 'Version',
|
||||
'settings.appChannel': 'Canal',
|
||||
'settings.appRuntime': 'Environnement',
|
||||
'settings.appPlatform': 'Plateforme',
|
||||
'settings.appArchitecture': 'Architecture',
|
||||
'settings.runtimePackaged': 'Application empaquetée',
|
||||
'settings.runtimeDevelopment': 'Développement',
|
||||
'settings.versionUnavailable': 'Les informations de version sont indisponibles lorsque le daemon est hors ligne.',
|
||||
|
||||
'entry.tabDesigns': 'Designs',
|
||||
'entry.tabExamples': 'Exemples',
|
||||
'entry.tabDesignSystems': 'Design systems',
|
||||
'entry.openSettingsTitle': 'Paramètres',
|
||||
'entry.openSettingsAria': 'Ouvrir les paramètres',
|
||||
'entry.resizeAria': 'Redimensionner la barre latérale',
|
||||
'entry.loadingWorkspace': 'Chargement de l\'espace de travail…',
|
||||
'entry.tabImageTemplates': 'Modèles d\'image',
|
||||
'entry.tabVideoTemplates': 'Modèles de vidéo',
|
||||
'promptTemplates.searchPlaceholder': 'Rechercher des modèles…',
|
||||
'promptTemplates.countLabel': '{n} résultats',
|
||||
'promptTemplates.emptyImage': 'Aucun modèle de prompt d\'image installé pour l\'instant.',
|
||||
'promptTemplates.emptyVideo': 'Aucun modèle de prompt vidéo installé pour l\'instant.',
|
||||
'promptTemplates.emptyNoMatch': 'Aucun modèle ne correspond à votre recherche.',
|
||||
'promptTemplates.attributionFooter': 'Adapté de bibliothèques de prompts publiques. Chaque carte renvoie vers l\'auteur original.',
|
||||
'promptTemplates.openPreviewTitle': 'Ouvrir le prompt et l\'aperçu',
|
||||
'promptTemplates.sourcePrefix': 'Source :',
|
||||
'promptTemplates.fetchError': 'Impossible de charger le contenu de ce modèle.',
|
||||
'promptTemplates.promptLabel': 'Corps du prompt',
|
||||
'promptTemplates.copyPrompt': 'Copier le prompt',
|
||||
'promptTemplates.copyDone': 'Copié !',
|
||||
'promptTemplates.modelHint': 'Modèle suggéré : {model}',
|
||||
'promptTemplates.openSource': 'Voir l\'original',
|
||||
'promptTemplates.openFullscreen': 'Ouvrir l\'aperçu en plein écran',
|
||||
'promptTemplates.closeFullscreen': 'Fermer l\'aperçu plein écran',
|
||||
'promptTemplates.retry': 'Réessayer',
|
||||
|
||||
'newproj.tabPrototype': 'Prototype',
|
||||
'newproj.tabDeck': 'Diaporama',
|
||||
'newproj.tabTemplate': 'Depuis un modèle',
|
||||
'newproj.tabOther': 'Autre',
|
||||
'newproj.titlePrototype': 'Nouveau prototype',
|
||||
'newproj.titleDeck': 'Nouveau diaporama',
|
||||
'newproj.titleTemplate': 'Partir d\'un modèle',
|
||||
'newproj.titleImage': 'Nouvelle image',
|
||||
'newproj.titleVideo': 'Nouvelle vidéo',
|
||||
'newproj.titleAudio': 'Nouvel audio',
|
||||
'newproj.titleOther': 'Nouveau projet',
|
||||
'newproj.namePlaceholder': 'Nom du projet',
|
||||
'newproj.fidelityLabel': 'Fidélité',
|
||||
'newproj.fidelityWireframe': 'Wireframe',
|
||||
'newproj.fidelityHigh': 'Haute fidélité',
|
||||
'newproj.toggleSpeakerNotes': 'Utiliser des notes d\'orateur',
|
||||
'newproj.toggleSpeakerNotesHint': 'Moins de texte sur les diapositives — gardez les points de discussion dans les notes.',
|
||||
'newproj.toggleAnimations': 'Inclure des animations',
|
||||
'newproj.toggleAnimationsHint':
|
||||
'Ajouter du mouvement (entrée, survol, transitions) en plus du modèle.',
|
||||
'newproj.templateLabel': 'Modèle',
|
||||
'newproj.noTemplatesTitle': 'Aucun modèle pour l\'instant',
|
||||
'newproj.noTemplatesBody':
|
||||
'Ouvrez un projet, puis utilisez le menu Partager dans la visionneuse de fichiers pour le convertir en modèle. Les modèles apparaissent ici.',
|
||||
'newproj.savedTemplate': 'Modèle enregistré',
|
||||
'newproj.fileSingular': 'fichier',
|
||||
'newproj.filePlural': 'fichiers',
|
||||
'newproj.create': 'Créer',
|
||||
'newproj.createFromTemplate': 'Créer depuis le modèle',
|
||||
'newproj.createDisabledTitle':
|
||||
'Enregistrez d\'abord un projet comme modèle (menu Partager dans un projet).',
|
||||
'newproj.importClaudeZip': 'Importer un ZIP Claude Design',
|
||||
'newproj.importClaudeZipTitle': 'Importer une exportation .zip Claude Design',
|
||||
'newproj.importingClaudeZip': 'Importation…',
|
||||
'newproj.privacyFooter': 'Seul vous pouvez voir votre projet par défaut.',
|
||||
'newproj.designSystem': 'Design system',
|
||||
'newproj.dsNoneFreeform': 'Aucun — libre',
|
||||
'newproj.dsNoneSubtitleEmpty': 'Pas de jetons système, choisissez votre propre palette',
|
||||
'newproj.dsNoneSubtitleSelected': 'Ignorer les jetons système. L\'agent choisit sa propre palette.',
|
||||
'newproj.dsCategoryFallback': 'Design system',
|
||||
'newproj.dsSearch': 'Rechercher des design systems…',
|
||||
'newproj.dsModeAria': 'Mode de sélection',
|
||||
'newproj.dsModeSingle': 'Unique',
|
||||
'newproj.dsModeMulti': 'Multiple',
|
||||
'newproj.dsNoneTitle': 'Aucun — libre',
|
||||
'newproj.dsNoneSub': 'Ignorer les jetons système. L\'agent choisit sa propre palette.',
|
||||
'newproj.dsEmpty': 'Aucun design system ne correspond à « {query} ».',
|
||||
'newproj.dsFootSingular': 'est uniquement à titre d\'inspiration.',
|
||||
'newproj.dsFootPlural': 'sont uniquement à titre d\'inspiration.',
|
||||
'newproj.dsFootClear': 'Effacer',
|
||||
'newproj.dsBadgeDefault': 'DÉFAUT',
|
||||
'newproj.dsPrimaryFallback': 'Primaire',
|
||||
'newproj.surfaceImage': 'Image',
|
||||
'newproj.surfaceVideo': 'Vidéo',
|
||||
'newproj.surfaceAudio': 'Audio',
|
||||
'newproj.modelLabel': 'Modèle',
|
||||
'newproj.aspectLabel': 'Format',
|
||||
'newproj.imageStyleLabel': 'Notes de style',
|
||||
'newproj.imageStylePlaceholder': 'Photo éditoriale, lumière douce, palette sobre',
|
||||
'newproj.videoLengthLabel': 'Durée',
|
||||
'newproj.videoLengthSeconds': '{n}s',
|
||||
'newproj.audioKindLabel': 'Type d\'audio',
|
||||
'newproj.audioKindMusic': 'Musique',
|
||||
'newproj.audioKindSpeech': 'Voix / TTS',
|
||||
'newproj.audioKindSfx': 'Effets sonores',
|
||||
'newproj.audioDurationLabel': 'Durée',
|
||||
'newproj.audioDurationSeconds': '{n}s',
|
||||
'newproj.voiceLabel': 'Voix',
|
||||
'newproj.voicePlaceholder': 'Identifiant de voix du fournisseur, optionnel',
|
||||
'newproj.promptTemplateLabel': 'Modèle de référence',
|
||||
'newproj.promptTemplateNoneTitle': 'Aucun — rédigez le vôtre',
|
||||
'newproj.promptTemplateNoneSub': 'Ignorer la galerie, décrivez votre propre brief',
|
||||
'newproj.promptTemplateRefSub': 'Modèle de référence',
|
||||
'newproj.promptTemplateSearch': 'Rechercher des modèles…',
|
||||
'newproj.promptTemplateEmpty': 'Aucun modèle installé pour cette surface pour l\'instant.',
|
||||
'newproj.promptTemplateBodyLabel': 'Prompt (vous pouvez l\'ajuster)',
|
||||
'newproj.promptTemplateOptimizeHint':
|
||||
'Modifiez ce que vous voulez — vos modifications sont transmises au brief de l\'agent.',
|
||||
'newproj.promptTemplateBodyEmpty':
|
||||
'Corps vide — l\'agent ne recevra aucune référence de modèle.',
|
||||
|
||||
'designs.subRecent': 'Récents',
|
||||
'designs.subYours': 'Vos designs',
|
||||
'designs.filterAria': 'Filtrer les projets',
|
||||
'designs.searchPlaceholder': 'Rechercher…',
|
||||
'designs.emptyNoProjects': 'Aucun projet pour l\'instant. Créez-en un à gauche.',
|
||||
'designs.emptyNoMatch': 'Aucun projet ne correspond à votre recherche.',
|
||||
'designs.deleteTitle': 'Supprimer le projet',
|
||||
'designs.deleteConfirm': 'Supprimer « {name} » ?',
|
||||
'designs.cardFreeform': 'libre',
|
||||
'designs.status.notStarted': 'Non commencé',
|
||||
'designs.status.queued': 'En file d\'attente',
|
||||
'designs.status.running': 'En cours',
|
||||
'designs.status.awaitingInput': 'Entrée requise',
|
||||
'designs.status.succeeded': 'Terminé',
|
||||
'designs.status.failed': 'Échoué',
|
||||
'designs.status.canceled': 'Annulé',
|
||||
'designs.viewToggleAria': 'Mode d\'affichage',
|
||||
'designs.viewGrid': 'Vue grille',
|
||||
'designs.viewKanban': 'Vue tableau',
|
||||
'designs.kanbanEmptyColumn': 'Aucun design',
|
||||
'designs.deleteAria': 'Supprimer le projet {name}',
|
||||
|
||||
'examples.typeLabel': 'Type',
|
||||
'examples.surfaceLabel': 'Surface',
|
||||
'examples.surfaceWeb': 'Web',
|
||||
'examples.surfaceImage': 'Image',
|
||||
'examples.surfaceVideo': 'Vidéo',
|
||||
'examples.surfaceAudio': 'Audio',
|
||||
'examples.scenarioLabel': 'Scénario',
|
||||
'examples.modeAll': 'Tout',
|
||||
'examples.modePrototypeDesktop': 'Prototypes · Bureau',
|
||||
'examples.modePrototypeMobile': 'Prototypes · Mobile',
|
||||
'examples.modeDeck': 'Diaporamas',
|
||||
'examples.modeDocument': 'Docs et modèles',
|
||||
'examples.scenarioGeneral': 'Général',
|
||||
'examples.scenarioEngineering': 'Ingénierie',
|
||||
'examples.scenarioProduct': 'Produit',
|
||||
'examples.scenarioDesign': 'Design',
|
||||
'examples.scenarioMarketing': 'Marketing',
|
||||
'examples.scenarioSales': 'Ventes',
|
||||
'examples.scenarioFinance': 'Finance',
|
||||
'examples.scenarioHr': 'RH',
|
||||
'examples.scenarioOperations': 'Opérations',
|
||||
'examples.scenarioSupport': 'Support',
|
||||
'examples.scenarioLegal': 'Juridique',
|
||||
'examples.scenarioEducation': 'Éducation',
|
||||
'examples.scenarioPersonal': 'Personnel',
|
||||
'examples.searchPlaceholder': 'Rechercher des exemples…',
|
||||
'examples.searchAria': 'Rechercher des exemples par nom',
|
||||
'examples.emptyNoSkills': 'Aucune compétence disponible. Le daemon est-il en cours d\'exécution ?',
|
||||
'examples.emptyNoMatch': 'Aucun exemple ne correspond à ces filtres.',
|
||||
'examples.openPreview': '⤢ Ouvrir l\'aperçu',
|
||||
'examples.loadingPreview': 'Chargement de l\'aperçu…',
|
||||
'examples.hoverPreview': 'Survoler pour prévisualiser',
|
||||
'examples.usePrompt': 'Utiliser ce prompt',
|
||||
'examples.previewModalTitle': 'Ouvrir l\'aperçu complet (modale)',
|
||||
'examples.shareTitle': 'Partager cet exemple',
|
||||
'examples.shareLoadFirst': 'Survolez pour charger l\'aperçu d\'abord',
|
||||
'examples.shareMenu': 'Partager ▾',
|
||||
'examples.exportPdfAllSlides': 'Exporter en PDF (toutes les diapos)',
|
||||
'examples.exportPptxLocked': 'Exporter en PPTX… (ouvrez d\'abord le modèle)',
|
||||
'examples.tagSlideDeck': 'Diaporama',
|
||||
'examples.tagTemplate': 'Modèle',
|
||||
'examples.tagDesignSystem': 'Design system',
|
||||
'examples.tagMobilePrototype': 'Prototype mobile',
|
||||
'examples.tagDesktopPrototype': 'Prototype bureau',
|
||||
'examples.tagImage': 'Image',
|
||||
'examples.tagVideo': 'Vidéo',
|
||||
'examples.tagAudio': 'Audio',
|
||||
'examples.previewLabel': 'Aperçu',
|
||||
|
||||
'ds.surfaceLabel': 'Surface',
|
||||
'ds.surfaceWeb': 'Web',
|
||||
'ds.surfaceImage': 'Image',
|
||||
'ds.surfaceVideo': 'Vidéo',
|
||||
'ds.surfaceAudio': 'Audio',
|
||||
'ds.searchPlaceholder': 'Rechercher des design systems…',
|
||||
'ds.emptyNoMatch': 'Aucun design system ne correspond à votre recherche.',
|
||||
'ds.badgeDefault': 'DÉFAUT',
|
||||
'ds.preview': 'Aperçu',
|
||||
'ds.previewTitle': 'Aperçu du design system',
|
||||
'ds.categoryAll': 'Tout',
|
||||
'ds.categoryUncategorized': 'Non catégorisé',
|
||||
'ds.showcase': 'Vitrine',
|
||||
'ds.tokens': 'Jetons',
|
||||
'ds.specToggle': 'DESIGN.md',
|
||||
'ds.specLoading': 'Chargement du DESIGN.md…',
|
||||
|
||||
'avatar.title': 'Compte et paramètres',
|
||||
'avatar.localCli': 'CLI local',
|
||||
'avatar.anthropicApi': 'API Anthropic',
|
||||
'avatar.useLocal': 'Utiliser le CLI local',
|
||||
'avatar.useApi': 'Utiliser API · BYOK',
|
||||
'avatar.codeAgent': 'Agent de code',
|
||||
'avatar.rescan': 'Réanalyser le PATH',
|
||||
'avatar.settings': 'Paramètres',
|
||||
'avatar.backToProjects': 'Retour aux projets',
|
||||
'avatar.metaActive': 'actif',
|
||||
'avatar.metaOffline': 'hors ligne',
|
||||
'avatar.metaSelected': 'sélectionné',
|
||||
'avatar.noAgentSelected': 'aucun agent sélectionné',
|
||||
'avatar.modelSection': 'Modèle',
|
||||
'avatar.modelLabel': 'Modèle',
|
||||
'avatar.reasoningLabel': 'Raisonnement',
|
||||
'avatar.customSuffix': '(personnalisé)',
|
||||
|
||||
'project.backToProjects': 'Retour aux projets',
|
||||
'project.metaFreeform': 'libre',
|
||||
'chat.tabChat': 'Chat',
|
||||
'chat.tabComments': 'Commentaires',
|
||||
'chat.commentsSoon': 'Commentaires — bientôt disponible',
|
||||
'chat.comments.attached': 'Attaché au chat',
|
||||
'chat.comments.emptyAttached': 'Aucun commentaire attaché.',
|
||||
'chat.comments.saved': 'Commentaires enregistrés',
|
||||
'chat.comments.emptySaved': 'Aucun commentaire enregistré.',
|
||||
'chat.comments.add': 'Ajouter',
|
||||
'chat.comments.addAll': 'Tout ajouter',
|
||||
'chat.comments.remove': 'Retirer',
|
||||
'chat.comments.placeholder': 'Commenter cet élément…',
|
||||
'chat.comments.addSend': 'Ajouter et envoyer',
|
||||
'chat.comments.updateSend': 'Mettre à jour et envoyer',
|
||||
'chat.comments.removeAttachment': 'Retirer le commentaire attaché',
|
||||
'chat.comments.removeAttachmentAria': 'Retirer le commentaire attaché pour {name}',
|
||||
'chat.conversationsTitle': 'Conversations',
|
||||
'chat.conversationsAria': 'Historique des conversations',
|
||||
'chat.newConversation': 'Nouvelle conversation',
|
||||
'chat.newConversationsTitle': 'Nouvelle conversation',
|
||||
'chat.conversationsHeading': 'Conversations',
|
||||
'chat.new': 'Nouvelle',
|
||||
'chat.emptyConversations': 'Aucune conversation pour l\'instant.',
|
||||
'chat.deleteConversation': 'Supprimer la conversation',
|
||||
'chat.deleteConversationConfirm':
|
||||
'Supprimer « {title} » ? Cela supprime ses messages.',
|
||||
'chat.untitledConversation': 'Conversation sans titre',
|
||||
'chat.startTitle': 'Démarrer une conversation',
|
||||
'chat.startHint':
|
||||
'Déposez ou collez des images comme référence visuelle, ou tapez @ pour attacher un fichier du projet. Ou essayez l\'une de ces suggestions :',
|
||||
'chat.fillInputTitle': 'Cliquez pour remplir le champ',
|
||||
'chat.jumpToLatest': 'Aller au plus récent',
|
||||
'chat.scrollToLatest': 'Défiler jusqu\'au plus récent',
|
||||
'chat.you': 'Vous',
|
||||
'chat.openFile': 'Ouvrir {name}',
|
||||
'chat.composerPlaceholder':
|
||||
'Décrivez le design souhaité — collez ou déposez des images, ou @ un fichier…',
|
||||
'chat.composerHint':
|
||||
'⌘/Ctrl + Entrée pour envoyer · coller des images · @ pour référencer des fichiers',
|
||||
'chat.cliSettingsTitle': 'Paramètres CLI et modèle',
|
||||
'chat.cliSettingsAria': 'Ouvrir les paramètres CLI et modèle',
|
||||
'chat.attachTitle': 'Attacher des fichiers (ou coller / déposer)',
|
||||
'chat.attachAria': 'Attacher des fichiers',
|
||||
'chat.importTitle': 'Importer des sources (bientôt disponible)',
|
||||
'chat.importLabel': 'Importer',
|
||||
'chat.importComingSoon': 'Bientôt disponible',
|
||||
'chat.importSoon': 'Bientôt',
|
||||
'chat.importFig': 'Téléverser un fichier .fig',
|
||||
'chat.importGitHub': 'Connecter GitHub',
|
||||
'chat.importWeb': 'Capturer un élément web',
|
||||
'chat.importFolder': 'Lier un dossier de code',
|
||||
'chat.importSkills': 'Compétences et design systems',
|
||||
'chat.importProject': 'Référencer un autre projet',
|
||||
'chat.send': 'Envoyer',
|
||||
'chat.stop': 'Arrêter',
|
||||
'chat.removeAria': 'Retirer {name}',
|
||||
'chat.example1Title': 'Pitch deck éditorial',
|
||||
'chat.example1Tag': 'Magazine',
|
||||
'chat.example1Prompt':
|
||||
'Un pitch deck éditorial de 10 diapositives pour un studio de design levant des fonds — mise en page grille suisse, titres avec empattement surdimensionnés et lettrines, numéros de section en monospace, généreux espaces négatifs, et diapositives photo pleine page entrecoupées de diapos riches en texte. Couverture, vision, marché, produit, traction, équipe, levée de fonds, contact.',
|
||||
'chat.example2Title': 'Tableau de bord SaaS analytics',
|
||||
'chat.example2Tag': 'Données',
|
||||
'chat.example2Prompt':
|
||||
'Un tableau de bord analytics dense pour un SaaS d\'outils développeurs — bandeau KPI avec deltas semaine sur semaine, deux graphiques en lignes empilées (MRR et espaces de travail actifs), une carte de chaleur mondiale d\'utilisation, une grille de rétention de cohortes, un classement des meilleurs clients et un fil d\'actualité en temps réel. Thème sombre, chiffres tabulaires en monospace, accents sparkline.',
|
||||
'chat.example3Title': 'Rapport annuel long défilement',
|
||||
'chat.example3Tag': 'Éditorial',
|
||||
'chat.example3Prompt':
|
||||
'Un rapport annuel interactif pour une ONG climatique — mise en page éditoriale à long défilement mêlant de grands blocs de citation, des visualisations de données (barres empilées, compteurs animés, une carte choroplèthe des sites de projet), des séparateurs photo, un mur de donateurs et un appel à l\'action final. Texte en serif moderne, étiquettes de graphiques en sans-serif, palette papier aux tons terreux.',
|
||||
|
||||
'preview.shareMenu': 'Partager ▾',
|
||||
'preview.openInNewTab': 'Ouvrir dans un nouvel onglet',
|
||||
'preview.exit': '⤓ Quitter',
|
||||
'preview.fullscreen': '⤢ Plein écran',
|
||||
'preview.closeTitle': 'Fermer (Échap)',
|
||||
'preview.loading': 'Chargement de {label}…',
|
||||
'preview.showSidebar': 'Afficher {label}',
|
||||
'preview.hideSidebar': 'Masquer {label}',
|
||||
|
||||
'misc.savedTemplate': 'Modèle enregistré',
|
||||
'misc.primary': 'Primaire',
|
||||
'misc.designSystem': 'Design system',
|
||||
|
||||
'workspace.designFiles': 'Fichiers de design',
|
||||
'workspace.closeTab': 'Fermer l\'onglet',
|
||||
'workspace.deleteFileConfirm': 'Supprimer « {name} » du dossier du projet ?',
|
||||
'workspace.openFromDesignFiles': 'Ouvrir un fichier depuis',
|
||||
'workspace.designFilesLink': 'Fichiers de design',
|
||||
'workspace.loadingSketch': 'Chargement du croquis…',
|
||||
'designFiles.title': 'Fichiers de design',
|
||||
'designFiles.upload': 'Téléverser des fichiers',
|
||||
'designFiles.pasteText': 'Coller comme fichier texte',
|
||||
'designFiles.newSketch': 'Nouveau croquis',
|
||||
'designFiles.empty':
|
||||
'Rien ici pour l\'instant. Déposez des fichiers ci-dessous, ou créez un croquis / collez du texte.',
|
||||
'designFiles.refresh': 'Actualiser',
|
||||
'designFiles.delete': 'Supprimer',
|
||||
'designFiles.searchPlaceholder': 'Rechercher des fichiers…',
|
||||
'designFiles.up': 'Haut',
|
||||
'designFiles.back': 'Retour',
|
||||
'designFiles.crumbs': 'projet',
|
||||
'designFiles.rowMenu': 'Menu de ligne',
|
||||
'designFiles.openInTab': 'Ouvrir dans un onglet',
|
||||
'designFiles.download': 'Télécharger',
|
||||
'designFiles.downloadSelected': 'Download {n} as ZIP',
|
||||
'designFiles.clearSelection': 'Clear',
|
||||
'designFiles.selectAll': 'Select all',
|
||||
'designFiles.dropTitle': '⤓ Déposez les fichiers ici',
|
||||
'designFiles.dropDesc':
|
||||
'Images, documents, références ou dossiers — l\'agent les utilisera comme contexte.',
|
||||
'designFiles.upload.title': 'Téléverser des fichiers',
|
||||
'designFiles.paste.title': 'Coller du texte comme fichier',
|
||||
'designFiles.upload.label': 'Téléverser',
|
||||
'designFiles.paste.label': 'Coller',
|
||||
'designFiles.previewOpen': 'Ouvrir',
|
||||
'designFiles.previewClose': 'Fermer l\'aperçu',
|
||||
'designFiles.modified': 'Modifié {time} · {size}',
|
||||
'designFiles.weeksAgo': 'il y a {n} sem',
|
||||
'designFiles.sectionPages': 'Pages',
|
||||
'designFiles.sectionScripts': 'Scripts',
|
||||
'designFiles.sectionImages': 'Images',
|
||||
'designFiles.sectionSketches': 'Croquis',
|
||||
'designFiles.sectionOther': 'Autre',
|
||||
'designFiles.showMore': 'Afficher +{n} de plus',
|
||||
'designFiles.kindHtml': 'Page HTML',
|
||||
'designFiles.kindImage': 'Image',
|
||||
'designFiles.kindSketch': 'Croquis',
|
||||
'designFiles.kindText': 'Texte',
|
||||
'designFiles.kindCode': 'Script',
|
||||
'designFiles.kindPdf': 'PDF',
|
||||
'designFiles.kindDocument': 'Document',
|
||||
'designFiles.kindPresentation': 'Présentation',
|
||||
'designFiles.kindSpreadsheet': 'Tableur',
|
||||
'designFiles.kindBinary': 'Binaire',
|
||||
'pasteDialog.title': 'Coller du texte',
|
||||
'pasteDialog.hint': 'Enregistré dans le dossier du projet. Choisissez un nom.',
|
||||
'pasteDialog.fileNameLabel': 'Nom du fichier',
|
||||
'pasteDialog.namePlaceholder': 'notes.txt',
|
||||
'pasteDialog.contentLabel': 'Contenu',
|
||||
'pasteDialog.contentPlaceholder': 'Collez n\'importe quoi…',
|
||||
'pasteDialog.save': 'Enregistrer',
|
||||
'pasteDialog.cancel': 'Annuler',
|
||||
'sketch.save': 'Enregistrer le croquis',
|
||||
'sketch.cancel': 'Annuler',
|
||||
'sketch.saving': 'Enregistrement…',
|
||||
'sketch.tooltipDirty': 'Modifications non enregistrées',
|
||||
'sketch.tooltipClean': 'Enregistré',
|
||||
'fileViewer.empty': 'Sélectionnez un fichier à afficher.',
|
||||
'fileViewer.loading': 'Chargement…',
|
||||
'fileViewer.exportPptx': 'Exporter en PPTX',
|
||||
'fileViewer.openInNewTab': 'Ouvrir dans un nouvel onglet',
|
||||
'fileViewer.copyPath': 'Copier le chemin',
|
||||
'fileViewer.copied': 'Copié !',
|
||||
'fileViewer.share': 'Partager',
|
||||
'fileViewer.binaryMeta': 'Binaire · {size}',
|
||||
'fileViewer.binaryNote':
|
||||
'Fichier binaire ({size} octets). Téléchargez ou ouvrez depuis le disque pour inspecter.',
|
||||
'fileViewer.pdfMeta': 'PDF · {size}',
|
||||
'fileViewer.documentMeta': 'Document',
|
||||
'fileViewer.presentationMeta': 'Présentation',
|
||||
'fileViewer.spreadsheetMeta': 'Tableur',
|
||||
'fileViewer.previewUnavailable': 'Aperçu indisponible. Téléchargez ou ouvrez le fichier pour inspecter.',
|
||||
'fileViewer.download': 'Télécharger',
|
||||
'fileViewer.open': 'Ouvrir',
|
||||
'fileViewer.imageMeta': 'Image · {size}',
|
||||
'fileViewer.reactMeta': 'Composant React · {size}',
|
||||
'fileViewer.sketchMeta': 'Croquis · {size}',
|
||||
'fileViewer.markdownStreamingMeta': 'Aperçu en streaming…',
|
||||
'fileViewer.markdownErrorMeta': 'L\'aperçu peut être incomplet (erreur de génération).',
|
||||
'fileViewer.markdownStreamingStatus': 'Streaming… affichage du markdown partiel.',
|
||||
'fileViewer.markdownErrorStatus': 'Erreur de génération. Affichage du dernier contenu disponible.',
|
||||
'fileViewer.videoMeta': 'Vidéo · {size}',
|
||||
'fileViewer.audioMeta': 'Audio · {size}',
|
||||
'fileViewer.reload': 'Recharger',
|
||||
'fileViewer.reloadDisk': 'Recharger depuis le disque',
|
||||
'fileViewer.copy': 'Copier',
|
||||
'fileViewer.copyTitle': 'Copier le contenu du fichier',
|
||||
'fileViewer.saveDisabled': 'Enregistrer (visionneuse en lecture seule)',
|
||||
'fileViewer.save': 'Enregistrer',
|
||||
'fileViewer.preview': 'Aperçu',
|
||||
'fileViewer.source': 'Source',
|
||||
'fileViewer.tweaks': 'Ajustements',
|
||||
'fileViewer.comment': 'Commenter',
|
||||
'fileViewer.edit': 'Modifier',
|
||||
'fileViewer.draw': 'Dessiner',
|
||||
'fileViewer.zoomOut': 'Zoom arrière',
|
||||
'fileViewer.zoomIn': 'Zoom avant',
|
||||
'fileViewer.resetZoom': 'Réinitialiser le zoom',
|
||||
'fileViewer.reloadAria': 'Recharger',
|
||||
'fileViewer.previousSlide': 'Diapositive précédente',
|
||||
'fileViewer.nextSlide': 'Diapositive suivante',
|
||||
'fileViewer.slideNavAria': 'Navigation des diapositives',
|
||||
'fileViewer.present': 'Présenter',
|
||||
'fileViewer.presentInTab': 'Dans cet onglet',
|
||||
'fileViewer.presentFullscreen': 'Plein écran',
|
||||
'fileViewer.presentNewTab': 'Nouvel onglet',
|
||||
'fileViewer.exitPresentation': 'Quitter la présentation',
|
||||
'fileViewer.shareLabel': 'Partager',
|
||||
'fileViewer.exportPdf': 'Exporter en PDF',
|
||||
'fileViewer.exportPdfAllSlides': 'Exporter en PDF (toutes les diapos)',
|
||||
'fileViewer.exportPptxBusy': 'Attendez la fin du tour en cours.',
|
||||
'fileViewer.exportPptxHint':
|
||||
'Envoyez une requête à l\'agent pour convertir ce design en PPTX.',
|
||||
'fileViewer.exportPptxNa': 'L\'export PPTX n\'est pas disponible ici.',
|
||||
'fileViewer.exportZip': 'Télécharger en .zip',
|
||||
'fileViewer.exportHtml': 'Exporter en HTML autonome',
|
||||
'fileViewer.exportMd': 'Exporter en Markdown',
|
||||
'fileViewer.exportJsx': 'Exporter en JSX',
|
||||
'fileViewer.exportReactHtml': 'Exporter l\'aperçu en HTML',
|
||||
'fileViewer.saveAsTemplate': 'Enregistrer comme modèle…',
|
||||
'fileViewer.savingTemplate': 'Enregistrement du modèle…',
|
||||
'fileViewer.savedTemplate': 'Enregistré comme « {name} »',
|
||||
'fileViewer.savedTemplateFail': 'Impossible d\'enregistrer le modèle — réessayez.',
|
||||
'fileViewer.templateNamePrompt': 'Nom du modèle',
|
||||
'fileViewer.templateNameDefault': 'Modèle sans titre',
|
||||
'fileViewer.templateDescPrompt':
|
||||
'Courte description (optionnelle — qu\'est-ce qui rend ce modèle utile ?)',
|
||||
'fileViewer.deployToVercel': 'Déployer sur Vercel',
|
||||
'fileViewer.redeployToVercel': 'Redéployer',
|
||||
'fileViewer.deployingToVercel': 'Déploiement sur Vercel…',
|
||||
'fileViewer.preparingPublicLink': 'Préparation du lien public…',
|
||||
'fileViewer.copyDeployLink': 'Copier le lien',
|
||||
'fileViewer.deployModalTitle': 'Déployer sur Vercel',
|
||||
'fileViewer.deployModalSubtitle':
|
||||
'Déployez cet artefact HTML en tant que Vercel Preview avec votre propre compte.',
|
||||
'fileViewer.vercelToken': 'Jeton Vercel',
|
||||
'fileViewer.vercelTokenGetLink': 'Obtenir un jeton Vercel',
|
||||
'fileViewer.vercelTokenPlaceholder': 'Collez votre jeton Vercel',
|
||||
'fileViewer.vercelTokenReuseHint':
|
||||
'Le jeton enregistré sera utilisé. Entrez un nouveau jeton pour le remplacer.',
|
||||
'fileViewer.vercelTokenRequired': 'Entrez et enregistrez d\'abord un jeton Vercel.',
|
||||
'fileViewer.vercelTeamId': 'ID d\'équipe',
|
||||
'fileViewer.vercelTeamSlug': 'Slug d\'équipe',
|
||||
'fileViewer.optional': 'Optionnel',
|
||||
'fileViewer.vercelPreviewOnly': 'Les déploiements sont en Preview uniquement pour l\'instant.',
|
||||
'fileViewer.savingConfig': 'Enregistrement…',
|
||||
'fileViewer.deployConfigSaveFailed': 'Impossible d\'enregistrer les paramètres Vercel.',
|
||||
'fileViewer.deployFailed': 'Le déploiement a échoué. Vérifiez les paramètres Vercel et réessayez.',
|
||||
'fileViewer.deployResultLabel': 'URL déployée',
|
||||
'fileViewer.deployLinkPreparingLabel': 'Lien public en attente',
|
||||
'fileViewer.deployLinkDelayed':
|
||||
'Votre site est déployé. Vercel prépare encore le lien public.',
|
||||
'fileViewer.deployLinkProtectedLabel': 'Protection Vercel activée',
|
||||
'fileViewer.deployLinkProtected':
|
||||
'Votre site est déployé, mais Vercel exige une authentification pour ce lien de prévisualisation. Désactivez la protection de déploiement ou utilisez un domaine personnalisé.',
|
||||
'fileViewer.retryLink': 'Réessayer maintenant',
|
||||
|
||||
'questionForm.submit': 'Envoyer',
|
||||
'questionForm.skip': 'Passer',
|
||||
'questionForm.locked': 'Répondu',
|
||||
|
||||
'conv.switch': 'Changer de conversation',
|
||||
'conv.label': 'Conversation',
|
||||
'conv.heading': 'Conversations',
|
||||
'conv.new': '+ Nouvelle',
|
||||
'conv.empty': 'Aucune conversation pour l\'instant.',
|
||||
'conv.untitled': 'Conversation sans titre',
|
||||
'conv.renameTooltip': 'Double-cliquez pour renommer',
|
||||
'conv.delete': 'Supprimer la conversation',
|
||||
'conv.deleteConfirm': 'Supprimer « {title} » ? Cela supprime ses messages.',
|
||||
|
||||
'agentPicker.label': 'Agent',
|
||||
'agentPicker.modeChoose': 'Choisir le mode d\'exécution',
|
||||
'agentPicker.localCli': 'CLI local',
|
||||
'agentPicker.daemonOff': 'daemon arrêté',
|
||||
'agentPicker.byok': 'API · BYOK',
|
||||
'agentPicker.selectAgent': 'Sélectionner un agent CLI détecté',
|
||||
'agentPicker.noAgents': 'aucun agent dans le PATH',
|
||||
'agentPicker.notInstalled': 'non installé',
|
||||
'agentPicker.rescan': 'Réanalyser le PATH local pour les agents',
|
||||
|
||||
'tool.openInTab': 'Ouvrir {name} dans un onglet',
|
||||
'tool.open': 'ouvrir',
|
||||
'tool.todos': 'Tâches',
|
||||
'tool.write': 'Écrire',
|
||||
'tool.edit': 'Modifier',
|
||||
'tool.read': 'Lire',
|
||||
'tool.bash': 'Bash',
|
||||
'tool.glob': 'Glob',
|
||||
'tool.grep': 'Grep',
|
||||
'tool.fetch': 'Fetch',
|
||||
'tool.search': 'Rechercher',
|
||||
'tool.lines': '{n} lignes',
|
||||
'tool.changeSingular': 'modification',
|
||||
'tool.changePlural': 'modifications',
|
||||
'tool.in': 'dans {path}',
|
||||
'tool.hide': 'masquer',
|
||||
'tool.output': 'sortie',
|
||||
'tool.running': 'en cours…',
|
||||
'tool.error': 'erreur',
|
||||
'tool.done': 'terminé',
|
||||
|
||||
'assistant.role': 'Assistant',
|
||||
'assistant.workingLabel': 'En cours',
|
||||
'assistant.doneLabel': 'Terminé',
|
||||
'assistant.unfinishedLabel': 'Arrêté avec du travail non terminé',
|
||||
'assistant.unfinishedSummary': '{n} tâche(s) restante(s)',
|
||||
'assistant.unfinishedMore': '+{n} de plus',
|
||||
'assistant.continueRemaining': 'Continuer les tâches restantes',
|
||||
'assistant.outTokens': '{n} sortie',
|
||||
'assistant.producedFiles': 'Fichiers de ce tour',
|
||||
'assistant.openFile': 'Ouvrir',
|
||||
'assistant.downloadFile': 'Télécharger',
|
||||
'assistant.thinking': 'Réflexion',
|
||||
'assistant.systemReminder': 'Rappel système',
|
||||
'assistant.waitingFirstOutput': 'En attente de la première sortie',
|
||||
'assistant.statusBootingAgent': 'Démarrage de l\'agent',
|
||||
'assistant.statusStarting': 'Démarrage',
|
||||
'assistant.statusRequesting': 'Envoi de la requête',
|
||||
'assistant.statusThinking': 'Réflexion',
|
||||
'assistant.statusStreaming': 'Streaming',
|
||||
'assistant.slowHint':
|
||||
'Plus long que d\'habitude. Le formulaire s\'affiche généralement en 5–10s — vous pouvez Arrêter et reformuler.',
|
||||
'assistant.verbEditing': 'Modification',
|
||||
'assistant.verbWriting': 'Écriture',
|
||||
'assistant.verbReading': 'Lecture',
|
||||
'assistant.verbSearching': 'Recherche',
|
||||
'assistant.verbRunning': 'Exécution',
|
||||
'assistant.verbTodos': 'Tâches',
|
||||
'assistant.verbFetching': 'Récupération',
|
||||
'assistant.verbCalling': 'Appel',
|
||||
|
||||
'qf.answered': 'répondu',
|
||||
'qf.choose': 'Choisir…',
|
||||
'qf.required': 'requis',
|
||||
'qf.lockedSubmitted':
|
||||
'Réponses envoyées — l\'agent les utilise pour le reste de la session.',
|
||||
'qf.lockedPrev': 'Ce formulaire provient d\'un tour précédent.',
|
||||
'qf.hint':
|
||||
'Choisissez ce qui convient. Ignorez les champs optionnels qui ne vous intéressent pas — l\'agent utilisera des valeurs par défaut raisonnables.',
|
||||
'qf.submitDefault': 'Envoyer les réponses',
|
||||
'qf.submitDisabledTitle': 'Remplissez d\'abord les champs requis',
|
||||
'qf.submitTitle': 'Envoyer les réponses',
|
||||
'qf.cardSelected': 'sélectionné',
|
||||
'qf.cardRefs': 'Réfs :',
|
||||
'qf.cardSampleText': 'Portez ce vieux whisky au juge blond qui fume · 0123',
|
||||
|
||||
'sketch.toolSelect': 'Sélection (sans effet)',
|
||||
'sketch.toolPen': 'Stylo',
|
||||
'sketch.toolText': 'Texte',
|
||||
'sketch.toolRect': 'Rectangle',
|
||||
'sketch.toolArrow': 'Flèche',
|
||||
'sketch.toolEraser': 'Gomme',
|
||||
'sketch.color': 'Couleur',
|
||||
'sketch.strokeSize': 'Taille du trait',
|
||||
'sketch.undo': 'Annuler',
|
||||
'sketch.clear': 'Effacer',
|
||||
'sketch.close': 'Fermer',
|
||||
'sketch.textPrompt': 'Texte :',
|
||||
|
||||
'pet.title': 'Compagnons',
|
||||
'pet.subtitle': 'Adoptez un petit compagnon qui flotte au-dessus de votre espace de travail.',
|
||||
'pet.navTitle': 'Compagnons',
|
||||
'pet.navHint': 'Adopter ou personnaliser',
|
||||
'pet.tabBuiltIn': 'Intégrés',
|
||||
'pet.tabBuiltInHint': 'Compagnons fournis avec Open Design — choisissez-en un et adoptez-le.',
|
||||
'pet.builtInEmpty': 'Les compagnons intégrés sont indisponibles pour l\'instant. Essayez d\'actualiser l\'onglet Communauté une fois le daemon en ligne.',
|
||||
'pet.tabCustom': 'Personnalisé',
|
||||
'pet.tabCustomHint': 'Créez le vôtre avec un nom, un glyphe, une couleur ou un sprite.',
|
||||
'pet.tabCommunity': 'Communauté',
|
||||
'pet.tabCommunityHint': 'Compagnons éclos de Codex — adoptez-en un ou générez-en un nouveau.',
|
||||
'pet.tabsAria': 'Source du compagnon',
|
||||
'pet.adopt': 'Adopter',
|
||||
'pet.adoptedBadge': 'Adopté',
|
||||
'pet.adoptCallout': 'Adopter un compagnon',
|
||||
'pet.changePet': 'Changer de compagnon',
|
||||
'pet.wake': 'Réveiller',
|
||||
'pet.tuck': 'Cacher',
|
||||
'pet.wakeTitle': 'Réveiller le compagnon — afficher l\'overlay flottant.',
|
||||
'pet.tuckTitle': 'Cacher le compagnon — masquer l\'overlay flottant.',
|
||||
'pet.settingsTitle': 'Ouvrir les paramètres du compagnon',
|
||||
'pet.useCustom': 'Utiliser mon compagnon',
|
||||
'pet.customTitle': 'Créez le vôtre',
|
||||
'pet.customHint': 'Choisissez un nom, un glyphe et une couleur d\'accent — l\'overlay se met à jour en direct.',
|
||||
'pet.customGreetingPlaceholder': 'Faites dire bonjour à votre compagnon…',
|
||||
'pet.fieldName': 'Nom',
|
||||
'pet.fieldGlyph': 'Glyphe',
|
||||
'pet.fieldGlyphHint': 'Un seul emoji fonctionne le mieux (ex. 🐝, 🦄, 🐢).',
|
||||
'pet.fieldGreeting': 'Salutation',
|
||||
'pet.fieldAccent': 'Couleur d\'accent',
|
||||
'pet.fieldAccentCustom': 'Couleur personnalisée',
|
||||
'pet.overlayAria': 'Compagnon',
|
||||
'pet.spriteAria': '{name} — glisser pour déplacer, cliquer pour chatter',
|
||||
'pet.spriteTitle': 'Salut de {name} ! Cliquez pour chatter.',
|
||||
'pet.railAria': 'Sélecteur de compagnon',
|
||||
'pet.railTitle': 'Compagnons',
|
||||
'pet.railHint': 'Choisissez un compagnon à faire flotter au-dessus de votre espace de travail.',
|
||||
'pet.railExpand': 'Afficher le sélecteur de compagnon',
|
||||
'pet.railCollapse': 'Réduire le sélecteur de compagnon',
|
||||
'pet.railHide': 'Masquer le sélecteur de compagnon',
|
||||
'pet.railShow': 'Afficher le sélecteur de compagnon',
|
||||
'pet.railCustomFlavor': 'Le vôtre — nom, glyphe, couleur.',
|
||||
'pet.railCustomize': 'Personnaliser…',
|
||||
'pet.composerTitle': 'Compagnons — réveiller, cacher ou choisir',
|
||||
'pet.composerMenuTitle': 'Compagnons',
|
||||
'pet.composerMenuHint': 'astuce : tapez /pet pour basculer',
|
||||
'pet.composerOpenSettings': 'Personnaliser dans les paramètres',
|
||||
'pet.welcomeTeaserTitle': 'Adoptez un compagnon',
|
||||
'pet.welcomeTeaserBody': 'Un petit compagnon flottant qui traîne avec vous.',
|
||||
'pet.welcomeTeaserCta': 'En choisir un',
|
||||
'pet.imageUpload': 'Téléverser un sprite',
|
||||
'pet.imageReplace': 'Remplacer le sprite',
|
||||
'pet.imageRemove': 'Utiliser un emoji',
|
||||
'pet.imageHintIdle': 'PNG, JPG, WebP, GIF ou SVG. Téléversement de planche ? Déposez une bande horizontale et définissez le nombre de frames.',
|
||||
'pet.imageHintActive': 'Affichage de votre sprite. Définissez frames > 1 pour faire défiler une planche de sprites horizontale.',
|
||||
'pet.fieldFrames': 'Frames',
|
||||
'pet.fieldFramesHint': '1 = statique. > 1 = planche de sprites horizontale.',
|
||||
'pet.fieldFps': 'Vitesse (fps)',
|
||||
'pet.fieldFpsHint': 'À quelle vitesse les frames défilent.',
|
||||
'pet.atlasImport': 'Importer un sprite Codex',
|
||||
'pet.atlasImportTitle': 'Importer un atlas de pet 8×9 / 192×208 (PNG ou WebP).',
|
||||
'pet.atlasPickerTitle': 'Choisir une rangée d\'animation',
|
||||
'pet.atlasPickerHint': 'Les pets Codex sont livrés avec 9 rangées d\'animation. Par défaut, nous gardons l\'atlas complet pour que le pet change de rangée au survol, au glisser et à l\'inactivité. Vous pouvez aussi le figer sur une seule boucle.',
|
||||
'pet.atlasCancel': 'Abandonner l\'atlas',
|
||||
'pet.atlasAdopt': 'Figer sur cette rangée',
|
||||
'pet.atlasAdoptFull': 'Utiliser l\'atlas complet (animé)',
|
||||
'pet.atlasAdoptFullTitle': 'Garder chaque rangée pour que le pet réagisse au survol, à la direction du glisser et aux longues inactivités.',
|
||||
'pet.atlasAdoptRowTitle': 'Découper uniquement la rangée sélectionnée en une seule bande en boucle.',
|
||||
'pet.atlasActiveHint': 'Atlas animé actif — le pet choisit une rangée selon votre interaction (survol, glisser, inactivité).',
|
||||
'pet.atlasRow.idle': 'Inactif',
|
||||
'pet.atlasRow.running-right': 'Court à droite',
|
||||
'pet.atlasRow.running-left': 'Court à gauche',
|
||||
'pet.atlasRow.waving': 'Salut',
|
||||
'pet.atlasRow.jumping': 'Saut',
|
||||
'pet.atlasRow.failed': 'Échec',
|
||||
'pet.atlasRow.waiting': 'Attente',
|
||||
'pet.atlasRow.running': 'Course',
|
||||
'pet.atlasRow.review': 'Révision',
|
||||
'pet.hatchTitle': 'Faire éclore un nouveau compagnon avec l\'IA',
|
||||
'pet.hatchHint': 'Utilisez la compétence hatch-pet intégrée dans le chat pour générer une planche de sprites style Codex, puis importez-la ici.',
|
||||
'pet.hatchConcept': 'Concept du compagnon (optionnel)',
|
||||
'pet.hatchConceptPlaceholder': 'ex. un petit shiba pixel art dans un pull douillet',
|
||||
'pet.hatchCopy': 'Copier le prompt',
|
||||
'pet.hatchCopied': 'Copié !',
|
||||
'pet.hatchFoot': 'Une fois que la compétence a enregistré votre compagnon, revenez et choisissez « Importer un sprite Codex ».',
|
||||
'pet.slashPopoverAria': 'Commandes slash',
|
||||
'pet.slashPopoverTitle': 'Commandes',
|
||||
'pet.slashPopoverHint': '↑↓ naviguer · entrée pour choisir · échap pour fermer',
|
||||
'pet.slashPet': 'Basculer, adopter ou aller aux paramètres du compagnon.',
|
||||
'pet.slashPetWake': 'Réveiller l\'overlay flottant du compagnon.',
|
||||
'pet.slashPetTuck': 'Cacher le compagnon pour l\'instant.',
|
||||
'pet.slashHatch': 'Générer un pet Codex via la compétence hatch-pet.',
|
||||
'pet.slashHatchArg': '<concept>',
|
||||
'pet.codexTitle': 'Éclos récemment',
|
||||
'pet.codexSubtitle': 'Les pets empaquetés par la compétence hatch-pet apparaissent ici pour une adoption en un clic.',
|
||||
'pet.codexSubtitleWithDir': 'Analyse de {dir} pour les pets empaquetés par la compétence hatch-pet.',
|
||||
'pet.codexEmpty': 'Aucun pet éclos pour l\'instant. Tapez /hatch dans le chat pour en générer un.',
|
||||
'pet.codexLoading': 'Recherche de pets éclos…',
|
||||
'pet.codexRefresh': 'Actualiser',
|
||||
'pet.codexAdopt': 'Adopter',
|
||||
'pet.codexAdopting': 'Adoption…',
|
||||
'pet.communitySync': 'Télécharger les pets de la communauté',
|
||||
'pet.communitySyncing': 'Téléchargement…',
|
||||
'pet.communitySyncTitle': 'Synchroniser les derniers pets de Codex Pet Share + j20 Hatchery dans ~/.codex/pets/.',
|
||||
'pet.communitySyncDone': '{wrote} nouveaux pets synchronisés ({total} au total).',
|
||||
'pet.communitySyncFailed': 'Échec de la synchronisation : {error}',
|
||||
'pet.codexBundled': 'Fourni',
|
||||
'pet.codexBundledTitle': 'Livré avec Open Design — aucun téléchargement nécessaire.',
|
||||
|
||||
'settings.notifications': 'Notifications',
|
||||
'settings.notificationsHint': 'Son et notification bureau à la fin d\'une tâche',
|
||||
'settings.notifyCompletionSound': 'Son de fin',
|
||||
'settings.notifyCompletionSoundHint': 'Joué quand un tour se termine. Désactivé par défaut.',
|
||||
'settings.notifySuccessSound': 'Son de succès',
|
||||
'settings.notifyFailureSound': 'Son d\'échec',
|
||||
'settings.notifyDesktop': 'Notification bureau',
|
||||
'settings.notifyDesktopHint': 'Envoyée lorsque la fenêtre n\'est pas active.',
|
||||
'settings.notifyDesktopBlocked': 'Notifications bloquées par le navigateur. Autorisez-les dans les paramètres du site.',
|
||||
'settings.notifyDesktopUnsupported': 'Notifications bureau indisponibles dans cet environnement.',
|
||||
'settings.notifyTest': 'Envoyer un test',
|
||||
'settings.notifyTestSent': 'Notification de test envoyée. Si aucune bannière n\'apparaît, vérifiez les paramètres de notification du navigateur et du système.',
|
||||
'settings.notifyTestFailed': 'L\'appel de notification a échoué. Vérifiez les paramètres de notification du navigateur et du système.',
|
||||
'settings.notifySoundDing': 'Ding',
|
||||
'settings.notifySoundChime': 'Carillon',
|
||||
'settings.notifySoundTwoToneUp': 'Bitonale montante',
|
||||
'settings.notifySoundPluck': 'Pizzicato',
|
||||
'settings.notifySoundBuzz': 'Buzz',
|
||||
'settings.notifySoundTwoToneDown': 'Bitonale descendante',
|
||||
'settings.notifySoundThud': 'Sourd',
|
||||
'notify.successTitle': 'Tâche terminée',
|
||||
'notify.failureTitle': 'Tâche échouée',
|
||||
'notify.successBody': 'Un tour est terminé.',
|
||||
'notify.failureBody': 'La tâche s\'est terminée avec une erreur.',
|
||||
};
|
||||
@@ -0,0 +1,840 @@
|
||||
import type { Dict } from '../types';
|
||||
|
||||
export const hu: Dict = {
|
||||
'common.cancel': 'Mégse',
|
||||
'common.save': 'Mentés',
|
||||
'common.close': 'Bezárás',
|
||||
'common.delete': 'Törlés',
|
||||
'common.rename': 'Átnevezés',
|
||||
'common.preview': 'Előnézet',
|
||||
'common.share': 'Megosztás',
|
||||
'common.search': 'Keresés',
|
||||
'common.searchEllipsis': 'Keresés…',
|
||||
'common.loading': 'Betöltés…',
|
||||
'common.all': 'Összes',
|
||||
'common.none': 'Nincs',
|
||||
'common.default': 'Alapértelmezett',
|
||||
'common.installed': 'telepítve',
|
||||
'common.notInstalled': 'nincs telepítve',
|
||||
'common.active': 'aktív',
|
||||
'common.offline': 'offline',
|
||||
'common.selected': 'kiválasztva',
|
||||
'common.create': 'Létrehozás',
|
||||
'common.openPreview': 'Előnézet megnyitása',
|
||||
'common.exitFullscreen': 'Kilépés a teljes képernyőből',
|
||||
'common.fullscreen': 'Teljes képernyő',
|
||||
'common.openInNewTab': 'Megnyitás új lapon',
|
||||
'common.exportPdf': 'Exportálás PDF-ként',
|
||||
'common.exportZip': 'Letöltés .zip-ként',
|
||||
'common.exportHtml': 'Exportálás önálló HTML-ként',
|
||||
'common.justNow': 'az imént',
|
||||
'common.minutesAgo': '{n} perce',
|
||||
'common.hoursAgo': '{n} órája',
|
||||
'common.daysAgo': '{n} napja',
|
||||
'common.now': 'most',
|
||||
'common.minutesShort': '{n}p',
|
||||
'common.hoursShort': '{n}ó',
|
||||
'common.daysShort': '{n}n',
|
||||
'common.untitled': 'Cím nélkül',
|
||||
|
||||
'app.brand': 'Open Design',
|
||||
'app.brandPill': 'Kutatási előzetes',
|
||||
'app.brandSubtitle': 'a Nexu Labs-tól',
|
||||
'app.welcomeLoading': 'Munkaterület betöltése…',
|
||||
|
||||
'settings.welcomeKicker': 'Üdvözlünk',
|
||||
'settings.welcomeTitle': 'Open Design beállítása',
|
||||
'settings.welcomeSubtitle':
|
||||
'Válaszd ki, hogyan szeretnéd futtatni a generálásokat. Ezt bármikor módosíthatod a felső sáv Beállítások gombjával.',
|
||||
'settings.kicker': 'Beállítások',
|
||||
'settings.title': 'Végrehajtás és modell',
|
||||
'settings.subtitle': 'Válassz helyi CLI és BYOK között. Az API-kulcs csak ebben a böngészőben tárolódik.',
|
||||
'settings.modeAria': 'Végrehajtási mód',
|
||||
'settings.protocolAria': 'API protokoll',
|
||||
'settings.modeDaemon': 'Helyi CLI',
|
||||
'settings.modeDaemonHelp': 'Futtatás a gépeden lévő code-agent CLI-n keresztül',
|
||||
'settings.modeDaemonOffline': 'A daemon nem fut',
|
||||
'settings.modeDaemonOfflineMeta': 'a daemon offline',
|
||||
'settings.modeDaemonInstalledMeta': '{count} telepítve',
|
||||
'settings.modeApi': 'API-szolgáltató',
|
||||
'settings.modeApiMeta': 'BYOK',
|
||||
'settings.codeAgent': 'Code agent',
|
||||
'settings.codeAgentHint':
|
||||
'A PATH átvizsgálásával észlelve. Válaszd ki a CLI-t, amelyen át a generálásokat szeretnéd futtatni.',
|
||||
'settings.rescan': '↻ Újraellenőrzés',
|
||||
'settings.rescanTitle': 'PATH újraellenőrzése',
|
||||
'settings.rescanRunning': 'Ellenőrzés...',
|
||||
'settings.rescanSuccess': 'Ellenőrzés kész. {count} elérhető.',
|
||||
'settings.rescanFailed': 'Az ellenőrzés sikertelen. Ellenőrizd a daemont, majd próbáld újra.',
|
||||
'settings.noAgentsDetected':
|
||||
'Még nincs észlelt ügynök. Telepítsd a Claude Code, Codex, Devin for Terminal, Gemini CLI, OpenCode, Cursor Agent, Qwen vagy GitHub Copilot CLI valamelyikét, majd kattints az Újraellenőrzésre.',
|
||||
'settings.apiSection': 'Anthropic API',
|
||||
'settings.quickFillProvider': 'Szolgáltató gyors kitöltése',
|
||||
'settings.customProvider': 'Egyéni szolgáltató',
|
||||
'settings.apiKey': 'API-kulcs',
|
||||
'settings.showKey': 'Kulcs megjelenítése',
|
||||
'settings.hideKey': 'Kulcs elrejtése',
|
||||
'settings.show': 'Megjelenítés',
|
||||
'settings.hide': 'Elrejtés',
|
||||
'settings.model': 'Modell',
|
||||
'settings.suggestedModelsHint':
|
||||
'Ezek a protokollhoz javasolt modellek. A szolgáltatód más modelleket is támogathat.',
|
||||
'settings.baseUrl': 'Base URL',
|
||||
'settings.baseUrlInvalid': 'Adj meg egy érvényes nyilvános http:// vagy https:// URL-t. A localhost engedélyezett; a privát hálózati IP-k blokkolva vannak.',
|
||||
'settings.azureDeploymentModel': 'Deployment név',
|
||||
'settings.azureDeploymentModelHint':
|
||||
'Azure OpenAI esetén ez a mező a /openai/deployments/<model> deployment neveként szerepel. Add meg az Azure-ban létrehozott deployment nevét.',
|
||||
'settings.apiVersion': 'API-verzió',
|
||||
'settings.maxTokens': 'Max tokenek (opcionális)',
|
||||
'settings.maxTokensHint':
|
||||
'A válasz hosszának felső határa. Minden modellnek van hangolt alapértelmezése (placeholderként látható); hagyd üresen az alkalmazásához, vagy adj meg számot a felülíráshoz.',
|
||||
'settings.apiHint': 'A hívások a helyi daemon proxyn keresztül mennek a beállított Base URL-re. A kulcs csak ebben a böngészőben tárolódik, és a szolgáltatói kérésekkel együtt kerül elküldésre.',
|
||||
'settings.skipForNow': 'Most kihagyom',
|
||||
'settings.getStarted': 'Kezdjük',
|
||||
'settings.envConfigure': 'Végrehajtási mód beállítása',
|
||||
'settings.localCli': 'Helyi CLI',
|
||||
'settings.anthropicApi': 'Anthropic API',
|
||||
'settings.noAgentSelected': 'nincs kiválasztott ügynök',
|
||||
'settings.language': 'Nyelv',
|
||||
'settings.languageHint': 'A felület nyelvének váltása. Ebben a böngészőben mentve.',
|
||||
'settings.appearance': 'Megjelenés',
|
||||
'settings.appearanceHint': 'Válassz világos, sötét, vagy kövesd a rendszer beállítását.',
|
||||
'settings.themeSystem': 'Rendszer',
|
||||
'settings.themeLight': 'Világos',
|
||||
'settings.themeDark': 'Sötét',
|
||||
'settings.modelPicker': 'Modell',
|
||||
'settings.reasoningPicker': 'Gondolkodási erőfeszítés',
|
||||
'settings.modelPickerHint':
|
||||
'A CLI-tól kérdezi le, ha az közzéteszi a `models` parancsot. Az „Alapértelmezett" a CLI saját konfigjára bízza a választást; az „Egyedi…" tetszőleges, a CLI által elfogadott modell-id-t enged megadni.',
|
||||
'settings.modelCustom': 'Egyedi (gépeld be alább)…',
|
||||
'settings.modelCustomLabel': 'Egyedi modell-id',
|
||||
'settings.modelCustomPlaceholder': 'pl. anthropic/claude-sonnet-4-6',
|
||||
'settings.mediaProviders': 'Média-szolgáltatók',
|
||||
'settings.mediaProvidersHint':
|
||||
'API-kulcsok kép-, videó- és hanggeneráláshoz. Helyben tárolva, és a helyi daemonnal szinkronizálva.',
|
||||
'settings.mediaProviderApiKey': 'API-kulcs',
|
||||
'settings.mediaProviderBaseUrl': 'Bázis URL',
|
||||
'settings.mediaProviderConfigured': 'Beállítva',
|
||||
'settings.mediaProviderUnset': 'Nincs beállítva',
|
||||
'settings.mediaProviderClear': 'Törlés',
|
||||
'settings.mediaProviderPlaceholder': 'API-kulcs beillesztése',
|
||||
'settings.mediaProviderBaseUrlPlaceholder': 'Alapértelmezett bázis URL felülírása',
|
||||
'settings.about': 'Névjegy',
|
||||
'settings.aboutHint': 'Verzió- és futtatókörnyezeti adatok',
|
||||
'settings.appVersion': 'Verzió',
|
||||
'settings.appChannel': 'Csatorna',
|
||||
'settings.appRuntime': 'Futtatókörnyezet',
|
||||
'settings.appPlatform': 'Platform',
|
||||
'settings.appArchitecture': 'Architektúra',
|
||||
'settings.runtimePackaged': 'Csomagolt alkalmazás',
|
||||
'settings.runtimeDevelopment': 'Fejlesztői',
|
||||
'settings.versionUnavailable': 'A verzió adatai nem érhetők el, amíg a daemon offline.',
|
||||
|
||||
'entry.tabDesigns': 'Tervek',
|
||||
'entry.tabExamples': 'Példák',
|
||||
'entry.tabDesignSystems': 'Designrendszerek',
|
||||
'entry.openSettingsTitle': 'Beállítások',
|
||||
'entry.openSettingsAria': 'Beállítások megnyitása',
|
||||
'entry.resizeAria': 'Oldalsáv átméretezése',
|
||||
'entry.loadingWorkspace': 'Munkaterület betöltése…',
|
||||
'entry.tabImageTemplates': 'Képsablonok',
|
||||
'entry.tabVideoTemplates': 'Videósablonok',
|
||||
'promptTemplates.searchPlaceholder': 'Sablonok keresése…',
|
||||
'promptTemplates.countLabel': '{n} találat',
|
||||
'promptTemplates.emptyImage': 'Még nincs telepített képsablon.',
|
||||
'promptTemplates.emptyVideo': 'Még nincs telepített videósablon.',
|
||||
'promptTemplates.emptyNoMatch': 'Egy sablon sem felel meg a keresésnek.',
|
||||
'promptTemplates.attributionFooter': 'Nyilvános prompt-tárakból átvéve. Minden kártya az eredeti szerzőre mutat.',
|
||||
'promptTemplates.openPreviewTitle': 'Prompt és előnézet megnyitása',
|
||||
'promptTemplates.sourcePrefix': 'Forrás:',
|
||||
'promptTemplates.fetchError': 'A sablon törzse nem tölthető be.',
|
||||
'promptTemplates.promptLabel': 'Prompt törzse',
|
||||
'promptTemplates.copyPrompt': 'Prompt másolása',
|
||||
'promptTemplates.copyDone': 'Másolva!',
|
||||
'promptTemplates.modelHint': 'Ajánlott modell: {model}',
|
||||
'promptTemplates.openSource': 'Eredeti megnyitása',
|
||||
'promptTemplates.openFullscreen': 'Teljes képernyős előnézet',
|
||||
'promptTemplates.closeFullscreen': 'Teljes képernyős előnézet bezárása',
|
||||
'promptTemplates.retry': 'Újra',
|
||||
|
||||
'newproj.tabPrototype': 'Prototípus',
|
||||
'newproj.tabDeck': 'Diavetítés',
|
||||
'newproj.tabTemplate': 'Sablonból',
|
||||
'newproj.tabOther': 'Egyéb',
|
||||
'newproj.titlePrototype': 'Új prototípus',
|
||||
'newproj.titleDeck': 'Új diavetítés',
|
||||
'newproj.titleTemplate': 'Indulás sablonból',
|
||||
'newproj.titleImage': 'Új kép',
|
||||
'newproj.titleVideo': 'Új videó',
|
||||
'newproj.titleAudio': 'Új hang',
|
||||
'newproj.titleOther': 'Új projekt',
|
||||
'newproj.namePlaceholder': 'Projekt neve',
|
||||
'newproj.fidelityLabel': 'Részletesség',
|
||||
'newproj.fidelityWireframe': 'Wireframe',
|
||||
'newproj.fidelityHigh': 'Részletes',
|
||||
'newproj.toggleSpeakerNotes': 'Előadói jegyzetek használata',
|
||||
'newproj.toggleSpeakerNotesHint': 'Kevesebb szöveg a diákon — a beszédpontok a jegyzetekbe kerülnek.',
|
||||
'newproj.toggleAnimations': 'Animációk hozzáadása',
|
||||
'newproj.toggleAnimationsHint':
|
||||
'Mozgás (belépés, hover, átmenetek) hozzáadása a sablonra.',
|
||||
'newproj.templateLabel': 'Sablon',
|
||||
'newproj.noTemplatesTitle': 'Még nincs sablon',
|
||||
'newproj.noTemplatesBody':
|
||||
'Nyiss meg egy projektet, majd a fájlnézőben a Megosztás menüvel alakítsd sablonná. A sablonok itt jelennek meg.',
|
||||
'newproj.savedTemplate': 'Mentett sablon',
|
||||
'newproj.fileSingular': 'fájl',
|
||||
'newproj.filePlural': 'fájl',
|
||||
'newproj.create': 'Létrehozás',
|
||||
'newproj.createFromTemplate': 'Létrehozás sablonból',
|
||||
'newproj.createDisabledTitle':
|
||||
'Először ments el egy projektet sablonként (bármely projekt Megosztás menüjéből).',
|
||||
'newproj.importClaudeZip': 'Claude Design ZIP importálása',
|
||||
'newproj.importClaudeZipTitle': 'Claude Design .zip export importálása',
|
||||
'newproj.importingClaudeZip': 'Importálás…',
|
||||
'newproj.privacyFooter': 'Alapértelmezetten csak te láthatod a projekted.',
|
||||
'newproj.designSystem': 'Designrendszer',
|
||||
'newproj.dsNoneFreeform': 'Nincs — szabad formátum',
|
||||
'newproj.dsNoneSubtitleEmpty': 'Nincsenek rendszertokenek, válassz saját palettát',
|
||||
'newproj.dsNoneSubtitleSelected': 'Hagyd ki a rendszertokeneket. Az ügynök maga választ palettát.',
|
||||
'newproj.dsCategoryFallback': 'Designrendszer',
|
||||
'newproj.dsSearch': 'Designrendszerek keresése…',
|
||||
'newproj.dsModeAria': 'Kijelölési mód',
|
||||
'newproj.dsModeSingle': 'Egy',
|
||||
'newproj.dsModeMulti': 'Több',
|
||||
'newproj.dsNoneTitle': 'Nincs — szabad formátum',
|
||||
'newproj.dsNoneSub': 'Hagyd ki a rendszertokeneket. Az ügynök maga választ palettát.',
|
||||
'newproj.dsEmpty': 'Egy designrendszer sem felel meg a „{query}" keresésnek.',
|
||||
'newproj.dsFootSingular': 'csak inspiráció.',
|
||||
'newproj.dsFootPlural': 'csak inspiráció.',
|
||||
'newproj.dsFootClear': 'Törlés',
|
||||
'newproj.dsBadgeDefault': 'ALAPÉRT.',
|
||||
'newproj.dsPrimaryFallback': 'Elsődleges',
|
||||
'newproj.surfaceImage': 'Kép',
|
||||
'newproj.surfaceVideo': 'Videó',
|
||||
'newproj.surfaceAudio': 'Hang',
|
||||
'newproj.modelLabel': 'Modell',
|
||||
'newproj.aspectLabel': 'Képarány',
|
||||
'newproj.imageStyleLabel': 'Stílusjegyzetek',
|
||||
'newproj.imageStylePlaceholder': 'Magazinszerű fotó, lágy nappali fény, tompa paletta',
|
||||
'newproj.videoLengthLabel': 'Hossz',
|
||||
'newproj.videoLengthSeconds': '{n} mp',
|
||||
'newproj.audioKindLabel': 'Hangtípus',
|
||||
'newproj.audioKindMusic': 'Zene',
|
||||
'newproj.audioKindSpeech': 'Beszéd / TTS',
|
||||
'newproj.audioKindSfx': 'Hangeffekt',
|
||||
'newproj.audioDurationLabel': 'Időtartam',
|
||||
'newproj.audioDurationSeconds': '{n} mp',
|
||||
'newproj.voiceLabel': 'Hang',
|
||||
'newproj.voicePlaceholder': 'Szolgáltatói hang-id, opcionális',
|
||||
'newproj.promptTemplateLabel': 'Hivatkozási sablon',
|
||||
'newproj.promptTemplateNoneTitle': 'Nincs — saját megfogalmazás',
|
||||
'newproj.promptTemplateNoneSub': 'Hagyd ki a galériát, írd le a saját brieffed',
|
||||
'newproj.promptTemplateRefSub': 'Hivatkozási sablon',
|
||||
'newproj.promptTemplateSearch': 'Sablonok keresése…',
|
||||
'newproj.promptTemplateEmpty': 'Még nincs telepített sablon ehhez a felülethez.',
|
||||
'newproj.promptTemplateBodyLabel': 'Prompt (módosítható)',
|
||||
'newproj.promptTemplateOptimizeHint':
|
||||
'Bármit módosíthatsz — a változtatásaid beépülnek az ügynök briefjébe.',
|
||||
'newproj.promptTemplateBodyEmpty':
|
||||
'Üres törzs — az ügynök nem kap sablonhivatkozást.',
|
||||
|
||||
'designs.subRecent': 'Legutóbbi',
|
||||
'designs.subYours': 'A te terveid',
|
||||
'designs.filterAria': 'Projektek szűrése',
|
||||
'designs.searchPlaceholder': 'Keresés…',
|
||||
'designs.emptyNoProjects': 'Még nincs projekt. Hozz létre egyet a bal oldalon.',
|
||||
'designs.emptyNoMatch': 'Egy projekt sem felel meg a keresésnek.',
|
||||
'designs.deleteTitle': 'Projekt törlése',
|
||||
'designs.deleteConfirm': 'Törlöd a(z) „{name}" projektet?',
|
||||
'designs.cardFreeform': 'szabad formátum',
|
||||
'designs.status.notStarted': 'Nem kezdődött el',
|
||||
'designs.status.queued': 'Sorban',
|
||||
'designs.status.running': 'Fut',
|
||||
'designs.status.awaitingInput': 'Bevitelre vár',
|
||||
'designs.status.succeeded': 'Befejezve',
|
||||
'designs.status.failed': 'Sikertelen',
|
||||
'designs.status.canceled': 'Megszakítva',
|
||||
'designs.viewToggleAria': 'Nézet módja',
|
||||
'designs.viewGrid': 'Rácsnézet',
|
||||
'designs.viewKanban': 'Tábla nézet',
|
||||
'designs.kanbanEmptyColumn': 'Nincs terv',
|
||||
'designs.deleteAria': '{name} projekt törlése',
|
||||
|
||||
'examples.typeLabel': 'Típus',
|
||||
'examples.surfaceLabel': 'Felület',
|
||||
'examples.surfaceWeb': 'Web',
|
||||
'examples.surfaceImage': 'Kép',
|
||||
'examples.surfaceVideo': 'Videó',
|
||||
'examples.surfaceAudio': 'Hang',
|
||||
'examples.scenarioLabel': 'Forgatókönyv',
|
||||
'examples.modeAll': 'Mind',
|
||||
'examples.modePrototypeDesktop': 'Prototípusok · Asztali',
|
||||
'examples.modePrototypeMobile': 'Prototípusok · Mobil',
|
||||
'examples.modeDeck': 'Diák',
|
||||
'examples.modeDocument': 'Dokumentumok és sablonok',
|
||||
'examples.scenarioGeneral': 'Általános',
|
||||
'examples.scenarioEngineering': 'Mérnöki',
|
||||
'examples.scenarioProduct': 'Termék',
|
||||
'examples.scenarioDesign': 'Design',
|
||||
'examples.scenarioMarketing': 'Marketing',
|
||||
'examples.scenarioSales': 'Értékesítés',
|
||||
'examples.scenarioFinance': 'Pénzügy',
|
||||
'examples.scenarioHr': 'HR',
|
||||
'examples.scenarioOperations': 'Operáció',
|
||||
'examples.scenarioSupport': 'Ügyfélszolgálat',
|
||||
'examples.scenarioLegal': 'Jogi',
|
||||
'examples.scenarioEducation': 'Oktatás',
|
||||
'examples.scenarioPersonal': 'Személyes',
|
||||
'examples.emptyNoSkills': 'Nincs elérhető skill. Fut a daemon?',
|
||||
'examples.searchPlaceholder': 'Példák keresése…',
|
||||
'examples.searchAria': 'Példák keresése név alapján',
|
||||
'examples.emptyNoMatch': 'Egy példa sem felel meg ezeknek a szűrőknek.',
|
||||
'examples.openPreview': '⤢ Előnézet megnyitása',
|
||||
'examples.loadingPreview': 'Előnézet betöltése…',
|
||||
'examples.hoverPreview': 'Vidd fölé az egeret az előnézethez',
|
||||
'examples.usePrompt': 'Használd ezt a promptot',
|
||||
'examples.previewModalTitle': 'Teljes előnézet (modális)',
|
||||
'examples.shareTitle': 'Példa megosztása',
|
||||
'examples.shareLoadFirst': 'Vidd fölé az egeret az előnézet betöltéséhez',
|
||||
'examples.shareMenu': 'Megosztás ▾',
|
||||
'examples.exportPdfAllSlides': 'Exportálás PDF-ként (minden dia)',
|
||||
'examples.exportPptxLocked': 'Exportálás PPTX-ként… (előbb sablont nyiss)',
|
||||
'examples.tagSlideDeck': 'Diavetítés',
|
||||
'examples.tagTemplate': 'Sablon',
|
||||
'examples.tagDesignSystem': 'Designrendszer',
|
||||
'examples.tagMobilePrototype': 'Mobil prototípus',
|
||||
'examples.tagDesktopPrototype': 'Asztali prototípus',
|
||||
'examples.tagImage': 'Kép',
|
||||
'examples.tagVideo': 'Videó',
|
||||
'examples.tagAudio': 'Hang',
|
||||
'examples.previewLabel': 'Előnézet',
|
||||
|
||||
'ds.surfaceLabel': 'Felület',
|
||||
'ds.surfaceWeb': 'Web',
|
||||
'ds.surfaceImage': 'Kép',
|
||||
'ds.surfaceVideo': 'Videó',
|
||||
'ds.surfaceAudio': 'Hang',
|
||||
'ds.searchPlaceholder': 'Designrendszerek keresése…',
|
||||
'ds.emptyNoMatch': 'Egy designrendszer sem felel meg a keresésnek.',
|
||||
'ds.badgeDefault': 'ALAPÉRT.',
|
||||
'ds.preview': 'Előnézet',
|
||||
'ds.previewTitle': 'Designrendszer előnézete',
|
||||
'ds.categoryAll': 'Mind',
|
||||
'ds.categoryUncategorized': 'Kategorizálatlan',
|
||||
'ds.showcase': 'Bemutató',
|
||||
'ds.tokens': 'Tokenek',
|
||||
'ds.specToggle': 'DESIGN.md',
|
||||
'ds.specLoading': 'DESIGN.md betöltése…',
|
||||
|
||||
'avatar.title': 'Fiók és beállítások',
|
||||
'avatar.localCli': 'Helyi CLI',
|
||||
'avatar.anthropicApi': 'Anthropic API',
|
||||
'avatar.useLocal': 'Helyi CLI használata',
|
||||
'avatar.useApi': 'API · BYOK használata',
|
||||
'avatar.codeAgent': 'Kód-ügynök',
|
||||
'avatar.rescan': 'PATH újraellenőrzése',
|
||||
'avatar.settings': 'Beállítások',
|
||||
'avatar.backToProjects': 'Vissza a projektekhez',
|
||||
'avatar.metaActive': 'aktív',
|
||||
'avatar.metaOffline': 'offline',
|
||||
'avatar.metaSelected': 'kiválasztva',
|
||||
'avatar.noAgentSelected': 'nincs kiválasztott ügynök',
|
||||
'avatar.modelSection': 'Modell',
|
||||
'avatar.modelLabel': 'Modell',
|
||||
'avatar.reasoningLabel': 'Gondolkodás',
|
||||
'avatar.customSuffix': '(egyedi)',
|
||||
|
||||
'project.backToProjects': 'Vissza a projektekhez',
|
||||
'project.metaFreeform': 'szabad formátum',
|
||||
'chat.tabChat': 'Csevegés',
|
||||
'chat.tabComments': 'Megjegyzések',
|
||||
'chat.commentsSoon': 'Megjegyzések — hamarosan',
|
||||
'chat.comments.attached': 'Attached to chat',
|
||||
'chat.comments.emptyAttached': 'No comments attached.',
|
||||
'chat.comments.saved': 'Saved comments',
|
||||
'chat.comments.emptySaved': 'No saved comments.',
|
||||
'chat.comments.add': 'Add',
|
||||
'chat.comments.addAll': 'Add all',
|
||||
'chat.comments.remove': 'Remove',
|
||||
'chat.comments.placeholder': 'Comment on this element…',
|
||||
'chat.comments.addSend': 'Add & send',
|
||||
'chat.comments.updateSend': 'Update & send',
|
||||
'chat.comments.removeAttachment': 'Remove comment attachment',
|
||||
'chat.comments.removeAttachmentAria': 'Remove comment attachment for {name}',
|
||||
'chat.conversationsTitle': 'Beszélgetések',
|
||||
'chat.conversationsAria': 'Beszélgetések előzménye',
|
||||
'chat.newConversation': 'Új beszélgetés',
|
||||
'chat.newConversationsTitle': 'Új beszélgetés',
|
||||
'chat.conversationsHeading': 'Beszélgetések',
|
||||
'chat.new': 'Új',
|
||||
'chat.emptyConversations': 'Még nincs beszélgetés.',
|
||||
'chat.deleteConversation': 'Beszélgetés törlése',
|
||||
'chat.deleteConversationConfirm':
|
||||
'Törlöd a(z) „{title}" beszélgetést? Ez eltávolítja az üzeneteit.',
|
||||
'chat.untitledConversation': 'Cím nélküli beszélgetés',
|
||||
'chat.startTitle': 'Indíts beszélgetést',
|
||||
'chat.startHint':
|
||||
'Húzz vagy illessz be képeket vizuális hivatkozásként, vagy gépelj @-et a projekt egy fájljának csatolásához. Vagy próbáld ki ezeket a kezdéseket:',
|
||||
'chat.fillInputTitle': 'Kattints a beviteli mező kitöltéséhez',
|
||||
'chat.jumpToLatest': 'Ugrás a legutóbbira',
|
||||
'chat.scrollToLatest': 'Görgetés a legutóbbira',
|
||||
'chat.you': 'Te',
|
||||
'chat.openFile': '{name} megnyitása',
|
||||
'chat.composerPlaceholder':
|
||||
'Írd le a kívánt designt — illessz be vagy húzz képeket, vagy @-tel hivatkozz fájlra…',
|
||||
'chat.composerHint':
|
||||
'⌘/Ctrl + Enter: küldés · képek beillesztése · @ fájlra hivatkozás',
|
||||
'chat.cliSettingsTitle': 'CLI- és modellbeállítások',
|
||||
'chat.cliSettingsAria': 'CLI- és modellbeállítások megnyitása',
|
||||
'chat.attachTitle': 'Fájlok csatolása (vagy beillesztés / húzás)',
|
||||
'chat.attachAria': 'Fájlok csatolása',
|
||||
'chat.importTitle': 'Források importálása (hamarosan)',
|
||||
'chat.importLabel': 'Importálás',
|
||||
'chat.importComingSoon': 'Hamarosan',
|
||||
'chat.importSoon': 'Hamarosan',
|
||||
'chat.importFig': '.fig fájl feltöltése',
|
||||
'chat.importGitHub': 'GitHub csatlakoztatása',
|
||||
'chat.importWeb': 'Webelem mentése',
|
||||
'chat.importFolder': 'Kódmappa hozzákapcsolása',
|
||||
'chat.importSkills': 'Skillek és designrendszerek',
|
||||
'chat.importProject': 'Hivatkozás másik projektre',
|
||||
'chat.send': 'Küldés',
|
||||
'chat.stop': 'Leállítás',
|
||||
'chat.removeAria': '{name} eltávolítása',
|
||||
'chat.example1Title': 'Magazinszerű pitch deck',
|
||||
'chat.example1Tag': 'Magazin',
|
||||
'chat.example1Prompt':
|
||||
'Egy 10 diás magazinszerű pitch deck egy designstúdió seed köréhez — svájci rácselrendezés, túlméretezett serif címsorok félkövér drop capekkel, monospace szakaszszámok, bőséges üres tér, és teljes kihasználású fotódiák szövegközpontú diákkal váltakozva. Borító, vízió, piac, termék, eredmények, csapat, kérés, kapcsolat.',
|
||||
'chat.example2Title': 'SaaS analitikai dashboard',
|
||||
'chat.example2Tag': 'Adat',
|
||||
'chat.example2Prompt':
|
||||
'Sűrű analitikai dashboard fejlesztői SaaS-hez — KPI-csík hét/hét deltákkal, két egymásra rakott vonaldiagram (MRR és aktív munkaterületek), világtérképes hőtérkép a használatról, kohorsz-megtartási rács, top-ügyfelek ranglista, és valós idejű eseménystream. Sötét téma, táblázatos monospace számok, sparkline akcentusok.',
|
||||
'chat.example3Title': 'Éves jelentés long-scroll',
|
||||
'chat.example3Tag': 'Magazinszerű',
|
||||
'chat.example3Prompt':
|
||||
'Interaktív éves jelentés egy klíma-non-profitnak — long-scroll magazinszerű elrendezés, nagy kiemelt-idézet blokkokkal, adatvizualizációkkal (egymásra rakott oszlopok, animált számlálók, projekthelyek choropleth térképe), fotó-megszakítókkal, donor fallal, és záró cselekvésre hívással. Modern serif törzs, sans-serif diagramcímkék, földes papírpaletta.',
|
||||
|
||||
'preview.shareMenu': 'Megosztás ▾',
|
||||
'preview.openInNewTab': 'Megnyitás új lapon',
|
||||
'preview.exit': '⤓ Kilépés',
|
||||
'preview.fullscreen': '⤢ Teljes képernyő',
|
||||
'preview.closeTitle': 'Bezárás (Esc)',
|
||||
'preview.loading': '{label} betöltése…',
|
||||
'preview.showSidebar': '{label} megjelenítése',
|
||||
'preview.hideSidebar': '{label} elrejtése',
|
||||
|
||||
'misc.savedTemplate': 'Mentett sablon',
|
||||
'misc.primary': 'Elsődleges',
|
||||
'misc.designSystem': 'Designrendszer',
|
||||
|
||||
'workspace.designFiles': 'Designfájlok',
|
||||
'workspace.closeTab': 'Lap bezárása',
|
||||
'workspace.deleteFileConfirm': 'Törlöd a(z) „{name}" fájlt a projektmappából?',
|
||||
'workspace.openFromDesignFiles': 'Nyiss meg egy fájlt innen:',
|
||||
'workspace.designFilesLink': 'Designfájlok',
|
||||
'workspace.loadingSketch': 'Vázlat betöltése…',
|
||||
'designFiles.title': 'Designfájlok',
|
||||
'designFiles.upload': 'Fájlok feltöltése',
|
||||
'designFiles.pasteText': 'Beillesztés szövegfájlként',
|
||||
'designFiles.newSketch': 'Új vázlat',
|
||||
'designFiles.empty':
|
||||
'Még nincs itt semmi. Húzz be fájlokat, vagy hozz létre vázlatot / illessz be szöveget.',
|
||||
'designFiles.refresh': 'Frissítés',
|
||||
'designFiles.delete': 'Törlés',
|
||||
'designFiles.searchPlaceholder': 'Fájlok keresése…',
|
||||
'designFiles.up': 'Fel',
|
||||
'designFiles.back': 'Vissza',
|
||||
'designFiles.crumbs': 'projekt',
|
||||
'designFiles.rowMenu': 'Sor menü',
|
||||
'designFiles.openInTab': 'Megnyitás lapon',
|
||||
'designFiles.download': 'Letöltés',
|
||||
'designFiles.downloadSelected': 'Download {n} as ZIP',
|
||||
'designFiles.clearSelection': 'Clear',
|
||||
'designFiles.selectAll': 'Select all',
|
||||
'designFiles.dropTitle': '⤓ Húzd ide a fájlokat',
|
||||
'designFiles.dropDesc':
|
||||
'Képek, dokumentumok, hivatkozások vagy mappák — az ügynök kontextusként használja őket.',
|
||||
'designFiles.upload.title': 'Fájlok feltöltése',
|
||||
'designFiles.paste.title': 'Szöveg beillesztése fájlként',
|
||||
'designFiles.upload.label': 'Feltöltés',
|
||||
'designFiles.paste.label': 'Beillesztés',
|
||||
'designFiles.previewOpen': 'Megnyitás',
|
||||
'designFiles.previewClose': 'Előnézet bezárása',
|
||||
'designFiles.modified': 'Módosítva: {time} · {size}',
|
||||
'designFiles.weeksAgo': '{n} hete',
|
||||
'designFiles.sectionPages': 'Oldalak',
|
||||
'designFiles.sectionScripts': 'Szkriptek',
|
||||
'designFiles.sectionImages': 'Képek',
|
||||
'designFiles.sectionSketches': 'Vázlatok',
|
||||
'designFiles.sectionOther': 'Egyéb',
|
||||
'designFiles.showMore': '+{n} további megjelenítése',
|
||||
'designFiles.kindHtml': 'HTML oldal',
|
||||
'designFiles.kindImage': 'Kép',
|
||||
'designFiles.kindSketch': 'Vázlat',
|
||||
'designFiles.kindText': 'Szöveg',
|
||||
'designFiles.kindCode': 'Szkript',
|
||||
'designFiles.kindPdf': 'PDF',
|
||||
'designFiles.kindDocument': 'Dokumentum',
|
||||
'designFiles.kindPresentation': 'Prezentáció',
|
||||
'designFiles.kindSpreadsheet': 'Táblázat',
|
||||
'designFiles.kindBinary': 'Bináris',
|
||||
'pasteDialog.title': 'Szöveg beillesztése',
|
||||
'pasteDialog.hint': 'A projektmappába mentve. Bármilyen név adható.',
|
||||
'pasteDialog.fileNameLabel': 'Fájlnév',
|
||||
'pasteDialog.namePlaceholder': 'jegyzetek.txt',
|
||||
'pasteDialog.contentLabel': 'Tartalom',
|
||||
'pasteDialog.contentPlaceholder': 'Illessz be bármit…',
|
||||
'pasteDialog.save': 'Mentés',
|
||||
'pasteDialog.cancel': 'Mégse',
|
||||
'sketch.save': 'Vázlat mentése',
|
||||
'sketch.cancel': 'Mégse',
|
||||
'sketch.saving': 'Mentés…',
|
||||
'sketch.tooltipDirty': 'Mentetlen változtatások',
|
||||
'sketch.tooltipClean': 'Mentve',
|
||||
'fileViewer.empty': 'Válassz fájlt a megtekintéshez.',
|
||||
'fileViewer.loading': 'Betöltés…',
|
||||
'fileViewer.exportPptx': 'Exportálás PPTX-ként',
|
||||
'fileViewer.openInNewTab': 'Megnyitás új lapon',
|
||||
'fileViewer.copyPath': 'Útvonal másolása',
|
||||
'fileViewer.copied': 'Másolva!',
|
||||
'fileViewer.share': 'Megosztás',
|
||||
'fileViewer.binaryMeta': 'Bináris · {size}',
|
||||
'fileViewer.binaryNote':
|
||||
'Bináris fájl ({size} bájt). A megtekintéshez töltsd le, vagy nyisd meg lemezről.',
|
||||
'fileViewer.pdfMeta': 'PDF · {size}',
|
||||
'fileViewer.documentMeta': 'Dokumentum',
|
||||
'fileViewer.presentationMeta': 'Prezentáció',
|
||||
'fileViewer.spreadsheetMeta': 'Táblázat',
|
||||
'fileViewer.previewUnavailable': 'Előnézet nem elérhető. Töltsd le vagy nyisd meg a fájlt a megtekintéshez.',
|
||||
'fileViewer.download': 'Letöltés',
|
||||
'fileViewer.open': 'Megnyitás',
|
||||
'fileViewer.imageMeta': 'Kép · {size}',
|
||||
'fileViewer.reactMeta': 'React komponens · {size}',
|
||||
'fileViewer.sketchMeta': 'Vázlat · {size}',
|
||||
'fileViewer.markdownStreamingMeta': 'Streamelő előnézet…',
|
||||
'fileViewer.markdownErrorMeta': 'Az előnézet hiányos lehet (generálási hiba).',
|
||||
'fileViewer.markdownStreamingStatus': 'Streamelés… részleges markdownt mutatva.',
|
||||
'fileViewer.markdownErrorStatus': 'Generálási hiba. Az utolsó elérhető tartalom látszik.',
|
||||
'fileViewer.videoMeta': 'Videó · {size}',
|
||||
'fileViewer.audioMeta': 'Hang · {size}',
|
||||
'fileViewer.reload': 'Újratöltés',
|
||||
'fileViewer.reloadDisk': 'Újratöltés lemezről',
|
||||
'fileViewer.copy': 'Másolás',
|
||||
'fileViewer.copyTitle': 'Fájltartalom másolása',
|
||||
'fileViewer.saveDisabled': 'Mentés (csak olvasható nézet)',
|
||||
'fileViewer.save': 'Mentés',
|
||||
'fileViewer.preview': 'Előnézet',
|
||||
'fileViewer.source': 'Forrás',
|
||||
'fileViewer.tweaks': 'Finomhangolás',
|
||||
'fileViewer.comment': 'Megjegyzés',
|
||||
'fileViewer.edit': 'Szerkesztés',
|
||||
'fileViewer.draw': 'Rajz',
|
||||
'fileViewer.zoomOut': 'Kicsinyítés',
|
||||
'fileViewer.zoomIn': 'Nagyítás',
|
||||
'fileViewer.resetZoom': 'Nagyítás visszaállítása',
|
||||
'fileViewer.reloadAria': 'Újratöltés',
|
||||
'fileViewer.previousSlide': 'Előző dia',
|
||||
'fileViewer.nextSlide': 'Következő dia',
|
||||
'fileViewer.slideNavAria': 'Dianavigáció',
|
||||
'fileViewer.present': 'Bemutatás',
|
||||
'fileViewer.presentInTab': 'Ezen a lapon',
|
||||
'fileViewer.presentFullscreen': 'Teljes képernyő',
|
||||
'fileViewer.presentNewTab': 'Új lap',
|
||||
'fileViewer.exitPresentation': 'Bemutató bezárása',
|
||||
'fileViewer.shareLabel': 'Megosztás',
|
||||
'fileViewer.exportPdf': 'Exportálás PDF-ként',
|
||||
'fileViewer.exportPdfAllSlides': 'Exportálás PDF-ként (minden dia)',
|
||||
'fileViewer.exportPptxBusy': 'Várj, amíg az aktuális kör befejeződik.',
|
||||
'fileViewer.exportPptxHint':
|
||||
'Küldj kérést az ügynöknek, hogy alakítsa át ezt a designt PPTX-szé.',
|
||||
'fileViewer.exportPptxNa': 'A PPTX export itt nem elérhető.',
|
||||
'fileViewer.exportZip': 'Letöltés .zip-ként',
|
||||
'fileViewer.exportHtml': 'Exportálás önálló HTML-ként',
|
||||
'fileViewer.exportMd': 'Exportálás Markdown-ként',
|
||||
'fileViewer.exportJsx': 'Exportálás JSX-ként',
|
||||
'fileViewer.exportReactHtml': 'Előnézet exportálása HTML-ként',
|
||||
'fileViewer.saveAsTemplate': 'Mentés sablonként…',
|
||||
'fileViewer.savingTemplate': 'Sablon mentése…',
|
||||
'fileViewer.savedTemplate': 'Mentve „{name}" néven',
|
||||
'fileViewer.savedTemplateFail': 'A sablon mentése nem sikerült — próbáld újra.',
|
||||
'fileViewer.templateNamePrompt': 'Sablon neve',
|
||||
'fileViewer.templateNameDefault': 'Cím nélküli sablon',
|
||||
'fileViewer.templateDescPrompt':
|
||||
'Rövid leírás (opcionális — mitől hasznos ez a sablon?)',
|
||||
'fileViewer.deployToVercel': 'Telepítés Vercelre',
|
||||
'fileViewer.redeployToVercel': 'Újratelepítés',
|
||||
'fileViewer.deployingToVercel': 'Telepítés Vercelre…',
|
||||
'fileViewer.preparingPublicLink': 'Nyilvános link előkészítése…',
|
||||
'fileViewer.copyDeployLink': 'Link másolása',
|
||||
'fileViewer.deployModalTitle': 'Telepítés Vercelre',
|
||||
'fileViewer.deployModalSubtitle':
|
||||
'Telepítsd ezt a HTML-artefaktumot Vercel Preview-ként a saját fiókodból.',
|
||||
'fileViewer.vercelToken': 'Vercel token',
|
||||
'fileViewer.vercelTokenGetLink': 'Vercel token kérése',
|
||||
'fileViewer.vercelTokenPlaceholder': 'Illeszd be a Vercel tokenedet',
|
||||
'fileViewer.vercelTokenReuseHint':
|
||||
'A mentett tokent használjuk. Adj meg újat a cseréhez.',
|
||||
'fileViewer.vercelTokenRequired': 'Előbb adj meg és ments el egy Vercel tokent.',
|
||||
'fileViewer.vercelTeamId': 'Team ID',
|
||||
'fileViewer.vercelTeamSlug': 'Team slug',
|
||||
'fileViewer.optional': 'Opcionális',
|
||||
'fileViewer.vercelPreviewOnly': 'A telepítések egyelőre csak Preview-k.',
|
||||
'fileViewer.savingConfig': 'Mentés…',
|
||||
'fileViewer.deployConfigSaveFailed': 'A Vercel beállítások nem menthetők.',
|
||||
'fileViewer.deployFailed': 'A telepítés sikertelen. Ellenőrizd a Vercel beállításokat, és próbáld újra.',
|
||||
'fileViewer.deployResultLabel': 'Telepített URL',
|
||||
'fileViewer.deployLinkPreparingLabel': 'Nyilvános link várólistán',
|
||||
'fileViewer.deployLinkDelayed':
|
||||
'Az oldal telepítve. A Vercel még készíti a nyilvános linket.',
|
||||
'fileViewer.deployLinkProtectedLabel': 'Vercel-védelem aktív',
|
||||
'fileViewer.deployLinkProtected':
|
||||
'Az oldal telepítve, de a Vercel hitelesítést kér ehhez az előnézeti linkhez. Kapcsold ki a Deployment Protection-t, vagy használj egyedi domaint.',
|
||||
'fileViewer.retryLink': 'Újra most',
|
||||
|
||||
'questionForm.submit': 'Beküldés',
|
||||
'questionForm.skip': 'Kihagyás',
|
||||
'questionForm.locked': 'Megválaszolva',
|
||||
|
||||
'conv.switch': 'Beszélgetés váltása',
|
||||
'conv.label': 'Beszélgetés',
|
||||
'conv.heading': 'Beszélgetések',
|
||||
'conv.new': '+ Új',
|
||||
'conv.empty': 'Még nincs beszélgetés.',
|
||||
'conv.untitled': 'Cím nélküli beszélgetés',
|
||||
'conv.renameTooltip': 'Dupla kattintás az átnevezéshez',
|
||||
'conv.delete': 'Beszélgetés törlése',
|
||||
'conv.deleteConfirm': 'Törlöd a(z) „{title}" beszélgetést? Ez eltávolítja az üzeneteit.',
|
||||
|
||||
'agentPicker.label': 'Ügynök',
|
||||
'agentPicker.modeChoose': 'Válassz végrehajtási módot',
|
||||
'agentPicker.localCli': 'Helyi CLI',
|
||||
'agentPicker.daemonOff': 'a daemon kikapcsolva',
|
||||
'agentPicker.byok': 'API · BYOK',
|
||||
'agentPicker.selectAgent': 'Válassz egy észlelt code-agent CLI-t',
|
||||
'agentPicker.noAgents': 'nincs ügynök a PATH-on',
|
||||
'agentPicker.notInstalled': 'nincs telepítve',
|
||||
'agentPicker.rescan': 'Helyi PATH újraellenőrzése ügynökökért',
|
||||
|
||||
'tool.openInTab': '{name} megnyitása lapon',
|
||||
'tool.open': 'megnyitás',
|
||||
'tool.todos': 'Feladatok',
|
||||
'tool.write': 'Írás',
|
||||
'tool.edit': 'Szerkesztés',
|
||||
'tool.read': 'Olvasás',
|
||||
'tool.bash': 'Bash',
|
||||
'tool.glob': 'Glob',
|
||||
'tool.grep': 'Grep',
|
||||
'tool.fetch': 'Lekérés',
|
||||
'tool.search': 'Keresés',
|
||||
'tool.lines': '{n} sor',
|
||||
'tool.changeSingular': 'változás',
|
||||
'tool.changePlural': 'változás',
|
||||
'tool.in': 'itt: {path}',
|
||||
'tool.hide': 'elrejtés',
|
||||
'tool.output': 'kimenet',
|
||||
'tool.running': 'fut…',
|
||||
'tool.error': 'hiba',
|
||||
'tool.done': 'kész',
|
||||
|
||||
'assistant.role': 'Asszisztens',
|
||||
'assistant.workingLabel': 'Dolgozik',
|
||||
'assistant.doneLabel': 'Kész',
|
||||
'assistant.unfinishedLabel': 'Befejezetlen munkával állt le',
|
||||
'assistant.unfinishedSummary': '{n} feladat hátravan',
|
||||
'assistant.unfinishedMore': '+{n} további',
|
||||
'assistant.continueRemaining': 'Hátralévő feladatok folytatása',
|
||||
'assistant.outTokens': '{n} ki',
|
||||
'assistant.producedFiles': 'A körben létrehozott fájlok',
|
||||
'assistant.openFile': 'Megnyitás',
|
||||
'assistant.downloadFile': 'Letöltés',
|
||||
'assistant.thinking': 'Gondolkodik',
|
||||
'assistant.systemReminder': 'Rendszer-emlékeztető',
|
||||
'assistant.waitingFirstOutput': 'Az első kimenetre vár',
|
||||
'assistant.statusBootingAgent': 'Ügynök indítása',
|
||||
'assistant.statusStarting': 'Indítás',
|
||||
'assistant.statusRequesting': 'Kérés küldése',
|
||||
'assistant.statusThinking': 'Gondolkodik',
|
||||
'assistant.statusStreaming': 'Streamelés',
|
||||
'assistant.slowHint':
|
||||
'Tovább tart a szokásosnál. Az űrlap általában 5–10 mp alatt megjelenik — leállíthatod és újrafogalmazhatod.',
|
||||
'assistant.verbEditing': 'Szerkesztés',
|
||||
'assistant.verbWriting': 'Írás',
|
||||
'assistant.verbReading': 'Olvasás',
|
||||
'assistant.verbSearching': 'Keresés',
|
||||
'assistant.verbRunning': 'Futtatás',
|
||||
'assistant.verbTodos': 'Feladatok',
|
||||
'assistant.verbFetching': 'Lekérés',
|
||||
'assistant.verbCalling': 'Hívás',
|
||||
|
||||
'qf.answered': 'megválaszolva',
|
||||
'qf.choose': 'Válassz…',
|
||||
'qf.required': 'kötelező',
|
||||
'qf.lockedSubmitted':
|
||||
'Válaszok elküldve — az ügynök ezeket használja a folyamat további részében.',
|
||||
'qf.lockedPrev': 'Ez az űrlap egy korábbi körből származik.',
|
||||
'qf.hint':
|
||||
'Válaszd, ami illik. Hagyd ki az opcionális mezőket, amik nem érdekesek — az ügynök ésszerű alapértékeket használ.',
|
||||
'qf.submitDefault': 'Válaszok küldése',
|
||||
'qf.submitDisabledTitle': 'Előbb töltsd ki a kötelező mezőket',
|
||||
'qf.submitTitle': 'Válaszok küldése',
|
||||
'qf.cardSelected': 'kiválasztva',
|
||||
'qf.cardRefs': 'Hivatkozások:',
|
||||
'qf.cardSampleText': 'Árvíztűrő tükörfúrógép · 0123',
|
||||
|
||||
'sketch.toolSelect': 'Kijelölés (nem aktív)',
|
||||
'sketch.toolPen': 'Toll',
|
||||
'sketch.toolText': 'Szöveg',
|
||||
'sketch.toolRect': 'Téglalap',
|
||||
'sketch.toolArrow': 'Nyíl',
|
||||
'sketch.toolEraser': 'Radír',
|
||||
'sketch.color': 'Szín',
|
||||
'sketch.strokeSize': 'Vonalvastagság',
|
||||
'sketch.undo': 'Visszavonás',
|
||||
'sketch.clear': 'Törlés',
|
||||
'sketch.close': 'Bezárás',
|
||||
'sketch.textPrompt': 'Szöveg:',
|
||||
|
||||
'pet.title': 'Háziállatok',
|
||||
'pet.subtitle': 'Fogadj be egy apró társat, aki a munkaterületed felett lebeg.',
|
||||
'pet.navTitle': 'Háziállatok',
|
||||
'pet.navHint': 'Befogadás vagy testreszabás',
|
||||
'pet.tabBuiltIn': 'Beépített',
|
||||
'pet.tabBuiltInHint': 'Az Open Designnal csomagolt társak — válassz egyet és fogadd örökbe.',
|
||||
'pet.builtInEmpty': 'A beépített állatok most nem elérhetők. Frissítsd a Közösség fület, amint a daemon újra online.',
|
||||
'pet.tabCustom': 'Egyéni',
|
||||
'pet.tabCustomHint': 'Készíts sajátot névvel, jellel, színnel vagy sprite-tal.',
|
||||
'pet.tabCommunity': 'Közösségi',
|
||||
'pet.tabCommunityHint': 'Codex-ben kikelt háziállatok — fogadj be egyet, vagy generálj újat.',
|
||||
'pet.tabsAria': 'Háziállat forrása',
|
||||
'pet.adopt': 'Befogadás',
|
||||
'pet.adoptedBadge': 'Befogadva',
|
||||
'pet.adoptCallout': 'Fogadj be egy háziállatot',
|
||||
'pet.changePet': 'Háziállat váltása',
|
||||
'pet.wake': 'Ébresztés',
|
||||
'pet.tuck': 'Elrejtés',
|
||||
'pet.wakeTitle': 'Háziállat ébresztése — lebegő réteg megjelenítése.',
|
||||
'pet.tuckTitle': 'Háziállat elrejtése — lebegő réteg eltüntetése.',
|
||||
'pet.settingsTitle': 'Háziállat beállításainak megnyitása',
|
||||
'pet.useCustom': 'Saját háziállat használata',
|
||||
'pet.customTitle': 'Készíts egy sajátot',
|
||||
'pet.customHint': 'Válassz nevet, jelet és kiemelőszínt — a réteg élőben frissül.',
|
||||
'pet.customGreetingPlaceholder': 'Köszönj a háziállatod nevében…',
|
||||
'pet.fieldName': 'Név',
|
||||
'pet.fieldGlyph': 'Jel',
|
||||
'pet.fieldGlyphHint': 'Egyetlen emoji a legjobb (pl. 🐝, 🦄, 🐢).',
|
||||
'pet.fieldGreeting': 'Üdvözlés',
|
||||
'pet.fieldAccent': 'Kiemelőszín',
|
||||
'pet.fieldAccentCustom': 'Egyedi szín',
|
||||
'pet.overlayAria': 'Háziállat társ',
|
||||
'pet.spriteAria': '{name} — húzd a mozgatáshoz, kattints a beszélgetéshez',
|
||||
'pet.spriteTitle': 'Üdv tőlem, {name}! Kattints a beszélgetéshez.',
|
||||
'pet.railAria': 'Háziállat-választó',
|
||||
'pet.railTitle': 'Háziállatok',
|
||||
'pet.railHint': 'Válassz társat, aki a munkaterületed felett lebeg.',
|
||||
'pet.railExpand': 'Háziállat-választó megjelenítése',
|
||||
'pet.railCollapse': 'Háziállat-választó összecsukása',
|
||||
'pet.railHide': 'Háziállat-választó elrejtése',
|
||||
'pet.railShow': 'Háziállat-választó megjelenítése',
|
||||
'pet.railCustomFlavor': 'A sajátod — név, jel, szín.',
|
||||
'pet.railCustomize': 'Testreszabás…',
|
||||
'pet.composerTitle': 'Háziállatok — ébresztés, elrejtés vagy választás',
|
||||
'pet.composerMenuTitle': 'Háziállatok',
|
||||
'pet.composerMenuHint': 'tipp: írd be /pet a váltáshoz',
|
||||
'pet.composerOpenSettings': 'Testreszabás a Beállításokban',
|
||||
'pet.welcomeTeaserTitle': 'Fogadj be egy háziállatot',
|
||||
'pet.welcomeTeaserBody': 'Egy apró lebegő társ, aki veled van.',
|
||||
'pet.welcomeTeaserCta': 'Választok egyet',
|
||||
'pet.imageUpload': 'Sprite feltöltése',
|
||||
'pet.imageReplace': 'Sprite cseréje',
|
||||
'pet.imageRemove': 'Emoji használata',
|
||||
'pet.imageHintIdle':
|
||||
'PNG, JPG, WebP, GIF vagy SVG. Spritesheet? Tölts fel egy vízszintes szalagot, és add meg a képkockaszámot.',
|
||||
'pet.imageHintActive':
|
||||
'A sprite-od látható. Állítsd a képkockaszámot 1 fölé egy vízszintes spritesheet animálásához.',
|
||||
'pet.fieldFrames': 'Képkockák',
|
||||
'pet.fieldFramesHint': '1 = statikus. > 1 = vízszintes spritesheet.',
|
||||
'pet.fieldFps': 'Sebesség (fps)',
|
||||
'pet.fieldFpsHint': 'Milyen gyorsan forognak a képkockák.',
|
||||
'pet.atlasImport': 'Codex sprite importálása',
|
||||
'pet.atlasImportTitle': 'Importálj egy hatch-pet 8x9 / 192x208 atlast (PNG vagy WebP).',
|
||||
'pet.atlasPickerTitle': 'Válassz animációs sort',
|
||||
'pet.atlasPickerHint':
|
||||
'A Codex háziállatok 9 animációs sort hoznak. Alapból a teljes atlast használjuk, így a háziállat sort vált hover, húzás és tétlen állapot szerint. Egy sorra is rögzíthető.',
|
||||
'pet.atlasCancel': 'Atlas eldobása',
|
||||
'pet.atlasAdopt': 'Rögzítés erre a sorra',
|
||||
'pet.atlasAdoptFull': 'Teljes atlas használata (animált)',
|
||||
'pet.atlasAdoptFullTitle':
|
||||
'Minden sor megmarad, így a háziállat reagál a hoverre, a húzás irányára és a hosszú tétlenségre.',
|
||||
'pet.atlasAdoptRowTitle':
|
||||
'Csak a kiemelt sort vágjuk ki egy ismétlődő szalaggá.',
|
||||
'pet.atlasActiveHint':
|
||||
'Animált atlas aktív — a háziállat az interakcióid (hover, húzás, tétlen) alapján választ sort.',
|
||||
'pet.atlasRow.idle': 'Tétlen',
|
||||
'pet.atlasRow.running-right': 'Futás jobbra',
|
||||
'pet.atlasRow.running-left': 'Futás balra',
|
||||
'pet.atlasRow.waving': 'Integetés',
|
||||
'pet.atlasRow.jumping': 'Ugrás',
|
||||
'pet.atlasRow.failed': 'Sikertelen',
|
||||
'pet.atlasRow.waiting': 'Várakozás',
|
||||
'pet.atlasRow.running': 'Futás',
|
||||
'pet.atlasRow.review': 'Áttekintés',
|
||||
'pet.hatchTitle': 'Új háziállat költése MI-vel',
|
||||
'pet.hatchHint':
|
||||
'Használd a beépített hatch-pet skillt a chatben egy Codex-stílusú spritesheet generálásához, majd importáld ide.',
|
||||
'pet.hatchConcept': 'Háziállat-koncepció (opcionális)',
|
||||
'pet.hatchConceptPlaceholder': 'pl. egy apró pixel-art shiba kötött pulóverben',
|
||||
'pet.hatchCopy': 'Prompt másolása',
|
||||
'pet.hatchCopied': 'Kimásolva!',
|
||||
'pet.hatchFoot':
|
||||
'Miután a skill elmentette a háziállatot, gyere vissza és válaszd a „Codex sprite importálása" lehetőséget.',
|
||||
'pet.slashPopoverAria': 'Slash parancsok',
|
||||
'pet.slashPopoverTitle': 'Parancsok',
|
||||
'pet.slashPopoverHint': '↑↓ navigáció · enter választás · esc kilépés',
|
||||
'pet.slashPet': 'Háziállat váltása, befogadása vagy a beállítások megnyitása.',
|
||||
'pet.slashPetWake': 'Lebegő háziállat-réteg ébresztése.',
|
||||
'pet.slashPetTuck': 'Háziállat elrejtése egy időre.',
|
||||
'pet.slashHatch': 'Codex háziállat generálása a hatch-pet skill-lel.',
|
||||
'pet.slashHatchArg': '<koncepció>',
|
||||
'pet.codexTitle': 'Frissen kikelt',
|
||||
'pet.codexSubtitle':
|
||||
'A hatch-pet skill által csomagolt háziállatok itt jelennek meg, egy kattintással befogadhatók.',
|
||||
'pet.codexSubtitleWithDir': '{dir} keresése hatch-pet csomagok után.',
|
||||
'pet.codexEmpty': 'Még nincs kikelt háziállat. Írd be /hatch a chatbe egy generálásához.',
|
||||
'pet.codexLoading': 'Kikelt háziállatok keresése…',
|
||||
'pet.codexRefresh': 'Frissítés',
|
||||
'pet.codexAdopt': 'Befogadás',
|
||||
'pet.codexAdopting': 'Befogadás folyamatban…',
|
||||
'pet.communitySync': 'Közösségi háziállatok letöltése',
|
||||
'pet.communitySyncing': 'Letöltés…',
|
||||
'pet.communitySyncTitle':
|
||||
'Frissítsd a Codex Pet Share és j20 Hatchery legutóbbi háziállatait a ~/.codex/pets/ mappába.',
|
||||
'pet.communitySyncDone': '{wrote} új háziállat szinkronizálva (összesen {total}).',
|
||||
'pet.communitySyncFailed': 'A szinkronizálás sikertelen: {error}',
|
||||
'pet.codexBundled': 'Beépített',
|
||||
'pet.codexBundledTitle': 'Az Open Designgal érkezik — letöltés nem szükséges.',
|
||||
|
||||
'settings.notifications': 'Értesítések',
|
||||
'settings.notificationsHint': 'Hang és asztali értesítés a feladat befejezésekor',
|
||||
'settings.notifyCompletionSound': 'Befejezési hang',
|
||||
'settings.notifyCompletionSoundHint': 'Megszólal egy kör végén. Alapértelmezetten kikapcsolva.',
|
||||
'settings.notifySuccessSound': 'Sikerhang',
|
||||
'settings.notifyFailureSound': 'Hibahang',
|
||||
'settings.notifyDesktop': 'Asztali értesítés',
|
||||
'settings.notifyDesktopHint': 'Akkor érkezik, ha az ablak nem aktív.',
|
||||
'settings.notifyDesktopBlocked': 'A böngésző letiltotta. Engedélyezd a webhely beállításaiban.',
|
||||
'settings.notifyDesktopUnsupported': 'Az asztali értesítések ebben a környezetben nem elérhetők.',
|
||||
'settings.notifyTest': 'Tesztküldés',
|
||||
'settings.notifyTestSent': 'Tesztértesítés elküldve. Ha nem jelenik meg banner, ellenőrizd a böngésző és a rendszer értesítési beállításait.',
|
||||
'settings.notifyTestFailed': 'Az értesítéshívás sikertelen. Ellenőrizd a böngésző és a rendszer értesítési beállításait.',
|
||||
'settings.notifySoundDing': 'Csilingelés',
|
||||
'settings.notifySoundChime': 'Csengő',
|
||||
'settings.notifySoundTwoToneUp': 'Kétszólamú emelkedő',
|
||||
'settings.notifySoundPluck': 'Pengetés',
|
||||
'settings.notifySoundBuzz': 'Zümmögés',
|
||||
'settings.notifySoundTwoToneDown': 'Kétszólamú ereszkedő',
|
||||
'settings.notifySoundThud': 'Tompa puffanás',
|
||||
'notify.successTitle': 'Feladat befejezve',
|
||||
'notify.failureTitle': 'A feladat meghiúsult',
|
||||
'notify.successBody': 'Egy kör befejeződött.',
|
||||
'notify.failureBody': 'A feladat hibával ért véget.',
|
||||
};
|
||||
@@ -0,0 +1,829 @@
|
||||
import type { Dict } from '../types';
|
||||
|
||||
export const ja: Dict = {
|
||||
'common.cancel': 'キャンセル',
|
||||
'common.save': '保存',
|
||||
'common.close': '閉じる',
|
||||
'common.delete': '削除',
|
||||
'common.rename': '名前を変更',
|
||||
'common.preview': 'プレビュー',
|
||||
'common.share': '共有',
|
||||
'common.search': '検索',
|
||||
'common.searchEllipsis': '検索…',
|
||||
'common.loading': '読み込み中…',
|
||||
'common.all': 'すべて',
|
||||
'common.none': 'なし',
|
||||
'common.default': 'デフォルト',
|
||||
'common.installed': 'インストール済み',
|
||||
'common.notInstalled': '未インストール',
|
||||
'common.active': 'アクティブ',
|
||||
'common.offline': 'オフライン',
|
||||
'common.selected': '選択中',
|
||||
'common.create': '作成',
|
||||
'common.openPreview': 'プレビューを開く',
|
||||
'common.exitFullscreen': 'フルスクリーンを終了',
|
||||
'common.fullscreen': 'フルスクリーン',
|
||||
'common.openInNewTab': '新しいタブで開く',
|
||||
'common.exportPdf': 'PDFとしてエクスポート',
|
||||
'common.exportZip': '.zipとしてダウンロード',
|
||||
'common.exportHtml': 'スタンドアロンHTMLとしてエクスポート',
|
||||
'common.justNow': 'たった今',
|
||||
'common.minutesAgo': '{n}分前',
|
||||
'common.hoursAgo': '{n}時間前',
|
||||
'common.daysAgo': '{n}日前',
|
||||
'common.now': '今',
|
||||
'common.minutesShort': '{n}分',
|
||||
'common.hoursShort': '{n}時間',
|
||||
'common.daysShort': '{n}日',
|
||||
'common.untitled': '無題',
|
||||
|
||||
'app.brand': 'Open Design',
|
||||
'app.brandPill': 'リサーチプレビュー',
|
||||
'app.brandSubtitle': 'by Nexu Labs',
|
||||
'app.welcomeLoading': 'ワークスペースを読み込み中…',
|
||||
|
||||
'settings.welcomeKicker': 'ようこそ',
|
||||
'settings.welcomeTitle': 'Open Design を設定',
|
||||
'settings.welcomeSubtitle':
|
||||
'生成の実行方法を選んでください。この設定はいつでもトップバーの設定ボタンから変更できます。',
|
||||
'settings.kicker': '設定',
|
||||
'settings.title': '実行モデル',
|
||||
'settings.subtitle': 'ローカル CLI と BYOK のどちらを使うか選択します。API キーはこのブラウザ内にのみ保存されます。',
|
||||
'settings.modeAria': '実行モード',
|
||||
'settings.protocolAria': 'API プロトコル',
|
||||
'settings.modeDaemon': 'ローカル CLI',
|
||||
'settings.modeDaemonHelp': 'マシン上のコードエージェント CLI 経由で実行',
|
||||
'settings.modeDaemonOffline': 'デーモンが起動していません',
|
||||
'settings.modeDaemonOfflineMeta': 'デーモンオフライン',
|
||||
'settings.modeDaemonInstalledMeta': '{count} インストール済み',
|
||||
'settings.modeApi': 'API プロバイダー',
|
||||
'settings.modeApiMeta': 'BYOK',
|
||||
'settings.codeAgent': 'コードエージェント',
|
||||
'settings.codeAgentHint':
|
||||
'PATH をスキャンして検出されます。生成に使用する CLI を選択してください。',
|
||||
'settings.rescan': '↻ 再スキャン',
|
||||
'settings.rescanTitle': 'PATH を再スキャン',
|
||||
'settings.rescanRunning': 'スキャン中...',
|
||||
'settings.rescanSuccess': 'スキャン完了。{count} 件が利用可能です。',
|
||||
'settings.rescanFailed': 'スキャンに失敗しました。デーモンを確認して再試行してください。',
|
||||
'settings.noAgentsDetected':
|
||||
'エージェントが検出されませんでした。Claude Code、Codex、Gemini CLI、OpenCode、Cursor Agent、Qwen、または GitHub Copilot CLI のいずれかをインストールして、再スキャンをクリックしてください。',
|
||||
'settings.apiSection': 'Anthropic API',
|
||||
'settings.quickFillProvider': 'プロバイダーをクイック入力',
|
||||
'settings.customProvider': 'カスタムプロバイダー',
|
||||
'settings.apiKey': 'APIキー',
|
||||
'settings.showKey': 'キーを表示',
|
||||
'settings.hideKey': 'キーを隠す',
|
||||
'settings.show': '表示',
|
||||
'settings.hide': '隠す',
|
||||
'settings.model': 'モデル',
|
||||
'settings.suggestedModelsHint':
|
||||
'これはこのプロトコル向けの推奨モデルです。プロバイダーによっては別のモデルをサポートしている場合があります。',
|
||||
'settings.baseUrl': 'ベース URL',
|
||||
'settings.baseUrlInvalid': '有効な公開 http:// または https:// URL を入力してください。localhost は許可され、プライベートネットワーク IP はブロックされます。',
|
||||
'settings.azureDeploymentModel': 'デプロイ名',
|
||||
'settings.azureDeploymentModelHint':
|
||||
'Azure OpenAI では、このフィールドが /openai/deployments/<model> のデプロイ名として使われます。Azure で作成したデプロイ名を入力してください。',
|
||||
'settings.apiVersion': 'API バージョン',
|
||||
'settings.maxTokens': '最大トークン(任意)',
|
||||
'settings.maxTokensHint':
|
||||
'応答長の上限。各モデルにチューニング済みのデフォルト値があります(プレースホルダーに表示)。空のままにすればそれを使用し、数値を入力すれば上書きされます。',
|
||||
'settings.apiHint': 'リクエストはローカル daemon プロキシ経由で設定した Base URL に送信されます。キーはこのブラウザ内にのみ保存され、プロバイダーへのリクエスト時に送信されます。',
|
||||
'settings.skipForNow': '今はスキップ',
|
||||
'settings.getStarted': '始める',
|
||||
'settings.envConfigure': '実行モードを設定',
|
||||
'settings.localCli': 'ローカル CLI',
|
||||
'settings.anthropicApi': 'Anthropic API',
|
||||
'settings.noAgentSelected': 'エージェント未選択',
|
||||
'settings.language': '言語',
|
||||
'settings.languageHint': 'インターフェースの言語を切り替えます。このブラウザに保存されます。',
|
||||
'settings.appearance': '外観',
|
||||
'settings.appearanceHint': 'ライト、ダーク、またはシステム設定に従う。',
|
||||
'settings.themeSystem': 'システム',
|
||||
'settings.themeLight': 'ライト',
|
||||
'settings.themeDark': 'ダーク',
|
||||
'settings.modelPicker': 'モデル',
|
||||
'settings.reasoningPicker': '推論の強さ',
|
||||
'settings.modelPickerHint':
|
||||
'CLI が `models` コマンドを公開している場合に取得されます。「デフォルト」は CLI 自身の設定に委ね、「カスタム…」は CLI が受け付ける任意のモデル ID を入力できます。',
|
||||
'settings.modelCustom': 'カスタム(下に入力)…',
|
||||
'settings.modelCustomLabel': 'カスタムモデル ID',
|
||||
'settings.modelCustomPlaceholder': '例: anthropic/claude-sonnet-4-6',
|
||||
'settings.mediaProviders': 'メディアプロバイダー',
|
||||
'settings.mediaProvidersHint':
|
||||
'画像・動画・音声生成のための API キー。ローカルに保存され、ローカルデーモンに同期されます。',
|
||||
'settings.mediaProviderApiKey': 'APIキー',
|
||||
'settings.mediaProviderBaseUrl': 'ベース URL',
|
||||
'settings.mediaProviderConfigured': '設定済み',
|
||||
'settings.mediaProviderUnset': '未設定',
|
||||
'settings.mediaProviderClear': 'クリア',
|
||||
'settings.mediaProviderPlaceholder': 'APIキーを貼り付け',
|
||||
'settings.mediaProviderBaseUrlPlaceholder': 'デフォルトのベース URL を上書き',
|
||||
'settings.about': 'About',
|
||||
'settings.aboutHint': 'バージョンと実行環境の詳細',
|
||||
'settings.appVersion': 'バージョン',
|
||||
'settings.appChannel': 'チャンネル',
|
||||
'settings.appRuntime': '実行環境',
|
||||
'settings.appPlatform': 'プラットフォーム',
|
||||
'settings.appArchitecture': 'アーキテクチャ',
|
||||
'settings.runtimePackaged': 'パッケージ版アプリ',
|
||||
'settings.runtimeDevelopment': '開発環境',
|
||||
'settings.versionUnavailable': 'daemon がオフラインの間はバージョン詳細を取得できません。',
|
||||
|
||||
'entry.tabDesigns': 'デザイン',
|
||||
'entry.tabExamples': 'サンプル',
|
||||
'entry.tabDesignSystems': 'デザインシステム',
|
||||
'entry.openSettingsTitle': '設定',
|
||||
'entry.openSettingsAria': '設定を開く',
|
||||
'entry.resizeAria': 'サイドバーをリサイズ',
|
||||
'entry.loadingWorkspace': 'ワークスペースを読み込み中…',
|
||||
'entry.tabImageTemplates': '画像テンプレート',
|
||||
'entry.tabVideoTemplates': '動画テンプレート',
|
||||
'promptTemplates.searchPlaceholder': 'テンプレートを検索…',
|
||||
'promptTemplates.countLabel': '{n} 件',
|
||||
'promptTemplates.emptyImage': '画像プロンプトテンプレートがまだインストールされていません。',
|
||||
'promptTemplates.emptyVideo': '動画プロンプトテンプレートがまだインストールされていません。',
|
||||
'promptTemplates.emptyNoMatch': '検索に一致するテンプレートがありません。',
|
||||
'promptTemplates.attributionFooter': '公開プロンプトライブラリから引用。各カードは元の作者にリンクしています。',
|
||||
'promptTemplates.openPreviewTitle': 'プロンプトとプレビューを開く',
|
||||
'promptTemplates.sourcePrefix': 'ソース:',
|
||||
'promptTemplates.fetchError': 'テンプレートの本文を読み込めませんでした。',
|
||||
'promptTemplates.promptLabel': 'プロンプト本文',
|
||||
'promptTemplates.copyPrompt': 'プロンプトをコピー',
|
||||
'promptTemplates.copyDone': 'コピーしました!',
|
||||
'promptTemplates.modelHint': '推奨モデル: {model}',
|
||||
'promptTemplates.openSource': 'オリジナルを表示',
|
||||
'promptTemplates.openFullscreen': 'フルスクリーンプレビューを開く',
|
||||
'promptTemplates.closeFullscreen': 'フルスクリーンプレビューを閉じる',
|
||||
'promptTemplates.retry': '再試行',
|
||||
|
||||
'newproj.tabPrototype': 'プロトタイプ',
|
||||
'newproj.tabDeck': 'スライド',
|
||||
'newproj.tabTemplate': 'テンプレートから',
|
||||
'newproj.tabOther': 'その他',
|
||||
'newproj.titlePrototype': '新しいプロトタイプ',
|
||||
'newproj.titleDeck': '新しいスライドデッキ',
|
||||
'newproj.titleTemplate': 'テンプレートから開始',
|
||||
'newproj.titleImage': '新しい画像',
|
||||
'newproj.titleVideo': '新しい動画',
|
||||
'newproj.titleAudio': '新しい音声',
|
||||
'newproj.titleOther': '新しいプロジェクト',
|
||||
'newproj.namePlaceholder': 'プロジェクト名',
|
||||
'newproj.fidelityLabel': '品質',
|
||||
'newproj.fidelityWireframe': 'ワイヤーフレーム',
|
||||
'newproj.fidelityHigh': '高品質',
|
||||
'newproj.toggleSpeakerNotes': 'スピーカーノートを使用',
|
||||
'newproj.toggleSpeakerNotesHint': 'スライドのテキストを減らし、話す内容をノートに残します。',
|
||||
'newproj.toggleAnimations': 'アニメーションを含める',
|
||||
'newproj.toggleAnimationsHint':
|
||||
'テンプレートにモーション(入場・ホバー・トランジション)を追加します。',
|
||||
'newproj.templateLabel': 'テンプレート',
|
||||
'newproj.noTemplatesTitle': 'テンプレートがまだありません',
|
||||
'newproj.noTemplatesBody':
|
||||
'プロジェクトを開き、ファイルビューア内の共有メニューからテンプレートに変換してください。テンプレートはここに表示されます。',
|
||||
'newproj.savedTemplate': '保存済みテンプレート',
|
||||
'newproj.fileSingular': 'ファイル',
|
||||
'newproj.filePlural': 'ファイル',
|
||||
'newproj.create': '作成',
|
||||
'newproj.createFromTemplate': 'テンプレートから作成',
|
||||
'newproj.createDisabledTitle':
|
||||
'最初にプロジェクトをテンプレートとして保存してください(プロジェクト内の共有メニュー)。',
|
||||
'newproj.importClaudeZip': 'Claude Design ZIP をインポート',
|
||||
'newproj.importClaudeZipTitle': 'Claude Design の .zip エクスポートをインポート',
|
||||
'newproj.importingClaudeZip': 'インポート中…',
|
||||
'newproj.privacyFooter': 'デフォルトではあなただけがプロジェクトを見ることができます。',
|
||||
'newproj.designSystem': 'デザインシステム',
|
||||
'newproj.dsNoneFreeform': 'なし — フリーフォーム',
|
||||
'newproj.dsNoneSubtitleEmpty': 'システムトークンなし、独自のパレットを選択',
|
||||
'newproj.dsNoneSubtitleSelected': 'システムトークンをスキップ。エージェントが独自のパレットを選択します。',
|
||||
'newproj.dsCategoryFallback': 'デザインシステム',
|
||||
'newproj.dsSearch': 'デザインシステムを検索…',
|
||||
'newproj.dsModeAria': '選択モード',
|
||||
'newproj.dsModeSingle': 'シングル',
|
||||
'newproj.dsModeMulti': 'マルチ',
|
||||
'newproj.dsNoneTitle': 'なし — フリーフォーム',
|
||||
'newproj.dsNoneSub': 'システムトークンをスキップ。エージェントが独自のパレットを選択します。',
|
||||
'newproj.dsEmpty': '"{query}" に一致するデザインシステムがありません。',
|
||||
'newproj.dsFootSingular': 'はインスピレーションのみです。',
|
||||
'newproj.dsFootPlural': 'はインスピレーションのみです。',
|
||||
'newproj.dsFootClear': 'クリア',
|
||||
'newproj.dsBadgeDefault': 'デフォルト',
|
||||
'newproj.dsPrimaryFallback': 'プライマリ',
|
||||
'newproj.surfaceImage': '画像',
|
||||
'newproj.surfaceVideo': '動画',
|
||||
'newproj.surfaceAudio': '音声',
|
||||
'newproj.modelLabel': 'モデル',
|
||||
'newproj.aspectLabel': 'アスペクト',
|
||||
'newproj.imageStyleLabel': 'スタイルメモ',
|
||||
'newproj.imageStylePlaceholder': '編集写真、柔らかな昼光、落ち着いたパレット',
|
||||
'newproj.videoLengthLabel': '長さ',
|
||||
'newproj.videoLengthSeconds': '{n}秒',
|
||||
'newproj.audioKindLabel': '音声タイプ',
|
||||
'newproj.audioKindMusic': '音楽',
|
||||
'newproj.audioKindSpeech': 'スピーチ / TTS',
|
||||
'newproj.audioKindSfx': '効果音',
|
||||
'newproj.audioDurationLabel': '長さ',
|
||||
'newproj.audioDurationSeconds': '{n}秒',
|
||||
'newproj.voiceLabel': '音声',
|
||||
'newproj.voicePlaceholder': 'プロバイダーの音声 ID(省略可)',
|
||||
'newproj.promptTemplateLabel': '参照テンプレート',
|
||||
'newproj.promptTemplateNoneTitle': 'なし — 自分で書く',
|
||||
'newproj.promptTemplateNoneSub': 'ギャラリーをスキップして、自分でブリーフを書きます',
|
||||
'newproj.promptTemplateRefSub': '参照テンプレート',
|
||||
'newproj.promptTemplateSearch': 'テンプレートを検索…',
|
||||
'newproj.promptTemplateEmpty': 'この種類のテンプレートはまだインストールされていません。',
|
||||
'newproj.promptTemplateBodyLabel': 'プロンプト(編集可能)',
|
||||
'newproj.promptTemplateOptimizeHint':
|
||||
'自由に編集できます — 変更内容はエージェントのブリーフに反映されます。',
|
||||
'newproj.promptTemplateBodyEmpty': '本文が空です — エージェントはテンプレート参照を受け取りません。',
|
||||
|
||||
'designs.subRecent': '最近',
|
||||
'designs.subYours': 'あなたのデザイン',
|
||||
'designs.filterAria': 'プロジェクトをフィルター',
|
||||
'designs.searchPlaceholder': '検索…',
|
||||
'designs.emptyNoProjects': 'プロジェクトがまだありません。左側で作成してください。',
|
||||
'designs.emptyNoMatch': '検索に一致するプロジェクトがありません。',
|
||||
'designs.deleteTitle': 'プロジェクトを削除',
|
||||
'designs.deleteConfirm': '"{name}" を削除しますか?',
|
||||
'designs.cardFreeform': 'フリーフォーム',
|
||||
'designs.status.notStarted': '未開始',
|
||||
'designs.status.queued': 'キュー中',
|
||||
'designs.status.running': '実行中',
|
||||
'designs.status.awaitingInput': '入力待ち',
|
||||
'designs.status.succeeded': '完了',
|
||||
'designs.status.failed': '失敗',
|
||||
'designs.status.canceled': 'キャンセル済み',
|
||||
'designs.viewToggleAria': '表示モード',
|
||||
'designs.viewGrid': 'グリッド表示',
|
||||
'designs.viewKanban': 'ボード表示',
|
||||
'designs.kanbanEmptyColumn': 'デザインなし',
|
||||
'designs.deleteAria': 'プロジェクト {name} を削除',
|
||||
|
||||
'examples.typeLabel': 'タイプ',
|
||||
'examples.surfaceLabel': 'サーフェス',
|
||||
'examples.surfaceWeb': 'Web',
|
||||
'examples.surfaceImage': '画像',
|
||||
'examples.surfaceVideo': '動画',
|
||||
'examples.surfaceAudio': '音声',
|
||||
'examples.scenarioLabel': 'シナリオ',
|
||||
'examples.modeAll': 'すべて',
|
||||
'examples.modePrototypeDesktop': 'プロトタイプ · デスクトップ',
|
||||
'examples.modePrototypeMobile': 'プロトタイプ · モバイル',
|
||||
'examples.modeDeck': 'スライド',
|
||||
'examples.modeDocument': 'ドキュメント & テンプレート',
|
||||
'examples.scenarioGeneral': '一般',
|
||||
'examples.scenarioEngineering': 'エンジニアリング',
|
||||
'examples.scenarioProduct': 'プロダクト',
|
||||
'examples.scenarioDesign': 'デザイン',
|
||||
'examples.scenarioMarketing': 'マーケティング',
|
||||
'examples.scenarioSales': 'セールス',
|
||||
'examples.scenarioFinance': 'ファイナンス',
|
||||
'examples.scenarioHr': '人事',
|
||||
'examples.scenarioOperations': 'オペレーション',
|
||||
'examples.scenarioSupport': 'サポート',
|
||||
'examples.scenarioLegal': '法務',
|
||||
'examples.scenarioEducation': '教育',
|
||||
'examples.scenarioPersonal': '個人',
|
||||
'examples.emptyNoSkills': 'スキルがありません。デーモンは起動していますか?',
|
||||
'examples.searchPlaceholder': 'サンプルを検索…',
|
||||
'examples.searchAria': '名前でサンプルを検索',
|
||||
'examples.emptyNoMatch': 'このフィルターに一致するサンプルがありません。',
|
||||
'examples.openPreview': '⤢ プレビューを開く',
|
||||
'examples.loadingPreview': 'プレビューを読み込み中…',
|
||||
'examples.hoverPreview': 'ホバーでプレビュー',
|
||||
'examples.usePrompt': 'このプロンプトを使用',
|
||||
'examples.previewModalTitle': 'フルプレビューを開く(モーダル)',
|
||||
'examples.shareTitle': 'このサンプルを共有',
|
||||
'examples.shareLoadFirst': 'プレビューを読み込むためにホバーしてください',
|
||||
'examples.shareMenu': '共有 ▾',
|
||||
'examples.exportPdfAllSlides': 'PDFとしてエクスポート(全スライド)',
|
||||
'examples.exportPptxLocked': 'PPTXとしてエクスポート…(先にテンプレートを開いてください)',
|
||||
'examples.tagSlideDeck': 'スライドデッキ',
|
||||
'examples.tagTemplate': 'テンプレート',
|
||||
'examples.tagDesignSystem': 'デザインシステム',
|
||||
'examples.tagMobilePrototype': 'モバイルプロトタイプ',
|
||||
'examples.tagDesktopPrototype': 'デスクトッププロトタイプ',
|
||||
'examples.tagImage': '画像',
|
||||
'examples.tagVideo': '動画',
|
||||
'examples.tagAudio': '音声',
|
||||
'examples.previewLabel': 'プレビュー',
|
||||
|
||||
'ds.surfaceLabel': 'サーフェス',
|
||||
'ds.surfaceWeb': 'Web',
|
||||
'ds.surfaceImage': '画像',
|
||||
'ds.surfaceVideo': '動画',
|
||||
'ds.surfaceAudio': '音声',
|
||||
'ds.searchPlaceholder': 'デザインシステムを検索…',
|
||||
'ds.emptyNoMatch': '検索に一致するデザインシステムがありません。',
|
||||
'ds.badgeDefault': 'デフォルト',
|
||||
'ds.preview': 'プレビュー',
|
||||
'ds.previewTitle': 'デザインシステムをプレビュー',
|
||||
'ds.categoryAll': 'すべて',
|
||||
'ds.categoryUncategorized': '未分類',
|
||||
'ds.showcase': 'ショーケース',
|
||||
'ds.tokens': 'トークン',
|
||||
'ds.specToggle': 'DESIGN.md',
|
||||
'ds.specLoading': 'DESIGN.md を読み込み中…',
|
||||
|
||||
'avatar.title': 'アカウントと設定',
|
||||
'avatar.localCli': 'ローカル CLI',
|
||||
'avatar.anthropicApi': 'Anthropic API',
|
||||
'avatar.useLocal': 'ローカル CLI を使用',
|
||||
'avatar.useApi': 'API · BYOK を使用',
|
||||
'avatar.codeAgent': 'コードエージェント',
|
||||
'avatar.rescan': 'PATH を再スキャン',
|
||||
'avatar.settings': '設定',
|
||||
'avatar.backToProjects': 'プロジェクトに戻る',
|
||||
'avatar.metaActive': 'アクティブ',
|
||||
'avatar.metaOffline': 'オフライン',
|
||||
'avatar.metaSelected': '選択中',
|
||||
'avatar.noAgentSelected': 'エージェント未選択',
|
||||
'avatar.modelSection': 'モデル',
|
||||
'avatar.modelLabel': 'モデル',
|
||||
'avatar.reasoningLabel': '推論',
|
||||
'avatar.customSuffix': '(カスタム)',
|
||||
|
||||
'project.backToProjects': 'プロジェクトに戻る',
|
||||
'project.metaFreeform': 'フリーフォーム',
|
||||
'chat.tabChat': 'チャット',
|
||||
'chat.tabComments': 'コメント',
|
||||
'chat.commentsSoon': 'コメント — 近日公開',
|
||||
'chat.comments.attached': 'Attached to chat',
|
||||
'chat.comments.emptyAttached': 'No comments attached.',
|
||||
'chat.comments.saved': 'Saved comments',
|
||||
'chat.comments.emptySaved': 'No saved comments.',
|
||||
'chat.comments.add': 'Add',
|
||||
'chat.comments.addAll': 'Add all',
|
||||
'chat.comments.remove': 'Remove',
|
||||
'chat.comments.placeholder': 'Comment on this element…',
|
||||
'chat.comments.addSend': 'Add & send',
|
||||
'chat.comments.updateSend': 'Update & send',
|
||||
'chat.comments.removeAttachment': 'Remove comment attachment',
|
||||
'chat.comments.removeAttachmentAria': 'Remove comment attachment for {name}',
|
||||
'chat.conversationsTitle': '会話',
|
||||
'chat.conversationsAria': '会話履歴',
|
||||
'chat.newConversation': '新しい会話',
|
||||
'chat.newConversationsTitle': '新しい会話',
|
||||
'chat.conversationsHeading': '会話',
|
||||
'chat.new': '新規',
|
||||
'chat.emptyConversations': 'まだ会話がありません。',
|
||||
'chat.deleteConversation': '会話を削除',
|
||||
'chat.deleteConversationConfirm':
|
||||
'"{title}" を削除しますか?メッセージも削除されます。',
|
||||
'chat.untitledConversation': '無題の会話',
|
||||
'chat.startTitle': '会話を始める',
|
||||
'chat.startHint':
|
||||
'画像をドロップまたは貼り付けてビジュアルリファレンスにするか、@ でこのプロジェクトのファイルを添付してください。またはこれらのスターターをお試しください:',
|
||||
'chat.fillInputTitle': 'クリックして入力欄に入力',
|
||||
'chat.jumpToLatest': '最新にジャンプ',
|
||||
'chat.scrollToLatest': '最新にスクロール',
|
||||
'chat.you': 'あなた',
|
||||
'chat.openFile': '{name} を開く',
|
||||
'chat.composerPlaceholder':
|
||||
'欲しいデザインを説明してください — 画像を貼り付けるかドロップ、または @ でファイルを参照…',
|
||||
'chat.composerHint':
|
||||
'⌘/Ctrl + Enter で送信 · 画像を貼り付け · @ でファイルを参照',
|
||||
'chat.cliSettingsTitle': 'CLI とモデルの設定',
|
||||
'chat.cliSettingsAria': 'CLI とモデルの設定を開く',
|
||||
'chat.attachTitle': 'ファイルを添付(または貼り付け / ドロップ)',
|
||||
'chat.attachAria': 'ファイルを添付',
|
||||
'chat.importTitle': 'ソースをインポート(近日公開)',
|
||||
'chat.importLabel': 'インポート',
|
||||
'chat.importComingSoon': '近日公開',
|
||||
'chat.importSoon': '近日',
|
||||
'chat.importFig': '.fig ファイルをアップロード',
|
||||
'chat.importGitHub': 'GitHub に接続',
|
||||
'chat.importWeb': 'Web 要素を取得',
|
||||
'chat.importFolder': 'コードフォルダーをリンク',
|
||||
'chat.importSkills': 'スキルとデザインシステム',
|
||||
'chat.importProject': '別のプロジェクトを参照',
|
||||
'chat.send': '送信',
|
||||
'chat.stop': '停止',
|
||||
'chat.removeAria': '{name} を削除',
|
||||
'chat.example1Title': '編集ピッチデッキ',
|
||||
'chat.example1Tag': '雑誌',
|
||||
'chat.example1Prompt':
|
||||
'シードラウンドを調達するデザインスタジオの10スライド編集ピッチデッキ — スイスグリッドレイアウト、大きなセリフ体の見出しにボールドドロップキャップ、等幅フォントのセクション番号、余白を活かしたデザイン、テキスト中心のスライドと交互に配置したフルブリード写真スライド。カバー、ビジョン、マーケット、プロダクト、トラクション、チーム、調達額、連絡先。',
|
||||
'chat.example2Title': 'SaaS 分析ダッシュボード',
|
||||
'chat.example2Tag': 'データ',
|
||||
'chat.example2Prompt':
|
||||
'開発者ツール SaaS の高密度な分析ダッシュボード — 前週比デルタ付き KPI ストリップ、積み上げ折れ線グラフ2本(MRR とアクティブワークスペース)、使用状況のワールドヒートマップ、コホートリテンショングリッド、トップ顧客リーダーボード、リアルタイムイベントフィード。ダークテーマ、表形式等幅数字、スパークラインアクセント。',
|
||||
'chat.example3Title': '年次報告書 長スクロール',
|
||||
'chat.example3Tag': '編集',
|
||||
'chat.example3Prompt':
|
||||
'気候系 NPO のインタラクティブ年次報告書 — 大きな引用ブロック、データビジュアライゼーション(積み上げ棒グラフ、アニメーションカウンター、プロジェクトサイトのコロプレスマップ)、写真ブレーカー、ドナーウォール、最後にコールトゥアクションを混在させた長スクロール編集レイアウト。モダンなセリフ体本文、サンセリフのチャートラベル、土のようなペーパーパレット。',
|
||||
|
||||
'preview.shareMenu': '共有 ▾',
|
||||
'preview.openInNewTab': '新しいタブで開く',
|
||||
'preview.exit': '⤓ 終了',
|
||||
'preview.fullscreen': '⤢ フルスクリーン',
|
||||
'preview.closeTitle': '閉じる (Esc)',
|
||||
'preview.loading': '{label} を読み込み中…',
|
||||
'preview.showSidebar': '{label} を表示',
|
||||
'preview.hideSidebar': '{label} を非表示',
|
||||
|
||||
'misc.savedTemplate': '保存済みテンプレート',
|
||||
'misc.primary': 'プライマリ',
|
||||
'misc.designSystem': 'デザインシステム',
|
||||
|
||||
'workspace.designFiles': 'デザインファイル',
|
||||
'workspace.closeTab': 'タブを閉じる',
|
||||
'workspace.deleteFileConfirm': 'プロジェクトフォルダーから "{name}" を削除しますか?',
|
||||
'workspace.openFromDesignFiles': 'ファイルを開く: ',
|
||||
'workspace.designFilesLink': 'デザインファイル',
|
||||
'workspace.loadingSketch': 'スケッチを読み込み中…',
|
||||
'designFiles.title': 'デザインファイル',
|
||||
'designFiles.upload': 'ファイルをアップロード',
|
||||
'designFiles.pasteText': 'テキストファイルとして貼り付け',
|
||||
'designFiles.newSketch': '新しいスケッチ',
|
||||
'designFiles.empty':
|
||||
'まだ何もありません。以下にファイルをドロップするか、スケッチを作成するかテキストを貼り付けてください。',
|
||||
'designFiles.refresh': '更新',
|
||||
'designFiles.delete': '削除',
|
||||
'designFiles.searchPlaceholder': 'ファイルを検索…',
|
||||
'designFiles.up': '上へ',
|
||||
'designFiles.back': '戻る',
|
||||
'designFiles.crumbs': 'プロジェクト',
|
||||
'designFiles.rowMenu': '行メニュー',
|
||||
'designFiles.openInTab': 'タブで開く',
|
||||
'designFiles.download': 'ダウンロード',
|
||||
'designFiles.downloadSelected': 'Download {n} as ZIP',
|
||||
'designFiles.clearSelection': 'Clear',
|
||||
'designFiles.selectAll': 'Select all',
|
||||
'designFiles.dropTitle': '⤓ ファイルをここにドロップ',
|
||||
'designFiles.dropDesc':
|
||||
'画像、ドキュメント、参考資料、フォルダー — エージェントがコンテキストとして使用します。',
|
||||
'designFiles.upload.title': 'ファイルをアップロード',
|
||||
'designFiles.paste.title': 'テキストをファイルとして貼り付け',
|
||||
'designFiles.upload.label': 'アップロード',
|
||||
'designFiles.paste.label': '貼り付け',
|
||||
'designFiles.previewOpen': '開く',
|
||||
'designFiles.previewClose': 'プレビューを閉じる',
|
||||
'designFiles.modified': '{time} に変更 · {size}',
|
||||
'designFiles.weeksAgo': '{n}週間前',
|
||||
'designFiles.sectionPages': 'ページ',
|
||||
'designFiles.sectionScripts': 'スクリプト',
|
||||
'designFiles.sectionImages': '画像',
|
||||
'designFiles.sectionSketches': 'スケッチ',
|
||||
'designFiles.sectionOther': 'その他',
|
||||
'designFiles.showMore': 'さらに {n} 件表示',
|
||||
'designFiles.kindHtml': 'HTML ページ',
|
||||
'designFiles.kindImage': '画像',
|
||||
'designFiles.kindSketch': 'スケッチ',
|
||||
'designFiles.kindText': 'テキスト',
|
||||
'designFiles.kindCode': 'スクリプト',
|
||||
'designFiles.kindPdf': 'PDF',
|
||||
'designFiles.kindDocument': 'ドキュメント',
|
||||
'designFiles.kindPresentation': 'プレゼンテーション',
|
||||
'designFiles.kindSpreadsheet': 'スプレッドシート',
|
||||
'designFiles.kindBinary': 'バイナリ',
|
||||
'pasteDialog.title': 'テキストを貼り付け',
|
||||
'pasteDialog.hint': 'プロジェクトフォルダーに保存されます。任意の名前を付けてください。',
|
||||
'pasteDialog.fileNameLabel': 'ファイル名',
|
||||
'pasteDialog.namePlaceholder': 'notes.txt',
|
||||
'pasteDialog.contentLabel': 'コンテンツ',
|
||||
'pasteDialog.contentPlaceholder': '何でも貼り付け…',
|
||||
'pasteDialog.save': '保存',
|
||||
'pasteDialog.cancel': 'キャンセル',
|
||||
'sketch.save': 'スケッチを保存',
|
||||
'sketch.cancel': 'キャンセル',
|
||||
'sketch.saving': '保存中…',
|
||||
'sketch.tooltipDirty': '未保存の変更があります',
|
||||
'sketch.tooltipClean': '保存済み',
|
||||
'fileViewer.empty': 'ファイルを選択して表示します。',
|
||||
'fileViewer.loading': '読み込み中…',
|
||||
'fileViewer.exportPptx': 'PPTX としてエクスポート',
|
||||
'fileViewer.openInNewTab': '新しいタブで開く',
|
||||
'fileViewer.copyPath': 'パスをコピー',
|
||||
'fileViewer.copied': 'コピーしました!',
|
||||
'fileViewer.share': '共有',
|
||||
'fileViewer.binaryMeta': 'バイナリ · {size}',
|
||||
'fileViewer.binaryNote':
|
||||
'バイナリファイル({size} バイト)。ダウンロードするかディスクから開いて確認してください。',
|
||||
'fileViewer.pdfMeta': 'PDF · {size}',
|
||||
'fileViewer.documentMeta': 'ドキュメント',
|
||||
'fileViewer.presentationMeta': 'プレゼンテーション',
|
||||
'fileViewer.spreadsheetMeta': 'スプレッドシート',
|
||||
'fileViewer.previewUnavailable': 'プレビューは利用できません。ファイルをダウンロードするか開いて確認してください。',
|
||||
'fileViewer.download': 'ダウンロード',
|
||||
'fileViewer.open': '開く',
|
||||
'fileViewer.imageMeta': '画像 · {size}',
|
||||
'fileViewer.reactMeta': 'React コンポーネント · {size}',
|
||||
'fileViewer.sketchMeta': 'スケッチ · {size}',
|
||||
'fileViewer.markdownStreamingMeta': 'ストリーミングプレビュー中…',
|
||||
'fileViewer.markdownErrorMeta': 'プレビューが不完全な場合があります(生成エラー)。',
|
||||
'fileViewer.markdownStreamingStatus': 'ストリーミング中… 部分的な Markdown を表示しています。',
|
||||
'fileViewer.markdownErrorStatus': '生成エラー。最後に利用可能なコンテンツを表示しています。',
|
||||
'fileViewer.videoMeta': '動画 · {size}',
|
||||
'fileViewer.audioMeta': '音声 · {size}',
|
||||
'fileViewer.reload': '再読み込み',
|
||||
'fileViewer.reloadDisk': 'ディスクから再読み込み',
|
||||
'fileViewer.copy': 'コピー',
|
||||
'fileViewer.copyTitle': 'ファイルの内容をコピー',
|
||||
'fileViewer.saveDisabled': '保存(読み取り専用ビューアー)',
|
||||
'fileViewer.save': '保存',
|
||||
'fileViewer.preview': 'プレビュー',
|
||||
'fileViewer.source': 'ソース',
|
||||
'fileViewer.tweaks': '調整',
|
||||
'fileViewer.comment': 'コメント',
|
||||
'fileViewer.edit': '編集',
|
||||
'fileViewer.draw': '描画',
|
||||
'fileViewer.zoomOut': 'ズームアウト',
|
||||
'fileViewer.zoomIn': 'ズームイン',
|
||||
'fileViewer.resetZoom': 'ズームをリセット',
|
||||
'fileViewer.reloadAria': '再読み込み',
|
||||
'fileViewer.previousSlide': '前のスライド',
|
||||
'fileViewer.nextSlide': '次のスライド',
|
||||
'fileViewer.slideNavAria': 'スライドナビゲーション',
|
||||
'fileViewer.present': 'プレゼン',
|
||||
'fileViewer.presentInTab': 'このタブで',
|
||||
'fileViewer.presentFullscreen': 'フルスクリーン',
|
||||
'fileViewer.presentNewTab': '新しいタブ',
|
||||
'fileViewer.exitPresentation': 'プレゼンを終了',
|
||||
'fileViewer.shareLabel': '共有',
|
||||
'fileViewer.exportPdf': 'PDFとしてエクスポート',
|
||||
'fileViewer.exportPdfAllSlides': 'PDFとしてエクスポート(全スライド)',
|
||||
'fileViewer.exportPptxBusy': '現在のターンが終わるまでお待ちください。',
|
||||
'fileViewer.exportPptxHint':
|
||||
'エージェントにこのデザインを PPTX に変換するようリクエストを送信します。',
|
||||
'fileViewer.exportPptxNa': 'ここでは PPTX エクスポートは利用できません。',
|
||||
'fileViewer.exportZip': '.zip としてダウンロード',
|
||||
'fileViewer.exportHtml': 'スタンドアロン HTML としてエクスポート',
|
||||
'fileViewer.exportMd': 'Markdown としてエクスポート',
|
||||
'fileViewer.exportJsx': 'JSX としてエクスポート',
|
||||
'fileViewer.exportReactHtml': 'プレビューを HTML としてエクスポート',
|
||||
'fileViewer.saveAsTemplate': 'テンプレートとして保存…',
|
||||
'fileViewer.savingTemplate': 'テンプレートを保存中…',
|
||||
'fileViewer.savedTemplate': '"{name}" として保存しました',
|
||||
'fileViewer.savedTemplateFail': 'テンプレートを保存できませんでした — もう一度試してください。',
|
||||
'fileViewer.templateNamePrompt': 'テンプレート名',
|
||||
'fileViewer.templateNameDefault': '無題のテンプレート',
|
||||
'fileViewer.templateDescPrompt':
|
||||
'短い説明(省略可 — このテンプレートの使いどころは?)',
|
||||
'fileViewer.deployToVercel': 'Vercel にデプロイ',
|
||||
'fileViewer.redeployToVercel': '再デプロイ',
|
||||
'fileViewer.deployingToVercel': 'Vercel にデプロイ中…',
|
||||
'fileViewer.preparingPublicLink': '公開リンクを準備中…',
|
||||
'fileViewer.copyDeployLink': 'リンクをコピー',
|
||||
'fileViewer.deployModalTitle': 'Vercel にデプロイ',
|
||||
'fileViewer.deployModalSubtitle':
|
||||
'この HTML アーティファクトをご自身のアカウントを使用して Vercel Preview としてデプロイします。',
|
||||
'fileViewer.vercelToken': 'Vercel トークン',
|
||||
'fileViewer.vercelTokenGetLink': 'Vercel トークンを取得',
|
||||
'fileViewer.vercelTokenPlaceholder': 'Vercel トークンを貼り付け',
|
||||
'fileViewer.vercelTokenReuseHint':
|
||||
'保存済みトークンが使用されます。新しいトークンを入力すると置き換えられます。',
|
||||
'fileViewer.vercelTokenRequired': '最初に Vercel トークンを入力して保存してください。',
|
||||
'fileViewer.vercelTeamId': 'チーム ID',
|
||||
'fileViewer.vercelTeamSlug': 'チームスラッグ',
|
||||
'fileViewer.optional': '省略可',
|
||||
'fileViewer.vercelPreviewOnly': 'デプロイは現在 Preview のみです。',
|
||||
'fileViewer.savingConfig': '保存中…',
|
||||
'fileViewer.deployConfigSaveFailed': 'Vercel の設定を保存できませんでした。',
|
||||
'fileViewer.deployFailed': 'デプロイに失敗しました。Vercel の設定を確認して再試行してください。',
|
||||
'fileViewer.deployResultLabel': 'デプロイ URL',
|
||||
'fileViewer.deployLinkPreparingLabel': '公開リンク準備中',
|
||||
'fileViewer.deployLinkDelayed':
|
||||
'サイトはデプロイされました。Vercel が公開リンクを準備中です。',
|
||||
'fileViewer.deployLinkProtectedLabel': 'Vercel の保護が有効',
|
||||
'fileViewer.deployLinkProtected':
|
||||
'サイトはデプロイされましたが、Vercel がこのプレビューリンクに認証を要求しています。デプロイ保護を無効にするかカスタムドメインを使用してください。',
|
||||
'fileViewer.retryLink': '今すぐ再試行',
|
||||
|
||||
'questionForm.submit': '送信',
|
||||
'questionForm.skip': 'スキップ',
|
||||
'questionForm.locked': '回答済み',
|
||||
|
||||
'conv.switch': '会話を切り替え',
|
||||
'conv.label': '会話',
|
||||
'conv.heading': '会話',
|
||||
'conv.new': '+ 新規',
|
||||
'conv.empty': 'まだ会話がありません。',
|
||||
'conv.untitled': '無題の会話',
|
||||
'conv.renameTooltip': 'ダブルクリックで名前を変更',
|
||||
'conv.delete': '会話を削除',
|
||||
'conv.deleteConfirm': '"{title}" を削除しますか?メッセージも削除されます。',
|
||||
|
||||
'agentPicker.label': 'エージェント',
|
||||
'agentPicker.modeChoose': '実行モードを選択',
|
||||
'agentPicker.localCli': 'ローカル CLI',
|
||||
'agentPicker.daemonOff': 'デーモン停止中',
|
||||
'agentPicker.byok': 'API · BYOK',
|
||||
'agentPicker.selectAgent': '検出されたコードエージェント CLI を選択',
|
||||
'agentPicker.noAgents': 'PATH 上にエージェントなし',
|
||||
'agentPicker.notInstalled': '未インストール',
|
||||
'agentPicker.rescan': 'エージェントのローカル PATH を再スキャン',
|
||||
|
||||
'tool.openInTab': '{name} をタブで開く',
|
||||
'tool.open': '開く',
|
||||
'tool.todos': 'Todos',
|
||||
'tool.write': '書き込み',
|
||||
'tool.edit': '編集',
|
||||
'tool.read': '読み取り',
|
||||
'tool.bash': 'Bash',
|
||||
'tool.glob': 'Glob',
|
||||
'tool.grep': 'Grep',
|
||||
'tool.fetch': 'フェッチ',
|
||||
'tool.search': '検索',
|
||||
'tool.lines': '{n} 行',
|
||||
'tool.changeSingular': '変更',
|
||||
'tool.changePlural': '変更',
|
||||
'tool.in': '{path} 内',
|
||||
'tool.hide': '隠す',
|
||||
'tool.output': '出力',
|
||||
'tool.running': '実行中…',
|
||||
'tool.error': 'エラー',
|
||||
'tool.done': '完了',
|
||||
|
||||
'assistant.role': 'アシスタント',
|
||||
'assistant.workingLabel': '作業中',
|
||||
'assistant.doneLabel': '完了',
|
||||
'assistant.unfinishedLabel': '未完了の作業があります',
|
||||
'assistant.unfinishedSummary': '{n} 件のタスクが残っています',
|
||||
'assistant.unfinishedMore': '+{n} 件',
|
||||
'assistant.continueRemaining': '残りのタスクを続ける',
|
||||
'assistant.outTokens': '{n} 出力',
|
||||
'assistant.producedFiles': 'このターンのファイル',
|
||||
'assistant.openFile': '開く',
|
||||
'assistant.downloadFile': 'ダウンロード',
|
||||
'assistant.thinking': '考え中',
|
||||
'assistant.systemReminder': 'システムリマインダー',
|
||||
'assistant.waitingFirstOutput': '最初の出力を待っています',
|
||||
'assistant.statusBootingAgent': 'エージェントを起動中',
|
||||
'assistant.statusStarting': '開始中',
|
||||
'assistant.statusRequesting': 'リクエストを送信中',
|
||||
'assistant.statusThinking': '考え中',
|
||||
'assistant.statusStreaming': 'ストリーミング中',
|
||||
'assistant.slowHint':
|
||||
'通常より時間がかかっています。フォームは通常 5〜10 秒で表示されます — 停止して言い換えることもできます。',
|
||||
'assistant.verbEditing': '編集中',
|
||||
'assistant.verbWriting': '生成中',
|
||||
'assistant.verbReading': '読み取り中',
|
||||
'assistant.verbSearching': '検索中',
|
||||
'assistant.verbRunning': '実行中',
|
||||
'assistant.verbTodos': 'Todos',
|
||||
'assistant.verbFetching': 'フェッチ中',
|
||||
'assistant.verbCalling': '呼び出し中',
|
||||
|
||||
'qf.answered': '回答済み',
|
||||
'qf.choose': '選択…',
|
||||
'qf.required': '必須',
|
||||
'qf.lockedSubmitted':
|
||||
'回答を送信しました — エージェントがセッション終了まで参照します。',
|
||||
'qf.lockedPrev': 'このフォームは前のターンのものです。',
|
||||
'qf.hint':
|
||||
'適切なものを選んでください。気にしない任意フィールドはスキップしてください — エージェントが適切なデフォルト値を使用します。',
|
||||
'qf.submitDefault': '回答を送信',
|
||||
'qf.submitDisabledTitle': '最初に必須フィールドを入力してください',
|
||||
'qf.submitTitle': '回答を送信',
|
||||
'qf.cardSelected': '選択済み',
|
||||
'qf.cardRefs': '参照:',
|
||||
'qf.cardSampleText': 'The quick brown fox · 0123',
|
||||
|
||||
'sketch.toolSelect': '選択(操作なし)',
|
||||
'sketch.toolPen': 'ペン',
|
||||
'sketch.toolText': 'テキスト',
|
||||
'sketch.toolRect': '四角形',
|
||||
'sketch.toolArrow': '矢印',
|
||||
'sketch.toolEraser': '消しゴム',
|
||||
'sketch.color': '色',
|
||||
'sketch.strokeSize': 'ストロークサイズ',
|
||||
'sketch.undo': '元に戻す',
|
||||
'sketch.clear': 'クリア',
|
||||
'sketch.close': '閉じる',
|
||||
'sketch.textPrompt': 'テキスト:',
|
||||
|
||||
'pet.title': 'ペット',
|
||||
'pet.tabBuiltIn': '組み込み',
|
||||
'pet.tabBuiltInHint': 'Open Design に同梱された厳選コンパニオン — 選んで迎え入れよう。',
|
||||
'pet.builtInEmpty': '組み込みペットを今は読み込めません。デーモンが復帰したらコミュニティタブを更新してください。',
|
||||
'pet.tabCustom': 'カスタム',
|
||||
'pet.tabCustomHint': '名前・絵文字・色・スプライトを自分で設定。',
|
||||
'pet.tabCommunity': 'コミュニティ',
|
||||
'pet.tabCommunityHint': 'Codex で孵ったペット — 養子に取るか AI で新しく作る。',
|
||||
'pet.tabsAria': 'ペットのソース',
|
||||
'pet.subtitle': 'ワークスペースに浮かぶ小さな相棒を迎えましょう。',
|
||||
'pet.navTitle': 'ペット',
|
||||
'pet.navHint': '迎える・カスタマイズ',
|
||||
'pet.adopt': '迎える',
|
||||
'pet.adoptedBadge': '迎え済み',
|
||||
'pet.adoptCallout': 'ペットを迎える',
|
||||
'pet.changePet': 'ペットを変更',
|
||||
'pet.wake': '呼び出す',
|
||||
'pet.tuck': 'しまう',
|
||||
'pet.wakeTitle': 'ペットを呼び出す — 浮かぶオーバーレイを表示。',
|
||||
'pet.tuckTitle': 'ペットをしまう — オーバーレイを非表示。',
|
||||
'pet.settingsTitle': 'ペット設定を開く',
|
||||
'pet.useCustom': 'マイペットを使う',
|
||||
'pet.customTitle': '自分で作る',
|
||||
'pet.customHint': '名前、アイコン、アクセントカラーを選ぶと、オーバーレイが即時に更新されます。',
|
||||
'pet.customGreetingPlaceholder': 'ペットからのあいさつ…',
|
||||
'pet.fieldName': '名前',
|
||||
'pet.fieldGlyph': 'アイコン',
|
||||
'pet.fieldGlyphHint': '絵文字 1 つが最適です(例:🐝、🦄、🐢)。',
|
||||
'pet.fieldGreeting': 'あいさつ',
|
||||
'pet.fieldAccent': 'アクセントカラー',
|
||||
'pet.fieldAccentCustom': 'カスタムカラー',
|
||||
'pet.overlayAria': 'ペットの相棒',
|
||||
'pet.spriteAria': '{name} — ドラッグで移動、クリックで会話',
|
||||
'pet.spriteTitle': '{name} からこんにちは!クリックで会話。',
|
||||
'pet.railAria': 'ペット選択',
|
||||
'pet.railTitle': 'ペット',
|
||||
'pet.railHint': 'ワークスペースに浮かぶ相棒を選びましょう。',
|
||||
'pet.railExpand': '選択を展開',
|
||||
'pet.railCollapse': '選択をたたむ',
|
||||
'pet.railHide': 'ペット選択を隠す',
|
||||
'pet.railShow': 'ペット選択を表示',
|
||||
'pet.railCustomFlavor': '自分だけ — 名前・アイコン・色を自由に。',
|
||||
'pet.railCustomize': 'カスタマイズ…',
|
||||
'pet.composerTitle': 'ペット — 呼び出す・しまう・選ぶ',
|
||||
'pet.composerMenuTitle': 'ペット',
|
||||
'pet.composerMenuHint': 'ヒント:/pet と入力で切替',
|
||||
'pet.composerOpenSettings': '設定でカスタマイズ',
|
||||
'pet.welcomeTeaserTitle': 'ペットを迎える',
|
||||
'pet.welcomeTeaserBody': 'ワークスペースに浮かぶ小さな相棒です。',
|
||||
'pet.welcomeTeaserCta': '選ぶ',
|
||||
'pet.imageUpload': 'スプライトをアップロード',
|
||||
'pet.imageReplace': 'スプライトを差し替える',
|
||||
'pet.imageRemove': '絵文字に戻す',
|
||||
'pet.imageHintIdle': 'PNG / JPG / WebP / GIF / SVG に対応。スプライトシート?横長の帯をアップしてフレーム数を指定してください。',
|
||||
'pet.imageHintActive': 'アップしたスプライトを表示中。フレーム数を 1 より大きくすると横スプライトシートが動きます。',
|
||||
'pet.fieldFrames': 'フレーム数',
|
||||
'pet.fieldFramesHint': '1 = 静止。2 以上 = 横スプライトシート。',
|
||||
'pet.fieldFps': '速度 (fps)',
|
||||
'pet.fieldFpsHint': 'フレーム切替の速さ。',
|
||||
'pet.atlasImport': 'Codex スプライトを取り込む',
|
||||
'pet.atlasImportTitle': 'hatch-pet の 8x9 / 192x208 アトラス(PNG または WebP)を取り込みます。',
|
||||
'pet.atlasPickerTitle': 'アニメーション行を選択',
|
||||
'pet.atlasPickerHint': 'Codex ペットは 9 種類のアニメーション行を持っています。デフォルトはアトラス全体を保持し、ホバー・ドラッグ方向・長時間アイドルに応じて行が切り替わります。1 行だけにロックすることもできます。',
|
||||
'pet.atlasCancel': 'アトラスを破棄',
|
||||
'pet.atlasAdopt': 'この行に固定',
|
||||
'pet.atlasAdoptFull': 'アトラス全体を使う(アニメーション)',
|
||||
'pet.atlasAdoptFullTitle': 'すべての行を保持して、ホバー・ドラッグ方向・長時間アイドルに反応させます。',
|
||||
'pet.atlasAdoptRowTitle': 'ハイライト中の行だけをループするストリップに切り出します。',
|
||||
'pet.atlasActiveHint': 'アニメーションアトラス有効 — 操作(ホバー・ドラッグ・アイドル)に応じてペットが行を切り替えます。',
|
||||
'pet.atlasRow.idle': 'アイドル',
|
||||
'pet.atlasRow.running-right': '右に走る',
|
||||
'pet.atlasRow.running-left': '左に走る',
|
||||
'pet.atlasRow.waving': '手を振る',
|
||||
'pet.atlasRow.jumping': 'ジャンプ',
|
||||
'pet.atlasRow.failed': '失敗',
|
||||
'pet.atlasRow.waiting': '待機',
|
||||
'pet.atlasRow.running': '走る',
|
||||
'pet.atlasRow.review': 'レビュー',
|
||||
'pet.hatchTitle': 'AI で新しいペットを孵化',
|
||||
'pet.hatchHint': '同梱の hatch-pet スキルをチャットで実行して Codex 風のスプライトシートを生成し、ここから取り込んでください。',
|
||||
'pet.hatchConcept': 'ペットのコンセプト(任意)',
|
||||
'pet.hatchConceptPlaceholder': '例: セーターを着た小さなピクセル風の柴犬',
|
||||
'pet.hatchCopy': 'プロンプトをコピー',
|
||||
'pet.hatchCopied': 'コピー済み!',
|
||||
'pet.hatchFoot': 'スキルがペットを保存したら、ここに戻って「Codex スプライトを取り込む」を選んでください。',
|
||||
'pet.slashPopoverAria': 'スラッシュコマンド',
|
||||
'pet.slashPopoverTitle': 'コマンド',
|
||||
'pet.slashPopoverHint': '↑↓ で移動 · enter で選択 · esc で閉じる',
|
||||
'pet.slashPet': 'ペットを切替・採用、または設定を開く。',
|
||||
'pet.slashPetWake': '浮遊ペットを起こす。',
|
||||
'pet.slashPetTuck': 'ペットを一旦しまう。',
|
||||
'pet.slashHatch': 'hatch-pet スキルで Codex ペットを生成。',
|
||||
'pet.slashHatchArg': '<コンセプト>',
|
||||
'pet.codexTitle': '最近の孵化',
|
||||
'pet.codexSubtitle': 'hatch-pet スキルがパッケージしたペットがここに表示され、ワンクリックで採用できます。',
|
||||
'pet.codexSubtitleWithDir': '{dir} を hatch-pet スキルのパッケージのために走査中。',
|
||||
'pet.codexEmpty': '孵化したペットはまだありません。チャットで /hatch を入力して生成しましょう。',
|
||||
'pet.codexLoading': '孵化したペットを探しています…',
|
||||
'pet.codexRefresh': '更新',
|
||||
'pet.codexAdopt': '採用',
|
||||
'pet.codexAdopting': '採用中…',
|
||||
'pet.communitySync': 'コミュニティペットをダウンロード',
|
||||
'pet.communitySyncing': 'ダウンロード中…',
|
||||
'pet.communitySyncTitle': 'Codex Pet Share と j20 Hatchery の最新ペットを ~/.codex/pets/ に同期します。',
|
||||
'pet.communitySyncDone': '{wrote} 体の新しいペットを同期しました(合計 {total} 体)。',
|
||||
'pet.communitySyncFailed': '同期に失敗しました: {error}',
|
||||
'pet.codexBundled': '同梱',
|
||||
'pet.codexBundledTitle': 'Open Design に同梱 — ダウンロード不要。',
|
||||
|
||||
'settings.notifications': '通知',
|
||||
'settings.notificationsHint': 'タスク完了時の効果音とデスクトップ通知',
|
||||
'settings.notifyCompletionSound': '完了サウンド',
|
||||
'settings.notifyCompletionSoundHint': '1ターン終了時に再生されます。既定ではオフです。',
|
||||
'settings.notifySuccessSound': '成功サウンド',
|
||||
'settings.notifyFailureSound': '失敗サウンド',
|
||||
'settings.notifyDesktop': 'デスクトップ通知',
|
||||
'settings.notifyDesktopHint': 'ウィンドウが非アクティブのときに送信されます。',
|
||||
'settings.notifyDesktopBlocked': 'ブラウザにブロックされています。サイト設定で許可してください。',
|
||||
'settings.notifyDesktopUnsupported': 'この環境ではデスクトップ通知に対応していません。',
|
||||
'settings.notifyTest': 'テスト送信',
|
||||
'settings.notifyTestSent': 'テスト通知を送信しました。バナーが出ない場合は、ブラウザとシステムの通知設定を確認してください。',
|
||||
'settings.notifyTestFailed': '通知の呼び出しに失敗しました。ブラウザとシステムの通知設定を確認してください。',
|
||||
'settings.notifySoundDing': 'ティン',
|
||||
'settings.notifySoundChime': 'チャイム',
|
||||
'settings.notifySoundTwoToneUp': '上昇2音',
|
||||
'settings.notifySoundPluck': 'プラック',
|
||||
'settings.notifySoundBuzz': 'ブザー',
|
||||
'settings.notifySoundTwoToneDown': '下降2音',
|
||||
'settings.notifySoundThud': 'ドスン',
|
||||
'notify.successTitle': 'タスクが完了しました',
|
||||
'notify.failureTitle': 'タスクが失敗しました',
|
||||
'notify.successBody': '1ターンが終了しました。',
|
||||
'notify.failureBody': 'タスクはエラーで終了しました。',
|
||||
};
|
||||
@@ -0,0 +1,830 @@
|
||||
import type { Dict } from '../types';
|
||||
|
||||
export const ko: Dict = {
|
||||
'common.cancel': '취소',
|
||||
'common.save': '저장',
|
||||
'common.close': '닫기',
|
||||
'common.delete': '삭제',
|
||||
'common.rename': '이름 변경',
|
||||
'common.preview': '미리보기',
|
||||
'common.share': '공유',
|
||||
'common.search': '검색',
|
||||
'common.searchEllipsis': '검색…',
|
||||
'common.loading': '불러오는 중…',
|
||||
'common.all': '전체',
|
||||
'common.none': '없음',
|
||||
'common.default': '기본값',
|
||||
'common.installed': '설치됨',
|
||||
'common.notInstalled': '설치되지 않음',
|
||||
'common.active': '활성',
|
||||
'common.offline': '오프라인',
|
||||
'common.selected': '선택됨',
|
||||
'common.create': '생성',
|
||||
'common.openPreview': '미리보기 열기',
|
||||
'common.exitFullscreen': '전체 화면 종료',
|
||||
'common.fullscreen': '전체 화면',
|
||||
'common.openInNewTab': '새 탭에서 열기',
|
||||
'common.exportPdf': 'PDF로 내보내기',
|
||||
'common.exportZip': '.zip으로 다운로드',
|
||||
'common.exportHtml': '독립 실행형 HTML로 내보내기',
|
||||
'common.justNow': '방금 전',
|
||||
'common.minutesAgo': '{n}분 전',
|
||||
'common.hoursAgo': '{n}시간 전',
|
||||
'common.daysAgo': '{n}일 전',
|
||||
'common.now': '지금',
|
||||
'common.minutesShort': '{n}분',
|
||||
'common.hoursShort': '{n}시간',
|
||||
'common.daysShort': '{n}일',
|
||||
'common.untitled': '제목 없음',
|
||||
|
||||
'app.brand': 'Open Design',
|
||||
'app.brandPill': 'Research Preview',
|
||||
'app.brandSubtitle': 'by Nexu Labs',
|
||||
'app.welcomeLoading': '워크스페이스를 불러오는 중…',
|
||||
|
||||
'settings.welcomeKicker': '환영합니다',
|
||||
'settings.welcomeTitle': 'Open Design 설정',
|
||||
'settings.welcomeSubtitle':
|
||||
"생성을 실행할 방법을 선택하세요. 상단 바의 Settings 버튼을 통해 언제든지 변경할 수 있습니다.",
|
||||
'settings.kicker': '설정',
|
||||
'settings.title': '실행 및 모델',
|
||||
'settings.subtitle': '로컬 CLI와 BYOK 중에서 선택하세요. API 키는 이 브라우저에만 저장됩니다.',
|
||||
'settings.modeAria': '실행 모드',
|
||||
'settings.protocolAria': 'API 프로토콜',
|
||||
'settings.modeDaemon': '로컬 CLI',
|
||||
'settings.modeDaemonHelp': '사용자 기기의 코드 에이전트 CLI를 통해 실행합니다',
|
||||
'settings.modeDaemonOffline': '데몬이 실행 중이 아닙니다',
|
||||
'settings.modeDaemonOfflineMeta': '데몬 오프라인',
|
||||
'settings.modeDaemonInstalledMeta': '{count}개 설치됨',
|
||||
'settings.modeApi': 'API 제공자',
|
||||
'settings.modeApiMeta': 'BYOK',
|
||||
'settings.codeAgent': '코드 에이전트',
|
||||
'settings.codeAgentHint':
|
||||
'PATH 환경 변수 스캔을 통해 감지됩니다. 생성을 처리할 CLI를 선택하세요.',
|
||||
'settings.rescan': '↻ 다시 스캔',
|
||||
'settings.rescanTitle': 'PATH 다시 스캔',
|
||||
'settings.rescanRunning': '스캔 중...',
|
||||
'settings.rescanSuccess': '스캔 완료. {count}개 사용 가능.',
|
||||
'settings.rescanFailed': '스캔에 실패했습니다. 데몬을 확인한 후 다시 시도하세요.',
|
||||
'settings.noAgentsDetected':
|
||||
'에이전트가 감지되지 않았습니다. Claude Code, Codex, Devin for Terminal, Gemini CLI, OpenCode, Cursor Agent, Qwen 또는 GitHub Copilot CLI 중 하나를 설치한 후 다시 스캔을 클릭하세요.',
|
||||
'settings.apiSection': 'Anthropic API',
|
||||
'settings.quickFillProvider': '제공자 빠른 입력',
|
||||
'settings.customProvider': '사용자 지정 제공자',
|
||||
'settings.apiKey': 'API 키',
|
||||
'settings.showKey': '키 표시',
|
||||
'settings.hideKey': '키 숨기기',
|
||||
'settings.show': '표시',
|
||||
'settings.hide': '숨기기',
|
||||
'settings.model': '모델',
|
||||
'settings.suggestedModelsHint':
|
||||
'이 프로토콜에 대한 추천 모델입니다. 사용 중인 제공자는 다른 모델을 지원할 수 있습니다.',
|
||||
'settings.maxTokens': '최대 토큰 수 (선택 사항)',
|
||||
'settings.maxTokensHint':
|
||||
'응답 길이 상한입니다. 각 모델에는 기본값이 미리 조정되어 있으며(placeholder로 표시됨), 비워 두면 그 값을 사용하고 숫자를 입력하면 덮어씁니다.',
|
||||
'settings.baseUrl': 'Base URL',
|
||||
'settings.baseUrlInvalid': '유효한 공개 http:// 또는 https:// URL을 입력하세요. localhost는 허용되며 사설 네트워크 IP는 차단됩니다.',
|
||||
'settings.azureDeploymentModel': '배포 이름',
|
||||
'settings.azureDeploymentModelHint':
|
||||
'Azure OpenAI에서는 이 필드가 /openai/deployments/<model>의 배포 이름으로 사용됩니다. Azure에서 만든 배포 이름을 입력하세요.',
|
||||
'settings.apiVersion': 'API 버전',
|
||||
'settings.apiHint': '요청은 로컬 daemon 프록시를 통해 설정한 Base URL로 전송됩니다. 키는 이 브라우저에만 저장되며 제공자 요청과 함께 전송됩니다.',
|
||||
'settings.skipForNow': '지금은 건너뛰기',
|
||||
'settings.getStarted': '시작하기',
|
||||
'settings.envConfigure': '실행 모드 구성',
|
||||
'settings.localCli': '로컬 CLI',
|
||||
'settings.anthropicApi': 'Anthropic API',
|
||||
'settings.noAgentSelected': '선택된 에이전트 없음',
|
||||
'settings.language': '언어',
|
||||
'settings.languageHint': '인터페이스 언어를 변경합니다. 이 브라우저에 저장됩니다.',
|
||||
'settings.appearance': '화면 모드',
|
||||
'settings.appearanceHint': '라이트, 다크 또는 시스템 설정에 따릅니다.',
|
||||
'settings.themeSystem': '시스템',
|
||||
'settings.themeLight': '라이트',
|
||||
'settings.themeDark': '다크',
|
||||
'settings.modelPicker': '모델',
|
||||
'settings.reasoningPicker': '추론 (Reasoning)',
|
||||
'settings.modelPickerHint':
|
||||
'CLI가 `models` 명령어를 지원할 때 가져옵니다. "Default"는 CLI 자체 설정을 따르며, "직접 입력…"을 선택하면 CLI가 허용하는 모델 ID를 입력할 수 있습니다.',
|
||||
'settings.modelCustom': '직접 입력…',
|
||||
'settings.modelCustomLabel': '사용자 지정 모델 ID',
|
||||
'settings.modelCustomPlaceholder': '예: anthropic/claude-sonnet-4-6',
|
||||
'settings.mediaProviders': '미디어 프로바이더',
|
||||
'settings.mediaProvidersHint':
|
||||
'이미지, 비디오, 오디오 생성을 위한 API 키입니다. 로컬에 저장되며 로컬 데몬과 동기화됩니다.',
|
||||
'settings.mediaProviderApiKey': 'API 키',
|
||||
'settings.mediaProviderBaseUrl': 'Base URL',
|
||||
'settings.mediaProviderConfigured': '설정됨',
|
||||
'settings.mediaProviderUnset': '설정 안됨',
|
||||
'settings.mediaProviderClear': '지우기',
|
||||
'settings.mediaProviderPlaceholder': 'API 키를 붙여넣으세요',
|
||||
'settings.mediaProviderBaseUrlPlaceholder': '기본 Base URL 재정의',
|
||||
'settings.about': '정보',
|
||||
'settings.aboutHint': '버전 및 런타임 세부 정보',
|
||||
'settings.appVersion': '버전',
|
||||
'settings.appChannel': '채널',
|
||||
'settings.appRuntime': '런타임',
|
||||
'settings.appPlatform': '플랫폼',
|
||||
'settings.appArchitecture': '아키텍처',
|
||||
'settings.runtimePackaged': '패키징된 앱',
|
||||
'settings.runtimeDevelopment': '개발 (Development)',
|
||||
'settings.versionUnavailable': '데몬이 오프라인 상태일 때는 버전 세부 정보를 확인할 수 없습니다.',
|
||||
|
||||
'entry.tabDesigns': '디자인',
|
||||
'entry.tabExamples': '예제',
|
||||
'entry.tabDesignSystems': '디자인 시스템',
|
||||
'entry.openSettingsTitle': '설정',
|
||||
'entry.openSettingsAria': '설정 열기',
|
||||
'entry.resizeAria': '사이드바 크기 조절',
|
||||
'entry.loadingWorkspace': '워크스페이스를 불러오는 중…',
|
||||
'entry.tabImageTemplates': '이미지 템플릿',
|
||||
'entry.tabVideoTemplates': '비디오 템플릿',
|
||||
'promptTemplates.searchPlaceholder': '템플릿 검색…',
|
||||
'promptTemplates.countLabel': '{n}개 결과',
|
||||
'promptTemplates.emptyImage': '설치된 이미지 프롬프트 템플릿이 없습니다.',
|
||||
'promptTemplates.emptyVideo': '설치된 비디오 프롬프트 템플릿이 없습니다.',
|
||||
'promptTemplates.emptyNoMatch': '검색어와 일치하는 템플릿이 없습니다.',
|
||||
'promptTemplates.attributionFooter': '공개 프롬프트 라이브러리를 기반으로 합니다. 각 카드는 원작자 페이지로 연결됩니다.',
|
||||
'promptTemplates.openPreviewTitle': '프롬프트 열기 및 미리보기',
|
||||
'promptTemplates.sourcePrefix': '출처:',
|
||||
'promptTemplates.fetchError': '이 템플릿의 본문을 불러올 수 없습니다.',
|
||||
'promptTemplates.promptLabel': '프롬프트 본문',
|
||||
'promptTemplates.copyPrompt': '프롬프트 복사',
|
||||
'promptTemplates.copyDone': '복사 완료!',
|
||||
'promptTemplates.modelHint': '추천 모델: {model}',
|
||||
'promptTemplates.openSource': '원본 보기',
|
||||
'promptTemplates.openFullscreen': '전체 화면 미리보기 열기',
|
||||
'promptTemplates.closeFullscreen': '전체 화면 미리보기 닫기',
|
||||
'promptTemplates.retry': '다시 시도',
|
||||
|
||||
'newproj.tabPrototype': '프로토타입',
|
||||
'newproj.tabDeck': '슬라이드 덱',
|
||||
'newproj.tabTemplate': '템플릿에서 시작',
|
||||
'newproj.tabOther': '기타',
|
||||
'newproj.titlePrototype': '새 프로토타입',
|
||||
'newproj.titleDeck': '새 슬라이드 덱',
|
||||
'newproj.titleTemplate': '템플릿에서 시작',
|
||||
'newproj.titleImage': '새 이미지',
|
||||
'newproj.titleVideo': '새 비디오',
|
||||
'newproj.titleAudio': '새 오디오',
|
||||
'newproj.titleOther': '새 프로젝트',
|
||||
'newproj.namePlaceholder': '프로젝트 이름',
|
||||
'newproj.fidelityLabel': '피델리티 (Fidelity)',
|
||||
'newproj.fidelityWireframe': '와이어프레임',
|
||||
'newproj.fidelityHigh': '하이 피델리티 (High fidelity)',
|
||||
'newproj.toggleSpeakerNotes': '발표자 노트 사용',
|
||||
'newproj.toggleSpeakerNotesHint': '슬라이드 텍스트를 줄이고 주요 내용을 노트에 보관합니다.',
|
||||
'newproj.toggleAnimations': '애니메이션 포함',
|
||||
'newproj.toggleAnimationsHint':
|
||||
'템플릿에 모션 (등장, 호버, 전환 효과)을 추가합니다.',
|
||||
'newproj.templateLabel': '템플릿',
|
||||
'newproj.noTemplatesTitle': '아직 템플릿이 없습니다',
|
||||
'newproj.noTemplatesBody':
|
||||
'프로젝트를 열고 파일 뷰어 안의 공유(Share) 메뉴를 사용하여 템플릿으로 변환하세요. 생성된 템플릿이 여기에 표시됩니다.',
|
||||
'newproj.savedTemplate': '저장된 템플릿',
|
||||
'newproj.fileSingular': '파일',
|
||||
'newproj.filePlural': '파일들',
|
||||
'newproj.create': '생성',
|
||||
'newproj.createFromTemplate': '템플릿으로 생성',
|
||||
'newproj.createDisabledTitle':
|
||||
'먼저 프로젝트를 템플릿으로 저장하세요 (프로젝트 내 공유 메뉴 이용).',
|
||||
'newproj.importClaudeZip': 'Claude Design ZIP 가져오기',
|
||||
'newproj.importClaudeZipTitle': 'Claude Design .zip 내보내기 파일 가져오기',
|
||||
'newproj.importingClaudeZip': '가져오는 중…',
|
||||
'newproj.privacyFooter': '기본적으로 프로젝트는 나만 볼 수 있습니다.',
|
||||
'newproj.designSystem': '디자인 시스템',
|
||||
'newproj.dsNoneFreeform': '없음 — 자유 양식',
|
||||
'newproj.dsNoneSubtitleEmpty': '시스템 토큰 없이 자체 팔레트를 선택합니다.',
|
||||
'newproj.dsNoneSubtitleSelected': '시스템 토큰을 건너뜁니다. 에이전트가 팔레트를 알아서 선택합니다.',
|
||||
'newproj.dsCategoryFallback': '디자인 시스템',
|
||||
'newproj.dsSearch': '디자인 시스템 검색…',
|
||||
'newproj.dsModeAria': '선택 모드',
|
||||
'newproj.dsModeSingle': '단일',
|
||||
'newproj.dsModeMulti': '다중',
|
||||
'newproj.dsNoneTitle': '없음 — 자유 양식',
|
||||
'newproj.dsNoneSub': '시스템 토큰을 건너뜁니다. 에이전트가 팔레트를 알아서 선택합니다.',
|
||||
'newproj.dsEmpty': '“{query}”와(과) 일치하는 디자인 시스템이 없습니다.',
|
||||
'newproj.dsFootSingular': '은(는) 참고용입니다.',
|
||||
'newproj.dsFootPlural': '은(는) 참고용입니다.',
|
||||
'newproj.dsFootClear': '지우기',
|
||||
'newproj.dsBadgeDefault': '기본 (DEFAULT)',
|
||||
'newproj.dsPrimaryFallback': '기본색 (Primary)',
|
||||
'newproj.surfaceImage': '이미지',
|
||||
'newproj.surfaceVideo': '비디오',
|
||||
'newproj.surfaceAudio': '오디오',
|
||||
'newproj.modelLabel': '모델',
|
||||
'newproj.aspectLabel': '비율 (Aspect)',
|
||||
'newproj.imageStyleLabel': '스타일 메모',
|
||||
'newproj.imageStylePlaceholder': '에디토리얼 사진, 부드러운 자연광, 차분한 팔레트',
|
||||
'newproj.videoLengthLabel': '길이',
|
||||
'newproj.videoLengthSeconds': '{n}초',
|
||||
'newproj.audioKindLabel': '오디오 유형',
|
||||
'newproj.audioKindMusic': '음악',
|
||||
'newproj.audioKindSpeech': '음성 / TTS',
|
||||
'newproj.audioKindSfx': '효과음 (SFX)',
|
||||
'newproj.audioDurationLabel': '길이',
|
||||
'newproj.audioDurationSeconds': '{n}초',
|
||||
'newproj.voiceLabel': '목소리',
|
||||
'newproj.voicePlaceholder': '프로바이더 보이스 ID (선택 사항)',
|
||||
'newproj.promptTemplateLabel': '참조 템플릿',
|
||||
'newproj.promptTemplateNoneTitle': '없음 — 직접 작성',
|
||||
'newproj.promptTemplateNoneSub': '갤러리를 건너뛰고 직접 브리프를 작성합니다.',
|
||||
'newproj.promptTemplateRefSub': '참조 템플릿',
|
||||
'newproj.promptTemplateSearch': '템플릿 검색…',
|
||||
'newproj.promptTemplateEmpty': '이 유형에 설치된 템플릿이 없습니다.',
|
||||
'newproj.promptTemplateBodyLabel': '프롬프트 (수정 가능)',
|
||||
'newproj.promptTemplateOptimizeHint':
|
||||
'내용을 수정할 수 있습니다. 변경된 내용은 에이전트의 브리프에 반영됩니다.',
|
||||
'newproj.promptTemplateBodyEmpty':
|
||||
'본문이 비어있습니다 — 에이전트에게 전달될 템플릿 참조가 없습니다.',
|
||||
|
||||
'designs.subRecent': '최근 항목',
|
||||
'designs.subYours': '내 디자인',
|
||||
'designs.filterAria': '프로젝트 필터링',
|
||||
'designs.searchPlaceholder': '검색…',
|
||||
'designs.emptyNoProjects': '아직 프로젝트가 없습니다. 왼쪽에서 새 프로젝트를 생성하세요.',
|
||||
'designs.emptyNoMatch': '검색어와 일치하는 프로젝트가 없습니다.',
|
||||
'designs.deleteTitle': '프로젝트 삭제',
|
||||
'designs.deleteConfirm': '"{name}" 프로젝트를 삭제하시겠습니까?',
|
||||
'designs.cardFreeform': '자유 양식',
|
||||
'designs.status.notStarted': '시작되지 않음',
|
||||
'designs.status.queued': '대기 중',
|
||||
'designs.status.running': '실행 중',
|
||||
'designs.status.awaitingInput': '입력 대기 중',
|
||||
'designs.status.succeeded': '완료됨',
|
||||
'designs.status.failed': '실패',
|
||||
'designs.status.canceled': '취소됨',
|
||||
'designs.viewToggleAria': '보기 모드',
|
||||
'designs.viewGrid': '그리드 보기',
|
||||
'designs.viewKanban': '보드 보기',
|
||||
'designs.kanbanEmptyColumn': '디자인 없음',
|
||||
'designs.deleteAria': '프로젝트 삭제 {name}',
|
||||
|
||||
'examples.typeLabel': '유형',
|
||||
'examples.surfaceLabel': '대상 표면 (Surface)',
|
||||
'examples.surfaceWeb': '웹',
|
||||
'examples.surfaceImage': '이미지',
|
||||
'examples.surfaceVideo': '비디오',
|
||||
'examples.surfaceAudio': '오디오',
|
||||
'examples.scenarioLabel': '시나리오',
|
||||
'examples.modeAll': '전체',
|
||||
'examples.modePrototypeDesktop': '프로토타입 · 데스크탑',
|
||||
'examples.modePrototypeMobile': '프로토타입 · 모바일',
|
||||
'examples.modeDeck': '슬라이드',
|
||||
'examples.modeDocument': '문서 및 템플릿',
|
||||
'examples.scenarioGeneral': '일반',
|
||||
'examples.scenarioEngineering': '엔지니어링',
|
||||
'examples.scenarioProduct': '제품',
|
||||
'examples.scenarioDesign': '디자인',
|
||||
'examples.scenarioMarketing': '마케팅',
|
||||
'examples.scenarioSales': '영업',
|
||||
'examples.scenarioFinance': '재무',
|
||||
'examples.scenarioHr': '인사 (HR)',
|
||||
'examples.scenarioOperations': '운영',
|
||||
'examples.scenarioSupport': '고객 지원',
|
||||
'examples.scenarioLegal': '법무',
|
||||
'examples.scenarioEducation': '교육',
|
||||
'examples.scenarioPersonal': '개인',
|
||||
'examples.emptyNoSkills': '사용 가능한 스킬이 없습니다. 데몬이 실행 중인지 확인하세요.',
|
||||
'examples.searchPlaceholder': '예제 검색…',
|
||||
'examples.searchAria': '이름으로 예제 검색',
|
||||
'examples.emptyNoMatch': '필터와 일치하는 예제가 없습니다.',
|
||||
'examples.openPreview': '⤢ 미리보기 열기',
|
||||
'examples.loadingPreview': '미리보기 불러오는 중…',
|
||||
'examples.hoverPreview': '마우스를 올려 미리보기',
|
||||
'examples.usePrompt': '이 프롬프트 사용하기',
|
||||
'examples.previewModalTitle': '전체 미리보기 열기 (모달)',
|
||||
'examples.shareTitle': '이 예제 공유하기',
|
||||
'examples.shareLoadFirst': '마우스를 올려 미리보기를 먼저 로드하세요',
|
||||
'examples.shareMenu': '공유 ▾',
|
||||
'examples.exportPdfAllSlides': 'PDF로 내보내기 (모든 슬라이드)',
|
||||
'examples.exportPptxLocked': 'PPTX로 내보내기… (템플릿을 먼저 여세요)',
|
||||
'examples.tagSlideDeck': '슬라이드 덱',
|
||||
'examples.tagTemplate': '템플릿',
|
||||
'examples.tagDesignSystem': '디자인 시스템',
|
||||
'examples.tagMobilePrototype': '모바일 프로토타입',
|
||||
'examples.tagDesktopPrototype': '데스크탑 프로토타입',
|
||||
'examples.tagImage': '이미지',
|
||||
'examples.tagVideo': '비디오',
|
||||
'examples.tagAudio': '오디오',
|
||||
'examples.previewLabel': '미리보기',
|
||||
|
||||
'ds.surfaceLabel': '대상 표면 (Surface)',
|
||||
'ds.surfaceWeb': '웹',
|
||||
'ds.surfaceImage': '이미지',
|
||||
'ds.surfaceVideo': '비디오',
|
||||
'ds.surfaceAudio': '오디오',
|
||||
'ds.searchPlaceholder': '디자인 시스템 검색…',
|
||||
'ds.emptyNoMatch': '검색어와 일치하는 디자인 시스템이 없습니다.',
|
||||
'ds.badgeDefault': '기본 (DEFAULT)',
|
||||
'ds.preview': '미리보기',
|
||||
'ds.previewTitle': '디자인 시스템 미리보기',
|
||||
'ds.categoryAll': '전체',
|
||||
'ds.categoryUncategorized': '미분류',
|
||||
'ds.showcase': '쇼케이스',
|
||||
'ds.tokens': '토큰',
|
||||
'ds.specToggle': 'DESIGN.md',
|
||||
'ds.specLoading': 'DESIGN.md 불러오는 중…',
|
||||
|
||||
'avatar.title': '계정 및 설정',
|
||||
'avatar.localCli': '로컬 CLI',
|
||||
'avatar.anthropicApi': 'Anthropic API',
|
||||
'avatar.useLocal': '로컬 CLI 사용',
|
||||
'avatar.useApi': 'API · BYOK 사용',
|
||||
'avatar.codeAgent': '코드 에이전트',
|
||||
'avatar.rescan': 'PATH 다시 스캔',
|
||||
'avatar.settings': '설정',
|
||||
'avatar.backToProjects': '프로젝트 목록으로 돌아가기',
|
||||
'avatar.metaActive': '활성',
|
||||
'avatar.metaOffline': '오프라인',
|
||||
'avatar.metaSelected': '선택됨',
|
||||
'avatar.noAgentSelected': '선택된 에이전트 없음',
|
||||
'avatar.modelSection': '모델',
|
||||
'avatar.modelLabel': '모델',
|
||||
'avatar.reasoningLabel': '추론 (Reasoning)',
|
||||
'avatar.customSuffix': '(직접 입력)',
|
||||
|
||||
'project.backToProjects': '프로젝트 목록으로 돌아가기',
|
||||
'project.metaFreeform': '자유 양식',
|
||||
'chat.tabChat': '채팅',
|
||||
'chat.tabComments': '댓글',
|
||||
'chat.commentsSoon': '댓글 — 곧 지원될 예정입니다.',
|
||||
'chat.comments.attached': 'Attached to chat',
|
||||
'chat.comments.emptyAttached': 'No comments attached.',
|
||||
'chat.comments.saved': 'Saved comments',
|
||||
'chat.comments.emptySaved': 'No saved comments.',
|
||||
'chat.comments.add': 'Add',
|
||||
'chat.comments.addAll': 'Add all',
|
||||
'chat.comments.remove': 'Remove',
|
||||
'chat.comments.placeholder': 'Comment on this element…',
|
||||
'chat.comments.addSend': 'Add & send',
|
||||
'chat.comments.updateSend': 'Update & send',
|
||||
'chat.comments.removeAttachment': 'Remove comment attachment',
|
||||
'chat.comments.removeAttachmentAria': 'Remove comment attachment for {name}',
|
||||
'chat.conversationsTitle': '대화 목록',
|
||||
'chat.conversationsAria': '대화 내역',
|
||||
'chat.newConversation': '새 대화 시작',
|
||||
'chat.newConversationsTitle': '새 대화',
|
||||
'chat.conversationsHeading': '대화 목록',
|
||||
'chat.new': '새로 만들기',
|
||||
'chat.emptyConversations': '아직 대화가 없습니다.',
|
||||
'chat.deleteConversation': '대화 삭제',
|
||||
'chat.deleteConversationConfirm':
|
||||
'"{title}" 대화를 삭제하시겠습니까? 관련 메시지가 모두 삭제됩니다.',
|
||||
'chat.untitledConversation': '제목 없는 대화',
|
||||
'chat.startTitle': '대화 시작하기',
|
||||
'chat.startHint':
|
||||
'시각적 참조를 위해 이미지를 붙여넣거나 끌어다 놓으세요. @를 입력하여 이 프로젝트의 파일을 첨부할 수도 있습니다. 아래 추천 질문으로 시작할 수도 있습니다:',
|
||||
'chat.fillInputTitle': '클릭하여 입력창에 채우기',
|
||||
'chat.jumpToLatest': '최신 내용으로 이동',
|
||||
'chat.scrollToLatest': '최신 내용으로 스크롤',
|
||||
'chat.you': '나',
|
||||
'chat.openFile': '{name} 열기',
|
||||
'chat.composerPlaceholder':
|
||||
'원하는 디자인을 설명하세요 — 이미지 붙여넣기/끌어놓기 가능, @로 파일 참조…',
|
||||
'chat.composerHint':
|
||||
'⌘/Ctrl + Enter 로 전송 · 이미지 붙여넣기 · @로 파일 참조',
|
||||
'chat.cliSettingsTitle': 'CLI 및 모델 설정',
|
||||
'chat.cliSettingsAria': 'CLI 및 모델 설정 열기',
|
||||
'chat.attachTitle': '파일 첨부 (또는 붙여넣기 / 끌어놓기)',
|
||||
'chat.attachAria': '파일 첨부',
|
||||
'chat.importTitle': '소스 가져오기 (곧 지원 예정)',
|
||||
'chat.importLabel': '가져오기',
|
||||
'chat.importComingSoon': '곧 지원될 예정입니다',
|
||||
'chat.importSoon': '예정',
|
||||
'chat.importFig': '.fig 파일 업로드',
|
||||
'chat.importGitHub': 'GitHub 연결',
|
||||
'chat.importWeb': '웹 요소 가져오기',
|
||||
'chat.importFolder': '코드 폴더 연결',
|
||||
'chat.importSkills': '스킬 및 디자인 시스템',
|
||||
'chat.importProject': '다른 프로젝트 참조',
|
||||
'chat.send': '전송',
|
||||
'chat.stop': '중지',
|
||||
'chat.removeAria': '{name} 제거',
|
||||
'chat.example1Title': '에디토리얼 피치 덱',
|
||||
'chat.example1Tag': '매거진',
|
||||
'chat.example1Prompt':
|
||||
'디자인 스튜디오의 시드 라운드 투자 유치를 위한 10장짜리 에디토리얼 피치 덱을 만들어 주세요. 스위스 스타일의 그리드 레이아웃, 볼드한 드롭 캡이 있는 크고 굵은 세리프체 헤드라인, 고정폭 폰트의 섹션 번호, 넉넉한 여백, 텍스트가 많은 슬라이드와 대비되는 꽉 찬 이미지 슬라이드를 조합해 주세요. 커버, 비전, 시장, 제품, 트랙션, 팀 구성, 투자 요청액, 연락처를 포함해 주세요.',
|
||||
'chat.example2Title': 'SaaS 애널리틱스 대시보드',
|
||||
'chat.example2Tag': '데이터',
|
||||
'chat.example2Prompt':
|
||||
'개발자 도구 SaaS를 위한 정보가 밀집된 애널리틱스 대시보드를 만들어 주세요. 전주 대비 변화량을 보여주는 주요 KPI 스트립, 두 개의 누적 선 그래프 (MRR 및 활성 워크스페이스), 사용량 기준 전 세계 히트맵, 코호트 리텐션 그리드, 상위 고객 리더보드, 그리고 실시간 이벤트 피드가 포함되어야 합니다. 다크 테마를 기반으로, 가독성을 위한 고정폭 숫자를 사용하고 스파크라인 포인트 색상으로 강조해 주세요.',
|
||||
'chat.example3Title': '연례 보고서 롱 스크롤 페이지',
|
||||
'chat.example3Tag': '에디토리얼',
|
||||
'chat.example3Prompt':
|
||||
'기후 변화 관련 비영리 단체의 인터랙티브 연례 보고서를 제작해 주세요. 큰 인용구 블록이 특징인 긴 스크롤 기반 에디토리얼 레이아웃과 함께, 누적 막대 그래프, 움직이는 카운터, 프로젝트 사이트 분포를 보여주는 코로플레스 맵 등 데이터 시각화를 섞어 주세요. 텍스트 중간중간 사진을 삽입하고, 기부자 명단과 마지막 결론 부분(CTA)을 포함해 주세요. 본문은 모던 세리프 폰트를, 차트 라벨은 산세리프 폰트를 사용하며 전체적으로 따뜻한 색감의 팔레트를 적용해 주세요.',
|
||||
|
||||
'preview.shareMenu': '공유 ▾',
|
||||
'preview.openInNewTab': '새 탭에서 열기',
|
||||
'preview.exit': '⤓ 나가기',
|
||||
'preview.fullscreen': '⤢ 전체 화면',
|
||||
'preview.closeTitle': '닫기 (Esc)',
|
||||
'preview.loading': '{label} 불러오는 중…',
|
||||
'preview.showSidebar': '{label} 표시',
|
||||
'preview.hideSidebar': '{label} 숨기기',
|
||||
|
||||
'misc.savedTemplate': '저장된 템플릿',
|
||||
'misc.primary': '기본색 (Primary)',
|
||||
'misc.designSystem': '디자인 시스템',
|
||||
|
||||
'workspace.designFiles': '디자인 파일',
|
||||
'workspace.closeTab': '탭 닫기',
|
||||
'workspace.deleteFileConfirm': '프로젝트 폴더에서 "{name}" 파일을 삭제하시겠습니까?',
|
||||
'workspace.openFromDesignFiles': '디자인 파일 열기',
|
||||
'workspace.designFilesLink': '디자인 파일',
|
||||
'workspace.loadingSketch': '스케치 불러오는 중…',
|
||||
'designFiles.title': '디자인 파일',
|
||||
'designFiles.upload': '파일 업로드',
|
||||
'designFiles.pasteText': '텍스트 파일로 붙여넣기',
|
||||
'designFiles.newSketch': '새 스케치',
|
||||
'designFiles.empty':
|
||||
'아직 파일이 없습니다. 여기에 파일을 끌어다 놓거나, 스케치를 생성하거나, 텍스트를 붙여넣으세요.',
|
||||
'designFiles.refresh': '새로고침',
|
||||
'designFiles.delete': '삭제',
|
||||
'designFiles.searchPlaceholder': '파일 검색…',
|
||||
'designFiles.up': '위로',
|
||||
'designFiles.back': '뒤로',
|
||||
'designFiles.crumbs': '프로젝트',
|
||||
'designFiles.rowMenu': '항목 메뉴',
|
||||
'designFiles.openInTab': '탭에서 열기',
|
||||
'designFiles.download': '다운로드',
|
||||
'designFiles.downloadSelected': 'Download {n} as ZIP',
|
||||
'designFiles.clearSelection': 'Clear',
|
||||
'designFiles.selectAll': 'Select all',
|
||||
'designFiles.dropTitle': '⤓ 여기에 파일을 놓으세요',
|
||||
'designFiles.dropDesc':
|
||||
'이미지, 문서, 참조 자료, 폴더 등을 놓아주세요. 에이전트가 문맥으로 활용합니다.',
|
||||
'designFiles.upload.title': '파일 업로드',
|
||||
'designFiles.paste.title': '텍스트를 파일로 붙여넣기',
|
||||
'designFiles.upload.label': '업로드',
|
||||
'designFiles.paste.label': '붙여넣기',
|
||||
'designFiles.previewOpen': '열기',
|
||||
'designFiles.previewClose': '미리보기 닫기',
|
||||
'designFiles.modified': '{time} 수정됨 · {size}',
|
||||
'designFiles.weeksAgo': '{n}주 전',
|
||||
'designFiles.sectionPages': '페이지',
|
||||
'designFiles.sectionScripts': '스크립트',
|
||||
'designFiles.sectionImages': '이미지',
|
||||
'designFiles.sectionSketches': '스케치',
|
||||
'designFiles.sectionOther': '기타',
|
||||
'designFiles.showMore': '+{n}개 더 보기',
|
||||
'designFiles.kindHtml': 'HTML 페이지',
|
||||
'designFiles.kindImage': '이미지',
|
||||
'designFiles.kindSketch': '스케치',
|
||||
'designFiles.kindText': '텍스트',
|
||||
'designFiles.kindCode': '스크립트',
|
||||
'designFiles.kindPdf': 'PDF 문서',
|
||||
'designFiles.kindDocument': '문서',
|
||||
'designFiles.kindPresentation': '프레젠테이션',
|
||||
'designFiles.kindSpreadsheet': '스프레드시트',
|
||||
'designFiles.kindBinary': '바이너리 파일',
|
||||
'pasteDialog.title': '텍스트 붙여넣기',
|
||||
'pasteDialog.hint': '프로젝트 폴더에 저장됩니다. 파일 이름을 지정하세요.',
|
||||
'pasteDialog.fileNameLabel': '파일 이름',
|
||||
'pasteDialog.namePlaceholder': 'notes.txt',
|
||||
'pasteDialog.contentLabel': '내용',
|
||||
'pasteDialog.contentPlaceholder': '여기에 내용을 붙여넣으세요…',
|
||||
'pasteDialog.save': '저장',
|
||||
'pasteDialog.cancel': '취소',
|
||||
'sketch.save': '스케치 저장',
|
||||
'sketch.cancel': '취소',
|
||||
'sketch.saving': '저장 중…',
|
||||
'sketch.tooltipDirty': '저장되지 않은 변경 사항',
|
||||
'sketch.tooltipClean': '저장됨',
|
||||
'fileViewer.empty': '보려는 파일을 선택하세요.',
|
||||
'fileViewer.loading': '불러오는 중…',
|
||||
'fileViewer.exportPptx': 'PPTX로 내보내기',
|
||||
'fileViewer.openInNewTab': '새 탭에서 열기',
|
||||
'fileViewer.copyPath': '경로 복사',
|
||||
'fileViewer.copied': '복사 완료!',
|
||||
'fileViewer.share': '공유',
|
||||
'fileViewer.binaryMeta': '바이너리 · {size}',
|
||||
'fileViewer.binaryNote':
|
||||
'바이너리 파일 ({size} 바이트). 확인하려면 다운로드하거나 디스크에서 직접 여세요.',
|
||||
'fileViewer.pdfMeta': 'PDF 문서 · {size}',
|
||||
'fileViewer.documentMeta': '문서',
|
||||
'fileViewer.presentationMeta': '프레젠테이션',
|
||||
'fileViewer.spreadsheetMeta': '스프레드시트',
|
||||
'fileViewer.previewUnavailable': '미리보기를 제공할 수 없습니다. 파일을 확인하려면 다운로드하거나 직접 열어보세요.',
|
||||
'fileViewer.download': '다운로드',
|
||||
'fileViewer.open': '열기',
|
||||
'fileViewer.imageMeta': '이미지 · {size}',
|
||||
'fileViewer.reactMeta': 'React 컴포넌트 · {size}',
|
||||
'fileViewer.sketchMeta': '스케치 · {size}',
|
||||
'fileViewer.markdownStreamingMeta': '스트리밍 미리보기 중…',
|
||||
'fileViewer.markdownErrorMeta': '생성 오류로 인해 미리보기가 불완전할 수 있습니다.',
|
||||
'fileViewer.markdownStreamingStatus': '스트리밍 중… 일부 마크다운만 보입니다.',
|
||||
'fileViewer.markdownErrorStatus': '생성 오류가 발생했습니다. 이용 가능한 마지막 내용만 표시합니다.',
|
||||
'fileViewer.videoMeta': '비디오 · {size}',
|
||||
'fileViewer.audioMeta': '오디오 · {size}',
|
||||
'fileViewer.reload': '새로고침',
|
||||
'fileViewer.reloadDisk': '디스크에서 새로고침',
|
||||
'fileViewer.copy': '복사',
|
||||
'fileViewer.copyTitle': '파일 내용 복사',
|
||||
'fileViewer.saveDisabled': '저장 (읽기 전용)',
|
||||
'fileViewer.save': '저장',
|
||||
'fileViewer.preview': '미리보기',
|
||||
'fileViewer.source': '소스 코드',
|
||||
'fileViewer.tweaks': '조정 (Tweaks)',
|
||||
'fileViewer.comment': '댓글',
|
||||
'fileViewer.edit': '편집',
|
||||
'fileViewer.draw': '그리기',
|
||||
'fileViewer.zoomOut': '축소',
|
||||
'fileViewer.zoomIn': '확대',
|
||||
'fileViewer.resetZoom': '배율 초기화',
|
||||
'fileViewer.reloadAria': '새로고침',
|
||||
'fileViewer.previousSlide': '이전 슬라이드',
|
||||
'fileViewer.nextSlide': '다음 슬라이드',
|
||||
'fileViewer.slideNavAria': '슬라이드 이동',
|
||||
'fileViewer.present': '프레젠테이션',
|
||||
'fileViewer.presentInTab': '현재 탭에서',
|
||||
'fileViewer.presentFullscreen': '전체 화면',
|
||||
'fileViewer.presentNewTab': '새 탭에서',
|
||||
'fileViewer.exitPresentation': '프레젠테이션 종료',
|
||||
'fileViewer.shareLabel': '공유',
|
||||
'fileViewer.exportPdf': 'PDF로 내보내기',
|
||||
'fileViewer.exportPdfAllSlides': 'PDF로 내보내기 (모든 슬라이드)',
|
||||
'fileViewer.exportPptxBusy': '현재 작업이 끝날 때까지 기다려 주세요.',
|
||||
'fileViewer.exportPptxHint':
|
||||
'이 디자인을 PPTX로 변환하도록 에이전트에 요청합니다.',
|
||||
'fileViewer.exportPptxNa': '이곳에서는 PPTX 내보내기를 할 수 없습니다.',
|
||||
'fileViewer.exportZip': '.zip으로 다운로드',
|
||||
'fileViewer.exportHtml': '독립 실행형 HTML로 내보내기',
|
||||
'fileViewer.exportMd': 'Markdown으로 내보내기',
|
||||
'fileViewer.exportJsx': 'JSX로 내보내기',
|
||||
'fileViewer.exportReactHtml': '미리보기를 HTML로 내보내기',
|
||||
'fileViewer.saveAsTemplate': '템플릿으로 저장…',
|
||||
'fileViewer.savingTemplate': '템플릿 저장 중…',
|
||||
'fileViewer.savedTemplate': '"{name}"(으)로 저장됨',
|
||||
'fileViewer.savedTemplateFail': '템플릿 저장에 실패했습니다. 다시 시도해 주세요.',
|
||||
'fileViewer.templateNamePrompt': '템플릿 이름',
|
||||
'fileViewer.templateNameDefault': '제목 없는 템플릿',
|
||||
'fileViewer.templateDescPrompt':
|
||||
'간단한 설명 (선택 사항 — 이 템플릿의 용도나 특징이 무엇인가요?)',
|
||||
'fileViewer.deployToVercel': 'Vercel에 배포',
|
||||
'fileViewer.redeployToVercel': '다시 배포',
|
||||
'fileViewer.deployingToVercel': 'Vercel에 배포 중…',
|
||||
'fileViewer.preparingPublicLink': '공개 링크 준비 중…',
|
||||
'fileViewer.copyDeployLink': '링크 복사',
|
||||
'fileViewer.deployModalTitle': 'Vercel에 배포',
|
||||
'fileViewer.deployModalSubtitle':
|
||||
'사용자 개인 계정을 사용하여 이 HTML 결과물을 Vercel Preview로 배포합니다.',
|
||||
'fileViewer.vercelToken': 'Vercel 토큰',
|
||||
'fileViewer.vercelTokenGetLink': 'Vercel 토큰 발급 받기',
|
||||
'fileViewer.vercelTokenPlaceholder': 'Vercel 토큰을 붙여넣으세요',
|
||||
'fileViewer.vercelTokenReuseHint':
|
||||
'저장된 토큰이 사용됩니다. 변경하려면 새 토큰을 입력하세요.',
|
||||
'fileViewer.vercelTokenRequired': '먼저 Vercel 토큰을 입력하고 저장하세요.',
|
||||
'fileViewer.vercelTeamId': '팀 ID (Team ID)',
|
||||
'fileViewer.vercelTeamSlug': '팀 슬러그 (Team slug)',
|
||||
'fileViewer.optional': '선택 사항',
|
||||
'fileViewer.vercelPreviewOnly': '현재 배포는 Preview 모드만 지원합니다.',
|
||||
'fileViewer.savingConfig': '설정 저장 중…',
|
||||
'fileViewer.deployConfigSaveFailed': 'Vercel 설정을 저장하지 못했습니다.',
|
||||
'fileViewer.deployFailed': '배포 실패. Vercel 설정을 확인하고 다시 시도해 주세요.',
|
||||
'fileViewer.deployResultLabel': '배포된 URL',
|
||||
'fileViewer.deployLinkPreparingLabel': '공개 링크 보류 중',
|
||||
'fileViewer.deployLinkDelayed':
|
||||
'사이트 배포는 완료되었으나, Vercel 측에서 공개 링크를 준비 중입니다.',
|
||||
'fileViewer.deployLinkProtectedLabel': 'Vercel 보호 설정 됨',
|
||||
'fileViewer.deployLinkProtected':
|
||||
'배포는 완료되었지만, Vercel 계정 설정에 의해 이 링크가 보호되어 있습니다. Vercel Deployment Protection을 비활성화하거나 커스텀 도메인을 사용하세요.',
|
||||
'fileViewer.retryLink': '지금 다시 시도',
|
||||
|
||||
'questionForm.submit': '제출',
|
||||
'questionForm.skip': '건너뛰기',
|
||||
'questionForm.locked': '답변됨',
|
||||
|
||||
'conv.switch': '대화 전환',
|
||||
'conv.label': '대화',
|
||||
'conv.heading': '대화 목록',
|
||||
'conv.new': '+ 새 대화',
|
||||
'conv.empty': '아직 대화가 없습니다.',
|
||||
'conv.untitled': '제목 없는 대화',
|
||||
'conv.renameTooltip': '더블 클릭하여 이름 변경',
|
||||
'conv.delete': '대화 삭제',
|
||||
'conv.deleteConfirm': '"{title}" 대화를 삭제하시겠습니까? 관련 메시지도 함께 삭제됩니다.',
|
||||
|
||||
'agentPicker.label': '에이전트',
|
||||
'agentPicker.modeChoose': '실행 모드 선택',
|
||||
'agentPicker.localCli': '로컬 CLI',
|
||||
'agentPicker.daemonOff': '데몬 꺼짐',
|
||||
'agentPicker.byok': 'API · BYOK',
|
||||
'agentPicker.selectAgent': '감지된 코드 에이전트 CLI 선택',
|
||||
'agentPicker.noAgents': 'PATH에서 에이전트를 찾을 수 없음',
|
||||
'agentPicker.notInstalled': '설치되지 않음',
|
||||
'agentPicker.rescan': '로컬 PATH에서 에이전트 다시 스캔',
|
||||
|
||||
'tool.openInTab': '탭에서 {name} 열기',
|
||||
'tool.open': '열기',
|
||||
'tool.todos': '할 일 (Todos)',
|
||||
'tool.write': '작성 (Write)',
|
||||
'tool.edit': '편집 (Edit)',
|
||||
'tool.read': '읽기 (Read)',
|
||||
'tool.bash': '명령어 (Bash)',
|
||||
'tool.glob': '검색 (Glob)',
|
||||
'tool.grep': '검색 (Grep)',
|
||||
'tool.fetch': '가져오기 (Fetch)',
|
||||
'tool.search': '검색 (Search)',
|
||||
'tool.lines': '{n} 줄',
|
||||
'tool.changeSingular': '변경',
|
||||
'tool.changePlural': '변경',
|
||||
'tool.in': '경로: {path}',
|
||||
'tool.hide': '숨기기',
|
||||
'tool.output': '출력',
|
||||
'tool.running': '실행 중…',
|
||||
'tool.error': '오류',
|
||||
'tool.done': '완료',
|
||||
|
||||
'assistant.role': '어시스턴트 (Assistant)',
|
||||
'assistant.workingLabel': '작업 중',
|
||||
'assistant.doneLabel': '완료됨',
|
||||
'assistant.unfinishedLabel': '작업을 마치지 못하고 중지됨',
|
||||
'assistant.unfinishedSummary': '{n}개 작업 남음',
|
||||
'assistant.unfinishedMore': '+{n}개 추가',
|
||||
'assistant.continueRemaining': '남은 작업 계속하기',
|
||||
'assistant.outTokens': '{n} 출력',
|
||||
'assistant.producedFiles': '이 턴에서 생성된 파일',
|
||||
'assistant.openFile': '열기',
|
||||
'assistant.downloadFile': '다운로드',
|
||||
'assistant.thinking': '생각 중 (Thinking)',
|
||||
'assistant.systemReminder': '시스템 알림',
|
||||
'assistant.waitingFirstOutput': '첫 번째 출력 대기 중',
|
||||
'assistant.statusBootingAgent': '에이전트 부팅 중',
|
||||
'assistant.statusStarting': '시작 중',
|
||||
'assistant.statusRequesting': '요청 전송 중',
|
||||
'assistant.statusThinking': '생각 중',
|
||||
'assistant.statusStreaming': '스트리밍 중',
|
||||
'assistant.slowHint':
|
||||
'평소보다 오래 걸립니다. 5-10초 후에도 양식이 나타나지 않으면, 중지(Stop)를 누르고 질문을 다시 작성해 보세요.',
|
||||
'assistant.verbEditing': '편집 중',
|
||||
'assistant.verbWriting': '작성 중',
|
||||
'assistant.verbReading': '읽는 중',
|
||||
'assistant.verbSearching': '검색 중',
|
||||
'assistant.verbRunning': '실행 중',
|
||||
'assistant.verbTodos': '할 일 목록',
|
||||
'assistant.verbFetching': '가져오는 중',
|
||||
'assistant.verbCalling': '호출 중',
|
||||
|
||||
'qf.answered': '답변 완료',
|
||||
'qf.choose': '선택하세요…',
|
||||
'qf.required': '필수',
|
||||
'qf.lockedSubmitted':
|
||||
'답변이 전송되었습니다 — 에이전트가 이 답변을 활용하여 남은 세션을 진행합니다.',
|
||||
'qf.lockedPrev': '이전에 완료된 턴의 양식입니다.',
|
||||
'qf.hint':
|
||||
"적절한 항목을 선택하세요. 관심 없는 선택 항목은 건너뛰어도 좋습니다 — 에이전트가 알아서 기본값을 적용합니다.",
|
||||
'qf.submitDefault': '답변 전송',
|
||||
'qf.submitDisabledTitle': '필수 항목을 모두 채워주세요',
|
||||
'qf.submitTitle': '답변 전송',
|
||||
'qf.cardSelected': '선택됨',
|
||||
'qf.cardRefs': '참조:',
|
||||
'qf.cardSampleText': '다람쥐 헌 쳇바퀴에 타고파 · 0123',
|
||||
|
||||
'sketch.toolSelect': '선택',
|
||||
'sketch.toolPen': '펜',
|
||||
'sketch.toolText': '텍스트',
|
||||
'sketch.toolRect': '사각형',
|
||||
'sketch.toolArrow': '화살표',
|
||||
'sketch.toolEraser': '지우개',
|
||||
'sketch.color': '색상',
|
||||
'sketch.strokeSize': '선 굵기',
|
||||
'sketch.undo': '실행 취소',
|
||||
'sketch.clear': '모두 지우기',
|
||||
'sketch.close': '닫기',
|
||||
'sketch.textPrompt': '텍스트:',
|
||||
|
||||
'pet.title': '펫',
|
||||
'pet.tabBuiltIn': '내장',
|
||||
'pet.tabBuiltInHint': 'Open Design에 기본 포함된 친구들 — 골라서 입양하세요.',
|
||||
'pet.builtInEmpty': '지금은 기본 제공 펫을 불러올 수 없어요. 데몬이 다시 켜지면 커뮤니티 탭을 새로고침해 주세요.',
|
||||
'pet.tabCustom': '커스텀',
|
||||
'pet.tabCustomHint': '이름·글리프·색상·스프라이트를 직접 정해 보세요.',
|
||||
'pet.tabCommunity': '커뮤니티',
|
||||
'pet.tabCommunityHint': 'Codex에서 부화한 펫 — 입양하거나 AI로 새로 만드세요.',
|
||||
'pet.tabsAria': '펫 소스',
|
||||
'pet.subtitle': '작업 공간 위에 떠다니는 작은 친구를 입양해 보세요.',
|
||||
'pet.navTitle': '펫',
|
||||
'pet.navHint': '입양 또는 사용자 지정',
|
||||
'pet.adopt': '입양',
|
||||
'pet.adoptedBadge': '입양 완료',
|
||||
'pet.adoptCallout': '펫 입양하기',
|
||||
'pet.changePet': '펫 변경',
|
||||
'pet.wake': '깨우기',
|
||||
'pet.tuck': '숨기기',
|
||||
'pet.wakeTitle': '펫 깨우기 — 떠다니는 오버레이 표시.',
|
||||
'pet.tuckTitle': '펫 숨기기 — 오버레이 숨김.',
|
||||
'pet.settingsTitle': '펫 설정 열기',
|
||||
'pet.useCustom': '내 펫 사용',
|
||||
'pet.customTitle': '내 펫 만들기',
|
||||
'pet.customHint': '이름, 아이콘, 강조 색상을 골라보세요. 오버레이가 실시간으로 업데이트됩니다.',
|
||||
'pet.customGreetingPlaceholder': '펫의 인사말…',
|
||||
'pet.fieldName': '이름',
|
||||
'pet.fieldGlyph': '아이콘',
|
||||
'pet.fieldGlyphHint': '이모지 하나가 가장 잘 어울려요 (예: 🐝, 🦄, 🐢).',
|
||||
'pet.fieldGreeting': '인사말',
|
||||
'pet.fieldAccent': '강조 색상',
|
||||
'pet.fieldAccentCustom': '사용자 색상',
|
||||
'pet.overlayAria': '펫 친구',
|
||||
'pet.spriteAria': '{name} — 드래그하여 이동, 클릭하여 대화',
|
||||
'pet.spriteTitle': '{name}의 인사! 클릭해서 대화하세요.',
|
||||
'pet.railAria': '펫 선택기',
|
||||
'pet.railTitle': '펫',
|
||||
'pet.railHint': '작업 공간 위에 떠다닐 친구를 골라 보세요.',
|
||||
'pet.railExpand': '선택기 펼치기',
|
||||
'pet.railCollapse': '선택기 접기',
|
||||
'pet.railHide': '펫 선택기 숨기기',
|
||||
'pet.railShow': '펫 선택기 표시',
|
||||
'pet.railCustomFlavor': '내 펫 — 이름·아이콘·색상 마음대로.',
|
||||
'pet.railCustomize': '사용자 지정…',
|
||||
'pet.composerTitle': '펫 — 깨우기, 숨기기 또는 선택',
|
||||
'pet.composerMenuTitle': '펫',
|
||||
'pet.composerMenuHint': '팁: /pet 을 입력하면 토글',
|
||||
'pet.composerOpenSettings': '설정에서 사용자 지정',
|
||||
'pet.welcomeTeaserTitle': '펫 입양하기',
|
||||
'pet.welcomeTeaserBody': '작업 공간 위에 떠다니는 작은 친구입니다.',
|
||||
'pet.welcomeTeaserCta': '고르기',
|
||||
'pet.imageUpload': '스프라이트 업로드',
|
||||
'pet.imageReplace': '스프라이트 교체',
|
||||
'pet.imageRemove': '이모지로 변경',
|
||||
'pet.imageHintIdle': 'PNG / JPG / WebP / GIF / SVG 지원. 스프라이트시트? 가로 스트립을 올리고 프레임 수를 설정하세요.',
|
||||
'pet.imageHintActive': '업로드한 스프라이트 표시 중. 프레임을 1보다 크게 설정하면 가로 스프라이트시트가 움직입니다.',
|
||||
'pet.fieldFrames': '프레임',
|
||||
'pet.fieldFramesHint': '1 = 정적. > 1 = 가로 스프라이트시트.',
|
||||
'pet.fieldFps': '속도 (fps)',
|
||||
'pet.fieldFpsHint': '프레임 전환 속도.',
|
||||
'pet.atlasImport': 'Codex 스프라이트 가져오기',
|
||||
'pet.atlasImportTitle': 'hatch-pet의 8x9 / 192x208 아틀라스(PNG 또는 WebP)를 가져옵니다.',
|
||||
'pet.atlasPickerTitle': '애니메이션 행 선택',
|
||||
'pet.atlasPickerHint': 'Codex 펫은 9개의 애니메이션 행을 가집니다. 기본값은 전체 아틀라스를 유지해 호버, 드래그 방향, 장시간 대기에 따라 행이 바뀝니다. 한 행으로 고정할 수도 있습니다.',
|
||||
'pet.atlasCancel': '아틀라스 취소',
|
||||
'pet.atlasAdopt': '이 행으로 고정',
|
||||
'pet.atlasAdoptFull': '전체 아틀라스 사용 (애니메이션)',
|
||||
'pet.atlasAdoptFullTitle': '모든 행을 유지해 호버, 드래그 방향, 장시간 대기에 반응합니다.',
|
||||
'pet.atlasAdoptRowTitle': '강조된 행만 루프 스트립으로 잘라냅니다.',
|
||||
'pet.atlasActiveHint': '애니메이션 아틀라스 활성 — 상호작용(호버, 드래그, 대기)에 따라 펫이 행을 자동으로 전환합니다.',
|
||||
'pet.atlasRow.idle': '대기',
|
||||
'pet.atlasRow.running-right': '오른쪽으로 달리기',
|
||||
'pet.atlasRow.running-left': '왼쪽으로 달리기',
|
||||
'pet.atlasRow.waving': '손 흔들기',
|
||||
'pet.atlasRow.jumping': '점프',
|
||||
'pet.atlasRow.failed': '실패',
|
||||
'pet.atlasRow.waiting': '기다리기',
|
||||
'pet.atlasRow.running': '달리기',
|
||||
'pet.atlasRow.review': '검토',
|
||||
'pet.hatchTitle': 'AI로 새 펫 부화하기',
|
||||
'pet.hatchHint': '내장된 hatch-pet 스킬을 채팅에서 실행해 Codex 스타일 스프라이트시트를 만든 뒤 여기에서 가져오세요.',
|
||||
'pet.hatchConcept': '펫 콘셉트 (선택)',
|
||||
'pet.hatchConceptPlaceholder': '예: 스웨터를 입은 작은 픽셀 시바견',
|
||||
'pet.hatchCopy': '프롬프트 복사',
|
||||
'pet.hatchCopied': '복사됨!',
|
||||
'pet.hatchFoot': '스킬이 펫을 저장하면 여기로 돌아와 "Codex 스프라이트 가져오기"를 누르세요.',
|
||||
'pet.slashPopoverAria': '슬래시 명령',
|
||||
'pet.slashPopoverTitle': '명령',
|
||||
'pet.slashPopoverHint': '↑↓ 이동 · enter 선택 · esc 닫기',
|
||||
'pet.slashPet': '펫을 토글하거나 입양 또는 설정으로 이동.',
|
||||
'pet.slashPetWake': '플로팅 펫을 깨우기.',
|
||||
'pet.slashPetTuck': '펫을 잠시 치우기.',
|
||||
'pet.slashHatch': 'hatch-pet 스킬로 Codex 펫 생성.',
|
||||
'pet.slashHatchArg': '<콘셉트>',
|
||||
'pet.codexTitle': '최근 부화',
|
||||
'pet.codexSubtitle': 'hatch-pet 스킬이 패키지한 펫이 여기에서 원클릭으로 입양 가능.',
|
||||
'pet.codexSubtitleWithDir': 'hatch-pet 스킬 패키지를 위해 {dir} 스캔 중.',
|
||||
'pet.codexEmpty': '부화된 펫이 아직 없습니다. 채팅에서 /hatch를 입력해 생성하세요.',
|
||||
'pet.codexLoading': '부화된 펫을 찾는 중…',
|
||||
'pet.codexRefresh': '새로고침',
|
||||
'pet.codexAdopt': '입양',
|
||||
'pet.codexAdopting': '입양 중…',
|
||||
'pet.communitySync': '커뮤니티 펫 다운로드',
|
||||
'pet.communitySyncing': '다운로드 중…',
|
||||
'pet.communitySyncTitle': 'Codex Pet Share + j20 Hatchery 의 최신 펫을 ~/.codex/pets/ 로 동기화합니다.',
|
||||
'pet.communitySyncDone': '신규 펫 {wrote} 마리 동기화됨 (총 {total} 마리).',
|
||||
'pet.communitySyncFailed': '동기화 실패: {error}',
|
||||
'pet.codexBundled': '내장',
|
||||
'pet.codexBundledTitle': 'Open Design 에 내장 — 다운로드 불필요.',
|
||||
|
||||
'settings.notifications': '알림',
|
||||
'settings.notificationsHint': '작업 완료 시 효과음 및 데스크톱 알림',
|
||||
'settings.notifyCompletionSound': '완료 사운드',
|
||||
'settings.notifyCompletionSoundHint': '한 턴이 끝나면 재생됩니다. 기본값은 꺼짐입니다.',
|
||||
'settings.notifySuccessSound': '성공 사운드',
|
||||
'settings.notifyFailureSound': '실패 사운드',
|
||||
'settings.notifyDesktop': '데스크톱 알림',
|
||||
'settings.notifyDesktopHint': '창이 활성화되지 않았을 때 전송됩니다.',
|
||||
'settings.notifyDesktopBlocked': '브라우저에서 차단되었습니다. 사이트 설정에서 허용하세요.',
|
||||
'settings.notifyDesktopUnsupported': '이 환경에서는 데스크톱 알림을 사용할 수 없습니다.',
|
||||
'settings.notifyTest': '테스트 보내기',
|
||||
'settings.notifyTestSent': '테스트 알림을 보냈습니다. 배너가 보이지 않으면 브라우저와 시스템 알림 설정을 확인하세요.',
|
||||
'settings.notifyTestFailed': '알림 호출에 실패했습니다. 브라우저와 시스템 알림 설정을 확인하세요.',
|
||||
'settings.notifySoundDing': '딩',
|
||||
'settings.notifySoundChime': '차임벨',
|
||||
'settings.notifySoundTwoToneUp': '상승 2음',
|
||||
'settings.notifySoundPluck': '플럭',
|
||||
'settings.notifySoundBuzz': '버즈',
|
||||
'settings.notifySoundTwoToneDown': '하강 2음',
|
||||
'settings.notifySoundThud': '쿵',
|
||||
'notify.successTitle': '작업 완료',
|
||||
'notify.failureTitle': '작업 실패',
|
||||
'notify.successBody': '한 턴이 끝났습니다.',
|
||||
'notify.failureBody': '작업이 오류로 종료되었습니다.',
|
||||
};
|
||||
@@ -0,0 +1,830 @@
|
||||
import type { Dict } from '../types';
|
||||
|
||||
export const pl: Dict = {
|
||||
'common.cancel': 'Anuluj',
|
||||
'common.save': 'Zapisz',
|
||||
'common.close': 'Zamknij',
|
||||
'common.delete': 'Usuń',
|
||||
'common.rename': 'Zmień nazwę',
|
||||
'common.preview': 'Podgląd',
|
||||
'common.share': 'Udostępnij',
|
||||
'common.search': 'Szukaj',
|
||||
'common.searchEllipsis': 'Szukaj…',
|
||||
'common.loading': 'Ładowanie…',
|
||||
'common.all': 'Wszystkie',
|
||||
'common.none': 'Brak',
|
||||
'common.default': 'Domyślne',
|
||||
'common.installed': 'zainstalowano',
|
||||
'common.notInstalled': 'nie zainstalowano',
|
||||
'common.active': 'aktywny',
|
||||
'common.offline': 'offline',
|
||||
'common.selected': 'wybrano',
|
||||
'common.create': 'Utwórz',
|
||||
'common.openPreview': 'Otwórz podgląd',
|
||||
'common.exitFullscreen': 'Zamknij pełny ekran',
|
||||
'common.fullscreen': 'Pełny ekran',
|
||||
'common.openInNewTab': 'Otwórz w nowej karcie',
|
||||
'common.exportPdf': 'Eksportuj jako PDF',
|
||||
'common.exportZip': 'Pobierz jako .zip',
|
||||
'common.exportHtml': 'Eksportuj jako samodzielny HTML',
|
||||
'common.justNow': 'przed chwilą',
|
||||
'common.minutesAgo': '{n} min temu',
|
||||
'common.hoursAgo': '{n} godz. temu',
|
||||
'common.daysAgo': '{n} dni temu',
|
||||
'common.now': 'teraz',
|
||||
'common.minutesShort': '{n}m',
|
||||
'common.hoursShort': '{n}h',
|
||||
'common.daysShort': '{n}d',
|
||||
'common.untitled': 'Bez tytułu',
|
||||
|
||||
'app.brand': 'Open Design',
|
||||
'app.brandPill': 'Wersja badawcza',
|
||||
'app.brandSubtitle': 'od Nexu Labs',
|
||||
'app.welcomeLoading': 'Ładowanie obszaru roboczego…',
|
||||
|
||||
'settings.welcomeKicker': 'Witaj',
|
||||
'settings.welcomeTitle': 'Skonfiguruj Open Design',
|
||||
'settings.welcomeSubtitle':
|
||||
"Wybierz sposób generowania projektów. Możesz to zmienić w dowolnym momencie w Ustawieniach na górnym pasku.",
|
||||
'settings.kicker': 'Ustawienia',
|
||||
'settings.title': 'Wykonanie i model',
|
||||
'settings.subtitle': 'Wybierz lokalne CLI albo BYOK. Klucz API jest przechowywany tylko w tej przeglądarce.',
|
||||
'settings.modeAria': 'Tryb wykonywania',
|
||||
'settings.protocolAria': 'Protokół API',
|
||||
'settings.modeDaemon': 'Lokalne CLI',
|
||||
'settings.modeDaemonHelp': 'Uruchamiaj przez agenta CLI na swoim komputerze',
|
||||
'settings.modeDaemonOffline': 'Daemon nie jest uruchomiony',
|
||||
'settings.modeDaemonOfflineMeta': 'daemon offline',
|
||||
'settings.modeDaemonInstalledMeta': '{count} zainstalowano',
|
||||
'settings.modeApi': 'Dostawca API',
|
||||
'settings.modeApiMeta': 'BYOK',
|
||||
'settings.codeAgent': 'Agent kodu',
|
||||
'settings.codeAgentHint':
|
||||
'Wykryto poprzez skanowanie PATH. Wybierz CLI, przez które mają przechodzić generacje.',
|
||||
'settings.rescan': '↻ Ponów skanowanie',
|
||||
'settings.rescanTitle': 'Ponownie skanuj PATH',
|
||||
'settings.rescanRunning': 'Skanowanie...',
|
||||
'settings.rescanSuccess': 'Skanowanie zakończone. Dostępne: {count}.',
|
||||
'settings.rescanFailed': 'Skanowanie nie powiodło się. Sprawdź daemon i spróbuj ponownie.',
|
||||
'settings.noAgentsDetected':
|
||||
'Nie wykryto jeszcze żadnych agentów. Zainstaluj Claude Code, Codex, Devin for Terminal, Gemini CLI, OpenCode, Cursor Agent, Qwen lub GitHub Copilot CLI, a następnie kliknij Ponów skanowanie.',
|
||||
'settings.apiSection': 'Anthropic API',
|
||||
'settings.quickFillProvider': 'Szybkie wypełnienie dostawcy',
|
||||
'settings.customProvider': 'Niestandardowy dostawca',
|
||||
'settings.apiKey': 'Klucz API',
|
||||
'settings.showKey': 'Pokaż klucz',
|
||||
'settings.hideKey': 'Ukryj klucz',
|
||||
'settings.show': 'Pokaż',
|
||||
'settings.hide': 'Ukryj',
|
||||
'settings.model': 'Model',
|
||||
'settings.suggestedModelsHint':
|
||||
'To sugerowane modele dla tego protokołu. Twój dostawca może obsługiwać inne modele.',
|
||||
'settings.baseUrl': 'Bazowy URL',
|
||||
'settings.baseUrlInvalid': 'Wpisz poprawny publiczny URL http:// lub https://. Localhost jest dozwolony; prywatne adresy IP są blokowane.',
|
||||
'settings.azureDeploymentModel': 'Nazwa wdrożenia',
|
||||
'settings.azureDeploymentModelHint':
|
||||
'Dla Azure OpenAI to pole jest używane jako nazwa wdrożenia w /openai/deployments/<model>. Wpisz nazwę wdrożenia utworzonego w Azure.',
|
||||
'settings.apiVersion': 'Wersja API',
|
||||
'settings.maxTokens': 'Maks. liczba tokenów (opcjonalnie)',
|
||||
'settings.maxTokensHint':
|
||||
'Limit długości odpowiedzi. Każdy model ma dostrojony domyślny limit (widoczny jako placeholder); pozostaw puste, aby go użyć, lub wpisz liczbę.',
|
||||
'settings.apiHint': 'Wywołania są wysyłane przez lokalny proxy daemon do ustawionego Base URL. Klucz jest przechowywany tylko w tej przeglądarce i wysyłany z żądaniami do dostawcy.',
|
||||
'settings.skipForNow': 'Pomiń na razie',
|
||||
'settings.getStarted': 'Rozpocznij',
|
||||
'settings.envConfigure': 'Skonfiguruj tryb wykonywania',
|
||||
'settings.localCli': 'Lokalne CLI',
|
||||
'settings.anthropicApi': 'Anthropic API',
|
||||
'settings.noAgentSelected': 'nie wybrano agenta',
|
||||
'settings.language': 'Język',
|
||||
'settings.languageHint': 'Zmień język interfejsu. Zapisano w tej przeglądarce.',
|
||||
'settings.appearance': 'Wygląd',
|
||||
'settings.appearanceHint': 'Jasny, ciemny lub zgodny z ustawieniami systemu.',
|
||||
'settings.themeSystem': 'Systemowy',
|
||||
'settings.themeLight': 'Jasny',
|
||||
'settings.themeDark': 'Ciemny',
|
||||
'settings.modelPicker': 'Model',
|
||||
'settings.reasoningPicker': 'Poziom rozumowania',
|
||||
'settings.modelPickerHint':
|
||||
'Pobierane z CLI, gdy obsługuje ono polecenie `models`. „Domyślne” pozostawia wybór konfiguracji CLI; „Własne…” pozwala wpisać dowolne ID modelu akceptowane przez CLI.',
|
||||
'settings.modelCustom': 'Własny (wpisz poniżej)…',
|
||||
'settings.modelCustomLabel': 'Własne ID modelu',
|
||||
'settings.modelCustomPlaceholder': 'np. anthropic/claude-sonnet-4-6',
|
||||
'settings.mediaProviders': 'Dostawcy multimediów',
|
||||
'settings.mediaProvidersHint':
|
||||
'Klucze API do generowania obrazów, wideo i dźwięku. Przechowywane lokalnie i synchronizowane z lokalnym daemonem.',
|
||||
'settings.mediaProviderApiKey': 'Klucz API',
|
||||
'settings.mediaProviderBaseUrl': 'Bazowy URL',
|
||||
'settings.mediaProviderConfigured': 'Skonfigurowano',
|
||||
'settings.mediaProviderUnset': 'Nieustawione',
|
||||
'settings.mediaProviderClear': 'Wyczyść',
|
||||
'settings.mediaProviderPlaceholder': 'Wklej klucz API',
|
||||
'settings.mediaProviderBaseUrlPlaceholder': 'Nadpisz domyślny bazowy URL',
|
||||
'settings.about': 'O aplikacji',
|
||||
'settings.aboutHint': 'Szczegóły wersji i środowiska uruchomieniowego',
|
||||
'settings.appVersion': 'Wersja',
|
||||
'settings.appChannel': 'Kanał',
|
||||
'settings.appRuntime': 'Środowisko',
|
||||
'settings.appPlatform': 'Platforma',
|
||||
'settings.appArchitecture': 'Architektura',
|
||||
'settings.runtimePackaged': 'Aplikacja spakowana',
|
||||
'settings.runtimeDevelopment': 'Rozwojowe',
|
||||
'settings.versionUnavailable': 'Szczegóły wersji są niedostępne, gdy daemon jest offline.',
|
||||
|
||||
'entry.tabDesigns': 'Projekty',
|
||||
'entry.tabExamples': 'Przykłady',
|
||||
'entry.tabDesignSystems': 'Systemy projektowania',
|
||||
'entry.openSettingsTitle': 'Ustawienia',
|
||||
'entry.openSettingsAria': 'Otwórz ustawienia',
|
||||
'entry.resizeAria': 'Zmień rozmiar paska bocznego',
|
||||
'entry.loadingWorkspace': 'Ładowanie obszaru roboczego…',
|
||||
'entry.tabImageTemplates': 'Szablony obrazów',
|
||||
'entry.tabVideoTemplates': 'Szablony wideo',
|
||||
'promptTemplates.searchPlaceholder': 'Szukaj szablonów…',
|
||||
'promptTemplates.countLabel': '{n} wyników',
|
||||
'promptTemplates.emptyImage': 'Nie zainstalowano jeszcze szablonów promptów obrazów.',
|
||||
'promptTemplates.emptyVideo': 'Nie zainstalowano jeszcze szablonów promptów wideo.',
|
||||
'promptTemplates.emptyNoMatch': 'Brak szablonów pasujących do wyszukiwania.',
|
||||
'promptTemplates.attributionFooter': 'Zaadaptowano z publicznych bibliotek promptów. Każda karta linkuje do oryginalnego autora.',
|
||||
'promptTemplates.openPreviewTitle': 'Otwórz prompt i podgląd',
|
||||
'promptTemplates.sourcePrefix': 'Źródło:',
|
||||
'promptTemplates.fetchError': 'Nie udało się załadować treści szablonu.',
|
||||
'promptTemplates.promptLabel': 'Treść promptu',
|
||||
'promptTemplates.copyPrompt': 'Kopiuj prompt',
|
||||
'promptTemplates.copyDone': 'Skopiowano!',
|
||||
'promptTemplates.modelHint': 'Sugerowany model: {model}',
|
||||
'promptTemplates.openSource': 'Zobacz oryginał',
|
||||
'promptTemplates.openFullscreen': 'Podgląd pełnoekranowy',
|
||||
'promptTemplates.closeFullscreen': 'Zamknij podgląd pełnoekranowy',
|
||||
'promptTemplates.retry': 'Ponów',
|
||||
|
||||
'newproj.tabPrototype': 'Prototyp',
|
||||
'newproj.tabDeck': 'Prezentacja',
|
||||
'newproj.tabTemplate': 'Z szablonu',
|
||||
'newproj.tabOther': 'Inne',
|
||||
'newproj.titlePrototype': 'Nowy prototyp',
|
||||
'newproj.titleDeck': 'Nowa prezentacja',
|
||||
'newproj.titleTemplate': 'Zacznij od szablonu',
|
||||
'newproj.titleImage': 'Nowy obraz',
|
||||
'newproj.titleVideo': 'Nowe wideo',
|
||||
'newproj.titleAudio': 'Nowy dźwięk',
|
||||
'newproj.titleOther': 'Nowy projekt',
|
||||
'newproj.namePlaceholder': 'Nazwa projektu',
|
||||
'newproj.fidelityLabel': 'Wierność (Fidelity)',
|
||||
'newproj.fidelityWireframe': 'Szkic (Wireframe)',
|
||||
'newproj.fidelityHigh': 'Wysoka wierność (Hi-Fi)',
|
||||
'newproj.toggleSpeakerNotes': 'Użyj notatek prelegenta',
|
||||
'newproj.toggleSpeakerNotesHint': 'Mniej tekstu na slajdach — główne punkty w notatkach.',
|
||||
'newproj.toggleAnimations': 'Dołącz animacje',
|
||||
'newproj.toggleAnimationsHint':
|
||||
'Dodaj ruch (wejście, najechanie, przejścia) do szablonu.',
|
||||
'newproj.templateLabel': 'Szablon',
|
||||
'newproj.noTemplatesTitle': 'Brak szablonów',
|
||||
'newproj.noTemplatesBody':
|
||||
'Otwórz dowolny projekt, a następnie użyj menu Udostępnij w przeglądarce plików, aby przekonwertować go na szablon. Szablony pojawią się tutaj.',
|
||||
'newproj.savedTemplate': 'Zapisany szablon',
|
||||
'newproj.fileSingular': 'plik',
|
||||
'newproj.filePlural': 'pliki',
|
||||
'newproj.create': 'Utwórz',
|
||||
'newproj.createFromTemplate': 'Utwórz z szablonu',
|
||||
'newproj.createDisabledTitle':
|
||||
'Najpierw zapisz projekt jako szablon (menu Udostępnij wewnątrz projektu).',
|
||||
'newproj.importClaudeZip': 'Importuj Claude Design ZIP',
|
||||
'newproj.importClaudeZipTitle': 'Importuj eksport .zip z Claude Design',
|
||||
'newproj.importingClaudeZip': 'Importowanie…',
|
||||
'newproj.privacyFooter': 'Domyślnie tylko Ty widzisz swój projekt.',
|
||||
'newproj.designSystem': 'System projektowania',
|
||||
'newproj.dsNoneFreeform': 'Brak — styl dowolny',
|
||||
'newproj.dsNoneSubtitleEmpty': 'Brak tokenów systemowych, wybierz własną paletę',
|
||||
'newproj.dsNoneSubtitleSelected': 'Pomiń tokeny systemowe. Agent dobierze własną paletę.',
|
||||
'newproj.dsCategoryFallback': 'System projektowania',
|
||||
'newproj.dsSearch': 'Szukaj systemów projektowania…',
|
||||
'newproj.dsModeAria': 'Tryb wyboru',
|
||||
'newproj.dsModeSingle': 'Pojedynczy',
|
||||
'newproj.dsModeMulti': 'Wiele',
|
||||
'newproj.dsNoneTitle': 'Brak — styl dowolny',
|
||||
'newproj.dsNoneSub': 'Pomiń tokeny systemowe. Agent dobierze własną paletę.',
|
||||
'newproj.dsEmpty': 'Brak systemów projektowania pasujących do „{query}”.',
|
||||
'newproj.dsFootSingular': 'służy tylko jako inspiracja.',
|
||||
'newproj.dsFootPlural': 'służą tylko jako inspiracja.',
|
||||
'newproj.dsFootClear': 'Wyczyść',
|
||||
'newproj.dsBadgeDefault': 'DOMYŚLNY',
|
||||
'newproj.dsPrimaryFallback': 'Główny',
|
||||
'newproj.surfaceImage': 'Obraz',
|
||||
'newproj.surfaceVideo': 'Wideo',
|
||||
'newproj.surfaceAudio': 'Dźwięk',
|
||||
'newproj.modelLabel': 'Model',
|
||||
'newproj.aspectLabel': 'Proporcje',
|
||||
'newproj.imageStyleLabel': 'Uwagi dot. stylu',
|
||||
'newproj.imageStylePlaceholder': 'Zdjęcie redakcyjne, miękkie światło dzienne, stonowana paleta',
|
||||
'newproj.videoLengthLabel': 'Długość',
|
||||
'newproj.videoLengthSeconds': '{n}s',
|
||||
'newproj.audioKindLabel': 'Rodzaj dźwięku',
|
||||
'newproj.audioKindMusic': 'Muzyka',
|
||||
'newproj.audioKindSpeech': 'Mowa / TTS',
|
||||
'newproj.audioKindSfx': 'Efekty (SFX)',
|
||||
'newproj.audioDurationLabel': 'Czas trwania',
|
||||
'newproj.audioDurationSeconds': '{n}s',
|
||||
'newproj.voiceLabel': 'Głos',
|
||||
'newproj.voicePlaceholder': 'ID głosu dostawcy, opcjonalnie',
|
||||
'newproj.promptTemplateLabel': 'Szablon referencyjny',
|
||||
'newproj.promptTemplateNoneTitle': 'Brak — napisz własny',
|
||||
'newproj.promptTemplateNoneSub': 'Pomiń galerię, opisz własne zadanie',
|
||||
'newproj.promptTemplateRefSub': 'Szablon referencyjny',
|
||||
'newproj.promptTemplateSearch': 'Szukaj szablonów…',
|
||||
'newproj.promptTemplateEmpty': 'Nie zainstalowano jeszcze szablonów dla tego typu powierzchni.',
|
||||
'newproj.promptTemplateBodyLabel': 'Polecenie (możesz go dostosować)',
|
||||
'newproj.promptTemplateOptimizeHint':
|
||||
'Możesz edytować wszystko — Twoje zmiany zostaną uwzględnione w instrukcjach dla agenta.',
|
||||
'newproj.promptTemplateBodyEmpty':
|
||||
'Pusta treść — agent nie otrzyma referencji do szablonu.',
|
||||
|
||||
'designs.subRecent': 'Ostatnie',
|
||||
'designs.subYours': 'Twoje projekty',
|
||||
'designs.filterAria': 'Filtruj projekty',
|
||||
'designs.searchPlaceholder': 'Szukaj…',
|
||||
'designs.emptyNoProjects': 'Brak projektów. Utwórz jeden po lewej stronie.',
|
||||
'designs.emptyNoMatch': 'Brak projektów pasujących do wyszukiwania.',
|
||||
'designs.deleteTitle': 'Usuń projekt',
|
||||
'designs.deleteConfirm': 'Usunąć „{name}”?',
|
||||
'designs.cardFreeform': 'styl dowolny',
|
||||
'designs.status.notStarted': 'Nie rozpoczęto',
|
||||
'designs.status.queued': 'W kolejce',
|
||||
'designs.status.running': 'Uruchomiony',
|
||||
'designs.status.awaitingInput': 'Wymaga danych',
|
||||
'designs.status.succeeded': 'Zakończono',
|
||||
'designs.status.failed': 'Błąd',
|
||||
'designs.status.canceled': 'Anulowano',
|
||||
'designs.viewToggleAria': 'Tryb widoku',
|
||||
'designs.viewGrid': 'Widok siatki',
|
||||
'designs.viewKanban': 'Widok tablicy',
|
||||
'designs.kanbanEmptyColumn': 'Brak projektów',
|
||||
'designs.deleteAria': 'Usuń projekt {name}',
|
||||
|
||||
'examples.typeLabel': 'Typ',
|
||||
'examples.surfaceLabel': 'Powierzchnia',
|
||||
'examples.surfaceWeb': 'Web',
|
||||
'examples.surfaceImage': 'Obraz',
|
||||
'examples.surfaceVideo': 'Wideo',
|
||||
'examples.surfaceAudio': 'Dźwięk',
|
||||
'examples.scenarioLabel': 'Scenariusz',
|
||||
'examples.modeAll': 'Wszystkie',
|
||||
'examples.modePrototypeDesktop': 'Prototypy · Desktop',
|
||||
'examples.modePrototypeMobile': 'Prototypy · Mobile',
|
||||
'examples.modeDeck': 'Slajdy',
|
||||
'examples.modeDocument': 'Dokumenty i szablony',
|
||||
'examples.scenarioGeneral': 'Ogólne',
|
||||
'examples.scenarioEngineering': 'Inżynieria',
|
||||
'examples.scenarioProduct': 'Produkt',
|
||||
'examples.scenarioDesign': 'Design',
|
||||
'examples.scenarioMarketing': 'Marketing',
|
||||
'examples.scenarioSales': 'Sprzedaż',
|
||||
'examples.scenarioFinance': 'Finanse',
|
||||
'examples.scenarioHr': 'HR',
|
||||
'examples.scenarioOperations': 'Operacje',
|
||||
'examples.scenarioSupport': 'Wsparcie',
|
||||
'examples.scenarioLegal': 'Prawo',
|
||||
'examples.scenarioEducation': 'Edukacja',
|
||||
'examples.scenarioPersonal': 'Osobiste',
|
||||
'examples.emptyNoSkills': 'Brak dostępnych umiejętności. Czy daemon jest uruchomiony?',
|
||||
'examples.searchPlaceholder': 'Szukaj przykładów…',
|
||||
'examples.searchAria': 'Szukaj przykładów po nazwie',
|
||||
'examples.emptyNoMatch': 'Brak przykładów pasujących do filtrów.',
|
||||
'examples.openPreview': '⤢ Otwórz podgląd',
|
||||
'examples.loadingPreview': 'Ładowanie podglądu…',
|
||||
'examples.hoverPreview': 'Najedź, aby zobaczyć podgląd',
|
||||
'examples.usePrompt': 'Użyj tego promptu',
|
||||
'examples.previewModalTitle': 'Pełny podgląd (okno)',
|
||||
'examples.shareTitle': 'Udostępnij ten przykład',
|
||||
'examples.shareLoadFirst': 'Najedź, aby najpierw załadować podgląd',
|
||||
'examples.shareMenu': 'Udostępnij ▾',
|
||||
'examples.exportPdfAllSlides': 'Eksportuj jako PDF (wszystkie slajdy)',
|
||||
'examples.exportPptxLocked': 'Eksportuj jako PPTX… (najpierw otwórz szablon)',
|
||||
'examples.tagSlideDeck': 'Prezentacja',
|
||||
'examples.tagTemplate': 'Szablon',
|
||||
'examples.tagDesignSystem': 'System projektowania',
|
||||
'examples.tagMobilePrototype': 'Prototyp mobilny',
|
||||
'examples.tagDesktopPrototype': 'Prototyp desktopowy',
|
||||
'examples.tagImage': 'Obraz',
|
||||
'examples.tagVideo': 'Wideo',
|
||||
'examples.tagAudio': 'Dźwięk',
|
||||
'examples.previewLabel': 'Podgląd',
|
||||
|
||||
'ds.surfaceLabel': 'Powierzchnia',
|
||||
'ds.surfaceWeb': 'Web',
|
||||
'ds.surfaceImage': 'Obraz',
|
||||
'ds.surfaceVideo': 'Wideo',
|
||||
'ds.surfaceAudio': 'Dźwięk',
|
||||
'ds.searchPlaceholder': 'Szukaj systemów projektowania…',
|
||||
'ds.emptyNoMatch': 'Brak systemów projektowania pasujących do wyszukiwania.',
|
||||
'ds.badgeDefault': 'DOMYŚLNY',
|
||||
'ds.preview': 'Podgląd',
|
||||
'ds.previewTitle': 'Podgląd systemu projektowania',
|
||||
'ds.categoryAll': 'Wszystkie',
|
||||
'ds.categoryUncategorized': 'Niekategoryzowane',
|
||||
'ds.showcase': 'Galeria',
|
||||
'ds.tokens': 'Tokeny',
|
||||
'ds.specToggle': 'DESIGN.md',
|
||||
'ds.specLoading': 'Ładowanie DESIGN.md…',
|
||||
|
||||
'avatar.title': 'Konto i ustawienia',
|
||||
'avatar.localCli': 'Lokalne CLI',
|
||||
'avatar.anthropicApi': 'Anthropic API',
|
||||
'avatar.useLocal': 'Użyj lokalnego CLI',
|
||||
'avatar.useApi': 'Użyj API · BYOK',
|
||||
'avatar.codeAgent': 'Agent kodu',
|
||||
'avatar.rescan': 'Skanuj PATH ponownie',
|
||||
'avatar.settings': 'Ustawienia',
|
||||
'avatar.backToProjects': 'Wróć do projektów',
|
||||
'avatar.metaActive': 'aktywny',
|
||||
'avatar.metaOffline': 'offline',
|
||||
'avatar.metaSelected': 'wybrano',
|
||||
'avatar.noAgentSelected': 'nie wybrano agenta',
|
||||
'avatar.modelSection': 'Model',
|
||||
'avatar.modelLabel': 'Model',
|
||||
'avatar.reasoningLabel': 'Rozumowanie',
|
||||
'avatar.customSuffix': '(własny)',
|
||||
|
||||
'project.backToProjects': 'Wróć do projektów',
|
||||
'project.metaFreeform': 'styl dowolny',
|
||||
'chat.tabChat': 'Czat',
|
||||
'chat.tabComments': 'Komentarze',
|
||||
'chat.commentsSoon': 'Komentarze — wkrótce',
|
||||
'chat.comments.attached': 'Dołączone do czatu',
|
||||
'chat.comments.emptyAttached': 'Brak dołączonych komentarzy.',
|
||||
'chat.comments.saved': 'Zapisane komentarze',
|
||||
'chat.comments.emptySaved': 'Brak zapisanych komentarzy.',
|
||||
'chat.comments.add': 'Dodaj',
|
||||
'chat.comments.addAll': 'Dodaj wszystkie',
|
||||
'chat.comments.remove': 'Usuń',
|
||||
'chat.comments.placeholder': 'Skomentuj ten element…',
|
||||
'chat.comments.addSend': 'Dodaj i wyślij',
|
||||
'chat.comments.updateSend': 'Zaktualizuj i wyślij',
|
||||
'chat.comments.removeAttachment': 'Usuń załącznik komentarza',
|
||||
'chat.comments.removeAttachmentAria': 'Usuń załącznik komentarza dla {name}',
|
||||
'chat.conversationsTitle': 'Rozmowy',
|
||||
'chat.conversationsAria': 'Historia rozmów',
|
||||
'chat.newConversation': 'Nowa rozmowa',
|
||||
'chat.newConversationsTitle': 'Nowa rozmowa',
|
||||
'chat.conversationsHeading': 'Rozmowy',
|
||||
'chat.new': 'Nowa',
|
||||
'chat.emptyConversations': 'Brak rozmów.',
|
||||
'chat.deleteConversation': 'Usuń rozmowę',
|
||||
'chat.deleteConversationConfirm':
|
||||
'Usunąć „{title}”? Spowoduje to usunięcie wszystkich wiadomości.',
|
||||
'chat.untitledConversation': 'Rozmowa bez tytułu',
|
||||
'chat.startTitle': 'Zacznij rozmowę',
|
||||
'chat.startHint':
|
||||
'Przeciągnij lub wklej obrazy jako referencję wizualną lub wpisz @, aby załączyć plik z tego projektu. Możesz też wypróbować jeden z tematów na start:',
|
||||
'chat.fillInputTitle': 'Kliknij, aby wypełnić pole tekstowe',
|
||||
'chat.jumpToLatest': 'Skocz do najnowszych',
|
||||
'chat.scrollToLatest': 'Przewiń do najnowszych',
|
||||
'chat.you': 'Ty',
|
||||
'chat.openFile': 'Otwórz {name}',
|
||||
'chat.composerPlaceholder':
|
||||
'Opisz projekt, który chcesz stworzyć — wklej obrazy lub użyj @, aby wskazać plik…',
|
||||
'chat.composerHint':
|
||||
'⌘/Ctrl + Enter aby wysłać · wklej obrazy · @ aby wskazać pliki',
|
||||
'chat.cliSettingsTitle': 'Ustawienia CLI i modelu',
|
||||
'chat.cliSettingsAria': 'Otwórz ustawienia CLI i modelu',
|
||||
'chat.attachTitle': 'Załącz pliki (lub wklej / przeciągnij)',
|
||||
'chat.attachAria': 'Załącz pliki',
|
||||
'chat.importTitle': 'Importuj źródła (wkrótce)',
|
||||
'chat.importLabel': 'Importuj',
|
||||
'chat.importComingSoon': 'Wkrótce',
|
||||
'chat.importSoon': 'Wkrótce',
|
||||
'chat.importFig': 'Prześlij plik .fig',
|
||||
'chat.importGitHub': 'Połącz z GitHub',
|
||||
'chat.importWeb': 'Pobierz element webowy',
|
||||
'chat.importFolder': 'Połącz folder z kodem',
|
||||
'chat.importSkills': 'Umiejętności i systemy projektowania',
|
||||
'chat.importProject': 'Referencja do innego projektu',
|
||||
'chat.send': 'Wyślij',
|
||||
'chat.stop': 'Zatrzymaj',
|
||||
'chat.removeAria': 'Usuń {name}',
|
||||
'chat.example1Title': 'Prezentacja redakcyjna (Pitch deck)',
|
||||
'chat.example1Tag': 'Magazyn',
|
||||
'chat.example1Prompt':
|
||||
'10-slajdowa prezentacja (pitch deck) dla studia projektowego zbierającego rundę seed — układ typu Swiss-grid, duże nagłówki szeryfowe z pogrubionymi inicjałami, numery sekcji o stałej szerokości znaków, dużo wolnej przestrzeni i slajdy ze zdjęciami na cały ekran przeplatane tymi z dużą ilością tekstu. Okładka, wizja, rynek, produkt, trakcja, zespół, zapytanie, kontakt.',
|
||||
'chat.example2Title': 'Dashboard analityczny SaaS',
|
||||
'chat.example2Tag': 'Dane',
|
||||
'chat.example2Prompt':
|
||||
'Gęsty dashboard analityczny dla SaaS-a z narzędziami dla programistów — pasek KPI ze zmianami tydzień do tygodnia, dwa wykresy liniowe (MRR i aktywne obszary robocze), mapa cieplna użycia na świecie, siatka retencji kohortowej, tabela liderów wśród klientów i kanał zdarzeń w czasie rzeczywistym. Ciemny motyw, cyfry o stałej szerokości, akcenty typu sparkline.',
|
||||
'chat.example3Title': 'Raport roczny (long-scroll)',
|
||||
'chat.example3Tag': 'Edytorskie',
|
||||
'chat.example3Prompt':
|
||||
'Interaktywny raport roczny dla organizacji klimatycznej — układ typu long-scroll mieszający bloki z dużymi cytatami, wizualizacje danych (wykresy słupkowe, animowane liczniki, mapa choropletowa lokalizacji projektów), przerywniki fotograficzne, lista darczyńców i końcowe wezwanie do działania. Nowoczesny tekst szeryfowy, etykiety wykresów bezszeryfowe, ziemista paleta kolorów.',
|
||||
|
||||
'preview.shareMenu': 'Udostępnij ▾',
|
||||
'preview.openInNewTab': 'Otwórz w nowej karcie',
|
||||
'preview.exit': '⤓ Wyjdź',
|
||||
'preview.fullscreen': '⤢ Pełny ekran',
|
||||
'preview.closeTitle': 'Zamknij (Esc)',
|
||||
'preview.loading': 'Ładowanie {label}…',
|
||||
'preview.showSidebar': 'Pokaż {label}',
|
||||
'preview.hideSidebar': 'Ukryj {label}',
|
||||
|
||||
'misc.savedTemplate': 'Zapisany szablon',
|
||||
'misc.primary': 'Główny',
|
||||
'misc.designSystem': 'System projektowania',
|
||||
|
||||
'workspace.designFiles': 'Pliki projektu',
|
||||
'workspace.closeTab': 'Zamknij kartę',
|
||||
'workspace.deleteFileConfirm': 'Usunąć „{name}” z folderu projektu?',
|
||||
'workspace.openFromDesignFiles': 'Otwórz plik z',
|
||||
'workspace.designFilesLink': 'Pliki projektu',
|
||||
'workspace.loadingSketch': 'Ładowanie szkicu…',
|
||||
'designFiles.title': 'Pliki projektu',
|
||||
'designFiles.upload': 'Prześlij pliki',
|
||||
'designFiles.pasteText': 'Wklej jako plik tekstowy',
|
||||
'designFiles.newSketch': 'Nowy szkic',
|
||||
'designFiles.empty':
|
||||
'Nic tu jeszcze nie ma. Przeciągnij pliki poniżej lub utwórz szkic / wklej tekst.',
|
||||
'designFiles.refresh': 'Odśwież',
|
||||
'designFiles.delete': 'Usuń',
|
||||
'designFiles.searchPlaceholder': 'Szukaj plików…',
|
||||
'designFiles.up': 'W górę',
|
||||
'designFiles.back': 'Wstecz',
|
||||
'designFiles.crumbs': 'projekt',
|
||||
'designFiles.rowMenu': 'Menu wiersza',
|
||||
'designFiles.openInTab': 'Otwórz w karcie',
|
||||
'designFiles.download': 'Pobierz',
|
||||
'designFiles.downloadSelected': 'Download {n} as ZIP',
|
||||
'designFiles.clearSelection': 'Clear',
|
||||
'designFiles.selectAll': 'Select all',
|
||||
'designFiles.dropTitle': '⤓ Upuść pliki tutaj',
|
||||
'designFiles.dropDesc':
|
||||
'Obrazy, dokumenty, referencje lub foldery — agent użyje ich jako kontekstu.',
|
||||
'designFiles.upload.title': 'Prześlij pliki',
|
||||
'designFiles.paste.title': 'Wklej tekst jako plik',
|
||||
'designFiles.upload.label': 'Prześlij',
|
||||
'designFiles.paste.label': 'Wklej',
|
||||
'designFiles.previewOpen': 'Otwórz',
|
||||
'designFiles.previewClose': 'Zamknij podgląd',
|
||||
'designFiles.modified': 'Zmodyfikowano {time} · {size}',
|
||||
'designFiles.weeksAgo': '{n} tyg. temu',
|
||||
'designFiles.sectionPages': 'Strony',
|
||||
'designFiles.sectionScripts': 'Skrypty',
|
||||
'designFiles.sectionImages': 'Obrazy',
|
||||
'designFiles.sectionSketches': 'Szkice',
|
||||
'designFiles.sectionOther': 'Inne',
|
||||
'designFiles.showMore': 'Pokaż +{n} więcej',
|
||||
'designFiles.kindHtml': 'Strona HTML',
|
||||
'designFiles.kindImage': 'Obraz',
|
||||
'designFiles.kindSketch': 'Szkic',
|
||||
'designFiles.kindText': 'Tekst',
|
||||
'designFiles.kindCode': 'Skrypt',
|
||||
'designFiles.kindPdf': 'PDF',
|
||||
'designFiles.kindDocument': 'Dokument',
|
||||
'designFiles.kindPresentation': 'Prezentacja',
|
||||
'designFiles.kindSpreadsheet': 'Arkusz kalkulacyjny',
|
||||
'designFiles.kindBinary': 'Plik binarny',
|
||||
'pasteDialog.title': 'Wklej tekst',
|
||||
'pasteDialog.hint': 'Zapisano w folderze projektu. Wybierz dowolną nazwę.',
|
||||
'pasteDialog.fileNameLabel': 'Nazwa pliku',
|
||||
'pasteDialog.namePlaceholder': 'notatki.txt',
|
||||
'pasteDialog.contentLabel': 'Treść',
|
||||
'pasteDialog.contentPlaceholder': 'Wklej cokolwiek…',
|
||||
'pasteDialog.save': 'Zapisz',
|
||||
'pasteDialog.cancel': 'Anuluj',
|
||||
'sketch.save': 'Zapisz szkic',
|
||||
'sketch.cancel': 'Anuluj',
|
||||
'sketch.saving': 'Zapisywanie…',
|
||||
'sketch.tooltipDirty': 'Niezapisane zmiany',
|
||||
'sketch.tooltipClean': 'Zapisano',
|
||||
'fileViewer.empty': 'Wybierz plik, aby go wyświetlić.',
|
||||
'fileViewer.loading': 'Ładowanie…',
|
||||
'fileViewer.exportPptx': 'Eksportuj jako PPTX',
|
||||
'fileViewer.openInNewTab': 'Otwórz w nowej karcie',
|
||||
'fileViewer.copyPath': 'Kopiuj ścieżkę',
|
||||
'fileViewer.copied': 'Skopiowano!',
|
||||
'fileViewer.share': 'Udostępnij',
|
||||
'fileViewer.binaryMeta': 'Binarny · {size}',
|
||||
'fileViewer.binaryNote':
|
||||
'Plik binarny ({size} bajtów). Pobierz go lub otwórz z dysku, aby sprawdzić zawartość.',
|
||||
'fileViewer.pdfMeta': 'PDF · {size}',
|
||||
'fileViewer.documentMeta': 'Dokument',
|
||||
'fileViewer.presentationMeta': 'Prezentacja',
|
||||
'fileViewer.spreadsheetMeta': 'Arkusz kalkulacyjny',
|
||||
'fileViewer.previewUnavailable': 'Podgląd niedostępny. Pobierz lub otwórz plik, aby go sprawdzić.',
|
||||
'fileViewer.download': 'Pobierz',
|
||||
'fileViewer.open': 'Otwórz',
|
||||
'fileViewer.imageMeta': 'Obraz · {size}',
|
||||
'fileViewer.reactMeta': 'Komponent React · {size}',
|
||||
'fileViewer.sketchMeta': 'Szkic · {size}',
|
||||
'fileViewer.markdownStreamingMeta': 'Podgląd na żywo…',
|
||||
'fileViewer.markdownErrorMeta': 'Podgląd może być niepełny (błąd generowania).',
|
||||
'fileViewer.markdownStreamingStatus': 'Strumieniowanie… wyświetlanie częściowego markdownu.',
|
||||
'fileViewer.markdownErrorStatus': 'Błąd generowania. Wyświetlanie ostatniej dostępnej treści.',
|
||||
'fileViewer.videoMeta': 'Wideo · {size}',
|
||||
'fileViewer.audioMeta': 'Dźwięk · {size}',
|
||||
'fileViewer.reload': 'Odśwież',
|
||||
'fileViewer.reloadDisk': 'Odśwież z dysku',
|
||||
'fileViewer.copy': 'Kopiuj',
|
||||
'fileViewer.copyTitle': 'Kopiuj zawartość pliku',
|
||||
'fileViewer.saveDisabled': 'Zapisz (widok tylko do odczytu)',
|
||||
'fileViewer.save': 'Zapisz',
|
||||
'fileViewer.preview': 'Podgląd',
|
||||
'fileViewer.source': 'Źródło',
|
||||
'fileViewer.tweaks': 'Poprawki',
|
||||
'fileViewer.comment': 'Komentarz',
|
||||
'fileViewer.edit': 'Edytuj',
|
||||
'fileViewer.draw': 'Rysuj',
|
||||
'fileViewer.zoomOut': 'Pomniejsz',
|
||||
'fileViewer.zoomIn': 'Powiększ',
|
||||
'fileViewer.resetZoom': 'Resetuj powiększenie',
|
||||
'fileViewer.reloadAria': 'Odśwież',
|
||||
'fileViewer.previousSlide': 'Poprzedni slajd',
|
||||
'fileViewer.nextSlide': 'Następny slajd',
|
||||
'fileViewer.slideNavAria': 'Nawigacja slajdów',
|
||||
'fileViewer.present': 'Prezentuj',
|
||||
'fileViewer.presentInTab': 'W tej karcie',
|
||||
'fileViewer.presentFullscreen': 'Pełny ekran',
|
||||
'fileViewer.presentNewTab': 'Nowa karta',
|
||||
'fileViewer.exitPresentation': 'Wyjdź z prezentacji',
|
||||
'fileViewer.shareLabel': 'Udostępnij',
|
||||
'fileViewer.exportPdf': 'Eksportuj jako PDF',
|
||||
'fileViewer.exportPdfAllSlides': 'Eksportuj jako PDF (wszystkie slajdy)',
|
||||
'fileViewer.exportPptxBusy': 'Poczekaj, aż bieżąca tura zostanie zakończona.',
|
||||
'fileViewer.exportPptxHint':
|
||||
'Wyślij prośbę do agenta o przekonwertowanie tego projektu na PPTX.',
|
||||
'fileViewer.exportPptxNa': 'Eksport do PPTX nie jest tutaj dostępny.',
|
||||
'fileViewer.exportZip': 'Pobierz jako .zip',
|
||||
'fileViewer.exportHtml': 'Eksportuj jako samodzielny HTML',
|
||||
'fileViewer.exportMd': 'Eksportuj jako Markdown',
|
||||
'fileViewer.exportJsx': 'Eksportuj jako JSX',
|
||||
'fileViewer.exportReactHtml': 'Eksportuj podgląd jako HTML',
|
||||
'fileViewer.saveAsTemplate': 'Zapisz jako szablon…',
|
||||
'fileViewer.savingTemplate': 'Zapisywanie szablonu…',
|
||||
'fileViewer.savedTemplate': 'Zapisano jako „{name}”',
|
||||
'fileViewer.savedTemplateFail': 'Nie udało się zapisać szablonu — spróbuj ponownie.',
|
||||
'fileViewer.templateNamePrompt': 'Nazwa szablonu',
|
||||
'fileViewer.templateNameDefault': 'Szablon bez tytułu',
|
||||
'fileViewer.templateDescPrompt':
|
||||
'Krótki opis (opcjonalnie — co czyni ten szablon użytecznym?)',
|
||||
'fileViewer.deployToVercel': 'Wdróż na Vercel',
|
||||
'fileViewer.redeployToVercel': 'Wdróż ponownie',
|
||||
'fileViewer.deployingToVercel': 'Wdrażanie na Vercel…',
|
||||
'fileViewer.preparingPublicLink': 'Przygotowywanie publicznego linku…',
|
||||
'fileViewer.copyDeployLink': 'Kopiuj link',
|
||||
'fileViewer.deployModalTitle': 'Wdróż na Vercel',
|
||||
'fileViewer.deployModalSubtitle':
|
||||
'Wdróż ten artefakt HTML jako podgląd Vercel (Preview) przy użyciu własnego konta.',
|
||||
'fileViewer.vercelToken': 'Token Vercel',
|
||||
'fileViewer.vercelTokenGetLink': 'Pobierz token Vercel',
|
||||
'fileViewer.vercelTokenPlaceholder': 'Wklej swój token Vercel',
|
||||
'fileViewer.vercelTokenReuseHint':
|
||||
'Zapisany token zostanie użyty. Wprowadź nowy, aby go zastąpić.',
|
||||
'fileViewer.vercelTokenRequired': 'Najpierw wprowadź i zapisz token Vercel.',
|
||||
'fileViewer.vercelTeamId': 'ID zespołu',
|
||||
'fileViewer.vercelTeamSlug': 'Slug zespołu',
|
||||
'fileViewer.optional': 'Opcjonalnie',
|
||||
'fileViewer.vercelPreviewOnly': 'Wdrożenia są obecnie dostępne tylko jako Podgląd (Preview).',
|
||||
'fileViewer.savingConfig': 'Zapisywanie…',
|
||||
'fileViewer.deployConfigSaveFailed': 'Nie udało się zapisać ustawień Vercel.',
|
||||
'fileViewer.deployFailed': 'Wdrożenie nie powiodło się. Sprawdź ustawienia Vercel i spróbuj ponownie.',
|
||||
'fileViewer.deployResultLabel': 'Wdrożony URL',
|
||||
'fileViewer.deployLinkPreparingLabel': 'Oczekiwanie na link publiczny',
|
||||
'fileViewer.deployLinkDelayed':
|
||||
'Strona została wdrożona. Vercel wciąż przygotowuje link publiczny.',
|
||||
'fileViewer.deployLinkProtectedLabel': 'Ochrona Vercel włączona',
|
||||
'fileViewer.deployLinkProtected':
|
||||
'Strona została wdrożona, ale Vercel wymaga uwierzytelnienia dla tego linku podglądu. Wyłącz Deployment Protection lub użyj własnej domeny.',
|
||||
'fileViewer.retryLink': 'Ponów teraz',
|
||||
|
||||
'questionForm.submit': 'Wyślij',
|
||||
'questionForm.skip': 'Pomiń',
|
||||
'questionForm.locked': 'Odpowiedziano',
|
||||
|
||||
'conv.switch': 'Przełącz rozmowę',
|
||||
'conv.label': 'Rozmowa',
|
||||
'conv.heading': 'Rozmowy',
|
||||
'conv.new': '+ Nowa',
|
||||
'conv.empty': 'Brak rozmów.',
|
||||
'conv.untitled': 'Rozmowa bez tytułu',
|
||||
'conv.renameTooltip': 'Kliknij dwukrotnie, aby zmienić nazwę',
|
||||
'conv.delete': 'Usuń rozmowę',
|
||||
'conv.deleteConfirm': 'Usunąć „{title}”? Spowoduje to usunięcie wszystkich wiadomości.',
|
||||
|
||||
'agentPicker.label': 'Agent',
|
||||
'agentPicker.modeChoose': 'Wybierz tryb wykonywania',
|
||||
'agentPicker.localCli': 'Lokalne CLI',
|
||||
'agentPicker.daemonOff': 'daemon wyłączony',
|
||||
'agentPicker.byok': 'API · BYOK',
|
||||
'agentPicker.selectAgent': 'Wybierz wykrytego agenta CLI',
|
||||
'agentPicker.noAgents': 'brak agentów w PATH',
|
||||
'agentPicker.notInstalled': 'nie zainstalowano',
|
||||
'agentPicker.rescan': 'Ponownie skanuj lokalny PATH w poszukiwaniu agentów',
|
||||
|
||||
'tool.openInTab': 'Otwórz {name} w karcie',
|
||||
'tool.open': 'otwórz',
|
||||
'tool.todos': 'Zadania',
|
||||
'tool.write': 'Zapisz',
|
||||
'tool.edit': 'Edytuj',
|
||||
'tool.read': 'Czytaj',
|
||||
'tool.bash': 'Bash',
|
||||
'tool.glob': 'Glob',
|
||||
'tool.grep': 'Grep',
|
||||
'tool.fetch': 'Pobierz (Fetch)',
|
||||
'tool.search': 'Szukaj',
|
||||
'tool.lines': '{n} linii',
|
||||
'tool.changeSingular': 'zmiana',
|
||||
'tool.changePlural': 'zmiany',
|
||||
'tool.in': 'w {path}',
|
||||
'tool.hide': 'ukryj',
|
||||
'tool.output': 'wyjście',
|
||||
'tool.running': 'uruchomiony…',
|
||||
'tool.error': 'błąd',
|
||||
'tool.done': 'gotowe',
|
||||
|
||||
'assistant.role': 'Asystent',
|
||||
'assistant.workingLabel': 'Pracuję',
|
||||
'assistant.doneLabel': 'Gotowe',
|
||||
'assistant.unfinishedLabel': 'Zatrzymano z niedokończonymi zadaniami',
|
||||
'assistant.unfinishedSummary': 'pozostało {n} zadań',
|
||||
'assistant.unfinishedMore': '+{n} więcej',
|
||||
'assistant.continueRemaining': 'Kontynuuj pozostałe zadania',
|
||||
'assistant.outTokens': '{n} wysłano',
|
||||
'assistant.producedFiles': 'Pliki z tej tury',
|
||||
'assistant.openFile': 'Otwórz',
|
||||
'assistant.downloadFile': 'Pobierz',
|
||||
'assistant.thinking': 'Myślę',
|
||||
'assistant.systemReminder': 'Przypomnienie systemowe',
|
||||
'assistant.waitingFirstOutput': 'Oczekiwanie na pierwszą odpowiedź',
|
||||
'assistant.statusBootingAgent': 'Uruchamianie agenta',
|
||||
'assistant.statusStarting': 'Startowanie',
|
||||
'assistant.statusRequesting': 'Wysyłanie prośby',
|
||||
'assistant.statusThinking': 'Myślenie',
|
||||
'assistant.statusStreaming': 'Strumieniowanie',
|
||||
'assistant.slowHint':
|
||||
'Trwa to dłużej niż zwykle. Formularz zazwyczaj pojawia się w 5–10s — możesz zatrzymać i sformułować zapytanie inaczej.',
|
||||
'assistant.verbEditing': 'Edytowanie',
|
||||
'assistant.verbWriting': 'Zapisywanie',
|
||||
'assistant.verbReading': 'Czytanie',
|
||||
'assistant.verbSearching': 'Wyszukiwanie',
|
||||
'assistant.verbRunning': 'Uruchamianie',
|
||||
'assistant.verbTodos': 'Zadania',
|
||||
'assistant.verbFetching': 'Pobieranie',
|
||||
'assistant.verbCalling': 'Wywoływanie',
|
||||
|
||||
'qf.answered': 'odpowiedziano',
|
||||
'qf.choose': 'Wybierz…',
|
||||
'qf.required': 'wymagane',
|
||||
'qf.lockedSubmitted':
|
||||
'Odpowiedzi wysłane — agent używa ich do końca sesji.',
|
||||
'qf.lockedPrev': 'Ten formularz pochodzi z poprzedniej tury.',
|
||||
'qf.hint':
|
||||
"Wybierz to, co pasuje. Pomiń opcjonalne pola, które Cię nie interesują — agent użyje rozsądnych domyślnych ustawień.",
|
||||
'qf.submitDefault': 'Wyślij odpowiedzi',
|
||||
'qf.submitDisabledTitle': 'Najpierw wypełnij wymagane pola',
|
||||
'qf.submitTitle': 'Wyślij odpowiedzi',
|
||||
'qf.cardSelected': 'wybrano',
|
||||
'qf.cardRefs': 'Ref:',
|
||||
'qf.cardSampleText': 'Zażółć gęślą jaźń · 0123',
|
||||
|
||||
'sketch.toolSelect': 'Wybierz (brak akcji)',
|
||||
'sketch.toolPen': 'Pióro',
|
||||
'sketch.toolText': 'Tekst',
|
||||
'sketch.toolRect': 'Prostokąt',
|
||||
'sketch.toolArrow': 'Strzałka',
|
||||
'sketch.toolEraser': 'Gumka',
|
||||
'sketch.color': 'Kolor',
|
||||
'sketch.strokeSize': 'Grubość linii',
|
||||
'sketch.undo': 'Cofnij',
|
||||
'sketch.clear': 'Wyczyść',
|
||||
'sketch.close': 'Zamknij',
|
||||
'sketch.textPrompt': 'Tekst:',
|
||||
|
||||
'pet.title': 'Pupile',
|
||||
'pet.tabBuiltIn': 'Wbudowane',
|
||||
'pet.tabBuiltInHint': 'Towarzysze dołączeni do Open Design — wybierz jednego i adoptuj.',
|
||||
'pet.builtInEmpty': 'Wbudowane zwierzaki są teraz niedostępne. Odśwież zakładkę Społeczność, gdy daemon wróci.',
|
||||
'pet.tabCustom': 'Własny',
|
||||
'pet.tabCustomHint': 'Ustaw imię, glif, kolor lub wgraj sprite.',
|
||||
'pet.tabCommunity': 'Społeczność',
|
||||
'pet.tabCommunityHint': 'Pupile wyklute przez Codex — adoptuj albo wygeneruj nowego z AI.',
|
||||
'pet.tabsAria': 'Źródło pupila',
|
||||
'pet.subtitle': 'Adoptuj małego towarzysza, który unosi się nad Twoim workspace.',
|
||||
'pet.navTitle': 'Pupile',
|
||||
'pet.navHint': 'Adoptuj lub dostosuj',
|
||||
'pet.adopt': 'Adoptuj',
|
||||
'pet.adoptedBadge': 'Adoptowany',
|
||||
'pet.adoptCallout': 'Adoptuj pupila',
|
||||
'pet.changePet': 'Zmień pupila',
|
||||
'pet.wake': 'Obudź',
|
||||
'pet.tuck': 'Schowaj',
|
||||
'pet.wakeTitle': 'Obudź pupila — pokaż nakładkę.',
|
||||
'pet.tuckTitle': 'Schowaj pupila — ukryj nakładkę.',
|
||||
'pet.settingsTitle': 'Otwórz ustawienia pupila',
|
||||
'pet.useCustom': 'Użyj mojego pupila',
|
||||
'pet.customTitle': 'Stwórz własnego',
|
||||
'pet.customHint': 'Wybierz imię, symbol i kolor akcentu — nakładka aktualizuje się na żywo.',
|
||||
'pet.customGreetingPlaceholder': 'Powitanie od Twojego pupila…',
|
||||
'pet.fieldName': 'Imię',
|
||||
'pet.fieldGlyph': 'Symbol',
|
||||
'pet.fieldGlyphHint': 'Pojedyncze emoji wygląda najlepiej (np. 🐝, 🦄, 🐢).',
|
||||
'pet.fieldGreeting': 'Powitanie',
|
||||
'pet.fieldAccent': 'Kolor akcentu',
|
||||
'pet.fieldAccentCustom': 'Własny kolor',
|
||||
'pet.overlayAria': 'Towarzysz pupil',
|
||||
'pet.spriteAria': '{name} — przeciągnij, aby przesunąć, kliknij, aby porozmawiać',
|
||||
'pet.spriteTitle': 'Cześć od {name}! Kliknij, aby porozmawiać.',
|
||||
'pet.railAria': 'Wybór pupila',
|
||||
'pet.railTitle': 'Pupile',
|
||||
'pet.railHint': 'Wybierz towarzysza, który będzie unosił się nad workspace.',
|
||||
'pet.railExpand': 'Pokaż wybór',
|
||||
'pet.railCollapse': 'Zwiń wybór',
|
||||
'pet.railHide': 'Ukryj wybór zwierzaków',
|
||||
'pet.railShow': 'Pokaż wybór zwierzaków',
|
||||
'pet.railCustomFlavor': 'Twój — imię, symbol, kolor.',
|
||||
'pet.railCustomize': 'Dostosuj…',
|
||||
'pet.composerTitle': 'Pupile — obudź, schowaj lub wybierz',
|
||||
'pet.composerMenuTitle': 'Pupile',
|
||||
'pet.composerMenuHint': 'wskazówka: wpisz /pet, aby przełączyć',
|
||||
'pet.composerOpenSettings': 'Dostosuj w Ustawieniach',
|
||||
'pet.welcomeTeaserTitle': 'Adoptuj pupila',
|
||||
'pet.welcomeTeaserBody': 'Mały towarzysz unoszący się nad workspace.',
|
||||
'pet.welcomeTeaserCta': 'Wybierz',
|
||||
'pet.imageUpload': 'Wgraj sprite',
|
||||
'pet.imageReplace': 'Zmień sprite',
|
||||
'pet.imageRemove': 'Użyj emoji',
|
||||
'pet.imageHintIdle': 'PNG, JPG, WebP, GIF lub SVG. Spritesheet? Wgraj poziomy pasek i ustaw liczbę klatek.',
|
||||
'pet.imageHintActive': 'Wyświetlam Twój sprite. Ustaw klatki > 1, aby animować poziomy spritesheet.',
|
||||
'pet.fieldFrames': 'Klatki',
|
||||
'pet.fieldFramesHint': '1 = statyczny. > 1 = poziomy spritesheet.',
|
||||
'pet.fieldFps': 'Szybkość (fps)',
|
||||
'pet.fieldFpsHint': 'Jak szybko klatki się zmieniają.',
|
||||
'pet.atlasImport': 'Importuj sprite Codex',
|
||||
'pet.atlasImportTitle': 'Zaimportuj atlas hatch-pet 8x9 / 192x208 (PNG lub WebP).',
|
||||
'pet.atlasPickerTitle': 'Wybierz wiersz animacji',
|
||||
'pet.atlasPickerHint': 'Pety Codex mają 9 wierszy animacji. Domyślnie zachowujemy cały atlas, aby pet przełączał wiersze przy hoverze, kierunku przeciągania i dłuższej bezczynności. Możesz też zablokować jeden loop.',
|
||||
'pet.atlasCancel': 'Odrzuć atlas',
|
||||
'pet.atlasAdopt': 'Zablokuj na tym wierszu',
|
||||
'pet.atlasAdoptFull': 'Użyj pełnego atlasu (animowany)',
|
||||
'pet.atlasAdoptFullTitle': 'Zachowaj wszystkie wiersze, aby pet reagował na hover, kierunek przeciągania i długą bezczynność.',
|
||||
'pet.atlasAdoptRowTitle': 'Wytnij tylko podświetlony wiersz jako pojedynczy zapętlony pasek.',
|
||||
'pet.atlasActiveHint': 'Animowany atlas aktywny — pet wybiera wiersz na podstawie Twojej interakcji (hover, przeciąganie, bezczynność).',
|
||||
'pet.atlasRow.idle': 'Bezruch',
|
||||
'pet.atlasRow.running-right': 'Bieg w prawo',
|
||||
'pet.atlasRow.running-left': 'Bieg w lewo',
|
||||
'pet.atlasRow.waving': 'Machanie',
|
||||
'pet.atlasRow.jumping': 'Skok',
|
||||
'pet.atlasRow.failed': 'Porażka',
|
||||
'pet.atlasRow.waiting': 'Oczekiwanie',
|
||||
'pet.atlasRow.running': 'Bieg',
|
||||
'pet.atlasRow.review': 'Przegląd',
|
||||
'pet.hatchTitle': 'Wykluj nowego peta z AI',
|
||||
'pet.hatchHint': 'Użyj dołączonej skill hatch-pet w czacie, aby wygenerować spritesheet w stylu Codex, a potem zaimportuj go tutaj.',
|
||||
'pet.hatchConcept': 'Koncept peta (opcjonalnie)',
|
||||
'pet.hatchConceptPlaceholder': 'np.: mały pixel-art shiba w przytulnym sweterku',
|
||||
'pet.hatchCopy': 'Kopiuj prompt',
|
||||
'pet.hatchCopied': 'Skopiowano!',
|
||||
'pet.hatchFoot': 'Gdy skill zapisze peta, wróć tutaj i kliknij „Importuj sprite Codex".',
|
||||
'pet.slashPopoverAria': 'Polecenia slash',
|
||||
'pet.slashPopoverTitle': 'Polecenia',
|
||||
'pet.slashPopoverHint': '↑↓ nawigacja · enter wybierz · esc zamknij',
|
||||
'pet.slashPet': 'Przełącz, adoptuj lub otwórz ustawienia peta.',
|
||||
'pet.slashPetWake': 'Obudź pływającego peta.',
|
||||
'pet.slashPetTuck': 'Schowaj peta na razie.',
|
||||
'pet.slashHatch': 'Wygeneruj peta Codex skillem hatch-pet.',
|
||||
'pet.slashHatchArg': '<koncept>',
|
||||
'pet.codexTitle': 'Niedawno wyklute',
|
||||
'pet.codexSubtitle': 'Pety zapakowane przez skill hatch-pet pojawiają się tutaj do adopcji jednym kliknięciem.',
|
||||
'pet.codexSubtitleWithDir': 'Skanuję {dir} w poszukiwaniu paczek hatch-pet.',
|
||||
'pet.codexEmpty': 'Brak wyklutych petów. Wpisz /hatch w czacie, aby wygenerować.',
|
||||
'pet.codexLoading': 'Szukam wyklutych petów…',
|
||||
'pet.codexRefresh': 'Odśwież',
|
||||
'pet.codexAdopt': 'Adoptuj',
|
||||
'pet.codexAdopting': 'Adoptuję…',
|
||||
'pet.communitySync': 'Pobierz zwierzaki społeczności',
|
||||
'pet.communitySyncing': 'Pobieranie…',
|
||||
'pet.communitySyncTitle': 'Zsynchronizuj najnowsze zwierzaki z Codex Pet Share + j20 Hatchery do ~/.codex/pets/.',
|
||||
'pet.communitySyncDone': 'Zsynchronizowano {wrote} nowych zwierzaków (łącznie {total}).',
|
||||
'pet.communitySyncFailed': 'Błąd synchronizacji: {error}',
|
||||
'pet.codexBundled': 'W zestawie',
|
||||
'pet.codexBundledTitle': 'Dostarczany z Open Design — bez pobierania.',
|
||||
|
||||
'settings.notifications': 'Powiadomienia',
|
||||
'settings.notificationsHint': 'Dźwięk i powiadomienie pulpitu po zakończeniu zadania',
|
||||
'settings.notifyCompletionSound': 'Dźwięk zakończenia',
|
||||
'settings.notifyCompletionSoundHint': 'Odtwarzane po zakończeniu tury. Domyślnie wyłączone.',
|
||||
'settings.notifySuccessSound': 'Dźwięk sukcesu',
|
||||
'settings.notifyFailureSound': 'Dźwięk błędu',
|
||||
'settings.notifyDesktop': 'Powiadomienie pulpitu',
|
||||
'settings.notifyDesktopHint': 'Wysyłane, gdy okno nie jest aktywne.',
|
||||
'settings.notifyDesktopBlocked': 'Zablokowane przez przeglądarkę. Włącz je w ustawieniach witryny.',
|
||||
'settings.notifyDesktopUnsupported': 'Powiadomienia pulpitu są niedostępne w tym środowisku.',
|
||||
'settings.notifyTest': 'Wyślij test',
|
||||
'settings.notifyTestSent': 'Powiadomienie testowe wysłane. Jeśli baner się nie pojawi, sprawdź ustawienia powiadomień przeglądarki i systemu.',
|
||||
'settings.notifyTestFailed': 'Wywołanie powiadomienia nie powiodło się. Sprawdź ustawienia powiadomień przeglądarki i systemu.',
|
||||
'settings.notifySoundDing': 'Dzyń',
|
||||
'settings.notifySoundChime': 'Dzwonek',
|
||||
'settings.notifySoundTwoToneUp': 'Dwuton rosnący',
|
||||
'settings.notifySoundPluck': 'Szarpnięcie',
|
||||
'settings.notifySoundBuzz': 'Brzęczenie',
|
||||
'settings.notifySoundTwoToneDown': 'Dwuton malejący',
|
||||
'settings.notifySoundThud': 'Łomot',
|
||||
'notify.successTitle': 'Zadanie ukończone',
|
||||
'notify.failureTitle': 'Zadanie nieudane',
|
||||
'notify.successBody': 'Tura zakończona.',
|
||||
'notify.failureBody': 'Zadanie zakończyło się błędem.',
|
||||
};
|
||||
@@ -0,0 +1,829 @@
|
||||
import type { Dict } from '../types';
|
||||
|
||||
export const ptBR: Dict = {
|
||||
'common.cancel': 'Cancelar',
|
||||
'common.save': 'Salvar',
|
||||
'common.close': 'Fechar',
|
||||
'common.delete': 'Excluir',
|
||||
'common.rename': 'Renomear',
|
||||
'common.preview': 'Prévia',
|
||||
'common.share': 'Compartilhar',
|
||||
'common.search': 'Buscar',
|
||||
'common.searchEllipsis': 'Buscar…',
|
||||
'common.loading': 'Carregando…',
|
||||
'common.all': 'Todos',
|
||||
'common.none': 'Nenhum',
|
||||
'common.default': 'Padrão',
|
||||
'common.installed': 'instalado',
|
||||
'common.notInstalled': 'não instalado',
|
||||
'common.active': 'ativo',
|
||||
'common.offline': 'offline',
|
||||
'common.selected': 'selecionado',
|
||||
'common.create': 'Criar',
|
||||
'common.openPreview': 'Abrir prévia',
|
||||
'common.exitFullscreen': 'Sair da tela cheia',
|
||||
'common.fullscreen': 'Tela cheia',
|
||||
'common.openInNewTab': 'Abrir em nova aba',
|
||||
'common.exportPdf': 'Exportar como PDF',
|
||||
'common.exportZip': 'Baixar como .zip',
|
||||
'common.exportHtml': 'Exportar como HTML independente',
|
||||
'common.justNow': 'agora mesmo',
|
||||
'common.minutesAgo': 'há {n} min',
|
||||
'common.hoursAgo': 'há {n} h',
|
||||
'common.daysAgo': 'há {n} d',
|
||||
'common.now': 'agora',
|
||||
'common.minutesShort': '{n} min',
|
||||
'common.hoursShort': '{n} h',
|
||||
'common.daysShort': '{n} d',
|
||||
'common.untitled': 'Sem título',
|
||||
|
||||
'app.brand': 'Open Design',
|
||||
'app.brandPill': 'Prévia de pesquisa',
|
||||
'app.brandSubtitle': 'por Nexu Labs',
|
||||
'app.welcomeLoading': 'Carregando área de trabalho…',
|
||||
|
||||
'settings.welcomeKicker': 'Bem-vindo',
|
||||
'settings.welcomeTitle': 'Configure o Open Design',
|
||||
'settings.welcomeSubtitle':
|
||||
'Escolha como você quer executar as gerações. Você pode mudar isso a qualquer momento no botão Configurações da barra superior.',
|
||||
'settings.kicker': 'Configurações',
|
||||
'settings.title': 'Execução e modelo',
|
||||
'settings.subtitle': 'Escolha entre CLI local e BYOK. Sua chave de API fica armazenada apenas neste navegador.',
|
||||
'settings.modeAria': 'Modo de execução',
|
||||
'settings.protocolAria': 'Protocolo de API',
|
||||
'settings.modeDaemon': 'CLI local',
|
||||
'settings.modeDaemonHelp': 'Execute por uma CLI de agente de código na sua máquina',
|
||||
'settings.modeDaemonOffline': 'Daemon não está em execução',
|
||||
'settings.modeDaemonOfflineMeta': 'daemon offline',
|
||||
'settings.modeDaemonInstalledMeta': '{count} instalados',
|
||||
'settings.modeApi': 'Provedor de API',
|
||||
'settings.modeApiMeta': 'BYOK',
|
||||
'settings.codeAgent': 'Agente de código',
|
||||
'settings.codeAgentHint':
|
||||
'Detectado ao escanear seu PATH. Escolha a CLI por onde as gerações devem passar.',
|
||||
'settings.rescan': '↻ Reescanear',
|
||||
'settings.rescanTitle': 'Reescanear PATH',
|
||||
'settings.rescanRunning': 'Escaneando...',
|
||||
'settings.rescanSuccess': 'Escaneamento concluido. {count} disponiveis.',
|
||||
'settings.rescanFailed': 'Falha ao escanear. Verifique o daemon e tente novamente.',
|
||||
'settings.noAgentsDetected':
|
||||
'Nenhum agente detectado ainda. Instale Claude Code, Codex, Devin for Terminal, Gemini CLI, OpenCode, Cursor Agent, Qwen ou GitHub Copilot CLI e clique em Reescanear.',
|
||||
'settings.apiSection': 'API da Anthropic',
|
||||
'settings.quickFillProvider': 'Preencher provedor',
|
||||
'settings.customProvider': 'Provedor personalizado',
|
||||
'settings.apiKey': 'Chave de API',
|
||||
'settings.showKey': 'Mostrar chave',
|
||||
'settings.hideKey': 'Ocultar chave',
|
||||
'settings.show': 'Mostrar',
|
||||
'settings.hide': 'Ocultar',
|
||||
'settings.model': 'Modelo',
|
||||
'settings.suggestedModelsHint':
|
||||
'Estes são modelos sugeridos para este protocolo. Seu provedor pode oferecer suporte a modelos diferentes.',
|
||||
'settings.baseUrl': 'URL base',
|
||||
'settings.baseUrlInvalid': 'Informe uma URL pública http:// ou https:// válida. Localhost é permitido; IPs de rede privada são bloqueados.',
|
||||
'settings.azureDeploymentModel': 'Nome do deployment',
|
||||
'settings.azureDeploymentModelHint':
|
||||
'No Azure OpenAI, este campo e usado como nome do deployment em /openai/deployments/<model>. Informe o nome do deployment criado no Azure.',
|
||||
'settings.apiVersion': 'Versão da API',
|
||||
'settings.maxTokens': 'Tokens máx. (opcional)',
|
||||
'settings.maxTokensHint':
|
||||
'Limite para o comprimento da resposta. Cada modelo tem um valor padrão ajustado (visível no placeholder); deixe em branco para usá-lo ou insira um número para substituí-lo.',
|
||||
'settings.apiHint': 'As chamadas passam pelo proxy do daemon local até a Base URL definida. A chave fica armazenada apenas neste navegador e é enviada com as requisições ao provedor.',
|
||||
'settings.skipForNow': 'Pular por enquanto',
|
||||
'settings.getStarted': 'Começar',
|
||||
'settings.envConfigure': 'Configurar modo de execução',
|
||||
'settings.localCli': 'CLI local',
|
||||
'settings.anthropicApi': 'API da Anthropic',
|
||||
'settings.noAgentSelected': 'nenhum agente selecionado',
|
||||
'settings.language': 'Idioma',
|
||||
'settings.languageHint': 'Altere o idioma da interface. Salvo neste navegador.',
|
||||
'settings.appearance': 'Aparência',
|
||||
'settings.appearanceHint': 'Escolha claro, escuro ou seguir as configurações do sistema.',
|
||||
'settings.themeSystem': 'Sistema',
|
||||
'settings.themeLight': 'Claro',
|
||||
'settings.themeDark': 'Escuro',
|
||||
'settings.modelPicker': 'Modelo',
|
||||
'settings.reasoningPicker': 'Esforço de raciocínio',
|
||||
'settings.modelPickerHint':
|
||||
'Buscado na CLI quando ela expõe um comando `models`. "Padrão" deixa a escolha para a configuração da própria CLI; "Personalizado…" permite digitar qualquer id de modelo aceito pela CLI.',
|
||||
'settings.modelCustom': 'Personalizado (digite abaixo)…',
|
||||
'settings.modelCustomLabel': 'Id do modelo personalizado',
|
||||
'settings.modelCustomPlaceholder': 'ex.: anthropic/claude-sonnet-4-6',
|
||||
'settings.mediaProviders': 'Provedores de mídia',
|
||||
'settings.mediaProvidersHint': 'Chaves de API para geração de imagem, vídeo e áudio. Salvas localmente e sincronizadas com o daemon local.',
|
||||
'settings.mediaProviderApiKey': 'API key',
|
||||
'settings.mediaProviderBaseUrl': 'Base URL',
|
||||
'settings.mediaProviderConfigured': 'Configurado',
|
||||
'settings.mediaProviderUnset': 'Não configurado',
|
||||
'settings.mediaProviderClear': 'Limpar',
|
||||
'settings.mediaProviderPlaceholder': 'Cole a API key',
|
||||
'settings.mediaProviderBaseUrlPlaceholder': 'Sobrescrever Base URL padrão',
|
||||
'settings.about': 'Sobre',
|
||||
'settings.aboutHint': 'Versão e detalhes de execução',
|
||||
'settings.appVersion': 'Versão',
|
||||
'settings.appChannel': 'Canal',
|
||||
'settings.appRuntime': 'Runtime',
|
||||
'settings.appPlatform': 'Plataforma',
|
||||
'settings.appArchitecture': 'Arquitetura',
|
||||
'settings.runtimePackaged': 'App empacotado',
|
||||
'settings.runtimeDevelopment': 'Desenvolvimento',
|
||||
'settings.versionUnavailable': 'Os detalhes de versão ficam indisponíveis enquanto o daemon está offline.',
|
||||
|
||||
'entry.tabDesigns': 'Designs',
|
||||
'entry.tabExamples': 'Exemplos',
|
||||
'entry.tabDesignSystems': 'Sistemas de design',
|
||||
'entry.openSettingsTitle': 'Configurações',
|
||||
'entry.openSettingsAria': 'Abrir configurações',
|
||||
'entry.resizeAria': 'Redimensionar barra lateral',
|
||||
'entry.loadingWorkspace': 'Carregando área de trabalho…',
|
||||
'entry.tabImageTemplates': 'Modelos de imagem',
|
||||
'entry.tabVideoTemplates': 'Modelos de vídeo',
|
||||
'promptTemplates.searchPlaceholder': 'Buscar templates…',
|
||||
'promptTemplates.countLabel': '{n} resultados',
|
||||
'promptTemplates.emptyImage': 'Nenhum template de prompt de imagem instalado.',
|
||||
'promptTemplates.emptyVideo': 'Nenhum template de prompt de vídeo instalado.',
|
||||
'promptTemplates.emptyNoMatch': 'Nenhum template corresponde à busca.',
|
||||
'promptTemplates.attributionFooter': 'Adaptado de bibliotecas públicas de prompts. Cada card aponta para o autor original.',
|
||||
'promptTemplates.openPreviewTitle': 'Abrir prompt e prévia',
|
||||
'promptTemplates.sourcePrefix': 'Fonte:',
|
||||
'promptTemplates.fetchError': 'Não foi possível carregar o corpo deste template.',
|
||||
'promptTemplates.promptLabel': 'Corpo do prompt',
|
||||
'promptTemplates.copyPrompt': 'Copiar prompt',
|
||||
'promptTemplates.copyDone': 'Copiado!',
|
||||
'promptTemplates.modelHint': 'Modelo sugerido: {model}',
|
||||
'promptTemplates.openSource': 'Ver original',
|
||||
'promptTemplates.openFullscreen': 'Abrir prévia em tela cheia',
|
||||
'promptTemplates.closeFullscreen': 'Fechar prévia em tela cheia',
|
||||
'promptTemplates.retry': 'Tentar novamente',
|
||||
|
||||
'newproj.tabPrototype': 'Protótipo',
|
||||
'newproj.tabDeck': 'Apresentação',
|
||||
'newproj.tabTemplate': 'A partir de template',
|
||||
'newproj.tabOther': 'Outro',
|
||||
'newproj.titlePrototype': 'Novo protótipo',
|
||||
'newproj.titleDeck': 'Nova apresentação',
|
||||
'newproj.titleTemplate': 'Começar de um template',
|
||||
'newproj.titleImage': 'Nova imagem',
|
||||
'newproj.titleVideo': 'Novo vídeo',
|
||||
'newproj.titleAudio': 'Novo áudio',
|
||||
'newproj.titleOther': 'Novo projeto',
|
||||
'newproj.namePlaceholder': 'Nome do projeto',
|
||||
'newproj.fidelityLabel': 'Fidelidade',
|
||||
'newproj.fidelityWireframe': 'Wireframe',
|
||||
'newproj.fidelityHigh': 'Alta fidelidade',
|
||||
'newproj.toggleSpeakerNotes': 'Usar notas do apresentador',
|
||||
'newproj.toggleSpeakerNotesHint': 'Menos texto nos slides — deixe os pontos de fala nas notas.',
|
||||
'newproj.toggleAnimations': 'Incluir animações',
|
||||
'newproj.toggleAnimationsHint':
|
||||
'Adicionar movimento (entrada, hover, transições) sobre o template.',
|
||||
'newproj.templateLabel': 'Template',
|
||||
'newproj.noTemplatesTitle': 'Ainda não há templates',
|
||||
'newproj.noTemplatesBody':
|
||||
'Abra qualquer projeto e use o menu Compartilhar no visualizador de arquivos para convertê-lo em template. Os templates aparecem aqui.',
|
||||
'newproj.savedTemplate': 'Template salvo',
|
||||
'newproj.fileSingular': 'arquivo',
|
||||
'newproj.filePlural': 'arquivos',
|
||||
'newproj.create': 'Criar',
|
||||
'newproj.createFromTemplate': 'Criar a partir do template',
|
||||
'newproj.createDisabledTitle':
|
||||
'Salve primeiro um projeto como template (menu Compartilhar dentro de qualquer projeto).',
|
||||
'newproj.importClaudeZip': 'Importar ZIP do Claude Design',
|
||||
'newproj.importClaudeZipTitle': 'Importar uma exportação .zip do Claude Design',
|
||||
'newproj.importingClaudeZip': 'Importando…',
|
||||
'newproj.privacyFooter': 'Por padrão, só você pode ver seu projeto.',
|
||||
'newproj.designSystem': 'Sistema de design',
|
||||
'newproj.dsNoneFreeform': 'Nenhum — livre',
|
||||
'newproj.dsNoneSubtitleEmpty': 'Sem tokens de sistema, escolha sua própria paleta',
|
||||
'newproj.dsNoneSubtitleSelected': 'Pular tokens de sistema. O agente escolhe a própria paleta.',
|
||||
'newproj.dsCategoryFallback': 'Sistema de design',
|
||||
'newproj.dsSearch': 'Buscar sistemas de design…',
|
||||
'newproj.dsModeAria': 'Modo de seleção',
|
||||
'newproj.dsModeSingle': 'Único',
|
||||
'newproj.dsModeMulti': 'Múltiplo',
|
||||
'newproj.dsNoneTitle': 'Nenhum — livre',
|
||||
'newproj.dsNoneSub': 'Pular tokens de sistema. O agente escolhe a própria paleta.',
|
||||
'newproj.dsEmpty': 'Nenhum sistema de design corresponde a “{query}”.',
|
||||
'newproj.dsFootSingular': 'é apenas inspiração.',
|
||||
'newproj.dsFootPlural': 'são apenas inspiração.',
|
||||
'newproj.dsFootClear': 'Limpar',
|
||||
'newproj.dsBadgeDefault': 'PADRÃO',
|
||||
'newproj.dsPrimaryFallback': 'Principal',
|
||||
'newproj.surfaceImage': 'Imagem',
|
||||
'newproj.surfaceVideo': 'Vídeo',
|
||||
'newproj.surfaceAudio': 'Áudio',
|
||||
'newproj.modelLabel': 'Modelo',
|
||||
'newproj.aspectLabel': 'Proporção',
|
||||
'newproj.imageStyleLabel': 'Notas de estilo',
|
||||
'newproj.imageStylePlaceholder': 'Foto editorial, luz suave, paleta contida',
|
||||
'newproj.videoLengthLabel': 'Duração',
|
||||
'newproj.videoLengthSeconds': '{n}s',
|
||||
'newproj.audioKindLabel': 'Tipo de áudio',
|
||||
'newproj.audioKindMusic': 'Música',
|
||||
'newproj.audioKindSpeech': 'Voz / TTS',
|
||||
'newproj.audioKindSfx': 'Efeito sonoro',
|
||||
'newproj.audioDurationLabel': 'Duração',
|
||||
'newproj.audioDurationSeconds': '{n}s',
|
||||
'newproj.voiceLabel': 'Voz',
|
||||
'newproj.voicePlaceholder': 'Voice id do provedor, opcional',
|
||||
'newproj.promptTemplateLabel': 'Modelo de referência',
|
||||
'newproj.promptTemplateNoneTitle': 'Nenhum — escreva o seu',
|
||||
'newproj.promptTemplateNoneSub': 'Pule a galeria e descreva o próprio briefing',
|
||||
'newproj.promptTemplateRefSub': 'Modelo de referência',
|
||||
'newproj.promptTemplateSearch': 'Buscar modelos…',
|
||||
'newproj.promptTemplateEmpty': 'Nenhum modelo instalado para este formato ainda.',
|
||||
'newproj.promptTemplateBodyLabel': 'Prompt (você pode ajustar)',
|
||||
'newproj.promptTemplateOptimizeHint':
|
||||
'Edite o que quiser — suas alterações entram no briefing do agente.',
|
||||
'newproj.promptTemplateBodyEmpty':
|
||||
'Corpo vazio — o agente não receberá nenhuma referência de modelo.',
|
||||
|
||||
'designs.subRecent': 'Recentes',
|
||||
'designs.subYours': 'Seus designs',
|
||||
'designs.filterAria': 'Filtrar projetos',
|
||||
'designs.searchPlaceholder': 'Buscar…',
|
||||
'designs.emptyNoProjects': 'Ainda não há projetos. Crie um à esquerda.',
|
||||
'designs.emptyNoMatch': 'Nenhum projeto corresponde à sua busca.',
|
||||
'designs.deleteTitle': 'Excluir projeto',
|
||||
'designs.deleteConfirm': 'Excluir "{name}"?',
|
||||
'designs.cardFreeform': 'livre',
|
||||
'designs.status.notStarted': 'Não iniciado',
|
||||
'designs.status.queued': 'Na fila',
|
||||
'designs.status.running': 'Em execução',
|
||||
'designs.status.awaitingInput': 'Aguardando resposta',
|
||||
'designs.status.succeeded': 'Concluído',
|
||||
'designs.status.failed': 'Falhou',
|
||||
'designs.status.canceled': 'Cancelado',
|
||||
'designs.viewToggleAria': 'Modo de visualização',
|
||||
'designs.viewGrid': 'Visualização em grade',
|
||||
'designs.viewKanban': 'Visualização em quadro',
|
||||
'designs.kanbanEmptyColumn': 'Sem designs',
|
||||
'designs.deleteAria': 'Excluir projeto {name}',
|
||||
|
||||
'examples.typeLabel': 'Tipo',
|
||||
'examples.surfaceLabel': 'Superfície',
|
||||
'examples.surfaceWeb': 'Web',
|
||||
'examples.surfaceImage': 'Imagem',
|
||||
'examples.surfaceVideo': 'Vídeo',
|
||||
'examples.surfaceAudio': 'Áudio',
|
||||
'examples.scenarioLabel': 'Cenário',
|
||||
'examples.modeAll': 'Todos',
|
||||
'examples.modePrototypeDesktop': 'Protótipos · Desktop',
|
||||
'examples.modePrototypeMobile': 'Protótipos · Mobile',
|
||||
'examples.modeDeck': 'Slides',
|
||||
'examples.modeDocument': 'Docs e templates',
|
||||
'examples.scenarioGeneral': 'Geral',
|
||||
'examples.scenarioEngineering': 'Engenharia',
|
||||
'examples.scenarioProduct': 'Produto',
|
||||
'examples.scenarioDesign': 'Design',
|
||||
'examples.scenarioMarketing': 'Marketing',
|
||||
'examples.scenarioSales': 'Vendas',
|
||||
'examples.scenarioFinance': 'Finanças',
|
||||
'examples.scenarioHr': 'RH',
|
||||
'examples.scenarioOperations': 'Operações',
|
||||
'examples.scenarioSupport': 'Suporte',
|
||||
'examples.scenarioLegal': 'Jurídico',
|
||||
'examples.scenarioEducation': 'Educação',
|
||||
'examples.scenarioPersonal': 'Pessoal',
|
||||
'examples.emptyNoSkills': 'Nenhuma skill disponível. O daemon está em execução?',
|
||||
'examples.searchPlaceholder': 'Buscar exemplos…',
|
||||
'examples.searchAria': 'Buscar exemplos por nome',
|
||||
'examples.emptyNoMatch': 'Nenhum exemplo corresponde a esses filtros.',
|
||||
'examples.openPreview': '⤢ Abrir prévia',
|
||||
'examples.loadingPreview': 'Carregando prévia…',
|
||||
'examples.hoverPreview': 'Passe o cursor para ver a prévia',
|
||||
'examples.usePrompt': 'Usar este prompt',
|
||||
'examples.previewModalTitle': 'Abrir prévia completa (modal)',
|
||||
'examples.shareTitle': 'Compartilhar este exemplo',
|
||||
'examples.shareLoadFirst': 'Passe o cursor para carregar a prévia primeiro',
|
||||
'examples.shareMenu': 'Compartilhar ▾',
|
||||
'examples.exportPdfAllSlides': 'Exportar como PDF (todos os slides)',
|
||||
'examples.exportPptxLocked': 'Exportar como PPTX… (abra o template primeiro)',
|
||||
'examples.tagSlideDeck': 'Apresentação',
|
||||
'examples.tagTemplate': 'Template',
|
||||
'examples.tagDesignSystem': 'Sistema de design',
|
||||
'examples.tagMobilePrototype': 'Protótipo mobile',
|
||||
'examples.tagDesktopPrototype': 'Protótipo desktop',
|
||||
'examples.tagImage': 'Imagem',
|
||||
'examples.tagVideo': 'Vídeo',
|
||||
'examples.tagAudio': 'Áudio',
|
||||
'examples.previewLabel': 'Prévia',
|
||||
|
||||
'ds.surfaceLabel': 'Superfície',
|
||||
'ds.surfaceWeb': 'Web',
|
||||
'ds.surfaceImage': 'Imagem',
|
||||
'ds.surfaceVideo': 'Vídeo',
|
||||
'ds.surfaceAudio': 'Áudio',
|
||||
'ds.searchPlaceholder': 'Buscar sistemas de design…',
|
||||
'ds.emptyNoMatch': 'Nenhum sistema de design corresponde à sua busca.',
|
||||
'ds.badgeDefault': 'PADRÃO',
|
||||
'ds.preview': 'Prévia',
|
||||
'ds.previewTitle': 'Prévia do sistema de design',
|
||||
'ds.categoryAll': 'Todos',
|
||||
'ds.categoryUncategorized': 'Sem categoria',
|
||||
'ds.showcase': 'Vitrine',
|
||||
'ds.tokens': 'Tokens',
|
||||
'ds.specToggle': 'DESIGN.md',
|
||||
'ds.specLoading': 'Carregando DESIGN.md…',
|
||||
|
||||
'avatar.title': 'Conta e configurações',
|
||||
'avatar.localCli': 'CLI local',
|
||||
'avatar.anthropicApi': 'API da Anthropic',
|
||||
'avatar.useLocal': 'Usar CLI local',
|
||||
'avatar.useApi': 'Usar API · BYOK',
|
||||
'avatar.codeAgent': 'Agente de código',
|
||||
'avatar.rescan': 'Reescanear PATH',
|
||||
'avatar.settings': 'Configurações',
|
||||
'avatar.backToProjects': 'Voltar aos projetos',
|
||||
'avatar.metaActive': 'ativo',
|
||||
'avatar.metaOffline': 'offline',
|
||||
'avatar.metaSelected': 'selecionado',
|
||||
'avatar.noAgentSelected': 'nenhum agente selecionado',
|
||||
'avatar.modelSection': 'Modelo',
|
||||
'avatar.modelLabel': 'Modelo',
|
||||
'avatar.reasoningLabel': 'Raciocínio',
|
||||
'avatar.customSuffix': '(personalizado)',
|
||||
|
||||
'project.backToProjects': 'Voltar aos projetos',
|
||||
'project.metaFreeform': 'livre',
|
||||
'chat.tabChat': 'Chat',
|
||||
'chat.tabComments': 'Comentários',
|
||||
'chat.commentsSoon': 'Comentários — em breve',
|
||||
'chat.comments.attached': 'Attached to chat',
|
||||
'chat.comments.emptyAttached': 'No comments attached.',
|
||||
'chat.comments.saved': 'Saved comments',
|
||||
'chat.comments.emptySaved': 'No saved comments.',
|
||||
'chat.comments.add': 'Add',
|
||||
'chat.comments.addAll': 'Add all',
|
||||
'chat.comments.remove': 'Remove',
|
||||
'chat.comments.placeholder': 'Comment on this element…',
|
||||
'chat.comments.addSend': 'Add & send',
|
||||
'chat.comments.updateSend': 'Update & send',
|
||||
'chat.comments.removeAttachment': 'Remove comment attachment',
|
||||
'chat.comments.removeAttachmentAria': 'Remove comment attachment for {name}',
|
||||
'chat.conversationsTitle': 'Conversas',
|
||||
'chat.conversationsAria': 'Histórico de conversas',
|
||||
'chat.newConversation': 'Nova conversa',
|
||||
'chat.newConversationsTitle': 'Nova conversa',
|
||||
'chat.conversationsHeading': 'Conversas',
|
||||
'chat.new': 'Nova',
|
||||
'chat.emptyConversations': 'Ainda não há conversas.',
|
||||
'chat.deleteConversation': 'Excluir conversa',
|
||||
'chat.deleteConversationConfirm':
|
||||
'Excluir "{title}"? Isso remove as mensagens.',
|
||||
'chat.untitledConversation': 'Conversa sem título',
|
||||
'chat.startTitle': 'Comece uma conversa',
|
||||
'chat.startHint':
|
||||
'Arraste ou cole imagens como referência visual, ou digite @ para anexar um arquivo deste projeto. Ou experimente um destes começos:',
|
||||
'chat.fillInputTitle': 'Clique para preencher o campo',
|
||||
'chat.jumpToLatest': 'Ir para a mais recente',
|
||||
'chat.scrollToLatest': 'Rolar para a mais recente',
|
||||
'chat.you': 'Você',
|
||||
'chat.openFile': 'Abrir {name}',
|
||||
'chat.composerPlaceholder':
|
||||
'Descreva o design que você quer — cole ou arraste imagens, ou use @ para referenciar um arquivo…',
|
||||
'chat.composerHint':
|
||||
'⌘/Ctrl + Enter para enviar · cole imagens · @ para referenciar arquivos',
|
||||
'chat.cliSettingsTitle': 'Configurações de CLI e modelo',
|
||||
'chat.cliSettingsAria': 'Abrir configurações de CLI e modelo',
|
||||
'chat.attachTitle': 'Anexar arquivos (ou colar / arrastar)',
|
||||
'chat.attachAria': 'Anexar arquivos',
|
||||
'chat.importTitle': 'Importar fontes (em breve)',
|
||||
'chat.importLabel': 'Importar',
|
||||
'chat.importComingSoon': 'Em breve',
|
||||
'chat.importSoon': 'Em breve',
|
||||
'chat.importFig': 'Enviar arquivo .fig',
|
||||
'chat.importGitHub': 'Conectar GitHub',
|
||||
'chat.importWeb': 'Capturar elemento web',
|
||||
'chat.importFolder': 'Vincular pasta de código',
|
||||
'chat.importSkills': 'Skills e sistemas de design',
|
||||
'chat.importProject': 'Referenciar outro projeto',
|
||||
'chat.send': 'Enviar',
|
||||
'chat.stop': 'Parar',
|
||||
'chat.removeAria': 'Remover {name}',
|
||||
'chat.example1Title': 'Pitch deck editorial',
|
||||
'chat.example1Tag': 'Revista',
|
||||
'chat.example1Prompt':
|
||||
'Uma apresentação editorial de 10 slides para um estúdio de design levantando uma rodada seed — layout em grid suíço, títulos serifados enormes com capitulares marcantes, números de seção em monoespaçada, bastante espaço negativo e slides com fotos em tela cheia intercalados com slides densos de texto. Capa, visão, mercado, produto, tração, equipe, pedido, contato.',
|
||||
'chat.example2Title': 'Dashboard de analytics SaaS',
|
||||
'chat.example2Tag': 'Dados',
|
||||
'chat.example2Prompt':
|
||||
'Um dashboard denso de analytics para um SaaS de ferramentas de desenvolvedor — faixa de KPIs com variações semanais, dois gráficos de linha empilhados (MRR e workspaces ativos), um mapa-múndi de calor de uso, uma grade de retenção por coorte, ranking de principais clientes e feed de eventos em tempo real. Tema escuro, números tabulares monoespaçados, acentos em sparklines.',
|
||||
'chat.example3Title': 'Relatório anual long-scroll',
|
||||
'chat.example3Tag': 'Editorial',
|
||||
'chat.example3Prompt':
|
||||
'Um relatório anual interativo para uma ONG climática — layout editorial long-scroll misturando grandes blocos de citações, visualizações de dados (barras empilhadas, contadores animados, mapa coroplético de locais de projetos), quebras com fotografia, mural de doadores e chamada final para ação. Corpo com serif moderna, rótulos de gráficos sem serifa, paleta terrosa de papel.',
|
||||
|
||||
'preview.shareMenu': 'Compartilhar ▾',
|
||||
'preview.openInNewTab': 'Abrir em nova aba',
|
||||
'preview.exit': '⤓ Sair',
|
||||
'preview.fullscreen': '⤢ Tela cheia',
|
||||
'preview.closeTitle': 'Fechar (Esc)',
|
||||
'preview.loading': 'Carregando {label}…',
|
||||
'preview.showSidebar': 'Mostrar {label}',
|
||||
'preview.hideSidebar': 'Ocultar {label}',
|
||||
|
||||
'misc.savedTemplate': 'Template salvo',
|
||||
'misc.primary': 'Principal',
|
||||
'misc.designSystem': 'Sistema de design',
|
||||
|
||||
'workspace.designFiles': 'Arquivos de design',
|
||||
'workspace.closeTab': 'Fechar aba',
|
||||
'workspace.deleteFileConfirm': 'Excluir "{name}" da pasta do projeto?',
|
||||
'workspace.openFromDesignFiles': 'Abra um arquivo em',
|
||||
'workspace.designFilesLink': 'Arquivos de design',
|
||||
'workspace.loadingSketch': 'Carregando esboço…',
|
||||
'designFiles.title': 'Arquivos de design',
|
||||
'designFiles.upload': 'Enviar arquivos',
|
||||
'designFiles.pasteText': 'Colar como arquivo de texto',
|
||||
'designFiles.newSketch': 'Novo esboço',
|
||||
'designFiles.empty':
|
||||
'Nada aqui ainda. Arraste arquivos abaixo, crie um esboço ou cole texto.',
|
||||
'designFiles.refresh': 'Atualizar',
|
||||
'designFiles.delete': 'Excluir',
|
||||
'designFiles.searchPlaceholder': 'Buscar arquivos…',
|
||||
'designFiles.up': 'Subir',
|
||||
'designFiles.back': 'Voltar',
|
||||
'designFiles.crumbs': 'projeto',
|
||||
'designFiles.rowMenu': 'Menu da linha',
|
||||
'designFiles.openInTab': 'Abrir em aba',
|
||||
'designFiles.download': 'Baixar',
|
||||
'designFiles.downloadSelected': 'Download {n} as ZIP',
|
||||
'designFiles.clearSelection': 'Clear',
|
||||
'designFiles.selectAll': 'Select all',
|
||||
'designFiles.dropTitle': '⤓ Solte arquivos aqui',
|
||||
'designFiles.dropDesc':
|
||||
'Imagens, docs, referências ou pastas — o agente usará tudo como contexto.',
|
||||
'designFiles.upload.title': 'Enviar arquivos',
|
||||
'designFiles.paste.title': 'Colar texto como arquivo',
|
||||
'designFiles.upload.label': 'Enviar',
|
||||
'designFiles.paste.label': 'Colar',
|
||||
'designFiles.previewOpen': 'Abrir',
|
||||
'designFiles.previewClose': 'Fechar prévia',
|
||||
'designFiles.modified': 'Modificado {time} · {size}',
|
||||
'designFiles.weeksAgo': 'há {n} sem',
|
||||
'designFiles.sectionPages': 'Páginas',
|
||||
'designFiles.sectionScripts': 'Scripts',
|
||||
'designFiles.sectionImages': 'Imagens',
|
||||
'designFiles.sectionSketches': 'Esboços',
|
||||
'designFiles.sectionOther': 'Outros',
|
||||
'designFiles.showMore': 'Mostrar +{n} mais',
|
||||
'designFiles.kindHtml': 'Página HTML',
|
||||
'designFiles.kindImage': 'Imagem',
|
||||
'designFiles.kindSketch': 'Esboço',
|
||||
'designFiles.kindText': 'Texto',
|
||||
'designFiles.kindCode': 'Script',
|
||||
'designFiles.kindPdf': 'PDF',
|
||||
'designFiles.kindDocument': 'Documento',
|
||||
'designFiles.kindPresentation': 'Apresentação',
|
||||
'designFiles.kindSpreadsheet': 'Planilha',
|
||||
'designFiles.kindBinary': 'Binário',
|
||||
'pasteDialog.title': 'Colar texto',
|
||||
'pasteDialog.hint': 'Salvo na pasta do projeto. Escolha qualquer nome.',
|
||||
'pasteDialog.fileNameLabel': 'Nome do arquivo',
|
||||
'pasteDialog.namePlaceholder': 'notas.txt',
|
||||
'pasteDialog.contentLabel': 'Conteúdo',
|
||||
'pasteDialog.contentPlaceholder': 'Cole qualquer coisa…',
|
||||
'pasteDialog.save': 'Salvar',
|
||||
'pasteDialog.cancel': 'Cancelar',
|
||||
'sketch.save': 'Salvar esboço',
|
||||
'sketch.cancel': 'Cancelar',
|
||||
'sketch.saving': 'Salvando…',
|
||||
'sketch.tooltipDirty': 'Alterações não salvas',
|
||||
'sketch.tooltipClean': 'Salvo',
|
||||
'fileViewer.empty': 'Selecione um arquivo para visualizar.',
|
||||
'fileViewer.loading': 'Carregando…',
|
||||
'fileViewer.exportPptx': 'Exportar como PPTX',
|
||||
'fileViewer.openInNewTab': 'Abrir em nova aba',
|
||||
'fileViewer.copyPath': 'Copiar caminho',
|
||||
'fileViewer.copied': 'Copiado!',
|
||||
'fileViewer.share': 'Compartilhar',
|
||||
'fileViewer.binaryMeta': 'Binário · {size}',
|
||||
'fileViewer.binaryNote':
|
||||
'Arquivo binário ({size} bytes). Baixe ou abra do disco para inspecionar.',
|
||||
'fileViewer.pdfMeta': 'PDF · {size}',
|
||||
'fileViewer.documentMeta': 'Documento',
|
||||
'fileViewer.presentationMeta': 'Apresentação',
|
||||
'fileViewer.spreadsheetMeta': 'Planilha',
|
||||
'fileViewer.previewUnavailable': 'Prévia indisponível. Baixe ou abra o arquivo para inspecionar.',
|
||||
'fileViewer.download': 'Baixar',
|
||||
'fileViewer.open': 'Abrir',
|
||||
'fileViewer.imageMeta': 'Imagem · {size}',
|
||||
'fileViewer.reactMeta': 'Componente React · {size}',
|
||||
'fileViewer.sketchMeta': 'Esboço · {size}',
|
||||
'fileViewer.markdownStreamingMeta': 'Prévia em streaming…',
|
||||
'fileViewer.markdownErrorMeta': 'A prévia pode estar incompleta (erro de geração).',
|
||||
'fileViewer.markdownStreamingStatus': 'Streaming… mostrando markdown parcial.',
|
||||
'fileViewer.markdownErrorStatus': 'Erro de geração. Mostrando o último conteúdo disponível.',
|
||||
'fileViewer.videoMeta': 'Vídeo · {size}',
|
||||
'fileViewer.audioMeta': 'Áudio · {size}',
|
||||
'fileViewer.reload': 'Recarregar',
|
||||
'fileViewer.reloadDisk': 'Recarregar do disco',
|
||||
'fileViewer.copy': 'Copiar',
|
||||
'fileViewer.copyTitle': 'Copiar conteúdo do arquivo',
|
||||
'fileViewer.saveDisabled': 'Salvar (visualizador somente leitura)',
|
||||
'fileViewer.save': 'Salvar',
|
||||
'fileViewer.preview': 'Prévia',
|
||||
'fileViewer.source': 'Código-fonte',
|
||||
'fileViewer.tweaks': 'Ajustes',
|
||||
'fileViewer.comment': 'Comentar',
|
||||
'fileViewer.edit': 'Editar',
|
||||
'fileViewer.draw': 'Desenhar',
|
||||
'fileViewer.zoomOut': 'Diminuir zoom',
|
||||
'fileViewer.zoomIn': 'Aumentar zoom',
|
||||
'fileViewer.resetZoom': 'Redefinir zoom',
|
||||
'fileViewer.reloadAria': 'Recarregar',
|
||||
'fileViewer.previousSlide': 'Slide anterior',
|
||||
'fileViewer.nextSlide': 'Próximo slide',
|
||||
'fileViewer.slideNavAria': 'Navegação de slides',
|
||||
'fileViewer.present': 'Apresentar',
|
||||
'fileViewer.presentInTab': 'Nesta aba',
|
||||
'fileViewer.presentFullscreen': 'Tela cheia',
|
||||
'fileViewer.presentNewTab': 'Nova aba',
|
||||
'fileViewer.exitPresentation': 'Sair da apresentação',
|
||||
'fileViewer.shareLabel': 'Compartilhar',
|
||||
'fileViewer.exportPdf': 'Exportar como PDF',
|
||||
'fileViewer.exportPdfAllSlides': 'Exportar como PDF (todos os slides)',
|
||||
'fileViewer.exportPptxBusy': 'Aguarde o turno atual terminar.',
|
||||
'fileViewer.exportPptxHint':
|
||||
'Envie uma solicitação ao agente para converter este design em PPTX.',
|
||||
'fileViewer.exportPptxNa': 'Exportação PPTX não está disponível aqui.',
|
||||
'fileViewer.exportZip': 'Baixar como .zip',
|
||||
'fileViewer.exportHtml': 'Exportar como HTML independente',
|
||||
'fileViewer.exportMd': 'Exportar como Markdown',
|
||||
'fileViewer.exportJsx': 'Exportar como JSX',
|
||||
'fileViewer.exportReactHtml': 'Exportar prévia como HTML',
|
||||
'fileViewer.saveAsTemplate': 'Salvar como template…',
|
||||
'fileViewer.savingTemplate': 'Salvando template…',
|
||||
'fileViewer.savedTemplate': 'Salvo como "{name}"',
|
||||
'fileViewer.savedTemplateFail': 'Não foi possível salvar o template — tente novamente.',
|
||||
'fileViewer.templateNamePrompt': 'Nome do template',
|
||||
'fileViewer.templateNameDefault': 'Template sem título',
|
||||
'fileViewer.templateDescPrompt':
|
||||
'Descrição curta (opcional — o que torna este template útil?)',
|
||||
'fileViewer.deployToVercel': 'Deploy to Vercel',
|
||||
'fileViewer.redeployToVercel': 'Redeploy',
|
||||
'fileViewer.deployingToVercel': 'Deploying to Vercel…',
|
||||
'fileViewer.preparingPublicLink': 'Preparing public link…',
|
||||
'fileViewer.copyDeployLink': 'Copy link',
|
||||
'fileViewer.deployModalTitle': 'Deploy to Vercel',
|
||||
'fileViewer.deployModalSubtitle':
|
||||
'Deploy this HTML artifact as a Vercel Preview using your own account.',
|
||||
'fileViewer.vercelToken': 'Vercel token',
|
||||
'fileViewer.vercelTokenGetLink': 'Get Vercel token',
|
||||
'fileViewer.vercelTokenPlaceholder': 'Paste your Vercel token',
|
||||
'fileViewer.vercelTokenReuseHint':
|
||||
'Saved token will be used. Enter a new token to replace it.',
|
||||
'fileViewer.vercelTokenRequired': 'Enter and save a Vercel token first.',
|
||||
'fileViewer.vercelTeamId': 'Team ID',
|
||||
'fileViewer.vercelTeamSlug': 'Team slug',
|
||||
'fileViewer.optional': 'Optional',
|
||||
'fileViewer.vercelPreviewOnly': 'Deploys are Preview-only for now.',
|
||||
'fileViewer.savingConfig': 'Saving…',
|
||||
'fileViewer.deployConfigSaveFailed': 'Could not save Vercel settings.',
|
||||
'fileViewer.deployFailed': 'Deploy failed. Check Vercel settings and try again.',
|
||||
'fileViewer.deployResultLabel': 'Deployed URL',
|
||||
'fileViewer.deployLinkPreparingLabel': 'Public link pending',
|
||||
'fileViewer.deployLinkDelayed':
|
||||
'Your site is deployed. Vercel is still preparing the public link.',
|
||||
'fileViewer.deployLinkProtectedLabel': 'Vercel protection enabled',
|
||||
'fileViewer.deployLinkProtected':
|
||||
'Your site deployed, but Vercel is requiring authentication for this preview link. Disable Deployment Protection or use a custom domain.',
|
||||
'fileViewer.retryLink': 'Retry now',
|
||||
|
||||
'questionForm.submit': 'Enviar',
|
||||
'questionForm.skip': 'Pular',
|
||||
'questionForm.locked': 'Respondido',
|
||||
|
||||
'conv.switch': 'Trocar conversa',
|
||||
'conv.label': 'Conversa',
|
||||
'conv.heading': 'Conversas',
|
||||
'conv.new': '+ Nova',
|
||||
'conv.empty': 'Ainda não há conversas.',
|
||||
'conv.untitled': 'Conversa sem título',
|
||||
'conv.renameTooltip': 'Clique duas vezes para renomear',
|
||||
'conv.delete': 'Excluir conversa',
|
||||
'conv.deleteConfirm': 'Excluir "{title}"? Isso remove as mensagens.',
|
||||
|
||||
'agentPicker.label': 'Agente',
|
||||
'agentPicker.modeChoose': 'Escolha o modo de execução',
|
||||
'agentPicker.localCli': 'CLI local',
|
||||
'agentPicker.daemonOff': 'daemon desligado',
|
||||
'agentPicker.byok': 'API · BYOK',
|
||||
'agentPicker.selectAgent': 'Selecione uma CLI de agente de código detectada',
|
||||
'agentPicker.noAgents': 'nenhum agente no PATH',
|
||||
'agentPicker.notInstalled': 'não instalado',
|
||||
'agentPicker.rescan': 'Reescanear agentes no PATH local',
|
||||
|
||||
'tool.openInTab': 'Abrir {name} em uma aba',
|
||||
'tool.open': 'abrir',
|
||||
'tool.todos': 'Tarefas',
|
||||
'tool.write': 'Escrever',
|
||||
'tool.edit': 'Editar',
|
||||
'tool.read': 'Ler',
|
||||
'tool.bash': 'Bash',
|
||||
'tool.glob': 'Glob',
|
||||
'tool.grep': 'Grep',
|
||||
'tool.fetch': 'Buscar',
|
||||
'tool.search': 'Pesquisar',
|
||||
'tool.lines': '{n} linhas',
|
||||
'tool.changeSingular': 'alteração',
|
||||
'tool.changePlural': 'alterações',
|
||||
'tool.in': 'em {path}',
|
||||
'tool.hide': 'ocultar',
|
||||
'tool.output': 'saída',
|
||||
'tool.running': 'executando…',
|
||||
'tool.error': 'erro',
|
||||
'tool.done': 'concluído',
|
||||
|
||||
'assistant.role': 'Assistente',
|
||||
'assistant.workingLabel': 'Trabalhando',
|
||||
'assistant.doneLabel': 'Concluído',
|
||||
'assistant.unfinishedLabel': 'Interrompido com trabalho pendente',
|
||||
'assistant.unfinishedSummary': '{n} tarefa(s) restante(s)',
|
||||
'assistant.unfinishedMore': '+{n} mais',
|
||||
'assistant.continueRemaining': 'Continuar tarefas restantes',
|
||||
'assistant.outTokens': '{n} saída',
|
||||
'assistant.producedFiles': 'Arquivos deste turno',
|
||||
'assistant.openFile': 'Abrir',
|
||||
'assistant.downloadFile': 'Baixar',
|
||||
'assistant.thinking': 'Pensando',
|
||||
'assistant.systemReminder': 'Lembrete do sistema',
|
||||
'assistant.waitingFirstOutput': 'Aguardando primeira saída',
|
||||
'assistant.statusBootingAgent': 'Iniciando agente',
|
||||
'assistant.statusStarting': 'Iniciando',
|
||||
'assistant.statusRequesting': 'Enviando solicitação',
|
||||
'assistant.statusThinking': 'Pensando',
|
||||
'assistant.statusStreaming': 'Transmitindo',
|
||||
'assistant.slowHint':
|
||||
'Está demorando mais que o normal. O formulário geralmente aparece em 5–10 s — você pode Parar e reformular.',
|
||||
'assistant.verbEditing': 'Editando',
|
||||
'assistant.verbWriting': 'Escrevendo',
|
||||
'assistant.verbReading': 'Lendo',
|
||||
'assistant.verbSearching': 'Pesquisando',
|
||||
'assistant.verbRunning': 'Executando',
|
||||
'assistant.verbTodos': 'Tarefas',
|
||||
'assistant.verbFetching': 'Buscando',
|
||||
'assistant.verbCalling': 'Chamando',
|
||||
|
||||
'qf.answered': 'respondido',
|
||||
'qf.choose': 'Escolha…',
|
||||
'qf.required': 'obrigatório',
|
||||
'qf.lockedSubmitted':
|
||||
'Respostas enviadas — o agente usará isso pelo resto da sessão.',
|
||||
'qf.lockedPrev': 'Este formulário é de um turno anterior.',
|
||||
'qf.hint':
|
||||
'Escolha o que se encaixa. Pule campos opcionais se não se importar — o agente usará padrões sensatos.',
|
||||
'qf.submitDefault': 'Enviar respostas',
|
||||
'qf.submitDisabledTitle': 'Preencha os campos obrigatórios primeiro',
|
||||
'qf.submitTitle': 'Enviar respostas',
|
||||
'qf.cardSelected': 'selecionado',
|
||||
'qf.cardRefs': 'Refs:',
|
||||
'qf.cardSampleText': 'A rápida raposa marrom · 0123',
|
||||
|
||||
'sketch.toolSelect': 'Selecionar (sem ação)',
|
||||
'sketch.toolPen': 'Caneta',
|
||||
'sketch.toolText': 'Texto',
|
||||
'sketch.toolRect': 'Retângulo',
|
||||
'sketch.toolArrow': 'Seta',
|
||||
'sketch.toolEraser': 'Borracha',
|
||||
'sketch.color': 'Cor',
|
||||
'sketch.strokeSize': 'Espessura do traço',
|
||||
'sketch.undo': 'Desfazer',
|
||||
'sketch.clear': 'Limpar',
|
||||
'sketch.close': 'Fechar',
|
||||
'sketch.textPrompt': 'Texto:',
|
||||
|
||||
'pet.title': 'Bichinhos',
|
||||
'pet.tabBuiltIn': 'Inclusos',
|
||||
'pet.tabBuiltInHint': 'Companheiros incluídos no Open Design — escolha um e adote.',
|
||||
'pet.builtInEmpty': 'Os pets integrados não estão disponíveis agora. Atualize a aba Comunidade quando o daemon voltar.',
|
||||
'pet.tabCustom': 'Personalizado',
|
||||
'pet.tabCustomHint': 'Defina nome, glifo, cor ou envie um sprite.',
|
||||
'pet.tabCommunity': 'Comunidade',
|
||||
'pet.tabCommunityHint': 'Bichinhos chocados pelo Codex — adote ou gere um novo com IA.',
|
||||
'pet.tabsAria': 'Fonte do bichinho',
|
||||
'pet.subtitle': 'Adote um companheirinho que flutua sobre o seu workspace.',
|
||||
'pet.navTitle': 'Bichinhos',
|
||||
'pet.navHint': 'Adote ou personalize',
|
||||
'pet.adopt': 'Adotar',
|
||||
'pet.adoptedBadge': 'Adotado',
|
||||
'pet.adoptCallout': 'Adote um bichinho',
|
||||
'pet.changePet': 'Trocar bichinho',
|
||||
'pet.wake': 'Acordar',
|
||||
'pet.tuck': 'Esconder',
|
||||
'pet.wakeTitle': 'Acordar o bichinho — mostrar o overlay.',
|
||||
'pet.tuckTitle': 'Esconder o bichinho — ocultar o overlay.',
|
||||
'pet.settingsTitle': 'Abrir configurações do bichinho',
|
||||
'pet.useCustom': 'Usar meu bichinho',
|
||||
'pet.customTitle': 'Crie o seu',
|
||||
'pet.customHint': 'Escolha nome, símbolo e cor de destaque — o overlay atualiza ao vivo.',
|
||||
'pet.customGreetingPlaceholder': 'Diga oi pelo seu bichinho…',
|
||||
'pet.fieldName': 'Nome',
|
||||
'pet.fieldGlyph': 'Símbolo',
|
||||
'pet.fieldGlyphHint': 'Um único emoji funciona melhor (por ex. 🐝, 🦄, 🐢).',
|
||||
'pet.fieldGreeting': 'Saudação',
|
||||
'pet.fieldAccent': 'Cor de destaque',
|
||||
'pet.fieldAccentCustom': 'Cor personalizada',
|
||||
'pet.overlayAria': 'Companheiro',
|
||||
'pet.spriteAria': '{name} — arraste para mover, clique para conversar',
|
||||
'pet.spriteTitle': 'Olá de {name}! Clique para conversar.',
|
||||
'pet.railAria': 'Seletor de bichinho',
|
||||
'pet.railTitle': 'Bichinhos',
|
||||
'pet.railHint': 'Escolha um companheiro para flutuar pelo seu workspace.',
|
||||
'pet.railExpand': 'Mostrar seletor',
|
||||
'pet.railCollapse': 'Recolher seletor',
|
||||
'pet.railHide': 'Esconder seletor de pets',
|
||||
'pet.railShow': 'Mostrar seletor de pets',
|
||||
'pet.railCustomFlavor': 'O seu — nome, símbolo e cor.',
|
||||
'pet.railCustomize': 'Personalizar…',
|
||||
'pet.composerTitle': 'Bichinhos — acordar, esconder ou escolher',
|
||||
'pet.composerMenuTitle': 'Bichinhos',
|
||||
'pet.composerMenuHint': 'dica: digite /pet para alternar',
|
||||
'pet.composerOpenSettings': 'Personalizar nas configurações',
|
||||
'pet.welcomeTeaserTitle': 'Adote um bichinho',
|
||||
'pet.welcomeTeaserBody': 'Um companheirinho que flutua pelo workspace.',
|
||||
'pet.welcomeTeaserCta': 'Escolher',
|
||||
'pet.imageUpload': 'Enviar sprite',
|
||||
'pet.imageReplace': 'Substituir sprite',
|
||||
'pet.imageRemove': 'Usar emoji',
|
||||
'pet.imageHintIdle': 'PNG, JPG, WebP, GIF ou SVG. Spritesheet? Envie uma faixa horizontal e ajuste o número de frames.',
|
||||
'pet.imageHintActive': 'Mostrando seu sprite. Defina frames > 1 para animar um spritesheet horizontal.',
|
||||
'pet.fieldFrames': 'Frames',
|
||||
'pet.fieldFramesHint': '1 = estático. > 1 = spritesheet horizontal.',
|
||||
'pet.fieldFps': 'Velocidade (fps)',
|
||||
'pet.fieldFpsHint': 'Velocidade da animação dos frames.',
|
||||
'pet.atlasImport': 'Importar sprite do Codex',
|
||||
'pet.atlasImportTitle': 'Importe um atlas hatch-pet 8x9 / 192x208 (PNG ou WebP).',
|
||||
'pet.atlasPickerTitle': 'Escolha uma linha de animação',
|
||||
'pet.atlasPickerHint': 'Os pets do Codex trazem 9 linhas de animação. Por padrão mantemos o atlas inteiro para que o pet troque de linha ao passar o mouse, conforme a direção do arrasto e após longa ociosidade. Você também pode fixar uma única linha.',
|
||||
'pet.atlasCancel': 'Descartar atlas',
|
||||
'pet.atlasAdopt': 'Fixar nesta linha',
|
||||
'pet.atlasAdoptFull': 'Usar atlas inteiro (animado)',
|
||||
'pet.atlasAdoptFullTitle': 'Mantém todas as linhas para o pet reagir a hover, direção do arrasto e ociosidade longa.',
|
||||
'pet.atlasAdoptRowTitle': 'Corta apenas a linha destacada em uma tira de loop único.',
|
||||
'pet.atlasActiveHint': 'Atlas animado ativo — o pet escolhe a linha com base na sua interação (hover, arrasto, ociosidade).',
|
||||
'pet.atlasRow.idle': 'Parado',
|
||||
'pet.atlasRow.running-right': 'Corre à direita',
|
||||
'pet.atlasRow.running-left': 'Corre à esquerda',
|
||||
'pet.atlasRow.waving': 'Acenando',
|
||||
'pet.atlasRow.jumping': 'Pulando',
|
||||
'pet.atlasRow.failed': 'Falhou',
|
||||
'pet.atlasRow.waiting': 'Esperando',
|
||||
'pet.atlasRow.running': 'Correndo',
|
||||
'pet.atlasRow.review': 'Revisão',
|
||||
'pet.hatchTitle': 'Choque um novo pet com IA',
|
||||
'pet.hatchHint': 'Use a skill hatch-pet incluída no chat para gerar um spritesheet estilo Codex e depois importe-o aqui.',
|
||||
'pet.hatchConcept': 'Conceito do pet (opcional)',
|
||||
'pet.hatchConceptPlaceholder': 'ex.: um shiba pixel art com um suéter aconchegante',
|
||||
'pet.hatchCopy': 'Copiar prompt',
|
||||
'pet.hatchCopied': 'Copiado!',
|
||||
'pet.hatchFoot': 'Quando a skill salvar seu pet, volte aqui e clique em "Importar sprite do Codex".',
|
||||
'pet.slashPopoverAria': 'Comandos slash',
|
||||
'pet.slashPopoverTitle': 'Comandos',
|
||||
'pet.slashPopoverHint': '↑↓ navegar · enter escolher · esc fechar',
|
||||
'pet.slashPet': 'Alternar, adotar ou abrir as configurações do pet.',
|
||||
'pet.slashPetWake': 'Acordar o pet flutuante.',
|
||||
'pet.slashPetTuck': 'Guardar o pet por agora.',
|
||||
'pet.slashHatch': 'Gere um pet Codex com a skill hatch-pet.',
|
||||
'pet.slashHatchArg': '<conceito>',
|
||||
'pet.codexTitle': 'Recém-chocados',
|
||||
'pet.codexSubtitle': 'Pets empacotados pela skill hatch-pet aparecem aqui para adoção em um clique.',
|
||||
'pet.codexSubtitleWithDir': 'Verificando {dir} em busca de pacotes do hatch-pet.',
|
||||
'pet.codexEmpty': 'Ainda sem pets chocados. Digite /hatch no chat para gerar um.',
|
||||
'pet.codexLoading': 'Procurando pets chocados…',
|
||||
'pet.codexRefresh': 'Atualizar',
|
||||
'pet.codexAdopt': 'Adotar',
|
||||
'pet.codexAdopting': 'Adotando…',
|
||||
'pet.communitySync': 'Baixar pets da comunidade',
|
||||
'pet.communitySyncing': 'Baixando…',
|
||||
'pet.communitySyncTitle': 'Sincronizar os pets mais recentes do Codex Pet Share + j20 Hatchery em ~/.codex/pets/.',
|
||||
'pet.communitySyncDone': '{wrote} pets novos sincronizados ({total} no total).',
|
||||
'pet.communitySyncFailed': 'Falha na sincronização: {error}',
|
||||
'pet.codexBundled': 'Incluído',
|
||||
'pet.codexBundledTitle': 'Já vem com o Open Design — sem download.',
|
||||
|
||||
'settings.notifications': 'Notificações',
|
||||
'settings.notificationsHint': 'Som e notificação na conclusão da tarefa',
|
||||
'settings.notifyCompletionSound': 'Som de conclusão',
|
||||
'settings.notifyCompletionSoundHint': 'Toca ao terminar uma rodada. Desativado por padrão.',
|
||||
'settings.notifySuccessSound': 'Som de sucesso',
|
||||
'settings.notifyFailureSound': 'Som de falha',
|
||||
'settings.notifyDesktop': 'Notificação na área de trabalho',
|
||||
'settings.notifyDesktopHint': 'Enviada quando a janela não está em foco.',
|
||||
'settings.notifyDesktopBlocked': 'Bloqueadas pelo navegador. Habilite nas configurações do site.',
|
||||
'settings.notifyDesktopUnsupported': 'Notificações na área de trabalho indisponíveis neste ambiente.',
|
||||
'settings.notifyTest': 'Enviar teste',
|
||||
'settings.notifyTestSent': 'Notificação de teste enviada. Se nenhum banner aparecer, verifique as notificações do navegador e do sistema.',
|
||||
'settings.notifyTestFailed': 'Falha ao chamar a notificação. Verifique as notificações do navegador e do sistema.',
|
||||
'settings.notifySoundDing': 'Tilim',
|
||||
'settings.notifySoundChime': 'Carrilhão',
|
||||
'settings.notifySoundTwoToneUp': 'Dois tons crescente',
|
||||
'settings.notifySoundPluck': 'Dedilhado',
|
||||
'settings.notifySoundBuzz': 'Zumbido',
|
||||
'settings.notifySoundTwoToneDown': 'Dois tons descendente',
|
||||
'settings.notifySoundThud': 'Baque',
|
||||
'notify.successTitle': 'Tarefa concluída',
|
||||
'notify.failureTitle': 'Tarefa falhou',
|
||||
'notify.successBody': 'Uma rodada foi concluída.',
|
||||
'notify.failureBody': 'A tarefa terminou com erro.',
|
||||
};
|
||||
@@ -0,0 +1,829 @@
|
||||
import type { Dict } from '../types';
|
||||
|
||||
export const ru: Dict = {
|
||||
'common.cancel': 'Отмена',
|
||||
'common.save': 'Сохранить',
|
||||
'common.close': 'Закрыть',
|
||||
'common.delete': 'Удалить',
|
||||
'common.rename': 'Переименовать',
|
||||
'common.preview': 'Предпросмотр',
|
||||
'common.share': 'Поделиться',
|
||||
'common.search': 'Поиск',
|
||||
'common.searchEllipsis': 'Поиск…',
|
||||
'common.loading': 'Загрузка…',
|
||||
'common.all': 'Все',
|
||||
'common.none': 'Нет',
|
||||
'common.default': 'По умолчанию',
|
||||
'common.installed': 'установлено',
|
||||
'common.notInstalled': 'не установлено',
|
||||
'common.active': 'активно',
|
||||
'common.offline': 'офлайн',
|
||||
'common.selected': 'выбрано',
|
||||
'common.create': 'Создать',
|
||||
'common.openPreview': 'Открыть предпросмотр',
|
||||
'common.exitFullscreen': 'Выйти из полноэкранного режима',
|
||||
'common.fullscreen': 'Полноэкранный режим',
|
||||
'common.openInNewTab': 'Открыть в новой вкладке',
|
||||
'common.exportPdf': 'Экспорт в PDF',
|
||||
'common.exportZip': 'Скачать как .zip',
|
||||
'common.exportHtml': 'Экспорт как HTML',
|
||||
'common.justNow': 'только что',
|
||||
'common.minutesAgo': '{n} мин. назад',
|
||||
'common.hoursAgo': '{n} ч. назад',
|
||||
'common.daysAgo': '{n} д. назад',
|
||||
'common.now': 'сейчас',
|
||||
'common.minutesShort': '{n}м',
|
||||
'common.hoursShort': '{n}ч',
|
||||
'common.daysShort': '{n}д',
|
||||
'common.untitled': 'Без названия',
|
||||
|
||||
'app.brand': 'Open Design',
|
||||
'app.brandPill': 'Предварительная исследовательская версия',
|
||||
'app.brandSubtitle': 'от Nexu Labs',
|
||||
'app.welcomeLoading': 'Загрузка рабочего пространства…',
|
||||
|
||||
'settings.welcomeKicker': 'Добро пожаловать',
|
||||
'settings.welcomeTitle': 'Настройте Open Design',
|
||||
'settings.welcomeSubtitle':
|
||||
'Выберите, как запускать генерации. Вы можете изменить это в любое время через кнопку Настройки в верхней панели.',
|
||||
'settings.kicker': 'Настройки',
|
||||
'settings.title': 'Выполнение и модель',
|
||||
'settings.subtitle': 'Выберите локальный CLI или BYOK. Ваш API-ключ хранится только в этом браузере.',
|
||||
'settings.modeAria': 'Режим выполнения',
|
||||
'settings.protocolAria': 'Протокол API',
|
||||
'settings.modeDaemon': 'Локальный CLI',
|
||||
'settings.modeDaemonHelp': 'Запуск через CLI код-агента на вашем компьютере',
|
||||
'settings.modeDaemonOffline': 'Демон не запущен',
|
||||
'settings.modeDaemonOfflineMeta': 'демон офлайн',
|
||||
'settings.modeDaemonInstalledMeta': '{count} установлено',
|
||||
'settings.modeApi': 'API-провайдер',
|
||||
'settings.modeApiMeta': 'BYOK',
|
||||
'settings.codeAgent': 'Код-агент',
|
||||
'settings.codeAgentHint':
|
||||
'Определяется сканированием вашего PATH. Выберите CLI, через который будут проходить генерации.',
|
||||
'settings.rescan': '↻ Пересканировать',
|
||||
'settings.rescanTitle': 'Пересканировать PATH',
|
||||
'settings.rescanRunning': 'Сканирование...',
|
||||
'settings.rescanSuccess': 'Сканирование завершено. Доступно: {count}.',
|
||||
'settings.rescanFailed': 'Сканирование не удалось. Проверьте демон и повторите попытку.',
|
||||
'settings.noAgentsDetected':
|
||||
'Агенты ещё не обнаружены. Установите один из следующих инструментов: Claude Code, Codex, Devin for Terminal, Gemini CLI, OpenCode, Cursor Agent, Qwen или GitHub Copilot CLI, затем нажмите «Пересканировать».',
|
||||
'settings.apiSection': 'Anthropic API',
|
||||
'settings.quickFillProvider': 'Быстро заполнить провайдера',
|
||||
'settings.customProvider': 'Пользовательский провайдер',
|
||||
'settings.apiKey': 'API-ключ',
|
||||
'settings.showKey': 'Показать ключ',
|
||||
'settings.hideKey': 'Скрыть ключ',
|
||||
'settings.show': 'Показать',
|
||||
'settings.hide': 'Скрыть',
|
||||
'settings.model': 'Модель',
|
||||
'settings.suggestedModelsHint':
|
||||
'Это рекомендуемые модели для этого протокола. Ваш провайдер может поддерживать другие модели.',
|
||||
'settings.baseUrl': 'Базовый URL',
|
||||
'settings.baseUrlInvalid': 'Введите корректный публичный URL с http:// или https://. Localhost разрешен; IP частных сетей блокируются.',
|
||||
'settings.azureDeploymentModel': 'Имя развертывания',
|
||||
'settings.azureDeploymentModelHint':
|
||||
'Для Azure OpenAI это поле используется как имя развертывания в /openai/deployments/<model>. Укажите имя развертывания, созданного в Azure.',
|
||||
'settings.apiVersion': 'Версия API',
|
||||
'settings.maxTokens': 'Макс. токенов (опционально)',
|
||||
'settings.maxTokensHint':
|
||||
'Ограничение длины ответа. У каждой модели свой настроенный дефолт (виден в плейсхолдере); оставьте поле пустым, чтобы использовать его, или введите число, чтобы переопределить.',
|
||||
'settings.apiHint': 'Запросы отправляются через локальный прокси daemon на указанную Base URL. Ключ хранится только в этом браузере и отправляется в запросах к провайдеру.',
|
||||
'settings.skipForNow': 'Пропустить сейчас',
|
||||
'settings.getStarted': 'Начать',
|
||||
'settings.envConfigure': 'Настроить режим выполнения',
|
||||
'settings.localCli': 'Локальный CLI',
|
||||
'settings.anthropicApi': 'Anthropic API',
|
||||
'settings.noAgentSelected': 'агент не выбран',
|
||||
'settings.language': 'Язык',
|
||||
'settings.languageHint': 'Переключить язык интерфейса. Сохраняется в этом браузере.',
|
||||
'settings.appearance': 'Внешний вид',
|
||||
'settings.appearanceHint': 'Выберите светлую, тёмную или системную тему.',
|
||||
'settings.themeSystem': 'Системная',
|
||||
'settings.themeLight': 'Светлая',
|
||||
'settings.themeDark': 'Тёмная',
|
||||
'settings.modelPicker': 'Модель',
|
||||
'settings.reasoningPicker': 'Сложность рассуждений',
|
||||
'settings.modelPickerHint':
|
||||
'Получается из CLI, если он поддерживает команду `models`. «По умолчанию» оставляет выбор конфигурации CLI, а «Пользовательская…» позволяет ввести любой ID модели, который CLI принимает.',
|
||||
'settings.modelCustom': 'Пользовательская (введите ниже)…',
|
||||
'settings.modelCustomLabel': 'Пользовательский ID модели',
|
||||
'settings.modelCustomPlaceholder': 'например, anthropic/claude-sonnet-4-6',
|
||||
'settings.mediaProviders': 'Медиа-провайдеры',
|
||||
'settings.mediaProvidersHint': 'API-ключи для генерации изображений, видео и аудио. Хранятся локально и синхронизируются с локальным демоном.',
|
||||
'settings.mediaProviderApiKey': 'API-ключ',
|
||||
'settings.mediaProviderBaseUrl': 'Базовый URL',
|
||||
'settings.mediaProviderConfigured': 'Настроено',
|
||||
'settings.mediaProviderUnset': 'Не настроено',
|
||||
'settings.mediaProviderClear': 'Очистить',
|
||||
'settings.mediaProviderPlaceholder': 'Вставьте API-ключ',
|
||||
'settings.mediaProviderBaseUrlPlaceholder': 'Переопределить базовый URL',
|
||||
'settings.about': 'О приложении',
|
||||
'settings.aboutHint': 'Версия и сведения о запуске',
|
||||
'settings.appVersion': 'Версия',
|
||||
'settings.appChannel': 'Канал',
|
||||
'settings.appRuntime': 'Среда запуска',
|
||||
'settings.appPlatform': 'Платформа',
|
||||
'settings.appArchitecture': 'Архитектура',
|
||||
'settings.runtimePackaged': 'Упакованное приложение',
|
||||
'settings.runtimeDevelopment': 'Разработка',
|
||||
'settings.versionUnavailable': 'Сведения о версии недоступны, пока daemon не запущен.',
|
||||
|
||||
'entry.tabDesigns': 'Дизайны',
|
||||
'entry.tabExamples': 'Примеры',
|
||||
'entry.tabDesignSystems': 'Дизайн-системы',
|
||||
'entry.openSettingsTitle': 'Настройки',
|
||||
'entry.openSettingsAria': 'Открыть настройки',
|
||||
'entry.resizeAria': 'Изменить размер боковой панели',
|
||||
'entry.loadingWorkspace': 'Загрузка рабочего пространства…',
|
||||
'entry.tabImageTemplates': 'Шаблоны изображений',
|
||||
'entry.tabVideoTemplates': 'Шаблоны видео',
|
||||
'promptTemplates.searchPlaceholder': 'Поиск шаблонов…',
|
||||
'promptTemplates.countLabel': '{n} результатов',
|
||||
'promptTemplates.emptyImage': 'Шаблоны промптов изображений не установлены.',
|
||||
'promptTemplates.emptyVideo': 'Шаблоны промптов видео не установлены.',
|
||||
'promptTemplates.emptyNoMatch': 'Нет шаблонов, соответствующих поиску.',
|
||||
'promptTemplates.attributionFooter': 'Адаптировано из публичных библиотек промптов. Каждая карточка ссылается на исходного автора.',
|
||||
'promptTemplates.openPreviewTitle': 'Открыть промпт и предпросмотр',
|
||||
'promptTemplates.sourcePrefix': 'Источник:',
|
||||
'promptTemplates.fetchError': 'Не удалось загрузить текст шаблона.',
|
||||
'promptTemplates.promptLabel': 'Текст промпта',
|
||||
'promptTemplates.copyPrompt': 'Копировать промпт',
|
||||
'promptTemplates.copyDone': 'Скопировано!',
|
||||
'promptTemplates.modelHint': 'Рекомендуемая модель: {model}',
|
||||
'promptTemplates.openSource': 'Открыть оригинал',
|
||||
'promptTemplates.openFullscreen': 'Открыть полноэкранный предпросмотр',
|
||||
'promptTemplates.closeFullscreen': 'Закрыть полноэкранный предпросмотр',
|
||||
'promptTemplates.retry': 'Повторить',
|
||||
|
||||
'newproj.tabPrototype': 'Прототип',
|
||||
'newproj.tabDeck': 'Презентация',
|
||||
'newproj.tabTemplate': 'Шаблон',
|
||||
'newproj.tabOther': 'Другое',
|
||||
'newproj.titlePrototype': 'Новый прототип',
|
||||
'newproj.titleDeck': 'Новая презентация',
|
||||
'newproj.titleTemplate': 'Начать с шаблона',
|
||||
'newproj.titleImage': 'Новое изображение',
|
||||
'newproj.titleVideo': 'Новое видео',
|
||||
'newproj.titleAudio': 'Новое аудио',
|
||||
'newproj.titleOther': 'Новый проект',
|
||||
'newproj.namePlaceholder': 'Название проекта',
|
||||
'newproj.fidelityLabel': 'Детализация',
|
||||
'newproj.fidelityWireframe': 'Вайрфрейм',
|
||||
'newproj.fidelityHigh': 'Высокая детализация',
|
||||
'newproj.toggleSpeakerNotes': 'Использовать заметки докладчика',
|
||||
'newproj.toggleSpeakerNotesHint': 'Меньше текста на слайдах — основные тезисы в заметках.',
|
||||
'newproj.toggleAnimations': 'Включить анимации',
|
||||
'newproj.toggleAnimationsHint':
|
||||
'Добавить анимации (появление, наведение, переходы) поверх шаблона.',
|
||||
'newproj.templateLabel': 'Шаблон',
|
||||
'newproj.noTemplatesTitle': 'Шаблонов пока нет',
|
||||
'newproj.noTemplatesBody':
|
||||
'Откройте любой проект, затем используйте меню «Поделиться» в просмотре файлов, чтобы преобразовать его в шаблон. Шаблоны появятся здесь.',
|
||||
'newproj.savedTemplate': 'Сохраненный шаблон',
|
||||
'newproj.fileSingular': 'файл',
|
||||
'newproj.filePlural': 'файлов',
|
||||
'newproj.create': 'Создать',
|
||||
'newproj.createFromTemplate': 'Создать из шаблона',
|
||||
'newproj.createDisabledTitle':
|
||||
'Сначала сохраните проект как шаблон (меню «Поделиться» в любом проекте).',
|
||||
'newproj.importClaudeZip': 'Импортировать ZIP-файл из Claude Design',
|
||||
'newproj.importClaudeZipTitle': 'Импортировать экспорт `.zip` из Claude Design',
|
||||
'newproj.importingClaudeZip': 'Импорт…',
|
||||
'newproj.privacyFooter': 'По умолчанию только вы можете видеть свой проект.',
|
||||
'newproj.designSystem': 'Дизайн-система',
|
||||
'newproj.dsNoneFreeform': 'Нет — произвольная форма',
|
||||
'newproj.dsNoneSubtitleEmpty': 'Без системных токенов, выбирайте свою палитру',
|
||||
'newproj.dsNoneSubtitleSelected': 'Пропустить системные токены. Агент выбирает свою палитру.',
|
||||
'newproj.dsCategoryFallback': 'Дизайн-система',
|
||||
'newproj.dsSearch': 'Поиск дизайн-систем…',
|
||||
'newproj.dsModeAria': 'Режим выбора',
|
||||
'newproj.dsModeSingle': 'Один',
|
||||
'newproj.dsModeMulti': 'Несколько',
|
||||
'newproj.dsNoneTitle': 'Нет — произвольная форма',
|
||||
'newproj.dsNoneSub': 'Пропустить системные токены. Агент выбирает свою палитру.',
|
||||
'newproj.dsEmpty': 'Нет дизайн-систем, соответствующих «{query}».',
|
||||
'newproj.dsFootSingular': 'только для вдохновения.',
|
||||
'newproj.dsFootPlural': 'только для вдохновения.',
|
||||
'newproj.dsFootClear': 'Очистить',
|
||||
'newproj.dsBadgeDefault': 'ПО УМОЛЧАНИЮ',
|
||||
'newproj.dsPrimaryFallback': 'Основной',
|
||||
'newproj.surfaceImage': 'Изображение',
|
||||
'newproj.surfaceVideo': 'Видео',
|
||||
'newproj.surfaceAudio': 'Аудио',
|
||||
'newproj.modelLabel': 'Модель',
|
||||
'newproj.aspectLabel': 'Формат',
|
||||
'newproj.imageStyleLabel': 'Заметки о стиле',
|
||||
'newproj.imageStylePlaceholder': 'Редакционная фотография, мягкий свет, приглушенная палитра',
|
||||
'newproj.videoLengthLabel': 'Длина',
|
||||
'newproj.videoLengthSeconds': '{n}с',
|
||||
'newproj.audioKindLabel': 'Тип аудио',
|
||||
'newproj.audioKindMusic': 'Музыка',
|
||||
'newproj.audioKindSpeech': 'Речь / TTS',
|
||||
'newproj.audioKindSfx': 'Звуковые эффекты',
|
||||
'newproj.audioDurationLabel': 'Длительность',
|
||||
'newproj.audioDurationSeconds': '{n}с',
|
||||
'newproj.voiceLabel': 'Голос',
|
||||
'newproj.voicePlaceholder': 'Voice id провайдера, опционально',
|
||||
'newproj.promptTemplateLabel': 'Эталонный шаблон',
|
||||
'newproj.promptTemplateNoneTitle': 'Без шаблона — свой бриф',
|
||||
'newproj.promptTemplateNoneSub': 'Пропустить галерею и описать самостоятельно',
|
||||
'newproj.promptTemplateRefSub': 'Эталонный шаблон',
|
||||
'newproj.promptTemplateSearch': 'Поиск шаблонов…',
|
||||
'newproj.promptTemplateEmpty': 'Шаблоны для этого формата ещё не добавлены.',
|
||||
'newproj.promptTemplateBodyLabel': 'Промпт (можно править)',
|
||||
'newproj.promptTemplateOptimizeHint':
|
||||
'Меняйте всё что нужно — правки попадут в бриф агента.',
|
||||
'newproj.promptTemplateBodyEmpty':
|
||||
'Пустое тело — агент не получит шаблонную референцию.',
|
||||
|
||||
'designs.subRecent': 'Недавние',
|
||||
'designs.subYours': 'Ваши дизайны',
|
||||
'designs.filterAria': 'Фильтр проектов',
|
||||
'designs.searchPlaceholder': 'Поиск…',
|
||||
'designs.emptyNoProjects': 'Проектов пока нет. Создайте один слева.',
|
||||
'designs.emptyNoMatch': 'Нет проектов, соответствующих вашему поиску.',
|
||||
'designs.deleteTitle': 'Удалить проект',
|
||||
'designs.deleteConfirm': 'Удалить «{name}»?',
|
||||
'designs.cardFreeform': 'произвольная форма',
|
||||
'designs.status.notStarted': 'Не начато',
|
||||
'designs.status.queued': 'В очереди',
|
||||
'designs.status.running': 'Выполняется',
|
||||
'designs.status.awaitingInput': 'Нужен ввод',
|
||||
'designs.status.succeeded': 'Завершено',
|
||||
'designs.status.failed': 'Ошибка',
|
||||
'designs.status.canceled': 'Отменено',
|
||||
'designs.viewToggleAria': 'Режим просмотра',
|
||||
'designs.viewGrid': 'Вид сеткой',
|
||||
'designs.viewKanban': 'Вид доской',
|
||||
'designs.kanbanEmptyColumn': 'Нет дизайнов',
|
||||
'designs.deleteAria': 'Удалить проект {name}',
|
||||
|
||||
'examples.typeLabel': 'Тип',
|
||||
'examples.surfaceLabel': 'Поверхность',
|
||||
'examples.surfaceWeb': 'Веб',
|
||||
'examples.surfaceImage': 'Изображение',
|
||||
'examples.surfaceVideo': 'Видео',
|
||||
'examples.surfaceAudio': 'Аудио',
|
||||
'examples.scenarioLabel': 'Сценарий',
|
||||
'examples.modeAll': 'Все',
|
||||
'examples.modePrototypeDesktop': 'Прототипы · Десктоп',
|
||||
'examples.modePrototypeMobile': 'Прототипы · Мобильные',
|
||||
'examples.modeDeck': 'Презентации',
|
||||
'examples.modeDocument': 'Документы и шаблоны',
|
||||
'examples.scenarioGeneral': 'Общее',
|
||||
'examples.scenarioEngineering': 'Инженерия',
|
||||
'examples.scenarioProduct': 'Продукт',
|
||||
'examples.scenarioDesign': 'Дизайн',
|
||||
'examples.scenarioMarketing': 'Маркетинг',
|
||||
'examples.scenarioSales': 'Продажи',
|
||||
'examples.scenarioFinance': 'Финансы',
|
||||
'examples.scenarioHr': 'HR',
|
||||
'examples.scenarioOperations': 'Операции',
|
||||
'examples.scenarioSupport': 'Поддержка',
|
||||
'examples.scenarioLegal': 'Юридический',
|
||||
'examples.scenarioEducation': 'Образование',
|
||||
'examples.scenarioPersonal': 'Личное',
|
||||
'examples.emptyNoSkills': 'Нет доступных навыков. Демон запущен?',
|
||||
'examples.searchPlaceholder': 'Поиск примеров…',
|
||||
'examples.searchAria': 'Поиск примеров по имени',
|
||||
'examples.emptyNoMatch': 'Нет примеров, соответствующих этим фильтрам.',
|
||||
'examples.openPreview': '⤢ Открыть предпросмотр',
|
||||
'examples.loadingPreview': 'Загрузка предпросмотра…',
|
||||
'examples.hoverPreview': 'Наведите для предпросмотра',
|
||||
'examples.usePrompt': 'Использовать этот запрос',
|
||||
'examples.previewModalTitle': 'Открыть полный предпросмотр (модально)',
|
||||
'examples.shareTitle': 'Поделиться этим примером',
|
||||
'examples.shareLoadFirst': 'Сначала наведите для загрузки предпросмотра',
|
||||
'examples.shareMenu': 'Поделиться ▾',
|
||||
'examples.exportPdfAllSlides': 'Экспорт в PDF (все слайды)',
|
||||
'examples.exportPptxLocked': 'Экспорт в PPTX… (сначала откройте шаблон)',
|
||||
'examples.tagSlideDeck': 'Презентация',
|
||||
'examples.tagTemplate': 'Шаблон',
|
||||
'examples.tagDesignSystem': 'Дизайн-система',
|
||||
'examples.tagMobilePrototype': 'Мобильный прототип',
|
||||
'examples.tagDesktopPrototype': 'Десктопный прототип',
|
||||
'examples.tagImage': 'Изображение',
|
||||
'examples.tagVideo': 'Видео',
|
||||
'examples.tagAudio': 'Аудио',
|
||||
'examples.previewLabel': 'Предпросмотр',
|
||||
|
||||
'ds.surfaceLabel': 'Поверхность',
|
||||
'ds.surfaceWeb': 'Веб',
|
||||
'ds.surfaceImage': 'Изображение',
|
||||
'ds.surfaceVideo': 'Видео',
|
||||
'ds.surfaceAudio': 'Аудио',
|
||||
'ds.searchPlaceholder': 'Поиск дизайн-систем…',
|
||||
'ds.emptyNoMatch': 'Нет дизайн-систем, соответствующих вашему поиску.',
|
||||
'ds.badgeDefault': 'ПО УМОЛЧАНИЮ',
|
||||
'ds.preview': 'Предпросмотр',
|
||||
'ds.previewTitle': 'Предпросмотр дизайн-системы',
|
||||
'ds.categoryAll': 'Все',
|
||||
'ds.categoryUncategorized': 'Без категории',
|
||||
'ds.showcase': 'Витрина',
|
||||
'ds.tokens': 'Токены',
|
||||
'ds.specToggle': 'DESIGN.md',
|
||||
'ds.specLoading': 'Загрузка DESIGN.md…',
|
||||
|
||||
'avatar.title': 'Аккаунт и настройки',
|
||||
'avatar.localCli': 'Локальный CLI',
|
||||
'avatar.anthropicApi': 'Anthropic API',
|
||||
'avatar.useLocal': 'Использовать локальный CLI',
|
||||
'avatar.useApi': 'Использовать API · BYOK',
|
||||
'avatar.codeAgent': 'Код-агент',
|
||||
'avatar.rescan': 'Пересканировать PATH',
|
||||
'avatar.settings': 'Настройки',
|
||||
'avatar.backToProjects': 'Назад к проектам',
|
||||
'avatar.metaActive': 'активно',
|
||||
'avatar.metaOffline': 'офлайн',
|
||||
'avatar.metaSelected': 'выбрано',
|
||||
'avatar.noAgentSelected': 'агент не выбран',
|
||||
'avatar.modelSection': 'Модель',
|
||||
'avatar.modelLabel': 'Модель',
|
||||
'avatar.reasoningLabel': 'Рассуждения',
|
||||
'avatar.customSuffix': '(пользовательская)',
|
||||
|
||||
'project.backToProjects': 'Назад к проектам',
|
||||
'project.metaFreeform': 'произвольная форма',
|
||||
'chat.tabChat': 'Чат',
|
||||
'chat.tabComments': 'Комментарии',
|
||||
'chat.commentsSoon': 'Комментарии — скоро',
|
||||
'chat.comments.attached': 'Прикреплены к чату',
|
||||
'chat.comments.emptyAttached': 'Нет прикреплённых комментариев.',
|
||||
'chat.comments.saved': 'Сохранённые комментарии',
|
||||
'chat.comments.emptySaved': 'Сохранённых комментариев нет.',
|
||||
'chat.comments.add': 'Добавить',
|
||||
'chat.comments.addAll': 'Добавить все',
|
||||
'chat.comments.remove': 'Удалить',
|
||||
'chat.comments.placeholder': 'Оставьте комментарий к этому элементу…',
|
||||
'chat.comments.addSend': 'Добавить и отправить',
|
||||
'chat.comments.updateSend': 'Обновить и отправить',
|
||||
'chat.comments.removeAttachment': 'Открепить комментарий',
|
||||
'chat.comments.removeAttachmentAria': 'Открепить комментарий для {name}',
|
||||
'chat.conversationsTitle': 'Разговоры',
|
||||
'chat.conversationsAria': 'История разговоров',
|
||||
'chat.newConversation': 'Новый разговор',
|
||||
'chat.newConversationsTitle': 'Новый разговор',
|
||||
'chat.conversationsHeading': 'Разговоры',
|
||||
'chat.new': 'Новый',
|
||||
'chat.emptyConversations': 'Разговоров пока нет.',
|
||||
'chat.deleteConversation': 'Удалить разговор',
|
||||
'chat.deleteConversationConfirm':
|
||||
'Удалить «{title}»? Это удалит его сообщения.',
|
||||
'chat.untitledConversation': 'Разговор без названия',
|
||||
'chat.startTitle': 'Начать разговор',
|
||||
'chat.startHint':
|
||||
'Перетащите или вставьте изображения для визуальной ссылки или введите @ для прикрепления файла из этого проекта. Или попробуйте одно из этих начал:',
|
||||
'chat.fillInputTitle': 'Нажмите, чтобы заполнить ввод',
|
||||
'chat.jumpToLatest': 'Перейти к последнему',
|
||||
'chat.scrollToLatest': 'Прокрутить к последнему',
|
||||
'chat.you': 'Вы',
|
||||
'chat.openFile': 'Открыть {name}',
|
||||
'chat.composerPlaceholder':
|
||||
'Опишите дизайн, который вы хотите — вставьте или добавьте изображения, или @ файл…',
|
||||
'chat.composerHint':
|
||||
'⌘/Ctrl + Enter для отправки · вставьте изображения · @ для ссылки на файлы',
|
||||
'chat.cliSettingsTitle': 'Настройки CLI и модели',
|
||||
'chat.cliSettingsAria': 'Открыть настройки CLI и модели',
|
||||
'chat.attachTitle': 'Прикрепить файлы (или вставить / перетащить)',
|
||||
'chat.attachAria': 'Прикрепить файлы',
|
||||
'chat.importTitle': 'Импортировать источники (скоро)',
|
||||
'chat.importLabel': 'Импорт',
|
||||
'chat.importComingSoon': 'Скоро',
|
||||
'chat.importSoon': 'Скоро',
|
||||
'chat.importFig': 'Загрузить .fig файл',
|
||||
'chat.importGitHub': 'Подключить GitHub',
|
||||
'chat.importWeb': 'Захватить веб-элемент',
|
||||
'chat.importFolder': 'Ссылка на папку с кодом',
|
||||
'chat.importSkills': 'Навыки и дизайн-системы',
|
||||
'chat.importProject': 'Ссылка на другой проект',
|
||||
'chat.send': 'Отправить',
|
||||
'chat.stop': 'Остановить',
|
||||
'chat.removeAria': 'Удалить {name}',
|
||||
'chat.example1Title': 'Редакционная презентация',
|
||||
'chat.example1Tag': 'Журнал',
|
||||
'chat.example1Prompt':
|
||||
'10-слайдовая редакционная презентация для дизайн-студии, привлекающей посевной раунд — швейцарская сетка, крупные заголовки с засечками и жирными буквицами, моноширинные номера секций, много негативного пространства и полноформатные фотослайды, чередующиеся с текстовыми. Обложка, видение, рынок, продукт, тракция, команда, запрос, контакт.',
|
||||
'chat.example2Title': 'SaaS аналитическая панель',
|
||||
'chat.example2Tag': 'Данные',
|
||||
'chat.example2Prompt':
|
||||
'Насыщенная аналитическая панель для SaaS-инструментов разработчика — полоса KPI с динамикой неделя к неделе, две составные линейные диаграммы (MRR и активные рабочие пространства), мировая тепловая карта использования, когортная матрица удержания, таблица лидеров по ключевым клиентам и лента событий в реальном времени. Тёмная тема, табличные моноширинные цифры, акцентные мини-графики.',
|
||||
'chat.example3Title': 'Годовой отчет с длинной прокруткой',
|
||||
'chat.example3Tag': 'Редакционный',
|
||||
'chat.example3Prompt':
|
||||
'Интерактивный годовой отчёт для климатической некоммерческой организации — редакционный макет с длинной прокруткой, сочетающий крупные цитатные блоки, визуализации данных (составные столбчатые диаграммы, анимированные счётчики, хороплетную карту проектных площадок), фотографические разделители, стену доноров и финальный призыв к действию. Современный serif для основного текста, sans-serif для подписей графиков и землистая бумажная палитра.',
|
||||
|
||||
'preview.shareMenu': 'Поделиться ▾',
|
||||
'preview.openInNewTab': 'Открыть в новой вкладке',
|
||||
'preview.exit': '⤓ Выход',
|
||||
'preview.fullscreen': '⤢ Полноэкранный',
|
||||
'preview.closeTitle': 'Закрыть (Esc)',
|
||||
'preview.loading': 'Загрузка {label}…',
|
||||
'preview.showSidebar': 'Показать {label}',
|
||||
'preview.hideSidebar': 'Скрыть {label}',
|
||||
|
||||
'misc.savedTemplate': 'Сохраненный шаблон',
|
||||
'misc.primary': 'Основной',
|
||||
'misc.designSystem': 'Дизайн-система',
|
||||
|
||||
'workspace.designFiles': 'Файлы дизайна',
|
||||
'workspace.closeTab': 'Закрыть вкладку',
|
||||
'workspace.deleteFileConfirm': 'Удалить «{name}» из папки проекта?',
|
||||
'workspace.openFromDesignFiles': 'Открыть файл из',
|
||||
'workspace.designFilesLink': 'Файлы дизайна',
|
||||
'workspace.loadingSketch': 'Загрузка эскиза…',
|
||||
'designFiles.title': 'Файлы дизайна',
|
||||
'designFiles.upload': 'Загрузить файлы',
|
||||
'designFiles.pasteText': 'Вставить как текстовый файл',
|
||||
'designFiles.newSketch': 'Новый эскиз',
|
||||
'designFiles.empty':
|
||||
'Здесь пока ничего нет. Перетащите файлы ниже или создайте эскиз / вставьте текст.',
|
||||
'designFiles.refresh': 'Обновить',
|
||||
'designFiles.delete': 'Удалить',
|
||||
'designFiles.searchPlaceholder': 'Поиск файлов…',
|
||||
'designFiles.up': 'Вверх',
|
||||
'designFiles.back': 'Назад',
|
||||
'designFiles.crumbs': 'проект',
|
||||
'designFiles.rowMenu': 'Меню строки',
|
||||
'designFiles.openInTab': 'Открыть во вкладке',
|
||||
'designFiles.download': 'Скачать',
|
||||
'designFiles.downloadSelected': 'Download {n} as ZIP',
|
||||
'designFiles.clearSelection': 'Clear',
|
||||
'designFiles.selectAll': 'Select all',
|
||||
'designFiles.dropTitle': '⤓ Перетащите файлы сюда',
|
||||
'designFiles.dropDesc':
|
||||
'Изображения, документы, референсы или папки — агент будет использовать их как контекст.',
|
||||
'designFiles.upload.title': 'Загрузить файлы',
|
||||
'designFiles.paste.title': 'Вставить текст как файл',
|
||||
'designFiles.upload.label': 'Загрузить',
|
||||
'designFiles.paste.label': 'Вставить',
|
||||
'designFiles.previewOpen': 'Открыть',
|
||||
'designFiles.previewClose': 'Закрыть предпросмотр',
|
||||
'designFiles.modified': 'Изменено {time} · {size}',
|
||||
'designFiles.weeksAgo': '{n} нед. назад',
|
||||
'designFiles.sectionPages': 'Страницы',
|
||||
'designFiles.sectionScripts': 'Скрипты',
|
||||
'designFiles.sectionImages': 'Изображения',
|
||||
'designFiles.sectionSketches': 'Эскизы',
|
||||
'designFiles.sectionOther': 'Другое',
|
||||
'designFiles.showMore': 'Показать ещё +{n}',
|
||||
'designFiles.kindHtml': 'HTML страница',
|
||||
'designFiles.kindImage': 'Изображение',
|
||||
'designFiles.kindSketch': 'Эскиз',
|
||||
'designFiles.kindText': 'Текст',
|
||||
'designFiles.kindCode': 'Скрипт',
|
||||
'designFiles.kindPdf': 'PDF',
|
||||
'designFiles.kindDocument': 'Документ',
|
||||
'designFiles.kindPresentation': 'Презентация',
|
||||
'designFiles.kindSpreadsheet': 'Таблица',
|
||||
'designFiles.kindBinary': 'Бинарный',
|
||||
'pasteDialog.title': 'Вставить текст',
|
||||
'pasteDialog.hint': 'Сохраняется в папку проекта. Выберите любое имя.',
|
||||
'pasteDialog.fileNameLabel': 'Имя файла',
|
||||
'pasteDialog.namePlaceholder': 'заметки.txt',
|
||||
'pasteDialog.contentLabel': 'Содержимое',
|
||||
'pasteDialog.contentPlaceholder': 'Вставьте что угодно…',
|
||||
'pasteDialog.save': 'Сохранить',
|
||||
'pasteDialog.cancel': 'Отмена',
|
||||
'sketch.save': 'Сохранить эскиз',
|
||||
'sketch.cancel': 'Отмена',
|
||||
'sketch.saving': 'Сохранение…',
|
||||
'sketch.tooltipDirty': 'Несохраненные изменения',
|
||||
'sketch.tooltipClean': 'Сохранено',
|
||||
'fileViewer.empty': 'Выберите файл для просмотра.',
|
||||
'fileViewer.loading': 'Загрузка…',
|
||||
'fileViewer.exportPptx': 'Экспорт в PPTX',
|
||||
'fileViewer.openInNewTab': 'Открыть в новой вкладке',
|
||||
'fileViewer.copyPath': 'Копировать путь',
|
||||
'fileViewer.copied': 'Скопировано!',
|
||||
'fileViewer.share': 'Поделиться',
|
||||
'fileViewer.binaryMeta': 'Бинарный · {size}',
|
||||
'fileViewer.binaryNote':
|
||||
'Бинарный файл ({size} байт). Скачайте или откройте с диска для просмотра.',
|
||||
'fileViewer.markdownStreamingMeta': 'Потоковый предпросмотр…',
|
||||
'fileViewer.markdownErrorMeta': 'Предпросмотр может быть неполным (ошибка генерации).',
|
||||
'fileViewer.markdownStreamingStatus': 'Потоковая передача… показан частичный Markdown.',
|
||||
'fileViewer.markdownErrorStatus': 'Ошибка генерации. Показано последнее доступное содержимое.',
|
||||
'fileViewer.pdfMeta': 'PDF · {size}',
|
||||
'fileViewer.documentMeta': 'Документ',
|
||||
'fileViewer.presentationMeta': 'Презентация',
|
||||
'fileViewer.spreadsheetMeta': 'Таблица',
|
||||
'fileViewer.previewUnavailable': 'Предпросмотр недоступен. Скачайте или откройте файл для просмотра.',
|
||||
'fileViewer.download': 'Скачать',
|
||||
'fileViewer.open': 'Открыть',
|
||||
'fileViewer.imageMeta': 'Изображение · {size}',
|
||||
'fileViewer.reactMeta': 'React-компонент · {size}',
|
||||
'fileViewer.sketchMeta': 'Эскиз · {size}',
|
||||
'fileViewer.videoMeta': 'Видео · {size}',
|
||||
'fileViewer.audioMeta': 'Аудио · {size}',
|
||||
'fileViewer.reload': 'Перезагрузить',
|
||||
'fileViewer.reloadDisk': 'Перезагрузить с диска',
|
||||
'fileViewer.copy': 'Копировать',
|
||||
'fileViewer.copyTitle': 'Копировать содержимое файла',
|
||||
'fileViewer.saveDisabled': 'Сохранить (только для чтения)',
|
||||
'fileViewer.save': 'Сохранить',
|
||||
'fileViewer.preview': 'Предпросмотр',
|
||||
'fileViewer.source': 'Исходный код',
|
||||
'fileViewer.tweaks': 'Настройки',
|
||||
'fileViewer.comment': 'Комментарий',
|
||||
'fileViewer.edit': 'Редактировать',
|
||||
'fileViewer.draw': 'Рисовать',
|
||||
'fileViewer.zoomOut': 'Уменьшить',
|
||||
'fileViewer.zoomIn': 'Увеличить',
|
||||
'fileViewer.resetZoom': 'Сбросить масштаб',
|
||||
'fileViewer.reloadAria': 'Перезагрузить',
|
||||
'fileViewer.previousSlide': 'Предыдущий слайд',
|
||||
'fileViewer.nextSlide': 'Следующий слайд',
|
||||
'fileViewer.slideNavAria': 'Навигация по слайдам',
|
||||
'fileViewer.present': 'Презентация',
|
||||
'fileViewer.presentInTab': 'В этой вкладке',
|
||||
'fileViewer.presentFullscreen': 'Полноэкранный',
|
||||
'fileViewer.presentNewTab': 'Новая вкладка',
|
||||
'fileViewer.exitPresentation': 'Выйти из презентации',
|
||||
'fileViewer.shareLabel': 'Поделиться',
|
||||
'fileViewer.exportPdf': 'Экспорт в PDF',
|
||||
'fileViewer.exportPdfAllSlides': 'Экспорт в PDF (все слайды)',
|
||||
'fileViewer.exportPptxBusy': 'Дождитесь окончания текущего хода.',
|
||||
'fileViewer.exportPptxHint':
|
||||
'Отправьте запрос агенту для конвертации этого дизайна в PPTX.',
|
||||
'fileViewer.exportPptxNa': 'Экспорт PPTX здесь недоступен.',
|
||||
'fileViewer.exportZip': 'Скачать как .zip',
|
||||
'fileViewer.exportHtml': 'Экспорт как HTML',
|
||||
'fileViewer.exportMd': 'Экспорт в Markdown',
|
||||
'fileViewer.exportJsx': 'Экспорт как JSX',
|
||||
'fileViewer.exportReactHtml': 'Экспорт предпросмотра как HTML',
|
||||
'fileViewer.saveAsTemplate': 'Сохранить как шаблон…',
|
||||
'fileViewer.savingTemplate': 'Сохранение шаблона…',
|
||||
'fileViewer.savedTemplate': 'Сохранено как «{name}»',
|
||||
'fileViewer.savedTemplateFail': 'Не удалось сохранить шаблон — попробуйте снова.',
|
||||
'fileViewer.templateNamePrompt': 'Название шаблона',
|
||||
'fileViewer.templateNameDefault': 'Шаблон без названия',
|
||||
'fileViewer.templateDescPrompt':
|
||||
'Краткое описание (необязательно — чем полезен этот шаблон?)',
|
||||
'fileViewer.deployToVercel': 'Развернуть на Vercel',
|
||||
'fileViewer.redeployToVercel': 'Развернуть заново',
|
||||
'fileViewer.deployingToVercel': 'Развёртывание на Vercel…',
|
||||
'fileViewer.preparingPublicLink': 'Подготовка публичной ссылки…',
|
||||
'fileViewer.copyDeployLink': 'Скопировать ссылку',
|
||||
'fileViewer.deployModalTitle': 'Развернуть на Vercel',
|
||||
'fileViewer.deployModalSubtitle':
|
||||
'Разверните этот HTML-артефакт как Vercel Preview в своей учётной записи.',
|
||||
'fileViewer.vercelToken': 'Токен Vercel',
|
||||
'fileViewer.vercelTokenGetLink': 'Получить токен Vercel',
|
||||
'fileViewer.vercelTokenPlaceholder': 'Вставьте токен Vercel',
|
||||
'fileViewer.vercelTokenReuseHint':
|
||||
'Будет использован сохранённый токен. Введите новый, чтобы заменить его.',
|
||||
'fileViewer.vercelTokenRequired': 'Сначала введите и сохраните токен Vercel.',
|
||||
'fileViewer.vercelTeamId': 'ID команды',
|
||||
'fileViewer.vercelTeamSlug': 'Слаг команды',
|
||||
'fileViewer.optional': 'Необязательно',
|
||||
'fileViewer.vercelPreviewOnly': 'Пока поддерживаются только Preview-развёртывания.',
|
||||
'fileViewer.savingConfig': 'Сохранение…',
|
||||
'fileViewer.deployConfigSaveFailed': 'Не удалось сохранить настройки Vercel.',
|
||||
'fileViewer.deployFailed': 'Развёртывание не удалось. Проверьте настройки Vercel и попробуйте снова.',
|
||||
'fileViewer.deployResultLabel': 'URL развёрнутого сайта',
|
||||
'fileViewer.deployLinkPreparingLabel': 'Публичная ссылка готовится',
|
||||
'fileViewer.deployLinkDelayed':
|
||||
'Сайт уже развернут. Vercel ещё подготавливает публичную ссылку.',
|
||||
'fileViewer.deployLinkProtectedLabel': 'Включена защита Vercel',
|
||||
'fileViewer.deployLinkProtected':
|
||||
'Сайт развернут, но Vercel требует аутентификацию для этой preview-ссылки. Отключите Deployment Protection или используйте собственный домен.',
|
||||
'fileViewer.retryLink': 'Повторить',
|
||||
|
||||
'questionForm.submit': 'Отправить',
|
||||
'questionForm.skip': 'Пропустить',
|
||||
'questionForm.locked': 'Отвечено',
|
||||
|
||||
'conv.switch': 'Переключить разговор',
|
||||
'conv.label': 'Разговор',
|
||||
'conv.heading': 'Разговоры',
|
||||
'conv.new': '+ Новый',
|
||||
'conv.empty': 'Разговоров пока нет.',
|
||||
'conv.untitled': 'Разговор без названия',
|
||||
'conv.renameTooltip': 'Дважды кликните для переименования',
|
||||
'conv.delete': 'Удалить разговор',
|
||||
'conv.deleteConfirm': 'Удалить «{title}»? Это удалит его сообщения.',
|
||||
|
||||
'agentPicker.label': 'Агент',
|
||||
'agentPicker.modeChoose': 'Выберите режим выполнения',
|
||||
'agentPicker.localCli': 'Локальный CLI',
|
||||
'agentPicker.daemonOff': 'демон выключен',
|
||||
'agentPicker.byok': 'API · BYOK',
|
||||
'agentPicker.selectAgent': 'Выберите обнаруженный CLI код-агента',
|
||||
'agentPicker.noAgents': 'нет агентов в PATH',
|
||||
'agentPicker.notInstalled': 'не установлено',
|
||||
'agentPicker.rescan': 'Пересканировать локальный PATH для агентов',
|
||||
|
||||
'tool.openInTab': 'Открыть {name} во вкладке',
|
||||
'tool.open': 'открыть',
|
||||
'tool.todos': 'Задачи',
|
||||
'tool.write': 'Записать',
|
||||
'tool.edit': 'Редактировать',
|
||||
'tool.read': 'Читать',
|
||||
'tool.bash': 'Bash',
|
||||
'tool.glob': 'Glob',
|
||||
'tool.grep': 'Grep',
|
||||
'tool.fetch': 'Fetch',
|
||||
'tool.search': 'Поиск',
|
||||
'tool.lines': '{n} строк',
|
||||
'tool.changeSingular': 'изменение',
|
||||
'tool.changePlural': 'изменения',
|
||||
'tool.in': 'в {path}',
|
||||
'tool.hide': 'скрыть',
|
||||
'tool.output': 'вывод',
|
||||
'tool.running': 'выполняется…',
|
||||
'tool.error': 'ошибка',
|
||||
'tool.done': 'готово',
|
||||
|
||||
'assistant.role': 'Ассистент',
|
||||
'assistant.workingLabel': 'Работает',
|
||||
'assistant.doneLabel': 'Готово',
|
||||
'assistant.unfinishedLabel': 'Остановлено с незавершенной работой',
|
||||
'assistant.unfinishedSummary': 'Осталось задач: {n}',
|
||||
'assistant.unfinishedMore': '+{n} еще',
|
||||
'assistant.continueRemaining': 'Продолжить оставшиеся задачи',
|
||||
'assistant.outTokens': '{n} токенов вывода',
|
||||
'assistant.producedFiles': 'Файлы из этого хода',
|
||||
'assistant.openFile': 'Открыть',
|
||||
'assistant.downloadFile': 'Скачать',
|
||||
'assistant.thinking': 'Думает',
|
||||
'assistant.systemReminder': 'Системное напоминание',
|
||||
'assistant.waitingFirstOutput': 'Ожидание первого ответа',
|
||||
'assistant.statusBootingAgent': 'Загрузка агента',
|
||||
'assistant.statusStarting': 'Запуск',
|
||||
'assistant.statusRequesting': 'Отправка запроса',
|
||||
'assistant.statusThinking': 'Думает',
|
||||
'assistant.statusStreaming': 'Потоковая передача',
|
||||
'assistant.slowHint':
|
||||
'Занимает больше времени, чем обычно. Форма обычно появляется через 5–10с — вы можете остановить и перефразировать.',
|
||||
'assistant.verbEditing': 'Редактирование',
|
||||
'assistant.verbWriting': 'Запись',
|
||||
'assistant.verbReading': 'Чтение',
|
||||
'assistant.verbSearching': 'Поиск',
|
||||
'assistant.verbRunning': 'Выполнение',
|
||||
'assistant.verbTodos': 'Задачи',
|
||||
'assistant.verbFetching': 'Получение',
|
||||
'assistant.verbCalling': 'Вызов',
|
||||
|
||||
'qf.answered': 'отвечено',
|
||||
'qf.choose': 'Выберите…',
|
||||
'qf.required': 'обязательно',
|
||||
'qf.lockedSubmitted':
|
||||
'Ответы отправлены — агент будет использовать их до конца сессии.',
|
||||
'qf.lockedPrev': 'Эта форма из предыдущего хода.',
|
||||
'qf.hint':
|
||||
'Выберите подходящее. Пропустите необязательные поля, которые вам не важны — агент будет использовать разумные значения по умолчанию.',
|
||||
'qf.submitDefault': 'Отправить ответы',
|
||||
'qf.submitDisabledTitle': 'Сначала заполните обязательные поля',
|
||||
'qf.submitTitle': 'Отправить ответы',
|
||||
'qf.cardSelected': 'выбрано',
|
||||
'qf.cardRefs': 'Ссылки:',
|
||||
'qf.cardSampleText': 'Быстрая коричневая лиса · 0123',
|
||||
|
||||
'sketch.toolSelect': 'Выбор (без действий)',
|
||||
'sketch.toolPen': 'Ручка',
|
||||
'sketch.toolText': 'Текст',
|
||||
'sketch.toolRect': 'Прямоугольник',
|
||||
'sketch.toolArrow': 'Стрелка',
|
||||
'sketch.toolEraser': 'Ластик',
|
||||
'sketch.color': 'Цвет',
|
||||
'sketch.strokeSize': 'Размер штриха',
|
||||
'sketch.undo': 'Отменить',
|
||||
'sketch.clear': 'Очистить',
|
||||
'sketch.close': 'Закрыть',
|
||||
'sketch.textPrompt': 'Текст:',
|
||||
|
||||
'pet.title': 'Питомцы',
|
||||
'pet.tabBuiltIn': 'Встроенные',
|
||||
'pet.tabBuiltInHint': 'Подобранные питомцы в комплекте Open Design — выберите и забирайте.',
|
||||
'pet.builtInEmpty': 'Встроенные питомцы сейчас недоступны. Обновите вкладку «Сообщество», когда демон снова запустится.',
|
||||
'pet.tabCustom': 'Свой',
|
||||
'pet.tabCustomHint': 'Своё имя, глиф, цвет или загруженный спрайт.',
|
||||
'pet.tabCommunity': 'Сообщество',
|
||||
'pet.tabCommunityHint': 'Питомцы из Codex — заведите своего или сгенерируйте нового через ИИ.',
|
||||
'pet.tabsAria': 'Источник питомца',
|
||||
'pet.subtitle': 'Заведите маленького спутника, который парит над вашей рабочей областью.',
|
||||
'pet.navTitle': 'Питомцы',
|
||||
'pet.navHint': 'Завести или настроить',
|
||||
'pet.adopt': 'Завести',
|
||||
'pet.adoptedBadge': 'Заведён',
|
||||
'pet.adoptCallout': 'Завести питомца',
|
||||
'pet.changePet': 'Сменить питомца',
|
||||
'pet.wake': 'Разбудить',
|
||||
'pet.tuck': 'Спрятать',
|
||||
'pet.wakeTitle': 'Разбудить питомца — показать оверлей.',
|
||||
'pet.tuckTitle': 'Спрятать питомца — скрыть оверлей.',
|
||||
'pet.settingsTitle': 'Открыть настройки питомца',
|
||||
'pet.useCustom': 'Использовать своего',
|
||||
'pet.customTitle': 'Создайте своего',
|
||||
'pet.customHint': 'Выберите имя, символ и акцентный цвет — оверлей обновляется на лету.',
|
||||
'pet.customGreetingPlaceholder': 'Приветствие от вашего питомца…',
|
||||
'pet.fieldName': 'Имя',
|
||||
'pet.fieldGlyph': 'Символ',
|
||||
'pet.fieldGlyphHint': 'Один эмодзи подходит лучше всего (например 🐝, 🦄, 🐢).',
|
||||
'pet.fieldGreeting': 'Приветствие',
|
||||
'pet.fieldAccent': 'Акцентный цвет',
|
||||
'pet.fieldAccentCustom': 'Свой цвет',
|
||||
'pet.overlayAria': 'Питомец-компаньон',
|
||||
'pet.spriteAria': '{name} — тащите, чтобы переместить, кликните, чтобы пообщаться',
|
||||
'pet.spriteTitle': 'Привет от {name}! Кликните, чтобы пообщаться.',
|
||||
'pet.railAria': 'Выбор питомца',
|
||||
'pet.railTitle': 'Питомцы',
|
||||
'pet.railHint': 'Выберите спутника, который будет парить над воркспейсом.',
|
||||
'pet.railExpand': 'Показать выбор',
|
||||
'pet.railCollapse': 'Свернуть выбор',
|
||||
'pet.railHide': 'Скрыть выбор питомцев',
|
||||
'pet.railShow': 'Показать выбор питомцев',
|
||||
'pet.railCustomFlavor': 'Свой — имя, символ, цвет.',
|
||||
'pet.railCustomize': 'Настроить…',
|
||||
'pet.composerTitle': 'Питомцы — разбудить, спрятать или выбрать',
|
||||
'pet.composerMenuTitle': 'Питомцы',
|
||||
'pet.composerMenuHint': 'совет: введите /pet, чтобы переключить',
|
||||
'pet.composerOpenSettings': 'Настроить в Настройках',
|
||||
'pet.welcomeTeaserTitle': 'Заведите питомца',
|
||||
'pet.welcomeTeaserBody': 'Маленький спутник, парящий над воркспейсом.',
|
||||
'pet.welcomeTeaserCta': 'Выбрать',
|
||||
'pet.imageUpload': 'Загрузить спрайт',
|
||||
'pet.imageReplace': 'Заменить спрайт',
|
||||
'pet.imageRemove': 'Использовать emoji',
|
||||
'pet.imageHintIdle': 'PNG, JPG, WebP, GIF или SVG. Спрайтшит? Загрузите горизонтальную ленту и укажите число кадров.',
|
||||
'pet.imageHintActive': 'Показан ваш спрайт. Установите кадры > 1, чтобы анимировать горизонтальный спрайтшит.',
|
||||
'pet.fieldFrames': 'Кадры',
|
||||
'pet.fieldFramesHint': '1 = статично. > 1 = горизонтальный спрайтшит.',
|
||||
'pet.fieldFps': 'Скорость (fps)',
|
||||
'pet.fieldFpsHint': 'Скорость смены кадров.',
|
||||
'pet.atlasImport': 'Импорт спрайта Codex',
|
||||
'pet.atlasImportTitle': 'Импортируйте атлас hatch-pet 8x9 / 192x208 (PNG или WebP).',
|
||||
'pet.atlasPickerTitle': 'Выберите ряд анимации',
|
||||
'pet.atlasPickerHint': 'У Codex-петов 9 рядов анимаций. По умолчанию мы оставляем весь атлас — питомец меняет ряд при наведении, направлении перетаскивания и долгом простое. Можно зафиксировать и один цикл.',
|
||||
'pet.atlasCancel': 'Отменить атлас',
|
||||
'pet.atlasAdopt': 'Зафиксировать этот ряд',
|
||||
'pet.atlasAdoptFull': 'Использовать весь атлас (анимация)',
|
||||
'pet.atlasAdoptFullTitle': 'Сохранить все ряды, чтобы питомец реагировал на наведение, направление перетаскивания и долгое бездействие.',
|
||||
'pet.atlasAdoptRowTitle': 'Вырезать только выделенный ряд в отдельную циклическую полоску.',
|
||||
'pet.atlasActiveHint': 'Анимированный атлас включён — питомец выбирает ряд по вашему взаимодействию (наведение, перетаскивание, бездействие).',
|
||||
'pet.atlasRow.idle': 'Покой',
|
||||
'pet.atlasRow.running-right': 'Бег вправо',
|
||||
'pet.atlasRow.running-left': 'Бег влево',
|
||||
'pet.atlasRow.waving': 'Машет',
|
||||
'pet.atlasRow.jumping': 'Прыжок',
|
||||
'pet.atlasRow.failed': 'Неудача',
|
||||
'pet.atlasRow.waiting': 'Ожидание',
|
||||
'pet.atlasRow.running': 'Бежит',
|
||||
'pet.atlasRow.review': 'Анализ',
|
||||
'pet.hatchTitle': 'Вырастить нового пета с ИИ',
|
||||
'pet.hatchHint': 'Запустите встроенный навык hatch-pet в чате, чтобы получить спрайтшит в стиле Codex, а затем импортируйте его здесь.',
|
||||
'pet.hatchConcept': 'Концепт пета (по желанию)',
|
||||
'pet.hatchConceptPlaceholder': 'напр.: маленький пиксель-арт сиба-ину в уютном свитере',
|
||||
'pet.hatchCopy': 'Скопировать промпт',
|
||||
'pet.hatchCopied': 'Скопировано!',
|
||||
'pet.hatchFoot': 'Когда навык сохранит пета, вернитесь и нажмите «Импорт спрайта Codex».',
|
||||
'pet.slashPopoverAria': 'Слэш-команды',
|
||||
'pet.slashPopoverTitle': 'Команды',
|
||||
'pet.slashPopoverHint': '↑↓ навигация · enter выбрать · esc закрыть',
|
||||
'pet.slashPet': 'Переключить, выбрать или открыть настройки пета.',
|
||||
'pet.slashPetWake': 'Разбудить плавающего пета.',
|
||||
'pet.slashPetTuck': 'Спрятать пета на время.',
|
||||
'pet.slashHatch': 'Создать Codex-пета через навык hatch-pet.',
|
||||
'pet.slashHatchArg': '<концепт>',
|
||||
'pet.codexTitle': 'Недавно вылупленные',
|
||||
'pet.codexSubtitle': 'Петы, упакованные навыком hatch-pet, появятся здесь для усыновления в один клик.',
|
||||
'pet.codexSubtitleWithDir': 'Сканируем {dir} в поисках пакетов hatch-pet.',
|
||||
'pet.codexEmpty': 'Пока нет вылупленных петов. Наберите /hatch в чате, чтобы создать.',
|
||||
'pet.codexLoading': 'Ищем вылупленных петов…',
|
||||
'pet.codexRefresh': 'Обновить',
|
||||
'pet.codexAdopt': 'Усыновить',
|
||||
'pet.codexAdopting': 'Усыновляем…',
|
||||
'pet.communitySync': 'Скачать сообщество питомцев',
|
||||
'pet.communitySyncing': 'Загрузка…',
|
||||
'pet.communitySyncTitle': 'Синхронизировать свежих питомцев из Codex Pet Share + j20 Hatchery в ~/.codex/pets/.',
|
||||
'pet.communitySyncDone': 'Синхронизировано {wrote} новых питомцев (всего {total}).',
|
||||
'pet.communitySyncFailed': 'Ошибка синхронизации: {error}',
|
||||
'pet.codexBundled': 'Встроен',
|
||||
'pet.codexBundledTitle': 'Поставляется с Open Design — загрузка не нужна.',
|
||||
|
||||
'settings.notifications': 'Уведомления',
|
||||
'settings.notificationsHint': 'Звук и уведомление при завершении задачи',
|
||||
'settings.notifyCompletionSound': 'Звук завершения',
|
||||
'settings.notifyCompletionSoundHint': 'Воспроизводится по завершении хода. По умолчанию выключено.',
|
||||
'settings.notifySuccessSound': 'Звук успеха',
|
||||
'settings.notifyFailureSound': 'Звук ошибки',
|
||||
'settings.notifyDesktop': 'Уведомление на рабочем столе',
|
||||
'settings.notifyDesktopHint': 'Отправляется, когда окно не активно.',
|
||||
'settings.notifyDesktopBlocked': 'Уведомления заблокированы браузером. Разрешите их в настройках сайта.',
|
||||
'settings.notifyDesktopUnsupported': 'Уведомления на рабочем столе недоступны в этой среде.',
|
||||
'settings.notifyTest': 'Отправить тест',
|
||||
'settings.notifyTestSent': 'Тестовое уведомление отправлено. Если баннер не появился, проверьте настройки уведомлений браузера и системы.',
|
||||
'settings.notifyTestFailed': 'Вызов уведомления не удался. Проверьте настройки уведомлений браузера и системы.',
|
||||
'settings.notifySoundDing': 'Динь',
|
||||
'settings.notifySoundChime': 'Колокольчик',
|
||||
'settings.notifySoundTwoToneUp': 'Двухтон вверх',
|
||||
'settings.notifySoundPluck': 'Щипок',
|
||||
'settings.notifySoundBuzz': 'Жужжание',
|
||||
'settings.notifySoundTwoToneDown': 'Двухтон вниз',
|
||||
'settings.notifySoundThud': 'Глухой удар',
|
||||
'notify.successTitle': 'Задача выполнена',
|
||||
'notify.failureTitle': 'Задача завершилась с ошибкой',
|
||||
'notify.successBody': 'Ход завершён.',
|
||||
'notify.failureBody': 'Задача завершилась с ошибкой.',
|
||||
};
|
||||
@@ -0,0 +1,829 @@
|
||||
import type { Dict } from '../types';
|
||||
|
||||
export const tr: Dict = {
|
||||
'common.cancel': 'İptal et',
|
||||
'common.save': 'Kaydet',
|
||||
'common.close': 'Kapat',
|
||||
'common.delete': 'Sil',
|
||||
'common.rename': 'Yeniden adlandır',
|
||||
'common.preview': 'Önizleme',
|
||||
'common.share': 'Paylaş',
|
||||
'common.search': 'Ara',
|
||||
'common.searchEllipsis': 'Ara…',
|
||||
'common.loading': 'Yükleniyor…',
|
||||
'common.all': 'Hepsi',
|
||||
'common.none': 'Hiçbiri',
|
||||
'common.default': 'Varsayılan',
|
||||
'common.installed': 'kuruldu',
|
||||
'common.notInstalled': 'kurulmadı',
|
||||
'common.active': 'aktif',
|
||||
'common.offline': 'çevrim dışı',
|
||||
'common.selected': 'seçili',
|
||||
'common.create': 'Oluştur',
|
||||
'common.openPreview': 'Önizlemeyi aç',
|
||||
'common.exitFullscreen': 'Tam ekrandan çık',
|
||||
'common.fullscreen': 'Tam ekran',
|
||||
'common.openInNewTab': 'Yeni sekmede aç',
|
||||
'common.exportPdf': 'PDF olarak dışa aktar',
|
||||
'common.exportZip': 'ZIP olarak indir',
|
||||
'common.exportHtml': 'Tekil HTML olarak dışa aktar',
|
||||
'common.justNow': 'şimdi',
|
||||
'common.minutesAgo': '{n} dakika önce',
|
||||
'common.hoursAgo': '{n} saat önce',
|
||||
'common.daysAgo': '{n} gün önce',
|
||||
'common.now': 'şimdi',
|
||||
'common.minutesShort': '{n}d',
|
||||
'common.hoursShort': '{n}s',
|
||||
'common.daysShort': '{n}g',
|
||||
'common.untitled': 'Başlıksız',
|
||||
|
||||
'app.brand': 'Open Design',
|
||||
'app.brandPill': 'Önizleme Araştırması',
|
||||
'app.brandSubtitle': 'Nexu Labs tarafından',
|
||||
'app.welcomeLoading': 'Çalışma alanı yükleniyor…',
|
||||
|
||||
'settings.welcomeKicker': 'Hoşgeldiniz',
|
||||
'settings.welcomeTitle': 'Open Design kurulumu',
|
||||
'settings.welcomeSubtitle':
|
||||
"Oluşturmaları nasıl çalıştıracağınızı seçin. Bunu her zaman üst çubuktaki Ayarlar sekmesinden değiştirebilirsiniz.",
|
||||
'settings.kicker': 'Ayarlar',
|
||||
'settings.title': 'Çalıştırma & model',
|
||||
'settings.subtitle': 'Yerel CLI ile BYOK arasında seçim yapın. API anahtarınız yalnızca bu tarayıcıda saklanır.',
|
||||
'settings.modeAria': 'Çalıştırma modu',
|
||||
'settings.protocolAria': 'API protokolü',
|
||||
'settings.modeDaemon': 'Yerel CLI',
|
||||
'settings.modeDaemonHelp': 'Yerel kod ajanı CLI ile çalıştır',
|
||||
'settings.modeDaemonOffline': 'Arka plan servisi çalışmıyor',
|
||||
'settings.modeDaemonOfflineMeta': 'Arka plan servisi devre dışı',
|
||||
'settings.modeDaemonInstalledMeta': '{count} kuruldu',
|
||||
'settings.modeApi': 'API sağlayıcısı',
|
||||
'settings.modeApiMeta': 'BYOK',
|
||||
'settings.codeAgent': 'Kod ajanı',
|
||||
'settings.codeAgentHint':
|
||||
'Yerel PATH taranarak tespit edildi. Oluşum akışının yaşanacağı CLI aracınızı seçin.',
|
||||
'settings.rescan': '↻ Yeniden tara',
|
||||
'settings.rescanTitle': 'PATH’ı yeniden tara',
|
||||
'settings.rescanRunning': 'Taranıyor...',
|
||||
'settings.rescanSuccess': 'Tarama tamamlandı. {count} kullanılabilir.',
|
||||
'settings.rescanFailed': 'Tarama başarısız. Daemon’u kontrol edip tekrar deneyin.',
|
||||
'settings.noAgentsDetected':
|
||||
'Hiçbir ajan tespit edilemedi. Claude Code, Codex, Devin for Terminal, Gemini CLI, OpenCode, Cursor Agent, Qwen, veya GitHub Copilot CLI’lardan birini kurun ve yeniden tarayın.',
|
||||
'settings.apiSection': 'Anthropic API',
|
||||
'settings.quickFillProvider': 'Sağlayıcıyı hızlı doldur',
|
||||
'settings.customProvider': 'Özel sağlayıcı',
|
||||
'settings.apiKey': 'API anahtarı',
|
||||
'settings.showKey': 'Anahtarı göster',
|
||||
'settings.hideKey': 'Anahtarı gizle',
|
||||
'settings.show': 'Göster',
|
||||
'settings.hide': 'Gizle',
|
||||
'settings.model': 'Model',
|
||||
'settings.suggestedModelsHint':
|
||||
'Bunlar bu protokol için önerilen modellerdir. Sağlayıcınız farklı modelleri destekleyebilir.',
|
||||
'settings.baseUrl': 'Temel URL',
|
||||
'settings.baseUrlInvalid': 'Geçerli bir genel http:// veya https:// URL girin. Localhost izinlidir; özel ağ IPleri engellenir.',
|
||||
'settings.azureDeploymentModel': 'Dağıtım adı',
|
||||
'settings.azureDeploymentModelHint':
|
||||
'Azure OpenAI icin bu alan /openai/deployments/<model> icindeki dagitim adi olarak kullanilir. Azureda olusturdugunuz dagitim adini girin.',
|
||||
'settings.apiVersion': 'API sürümü',
|
||||
'settings.maxTokens': 'Maks. token (isteğe bağlı)',
|
||||
'settings.maxTokensHint':
|
||||
'Yanıt uzunluğu sınırı. Her modelin ayarlanmış bir varsayılanı vardır (yer tutucuda görünür); kullanmak için boş bırakın, üzerine yazmak için bir sayı girin.',
|
||||
'settings.apiHint': 'İstekler yerel daemon proxy üzerinden ayarladığınız Base URLye gönderilir. Anahtar yalnızca bu tarayıcıda saklanır ve sağlayıcı istekleriyle birlikte gönderilir.',
|
||||
'settings.skipForNow': 'Şimdilik atla',
|
||||
'settings.getStarted': 'Başla',
|
||||
'settings.envConfigure': 'Yürütme modunu ayarlayın',
|
||||
'settings.localCli': 'Yerel CLI',
|
||||
'settings.anthropicApi': 'Anthropic API',
|
||||
'settings.noAgentSelected': 'Ajan seçilmedi',
|
||||
'settings.language': 'Dil',
|
||||
'settings.languageHint': 'Arayüz dilini değiştirin. Bu tarayıcıya kaydedilir.',
|
||||
'settings.appearance': 'Görünüm',
|
||||
'settings.appearanceHint': 'Açık, koyu veya sistem ayarını takip et.',
|
||||
'settings.themeSystem': 'Sistem',
|
||||
'settings.themeLight': 'Açık',
|
||||
'settings.themeDark': 'Koyu',
|
||||
'settings.modelPicker': 'Model',
|
||||
'settings.reasoningPicker': 'Akıl yürütme eforu',
|
||||
'settings.modelPickerHint':
|
||||
'Bir `models` komutu açığa çıkaran CLI’lardan getirilir. "Varsayılan" seçimi CLI’ın kendi ayarına bırakır; "Özel…" CLI’ın kabul edeceği herhangi bir model kimliği seçmenize izin verir.',
|
||||
'settings.modelCustom': 'Özel (aşağıya yazın)…',
|
||||
'settings.modelCustomLabel': 'Özel model kimliği',
|
||||
'settings.modelCustomPlaceholder': 'örn. anthropic/claude-sonnet-4-6',
|
||||
'settings.mediaProviders': 'Medya sağlayıcıları',
|
||||
'settings.mediaProvidersHint':
|
||||
'Görsel, video ve ses oluşumu için API anahtarları. Yerel saklanır ve yerel arka plan servisiyle senkronize edilir.',
|
||||
'settings.mediaProviderApiKey': 'API anahtarı',
|
||||
'settings.mediaProviderBaseUrl': 'Temel URL',
|
||||
'settings.mediaProviderConfigured': 'Ayarlandı',
|
||||
'settings.mediaProviderUnset': 'Ayarlanmadı',
|
||||
'settings.mediaProviderClear': 'Temizle',
|
||||
'settings.mediaProviderPlaceholder': 'API anahtarı yapıştır',
|
||||
'settings.mediaProviderBaseUrlPlaceholder': 'Varsayılan temel URL’yi görmezden gel',
|
||||
'settings.about': 'Hakkında',
|
||||
'settings.aboutHint': 'Sürüm ve çalışma zamanı detayları',
|
||||
'settings.appVersion': 'Sürüm',
|
||||
'settings.appChannel': 'Kanal',
|
||||
'settings.appRuntime': 'Çalışma zamanı',
|
||||
'settings.appPlatform': 'Platform',
|
||||
'settings.appArchitecture': 'Mimari',
|
||||
'settings.runtimePackaged': 'Paketlenmiş uygulama',
|
||||
'settings.runtimeDevelopment': 'Geliştirme',
|
||||
'settings.versionUnavailable': 'Arka plan servisi devre dışıyken sürüm detayları mevcut değildir.',
|
||||
|
||||
'entry.tabDesigns': 'Tasarımlar',
|
||||
'entry.tabExamples': 'Örnekler',
|
||||
'entry.tabDesignSystems': 'Tasarım sistemleri',
|
||||
'entry.openSettingsTitle': 'Ayarlar',
|
||||
'entry.openSettingsAria': 'Ayarları aç',
|
||||
'entry.resizeAria': 'Yan çubuğu yeniden boyutlandır',
|
||||
'entry.loadingWorkspace': 'Çalışma alanı yükleniyor…',
|
||||
'entry.tabImageTemplates': 'Görsel istemleri',
|
||||
'entry.tabVideoTemplates': 'Video istemleri',
|
||||
'promptTemplates.searchPlaceholder': 'Şablon ara…',
|
||||
'promptTemplates.countLabel': '{n} sonuç',
|
||||
'promptTemplates.emptyImage': 'Henüz görsel istemi şablonu yüklenmedi.',
|
||||
'promptTemplates.emptyVideo': 'Henüz video istemi şablonu yüklenmedi.',
|
||||
'promptTemplates.emptyNoMatch': 'Aramanıza uygun şablon bulunamadı.',
|
||||
'promptTemplates.attributionFooter': 'Herkese açık istem kütüphanesinden adape edildi. Her kart orijinal yazara bağlantılıdır.',
|
||||
'promptTemplates.openPreviewTitle': 'istemi aç ve önizle',
|
||||
'promptTemplates.sourcePrefix': 'Kaynak:',
|
||||
'promptTemplates.fetchError': 'Bu şablon gövdesi yüklenemedi.',
|
||||
'promptTemplates.promptLabel': 'İstem gövdesi',
|
||||
'promptTemplates.copyPrompt': 'İstemi kopyala',
|
||||
'promptTemplates.copyDone': 'Kopyalandı!',
|
||||
'promptTemplates.modelHint': 'Tavsiye edilen model: {model}',
|
||||
'promptTemplates.openSource': 'Orijinali görüntüle',
|
||||
'promptTemplates.openFullscreen': 'Tam ekran ön izlemeyi aç',
|
||||
'promptTemplates.closeFullscreen': 'Tam ekran ön izlemeyi kapat',
|
||||
'promptTemplates.retry': 'Yeniden dene',
|
||||
|
||||
'newproj.tabPrototype': 'Prototip',
|
||||
'newproj.tabDeck': 'Slayt gösterisi',
|
||||
'newproj.tabTemplate': 'Şablondan',
|
||||
'newproj.tabOther': 'Diğer',
|
||||
'newproj.titlePrototype': 'Yeni prototip',
|
||||
'newproj.titleDeck': 'Yeni slayt gösterisi',
|
||||
'newproj.titleTemplate': 'Bir şablondan başla',
|
||||
'newproj.titleImage': 'Yeni görsel',
|
||||
'newproj.titleVideo': 'Yeni video',
|
||||
'newproj.titleAudio': 'Yeni ses',
|
||||
'newproj.titleOther': 'Yeni proje',
|
||||
'newproj.namePlaceholder': 'Proje ismi',
|
||||
'newproj.fidelityLabel': 'Sadakat',
|
||||
'newproj.fidelityWireframe': 'İskelet',
|
||||
'newproj.fidelityHigh': 'Yüksek sadakat',
|
||||
'newproj.toggleSpeakerNotes': 'Konuşmacı notlarını kullan',
|
||||
'newproj.toggleSpeakerNotesHint': 'Slaytlarda daha az metin — konuşma noktalarını notlarda tut.',
|
||||
'newproj.toggleAnimations': 'Animasyonları dahil et',
|
||||
'newproj.toggleAnimationsHint':
|
||||
'Şablonunuzun üstüne hareket (giriş, yüzme, geçişler) ekleyin.',
|
||||
'newproj.templateLabel': 'Şablon',
|
||||
'newproj.noTemplatesTitle': 'Henüz şablon yok',
|
||||
'newproj.noTemplatesBody':
|
||||
'Herhangi bir projeyi açın, ardından dosya görüntüleyicideki Paylaş menüsü ile bir şablona dönüştürün. Şablonlar burada görünür.',
|
||||
'newproj.savedTemplate': 'Şablon kaydedildi',
|
||||
'newproj.fileSingular': 'dosya',
|
||||
'newproj.filePlural': 'dosyalar',
|
||||
'newproj.create': 'Oluştur',
|
||||
'newproj.createFromTemplate': 'Şablondan oluştur',
|
||||
'newproj.createDisabledTitle':
|
||||
'Önce bir projeyi şablon olarak kaydedin (herhangi bir projenin içinde Paylaş menüsünden).',
|
||||
'newproj.importClaudeZip': 'Claude Design ZIP’i içe aktar',
|
||||
'newproj.importClaudeZipTitle': 'Bir Claude Design .zip’ini içe aktarın',
|
||||
'newproj.importingClaudeZip': 'İçe aktarılıyor…',
|
||||
'newproj.privacyFooter': 'Projeyi varsayılan olarak yalnızca siz görebilirsiniz.',
|
||||
'newproj.designSystem': 'Tasarım sistemi',
|
||||
'newproj.dsNoneFreeform': 'Hiçbiri — serbest stil',
|
||||
'newproj.dsNoneSubtitleEmpty': 'Sistem tokeni yok, kendi paletinizi seçin',
|
||||
'newproj.dsNoneSubtitleSelected': 'Sistem tokenlerini atla. Ajan kendi paletini seçer.',
|
||||
'newproj.dsCategoryFallback': 'Tasarım sistemi',
|
||||
'newproj.dsSearch': 'Tasarım sistemleri ara…',
|
||||
'newproj.dsModeAria': 'Seçim modu',
|
||||
'newproj.dsModeSingle': 'Tekli',
|
||||
'newproj.dsModeMulti': 'Çoklu',
|
||||
'newproj.dsNoneTitle': 'Hiçbiri — serbest stil',
|
||||
'newproj.dsNoneSub': 'Sistem tokenlerini atla. Ajan kendi paletini seçer.',
|
||||
'newproj.dsEmpty': 'Hiçbir tasarım sistemi “{query}” aramasıyla örtüşmedi.',
|
||||
'newproj.dsFootSingular': 'yalnızca ilhamdır.',
|
||||
'newproj.dsFootPlural': 'yalnızca ilhamdır.',
|
||||
'newproj.dsFootClear': 'Temizle',
|
||||
'newproj.dsBadgeDefault': 'VARSAYILAN',
|
||||
'newproj.dsPrimaryFallback': 'Birincil',
|
||||
'newproj.surfaceImage': 'Görsel',
|
||||
'newproj.surfaceVideo': 'Video',
|
||||
'newproj.surfaceAudio': 'Ses',
|
||||
'newproj.modelLabel': 'Model',
|
||||
'newproj.aspectLabel': 'Oran',
|
||||
'newproj.imageStyleLabel': 'Stil notları',
|
||||
'newproj.imageStylePlaceholder': 'Editöryel fotoğraf, yumuşak gün ışığı, pastel renk paleti',
|
||||
'newproj.videoLengthLabel': 'Uzunluk',
|
||||
'newproj.videoLengthSeconds': '{n}s',
|
||||
'newproj.audioKindLabel': 'Ses tipi',
|
||||
'newproj.audioKindMusic': 'Müzik',
|
||||
'newproj.audioKindSpeech': 'Konuşma / TTS',
|
||||
'newproj.audioKindSfx': 'Ses efekti',
|
||||
'newproj.audioDurationLabel': 'Süre',
|
||||
'newproj.audioDurationSeconds': '{n}s',
|
||||
'newproj.voiceLabel': 'Ses',
|
||||
'newproj.voicePlaceholder': 'Sağlayıcı ses kimliği, opsiyonel',
|
||||
'newproj.promptTemplateLabel': 'Referans şablon',
|
||||
'newproj.promptTemplateNoneTitle': 'Hiçbiri — kendin yaz',
|
||||
'newproj.promptTemplateNoneSub': 'Galeriyi atla, kendi brief’ini açıkla',
|
||||
'newproj.promptTemplateRefSub': 'Referans şablon',
|
||||
'newproj.promptTemplateSearch': 'Şablon ara…',
|
||||
'newproj.promptTemplateEmpty': 'Bu yüzey için henüz şablon yüklenmedi.',
|
||||
'newproj.promptTemplateBodyLabel': 'İstem (istediğin gibi düzenleyebilirsin)',
|
||||
'newproj.promptTemplateOptimizeHint':
|
||||
'İstediğin her şeyi düzenle — değişikliklerin ajan brief’ine taşınır.',
|
||||
'newproj.promptTemplateBodyEmpty': 'Gövde boş — ajana şablon referansı gitmeyecek.',
|
||||
|
||||
'designs.subRecent': 'Yakında',
|
||||
'designs.subYours': 'Tasarımların',
|
||||
'designs.filterAria': 'Projeleri filtrele',
|
||||
'designs.searchPlaceholder': 'Ara…',
|
||||
'designs.emptyNoProjects': 'Henüz proje yok. Sol taraftan yeni bir tane oluşturun.',
|
||||
'designs.emptyNoMatch': 'Hiçbir proje aramanızla örtüşmedi.',
|
||||
'designs.deleteTitle': 'Projeyi sil',
|
||||
'designs.deleteConfirm': '"{name}"’i sil?',
|
||||
'designs.cardFreeform': 'serbest stil',
|
||||
'designs.status.notStarted': 'başlamadı',
|
||||
'designs.status.queued': 'Sırada',
|
||||
'designs.status.running': 'Çalışıyor',
|
||||
'designs.status.awaitingInput': 'Girdi gerekli',
|
||||
'designs.status.succeeded': 'Tamamlandı',
|
||||
'designs.status.failed': 'Başarısız',
|
||||
'designs.status.canceled': 'İptal edildi',
|
||||
'designs.viewToggleAria': 'Görüntüleme modu',
|
||||
'designs.viewGrid': 'Izgara görünümü',
|
||||
'designs.viewKanban': 'Tahta görünümü',
|
||||
'designs.kanbanEmptyColumn': 'Tasarım yok',
|
||||
'designs.deleteAria': '{name} projesini sil',
|
||||
|
||||
'examples.typeLabel': 'Tip',
|
||||
'examples.surfaceLabel': 'Yüzey',
|
||||
'examples.surfaceWeb': 'Web',
|
||||
'examples.surfaceImage': 'Görsel',
|
||||
'examples.surfaceVideo': 'Video',
|
||||
'examples.surfaceAudio': 'Ses',
|
||||
'examples.scenarioLabel': 'Senaryo',
|
||||
'examples.modeAll': 'Tümü',
|
||||
'examples.modePrototypeDesktop': 'Prototipler · Masaüstü',
|
||||
'examples.modePrototypeMobile': 'Prototipler · Mobil',
|
||||
'examples.modeDeck': 'Slaytlar',
|
||||
'examples.modeDocument': 'Doküman & şablonlar',
|
||||
'examples.scenarioGeneral': 'Genel',
|
||||
'examples.scenarioEngineering': 'Mühendislik',
|
||||
'examples.scenarioProduct': 'Ürün',
|
||||
'examples.scenarioDesign': 'Tasarım',
|
||||
'examples.scenarioMarketing': 'Pazarlama',
|
||||
'examples.scenarioSales': 'Satış',
|
||||
'examples.scenarioFinance': 'Finans',
|
||||
'examples.scenarioHr': 'İnsan Kaynakları',
|
||||
'examples.scenarioOperations': 'Operasyonlar',
|
||||
'examples.scenarioSupport': 'Destek',
|
||||
'examples.scenarioLegal': 'Yasal',
|
||||
'examples.scenarioEducation': 'Eğitim',
|
||||
'examples.scenarioPersonal': 'Şahsi',
|
||||
'examples.emptyNoSkills': 'Yetenekler mevcut değil. Arka plan servisi çalışıyor mu?',
|
||||
'examples.searchPlaceholder': 'Örnek ara…',
|
||||
'examples.searchAria': 'Örnekleri ada göre ara',
|
||||
'examples.emptyNoMatch': 'Hiçbir örnek bu filtrelere uymuyor.',
|
||||
'examples.openPreview': '⤢ Önizlemeyi aç',
|
||||
'examples.loadingPreview': 'Önizleme yükleniyor…',
|
||||
'examples.hoverPreview': 'Önizlemek için fareyi üzerine getirin',
|
||||
'examples.usePrompt': 'Bu istemi kullan',
|
||||
'examples.previewModalTitle': 'Tam önizlemeyi aç (modal)',
|
||||
'examples.shareTitle': 'Bu örneği paylaş',
|
||||
'examples.shareLoadFirst': 'önizlemek için önce fareyi üzerine getirin',
|
||||
'examples.shareMenu': 'Paylaş ▾',
|
||||
'examples.exportPdfAllSlides': 'PDF olarak dışa aktar (tüm slaytlar)',
|
||||
'examples.exportPptxLocked': 'PPTX olarak dışa aktar… (Önce şablon açın)',
|
||||
'examples.tagSlideDeck': 'Slayt gösterisi',
|
||||
'examples.tagTemplate': 'Şablon',
|
||||
'examples.tagDesignSystem': 'Tasarım sistemi',
|
||||
'examples.tagMobilePrototype': 'Mobil prototip',
|
||||
'examples.tagDesktopPrototype': 'Masaüstü prototip',
|
||||
'examples.tagImage': 'Görsel',
|
||||
'examples.tagVideo': 'Video',
|
||||
'examples.tagAudio': 'Ses',
|
||||
'examples.previewLabel': 'Önizleme',
|
||||
|
||||
'ds.surfaceLabel': 'Yüzey',
|
||||
'ds.surfaceWeb': 'Web',
|
||||
'ds.surfaceImage': 'Image',
|
||||
'ds.surfaceVideo': 'Video',
|
||||
'ds.surfaceAudio': 'Ses',
|
||||
'ds.searchPlaceholder': 'Tasarım sistemleri ara…',
|
||||
'ds.emptyNoMatch': 'Hiçbir tasarım sistemi aramanızla örtüşmedi.',
|
||||
'ds.badgeDefault': 'VARSAYILAN',
|
||||
'ds.preview': 'Önizleme',
|
||||
'ds.previewTitle': 'Tasarım sistemini önizle',
|
||||
'ds.categoryAll': 'Tümü',
|
||||
'ds.categoryUncategorized': 'Kategorilendirilmemiş',
|
||||
'ds.showcase': 'Tanıtım',
|
||||
'ds.tokens': 'Tokenler',
|
||||
'ds.specToggle': 'DESIGN.md',
|
||||
'ds.specLoading': 'DESIGN.md yükleniyor…',
|
||||
|
||||
'avatar.title': 'Hesap & ayarlar',
|
||||
'avatar.localCli': 'Yerel CLI',
|
||||
'avatar.anthropicApi': 'Anthropic API',
|
||||
'avatar.useLocal': 'Yerel CLI’ı kullan',
|
||||
'avatar.useApi': 'API · BYOK kullan',
|
||||
'avatar.codeAgent': 'Kod ajanı',
|
||||
'avatar.rescan': 'PATH’ı yeniden tara',
|
||||
'avatar.settings': 'Ayarlar',
|
||||
'avatar.backToProjects': 'Projelere dön',
|
||||
'avatar.metaActive': 'aktif',
|
||||
'avatar.metaOffline': 'çevrim dışı',
|
||||
'avatar.metaSelected': 'seçildi',
|
||||
'avatar.noAgentSelected': 'ajan seçilmedi',
|
||||
'avatar.modelSection': 'Model',
|
||||
'avatar.modelLabel': 'Model',
|
||||
'avatar.reasoningLabel': 'Akıl yürütme',
|
||||
'avatar.customSuffix': '(özel)',
|
||||
|
||||
'project.backToProjects': 'Projelere dön',
|
||||
'project.metaFreeform': 'serbest stil',
|
||||
'chat.tabChat': 'Sohbet',
|
||||
'chat.tabComments': 'Yorumlar',
|
||||
'chat.commentsSoon': 'Yorumlar — yakında',
|
||||
'chat.comments.attached': 'Attached to chat',
|
||||
'chat.comments.emptyAttached': 'No comments attached.',
|
||||
'chat.comments.saved': 'Saved comments',
|
||||
'chat.comments.emptySaved': 'No saved comments.',
|
||||
'chat.comments.add': 'Add',
|
||||
'chat.comments.addAll': 'Add all',
|
||||
'chat.comments.remove': 'Remove',
|
||||
'chat.comments.placeholder': 'Comment on this element…',
|
||||
'chat.comments.addSend': 'Add & send',
|
||||
'chat.comments.updateSend': 'Update & send',
|
||||
'chat.comments.removeAttachment': 'Remove comment attachment',
|
||||
'chat.comments.removeAttachmentAria': 'Remove comment attachment for {name}',
|
||||
'chat.conversationsTitle': 'Konuşmalar',
|
||||
'chat.conversationsAria': 'Konuşma geçmişi',
|
||||
'chat.newConversation': 'Yeni konuşma',
|
||||
'chat.newConversationsTitle': 'Yeni Konuşma',
|
||||
'chat.conversationsHeading': 'Konuşmalar',
|
||||
'chat.new': 'Yeni',
|
||||
'chat.emptyConversations': 'Henüz konuşma yok.',
|
||||
'chat.deleteConversation': 'Konuşmayı sil',
|
||||
'chat.deleteConversationConfirm':
|
||||
'"{title}"’ı sil? Bu mesajları silecektir.',
|
||||
'chat.untitledConversation': 'Başlıksız konuşma',
|
||||
'chat.startTitle': 'Bir konuşma başlat',
|
||||
'chat.startHint':
|
||||
'Görsel referans için görsel sürükleyin veya yapıştırın, veya bu projeden bir dosya iliştirmek için @ yazın. Veya bu başlatıcılardan birini deneyin:',
|
||||
'chat.fillInputTitle': 'İstemi doldurmak için tıklayın',
|
||||
'chat.jumpToLatest': 'En son mesaja atla',
|
||||
'chat.scrollToLatest': 'En son mesaja kaydır',
|
||||
'chat.you': 'Sen',
|
||||
'chat.openFile': '{name}’ı aç',
|
||||
'chat.composerPlaceholder':
|
||||
'İstediğiniz tasarımı açıklayın — görsel yapıştırın veya sürükleyin, veya bir dosyayı @’leyin…',
|
||||
'chat.composerHint':
|
||||
'Görselleri göndermek · yapıştırmak için ⌘/Ctrl + Enter · dosyaları referans almak için @',
|
||||
'chat.cliSettingsTitle': 'CLI & model ayarları',
|
||||
'chat.cliSettingsAria': 'CLI ve model ayarlarını aç',
|
||||
'chat.attachTitle': 'Dosyaları iliştirin (veya yapıştırın / sürükleyin)',
|
||||
'chat.attachAria': 'Dosyaları iliştirin',
|
||||
'chat.importTitle': 'Kaynakları içe aktar (yakında)',
|
||||
'chat.importLabel': 'İçe aktar',
|
||||
'chat.importComingSoon': 'Yakında',
|
||||
'chat.importSoon': 'Yakında',
|
||||
'chat.importFig': 'Bir .fig dosyası yükleyin',
|
||||
'chat.importGitHub': 'GitHub bağla',
|
||||
'chat.importWeb': 'Bir web elementi',
|
||||
'chat.importFolder': 'Kod klasörünü bağlantıla',
|
||||
'chat.importSkills': 'Yetenekler ve tasarım sistemleri',
|
||||
'chat.importProject': 'Bir başka projeyi referans al',
|
||||
'chat.send': 'Gönder',
|
||||
'chat.stop': 'Durdur',
|
||||
'chat.removeAria': '{name}’ı sil',
|
||||
'chat.example1Title': 'Editörlük sunum dosyası',
|
||||
'chat.example1Tag': 'Magazin',
|
||||
'chat.example1Prompt':
|
||||
'10 slaytlık bir editoryal pitch deck: seed yatırım turu için fon arayan bir tasarım stüdyosu — İsviçre grid yerleşimi, büyük serif başlıklar ve kalın drop cap’ler, monospace bölüm numaraları, geniş negatif alan kullanımı ve metin yoğun slaytlarla dönüşümlü tam sayfa (full-bleed) fotoğraf slaytları. Kapak, vizyon, pazar, ürün, traction, ekip, talep, iletişim.',
|
||||
'chat.example2Title': 'SaaS analitik gösterge paneli',
|
||||
'chat.example2Tag': 'Veri',
|
||||
'chat.example2Prompt':
|
||||
'Geliştirici araçlarına yönelik bir SaaS için yoğun bir analitik gösterge paneli: haftadan haftaya değişimleri gösteren KPI şeridi, üst üste yerleştirilmiş iki çizgi grafik (MRR ve aktif çalışma alanları), kullanımın dünya ısı haritası, cohort retention grid’i, en iyi müşteriler liderlik tablosu ve gerçek zamanlı olay akışı. Karanlık tema, tabular monospace rakamlar, sparkline vurguları.',
|
||||
'chat.example3Title': 'Annual report long-scroll',
|
||||
'chat.example3Tag': 'Editoryal',
|
||||
'chat.example3Prompt':
|
||||
'İklim odaklı bir sivil toplum kuruluşu için etkileşimli bir yıllık rapor: büyük alıntı blokları, veri görselleştirmeleri (yığılmış çubuk grafikler, animasyonlu sayaçlar, proje sahalarını gösteren choropleth harita), fotoğraf geçişleri, bağışçı duvarı ve finalde bir call-to-action içeren uzun kaydırmalı editoryal yerleşim. Modern serif gövde metni, grafik etiketlerinde sans-serif, toprak tonlarında kâğıt paleti.',
|
||||
|
||||
'preview.shareMenu': 'Paylaş ▾',
|
||||
'preview.openInNewTab': 'Yeni sekmede aç',
|
||||
'preview.exit': '⤓ Çık',
|
||||
'preview.fullscreen': '⤢ Tam ekran',
|
||||
'preview.closeTitle': 'Kapat (Esc)',
|
||||
'preview.loading': '{label} yükleniyor…',
|
||||
'preview.showSidebar': '{label} göster',
|
||||
'preview.hideSidebar': '{label} gizle',
|
||||
|
||||
'misc.savedTemplate': 'Kaydedilmiş şablonlar',
|
||||
'misc.primary': 'Birincil',
|
||||
'misc.designSystem': 'Tasarım sistemi',
|
||||
|
||||
'workspace.designFiles': 'Tasarım Dosyaları',
|
||||
'workspace.closeTab': 'Sekmeyi kapat',
|
||||
'workspace.deleteFileConfirm': '"{name}"ı proje klasöründen sil?',
|
||||
'workspace.openFromDesignFiles': 'bir dosya aç',
|
||||
'workspace.designFilesLink': 'Tasarım Dosyaları',
|
||||
'workspace.loadingSketch': 'Taslak yükleniyor…',
|
||||
'designFiles.title': 'Tasarım Dosyaları',
|
||||
'designFiles.upload': 'Dosyaları yükle',
|
||||
'designFiles.pasteText': 'Metin dosyası olarak yapıştır',
|
||||
'designFiles.newSketch': 'Yeni taslak',
|
||||
'designFiles.empty':
|
||||
'Burada henüz bir şey yok. Dosyaları aşağı sürükleyin, veya bir taslak oluşturun / metin yapıştırın.',
|
||||
'designFiles.refresh': 'Yenile',
|
||||
'designFiles.delete': 'Sil',
|
||||
'designFiles.searchPlaceholder': 'Dosyaları ara…',
|
||||
'designFiles.up': 'Yukarı',
|
||||
'designFiles.back': 'Geri',
|
||||
'designFiles.crumbs': 'proje',
|
||||
'designFiles.rowMenu': 'Sıra menüsü',
|
||||
'designFiles.openInTab': 'Sekmede aç',
|
||||
'designFiles.download': 'İndir',
|
||||
'designFiles.downloadSelected': 'Download {n} as ZIP',
|
||||
'designFiles.clearSelection': 'Clear',
|
||||
'designFiles.selectAll': 'Select all',
|
||||
'designFiles.dropTitle': '⤓ Dosyaları buraya sürükleyin',
|
||||
'designFiles.dropDesc':
|
||||
'Görseller, dokümanlar, referanslar, veya klasörler — ajan onları bağlam olarak kullanacak.',
|
||||
'designFiles.upload.title': 'Dosyaları yükleyin',
|
||||
'designFiles.paste.title': 'Metin dosyası olarak yapıştır',
|
||||
'designFiles.upload.label': 'Yükle',
|
||||
'designFiles.paste.label': 'Yapıştır',
|
||||
'designFiles.previewOpen': 'Aç',
|
||||
'designFiles.previewClose': 'Önizlemeyi kapat',
|
||||
'designFiles.modified': 'Düzenlendi: {time} · {size}',
|
||||
'designFiles.weeksAgo': '{n} hafta önce',
|
||||
'designFiles.sectionPages': 'Sayfalar',
|
||||
'designFiles.sectionScripts': 'Betikler',
|
||||
'designFiles.sectionImages': 'Görseller',
|
||||
'designFiles.sectionSketches': 'Taslaklar',
|
||||
'designFiles.sectionOther': 'Diğer',
|
||||
'designFiles.showMore': '+{n} tane daha göster',
|
||||
'designFiles.kindHtml': 'HTML sayfası',
|
||||
'designFiles.kindImage': 'Görsel',
|
||||
'designFiles.kindSketch': 'Taslak',
|
||||
'designFiles.kindText': 'Metin',
|
||||
'designFiles.kindCode': 'Betil',
|
||||
'designFiles.kindPdf': 'PDF',
|
||||
'designFiles.kindDocument': 'Doküman',
|
||||
'designFiles.kindPresentation': 'Sunum',
|
||||
'designFiles.kindSpreadsheet': 'Elektronik tablo',
|
||||
'designFiles.kindBinary': 'Binary',
|
||||
'pasteDialog.title': 'Metin yapıştır',
|
||||
'pasteDialog.hint': 'Proje klasörüne kaydedilir. Herhangi bir isim seçin.',
|
||||
'pasteDialog.fileNameLabel': 'Dosya adı',
|
||||
'pasteDialog.namePlaceholder': 'notes.txt',
|
||||
'pasteDialog.contentLabel': 'İçerik',
|
||||
'pasteDialog.contentPlaceholder': 'Herhangi bir şey yapıştırın…',
|
||||
'pasteDialog.save': 'Kaydet',
|
||||
'pasteDialog.cancel': 'İptal et',
|
||||
'sketch.save': 'Taslağı kaydet',
|
||||
'sketch.cancel': 'İptal et',
|
||||
'sketch.saving': 'Kaydediliyor…',
|
||||
'sketch.tooltipDirty': 'Kaydedilmemiş değişiklikler',
|
||||
'sketch.tooltipClean': 'Kaydedildi',
|
||||
'fileViewer.empty': 'Görüntülemek için bir dosya seçin.',
|
||||
'fileViewer.loading': 'Yükleniyor…',
|
||||
'fileViewer.exportPptx': 'PPTX olarak dışa aktar',
|
||||
'fileViewer.openInNewTab': 'Yeni sekmede aç',
|
||||
'fileViewer.copyPath': 'Yolu kopyala',
|
||||
'fileViewer.copied': 'Kopyalandı!',
|
||||
'fileViewer.share': 'Paylaş',
|
||||
'fileViewer.binaryMeta': 'Binary · {size}',
|
||||
'fileViewer.binaryNote':
|
||||
'Binary dosyası ({size} bytes). İncelemek için indirin veya diskten seçin.',
|
||||
'fileViewer.pdfMeta': 'PDF · {size}',
|
||||
'fileViewer.documentMeta': 'Doküman',
|
||||
'fileViewer.presentationMeta': 'Sunum',
|
||||
'fileViewer.spreadsheetMeta': 'Elektronik tablo',
|
||||
'fileViewer.previewUnavailable': 'Önizleme mevcut değil. İncelemek için indirin veya diskten seçin.',
|
||||
'fileViewer.download': 'İndir',
|
||||
'fileViewer.open': 'Aç',
|
||||
'fileViewer.imageMeta': 'Görsel · {size}',
|
||||
'fileViewer.reactMeta': 'React bileşeni · {size}',
|
||||
'fileViewer.sketchMeta': 'Taslak · {size}',
|
||||
'fileViewer.markdownStreamingMeta': 'Önizleme yayınlanıyor…',
|
||||
'fileViewer.markdownErrorMeta': 'Önizleme eksik olabilir (oluşturma hatası).',
|
||||
'fileViewer.markdownStreamingStatus': 'Yayınlanıyor… kısmi markdown gösteriliyor.',
|
||||
'fileViewer.markdownErrorStatus': 'Oluşturma hatası. Son mevcut içerik gösteriliyor.',
|
||||
'fileViewer.videoMeta': 'Video · {size}',
|
||||
'fileViewer.audioMeta': 'Ses · {size}',
|
||||
'fileViewer.reload': 'Yeniden yükle',
|
||||
'fileViewer.reloadDisk': 'Diskten yeniden yükle',
|
||||
'fileViewer.copy': 'Kopyala',
|
||||
'fileViewer.copyTitle': 'Dosya içeriklerini kopyala',
|
||||
'fileViewer.saveDisabled': 'Kaydet (salt-okunur görüntüleyici)',
|
||||
'fileViewer.save': 'Kaydet',
|
||||
'fileViewer.preview': 'Önizle',
|
||||
'fileViewer.source': 'Kaynak',
|
||||
'fileViewer.tweaks': 'Düzenlemeler',
|
||||
'fileViewer.comment': 'Yorum',
|
||||
'fileViewer.edit': 'Düzenle',
|
||||
'fileViewer.draw': 'Çiz',
|
||||
'fileViewer.zoomOut': 'Yakınlaş',
|
||||
'fileViewer.zoomIn': 'Uzaklaş',
|
||||
'fileViewer.resetZoom': 'Uzaklığı sıfırla',
|
||||
'fileViewer.reloadAria': 'Yeniden yükle',
|
||||
'fileViewer.previousSlide': 'Önceki slayt',
|
||||
'fileViewer.nextSlide': 'Sonraki slayt',
|
||||
'fileViewer.slideNavAria': 'Slayt hareketi',
|
||||
'fileViewer.present': 'Sun',
|
||||
'fileViewer.presentInTab': 'Bu pencerede sun',
|
||||
'fileViewer.presentFullscreen': 'Tam ekran',
|
||||
'fileViewer.presentNewTab': 'Yeni sekme',
|
||||
'fileViewer.exitPresentation': 'Sunumdan ayrıl',
|
||||
'fileViewer.shareLabel': 'Paylaş',
|
||||
'fileViewer.exportPdf': 'PDF olarak dışa aktar',
|
||||
'fileViewer.exportPdfAllSlides': 'PDF olarak dışa aktar (tüm slaytlar)',
|
||||
'fileViewer.exportPptxBusy': 'Güncel sıranın bitmesini bekleyin.',
|
||||
'fileViewer.exportPptxHint':
|
||||
'Bu tasarımı PPTX’e dönüştürmesi için ajana bir istek yollayın.',
|
||||
'fileViewer.exportPptxNa': 'PPTX dışa aktarma burada mevcut değil.',
|
||||
'fileViewer.exportZip': 'ZIP olarak indir',
|
||||
'fileViewer.exportHtml': 'Tekil HTML olarak dışa aktar',
|
||||
'fileViewer.exportMd': 'Markdown olarak dışa aktar',
|
||||
'fileViewer.exportJsx': 'JSX olarak dışa aktar',
|
||||
'fileViewer.exportReactHtml': 'Önizlemeyi HTML olarak dışa aktar',
|
||||
'fileViewer.saveAsTemplate': 'Şablon olarak kaydet…',
|
||||
'fileViewer.savingTemplate': 'Şablon kaydediliyor…',
|
||||
'fileViewer.savedTemplate': '"{name}" olarak kaydedildi',
|
||||
'fileViewer.savedTemplateFail': 'Şablon olarak kaydedilemedi — yeniden deneyin.',
|
||||
'fileViewer.templateNamePrompt': 'Şablon ismi',
|
||||
'fileViewer.templateNameDefault': 'Başlıksız şablon',
|
||||
'fileViewer.templateDescPrompt':
|
||||
'Kısa açıklama (opsiyonel — bu şablonu kullanışlı yapan ne?)',
|
||||
'fileViewer.deployToVercel': 'Vercel’e yayınla',
|
||||
'fileViewer.redeployToVercel': 'Yeniden yayınla',
|
||||
'fileViewer.deployingToVercel': 'Vercel’e yayınlanıyor…',
|
||||
'fileViewer.preparingPublicLink': 'Herkese açık bağlantı hazırlanıyor…',
|
||||
'fileViewer.copyDeployLink': 'Bağlantıyı kopyala',
|
||||
'fileViewer.deployModalTitle': 'Vercel’e yayınla',
|
||||
'fileViewer.deployModalSubtitle':
|
||||
'Kendi hesabınızı kullanarak bu HTML eserini bir Vercel Önizlemesi olarak yayınlayın.',
|
||||
'fileViewer.vercelToken': 'Vercel tokeni',
|
||||
'fileViewer.vercelTokenGetLink': 'Vercel tokenini al',
|
||||
'fileViewer.vercelTokenPlaceholder': 'Vercel tokeninizi yapıştırın',
|
||||
'fileViewer.vercelTokenReuseHint':
|
||||
'Kaydedilmiş token kullanılacak. Değiştirmek için yeni bir token girin.',
|
||||
'fileViewer.vercelTokenRequired': 'Önce bir Vercel tokeni girin ve kaydedin.',
|
||||
'fileViewer.vercelTeamId': 'Takım ID',
|
||||
'fileViewer.vercelTeamSlug': 'Takım slug’ı',
|
||||
'fileViewer.optional': 'Opsiyonel',
|
||||
'fileViewer.vercelPreviewOnly': 'Yayınlanmış içerikler şimdilik yalnızca önizlenebilir.',
|
||||
'fileViewer.savingConfig': 'Kaydediliyor…',
|
||||
'fileViewer.deployConfigSaveFailed': 'Vercel ayarları kaydedilemedi.',
|
||||
'fileViewer.deployFailed': 'Yayınlama başarısız oldu. Vercel ayarlarınızı kontrol edin ve yeniden deneyin.',
|
||||
'fileViewer.deployResultLabel': 'Yayınlanmış URL',
|
||||
'fileViewer.deployLinkPreparingLabel': 'Herkese açık link bekleniyor',
|
||||
'fileViewer.deployLinkDelayed':
|
||||
'Siteniz yayınlandı. Vercel hala herkese açık linki hazırlıyor.',
|
||||
'fileViewer.deployLinkProtectedLabel': 'Vercel koruması açıldı',
|
||||
'fileViewer.deployLinkProtected':
|
||||
'Siteniz yayınlandı, Ancak Vercel bu linki önizlemek için doğrulama gerektiriyor. Yayınlama Korumasını devre dışı bırakın veya özel bir domain kullanın.',
|
||||
'fileViewer.retryLink': 'Şimdi yeniden dene',
|
||||
|
||||
'questionForm.submit': 'Gönder',
|
||||
'questionForm.skip': 'Atla',
|
||||
'questionForm.locked': 'Cevaplandı',
|
||||
|
||||
'conv.switch': 'Konuşmayı değiştir',
|
||||
'conv.label': 'Konuşma',
|
||||
'conv.heading': 'Konuşmalar',
|
||||
'conv.new': '+ Yeni',
|
||||
'conv.empty': 'Henüz konuşma yok.',
|
||||
'conv.untitled': 'Başlıksız konuşma',
|
||||
'conv.renameTooltip': 'Yeniden adlandırmak için çift tıklayın',
|
||||
'conv.delete': 'Konuşmayı sil',
|
||||
'conv.deleteConfirm': '"{title}"ı sil? Bu mesajları silecektir.',
|
||||
|
||||
'agentPicker.label': 'Ajan',
|
||||
'agentPicker.modeChoose': 'Yürütme modunu seç',
|
||||
'agentPicker.localCli': 'Yerel CLI',
|
||||
'agentPicker.daemonOff': 'Arka plan servisi kapalı',
|
||||
'agentPicker.byok': 'API · BYOK',
|
||||
'agentPicker.selectAgent': 'Tespit edilmiş bir kod ajanı CLI’ı seçin',
|
||||
'agentPicker.noAgents': 'PATH’te ajan yok',
|
||||
'agentPicker.notInstalled': 'kurulmadı',
|
||||
'agentPicker.rescan': 'Ajanlar için yerel PATH’ı yeniden tara',
|
||||
|
||||
'tool.openInTab': '{name}’ı bir sekmede aç ',
|
||||
'tool.open': 'aç',
|
||||
'tool.todos': 'Yapılacaklar',
|
||||
'tool.write': 'Yaz',
|
||||
'tool.edit': 'Düzenle',
|
||||
'tool.read': 'Oku',
|
||||
'tool.bash': 'Bash',
|
||||
'tool.glob': 'Glob',
|
||||
'tool.grep': 'Grep',
|
||||
'tool.fetch': 'Fetch',
|
||||
'tool.search': 'Ara',
|
||||
'tool.lines': '{n} satır',
|
||||
'tool.changeSingular': 'değişiklik',
|
||||
'tool.changePlural': 'değişiklikler',
|
||||
'tool.in': '{path} yolunda',
|
||||
'tool.hide': 'sakla',
|
||||
'tool.output': 'çıktı',
|
||||
'tool.running': 'çalışıyor…',
|
||||
'tool.error': 'hata',
|
||||
'tool.done': 'bitti',
|
||||
|
||||
'assistant.role': 'Asistan',
|
||||
'assistant.workingLabel': 'Çalışıyor',
|
||||
'assistant.doneLabel': 'Bitti',
|
||||
'assistant.unfinishedLabel': 'Bitmemiş işlerle durduruldu',
|
||||
'assistant.unfinishedSummary': '{n} görev kaldı',
|
||||
'assistant.unfinishedMore': '+{n} daha',
|
||||
'assistant.continueRemaining': 'Kalan görevleri sürdür',
|
||||
'assistant.outTokens': '{n} çıktı',
|
||||
'assistant.producedFiles': 'Bu çalışmadan dosyalar',
|
||||
'assistant.openFile': 'Aç',
|
||||
'assistant.downloadFile': 'İndir',
|
||||
'assistant.thinking': 'Düşünüyor',
|
||||
'assistant.systemReminder': 'Sistem hatırlatıcısı',
|
||||
'assistant.waitingFirstOutput': 'İlk girdi için bekleniyor',
|
||||
'assistant.statusBootingAgent': 'Ajan başlatılıyor',
|
||||
'assistant.statusStarting': 'Başlıyor',
|
||||
'assistant.statusRequesting': 'İstek gönderiliyor',
|
||||
'assistant.statusThinking': 'Düşünüyor',
|
||||
'assistant.statusStreaming': 'Yayınlıyor',
|
||||
'assistant.slowHint':
|
||||
'Normalden uzun sürüyor. Form normalde 5–10 saniye içinde görünür — Durabilir ve cümleninizi yeniden gönderebilirsiniz.',
|
||||
'assistant.verbEditing': 'Düzenliyor',
|
||||
'assistant.verbWriting': 'Yazıyor',
|
||||
'assistant.verbReading': 'Okuyor',
|
||||
'assistant.verbSearching': 'Arıyor',
|
||||
'assistant.verbRunning': 'Çalıştırıyor',
|
||||
'assistant.verbTodos': 'Yapılacaklar',
|
||||
'assistant.verbFetching': 'Getiriyor',
|
||||
'assistant.verbCalling': 'Çağırıyor',
|
||||
|
||||
'qf.answered': 'cevapladı',
|
||||
'qf.choose': 'Se.…',
|
||||
'qf.required': 'gerekli',
|
||||
'qf.lockedSubmitted':
|
||||
'Cevaplar gönderildi — ajan bunları oturum sonuna kadar kullanıyor.',
|
||||
'qf.lockedPrev': 'Bu form önceki bir çalışmadan.',
|
||||
'qf.hint':
|
||||
"Uyanı seçin. Önemsemediğiniz opsiyonel alanları atlayın — ajan mantıklı varsayılan değerler kullanacak.",
|
||||
'qf.submitDefault': 'Cevapları gönder',
|
||||
'qf.submitDisabledTitle': 'Önce gerekli alanları doldurun',
|
||||
'qf.submitTitle': 'Cevapları gönder',
|
||||
'qf.cardSelected': 'seçildi',
|
||||
'qf.cardRefs': 'Referanslar:',
|
||||
'qf.cardSampleText': 'Pijamalı hasta yağız şoföre çabucak güvendi · 0123',
|
||||
|
||||
'sketch.toolSelect': 'Seç (işlem yok)',
|
||||
'sketch.toolPen': 'Kalem',
|
||||
'sketch.toolText': 'Metin',
|
||||
'sketch.toolRect': 'Dörtgen',
|
||||
'sketch.toolArrow': 'Ok',
|
||||
'sketch.toolEraser': 'Silgi',
|
||||
'sketch.color': 'Renk',
|
||||
'sketch.strokeSize': 'Fırça boyutu',
|
||||
'sketch.undo': 'Geri al',
|
||||
'sketch.clear': 'Temizle',
|
||||
'sketch.close': 'Kapat',
|
||||
'sketch.textPrompt': 'Metin:',
|
||||
|
||||
'pet.title': 'Evcil Dostlar',
|
||||
'pet.tabBuiltIn': 'Yerleşik',
|
||||
'pet.tabBuiltInHint': 'Open Design ile gelen seçili dostlar — birini seç ve sahiplen.',
|
||||
'pet.builtInEmpty': 'Hazır petler şu an kullanılamıyor. Daemon tekrar çevrimiçi olduğunda Topluluk sekmesini yenile.',
|
||||
'pet.tabCustom': 'Özel',
|
||||
'pet.tabCustomHint': 'Ad, glif, renk veya sprite\'ını kendin belirle.',
|
||||
'pet.tabCommunity': 'Topluluk',
|
||||
'pet.tabCommunityHint': 'Codex\'te yumurtadan çıkan dostlar — sahiplen ya da yapay zekâ ile yeni bir tane üret.',
|
||||
'pet.tabsAria': 'Evcil dost kaynağı',
|
||||
'pet.subtitle': 'Çalışma alanının üstünde süzülen küçük bir dost edin.',
|
||||
'pet.navTitle': 'Evcil Dostlar',
|
||||
'pet.navHint': 'Sahiplen veya özelleştir',
|
||||
'pet.adopt': 'Sahiplen',
|
||||
'pet.adoptedBadge': 'Sahiplenildi',
|
||||
'pet.adoptCallout': 'Bir evcil dost sahiplen',
|
||||
'pet.changePet': 'Dostu değiştir',
|
||||
'pet.wake': 'Uyandır',
|
||||
'pet.tuck': 'Sakla',
|
||||
'pet.wakeTitle': 'Dostu uyandır — kayan paneli göster.',
|
||||
'pet.tuckTitle': 'Dostu sakla — kayan paneli gizle.',
|
||||
'pet.settingsTitle': 'Evcil dost ayarlarını aç',
|
||||
'pet.useCustom': 'Kendi dostumu kullan',
|
||||
'pet.customTitle': 'Kendin oluştur',
|
||||
'pet.customHint': 'Bir ad, simge ve vurgu rengi seç — panel anında güncellenir.',
|
||||
'pet.customGreetingPlaceholder': 'Dostundan bir selam…',
|
||||
'pet.fieldName': 'Ad',
|
||||
'pet.fieldGlyph': 'Simge',
|
||||
'pet.fieldGlyphHint': 'Tek bir emoji en iyisidir (ör. 🐝, 🦄, 🐢).',
|
||||
'pet.fieldGreeting': 'Selamlama',
|
||||
'pet.fieldAccent': 'Vurgu rengi',
|
||||
'pet.fieldAccentCustom': 'Özel renk',
|
||||
'pet.overlayAria': 'Evcil dost yoldaş',
|
||||
'pet.spriteAria': '{name} — taşımak için sürükle, sohbet için tıkla',
|
||||
'pet.spriteTitle': '{name} merhaba diyor! Sohbet için tıkla.',
|
||||
'pet.railAria': 'Evcil dost seçici',
|
||||
'pet.railTitle': 'Evcil Dostlar',
|
||||
'pet.railHint': 'Çalışma alanının üstünde süzülecek bir yoldaş seç.',
|
||||
'pet.railExpand': 'Seçiciyi göster',
|
||||
'pet.railCollapse': 'Seçiciyi daralt',
|
||||
'pet.railHide': 'Pet seçiciyi gizle',
|
||||
'pet.railShow': 'Pet seçiciyi göster',
|
||||
'pet.railCustomFlavor': 'Kendi dostun — ad, simge ve renk.',
|
||||
'pet.railCustomize': 'Özelleştir…',
|
||||
'pet.composerTitle': 'Evcil Dostlar — uyandır, sakla veya seç',
|
||||
'pet.composerMenuTitle': 'Evcil Dostlar',
|
||||
'pet.composerMenuHint': 'ipucu: değiştirmek için /pet yaz',
|
||||
'pet.composerOpenSettings': 'Ayarlardan özelleştir',
|
||||
'pet.welcomeTeaserTitle': 'Bir evcil dost sahiplen',
|
||||
'pet.welcomeTeaserBody': 'Çalışma alanın üstünde süzülen küçük bir yoldaş.',
|
||||
'pet.welcomeTeaserCta': 'Birini seç',
|
||||
'pet.imageUpload': 'Sprite yükle',
|
||||
'pet.imageReplace': 'Sprite değiştir',
|
||||
'pet.imageRemove': 'Emoji kullan',
|
||||
'pet.imageHintIdle': 'PNG, JPG, WebP, GIF veya SVG. Spritesheet? Yatay bir şerit yükle ve frame sayısını ayarla.',
|
||||
'pet.imageHintActive': 'Sprite gösteriliyor. Frame sayısını > 1 yaparak yatay spritesheeti hareket ettir.',
|
||||
'pet.fieldFrames': 'Frame',
|
||||
'pet.fieldFramesHint': '1 = statik. > 1 = yatay spritesheet.',
|
||||
'pet.fieldFps': 'Hız (fps)',
|
||||
'pet.fieldFpsHint': 'Frame değişim hızı.',
|
||||
'pet.atlasImport': 'Codex sprite\'ı içe aktar',
|
||||
'pet.atlasImportTitle': 'hatch-pet 8x9 / 192x208 atlasını (PNG veya WebP) içe aktarın.',
|
||||
'pet.atlasPickerTitle': 'Bir animasyon satırı seçin',
|
||||
'pet.atlasPickerHint': 'Codex evcilleri 9 animasyon satırı ile gelir. Varsayılan olarak tüm atlası saklarız; böylece evcil hayvan üzerine gelmede, sürükleme yönünde ve uzun boşta kalmada satır değiştirir. Tek bir döngüye de sabitleyebilirsiniz.',
|
||||
'pet.atlasCancel': 'Atlası bırak',
|
||||
'pet.atlasAdopt': 'Bu satıra sabitle',
|
||||
'pet.atlasAdoptFull': 'Tüm atlası kullan (animasyonlu)',
|
||||
'pet.atlasAdoptFullTitle': 'Tüm satırları koruyun; böylece evcil hayvan üzerine gelmeye, sürükleme yönüne ve uzun boşta kalmaya tepki verir.',
|
||||
'pet.atlasAdoptRowTitle': 'Yalnızca vurgulanan satırı tek döngülü bir şerite kesin.',
|
||||
'pet.atlasActiveHint': 'Animasyonlu atlas etkin — evcil hayvan etkileşiminize (üzerine gelme, sürükleme, boşta kalma) göre bir satır seçer.',
|
||||
'pet.atlasRow.idle': 'Boşta',
|
||||
'pet.atlasRow.running-right': 'Sağa koş',
|
||||
'pet.atlasRow.running-left': 'Sola koş',
|
||||
'pet.atlasRow.waving': 'El sallama',
|
||||
'pet.atlasRow.jumping': 'Zıplama',
|
||||
'pet.atlasRow.failed': 'Başarısız',
|
||||
'pet.atlasRow.waiting': 'Bekleme',
|
||||
'pet.atlasRow.running': 'Koşu',
|
||||
'pet.atlasRow.review': 'İnceleme',
|
||||
'pet.hatchTitle': 'AI ile yeni pet kuluçkala',
|
||||
'pet.hatchHint': 'Sohbette gömülü hatch-pet skill\'ini kullanarak Codex tarzı bir spritesheet üretin, ardından buraya içe aktarın.',
|
||||
'pet.hatchConcept': 'Pet konsepti (opsiyonel)',
|
||||
'pet.hatchConceptPlaceholder': 'örn. rahat bir kazak giyen küçük piksel-art shiba',
|
||||
'pet.hatchCopy': 'Prompt\'u kopyala',
|
||||
'pet.hatchCopied': 'Kopyalandı!',
|
||||
'pet.hatchFoot': 'Skill petinizi kaydettiğinde geri dönüp "Codex sprite\'ı içe aktar" düğmesine basın.',
|
||||
'pet.slashPopoverAria': 'Slash komutları',
|
||||
'pet.slashPopoverTitle': 'Komutlar',
|
||||
'pet.slashPopoverHint': '↑↓ gez · enter seç · esc kapat',
|
||||
'pet.slashPet': 'Peti aç/kapat, evlat edin veya ayarları aç.',
|
||||
'pet.slashPetWake': 'Yüzen peti uyandır.',
|
||||
'pet.slashPetTuck': 'Peti şimdilik sakla.',
|
||||
'pet.slashHatch': 'hatch-pet skill\'i ile bir Codex peti üret.',
|
||||
'pet.slashHatchArg': '<konsept>',
|
||||
'pet.codexTitle': 'Yeni kuluçkalananlar',
|
||||
'pet.codexSubtitle': 'hatch-pet skill\'inin paketlediği petler tek tıkla evlat edinmek için burada görünür.',
|
||||
'pet.codexSubtitleWithDir': 'hatch-pet paketleri için {dir} taranıyor.',
|
||||
'pet.codexEmpty': 'Henüz kuluçkalanan pet yok. Sohbette /hatch yazarak bir tane üretin.',
|
||||
'pet.codexLoading': 'Kuluçkalanan petler aranıyor…',
|
||||
'pet.codexRefresh': 'Yenile',
|
||||
'pet.codexAdopt': 'Evlat edin',
|
||||
'pet.codexAdopting': 'Evlat ediniyor…',
|
||||
'pet.communitySync': 'Topluluk petlerini indir',
|
||||
'pet.communitySyncing': 'İndiriliyor…',
|
||||
'pet.communitySyncTitle': 'Codex Pet Share + j20 Hatchery üzerindeki en yeni petleri ~/.codex/pets/ altına eşitle.',
|
||||
'pet.communitySyncDone': '{wrote} yeni pet eşitlendi (toplam {total}).',
|
||||
'pet.communitySyncFailed': 'Eşitleme başarısız: {error}',
|
||||
'pet.codexBundled': 'Yerleşik',
|
||||
'pet.codexBundledTitle': 'Open Design ile birlikte gelir — indirme gerekmez.',
|
||||
|
||||
'settings.notifications': 'Bildirimler',
|
||||
'settings.notificationsHint': 'Görev tamamlandığında ses ve masaüstü bildirimi',
|
||||
'settings.notifyCompletionSound': 'Tamamlanma sesi',
|
||||
'settings.notifyCompletionSoundHint': 'Bir tur sona erdiğinde çalar. Varsayılan olarak kapalı.',
|
||||
'settings.notifySuccessSound': 'Başarı sesi',
|
||||
'settings.notifyFailureSound': 'Hata sesi',
|
||||
'settings.notifyDesktop': 'Masaüstü bildirimi',
|
||||
'settings.notifyDesktopHint': 'Pencere etkin değilken gönderilir.',
|
||||
'settings.notifyDesktopBlocked': 'Tarayıcı bildirimleri engelledi. Site ayarlarından izin verin.',
|
||||
'settings.notifyDesktopUnsupported': 'Bu ortamda masaüstü bildirimleri kullanılamıyor.',
|
||||
'settings.notifyTest': 'Test gönder',
|
||||
'settings.notifyTestSent': 'Test bildirimi gönderildi. Banner görünmezse tarayıcı ve sistem bildirim ayarlarını kontrol edin.',
|
||||
'settings.notifyTestFailed': 'Bildirim çağrısı başarısız oldu. Tarayıcı ve sistem bildirim ayarlarını kontrol edin.',
|
||||
'settings.notifySoundDing': 'Çın',
|
||||
'settings.notifySoundChime': 'Çıngırak',
|
||||
'settings.notifySoundTwoToneUp': 'Yükselen iki ton',
|
||||
'settings.notifySoundPluck': 'Tıngırtı',
|
||||
'settings.notifySoundBuzz': 'Vızıltı',
|
||||
'settings.notifySoundTwoToneDown': 'Alçalan iki ton',
|
||||
'settings.notifySoundThud': 'Boğuk vuruş',
|
||||
'notify.successTitle': 'Görev tamamlandı',
|
||||
'notify.failureTitle': 'Görev başarısız oldu',
|
||||
'notify.successBody': 'Bir tur tamamlandı.',
|
||||
'notify.failureBody': 'Görev bir hata ile sona erdi.',
|
||||
};
|
||||
@@ -0,0 +1,831 @@
|
||||
import type { Dict } from '../types';
|
||||
|
||||
export const uk: Dict = {
|
||||
'common.cancel': 'Скасувати',
|
||||
'common.save': 'Зберегти',
|
||||
'common.close': 'Закрити',
|
||||
'common.delete': 'Видалити',
|
||||
'common.rename': 'Перейменувати',
|
||||
'common.preview': 'Переглянути',
|
||||
'common.share': 'Поділитися',
|
||||
'common.search': 'Пошук',
|
||||
'common.searchEllipsis': 'Пошук…',
|
||||
'common.loading': 'Завантаження…',
|
||||
'common.all': 'Все',
|
||||
'common.none': 'Жодного',
|
||||
'common.default': 'За замовчуванням',
|
||||
'common.installed': 'встановлено',
|
||||
'common.notInstalled': 'не встановлено',
|
||||
'common.active': 'активно',
|
||||
'common.offline': 'вимкнено',
|
||||
'common.selected': 'вибрано',
|
||||
'common.create': 'Створити',
|
||||
'common.openPreview': 'Відкрити попередній перегляд',
|
||||
'common.exitFullscreen': 'Вийти з повноекранного режиму',
|
||||
'common.fullscreen': 'Повноекранний режим',
|
||||
'common.openInNewTab': 'Відкрити в новій вкладці',
|
||||
'common.exportPdf': 'Експортувати як PDF',
|
||||
'common.exportZip': 'Завантажити як .zip',
|
||||
'common.exportHtml': 'Експортувати як HTML автономно',
|
||||
'common.justNow': 'щойно',
|
||||
'common.minutesAgo': '{n}хв тому',
|
||||
'common.hoursAgo': '{n}г тому',
|
||||
'common.daysAgo': '{n}дн тому',
|
||||
'common.now': 'тепер',
|
||||
'common.minutesShort': '{n}хв',
|
||||
'common.hoursShort': '{n}г',
|
||||
'common.daysShort': '{n}дн',
|
||||
'common.untitled': 'Без назви',
|
||||
|
||||
'app.brand': 'Open Design',
|
||||
'app.brandPill': 'Попередній перегляд',
|
||||
'app.brandSubtitle': 'від Nexu Labs',
|
||||
'app.welcomeLoading': 'Завантаження робочого простору…',
|
||||
|
||||
'settings.welcomeKicker': 'Ласкаво просимо',
|
||||
'settings.welcomeTitle': 'Налаштування Open Design',
|
||||
'settings.welcomeSubtitle':
|
||||
'Виберіть, як ви хочете запускати генерацію. Ви можете змінити це в будь-який час за допомогою кнопки Налаштування в верхній панелі.',
|
||||
'settings.kicker': 'Налаштування',
|
||||
'settings.title': 'Виконання та модель',
|
||||
'settings.subtitle': 'Виберіть локальний CLI або BYOK. Ваш API-ключ зберігається лише в цьому браузері.',
|
||||
'settings.modeAria': 'Режим виконання',
|
||||
'settings.protocolAria': 'Протокол API',
|
||||
'settings.modeDaemon': 'Локальний CLI',
|
||||
'settings.modeDaemonHelp': 'Запуск через CLI кодового агента на вашому комп\'ютері',
|
||||
'settings.modeDaemonOffline': 'Фоновий процес не запущений',
|
||||
'settings.modeDaemonOfflineMeta': 'Фоновий процес офлайн',
|
||||
'settings.modeDaemonInstalledMeta': '{count} встановлено',
|
||||
'settings.modeApi': 'API-провайдер',
|
||||
'settings.modeApiMeta': 'BYOK',
|
||||
'settings.codeAgent': 'Кодовий агент',
|
||||
'settings.codeAgentHint':
|
||||
'Виявляється за допомогою сканування вашого PATH. Виберіть CLI, через який мають проходити генерації.',
|
||||
'settings.rescan': '↻ Переканувати',
|
||||
'settings.rescanTitle': 'Повторно сканувати PATH',
|
||||
'settings.rescanRunning': 'Сканування...',
|
||||
'settings.rescanSuccess': 'Сканування завершено. Доступно: {count}.',
|
||||
'settings.rescanFailed':
|
||||
'Сканування не вдалося. Перевірте фоновий процес і спробуйте ще раз.',
|
||||
'settings.noAgentsDetected':
|
||||
'Агентів ще не виявлено. Встановіть один з: Claude Code, Codex, Devin for Terminal, Gemini CLI, OpenCode, Cursor Agent, Qwen або GitHub Copilot CLI, а потім натисніть Переканувати.',
|
||||
'settings.apiSection': 'Anthropic API',
|
||||
'settings.quickFillProvider': 'Швидко заповнити провайдера',
|
||||
'settings.customProvider': 'Власний провайдер',
|
||||
'settings.apiKey': 'API-ключ',
|
||||
'settings.showKey': 'Показати ключ',
|
||||
'settings.hideKey': 'Приховати ключ',
|
||||
'settings.show': 'Показати',
|
||||
'settings.hide': 'Приховати',
|
||||
'settings.model': 'Модель',
|
||||
'settings.suggestedModelsHint':
|
||||
'Це рекомендовані моделі для цього протоколу. Ваш провайдер може підтримувати інші моделі.',
|
||||
'settings.baseUrl': 'Базовий URL',
|
||||
'settings.baseUrlInvalid': 'Введіть дійсний публічний URL з http:// або https://. Localhost дозволено; IP приватних мереж блокуються.',
|
||||
'settings.azureDeploymentModel': 'Назва розгортання',
|
||||
'settings.azureDeploymentModelHint':
|
||||
'Для Azure OpenAI це поле використовується як назва розгортання в /openai/deployments/<model>. Введіть назву розгортання, створену в Azure.',
|
||||
'settings.apiVersion': 'Версія API',
|
||||
'settings.maxTokens': 'Макс. токенів (необов\'язково)',
|
||||
'settings.maxTokensHint':
|
||||
'Обмеження на довжину відповіді. Кожна модель має налаштовану за замовчуванням (показано в заповнювачі); залиште поле порожнім, щоб використовувати її, або введіть число, щоб переопрацювати.',
|
||||
'settings.apiHint': 'Запити надсилаються через локальний проксі daemon до вказаного Base URL. Ключ зберігається лише в цьому браузері й надсилається із запитами до провайдера.',
|
||||
'settings.skipForNow': 'Пропустити зараз',
|
||||
'settings.getStarted': 'Почати',
|
||||
'settings.envConfigure': 'Налаштування режиму виконання',
|
||||
'settings.localCli': 'Локальний CLI',
|
||||
'settings.anthropicApi': 'Anthropic API',
|
||||
'settings.noAgentSelected': 'агент не вибран',
|
||||
'settings.language': 'Мова',
|
||||
'settings.languageHint': 'Перемкніть мову інтерфейсу. Зберігається в цьому браузері.',
|
||||
'settings.appearance': 'Зовнішній вигляд',
|
||||
'settings.appearanceHint': 'Виберіть світлу, темну тему або дотримуйтеся системного параметра.',
|
||||
'settings.themeSystem': 'Системна',
|
||||
'settings.themeLight': 'Світла',
|
||||
'settings.themeDark': 'Темна',
|
||||
'settings.modelPicker': 'Модель',
|
||||
'settings.reasoningPicker': 'Інтенсивність міркувань',
|
||||
'settings.modelPickerHint':
|
||||
'Отримується з CLI, коли він виявляє команду `models`. «За замовчуванням» залишає вибір конфігурації CLI; «Власна…» дозволяє ввести будь-яке ID моделі, яке приймає CLI.',
|
||||
'settings.modelCustom': 'Власна (введіть нижче)…',
|
||||
'settings.modelCustomLabel': 'Власне ID моделі',
|
||||
'settings.modelCustomPlaceholder': 'напр. anthropic/claude-sonnet-4-6',
|
||||
'settings.mediaProviders': 'Медіа-провайдери',
|
||||
'settings.mediaProvidersHint':
|
||||
'API-ключі для генерації зображень, відео та аудіо. Зберігаються локально та синхронізуються з локальним фоновим процесом.',
|
||||
'settings.mediaProviderApiKey': 'API-ключ',
|
||||
'settings.mediaProviderBaseUrl': 'Базовий URL',
|
||||
'settings.mediaProviderConfigured': 'Налаштовано',
|
||||
'settings.mediaProviderUnset': 'Не встановлено',
|
||||
'settings.mediaProviderClear': 'Очистити',
|
||||
'settings.mediaProviderPlaceholder': 'Вставте API-ключ',
|
||||
'settings.mediaProviderBaseUrlPlaceholder': 'Переопрацювати базовий URL за замовчуванням',
|
||||
'settings.about': 'Про програму',
|
||||
'settings.aboutHint': 'Деталі версії та виконання',
|
||||
'settings.appVersion': 'Версія',
|
||||
'settings.appChannel': 'Канал',
|
||||
'settings.appRuntime': 'Середовище виконання',
|
||||
'settings.appPlatform': 'Платформа',
|
||||
'settings.appArchitecture': 'Архітектура',
|
||||
'settings.runtimePackaged': 'Упакований додаток',
|
||||
'settings.runtimeDevelopment': 'Розробка',
|
||||
'settings.versionUnavailable': 'Деталі версії недоступні, поки фоновий процес перебуває в офлайні.',
|
||||
|
||||
'entry.tabDesigns': 'Дизайни',
|
||||
'entry.tabExamples': 'Приклади',
|
||||
'entry.tabDesignSystems': 'Системи дизайну',
|
||||
'entry.openSettingsTitle': 'Налаштування',
|
||||
'entry.openSettingsAria': 'Відкрити налаштування',
|
||||
'entry.resizeAria': 'Змінити розмір бічної панелі',
|
||||
'entry.loadingWorkspace': 'Завантаження робочого простору…',
|
||||
'entry.tabImageTemplates': 'Шаблони зображень',
|
||||
'entry.tabVideoTemplates': 'Шаблони відеороликів',
|
||||
'promptTemplates.searchPlaceholder': 'Пошук шаблонів…',
|
||||
'promptTemplates.countLabel': '{n} результатів',
|
||||
'promptTemplates.emptyImage': 'Шаблонів підказок для зображень ще не встановлено.',
|
||||
'promptTemplates.emptyVideo': 'Шаблонів підказок для відео ще не встановлено.',
|
||||
'promptTemplates.emptyNoMatch': 'Немає шаблонів, що відповідають вашому пошуку.',
|
||||
'promptTemplates.attributionFooter': 'Адаптовано з публічних бібліотек підказок. Кожна картка посилається на автора.',
|
||||
'promptTemplates.openPreviewTitle': 'Відкрити підказку та попередній перегляд',
|
||||
'promptTemplates.sourcePrefix': 'Джерело:',
|
||||
'promptTemplates.fetchError': 'Не вдалося завантажити текст цього шаблону.',
|
||||
'promptTemplates.promptLabel': 'Текст підказки',
|
||||
'promptTemplates.copyPrompt': 'Копіювати підказку',
|
||||
'promptTemplates.copyDone': 'Скопійовано!',
|
||||
'promptTemplates.modelHint': 'Рекомендована модель: {model}',
|
||||
'promptTemplates.openSource': 'Переглянути оригінал',
|
||||
'promptTemplates.openFullscreen': 'Відкрити попередній перегляд у повноекранному режимі',
|
||||
'promptTemplates.closeFullscreen': 'Закрити попередній перегляд у повноекранному режимі',
|
||||
'promptTemplates.retry': 'Повторити',
|
||||
|
||||
'newproj.tabPrototype': 'Прототип',
|
||||
'newproj.tabDeck': 'Презентація',
|
||||
'newproj.tabTemplate': 'З шаблону',
|
||||
'newproj.tabOther': 'Інше',
|
||||
'newproj.titlePrototype': 'Новий прототип',
|
||||
'newproj.titleDeck': 'Нова презентація',
|
||||
'newproj.titleTemplate': 'Почати з шаблону',
|
||||
'newproj.titleImage': 'Нове зображення',
|
||||
'newproj.titleVideo': 'Новий відеоролик',
|
||||
'newproj.titleAudio': 'Новий звуковий файл',
|
||||
'newproj.titleOther': 'Новий проект',
|
||||
'newproj.namePlaceholder': 'Назва проекту',
|
||||
'newproj.fidelityLabel': 'Деталізація',
|
||||
'newproj.fidelityWireframe': 'Каркас інтерфейсу',
|
||||
'newproj.fidelityHigh': 'Висока деталізація',
|
||||
'newproj.toggleSpeakerNotes': 'Використовувати нотатки доповідача',
|
||||
'newproj.toggleSpeakerNotesHint': 'Менше тексту на слайдах — основні моменти зберігаються в нотатках.',
|
||||
'newproj.toggleAnimations': 'Включити анімації',
|
||||
'newproj.toggleAnimationsHint':
|
||||
'Додати рух (вхід, наведення, переходи) поверх шаблону.',
|
||||
'newproj.templateLabel': 'Шаблон',
|
||||
'newproj.noTemplatesTitle': 'Шаблони ще не створені',
|
||||
'newproj.noTemplatesBody':
|
||||
'Відкрийте будь-який проект, а потім за допомогою меню Поділитися всередині переглядача файлів перетворіть його на шаблон. Шаблони з\'являтимуться тут.',
|
||||
'newproj.savedTemplate': 'Збережений шаблон',
|
||||
'newproj.fileSingular': 'файл',
|
||||
'newproj.filePlural': 'файли',
|
||||
'newproj.create': 'Створити',
|
||||
'newproj.createFromTemplate': 'Створити з шаблону',
|
||||
'newproj.createDisabledTitle':
|
||||
'Спочатку збережіть проект як шаблон (меню Поділитися всередині будь-якого проекту).',
|
||||
'newproj.importClaudeZip': 'Імпортувати Claude Design ZIP',
|
||||
'newproj.importClaudeZipTitle': 'Імпортувати експорт Claude Design .zip',
|
||||
'newproj.importingClaudeZip': 'Імпортування…',
|
||||
'newproj.privacyFooter': 'За замовчуванням лише ви можете переглянути свій проект.',
|
||||
'newproj.designSystem': 'Система дизайну',
|
||||
'newproj.dsNoneFreeform': 'Без — власний варіант',
|
||||
'newproj.dsNoneSubtitleEmpty': 'Без системних токенів, виберіть свою палітру',
|
||||
'newproj.dsNoneSubtitleSelected': 'Пропустити системні токени. Агент вибирає свою палітру.',
|
||||
'newproj.dsCategoryFallback': 'Система дизайну',
|
||||
'newproj.dsSearch': 'Пошук систем дизайну…',
|
||||
'newproj.dsModeAria': 'Режим вибору',
|
||||
'newproj.dsModeSingle': 'Одна',
|
||||
'newproj.dsModeMulti': 'Кілька',
|
||||
'newproj.dsNoneTitle': 'Без — власний варіант',
|
||||
'newproj.dsNoneSub': 'Пропустити системні токени. Агент вибирає свою палітру.',
|
||||
'newproj.dsEmpty': 'Системи дизайну, що відповідають "{query}", не знайдені.',
|
||||
'newproj.dsFootSingular': 'є лише натхненням.',
|
||||
'newproj.dsFootPlural': 'є лише натхненням.',
|
||||
'newproj.dsFootClear': 'Очистити',
|
||||
'newproj.dsBadgeDefault': 'ТИПОВА',
|
||||
'newproj.dsPrimaryFallback': 'Основна',
|
||||
'newproj.surfaceImage': 'Зображення',
|
||||
'newproj.surfaceVideo': 'Відеоролик',
|
||||
'newproj.surfaceAudio': 'Аудіо',
|
||||
'newproj.modelLabel': 'Модель',
|
||||
'newproj.aspectLabel': 'Пропорція',
|
||||
'newproj.imageStyleLabel': 'Примітки до стилю',
|
||||
'newproj.imageStylePlaceholder': 'Редакційне фото, м\'яке денне світло, приглушена палітра',
|
||||
'newproj.videoLengthLabel': 'Тривалість',
|
||||
'newproj.videoLengthSeconds': '{n}с',
|
||||
'newproj.audioKindLabel': 'Тип аудіо',
|
||||
'newproj.audioKindMusic': 'Музика',
|
||||
'newproj.audioKindSpeech': 'Мовлення / TTS',
|
||||
'newproj.audioKindSfx': 'Звукові ефекти',
|
||||
'newproj.audioDurationLabel': 'Тривалість',
|
||||
'newproj.audioDurationSeconds': '{n}с',
|
||||
'newproj.voiceLabel': 'Голос',
|
||||
'newproj.voicePlaceholder': 'ID голосу провайдера, необов\'язково',
|
||||
'newproj.promptTemplateLabel': 'Шаблон для посилання',
|
||||
'newproj.promptTemplateNoneTitle': 'Жоден — напишіть власний',
|
||||
'newproj.promptTemplateNoneSub': 'Пропустити галерею, описати власний брифінг',
|
||||
'newproj.promptTemplateRefSub': 'Шаблон для посилання',
|
||||
'newproj.promptTemplateSearch': 'Пошук шаблонів…',
|
||||
'newproj.promptTemplateEmpty': 'Для цієї поверхні ще не встановлено жодних шаблонів.',
|
||||
'newproj.promptTemplateBodyLabel': 'Підказка (ви можете налаштувати)',
|
||||
'newproj.promptTemplateOptimizeHint':
|
||||
'Редагуйте що завгодно — ваші зміни переносяться в брифінг агента.',
|
||||
'newproj.promptTemplateBodyEmpty':
|
||||
'Порожній текст — агент не отримає посилання на шаблон.',
|
||||
|
||||
'designs.subRecent': 'Нещодавні',
|
||||
'designs.subYours': 'Ваші дизайни',
|
||||
'designs.filterAria': 'Фільтрувати проекти',
|
||||
'designs.searchPlaceholder': 'Пошук…',
|
||||
'designs.emptyNoProjects': 'Проектів ще немає. Створіть один зліва.',
|
||||
'designs.emptyNoMatch': 'Проектів, що відповідають пошуку, не знайдено.',
|
||||
'designs.deleteTitle': 'Видалити проект',
|
||||
'designs.deleteConfirm': 'Видалити "{name}"?',
|
||||
'designs.cardFreeform': 'власний варіант',
|
||||
'designs.status.notStarted': 'Не розпочато',
|
||||
'designs.status.queued': 'У черзі',
|
||||
'designs.status.running': 'Виконується',
|
||||
'designs.status.awaitingInput': 'Чекає підтвердження',
|
||||
'designs.status.succeeded': 'Завершено',
|
||||
'designs.status.failed': 'Помилка',
|
||||
'designs.status.canceled': 'Скасовано',
|
||||
'designs.viewToggleAria': 'Режим перегляду',
|
||||
'designs.viewGrid': 'Вигляд сітки',
|
||||
'designs.viewKanban': 'Вигляд дошки',
|
||||
'designs.kanbanEmptyColumn': 'Немає дизайнів',
|
||||
'designs.deleteAria': 'Видалити проект {name}',
|
||||
|
||||
'examples.typeLabel': 'Тип',
|
||||
'examples.surfaceLabel': 'Приклади',
|
||||
'examples.surfaceWeb': 'Веб',
|
||||
'examples.surfaceImage': 'Зображення',
|
||||
'examples.surfaceVideo': 'Відеоролик',
|
||||
'examples.surfaceAudio': 'Аудіо',
|
||||
'examples.scenarioLabel': 'Кейс використання',
|
||||
'examples.modeAll': 'Все',
|
||||
'examples.modePrototypeDesktop': 'Прототипи · Комп\'ютер',
|
||||
'examples.modePrototypeMobile': 'Прототипи · Мобільний',
|
||||
'examples.modeDeck': 'Слайди',
|
||||
'examples.modeDocument': 'Документи та шаблони',
|
||||
'examples.scenarioGeneral': 'Загальне',
|
||||
'examples.scenarioEngineering': 'Інженерія',
|
||||
'examples.scenarioProduct': 'Продукт',
|
||||
'examples.scenarioDesign': 'Дизайн',
|
||||
'examples.scenarioMarketing': 'Маркетинг',
|
||||
'examples.scenarioSales': 'Продажі',
|
||||
'examples.scenarioFinance': 'Фінанси',
|
||||
'examples.scenarioHr': 'HR',
|
||||
'examples.scenarioOperations': 'Операції',
|
||||
'examples.scenarioSupport': 'Підтримка',
|
||||
'examples.scenarioLegal': 'Юридичні послуги',
|
||||
'examples.scenarioEducation': 'Освіта',
|
||||
'examples.scenarioPersonal': 'Особисте',
|
||||
'examples.searchPlaceholder': 'Пошук прикладів…',
|
||||
'examples.searchAria': 'Пошук прикладів за назвою',
|
||||
'examples.emptyNoSkills': 'Навички недоступні. Чи запущений фоновий процес?',
|
||||
'examples.emptyNoMatch': 'Приклади, що відповідають цим фільтрам, не знайдені.',
|
||||
'examples.openPreview': '⤢ Відкрити попередній перегляд',
|
||||
'examples.loadingPreview': 'Завантаження попереднього перегляду…',
|
||||
'examples.hoverPreview': 'Наведіть мишею для попереднього перегляду',
|
||||
'examples.usePrompt': 'Використовувати цю підказку',
|
||||
'examples.previewModalTitle': 'Відкрити повний попередній перегляд (модальне вікно)',
|
||||
'examples.shareTitle': 'Поділитися цим прикладом',
|
||||
'examples.shareLoadFirst': 'Спочатку наведіть мишею, щоб завантажити попередній перегляд',
|
||||
'examples.shareMenu': 'Поділитися ▾',
|
||||
'examples.exportPdfAllSlides': 'Експортувати як PDF (усі слайди)',
|
||||
'examples.exportPptxLocked': 'Експортувати як PPTX… (спочатку відкрийте шаблон)',
|
||||
'examples.tagSlideDeck': 'Презентація',
|
||||
'examples.tagTemplate': 'Шаблон',
|
||||
'examples.tagDesignSystem': 'Система дизайну',
|
||||
'examples.tagMobilePrototype': 'Мобільний прототип',
|
||||
'examples.tagDesktopPrototype': 'Прототип комп\'ютера',
|
||||
'examples.tagImage': 'Зображення',
|
||||
'examples.tagVideo': 'Відеоролик',
|
||||
'examples.tagAudio': 'Аудіо',
|
||||
'examples.previewLabel': 'Попередній перегляд',
|
||||
|
||||
'ds.surfaceLabel': 'Приклади',
|
||||
'ds.surfaceWeb': 'Веб',
|
||||
'ds.surfaceImage': 'Зображення',
|
||||
'ds.surfaceVideo': 'Відеоролик',
|
||||
'ds.surfaceAudio': 'Аудіо',
|
||||
'ds.searchPlaceholder': 'Пошук систем дизайну…',
|
||||
'ds.emptyNoMatch': 'Системи дизайну, що відповідають пошуку, не знайдені.',
|
||||
'ds.badgeDefault': 'ТИПОВА',
|
||||
'ds.preview': 'Попередній перегляд',
|
||||
'ds.previewTitle': 'Попередній перегляд системи дизайну',
|
||||
'ds.categoryAll': 'Все',
|
||||
'ds.categoryUncategorized': 'Без категорії',
|
||||
'ds.showcase': 'Витрина',
|
||||
'ds.tokens': 'Токени',
|
||||
'ds.specToggle': 'DESIGN.md',
|
||||
'ds.specLoading': 'Завантаження DESIGN.md…',
|
||||
|
||||
'avatar.title': 'Обліковий запис та налаштування',
|
||||
'avatar.localCli': 'Локальний CLI',
|
||||
'avatar.anthropicApi': 'Anthropic API',
|
||||
'avatar.useLocal': 'Використовувати локальний CLI',
|
||||
'avatar.useApi': 'Використовувати API · BYOK',
|
||||
'avatar.codeAgent': 'Кодовий агент',
|
||||
'avatar.rescan': 'Переканувати PATH',
|
||||
'avatar.settings': 'Налаштування',
|
||||
'avatar.backToProjects': 'Назад до проектів',
|
||||
'avatar.metaActive': 'активно',
|
||||
'avatar.metaOffline': 'вимкнено',
|
||||
'avatar.metaSelected': 'вибрано',
|
||||
'avatar.noAgentSelected': 'агент не вибран',
|
||||
'avatar.modelSection': 'Модель',
|
||||
'avatar.modelLabel': 'Модель',
|
||||
'avatar.reasoningLabel': 'Міркування',
|
||||
'avatar.customSuffix': '(власна)',
|
||||
|
||||
'project.backToProjects': 'Назад до проектів',
|
||||
'project.metaFreeform': 'вільна форма',
|
||||
'chat.tabChat': 'Чат',
|
||||
'chat.tabComments': 'Коментарі',
|
||||
'chat.commentsSoon': 'Коментарі — скоро',
|
||||
'chat.comments.attached': 'Прикріплено до чату',
|
||||
'chat.comments.emptyAttached': 'Коментарів не прикріплено.',
|
||||
'chat.comments.saved': 'Збережені коментарі',
|
||||
'chat.comments.emptySaved': 'Немає збережених коментарів.',
|
||||
'chat.comments.add': 'Додати',
|
||||
'chat.comments.addAll': 'Додати все',
|
||||
'chat.comments.remove': 'Видалити',
|
||||
'chat.comments.placeholder': 'Коментар до цього елемента…',
|
||||
'chat.comments.addSend': 'Додати та надіслати',
|
||||
'chat.comments.updateSend': 'Оновити та надіслати',
|
||||
'chat.comments.removeAttachment': 'Видалити прикріплений коментар',
|
||||
'chat.comments.removeAttachmentAria': 'Видалити прикріплений коментар для {name}',
|
||||
'chat.conversationsTitle': 'Розмови',
|
||||
'chat.conversationsAria': 'Історія розмов',
|
||||
'chat.newConversation': 'Нова розмова',
|
||||
'chat.newConversationsTitle': 'Нова розмова',
|
||||
'chat.conversationsHeading': 'Розмови',
|
||||
'chat.new': 'Нова',
|
||||
'chat.emptyConversations': 'Розмов ще немає.',
|
||||
'chat.deleteConversation': 'Видалити розмову',
|
||||
'chat.deleteConversationConfirm':
|
||||
'Видалити "{title}"? Це видалить усі її повідомлення.',
|
||||
'chat.untitledConversation': 'Розмова без назви',
|
||||
'chat.startTitle': 'Почніть розмову',
|
||||
'chat.startHint':
|
||||
'Перенесіть або вставте зображення для візуального посилання, або введіть @, щоб прикріпити файл з цього проекту. Або спробуйте один з цих стартерів:',
|
||||
'chat.fillInputTitle': 'Натисніть, щоб заповнити введення',
|
||||
'chat.jumpToLatest': 'Перейти до останнього',
|
||||
'chat.scrollToLatest': 'Прокрутити до останнього',
|
||||
'chat.you': 'Ви',
|
||||
'chat.openFile': 'Відкрити {name}',
|
||||
'chat.composerPlaceholder':
|
||||
'Опишіть дизайн, який ви хочете — вставте або перенесіть зображення, або скористайтеся @ для посилання на файл…',
|
||||
'chat.composerHint':
|
||||
'⌘/Ctrl + Enter для надіслання · вставляння зображень · @ для посилання на файли',
|
||||
'chat.cliSettingsTitle': 'Налаштування CLI та моделі',
|
||||
'chat.cliSettingsAria': 'Відкрити налаштування CLI та моделі',
|
||||
'chat.attachTitle': 'Прикріпити файли (або вставити / перенести)',
|
||||
'chat.attachAria': 'Прикріпити файли',
|
||||
'chat.importTitle': 'Імпортувати джерела (скоро)',
|
||||
'chat.importLabel': 'Імпортувати',
|
||||
'chat.importComingSoon': 'Скоро',
|
||||
'chat.importSoon': 'Скоро',
|
||||
'chat.importFig': 'Завантажити файл .fig',
|
||||
'chat.importGitHub': 'Підключити GitHub',
|
||||
'chat.importWeb': 'Захопити веб-елемент',
|
||||
'chat.importFolder': 'Пов\'язати папку коду',
|
||||
'chat.importSkills': 'Навички та системи дизайну',
|
||||
'chat.importProject': 'Посилання на інший проект',
|
||||
'chat.send': 'Надіслати',
|
||||
'chat.stop': 'Зупинити',
|
||||
'chat.removeAria': 'Видалити {name}',
|
||||
'chat.example1Title': 'Редакційна піч-дека',
|
||||
'chat.example1Tag': 'Журнал',
|
||||
'chat.example1Prompt':
|
||||
' 10-слайдова редакційна презентація для студії дизайну, що залучає стартовий раунд — макет швейцарської сітки, великі серифні заголовки з сміливими літерницями, моноширокі номери розділів, щедрий негативний простір та повнорозмірні фотослайди, чергуючися з текстозасадженими. Обкладинка, бачення, ринок, продукт, результати, команда, пропозиція, контакти.',
|
||||
'chat.example2Title': 'SaaS аналітична панель',
|
||||
'chat.example2Tag': 'Дані',
|
||||
'chat.example2Prompt':
|
||||
'Щільна аналітична панель для SaaS з інструментами розробника — смуга KPI з дельтами від тижня до тижня, два нашаровані графіки (MRR та активні робочі простори), світова теплова карта використання, сітка утримання когорти, лідерборд найпопулярніших клієнтів та стрічка подій реального часу. Темна тема, таблична моноширока цифра, акценти спарклайна.',
|
||||
'chat.example3Title': 'Довгий скрол річного звіту',
|
||||
'chat.example3Tag': 'Редакційне',
|
||||
'chat.example3Prompt':
|
||||
'Інтерактивний річний звіт для екологічної організації, що не шукає прибутку — довгий скрол редакційного макета, що змішує великі блоки цитат, візуалізацію даних (накопичені бари, анімовані лічильники, хорографічна карта місць проектів), перерви за фотографіями, стіна донорів та остаточний клич. Сучасний шрифт з засічками, безсерифні ярлики графіків, землиста палітра паперу.',
|
||||
|
||||
'preview.shareMenu': 'Поділитися ▾',
|
||||
'preview.openInNewTab': 'Відкрити в новій вкладці',
|
||||
'preview.exit': '⤓ Вихід',
|
||||
'preview.fullscreen': '⤢ Повноекранний режим',
|
||||
'preview.closeTitle': 'Закрити (Esc)',
|
||||
'preview.loading': 'Завантаження {label}…',
|
||||
'preview.showSidebar': 'Показати {label}',
|
||||
'preview.hideSidebar': 'Приховати {label}',
|
||||
|
||||
'misc.savedTemplate': 'Збережений шаблон',
|
||||
'misc.primary': 'Основна',
|
||||
'misc.designSystem': 'Система дизайну',
|
||||
|
||||
'workspace.designFiles': 'Файли дизайну',
|
||||
'workspace.closeTab': 'Закрити вкладку',
|
||||
'workspace.deleteFileConfirm': 'Видалити "{name}" з папки проекту?',
|
||||
'workspace.openFromDesignFiles': 'Відкрити файл з',
|
||||
'workspace.designFilesLink': 'Файли дизайну',
|
||||
'workspace.loadingSketch': 'Завантаження ескізу…',
|
||||
'designFiles.title': 'Файли дизайну',
|
||||
'designFiles.upload': 'Завантажити файли',
|
||||
'designFiles.pasteText': 'Вставити як текстовий файл',
|
||||
'designFiles.newSketch': 'Новий ескіз',
|
||||
'designFiles.empty':
|
||||
'Тут нічого немає. Перенесіть файли нижче, або створіть ескіз / вставте текст.',
|
||||
'designFiles.refresh': 'Оновити',
|
||||
'designFiles.delete': 'Видалити',
|
||||
'designFiles.searchPlaceholder': 'Пошук файлів…',
|
||||
'designFiles.up': 'Вгору',
|
||||
'designFiles.back': 'Назад',
|
||||
'designFiles.crumbs': 'проект',
|
||||
'designFiles.rowMenu': 'Меню рядка',
|
||||
'designFiles.openInTab': 'Відкрити на вкладці',
|
||||
'designFiles.download': 'Завантажити',
|
||||
'designFiles.downloadSelected': 'Download {n} as ZIP',
|
||||
'designFiles.clearSelection': 'Clear',
|
||||
'designFiles.selectAll': 'Select all',
|
||||
'designFiles.dropTitle': '⤓ Перенесіть файли сюди',
|
||||
'designFiles.dropDesc':
|
||||
'Зображення, документи, посилання або папки — агент використовуватиме їх як контекст.',
|
||||
'designFiles.upload.title': 'Завантажити файли',
|
||||
'designFiles.paste.title': 'Вставити текст як файл',
|
||||
'designFiles.upload.label': 'Завантажити',
|
||||
'designFiles.paste.label': 'Вставити',
|
||||
'designFiles.previewOpen': 'Відкрити',
|
||||
'designFiles.previewClose': 'Закрити попередній перегляд',
|
||||
'designFiles.modified': 'Змінено {time} · {size}',
|
||||
'designFiles.weeksAgo': '{n}тижнів назад',
|
||||
'designFiles.sectionPages': 'Сторінки',
|
||||
'designFiles.sectionScripts': 'Скрипти',
|
||||
'designFiles.sectionImages': 'Зображення',
|
||||
'designFiles.sectionSketches': 'Ескізи',
|
||||
'designFiles.sectionOther': 'Інше',
|
||||
'designFiles.showMore': 'Показати ще +{n}',
|
||||
'designFiles.kindHtml': 'Веб-сторінка',
|
||||
'designFiles.kindImage': 'Зображення',
|
||||
'designFiles.kindSketch': 'Ескіз',
|
||||
'designFiles.kindText': 'Текст',
|
||||
'designFiles.kindCode': 'Скрипт',
|
||||
'designFiles.kindPdf': 'PDF',
|
||||
'designFiles.kindDocument': 'Документ',
|
||||
'designFiles.kindPresentation': 'Презентація',
|
||||
'designFiles.kindSpreadsheet': 'Електронна таблиця',
|
||||
'designFiles.kindBinary': 'Двійковий',
|
||||
'pasteDialog.title': 'Вставити текст',
|
||||
'pasteDialog.hint': 'Збережено в папці проекту. Виберіть будь-яку назву.',
|
||||
'pasteDialog.fileNameLabel': 'Назва файлу',
|
||||
'pasteDialog.namePlaceholder': 'notes.txt',
|
||||
'pasteDialog.contentLabel': 'Вміст',
|
||||
'pasteDialog.contentPlaceholder': 'Вставте що завгодно…',
|
||||
'pasteDialog.save': 'Зберегти',
|
||||
'pasteDialog.cancel': 'Скасувати',
|
||||
'sketch.save': 'Зберегти ескіз',
|
||||
'sketch.cancel': 'Скасувати',
|
||||
'sketch.saving': 'Збереження…',
|
||||
'sketch.tooltipDirty': 'Незбережені зміни',
|
||||
'sketch.tooltipClean': 'Збережено',
|
||||
'fileViewer.empty': 'Виберіть файл для перегляду.',
|
||||
'fileViewer.loading': 'Завантаження…',
|
||||
'fileViewer.exportPptx': 'Експортувати як PPTX',
|
||||
'fileViewer.openInNewTab': 'Відкрити в новій вкладці',
|
||||
'fileViewer.copyPath': 'Копіювати шлях',
|
||||
'fileViewer.copied': 'Скопійовано!',
|
||||
'fileViewer.share': 'Поділитися',
|
||||
'fileViewer.binaryMeta': 'Двійковий · {size}',
|
||||
'fileViewer.binaryNote':
|
||||
'Двійковий файл ({size} байтів). Завантажте або відкрийте з диска для інспекції.',
|
||||
'fileViewer.pdfMeta': 'PDF · {size}',
|
||||
'fileViewer.documentMeta': 'Документ',
|
||||
'fileViewer.presentationMeta': 'Презентація',
|
||||
'fileViewer.spreadsheetMeta': 'Електронна таблиця',
|
||||
'fileViewer.previewUnavailable': 'Попередній перегляд недоступний. Завантажте або відкрийте файл для інспекції.',
|
||||
'fileViewer.download': 'Завантажити',
|
||||
'fileViewer.open': 'Відкрити',
|
||||
'fileViewer.imageMeta': 'Зображення · {size}',
|
||||
'fileViewer.reactMeta': 'React компонент · {size}',
|
||||
'fileViewer.sketchMeta': 'Ескіз · {size}',
|
||||
'fileViewer.markdownStreamingMeta': 'Попередній перегляд потоку…',
|
||||
'fileViewer.markdownErrorMeta': 'Попередній перегляд може бути неповним (помилка генерації).',
|
||||
'fileViewer.markdownStreamingStatus': 'Потоком… показано часткове повідомлення.',
|
||||
'fileViewer.markdownErrorStatus': 'Помилка генерації. Показано останній доступний вміст.',
|
||||
'fileViewer.videoMeta': 'Відеоролик · {size}',
|
||||
'fileViewer.audioMeta': 'Аудіо · {size}',
|
||||
'fileViewer.reload': 'Перезавантажити',
|
||||
'fileViewer.reloadDisk': 'Перезавантажити з диска',
|
||||
'fileViewer.copy': 'Копіювати',
|
||||
'fileViewer.copyTitle': 'Копіювати вміст файлу',
|
||||
'fileViewer.saveDisabled': 'Зберегти (переглядач лише для читання)',
|
||||
'fileViewer.save': 'Зберегти',
|
||||
'fileViewer.preview': 'Попередній перегляд',
|
||||
'fileViewer.source': 'Джерело',
|
||||
'fileViewer.tweaks': 'Настройки',
|
||||
'fileViewer.comment': 'Коментар',
|
||||
'fileViewer.edit': 'Редагувати',
|
||||
'fileViewer.draw': 'Малювати',
|
||||
'fileViewer.zoomOut': 'Зменшити',
|
||||
'fileViewer.zoomIn': 'Збільшити',
|
||||
'fileViewer.resetZoom': 'Скинути масштаб',
|
||||
'fileViewer.reloadAria': 'Перезавантажити',
|
||||
'fileViewer.previousSlide': 'Попередній слайд',
|
||||
'fileViewer.nextSlide': 'Наступний слайд',
|
||||
'fileViewer.slideNavAria': 'Навігація по слайдах',
|
||||
'fileViewer.present': 'Презентувати',
|
||||
'fileViewer.presentInTab': 'На цій вкладці',
|
||||
'fileViewer.presentFullscreen': 'Повноекранний режим',
|
||||
'fileViewer.presentNewTab': 'Нова вкладка',
|
||||
'fileViewer.exitPresentation': 'Вийти з режиму презентації',
|
||||
'fileViewer.shareLabel': 'Поділитися',
|
||||
'fileViewer.exportPdf': 'Експортувати як PDF',
|
||||
'fileViewer.exportPdfAllSlides': 'Експортувати як PDF (усі слайди)',
|
||||
'fileViewer.exportPptxBusy': 'Чекайте, поки поточна черга завершиться.',
|
||||
'fileViewer.exportPptxHint':
|
||||
'Надішліть запит агентові для перетворення цього дизайну на PPTX.',
|
||||
'fileViewer.exportPptxNa': 'Експорт PPTX недоступний тут.',
|
||||
'fileViewer.exportZip': 'Завантажити як .zip',
|
||||
'fileViewer.exportHtml': 'Експортувати як самостійний HTML',
|
||||
'fileViewer.exportMd': 'Експортувати як Markdown',
|
||||
'fileViewer.exportJsx': 'Експортувати як JSX',
|
||||
'fileViewer.exportReactHtml': 'Експортувати попередній перегляд як HTML',
|
||||
'fileViewer.saveAsTemplate': 'Зберегти як шаблон…',
|
||||
'fileViewer.savingTemplate': 'Збереження шаблону…',
|
||||
'fileViewer.savedTemplate': 'Збережено як "{name}"',
|
||||
'fileViewer.savedTemplateFail': 'Не вдалося зберегти шаблон — спробуйте ще раз.',
|
||||
'fileViewer.templateNamePrompt': 'Назва шаблону',
|
||||
'fileViewer.templateNameDefault': 'Шаблон без назви',
|
||||
'fileViewer.templateDescPrompt':
|
||||
'Короткий опис (необов\'язково — що робить цей шаблон корисним?)',
|
||||
'fileViewer.deployToVercel': 'Розгорнути на Vercel',
|
||||
'fileViewer.redeployToVercel': 'Повторно розгорнути',
|
||||
'fileViewer.deployingToVercel': 'Розгортання на Vercel…',
|
||||
'fileViewer.preparingPublicLink': 'Підготовка публічного посилання…',
|
||||
'fileViewer.copyDeployLink': 'Копіювати посилання',
|
||||
'fileViewer.deployModalTitle': 'Розгорнути на Vercel',
|
||||
'fileViewer.deployModalSubtitle':
|
||||
'Розгорніть цей HTML артефакт як Vercel Preview за допомогою свого облікового запису.',
|
||||
'fileViewer.vercelToken': 'Токен Vercel',
|
||||
'fileViewer.vercelTokenGetLink': 'Отримати токен Vercel',
|
||||
'fileViewer.vercelTokenPlaceholder': 'Вставте свій токен Vercel',
|
||||
'fileViewer.vercelTokenReuseHint':
|
||||
'Збережений токен буде використаний. Введіть новий токен, щоб замінити його.',
|
||||
'fileViewer.vercelTokenRequired': 'Спочатку введіть та збережіть токен Vercel.',
|
||||
'fileViewer.vercelTeamId': 'ID команди',
|
||||
'fileViewer.vercelTeamSlug': 'Слаг команди',
|
||||
'fileViewer.optional': 'Необов\'язково',
|
||||
'fileViewer.vercelPreviewOnly': 'Розгортання наразі лише для попереднього перегляду.',
|
||||
'fileViewer.savingConfig': 'Збереження…',
|
||||
'fileViewer.deployConfigSaveFailed': 'Не вдалося зберегти налаштування Vercel.',
|
||||
'fileViewer.deployFailed': 'Розгортання не вдалося. Перевірте налаштування Vercel та спробуйте ще раз.',
|
||||
'fileViewer.deployResultLabel': 'URL розгортання',
|
||||
'fileViewer.deployLinkPreparingLabel': 'Публічне посилання очікує',
|
||||
'fileViewer.deployLinkDelayed':
|
||||
'Ваш сайт розгорнуто. Vercel все ще готує публічне посилання.',
|
||||
'fileViewer.deployLinkProtectedLabel': 'Увімкнено захист Vercel',
|
||||
'fileViewer.deployLinkProtected':
|
||||
'Ваш сайт розгорнуто, але Vercel вимагає автентифікацію для цього посилання попереднього перегляду. Вимкніть захист розгортання або використовуйте користувацький домен.',
|
||||
'fileViewer.retryLink': 'Повторити зараз',
|
||||
|
||||
'questionForm.submit': 'Надіслати',
|
||||
'questionForm.skip': 'Пропустити',
|
||||
'questionForm.locked': 'Відповідь дано',
|
||||
|
||||
'conv.switch': 'Перемкнути розмову',
|
||||
'conv.label': 'Розмова',
|
||||
'conv.heading': 'Розмови',
|
||||
'conv.new': '+ Нова',
|
||||
'conv.empty': 'Розмов ще немає.',
|
||||
'conv.untitled': 'Розмова без назви',
|
||||
'conv.renameTooltip': 'Двічі натисніть, щоб перейменувати',
|
||||
'conv.delete': 'Видалити розмову',
|
||||
'conv.deleteConfirm': 'Видалити "{title}"? Це видалить усі її повідомлення.',
|
||||
|
||||
'agentPicker.label': 'Агент',
|
||||
'agentPicker.modeChoose': 'Виберіть режим виконання',
|
||||
'agentPicker.localCli': 'Локальний CLI',
|
||||
'agentPicker.daemonOff': 'фоновий процес вимкнений',
|
||||
'agentPicker.byok': 'API · BYOK',
|
||||
'agentPicker.selectAgent': 'Виберіть виявлений CLI кодового агента',
|
||||
'agentPicker.noAgents': 'немає агентів на PATH',
|
||||
'agentPicker.notInstalled': 'не встановлено',
|
||||
'agentPicker.rescan': 'Повторно сканувати локальний PATH для агентів',
|
||||
|
||||
'tool.openInTab': 'Відкрити {name} на вкладці',
|
||||
'tool.open': 'відкрити',
|
||||
'tool.todos': 'Завдання',
|
||||
'tool.write': 'Написати',
|
||||
'tool.edit': 'Редагувати',
|
||||
'tool.read': 'Читати',
|
||||
'tool.bash': 'Bash',
|
||||
'tool.glob': 'Glob',
|
||||
'tool.grep': 'Grep',
|
||||
'tool.fetch': 'Отримати',
|
||||
'tool.search': 'Пошук',
|
||||
'tool.lines': '{n} рядків',
|
||||
'tool.changeSingular': 'змінення',
|
||||
'tool.changePlural': 'змінення',
|
||||
'tool.in': 'в {path}',
|
||||
'tool.hide': 'приховати',
|
||||
'tool.output': 'вихід',
|
||||
'tool.running': 'виконується…',
|
||||
'tool.error': 'помилка',
|
||||
'tool.done': 'готово',
|
||||
|
||||
'assistant.role': 'Асистент',
|
||||
'assistant.workingLabel': 'Роботи',
|
||||
'assistant.doneLabel': 'Готово',
|
||||
'assistant.unfinishedLabel': 'Зупинено з незавершеною роботою',
|
||||
'assistant.unfinishedSummary': 'залишилось {n} завдання(нь)',
|
||||
'assistant.unfinishedMore': '+ще {n}',
|
||||
'assistant.continueRemaining': 'Продовжити залишкові завдання',
|
||||
'assistant.outTokens': '{n} вихід',
|
||||
'assistant.producedFiles': 'Файли з цієї черги',
|
||||
'assistant.openFile': 'Відкрити',
|
||||
'assistant.downloadFile': 'Завантажити',
|
||||
'assistant.thinking': 'Мислення',
|
||||
'assistant.systemReminder': 'Системне нагадування',
|
||||
'assistant.waitingFirstOutput': 'Очікування першого виходу',
|
||||
'assistant.statusBootingAgent': 'Завантаження агента',
|
||||
'assistant.statusStarting': 'Запуск',
|
||||
'assistant.statusRequesting': 'Надсилання запиту',
|
||||
'assistant.statusThinking': 'Мислення',
|
||||
'assistant.statusStreaming': 'Потоком',
|
||||
'assistant.slowHint':
|
||||
'Займає більше часу, ніж зазвичай. Форма зазвичай з\'являється за 5–10 с — ви можете зупинити та переформулювати.',
|
||||
'assistant.verbEditing': 'Редагування',
|
||||
'assistant.verbWriting': 'Написання',
|
||||
'assistant.verbReading': 'Читання',
|
||||
'assistant.verbSearching': 'Пошук',
|
||||
'assistant.verbRunning': 'Виконання',
|
||||
'assistant.verbTodos': 'Завдання',
|
||||
'assistant.verbFetching': 'Отримання',
|
||||
'assistant.verbCalling': 'Виклик',
|
||||
|
||||
'qf.answered': 'відповідь дано',
|
||||
'qf.choose': 'Виберіть…',
|
||||
'qf.required': 'обов\'язково',
|
||||
'qf.lockedSubmitted':
|
||||
'Відповіді надіслано — агент використовуватиме їх для решти сеансу.',
|
||||
'qf.lockedPrev': 'Ця форма з попередньої черги.',
|
||||
'qf.hint':
|
||||
'Виберіть те, що підходить. Пропустіть необов\'язкові поля, які вас не цікавлять — агент використовуватиме розумні значення за замовчуванням.',
|
||||
'qf.submitDefault': 'Надіслати відповіді',
|
||||
'qf.submitDisabledTitle': 'Спочатку заповніть обов\'язкові поля',
|
||||
'qf.submitTitle': 'Надіслати відповіді',
|
||||
'qf.cardSelected': 'вибрано',
|
||||
'qf.cardRefs': 'Посилання:',
|
||||
'qf.cardSampleText': 'Швидка коричнева лисиця · 0123',
|
||||
|
||||
'sketch.toolSelect': 'Виділення (без ефекту)',
|
||||
'sketch.toolPen': 'Ручка',
|
||||
'sketch.toolText': 'Текст',
|
||||
'sketch.toolRect': 'Прямокутник',
|
||||
'sketch.toolArrow': 'Стрілка',
|
||||
'sketch.toolEraser': 'Ластик',
|
||||
'sketch.color': 'Колір',
|
||||
'sketch.strokeSize': 'Товщина лінії',
|
||||
'sketch.undo': 'Скасувати',
|
||||
'sketch.clear': 'Очистити',
|
||||
'sketch.close': 'Закрити',
|
||||
'sketch.textPrompt': 'Текст:',
|
||||
|
||||
'pet.title': 'Маскоти',
|
||||
'pet.subtitle': 'Встановити крихітного супутника, який пливе над вашим робочим простором.',
|
||||
'pet.navTitle': 'Маскоти',
|
||||
'pet.navHint': 'Встановити або налаштувати',
|
||||
'pet.tabBuiltIn': 'Вбудовані',
|
||||
'pet.tabBuiltInHint': 'Кураторські супутники в комплекті з Open Design — виберіть один та встановіть.',
|
||||
'pet.builtInEmpty': 'Вбудовані маскоти наразі недоступні. Спробуйте оновити вкладку Спільнота, коли фоновий процес перейде в мережу.',
|
||||
'pet.tabCustom': 'Власна',
|
||||
'pet.tabCustomHint': 'Створіть свою власну назвою, гліфом, кольором або спрайтом.',
|
||||
'pet.tabCommunity': 'Спільнота',
|
||||
'pet.tabCommunityHint': 'Маскоти, створені Codex — встановіть одну або створіть нову.',
|
||||
'pet.tabsAria': 'Джерело маскота',
|
||||
'pet.adopt': 'Встановити',
|
||||
'pet.adoptedBadge': 'Додано',
|
||||
'pet.adoptCallout': 'Додати помічника',
|
||||
'pet.changePet': 'Змінити маскота',
|
||||
'pet.wake': 'Розбудити',
|
||||
'pet.tuck': 'Сховати',
|
||||
'pet.wakeTitle': 'Розбудити помічника — показати плаваючу накладку.',
|
||||
'pet.tuckTitle': 'Сховати помічника — приховати плаваючу накладку.',
|
||||
'pet.settingsTitle': 'Відкрити налаштування маскота',
|
||||
'pet.useCustom': 'Використовувати мого маскота',
|
||||
'pet.customTitle': 'Створіть свою власну',
|
||||
'pet.customHint': 'Виберіть назву, гліф та акцент — накладка оновлюється в режимі реального часу.',
|
||||
'pet.customGreetingPlaceholder': 'Привіт від вашої домашної тварини…',
|
||||
'pet.fieldName': 'Назва',
|
||||
'pet.fieldGlyph': 'Гліф',
|
||||
'pet.fieldGlyphHint': 'Один емодзі працює найкраще (напр. 🐝, 🦄, 🐢).',
|
||||
'pet.fieldGreeting': 'Привіт',
|
||||
'pet.fieldAccent': 'Колір акценту',
|
||||
'pet.fieldAccentCustom': 'Власний колір',
|
||||
'pet.overlayAria': 'Супутник домашної тварини',
|
||||
'pet.spriteAria': '{name} — перетягніть для переміщення, натисніть для чату',
|
||||
'pet.spriteTitle': 'Привіт від {name}! Натисніть для чату.',
|
||||
'pet.railAria': 'Вибір маскота',
|
||||
'pet.railTitle': 'Маскоти',
|
||||
'pet.railHint': 'Оберіть компаньйона, що відображатиметься над робочим простором',
|
||||
'pet.railExpand': 'Показати вибір маскота',
|
||||
'pet.railCollapse': 'Згорнути вибір маскота',
|
||||
'pet.railHide': 'Приховати вибір маскота',
|
||||
'pet.railShow': 'Показати вибір маскота',
|
||||
'pet.railCustomFlavor': 'Ваша власна — назва, гліф, колір.',
|
||||
'pet.railCustomize': 'Налаштувати…',
|
||||
'pet.composerTitle': 'Маскоти — розбудити, Сховати або виберіть одну',
|
||||
'pet.composerMenuTitle': 'Маскоти',
|
||||
'pet.composerMenuHint': 'підказка: введіть /pet для перемикання',
|
||||
'pet.composerOpenSettings': 'Налаштування в параметрах',
|
||||
'pet.welcomeTeaserTitle': 'Встановити маскота',
|
||||
'pet.welcomeTeaserBody': 'Крихітний плаваючий супутник, який зависає з вами.',
|
||||
'pet.welcomeTeaserCta': 'Виберіть один',
|
||||
'pet.imageUpload': 'Завантажити спрайт',
|
||||
'pet.imageReplace': 'Замінити спрайт',
|
||||
'pet.imageRemove': 'Використовувати емодзі',
|
||||
'pet.imageHintIdle': 'PNG, JPG, WebP, GIF або SVG. Завантаження аркушу? Перенесіть горизонтальну смугу та встановіть кількість кадрів.',
|
||||
'pet.imageHintActive': 'Показувати ваш спрайт. Встановіть frames > 1, щоб прогулятися по горизонтальному аркушу спрайтів.',
|
||||
'pet.fieldFrames': 'Кадри',
|
||||
'pet.fieldFramesHint': '1 = статичне. > 1 = горизонтальний аркуш спрайтів.',
|
||||
'pet.fieldFps': 'Швидкість (fps)',
|
||||
'pet.fieldFpsHint': 'Наскільки швидко циклюються кадри.',
|
||||
'pet.atlasImport': 'Імпортувати спрайт Codex',
|
||||
'pet.atlasImportTitle': 'Імпортувати атлас hatch-pet 8x9 / 192x208 (PNG або WebP).',
|
||||
'pet.atlasPickerTitle': 'Виберіть рядок анімації',
|
||||
'pet.atlasPickerHint': 'Codex маскоти мають 9 рядків анімації. За замовчуванням ми зберігаємо повний атлас, щоб домашна тварина міняла рядки при наведенні, перетягуванні та простої. Ви також можете заморозити його на одному циклі.',
|
||||
'pet.atlasCancel': 'Відхилити атлас',
|
||||
'pet.atlasAdopt': 'Заморозити цей рядок',
|
||||
'pet.atlasAdoptFull': 'Використовувати повний атлас (анімований)',
|
||||
'pet.atlasAdoptFullTitle': 'Зберігайте кожен рядок, щоб домашна тварина реагувала на наведення, напрям перетягування та довгі простої.',
|
||||
'pet.atlasAdoptRowTitle': 'Розташуйте тільки виділений рядок у єдину циклічну смугу.',
|
||||
'pet.atlasActiveHint': 'Активний анімований атлас — домашна тварина вибирає рядок з вашої взаємодії (наведення, перетягування, простій).',
|
||||
'pet.atlasRow.idle': 'Простій',
|
||||
'pet.atlasRow.running-right': 'Біг вправо',
|
||||
'pet.atlasRow.running-left': 'Біг вліво',
|
||||
'pet.atlasRow.waving': 'Махання',
|
||||
'pet.atlasRow.jumping': 'Стрибання',
|
||||
'pet.atlasRow.failed': 'Невдача',
|
||||
'pet.atlasRow.waiting': 'Очікування',
|
||||
'pet.atlasRow.running': 'Біг',
|
||||
'pet.atlasRow.review': 'Огляд',
|
||||
'pet.hatchTitle': 'Виведіть нову домашну тварину за допомогою AI',
|
||||
'pet.hatchHint': 'Використовуйте вбудовану навичку hatch-pet у чаті для генерування спрайту у стилі Codex, а потім імпортуйте його сюди.',
|
||||
'pet.hatchConcept': 'Концепція домашної тварини (необов\'язково)',
|
||||
'pet.hatchConceptPlaceholder': 'напр. крихітна піксельна собака сиба в затишному светрі',
|
||||
'pet.hatchCopy': 'Копіювати підказку',
|
||||
'pet.hatchCopied': 'Скопійовано!',
|
||||
'pet.hatchFoot': 'Після того, як навичка збереже вашу домашну тварину, повернітеся та виберіть «Імпортувати спрайт Codex».',
|
||||
'pet.slashPopoverAria': 'Команди скісної риски',
|
||||
'pet.slashPopoverTitle': 'Команди',
|
||||
'pet.slashPopoverHint': '↑↓ навігація · enter для вибору · esc для закриття',
|
||||
'pet.slashPet': 'Перемикання, встановлення або перехід до параметрів домашної тварини.',
|
||||
'pet.slashPetWake': 'Розбудити накладку плаваючої домашної тварини.',
|
||||
'pet.slashPetTuck': 'Сховати домашну тварину на цей час.',
|
||||
'pet.slashHatch': 'Створити домашну тварину Codex через навичку hatch-pet.',
|
||||
'pet.slashHatchArg': '<concept>',
|
||||
'pet.codexTitle': 'Недавно виведені',
|
||||
'pet.codexSubtitle': 'Домашні тварини, упаковані навичкою hatch-pet, з\'являються тут для встановлення одним натисненням.',
|
||||
'pet.codexSubtitleWithDir': 'Сканування {dir} для домашних тварин, упакованих навичкою hatch-pet.',
|
||||
'pet.codexEmpty': 'Виведених домашних тварин ще немає. Введіть /hatch у чаті, щоб створити одну.',
|
||||
'pet.codexLoading': 'Пошук виведених домашних тварин…',
|
||||
'pet.codexRefresh': 'Оновити',
|
||||
'pet.codexAdopt': 'Встановити',
|
||||
'pet.codexAdopting': 'Встановлення…',
|
||||
'pet.communitySync': 'Завантажити домашних тварин спільноти',
|
||||
'pet.communitySyncing': 'Завантаження…',
|
||||
'pet.communitySyncTitle': 'Синхронізуйте останніх домашних тварин від Codex Pet Share + j20 Hatchery до ~/.codex/pets/.',
|
||||
'pet.communitySyncDone': 'Синхронізовано {wrote} нових домашних тварин ({total} всього).',
|
||||
'pet.communitySyncFailed': 'Синхронізація не вдалася: {error}',
|
||||
'pet.codexBundled': 'Упаковано',
|
||||
'pet.codexBundledTitle': 'Поставляється з Open Design — завантаження не потрібне.',
|
||||
|
||||
'settings.notifications': 'Сповіщення',
|
||||
'settings.notificationsHint': 'Звук та сповіщення робочого столу при завершенні завдання',
|
||||
'settings.notifyCompletionSound': 'Звук завершення',
|
||||
'settings.notifyCompletionSoundHint': 'Відтворюється по завершенні черги. За замовчуванням вимкнено.',
|
||||
'settings.notifySuccessSound': 'Звук успіху',
|
||||
'settings.notifyFailureSound': 'Звук помилки',
|
||||
'settings.notifyDesktop': 'Сповіщення робочого столу',
|
||||
'settings.notifyDesktopHint': 'Надіслано, коли вікно не має фокусу.',
|
||||
'settings.notifyDesktopBlocked': 'Сповіщення заблоковано браузером. Дозволіть їм у налаштуваннях сайту.',
|
||||
'settings.notifyDesktopUnsupported': 'Сповіщення робочого столу недоступні в цьому середовищі.',
|
||||
'settings.notifyTest': 'Надіслати тест',
|
||||
'settings.notifyTestSent': 'Тестове сповіщення надіслано. Якщо банер не з\'явиться, перевірте налаштування сповіщень браузера та системи.',
|
||||
'settings.notifyTestFailed': 'Помилка виклику сповіщення. Перевірте налаштування спoвіщень браузера та системи.',
|
||||
'settings.notifySoundDing': 'Дзвенить',
|
||||
'settings.notifySoundChime': 'Дзвоник',
|
||||
'settings.notifySoundTwoToneUp': 'Два тони вгору',
|
||||
'settings.notifySoundPluck': 'Щипок',
|
||||
'settings.notifySoundBuzz': 'Гудіння',
|
||||
'settings.notifySoundTwoToneDown': 'Два тони вниз',
|
||||
'settings.notifySoundThud': 'Глухий звук',
|
||||
'notify.successTitle': 'Завдання завершено',
|
||||
'notify.failureTitle': 'Завдання не вдалося',
|
||||
'notify.successBody': 'Черга завершена.',
|
||||
'notify.failureBody': 'Завдання завершилось помилкою.',
|
||||
};
|
||||
@@ -0,0 +1,812 @@
|
||||
import type { Dict } from '../types';
|
||||
|
||||
export const zhCN: Dict = {
|
||||
'common.cancel': '取消',
|
||||
'common.save': '保存',
|
||||
'common.close': '关闭',
|
||||
'common.delete': '删除',
|
||||
'common.rename': '重命名',
|
||||
'common.preview': '预览',
|
||||
'common.share': '分享',
|
||||
'common.search': '搜索',
|
||||
'common.searchEllipsis': '搜索…',
|
||||
'common.loading': '加载中…',
|
||||
'common.all': '全部',
|
||||
'common.none': '无',
|
||||
'common.default': '默认',
|
||||
'common.installed': '已安装',
|
||||
'common.notInstalled': '未安装',
|
||||
'common.active': '使用中',
|
||||
'common.offline': '未运行',
|
||||
'common.selected': '已选',
|
||||
'common.create': '创建',
|
||||
'common.openPreview': '打开预览',
|
||||
'common.exitFullscreen': '退出全屏',
|
||||
'common.fullscreen': '全屏',
|
||||
'common.openInNewTab': '在新标签页中打开',
|
||||
'common.exportPdf': '导出为 PDF',
|
||||
'common.exportZip': '下载为 .zip',
|
||||
'common.exportHtml': '导出为独立 HTML',
|
||||
'common.justNow': '刚刚',
|
||||
'common.minutesAgo': '{n} 分钟前',
|
||||
'common.hoursAgo': '{n} 小时前',
|
||||
'common.daysAgo': '{n} 天前',
|
||||
'common.now': '刚刚',
|
||||
'common.minutesShort': '{n}分',
|
||||
'common.hoursShort': '{n}时',
|
||||
'common.daysShort': '{n}天',
|
||||
'common.untitled': '未命名',
|
||||
|
||||
'app.brand': 'Open Design',
|
||||
'app.brandPill': '研究预览版',
|
||||
'app.brandSubtitle': '由 Nexu Labs 出品',
|
||||
'app.welcomeLoading': '正在加载工作区…',
|
||||
|
||||
'settings.welcomeKicker': '欢迎',
|
||||
'settings.welcomeTitle': '初始化 Open Design',
|
||||
'settings.welcomeSubtitle':
|
||||
'选择你希望使用的执行方式。后续可以随时从顶部「设置」按钮中修改。',
|
||||
'settings.kicker': '设置',
|
||||
'settings.title': '执行模式与模型',
|
||||
'settings.subtitle': '在本机 CLI 与 BYOK 之间选择。API Key 只保存在当前浏览器中。',
|
||||
'settings.modeAria': '执行模式',
|
||||
'settings.protocolAria': 'API 协议',
|
||||
'settings.modeDaemon': '本机 CLI',
|
||||
'settings.modeDaemonHelp': '通过本机的代码代理 CLI 执行',
|
||||
'settings.modeDaemonOffline': '后台守护进程未运行',
|
||||
'settings.modeDaemonOfflineMeta': '守护进程未运行',
|
||||
'settings.modeDaemonInstalledMeta': '已安装 {count} 个',
|
||||
'settings.modeApi': 'API 提供方',
|
||||
'settings.modeApiMeta': 'BYOK',
|
||||
'settings.codeAgent': '代码代理',
|
||||
'settings.codeAgentHint': '通过扫描 PATH 自动检测,选择你希望使用的 CLI。',
|
||||
'settings.rescan': '↻ 重新扫描',
|
||||
'settings.rescanTitle': '重新扫描 PATH',
|
||||
'settings.rescanRunning': '扫描中...',
|
||||
'settings.rescanSuccess': '扫描完成,{count} 个可用。',
|
||||
'settings.rescanFailed': '扫描失败,请检查后台守护进程后重试。',
|
||||
'settings.noAgentsDetected':
|
||||
'尚未检测到任何代理。请安装 Claude Code、Codex、Gemini CLI、OpenCode、Cursor Agent、Qwen 或 GitHub Copilot CLI 中的一个,然后点击「重新扫描」。',
|
||||
'settings.apiSection': 'Anthropic API',
|
||||
'settings.quickFillProvider': '快速填充提供方',
|
||||
'settings.customProvider': '自定义提供方',
|
||||
'settings.apiKey': 'API Key',
|
||||
'settings.showKey': '显示 Key',
|
||||
'settings.hideKey': '隐藏 Key',
|
||||
'settings.show': '显示',
|
||||
'settings.hide': '隐藏',
|
||||
'settings.model': '模型',
|
||||
'settings.suggestedModelsHint':
|
||||
'这些是此协议的建议模型。你的提供方可能支持不同的模型。',
|
||||
'settings.baseUrl': 'Base URL',
|
||||
'settings.baseUrlInvalid': '请输入有效的公网 http:// 或 https:// URL。允许 localhost;会阻止私有网络 IP。',
|
||||
'settings.azureDeploymentModel': '部署名称',
|
||||
'settings.azureDeploymentModelHint':
|
||||
'对于 Azure OpenAI,此字段会作为 /openai/deployments/<model> 中的部署名称使用。请填写你在 Azure 中创建的部署名称。',
|
||||
'settings.apiVersion': 'API 版本',
|
||||
'settings.maxTokens': '最大 tokens(可选)',
|
||||
'settings.maxTokensHint':
|
||||
'响应长度上限。每个 model 有调优过的默认值(在 placeholder 里显示),留空即使用,输入数字则覆盖。',
|
||||
'settings.apiHint': '请求会通过本机 daemon 代理发送到你设置的 Base URL。Key 只保存在当前浏览器中,并随提供方请求发送。',
|
||||
'settings.skipForNow': '暂时跳过',
|
||||
'settings.getStarted': '开始使用',
|
||||
'settings.envConfigure': '配置执行模式',
|
||||
'settings.localCli': '本机 CLI',
|
||||
'settings.anthropicApi': 'Anthropic API',
|
||||
'settings.noAgentSelected': '尚未选择代理',
|
||||
'settings.language': '界面语言',
|
||||
'settings.languageHint': '切换界面语言,设置仅保存在当前浏览器。',
|
||||
'settings.appearance': '外观',
|
||||
'settings.appearanceHint': '选择浅色、深色或跟随系统设置。',
|
||||
'settings.themeSystem': '系统',
|
||||
'settings.themeLight': '浅色',
|
||||
'settings.themeDark': '深色',
|
||||
'settings.modelPicker': '模型',
|
||||
'settings.reasoningPicker': '推理强度',
|
||||
'settings.modelPickerHint':
|
||||
'当 CLI 提供 `models` 命令时会自动拉取。选择「默认」则沿用 CLI 自身的配置;选择「自定义」可手动输入任何 CLI 支持的模型 id。',
|
||||
'settings.modelCustom': '自定义(在下方填写)…',
|
||||
'settings.modelCustomLabel': '自定义模型 id',
|
||||
'settings.modelCustomPlaceholder': '例如 anthropic/claude-sonnet-4-6',
|
||||
'settings.mediaProviders': '媒体生成提供商',
|
||||
'settings.mediaProvidersHint': '图片、视频、音频生成的 API key。存于本机并同步到本地守护进程。',
|
||||
'settings.mediaProviderApiKey': 'API key',
|
||||
'settings.mediaProviderBaseUrl': 'Base URL',
|
||||
'settings.mediaProviderConfigured': '已配置',
|
||||
'settings.mediaProviderUnset': '未配置',
|
||||
'settings.mediaProviderClear': '清除',
|
||||
'settings.mediaProviderPlaceholder': '粘贴 API key',
|
||||
'settings.mediaProviderBaseUrlPlaceholder': '覆盖默认 Base URL',
|
||||
'settings.about': '关于',
|
||||
'settings.aboutHint': '版本和运行时详情',
|
||||
'settings.appVersion': '版本',
|
||||
'settings.appChannel': '渠道',
|
||||
'settings.appRuntime': '运行时',
|
||||
'settings.appPlatform': '平台',
|
||||
'settings.appArchitecture': '架构',
|
||||
'settings.runtimePackaged': '已打包应用',
|
||||
'settings.runtimeDevelopment': '开发环境',
|
||||
'settings.versionUnavailable': '守护进程离线时无法获取版本详情。',
|
||||
|
||||
'entry.tabDesigns': '我的设计',
|
||||
'entry.tabExamples': '示例',
|
||||
'entry.tabDesignSystems': '设计体系',
|
||||
'entry.openSettingsTitle': '设置',
|
||||
'entry.openSettingsAria': '打开设置',
|
||||
'entry.resizeAria': '调整侧边栏宽度',
|
||||
'entry.loadingWorkspace': '正在加载工作区…',
|
||||
'entry.tabImageTemplates': '图片模板',
|
||||
'entry.tabVideoTemplates': '视频模板',
|
||||
'promptTemplates.searchPlaceholder': '搜索模板…',
|
||||
'promptTemplates.countLabel': '{n} 个结果',
|
||||
'promptTemplates.emptyImage': '还没有安装图片 Prompt 模板。',
|
||||
'promptTemplates.emptyVideo': '还没有安装视频 Prompt 模板。',
|
||||
'promptTemplates.emptyNoMatch': '没有匹配的模板。',
|
||||
'promptTemplates.attributionFooter': '改编自公开 Prompt 库,每张卡片都链接到原作者。',
|
||||
'promptTemplates.openPreviewTitle': '打开 Prompt 与预览',
|
||||
'promptTemplates.sourcePrefix': '来源:',
|
||||
'promptTemplates.fetchError': '无法加载此模板正文。',
|
||||
'promptTemplates.promptLabel': 'Prompt 正文',
|
||||
'promptTemplates.copyPrompt': '复制 Prompt',
|
||||
'promptTemplates.copyDone': '已复制!',
|
||||
'promptTemplates.modelHint': '建议模型:{model}',
|
||||
'promptTemplates.openSource': '查看原始来源',
|
||||
'promptTemplates.openFullscreen': '打开全屏预览',
|
||||
'promptTemplates.closeFullscreen': '关闭全屏预览',
|
||||
'promptTemplates.retry': '重试',
|
||||
|
||||
'newproj.tabPrototype': '原型',
|
||||
'newproj.tabDeck': '幻灯片',
|
||||
'newproj.tabTemplate': '从模板',
|
||||
'newproj.tabOther': '其它',
|
||||
'newproj.titlePrototype': '新建原型',
|
||||
'newproj.titleDeck': '新建幻灯片',
|
||||
'newproj.titleTemplate': '从模板开始',
|
||||
'newproj.titleImage': '新建图片',
|
||||
'newproj.titleVideo': '新建视频',
|
||||
'newproj.titleAudio': '新建音频',
|
||||
'newproj.titleOther': '新建项目',
|
||||
'newproj.namePlaceholder': '项目名称',
|
||||
'newproj.fidelityLabel': '精度',
|
||||
'newproj.fidelityWireframe': '线框图',
|
||||
'newproj.fidelityHigh': '高保真',
|
||||
'newproj.toggleSpeakerNotes': '使用演讲备注',
|
||||
'newproj.toggleSpeakerNotesHint': '减少幻灯片上的文字,要点放到备注中。',
|
||||
'newproj.toggleAnimations': '加入动效',
|
||||
'newproj.toggleAnimationsHint': '在模板基础上叠加动效(入场、悬停、过渡)。',
|
||||
'newproj.templateLabel': '模板',
|
||||
'newproj.noTemplatesTitle': '还没有模板',
|
||||
'newproj.noTemplatesBody':
|
||||
'打开任意项目,在文件查看器内的「分享」菜单将其保存为模板,模板将出现在这里。',
|
||||
'newproj.savedTemplate': '已保存的模板',
|
||||
'newproj.fileSingular': '个文件',
|
||||
'newproj.filePlural': '个文件',
|
||||
'newproj.create': '创建',
|
||||
'newproj.createFromTemplate': '基于模板创建',
|
||||
'newproj.createDisabledTitle': '请先在任意项目内通过「分享」菜单将其保存为模板。',
|
||||
'newproj.importClaudeZip': '导入 Claude Design ZIP',
|
||||
'newproj.importClaudeZipTitle': '导入 Claude Design 导出的 .zip 文件',
|
||||
'newproj.importingClaudeZip': '正在导入…',
|
||||
'newproj.privacyFooter': '默认情况下只有你能看到自己的项目。',
|
||||
'newproj.designSystem': '设计体系',
|
||||
'newproj.dsNoneFreeform': '不指定 — 自由发挥',
|
||||
'newproj.dsNoneSubtitleEmpty': '不使用体系 token,由你决定整体配色',
|
||||
'newproj.dsNoneSubtitleSelected': '跳过体系 token,由代理自行选择配色。',
|
||||
'newproj.dsCategoryFallback': '设计体系',
|
||||
'newproj.dsSearch': '搜索设计体系…',
|
||||
'newproj.dsModeAria': '选择模式',
|
||||
'newproj.dsModeSingle': '单选',
|
||||
'newproj.dsModeMulti': '多选',
|
||||
'newproj.dsNoneTitle': '不指定 — 自由发挥',
|
||||
'newproj.dsNoneSub': '跳过体系 token,由代理自行选择配色。',
|
||||
'newproj.dsEmpty': '没有匹配「{query}」的设计体系。',
|
||||
'newproj.dsFootSingular': '只作为灵感参考。',
|
||||
'newproj.dsFootPlural': '只作为灵感参考。',
|
||||
'newproj.dsFootClear': '清除',
|
||||
'newproj.dsBadgeDefault': '默认',
|
||||
'newproj.dsPrimaryFallback': '主体系',
|
||||
'newproj.surfaceImage': '图片',
|
||||
'newproj.surfaceVideo': '视频',
|
||||
'newproj.surfaceAudio': '音频',
|
||||
'newproj.modelLabel': '模型',
|
||||
'newproj.aspectLabel': '比例',
|
||||
'newproj.imageStyleLabel': '风格备注',
|
||||
'newproj.imageStylePlaceholder': '编辑摄影、柔和日光、低饱和配色',
|
||||
'newproj.videoLengthLabel': '时长',
|
||||
'newproj.videoLengthSeconds': '{n} 秒',
|
||||
'newproj.audioKindLabel': '音频类型',
|
||||
'newproj.audioKindMusic': '音乐',
|
||||
'newproj.audioKindSpeech': '配音 / TTS',
|
||||
'newproj.audioKindSfx': '音效',
|
||||
'newproj.audioDurationLabel': '时长',
|
||||
'newproj.audioDurationSeconds': '{n} 秒',
|
||||
'newproj.voiceLabel': '声音',
|
||||
'newproj.voicePlaceholder': '提供商 voice id,可选',
|
||||
'newproj.promptTemplateLabel': '参考模板',
|
||||
'newproj.promptTemplateNoneTitle': '不指定 — 自由发挥',
|
||||
'newproj.promptTemplateNoneSub': '跳过模板库,自己描述需求',
|
||||
'newproj.promptTemplateRefSub': '参考模板',
|
||||
'newproj.promptTemplateSearch': '搜索模板…',
|
||||
'newproj.promptTemplateEmpty': '当前还没有此类型的模板。',
|
||||
'newproj.promptTemplateBodyLabel': 'Prompt(可继续优化)',
|
||||
'newproj.promptTemplateOptimizeHint':
|
||||
'可以任意编辑 — 修改后的内容会作为 agent 生成时的参考。',
|
||||
'newproj.promptTemplateBodyEmpty': '正文为空 — agent 不会拿到模板参考。',
|
||||
|
||||
'designs.subRecent': '最近',
|
||||
'designs.subYours': '我的设计',
|
||||
'designs.filterAria': '筛选项目',
|
||||
'designs.searchPlaceholder': '搜索…',
|
||||
'designs.emptyNoProjects': '还没有项目。请在左侧创建一个。',
|
||||
'designs.emptyNoMatch': '没有匹配的项目。',
|
||||
'designs.deleteTitle': '删除项目',
|
||||
'designs.deleteConfirm': '确定删除「{name}」?',
|
||||
'designs.cardFreeform': '自由设计',
|
||||
'designs.status.notStarted': '未开始',
|
||||
'designs.status.queued': '等待中',
|
||||
'designs.status.running': '运行中',
|
||||
'designs.status.awaitingInput': '等待回复',
|
||||
'designs.status.succeeded': '已完成',
|
||||
'designs.status.failed': '失败',
|
||||
'designs.status.canceled': '已取消',
|
||||
'designs.viewToggleAria': '视图模式',
|
||||
'designs.viewGrid': '网格视图',
|
||||
'designs.viewKanban': '看板视图',
|
||||
'designs.kanbanEmptyColumn': '暂无设计',
|
||||
'designs.deleteAria': '删除项目 {name}',
|
||||
|
||||
'examples.typeLabel': '类型',
|
||||
'examples.surfaceLabel': '类型',
|
||||
'examples.surfaceWeb': '网页',
|
||||
'examples.surfaceImage': '图片',
|
||||
'examples.surfaceVideo': '视频',
|
||||
'examples.surfaceAudio': '音频',
|
||||
'examples.scenarioLabel': '场景',
|
||||
'examples.modeAll': '全部',
|
||||
'examples.modePrototypeDesktop': '原型 · 桌面端',
|
||||
'examples.modePrototypeMobile': '原型 · 移动端',
|
||||
'examples.modeDeck': '幻灯片',
|
||||
'examples.modeDocument': '文档与模板',
|
||||
'examples.scenarioGeneral': '通用',
|
||||
'examples.scenarioEngineering': '工程',
|
||||
'examples.scenarioProduct': '产品',
|
||||
'examples.scenarioDesign': '设计',
|
||||
'examples.scenarioMarketing': '市场',
|
||||
'examples.scenarioSales': '销售',
|
||||
'examples.scenarioFinance': '财务',
|
||||
'examples.scenarioHr': '人力资源',
|
||||
'examples.scenarioOperations': '运营',
|
||||
'examples.scenarioSupport': '支持',
|
||||
'examples.scenarioLegal': '法务',
|
||||
'examples.scenarioEducation': '教育',
|
||||
'examples.scenarioPersonal': '个人',
|
||||
'examples.emptyNoSkills': '没有可用的技能,守护进程是否在运行?',
|
||||
'examples.searchPlaceholder': '搜索示例…',
|
||||
'examples.searchAria': '按名称搜索示例',
|
||||
'examples.emptyNoMatch': '没有匹配当前筛选的示例。',
|
||||
'examples.openPreview': '⤢ 打开预览',
|
||||
'examples.loadingPreview': '正在加载预览…',
|
||||
'examples.hoverPreview': '将鼠标悬停以查看预览',
|
||||
'examples.usePrompt': '使用此 Prompt',
|
||||
'examples.previewModalTitle': '在弹窗中查看完整预览',
|
||||
'examples.shareTitle': '分享此示例',
|
||||
'examples.shareLoadFirst': '请先悬停以加载预览',
|
||||
'examples.shareMenu': '分享 ▾',
|
||||
'examples.exportPdfAllSlides': '导出为 PDF(全部幻灯片)',
|
||||
'examples.exportPptxLocked': '导出为 PPTX…(请先打开模板)',
|
||||
'examples.tagSlideDeck': '幻灯片',
|
||||
'examples.tagTemplate': '模板',
|
||||
'examples.tagDesignSystem': '设计体系',
|
||||
'examples.tagMobilePrototype': '移动端原型',
|
||||
'examples.tagDesktopPrototype': '桌面端原型',
|
||||
'examples.tagImage': '图片',
|
||||
'examples.tagVideo': '视频',
|
||||
'examples.tagAudio': '音频',
|
||||
'examples.previewLabel': '预览',
|
||||
|
||||
'ds.surfaceLabel': '类型',
|
||||
'ds.surfaceWeb': '网页',
|
||||
'ds.surfaceImage': '图片',
|
||||
'ds.surfaceVideo': '视频',
|
||||
'ds.surfaceAudio': '音频',
|
||||
'ds.searchPlaceholder': '搜索设计体系…',
|
||||
'ds.emptyNoMatch': '没有匹配的设计体系。',
|
||||
'ds.badgeDefault': '默认',
|
||||
'ds.preview': '预览',
|
||||
'ds.previewTitle': '预览设计体系',
|
||||
'ds.categoryAll': '全部',
|
||||
'ds.categoryUncategorized': '未分类',
|
||||
'ds.showcase': '展示',
|
||||
'ds.tokens': 'Token',
|
||||
'ds.specToggle': 'DESIGN.md',
|
||||
'ds.specLoading': '正在加载 DESIGN.md…',
|
||||
|
||||
'avatar.title': '账户与设置',
|
||||
'avatar.localCli': '本机 CLI',
|
||||
'avatar.anthropicApi': 'Anthropic API',
|
||||
'avatar.useLocal': '使用本机 CLI',
|
||||
'avatar.useApi': '使用 API · BYOK',
|
||||
'avatar.codeAgent': '代码代理',
|
||||
'avatar.rescan': '重新扫描 PATH',
|
||||
'avatar.settings': '设置',
|
||||
'avatar.backToProjects': '返回项目列表',
|
||||
'avatar.metaActive': '使用中',
|
||||
'avatar.metaOffline': '未运行',
|
||||
'avatar.metaSelected': '已选',
|
||||
'avatar.noAgentSelected': '尚未选择代理',
|
||||
'avatar.modelSection': '模型',
|
||||
'avatar.modelLabel': '模型',
|
||||
'avatar.reasoningLabel': '推理',
|
||||
'avatar.customSuffix': '(自定义)',
|
||||
|
||||
'project.backToProjects': '返回项目列表',
|
||||
'project.metaFreeform': '自由设计',
|
||||
'chat.tabChat': '对话',
|
||||
'chat.tabComments': '评论',
|
||||
'chat.commentsSoon': '评论 — 即将上线',
|
||||
'chat.comments.attached': 'Attached to chat',
|
||||
'chat.comments.emptyAttached': 'No comments attached.',
|
||||
'chat.comments.saved': 'Saved comments',
|
||||
'chat.comments.emptySaved': 'No saved comments.',
|
||||
'chat.comments.add': 'Add',
|
||||
'chat.comments.addAll': 'Add all',
|
||||
'chat.comments.remove': 'Remove',
|
||||
'chat.comments.placeholder': 'Comment on this element…',
|
||||
'chat.comments.addSend': 'Add & send',
|
||||
'chat.comments.updateSend': 'Update & send',
|
||||
'chat.comments.removeAttachment': 'Remove comment attachment',
|
||||
'chat.comments.removeAttachmentAria': 'Remove comment attachment for {name}',
|
||||
'chat.conversationsTitle': '对话历史',
|
||||
'chat.conversationsAria': '对话历史',
|
||||
'chat.newConversation': '新建对话',
|
||||
'chat.newConversationsTitle': '新建对话',
|
||||
'chat.conversationsHeading': '对话',
|
||||
'chat.new': '新建',
|
||||
'chat.emptyConversations': '还没有对话。',
|
||||
'chat.deleteConversation': '删除对话',
|
||||
'chat.deleteConversationConfirm': '确定删除「{title}」?该操作会删除其消息。',
|
||||
'chat.untitledConversation': '未命名对话',
|
||||
'chat.startTitle': '开始一个对话',
|
||||
'chat.startHint':
|
||||
'可以拖拽或粘贴图片作为视觉参考,或键入 @ 引用本项目中的文件。也可以从下面的示例开始:',
|
||||
'chat.fillInputTitle': '点击填充到输入框',
|
||||
'chat.jumpToLatest': '回到最新',
|
||||
'chat.scrollToLatest': '滚动到最新',
|
||||
'chat.you': '你',
|
||||
'chat.openFile': '打开 {name}',
|
||||
'chat.composerPlaceholder': '描述你想要的设计 — 可粘贴/拖入图片,或用 @ 引用文件…',
|
||||
'chat.composerHint': '⌘/Ctrl + Enter 发送 · 可粘贴图片 · @ 引用文件',
|
||||
'chat.cliSettingsTitle': 'CLI 与模型设置',
|
||||
'chat.cliSettingsAria': '打开 CLI 与模型设置',
|
||||
'chat.attachTitle': '附加文件(也可以粘贴/拖入)',
|
||||
'chat.attachAria': '附加文件',
|
||||
'chat.importTitle': '导入素材(即将上线)',
|
||||
'chat.importLabel': '导入',
|
||||
'chat.importComingSoon': '即将上线',
|
||||
'chat.importSoon': '即将',
|
||||
'chat.importFig': '上传 .fig 文件',
|
||||
'chat.importGitHub': '连接 GitHub',
|
||||
'chat.importWeb': '抓取网页元素',
|
||||
'chat.importFolder': '关联代码目录',
|
||||
'chat.importSkills': '技能与设计体系',
|
||||
'chat.importProject': '引用其它项目',
|
||||
'chat.send': '发送',
|
||||
'chat.stop': '停止',
|
||||
'chat.removeAria': '移除 {name}',
|
||||
'chat.example1Title': '编辑风路演 PPT',
|
||||
'chat.example1Tag': '杂志',
|
||||
'chat.example1Prompt':
|
||||
'为一家正在融种子轮的设计工作室制作 10 张编辑风路演 PPT —— 瑞士网格布局,超大号衬线标题加粗体首字下沉,等宽字体的章节编号,留白充足,整页大图与文字密集页穿插出现。封面、愿景、市场、产品、增长、团队、融资诉求、联系方式。',
|
||||
'chat.example2Title': 'SaaS 分析仪表盘',
|
||||
'chat.example2Tag': '数据',
|
||||
'chat.example2Prompt':
|
||||
'为一款面向开发者的 SaaS 设计一份信息密度高的分析仪表盘 —— 顶部 KPI 条带(含周环比变化)、两张堆叠折线图(MRR 与活跃工作区)、全球使用热力图、留存矩阵、客户排行榜以及实时事件流。深色主题,等宽数字,迷你图作为点缀。',
|
||||
'chat.example3Title': '长滚动年度报告',
|
||||
'chat.example3Tag': '编辑',
|
||||
'chat.example3Prompt':
|
||||
'为一家关注气候议题的非营利机构制作互动式年度报告 —— 长滚动编辑式布局,混合大段引言区块、数据可视化(堆叠柱状图、动态计数器、项目地点分布的等值线地图)、摄影分隔页、捐赠者墙,以及最终行动号召。现代衬线正文、无衬线图表标签、大地纸张配色。',
|
||||
|
||||
'preview.shareMenu': '分享 ▾',
|
||||
'preview.openInNewTab': '在新标签页中打开',
|
||||
'preview.exit': '⤓ 退出',
|
||||
'preview.fullscreen': '⤢ 全屏',
|
||||
'preview.closeTitle': '关闭(Esc)',
|
||||
'preview.loading': '正在加载{label}…',
|
||||
'preview.showSidebar': '展开{label}',
|
||||
'preview.hideSidebar': '收起{label}',
|
||||
|
||||
'misc.savedTemplate': '已保存的模板',
|
||||
'misc.primary': '主体系',
|
||||
'misc.designSystem': '设计体系',
|
||||
|
||||
'workspace.designFiles': '设计文件',
|
||||
'workspace.closeTab': '关闭标签页',
|
||||
'workspace.deleteFileConfirm': '从项目文件夹中删除「{name}」?',
|
||||
'workspace.openFromDesignFiles': '请从',
|
||||
'workspace.designFilesLink': '设计文件',
|
||||
'workspace.loadingSketch': '正在加载草图…',
|
||||
'designFiles.title': '设计文件',
|
||||
'designFiles.upload': '上传文件',
|
||||
'designFiles.pasteText': '粘贴为文本文件',
|
||||
'designFiles.newSketch': '新建草图',
|
||||
'designFiles.empty': '这里还没有文件。可以拖拽下方区域,或新建草图、粘贴文本。',
|
||||
'designFiles.refresh': '刷新',
|
||||
'designFiles.delete': '删除',
|
||||
'designFiles.searchPlaceholder': '搜索文件…',
|
||||
'designFiles.up': '上一级',
|
||||
'designFiles.back': '返回',
|
||||
'designFiles.crumbs': '项目',
|
||||
'designFiles.rowMenu': '行菜单',
|
||||
'designFiles.openInTab': '在标签页中打开',
|
||||
'designFiles.download': '下载',
|
||||
'designFiles.downloadSelected': '下载选中的 {n} 个文件为 ZIP',
|
||||
'designFiles.clearSelection': '取消选择',
|
||||
'designFiles.selectAll': '全选',
|
||||
'designFiles.dropTitle': '⤓ 把文件拖到这里',
|
||||
'designFiles.dropDesc': '图片、文档、参考资料或文件夹 — 智能体都会用作上下文。',
|
||||
'designFiles.upload.title': '上传文件',
|
||||
'designFiles.paste.title': '将文本粘贴为文件',
|
||||
'designFiles.upload.label': '上传',
|
||||
'designFiles.paste.label': '粘贴',
|
||||
'designFiles.previewOpen': '打开',
|
||||
'designFiles.previewClose': '关闭预览',
|
||||
'designFiles.modified': '修改于 {time} · {size}',
|
||||
'designFiles.weeksAgo': '{n} 周前',
|
||||
'designFiles.sectionPages': '页面',
|
||||
'designFiles.sectionScripts': '脚本',
|
||||
'designFiles.sectionImages': '图片',
|
||||
'designFiles.sectionSketches': '草图',
|
||||
'designFiles.sectionOther': '其它',
|
||||
'designFiles.showMore': '再显示 {n} 个',
|
||||
'designFiles.kindHtml': 'HTML 页面',
|
||||
'designFiles.kindImage': '图片',
|
||||
'designFiles.kindSketch': '草图',
|
||||
'designFiles.kindText': '文本',
|
||||
'designFiles.kindCode': '脚本',
|
||||
'designFiles.kindPdf': 'PDF',
|
||||
'designFiles.kindDocument': '文档',
|
||||
'designFiles.kindPresentation': '演示文稿',
|
||||
'designFiles.kindSpreadsheet': '电子表格',
|
||||
'designFiles.kindBinary': '二进制',
|
||||
'pasteDialog.title': '粘贴文本',
|
||||
'pasteDialog.hint': '将保存到项目文件夹中,名称随你定。',
|
||||
'pasteDialog.fileNameLabel': '文件名',
|
||||
'pasteDialog.namePlaceholder': 'notes.txt',
|
||||
'pasteDialog.contentLabel': '内容',
|
||||
'pasteDialog.contentPlaceholder': '在此粘贴任何内容…',
|
||||
'pasteDialog.save': '保存',
|
||||
'pasteDialog.cancel': '取消',
|
||||
'sketch.save': '保存草图',
|
||||
'sketch.cancel': '取消',
|
||||
'sketch.saving': '保存中…',
|
||||
'sketch.tooltipDirty': '尚未保存',
|
||||
'sketch.tooltipClean': '已保存',
|
||||
'fileViewer.empty': '请选择一个文件查看。',
|
||||
'fileViewer.loading': '加载中…',
|
||||
'fileViewer.exportPptx': '导出为 PPTX',
|
||||
'fileViewer.openInNewTab': '在新标签页中打开',
|
||||
'fileViewer.copyPath': '复制路径',
|
||||
'fileViewer.copied': '已复制!',
|
||||
'fileViewer.share': '分享',
|
||||
'fileViewer.binaryMeta': '二进制 · {size}',
|
||||
'fileViewer.binaryNote': '二进制文件({size} 字节)。请下载或在本地打开查看。',
|
||||
'fileViewer.pdfMeta': 'PDF · {size}',
|
||||
'fileViewer.documentMeta': '文档',
|
||||
'fileViewer.presentationMeta': '演示文稿',
|
||||
'fileViewer.spreadsheetMeta': '电子表格',
|
||||
'fileViewer.previewUnavailable': '无法生成预览,请下载或打开文件查看。',
|
||||
'fileViewer.download': '下载',
|
||||
'fileViewer.open': '打开',
|
||||
'fileViewer.imageMeta': '图片 · {size}',
|
||||
'fileViewer.reactMeta': 'React 组件 · {size}',
|
||||
'fileViewer.sketchMeta': '草图 · {size}',
|
||||
'fileViewer.markdownStreamingMeta': '正在流式预览…',
|
||||
'fileViewer.markdownErrorMeta': '预览可能不完整(生成错误)。',
|
||||
'fileViewer.markdownStreamingStatus': '正在流式生成…显示部分 Markdown。',
|
||||
'fileViewer.markdownErrorStatus': '生成错误。正在显示最后可用内容。',
|
||||
'fileViewer.videoMeta': '视频 · {size}',
|
||||
'fileViewer.audioMeta': '音频 · {size}',
|
||||
'fileViewer.reload': '重新加载',
|
||||
'fileViewer.reloadDisk': '从磁盘重新加载',
|
||||
'fileViewer.copy': '复制',
|
||||
'fileViewer.copyTitle': '复制文件内容',
|
||||
'fileViewer.saveDisabled': '保存(只读预览)',
|
||||
'fileViewer.save': '保存',
|
||||
'fileViewer.preview': '预览',
|
||||
'fileViewer.source': '源代码',
|
||||
'fileViewer.tweaks': '调整',
|
||||
'fileViewer.comment': '评论',
|
||||
'fileViewer.edit': '编辑',
|
||||
'fileViewer.draw': '绘制',
|
||||
'fileViewer.zoomOut': '缩小',
|
||||
'fileViewer.zoomIn': '放大',
|
||||
'fileViewer.resetZoom': '重置缩放',
|
||||
'fileViewer.reloadAria': '重新加载',
|
||||
'fileViewer.previousSlide': '上一张',
|
||||
'fileViewer.nextSlide': '下一张',
|
||||
'fileViewer.slideNavAria': '幻灯片导航',
|
||||
'fileViewer.present': '演示',
|
||||
'fileViewer.presentInTab': '在当前标签页',
|
||||
'fileViewer.presentFullscreen': '全屏',
|
||||
'fileViewer.presentNewTab': '新标签页',
|
||||
'fileViewer.exitPresentation': '退出演示',
|
||||
'fileViewer.shareLabel': '分享',
|
||||
'fileViewer.exportPdf': '导出为 PDF',
|
||||
'fileViewer.exportPdfAllSlides': '导出为 PDF(全部幻灯片)',
|
||||
'fileViewer.exportPptxBusy': '请等待当前任务完成。',
|
||||
'fileViewer.exportPptxHint': '请求代理将此设计转换为 PPTX。',
|
||||
'fileViewer.exportPptxNa': '此处暂不支持导出 PPTX。',
|
||||
'fileViewer.exportZip': '下载为 .zip',
|
||||
'fileViewer.exportHtml': '导出为独立 HTML',
|
||||
'fileViewer.exportMd': '导出为 Markdown',
|
||||
'fileViewer.exportJsx': '导出为 JSX',
|
||||
'fileViewer.exportReactHtml': '导出预览 HTML',
|
||||
'fileViewer.saveAsTemplate': '保存为模板…',
|
||||
'fileViewer.savingTemplate': '正在保存模板…',
|
||||
'fileViewer.savedTemplate': '已保存为「{name}」',
|
||||
'fileViewer.savedTemplateFail': '保存模板失败,请重试。',
|
||||
'fileViewer.templateNamePrompt': '模板名称',
|
||||
'fileViewer.templateNameDefault': '未命名模板',
|
||||
'fileViewer.templateDescPrompt': '简短描述(可选 — 这个模板用于什么场景?)',
|
||||
'fileViewer.deployToVercel': '部署到 Vercel',
|
||||
'fileViewer.redeployToVercel': '重新部署',
|
||||
'fileViewer.deployingToVercel': '正在部署到 Vercel…',
|
||||
'fileViewer.preparingPublicLink': '正在准备公开链接…',
|
||||
'fileViewer.copyDeployLink': '复制链接',
|
||||
'fileViewer.deployModalTitle': '部署到 Vercel',
|
||||
'fileViewer.deployModalSubtitle': '使用你自己的 Vercel 账号部署此 HTML 作品预览。',
|
||||
'fileViewer.vercelToken': 'Vercel token',
|
||||
'fileViewer.vercelTokenGetLink': '获取 Vercel token',
|
||||
'fileViewer.vercelTokenPlaceholder': '粘贴你的 Vercel token',
|
||||
'fileViewer.vercelTokenReuseHint': '将使用已保存的 token。输入新 token 可替换。',
|
||||
'fileViewer.vercelTokenRequired': '请先输入并保存 Vercel token。',
|
||||
'fileViewer.vercelTeamId': 'Team ID',
|
||||
'fileViewer.vercelTeamSlug': 'Team slug',
|
||||
'fileViewer.optional': '可选',
|
||||
'fileViewer.vercelPreviewOnly': '当前仅部署 Preview。',
|
||||
'fileViewer.savingConfig': '保存中…',
|
||||
'fileViewer.deployConfigSaveFailed': '保存 Vercel 设置失败。',
|
||||
'fileViewer.deployFailed': '部署失败,请检查 Vercel 设置后重试。',
|
||||
'fileViewer.deployResultLabel': '部署链接',
|
||||
'fileViewer.deployLinkPreparingLabel': '公开链接准备中',
|
||||
'fileViewer.deployLinkDelayed': '站点已经部署,Vercel 仍在准备公开链接。',
|
||||
'fileViewer.deployLinkProtectedLabel': 'Vercel 访问保护已开启',
|
||||
'fileViewer.deployLinkProtected':
|
||||
'站点已部署,但 Vercel 要求登录后才能访问此预览链接。请关闭 Deployment Protection 或使用自定义域名。',
|
||||
'fileViewer.retryLink': '立即重试',
|
||||
|
||||
'questionForm.submit': '提交',
|
||||
'questionForm.skip': '跳过',
|
||||
'questionForm.locked': '已回答',
|
||||
|
||||
'conv.switch': '切换对话',
|
||||
'conv.label': '对话',
|
||||
'conv.heading': '对话历史',
|
||||
'conv.new': '+ 新建',
|
||||
'conv.empty': '还没有对话。',
|
||||
'conv.untitled': '未命名对话',
|
||||
'conv.renameTooltip': '双击重命名',
|
||||
'conv.delete': '删除对话',
|
||||
'conv.deleteConfirm': '确定删除「{title}」?该操作会删除其消息。',
|
||||
|
||||
'agentPicker.label': '代理',
|
||||
'agentPicker.modeChoose': '选择执行模式',
|
||||
'agentPicker.localCli': '本机 CLI',
|
||||
'agentPicker.daemonOff': '守护进程未运行',
|
||||
'agentPicker.byok': 'API · BYOK',
|
||||
'agentPicker.selectAgent': '选择已检测到的代码代理 CLI',
|
||||
'agentPicker.noAgents': 'PATH 中未发现代理',
|
||||
'agentPicker.notInstalled': '未安装',
|
||||
'agentPicker.rescan': '重新扫描 PATH 中的代理',
|
||||
|
||||
'tool.openInTab': '在标签页中打开 {name}',
|
||||
'tool.open': '打开',
|
||||
'tool.todos': '待办',
|
||||
'tool.write': '写入',
|
||||
'tool.edit': '编辑',
|
||||
'tool.read': '读取',
|
||||
'tool.bash': 'Bash',
|
||||
'tool.glob': 'Glob',
|
||||
'tool.grep': 'Grep',
|
||||
'tool.fetch': '抓取',
|
||||
'tool.search': '搜索',
|
||||
'tool.lines': '{n} 行',
|
||||
'tool.changeSingular': '处变更',
|
||||
'tool.changePlural': '处变更',
|
||||
'tool.in': '于 {path}',
|
||||
'tool.hide': '隐藏',
|
||||
'tool.output': '输出',
|
||||
'tool.running': '运行中…',
|
||||
'tool.error': '错误',
|
||||
'tool.done': '完成',
|
||||
|
||||
'assistant.role': '助手',
|
||||
'assistant.workingLabel': '执行中',
|
||||
'assistant.doneLabel': '已完成',
|
||||
'assistant.unfinishedLabel': '已停止,仍有未完成任务',
|
||||
'assistant.unfinishedSummary': '剩余 {n} 个任务',
|
||||
'assistant.unfinishedMore': '还有 {n} 个',
|
||||
'assistant.continueRemaining': '继续剩余任务',
|
||||
'assistant.outTokens': '{n} 输出',
|
||||
'assistant.producedFiles': '本轮产出的文件',
|
||||
'assistant.openFile': '打开',
|
||||
'assistant.downloadFile': '下载',
|
||||
'assistant.thinking': '思考中',
|
||||
'assistant.systemReminder': '系统提示',
|
||||
'assistant.waitingFirstOutput': '等待首批输出中',
|
||||
'assistant.statusBootingAgent': '正在启动代理',
|
||||
'assistant.statusStarting': '启动中',
|
||||
'assistant.statusRequesting': '正在发送请求',
|
||||
'assistant.statusThinking': '思考中',
|
||||
'assistant.statusStreaming': '流式输出中',
|
||||
'assistant.slowHint':
|
||||
'耗时比平时更久。一般 5–10 秒内会出现表单,可以「停止」后重新表述。',
|
||||
'assistant.verbEditing': '编辑',
|
||||
'assistant.verbWriting': '写入',
|
||||
'assistant.verbReading': '读取',
|
||||
'assistant.verbSearching': '搜索',
|
||||
'assistant.verbRunning': '运行',
|
||||
'assistant.verbTodos': '待办',
|
||||
'assistant.verbFetching': '抓取',
|
||||
'assistant.verbCalling': '调用',
|
||||
|
||||
'qf.answered': '已回答',
|
||||
'qf.choose': '请选择…',
|
||||
'qf.required': '必填',
|
||||
'qf.lockedSubmitted': '答案已发送,代理将在本次会话后续使用。',
|
||||
'qf.lockedPrev': '该表单来自此前的对话。',
|
||||
'qf.hint': '挑选合适的选项;可选项可以跳过,代理会使用合理的默认值。',
|
||||
'qf.submitDefault': '发送答案',
|
||||
'qf.submitDisabledTitle': '请先填写必填项',
|
||||
'qf.submitTitle': '发送答案',
|
||||
'qf.cardSelected': '已选',
|
||||
'qf.cardRefs': '参考:',
|
||||
'qf.cardSampleText': '飞燕环宇 · 0123',
|
||||
|
||||
'sketch.toolSelect': '选择(占位)',
|
||||
'sketch.toolPen': '钢笔',
|
||||
'sketch.toolText': '文本',
|
||||
'sketch.toolRect': '矩形',
|
||||
'sketch.toolArrow': '箭头',
|
||||
'sketch.toolEraser': '橡皮擦',
|
||||
'sketch.color': '颜色',
|
||||
'sketch.strokeSize': '描边粗细',
|
||||
'sketch.undo': '撤销',
|
||||
'sketch.clear': '清空',
|
||||
'sketch.close': '关闭',
|
||||
'sketch.textPrompt': '请输入文本:',
|
||||
|
||||
'pet.title': '宠物',
|
||||
'pet.tabBuiltIn': '内置',
|
||||
'pet.tabBuiltInHint': 'Open Design 内置的精选宠物 — 一键领养。',
|
||||
'pet.builtInEmpty': '暂时无法加载内置宠物。等本地服务恢复后,刷新「社区」页签再试。',
|
||||
'pet.tabCustom': '自定义',
|
||||
'pet.tabCustomHint': '自己取名、选符号或上传精灵图。',
|
||||
'pet.tabCommunity': '社区',
|
||||
'pet.tabCommunityHint': '来自 Codex 的孵化宠物 — 领养或用 AI 生成新的。',
|
||||
'pet.tabsAria': '宠物来源',
|
||||
'pet.subtitle': '领养一只小宠物,让它陪你一起设计。',
|
||||
'pet.navTitle': '宠物',
|
||||
'pet.navHint': '领养与自定义',
|
||||
'pet.adopt': '领养',
|
||||
'pet.adoptedBadge': '已领养',
|
||||
'pet.adoptCallout': '领养一只宠物',
|
||||
'pet.changePet': '更换宠物',
|
||||
'pet.wake': '唤醒',
|
||||
'pet.tuck': '收起',
|
||||
'pet.wakeTitle': '唤醒宠物 — 显示浮窗。',
|
||||
'pet.tuckTitle': '收起宠物 — 隐藏浮窗。',
|
||||
'pet.settingsTitle': '打开宠物设置',
|
||||
'pet.useCustom': '使用我的宠物',
|
||||
'pet.customTitle': '自定义你的宠物',
|
||||
'pet.customHint': '挑一个名字、表情和主题色,浮窗会即时更新。',
|
||||
'pet.customGreetingPlaceholder': '来自宠物的问候…',
|
||||
'pet.fieldName': '名字',
|
||||
'pet.fieldGlyph': '表情',
|
||||
'pet.fieldGlyphHint': '建议使用单个 emoji(例如 🐝、🦄、🐢)。',
|
||||
'pet.fieldGreeting': '问候语',
|
||||
'pet.fieldAccent': '主题色',
|
||||
'pet.fieldAccentCustom': '自定义颜色',
|
||||
'pet.overlayAria': '宠物伙伴',
|
||||
'pet.spriteAria': '{name} — 拖动可移动,点击与它互动',
|
||||
'pet.spriteTitle': '{name} 来打招呼啦!点击聊天。',
|
||||
'pet.railAria': '宠物选择器',
|
||||
'pet.railTitle': '宠物',
|
||||
'pet.railHint': '挑一只小伙伴,让它在你的工作区里飘着。',
|
||||
'pet.railExpand': '展开宠物选择器',
|
||||
'pet.railCollapse': '收起宠物选择器',
|
||||
'pet.railHide': '隐藏宠物选择器',
|
||||
'pet.railShow': '显示宠物选择器',
|
||||
'pet.railCustomFlavor': '自定义 — 名字、表情、颜色随你定。',
|
||||
'pet.railCustomize': '自定义…',
|
||||
'pet.composerTitle': '宠物 — 唤醒、收起或选一只',
|
||||
'pet.composerMenuTitle': '宠物',
|
||||
'pet.composerMenuHint': '小贴士:输入 /pet 即可切换',
|
||||
'pet.composerOpenSettings': '在设置中自定义',
|
||||
'pet.welcomeTeaserTitle': '领养一只宠物',
|
||||
'pet.welcomeTeaserBody': '一只小小的浮窗伙伴,会陪着你工作。',
|
||||
'pet.welcomeTeaserCta': '挑一只',
|
||||
'pet.imageUpload': '上传形象',
|
||||
'pet.imageReplace': '替换形象',
|
||||
'pet.imageRemove': '改用 emoji',
|
||||
'pet.imageHintIdle': '支持 PNG / JPG / WebP / GIF / SVG。要做精灵动画?传一张横向序列图并设置帧数。',
|
||||
'pet.imageHintActive': '正在使用你上传的形象。把帧数设为 > 1 即可让横向序列图动起来。',
|
||||
'pet.fieldFrames': '帧数',
|
||||
'pet.fieldFramesHint': '1 = 静态;> 1 = 横向序列图。',
|
||||
'pet.fieldFps': '速度 (fps)',
|
||||
'pet.fieldFpsHint': '控制序列图的播放速度。',
|
||||
'pet.atlasImport': '导入 Codex 精灵图',
|
||||
'pet.atlasImportTitle': '导入 hatch-pet 8x9 / 192x208 精灵图(PNG 或 WebP)。',
|
||||
'pet.atlasPickerTitle': '选择动画行',
|
||||
'pet.atlasPickerHint': 'Codex 宠物自带 9 个动画状态。默认会保留完整精灵图,这样宠物会根据悬停、拖拽方向、长时间空闲自动切换动画。也可以只保留一个循环。',
|
||||
'pet.atlasCancel': '丢弃精灵图',
|
||||
'pet.atlasAdopt': '锁定这一行',
|
||||
'pet.atlasAdoptFull': '使用完整精灵图(动态)',
|
||||
'pet.atlasAdoptFullTitle': '保留全部动画行,让宠物对悬停、拖拽方向以及长时间空闲做出反应。',
|
||||
'pet.atlasAdoptRowTitle': '只把高亮的这一行切成单循环条带。',
|
||||
'pet.atlasActiveHint': '动态精灵图已启用 — 宠物会根据你的交互(悬停、拖拽、空闲)自动切换动画。',
|
||||
'pet.atlasRow.idle': '待机',
|
||||
'pet.atlasRow.running-right': '向右跑',
|
||||
'pet.atlasRow.running-left': '向左跑',
|
||||
'pet.atlasRow.waving': '挥手',
|
||||
'pet.atlasRow.jumping': '跳跃',
|
||||
'pet.atlasRow.failed': '失败',
|
||||
'pet.atlasRow.waiting': '等待',
|
||||
'pet.atlasRow.running': '奔跑',
|
||||
'pet.atlasRow.review': '审视',
|
||||
'pet.hatchTitle': '用 AI 孵化新宠物',
|
||||
'pet.hatchHint': '通过聊天调用内置的 hatch-pet 技能生成 Codex 风格的精灵图,完成后回到这里导入。',
|
||||
'pet.hatchConcept': '宠物概念(可选)',
|
||||
'pet.hatchConceptPlaceholder': '例如:一只穿着毛衣的像素风柴犬',
|
||||
'pet.hatchCopy': '复制提示词',
|
||||
'pet.hatchCopied': '已复制!',
|
||||
'pet.hatchFoot': '技能保存好宠物后,回到这里点击「导入 Codex 精灵图」即可。',
|
||||
'pet.slashPopoverAria': '斜杠命令',
|
||||
'pet.slashPopoverTitle': '命令',
|
||||
'pet.slashPopoverHint': '↑↓ 切换 · 回车选择 · esc 关闭',
|
||||
'pet.slashPet': '切换、领养或跳转到宠物设置。',
|
||||
'pet.slashPetWake': '唤醒漂浮的宠物。',
|
||||
'pet.slashPetTuck': '把宠物收起来。',
|
||||
'pet.slashHatch': '调用 hatch-pet 技能生成一只 Codex 宠物。',
|
||||
'pet.slashHatchArg': '<概念>',
|
||||
'pet.codexTitle': '最近孵化',
|
||||
'pet.codexSubtitle': 'hatch-pet 技能打包的宠物会出现在这里,可一键领养。',
|
||||
'pet.codexSubtitleWithDir': '正在扫描 {dir},查找 hatch-pet 技能打包的宠物。',
|
||||
'pet.codexEmpty': '还没有孵化的宠物。在聊天中输入 /hatch 来生成一只。',
|
||||
'pet.codexLoading': '正在查找已孵化的宠物…',
|
||||
'pet.codexRefresh': '刷新',
|
||||
'pet.codexAdopt': '领养',
|
||||
'pet.codexAdopting': '领养中…',
|
||||
'pet.communitySync': '下载社区宠物',
|
||||
'pet.communitySyncing': '下载中…',
|
||||
'pet.communitySyncTitle': '从 Codex Pet Share 与 j20 Hatchery 同步最新宠物到 ~/.codex/pets/。',
|
||||
'pet.communitySyncDone': '已同步 {wrote} 个新宠物(共 {total} 个)。',
|
||||
'pet.communitySyncFailed': '同步失败:{error}',
|
||||
'pet.codexBundled': '内置',
|
||||
'pet.codexBundledTitle': 'Open Design 内置宠物,无需下载。',
|
||||
|
||||
'settings.notifications': '通知',
|
||||
'settings.notificationsHint': '任务完成时的声音和桌面通知',
|
||||
'settings.notifyCompletionSound': '完成提示音',
|
||||
'settings.notifyCompletionSoundHint': '一轮任务结束时播放,默认关闭',
|
||||
'settings.notifySuccessSound': '成功音色',
|
||||
'settings.notifyFailureSound': '失败音色',
|
||||
'settings.notifyDesktop': '桌面通知',
|
||||
'settings.notifyDesktopHint': '窗口不在前台时弹出系统通知',
|
||||
'settings.notifyDesktopBlocked': '浏览器已拒绝通知权限,请在站点设置中开启',
|
||||
'settings.notifyDesktopUnsupported': '当前环境不支持桌面通知',
|
||||
'settings.notifyTest': '测试通知',
|
||||
'settings.notifyTestSent': '测试通知已发送;如果没有弹窗,请检查浏览器和系统通知设置。',
|
||||
'settings.notifyTestFailed': '通知调用失败,请检查浏览器和系统通知设置。',
|
||||
'settings.notifySoundDing': '叮',
|
||||
'settings.notifySoundChime': '风铃',
|
||||
'settings.notifySoundTwoToneUp': '上行双音',
|
||||
'settings.notifySoundPluck': '拨弦',
|
||||
'settings.notifySoundBuzz': '蜂鸣',
|
||||
'settings.notifySoundTwoToneDown': '下行双音',
|
||||
'settings.notifySoundThud': '低响',
|
||||
'notify.successTitle': '任务已完成',
|
||||
'notify.failureTitle': '任务失败',
|
||||
'notify.successBody': '一轮回答已经写完。',
|
||||
'notify.failureBody': '本轮任务出错,请查看错误信息。',
|
||||
};
|
||||
@@ -0,0 +1,812 @@
|
||||
import type { Dict } from '../types';
|
||||
|
||||
export const zhTW: Dict = {
|
||||
'common.cancel': '取消',
|
||||
'common.save': '儲存',
|
||||
'common.close': '關閉',
|
||||
'common.delete': '刪除',
|
||||
'common.rename': '重新命名',
|
||||
'common.preview': '預覽',
|
||||
'common.share': '分享',
|
||||
'common.search': '搜尋',
|
||||
'common.searchEllipsis': '搜尋…',
|
||||
'common.loading': '載入中…',
|
||||
'common.all': '全部',
|
||||
'common.none': '無',
|
||||
'common.default': '預設',
|
||||
'common.installed': '已安裝',
|
||||
'common.notInstalled': '未安裝',
|
||||
'common.active': '使用中',
|
||||
'common.offline': '未執行',
|
||||
'common.selected': '已選',
|
||||
'common.create': '建立',
|
||||
'common.openPreview': '開啟預覽',
|
||||
'common.exitFullscreen': '離開全螢幕',
|
||||
'common.fullscreen': '全螢幕',
|
||||
'common.openInNewTab': '在新分頁中開啟',
|
||||
'common.exportPdf': '匯出為 PDF',
|
||||
'common.exportZip': '下載為 .zip',
|
||||
'common.exportHtml': '匯出為獨立 HTML',
|
||||
'common.justNow': '剛剛',
|
||||
'common.minutesAgo': '{n} 分鐘前',
|
||||
'common.hoursAgo': '{n} 小時前',
|
||||
'common.daysAgo': '{n} 天前',
|
||||
'common.now': '剛剛',
|
||||
'common.minutesShort': '{n}分',
|
||||
'common.hoursShort': '{n}時',
|
||||
'common.daysShort': '{n}天',
|
||||
'common.untitled': '未命名',
|
||||
|
||||
'app.brand': 'Open Design',
|
||||
'app.brandPill': '研究預覽版',
|
||||
'app.brandSubtitle': '由 Nexu Labs 出品',
|
||||
'app.welcomeLoading': '正在載入工作區…',
|
||||
|
||||
'settings.welcomeKicker': '歡迎',
|
||||
'settings.welcomeTitle': '初始化 Open Design',
|
||||
'settings.welcomeSubtitle':
|
||||
'選擇你希望使用的執行方式。後續可以隨時從頂端「設定」按鈕中修改。',
|
||||
'settings.kicker': '設定',
|
||||
'settings.title': '執行模式與模型',
|
||||
'settings.subtitle': '在本機 CLI 與 BYOK 之間選擇。API Key 只儲存在目前瀏覽器中。',
|
||||
'settings.modeAria': '執行模式',
|
||||
'settings.protocolAria': 'API 協定',
|
||||
'settings.modeDaemon': '本機 CLI',
|
||||
'settings.modeDaemonHelp': '透過本機的程式碼代理 CLI 執行',
|
||||
'settings.modeDaemonOffline': '背景守護程序未執行',
|
||||
'settings.modeDaemonOfflineMeta': '守護程序未執行',
|
||||
'settings.modeDaemonInstalledMeta': '已安裝 {count} 個',
|
||||
'settings.modeApi': 'API 提供方',
|
||||
'settings.modeApiMeta': 'BYOK',
|
||||
'settings.codeAgent': '程式碼代理',
|
||||
'settings.codeAgentHint': '透過掃描 PATH 自動偵測,選擇你希望使用的 CLI。',
|
||||
'settings.rescan': '↻ 重新掃描',
|
||||
'settings.rescanTitle': '重新掃描 PATH',
|
||||
'settings.rescanRunning': '掃描中...',
|
||||
'settings.rescanSuccess': '掃描完成,{count} 個可用。',
|
||||
'settings.rescanFailed': '掃描失敗,請檢查背景守護程序後重試。',
|
||||
'settings.noAgentsDetected':
|
||||
'尚未偵測到任何代理。請安裝 Claude Code、Codex、Gemini CLI、OpenCode、Cursor Agent 或 Qwen 其中之一,然後點擊「重新掃描」。',
|
||||
'settings.apiSection': 'API 設定',
|
||||
'settings.quickFillProvider': '快速填入提供方',
|
||||
'settings.customProvider': '自訂提供方',
|
||||
'settings.apiKey': 'API Key',
|
||||
'settings.showKey': '顯示 Key',
|
||||
'settings.hideKey': '隱藏 Key',
|
||||
'settings.show': '顯示',
|
||||
'settings.hide': '隱藏',
|
||||
'settings.model': '模型',
|
||||
'settings.suggestedModelsHint':
|
||||
'這些是此協定的建議模型。你的提供方可能支援不同的模型。',
|
||||
'settings.baseUrl': 'Base URL',
|
||||
'settings.baseUrlInvalid': '請輸入有效的公網 http:// 或 https:// URL。允許 localhost;會阻止私有網路 IP。',
|
||||
'settings.azureDeploymentModel': '部署名稱',
|
||||
'settings.azureDeploymentModelHint':
|
||||
'對於 Azure OpenAI,此欄位會作為 /openai/deployments/<model> 中的部署名稱使用。請填入你在 Azure 中建立的部署名稱。',
|
||||
'settings.apiVersion': 'API 版本',
|
||||
'settings.maxTokens': '最大 tokens(可選)',
|
||||
'settings.maxTokensHint':
|
||||
'回應長度上限。每個 model 有調過的預設值(在 placeholder 顯示),留空即使用,輸入數字則覆蓋。',
|
||||
'settings.apiHint': '請求會透過本機 daemon 代理送到你設定的 Base URL。Key 只儲存在目前瀏覽器中,並隨提供方請求送出。',
|
||||
'settings.skipForNow': '暫時跳過',
|
||||
'settings.getStarted': '開始使用',
|
||||
'settings.envConfigure': '設定執行模式',
|
||||
'settings.localCli': '本機 CLI',
|
||||
'settings.anthropicApi': 'Anthropic API',
|
||||
'settings.noAgentSelected': '尚未選擇代理',
|
||||
'settings.language': '介面語言',
|
||||
'settings.languageHint': '切換介面語言,設定僅儲存在當前瀏覽器。',
|
||||
'settings.appearance': '外觀',
|
||||
'settings.appearanceHint': '選擇淺色、深色或跟隨系統設定。',
|
||||
'settings.themeSystem': '系統',
|
||||
'settings.themeLight': '淺色',
|
||||
'settings.themeDark': '深色',
|
||||
'settings.modelPicker': '模型',
|
||||
'settings.reasoningPicker': '推理強度',
|
||||
'settings.modelPickerHint':
|
||||
'當 CLI 提供 `models` 命令時會自動拉取。選擇「預設」則沿用 CLI 自身的設定;選擇「自訂」可手動輸入任何 CLI 支援的模型 id。',
|
||||
'settings.modelCustom': '自訂(在下方填寫)…',
|
||||
'settings.modelCustomLabel': '自訂模型 id',
|
||||
'settings.modelCustomPlaceholder': '例如 anthropic/claude-sonnet-4-6',
|
||||
'settings.mediaProviders': '媒體生成提供商',
|
||||
'settings.mediaProvidersHint': '圖片、影片、音訊生成的 API key。存於本機並同步到本地守護程序。',
|
||||
'settings.mediaProviderApiKey': 'API key',
|
||||
'settings.mediaProviderBaseUrl': 'Base URL',
|
||||
'settings.mediaProviderConfigured': '已設定',
|
||||
'settings.mediaProviderUnset': '未設定',
|
||||
'settings.mediaProviderClear': '清除',
|
||||
'settings.mediaProviderPlaceholder': '貼上 API key',
|
||||
'settings.mediaProviderBaseUrlPlaceholder': '覆蓋預設 Base URL',
|
||||
'settings.about': '關於',
|
||||
'settings.aboutHint': '版本與執行環境詳情',
|
||||
'settings.appVersion': '版本',
|
||||
'settings.appChannel': '通道',
|
||||
'settings.appRuntime': '執行環境',
|
||||
'settings.appPlatform': '平台',
|
||||
'settings.appArchitecture': '架構',
|
||||
'settings.runtimePackaged': '已封裝應用程式',
|
||||
'settings.runtimeDevelopment': '開發環境',
|
||||
'settings.versionUnavailable': '守護程式離線時無法取得版本詳情。',
|
||||
|
||||
'entry.tabDesigns': '我的設計',
|
||||
'entry.tabExamples': '範例',
|
||||
'entry.tabDesignSystems': '設計系統',
|
||||
'entry.openSettingsTitle': '設定',
|
||||
'entry.openSettingsAria': '開啟設定',
|
||||
'entry.resizeAria': '調整側邊欄寬度',
|
||||
'entry.loadingWorkspace': '正在載入工作區…',
|
||||
'entry.tabImageTemplates': '圖片範本',
|
||||
'entry.tabVideoTemplates': '影片範本',
|
||||
'promptTemplates.searchPlaceholder': '搜尋範本…',
|
||||
'promptTemplates.countLabel': '{n} 個結果',
|
||||
'promptTemplates.emptyImage': '還沒有安裝圖片 Prompt 範本。',
|
||||
'promptTemplates.emptyVideo': '還沒有安裝影片 Prompt 範本。',
|
||||
'promptTemplates.emptyNoMatch': '沒有符合的範本。',
|
||||
'promptTemplates.attributionFooter': '改編自公開 Prompt 庫,每張卡片都連結到原作者。',
|
||||
'promptTemplates.openPreviewTitle': '開啟 Prompt 與預覽',
|
||||
'promptTemplates.sourcePrefix': '來源:',
|
||||
'promptTemplates.fetchError': '無法載入此範本文字。',
|
||||
'promptTemplates.promptLabel': 'Prompt 內容',
|
||||
'promptTemplates.copyPrompt': '複製 Prompt',
|
||||
'promptTemplates.copyDone': '已複製!',
|
||||
'promptTemplates.modelHint': '建議模型:{model}',
|
||||
'promptTemplates.openSource': '查看原始來源',
|
||||
'promptTemplates.openFullscreen': '開啟全螢幕預覽',
|
||||
'promptTemplates.closeFullscreen': '關閉全螢幕預覽',
|
||||
'promptTemplates.retry': '重試',
|
||||
|
||||
'newproj.tabPrototype': '原型',
|
||||
'newproj.tabDeck': '投影片',
|
||||
'newproj.tabTemplate': '從範本',
|
||||
'newproj.tabOther': '其它',
|
||||
'newproj.titlePrototype': '新建原型',
|
||||
'newproj.titleDeck': '新建投影片',
|
||||
'newproj.titleTemplate': '從範本開始',
|
||||
'newproj.titleImage': '新建圖片',
|
||||
'newproj.titleVideo': '新建影片',
|
||||
'newproj.titleAudio': '新建音訊',
|
||||
'newproj.titleOther': '新建專案',
|
||||
'newproj.namePlaceholder': '專案名稱',
|
||||
'newproj.fidelityLabel': '精細度',
|
||||
'newproj.fidelityWireframe': '線框圖',
|
||||
'newproj.fidelityHigh': '高擬真',
|
||||
'newproj.toggleSpeakerNotes': '使用演講備忘稿',
|
||||
'newproj.toggleSpeakerNotesHint': '減少投影片上的文字,重點放到備忘稿中。',
|
||||
'newproj.toggleAnimations': '加入動畫效果',
|
||||
'newproj.toggleAnimationsHint': '在範本基礎上疊加動畫效果(入場、懸停、過渡)。',
|
||||
'newproj.templateLabel': '範本',
|
||||
'newproj.noTemplatesTitle': '還沒有範本',
|
||||
'newproj.noTemplatesBody':
|
||||
'開啟任意專案,在檔案檢視器內的「分享」選單將其儲存為範本,範本將出現在這裡。',
|
||||
'newproj.savedTemplate': '已儲存的範本',
|
||||
'newproj.fileSingular': '個檔案',
|
||||
'newproj.filePlural': '個檔案',
|
||||
'newproj.create': '建立',
|
||||
'newproj.createFromTemplate': '基於範本建立',
|
||||
'newproj.createDisabledTitle': '請先在任意專案內透過「分享」選單將其儲存為範本。',
|
||||
'newproj.importClaudeZip': '匯入 Claude Design ZIP',
|
||||
'newproj.importClaudeZipTitle': '匯入 Claude Design 匯出的 .zip 檔案',
|
||||
'newproj.importingClaudeZip': '正在匯入…',
|
||||
'newproj.privacyFooter': '預設情況下只有你能看到自己的專案。',
|
||||
'newproj.designSystem': '設計系統',
|
||||
'newproj.dsNoneFreeform': '不指定 — 自由發揮',
|
||||
'newproj.dsNoneSubtitleEmpty': '不使用系統 token,由你決定整體配色',
|
||||
'newproj.dsNoneSubtitleSelected': '跳過系統 token,由代理自行選擇配色。',
|
||||
'newproj.dsCategoryFallback': '設計系統',
|
||||
'newproj.dsSearch': '搜尋設計系統…',
|
||||
'newproj.dsModeAria': '選擇模式',
|
||||
'newproj.dsModeSingle': '單選',
|
||||
'newproj.dsModeMulti': '多選',
|
||||
'newproj.dsNoneTitle': '不指定 — 自由發揮',
|
||||
'newproj.dsNoneSub': '跳過系統 token,由代理自行選擇配色。',
|
||||
'newproj.dsEmpty': '沒有符合「{query}」的設計系統。',
|
||||
'newproj.dsFootSingular': '只作為靈感參考。',
|
||||
'newproj.dsFootPlural': '只作為靈感參考。',
|
||||
'newproj.dsFootClear': '清除',
|
||||
'newproj.dsBadgeDefault': '預設',
|
||||
'newproj.dsPrimaryFallback': '主系統',
|
||||
'newproj.surfaceImage': '圖片',
|
||||
'newproj.surfaceVideo': '影片',
|
||||
'newproj.surfaceAudio': '音訊',
|
||||
'newproj.modelLabel': '模型',
|
||||
'newproj.aspectLabel': '比例',
|
||||
'newproj.imageStyleLabel': '風格備註',
|
||||
'newproj.imageStylePlaceholder': '編輯攝影、柔和日光、低飽和配色',
|
||||
'newproj.videoLengthLabel': '時長',
|
||||
'newproj.videoLengthSeconds': '{n} 秒',
|
||||
'newproj.audioKindLabel': '音訊類型',
|
||||
'newproj.audioKindMusic': '音樂',
|
||||
'newproj.audioKindSpeech': '配音 / TTS',
|
||||
'newproj.audioKindSfx': '音效',
|
||||
'newproj.audioDurationLabel': '時長',
|
||||
'newproj.audioDurationSeconds': '{n} 秒',
|
||||
'newproj.voiceLabel': '聲音',
|
||||
'newproj.voicePlaceholder': '提供商 voice id,可選',
|
||||
'newproj.promptTemplateLabel': '參考範本',
|
||||
'newproj.promptTemplateNoneTitle': '不指定 — 自由發揮',
|
||||
'newproj.promptTemplateNoneSub': '跳過範本庫,自行描述需求',
|
||||
'newproj.promptTemplateRefSub': '參考範本',
|
||||
'newproj.promptTemplateSearch': '搜尋範本…',
|
||||
'newproj.promptTemplateEmpty': '目前沒有此類型的範本。',
|
||||
'newproj.promptTemplateBodyLabel': 'Prompt(可繼續優化)',
|
||||
'newproj.promptTemplateOptimizeHint':
|
||||
'可隨意編輯 — 修改後的內容會作為 agent 生成時的參考。',
|
||||
'newproj.promptTemplateBodyEmpty': '內容為空 — agent 不會拿到範本參考。',
|
||||
|
||||
'designs.subRecent': '最近',
|
||||
'designs.subYours': '我的設計',
|
||||
'designs.filterAria': '篩選專案',
|
||||
'designs.searchPlaceholder': '搜尋…',
|
||||
'designs.emptyNoProjects': '還沒有專案。請在左側建立一個。',
|
||||
'designs.emptyNoMatch': '沒有符合的專案。',
|
||||
'designs.deleteTitle': '刪除專案',
|
||||
'designs.deleteConfirm': '確定刪除「{name}」?',
|
||||
'designs.cardFreeform': '自由設計',
|
||||
'designs.status.notStarted': '未開始',
|
||||
'designs.status.queued': '等待中',
|
||||
'designs.status.running': '執行中',
|
||||
'designs.status.awaitingInput': '等待回覆',
|
||||
'designs.status.succeeded': '已完成',
|
||||
'designs.status.failed': '失敗',
|
||||
'designs.status.canceled': '已取消',
|
||||
'designs.viewToggleAria': '檢視模式',
|
||||
'designs.viewGrid': '網格檢視',
|
||||
'designs.viewKanban': '看板檢視',
|
||||
'designs.kanbanEmptyColumn': '暫無設計',
|
||||
'designs.deleteAria': '刪除專案 {name}',
|
||||
|
||||
'examples.typeLabel': '類型',
|
||||
'examples.surfaceLabel': '類型',
|
||||
'examples.surfaceWeb': '網頁',
|
||||
'examples.surfaceImage': '圖片',
|
||||
'examples.surfaceVideo': '影片',
|
||||
'examples.surfaceAudio': '音訊',
|
||||
'examples.scenarioLabel': '情境',
|
||||
'examples.modeAll': '全部',
|
||||
'examples.modePrototypeDesktop': '原型 · 桌面版',
|
||||
'examples.modePrototypeMobile': '原型 · 行動版',
|
||||
'examples.modeDeck': '投影片',
|
||||
'examples.modeDocument': '文件與範本',
|
||||
'examples.scenarioGeneral': '通用',
|
||||
'examples.scenarioEngineering': '工程',
|
||||
'examples.scenarioProduct': '產品',
|
||||
'examples.scenarioDesign': '設計',
|
||||
'examples.scenarioMarketing': '行銷',
|
||||
'examples.scenarioSales': '業務',
|
||||
'examples.scenarioFinance': '財務',
|
||||
'examples.scenarioHr': '人力資源',
|
||||
'examples.scenarioOperations': '營運',
|
||||
'examples.scenarioSupport': '支援',
|
||||
'examples.scenarioLegal': '法務',
|
||||
'examples.scenarioEducation': '教育',
|
||||
'examples.scenarioPersonal': '個人',
|
||||
'examples.emptyNoSkills': '沒有可用的技能,守護程序是否在執行?',
|
||||
'examples.searchPlaceholder': '搜尋範例…',
|
||||
'examples.searchAria': '依名稱搜尋範例',
|
||||
'examples.emptyNoMatch': '沒有符合當前篩選的範例。',
|
||||
'examples.openPreview': '⤢ 開啟預覽',
|
||||
'examples.loadingPreview': '正在載入預覽…',
|
||||
'examples.hoverPreview': '將滑鼠懸停以檢視預覽',
|
||||
'examples.usePrompt': '使用此 Prompt',
|
||||
'examples.previewModalTitle': '在彈窗中檢視完整預覽',
|
||||
'examples.shareTitle': '分享此範例',
|
||||
'examples.shareLoadFirst': '請先懸停以載入預覽',
|
||||
'examples.shareMenu': '分享 ▾',
|
||||
'examples.exportPdfAllSlides': '匯出為 PDF(全部投影片)',
|
||||
'examples.exportPptxLocked': '匯出為 PPTX…(請先開啟範本)',
|
||||
'examples.tagSlideDeck': '投影片',
|
||||
'examples.tagTemplate': '範本',
|
||||
'examples.tagDesignSystem': '設計系統',
|
||||
'examples.tagMobilePrototype': '行動版原型',
|
||||
'examples.tagDesktopPrototype': '桌面版原型',
|
||||
'examples.tagImage': '圖片',
|
||||
'examples.tagVideo': '影片',
|
||||
'examples.tagAudio': '音訊',
|
||||
'examples.previewLabel': '預覽',
|
||||
|
||||
'ds.surfaceLabel': '類型',
|
||||
'ds.surfaceWeb': '網頁',
|
||||
'ds.surfaceImage': '圖片',
|
||||
'ds.surfaceVideo': '影片',
|
||||
'ds.surfaceAudio': '音訊',
|
||||
'ds.searchPlaceholder': '搜尋設計系統…',
|
||||
'ds.emptyNoMatch': '沒有符合的設計系統。',
|
||||
'ds.badgeDefault': '預設',
|
||||
'ds.preview': '預覽',
|
||||
'ds.previewTitle': '預覽設計系統',
|
||||
'ds.categoryAll': '全部',
|
||||
'ds.categoryUncategorized': '未分類',
|
||||
'ds.showcase': '展示',
|
||||
'ds.tokens': 'Token',
|
||||
'ds.specToggle': 'DESIGN.md',
|
||||
'ds.specLoading': '正在載入 DESIGN.md…',
|
||||
|
||||
'avatar.title': '帳號與設定',
|
||||
'avatar.localCli': '本機 CLI',
|
||||
'avatar.anthropicApi': 'Anthropic API',
|
||||
'avatar.useLocal': '使用本機 CLI',
|
||||
'avatar.useApi': '使用 API · BYOK',
|
||||
'avatar.codeAgent': '程式碼代理',
|
||||
'avatar.rescan': '重新掃描 PATH',
|
||||
'avatar.settings': '設定',
|
||||
'avatar.backToProjects': '返回專案列表',
|
||||
'avatar.metaActive': '使用中',
|
||||
'avatar.metaOffline': '未執行',
|
||||
'avatar.metaSelected': '已選',
|
||||
'avatar.noAgentSelected': '尚未選擇代理',
|
||||
'avatar.modelSection': '模型',
|
||||
'avatar.modelLabel': '模型',
|
||||
'avatar.reasoningLabel': '推理',
|
||||
'avatar.customSuffix': '(自訂)',
|
||||
|
||||
'project.backToProjects': '返回專案列表',
|
||||
'project.metaFreeform': '自由設計',
|
||||
'chat.tabChat': '對話',
|
||||
'chat.tabComments': '評論',
|
||||
'chat.commentsSoon': '評論 — 即將上線',
|
||||
'chat.comments.attached': 'Attached to chat',
|
||||
'chat.comments.emptyAttached': 'No comments attached.',
|
||||
'chat.comments.saved': 'Saved comments',
|
||||
'chat.comments.emptySaved': 'No saved comments.',
|
||||
'chat.comments.add': 'Add',
|
||||
'chat.comments.addAll': 'Add all',
|
||||
'chat.comments.remove': 'Remove',
|
||||
'chat.comments.placeholder': 'Comment on this element…',
|
||||
'chat.comments.addSend': 'Add & send',
|
||||
'chat.comments.updateSend': 'Update & send',
|
||||
'chat.comments.removeAttachment': 'Remove comment attachment',
|
||||
'chat.comments.removeAttachmentAria': 'Remove comment attachment for {name}',
|
||||
'chat.conversationsTitle': '對話紀錄',
|
||||
'chat.conversationsAria': '對話紀錄',
|
||||
'chat.newConversation': '新建對話',
|
||||
'chat.newConversationsTitle': '新建對話',
|
||||
'chat.conversationsHeading': '對話',
|
||||
'chat.new': '新建',
|
||||
'chat.emptyConversations': '還沒有對話。',
|
||||
'chat.deleteConversation': '刪除對話',
|
||||
'chat.deleteConversationConfirm': '確定刪除「{title}」?該操作會刪除其訊息。',
|
||||
'chat.untitledConversation': '未命名對話',
|
||||
'chat.startTitle': '開始一個對話',
|
||||
'chat.startHint':
|
||||
'可以拖曳或貼上圖片作為視覺參考,或鍵入 @ 引用本專案中的檔案。也可以從下面的範例開始:',
|
||||
'chat.fillInputTitle': '點擊填充到輸入框',
|
||||
'chat.jumpToLatest': '回到最新',
|
||||
'chat.scrollToLatest': '捲動到最新',
|
||||
'chat.you': '你',
|
||||
'chat.openFile': '開啟 {name}',
|
||||
'chat.composerPlaceholder': '描述你想要的設計 — 可貼上/拖入圖片,或用 @ 引用檔案…',
|
||||
'chat.composerHint': '⌘/Ctrl + Enter 傳送 · 可貼上圖片 · @ 引用檔案',
|
||||
'chat.cliSettingsTitle': 'CLI 與模型設定',
|
||||
'chat.cliSettingsAria': '開啟 CLI 與模型設定',
|
||||
'chat.attachTitle': '附加檔案(也可以貼上/拖入)',
|
||||
'chat.attachAria': '附加檔案',
|
||||
'chat.importTitle': '匯入素材(即將上線)',
|
||||
'chat.importLabel': '匯入',
|
||||
'chat.importComingSoon': '即將上線',
|
||||
'chat.importSoon': '即將',
|
||||
'chat.importFig': '上傳 .fig 檔案',
|
||||
'chat.importGitHub': '連接 GitHub',
|
||||
'chat.importWeb': '擷取網頁元素',
|
||||
'chat.importFolder': '關聯程式碼目錄',
|
||||
'chat.importSkills': '技能與設計系統',
|
||||
'chat.importProject': '引用其它專案',
|
||||
'chat.send': '傳送',
|
||||
'chat.stop': '停止',
|
||||
'chat.removeAria': '移除 {name}',
|
||||
'chat.example1Title': '編輯風路演 PPT',
|
||||
'chat.example1Tag': '雜誌',
|
||||
'chat.example1Prompt':
|
||||
'為一家正在融種子輪的設計工作室製作 10 張編輯風路演 PPT —— 瑞士格線佈局,超大號襯線標題加粗體首字下沉,等寬字體的章節編號,留白充足,整頁大圖與文字密集頁穿插出現。封面、願景、市場、產品、成長、團隊、融資需求、聯絡方式。',
|
||||
'chat.example2Title': 'SaaS 分析儀表板',
|
||||
'chat.example2Tag': '資料',
|
||||
'chat.example2Prompt':
|
||||
'為一款面向開發者的 SaaS 設計一份資訊密度高的分析儀表板 —— 頂端 KPI 條帶(含週環比變化)、兩張堆疊折線圖(MRR 與活躍工作區)、全球使用熱力圖、留存矩陣、客戶排行榜以及即時事件流。深色主題,等寬數字,迷你圖作為點綴。',
|
||||
'chat.example3Title': '長捲動年度報告',
|
||||
'chat.example3Tag': '編輯',
|
||||
'chat.example3Prompt':
|
||||
'為一家關注氣候議題的非營利機構製作互動式年度報告 —— 長捲動編輯式佈局,混合大段引言區塊、資料視覺化(堆疊柱狀圖、動態計數器、專案地點分布的等值線地圖)、攝影分隔頁、捐贈者牆,以及最終行動號召。現代襯線內文、無襯線圖表標籤、大地紙張配色。',
|
||||
|
||||
'preview.shareMenu': '分享 ▾',
|
||||
'preview.openInNewTab': '在新分頁中開啟',
|
||||
'preview.exit': '⤓ 離開',
|
||||
'preview.fullscreen': '⤢ 全螢幕',
|
||||
'preview.closeTitle': '關閉(Esc)',
|
||||
'preview.loading': '正在載入{label}…',
|
||||
'preview.showSidebar': '展開{label}',
|
||||
'preview.hideSidebar': '收合{label}',
|
||||
|
||||
'misc.savedTemplate': '已儲存的範本',
|
||||
'misc.primary': '主系統',
|
||||
'misc.designSystem': '設計系統',
|
||||
|
||||
'workspace.designFiles': '設計檔案',
|
||||
'workspace.closeTab': '關閉分頁',
|
||||
'workspace.deleteFileConfirm': '從專案資料夾中刪除「{name}」?',
|
||||
'workspace.openFromDesignFiles': '請從',
|
||||
'workspace.designFilesLink': '設計檔案',
|
||||
'workspace.loadingSketch': '正在載入草圖…',
|
||||
'designFiles.title': '設計檔案',
|
||||
'designFiles.upload': '上傳圖片',
|
||||
'designFiles.pasteText': '貼上為文字檔案',
|
||||
'designFiles.newSketch': '新建草圖',
|
||||
'designFiles.empty': '這裡還沒有檔案。可以拖曳下方區域,或新建草圖、貼上文字。',
|
||||
'designFiles.refresh': '重新整理',
|
||||
'designFiles.delete': '刪除',
|
||||
'designFiles.searchPlaceholder': '搜尋檔案…',
|
||||
'designFiles.up': '上一層',
|
||||
'designFiles.back': '返回',
|
||||
'designFiles.crumbs': '專案',
|
||||
'designFiles.rowMenu': '列選單',
|
||||
'designFiles.openInTab': '在分頁中開啟',
|
||||
'designFiles.download': '下載',
|
||||
'designFiles.downloadSelected': '下載選中的 {n} 個檔案為 ZIP',
|
||||
'designFiles.clearSelection': '取消選擇',
|
||||
'designFiles.selectAll': '全選',
|
||||
'designFiles.dropTitle': '⤓ 把檔案拖到這裡',
|
||||
'designFiles.dropDesc': '圖片、文件、參考資料或資料夾 — 智慧體都會用作上下文。',
|
||||
'designFiles.upload.title': '上傳一張圖片',
|
||||
'designFiles.paste.title': '將文字貼上為檔案',
|
||||
'designFiles.upload.label': '上傳',
|
||||
'designFiles.paste.label': '貼上',
|
||||
'designFiles.previewOpen': '開啟',
|
||||
'designFiles.previewClose': '關閉預覽',
|
||||
'designFiles.modified': '修改於 {time} · {size}',
|
||||
'designFiles.weeksAgo': '{n} 週前',
|
||||
'designFiles.sectionPages': '頁面',
|
||||
'designFiles.sectionScripts': '腳本',
|
||||
'designFiles.sectionImages': '圖片',
|
||||
'designFiles.sectionSketches': '草圖',
|
||||
'designFiles.sectionOther': '其它',
|
||||
'designFiles.showMore': '再顯示 {n} 個',
|
||||
'designFiles.kindHtml': 'HTML 頁面',
|
||||
'designFiles.kindImage': '圖片',
|
||||
'designFiles.kindSketch': '草圖',
|
||||
'designFiles.kindText': '文字',
|
||||
'designFiles.kindCode': '腳本',
|
||||
'designFiles.kindPdf': 'PDF',
|
||||
'designFiles.kindDocument': '文件',
|
||||
'designFiles.kindPresentation': '簡報',
|
||||
'designFiles.kindSpreadsheet': '試算表',
|
||||
'designFiles.kindBinary': '二進位',
|
||||
'pasteDialog.title': '貼上文字',
|
||||
'pasteDialog.hint': '將儲存到專案資料夾中,名稱隨你定。',
|
||||
'pasteDialog.fileNameLabel': '檔案名稱',
|
||||
'pasteDialog.namePlaceholder': 'notes.txt',
|
||||
'pasteDialog.contentLabel': '內容',
|
||||
'pasteDialog.contentPlaceholder': '在此貼上任何內容…',
|
||||
'pasteDialog.save': '儲存',
|
||||
'pasteDialog.cancel': '取消',
|
||||
'sketch.save': '儲存草圖',
|
||||
'sketch.cancel': '取消',
|
||||
'sketch.saving': '儲存中…',
|
||||
'sketch.tooltipDirty': '尚未儲存',
|
||||
'sketch.tooltipClean': '已儲存',
|
||||
'fileViewer.empty': '請選擇一個檔案檢視。',
|
||||
'fileViewer.loading': '載入中…',
|
||||
'fileViewer.exportPptx': '匯出為 PPTX',
|
||||
'fileViewer.openInNewTab': '在新分頁中開啟',
|
||||
'fileViewer.copyPath': '複製路徑',
|
||||
'fileViewer.copied': '已複製!',
|
||||
'fileViewer.share': '分享',
|
||||
'fileViewer.binaryMeta': '二進位 · {size}',
|
||||
'fileViewer.binaryNote': '二進位檔案({size} 位元組)。請下載或在本機開啟檢視。',
|
||||
'fileViewer.pdfMeta': 'PDF · {size}',
|
||||
'fileViewer.documentMeta': '文件',
|
||||
'fileViewer.presentationMeta': '簡報',
|
||||
'fileViewer.spreadsheetMeta': '試算表',
|
||||
'fileViewer.previewUnavailable': '無法產生預覽,請下載或開啟檔案檢視。',
|
||||
'fileViewer.download': '下載',
|
||||
'fileViewer.open': '開啟',
|
||||
'fileViewer.imageMeta': '圖片 · {size}',
|
||||
'fileViewer.reactMeta': 'React 元件 · {size}',
|
||||
'fileViewer.sketchMeta': '草圖 · {size}',
|
||||
'fileViewer.markdownStreamingMeta': '正在串流預覽…',
|
||||
'fileViewer.markdownErrorMeta': '預覽可能不完整(產生錯誤)。',
|
||||
'fileViewer.markdownStreamingStatus': '正在串流產生…顯示部分 Markdown。',
|
||||
'fileViewer.markdownErrorStatus': '產生錯誤。正在顯示最後可用內容。',
|
||||
'fileViewer.videoMeta': '影片 · {size}',
|
||||
'fileViewer.audioMeta': '音訊 · {size}',
|
||||
'fileViewer.reload': '重新載入',
|
||||
'fileViewer.reloadDisk': '從磁碟重新載入',
|
||||
'fileViewer.copy': '複製',
|
||||
'fileViewer.copyTitle': '複製檔案內容',
|
||||
'fileViewer.saveDisabled': '儲存(唯讀預覽)',
|
||||
'fileViewer.save': '儲存',
|
||||
'fileViewer.preview': '預覽',
|
||||
'fileViewer.source': '原始碼',
|
||||
'fileViewer.tweaks': '調整',
|
||||
'fileViewer.comment': '評論',
|
||||
'fileViewer.edit': '編輯',
|
||||
'fileViewer.draw': '繪製',
|
||||
'fileViewer.zoomOut': '縮小',
|
||||
'fileViewer.zoomIn': '放大',
|
||||
'fileViewer.resetZoom': '重設縮放',
|
||||
'fileViewer.reloadAria': '重新載入',
|
||||
'fileViewer.previousSlide': '上一張',
|
||||
'fileViewer.nextSlide': '下一張',
|
||||
'fileViewer.slideNavAria': '投影片導覽',
|
||||
'fileViewer.present': '簡報',
|
||||
'fileViewer.presentInTab': '在當前分頁',
|
||||
'fileViewer.presentFullscreen': '全螢幕',
|
||||
'fileViewer.presentNewTab': '新分頁',
|
||||
'fileViewer.exitPresentation': '離開簡報',
|
||||
'fileViewer.shareLabel': '分享',
|
||||
'fileViewer.exportPdf': '匯出為 PDF',
|
||||
'fileViewer.exportPdfAllSlides': '匯出為 PDF(全部投影片)',
|
||||
'fileViewer.exportPptxBusy': '請等待當前任務完成。',
|
||||
'fileViewer.exportPptxHint': '請求代理將此設計轉換為 PPTX。',
|
||||
'fileViewer.exportPptxNa': '此處暫不支援匯出 PPTX。',
|
||||
'fileViewer.exportZip': '下載為 .zip',
|
||||
'fileViewer.exportHtml': '匯出為獨立 HTML',
|
||||
'fileViewer.exportMd': '匯出為 Markdown',
|
||||
'fileViewer.exportJsx': '匯出為 JSX',
|
||||
'fileViewer.exportReactHtml': '匯出預覽 HTML',
|
||||
'fileViewer.saveAsTemplate': '儲存為範本…',
|
||||
'fileViewer.savingTemplate': '正在儲存範本…',
|
||||
'fileViewer.savedTemplate': '已儲存為「{name}」',
|
||||
'fileViewer.savedTemplateFail': '儲存範本失敗,請重試。',
|
||||
'fileViewer.templateNamePrompt': '範本名稱',
|
||||
'fileViewer.templateNameDefault': '未命名範本',
|
||||
'fileViewer.templateDescPrompt': '簡短描述(可選 — 這個範本用於什麼情境?)',
|
||||
'fileViewer.deployToVercel': '部署到 Vercel',
|
||||
'fileViewer.redeployToVercel': '重新部署',
|
||||
'fileViewer.deployingToVercel': '正在部署到 Vercel…',
|
||||
'fileViewer.preparingPublicLink': '正在準備公開連結…',
|
||||
'fileViewer.copyDeployLink': '複製連結',
|
||||
'fileViewer.deployModalTitle': '部署到 Vercel',
|
||||
'fileViewer.deployModalSubtitle': '使用你自己的 Vercel 帳號部署此 HTML 作品預覽。',
|
||||
'fileViewer.vercelToken': 'Vercel token',
|
||||
'fileViewer.vercelTokenGetLink': '取得 Vercel token',
|
||||
'fileViewer.vercelTokenPlaceholder': '貼上你的 Vercel token',
|
||||
'fileViewer.vercelTokenReuseHint': '將使用已儲存的 token。輸入新 token 可替換。',
|
||||
'fileViewer.vercelTokenRequired': '請先輸入並儲存 Vercel token。',
|
||||
'fileViewer.vercelTeamId': 'Team ID',
|
||||
'fileViewer.vercelTeamSlug': 'Team slug',
|
||||
'fileViewer.optional': '可選',
|
||||
'fileViewer.vercelPreviewOnly': '目前僅部署 Preview。',
|
||||
'fileViewer.savingConfig': '儲存中…',
|
||||
'fileViewer.deployConfigSaveFailed': '儲存 Vercel 設定失敗。',
|
||||
'fileViewer.deployFailed': '部署失敗,請檢查 Vercel 設定後重試。',
|
||||
'fileViewer.deployResultLabel': '部署連結',
|
||||
'fileViewer.deployLinkPreparingLabel': '公開連結準備中',
|
||||
'fileViewer.deployLinkDelayed': '站點已部署,Vercel 仍在準備公開連結。',
|
||||
'fileViewer.deployLinkProtectedLabel': 'Vercel 存取保護已開啟',
|
||||
'fileViewer.deployLinkProtected':
|
||||
'站點已部署,但 Vercel 要求登入後才能存取此預覽連結。請關閉 Deployment Protection 或使用自訂網域。',
|
||||
'fileViewer.retryLink': '立即重試',
|
||||
|
||||
'questionForm.submit': '提交',
|
||||
'questionForm.skip': '跳過',
|
||||
'questionForm.locked': '已回答',
|
||||
|
||||
'conv.switch': '切換對話',
|
||||
'conv.label': '對話',
|
||||
'conv.heading': '對話紀錄',
|
||||
'conv.new': '+ 新建',
|
||||
'conv.empty': '還沒有對話。',
|
||||
'conv.untitled': '未命名對話',
|
||||
'conv.renameTooltip': '雙擊重新命名',
|
||||
'conv.delete': '刪除對話',
|
||||
'conv.deleteConfirm': '確定刪除「{title}」?該操作會刪除其訊息。',
|
||||
|
||||
'agentPicker.label': '代理',
|
||||
'agentPicker.modeChoose': '選擇執行模式',
|
||||
'agentPicker.localCli': '本機 CLI',
|
||||
'agentPicker.daemonOff': '守護程序未執行',
|
||||
'agentPicker.byok': 'API · BYOK',
|
||||
'agentPicker.selectAgent': '選擇已偵測到的程式碼代理 CLI',
|
||||
'agentPicker.noAgents': 'PATH 中未發現代理',
|
||||
'agentPicker.notInstalled': '未安裝',
|
||||
'agentPicker.rescan': '重新掃描 PATH 中的代理',
|
||||
|
||||
'tool.openInTab': '在分頁中開啟 {name}',
|
||||
'tool.open': '開啟',
|
||||
'tool.todos': '待辦',
|
||||
'tool.write': '寫入',
|
||||
'tool.edit': '編輯',
|
||||
'tool.read': '讀取',
|
||||
'tool.bash': 'Bash',
|
||||
'tool.glob': 'Glob',
|
||||
'tool.grep': 'Grep',
|
||||
'tool.fetch': '擷取',
|
||||
'tool.search': '搜尋',
|
||||
'tool.lines': '{n} 行',
|
||||
'tool.changeSingular': '處變更',
|
||||
'tool.changePlural': '處變更',
|
||||
'tool.in': '於 {path}',
|
||||
'tool.hide': '隱藏',
|
||||
'tool.output': '輸出',
|
||||
'tool.running': '執行中…',
|
||||
'tool.error': '錯誤',
|
||||
'tool.done': '完成',
|
||||
|
||||
'assistant.role': '助手',
|
||||
'assistant.workingLabel': '執行中',
|
||||
'assistant.doneLabel': '已完成',
|
||||
'assistant.outTokens': '{n} 輸出',
|
||||
'assistant.producedFiles': '本輪產出的檔案',
|
||||
'assistant.openFile': '開啟',
|
||||
'assistant.downloadFile': '下載',
|
||||
'assistant.unfinishedLabel': '已停止,仍有未完成任務',
|
||||
'assistant.unfinishedSummary': '剩餘 {n} 個任務',
|
||||
'assistant.unfinishedMore': '還有 {n} 個',
|
||||
'assistant.continueRemaining': '繼續剩餘任務',
|
||||
'assistant.thinking': '思考中',
|
||||
'assistant.systemReminder': '系統提示',
|
||||
'assistant.waitingFirstOutput': '等待首批輸出中',
|
||||
'assistant.statusBootingAgent': '正在啟動代理',
|
||||
'assistant.statusStarting': '啟動中',
|
||||
'assistant.statusRequesting': '正在傳送請求',
|
||||
'assistant.statusThinking': '思考中',
|
||||
'assistant.statusStreaming': '串流輸出中',
|
||||
'assistant.slowHint':
|
||||
'耗時比平時更久。一般 5–10 秒內會出現表單,可以「停止」後重新表達。',
|
||||
'assistant.verbEditing': '編輯',
|
||||
'assistant.verbWriting': '寫入',
|
||||
'assistant.verbReading': '讀取',
|
||||
'assistant.verbSearching': '搜尋',
|
||||
'assistant.verbRunning': '執行',
|
||||
'assistant.verbTodos': '待辦',
|
||||
'assistant.verbFetching': '擷取',
|
||||
'assistant.verbCalling': '呼叫',
|
||||
|
||||
'qf.answered': '已回答',
|
||||
'qf.choose': '請選擇…',
|
||||
'qf.required': '必填',
|
||||
'qf.lockedSubmitted': '答案已傳送,代理將在本次工作階段後續使用。',
|
||||
'qf.lockedPrev': '該表單來自先前的對話。',
|
||||
'qf.hint': '挑選合適的選項;可選項可以跳過,代理會使用合理的預設值。',
|
||||
'qf.submitDefault': '傳送答案',
|
||||
'qf.submitDisabledTitle': '請先填寫必填項',
|
||||
'qf.submitTitle': '傳送答案',
|
||||
'qf.cardSelected': '已選',
|
||||
'qf.cardRefs': '參考:',
|
||||
'qf.cardSampleText': '飛燕環宇 · 0123',
|
||||
|
||||
'sketch.toolSelect': '選擇(佔位)',
|
||||
'sketch.toolPen': '鋼筆',
|
||||
'sketch.toolText': '文字',
|
||||
'sketch.toolRect': '矩形',
|
||||
'sketch.toolArrow': '箭頭',
|
||||
'sketch.toolEraser': '橡皮擦',
|
||||
'sketch.color': '顏色',
|
||||
'sketch.strokeSize': '描邊粗細',
|
||||
'sketch.undo': '復原',
|
||||
'sketch.clear': '清除',
|
||||
'sketch.close': '關閉',
|
||||
'sketch.textPrompt': '請輸入文字:',
|
||||
|
||||
'pet.title': '寵物',
|
||||
'pet.tabBuiltIn': '內建',
|
||||
'pet.tabBuiltInHint': 'Open Design 內建的精選寵物 — 一鍵領養。',
|
||||
'pet.builtInEmpty': '目前無法載入內建寵物。等本地服務恢復後,重新整理「社群」頁籤再試。',
|
||||
'pet.tabCustom': '自訂',
|
||||
'pet.tabCustomHint': '自己命名、選符號或上傳精靈圖。',
|
||||
'pet.tabCommunity': '社群',
|
||||
'pet.tabCommunityHint': '來自 Codex 的孵化寵物 — 領養或用 AI 生成新的。',
|
||||
'pet.tabsAria': '寵物來源',
|
||||
'pet.subtitle': '領養一隻小寵物,讓它陪你一起設計。',
|
||||
'pet.navTitle': '寵物',
|
||||
'pet.navHint': '領養與自訂',
|
||||
'pet.adopt': '領養',
|
||||
'pet.adoptedBadge': '已領養',
|
||||
'pet.adoptCallout': '領養一隻寵物',
|
||||
'pet.changePet': '更換寵物',
|
||||
'pet.wake': '喚醒',
|
||||
'pet.tuck': '收起',
|
||||
'pet.wakeTitle': '喚醒寵物 — 顯示浮窗。',
|
||||
'pet.tuckTitle': '收起寵物 — 隱藏浮窗。',
|
||||
'pet.settingsTitle': '開啟寵物設定',
|
||||
'pet.useCustom': '使用我的寵物',
|
||||
'pet.customTitle': '自訂你的寵物',
|
||||
'pet.customHint': '挑一個名字、表情和主題色,浮窗會即時更新。',
|
||||
'pet.customGreetingPlaceholder': '來自寵物的問候…',
|
||||
'pet.fieldName': '名字',
|
||||
'pet.fieldGlyph': '表情',
|
||||
'pet.fieldGlyphHint': '建議使用單個 emoji(例如 🐝、🦄、🐢)。',
|
||||
'pet.fieldGreeting': '問候語',
|
||||
'pet.fieldAccent': '主題色',
|
||||
'pet.fieldAccentCustom': '自訂顏色',
|
||||
'pet.overlayAria': '寵物夥伴',
|
||||
'pet.spriteAria': '{name} — 拖曳可移動,點擊與它互動',
|
||||
'pet.spriteTitle': '{name} 來打招呼啦!點擊聊天。',
|
||||
'pet.railAria': '寵物選擇器',
|
||||
'pet.railTitle': '寵物',
|
||||
'pet.railHint': '挑一隻小夥伴,讓牠在你的工作區裡漂著。',
|
||||
'pet.railExpand': '展開寵物選擇器',
|
||||
'pet.railCollapse': '收起寵物選擇器',
|
||||
'pet.railHide': '隱藏寵物選擇器',
|
||||
'pet.railShow': '顯示寵物選擇器',
|
||||
'pet.railCustomFlavor': '自訂 — 名字、表情、顏色都行。',
|
||||
'pet.railCustomize': '自訂…',
|
||||
'pet.composerTitle': '寵物 — 喚醒、收起或挑一隻',
|
||||
'pet.composerMenuTitle': '寵物',
|
||||
'pet.composerMenuHint': '小提示:輸入 /pet 即可切換',
|
||||
'pet.composerOpenSettings': '在設定中自訂',
|
||||
'pet.welcomeTeaserTitle': '領養一隻寵物',
|
||||
'pet.welcomeTeaserBody': '一隻小小的浮窗夥伴,會陪你工作。',
|
||||
'pet.welcomeTeaserCta': '挑一隻',
|
||||
'pet.imageUpload': '上傳形象',
|
||||
'pet.imageReplace': '替換形象',
|
||||
'pet.imageRemove': '改用 emoji',
|
||||
'pet.imageHintIdle': '支援 PNG / JPG / WebP / GIF / SVG。要做精靈動畫?傳一張橫向序列圖並設定影格數。',
|
||||
'pet.imageHintActive': '正在使用你上傳的形象。把影格數設為 > 1,橫向序列圖就會動起來。',
|
||||
'pet.fieldFrames': '影格數',
|
||||
'pet.fieldFramesHint': '1 = 靜態;> 1 = 橫向序列圖。',
|
||||
'pet.fieldFps': '速度 (fps)',
|
||||
'pet.fieldFpsHint': '控制序列圖播放速度。',
|
||||
'pet.atlasImport': '匯入 Codex 精靈圖',
|
||||
'pet.atlasImportTitle': '匯入 hatch-pet 8x9 / 192x208 精靈圖(PNG 或 WebP)。',
|
||||
'pet.atlasPickerTitle': '選擇動畫列',
|
||||
'pet.atlasPickerHint': 'Codex 寵物自帶 9 個動畫狀態。預設會保留完整精靈圖,寵物會根據懸停、拖曳方向、長時間閒置自動切換動畫。也可以只保留一個迴圈。',
|
||||
'pet.atlasCancel': '捨棄精靈圖',
|
||||
'pet.atlasAdopt': '鎖定這一列',
|
||||
'pet.atlasAdoptFull': '使用完整精靈圖(動態)',
|
||||
'pet.atlasAdoptFullTitle': '保留所有動畫列,讓寵物對懸停、拖曳方向以及長時間閒置做出反應。',
|
||||
'pet.atlasAdoptRowTitle': '只把高亮的這一列切成單迴圈條帶。',
|
||||
'pet.atlasActiveHint': '動態精靈圖已啟用 — 寵物會依據你的互動(懸停、拖曳、閒置)自動切換動畫。',
|
||||
'pet.atlasRow.idle': '待機',
|
||||
'pet.atlasRow.running-right': '向右跑',
|
||||
'pet.atlasRow.running-left': '向左跑',
|
||||
'pet.atlasRow.waving': '揮手',
|
||||
'pet.atlasRow.jumping': '跳躍',
|
||||
'pet.atlasRow.failed': '失敗',
|
||||
'pet.atlasRow.waiting': '等待',
|
||||
'pet.atlasRow.running': '奔跑',
|
||||
'pet.atlasRow.review': '審視',
|
||||
'pet.hatchTitle': '用 AI 孵化新寵物',
|
||||
'pet.hatchHint': '透過聊天呼叫內建的 hatch-pet 技能產生 Codex 風格的精靈圖,完成後回到這裡匯入。',
|
||||
'pet.hatchConcept': '寵物概念(可選)',
|
||||
'pet.hatchConceptPlaceholder': '例如:一隻穿著毛衣的像素風柴犬',
|
||||
'pet.hatchCopy': '複製提示詞',
|
||||
'pet.hatchCopied': '已複製!',
|
||||
'pet.hatchFoot': '技能儲存好寵物後,回到這裡點擊「匯入 Codex 精靈圖」即可。',
|
||||
'pet.slashPopoverAria': '斜線命令',
|
||||
'pet.slashPopoverTitle': '命令',
|
||||
'pet.slashPopoverHint': '↑↓ 切換 · enter 選擇 · esc 關閉',
|
||||
'pet.slashPet': '切換、領養或跳到寵物設定。',
|
||||
'pet.slashPetWake': '喚醒漂浮的寵物。',
|
||||
'pet.slashPetTuck': '把寵物收起來。',
|
||||
'pet.slashHatch': '呼叫 hatch-pet 技能生成一隻 Codex 寵物。',
|
||||
'pet.slashHatchArg': '<概念>',
|
||||
'pet.codexTitle': '最近孵化',
|
||||
'pet.codexSubtitle': 'hatch-pet 技能打包的寵物會出現在這裡,可一鍵領養。',
|
||||
'pet.codexSubtitleWithDir': '正在掃描 {dir},尋找 hatch-pet 技能打包的寵物。',
|
||||
'pet.codexEmpty': '還沒有孵化的寵物。在聊天中輸入 /hatch 來生成一隻。',
|
||||
'pet.codexLoading': '正在尋找已孵化的寵物…',
|
||||
'pet.codexRefresh': '重新整理',
|
||||
'pet.codexAdopt': '領養',
|
||||
'pet.codexAdopting': '領養中…',
|
||||
'pet.communitySync': '下載社群寵物',
|
||||
'pet.communitySyncing': '下載中…',
|
||||
'pet.communitySyncTitle': '從 Codex Pet Share 與 j20 Hatchery 同步最新寵物到 ~/.codex/pets/。',
|
||||
'pet.communitySyncDone': '已同步 {wrote} 個新寵物(共 {total} 個)。',
|
||||
'pet.communitySyncFailed': '同步失敗:{error}',
|
||||
'pet.codexBundled': '內建',
|
||||
'pet.codexBundledTitle': 'Open Design 內建寵物,無需下載。',
|
||||
|
||||
'settings.notifications': '通知',
|
||||
'settings.notificationsHint': '任務完成時的音效和桌面通知',
|
||||
'settings.notifyCompletionSound': '完成提示音',
|
||||
'settings.notifyCompletionSoundHint': '一輪任務結束時播放,預設關閉',
|
||||
'settings.notifySuccessSound': '成功音色',
|
||||
'settings.notifyFailureSound': '失敗音色',
|
||||
'settings.notifyDesktop': '桌面通知',
|
||||
'settings.notifyDesktopHint': '視窗不在前景時跳出系統通知',
|
||||
'settings.notifyDesktopBlocked': '瀏覽器已拒絕通知權限,請在網站設定中開啟',
|
||||
'settings.notifyDesktopUnsupported': '當前環境不支援桌面通知',
|
||||
'settings.notifyTest': '測試通知',
|
||||
'settings.notifyTestSent': '測試通知已送出;如果沒有彈窗,請檢查瀏覽器和系統通知設定。',
|
||||
'settings.notifyTestFailed': '通知呼叫失敗,請檢查瀏覽器和系統通知設定。',
|
||||
'settings.notifySoundDing': '叮',
|
||||
'settings.notifySoundChime': '風鈴',
|
||||
'settings.notifySoundTwoToneUp': '上行雙音',
|
||||
'settings.notifySoundPluck': '撥弦',
|
||||
'settings.notifySoundBuzz': '蜂鳴',
|
||||
'settings.notifySoundTwoToneDown': '下行雙音',
|
||||
'settings.notifySoundThud': '低響',
|
||||
'notify.successTitle': '任務已完成',
|
||||
'notify.failureTitle': '任務失敗',
|
||||
'notify.successBody': '一輪回答已經寫完。',
|
||||
'notify.failureBody': '本輪任務出錯,請查看錯誤訊息。',
|
||||
};
|
||||
Reference in New Issue
Block a user