mirror of
https://github.com/lobehub/lobe-chat.git
synced 2026-06-13 19:20:04 +00:00
🔨 chore: modify workspace sidebar (#15658)
* chore: change back to user style sidebar panel * chore: optimize personal menu * chore: update i18n files
This commit is contained in:
+11
-1
@@ -517,10 +517,15 @@
|
||||
"shareModal.pdfErrorDescription": "حدث خطأ أثناء إنشاء PDF، يرجى المحاولة مرة أخرى",
|
||||
"shareModal.pdfGenerationError": "فشل إنشاء PDF",
|
||||
"shareModal.pdfReady": "PDF جاهز",
|
||||
"shareModal.popover.moreOptions": "خيارات مشاركة إضافية",
|
||||
"shareModal.popover.export": "تصدير",
|
||||
"shareModal.popover.privacyWarning.confirm": "أفهم، المتابعة",
|
||||
"shareModal.popover.privacyWarning.content": "يرجى التأكد من أن محادثتك لا تحتوي على أي معلومات شخصية أو حساسة. أنت المسؤول عن أي محتوى تختار مشاركته وما يترتب عليه من نتائج.",
|
||||
"shareModal.popover.privacyWarning.doNotShowAgain": "لا تُظهر هذا مرة أخرى",
|
||||
"shareModal.popover.privacyWarning.items.credentials": "بيانات الاعتماد",
|
||||
"shareModal.popover.privacyWarning.items.files": "الملفات المرفوعة",
|
||||
"shareModal.popover.privacyWarning.items.images": "الصور",
|
||||
"shareModal.popover.privacyWarning.items.toolCalls": "تفاصيل استدعاء الموصل",
|
||||
"shareModal.popover.privacyWarning.note": "يمكنك العودة إلى الوضع الخاص في أي وقت.",
|
||||
"shareModal.popover.privacyWarning.title": "تنبيه الخصوصية",
|
||||
"shareModal.popover.title": "مشاركة الموضوع",
|
||||
"shareModal.popover.visibility": "مستوى الرؤية",
|
||||
@@ -528,6 +533,7 @@
|
||||
"shareModal.screenshot": "لقطة شاشة",
|
||||
"shareModal.settings": "إعدادات التصدير",
|
||||
"shareModal.text": "نص",
|
||||
"shareModal.title": "تصدير",
|
||||
"shareModal.widthMode.label": "وضع العرض",
|
||||
"shareModal.widthMode.narrow": "ضيق",
|
||||
"shareModal.widthMode.wide": "عريض",
|
||||
@@ -545,6 +551,10 @@
|
||||
"sharePage.error.unauthorized.action": "تسجيل الدخول",
|
||||
"sharePage.error.unauthorized.subtitle": "يرجى تسجيل الدخول لعرض هذا الموضوع المشترك.",
|
||||
"sharePage.error.unauthorized.title": "مطلوب تسجيل الدخول",
|
||||
"sharePage.menu.copyLink": "نسخ الرابط",
|
||||
"sharePage.menu.goToLobeHub": "الذهاب إلى LobeHub",
|
||||
"sharePage.menu.more": "المزيد",
|
||||
"sharePage.menu.report": "الإبلاغ",
|
||||
"sharePageDisclaimer": "تمت مشاركة هذا المحتوى من قبل مستخدم ولا يعبر عن آراء LobeHub. لا تتحمل LobeHub أي مسؤولية عن أي نتائج ناتجة عن هذا المحتوى المشترك.",
|
||||
"signalCallbacks.collapse": "إخفاء التفاصيل",
|
||||
"signalCallbacks.empty": "لا توجد رسائل استرجاع",
|
||||
|
||||
@@ -480,6 +480,9 @@
|
||||
"userPanel.setting": "الإعدادات",
|
||||
"userPanel.upgradePlan": "ترقية الخطة",
|
||||
"userPanel.usages": "إحصائيات الاستخدام",
|
||||
"userPanel.workspaceCredits": "أرصدة مساحة العمل",
|
||||
"userPanel.workspaceSetting": "إعدادات مساحة العمل",
|
||||
"userPanel.workspaceUsages": "استخدامات مساحة العمل",
|
||||
"version": "الإصدار",
|
||||
"zoom": "تكبير"
|
||||
}
|
||||
|
||||
@@ -109,9 +109,11 @@
|
||||
"transfer.targetNoWriteAccess": "تحتاج إلى وصول كعضو أو مالك لنقل الموارد إلى مساحة العمل المستهدفة.",
|
||||
"tts.responseError": "فشل طلب الخدمة، يرجى التحقق من الإعدادات أو إعادة المحاولة.",
|
||||
"unknownError.copyTraceId": "تم نسخ معرف التتبع",
|
||||
"unknownError.copyTraceIdTooltip": "انقر للنسخ",
|
||||
"unknownError.desc": "حدث خطأ غير متوقع. يمكنك إعادة المحاولة أو الإبلاغ عنه.",
|
||||
"unknownError.retry": "إعادة المحاولة",
|
||||
"unknownError.title": "عذرًا، الطلب أخذ قسطًا من الراحة",
|
||||
"unknownError.traceIdLabel": "معرّف التتبع:",
|
||||
"unlock.addProxyUrl": "إضافة عنوان وكيل OpenAI (اختياري)",
|
||||
"unlock.apiKey.description": "أدخل مفتاح API الخاص بـ {{name}} لبدء الجلسة",
|
||||
"unlock.apiKey.imageGenerationDescription": "أدخل مفتاح API الخاص بـ {{name}} لبدء التوليد",
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
"claude-3-haiku-20240307.description": "Claude 3 Haiku هو أسرع وأصغر نموذج من Anthropic، مصمم لتقديم استجابات شبه فورية بأداء سريع ودقيق.",
|
||||
"claude-3-opus-20240229.description": "Claude 3 Opus هو أقوى نموذج من Anthropic للمهام المعقدة، يتميز بالأداء العالي، الذكاء، الطلاقة، والفهم.",
|
||||
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet يوازن بين الذكاء والسرعة لتلبية احتياجات المؤسسات، ويوفر فائدة عالية بتكلفة أقل ونشر موثوق على نطاق واسع.",
|
||||
"claude-fable-5.description": "كلود فابل 5 هو النموذج الأكثر كفاءة من أنثروبيك — مستوى جديد يتفوق على أوبوس لتلبية متطلبات العمل الأكثر تعقيدًا والتفكير بعيد المدى.",
|
||||
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 هو النموذج الأكثر سرعة وذكاءً من Anthropic، يتميز بسرعة البرق وقدرات استدلال موسعة.",
|
||||
"claude-haiku-4-5.description": "Claude Haiku 4.5 من Anthropic — نموذج Haiku من الجيل التالي مع تحسينات في التفكير والرؤية.",
|
||||
"claude-haiku-4.5.description": "Claude Haiku 4.5 هو نموذج Haiku الأسرع والأذكى من Anthropic، يتميز بسرعة البرق وقدرات استدلال موسعة.",
|
||||
|
||||
+11
-1
@@ -517,10 +517,15 @@
|
||||
"shareModal.pdfErrorDescription": "Възникна грешка при генериране на PDF, моля опитайте отново",
|
||||
"shareModal.pdfGenerationError": "Грешка при генериране на PDF",
|
||||
"shareModal.pdfReady": "PDF е готов",
|
||||
"shareModal.popover.moreOptions": "Още опции за споделяне",
|
||||
"shareModal.popover.export": "Експорт",
|
||||
"shareModal.popover.privacyWarning.confirm": "Разбирам, продължи",
|
||||
"shareModal.popover.privacyWarning.content": "Моля, уверете се, че разговорът ви не съдържа лична или чувствителна информация. Вие носите отговорност за съдържанието, което решите да споделите, и за последствията от това.",
|
||||
"shareModal.popover.privacyWarning.doNotShowAgain": "Не показвай това отново",
|
||||
"shareModal.popover.privacyWarning.items.credentials": "Удостоверения",
|
||||
"shareModal.popover.privacyWarning.items.files": "Качени файлове",
|
||||
"shareModal.popover.privacyWarning.items.images": "Изображения",
|
||||
"shareModal.popover.privacyWarning.items.toolCalls": "Детайли за извикване на конектора",
|
||||
"shareModal.popover.privacyWarning.note": "Можете да се върнете към частен режим по всяко време.",
|
||||
"shareModal.popover.privacyWarning.title": "Уведомление за поверителност",
|
||||
"shareModal.popover.title": "Сподели тема",
|
||||
"shareModal.popover.visibility": "Видимост",
|
||||
@@ -528,6 +533,7 @@
|
||||
"shareModal.screenshot": "Екранна снимка",
|
||||
"shareModal.settings": "Настройки за експортиране",
|
||||
"shareModal.text": "Текст",
|
||||
"shareModal.title": "Експорт",
|
||||
"shareModal.widthMode.label": "Режим на ширина",
|
||||
"shareModal.widthMode.narrow": "Тесен",
|
||||
"shareModal.widthMode.wide": "Широк",
|
||||
@@ -545,6 +551,10 @@
|
||||
"sharePage.error.unauthorized.action": "Вход",
|
||||
"sharePage.error.unauthorized.subtitle": "Моля, влезте в профила си, за да видите споделената тема.",
|
||||
"sharePage.error.unauthorized.title": "Необходим е вход",
|
||||
"sharePage.menu.copyLink": "Копирай връзката",
|
||||
"sharePage.menu.goToLobeHub": "Отиди в LobeHub",
|
||||
"sharePage.menu.more": "Още",
|
||||
"sharePage.menu.report": "Докладвай",
|
||||
"sharePageDisclaimer": "Това съдържание е споделено от потребител и не отразява възгледите на LobeHub. LobeHub не носи отговорност за последствията от това споделено съдържание.",
|
||||
"signalCallbacks.collapse": "Скрий подробности",
|
||||
"signalCallbacks.empty": "Няма съобщения за обратна връзка",
|
||||
|
||||
@@ -480,6 +480,9 @@
|
||||
"userPanel.setting": "Настройки",
|
||||
"userPanel.upgradePlan": "Надграждане на плана",
|
||||
"userPanel.usages": "Статистика на използване",
|
||||
"userPanel.workspaceCredits": "Кредити за работно пространство",
|
||||
"userPanel.workspaceSetting": "Настройки на работното пространство",
|
||||
"userPanel.workspaceUsages": "Използване на работното пространство",
|
||||
"version": "Версия",
|
||||
"zoom": "Увеличение"
|
||||
}
|
||||
|
||||
@@ -109,9 +109,11 @@
|
||||
"transfer.targetNoWriteAccess": "Трябва да имате достъп като Член или Собственик, за да преместите ресурси в целевото работно пространство.",
|
||||
"tts.responseError": "Заявката към услугата не бе успешна. Проверете конфигурацията или опитайте отново.",
|
||||
"unknownError.copyTraceId": "ID на следата е копиран",
|
||||
"unknownError.copyTraceIdTooltip": "Щракнете, за да копирате",
|
||||
"unknownError.desc": "Възникна неочаквана грешка. Можете да опитате отново или да докладвате за проблема.",
|
||||
"unknownError.retry": "Опитай отново",
|
||||
"unknownError.title": "Опа, заявката си почива",
|
||||
"unknownError.traceIdLabel": "Идентификатор на следа:",
|
||||
"unlock.addProxyUrl": "Добавете OpenAI прокси URL (по избор)",
|
||||
"unlock.apiKey.description": "Въведете вашия {{name}} API ключ, за да започнете сесията",
|
||||
"unlock.apiKey.imageGenerationDescription": "Въведете вашия {{name}} API ключ, за да започнете генериране",
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
"claude-3-haiku-20240307.description": "Claude 3 Haiku е най-бързият и най-компактен модел на Anthropic, проектиран за почти мигновени отговори с бърза и точна производителност.",
|
||||
"claude-3-opus-20240229.description": "Claude 3 Opus е най-мощният модел на Anthropic за силно сложни задачи, отличаващ се с производителност, интелигентност, плавност и разбиране.",
|
||||
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet балансира интелигентност и скорост за корпоративни натоварвания, осигурявайки висока полезност на по-ниска цена и надеждно мащабно внедряване.",
|
||||
"claude-fable-5.description": "Claude Fable 5 е най-способният модел на Anthropic — ново ниво над Opus за най-взискателните задачи, изискващи разсъждение и дългосрочна агентна работа.",
|
||||
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 е най-бързият и най-умният Haiku модел на Anthropic, с мълниеносна скорост и разширени възможности за разсъждение.",
|
||||
"claude-haiku-4-5.description": "Claude Haiku 4.5 от Anthropic — ново поколение Haiku с подобрено разсъждение и визия.",
|
||||
"claude-haiku-4.5.description": "Claude Haiku 4.5 е най-бързият и най-умен Haiku модел на Anthropic, с мълниеносна скорост и разширено разсъждение.",
|
||||
|
||||
+11
-1
@@ -517,10 +517,15 @@
|
||||
"shareModal.pdfErrorDescription": "Beim Generieren des PDFs ist ein Fehler aufgetreten. Bitte versuche es erneut.",
|
||||
"shareModal.pdfGenerationError": "PDF-Generierung fehlgeschlagen",
|
||||
"shareModal.pdfReady": "PDF ist bereit",
|
||||
"shareModal.popover.moreOptions": "Weitere Freigabeoptionen",
|
||||
"shareModal.popover.export": "Exportieren",
|
||||
"shareModal.popover.privacyWarning.confirm": "Ich verstehe, weiter",
|
||||
"shareModal.popover.privacyWarning.content": "Bitte stelle sicher, dass dein Gespräch keine persönlichen oder sensiblen Informationen enthält. Du bist für alle Inhalte, die du teilst, und deren Folgen verantwortlich.",
|
||||
"shareModal.popover.privacyWarning.doNotShowAgain": "Nicht mehr anzeigen",
|
||||
"shareModal.popover.privacyWarning.items.credentials": "Anmeldedaten",
|
||||
"shareModal.popover.privacyWarning.items.files": "Hochgeladene Dateien",
|
||||
"shareModal.popover.privacyWarning.items.images": "Bilder",
|
||||
"shareModal.popover.privacyWarning.items.toolCalls": "Details zu Connector-Aufrufen",
|
||||
"shareModal.popover.privacyWarning.note": "Sie können jederzeit wieder auf privat umschalten.",
|
||||
"shareModal.popover.privacyWarning.title": "Datenschutzhinweis",
|
||||
"shareModal.popover.title": "Thema teilen",
|
||||
"shareModal.popover.visibility": "Sichtbarkeit",
|
||||
@@ -528,6 +533,7 @@
|
||||
"shareModal.screenshot": "Screenshot",
|
||||
"shareModal.settings": "Exporteinstellungen",
|
||||
"shareModal.text": "Text",
|
||||
"shareModal.title": "Exportieren",
|
||||
"shareModal.widthMode.label": "Breitenmodus",
|
||||
"shareModal.widthMode.narrow": "Schmal",
|
||||
"shareModal.widthMode.wide": "Breit",
|
||||
@@ -545,6 +551,10 @@
|
||||
"sharePage.error.unauthorized.action": "Anmelden",
|
||||
"sharePage.error.unauthorized.subtitle": "Bitte melde dich an, um dieses geteilte Thema anzusehen.",
|
||||
"sharePage.error.unauthorized.title": "Anmeldung erforderlich",
|
||||
"sharePage.menu.copyLink": "Link kopieren",
|
||||
"sharePage.menu.goToLobeHub": "Zu LobeHub gehen",
|
||||
"sharePage.menu.more": "Mehr",
|
||||
"sharePage.menu.report": "Melden",
|
||||
"sharePageDisclaimer": "Dieser Inhalt wurde von einem Nutzer geteilt und spiegelt nicht die Ansichten von LobeHub wider. LobeHub übernimmt keine Verantwortung für etwaige Folgen, die sich aus diesem geteilten Inhalt ergeben.",
|
||||
"signalCallbacks.collapse": "Details ausblenden",
|
||||
"signalCallbacks.empty": "Keine Callback-Nachrichten",
|
||||
|
||||
@@ -480,6 +480,9 @@
|
||||
"userPanel.setting": "Einstellungen",
|
||||
"userPanel.upgradePlan": "Plan upgraden",
|
||||
"userPanel.usages": "Nutzungsstatistiken",
|
||||
"userPanel.workspaceCredits": "Arbeitsbereich-Guthaben",
|
||||
"userPanel.workspaceSetting": "Arbeitsbereich-Einstellungen",
|
||||
"userPanel.workspaceUsages": "Arbeitsbereich-Nutzung",
|
||||
"version": "Version",
|
||||
"zoom": "Zoom"
|
||||
}
|
||||
|
||||
@@ -109,9 +109,11 @@
|
||||
"transfer.targetNoWriteAccess": "Sie benötigen Mitglieds- oder Besitzerzugriff, um Ressourcen in den Ziel-Workspace zu verschieben.",
|
||||
"tts.responseError": "Dienstanfrage fehlgeschlagen. Bitte Konfiguration prüfen.",
|
||||
"unknownError.copyTraceId": "Trace-ID kopiert",
|
||||
"unknownError.copyTraceIdTooltip": "Klicken, um zu kopieren",
|
||||
"unknownError.desc": "Ein unerwarteter Fehler ist aufgetreten. Sie können es erneut versuchen oder melden unter",
|
||||
"unknownError.retry": "Erneut versuchen",
|
||||
"unknownError.title": "Hoppla, die Anfrage hat ein Nickerchen gemacht",
|
||||
"unknownError.traceIdLabel": "Trace-ID:",
|
||||
"unlock.addProxyUrl": "OpenAI-Proxy-URL hinzufügen (optional)",
|
||||
"unlock.apiKey.description": "Geben Sie Ihren {{name}} API-Schlüssel ein, um die Sitzung zu starten",
|
||||
"unlock.apiKey.imageGenerationDescription": "Geben Sie Ihren {{name}} API-Schlüssel ein, um mit der Generierung zu beginnen",
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
"claude-3-haiku-20240307.description": "Claude 3 Haiku ist das schnellste und kompakteste Modell von Anthropic, entwickelt für nahezu sofortige Antworten mit schneller, präziser Leistung.",
|
||||
"claude-3-opus-20240229.description": "Claude 3 Opus ist das leistungsstärkste Modell von Anthropic für hochkomplexe Aufgaben. Es überzeugt in Leistung, Intelligenz, Sprachfluss und Verständnis.",
|
||||
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet bietet eine ausgewogene Kombination aus Intelligenz und Geschwindigkeit für Unternehmensanwendungen. Es liefert hohe Nutzbarkeit bei geringeren Kosten und zuverlässiger Skalierbarkeit.",
|
||||
"claude-fable-5.description": "Claude Fable 5 ist das leistungsfähigste Modell von Anthropic – eine neue Stufe über Opus für die anspruchsvollsten Aufgaben in den Bereichen komplexes Denken und langfristiges agentisches Arbeiten.",
|
||||
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 ist das schnellste und intelligenteste Haiku-Modell von Anthropic, mit blitzschneller Geschwindigkeit und erweitertem logischen Denken.",
|
||||
"claude-haiku-4-5.description": "Claude Haiku 4.5 von Anthropic — Next-Gen-Haiku mit verbessertem Reasoning und Vision.",
|
||||
"claude-haiku-4.5.description": "Claude Haiku 4.5 ist das schnellste und intelligenteste Haiku-Modell von Anthropic, mit blitzschneller Geschwindigkeit und erweiterten Denkfähigkeiten.",
|
||||
|
||||
@@ -480,6 +480,9 @@
|
||||
"userPanel.setting": "Settings",
|
||||
"userPanel.upgradePlan": "Upgrade Plan",
|
||||
"userPanel.usages": "Usage",
|
||||
"userPanel.workspaceCredits": "Workspace Credits",
|
||||
"userPanel.workspaceSetting": "Workspace Settings",
|
||||
"userPanel.workspaceUsages": "Workspace Usage",
|
||||
"version": "Version",
|
||||
"zoom": "Zoom"
|
||||
}
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
"claude-3-haiku-20240307.description": "Claude 3 Haiku is Anthropic’s fastest and most compact model, designed for near-instant responses with fast, accurate performance.",
|
||||
"claude-3-opus-20240229.description": "Claude 3 Opus is Anthropic’s most powerful model for highly complex tasks, excelling in performance, intelligence, fluency, and comprehension.",
|
||||
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet balances intelligence and speed for enterprise workloads, delivering high utility at lower cost and reliable large-scale deployment.",
|
||||
"claude-fable-5.description": "Claude Fable 5 is Anthropic's most capable model — a new tier above Opus for the most demanding reasoning and long-horizon agentic work.",
|
||||
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 is Anthropic’s fastest and smartest Haiku model, with lightning speed and extended reasoning.",
|
||||
"claude-haiku-4-5.description": "Claude Haiku 4.5 by Anthropic — next-gen Haiku with enhanced reasoning and vision.",
|
||||
"claude-haiku-4.5.description": "Claude Haiku 4.5 is Anthropic’s fastest and smartest Haiku model, with lightning speed and extended reasoning.",
|
||||
|
||||
+11
-1
@@ -517,10 +517,15 @@
|
||||
"shareModal.pdfErrorDescription": "Ocurrió un error al generar el PDF, por favor intenta de nuevo",
|
||||
"shareModal.pdfGenerationError": "Error al generar el PDF",
|
||||
"shareModal.pdfReady": "PDF listo",
|
||||
"shareModal.popover.moreOptions": "Más opciones para compartir",
|
||||
"shareModal.popover.export": "Exportar",
|
||||
"shareModal.popover.privacyWarning.confirm": "Entiendo, continuar",
|
||||
"shareModal.popover.privacyWarning.content": "Asegúrate de que tu conversación no contenga información personal o sensible. Eres responsable del contenido que decidas compartir y de sus consecuencias.",
|
||||
"shareModal.popover.privacyWarning.doNotShowAgain": "No mostrar esto de nuevo",
|
||||
"shareModal.popover.privacyWarning.items.credentials": "Credenciales",
|
||||
"shareModal.popover.privacyWarning.items.files": "Archivos subidos",
|
||||
"shareModal.popover.privacyWarning.items.images": "Imágenes",
|
||||
"shareModal.popover.privacyWarning.items.toolCalls": "Detalles de llamadas del conector",
|
||||
"shareModal.popover.privacyWarning.note": "Puedes volver al modo privado en cualquier momento.",
|
||||
"shareModal.popover.privacyWarning.title": "Aviso de privacidad",
|
||||
"shareModal.popover.title": "Compartir tema",
|
||||
"shareModal.popover.visibility": "Visibilidad",
|
||||
@@ -528,6 +533,7 @@
|
||||
"shareModal.screenshot": "Captura de pantalla",
|
||||
"shareModal.settings": "Configuración de exportación",
|
||||
"shareModal.text": "Texto",
|
||||
"shareModal.title": "Exportar",
|
||||
"shareModal.widthMode.label": "Modo de ancho",
|
||||
"shareModal.widthMode.narrow": "Estrecho",
|
||||
"shareModal.widthMode.wide": "Ancho",
|
||||
@@ -545,6 +551,10 @@
|
||||
"sharePage.error.unauthorized.action": "Iniciar sesión",
|
||||
"sharePage.error.unauthorized.subtitle": "Por favor, inicia sesión para ver este tema compartido.",
|
||||
"sharePage.error.unauthorized.title": "Inicio de sesión requerido",
|
||||
"sharePage.menu.copyLink": "Copiar enlace",
|
||||
"sharePage.menu.goToLobeHub": "Ir a LobeHub",
|
||||
"sharePage.menu.more": "Más",
|
||||
"sharePage.menu.report": "Reportar",
|
||||
"sharePageDisclaimer": "Este contenido ha sido compartido por un usuario y no representa las opiniones de LobeHub. LobeHub no se hace responsable de las consecuencias derivadas de este contenido compartido.",
|
||||
"signalCallbacks.collapse": "Ocultar detalles",
|
||||
"signalCallbacks.empty": "No hay mensajes de callback",
|
||||
|
||||
@@ -480,6 +480,9 @@
|
||||
"userPanel.setting": "Configuración",
|
||||
"userPanel.upgradePlan": "Actualizar Plan",
|
||||
"userPanel.usages": "Estadísticas de uso",
|
||||
"userPanel.workspaceCredits": "Créditos del Espacio de Trabajo",
|
||||
"userPanel.workspaceSetting": "Configuración del Espacio de Trabajo",
|
||||
"userPanel.workspaceUsages": "Uso del Espacio de Trabajo",
|
||||
"version": "Versión",
|
||||
"zoom": "Zoom"
|
||||
}
|
||||
|
||||
@@ -109,9 +109,11 @@
|
||||
"transfer.targetNoWriteAccess": "Necesitas acceso de Miembro o Propietario para mover recursos al espacio de trabajo de destino.",
|
||||
"tts.responseError": "Error en la solicitud del servicio. Verifica la configuración.",
|
||||
"unknownError.copyTraceId": "ID de Rastreo Copiado",
|
||||
"unknownError.copyTraceIdTooltip": "Haz clic para copiar",
|
||||
"unknownError.desc": "Ocurrió un error inesperado. Puedes intentarlo nuevamente o reportarlo en",
|
||||
"unknownError.retry": "Reintentar",
|
||||
"unknownError.title": "Vaya, la solicitud se tomó un descanso",
|
||||
"unknownError.traceIdLabel": "ID de rastreo:",
|
||||
"unlock.addProxyUrl": "Agregar URL de proxy de OpenAI (opcional)",
|
||||
"unlock.apiKey.description": "Ingresa tu API Key de {{name}} para comenzar la sesión",
|
||||
"unlock.apiKey.imageGenerationDescription": "Ingresa tu API Key de {{name}} para comenzar a generar",
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
"claude-3-haiku-20240307.description": "Claude 3 Haiku es el modelo más rápido y compacto de Anthropic, diseñado para respuestas casi instantáneas con rendimiento rápido y preciso.",
|
||||
"claude-3-opus-20240229.description": "Claude 3 Opus es el modelo más potente de Anthropic para tareas altamente complejas, destacando en rendimiento, inteligencia, fluidez y comprensión.",
|
||||
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet equilibra inteligencia y velocidad para cargas de trabajo empresariales, ofreciendo alta utilidad a menor costo y despliegue confiable a gran escala.",
|
||||
"claude-fable-5.description": "Claude Fable 5 es el modelo más avanzado de Anthropic: un nuevo nivel superior a Opus para los trabajos más exigentes de razonamiento y tareas de largo alcance.",
|
||||
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 es el modelo Haiku más rápido e inteligente de Anthropic, con velocidad relámpago y razonamiento extendido.",
|
||||
"claude-haiku-4-5.description": "Claude Haiku 4.5 de Anthropic: Haiku de nueva generación con razonamiento y visión mejorados.",
|
||||
"claude-haiku-4.5.description": "Claude Haiku 4.5 es el modelo Haiku más rápido e inteligente de Anthropic, con velocidad relámpago y razonamiento extendido.",
|
||||
|
||||
+11
-1
@@ -517,10 +517,15 @@
|
||||
"shareModal.pdfErrorDescription": "در هنگام تولید PDF خطایی رخ داد، لطفاً دوباره تلاش کنید",
|
||||
"shareModal.pdfGenerationError": "تولید PDF ناموفق بود",
|
||||
"shareModal.pdfReady": "PDF آماده است",
|
||||
"shareModal.popover.moreOptions": "گزینههای بیشتر برای اشتراکگذاری",
|
||||
"shareModal.popover.export": "صادر کردن",
|
||||
"shareModal.popover.privacyWarning.confirm": "متوجه شدم، ادامه بده",
|
||||
"shareModal.popover.privacyWarning.content": "لطفاً مطمئن شوید که گفتگوی شما حاوی اطلاعات شخصی یا حساس نیست. شما مسئول محتوایی هستید که برای اشتراکگذاری انتخاب میکنید و پیامدهای آن.",
|
||||
"shareModal.popover.privacyWarning.doNotShowAgain": "دیگر این پیام را نمایش نده",
|
||||
"shareModal.popover.privacyWarning.items.credentials": "اعتبارنامهها",
|
||||
"shareModal.popover.privacyWarning.items.files": "فایلهای آپلود شده",
|
||||
"shareModal.popover.privacyWarning.items.images": "تصاویر",
|
||||
"shareModal.popover.privacyWarning.items.toolCalls": "جزئیات تماسهای کانکتور",
|
||||
"shareModal.popover.privacyWarning.note": "شما میتوانید هر زمان به حالت خصوصی بازگردید.",
|
||||
"shareModal.popover.privacyWarning.title": "هشدار حریم خصوصی",
|
||||
"shareModal.popover.title": "اشتراکگذاری موضوع",
|
||||
"shareModal.popover.visibility": "قابلیت مشاهده",
|
||||
@@ -528,6 +533,7 @@
|
||||
"shareModal.screenshot": "اسکرینشات",
|
||||
"shareModal.settings": "تنظیمات خروجی",
|
||||
"shareModal.text": "متن",
|
||||
"shareModal.title": "صادر کردن",
|
||||
"shareModal.widthMode.label": "حالت عرض",
|
||||
"shareModal.widthMode.narrow": "باریک",
|
||||
"shareModal.widthMode.wide": "عریض",
|
||||
@@ -545,6 +551,10 @@
|
||||
"sharePage.error.unauthorized.action": "ورود",
|
||||
"sharePage.error.unauthorized.subtitle": "لطفاً برای مشاهده این موضوع اشتراکگذاریشده وارد شوید.",
|
||||
"sharePage.error.unauthorized.title": "ورود لازم است",
|
||||
"sharePage.menu.copyLink": "کپی کردن لینک",
|
||||
"sharePage.menu.goToLobeHub": "رفتن به LobeHub",
|
||||
"sharePage.menu.more": "بیشتر",
|
||||
"sharePage.menu.report": "گزارش",
|
||||
"sharePageDisclaimer": "این محتوا توسط یک کاربر به اشتراک گذاشته شده و دیدگاههای LobeHub را نمایندگی نمیکند. LobeHub مسئولیتی در قبال پیامدهای ناشی از این محتوای اشتراکگذاریشده ندارد.",
|
||||
"signalCallbacks.collapse": "پنهان کردن جزئیات",
|
||||
"signalCallbacks.empty": "هیچ پیام بازگشتی وجود ندارد",
|
||||
|
||||
@@ -480,6 +480,9 @@
|
||||
"userPanel.setting": "تنظیمات",
|
||||
"userPanel.upgradePlan": "ارتقاء طرح",
|
||||
"userPanel.usages": "آمار استفاده",
|
||||
"userPanel.workspaceCredits": "اعتبارات فضای کاری",
|
||||
"userPanel.workspaceSetting": "تنظیمات فضای کاری",
|
||||
"userPanel.workspaceUsages": "استفاده از فضای کاری",
|
||||
"version": "نسخه",
|
||||
"zoom": "بزرگنمایی"
|
||||
}
|
||||
|
||||
@@ -109,9 +109,11 @@
|
||||
"transfer.targetNoWriteAccess": "برای انتقال منابع به فضای کاری هدف، باید دسترسی عضو یا صاحب داشته باشید.",
|
||||
"tts.responseError": "درخواست سرویس ناموفق بود. لطفاً پیکربندی را بررسی کرده یا دوباره تلاش کنید.",
|
||||
"unknownError.copyTraceId": "شناسه ردیابی کپی شد",
|
||||
"unknownError.copyTraceIdTooltip": "برای کپی کلیک کنید",
|
||||
"unknownError.desc": "یک خطای غیرمنتظره رخ داد. میتوانید دوباره تلاش کنید یا گزارش دهید در",
|
||||
"unknownError.retry": "تلاش مجدد",
|
||||
"unknownError.title": "اوه، درخواست به خواب رفت",
|
||||
"unknownError.traceIdLabel": "شناسه ردیابی:",
|
||||
"unlock.addProxyUrl": "افزودن آدرس پراکسی OpenAI (اختیاری)",
|
||||
"unlock.apiKey.description": "کلید API {{name}} خود را وارد کنید تا جلسه آغاز شود",
|
||||
"unlock.apiKey.imageGenerationDescription": "کلید API {{name}} خود را وارد کنید تا تولید تصویر آغاز شود",
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
"claude-3-haiku-20240307.description": "Claude 3 Haiku سریعترین و فشردهترین مدل Anthropic است که برای پاسخهای تقریباً فوری با عملکرد سریع و دقیق طراحی شده است.",
|
||||
"claude-3-opus-20240229.description": "Claude 3 Opus قدرتمندترین مدل Anthropic برای وظایف بسیار پیچیده است که در عملکرد، هوش، روانی و درک زبان برتری دارد.",
|
||||
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet تعادل بین هوش و سرعت را برای بارهای کاری سازمانی برقرار میکند و با هزینه کمتر، بهرهوری بالا و استقرار قابل اعتماد در مقیاس وسیع را ارائه میدهد.",
|
||||
"claude-fable-5.description": "کلود فیبل ۵ پیشرفتهترین مدل Anthropic است — یک سطح جدید بالاتر از Opus برای پیچیدهترین کارهای استدلالی و وظایف طولانیمدت عاملمحور.",
|
||||
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 سریعترین و هوشمندترین مدل هایکو Anthropic است که با سرعتی برقآسا و توانایی استدلال پیشرفته عمل میکند.",
|
||||
"claude-haiku-4-5.description": "Claude Haiku 4.5 از Anthropic — نسل جدید Haiku با استدلال و پردازش تصویری پیشرفته.",
|
||||
"claude-haiku-4.5.description": "Claude Haiku 4.5 سریعترین و هوشمندترین مدل Haiku از Anthropic است که با سرعت برقآسا و توانایی استدلال پیشرفته ارائه میشود.",
|
||||
|
||||
+11
-1
@@ -517,10 +517,15 @@
|
||||
"shareModal.pdfErrorDescription": "Une erreur est survenue lors de la génération du PDF, veuillez réessayer",
|
||||
"shareModal.pdfGenerationError": "Échec de la génération du PDF",
|
||||
"shareModal.pdfReady": "Le PDF est prêt",
|
||||
"shareModal.popover.moreOptions": "Plus d’options de partage",
|
||||
"shareModal.popover.export": "Exporter",
|
||||
"shareModal.popover.privacyWarning.confirm": "Je comprends, continuer",
|
||||
"shareModal.popover.privacyWarning.content": "Veuillez vous assurer que votre conversation ne contient aucune information personnelle ou sensible. Vous êtes responsable du contenu que vous choisissez de partager et des conséquences qui en découlent.",
|
||||
"shareModal.popover.privacyWarning.doNotShowAgain": "Ne plus afficher ce message",
|
||||
"shareModal.popover.privacyWarning.items.credentials": "Identifiants",
|
||||
"shareModal.popover.privacyWarning.items.files": "Fichiers téléchargés",
|
||||
"shareModal.popover.privacyWarning.items.images": "Images",
|
||||
"shareModal.popover.privacyWarning.items.toolCalls": "Détails des appels de connecteurs",
|
||||
"shareModal.popover.privacyWarning.note": "Vous pouvez revenir en mode privé à tout moment.",
|
||||
"shareModal.popover.privacyWarning.title": "Avis de confidentialité",
|
||||
"shareModal.popover.title": "Partager le sujet",
|
||||
"shareModal.popover.visibility": "Visibilité",
|
||||
@@ -528,6 +533,7 @@
|
||||
"shareModal.screenshot": "Capture d'écran",
|
||||
"shareModal.settings": "Paramètres d'exportation",
|
||||
"shareModal.text": "Texte",
|
||||
"shareModal.title": "Exporter",
|
||||
"shareModal.widthMode.label": "Mode de largeur",
|
||||
"shareModal.widthMode.narrow": "Étroit",
|
||||
"shareModal.widthMode.wide": "Large",
|
||||
@@ -545,6 +551,10 @@
|
||||
"sharePage.error.unauthorized.action": "Se connecter",
|
||||
"sharePage.error.unauthorized.subtitle": "Veuillez vous connecter pour consulter ce sujet partagé.",
|
||||
"sharePage.error.unauthorized.title": "Connexion requise",
|
||||
"sharePage.menu.copyLink": "Copier le lien",
|
||||
"sharePage.menu.goToLobeHub": "Aller à LobeHub",
|
||||
"sharePage.menu.more": "Plus",
|
||||
"sharePage.menu.report": "Signaler",
|
||||
"sharePageDisclaimer": "Ce contenu est partagé par un utilisateur et ne reflète pas les opinions de LobeHub. LobeHub n’est pas responsable des conséquences liées à ce contenu partagé.",
|
||||
"signalCallbacks.collapse": "Masquer les détails",
|
||||
"signalCallbacks.empty": "Aucun message de rappel",
|
||||
|
||||
@@ -480,6 +480,9 @@
|
||||
"userPanel.setting": "Paramètres",
|
||||
"userPanel.upgradePlan": "Mettre à niveau le plan",
|
||||
"userPanel.usages": "Statistiques d'utilisation",
|
||||
"userPanel.workspaceCredits": "Crédits de l'espace de travail",
|
||||
"userPanel.workspaceSetting": "Paramètres de l'espace de travail",
|
||||
"userPanel.workspaceUsages": "Utilisation de l'espace de travail",
|
||||
"version": "Version",
|
||||
"zoom": "Zoom"
|
||||
}
|
||||
|
||||
@@ -109,9 +109,11 @@
|
||||
"transfer.targetNoWriteAccess": "Vous devez avoir un accès Membre ou Propriétaire pour déplacer des ressources dans l'espace de travail cible.",
|
||||
"tts.responseError": "Échec de la requête du service, veuillez vérifier la configuration ou réessayer",
|
||||
"unknownError.copyTraceId": "ID de Traçage Copié",
|
||||
"unknownError.copyTraceIdTooltip": "Cliquez pour copier",
|
||||
"unknownError.desc": "Une erreur inattendue s'est produite. Vous pouvez réessayer ou signaler sur",
|
||||
"unknownError.retry": "Réessayer",
|
||||
"unknownError.title": "Oups, la requête s'est assoupie",
|
||||
"unknownError.traceIdLabel": "ID de trace :",
|
||||
"unlock.addProxyUrl": "Ajouter une URL proxy OpenAI (optionnel)",
|
||||
"unlock.apiKey.description": "Entrez votre clé API {{name}} pour démarrer la session",
|
||||
"unlock.apiKey.imageGenerationDescription": "Entrez votre clé API {{name}} pour commencer la génération",
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
"claude-3-haiku-20240307.description": "Claude 3 Haiku est le modèle le plus rapide et le plus compact d’Anthropic, conçu pour des réponses quasi instantanées avec des performances rapides et précises.",
|
||||
"claude-3-opus-20240229.description": "Claude 3 Opus est le modèle le plus puissant d’Anthropic pour les tâches complexes, excellent en performance, intelligence, fluidité et compréhension.",
|
||||
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet équilibre intelligence et rapidité pour les charges de travail en entreprise, offrant une grande utilité à moindre coût et un déploiement fiable à grande échelle.",
|
||||
"claude-fable-5.description": "Claude Fable 5 est le modèle le plus performant d'Anthropic — un nouveau niveau supérieur à Opus pour les travaux les plus exigeants en matière de raisonnement et d'agents à long terme.",
|
||||
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 est le modèle Haiku le plus rapide et le plus intelligent d’Anthropic, avec une vitesse fulgurante et un raisonnement étendu.",
|
||||
"claude-haiku-4-5.description": "Claude Haiku 4.5 par Anthropic — modèle Haiku de nouvelle génération avec un raisonnement et une vision améliorés.",
|
||||
"claude-haiku-4.5.description": "Claude Haiku 4.5 est le modèle Haiku le plus rapide et le plus intelligent d’Anthropic, avec une vitesse fulgurante et un raisonnement étendu.",
|
||||
|
||||
+11
-1
@@ -517,10 +517,15 @@
|
||||
"shareModal.pdfErrorDescription": "Si è verificato un errore durante la generazione del PDF, riprova",
|
||||
"shareModal.pdfGenerationError": "Generazione PDF fallita",
|
||||
"shareModal.pdfReady": "PDF pronto",
|
||||
"shareModal.popover.moreOptions": "Altre opzioni di condivisione",
|
||||
"shareModal.popover.export": "Esporta",
|
||||
"shareModal.popover.privacyWarning.confirm": "Ho capito, continua",
|
||||
"shareModal.popover.privacyWarning.content": "Assicurati che la tua conversazione non contenga informazioni personali o sensibili. Sei responsabile del contenuto che scegli di condividere e delle sue conseguenze.",
|
||||
"shareModal.popover.privacyWarning.doNotShowAgain": "Non mostrare più questo messaggio",
|
||||
"shareModal.popover.privacyWarning.items.credentials": "Credenziali",
|
||||
"shareModal.popover.privacyWarning.items.files": "File caricati",
|
||||
"shareModal.popover.privacyWarning.items.images": "Immagini",
|
||||
"shareModal.popover.privacyWarning.items.toolCalls": "Dettagli delle chiamate del connettore",
|
||||
"shareModal.popover.privacyWarning.note": "Puoi tornare alla modalità privata in qualsiasi momento.",
|
||||
"shareModal.popover.privacyWarning.title": "Avviso sulla privacy",
|
||||
"shareModal.popover.title": "Condividi argomento",
|
||||
"shareModal.popover.visibility": "Visibilità",
|
||||
@@ -528,6 +533,7 @@
|
||||
"shareModal.screenshot": "Screenshot",
|
||||
"shareModal.settings": "Impostazioni di esportazione",
|
||||
"shareModal.text": "Testo",
|
||||
"shareModal.title": "Esporta",
|
||||
"shareModal.widthMode.label": "Modalità larghezza",
|
||||
"shareModal.widthMode.narrow": "Stretta",
|
||||
"shareModal.widthMode.wide": "Ampia",
|
||||
@@ -545,6 +551,10 @@
|
||||
"sharePage.error.unauthorized.action": "Accedi",
|
||||
"sharePage.error.unauthorized.subtitle": "Accedi per visualizzare questo argomento condiviso.",
|
||||
"sharePage.error.unauthorized.title": "Accesso richiesto",
|
||||
"sharePage.menu.copyLink": "Copia link",
|
||||
"sharePage.menu.goToLobeHub": "Vai a LobeHub",
|
||||
"sharePage.menu.more": "Altro",
|
||||
"sharePage.menu.report": "Segnala",
|
||||
"sharePageDisclaimer": "Questo contenuto è stato condiviso da un utente e non rappresenta le opinioni di LobeHub. LobeHub non è responsabile per eventuali conseguenze derivanti da questo contenuto condiviso.",
|
||||
"signalCallbacks.collapse": "Nascondi dettagli",
|
||||
"signalCallbacks.empty": "Nessun messaggio di callback",
|
||||
|
||||
@@ -480,6 +480,9 @@
|
||||
"userPanel.setting": "Impostazioni",
|
||||
"userPanel.upgradePlan": "Aggiorna piano",
|
||||
"userPanel.usages": "Statistiche di utilizzo",
|
||||
"userPanel.workspaceCredits": "Crediti dello Spazio di Lavoro",
|
||||
"userPanel.workspaceSetting": "Impostazioni dello Spazio di Lavoro",
|
||||
"userPanel.workspaceUsages": "Utilizzo dello Spazio di Lavoro",
|
||||
"version": "Versione",
|
||||
"zoom": "Zoom"
|
||||
}
|
||||
|
||||
@@ -109,9 +109,11 @@
|
||||
"transfer.targetNoWriteAccess": "Hai bisogno dell'accesso come Membro o Proprietario per spostare risorse nello spazio di lavoro di destinazione.",
|
||||
"tts.responseError": "Richiesta al servizio fallita. Verifica la configurazione o riprova.",
|
||||
"unknownError.copyTraceId": "ID Traccia Copiato",
|
||||
"unknownError.copyTraceIdTooltip": "Fai clic per copiare",
|
||||
"unknownError.desc": "Si è verificato un errore imprevisto. Puoi riprovare o segnalare su",
|
||||
"unknownError.retry": "Riprova",
|
||||
"unknownError.title": "Ops, la richiesta si è presa una pausa",
|
||||
"unknownError.traceIdLabel": "ID Traccia:",
|
||||
"unlock.addProxyUrl": "Aggiungi URL proxy OpenAI (opzionale)",
|
||||
"unlock.apiKey.description": "Inserisci la tua API Key {{name}} per iniziare la sessione",
|
||||
"unlock.apiKey.imageGenerationDescription": "Inserisci la tua API Key {{name}} per iniziare a generare",
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
"claude-3-haiku-20240307.description": "Claude 3 Haiku è il modello più veloce e compatto di Anthropic, progettato per risposte quasi istantanee con prestazioni rapide e accurate.",
|
||||
"claude-3-opus-20240229.description": "Claude 3 Opus è il modello più potente di Anthropic per compiti altamente complessi, eccellendo in prestazioni, intelligenza, fluidità e comprensione.",
|
||||
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet bilancia intelligenza e velocità per carichi di lavoro aziendali, offrendo alta utilità a costi inferiori e distribuzione affidabile su larga scala.",
|
||||
"claude-fable-5.description": "Claude Fable 5 è il modello più avanzato di Anthropic — un nuovo livello superiore a Opus per i lavori più impegnativi di ragionamento e agentività a lungo termine.",
|
||||
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 è il modello Haiku più veloce e intelligente di Anthropic, con velocità fulminea e capacità di ragionamento estese.",
|
||||
"claude-haiku-4-5.description": "Claude Haiku 4.5 di Anthropic — Haiku di nuova generazione con ragionamento e visione migliorati.",
|
||||
"claude-haiku-4.5.description": "Claude Haiku 4.5 è il modello Haiku più veloce e intelligente di Anthropic, con velocità fulminea e capacità di ragionamento estese.",
|
||||
|
||||
+11
-1
@@ -517,10 +517,15 @@
|
||||
"shareModal.pdfErrorDescription": "PDF の生成中にエラーが発生しました。再試行するか、サポートに連絡してください",
|
||||
"shareModal.pdfGenerationError": "PDF の生成に失敗しました",
|
||||
"shareModal.pdfReady": "PDF の準備ができました",
|
||||
"shareModal.popover.moreOptions": "その他の共有オプション",
|
||||
"shareModal.popover.export": "エクスポート",
|
||||
"shareModal.popover.privacyWarning.confirm": "理解しました。続行します",
|
||||
"shareModal.popover.privacyWarning.content": "会話に個人情報や機密情報が含まれていないことをご確認ください。共有する内容およびその結果については、あなた自身が責任を負うものとします。",
|
||||
"shareModal.popover.privacyWarning.doNotShowAgain": "今後このメッセージを表示しない",
|
||||
"shareModal.popover.privacyWarning.items.credentials": "資格情報",
|
||||
"shareModal.popover.privacyWarning.items.files": "アップロードされたファイル",
|
||||
"shareModal.popover.privacyWarning.items.images": "画像",
|
||||
"shareModal.popover.privacyWarning.items.toolCalls": "コネクタ呼び出しの詳細",
|
||||
"shareModal.popover.privacyWarning.note": "いつでもプライベートに戻すことができます。",
|
||||
"shareModal.popover.privacyWarning.title": "プライバシーに関する注意",
|
||||
"shareModal.popover.title": "トピックを共有",
|
||||
"shareModal.popover.visibility": "公開範囲",
|
||||
@@ -528,6 +533,7 @@
|
||||
"shareModal.screenshot": "スクリーンショット",
|
||||
"shareModal.settings": "エクスポート設定",
|
||||
"shareModal.text": "テキスト",
|
||||
"shareModal.title": "エクスポート",
|
||||
"shareModal.widthMode.label": "幅モード",
|
||||
"shareModal.widthMode.narrow": "ナローモード",
|
||||
"shareModal.widthMode.wide": "ワイドモード",
|
||||
@@ -545,6 +551,10 @@
|
||||
"sharePage.error.unauthorized.action": "サインイン",
|
||||
"sharePage.error.unauthorized.subtitle": "この共有されたトピックを表示するには、サインインしてください。",
|
||||
"sharePage.error.unauthorized.title": "サインインが必要です",
|
||||
"sharePage.menu.copyLink": "リンクをコピー",
|
||||
"sharePage.menu.goToLobeHub": "LobeHubに移動",
|
||||
"sharePage.menu.more": "その他",
|
||||
"sharePage.menu.report": "報告",
|
||||
"sharePageDisclaimer": "このコンテンツはユーザーによって共有されたものであり、LobeHub の見解を示すものではありません。LobeHub は、この共有コンテンツに起因するいかなる結果についても責任を負いません。",
|
||||
"signalCallbacks.collapse": "詳細を非表示",
|
||||
"signalCallbacks.empty": "コールバックメッセージはありません",
|
||||
|
||||
@@ -480,6 +480,9 @@
|
||||
"userPanel.setting": "アプリ設定",
|
||||
"userPanel.upgradePlan": "プランをアップグレード",
|
||||
"userPanel.usages": "使用統計",
|
||||
"userPanel.workspaceCredits": "ワークスペースクレジット",
|
||||
"userPanel.workspaceSetting": "ワークスペース設定",
|
||||
"userPanel.workspaceUsages": "ワークスペース使用状況",
|
||||
"version": "バージョン",
|
||||
"zoom": "ズーム"
|
||||
}
|
||||
|
||||
@@ -109,9 +109,11 @@
|
||||
"transfer.targetNoWriteAccess": "ターゲットワークスペースにリソースを移動するには、メンバーまたは所有者のアクセス権が必要です。",
|
||||
"tts.responseError": "リクエストが失敗しました。設定を確認してから再試行してください",
|
||||
"unknownError.copyTraceId": "トレースIDをコピーしました",
|
||||
"unknownError.copyTraceIdTooltip": "クリックしてコピー",
|
||||
"unknownError.desc": "予期しないエラーが発生しました。再試行するか、報告してください。",
|
||||
"unknownError.retry": "再試行",
|
||||
"unknownError.title": "おっと、リクエストが休憩しました",
|
||||
"unknownError.traceIdLabel": "トレースID:",
|
||||
"unlock.addProxyUrl": "OpenAI プロキシアドレスを追加(オプション)",
|
||||
"unlock.apiKey.description": "{{name}} API キーを入力すると、会話を開始できます",
|
||||
"unlock.apiKey.imageGenerationDescription": "{{name}} API キーを入力すると、生成を開始できます",
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
"claude-3-haiku-20240307.description": "Claude 3 Haikuは、Anthropicの最速かつ最小のモデルで、即時応答と高速かつ正確な性能を実現するよう設計されています。",
|
||||
"claude-3-opus-20240229.description": "Claude 3 Opusは、Anthropicの最も強力なモデルで、非常に複雑なタスクにおいて卓越した性能、知性、流暢さ、理解力を発揮します。",
|
||||
"claude-3-sonnet-20240229.description": "Claude 3 Sonnetは、知性と速度のバランスを取り、エンタープライズ向けのワークロードにおいて高い実用性とコスト効率、信頼性のある大規模展開を実現します。",
|
||||
"claude-fable-5.description": "クロード・フェーブル5は、Anthropicの最も高性能なモデルです。最も高度な推論や長期的なエージェント作業に対応するため、Opusを超える新たなレベルを提供します。",
|
||||
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5は、Anthropicが提供する最速かつ最も賢いHaikuモデルで、驚異的なスピードと高度な推論能力を備えています。",
|
||||
"claude-haiku-4-5.description": "Claude Haiku 4.5 by Anthropic — 次世代Haikuモデルで、推論能力とビジョンが強化されています。",
|
||||
"claude-haiku-4.5.description": "Claude Haiku 4.5は、Anthropicの最速かつ最も賢いHaikuモデルで、驚異的なスピードと高度な推論能力を備えています。",
|
||||
|
||||
+11
-1
@@ -517,10 +517,15 @@
|
||||
"shareModal.pdfErrorDescription": "PDF 생성 중 오류가 발생했습니다. 재시도하거나 지원에 문의하세요",
|
||||
"shareModal.pdfGenerationError": "PDF 생성 실패",
|
||||
"shareModal.pdfReady": "PDF 준비 완료",
|
||||
"shareModal.popover.moreOptions": "추가 공유 옵션",
|
||||
"shareModal.popover.export": "내보내기",
|
||||
"shareModal.popover.privacyWarning.confirm": "이해했습니다. 계속하기",
|
||||
"shareModal.popover.privacyWarning.content": "대화에 개인 정보나 민감한 정보가 포함되어 있지 않은지 확인하세요. 공유한 콘텐츠와 그로 인한 결과에 대한 책임은 사용자 본인에게 있습니다.",
|
||||
"shareModal.popover.privacyWarning.doNotShowAgain": "다시 표시하지 않기",
|
||||
"shareModal.popover.privacyWarning.items.credentials": "자격 증명",
|
||||
"shareModal.popover.privacyWarning.items.files": "업로드된 파일",
|
||||
"shareModal.popover.privacyWarning.items.images": "이미지",
|
||||
"shareModal.popover.privacyWarning.items.toolCalls": "커넥터 호출 세부 정보",
|
||||
"shareModal.popover.privacyWarning.note": "언제든지 비공개로 다시 전환할 수 있습니다.",
|
||||
"shareModal.popover.privacyWarning.title": "개인정보 보호 안내",
|
||||
"shareModal.popover.title": "주제 공유",
|
||||
"shareModal.popover.visibility": "공개 범위",
|
||||
@@ -528,6 +533,7 @@
|
||||
"shareModal.screenshot": "스크린샷",
|
||||
"shareModal.settings": "내보내기 설정",
|
||||
"shareModal.text": "텍스트",
|
||||
"shareModal.title": "내보내기",
|
||||
"shareModal.widthMode.label": "너비 모드",
|
||||
"shareModal.widthMode.narrow": "좁은 화면",
|
||||
"shareModal.widthMode.wide": "넓은 화면",
|
||||
@@ -545,6 +551,10 @@
|
||||
"sharePage.error.unauthorized.action": "로그인",
|
||||
"sharePage.error.unauthorized.subtitle": "공유된 주제를 보려면 로그인하세요.",
|
||||
"sharePage.error.unauthorized.title": "로그인이 필요합니다",
|
||||
"sharePage.menu.copyLink": "링크 복사",
|
||||
"sharePage.menu.goToLobeHub": "LobeHub로 이동",
|
||||
"sharePage.menu.more": "더보기",
|
||||
"sharePage.menu.report": "신고",
|
||||
"sharePageDisclaimer": "이 콘텐츠는 사용자가 공유한 것으로, LobeHub의 입장을 대변하지 않습니다. LobeHub는 이 공유 콘텐츠로 인해 발생하는 결과에 대해 책임지지 않습니다.",
|
||||
"signalCallbacks.collapse": "세부 정보 숨기기",
|
||||
"signalCallbacks.empty": "콜백 메시지가 없습니다",
|
||||
|
||||
@@ -480,6 +480,9 @@
|
||||
"userPanel.setting": "앱 설정",
|
||||
"userPanel.upgradePlan": "플랜 업그레이드",
|
||||
"userPanel.usages": "사용량 통계",
|
||||
"userPanel.workspaceCredits": "워크스페이스 크레딧",
|
||||
"userPanel.workspaceSetting": "워크스페이스 설정",
|
||||
"userPanel.workspaceUsages": "워크스페이스 사용량",
|
||||
"version": "버전",
|
||||
"zoom": "확대"
|
||||
}
|
||||
|
||||
@@ -109,9 +109,11 @@
|
||||
"transfer.targetNoWriteAccess": "대상 워크스페이스로 리소스를 이동하려면 멤버 또는 소유자 권한이 필요합니다.",
|
||||
"tts.responseError": "요청이 실패했습니다. 설정을 확인한 후 다시 시도하세요",
|
||||
"unknownError.copyTraceId": "추적 ID 복사됨",
|
||||
"unknownError.copyTraceIdTooltip": "클릭하여 복사",
|
||||
"unknownError.desc": "예기치 않은 오류가 발생했습니다. 다시 시도하거나 보고할 수 있습니다.",
|
||||
"unknownError.retry": "다시 시도",
|
||||
"unknownError.title": "이런, 요청이 잠시 쉬고 있습니다",
|
||||
"unknownError.traceIdLabel": "추적 ID:",
|
||||
"unlock.addProxyUrl": "OpenAI 프록시 주소 추가(선택 사항)",
|
||||
"unlock.apiKey.description": "{{name}} API 키를 입력하면 대화를 시작할 수 있습니다",
|
||||
"unlock.apiKey.imageGenerationDescription": "{{name}} API 키를 입력하면 생성을 시작할 수 있습니다",
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
"claude-3-haiku-20240307.description": "Claude 3 Haiku는 Anthropic의 가장 빠르고 컴팩트한 모델로, 빠르고 정확한 성능으로 즉각적인 응답을 위해 설계되었습니다.",
|
||||
"claude-3-opus-20240229.description": "Claude 3 Opus는 Anthropic의 가장 강력한 모델로, 고난도 작업에서 뛰어난 성능, 지능, 유창성, 이해력을 자랑합니다.",
|
||||
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet은 엔터프라이즈 워크로드를 위한 지능과 속도의 균형을 제공하며, 낮은 비용으로 높은 효용성과 안정적인 대규모 배포를 지원합니다.",
|
||||
"claude-fable-5.description": "Claude Fable 5는 Anthropic의 가장 강력한 모델로, 가장 까다로운 추론 작업과 장기적인 에이전트 작업을 위해 Opus를 뛰어넘는 새로운 수준을 제공합니다.",
|
||||
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5는 Anthropic의 가장 빠르고 스마트한 Haiku 모델로, 번개 같은 속도와 확장된 추론 능력을 자랑합니다.",
|
||||
"claude-haiku-4-5.description": "Anthropic의 Claude Haiku 4.5 — 향상된 추론 및 비전을 갖춘 차세대 Haiku.",
|
||||
"claude-haiku-4.5.description": "Claude Haiku 4.5는 Anthropic의 가장 빠르고 똑똑한 Haiku 모델로, 번개 같은 속도와 확장된 추론 능력을 자랑합니다.",
|
||||
|
||||
+11
-1
@@ -517,10 +517,15 @@
|
||||
"shareModal.pdfErrorDescription": "Er is een fout opgetreden bij het genereren van de PDF, probeer het opnieuw",
|
||||
"shareModal.pdfGenerationError": "PDF-generatie mislukt",
|
||||
"shareModal.pdfReady": "PDF is klaar",
|
||||
"shareModal.popover.moreOptions": "Meer deelopties",
|
||||
"shareModal.popover.export": "Exporteren",
|
||||
"shareModal.popover.privacyWarning.confirm": "Ik begrijp het, ga verder",
|
||||
"shareModal.popover.privacyWarning.content": "Zorg ervoor dat je gesprek geen persoonlijke of gevoelige informatie bevat. Je bent zelf verantwoordelijk voor de inhoud die je deelt en de gevolgen daarvan.",
|
||||
"shareModal.popover.privacyWarning.doNotShowAgain": "Niet opnieuw weergeven",
|
||||
"shareModal.popover.privacyWarning.items.credentials": "Inloggegevens",
|
||||
"shareModal.popover.privacyWarning.items.files": "Geüploade bestanden",
|
||||
"shareModal.popover.privacyWarning.items.images": "Afbeeldingen",
|
||||
"shareModal.popover.privacyWarning.items.toolCalls": "Details van connectoroproepen",
|
||||
"shareModal.popover.privacyWarning.note": "Je kunt op elk moment terugschakelen naar privé.",
|
||||
"shareModal.popover.privacyWarning.title": "Privacyverklaring",
|
||||
"shareModal.popover.title": "Onderwerp delen",
|
||||
"shareModal.popover.visibility": "Zichtbaarheid",
|
||||
@@ -528,6 +533,7 @@
|
||||
"shareModal.screenshot": "Screenshot",
|
||||
"shareModal.settings": "Exporteerinstellingen",
|
||||
"shareModal.text": "Tekst",
|
||||
"shareModal.title": "Exporteren",
|
||||
"shareModal.widthMode.label": "Breedtemodus",
|
||||
"shareModal.widthMode.narrow": "Smal",
|
||||
"shareModal.widthMode.wide": "Breed",
|
||||
@@ -545,6 +551,10 @@
|
||||
"sharePage.error.unauthorized.action": "Inloggen",
|
||||
"sharePage.error.unauthorized.subtitle": "Log in om dit gedeelde onderwerp te bekijken.",
|
||||
"sharePage.error.unauthorized.title": "Inloggen vereist",
|
||||
"sharePage.menu.copyLink": "Kopieer link",
|
||||
"sharePage.menu.goToLobeHub": "Ga naar LobeHub",
|
||||
"sharePage.menu.more": "Meer",
|
||||
"sharePage.menu.report": "Rapporteren",
|
||||
"sharePageDisclaimer": "Deze inhoud is gedeeld door een gebruiker en vertegenwoordigt niet de standpunten van LobeHub. LobeHub is niet verantwoordelijk voor eventuele gevolgen van deze gedeelde inhoud.",
|
||||
"signalCallbacks.collapse": "Details verbergen",
|
||||
"signalCallbacks.empty": "Geen callbackberichten",
|
||||
|
||||
@@ -480,6 +480,9 @@
|
||||
"userPanel.setting": "Instellingen",
|
||||
"userPanel.upgradePlan": "Abonnement upgraden",
|
||||
"userPanel.usages": "Gebruiksstatistieken",
|
||||
"userPanel.workspaceCredits": "Werkruimtecredits",
|
||||
"userPanel.workspaceSetting": "Werkruimte-instellingen",
|
||||
"userPanel.workspaceUsages": "Werkruimtegebruik",
|
||||
"version": "Versie",
|
||||
"zoom": "Zoom"
|
||||
}
|
||||
|
||||
@@ -109,9 +109,11 @@
|
||||
"transfer.targetNoWriteAccess": "Je hebt Lid- of Eigenaarstoegang nodig om bronnen naar de doelwerkruimte te verplaatsen.",
|
||||
"tts.responseError": "Serviceverzoek mislukt. Controleer de configuratie of probeer opnieuw.",
|
||||
"unknownError.copyTraceId": "Trace-ID Gekopieerd",
|
||||
"unknownError.copyTraceIdTooltip": "Klik om te kopiëren",
|
||||
"unknownError.desc": "Er is een onverwachte fout opgetreden. U kunt het opnieuw proberen of rapporteren via",
|
||||
"unknownError.retry": "Opnieuw Proberen",
|
||||
"unknownError.title": "Oeps, het verzoek heeft een dutje gedaan",
|
||||
"unknownError.traceIdLabel": "Traceer-ID:",
|
||||
"unlock.addProxyUrl": "Voeg OpenAI-proxy-URL toe (optioneel)",
|
||||
"unlock.apiKey.description": "Voer je {{name}} API-sleutel in om de sessie te starten",
|
||||
"unlock.apiKey.imageGenerationDescription": "Voer je {{name}} API-sleutel in om afbeeldingen te genereren",
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
"claude-3-haiku-20240307.description": "Claude 3 Haiku is het snelste en meest compacte model van Anthropic, ontworpen voor vrijwel directe reacties met snelle en nauwkeurige prestaties.",
|
||||
"claude-3-opus-20240229.description": "Claude 3 Opus is het krachtigste model van Anthropic voor zeer complexe taken, met uitmuntende prestaties, intelligentie, vloeiendheid en begrip.",
|
||||
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet biedt een balans tussen intelligentie en snelheid voor zakelijke toepassingen, met hoge bruikbaarheid tegen lagere kosten en betrouwbare grootschalige inzet.",
|
||||
"claude-fable-5.description": "Claude Fable 5 is het meest geavanceerde model van Anthropic — een nieuwe klasse boven Opus voor de meest veeleisende redeneer- en langetermijnagenttaken.",
|
||||
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 is Anthropic's snelste en slimste Haiku-model, met bliksemsnelle snelheid en uitgebreide redeneervermogen.",
|
||||
"claude-haiku-4-5.description": "Claude Haiku 4.5 door Anthropic — next-gen Haiku met verbeterde redenering en visie.",
|
||||
"claude-haiku-4.5.description": "Claude Haiku 4.5 is Anthropic's snelste en slimste Haiku-model, met bliksemsnelle snelheid en uitgebreide redeneervermogen.",
|
||||
|
||||
+11
-1
@@ -517,10 +517,15 @@
|
||||
"shareModal.pdfErrorDescription": "Wystąpił błąd podczas generowania PDF, spróbuj ponownie",
|
||||
"shareModal.pdfGenerationError": "Nie udało się wygenerować PDF",
|
||||
"shareModal.pdfReady": "PDF gotowy",
|
||||
"shareModal.popover.moreOptions": "Więcej opcji udostępniania",
|
||||
"shareModal.popover.export": "Eksportuj",
|
||||
"shareModal.popover.privacyWarning.confirm": "Rozumiem, kontynuuj",
|
||||
"shareModal.popover.privacyWarning.content": "Upewnij się, że Twoja rozmowa nie zawiera danych osobowych ani poufnych informacji. Jesteś odpowiedzialny za treści, które udostępniasz, oraz za ich konsekwencje.",
|
||||
"shareModal.popover.privacyWarning.doNotShowAgain": "Nie pokazuj tego ponownie",
|
||||
"shareModal.popover.privacyWarning.items.credentials": "Poświadczenia",
|
||||
"shareModal.popover.privacyWarning.items.files": "Przesłane pliki",
|
||||
"shareModal.popover.privacyWarning.items.images": "Obrazy",
|
||||
"shareModal.popover.privacyWarning.items.toolCalls": "Szczegóły wywołań łącznika",
|
||||
"shareModal.popover.privacyWarning.note": "Możesz w każdej chwili wrócić do trybu prywatnego.",
|
||||
"shareModal.popover.privacyWarning.title": "Informacja o prywatności",
|
||||
"shareModal.popover.title": "Udostępnij temat",
|
||||
"shareModal.popover.visibility": "Widoczność",
|
||||
@@ -528,6 +533,7 @@
|
||||
"shareModal.screenshot": "Zrzut ekranu",
|
||||
"shareModal.settings": "Ustawienia eksportu",
|
||||
"shareModal.text": "Tekst",
|
||||
"shareModal.title": "Eksportuj",
|
||||
"shareModal.widthMode.label": "Tryb szerokości",
|
||||
"shareModal.widthMode.narrow": "Wąski",
|
||||
"shareModal.widthMode.wide": "Szeroki",
|
||||
@@ -545,6 +551,10 @@
|
||||
"sharePage.error.unauthorized.action": "Zaloguj się",
|
||||
"sharePage.error.unauthorized.subtitle": "Zaloguj się, aby zobaczyć ten udostępniony temat.",
|
||||
"sharePage.error.unauthorized.title": "Wymagane logowanie",
|
||||
"sharePage.menu.copyLink": "Kopiuj link",
|
||||
"sharePage.menu.goToLobeHub": "Przejdź do LobeHub",
|
||||
"sharePage.menu.more": "Więcej",
|
||||
"sharePage.menu.report": "Zgłoś",
|
||||
"sharePageDisclaimer": "Ta treść została udostępniona przez użytkownika i nie odzwierciedla poglądów LobeHub. LobeHub nie ponosi odpowiedzialności za jakiekolwiek konsekwencje wynikające z udostępnionej treści.",
|
||||
"signalCallbacks.collapse": "Ukryj szczegóły",
|
||||
"signalCallbacks.empty": "Brak wiadomości zwrotnych",
|
||||
|
||||
@@ -480,6 +480,9 @@
|
||||
"userPanel.setting": "Ustawienia",
|
||||
"userPanel.upgradePlan": "Ulepsz plan",
|
||||
"userPanel.usages": "Statystyki użycia",
|
||||
"userPanel.workspaceCredits": "Kredyty Workspace",
|
||||
"userPanel.workspaceSetting": "Ustawienia Workspace",
|
||||
"userPanel.workspaceUsages": "Użycie Workspace",
|
||||
"version": "Wersja",
|
||||
"zoom": "Powiększenie"
|
||||
}
|
||||
|
||||
@@ -109,9 +109,11 @@
|
||||
"transfer.targetNoWriteAccess": "Potrzebujesz dostępu jako Członek lub Właściciel, aby przenosić zasoby do docelowej przestrzeni roboczej.",
|
||||
"tts.responseError": "Błąd żądania usługi. Sprawdź konfigurację lub spróbuj ponownie.",
|
||||
"unknownError.copyTraceId": "ID Śladu Skopiowane",
|
||||
"unknownError.copyTraceIdTooltip": "Kliknij, aby skopiować",
|
||||
"unknownError.desc": "Wystąpił nieoczekiwany błąd. Możesz spróbować ponownie lub zgłosić problem na",
|
||||
"unknownError.retry": "Spróbuj Ponownie",
|
||||
"unknownError.title": "Ups, żądanie zrobiło sobie drzemkę",
|
||||
"unknownError.traceIdLabel": "Identyfikator śladu:",
|
||||
"unlock.addProxyUrl": "Dodaj adres proxy OpenAI (opcjonalnie)",
|
||||
"unlock.apiKey.description": "Wprowadź swój klucz API {{name}}, aby rozpocząć sesję",
|
||||
"unlock.apiKey.imageGenerationDescription": "Wprowadź swój klucz API {{name}}, aby rozpocząć generowanie",
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
"claude-3-haiku-20240307.description": "Claude 3 Haiku to najszybszy i najbardziej kompaktowy model firmy Anthropic, zaprojektowany do natychmiastowych odpowiedzi z szybką i dokładną wydajnością.",
|
||||
"claude-3-opus-20240229.description": "Claude 3 Opus to najpotężniejszy model firmy Anthropic do bardzo złożonych zadań, wyróżniający się wydajnością, inteligencją, płynnością i zrozumieniem.",
|
||||
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet łączy inteligencję i szybkość dla obciążeń korporacyjnych, oferując wysoką użyteczność przy niższych kosztach i niezawodnym wdrażaniu na dużą skalę.",
|
||||
"claude-fable-5.description": "Claude Fable 5 to najbardziej zaawansowany model Anthropic — nowy poziom ponad Opus, przeznaczony do najbardziej wymagających zadań związanych z rozumowaniem i długoterminową agentowością.",
|
||||
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 to najszybszy i najinteligentniejszy model Haiku firmy Anthropic, oferujący błyskawiczną szybkość i rozszerzone możliwości rozumowania.",
|
||||
"claude-haiku-4-5.description": "Claude Haiku 4.5 by Anthropic — model nowej generacji Haiku z ulepszonym rozumowaniem i wizją.",
|
||||
"claude-haiku-4.5.description": "Claude Haiku 4.5 to najszybszy i najinteligentniejszy model Haiku firmy Anthropic, charakteryzujący się błyskawiczną szybkością i rozszerzonym rozumowaniem.",
|
||||
|
||||
+11
-1
@@ -517,10 +517,15 @@
|
||||
"shareModal.pdfErrorDescription": "Ocorreu um erro ao gerar o PDF, tente novamente",
|
||||
"shareModal.pdfGenerationError": "Falha na geração do PDF",
|
||||
"shareModal.pdfReady": "PDF pronto",
|
||||
"shareModal.popover.moreOptions": "Mais opções de compartilhamento",
|
||||
"shareModal.popover.export": "Exportar",
|
||||
"shareModal.popover.privacyWarning.confirm": "Entendi, continuar",
|
||||
"shareModal.popover.privacyWarning.content": "Certifique-se de que sua conversa não contenha informações pessoais ou sensíveis. Você é responsável por qualquer conteúdo que decidir compartilhar e pelas consequências disso.",
|
||||
"shareModal.popover.privacyWarning.doNotShowAgain": "Não mostrar novamente",
|
||||
"shareModal.popover.privacyWarning.items.credentials": "Credenciais",
|
||||
"shareModal.popover.privacyWarning.items.files": "Arquivos enviados",
|
||||
"shareModal.popover.privacyWarning.items.images": "Imagens",
|
||||
"shareModal.popover.privacyWarning.items.toolCalls": "Detalhes de chamadas do conector",
|
||||
"shareModal.popover.privacyWarning.note": "Você pode voltar para o modo privado a qualquer momento.",
|
||||
"shareModal.popover.privacyWarning.title": "Aviso de Privacidade",
|
||||
"shareModal.popover.title": "Compartilhar Tópico",
|
||||
"shareModal.popover.visibility": "Visibilidade",
|
||||
@@ -528,6 +533,7 @@
|
||||
"shareModal.screenshot": "Captura de Tela",
|
||||
"shareModal.settings": "Configurações de Exportação",
|
||||
"shareModal.text": "Texto",
|
||||
"shareModal.title": "Exportar",
|
||||
"shareModal.widthMode.label": "Modo de Largura",
|
||||
"shareModal.widthMode.narrow": "Estreito",
|
||||
"shareModal.widthMode.wide": "Largo",
|
||||
@@ -545,6 +551,10 @@
|
||||
"sharePage.error.unauthorized.action": "Entrar",
|
||||
"sharePage.error.unauthorized.subtitle": "Faça login para visualizar este tópico compartilhado.",
|
||||
"sharePage.error.unauthorized.title": "Login Necessário",
|
||||
"sharePage.menu.copyLink": "Copiar link",
|
||||
"sharePage.menu.goToLobeHub": "Ir para o LobeHub",
|
||||
"sharePage.menu.more": "Mais",
|
||||
"sharePage.menu.report": "Denunciar",
|
||||
"sharePageDisclaimer": "Este conteúdo foi compartilhado por um usuário e não representa a opinião da LobeHub. A LobeHub não se responsabiliza por quaisquer consequências decorrentes deste conteúdo compartilhado.",
|
||||
"signalCallbacks.collapse": "Ocultar detalhes",
|
||||
"signalCallbacks.empty": "Nenhuma mensagem de callback",
|
||||
|
||||
@@ -480,6 +480,9 @@
|
||||
"userPanel.setting": "Configurações",
|
||||
"userPanel.upgradePlan": "Atualizar Plano",
|
||||
"userPanel.usages": "Estatísticas de Uso",
|
||||
"userPanel.workspaceCredits": "Créditos do Espaço de Trabalho",
|
||||
"userPanel.workspaceSetting": "Configurações do Espaço de Trabalho",
|
||||
"userPanel.workspaceUsages": "Uso do Espaço de Trabalho",
|
||||
"version": "Versão",
|
||||
"zoom": "Zoom"
|
||||
}
|
||||
|
||||
@@ -109,9 +109,11 @@
|
||||
"transfer.targetNoWriteAccess": "Você precisa de acesso como Membro ou Proprietário para mover recursos para o espaço de trabalho de destino.",
|
||||
"tts.responseError": "Falha na solicitação do serviço. Verifique a configuração ou tente novamente.",
|
||||
"unknownError.copyTraceId": "ID de Rastreamento Copiado",
|
||||
"unknownError.copyTraceIdTooltip": "Clique para copiar",
|
||||
"unknownError.desc": "Ocorreu um erro inesperado. Você pode tentar novamente ou relatar o problema.",
|
||||
"unknownError.retry": "Tentar Novamente",
|
||||
"unknownError.title": "Ops, a solicitação tirou uma soneca",
|
||||
"unknownError.traceIdLabel": "ID de Rastreamento:",
|
||||
"unlock.addProxyUrl": "Adicionar URL de proxy do OpenAI (opcional)",
|
||||
"unlock.apiKey.description": "Insira sua chave de API {{name}} para iniciar a sessão",
|
||||
"unlock.apiKey.imageGenerationDescription": "Insira sua chave de API {{name}} para começar a gerar",
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
"claude-3-haiku-20240307.description": "Claude 3 Haiku é o modelo mais rápido e compacto da Anthropic, projetado para respostas quase instantâneas com desempenho rápido e preciso.",
|
||||
"claude-3-opus-20240229.description": "Claude 3 Opus é o modelo mais poderoso da Anthropic para tarefas altamente complexas, com excelência em desempenho, inteligência, fluência e compreensão.",
|
||||
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet equilibra inteligência e velocidade para cargas de trabalho empresariais, oferecendo alta utilidade com menor custo e implantação confiável em larga escala.",
|
||||
"claude-fable-5.description": "Claude Fable 5 é o modelo mais avançado da Anthropic — um novo nível acima do Opus para os trabalhos mais exigentes de raciocínio e agentes de longo prazo.",
|
||||
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 é o modelo Haiku mais rápido e inteligente da Anthropic, com velocidade relâmpago e raciocínio ampliado.",
|
||||
"claude-haiku-4-5.description": "Claude Haiku 4.5 da Anthropic — nova geração do Haiku, com raciocínio e visão aprimorados.",
|
||||
"claude-haiku-4.5.description": "Claude Haiku 4.5 é o modelo Haiku mais rápido e inteligente da Anthropic, com velocidade relâmpago e raciocínio ampliado.",
|
||||
|
||||
+11
-1
@@ -517,10 +517,15 @@
|
||||
"shareModal.pdfErrorDescription": "Произошла ошибка при создании PDF, попробуйте снова",
|
||||
"shareModal.pdfGenerationError": "Ошибка генерации PDF",
|
||||
"shareModal.pdfReady": "PDF готов",
|
||||
"shareModal.popover.moreOptions": "Дополнительные параметры доступа",
|
||||
"shareModal.popover.export": "Экспорт",
|
||||
"shareModal.popover.privacyWarning.confirm": "Понимаю, продолжить",
|
||||
"shareModal.popover.privacyWarning.content": "Пожалуйста, убедитесь, что ваш разговор не содержит личной или конфиденциальной информации. Вы несёте ответственность за любой контент, которым решите поделиться, и за последствия этого.",
|
||||
"shareModal.popover.privacyWarning.doNotShowAgain": "Больше не показывать",
|
||||
"shareModal.popover.privacyWarning.items.credentials": "Учетные данные",
|
||||
"shareModal.popover.privacyWarning.items.files": "Загруженные файлы",
|
||||
"shareModal.popover.privacyWarning.items.images": "Изображения",
|
||||
"shareModal.popover.privacyWarning.items.toolCalls": "Детали вызова соединителя",
|
||||
"shareModal.popover.privacyWarning.note": "Вы можете вернуться к приватному режиму в любое время.",
|
||||
"shareModal.popover.privacyWarning.title": "Уведомление о конфиденциальности",
|
||||
"shareModal.popover.title": "Поделиться темой",
|
||||
"shareModal.popover.visibility": "Видимость",
|
||||
@@ -528,6 +533,7 @@
|
||||
"shareModal.screenshot": "Скриншот",
|
||||
"shareModal.settings": "Настройки экспорта",
|
||||
"shareModal.text": "Текст",
|
||||
"shareModal.title": "Экспорт",
|
||||
"shareModal.widthMode.label": "Ширина",
|
||||
"shareModal.widthMode.narrow": "Узкий",
|
||||
"shareModal.widthMode.wide": "Широкий",
|
||||
@@ -545,6 +551,10 @@
|
||||
"sharePage.error.unauthorized.action": "Войти",
|
||||
"sharePage.error.unauthorized.subtitle": "Пожалуйста, войдите в систему, чтобы просмотреть эту тему.",
|
||||
"sharePage.error.unauthorized.title": "Требуется вход",
|
||||
"sharePage.menu.copyLink": "Скопировать ссылку",
|
||||
"sharePage.menu.goToLobeHub": "Перейти в LobeHub",
|
||||
"sharePage.menu.more": "Еще",
|
||||
"sharePage.menu.report": "Пожаловаться",
|
||||
"sharePageDisclaimer": "Этот контент был опубликован пользователем и не отражает точку зрения LobeHub. LobeHub не несёт ответственности за последствия, вызванные этим контентом.",
|
||||
"signalCallbacks.collapse": "Скрыть детали",
|
||||
"signalCallbacks.empty": "Нет сообщений обратного вызова",
|
||||
|
||||
@@ -480,6 +480,9 @@
|
||||
"userPanel.setting": "Настройки",
|
||||
"userPanel.upgradePlan": "Обновить план",
|
||||
"userPanel.usages": "Статистика использования",
|
||||
"userPanel.workspaceCredits": "Кредиты рабочего пространства",
|
||||
"userPanel.workspaceSetting": "Настройки рабочего пространства",
|
||||
"userPanel.workspaceUsages": "Использование рабочего пространства",
|
||||
"version": "Версия",
|
||||
"zoom": "Масштаб"
|
||||
}
|
||||
|
||||
@@ -109,9 +109,11 @@
|
||||
"transfer.targetNoWriteAccess": "Вам нужен доступ уровня Участник или Владелец, чтобы перемещать ресурсы в целевое рабочее пространство.",
|
||||
"tts.responseError": "Ошибка запроса к сервису. Проверьте настройки или повторите попытку.",
|
||||
"unknownError.copyTraceId": "Идентификатор трассировки скопирован",
|
||||
"unknownError.copyTraceIdTooltip": "Нажмите, чтобы скопировать",
|
||||
"unknownError.desc": "Произошла неожиданная ошибка. Вы можете повторить попытку или сообщить об этом",
|
||||
"unknownError.retry": "Повторить",
|
||||
"unknownError.title": "Упс, запрос вздремнул",
|
||||
"unknownError.traceIdLabel": "Идентификатор трассировки:",
|
||||
"unlock.addProxyUrl": "Добавить прокси-URL OpenAI (необязательно)",
|
||||
"unlock.apiKey.description": "Введите ваш API-ключ {{name}}, чтобы начать сессию",
|
||||
"unlock.apiKey.imageGenerationDescription": "Введите ваш API-ключ {{name}}, чтобы начать генерацию",
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
"claude-3-haiku-20240307.description": "Claude 3 Haiku — самая быстрая и компактная модель от Anthropic, предназначенная для мгновенных ответов с высокой точностью и скоростью.",
|
||||
"claude-3-opus-20240229.description": "Claude 3 Opus — самая мощная модель от Anthropic для высокосложных задач, превосходящая по производительности, интеллекту, беглости и пониманию.",
|
||||
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet сочетает интеллект и скорость для корпоративных задач, обеспечивая высокую полезность при низкой стоимости и надежное масштабируемое развертывание.",
|
||||
"claude-fable-5.description": "Claude Fable 5 — это самая мощная модель Anthropic, новый уровень выше Opus для самых сложных задач, требующих глубокого анализа и долгосрочного агентного подхода.",
|
||||
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 — самая быстрая и умная модель Haiku от Anthropic, с молниеносной скоростью и расширенными возможностями рассуждения.",
|
||||
"claude-haiku-4-5.description": "Claude Haiku 4.5 от Anthropic — модель нового поколения с улучшенными возможностями рассуждения и работы с изображениями.",
|
||||
"claude-haiku-4.5.description": "Claude Haiku 4.5 — это самая быстрая и умная модель Haiku от Anthropic, с молниеносной скоростью и расширенными возможностями рассуждения.",
|
||||
|
||||
+11
-1
@@ -517,10 +517,15 @@
|
||||
"shareModal.pdfErrorDescription": "PDF oluşturulurken bir hata oluştu, lütfen tekrar deneyin",
|
||||
"shareModal.pdfGenerationError": "PDF oluşturma başarısız oldu",
|
||||
"shareModal.pdfReady": "PDF hazır",
|
||||
"shareModal.popover.moreOptions": "Diğer paylaşım seçenekleri",
|
||||
"shareModal.popover.export": "Dışa Aktar",
|
||||
"shareModal.popover.privacyWarning.confirm": "Anladım, devam et",
|
||||
"shareModal.popover.privacyWarning.content": "Lütfen konuşmanızın kişisel veya hassas bilgiler içermediğinden emin olun. Paylaşmayı seçtiğiniz içerikten ve sonuçlarından siz sorumlusunuz.",
|
||||
"shareModal.popover.privacyWarning.doNotShowAgain": "Bir daha gösterme",
|
||||
"shareModal.popover.privacyWarning.items.credentials": "Kimlik Bilgileri",
|
||||
"shareModal.popover.privacyWarning.items.files": "Yüklenen Dosyalar",
|
||||
"shareModal.popover.privacyWarning.items.images": "Görseller",
|
||||
"shareModal.popover.privacyWarning.items.toolCalls": "Bağlayıcı Çağrı Detayları",
|
||||
"shareModal.popover.privacyWarning.note": "Her zaman tekrar özel moda geçebilirsiniz.",
|
||||
"shareModal.popover.privacyWarning.title": "Gizlilik Uyarısı",
|
||||
"shareModal.popover.title": "Konuyu Paylaş",
|
||||
"shareModal.popover.visibility": "Görünürlük",
|
||||
@@ -528,6 +533,7 @@
|
||||
"shareModal.screenshot": "Ekran Görüntüsü",
|
||||
"shareModal.settings": "Dışa Aktarma Ayarları",
|
||||
"shareModal.text": "Metin",
|
||||
"shareModal.title": "Dışa Aktar",
|
||||
"shareModal.widthMode.label": "Genişlik Modu",
|
||||
"shareModal.widthMode.narrow": "Dar",
|
||||
"shareModal.widthMode.wide": "Geniş",
|
||||
@@ -545,6 +551,10 @@
|
||||
"sharePage.error.unauthorized.action": "Giriş Yap",
|
||||
"sharePage.error.unauthorized.subtitle": "Paylaşılan bu konuyu görüntülemek için lütfen giriş yapın.",
|
||||
"sharePage.error.unauthorized.title": "Giriş Gerekli",
|
||||
"sharePage.menu.copyLink": "Bağlantıyı Kopyala",
|
||||
"sharePage.menu.goToLobeHub": "LobeHub'a Git",
|
||||
"sharePage.menu.more": "Daha Fazla",
|
||||
"sharePage.menu.report": "Rapor Et",
|
||||
"sharePageDisclaimer": "Bu içerik bir kullanıcı tarafından paylaşılmıştır ve LobeHub'un görüşlerini yansıtmaz. LobeHub, bu paylaşılan içerikten doğabilecek sonuçlardan sorumlu değildir.",
|
||||
"signalCallbacks.collapse": "Ayrıntıları gizle",
|
||||
"signalCallbacks.empty": "Çağrı mesajı yok",
|
||||
|
||||
@@ -480,6 +480,9 @@
|
||||
"userPanel.setting": "Ayarlar",
|
||||
"userPanel.upgradePlan": "Planı Yükselt",
|
||||
"userPanel.usages": "Kullanım İstatistikleri",
|
||||
"userPanel.workspaceCredits": "Çalışma Alanı Kredileri",
|
||||
"userPanel.workspaceSetting": "Çalışma Alanı Ayarları",
|
||||
"userPanel.workspaceUsages": "Çalışma Alanı Kullanımı",
|
||||
"version": "Sürüm",
|
||||
"zoom": "Yakınlaştır"
|
||||
}
|
||||
|
||||
@@ -109,9 +109,11 @@
|
||||
"transfer.targetNoWriteAccess": "Kaynakları hedef çalışma alanına taşımak için Üye veya Sahip erişimine ihtiyacınız var.",
|
||||
"tts.responseError": "Hizmet isteği başarısız oldu, lütfen yapılandırmayı kontrol edin veya tekrar deneyin",
|
||||
"unknownError.copyTraceId": "İzleme Kimliği Kopyalandı",
|
||||
"unknownError.copyTraceIdTooltip": "Kopyalamak için tıklayın",
|
||||
"unknownError.desc": "Beklenmedik bir hata oluştu. Tekrar deneyebilir veya bildirebilirsiniz",
|
||||
"unknownError.retry": "Tekrar Dene",
|
||||
"unknownError.title": "Hata, istek kısa bir mola verdi",
|
||||
"unknownError.traceIdLabel": "İzleme Kimliği:",
|
||||
"unlock.addProxyUrl": "OpenAI proxy URL'si ekle (isteğe bağlı)",
|
||||
"unlock.apiKey.description": "Oturuma başlamak için {{name}} API Anahtarınızı girin",
|
||||
"unlock.apiKey.imageGenerationDescription": "Görsel oluşturmaya başlamak için {{name}} API Anahtarınızı girin",
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
"claude-3-haiku-20240307.description": "Claude 3 Haiku, Anthropic’in en hızlı ve en kompakt modelidir; anında yanıtlar için hızlı ve doğru performans sunar.",
|
||||
"claude-3-opus-20240229.description": "Claude 3 Opus, karmaşık görevler için Anthropic’in en güçlü modelidir; performans, zeka, akıcılık ve anlama konularında üstündür.",
|
||||
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet, kurumsal iş yükleri için zeka ve hızı dengeler; düşük maliyetle yüksek fayda ve güvenilir büyük ölçekli dağıtım sunar.",
|
||||
"claude-fable-5.description": "Claude Fable 5, Anthropic'in en yetenekli modeli olup, en zorlu akıl yürütme ve uzun vadeli ajanlık çalışmaları için Opus'un bir üst seviyesidir.",
|
||||
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5, Anthropic'in en hızlı ve en akıllı Haiku modeli olup, yıldırım hızında ve gelişmiş akıl yürütme yeteneklerine sahiptir.",
|
||||
"claude-haiku-4-5.description": "Anthropic’in Claude Haiku 4.5 modeli — gelişmiş akıl yürütme ve görsel yeteneklere sahip yeni nesil Haiku.",
|
||||
"claude-haiku-4.5.description": "Claude Haiku 4.5, Anthropic'in en hızlı ve en akıllı Haiku modeli olup, yıldırım hızında ve gelişmiş akıl yürütme yeteneklerine sahiptir.",
|
||||
|
||||
+11
-1
@@ -517,10 +517,15 @@
|
||||
"shareModal.pdfErrorDescription": "Đã xảy ra lỗi khi tạo PDF, vui lòng thử lại",
|
||||
"shareModal.pdfGenerationError": "Tạo PDF thất bại",
|
||||
"shareModal.pdfReady": "PDF đã sẵn sàng",
|
||||
"shareModal.popover.moreOptions": "Tùy chọn chia sẻ khác",
|
||||
"shareModal.popover.export": "Xuất",
|
||||
"shareModal.popover.privacyWarning.confirm": "Tôi hiểu, tiếp tục",
|
||||
"shareModal.popover.privacyWarning.content": "Vui lòng đảm bảo cuộc trò chuyện của bạn không chứa thông tin cá nhân hoặc nhạy cảm. Bạn chịu trách nhiệm về bất kỳ nội dung nào bạn chọn chia sẻ và hậu quả của nó.",
|
||||
"shareModal.popover.privacyWarning.doNotShowAgain": "Không hiển thị lại",
|
||||
"shareModal.popover.privacyWarning.items.credentials": "Thông tin đăng nhập",
|
||||
"shareModal.popover.privacyWarning.items.files": "Tệp đã tải lên",
|
||||
"shareModal.popover.privacyWarning.items.images": "Hình ảnh",
|
||||
"shareModal.popover.privacyWarning.items.toolCalls": "Chi tiết gọi trình kết nối",
|
||||
"shareModal.popover.privacyWarning.note": "Bạn có thể chuyển lại sang chế độ riêng tư bất cứ lúc nào.",
|
||||
"shareModal.popover.privacyWarning.title": "Thông báo quyền riêng tư",
|
||||
"shareModal.popover.title": "Chia sẻ chủ đề",
|
||||
"shareModal.popover.visibility": "Quyền hiển thị",
|
||||
@@ -528,6 +533,7 @@
|
||||
"shareModal.screenshot": "Ảnh chụp màn hình",
|
||||
"shareModal.settings": "Cài đặt xuất",
|
||||
"shareModal.text": "Văn bản",
|
||||
"shareModal.title": "Xuất",
|
||||
"shareModal.widthMode.label": "Chế độ chiều rộng",
|
||||
"shareModal.widthMode.narrow": "Hẹp",
|
||||
"shareModal.widthMode.wide": "Rộng",
|
||||
@@ -545,6 +551,10 @@
|
||||
"sharePage.error.unauthorized.action": "Đăng nhập",
|
||||
"sharePage.error.unauthorized.subtitle": "Vui lòng đăng nhập để xem chủ đề được chia sẻ.",
|
||||
"sharePage.error.unauthorized.title": "Yêu cầu đăng nhập",
|
||||
"sharePage.menu.copyLink": "Sao chép liên kết",
|
||||
"sharePage.menu.goToLobeHub": "Đi tới LobeHub",
|
||||
"sharePage.menu.more": "Thêm",
|
||||
"sharePage.menu.report": "Báo cáo",
|
||||
"sharePageDisclaimer": "Nội dung này được chia sẻ bởi người dùng và không đại diện cho quan điểm của LobeHub. LobeHub không chịu trách nhiệm cho bất kỳ hậu quả nào phát sinh từ nội dung được chia sẻ này.",
|
||||
"signalCallbacks.collapse": "Ẩn chi tiết",
|
||||
"signalCallbacks.empty": "Không có tin nhắn phản hồi",
|
||||
|
||||
@@ -480,6 +480,9 @@
|
||||
"userPanel.setting": "Cài đặt",
|
||||
"userPanel.upgradePlan": "Nâng cấp gói",
|
||||
"userPanel.usages": "Thống kê sử dụng",
|
||||
"userPanel.workspaceCredits": "Tín dụng Không gian làm việc",
|
||||
"userPanel.workspaceSetting": "Cài đặt Không gian làm việc",
|
||||
"userPanel.workspaceUsages": "Sử dụng Không gian làm việc",
|
||||
"version": "Phiên bản",
|
||||
"zoom": "Thu phóng"
|
||||
}
|
||||
|
||||
@@ -109,9 +109,11 @@
|
||||
"transfer.targetNoWriteAccess": "Bạn cần quyền Thành viên hoặc Chủ sở hữu để di chuyển tài nguyên vào không gian làm việc mục tiêu.",
|
||||
"tts.responseError": "Yêu cầu dịch vụ thất bại, vui lòng kiểm tra cấu hình hoặc thử lại",
|
||||
"unknownError.copyTraceId": "ID Dấu vết đã được sao chép",
|
||||
"unknownError.copyTraceIdTooltip": "Nhấn để sao chép",
|
||||
"unknownError.desc": "Đã xảy ra lỗi không mong muốn. Bạn có thể thử lại hoặc báo cáo tại",
|
||||
"unknownError.retry": "Thử lại",
|
||||
"unknownError.title": "Rất tiếc, yêu cầu đã tạm nghỉ",
|
||||
"unknownError.traceIdLabel": "ID Dấu vết:",
|
||||
"unlock.addProxyUrl": "Thêm URL proxy OpenAI (tùy chọn)",
|
||||
"unlock.apiKey.description": "Nhập API Key {{name}} của bạn để bắt đầu phiên",
|
||||
"unlock.apiKey.imageGenerationDescription": "Nhập API Key {{name}} của bạn để bắt đầu tạo hình ảnh",
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
"claude-3-haiku-20240307.description": "Claude 3 Haiku là mô hình nhanh nhất và nhỏ gọn nhất của Anthropic, được thiết kế cho phản hồi gần như tức thì với hiệu suất nhanh và chính xác.",
|
||||
"claude-3-opus-20240229.description": "Claude 3 Opus là mô hình mạnh mẽ nhất của Anthropic cho các tác vụ phức tạp, xuất sắc về hiệu suất, trí tuệ, lưu loát và hiểu biết.",
|
||||
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet cân bằng giữa trí tuệ và tốc độ cho khối lượng công việc doanh nghiệp, mang lại giá trị cao với chi phí thấp hơn và triển khai quy mô lớn đáng tin cậy.",
|
||||
"claude-fable-5.description": "Claude Fable 5 là mô hình mạnh mẽ nhất của Anthropic — một cấp độ mới vượt trên Opus dành cho các công việc đòi hỏi lý luận phức tạp và tác vụ dài hạn.",
|
||||
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 là mô hình Haiku nhanh nhất và thông minh nhất của Anthropic, với tốc độ cực nhanh và khả năng suy luận mở rộng.",
|
||||
"claude-haiku-4-5.description": "Claude Haiku 4.5 của Anthropic — Haiku thế hệ mới với khả năng lý luận và thị giác nâng cao.",
|
||||
"claude-haiku-4.5.description": "Claude Haiku 4.5 là mô hình Haiku nhanh nhất và thông minh nhất của Anthropic, với tốc độ vượt trội và khả năng suy luận mở rộng.",
|
||||
|
||||
@@ -480,6 +480,9 @@
|
||||
"userPanel.setting": "应用设置",
|
||||
"userPanel.upgradePlan": "升级套餐",
|
||||
"userPanel.usages": "用量",
|
||||
"userPanel.workspaceCredits": "空间积分",
|
||||
"userPanel.workspaceSetting": "空间设置",
|
||||
"userPanel.workspaceUsages": "空间用量",
|
||||
"version": "版本",
|
||||
"zoom": "缩放"
|
||||
}
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
"claude-3-haiku-20240307.description": "Claude 3 Haiku 是 Anthropic 推出的最快、最紧凑的模型,专为近乎即时响应而设计,具备快速且准确的性能。",
|
||||
"claude-3-opus-20240229.description": "Claude 3 Opus 是 Anthropic 最强大的模型,适用于高度复杂的任务,在性能、智能、流畅性和理解力方面表现卓越。",
|
||||
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet 在智能与速度之间取得平衡,适用于企业级工作负载,提供高效能与低成本的可靠部署。",
|
||||
"claude-fable-5.description": "Claude Fable 5 是 Anthropic 最强大的模型——在 Opus 之上开辟了一个新层级,专为最具挑战性的推理和长周期代理工作而设计。",
|
||||
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 是 Anthropic 最快速、最智能的 Haiku 模型,具有闪电般的速度和扩展的推理能力。",
|
||||
"claude-haiku-4-5.description": "Anthropic 的 Claude Haiku 4.5 —— 新一代 Haiku,具备更强推理与视觉能力。",
|
||||
"claude-haiku-4.5.description": "Claude Haiku 4.5 是 Anthropic 最快速、最智能的 Haiku 模型,具有闪电般的速度和扩展的推理能力。",
|
||||
|
||||
+11
-1
@@ -517,10 +517,15 @@
|
||||
"shareModal.pdfErrorDescription": "產生 PDF 時發生錯誤,請重試",
|
||||
"shareModal.pdfGenerationError": "PDF 產生失敗",
|
||||
"shareModal.pdfReady": "PDF 已準備就緒",
|
||||
"shareModal.popover.moreOptions": "更多分享選項",
|
||||
"shareModal.popover.export": "匯出",
|
||||
"shareModal.popover.privacyWarning.confirm": "我了解,繼續",
|
||||
"shareModal.popover.privacyWarning.content": "請確認你的對話中不包含任何個人或敏感資訊。你需自行承擔所分享內容及其後果的責任。",
|
||||
"shareModal.popover.privacyWarning.doNotShowAgain": "不要再顯示此訊息",
|
||||
"shareModal.popover.privacyWarning.items.credentials": "憑證",
|
||||
"shareModal.popover.privacyWarning.items.files": "上傳的檔案",
|
||||
"shareModal.popover.privacyWarning.items.images": "圖片",
|
||||
"shareModal.popover.privacyWarning.items.toolCalls": "連接器呼叫詳情",
|
||||
"shareModal.popover.privacyWarning.note": "您可以隨時切換回私人模式。",
|
||||
"shareModal.popover.privacyWarning.title": "隱私提醒",
|
||||
"shareModal.popover.title": "分享主題",
|
||||
"shareModal.popover.visibility": "可見性",
|
||||
@@ -528,6 +533,7 @@
|
||||
"shareModal.screenshot": "截圖",
|
||||
"shareModal.settings": "導出設置",
|
||||
"shareModal.text": "文本",
|
||||
"shareModal.title": "匯出",
|
||||
"shareModal.widthMode.label": "寬度模式",
|
||||
"shareModal.widthMode.narrow": "窄螢幕模式",
|
||||
"shareModal.widthMode.wide": "寬螢幕模式",
|
||||
@@ -545,6 +551,10 @@
|
||||
"sharePage.error.unauthorized.action": "登入",
|
||||
"sharePage.error.unauthorized.subtitle": "請登入以查看此分享主題。",
|
||||
"sharePage.error.unauthorized.title": "需要登入",
|
||||
"sharePage.menu.copyLink": "複製連結",
|
||||
"sharePage.menu.goToLobeHub": "前往 LobeHub",
|
||||
"sharePage.menu.more": "更多",
|
||||
"sharePage.menu.report": "檢舉",
|
||||
"sharePageDisclaimer": "此內容由使用者分享,並不代表 LobeHub 的立場。LobeHub 對此分享內容所引發的任何後果不負責任。",
|
||||
"signalCallbacks.collapse": "隱藏詳情",
|
||||
"signalCallbacks.empty": "沒有回調消息",
|
||||
|
||||
@@ -480,6 +480,9 @@
|
||||
"userPanel.setting": "應用設定",
|
||||
"userPanel.upgradePlan": "升級方案",
|
||||
"userPanel.usages": "用量統計",
|
||||
"userPanel.workspaceCredits": "工作區點數",
|
||||
"userPanel.workspaceSetting": "工作區設定",
|
||||
"userPanel.workspaceUsages": "工作區使用情況",
|
||||
"version": "版本",
|
||||
"zoom": "縮放"
|
||||
}
|
||||
|
||||
@@ -109,9 +109,11 @@
|
||||
"transfer.targetNoWriteAccess": "您需要成員或擁有者的訪問權限才能將資源移動到目標工作區。",
|
||||
"tts.responseError": "服務請求失敗,請檢查配置或重試",
|
||||
"unknownError.copyTraceId": "追蹤 ID 已複製",
|
||||
"unknownError.copyTraceIdTooltip": "點擊以複製",
|
||||
"unknownError.desc": "發生了意外錯誤。您可以重試或進行報告。",
|
||||
"unknownError.retry": "重試",
|
||||
"unknownError.title": "哎呀,請求打了個盹",
|
||||
"unknownError.traceIdLabel": "追蹤 ID:",
|
||||
"unlock.addProxyUrl": "新增 OpenAI 代理網址(選填)",
|
||||
"unlock.apiKey.description": "輸入您的 {{name}} API 金鑰即可開始會話",
|
||||
"unlock.apiKey.imageGenerationDescription": "輸入你的 {{name}} API Key 即可開始生成",
|
||||
|
||||
@@ -309,6 +309,7 @@
|
||||
"claude-3-haiku-20240307.description": "Claude 3 Haiku 是 Anthropic 推出的最快速且最精簡的模型,設計用於即時回應,具備快速且準確的表現。",
|
||||
"claude-3-opus-20240229.description": "Claude 3 Opus 是 Anthropic 最強大的模型,適用於高度複雜任務,具備卓越的效能、智慧、流暢度與理解力。",
|
||||
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet 在智慧與速度之間取得平衡,適合企業工作負載,提供高效能與低成本的大規模部署。",
|
||||
"claude-fable-5.description": "Claude Fable 5 是 Anthropic 最強大的模型——超越 Opus 的新層級,專為最具挑戰性的推理和長期代理工作而設計。",
|
||||
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 是 Anthropic 最快速且最智能的 Haiku 模型,擁有閃電般的速度和延展的推理能力。",
|
||||
"claude-haiku-4-5.description": "Anthropic 的 Claude Haiku 4.5 —— 新一代 Haiku,具備更強推理與視覺能力。",
|
||||
"claude-haiku-4.5.description": "Claude Haiku 4.5 是 Anthropic 最快速且最聰明的 Haiku 模型,具備閃電般的速度和延展的推理能力。",
|
||||
|
||||
@@ -562,6 +562,9 @@ export default {
|
||||
'userPanel.setting': 'Settings',
|
||||
'userPanel.upgradePlan': 'Upgrade Plan',
|
||||
'userPanel.usages': 'Usage',
|
||||
'userPanel.workspaceCredits': 'Workspace Credits',
|
||||
'userPanel.workspaceSetting': 'Workspace Settings',
|
||||
'userPanel.workspaceUsages': 'Workspace Usage',
|
||||
'version': 'Version',
|
||||
'zoom': 'Zoom',
|
||||
};
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
'use client';
|
||||
|
||||
import { ActionIcon, Block, Flexbox, Text } from '@lobehub/ui';
|
||||
import { Settings2 } from 'lucide-react';
|
||||
import { memo } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { Link } from 'react-router-dom';
|
||||
|
||||
import { useUserStore } from '@/store/user';
|
||||
import { userProfileSelectors } from '@/store/user/selectors';
|
||||
|
||||
interface AccountHeaderProps {
|
||||
onNavigate?: () => void;
|
||||
}
|
||||
|
||||
const AccountHeader = memo<AccountHeaderProps>(({ onNavigate }) => {
|
||||
const { t } = useTranslation('common');
|
||||
const [nickname, username, email] = useUserStore((s) => [
|
||||
userProfileSelectors.nickName(s),
|
||||
userProfileSelectors.username(s),
|
||||
userProfileSelectors.email(s),
|
||||
]);
|
||||
|
||||
const displayName = nickname || username || '';
|
||||
|
||||
return (
|
||||
<Link style={{ color: 'inherit', display: 'block' }} to={'/settings'} onClick={onNavigate}>
|
||||
<Block
|
||||
clickable
|
||||
horizontal
|
||||
align={'center'}
|
||||
gap={12}
|
||||
paddingBlock={12}
|
||||
paddingInline={12}
|
||||
variant={'borderless'}
|
||||
>
|
||||
<Flexbox flex={1} gap={2} style={{ minWidth: 0, overflow: 'hidden' }}>
|
||||
<Text ellipsis style={{ lineHeight: 1.4 }} weight={'bold'}>
|
||||
{displayName}
|
||||
</Text>
|
||||
{email && (
|
||||
<Text ellipsis fontSize={12} style={{ lineHeight: 1.4 }} type={'secondary'}>
|
||||
{email}
|
||||
</Text>
|
||||
)}
|
||||
</Flexbox>
|
||||
<ActionIcon icon={Settings2} size={'small'} tabIndex={-1} title={t('userPanel.setting')} />
|
||||
</Block>
|
||||
</Link>
|
||||
);
|
||||
});
|
||||
|
||||
AccountHeader.displayName = 'AccountHeader';
|
||||
|
||||
export default AccountHeader;
|
||||
@@ -1,103 +0,0 @@
|
||||
'use client';
|
||||
|
||||
import { ActionIcon, Block, type MenuProps, Text } from '@lobehub/ui';
|
||||
import { createStaticStyles, cssVar } from 'antd-style';
|
||||
import { MoreHorizontal } from 'lucide-react';
|
||||
import { memo, type ReactNode, useCallback } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
import UserAvatar from '@/features/User/UserAvatar';
|
||||
import UpgradeBadge from '@/features/User/UserPanel/UpgradeBadge';
|
||||
import { useNewVersion } from '@/features/User/UserPanel/useNewVersion';
|
||||
import { useUserStore } from '@/store/user';
|
||||
import { authSelectors, userProfileSelectors } from '@/store/user/selectors';
|
||||
|
||||
import AccountPanel from '.';
|
||||
|
||||
const styles = createStaticStyles(({ css }) => ({
|
||||
trigger: css`
|
||||
&:hover:not(:has(.account-trigger-actions:hover)) .account-trigger-more {
|
||||
color: ${cssVar.colorText};
|
||||
background: ${cssVar.colorFillSecondary};
|
||||
}
|
||||
`,
|
||||
}));
|
||||
|
||||
interface AccountTriggerProps {
|
||||
actions?: ReactNode;
|
||||
extraItems?: MenuProps['items'];
|
||||
}
|
||||
|
||||
const AccountTrigger = memo<AccountTriggerProps>(({ actions, extraItems }) => {
|
||||
const { t } = useTranslation('common');
|
||||
const isSignedIn = useUserStore(authSelectors.isLogin);
|
||||
const [nickname, username] = useUserStore((s) => [
|
||||
userProfileSelectors.nickName(s),
|
||||
userProfileSelectors.username(s),
|
||||
]);
|
||||
const hasNewVersion = useNewVersion();
|
||||
|
||||
const stopPropagation = useCallback((event: React.MouseEvent) => {
|
||||
event.stopPropagation();
|
||||
}, []);
|
||||
|
||||
if (!isSignedIn) return null;
|
||||
|
||||
const displayName = nickname || username || '';
|
||||
|
||||
return (
|
||||
<UpgradeBadge showBadge={hasNewVersion}>
|
||||
<AccountPanel extraItems={extraItems}>
|
||||
<Block
|
||||
clickable
|
||||
horizontal
|
||||
align={'center'}
|
||||
aria-label={t('userPanel.profile')}
|
||||
className={styles.trigger}
|
||||
flex={1}
|
||||
gap={8}
|
||||
title={t('userPanel.profile')}
|
||||
variant={'borderless'}
|
||||
style={{
|
||||
height: 36,
|
||||
minWidth: 0,
|
||||
paddingBlock: 4,
|
||||
paddingInline: 6,
|
||||
}}
|
||||
>
|
||||
<UserAvatar background={cssVar.colorFill} clickable={false} size={24} />
|
||||
{displayName && (
|
||||
<Text
|
||||
ellipsis
|
||||
fontSize={13}
|
||||
style={{ flex: 1, lineHeight: 1, minWidth: 0 }}
|
||||
weight={500}
|
||||
>
|
||||
{displayName}
|
||||
</Text>
|
||||
)}
|
||||
<ActionIcon
|
||||
className={'account-trigger-more'}
|
||||
icon={MoreHorizontal}
|
||||
size={'small'}
|
||||
tabIndex={-1}
|
||||
/>
|
||||
{actions && (
|
||||
<div
|
||||
className={'account-trigger-actions'}
|
||||
style={{ display: 'flex', flex: 'none' }}
|
||||
onClick={stopPropagation}
|
||||
onPointerDown={stopPropagation}
|
||||
>
|
||||
{actions}
|
||||
</div>
|
||||
)}
|
||||
</Block>
|
||||
</AccountPanel>
|
||||
</UpgradeBadge>
|
||||
);
|
||||
});
|
||||
|
||||
AccountTrigger.displayName = 'AccountTrigger';
|
||||
|
||||
export default AccountTrigger;
|
||||
@@ -1,56 +0,0 @@
|
||||
import { Flexbox, type MenuProps } from '@lobehub/ui';
|
||||
import { type FC } from 'react';
|
||||
|
||||
import Menu, { type MenuProps as AntdMenuProps } from '@/components/Menu';
|
||||
import { isDesktop } from '@/const/version';
|
||||
import LangButton from '@/features/User/UserPanel/LangButton';
|
||||
import { navigateToDesktopOnboarding } from '@/routes/(desktop)/desktop-onboarding/navigation';
|
||||
import { DesktopOnboardingScreen } from '@/routes/(desktop)/desktop-onboarding/types';
|
||||
import { useUserStore } from '@/store/user';
|
||||
|
||||
import AccountHeader from './AccountHeader';
|
||||
import { useAccountMenu } from './useMenu';
|
||||
|
||||
interface PanelContentProps {
|
||||
closePopover: () => void;
|
||||
extraItems?: MenuProps['items'];
|
||||
}
|
||||
|
||||
const PanelContent: FC<PanelContentProps> = ({ closePopover, extraItems }) => {
|
||||
const signOut = useUserStore((s) => s.logout);
|
||||
const { mainItems, logoutItems } = useAccountMenu();
|
||||
|
||||
const handleSignOut = async () => {
|
||||
if (isDesktop) {
|
||||
closePopover();
|
||||
|
||||
try {
|
||||
const { remoteServerService } = await import('@/services/electron/remoteServer');
|
||||
await remoteServerService.clearRemoteServerConfig();
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
} finally {
|
||||
signOut();
|
||||
navigateToDesktopOnboarding(DesktopOnboardingScreen.Login);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
signOut();
|
||||
closePopover();
|
||||
};
|
||||
|
||||
return (
|
||||
<Flexbox gap={2} style={{ minWidth: 260, width: '100%' }}>
|
||||
<AccountHeader onNavigate={closePopover} />
|
||||
{extraItems && extraItems.length > 0 && (
|
||||
<Menu items={extraItems as AntdMenuProps['items']} onClick={closePopover} />
|
||||
)}
|
||||
<Menu items={mainItems} onClick={closePopover} />
|
||||
<LangButton placement={'right' as any} />
|
||||
<Menu items={logoutItems} onClick={handleSignOut} />
|
||||
</Flexbox>
|
||||
);
|
||||
};
|
||||
|
||||
export default PanelContent;
|
||||
@@ -1,71 +0,0 @@
|
||||
'use client';
|
||||
|
||||
import { type MenuProps, Popover } from '@lobehub/ui';
|
||||
import { createStaticStyles } from 'antd-style';
|
||||
import { type PropsWithChildren } from 'react';
|
||||
import { memo, Suspense, useEffect, useRef, useState } from 'react';
|
||||
|
||||
import { isDesktop } from '@/const/version';
|
||||
|
||||
import PanelContent from './PanelContent';
|
||||
|
||||
const styles = createStaticStyles(({ css }) => {
|
||||
return {
|
||||
popover: css`
|
||||
inset-block-end: ${isDesktop ? 16 : 8}px;
|
||||
inset-inline-start: 8px !important;
|
||||
border-radius: 10px;
|
||||
`,
|
||||
popoverContent: css`
|
||||
padding: 0;
|
||||
`,
|
||||
};
|
||||
});
|
||||
|
||||
interface AccountPanelProps extends PropsWithChildren {
|
||||
extraItems?: MenuProps['items'];
|
||||
}
|
||||
|
||||
const AccountPanel = memo<AccountPanelProps>(({ children, extraItems }) => {
|
||||
const [open, setOpen] = useState(false);
|
||||
const triggerRef = useRef<HTMLDivElement>(null);
|
||||
const [triggerWidth, setTriggerWidth] = useState<number>();
|
||||
|
||||
useEffect(() => {
|
||||
const node = triggerRef.current;
|
||||
if (!node) return;
|
||||
|
||||
const update = () => setTriggerWidth(node.getBoundingClientRect().width);
|
||||
update();
|
||||
|
||||
const observer = new ResizeObserver(update);
|
||||
observer.observe(node);
|
||||
return () => observer.disconnect();
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<Suspense fallback={children}>
|
||||
<Popover
|
||||
arrow={false}
|
||||
content={<PanelContent closePopover={() => setOpen(false)} extraItems={extraItems} />}
|
||||
open={open}
|
||||
placement="topLeft"
|
||||
styles={triggerWidth ? { content: { minWidth: triggerWidth } } : undefined}
|
||||
trigger="click"
|
||||
classNames={{
|
||||
root: styles.popover,
|
||||
content: styles.popoverContent,
|
||||
}}
|
||||
onOpenChange={setOpen}
|
||||
>
|
||||
<div ref={triggerRef} style={{ display: 'flex', flex: 1, minWidth: 0 }}>
|
||||
{children}
|
||||
</div>
|
||||
</Popover>
|
||||
</Suspense>
|
||||
);
|
||||
});
|
||||
|
||||
AccountPanel.displayName = 'AccountPanel';
|
||||
|
||||
export default AccountPanel;
|
||||
@@ -1,56 +0,0 @@
|
||||
import { DOWNLOAD_URL, isDesktop } from '@lobechat/const';
|
||||
import { Icon } from '@lobehub/ui';
|
||||
import { Download, LogOut } from 'lucide-react';
|
||||
import { useMemo } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
import { type MenuProps } from '@/components/Menu';
|
||||
import { usePlatform } from '@/hooks/usePlatform';
|
||||
import { useUserStore } from '@/store/user';
|
||||
import { authSelectors } from '@/store/user/selectors';
|
||||
|
||||
export const useAccountMenu = () => {
|
||||
const { t } = useTranslation(['common', 'auth']);
|
||||
const isLoginWithAuth = useUserStore(authSelectors.isLoginWithAuth);
|
||||
const { isIOS, isAndroid } = usePlatform();
|
||||
|
||||
const downloadUrl = useMemo(() => {
|
||||
if (isIOS) return DOWNLOAD_URL.ios;
|
||||
if (isAndroid) return DOWNLOAD_URL.android;
|
||||
return DOWNLOAD_URL.default;
|
||||
}, [isIOS, isAndroid]);
|
||||
|
||||
// Settings is reached via the gear icon in the AccountHeader; the menu only
|
||||
// covers items that don't have a dedicated entry point.
|
||||
const mainItems: MenuProps['items'] = isDesktop
|
||||
? []
|
||||
: [
|
||||
{
|
||||
type: 'divider',
|
||||
},
|
||||
{
|
||||
icon: <Icon icon={Download} />,
|
||||
key: 'get-desktop-app',
|
||||
label: (
|
||||
<a href={downloadUrl} rel="noopener noreferrer" target="_blank">
|
||||
{t('getDesktopApp')}
|
||||
</a>
|
||||
),
|
||||
},
|
||||
];
|
||||
|
||||
const logoutItems: MenuProps['items'] = isLoginWithAuth
|
||||
? [
|
||||
{
|
||||
type: 'divider',
|
||||
},
|
||||
{
|
||||
icon: <Icon icon={LogOut} />,
|
||||
key: 'logout',
|
||||
label: <span>{t('signout', { ns: 'auth' })}</span>,
|
||||
},
|
||||
]
|
||||
: [];
|
||||
|
||||
return { logoutItems, mainItems };
|
||||
};
|
||||
@@ -7,25 +7,48 @@ import Menu from '@/components/Menu';
|
||||
import { isDesktop } from '@/const/version';
|
||||
import UserInfo from '@/features/User/UserInfo';
|
||||
import WorkspaceLink from '@/features/Workspace/WorkspaceLink';
|
||||
import { navigateToDesktopOnboarding } from '@/routes/(desktop)/desktop-onboarding/navigation';
|
||||
import { DesktopOnboardingScreen } from '@/routes/(desktop)/desktop-onboarding/types';
|
||||
import { serverConfigSelectors, useServerConfigStore } from '@/store/serverConfig';
|
||||
import { useUserStore } from '@/store/user';
|
||||
import { authSelectors } from '@/store/user/selectors';
|
||||
|
||||
import DataStatistics from '../DataStatistics';
|
||||
import UserLoginOrSignup from '../UserLoginOrSignup';
|
||||
import LangButton from './LangButton';
|
||||
import { useMenu } from './useMenu';
|
||||
|
||||
const PanelContent: FC<{ closePopover: () => void }> = ({ closePopover }) => {
|
||||
const isLoginWithAuth = useUserStore(authSelectors.isLoginWithAuth);
|
||||
const openSignIn = useUserStore((s) => s.openLogin);
|
||||
const [openSignIn, signOut] = useUserStore((s) => [s.openLogin, s.logout]);
|
||||
const enableBusinessFeatures = useServerConfigStore(serverConfigSelectors.enableBusinessFeatures);
|
||||
const { mainItems } = useMenu();
|
||||
const { mainItems, logoutItems } = useMenu();
|
||||
|
||||
const handleSignIn = () => {
|
||||
openSignIn();
|
||||
closePopover();
|
||||
};
|
||||
|
||||
const handleSignOut = async () => {
|
||||
if (isDesktop) {
|
||||
closePopover();
|
||||
|
||||
try {
|
||||
const { remoteServerService } = await import('@/services/electron/remoteServer');
|
||||
await remoteServerService.clearRemoteServerConfig();
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
} finally {
|
||||
signOut();
|
||||
navigateToDesktopOnboarding(DesktopOnboardingScreen.Login);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
signOut();
|
||||
closePopover();
|
||||
};
|
||||
|
||||
return (
|
||||
<Flexbox gap={2} style={{ minWidth: 300 }}>
|
||||
{isDesktop || isLoginWithAuth ? (
|
||||
@@ -42,6 +65,8 @@ const PanelContent: FC<{ closePopover: () => void }> = ({ closePopover }) => {
|
||||
)}
|
||||
|
||||
<Menu items={mainItems} onClick={closePopover} />
|
||||
<LangButton placement={'right' as any} />
|
||||
<Menu items={logoutItems} onClick={handleSignOut} />
|
||||
</Flexbox>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
import { Flexbox } from '@lobehub/ui';
|
||||
import { cssVar } from 'antd-style';
|
||||
import { memo } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
import ThemeButton from './ThemeButton';
|
||||
|
||||
const ThemeRow = memo(() => {
|
||||
const { t } = useTranslation('setting');
|
||||
|
||||
return (
|
||||
<Flexbox
|
||||
horizontal
|
||||
align={'center'}
|
||||
gap={12}
|
||||
justify={'space-between'}
|
||||
style={{
|
||||
borderRadius: 8,
|
||||
cursor: 'default',
|
||||
marginInline: 4,
|
||||
paddingBlock: 6,
|
||||
paddingInline: 12,
|
||||
}}
|
||||
onMouseEnter={(e) => {
|
||||
e.currentTarget.style.background = cssVar.colorFillTertiary as string;
|
||||
}}
|
||||
onMouseLeave={(e) => {
|
||||
e.currentTarget.style.background = 'transparent';
|
||||
}}
|
||||
>
|
||||
<span>{t('settingCommon.themeMode.title')}</span>
|
||||
<ThemeButton placement={'right'} size={16} />
|
||||
</Flexbox>
|
||||
);
|
||||
});
|
||||
|
||||
ThemeRow.displayName = 'ThemeRow';
|
||||
|
||||
export default ThemeRow;
|
||||
@@ -9,6 +9,8 @@ import { isDesktop } from '@/const/version';
|
||||
|
||||
import PanelContent from './PanelContent';
|
||||
import PanelContentSkeleton from './PanelContentSkeleton';
|
||||
import UpgradeBadge from './UpgradeBadge';
|
||||
import { useNewVersion } from './useNewVersion';
|
||||
|
||||
const styles = createStaticStyles(({ css }) => {
|
||||
return {
|
||||
@@ -24,28 +26,31 @@ const styles = createStaticStyles(({ css }) => {
|
||||
});
|
||||
|
||||
const UserPanel = memo<PropsWithChildren>(({ children }) => {
|
||||
const hasNewVersion = useNewVersion();
|
||||
const [open, setOpen] = useState(false);
|
||||
|
||||
return (
|
||||
<Suspense fallback={children}>
|
||||
<Popover
|
||||
arrow={false}
|
||||
open={open}
|
||||
placement="topLeft"
|
||||
trigger="click"
|
||||
classNames={{
|
||||
root: styles.popover,
|
||||
content: styles.popoverContent,
|
||||
}}
|
||||
content={
|
||||
<Suspense fallback={<PanelContentSkeleton />}>
|
||||
<PanelContent closePopover={() => setOpen(false)} />
|
||||
</Suspense>
|
||||
}
|
||||
onOpenChange={setOpen}
|
||||
>
|
||||
{children}
|
||||
</Popover>
|
||||
<UpgradeBadge showBadge={hasNewVersion}>
|
||||
<Popover
|
||||
arrow={false}
|
||||
open={open}
|
||||
placement="topLeft"
|
||||
trigger="click"
|
||||
classNames={{
|
||||
root: styles.popover,
|
||||
content: styles.popoverContent,
|
||||
}}
|
||||
content={
|
||||
<Suspense fallback={<PanelContentSkeleton />}>
|
||||
<PanelContent closePopover={() => setOpen(false)} />
|
||||
</Suspense>
|
||||
}
|
||||
onOpenChange={setOpen}
|
||||
>
|
||||
{children}
|
||||
</Popover>
|
||||
</UpgradeBadge>
|
||||
</Suspense>
|
||||
);
|
||||
});
|
||||
|
||||
@@ -1,61 +1,110 @@
|
||||
import { LOBE_CHAT_CLOUD, UTM_SOURCE } from '@lobechat/business-const';
|
||||
import { isDesktop } from '@lobechat/const';
|
||||
import { Hotkey, Icon } from '@lobehub/ui';
|
||||
import { DOWNLOAD_URL, isDesktop } from '@lobechat/const';
|
||||
import { Flexbox, Hotkey, Icon, Tag } from '@lobehub/ui';
|
||||
import { type ItemType } from 'antd/es/menu/interface';
|
||||
import { BrainCircuit, Cloudy, HardDriveDownload, Settings2 } from 'lucide-react';
|
||||
import { BrainCircuit, Cloudy, Download, HardDriveDownload, LogOut, Settings2 } from 'lucide-react';
|
||||
import { type PropsWithChildren } from 'react';
|
||||
import { memo, useMemo } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { Link } from 'react-router-dom';
|
||||
|
||||
import useBusinessMenuItems from '@/business/client/features/User/useBusinessMenuItems';
|
||||
import { useActiveWorkspaceSlug } from '@/business/client/hooks/useActiveWorkspaceSlug';
|
||||
import { useHasActiveWorkspace } from '@/business/client/hooks/useHasActiveWorkspace';
|
||||
import { type MenuProps } from '@/components/Menu';
|
||||
import { DEFAULT_DESKTOP_HOTKEY_CONFIG } from '@/const/desktop';
|
||||
import { OFFICIAL_URL } from '@/const/url';
|
||||
import DataImporter from '@/features/DataImporter';
|
||||
import WorkspaceLink from '@/features/Workspace/WorkspaceLink';
|
||||
import { useNavLayout } from '@/hooks/useNavLayout';
|
||||
import { usePlatform } from '@/hooks/usePlatform';
|
||||
import { featureFlagsSelectors, useServerConfigStore } from '@/store/serverConfig';
|
||||
import { useUserStore } from '@/store/user';
|
||||
import { authSelectors } from '@/store/user/selectors';
|
||||
|
||||
import { useNewVersion } from './useNewVersion';
|
||||
|
||||
const NewVersionBadge = memo(
|
||||
({
|
||||
children,
|
||||
showBadge,
|
||||
onClick,
|
||||
}: PropsWithChildren & { onClick?: () => void; showBadge?: boolean }) => {
|
||||
const { t } = useTranslation('common');
|
||||
if (!showBadge)
|
||||
return (
|
||||
<Flexbox flex={1} onClick={onClick}>
|
||||
{children}
|
||||
</Flexbox>
|
||||
);
|
||||
return (
|
||||
<Flexbox horizontal align={'center'} flex={1} gap={8} width={'100%'} onClick={onClick}>
|
||||
{children}
|
||||
<Tag color={'info'} size={'small'} style={{ borderRadius: 16, paddingInline: 8 }}>
|
||||
{t('upgradeVersion.hasNew')}
|
||||
</Tag>
|
||||
</Flexbox>
|
||||
);
|
||||
},
|
||||
);
|
||||
|
||||
export const useMenu = () => {
|
||||
const { t } = useTranslation(['common', 'setting']);
|
||||
const hasNewVersion = useNewVersion();
|
||||
const { t } = useTranslation(['common', 'setting', 'auth']);
|
||||
const { showCloudPromotion, hideDocs } = useServerConfigStore(featureFlagsSelectors);
|
||||
const isLogin = useUserStore(authSelectors.isLogin);
|
||||
const [isLogin, isLoginWithAuth] = useUserStore((s) => [
|
||||
authSelectors.isLogin(s),
|
||||
authSelectors.isLoginWithAuth(s),
|
||||
]);
|
||||
const { userPanel } = useNavLayout();
|
||||
const businessMenuItems = useBusinessMenuItems(isLogin);
|
||||
const activeWorkspaceSlug = useActiveWorkspaceSlug();
|
||||
const hasActiveWorkspace = useHasActiveWorkspace();
|
||||
const { isIOS, isAndroid } = usePlatform();
|
||||
|
||||
// In workspace context, route Settings to the workspace's settings root —
|
||||
// the route's index redirect (`/:slug/settings → /:slug/settings/general`)
|
||||
// handles tab landing, keeping this hook URL-agnostic. Personal context
|
||||
// falls back to user settings.
|
||||
const settingsHref = activeWorkspaceSlug ? `/${activeWorkspaceSlug}/settings` : '/settings';
|
||||
const downloadUrl = useMemo(() => {
|
||||
if (isIOS) return DOWNLOAD_URL.ios;
|
||||
if (isAndroid) return DOWNLOAD_URL.android;
|
||||
return DOWNLOAD_URL.default;
|
||||
}, [isIOS, isAndroid]);
|
||||
|
||||
const settings: MenuProps['items'] = isLogin
|
||||
? [
|
||||
{
|
||||
extra: isDesktop ? (
|
||||
<div>
|
||||
<Hotkey keys={DEFAULT_DESKTOP_HOTKEY_CONFIG.openSettings} />
|
||||
</div>
|
||||
) : undefined,
|
||||
icon: <Icon icon={Settings2} />,
|
||||
key: 'setting',
|
||||
label: <Link to={settingsHref}>{t('userPanel.setting')}</Link>,
|
||||
},
|
||||
]
|
||||
: [];
|
||||
const settings: MenuProps['items'] = [
|
||||
{
|
||||
extra: isDesktop ? (
|
||||
<div>
|
||||
<Hotkey keys={DEFAULT_DESKTOP_HOTKEY_CONFIG.openSettings} />
|
||||
</div>
|
||||
) : undefined,
|
||||
icon: <Icon icon={Settings2} />,
|
||||
key: 'setting',
|
||||
label: (
|
||||
<WorkspaceLink to="/settings">
|
||||
<NewVersionBadge showBadge={hasNewVersion}>
|
||||
{t(hasActiveWorkspace ? 'userPanel.workspaceSetting' : 'userPanel.setting')}
|
||||
</NewVersionBadge>
|
||||
</WorkspaceLink>
|
||||
),
|
||||
},
|
||||
...(userPanel.showMemory
|
||||
? [
|
||||
{
|
||||
icon: <Icon icon={BrainCircuit} />,
|
||||
key: 'memory',
|
||||
label: <Link to="/memory">{t('tab.memory')}</Link>,
|
||||
},
|
||||
]
|
||||
: []),
|
||||
];
|
||||
|
||||
const memoryItems: MenuProps['items'] = userPanel.showMemory
|
||||
? [
|
||||
{
|
||||
icon: <Icon icon={BrainCircuit} />,
|
||||
key: 'memory',
|
||||
label: <WorkspaceLink to="/memory">{t('tab.memory')}</WorkspaceLink>,
|
||||
},
|
||||
]
|
||||
: [];
|
||||
const getDesktopApp: MenuProps['items'] = [
|
||||
{
|
||||
icon: <Icon icon={Download} />,
|
||||
key: 'get-desktop-app',
|
||||
label: (
|
||||
<a href={downloadUrl} rel="noopener noreferrer" target="_blank">
|
||||
{t('getDesktopApp')}
|
||||
</a>
|
||||
),
|
||||
},
|
||||
];
|
||||
|
||||
const helps: MenuProps['items'] = [
|
||||
showCloudPromotion && {
|
||||
@@ -77,9 +126,10 @@ export const useMenu = () => {
|
||||
{
|
||||
type: 'divider',
|
||||
},
|
||||
...settings,
|
||||
...memoryItems,
|
||||
|
||||
...(isLogin ? settings : []),
|
||||
...businessMenuItems,
|
||||
...(!isDesktop ? [{ type: 'divider' as const }, ...getDesktopApp] : []),
|
||||
...(userPanel.showDataImporter && isLogin
|
||||
? [
|
||||
{
|
||||
@@ -102,5 +152,18 @@ export const useMenu = () => {
|
||||
return !(isDivider(item) && isDivider(arr[index - 1]));
|
||||
}) as MenuProps['items'];
|
||||
|
||||
return { mainItems };
|
||||
const logoutItems: MenuProps['items'] = isLoginWithAuth
|
||||
? [
|
||||
{
|
||||
icon: <Icon icon={LogOut} />,
|
||||
key: 'logout',
|
||||
label: <span>{t('signout', { ns: 'auth' })}</span>,
|
||||
},
|
||||
{
|
||||
type: 'divider',
|
||||
},
|
||||
]
|
||||
: [];
|
||||
|
||||
return { logoutItems, mainItems };
|
||||
};
|
||||
|
||||
@@ -38,6 +38,7 @@ vi.mock('../UserInfo', () => ({
|
||||
|
||||
vi.mock('../UserPanel/useMenu', () => ({
|
||||
useMenu: vi.fn(() => ({
|
||||
logoutItems: [{ key: 'logout', label: 'Logout' }],
|
||||
mainItems: [
|
||||
{ key: 'item1', label: 'Main Item 1' },
|
||||
{ key: 'item2', label: 'Main Item 2' },
|
||||
@@ -102,14 +103,14 @@ describe('PanelContent', () => {
|
||||
expect(screen.queryByText('Mocked UserInfo')).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('should render the main menu when user is signed in', () => {
|
||||
it('should render logout items when user is signed in', () => {
|
||||
act(() => {
|
||||
useUserStore.setState({ isSignedIn: true });
|
||||
});
|
||||
|
||||
renderWithRouter(<PanelContent closePopover={closePopover} />);
|
||||
|
||||
expect(screen.getAllByText('Mocked Menu').length).toBe(1);
|
||||
expect(screen.getAllByText('Mocked Menu').length).toBe(2);
|
||||
});
|
||||
|
||||
it('should render SignInBlock when user is not signed in', () => {
|
||||
|
||||
@@ -40,8 +40,12 @@ vi.mock('@/services/config', () => ({
|
||||
},
|
||||
}));
|
||||
|
||||
vi.mock('./useNewVersion', () => ({
|
||||
useNewVersion: vi.fn(() => false),
|
||||
}));
|
||||
|
||||
describe('useMenu', () => {
|
||||
it('should keep workspace-aware Settings and drop Account-Panel-only items', () => {
|
||||
it('should provide correct menu items when user is logged in with auth', () => {
|
||||
act(() => {
|
||||
useUserStore.setState({ isSignedIn: true });
|
||||
});
|
||||
@@ -49,18 +53,17 @@ describe('useMenu', () => {
|
||||
const { result } = renderHook(() => useMenu(), { wrapper });
|
||||
|
||||
act(() => {
|
||||
const { mainItems } = result.current;
|
||||
// Settings stays in the Workspace Panel so workspace-context Settings
|
||||
// is reachable in one click.
|
||||
const { mainItems, logoutItems } = result.current;
|
||||
// 'setting' is shown when logged in
|
||||
expect(mainItems?.some((item) => item?.key === 'setting')).toBe(true);
|
||||
// Account-only items have moved to the Account Panel and must not
|
||||
// appear in the Workspace Panel menu.
|
||||
expect(mainItems?.some((item) => item?.key === 'get-desktop-app')).toBe(false);
|
||||
expect(mainItems?.some((item) => item?.key === 'logout')).toBe(false);
|
||||
// 'memory' is gated behind the showMemory nav-layout flag (defaults off)
|
||||
expect(mainItems?.some((item) => item?.key === 'memory')).toBe(false);
|
||||
// 'logout' is shown when isLoginWithAuth is true
|
||||
expect(logoutItems.some((item) => item?.key === 'logout')).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
it('should hide Settings when not logged in', () => {
|
||||
it('should provide correct menu items when user is not logged in', () => {
|
||||
act(() => {
|
||||
useUserStore.setState({ isSignedIn: false });
|
||||
});
|
||||
@@ -68,8 +71,11 @@ describe('useMenu', () => {
|
||||
const { result } = renderHook(() => useMenu(), { wrapper });
|
||||
|
||||
act(() => {
|
||||
const { mainItems } = result.current;
|
||||
const { mainItems, logoutItems } = result.current;
|
||||
// When not logged in, setting and memory should not be shown
|
||||
expect(mainItems?.some((item) => item?.key === 'setting')).toBe(false);
|
||||
expect(mainItems?.some((item) => item?.key === 'memory')).toBe(false);
|
||||
expect(logoutItems.some((item) => item?.key === 'logout')).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@ const renderFooter = async ({
|
||||
</div>
|
||||
) : null,
|
||||
}));
|
||||
vi.doMock('@/features/User/AccountPanel/AccountTrigger', () => ({
|
||||
vi.doMock('@/features/User/UserPanel/ThemeButton', () => ({
|
||||
default: () => null,
|
||||
}));
|
||||
function createNavLayoutState() {
|
||||
@@ -214,7 +214,7 @@ afterEach(() => {
|
||||
vi.doUnmock('@/components/ChangelogModal');
|
||||
vi.doUnmock('@/components/FeedbackModal');
|
||||
vi.doUnmock('@/components/HighlightNotification');
|
||||
vi.doUnmock('@/features/User/AccountPanel/AccountTrigger');
|
||||
vi.doUnmock('@/features/User/UserPanel/ThemeButton');
|
||||
vi.doUnmock('@/hooks/useNavLayout');
|
||||
vi.doUnmock('@/store/global');
|
||||
vi.doUnmock('@/store/serverConfig');
|
||||
|
||||
@@ -14,11 +14,13 @@ import {
|
||||
FlaskConical,
|
||||
MessageCircle,
|
||||
Rocket,
|
||||
Settings2,
|
||||
SettingsIcon,
|
||||
} from 'lucide-react';
|
||||
import type { ReactNode } from 'react';
|
||||
import { memo, useCallback, useEffect, useMemo, useState } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import { Link, useNavigate } from 'react-router-dom';
|
||||
|
||||
import { openChangelogModal } from '@/components/ChangelogModal';
|
||||
import { openFeedbackModal } from '@/components/FeedbackModal';
|
||||
@@ -27,15 +29,15 @@ import { DOCUMENTS_REFER_URL, GITHUB } from '@/const/url';
|
||||
import Billboard from '@/features/Billboard';
|
||||
import { useBillboardMenuItems } from '@/features/Billboard/MenuItems';
|
||||
import { useActiveNavKey } from '@/features/NavPanel';
|
||||
import AccountTrigger from '@/features/User/AccountPanel/AccountTrigger';
|
||||
import ThemeButton from '@/features/User/UserPanel/ThemeButton';
|
||||
import WorkspaceLink from '@/features/Workspace/WorkspaceLink';
|
||||
import { useNavLayout } from '@/hooks/useNavLayout';
|
||||
import { useGlobalStore } from '@/store/global';
|
||||
import { systemStatusSelectors } from '@/store/global/selectors/systemStatus';
|
||||
import { useServerConfigStore } from '@/store/serverConfig';
|
||||
import { useUserStore } from '@/store/user';
|
||||
import { userGeneralSettingsSelectors } from '@/store/user/slices/settings/selectors/general';
|
||||
|
||||
import InboxButton from '../Header/components/InboxButton';
|
||||
import { resolveFooterPromotionState } from './promotionPipeline';
|
||||
|
||||
const AGENT_ONBOARDING_PROMO_SLUG = 'agent-onboarding-promo-v1';
|
||||
@@ -71,13 +73,13 @@ const Footer = memo(() => {
|
||||
const enableAgentOnboarding = useServerConfigStore((s) => s.featureFlags.enableAgentOnboarding);
|
||||
const isMobile = useServerConfigStore((s) => !!s.isMobile);
|
||||
const serverConfigInit = useServerConfigStore((s) => s.serverConfigInit);
|
||||
const [agentOnboardingFinished, agentOnboardingStarted, classicOnboardingFinished] = useUserStore(
|
||||
(s) => [
|
||||
const [agentOnboardingFinished, agentOnboardingStarted, classicOnboardingFinished, isDevMode] =
|
||||
useUserStore((s) => [
|
||||
!!s.agentOnboarding?.finishedAt,
|
||||
!!s.agentOnboarding?.activeTopicId,
|
||||
!!s.onboarding?.finishedAt,
|
||||
],
|
||||
);
|
||||
userGeneralSettingsSelectors.config(s).isDevMode,
|
||||
]);
|
||||
const [isAgentOnboardingCardOpen, setIsAgentOnboardingCardOpen] = useState(false);
|
||||
const [isProductHuntCardOpen, setIsProductHuntCardOpen] = useState(false);
|
||||
|
||||
@@ -250,9 +252,18 @@ const Footer = memo(() => {
|
||||
|
||||
const helpMenuItems: MenuProps['items'] = useMemo(
|
||||
() => [
|
||||
{
|
||||
type: 'divider' as const,
|
||||
},
|
||||
...(footer.showSettingsEntry && !isDevMode
|
||||
? [
|
||||
{
|
||||
icon: <Icon icon={Settings2} />,
|
||||
key: 'setting',
|
||||
label: <Link to="/settings">{t('userPanel.setting')}</Link>,
|
||||
},
|
||||
{
|
||||
type: 'divider' as const,
|
||||
},
|
||||
]
|
||||
: []),
|
||||
{
|
||||
icon: <Icon icon={Book} />,
|
||||
key: 'docs',
|
||||
@@ -323,12 +334,14 @@ const Footer = memo(() => {
|
||||
: []),
|
||||
],
|
||||
[
|
||||
footer.showSettingsEntry,
|
||||
footer.layout,
|
||||
footer.hideGitHub,
|
||||
footer.showEvalEntry,
|
||||
handleOpenChangelogModal,
|
||||
handleOpenFeedbackModal,
|
||||
handleOpenProductHuntCard,
|
||||
isDevMode,
|
||||
shouldShowProductHuntMenuEntry,
|
||||
t,
|
||||
billboardMenuItems,
|
||||
@@ -358,11 +371,23 @@ const Footer = memo(() => {
|
||||
<ActionIcon icon={FlaskConical} size={16} title="Evaluation Lab" />
|
||||
</WorkspaceLink>
|
||||
</Flexbox>
|
||||
<AccountTrigger />
|
||||
<ThemeButton placement={'topCenter'} size={16} />
|
||||
</Flexbox>
|
||||
) : (
|
||||
<Flexbox horizontal align={'center'} padding={8}>
|
||||
<AccountTrigger actions={<InboxButton />} extraItems={helpMenuItems} />
|
||||
<Flexbox horizontal align={'center'} gap={2} padding={8}>
|
||||
<DropdownMenu items={helpMenuItems} placement="topLeft">
|
||||
<ActionIcon aria-label={t('userPanel.help')} icon={CircleHelp} size={16} />
|
||||
</DropdownMenu>
|
||||
{isDevMode && (
|
||||
<Link to="/settings">
|
||||
<ActionIcon
|
||||
aria-label={t('userPanel.setting')}
|
||||
icon={SettingsIcon}
|
||||
size={16}
|
||||
title={t('userPanel.setting')}
|
||||
/>
|
||||
</Link>
|
||||
)}
|
||||
</Flexbox>
|
||||
)}
|
||||
{activePromotion && (
|
||||
|
||||
@@ -4,13 +4,14 @@ import { memo } from 'react';
|
||||
|
||||
import SideBarHeaderLayout from '@/features/NavPanel/SideBarHeaderLayout';
|
||||
|
||||
import InboxButton from './components/InboxButton';
|
||||
import Nav from './components/Nav';
|
||||
import User from './components/User';
|
||||
|
||||
const Header = memo(() => {
|
||||
return (
|
||||
<>
|
||||
<SideBarHeaderLayout left={<User />} showBack={false} />
|
||||
<SideBarHeaderLayout left={<User />} right={<InboxButton />} showBack={false} />
|
||||
<Nav />
|
||||
</>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user