From 78d2f49e01ad7ce7215006783f2bcbbebf96e576 Mon Sep 17 00:00:00 2001 From: yyh <92089059+lyzno1@users.noreply.github.com> Date: Mon, 4 Aug 2025 13:30:11 +0800 Subject: [PATCH] feat(i18n): enhance auto-gen script for template literals and add app-debug translations (#23344) --- web/i18n-config/auto-gen-i18n.js | 46 ++- web/i18n/de-DE/app-debug.ts | 151 +++++++++- web/i18n/es-ES/app-debug.ts | 103 +++++++ web/i18n/fa-IR/app-debug.ts | 286 ++++++++++++++++++ web/i18n/fr-FR/app-debug.ts | 104 +++++++ web/i18n/hi-IN/app-debug.ts | 128 ++++++++ web/i18n/it-IT/app-debug.ts | 103 +++++++ web/i18n/ko-KR/app-debug.ts | 104 +++++++ web/i18n/pl-PL/app-debug.ts | 104 +++++++ web/i18n/pt-BR/app-debug.ts | 108 +++++++ web/i18n/ro-RO/app-debug.ts | 104 +++++++ web/i18n/ru-RU/app-debug.ts | 50 ++++ web/i18n/sl-SI/app-debug.ts | 296 +++++++++++++++++++ web/i18n/th-TH/app-debug.ts | 481 +++++++++++++++++++++++++++++++ web/i18n/tr-TR/app-debug.ts | 100 +++++-- web/i18n/uk-UA/app-debug.ts | 197 +++++++++++-- web/i18n/vi-VN/app-debug.ts | 104 +++++++ web/i18n/zh-Hant/app-debug.ts | 104 +++++++ 18 files changed, 2600 insertions(+), 73 deletions(-) diff --git a/web/i18n-config/auto-gen-i18n.js b/web/i18n-config/auto-gen-i18n.js index 45f560639..9a8e74106 100644 --- a/web/i18n-config/auto-gen-i18n.js +++ b/web/i18n-config/auto-gen-i18n.js @@ -42,6 +42,13 @@ async function translateMissingKeyDeeply(sourceObj, targetObject, toLanguage) { return } + // Skip template literal placeholders + if (source === 'TEMPLATE_LITERAL_PLACEHOLDER') { + console.log(`⏭️ Skipping template literal key: "${key}"`) + skippedKeys.push(`${key}: ${source}`) + return + } + // Only skip obvious code patterns, not normal text with parentheses const codePatterns = [ /\{\{.*\}\}/, // Template variables like {{key}} @@ -102,6 +109,15 @@ async function autoGenTrans(fileName, toGenLanguage, isDryRun = false) { try { const content = fs.readFileSync(fullKeyFilePath, 'utf8') + // Temporarily replace template literals with regular strings for AST parsing + // This allows us to process other keys while skipping problematic ones + let processedContent = content + const templateLiteralPattern = /(resolutionTooltip):\s*`([^`]*)`/g + processedContent = processedContent.replace(templateLiteralPattern, (match, key, value) => { + console.log(`⏭️ Temporarily replacing template literal for key: ${key}`) + return `${key}: "TEMPLATE_LITERAL_PLACEHOLDER"` + }) + // Create a safer module environment for vm const moduleExports = {} const context = { @@ -114,7 +130,7 @@ async function autoGenTrans(fileName, toGenLanguage, isDryRun = false) { } // Use vm.runInNewContext instead of eval for better security - vm.runInNewContext(transpile(content), context) + vm.runInNewContext(transpile(processedContent), context) const fullKeyContent = moduleExports.default || moduleExports @@ -132,7 +148,14 @@ export default translation // To keep object format and format it for magicast to work: const translation = { ... } => export default {...} const readContent = await loadFile(toGenLanguageFilePath) const { code: toGenContent } = generateCode(readContent) - const mod = await parseModule(`export default ${toGenContent.replace('export default translation', '').replace('const translation = ', '')}`) + + // Also handle template literals in target file content + let processedToGenContent = toGenContent + processedToGenContent = processedToGenContent.replace(templateLiteralPattern, (match, key, value) => { + console.log(`⏭️ Temporarily replacing template literal in target file for key: ${key}`) + return `${key}: "TEMPLATE_LITERAL_PLACEHOLDER"` + }) + const mod = await parseModule(`export default ${processedToGenContent.replace('export default translation', '').replace('const translation = ', '')}`) const toGenOutPut = mod.exports.default console.log(`\n🌍 Processing ${fileName} for ${toGenLanguage}...`) @@ -151,11 +174,26 @@ export default translation } const { code } = generateCode(mod) - const res = `const translation =${code.replace('export default', '')} + let res = `const translation =${code.replace('export default', '')} export default translation `.replace(/,\n\n/g, ',\n').replace('};', '}') + // Restore original template literals by reading from the original target file if it exists + if (fs.existsSync(toGenLanguageFilePath)) { + const originalContent = fs.readFileSync(toGenLanguageFilePath, 'utf8') + // Extract original template literal content for resolutionTooltip + const originalMatch = originalContent.match(/(resolutionTooltip):\s*`([^`]*)`/s) + if (originalMatch) { + const [fullMatch, key, value] = originalMatch + res = res.replace( + `${key}: "TEMPLATE_LITERAL_PLACEHOLDER"`, + `${key}: \`${value}\``, + ) + console.log(`🔄 Restored original template literal for key: ${key}`) + } + } + if (!isDryRun) { fs.writeFileSync(toGenLanguageFilePath, res) console.log(`💾 Saved translations to ${toGenLanguageFilePath}`) @@ -190,7 +228,7 @@ async function main() { .readdirSync(path.resolve(__dirname, i18nFolder, targetLanguage)) .filter(file => /\.ts$/.test(file)) // Only process .ts files .map(file => file.replace(/\.ts$/, '')) - .filter(f => f !== 'app-debug') // ast parse error in app-debug + // Removed app-debug exclusion, now only skip specific problematic keys // Filter by target file if specified const filesToProcess = targetFile ? files.filter(f => f === targetFile) : files diff --git a/web/i18n/de-DE/app-debug.ts b/web/i18n/de-DE/app-debug.ts index 93511faf5..68f674b76 100644 --- a/web/i18n/de-DE/app-debug.ts +++ b/web/i18n/de-DE/app-debug.ts @@ -197,6 +197,7 @@ const translation = { after: '', }, }, + contentEnableLabel: 'Moderater Inhalt aktiviert', }, fileUpload: { title: 'Datei-Upload', @@ -241,6 +242,7 @@ const translation = { 'Bitte warten Sie auf die Antwort auf die Stapelaufgabe, um abzuschließen.', notSelectModel: 'Bitte wählen Sie ein Modell', waitForImgUpload: 'Bitte warten Sie, bis das Bild hochgeladen ist', + waitForFileUpload: 'Bitte warten Sie, bis die Datei(en) hochgeladen sind', }, chatSubTitle: 'Anweisungen', completionSubTitle: 'Vor-Prompt', @@ -276,20 +278,62 @@ const translation = { queryNoBeEmpty: 'Anfrage muss im Prompt gesetzt sein', }, variableConfig: { - description: 'Einstellung für Variable {{varName}}', - fieldType: 'Feldtyp', - string: 'Kurztext', - paragraph: 'Absatz', - select: 'Auswählen', - notSet: 'Nicht gesetzt, versuchen Sie, {{input}} im Vor-Prompt zu tippen', - stringTitle: 'Formular-Textfeldoptionen', - maxLength: 'Maximale Länge', - options: 'Optionen', - addOption: 'Option hinzufügen', - apiBasedVar: 'API-basierte Variable', - defaultValue: 'Standardwert', - noDefaultValue: 'Kein Standardwert', - selectDefaultValue: 'Standardwert auswählen', + 'description': 'Einstellung für Variable {{varName}}', + 'fieldType': 'Feldtyp', + 'string': 'Kurztext', + 'paragraph': 'Absatz', + 'select': 'Auswählen', + 'notSet': 'Nicht gesetzt, versuchen Sie, {{input}} im Vor-Prompt zu tippen', + 'stringTitle': 'Formular-Textfeldoptionen', + 'maxLength': 'Maximale Länge', + 'options': 'Optionen', + 'addOption': 'Option hinzufügen', + 'apiBasedVar': 'API-basierte Variable', + 'defaultValue': 'Standardwert', + 'noDefaultValue': 'Kein Standardwert', + 'selectDefaultValue': 'Standardwert auswählen', + 'file': { + image: { + name: 'Bild', + }, + audio: { + name: 'Audio', + }, + document: { + name: 'Dokument', + }, + video: { + name: 'Video', + }, + custom: { + description: 'Geben Sie andere Dateitypen an.', + createPlaceholder: ' Dateiendung, z.B. .doc', + name: 'Andere Dateitypen', + }, + supportFileTypes: 'Unterstützte Dateitypen', + }, + 'errorMsg': { + optionRepeat: 'Hat Wiederholungsoptionen', + atLeastOneOption: 'Mindestens eine Option ist erforderlich', + labelNameRequired: 'Labelname ist erforderlich', + varNameCanBeRepeat: 'Variablenname kann nicht wiederholt werden', + }, + 'multi-files': 'Dateiliste', + 'varName': 'Variablenname', + 'content': 'Inhalt', + 'single-file': 'Einzelne Datei', + 'labelName': 'Kennsatzname', + 'addModalTitle': 'Eingabefeld hinzufügen', + 'hide': 'Verstecken', + 'inputPlaceholder': 'Bitte geben Sie ein', + 'both': 'Beide', + 'uploadFileTypes': 'Dateitypen hochladen', + 'maxNumberOfUploads': 'Maximale Anzahl von Uploads', + 'number': 'Zahl', + 'editModalTitle': 'Eingabefeld bearbeiten', + 'required': 'Erforderlich', + 'text-input': 'Kurztext', + 'localUpload': 'Lokaler Upload', }, vision: { name: 'Vision', @@ -309,6 +353,7 @@ const translation = { url: 'URL', uploadLimit: 'Upload-Limit', }, + onlySupportVisionModelTip: 'Unterstützt nur Bildverarbeitungsmodelle', }, voice: { name: 'Stimme', @@ -320,6 +365,9 @@ const translation = { language: 'Sprache', resolutionTooltip: 'Text-zu-Sprache unterstützte Sprache.', voice: 'Stimme', + autoPlay: 'Automatische Wiedergabe', + autoPlayEnabled: 'Auf', + autoPlayDisabled: 'Aus', }, }, openingStatement: { @@ -376,6 +424,8 @@ const translation = { score_threshold: 'Schwellenwert', score_thresholdTip: 'Wird verwendet, um den Ähnlichkeitsschwellenwert für die Abschnittsfilterung einzustellen.', retrieveChangeTip: 'Das Ändern des Indexmodus und des Abfragemodus kann Anwendungen beeinflussen, die mit diesem Wissen verbunden sind.', + embeddingModelRequired: 'Ein konfiguriertes Einbettungsmodell ist erforderlich', + knowledgeTip: 'Klicken Sie auf die Schaltfläche " ", um Wissen hinzuzufügen', }, debugAsSingleModel: 'Als Einzelmodell debuggen', debugAsMultipleModel: 'Als Mehrfachmodelle debuggen', @@ -417,6 +467,79 @@ const translation = { enabled: 'Aktiviert', }, }, + codegen: { + applyChanges: 'Änderungen übernehmen', + generatedCodeTitle: 'Generierter Code', + instructionPlaceholder: 'Geben Sie eine detaillierte Beschreibung des Codes ein, den Sie generieren möchten.', + overwriteConfirmMessage: 'Durch diese Aktion wird der vorhandene Code überschrieben. Möchten Sie fortfahren?', + title: 'Codegenerator', + noDataLine1: 'Beschreiben Sie links Ihren Anwendungsfall,', + loading: 'Code wird generiert...', + resTitle: 'Generierter Code', + description: 'Der Code-Generator verwendet konfigurierte Modelle, um qualitativ hochwertigen Code basierend auf Ihren Anweisungen zu generieren. Bitte geben Sie klare und detaillierte Anweisungen.', + instruction: 'Anweisungen', + apply: 'Anwenden', + generate: 'Erzeugen', + overwriteConfirmTitle: 'Vorhandenen Code überschreiben?', + noDataLine2: 'Die Codevorschau wird hier angezeigt.', + }, + generate: { + template: { + pythonDebugger: { + instruction: 'Ein Bot, der Ihren Code basierend auf Ihren Anweisungen generieren und debuggen kann', + name: 'Python-Debugger', + }, + translation: { + instruction: 'Ein Übersetzer, der mehrere Sprachen übersetzen kann', + name: 'Übersetzung', + }, + professionalAnalyst: { + name: 'Professioneller Analyst', + instruction: 'Extrahieren Sie Erkenntnisse, identifizieren Sie Risiken und destillieren Sie wichtige Informationen aus langen Berichten in einem einzigen Memo', + }, + excelFormulaExpert: { + instruction: 'Ein Chatbot, der Anfängern helfen kann, Excel-Formeln basierend auf Benutzeranweisungen zu verstehen, zu verwenden und zu erstellen', + name: 'Excel-Formel-Experte', + }, + travelPlanning: { + instruction: 'Der Reiseplanungsassistent ist ein intelligentes Tool, mit dem Benutzer ihre Reisen mühelos planen können', + name: 'Reiseplanung', + }, + SQLSorcerer: { + name: 'SQL-Zauberer', + instruction: 'Verwandeln Sie alltägliche Sprache in SQL-Abfragen', + }, + GitGud: { + name: 'Git gud', + instruction: 'Generieren geeigneter Git-Befehle basierend auf vom Benutzer beschriebenen Aktionen zur Versionskontrolle', + }, + meetingTakeaways: { + instruction: 'Fassen Sie Meetings in prägnante Zusammenfassungen zusammen, die Diskussionsthemen, wichtige Erkenntnisse und Aktionspunkte enthalten', + name: 'Takeaways für Meetings', + }, + writingsPolisher: { + instruction: 'Verwenden Sie fortgeschrittene Lektoratstechniken, um Ihre Texte zu verbessern', + name: 'Polierer für Schreibstil', + }, + }, + title: 'Eingabeaufforderungs-Generator', + apply: 'Anwenden', + overwriteTitle: 'Vorhandene Konfiguration überschreiben?', + instructionPlaceHolder: 'Schreiben Sie klare und spezifische Anweisungen.', + noDataLine1: 'Beschreiben Sie links Ihren Anwendungsfall,', + noDataLine2: 'Die Orchestrierungsvorschau wird hier angezeigt.', + instruction: 'Anweisungen', + tryIt: 'Versuch es', + generate: 'Erzeugen', + overwriteMessage: 'Durch Anwenden dieser Eingabeaufforderung wird die vorhandene Konfiguration überschrieben.', + loading: 'Orchestrieren Sie die Anwendung für Sie...', + resTitle: 'Generierte Eingabeaufforderung', + description: 'Der Eingabeaufforderungsgenerator verwendet das konfigurierte Modell, um Eingabeaufforderungen für eine höhere Qualität und bessere Struktur zu optimieren. Bitte schreiben Sie klare und detaillierte Anweisungen.', + }, + warningMessage: { + timeoutExceeded: 'Die Ergebnisse werden aufgrund einer Zeitüberschreitung nicht angezeigt. Bitte beziehen Sie sich auf die Protokolle, um die vollständigen Ergebnisse zu erhalten.', + }, + noResult: 'Hier wird die Ausgabe angezeigt.', } export default translation diff --git a/web/i18n/es-ES/app-debug.ts b/web/i18n/es-ES/app-debug.ts index dbdc32c36..dd670fab0 100644 --- a/web/i18n/es-ES/app-debug.ts +++ b/web/i18n/es-ES/app-debug.ts @@ -197,6 +197,7 @@ const translation = { after: '', }, }, + contentEnableLabel: 'Contenido moderado habilitado', }, fileUpload: { title: 'Subida de archivos', @@ -240,6 +241,7 @@ const translation = { waitForBatchResponse: 'Por favor espera la respuesta a la tarea por lotes para completar.', notSelectModel: 'Por favor elige un modelo', waitForImgUpload: 'Por favor espera a que la imagen se cargue', + waitForFileUpload: 'Espere a que se cargue el archivo o los archivos', }, chatSubTitle: 'Instrucciones', completionSubTitle: 'Prefijo de la Indicación', @@ -302,6 +304,32 @@ const translation = { 'defaultValue': 'Valor predeterminado', 'noDefaultValue': 'Sin valor predeterminado', 'selectDefaultValue': 'Seleccionar valor predeterminado', + 'file': { + image: { + name: 'Imagen', + }, + audio: { + name: 'Audio', + }, + document: { + name: 'Documento', + }, + video: { + name: 'Vídeo', + }, + custom: { + name: 'Otros tipos de archivos', + description: 'Especifique otros tipos de archivo.', + createPlaceholder: ' Extensión de archivo, por ejemplo, .doc', + }, + supportFileTypes: 'Tipos de archivos de soporte', + }, + 'uploadFileTypes': 'Cargar tipos de archivos', + 'localUpload': 'Carga local', + 'both': 'ambos', + 'single-file': 'En fila india', + 'maxNumberOfUploads': 'Número máximo de cargas', + 'multi-files': 'Lista de archivos', }, vision: { name: 'Visión', @@ -321,6 +349,7 @@ const translation = { url: 'URL', uploadLimit: 'Límite de carga', }, + onlySupportVisionModelTip: 'Solo admite modelos de visión', }, voice: { name: 'Voz', @@ -389,6 +418,7 @@ const translation = { score_threshold: 'Umbral de Puntuación', score_thresholdTip: 'Usado para establecer el umbral de similitud para la filtración de fragmentos.', retrieveChangeTip: 'Modificar el modo de índice y el modo de recuperación puede afectar las aplicaciones asociadas con este Conocimiento.', + embeddingModelRequired: 'Se requiere un modelo de incrustación configurado', }, debugAsSingleModel: 'Depurar como Modelo Único', debugAsMultipleModel: 'Depurar como Múltiples Modelos', @@ -430,6 +460,79 @@ const translation = { enabled: 'Habilitado', }, }, + codegen: { + apply: 'Aplicar', + overwriteConfirmMessage: 'Esta acción sobrescribirá el código existente. ¿Quieres continuar?', + instruction: 'Instrucciones', + loading: 'Generando código...', + title: 'Generador de código', + resTitle: 'Código generado', + description: 'El Generador de código utiliza modelos configurados para generar código de alta calidad basado en sus instrucciones. Proporcione instrucciones claras y detalladas.', + noDataLine1: 'Describa su caso de uso a la izquierda,', + generate: 'Generar', + generatedCodeTitle: 'Código generado', + noDataLine2: 'La vista previa del código se mostrará aquí.', + overwriteConfirmTitle: '¿Sobrescribir el código existente?', + instructionPlaceholder: 'Introduzca una descripción detallada del código que desea generar.', + applyChanges: 'Aplicar cambios', + }, + generate: { + template: { + pythonDebugger: { + name: 'Depurador de Python', + instruction: 'Un bot que puede generar y depurar el código en función de las instrucciones', + }, + translation: { + instruction: 'Un traductor que puede traducir varios idiomas', + name: 'Traducción', + }, + professionalAnalyst: { + instruction: 'Extraiga información, identifique riesgos y extraiga información clave de informes largos en un solo memorándum', + name: 'Analista profesional', + }, + excelFormulaExpert: { + name: 'Experto en fórmulas de Excel', + instruction: 'Un chatbot que puede ayudar a los usuarios novatos a comprender, usar y crear fórmulas de Excel basadas en las instrucciones del usuario', + }, + travelPlanning: { + instruction: 'El Asistente de planificación de viajes es una herramienta inteligente diseñada para ayudar a los usuarios a planificar sus viajes sin esfuerzo', + name: 'Planificación de viajes', + }, + SQLSorcerer: { + instruction: 'Transforme el lenguaje cotidiano en consultas SQL', + name: 'Hechicero SQL', + }, + GitGud: { + name: 'Git gud', + instruction: 'Generar comandos de Git adecuados basados en acciones de control de versiones descritas por el usuario', + }, + meetingTakeaways: { + name: 'Conclusiones de la reunión', + instruction: 'Destilar las reuniones en resúmenes concisos que incluyan temas de discusión, conclusiones clave y elementos de acción', + }, + writingsPolisher: { + name: 'Pulidora de escritura', + instruction: 'Utiliza técnicas avanzadas de corrección de textos para mejorar tus escritos', + }, + }, + apply: 'Aplicar', + instruction: 'Instrucciones', + noDataLine2: 'La vista previa de orquestación se mostrará aquí.', + description: 'El generador de mensajes utiliza el modelo configurado para optimizar los mensajes para una mayor calidad y una mejor estructura. Escriba instrucciones claras y detalladas.', + generate: 'Generar', + title: 'Generador de avisos', + tryIt: 'Pruébalo', + overwriteMessage: 'La aplicación de este mensaje anulará la configuración existente.', + resTitle: 'Mensaje generado', + noDataLine1: 'Describa su caso de uso a la izquierda,', + overwriteTitle: '¿Anular la configuración existente?', + loading: 'Orquestando la aplicación para usted...', + instructionPlaceHolder: 'Escriba instrucciones claras y específicas.', + }, + warningMessage: { + timeoutExceeded: 'Los resultados no se muestran debido al tiempo de espera. Consulte los registros para obtener resultados completos.', + }, + noResult: 'La salida se mostrará aquí.', } export default translation diff --git a/web/i18n/fa-IR/app-debug.ts b/web/i18n/fa-IR/app-debug.ts index 5efbb9421..333fb6862 100644 --- a/web/i18n/fa-IR/app-debug.ts +++ b/web/i18n/fa-IR/app-debug.ts @@ -197,6 +197,7 @@ const translation = { after: '', }, }, + contentEnableLabel: 'محتوای متوسط فعال شده است', }, generate: { title: 'تولید کننده دستورالعمل', @@ -478,6 +479,291 @@ const translation = { description: 'فعال‌سازی صوت به مدل اجازه می‌دهد فایل‌های صوتی را برای رونویسی و تجزیه و تحلیل پردازش کند.', }, }, + codegen: { + apply: 'درخواست', + resTitle: 'کد تولید شده', + generate: 'تولید', + loading: 'تولید کد...', + applyChanges: 'اعمال تغییرات', + generatedCodeTitle: 'کد تولید شده', + title: 'ژنراتور کد', + instruction: 'دستورالعمل', + instructionPlaceholder: 'توضیحات دقیق کدی را که می خواهید تولید کنید وارد کنید.', + overwriteConfirmMessage: 'این عمل کد موجود را بازنویسی می کند. آیا می خواهید ادامه دهید؟', + overwriteConfirmTitle: 'کد موجود را بازنویسی کنید؟', + noDataLine2: 'پیش نمایش کد در اینجا نشان داده می شود.', + noDataLine1: 'مورد استفاده خود را در سمت چپ شرح دهید،', + description: 'Code Generator از مدل های پیکربندی شده برای تولید کد با کیفیت بالا بر اساس دستورالعمل های شما استفاده می کند. لطفا دستورالعمل های واضح و دقیق ارائه دهید.', + }, + generate: { + template: { + pythonDebugger: { + name: 'اشکال زدایی پایتون', + instruction: 'رباتی که می تواند کد شما را بر اساس دستورالعمل شما تولید و اشکال زدایی کند', + }, + translation: { + name: 'ترجمه', + instruction: 'مترجمی که می تواند چندین زبان را ترجمه کند', + }, + professionalAnalyst: { + name: 'تحلیلگر حرفه ای', + instruction: 'استخراج بینش، شناسایی ریسک و تقطیر اطلاعات کلیدی از گزارش های طولانی در یک یادداشت', + }, + excelFormulaExpert: { + name: 'کارشناس فرمول اکسل', + instruction: 'یک ربات چت که می تواند به کاربران تازه کار کمک کند تا فرمول های اکسل را بر اساس دستورالعمل های کاربر درک، استفاده و ایجاد کنند', + }, + travelPlanning: { + name: 'برنامه ریزی سفر', + instruction: 'دستیار برنامه ریزی سفر ابزاری هوشمند است که برای کمک به کاربران در برنامه ریزی بدون زحمت سفرهای خود طراحی شده است', + }, + SQLSorcerer: { + name: 'جادوگر SQL', + instruction: 'تبدیل زبان روزمره به کوئری های SQL', + }, + GitGud: { + name: 'گیت گود', + instruction: 'فرمان های Git مناسب را بر اساس اکشن های کنترل نسخه توصیف شده توسط کاربر ایجاد کنید', + }, + meetingTakeaways: { + name: 'نکات مهم جلسه', + instruction: 'جلسات را به خلاصه های مختصر از جمله موضوعات بحث، نکات کلیدی و موارد اقدام تقطیر کنید', + }, + writingsPolisher: { + name: 'پولیش نوشتن', + instruction: 'از تکنیک های پیشرفته ویرایش کپی برای بهبود نوشته های خود استفاده کنید', + }, + }, + title: 'ژنراتور سریع', + resTitle: 'اعلان تولید شده', + overwriteTitle: 'پیکربندی موجود را لغو کنید؟', + generate: 'تولید', + noDataLine1: 'مورد استفاده خود را در سمت چپ شرح دهید،', + apply: 'درخواست', + instruction: 'دستورالعمل', + overwriteMessage: 'اعمال این اعلان پیکربندی موجود را لغو می کند.', + instructionPlaceHolder: 'دستورالعمل های واضح و مشخص بنویسید.', + tryIt: 'آن را امتحان کنید', + noDataLine2: 'پیش نمایش ارکستراسیون در اینجا نشان داده می شود.', + loading: 'هماهنگ کردن برنامه برای شما...', + description: 'Prompt Generator از مدل پیکربندی شده برای بهینه سازی درخواست ها برای کیفیت بالاتر و ساختار بهتر استفاده می کند. لطفا دستورالعمل های واضح و دقیق بنویسید.', + }, + resetConfig: { + title: 'بازنشانی را تأیید کنید؟', + message: 'بازنشانی تغییرات را دور می اندازد و آخرین پیکربندی منتشر شده را بازیابی می کند.', + }, + errorMessage: { + notSelectModel: 'لطفا یک مدل را انتخاب کنید', + waitForResponse: 'لطفا منتظر بمانید تا پاسخ به پیام قبلی کامل شود.', + queryRequired: 'درخواست متن الزامی است.', + waitForFileUpload: 'لطفا منتظر بمانید تا فایل/فایل ها آپلود شوند', + waitForImgUpload: 'لطفا منتظر بمانید تا تصویر آپلود شود', + waitForBatchResponse: 'لطفا منتظر بمانید تا پاسخ به کار دسته ای تکمیل شود.', + }, + warningMessage: { + timeoutExceeded: 'نتایج به دلیل مهلت زمانی نمایش داده نمی شوند. لطفا برای جمع آوری نتایج کامل به گزارش ها مراجعه کنید.', + }, + variableTable: { + key: 'کلید متغیر', + typeSelect: 'انتخاب', + action: 'اقدامات', + typeString: 'رشته', + name: 'نام فیلد ورودی کاربر', + type: 'نوع ورودی', + optional: 'اختیاری', + }, + varKeyError: {}, + otherError: { + promptNoBeEmpty: 'اعلان نمی تواند خالی باشد', + historyNoBeEmpty: 'سابقه مکالمه باید در اعلان تنظیم شود', + queryNoBeEmpty: 'پرس و جو باید در اعلان تنظیم شود', + }, + variableConfig: { + 'file': { + image: { + name: 'تصویر', + }, + audio: { + name: 'صوتی', + }, + document: { + name: 'سند', + }, + video: { + name: 'ویدئو', + }, + custom: { + name: 'انواع فایل های دیگر', + createPlaceholder: ' پسوند فایل، به عنوان مثال .doc', + description: 'انواع فایل های دیگر را مشخص کنید.', + }, + supportFileTypes: 'انواع فایل های پشتیبانی', + }, + 'errorMsg': { + optionRepeat: 'دارای گزینه های تکرار', + varNameCanBeRepeat: 'نام متغیر را نمی توان تکرار کرد', + labelNameRequired: 'نام برچسب الزامی است', + atLeastOneOption: 'حداقل یک گزینه مورد نیاز است', + }, + 'number': 'شماره', + 'hide': 'مخفی کردن', + 'both': 'هر دو', + 'single-file': 'تک فایل', + 'select': 'انتخاب', + 'inputPlaceholder': 'لطفا وارد کنید', + 'editModalTitle': 'ویرایش فیلد ورودی', + 'paragraph': 'پاراگراف', + 'fieldType': 'نوع فیلد', + 'maxLength': 'حداکثر طول', + 'varName': 'نام متغیر', + 'maxNumberOfUploads': 'حداکثر تعداد آپلود', + 'noDefaultValue': 'بدون مقدار پیش فرض', + 'addOption': 'افزودن گزینه', + 'stringTitle': 'گزینه های جعبه متن فرم', + 'options': 'گزینه', + 'selectDefaultValue': 'مقدار پیش فرض را انتخاب کنید', + 'content': 'محتوای', + 'multi-files': 'لیست فایل ها', + 'labelName': 'نام برچسب', + 'defaultValue': 'مقدار پیش فرض', + 'required': 'مورد نیاز', + 'uploadFileTypes': 'آپلود انواع فایل', + 'apiBasedVar': 'متغیر مبتنی بر API', + 'addModalTitle': 'افزودن فیلد ورودی', + 'string': 'متن کوتاه', + 'text-input': 'متن کوتاه', + 'localUpload': 'آپلود محلی', + }, + vision: { + visionSettings: { + url: 'آدرس', + high: 'بالا', + low: 'کم', + resolution: 'وضوح', + uploadLimit: 'محدودیت آپلود', + uploadMethod: 'روش آپلود', + localUpload: 'آپلود محلی', + title: 'تنظیمات بینایی', + both: 'هر دو', + }, + settings: 'تنظیمات', + name: 'چشم انداز', + onlySupportVisionModelTip: 'فقط از مدل های بینایی پشتیبانی می کند', + description: 'Enable Vision به مدل اجازه می دهد تا تصاویر را بگیرد و به سؤالات مربوط به آنها پاسخ دهد.', + }, + voice: { + voiceSettings: { + voice: 'صوتی', + autoPlayEnabled: 'در', + autoPlayDisabled: 'خاموش', + language: 'زبان', + title: 'تنظیمات صدا', + resolutionTooltip: 'زبان پشتیبانی از صدای متن به گفتار。', + autoPlay: 'پخش خودکار', + }, + settings: 'تنظیمات', + name: 'صوتی', + description: 'متن به گفتار به گفتار تنظیمات', + defaultDisplay: 'صدای پیش فرض', + }, + openingStatement: { + tooShort: 'حداقل 20 کلمه درخواست اولیه برای ایجاد یک سخنرانی آغازین برای مکالمه مورد نیاز است.', + writeOpener: 'ویرایش بازکن', + add: 'اضافه کردن', + title: 'افتتاحیه مکالمه', + openingQuestion: 'سوالات آغازین', + noDataPlaceHolder: 'شروع مکالمه با کاربر می تواند به هوش مصنوعی کمک کند تا در برنامه های مکالمه ارتباط نزدیک تری با آنها برقرار کند.', + }, + modelConfig: { + modeType: { + chat: 'چت', + completion: 'کامل', + }, + model: 'مدل', + title: 'مدل و پارامترها', + setTone: 'لحن پاسخ ها را تنظیم کنید', + }, + inputs: { + run: 'اجرا', + queryTitle: 'محتوای پرس و جو', + userInputField: 'فیلد ورودی کاربر', + previewTitle: 'پیش نمایش سریع', + title: 'اشکال زدایی و پیش نمایش', + queryPlaceholder: 'لطفا متن درخواست را وارد کنید.', + noPrompt: 'سعی کنید مقداری اعلان در ورودی پیش از اعلان بنویسید', + completionVarTip: 'مقدار متغیر را پر کنید، که هر بار که سوالی ارسال می شود، به طور خودکار در کلمات سریع جایگزین می شود.', + chatVarTip: 'مقدار متغیر را پر کنید، که هر بار که یک جلسه جدید شروع می شود، به طور خودکار در کلمه prompt جایگزین می شود', + noVar: 'مقدار متغیر را پر کنید، که هر بار که یک جلسه جدید شروع می شود، به طور خودکار در کلمه prompt جایگزین می شود.', + }, + datasetConfig: { + retrieveOneWay: { + title: 'بازیابی N-to-1', + description: 'بر اساس هدف کاربر و توضیحات دانش، عامل به طور مستقل بهترین دانش را برای پرس و جو انتخاب می کند. بهترین برای برنامه های کاربردی با دانش متمایز و محدود.', + }, + retrieveMultiWay: { + title: 'بازیابی چند مسیری', + description: 'بر اساس هدف کاربر، پرس و جوها را در تمام دانش انجام می دهد، متن مربوطه را از چند منبع بازیابی می کند و پس از رتبه بندی مجدد، بهترین نتایج را مطابق با پرس و جو کاربر انتخاب می کند.', + }, + top_k: 'K بالا', + knowledgeTip: 'برای افزودن دانش روی دکمه " کلیک کنید', + score_threshold: 'آستانه امتیاز', + settingTitle: 'تنظیمات بازیابی', + params: 'پارام ها', + embeddingModelRequired: 'یک مدل تعبیه پیکربندی شده مورد نیاز است', + rerankModelRequired: 'یک مدل Rerank پیکربندی شده مورد نیاز است', + score_thresholdTip: 'برای تنظیم آستانه شباهت برای فیلتر کردن تکه ها استفاده می شود.', + top_kTip: 'برای فیلتر کردن تکه هایی که بیشتر شبیه به سؤالات کاربر هستند استفاده می شود. این سیستم همچنین با توجه به max_tokens مدل انتخاب شده، مقدار Top K را به صورت پویا تنظیم می کند.', + retrieveChangeTip: 'اصلاح حالت نمایه و حالت بازیابی ممکن است بر کاربردهای مرتبط با این دانش تأثیر بگذارد.', + }, + assistantType: { + chatAssistant: { + description: 'ساخت یک دستیار مبتنی بر چت با استفاده از یک مدل زبان بزرگ', + name: 'دستیار پایه', + }, + agentAssistant: { + description: 'یک عامل هوشمند بسازید که بتواند به طور مستقل ابزارهایی را برای تکمیل تسک ها انتخاب کند.', + name: 'دستیار نماینده', + }, + name: 'نوع دستیار', + }, + agent: { + agentModeType: { + functionCall: 'فراخوانی تابع', + ReACT: 'واکنش', + }, + setting: { + maximumIterations: { + name: 'حداکثر تکرارها', + description: 'تعداد تکرارهایی را که یک دستیار عامل می تواند اجرا کند محدود کنید', + }, + name: 'تنظیمات نماینده', + description: 'تنظیمات Agent Assistant امکان تنظیم حالت عامل و ویژگی های پیشرفته مانند اعلان های داخلی را فراهم می کند که فقط در نوع Agent موجود است.', + }, + tools: { + enabled: 'فعال', + name: 'ابزار', + description: 'استفاده از ابزارها می تواند قابلیت های LLM مانند جستجو در اینترنت یا انجام محاسبات علمی را گسترش دهد', + }, + agentMode: 'حالت عامل', + nextIteration: 'تکرار بعدی', + promptPlaceholder: 'درخواست خود را اینجا بنویسید', + agentModeDes: 'نوع حالت استنتاج را برای عامل تنظیم کنید', + buildInPrompt: 'اعلان داخلی', + firstPrompt: 'اولین اعلان', + }, + result: 'متن خروجی', + completionSubTitle: 'اعلان پیشوند', + variableTitle: 'متغیرهای', + formattingChangedTitle: 'قالب بندی تغییر کرد', + chatSubTitle: 'دستورالعمل', + debugAsSingleModel: 'اشکال زدایی به عنوان مدل واحد', + publishAs: 'انتشار به عنوان', + duplicateModel: 'تکراری', + noResult: 'خروجی در اینجا نمایش داده می شود.', + debugAsMultipleModel: 'اشکال زدایی به عنوان چندین مدل', + formattingChangedText: 'با تغییر قالب بندی، ناحیه اشکال زدایی بازنشانی می شود، مطمئن هستید؟', + variableTip: 'کاربران متغیرها را در یک فرم پر می کنند و به طور خودکار متغیرها را در اعلان جایگزین می کنند.', + autoAddVar: 'متغیرهای تعریف نشده که در پیش اعلان ارجاع داده شده اند، آیا می خواهید آنها را به صورت ورودی کاربر اضافه کنید؟', } export default translation diff --git a/web/i18n/fr-FR/app-debug.ts b/web/i18n/fr-FR/app-debug.ts index 78294fbd8..910113074 100644 --- a/web/i18n/fr-FR/app-debug.ts +++ b/web/i18n/fr-FR/app-debug.ts @@ -197,6 +197,7 @@ const translation = { after: 'Sorry, but you didn\'t provide a text to translate. Could you please provide the text?', }, }, + contentEnableLabel: 'Activation du contenu modéré', }, fileUpload: { title: 'Téléchargement de fichier', @@ -241,6 +242,7 @@ const translation = { 'Veuillez attendre que la réponse à la tâche en lot soit terminée.', notSelectModel: 'Veuillez choisir un modèle', waitForImgUpload: 'Veuillez attendre que l\'image soit téléchargée', + waitForFileUpload: 'Veuillez patienter jusqu’à ce que le(s) fichier(s) soit/les fichiers à télécharger', }, chatSubTitle: 'Instructions', completionSubTitle: 'Indicatif de Prompt', @@ -305,6 +307,33 @@ const translation = { 'defaultValue': 'Valeur par défaut', 'noDefaultValue': 'Aucune valeur par défaut', 'selectDefaultValue': 'Sélectionner la valeur par défaut', + 'file': { + image: { + name: 'Image', + }, + audio: { + name: 'Audio', + }, + document: { + name: 'Document', + }, + video: { + name: 'Vidéo', + }, + custom: { + description: 'Spécifiez d’autres types de fichiers.', + name: 'Autres types de fichiers', + createPlaceholder: ' Extension de fichier, par exemple .doc', + }, + supportFileTypes: 'Types de fichiers de support', + }, + 'content': 'Contenu', + 'uploadFileTypes': 'Types de fichiers de téléchargement', + 'multi-files': 'Liste des fichiers', + 'both': 'Les deux', + 'maxNumberOfUploads': 'Nombre maximal de téléchargements', + 'localUpload': 'Téléchargement local', + 'single-file': 'En file indienne', }, vision: { name: 'Vision', @@ -324,6 +353,7 @@ const translation = { url: 'URL', uploadLimit: 'Limite de téléchargement', }, + onlySupportVisionModelTip: 'Ne prend en charge que les modèles de vision', }, voice: { name: 'Voix', @@ -395,6 +425,7 @@ const translation = { score_threshold: 'Seuil de Score', score_thresholdTip: 'Utilisé pour définir le seuil de similarité pour le filtrage des morceaux.', retrieveChangeTip: 'La modification du mode d\'indexation et du mode de récupération peut affecter les applications associées à cette Connaissance.', + embeddingModelRequired: 'Un modèle d’incorporation configuré est requis', }, debugAsSingleModel: 'Déboguer comme Modèle Unique', debugAsMultipleModel: 'Déboguer en tant que Modèles Multiples', @@ -436,6 +467,79 @@ const translation = { enabled: 'Activé', }, }, + codegen: { + noDataLine1: 'Décrivez votre cas d’utilisation sur la gauche,', + instruction: 'Instructions', + generate: 'Générer', + noDataLine2: 'L’aperçu du code s’affichera ici.', + resTitle: 'Code généré', + applyChanges: 'Appliquer les modifications', + overwriteConfirmTitle: 'Écraser le code existant ?', + description: 'Le générateur de code utilise des modèles configurés pour générer un code de haute qualité basé sur vos instructions. Veuillez fournir des instructions claires et détaillées.', + loading: 'Génération de code...', + overwriteConfirmMessage: 'Cette action remplacera le code existant. Voulez-vous continuer ?', + generatedCodeTitle: 'Code généré', + apply: 'Appliquer', + title: 'Générateur de code', + instructionPlaceholder: 'Entrez une description détaillée du code que vous souhaitez générer.', + }, + generate: { + template: { + pythonDebugger: { + name: 'Débogueur Python', + instruction: 'Un bot capable de générer et de déboguer votre code en fonction de vos instructions', + }, + translation: { + name: 'Traduction', + instruction: 'Un traducteur capable de traduire en plusieurs langues', + }, + professionalAnalyst: { + instruction: 'Extrayez des informations, identifiez les risques et distillez les informations clés des rapports longs dans un seul mémo', + name: 'Analyste professionnel', + }, + excelFormulaExpert: { + name: 'Expert en formules Excel', + instruction: 'Un chatbot qui peut aider les utilisateurs novices à comprendre, utiliser et créer des formules Excel basées sur les instructions de l’utilisateur', + }, + travelPlanning: { + instruction: 'L’assistant de planification de voyage est un outil intelligent conçu pour aider les utilisateurs à planifier sans effort leurs voyages', + name: 'Planification de voyage', + }, + SQLSorcerer: { + instruction: 'Transformez le langage quotidien en requêtes SQL', + name: 'Sorcier SQL', + }, + GitGud: { + name: 'Git gud', + instruction: 'Générer des commandes Git appropriées en fonction des actions de contrôle de version décrites par l’utilisateur', + }, + meetingTakeaways: { + name: 'Points à retenir de la réunion', + instruction: 'Distillez les réunions en résumés concis comprenant les sujets de discussion, les points clés à retenir et les actions à prendre', + }, + writingsPolisher: { + name: 'Polisseuse d’écriture', + instruction: 'Utilisez des techniques de révision avancées pour améliorer vos écrits', + }, + }, + instruction: 'Instructions', + generate: 'Générer', + tryIt: 'Essaie', + overwriteTitle: 'Remplacer la configuration existante ?', + noDataLine2: 'L’aperçu de l’orchestration s’affichera ici.', + overwriteMessage: 'L’application de cette invite remplacera la configuration existante.', + noDataLine1: 'Décrivez votre cas d’utilisation sur la gauche,', + instructionPlaceHolder: 'Rédigez des instructions claires et précises.', + title: 'Générateur d’invites', + apply: 'Appliquer', + resTitle: 'Invite générée', + loading: 'Orchestrer l’application pour vous...', + description: 'Le générateur d’invites utilise le modèle configuré pour optimiser les invites afin d’obtenir une meilleure qualité et une meilleure structure. Veuillez rédiger des instructions claires et détaillées.', + }, + warningMessage: { + timeoutExceeded: 'Les résultats ne s’affichent pas en raison d’un délai d’expiration. Veuillez vous référer aux journaux pour rassembler les résultats complets.', + }, + noResult: 'La sortie sera affichée ici.', } export default translation diff --git a/web/i18n/hi-IN/app-debug.ts b/web/i18n/hi-IN/app-debug.ts index ea9b20c50..04b50da9e 100644 --- a/web/i18n/hi-IN/app-debug.ts +++ b/web/i18n/hi-IN/app-debug.ts @@ -213,6 +213,34 @@ const translation = { after: 'में कॉन्फ़िगर किए गए ओपनएआई एपीआई कुंजी की आवश्यकता होती है।', }, }, + contentEnableLabel: 'मध्य स्तर की सामग्री सक्षम की गई', + }, + fileUpload: { + numberLimit: 'मैक्स अपलोड करता है', + title: 'फ़ाइल अपलोड', + modalTitle: 'फ़ाइल अपलोड सेटिंग', + description: 'चैट इनपुट बॉक्स छवियों, दस्तावेजों और अन्य फ़ाइलों को अपलोड करने की अनुमति देता है।', + supportedTypes: 'फ़ाइल प्रकारों का समर्थन करें', + }, + imageUpload: { + supportedTypes: 'फ़ाइल प्रकारों का समर्थन करें', + modalTitle: 'छवि अपलोड सेटिंग', + title: 'छवि अपलोड', + description: 'छवियों को अपलोड करने की अनुमति दें।', + numberLimit: 'मैक्स अपलोड करता है', + }, + bar: { + manage: 'प्रबंधित करें', + enableText: 'विशेषताएँ सक्षम हैं', + empty: 'वेब ऐप उपयोगकर्ता अनुभव को बढ़ाने के लिए फ़ीचर सक्षम करें', + }, + documentUpload: { + title: 'दस्तावेज़', + description: 'डॉक्यूमेंट सक्षम करने से मॉडल को दस्तावेज़ प्राप्त करने और उनके बारे में प्रश्नों का उत्तर देने की अनुमति मिलेगी।', + }, + audioUpload: { + title: 'ऑडियो', + description: 'ऑडियो सक्षम करने से मॉडल को ऑडियो फ़ाइलों के ट्रांसक्रिप्शन और विश्लेषण के लिए प्रोसेस करने की अनुमति मिलेगी।', }, }, automatic: { @@ -251,6 +279,7 @@ const translation = { 'कृपया बैच कार्य की प्रतिक्रिया पूरी होने तक प्रतीक्षा करें।', notSelectModel: 'कृपया एक मॉडल चुनें', waitForImgUpload: 'कृपया छवि अपलोड होने तक प्रतीक्षा करें', + waitForFileUpload: 'कृपया फ़ाइल/फ़ाइलें अपलोड होने का इंतज़ार करें', }, chatSubTitle: 'निर्देश', completionSubTitle: 'प्रारंभिक प्रॉम्प्ट', @@ -322,6 +351,30 @@ const translation = { 'defaultValue': 'डिफ़ॉल्ट मान', 'noDefaultValue': 'कोई डिफ़ॉल्ट मान नहीं', 'selectDefaultValue': 'डिफ़ॉल्ट मान चुनें', + 'file': { + image: { + name: 'छवि', + }, + audio: { + name: 'ऑडियो', + }, + document: {}, + video: { + name: 'वीडियो', + }, + custom: { + description: 'अन्य फ़ाइल प्रकार निर्दिष्ट करें।', + name: 'अन्य फ़ाइल प्रकार', + createPlaceholder: 'फ़ाइल एक्सटेंशन, जैसे .doc', + }, + supportFileTypes: 'फ़ाइल प्रकारों का समर्थन करें', + }, + 'both': 'दोनों', + 'multi-files': 'फ़ाइल सूची', + 'single-file': 'एकल फ़ाइल', + 'maxNumberOfUploads': 'अधिकतम अपलोड संख्या', + 'uploadFileTypes': 'फ़ाइल प्रकार अपलोड करें', + 'localUpload': 'स्थानीय अपलोड', }, vision: { name: 'विजन', @@ -341,6 +394,7 @@ const translation = { url: 'यूआरएल', uploadLimit: 'अपलोड सीमा', }, + onlySupportVisionModelTip: 'केवल दृष्टि मॉडल का समर्थन करता है', }, voice: { name: 'वॉयस', @@ -423,6 +477,7 @@ const translation = { 'खंडों को फ़िल्टर करने के लिए समानता थ्रेशोल्ड सेट करने के लिए उपयोग किया जाता है।', retrieveChangeTip: 'सूचकांक मोड और पुनःप्राप्ति मोड को संशोधित करने से इस ज्ञान से जुड़े अनुप्रयोग प्रभावित हो सकते हैं।', + embeddingModelRequired: 'एक कॉन्फ़िगर किया गया एंबेडिंग मॉडल आवश्यक है', }, debugAsSingleModel: 'एकल मॉडल के रूप में डिबग करें', debugAsMultipleModel: 'एकाधिक मॉडलों के रूप में डिबग करें', @@ -495,6 +550,79 @@ const translation = { description: 'ऑडियो सक्षम करने से मॉडल ट्रांसक्रिप्शन और विश्लेषण के लिए ऑडियो फ़ाइलों को प्रोसेस कर सकेगा।', }, }, + codegen: { + title: 'कोड जनरेटर', + loading: 'कोड उत्पन्न कर रहा हूँ...', + noDataLine1: 'बाईं ओर अपने उपयोग के मामले का वर्णन करें,', + apply: 'अनुप्रयोग करें', + generate: 'जनरेट करें', + instruction: 'अनुदेश', + overwriteConfirmTitle: 'मौजूदा कोड को ओवरराइट करें?', + resTitle: 'जनरेटेड कोड', + applyChanges: 'परिवर्तन लागू करें', + noDataLine2: 'कोड पूर्वावलोकन यहाँ दिखाई देगा।', + generatedCodeTitle: 'जनरेटेड कोड', + overwriteConfirmMessage: 'यह क्रिया मौजूदा कोड को ओवरराइट कर देगी। क्या आप जारी रखना चाहते हैं?', + instructionPlaceholder: 'आप जिस कोड का निर्माण करना चाहते हैं उसका विस्तृत विवरण प्रदान करें।', + description: 'कोड जनरेटर आपके निर्देशों के आधार पर उच्च गुणवत्ता वाली कोड उत्पन्न करने के लिए कॉन्फ़िगर किए गए मॉडलों का उपयोग करता है। कृपया स्पष्ट और विस्तृत निर्देश प्रदान करें।', + }, + generate: { + template: { + pythonDebugger: { + name: 'पाइथन डिबगर', + instruction: 'एक बॉट जो आपके निर्देशों के आधार पर आपका कोड उत्पन्न और डिबग कर सकता है।', + }, + translation: { + name: 'अनुवाद', + instruction: 'एक अनुवादक जो कई भाषाओं का अनुवाद कर सकता है', + }, + professionalAnalyst: { + name: 'पेशेवर विश्लेषक', + instruction: 'दीर्घ रिपोर्ट से अंतर्दृष्टियाँ निकालें, जोखिम की पहचान करें और प्रमुख जानकारी को एकल ज्ञापन में संक्षेपित करें।', + }, + excelFormulaExpert: { + name: 'एक्सेल फॉर्मूला विशेषज्ञ', + instruction: 'एक चैटबॉट जो नए उपयोगकर्ताओं की मदद कर सकता है कि वे कैसे समझें, उपयोग करें और उपयोगकर्ता के निर्देशों के आधार पर Excel फॉर्मूले बनाएं।', + }, + travelPlanning: { + name: 'यात्रा की योजना बनाना', + instruction: 'यात्रा नियोजन सहायक एक बुद्धिमान उपकरण है जिसे उपयोगकर्ताओं को बिना किसी परेशानी के अपने यात्रा की योजना बनाने में मदद करने के लिए डिज़ाइन किया गया है', + }, + SQLSorcerer: { + instruction: 'प्रति दिन की भाषा को SQL क्वेरियों में बदलें', + name: 'SQL जादूगर', + }, + GitGud: { + name: 'अच्छा खेलो', + instruction: 'उपयोगकर्ता द्वारा वर्णित संस्करण नियंत्रण क्रियाओं के आधार पर उचित Git कमांड उत्पन्न करें', + }, + meetingTakeaways: { + name: 'बैठक के निष्कर्ष', + instruction: 'बैठकों को संक्षिप्त सारांशों में डिस्टिल करें, जिसमें चर्चा के विषय, मुख्य निष्कर्ष और कार्य के बिंदु शामिल हों।', + }, + writingsPolisher: { + name: 'लेखन पालिशर', + instruction: 'अपनी लेखन को सुधारने के लिए उन्नत संपादन तकनीकों का उपयोग करें', + }, + }, + tryIt: 'इसे आजमाओ', + generate: 'जनरेट करें', + instructionPlaceHolder: 'स्पष्ट और विशेष निर्देश लिखें।', + title: 'प्रॉम्प्ट जनरेटर', + apply: 'अनुप्रयोग करें', + noDataLine1: 'बाईं ओर अपने उपयोग केस का वर्णन करें,', + instruction: 'अनुदेश', + loading: 'आपके लिए एप्लिकेशन का आयोजन कर रहे हैं...', + overwriteTitle: 'मौजूदा कॉन्फ़िगरेशन को अधिलेखित करें?', + noDataLine2: 'यहाँ सम्प्रेषण पूर्वावलोकन दिखाया जाएगा।', + resTitle: 'जनित प्रॉम्प्ट', + overwriteMessage: 'इस प्रॉम्प्ट को लागू करने से मौजूदा कॉन्फ़िगरेशन को ओवरराइड कर दिया जाएगा।', + description: 'प्रॉम्प्ट जेनरेटर उच्च गुणवत्ता और बेहतर संरचना के लिए प्रॉम्प्ट्स को ऑप्टिमाइज़ करने के लिए कॉन्फ़िगर किए गए मॉडल का उपयोग करता है। कृपया स्पष्ट और विस्तृत निर्देश लिखें।', + }, + warningMessage: { + timeoutExceeded: 'परिणाम टाइमआउट के कारण प्रदर्शित नहीं किए गए हैं। कृपया संपूर्ण परिणामों को इकट्ठा करने के लिए लॉग्स का संदर्भ लें।', + }, + noResult: 'प्रदर्शन यहाँ होगा।', } export default translation diff --git a/web/i18n/it-IT/app-debug.ts b/web/i18n/it-IT/app-debug.ts index f79cccf6e..9344c8897 100644 --- a/web/i18n/it-IT/app-debug.ts +++ b/web/i18n/it-IT/app-debug.ts @@ -215,6 +215,7 @@ const translation = { after: '', }, }, + contentEnableLabel: 'Abilitato il contenuto moderato', }, fileUpload: { title: 'Caricamento File', @@ -280,6 +281,7 @@ const translation = { 'Per favore attendi che la risposta all\'attività batch sia completata.', notSelectModel: 'Per favore scegli un modello', waitForImgUpload: 'Per favore attendi il caricamento dell\'immagine', + waitForFileUpload: 'Attendi il caricamento del file o dei file', }, chatSubTitle: 'Istruzioni', completionSubTitle: 'Prompt di prefisso', @@ -351,6 +353,32 @@ const translation = { 'defaultValue': 'Valore predefinito', 'noDefaultValue': 'Nessun valore predefinito', 'selectDefaultValue': 'Seleziona valore predefinito', + 'file': { + image: { + name: 'Immagine', + }, + audio: { + name: 'Audio', + }, + document: { + name: 'Documento', + }, + video: { + name: 'Video', + }, + custom: { + createPlaceholder: ' Estensione del file, ad esempio .doc', + description: 'Specificare altri tipi di file.', + name: 'Altri tipi di file', + }, + supportFileTypes: 'Tipi di file di supporto', + }, + 'single-file': 'File singolo', + 'uploadFileTypes': 'Caricare i tipi di file', + 'maxNumberOfUploads': 'Numero massimo di caricamenti', + 'multi-files': 'Elenco file', + 'both': 'Ambedue', + 'localUpload': 'Caricamento locale', }, vision: { name: 'Visione', @@ -371,6 +399,7 @@ const translation = { url: 'URL', uploadLimit: 'Limite di caricamento', }, + onlySupportVisionModelTip: 'Supporta solo i modelli di visione', }, voice: { name: 'Voce', @@ -451,6 +480,7 @@ const translation = { 'Usato per impostare la soglia di somiglianza per il filtraggio dei chunk.', retrieveChangeTip: 'Modificare la modalità di indicizzazione e la modalità di recupero può influenzare le applicazioni associate a questa Conoscenza.', + embeddingModelRequired: 'È necessario un modello di incorporamento configurato', }, debugAsSingleModel: 'Debug come modello singolo', debugAsMultipleModel: 'Debug come modelli multipli', @@ -497,6 +527,79 @@ const translation = { enabled: 'Abilitato', }, }, + codegen: { + noDataLine1: 'Descrivi il tuo caso d\'uso a sinistra,', + noDataLine2: 'L\'anteprima del codice verrà mostrata qui.', + generate: 'Generare', + resTitle: 'Codice generato', + overwriteConfirmTitle: 'Sovrascrivere il codice esistente?', + applyChanges: 'Applica modifiche', + title: 'Generatore di codice', + overwriteConfirmMessage: 'Questa azione sovrascriverà il codice esistente. Vuoi continuare?', + description: 'Il generatore di codice utilizza modelli configurati per generare codice di alta qualità in base alle istruzioni dell\'utente. Si prega di fornire istruzioni chiare e dettagliate.', + instruction: 'Disposizioni', + instructionPlaceholder: 'Inserisci una descrizione dettagliata del codice che desideri generare.', + generatedCodeTitle: 'Codice generato', + loading: 'Generazione del codice...', + apply: 'Applicare', + }, + generate: { + template: { + pythonDebugger: { + instruction: 'Un bot in grado di generare ed eseguire il debug del codice in base alle istruzioni', + name: 'Debugger Python', + }, + translation: { + instruction: 'Un traduttore in grado di tradurre in più lingue', + name: 'Traduzione', + }, + professionalAnalyst: { + name: 'Analista professionista', + instruction: 'Estrai informazioni, identifica i rischi e distilla le informazioni chiave da report lunghi in un unico memo', + }, + excelFormulaExpert: { + name: 'Esperto di formule per Excel', + instruction: 'Un chatbot che può aiutare gli utenti inesperti a comprendere, utilizzare e creare formule Excel basate sulle istruzioni dell\'utente', + }, + travelPlanning: { + name: 'Pianificazione del viaggio', + instruction: 'Il Travel Planning Assistant è uno strumento intelligente progettato per aiutare gli utenti a pianificare facilmente i loro viaggi', + }, + SQLSorcerer: { + name: 'Stregone SQL', + instruction: 'Trasforma il linguaggio di tutti i giorni in query SQL', + }, + GitGud: { + instruction: 'Generare comandi Git appropriati in base alle azioni di controllo della versione descritte dall\'utente', + name: 'Git gud', + }, + meetingTakeaways: { + name: 'Conclusioni sulle riunioni', + instruction: 'Distilla le riunioni in riassunti concisi che includono argomenti di discussione, punti chiave e punti d\'azione', + }, + writingsPolisher: { + name: 'Lucidatrice per scrittura', + instruction: 'Usa tecniche avanzate di copyediting per migliorare i tuoi scritti', + }, + }, + instruction: 'Disposizioni', + noDataLine1: 'Descrivi il tuo caso d\'uso a sinistra,', + title: 'Generatore di prompt', + instructionPlaceHolder: 'Scrivi istruzioni chiare e specifiche.', + loading: 'Orchestrare l\'applicazione per te...', + apply: 'Applicare', + overwriteMessage: 'L\'applicazione di questo prompt sovrascriverà la configurazione esistente.', + description: 'Il generatore di prompt utilizza il modello configurato per ottimizzare i prompt per una qualità superiore e una struttura migliore. Si prega di scrivere istruzioni chiare e dettagliate.', + overwriteTitle: 'Sovrascrivere la configurazione esistente?', + resTitle: 'Prompt generato', + generate: 'Generare', + noDataLine2: 'L\'anteprima dell\'orchestrazione verrà visualizzata qui.', + tryIt: 'Provalo', + }, + warningMessage: { + timeoutExceeded: 'I risultati non vengono visualizzati a causa del timeout. Si prega di fare riferimento ai registri per raccogliere risultati completi.', + }, + noResult: 'L\'output verrà visualizzato qui.', } export default translation diff --git a/web/i18n/ko-KR/app-debug.ts b/web/i18n/ko-KR/app-debug.ts index aade904a6..8bf509ae1 100644 --- a/web/i18n/ko-KR/app-debug.ts +++ b/web/i18n/ko-KR/app-debug.ts @@ -197,6 +197,7 @@ const translation = { after: '에 OpenAI API 키가 설정되어 있어야 합니다.', }, }, + contentEnableLabel: '중간 콘텐츠 사용', }, fileUpload: { title: '파일 업로드', @@ -240,6 +241,7 @@ const translation = { waitForBatchResponse: '배치 작업에 대한 응답이 완료될 때까지 기다려 주세요.', notSelectModel: '모델을 선택해 주세요', waitForImgUpload: '이미지 업로드가 완료될 때까지 기다려 주세요', + waitForFileUpload: '파일이 업로드될 때까지 기다리십시오.', }, chatSubTitle: '단계', completionSubTitle: '접두사 프롬프트', @@ -301,6 +303,33 @@ const translation = { 'defaultValue': '기본값', 'noDefaultValue': '기본값 없음', 'selectDefaultValue': '기본값 선택', + 'file': { + image: { + name: '이미지', + }, + audio: { + name: '오디오', + }, + document: { + name: '문서', + }, + video: { + name: '비디오', + }, + custom: { + description: '다른 파일 형식을 지정합니다.', + name: '다른 파일 형식', + createPlaceholder: ' 파일 확장자(예: .doc', + }, + supportFileTypes: '지원 파일 형식', + }, + 'content': '콘텐츠', + 'single-file': '단일 파일', + 'both': '둘다', + 'multi-files': '파일 목록', + 'uploadFileTypes': '파일 형식 업로드', + 'maxNumberOfUploads': '최대 업로드 수', + 'localUpload': '로컬 업로드', }, vision: { name: '비전', @@ -320,6 +349,7 @@ const translation = { url: 'URL', uploadLimit: '업로드 제한', }, + onlySupportVisionModelTip: '비전 모델만 지원', }, voice: { name: '음성', @@ -388,6 +418,7 @@ const translation = { score_threshold: '점수 임계값', score_thresholdTip: '청크 필터링의 유사성 임계값을 설정하는 데 사용됩니다.', retrieveChangeTip: '인덱스 모드 및 리트리벌 모드를 변경하면 이 지식과 관련된 애플리케이션에 영향을 줄 수 있습니다.', + embeddingModelRequired: '구성된 임베딩 모델이 필요합니다.', }, debugAsSingleModel: '단일 모델로 디버그', debugAsMultipleModel: '다중 모델로 디버그', @@ -429,6 +460,79 @@ const translation = { enabled: '활성화됨', }, }, + codegen: { + instruction: '지시', + apply: '적용하다', + generatedCodeTitle: '생성된 코드', + title: '코드 생성기', + applyChanges: '변경 사항 적용', + resTitle: '생성된 코드', + noDataLine1: '왼쪽에 사용 사례를 설명하십시오.', + overwriteConfirmTitle: '기존 코드를 덮어쓰시겠습니까?', + generate: '창조하다', + loading: '코드 생성 중...', + overwriteConfirmMessage: '이 작업은 기존 코드를 덮어씁니다. 계속하시겠습니까?', + noDataLine2: '코드 미리 보기가 여기에 표시됩니다.', + instructionPlaceholder: '생성하려는 코드에 대한 자세한 설명을 입력합니다.', + description: '코드 생성기는 구성된 모델을 사용하여 지시에 따라 고품질 코드를 생성합니다. 명확하고 자세한 지침을 제공하십시오.', + }, + generate: { + template: { + pythonDebugger: { + name: '파이썬 디버거', + instruction: '지시에 따라 코드를 생성하고 디버깅할 수 있는 봇', + }, + translation: { + name: '번역', + instruction: '여러 언어를 번역할 수 있는 번역기', + }, + professionalAnalyst: { + name: '전문 분석가', + instruction: '인사이트를 추출하고, 위험을 식별하고, 긴 보고서에서 주요 정보를 단일 메모로 추출합니다.', + }, + excelFormulaExpert: { + name: 'Excel 수식 전문가', + instruction: '초보 사용자가 사용자 지시에 따라 Excel 수식을 이해, 사용 및 생성할 수 있도록 도와주는 챗봇', + }, + travelPlanning: { + name: '여행 계획', + instruction: '여행 계획 도우미는 사용자가 쉽게 여행을 계획할 수 있도록 설계된 지능형 도구입니다', + }, + SQLSorcerer: { + name: 'SQL 마법사', + instruction: '일상적인 언어를 SQL 쿼리로 변환', + }, + GitGud: { + name: '깃구드', + instruction: '사용자가 설명한 버전 제어 작업을 기반으로 적절한 Git 명령 생성', + }, + meetingTakeaways: { + name: '회의 요점', + instruction: '회의를 토론 주제, 핵심 내용 및 실행 항목을 포함한 간결한 요약으로 추출합니다.', + }, + writingsPolisher: { + name: '글쓰기 폴리셔', + instruction: '고급 카피에디팅 기술을 사용하여 글쓰기 향상', + }, + }, + apply: '적용하다', + instruction: '지시', + resTitle: '생성된 프롬프트', + generate: '창조하다', + tryIt: '사용해 보기', + title: '프롬프트 생성기', + overwriteTitle: '기존 구성을 재정의하시겠습니까?', + loading: '응용 프로그램 오케스트레이션...', + instructionPlaceHolder: '명확하고 구체적인 지침을 작성하십시오.', + noDataLine2: '오케스트레이션 미리 보기가 여기에 표시됩니다.', + overwriteMessage: '이 프롬프트를 적용하면 기존 구성이 재정의됩니다.', + noDataLine1: '왼쪽에 사용 사례를 설명하십시오.', + description: '프롬프트 생성기는 구성된 모델을 사용하여 더 높은 품질과 더 나은 구조를 위해 프롬프트를 최적화합니다. 명확하고 상세한 지침을 작성하십시오.', + }, + warningMessage: { + timeoutExceeded: '시간 초과로 인해 결과가 표시되지 않습니다. 전체 결과를 수집하려면 로그를 참조하십시오.', + }, + noResult: '출력이 여기에 표시됩니다.', } export default translation diff --git a/web/i18n/pl-PL/app-debug.ts b/web/i18n/pl-PL/app-debug.ts index 06e271fbb..7e20b2d7e 100644 --- a/web/i18n/pl-PL/app-debug.ts +++ b/web/i18n/pl-PL/app-debug.ts @@ -213,6 +213,7 @@ const translation = { after: '', }, }, + contentEnableLabel: 'Włączono moderowanie treści', }, fileUpload: { title: 'Przesyłanie plików', @@ -277,6 +278,7 @@ const translation = { waitForBatchResponse: 'Proszę czekać na odpowiedź na zadanie wsadowe.', notSelectModel: 'Proszę wybrać model', waitForImgUpload: 'Proszę czekać na przesłanie obrazu', + waitForFileUpload: 'Poczekaj na przesłanie pliku/plików', }, chatSubTitle: 'Instrukcje', completionSubTitle: 'Prefix Monitu', @@ -346,6 +348,33 @@ const translation = { 'defaultValue': 'Wartość domyślna', 'noDefaultValue': 'Brak wartości domyślnej', 'selectDefaultValue': 'Wybierz wartość domyślną', + 'file': { + image: { + name: 'Obraz', + }, + audio: { + name: 'Dźwięk', + }, + document: { + name: 'Dokument', + }, + video: { + name: 'Wideo', + }, + custom: { + description: 'Określ inne typy plików.', + createPlaceholder: ' Rozszerzenie pliku, np. .doc', + name: 'Inne typy plików', + }, + supportFileTypes: 'Obsługa typów plików', + }, + 'both': 'Obie', + 'localUpload': 'Przesyłanie lokalne', + 'uploadFileTypes': 'Typy przesyłanych plików', + 'maxNumberOfUploads': 'Maksymalna liczba przesyłanych plików', + 'single-file': 'Pojedynczy plik', + 'content': 'Zawartość', + 'multi-files': 'Lista plików', }, vision: { name: 'Wizja', @@ -366,6 +395,7 @@ const translation = { url: 'URL', uploadLimit: 'Limit przesyłania', }, + onlySupportVisionModelTip: 'Obsługuje tylko modele wizyjne', }, voice: { name: 'Głos', @@ -446,6 +476,7 @@ const translation = { 'Używany do ustawienia progu podobieństwa dla filtrowania fragmentów.', retrieveChangeTip: 'Modyfikacja trybu indeksowania i odzyskiwania może wpłynąć na aplikacje powiązane z tą Wiedzą.', + embeddingModelRequired: 'Wymagany jest skonfigurowany model osadzania', }, debugAsSingleModel: 'Debuguj jako pojedynczy model', debugAsMultipleModel: 'Debuguj jako wiele modeli', @@ -492,6 +523,79 @@ const translation = { enabled: 'Włączone', }, }, + codegen: { + generate: 'Stworzyć', + applyChanges: 'Stosowanie zmian', + loading: 'Generowanie kodu...', + generatedCodeTitle: 'Wygenerowany kod', + description: 'Generator kodów używa skonfigurowanych modeli do generowania wysokiej jakości kodu na podstawie Twoich instrukcji. Podaj jasne i szczegółowe instrukcje.', + resTitle: 'Wygenerowany kod', + title: 'Generator kodów', + overwriteConfirmMessage: 'Ta akcja spowoduje zastąpienie istniejącego kodu. Czy chcesz kontynuować?', + instruction: 'Instrukcje', + apply: 'Zastosować', + instructionPlaceholder: 'Wprowadź szczegółowy opis kodu, który chcesz wygenerować.', + noDataLine2: 'W tym miejscu zostanie wyświetlony podgląd kodu.', + noDataLine1: 'Opisz swój przypadek użycia po lewej stronie,', + overwriteConfirmTitle: 'Nadpisać istniejący kod?', + }, + generate: { + template: { + pythonDebugger: { + name: 'Debuger języka Python', + instruction: 'Bot, który może generować i debugować kod na podstawie instrukcji', + }, + translation: { + name: 'Tłumaczenie', + instruction: 'Tłumacz, który może tłumaczyć wiele języków', + }, + professionalAnalyst: { + instruction: 'Wyodrębniaj szczegółowe informacje, identyfikuj ryzyko i destyluj kluczowe informacje z długich raportów w jednej notatce', + name: 'Zawodowy analityk', + }, + excelFormulaExpert: { + name: 'Ekspert ds. formuł programu Excel', + instruction: 'Chatbot, który może pomóc początkującym użytkownikom zrozumieć, używać i tworzyć formuły Excela na podstawie instrukcji użytkownika', + }, + travelPlanning: { + name: 'Planowanie podróży', + instruction: 'Asystent planowania podróży to inteligentne narzędzie zaprojektowane, aby pomóc użytkownikom w łatwym planowaniu podróży', + }, + SQLSorcerer: { + instruction: 'Przekształć język potoczny w zapytania SQL', + name: 'Czarownik SQL', + }, + GitGud: { + instruction: 'Generowanie odpowiednich poleceń usługi Git na podstawie opisanych przez użytkownika akcji kontroli wersji', + name: 'Git gud', + }, + meetingTakeaways: { + name: 'Wnioski ze spotkania', + instruction: 'Podziel spotkania na zwięzłe podsumowania, w tym tematy dyskusji, kluczowe wnioski i działania', + }, + writingsPolisher: { + instruction: 'Korzystaj z zaawansowanych technik redakcyjnych, aby ulepszyć swoje teksty', + name: 'Polerka do pisania', + }, + }, + instructionPlaceHolder: 'Napisz jasne i konkretne instrukcje.', + instruction: 'Instrukcje', + generate: 'Stworzyć', + tryIt: 'Spróbuj', + overwriteMessage: 'Zastosowanie tego monitu spowoduje zastąpienie istniejącej konfiguracji.', + resTitle: 'Wygenerowany monit', + noDataLine1: 'Opisz swój przypadek użycia po lewej stronie,', + title: 'Generator podpowiedzi', + apply: 'Zastosować', + overwriteTitle: 'Nadpisać istniejącą konfigurację?', + loading: 'Orkiestracja aplikacji dla Ciebie...', + description: 'Generator podpowiedzi używa skonfigurowanego modelu do optymalizacji podpowiedzi w celu uzyskania wyższej jakości i lepszej struktury. Napisz jasne i szczegółowe instrukcje.', + noDataLine2: 'W tym miejscu zostanie wyświetlony podgląd orkiestracji.', + }, + warningMessage: { + timeoutExceeded: 'Wyniki nie są wyświetlane z powodu przekroczenia limitu czasu. Zapoznaj się z dziennikami, aby zebrać pełne wyniki.', + }, + noResult: 'W tym miejscu zostaną wyświetlone dane wyjściowe.', } export default translation diff --git a/web/i18n/pt-BR/app-debug.ts b/web/i18n/pt-BR/app-debug.ts index 5f8aabec6..fd158acdc 100644 --- a/web/i18n/pt-BR/app-debug.ts +++ b/web/i18n/pt-BR/app-debug.ts @@ -197,6 +197,7 @@ const translation = { after: '', }, }, + contentEnableLabel: 'Conteúdo moderado habilitado', }, fileUpload: { title: 'Upload de Arquivo', @@ -258,6 +259,7 @@ const translation = { 'Aguarde a resposta à tarefa em lote ser concluída.', notSelectModel: 'Por favor, escolha um modelo', waitForImgUpload: 'Aguarde o upload da imagem', + waitForFileUpload: 'Aguarde o upload do arquivo / arquivos', }, chatSubTitle: 'Instruções', completionSubTitle: 'Prefixo da Solicitação', @@ -322,6 +324,33 @@ const translation = { 'defaultValue': 'Valor padrão', 'noDefaultValue': 'Nenhum valor padrão', 'selectDefaultValue': 'Selecionar valor padrão', + 'file': { + image: { + name: 'Imagem', + }, + audio: { + name: 'Áudio', + }, + document: { + name: 'Documento', + }, + video: { + name: 'Vídeo', + }, + custom: { + description: 'Especifique outros tipos de arquivo.', + name: 'Outros tipos de arquivo', + createPlaceholder: ' Extensão de arquivo, por exemplo, .doc', + }, + supportFileTypes: 'Tipos de arquivo de suporte', + }, + 'content': 'Conteúdo', + 'multi-files': 'Lista de arquivos', + 'single-file': 'Fila indiana', + 'maxNumberOfUploads': 'Número máximo de uploads', + 'uploadFileTypes': 'Carregar tipos de arquivo', + 'both': 'Ambos', + 'localUpload': 'Local Upload', }, vision: { name: 'Visão', @@ -341,6 +370,7 @@ const translation = { url: 'URL', uploadLimit: 'Limite de Upload', }, + onlySupportVisionModelTip: 'Suporta apenas modelos de visão', }, voice: { name: 'voz', @@ -412,6 +442,7 @@ const translation = { score_threshold: 'Limiar de Pontuação', score_thresholdTip: 'Usado para definir o limiar de similaridade para filtragem de trechos.', retrieveChangeTip: 'Modificar o modo de índice e o modo de recuperação pode afetar os aplicativos associados a este Conhecimento.', + embeddingModelRequired: 'É necessário um modelo de incorporação configurado', }, assistantType: { name: 'Tipo de Assistente', @@ -449,6 +480,83 @@ const translation = { enabled: 'Habilitado', }, }, + codegen: { + instruction: 'Instruções', + generatedCodeTitle: 'Código gerado', + noDataLine1: 'Descreva seu caso de uso à esquerda,', + loading: 'Gerando código...', + description: 'O Gerador de código usa modelos configurados para gerar código de alta qualidade com base em suas instruções. Por favor, forneça instruções claras e detalhadas.', + generate: 'Gerar', + resTitle: 'Código gerado', + title: 'Gerador de código', + overwriteConfirmTitle: 'Substituir o código existente?', + overwriteConfirmMessage: 'Essa ação substituirá o código existente. Você quer continuar?', + apply: 'Aplicar', + applyChanges: 'Aplicar alterações', + instructionPlaceholder: 'Insira uma descrição detalhada do código que você deseja gerar.', + noDataLine2: 'A visualização do código será exibida aqui.', + }, + generate: { + template: { + pythonDebugger: { + instruction: 'Um bot que pode gerar e depurar seu código com base em suas instruções', + name: 'Depurador Python', + }, + translation: { + name: 'Tradução', + instruction: 'Um tradutor que pode traduzir vários idiomas', + }, + professionalAnalyst: { + name: 'Analista profissional', + instruction: 'Extraia insights, identifique riscos e destile informações importantes de relatórios longos em um único memorando', + }, + excelFormulaExpert: { + name: 'Especialista em fórmulas do Excel', + instruction: 'Um chatbot que pode ajudar usuários iniciantes a entender, usar e criar fórmulas do Excel com base nas instruções do usuário', + }, + travelPlanning: { + name: 'Planejamento de viagens', + instruction: 'O Assistente de Planejamento de Viagens é uma ferramenta inteligente projetada para ajudar os usuários a planejar suas viagens sem esforço', + }, + SQLSorcerer: { + instruction: 'Transforme a linguagem cotidiana em consultas SQL', + name: 'Feiticeiro SQL', + }, + GitGud: { + instruction: 'Gerar comandos Git apropriados com base nas ações de controle de versão descritas pelo usuário', + name: 'Bom jogo', + }, + meetingTakeaways: { + name: 'Conclusões da reunião', + instruction: 'Destilar reuniões em resumos concisos, incluindo tópicos de discussão, principais conclusões e itens de ação', + }, + writingsPolisher: { + instruction: 'Use técnicas avançadas de edição de texto para melhorar seus escritos', + name: 'Polidor de escrita', + }, + }, + generate: 'Gerar', + overwriteMessage: 'A aplicação desse prompt substituirá a configuração existente.', + apply: 'Aplicar', + title: 'Gerador de Prompt', + description: 'O Gerador de Prompts usa o modelo configurado para otimizar prompts para maior qualidade e melhor estrutura. Por favor, escreva instruções claras e detalhadas.', + instructionPlaceHolder: 'Escreva instruções claras e específicas.', + noDataLine2: 'A visualização da orquestração será exibida aqui.', + tryIt: 'Experimente', + loading: 'Orquestrando o aplicativo para você...', + instruction: 'Instruções', + resTitle: 'Prompt gerado', + noDataLine1: 'Descreva seu caso de uso à esquerda,', + overwriteTitle: 'Substituir a configuração existente?', + }, + warningMessage: { + timeoutExceeded: 'Os resultados não são exibidos devido ao tempo limite. Consulte os logs para obter os resultados completos.', + }, + debugAsSingleModel: 'Depurar como modelo único', + noResult: 'A saída será exibida aqui.', + debugAsMultipleModel: 'Depurar como vários modelos', + publishAs: 'Publicar como', + duplicateModel: 'Duplicar', } export default translation diff --git a/web/i18n/ro-RO/app-debug.ts b/web/i18n/ro-RO/app-debug.ts index f6a10df1d..d8b455e4e 100644 --- a/web/i18n/ro-RO/app-debug.ts +++ b/web/i18n/ro-RO/app-debug.ts @@ -197,6 +197,7 @@ const translation = { after: '', }, }, + contentEnableLabel: 'Conținut moderat activat', }, fileUpload: { title: 'Încărcare fișier', @@ -258,6 +259,7 @@ const translation = { 'Vă rugăm să așteptați finalizarea sarcinii în lot.', notSelectModel: 'Vă rugăm să alegeți un model', waitForImgUpload: 'Vă rugăm să așteptați încărcarea imaginii', + waitForFileUpload: 'Vă rugăm să așteptați încărcarea fișierului / fișierelor', }, chatSubTitle: 'Instrucțiuni', completionSubTitle: 'Prefix prompt', @@ -322,6 +324,33 @@ const translation = { 'defaultValue': 'Valoare implicită', 'noDefaultValue': 'Fără valoare implicită', 'selectDefaultValue': 'Selectați valoarea implicită', + 'file': { + image: { + name: 'Imagine', + }, + audio: { + name: 'Audio', + }, + document: { + name: 'Document', + }, + video: { + name: 'Video', + }, + custom: { + createPlaceholder: ' Extensia fișierului, de exemplu .doc', + name: 'Alte tipuri de fișiere', + description: 'Specificați alte tipuri de fișiere.', + }, + supportFileTypes: 'Tipuri de fișiere de asistență', + }, + 'content': 'Conținut', + 'single-file': 'Un singur fișier', + 'multi-files': 'Lista de fișiere', + 'uploadFileTypes': 'Încărcați tipuri de fișiere', + 'localUpload': 'Încărcare locală', + 'maxNumberOfUploads': 'Numărul maxim de încărcări', + 'both': 'Ambii', }, vision: { name: 'Viziune', @@ -341,6 +370,7 @@ const translation = { url: 'URL', uploadLimit: 'Limită de încărcare', }, + onlySupportVisionModelTip: 'Acceptă doar modele vizuale', }, voice: { name: 'Voce', @@ -411,6 +441,7 @@ const translation = { score_threshold: 'Prag scor', score_thresholdTip: 'Utilizat pentru a seta pragul de similitudine pentru filtrarea bucăților.', retrieveChangeTip: 'Modificarea modului de indexare și a modului de recuperare poate afecta aplicațiile asociate cu aceste Cunoștințe.', + embeddingModelRequired: 'Este necesar un model de încorporare configurat', }, debugAsSingleModel: 'Depanare ca Model Unic', debugAsMultipleModel: 'Depanare ca Modele Multiple', @@ -452,6 +483,79 @@ const translation = { enabled: 'Activat', }, }, + codegen: { + overwriteConfirmTitle: 'Suprascrierea codului existent?', + resTitle: 'Cod generat', + instruction: 'Instrucţiuni', + description: 'Generatorul de cod utilizează modele configurate pentru a genera cod de înaltă calitate pe baza instrucțiunilor dvs. Vă rugăm să oferiți instrucțiuni clare și detaliate.', + generatedCodeTitle: 'Cod generat', + apply: 'Aplica', + noDataLine2: 'Previzualizarea codului va fi afișată aici.', + noDataLine1: 'Descrieți cazul de utilizare din stânga,', + instructionPlaceholder: 'Introduceți descrierea detaliată a codului pe care doriți să îl generați.', + generate: 'Genera', + title: 'Generator de coduri', + applyChanges: 'Aplicarea modificărilor', + overwriteConfirmMessage: 'Această acțiune va suprascrie codul existent. Vrei să continui?', + loading: 'Generarea codului...', + }, + generate: { + template: { + pythonDebugger: { + name: 'Depanator Python', + instruction: 'Un bot care vă poate genera și depana codul pe baza instrucțiunilor dvs.', + }, + translation: { + instruction: 'Un traducător care poate traduce mai multe limbi', + name: 'Traducere', + }, + professionalAnalyst: { + name: 'Analist profesionist', + instruction: 'Extrageți informații, identificați riscurile și distilați informațiile cheie din rapoartele lungi într-o singură notă', + }, + excelFormulaExpert: { + name: 'Expert în formule Excel', + instruction: 'Un chatbot care poate ajuta utilizatorii începători să înțeleagă, să utilizeze și să creeze formule Excel pe baza instrucțiunilor utilizatorului', + }, + travelPlanning: { + name: 'Planificarea călătoriei', + instruction: 'Asistentul de planificare a călătoriilor este un instrument inteligent conceput pentru a ajuta utilizatorii să-și planifice călătoriile fără efort', + }, + SQLSorcerer: { + name: 'Vrăjitor SQL', + instruction: 'Transformați limbajul de zi cu zi în interogări SQL', + }, + GitGud: { + instruction: 'Generați comenzi Git adecvate pe baza acțiunilor de control al versiunii descrise de utilizator', + name: 'Git gud', + }, + meetingTakeaways: { + instruction: 'Distilați întâlnirile în rezumate concise, inclusiv subiecte de discuție, concluzii cheie și elemente de acțiune', + name: 'Concluzii ale întâlnirilor', + }, + writingsPolisher: { + name: 'Șlefuitor de scris', + instruction: 'Utilizați tehnici avansate de editare pentru a vă îmbunătăți scrierile', + }, + }, + apply: 'Aplica', + generate: 'Genera', + resTitle: 'Solicitare generată', + tryIt: 'Încearcă-l', + overwriteTitle: 'Înlocuiți configurația existentă?', + description: 'Generatorul de solicitări utilizează modelul configurat pentru a optimiza solicitările pentru o calitate superioară și o structură mai bună. Vă rugăm să scrieți instrucțiuni clare și detaliate.', + instruction: 'Instrucţiuni', + loading: 'Orchestrarea aplicației pentru dvs....', + noDataLine1: 'Descrieți cazul de utilizare din stânga,', + title: 'Generator de solicitări', + instructionPlaceHolder: 'Scrieți instrucțiuni clare și specifice.', + noDataLine2: 'Previzualizarea orchestrației va fi afișată aici.', + overwriteMessage: 'Aplicarea acestei solicitări va înlocui configurația existentă.', + }, + warningMessage: { + timeoutExceeded: 'Rezultatele nu sunt afișate din cauza expirării. Vă rugăm să consultați jurnalele pentru a colecta rezultatele complete.', + }, + noResult: 'Ieșirea va fi afișată aici.', } export default translation diff --git a/web/i18n/ru-RU/app-debug.ts b/web/i18n/ru-RU/app-debug.ts index 1d45c90a4..0ff97c6cc 100644 --- a/web/i18n/ru-RU/app-debug.ts +++ b/web/i18n/ru-RU/app-debug.ts @@ -197,6 +197,7 @@ const translation = { after: '', }, }, + contentEnableLabel: 'Включен модерируемый контент', }, fileUpload: { title: 'Загрузка файлов', @@ -294,6 +295,7 @@ const translation = { 'Пожалуйста, дождитесь завершения ответа на пакетное задание.', notSelectModel: 'Пожалуйста, выберите модель', waitForImgUpload: 'Пожалуйста, дождитесь загрузки изображения', + waitForFileUpload: 'Пожалуйста, дождитесь загрузки файла/файлов', }, chatSubTitle: 'Инструкции', completionSubTitle: 'Префикс Промпта', @@ -359,6 +361,32 @@ const translation = { 'defaultValue': 'Значение по умолчанию', 'noDefaultValue': 'Без значения по умолчанию', 'selectDefaultValue': 'Выберите значение по умолчанию', + 'file': { + image: { + name: 'Образ', + }, + audio: { + name: 'Аудио', + }, + document: { + name: 'Документ', + }, + video: { + name: 'Видео', + }, + custom: { + createPlaceholder: ' Расширение файла, например .doc', + name: 'Другие типы файлов', + description: 'Укажите другие типы файлов.', + }, + supportFileTypes: 'Типы файлов поддержки', + }, + 'both': 'Оба', + 'localUpload': 'Локальная загрузка', + 'maxNumberOfUploads': 'Максимальное количество загрузок', + 'uploadFileTypes': 'Типы файлов загрузки', + 'single-file': 'Друг за другом', + 'multi-files': 'Список файлов', }, vision: { name: 'Зрение', @@ -378,6 +406,7 @@ const translation = { url: 'URL', uploadLimit: 'Лимит загрузки', }, + onlySupportVisionModelTip: 'Поддерживает только модели машинного зрения', }, voice: { name: 'Голос', @@ -449,6 +478,7 @@ const translation = { score_threshold: 'Порог оценки', score_thresholdTip: 'Используется для установки порога сходства для фильтрации фрагментов.', retrieveChangeTip: 'Изменение режима индексации и режима поиска может повлиять на приложения, связанные с этими знаниями.', + embeddingModelRequired: 'Требуется сконфигурированная модель встраивания', }, debugAsSingleModel: 'Отладка как одной модели', debugAsMultipleModel: 'Отладка как нескольких моделей', @@ -490,6 +520,26 @@ const translation = { enabled: 'Включено', }, }, + codegen: { + generate: 'Порождать', + title: 'Генератор кодов', + resTitle: 'Сгенерированный код', + generatedCodeTitle: 'Сгенерированный код', + applyChanges: 'Применение изменений', + loading: 'Генерация кода...', + noDataLine2: 'Предварительный просмотр кода будет показан здесь.', + instruction: 'Резолюция', + apply: 'Применять', + overwriteConfirmTitle: 'Перезаписать существующий код?', + overwriteConfirmMessage: 'Это действие перезапишет существующий код. Хотите продолжить?', + instructionPlaceholder: 'Введите подробное описание кода, который вы хотите сгенерировать.', + noDataLine1: 'Опишите свой вариант использования слева,', + description: 'Генератор кода использует настроенные модели для создания высококачественного кода на основе ваших инструкций. Пожалуйста, предоставьте четкие и подробные инструкции.', + }, + warningMessage: { + timeoutExceeded: 'Результаты не отображаются из-за тайм-аута. Пожалуйста, обратитесь к журналам для получения полных результатов.', + }, + noResult: 'Вывод будет отображаться здесь.', } export default translation diff --git a/web/i18n/sl-SI/app-debug.ts b/web/i18n/sl-SI/app-debug.ts index 597a8afa0..6e02a0d58 100644 --- a/web/i18n/sl-SI/app-debug.ts +++ b/web/i18n/sl-SI/app-debug.ts @@ -185,8 +185,19 @@ const translation = { content: { input: 'Moderiraj VSEBINO VNOSA', output: 'Moderiraj VSEBINO IZHODA', + preset: 'Prednastavljeni odgovori', + errorMessage: 'Prednastavljeni odgovori ne smejo biti prazni', + condition: 'Zmerna vsebina INPUT in OUTPUT je omogočena vsaj ena', + supportMarkdown: 'Podprt za Markdown', + fromApi: 'Prednastavljene odgovore vrne API', + placeholder: 'Prednastavljena vsebina odgovorov tukaj', + }, + openaiNotConfig: { + after: '', + before: 'Za moderiranje OpenAI potrebujete ključ OpenAI API, konfiguriran v', }, }, + contentEnableLabel: 'Omogočena zmerna vsebina', }, debug: { title: 'Odpravljanje napak', @@ -264,6 +275,291 @@ const translation = { description: 'Omogočitev zvoka bo omogočila modelu, da obdela zvočne datoteke za prepisovanje in analizo.', }, }, + codegen: { + instruction: 'Navodila', + title: 'Generator kode', + resTitle: 'Ustvarjena koda', + loading: 'Generiranje kode ...', + generatedCodeTitle: 'Ustvarjena koda', + noDataLine1: 'Na levi opišite primer uporabe,', + noDataLine2: 'Predogled kode bo prikazan tukaj.', + instructionPlaceholder: 'Vnesite podroben opis kode, ki jo želite ustvariti.', + apply: 'Uporabiti', + generate: 'Ustvariti', + overwriteConfirmTitle: 'Prepisati obstoječo kodo?', + applyChanges: 'Uporaba sprememb', + overwriteConfirmMessage: 'S tem dejanjem boste prepisali obstoječo kodo. Želite nadaljevati?', + description: 'Generator kode uporablja konfigurirane modele za ustvarjanje visokokakovostne kode na podlagi vaših navodil. Navedite jasna in podrobna navodila.', + }, + generate: { + template: { + pythonDebugger: { + name: 'Python razhroščevalnik', + instruction: 'Bot, ki lahko ustvari in razhrošči vašo kodo na podlagi vaših navodil', + }, + translation: { + name: 'Prevod', + instruction: 'Prevajalec, ki zna prevesti več jezikov', + }, + professionalAnalyst: { + name: 'Strokovni analitik', + instruction: 'Pridobite vpoglede, prepoznajte tveganja in destilirajte ključne informacije iz dolgih poročil v en sam zapisek', + }, + excelFormulaExpert: { + instruction: 'Chatbot, ki lahko začetnikom pomaga razumeti, uporabljati in ustvarjati Excelove formule na podlagi uporabniških navodil', + name: 'Strokovnjak za formule v Excelu', + }, + travelPlanning: { + instruction: 'Pomočnik za načrtovanje potovanj je inteligentno orodje, ki uporabnikom pomaga pri enostavnem načrtovanju potovanj', + name: 'Načrtovanje potovanj', + }, + SQLSorcerer: { + name: 'Čarovnik SQL', + instruction: 'Pretvorba vsakdanjega jezika v poizvedbe SQL', + }, + GitGud: { + instruction: 'Ustvarite ustrezne ukaze Git na podlagi dejanj nadzora različic, ki jih je opisal uporabnik', + name: 'Git gud', + }, + meetingTakeaways: { + name: 'Povzetki s srečanja', + instruction: 'Srečanja destilirajte v jedrnate povzetke, vključno s temami za razpravo, ključnimi ugotovitvami in dejanji', + }, + writingsPolisher: { + name: 'Pisanje polir', + instruction: 'Uporabite napredne tehnike urejanja besedil za izboljšanje svojega pisanja', + }, + }, + apply: 'Uporabiti', + generate: 'Ustvariti', + instructionPlaceHolder: 'Napišite jasna in specifična navodila.', + resTitle: 'Ustvarjen poziv', + noDataLine2: 'Predogled orkestracije bo prikazan tukaj.', + overwriteMessage: 'Če uporabite ta poziv, boste preglasili obstoječo konfiguracijo.', + overwriteTitle: 'Preglasiti obstoječo konfiguracijo?', + instruction: 'Navodila', + loading: 'Orkestriranje aplikacije za vas ...', + noDataLine1: 'Na levi opišite primer uporabe,', + title: 'Generator pozivov', + tryIt: 'Poskusite', + description: 'Generator pozivov uporablja konfiguriran model za optimizacijo pozivov za višjo kakovost in boljšo strukturo. Prosimo, napišite jasna in podrobna navodila.', + }, + resetConfig: { + title: 'Potrdite ponastavitev?', + message: 'Ponastavitev zavrže spremembe in obnovi zadnjo objavljeno konfiguracijo.', + }, + errorMessage: { + notSelectModel: 'Prosimo, izberite model', + waitForImgUpload: 'Prosimo, počakajte, da se slika naloži', + waitForResponse: 'Počakajte, da se odgovor na prejšnje sporočilo dokonča.', + waitForBatchResponse: 'Počakajte, da se konča odgovor na paketno nalogo.', + queryRequired: 'Besedilo zahteve je obvezno.', + waitForFileUpload: 'Prosimo, počakajte, da se datoteka/datoteke naložijo', + }, + warningMessage: { + timeoutExceeded: 'Rezultati niso prikazani zaradi časovne omejitve. Prosimo, glejte dnevnike, da zberete popolne rezultate.', + }, + variableTable: { + action: 'Dejanja', + optional: 'Neobvezno', + typeString: 'Niz', + typeSelect: 'Izbrati', + type: 'Vrsta vnosa', + key: 'Spremenljivi ključ', + name: 'Ime uporabniškega vnosnega polja', + }, + varKeyError: {}, + otherError: { + promptNoBeEmpty: 'Poziv ne more biti prazen', + historyNoBeEmpty: 'Zgodovina pogovorov mora biti nastavljena v pozivu', + queryNoBeEmpty: 'Poizvedba mora biti nastavljena v pozivu', + }, + variableConfig: { + 'file': { + image: { + name: 'Podoba', + }, + audio: { + name: 'Avdio', + }, + document: { + name: 'Dokument', + }, + video: { + name: 'Video', + }, + custom: { + description: 'Določite druge vrste datotek.', + name: 'Druge vrste datotek', + createPlaceholder: ' Pripona datoteke, npr. .doc', + }, + supportFileTypes: 'Podporne vrste datotek', + }, + 'errorMsg': { + varNameCanBeRepeat: 'Imena spremenljivke ni mogoče ponoviti', + atLeastOneOption: 'Potrebna je vsaj ena možnost', + optionRepeat: 'Ima možnosti ponavljanja', + labelNameRequired: 'Ime nalepke je obvezno', + }, + 'content': 'Vsebina', + 'number': 'Številka', + 'selectDefaultValue': 'Izbira privzete vrednosti', + 'maxNumberOfUploads': 'Največje število nalaganj', + 'localUpload': 'Lokalno nalaganje', + 'string': 'Kratko besedilo', + 'paragraph': 'Odstavek', + 'maxLength': 'Največja dolžina', + 'defaultValue': 'Privzeta vrednost', + 'apiBasedVar': 'Spremenljivka, ki temelji na API-ju', + 'stringTitle': 'Možnosti polja z besedilom obrazca', + 'varName': 'Ime spremenljivke', + 'text-input': 'Kratko besedilo', + 'uploadFileTypes': 'Nalaganje vrst datotek', + 'noDefaultValue': 'Ni privzete vrednosti', + 'addOption': 'Dodaj možnost', + 'select': 'Izbrati', + 'hide': 'Skriti', + 'both': 'Oba', + 'multi-files': 'Seznam datotek', + 'single-file': 'Ena datoteka', + 'options': 'Možnosti', + 'addModalTitle': 'Dodajanje vhodnega polja', + 'inputPlaceholder': 'Prosimo, vnesite', + 'fieldType': 'Vrsta polja', + 'editModalTitle': 'Uredi vnosno polje', + 'required': 'Zahteva', + 'labelName': 'Ime nalepke', + }, + vision: { + visionSettings: { + resolution: 'Resolucija', + uploadMethod: 'Način nalaganja', + high: 'Visok', + url: 'Spletni naslov', + localUpload: 'Lokalno nalaganje', + uploadLimit: 'Omejitev nalaganja', + title: 'Nastavitve vida', + both: 'Oba', + low: 'Nizek', + }, + name: 'Vid', + settings: 'Nastavitve', + description: 'Omogoči vid bo modelu omogočil, da posname slike in odgovarja na vprašanja o njih.', + onlySupportVisionModelTip: 'Podpira samo modele vida', + }, + voice: { + voiceSettings: { + voice: 'Glas', + language: 'Jezik', + autoPlayDisabled: 'Off', + autoPlayEnabled: 'Na', + resolutionTooltip: 'Jezik glasovne podpore za pretvorbo besedila v govor。', + title: 'Glasovne nastavitve', + autoPlay: 'Samodejno predvajanje', + }, + defaultDisplay: 'Privzeti glas', + name: 'Glas', + settings: 'Nastavitve', + description: 'Glasovne nastavitve za pretvorbo besedila v govor', + }, + openingStatement: { + openingQuestion: 'Uvodna vprašanja', + title: 'Odpiralec pogovorov', + tooShort: 'Za ustvarjanje uvodnih pripomb za pogovor je potrebnih vsaj 20 besed začetnega poziva.', + noDataPlaceHolder: 'Začetek pogovora z uporabnikom lahko AI pomaga vzpostaviti tesnejšo povezavo z njimi v pogovornih aplikacijah.', + add: 'Dodati', + writeOpener: 'Odpiralnik za urejanje', + }, + modelConfig: { + modeType: { + chat: 'Chat', + completion: 'Dokončati', + }, + title: 'Model in parametri', + model: 'Model', + setTone: 'Nastavitev tona odzivov', + }, + inputs: { + queryPlaceholder: 'Prosimo, vnesite besedilo zahteve.', + title: 'Odpravljanje napak in predogled', + chatVarTip: 'Izpolnite vrednost spremenljivke, ki bo samodejno nadomeščena v pozivni besedi vsakič, ko se začne nova seja', + queryTitle: 'Vsebina poizvedbe', + userInputField: 'Uporabniško polje za vnos', + run: 'TEČI', + noPrompt: 'Poskusite napisati nekaj poziva v vnos pred pozivom', + previewTitle: 'Takojšen predogled', + noVar: 'Izpolnite vrednost spremenljivke, ki bo samodejno nadomeščena v pozivni besedi vsakič, ko se začne nova seja.', + completionVarTip: 'Izpolnite vrednost spremenljivke, ki bo samodejno nadomeščena v pozivnih besedah vsakič, ko boste oddali vprašanje.', + }, + datasetConfig: { + retrieveOneWay: { + title: 'Pridobivanje N-na-1', + description: 'Na podlagi namena uporabnika in opisov znanja agent avtonomno izbere najboljše znanje za poizvedovanje. Najboljše za aplikacije z izrazitim, omejenim znanjem.', + }, + retrieveMultiWay: { + title: 'Pridobivanje več poti', + description: 'Na podlagi namena uporabnika poizvedbe v celotnem znanju, pridobijo ustrezno besedilo iz več virov in izberejo najboljše rezultate, ki se ujemajo z uporabniško poizvedbo po ponovnem razvrščanju.', + }, + params: 'Params', + embeddingModelRequired: 'Potreben je konfiguriran model vdelave', + settingTitle: 'Nastavitve pridobivanja', + rerankModelRequired: 'Potreben je konfiguriran model ponovnega razvrščanja', + knowledgeTip: 'Kliknite gumb " " za dodajanje znanja', + score_threshold: 'Prag ocenjevanja', + score_thresholdTip: 'Uporablja se za nastavitev praga podobnosti za filtriranje kosov.', + retrieveChangeTip: 'Spreminjanje kazalnega načina in načina pridobivanja lahko vpliva na aplikacije, povezane s tem znanjem.', + top_k: 'Vrh K', + top_kTip: 'Uporablja se za filtriranje kosov, ki so najbolj podobni vprašanjem uporabnikov. Sistem bo tudi dinamično prilagajal vrednost Top K, glede na max_tokens izbranega modela.', + }, + assistantType: { + chatAssistant: { + name: 'Osnovni pomočnik', + description: 'Ustvarjanje pomočnika za klepet z uporabo velikega jezikovnega modela', + }, + agentAssistant: { + name: 'Pomočnik agenta', + description: 'Zgradite inteligentnega agenta, ki lahko samostojno izbere orodja za dokončanje nalog', + }, + name: 'Vrsta pomočnika', + }, + agent: { + agentModeType: { + functionCall: 'Klicanje funkcij', + ReACT: 'Reagirajo', + }, + setting: { + maximumIterations: { + description: 'Omejitev števila ponovitev, ki jih lahko izvede pomočnik agenta', + name: 'Največje število ponovitev', + }, + description: 'Nastavitve pomočnika za agente omogočajo nastavitev načina agenta in naprednih funkcij, kot so vgrajeni pozivi, ki so na voljo samo v vrsti agenta.', + name: 'Nastavitve agenta', + }, + tools: { + enabled: 'Omogočeno', + name: 'Orodja', + description: 'Uporaba orodij lahko razširi zmogljivosti LLM, kot je iskanje po internetu ali izvajanje znanstvenih izračunov', + }, + agentMode: 'Način agenta', + promptPlaceholder: 'Tukaj napišite svoj poziv', + agentModeDes: 'Nastavitev vrste načina sklepanja za agenta', + firstPrompt: 'Prvi poziv', + nextIteration: 'Naslednja ponovitev', + buildInPrompt: 'Poziv za vgradnjo', + }, + chatSubTitle: 'Navodila', + variableTitle: 'Spremenljivke', + completionSubTitle: 'Poziv za predpono', + debugAsSingleModel: 'Odpravljanje napak kot en model', + noResult: 'Tukaj bo prikazan izhod.', + debugAsMultipleModel: 'Odpravljanje napak kot več modelov', + formattingChangedText: 'Spreminjanje oblikovanja bo ponastavilo območje za odpravljanje napak, ste prepričani?', + autoAddVar: 'Nedoločene spremenljivke, na katere se sklicuje vnaprejšnji poziv, ali jih želite dodati v obrazec za vnos uporabnika?', + formattingChangedTitle: 'Spremenjeno oblikovanje', + duplicateModel: 'Dvojnik', + publishAs: 'Objavi kot', + result: 'Izhodno besedilo', + variableTip: 'Uporabniki izpolnijo spremenljivke v obrazcu in samodejno zamenjajo spremenljivke v pozivu.', } export default translation diff --git a/web/i18n/th-TH/app-debug.ts b/web/i18n/th-TH/app-debug.ts index a2e939b5f..303b91353 100644 --- a/web/i18n/th-TH/app-debug.ts +++ b/web/i18n/th-TH/app-debug.ts @@ -27,7 +27,488 @@ const translation = { title: 'เสียง', description: 'การเปิดใช้งานเสียงจะทำให้โมเดลสามารถประมวลผลไฟล์เสียงเพื่อการถอดข้อความและการวิเคราะห์ได้', }, + groupChat: { + title: 'ปรับปรุงแชท', + description: 'เพิ่มการตั้งค่าก่อนการสนทนาสําหรับแอปสามารถปรับปรุงประสบการณ์ของผู้ใช้ได้', + }, + groupExperience: { + title: 'ปรับปรุงประสบการณ์', + }, + conversationOpener: { + description: 'ในแอปแชท ประโยคแรกที่ AI พูดกับผู้ใช้อย่างแข็งขันมักจะใช้เป็นการต้อนรับ', + title: 'ที่เปิดการสนทนา', + }, + suggestedQuestionsAfterAnswer: { + title: 'ติดตาม', + resDes: '3 ข้อเสนอแนะสําหรับผู้ใช้คําถามถัดไป', + tryToAsk: 'ลองถาม', + description: 'การตั้งค่าคําแนะนําคําถามถัดไปจะช่วยให้ผู้ใช้แชทได้ดีขึ้น', + }, + moreLikeThis: { + title: 'เพิ่มเติมเช่นนี้', + tip: 'การใช้คุณสมบัตินี้จะมีค่าใช้จ่ายโทเค็นเพิ่มเติม', + generateNumTip: 'จํานวนครั้งที่สร้างขึ้นแต่ละครั้ง', + description: 'สร้างข้อความหลายข้อความพร้อมกัน จากนั้นแก้ไขและสร้างต่อไป', + }, + speechToText: { + description: 'สามารถใช้การป้อนข้อมูลด้วยเสียงในการแชทได้', + title: 'คําพูดเป็นข้อความ', + resDes: 'เปิดใช้งานการป้อนข้อมูลด้วยเสียง', + }, + textToSpeech: { + title: 'ข้อความเป็นคําพูด', + resDes: 'เปิดใช้งานข้อความเป็นเสียง', + description: 'ข้อความการสนทนาสามารถแปลงเป็นคําพูดได้', + }, + citation: { + title: 'การอ้างอิงและการระบุแหล่งที่มา', + resDes: 'เปิดใช้งานการอ้างอิงและการระบุแหล่งที่มา', + description: 'แสดงเอกสารต้นฉบับและส่วนที่มาของเนื้อหาที่สร้างขึ้น', + }, + annotation: { + scoreThreshold: { + accurateMatch: 'การจับคู่ที่แม่นยํา', + description: 'ใช้เพื่อกําหนดเกณฑ์ความคล้ายคลึงกันสําหรับการตอบกลับคําอธิบายประกอบ', + easyMatch: 'จับคู่ง่าย', + title: 'เกณฑ์คะแนน', + }, + matchVariable: { + title: 'ตัวแปรการจับคู่', + choosePlaceholder: 'เลือกตัวแปรการจับคู่', + }, + removeConfirm: 'ลบคําอธิบายประกอบนี้ ?', + cacheManagement: 'คำ อธิบาย', + title: 'คําอธิบายประกอบ ตอบกลับ', + remove: 'ถอด', + resDes: 'เปิดใช้งานการตอบสนองคําอธิบายประกอบ', + add: 'เพิ่มคําอธิบายประกอบ', + edit: 'แก้ไขคําอธิบายประกอบ', + cached: 'มีคําอธิบายประกอบ', + description: 'คุณสามารถเพิ่มการตอบกลับคุณภาพสูงลงในแคชด้วยตนเองเพื่อจับคู่ลําดับความสําคัญกับคําถามของผู้ใช้ที่คล้ายกัน', + }, + dataSet: { + queryVariable: { + ok: 'ตกลง, ได้', + noVar: 'ไม่ใช่ตัวแปร', + choosePlaceholder: 'เลือกตัวแปรแบบสอบถาม', + tip: 'ตัวแปรนี้จะถูกใช้เป็นอินพุตแบบสอบถามสําหรับการดึงบริบท โดยรับข้อมูลบริบทที่เกี่ยวข้องกับอินพุตของตัวแปรนี้', + unableToQueryDataSetTip: 'ไม่สามารถสืบค้นความรู้ได้สําเร็จ โปรดเลือกตัวแปรการสืบค้นบริบทในส่วนบริบท', + noVarTip: 'โปรดสร้างตัวแปรภายใต้ส่วนตัวแปร', + title: 'ตัวแปรคิวรี', + contextVarNotEmpty: 'ตัวแปรการสืบค้นบริบทต้องไม่ว่างเปล่า', + deleteContextVarTip: 'ตัวแปรนี้ถูกตั้งค่าเป็นตัวแปรแบบสอบถามบริบท และการลบตัวแปรนี้จะส่งผลต่อการใช้ความรู้ตามปกติ หากคุณยังต้องการลบ โปรดเลือกใหม่ในส่วนบริบท', + unableToQueryDataSet: 'ไม่สามารถสืบค้นความรู้ได้', + }, + noDataSet: 'ไม่พบความรู้', + notSupportSelectMulti: 'ปัจจุบันรองรับความรู้เพียงหนึ่งความรู้', + selected: 'เลือกความรู้', + title: 'ความรู้', + toCreate: 'ไปที่สร้าง', + words: 'นิรุกติ', + textBlocks: 'บล็อกข้อความ', + noData: 'คุณสามารถนําเข้าความรู้เป็นบริบทได้', + selectTitle: 'เลือกข้อมูลอ้างอิง ความรู้', + }, + tools: { + modal: { + toolType: { + title: 'ประเภทเครื่องมือ', + placeholder: 'โปรดเลือกประเภทเครื่องมือ', + }, + name: { + title: 'ชื่อ', + placeholder: 'กรุณากรอกชื่อ', + }, + variableName: { + title: 'ชื่อตัวแปร', + placeholder: 'กรุณากรอกชื่อตัวแปร', + }, + title: 'เครื่องมือ', + }, + title: 'เครื่อง มือ', + tips: 'เครื่องมือมีวิธีการเรียก API มาตรฐาน โดยใช้อินพุตหรือตัวแปรของผู้ใช้เป็นพารามิเตอร์คําขอสําหรับการสืบค้นข้อมูลภายนอกตามบริบท', + }, + conversationHistory: { + editModal: { + userPrefix: 'คํานําหน้าผู้ใช้', + title: 'แก้ไขชื่อบทบาทการสนทนา', + assistantPrefix: 'คํานําหน้าผู้ช่วย', + }, + description: 'ตั้งชื่อคํานําหน้าสําหรับบทบาทการสนทนา', + learnMore: 'ศึกษาเพิ่มเติม', + title: 'ประวัติการสนทนา', + }, + toolbox: { + title: 'เครื่อง มือ', + }, + moderation: { + modal: { + provider: { + openaiTip: { + suffix: '.', + prefix: 'การกลั่นกรอง OpenAI ต้องใช้คีย์ OpenAI API ที่กําหนดค่าไว้ใน', + }, + keywords: 'คำ', + openai: 'การกลั่นกรอง OpenAI', + title: 'ผู้จัดหา', + }, + keywords: { + placeholder: 'หนึ่งบรรทัดต่อบรรทัดคั่นด้วยตัวแบ่งบรรทัด', + tip: 'หนึ่งบรรทัด คั่นด้วยตัวแบ่งบรรทัด สูงสุด 100 อักขระต่อบรรทัด', + line: 'สาย', + }, + content: { + output: 'เนื้อหา OUTPUT ปานกลาง', + errorMessage: 'การตอบกลับที่ตั้งไว้ล่วงหน้าต้องไม่ว่างเปล่า', + fromApi: 'การตอบกลับที่ตั้งไว้ล่วงหน้าจะถูกส่งคืนโดย API', + supportMarkdown: 'รองรับ Markdown', + placeholder: 'เนื้อหาตอบกลับที่ตั้งไว้ล่วงหน้าที่นี่', + condition: 'เปิดใช้งานเนื้อหา INPUT และ OUTPUT กลั่นกรองอย่างน้อยหนึ่งรายการ', + input: 'กลั่นกรองเนื้อหา INPUT', + preset: 'การตอบกลับที่ตั้งไว้ล่วงหน้า', + }, + openaiNotConfig: { + after: '', + before: 'การกลั่นกรอง OpenAI ต้องใช้คีย์ OpenAI API ที่กําหนดค่าไว้ใน', + }, + title: 'การตั้งค่าการกลั่นกรองเนื้อหา', + }, + contentEnableLabel: 'เปิดใช้งานเนื้อหากลั่นกรอง', + outputEnabled: 'ผลิตภัณฑ์', + title: 'การกลั่นกรองเนื้อหา', + allEnabled: 'อินพุต & เอาต์พุต', + inputEnabled: 'อินพุต', + description: 'รักษาความปลอดภัยเอาต์พุตโมเดลโดยใช้ API การกลั่นกรองหรือรักษารายการคําที่ละเอียดอ่อน', + }, }, + pageTitle: { + line1: 'พร้อมท์', + line2: 'วิศวกรรม', + }, + promptMode: { + advancedWarning: { + ok: 'ตกลง, ได้', + description: 'ในโหมดผู้เชี่ยวชาญ คุณสามารถแก้ไข PROMPT ทั้งหมดได้', + title: 'คุณได้เปลี่ยนเป็นโหมดผู้เชี่ยวชาญแล้ว และเมื่อคุณแก้ไข PROMPT แล้ว คุณจะไม่สามารถกลับสู่โหมดพื้นฐานได้', + learnMore: 'ศึกษาเพิ่มเติม', + }, + operation: { + addMessage: 'เพิ่มข้อความ', + }, + switchBack: 'สลับกลับ', + contextMissing: 'องค์ประกอบบริบทที่พลาดไปประสิทธิภาพของพรอมต์อาจไม่ดี', + simple: 'เปลี่ยนเป็นโหมดผู้เชี่ยวชาญเพื่อแก้ไข PROMPT ทั้งหมด', + advanced: 'แฟชั่นผู้เชี่ยวชาญ', + }, + operation: { + automatic: 'ผลิต', + applyConfig: 'ตีพิมพ์', + disagree: 'ไม่ชอบ', + userAction: 'ผู้ใช้', + stopResponding: 'หยุดการตอบสนอง', + cancelAgree: 'ยกเลิกถูกใจ', + addFeature: 'เพิ่มคุณสมบัติ', + cancelDisagree: 'ยกเลิกการไม่ชอบ', + agree: 'ชอบ', + resetConfig: 'รี เซ็ต', + debugConfig: 'ดีบัก', + }, + notSetAPIKey: { + settingBtn: 'ไปที่การตั้งค่า', + trailFinished: 'เส้นทางเสร็จสิ้น', + description: 'ยังไม่ได้ตั้งค่าคีย์ผู้ให้บริการ LLM และจําเป็นต้องตั้งค่าก่อนการดีบัก', + title: 'ไม่ได้ตั้งค่าคีย์ผู้ให้บริการ LLM', + }, + trailUseGPT4Info: { + description: 'ใช้ gpt-4 โปรดตั้งค่าคีย์ API', + title: 'ไม่รองรับ gpt-4 ในขณะนี้', + }, + codegen: { + applyChanges: 'ใช้การเปลี่ยนแปลง', + generate: 'ผลิต', + instructionPlaceholder: 'ป้อนคําอธิบายโดยละเอียดของรหัสที่คุณต้องการสร้าง', + noDataLine1: 'อธิบายกรณีการใช้งานของคุณทางด้านซ้าย', + title: 'เครื่องสร้างรหัส', + overwriteConfirmMessage: 'การดําเนินการนี้จะเขียนทับโค้ดที่มีอยู่ คุณต้องการดําเนินการต่อหรือไม่?', + loading: 'กําลังสร้างโค้ด...', + generatedCodeTitle: 'รหัสที่สร้างขึ้น', + apply: 'ใช้', + overwriteConfirmTitle: 'เขียนทับรหัสที่มีอยู่ใช่ไหม', + instruction: 'คำ แนะ นำ', + resTitle: 'รหัสที่สร้างขึ้น', + noDataLine2: 'ตัวอย่างโค้ดจะแสดงที่นี่', + description: 'ตัวสร้างโค้ดใช้โมเดลที่กําหนดค่าเพื่อสร้างโค้ดคุณภาพสูงตามคําแนะนําของคุณ โปรดให้คําแนะนําที่ชัดเจนและละเอียด', + }, + generate: { + template: { + pythonDebugger: { + name: 'ดีบักเกอร์ Python', + instruction: 'บอทที่สามารถสร้างและแก้ไขข้อบกพร่องโค้ดของคุณตามคําสั่งของคุณ', + }, + translation: { + instruction: 'นักแปลที่สามารถแปลได้หลายภาษา', + name: 'การแปล', + }, + professionalAnalyst: { + name: 'นักวิเคราะห์มืออาชีพ', + instruction: 'ดึงข้อมูลเชิงลึก ระบุความเสี่ยง และกลั่นกรองข้อมูลสําคัญจากรายงานขนาดยาวลงในบันทึกเดียว', + }, + excelFormulaExpert: { + name: 'ผู้เชี่ยวชาญด้านสูตร Excel', + instruction: 'แชทบอทที่สามารถช่วยให้ผู้ใช้มือใหม่เข้าใจ ใช้ และสร้างสูตร Excel ตามคําแนะนําของผู้ใช้', + }, + travelPlanning: { + name: 'การวางแผนการเดินทาง', + instruction: 'ผู้ช่วยวางแผนการเดินทางเป็นเครื่องมืออัจฉริยะที่ออกแบบมาเพื่อช่วยให้ผู้ใช้วางแผนการเดินทางได้อย่างง่ายดาย', + }, + SQLSorcerer: { + name: 'พ่อมด SQL', + instruction: 'แปลงภาษาในชีวิตประจําวันให้เป็นแบบสอบถาม SQL', + }, + GitGud: { + name: 'กิต gud', + instruction: 'สร้างคําสั่ง Git ที่เหมาะสมตามการดําเนินการควบคุมเวอร์ชันที่ผู้ใช้อธิบาย', + }, + meetingTakeaways: { + name: 'ประเด็นการประชุม', + instruction: 'กลั่นกรองการประชุมเป็นบทสรุปที่กระชับ รวมถึงหัวข้อการสนทนา ประเด็นสําคัญ และรายการปฏิบัติ', + }, + writingsPolisher: { + name: 'เครื่องขัดเขียน', + instruction: 'ใช้เทคนิคการแก้ไขคําโฆษณาขั้นสูงเพื่อปรับปรุงงานเขียนของคุณ', + }, + }, + generate: 'ผลิต', + instruction: 'คำ แนะ นำ', + apply: 'ใช้', + resTitle: 'พรอมต์ที่สร้างขึ้น', + title: 'เครื่องกําเนิดพร้อมท์', + noDataLine2: 'ตัวอย่างการประสานเสียงจะแสดงที่นี่', + tryIt: 'ลองดู', + overwriteTitle: 'แทนที่การกําหนดค่าที่มีอยู่ใช่ไหม', + noDataLine1: 'อธิบายกรณีการใช้งานของคุณทางด้านซ้าย', + instructionPlaceHolder: 'เขียนคําแนะนําที่ชัดเจนและเฉพาะเจาะจง', + overwriteMessage: 'การใช้พรอมต์นี้จะแทนที่การกําหนดค่าที่มีอยู่', + description: 'ตัวสร้างพรอมต์ใช้โมเดลที่กําหนดค่าเพื่อปรับพรอมต์ให้เหมาะสมเพื่อคุณภาพที่สูงขึ้นและโครงสร้างที่ดีขึ้น โปรดเขียนคําแนะนําที่ชัดเจนและละเอียด', + loading: 'กําลังประสานงานแอปพลิเคชันสําหรับคุณ...', + }, + resetConfig: { + title: 'ยืนยันการรีเซ็ต?', + message: 'รีเซ็ตจะละทิ้งการเปลี่ยนแปลง โดยคืนค่าการกําหนดค่าที่เผยแพร่ล่าสุด', + }, + errorMessage: { + waitForFileUpload: 'โปรดรอให้ไฟล์/ไฟล์อัปโหลด', + notSelectModel: 'โปรดเลือกรุ่น', + waitForBatchResponse: 'โปรดรอให้การตอบกลับงานแบทช์เสร็จสมบูรณ์', + waitForResponse: 'โปรดรอให้การตอบกลับข้อความก่อนหน้าเสร็จสมบูรณ์', + waitForImgUpload: 'โปรดรอให้ภาพอัปโหลด', + queryRequired: 'ต้องส่งข้อความคําขอ', + }, + warningMessage: { + timeoutExceeded: 'ผลลัพธ์จะไม่แสดงเนื่องจากหมดเวลา โปรดดูบันทึกเพื่อรวบรวมผลลัพธ์ที่สมบูรณ์', + }, + variableTable: { + optional: 'เสริม', + key: 'ปุ่มตัวแปร', + typeString: 'เชือก', + typeSelect: 'เลือก', + type: 'ประเภทอินพุต', + name: 'ชื่อฟิลด์ป้อนข้อมูลของผู้ใช้', + action: 'การดําเนินการ', + }, + varKeyError: {}, + otherError: { + queryNoBeEmpty: 'ต้องตั้งค่าคิวรีในพร้อมท์', + promptNoBeEmpty: 'พรอมต์ไม่สามารถว่างเปล่าได้', + historyNoBeEmpty: 'ต้องตั้งค่าประวัติการสนทนาในข้อความแจ้ง', + }, + variableConfig: { + 'file': { + image: { + name: 'ภาพ', + }, + audio: { + name: 'เสียง', + }, + document: { + name: 'เอกสาร', + }, + video: { + name: 'วีดิทัศน์', + }, + custom: { + description: 'ระบุประเภทไฟล์อื่นๆ', + name: 'ไฟล์ประเภทอื่น ๆ', + createPlaceholder: ' นามสกุลไฟล์ เช่น .doc', + }, + supportFileTypes: 'ประเภทไฟล์ที่รองรับ', + }, + 'errorMsg': { + atLeastOneOption: 'จําเป็นต้องมีอย่างน้อยหนึ่งตัวเลือก', + labelNameRequired: 'ต้องมีชื่อฉลาก', + optionRepeat: 'มีตัวเลือกการทําซ้ํา', + varNameCanBeRepeat: 'ไม่สามารถทําซ้ําชื่อตัวแปรได้', + }, + 'hide': 'ซ่อน', + 'required': 'ต้องระบุ', + 'number': 'เลข', + 'inputPlaceholder': 'กรุณาป้อน', + 'uploadFileTypes': 'อัปโหลดประเภทไฟล์', + 'content': 'เนื้อหา', + 'addOption': 'เพิ่มตัวเลือก', + 'labelName': 'ชื่อฉลาก', + 'options': 'ตัวเลือก', + 'stringTitle': 'ตัวเลือกกล่องข้อความฟอร์ม', + 'noDefaultValue': 'ไม่มีค่าเริ่มต้น', + 'varName': 'ชื่อตัวแปร', + 'defaultValue': 'ค่าเริ่มต้น', + 'fieldType': 'ชนิดฟิลด์', + 'selectDefaultValue': 'เลือกค่าเริ่มต้น', + 'string': 'ข้อความสั้น', + 'text-input': 'ข้อความสั้น', + 'multi-files': 'รายการไฟล์', + 'maxLength': 'ความยาวสูงสุด', + 'addModalTitle': 'เพิ่มฟิลด์อินพุต', + 'localUpload': 'อัปโหลดในเครื่อง', + 'single-file': 'ไฟล์เดียว', + 'select': 'เลือก', + 'maxNumberOfUploads': 'จํานวนการอัปโหลดสูงสุด', + 'editModalTitle': 'แก้ไขฟิลด์อินพุต', + 'apiBasedVar': 'ตัวแปรที่ใช้ API', + 'paragraph': 'วรรค', + 'both': 'ทั้งสอง', + }, + vision: { + visionSettings: { + resolution: 'มติ', + uploadMethod: 'วิธีการอัปโหลด', + localUpload: 'อัปโหลดในเครื่อง', + low: 'ต่ํา', + high: 'สูง', + title: 'การตั้งค่าวิสัยทัศน์', + uploadLimit: 'ขีดจํากัดการอัปโหลด', + both: 'ทั้งสอง', + url: 'URL', + }, + onlySupportVisionModelTip: 'รองรับเฉพาะโมเดลการมองเห็น', + name: 'การมองเห็น', + description: 'เปิดใช้งานวิสัยทัศน์จะช่วยให้โมเดลสามารถถ่ายภาพและตอบคําถามเกี่ยวกับภาพเหล่านั้นได้', + settings: 'การตั้งค่า', + }, + voice: { + voiceSettings: { + autoPlayEnabled: 'บน', + autoPlay: 'เล่นอัตโนมัติ', + voice: 'เสียง', + resolutionTooltip: 'ภาษาสนับสนุนเสียงแปลงข้อความเป็นคําพูด。', + autoPlayDisabled: 'ไป', + title: 'การตั้งค่าเสียง', + language: 'ภาษา', + }, + name: 'เสียง', + settings: 'การตั้งค่า', + description: 'การตั้งค่าเสียงข้อความเป็นคําพูด', + defaultDisplay: 'เสียงเริ่มต้น', + }, + openingStatement: { + tooShort: 'ต้องใช้ข้อความแจ้งเริ่มต้นอย่างน้อย 20 คําเพื่อสร้างคําพูดเปิดการสนทนา', + openingQuestion: 'คําถามเปิด', + writeOpener: 'ตัวเปิดแก้ไข', + add: 'เพิ่ม', + title: 'ที่เปิดการสนทนา', + noDataPlaceHolder: 'การเริ่มการสนทนากับผู้ใช้สามารถช่วยให้ AI สร้างความสัมพันธ์ที่ใกล้ชิดกับพวกเขาในแอปพลิเคชันการสนทนา', + }, + modelConfig: { + modeType: { + completion: 'สมบูรณ์', + chat: 'สนทนา', + }, + model: 'แบบ', + title: 'รุ่นและพารามิเตอร์', + setTone: 'กําหนดน้ําเสียงของการตอบกลับ', + }, + inputs: { + run: 'วิ่ง', + userInputField: 'ฟิลด์ป้อนข้อมูลของผู้ใช้', + queryPlaceholder: 'กรุณากรอกข้อความคําขอ', + queryTitle: 'เนื้อหาแบบสอบถาม', + title: 'ดีบัก & ดูตัวอย่าง', + noVar: 'กรอกค่าของตัวแปร ซึ่งจะถูกแทนที่โดยอัตโนมัติในคําพร้อมท์ทุกครั้งที่เริ่มเซสชันใหม่', + previewTitle: 'พร้อมท์ดูตัวอย่าง', + chatVarTip: 'กรอกค่าของตัวแปร ซึ่งจะถูกแทนที่โดยอัตโนมัติในคําพร้อมท์ทุกครั้งที่เริ่มเซสชันใหม่', + noPrompt: 'ลองเขียนข้อความแจ้งในการป้อนข้อมูลล่วงหน้า', + completionVarTip: 'กรอกค่าของตัวแปร ซึ่งจะถูกแทนที่โดยอัตโนมัติในคําพร้อมท์ทุกครั้งที่มีการส่งคําถาม', + }, + datasetConfig: { + retrieveOneWay: { + title: 'การดึงข้อมูล N-to-1', + description: 'เอเจนต์จะเลือกความรู้ที่ดีที่สุดสําหรับการสืบค้นด้วยตนเอง ดีที่สุดสําหรับการใช้งานที่มีความรู้ที่แตกต่างและจํากัด', + }, + retrieveMultiWay: { + title: 'การดึงข้อมูลหลายเส้นทาง', + description: 'ตามความตั้งใจของผู้ใช้ การสืบค้นในความรู้ทั้งหมด ดึงข้อความที่เกี่ยวข้องจากหลายแหล่ง และเลือกผลลัพธ์ที่ดีที่สุดที่ตรงกับการสืบค้นของผู้ใช้หลังจากจัดอันดับใหม่', + }, + score_thresholdTip: 'ใช้เพื่อกําหนดเกณฑ์ความคล้ายคลึงกันสําหรับการกรองกลุ่ม', + settingTitle: 'การตั้งค่าการดึงข้อมูล', + rerankModelRequired: 'จําเป็นต้องมีโมเดลจัดอันดับใหม่ที่กําหนดค่าไว้', + knowledgeTip: 'คลิกปุ่ม " " เพื่อเพิ่มความรู้', + embeddingModelRequired: 'จําเป็นต้องมีโมเดลการฝังที่กําหนดค่าไว้', + score_threshold: 'เกณฑ์คะแนน', + retrieveChangeTip: 'การปรับเปลี่ยนโหมดดัชนีและโหมดการดึงข้อมูลอาจส่งผลต่อแอปพลิเคชันที่เกี่ยวข้องกับความรู้นี้', + top_k: 'ท็อป K', + params: 'พารามิเตอร์', + top_kTip: 'ใช้เพื่อกรองกลุ่มที่คล้ายกับคําถามของผู้ใช้มากที่สุด ระบบจะปรับค่าของ Top K แบบไดนามิกตาม max_tokens ของรุ่นที่เลือก', + }, + assistantType: { + chatAssistant: { + name: 'ผู้ช่วยพื้นฐาน', + description: 'สร้างผู้ช่วยตามแชทโดยใช้โมเดลภาษาขนาดใหญ่', + }, + agentAssistant: { + name: 'ผู้ช่วยตัวแทน', + description: 'สร้างตัวแทนอัจฉริยะที่สามารถเลือกเครื่องมือเพื่อทํางานให้เสร็จได้โดยอัตโนมัติ', + }, + name: 'ประเภทผู้ช่วย', + }, + agent: { + agentModeType: { + functionCall: 'การเรียกฟังก์ชัน', + ReACT: 'ตอบสนอง', + }, + setting: { + maximumIterations: { + description: 'จํากัดจํานวนการทําซ้ําที่ผู้ช่วยตัวแทนสามารถดําเนินการได้', + name: 'การทําซ้ําสูงสุด', + }, + name: 'การตั้งค่าตัวแทน', + description: 'การตั้งค่าผู้ช่วยตัวแทนอนุญาตให้ตั้งค่าโหมดตัวแทนและคุณสมบัติขั้นสูง เช่น ข้อความแจ้งในตัว ซึ่งใช้ได้เฉพาะในประเภทตัวแทนเท่านั้น', + }, + tools: { + enabled: 'เปิด', + name: 'เครื่อง มือ', + description: 'การใช้เครื่องมือสามารถขยายขีดความสามารถของ LLM ได้ เช่น การค้นหาทางอินเทอร์เน็ตหรือการคํานวณทางวิทยาศาสตร์', + }, + agentMode: 'โหมดตัวแทน', + firstPrompt: 'พรอมต์แรก', + buildInPrompt: 'พรอมต์ในตัว', + promptPlaceholder: 'เขียนข้อความแจ้งของคุณที่นี่', + nextIteration: 'การทําซ้ําครั้งต่อไป', + agentModeDes: 'ตั้งค่าประเภทของโหมดการอนุมานสําหรับตัวแทน', + }, + orchestrate: 'ออเคสตร้า', + variableTitle: 'ตัว แปร', + noResult: 'ผลลัพธ์จะแสดงที่นี่', + formattingChangedText: 'การแก้ไขการจัดรูปแบบจะรีเซ็ตพื้นที่ดีบัก คุณแน่ใจหรือไม่?', + publishAs: 'เผยแพร่เป็น', + result: 'ข้อความที่ส่งออก', + formattingChangedTitle: 'การจัดรูปแบบเปลี่ยนไป', + completionSubTitle: 'พรอมต์คํานําหน้า', + chatSubTitle: 'คำ แนะ นำ', + debugAsMultipleModel: 'ดีบักเป็นหลายรุ่น', + variableTip: 'ผู้ใช้กรอกตัวแปรในแบบฟอร์ม แทนที่ตัวแปรในพรอมต์โดยอัตโนมัติ', + debugAsSingleModel: 'ดีบักเป็นโมเดลเดียว', + duplicateModel: 'สำเนา', + autoAddVar: 'ตัวแปรที่ไม่ได้กําหนดอ้างอิงในพรอมต์ล่วงหน้าคุณต้องการเพิ่มในแบบฟอร์มการป้อนข้อมูลของผู้ใช้หรือไม่?', } export default translation diff --git a/web/i18n/tr-TR/app-debug.ts b/web/i18n/tr-TR/app-debug.ts index c9a5f7b58..152a00e42 100644 --- a/web/i18n/tr-TR/app-debug.ts +++ b/web/i18n/tr-TR/app-debug.ts @@ -197,6 +197,7 @@ const translation = { after: '', }, }, + contentEnableLabel: 'Etkin modere içerik', }, fileUpload: { title: 'Dosya Yükleme', @@ -294,6 +295,7 @@ const translation = { 'Toplu görevin yanıtını tamamlamasını bekleyin.', notSelectModel: 'Lütfen bir model seçin', waitForImgUpload: 'Lütfen görüntünün yüklenmesini bekleyin', + waitForFileUpload: 'Lütfen dosyanın/dosyaların yüklenmesini bekleyin', }, chatSubTitle: 'Talimatlar', completionSubTitle: 'Ön Prompt', @@ -329,36 +331,64 @@ const translation = { queryNoBeEmpty: 'Sorgu prompt\'ta ayarlanmalıdır', }, variableConfig: { - addModalTitle: 'Giriş Alanı Ekle', - editModalTitle: 'Giriş Alanı Düzenle', - description: 'Değişken ayarı {{varName}}', - fieldType: 'Alan türü', - string: 'Kısa Metin', - textInput: 'Kısa Metin', - paragraph: 'Paragraf', - select: 'Seçim', - number: 'Numara', - notSet: 'Ayarlanmamış, ön promptta {{input}} yazmayı deneyin', - stringTitle: 'Form metin kutusu seçenekleri', - maxLength: 'En uzunluk', - options: 'Seçenekler', - addOption: 'Seçenek ekle', - apiBasedVar: 'API tabanlı Değişken', - varName: 'Değişken Adı', - labelName: 'Etiket Adı', - inputPlaceholder: 'Lütfen girin', - content: 'İçerik', - required: 'Gerekli', - errorMsg: { + 'addModalTitle': 'Giriş Alanı Ekle', + 'editModalTitle': 'Giriş Alanı Düzenle', + 'description': 'Değişken ayarı {{varName}}', + 'fieldType': 'Alan türü', + 'string': 'Kısa Metin', + 'textInput': 'Kısa Metin', + 'paragraph': 'Paragraf', + 'select': 'Seçim', + 'number': 'Numara', + 'notSet': 'Ayarlanmamış, ön promptta {{input}} yazmayı deneyin', + 'stringTitle': 'Form metin kutusu seçenekleri', + 'maxLength': 'En uzunluk', + 'options': 'Seçenekler', + 'addOption': 'Seçenek ekle', + 'apiBasedVar': 'API tabanlı Değişken', + 'varName': 'Değişken Adı', + 'labelName': 'Etiket Adı', + 'inputPlaceholder': 'Lütfen girin', + 'content': 'İçerik', + 'required': 'Gerekli', + 'errorMsg': { varNameRequired: 'Değişken adı gereklidir', labelNameRequired: 'Etiket adı gereklidir', varNameCanBeRepeat: 'Değişken adı tekrar edemez', atLeastOneOption: 'En az bir seçenek gereklidir', optionRepeat: 'Yinelenen seçenekler var', }, - defaultValue: 'Varsayılan değer', - noDefaultValue: 'Varsayılan değer yok', - selectDefaultValue: 'Varsayılan değer seç', + 'defaultValue': 'Varsayılan değer', + 'noDefaultValue': 'Varsayılan değer yok', + 'selectDefaultValue': 'Varsayılan değer seç', + 'file': { + image: { + name: 'Resim', + }, + audio: { + name: 'Ses', + }, + document: { + name: 'Belge', + }, + video: { + name: 'Video', + }, + custom: { + description: 'Diğer dosya türlerini belirtin.', + createPlaceholder: ' Dosya uzantısı, örneğin .doc', + name: 'Diğer dosya türleri', + }, + supportFileTypes: 'Destek Dosya Türleri', + }, + 'hide': 'Gizlemek', + 'uploadFileTypes': 'Dosya Türlerini Yükle', + 'localUpload': 'Yerel Yükleme', + 'single-file': 'Tek Dosya', + 'multi-files': 'Dosya Listesi', + 'text-input': 'Kısa Metin', + 'both': 'Her ikisi', + 'maxNumberOfUploads': 'Maksimum yükleme sayısı', }, vision: { name: 'Görüş', @@ -376,6 +406,7 @@ const translation = { url: 'URL', uploadLimit: 'Yükleme Limiti', }, + onlySupportVisionModelTip: 'Yalnızca görme modellerini destekler', }, voice: { name: 'Konuşma', @@ -445,6 +476,7 @@ const translation = { score_threshold: 'Skor Eşiği', score_thresholdTip: 'Parça filtreleme için benzerlik eşiğini ayarlamak için kullanılır.', retrieveChangeTip: 'Dizin modunu ve geri alım modunu değiştirmek, bu Bilgi ile ilişkili uygulamaları etkileyebilir.', + embeddingModelRequired: 'Yapılandırılmış bir Gömme Modeli gereklidir', }, debugAsSingleModel: 'Tek Model Olarak Hata Ayıkla', debugAsMultipleModel: 'Çoklu Model Olarak Hata Ayıkla', @@ -486,6 +518,26 @@ const translation = { enabled: 'Etkinleştirildi', }, }, + codegen: { + generatedCodeTitle: 'Oluşturulan Kod', + overwriteConfirmTitle: 'Mevcut kodun üzerine yazılsın mı?', + applyChanges: 'Değişiklikleri Uygula', + generate: 'Oluşturmak', + noDataLine2: 'Kod önizlemesi burada gösterilecektir.', + title: 'Kod Oluşturucu', + apply: 'Uygulamak', + instructionPlaceholder: 'Oluşturmak istediğiniz kodun ayrıntılı açıklamasını girin.', + description: 'Kod Oluşturucu, talimatlarınıza göre yüksek kaliteli kod oluşturmak için yapılandırılmış modelleri kullanır. Lütfen açık ve ayrıntılı talimatlar verin.', + resTitle: 'Oluşturulan Kod', + noDataLine1: 'Solda kullanım durumunuzu açıklayın,', + loading: 'Kod oluşturuluyor...', + instruction: 'Talimat -ları', + overwriteConfirmMessage: 'Bu eylem mevcut kodun üzerine yazacaktır. Devam etmek istiyor musunuz?', + }, + warningMessage: { + timeoutExceeded: 'Zaman aşımı nedeniyle sonuçlar görüntülenmez. Tam sonuçları almak için lütfen günlüklere bakın.', + }, + noResult: 'Çıktı burada görüntülenecektir.', } export default translation diff --git a/web/i18n/uk-UA/app-debug.ts b/web/i18n/uk-UA/app-debug.ts index fe6fefa80..4a9d77b76 100644 --- a/web/i18n/uk-UA/app-debug.ts +++ b/web/i18n/uk-UA/app-debug.ts @@ -161,11 +161,16 @@ const translation = { title: 'ІНСТРУМЕНТИ', // TOOLBOX (all caps to convey its section title nature) }, moderation: { - title: 'Модерація контенту', // Content moderation - description: 'Захистіть вивід моделі, використовуючи API модерації або список конфіденційних слів.', // Secure model output... - allEnabled: 'Вміст ВВЕДЕННЯ/ВИВЕДЕННЯ ввімкнено', // INPUT/OUTPUT Content Enabled - inputEnabled: 'Вміст ВВЕДЕННЯ ввімкнено', // INPUT Content Enabled - outputEnabled: 'Вміст ВИВЕДЕННЯ ввімкнено', // OUTPUT Content Enabled + // Content moderation + title: 'Модерація контенту', + // Secure model output... + description: 'Захистіть вивід моделі, використовуючи API модерації або список конфіденційних слів.', + // INPUT/OUTPUT Content Enabled + allEnabled: 'Вміст ВВЕДЕННЯ/ВИВЕДЕННЯ ввімкнено', + // INPUT Content Enabled + inputEnabled: 'Вміст ВВЕДЕННЯ ввімкнено', + // OUTPUT Content Enabled + outputEnabled: 'Вміст ВИВЕДЕННЯ ввімкнено', modal: { title: 'Налаштування модерації вмісту', // Content moderation settings provider: { @@ -197,6 +202,7 @@ const translation = { after: '', }, }, + contentEnableLabel: 'Увімкнено помірний контент', }, fileUpload: { title: 'Завантаження файлу', @@ -248,23 +254,37 @@ const translation = { message: 'Скидання призводить до скасування змін, відновлюючи останню опубліковану конфігурацію.', }, errorMessage: { - nameOfKeyRequired: 'назва ключа: {{key}} обов’язкова', // name of the key: {{key}} required - valueOfVarRequired: 'значення {{key}} не може бути порожнім', // {{key}} value can not be empty - queryRequired: 'Текст запиту обов’язковий.', // Request text is required. - waitForResponse: 'Будь ласка, зачекайте, доки буде завершено відповідь на попереднє повідомлення.', // Please wait for the response to the previous message to complete. - waitForBatchResponse: 'Будь ласка, дочекайтеся завершення відповіді на пакетне завдання.', // Please wait for the response to the batch task to complete. - notSelectModel: 'Будь ласка, виберіть модель', // Please choose a model - waitForImgUpload: 'Будь ласка, зачекайте, поки зображення завантажиться', // Please wait for the image to upload + // name of the key: {{key}} required + nameOfKeyRequired: 'назва ключа: {{key}} обов’язкова', + // {{key}} value can not be empty + valueOfVarRequired: 'значення {{key}} не може бути порожнім', + // Request text is required. + queryRequired: 'Текст запиту обов’язковий.', + // Please wait for the response to the previous message to complete. + waitForResponse: 'Будь ласка, зачекайте, доки буде завершено відповідь на попереднє повідомлення.', + // Please wait for the response to the batch task to complete. + waitForBatchResponse: 'Будь ласка, дочекайтеся завершення відповіді на пакетне завдання.', + // Please choose a model + notSelectModel: 'Будь ласка, виберіть модель', + // Please wait for the image to upload + waitForImgUpload: 'Будь ласка, зачекайте, поки зображення завантажиться', + waitForFileUpload: 'Будь ласка, зачекайте, поки файл/файли завантажаться', }, - chatSubTitle: 'Інструкції', // Instructions - completionSubTitle: 'Префікс команди', // Prefix Prompt + // Instructions + chatSubTitle: 'Інструкції', + // Prefix Prompt + completionSubTitle: 'Префікс команди', promptTip: 'Запити керують відповідями ШІ, надаючи інструкції та обмеження. Вставте змінні, як-от {{input}}. Цей запит не буде видно користувачам.', - formattingChangedTitle: 'Змінено форматування', // Formatting changed - formattingChangedText: 'Змінення форматування призведе до скидання області налагодження. Ви впевнені?', // Modifying the formatting will reset the debug area, are you sure? - variableTitle: 'Змінні', // Variables + // Formatting changed + formattingChangedTitle: 'Змінено форматування', + // Modifying the formatting will reset the debug area, are you sure? + formattingChangedText: 'Змінення форматування призведе до скидання області налагодження. Ви впевнені?', + // Variables + variableTitle: 'Змінні', variableTip: 'Користувачі заповнюють змінні у формі, автоматично замінюючи змінні в команді.', notSetVar: 'Змінні дозволяють користувачам вводити підказки або вступні зауваження під час заповнення форм. Ви можете спробувати ввести "{{input}}" у слова підказки.', - autoAddVar: 'На невизначені змінні, на які посилаються в попередньому запиті, є посилання. Ви хочете додати їх у форму вводу користувача?', // Undefined variables referenced in pre-prompt, are you want to add them in user input form? + // Undefined variables referenced in pre-prompt, are you want to add them in user input form? + autoAddVar: 'На невизначені змінні, на які посилаються в попередньому запиті, є посилання. Ви хочете додати їх у форму вводу користувача?', variableTable: { key: 'Ключ змінної', // Variable Key name: 'Назва поля для введення користувача', // User Input Field Name @@ -316,11 +336,40 @@ const translation = { 'defaultValue': 'Значення за замовчуванням', 'noDefaultValue': 'Без значення за замовчуванням', 'selectDefaultValue': 'Обрати значення за замовчуванням', + 'file': { + image: { + name: 'Образ', + }, + audio: { + name: 'Аудіо', + }, + document: { + name: 'Документ', + }, + video: { + name: 'Відео', + }, + custom: { + description: 'Укажіть інші типи файлів.', + createPlaceholder: ' Розширення файлу, наприклад .doc', + name: 'Інші типи файлів', + }, + supportFileTypes: 'Підтримка типів файлів', + }, + 'content': 'Вміст', + 'both': 'Як', + 'single-file': 'Один файл', + 'multi-files': 'Список файлів', + 'localUpload': 'Локальне завантаження', + 'uploadFileTypes': 'Типи файлів для завантаження', + 'maxNumberOfUploads': 'Максимальна кількість завантажень', }, vision: { - name: 'Зображення', // Vision + // Vision + name: 'Зображення', description: 'Увімкнення функції "Зображення" дозволить моделі приймати зображення та відповідати на запитання про них.', - settings: 'Налаштування', // Settings + // Settings + settings: 'Налаштування', visionSettings: { title: 'Налаштування зображень', // Vision Settings resolution: 'Роздільна здатність', // Resolution @@ -335,6 +384,7 @@ const translation = { url: 'URL-адреса', // URL uploadLimit: 'Ліміт завантаження', // Upload Limit }, + onlySupportVisionModelTip: 'Підтримує лише моделі зору', }, voice: { name: 'Голос', // Voice @@ -384,9 +434,11 @@ const translation = { queryPlaceholder: 'Будь ласка, введіть текст запиту', // Please enter the request text. run: 'ЗАПУСТИТИ', // RUN }, - result: 'Вихідний текст', // Output Text + // Output Text + result: 'Вихідний текст', datasetConfig: { - settingTitle: 'Налаштування пошуку', // Retrieval settings + // Retrieval settings + settingTitle: 'Налаштування пошуку', knowledgeTip: 'Клацніть кнопку “+”, щоб додати знання', retrieveOneWay: { title: 'Односторонній пошук', // N-to-1 retrieval @@ -396,18 +448,28 @@ const translation = { title: 'Багатосторонній пошук', // Multi-path retrieval description: 'На основі намірів користувача запитує по всіх Базах Знань, отримує релевантний текст із кількох джерел і вибирає найкращі результати, що відповідають запиту користувача, після переранжування. Необхідна конфігурація API моделі переранжування.', }, - rerankModelRequired: 'Необхідна модель переранжування', // Rerank model is required - params: 'Параметри', // Params - top_k: 'Найкращих K', // Top K + // Rerank model is required + rerankModelRequired: 'Необхідна модель переранжування', + // Params + params: 'Параметри', + // Top K + top_k: 'Найкращих K', top_kTip: 'Використовується для фільтрації фрагментів, найбільш схожих на запитання користувачів. Система також динамічно регулюватиме значення K у відповідності з max_tokens обраної моделі.', - score_threshold: 'Поріг оцінки', // Score Threshold + // Score Threshold + score_threshold: 'Поріг оцінки', score_thresholdTip: 'Використовується для встановлення порогу схожості для фільтрації фрагментів.', - retrieveChangeTip: 'Зміна режиму індексування та режиму отримання може вплинути на застосунки, пов’язані з цими знаннями.', // Modifying... + // Modifying... + retrieveChangeTip: 'Зміна режиму індексування та режиму отримання може вплинути на застосунки, пов’язані з цими знаннями.', + embeddingModelRequired: 'Потрібна налаштована модель вбудовування', }, - debugAsSingleModel: 'Налагодження як одна модель', // Debug as Single Model - debugAsMultipleModel: 'Налагодження як багато моделей', // Debug as Multiple Models - duplicateModel: 'Дублювання', // Duplicate - publishAs: 'Опублікувати як', // Publish as + // Debug as Single Model + debugAsSingleModel: 'Налагодження як одна модель', + // Debug as Multiple Models + debugAsMultipleModel: 'Налагодження як багато моделей', + // Duplicate + duplicateModel: 'Дублювання', + // Publish as + publishAs: 'Опублікувати як', assistantType: { name: 'Тип Асистента', // Assistant Type chatAssistant: { @@ -444,6 +506,79 @@ const translation = { enabled: 'Увімкнено', // Enabled }, }, + codegen: { + generatedCodeTitle: 'Згенерований код', + generate: 'Генерувати', + title: 'Генератор коду', + loading: 'Генерація коду...', + instruction: 'Інструкції', + applyChanges: 'Застосувати зміни', + resTitle: 'Згенерований код', + noDataLine2: 'Тут з\'явиться попередній перегляд коду.', + noDataLine1: 'Опишіть свій випадок використання зліва,', + apply: 'Застосовувати', + overwriteConfirmTitle: 'Перезаписати існуючий код?', + overwriteConfirmMessage: 'Ця дія перезапише існуючий код. Хочете продовжити?', + instructionPlaceholder: 'Введіть детальний опис коду, який ви хочете згенерувати.', + description: 'Генератор коду використовує налаштовані моделі для генерації високоякісного коду на основі ваших інструкцій. Будь ласка, надайте чіткі та детальні інструкції.', + }, + generate: { + template: { + pythonDebugger: { + name: 'Налагоджувач Python', + instruction: 'Бот, який може генерувати та налагоджувати ваш код на основі ваших інструкцій', + }, + translation: { + name: 'Переклад', + instruction: 'Перекладач, який може перекладати кількома мовами', + }, + professionalAnalyst: { + name: 'Професійний аналітик', + instruction: 'Отримуйте аналітичні дані, виявляйте ризики та перетворюйте ключову інформацію з довгих звітів в єдину записку', + }, + excelFormulaExpert: { + name: 'Експерт з формул Excel', + instruction: 'Чат-бот, який може допомогти користувачам-початківцям розуміти, використовувати та створювати формули Excel на основі інструкцій користувача', + }, + travelPlanning: { + name: 'Планування подорожей', + instruction: 'Помічник із планування подорожей — це інтелектуальний інструмент, розроблений, щоб допомогти користувачам без зусиль планувати свої поїздки', + }, + SQLSorcerer: { + name: 'SQL чаклун', + instruction: 'Перетворюйте повсякденну мову на SQL-запити', + }, + GitGud: { + name: 'Git gud', + instruction: 'Генеруйте відповідні команди Git на основі описаних користувачем дій контролю версій', + }, + meetingTakeaways: { + name: 'Підсумки зустрічі', + instruction: 'Перетворіть зустрічі на стислі підсумки, включаючи теми для обговорення, ключові висновки та пункти дій', + }, + writingsPolisher: { + name: 'Письменницька полірувальна машина', + instruction: 'Використовуйте передові методи редагування тексту, щоб покращити свої тексти', + }, + }, + instruction: 'Інструкції', + generate: 'Генерувати', + apply: 'Застосовувати', + tryIt: 'Спробуйте', + overwriteTitle: 'Змінити існуючу конфігурацію?', + instructionPlaceHolder: 'Пишіть чіткі та конкретні інструкції.', + loading: 'Оркестрування програми для вас...', + noDataLine1: 'Опишіть свій випадок використання зліва,', + resTitle: 'Згенерований запит', + title: 'Генератор підказок', + noDataLine2: 'Тут буде показано попередній перегляд оркестровки.', + overwriteMessage: 'Застосування цього рядка замінить існуючу конфігурацію.', + description: 'Генератор підказок використовує налаштовану модель для оптимізації запитів для кращої якості та кращої структури. Напишіть, будь ласка, зрозумілу та детальну інструкцію.', + }, + warningMessage: { + timeoutExceeded: 'Результати не відображаються через тайм-аут. Будь ласка, зверніться до журналів, щоб отримати повні результати.', + }, + noResult: 'Тут буде відображено вихідні дані.', } export default translation diff --git a/web/i18n/vi-VN/app-debug.ts b/web/i18n/vi-VN/app-debug.ts index 381b76630..8882d4af3 100644 --- a/web/i18n/vi-VN/app-debug.ts +++ b/web/i18n/vi-VN/app-debug.ts @@ -197,6 +197,7 @@ const translation = { after: '', }, }, + contentEnableLabel: 'Đã bật nội dung kiểm duyệt', }, fileUpload: { title: 'Tải lên tệp', @@ -255,6 +256,7 @@ const translation = { waitForBatchResponse: 'Vui lòng đợi phản hồi của tác vụ hàng loạt để hoàn thành.', notSelectModel: 'Vui lòng chọn một mô hình', waitForImgUpload: 'Vui lòng đợi hình ảnh được tải lên', + waitForFileUpload: 'Vui lòng đợi tệp / tệp tải lên', }, chatSubTitle: 'Hướng dẫn', completionSubTitle: 'Tiền tố lời nhắc', @@ -316,6 +318,33 @@ const translation = { 'defaultValue': 'Giá trị mặc định', 'noDefaultValue': 'Không có giá trị mặc định', 'selectDefaultValue': 'Chọn giá trị mặc định', + 'file': { + image: { + name: 'Ảnh', + }, + audio: { + name: 'Âm thanh', + }, + document: { + name: 'Tài liệu', + }, + video: { + name: 'Video', + }, + custom: { + description: 'Chỉ định các loại tệp khác.', + name: 'Các loại tệp khác', + createPlaceholder: ' Phần mở rộng tệp, ví dụ: .doc', + }, + supportFileTypes: 'Các loại tệp hỗ trợ', + }, + 'both': 'Cả hai', + 'uploadFileTypes': 'Tải lên các loại tệp', + 'localUpload': 'Tải lên cục bộ', + 'single-file': 'Tệp đơn', + 'content': 'Nội dung', + 'multi-files': 'Danh sách tập tin', + 'maxNumberOfUploads': 'Số lượt tải lên tối đa', }, vision: { name: 'Thị giác', @@ -335,6 +364,7 @@ const translation = { url: 'URL', uploadLimit: 'Giới hạn tải lên', }, + onlySupportVisionModelTip: 'Chỉ hỗ trợ các mô hình thị giác', }, voice: { name: 'Giọng nói', @@ -403,6 +433,7 @@ const translation = { score_threshold: 'Ngưỡng điểm', score_thresholdTip: 'Sử dụng để thiết lập ngưỡng tương đồng cho việc lọc các phần.', retrieveChangeTip: 'Thay đổi chế độ chỉ mục và chế độ truy xuất có thể ảnh hưởng đến các ứng dụng liên quan đến kiến thức này.', + embeddingModelRequired: 'Cần có Mô hình nhúng được định cấu hình', }, debugAsSingleModel: 'Gỡ lỗi như một mô hình', debugAsMultipleModel: 'Gỡ lỗi như nhiều mô hình', @@ -444,6 +475,79 @@ const translation = { enabled: 'Đã kích hoạt', }, }, + codegen: { + generate: 'Đẻ ra', + instruction: 'Chỉ thị', + generatedCodeTitle: 'Mã được tạo', + loading: 'Đang tạo mã...', + title: 'Trình tạo mã', + instructionPlaceholder: 'Nhập mô tả chi tiết về mã bạn muốn tạo.', + overwriteConfirmMessage: 'Hành động này sẽ ghi đè lên mã hiện có. Bạn có muốn tiếp tục không?', + description: 'Trình tạo mã sử dụng các mô hình đã định cấu hình để tạo mã chất lượng cao dựa trên hướng dẫn của bạn. Vui lòng cung cấp hướng dẫn rõ ràng và chi tiết.', + resTitle: 'Mã được tạo', + apply: 'Áp dụng', + overwriteConfirmTitle: 'Ghi đè mã hiện có?', + applyChanges: 'Áp dụng thay đổi', + noDataLine1: 'Mô tả trường hợp sử dụng của bạn ở bên trái,', + noDataLine2: 'Bản xem trước mã sẽ hiển thị ở đây.', + }, + generate: { + template: { + pythonDebugger: { + instruction: 'Một bot có thể tạo và gỡ lỗi mã của bạn dựa trên hướng dẫn của bạn', + name: 'Trình gỡ lỗi Python', + }, + translation: { + name: 'Dịch', + instruction: 'Một dịch giả có thể dịch nhiều ngôn ngữ', + }, + professionalAnalyst: { + name: 'Chuyên viên phân tích chuyên nghiệp', + instruction: 'Trích xuất thông tin chi tiết, xác định rủi ro và chắt lọc thông tin quan trọng từ các báo cáo dài thành một bản ghi nhớ duy nhất', + }, + excelFormulaExpert: { + name: 'Chuyên gia công thức Excel', + instruction: 'Một chatbot có thể giúp người dùng mới hiểu, sử dụng và tạo công thức Excel dựa trên hướng dẫn của người dùng', + }, + travelPlanning: { + instruction: 'Trợ lý lập kế hoạch du lịch là một công cụ thông minh được thiết kế để giúp người dùng dễ dàng lên kế hoạch cho các chuyến đi của họ', + name: 'Lập kế hoạch du lịch', + }, + SQLSorcerer: { + instruction: 'Chuyển đổi ngôn ngữ hàng ngày thành truy vấn SQL', + name: 'SQL sorcerer', + }, + GitGud: { + name: 'Git gud', + instruction: 'Tạo các lệnh Git thích hợp dựa trên các hành động kiểm soát phiên bản được người dùng mô tả', + }, + meetingTakeaways: { + name: 'Bài học rút ra trong cuộc họp', + instruction: 'Chắt lọc các cuộc họp thành các bản tóm tắt ngắn gọn bao gồm các chủ đề thảo luận, bài học chính và các mục hành động', + }, + writingsPolisher: { + name: 'Máy đánh bóng viết', + instruction: 'Sử dụng các kỹ thuật chỉnh sửa nội dung nâng cao để cải thiện bài viết của bạn', + }, + }, + generate: 'Đẻ ra', + tryIt: 'Dùng thử', + noDataLine2: 'Bản xem trước Orchestration sẽ hiển thị ở đây.', + apply: 'Áp dụng', + instruction: 'Chỉ thị', + title: 'Trình tạo nhắc nhở', + resTitle: 'Lời nhắc được tạo', + loading: 'Sắp xếp ứng dụng cho bạn...', + noDataLine1: 'Mô tả trường hợp sử dụng của bạn ở bên trái,', + description: 'Trình tạo lời nhắc sử dụng mô hình được định cấu hình để tối ưu hóa lời nhắc cho chất lượng cao hơn và cấu trúc tốt hơn. Vui lòng viết hướng dẫn rõ ràng và chi tiết.', + overwriteMessage: 'Áp dụng lời nhắc này sẽ ghi đè cấu hình hiện có.', + overwriteTitle: 'Ghi đè cấu hình hiện có?', + instructionPlaceHolder: 'Viết hướng dẫn rõ ràng và cụ thể.', + }, + warningMessage: { + timeoutExceeded: 'Kết quả không được hiển thị do hết thời gian chờ. Vui lòng tham khảo nhật ký để thu thập kết quả đầy đủ.', + }, + noResult: 'Đầu ra sẽ được hiển thị ở đây.', } export default translation diff --git a/web/i18n/zh-Hant/app-debug.ts b/web/i18n/zh-Hant/app-debug.ts index 434bc830a..5309f03da 100644 --- a/web/i18n/zh-Hant/app-debug.ts +++ b/web/i18n/zh-Hant/app-debug.ts @@ -197,6 +197,7 @@ const translation = { after: '中配置 OpenAI API 金鑰。', }, }, + contentEnableLabel: '啟用了中等內容', }, fileUpload: { title: '檔案上傳', @@ -238,6 +239,7 @@ const translation = { waitForBatchResponse: '請等待批次任務完成', notSelectModel: '請選擇模型', waitForImgUpload: '請等待圖片上傳完成', + waitForFileUpload: '請等待檔上傳', }, chatSubTitle: '提示詞', completionSubTitle: '字首提示詞', @@ -302,6 +304,33 @@ const translation = { 'defaultValue': '預設值', 'noDefaultValue': '無預設值', 'selectDefaultValue': '選擇預設值', + 'file': { + image: { + name: '圖像', + }, + audio: { + name: '音訊', + }, + document: { + name: '公文', + }, + video: { + name: '視頻', + }, + custom: { + name: '其他文件類型', + description: '指定其他檔案類型。', + createPlaceholder: '檔擴展名,例如 .doc', + }, + supportFileTypes: '支援檔案類型', + }, + 'both': '雙', + 'uploadFileTypes': '上傳檔類型', + 'multi-files': '檔案清單', + 'content': '內容', + 'localUpload': '本地上傳', + 'single-file': '單個檔', + 'maxNumberOfUploads': '最大上傳次數', }, vision: { name: '視覺', @@ -321,6 +350,7 @@ const translation = { url: 'URL', uploadLimit: '上傳數量限制', }, + onlySupportVisionModelTip: '僅支持視覺模型', }, voice: { name: '音色', @@ -390,6 +420,7 @@ const translation = { score_threshold: 'Score 閾值', score_thresholdTip: '用於設定文字片段篩選的相似度閾值。', retrieveChangeTip: '修改索引模式和檢索模式可能會影響與該知識庫關聯的應用程式。', + embeddingModelRequired: '需要配置的嵌入模型', }, debugAsSingleModel: '單一模型進行除錯', debugAsMultipleModel: '多個模型進行除錯', @@ -431,6 +462,79 @@ const translation = { enabled: '啟用', }, }, + codegen: { + resTitle: '生成的代碼', + apply: '應用', + overwriteConfirmMessage: '此作將覆蓋現有代碼。你想繼續嗎?', + instruction: '指示', + instructionPlaceholder: '輸入要生成的代碼的詳細說明。', + generate: '生成', + noDataLine2: '代碼預覽將在此處顯示。', + applyChanges: '應用更改', + noDataLine1: '在左側描述您的用例,', + overwriteConfirmTitle: '覆蓋現有代碼?', + title: '代碼生成器', + generatedCodeTitle: '生成的代碼', + loading: '產生代碼...', + description: '代碼生成器使用配置的模型根據您的指令生成高質量的代碼。請提供清晰詳細的說明。', + }, + generate: { + template: { + pythonDebugger: { + instruction: '可以根據您的指令生成和調試代碼的機器人', + name: 'Python 調試器', + }, + translation: { + name: '譯本', + instruction: '可以翻譯多種語言的翻譯器', + }, + professionalAnalyst: { + instruction: '提取見解、識別風險並將長報告中的關鍵資訊提煉成單個備忘錄', + name: '專業分析師', + }, + excelFormulaExpert: { + name: 'Excel公式專家', + instruction: '一個聊天機器人,可以説明新手使用者根據使用者指令理解、使用和創建Excel公式', + }, + travelPlanning: { + instruction: '旅行計劃助手是一款智慧工具,旨在説明用戶輕鬆計劃他們的旅行', + name: '旅行計劃', + }, + SQLSorcerer: { + instruction: '將日常語言轉換為 SQL 查詢', + name: 'SQL 巫師', + }, + GitGud: { + instruction: '根據使用者描述的版本控制作生成適當的 Git 命令', + name: '吉特古德', + }, + meetingTakeaways: { + name: '會議要點', + instruction: '將會議提煉成簡潔的摘要,包括討論主題、關鍵要點和行動專案', + }, + writingsPolisher: { + instruction: '使用先進的文案編輯技術來改進您的寫作', + name: '書寫拋光機', + }, + }, + overwriteMessage: '應用此提示將覆蓋現有配置。', + tryIt: '試試看', + noDataLine1: '在左側描述您的用例,', + instruction: '指示', + description: '提示生成器使用配置的模型來優化提示,以獲得更高的品質和更好的結構。請寫出清晰詳細的說明。', + generate: '生成', + apply: '應用', + instructionPlaceHolder: '寫出清晰具體的說明。', + overwriteTitle: '覆蓋現有配置?', + title: '提示生成器', + loading: '為您編排應用程式...', + noDataLine2: '業務流程預覽將在此處顯示。', + resTitle: '生成的提示', + }, + warningMessage: { + timeoutExceeded: '由於超時,不顯示結果。請參閱日誌以收集完整結果。', + }, + noResult: '輸出將顯示在此處。', } export default translation