fix(i18n): Complete missing translations and clean up legacy keys in app-debug across all locales (#23062) (#23065)
This commit is contained in:
119
web/__tests__/i18n-upload-features.test.ts
Normal file
119
web/__tests__/i18n-upload-features.test.ts
Normal file
@@ -0,0 +1,119 @@
|
||||
/**
|
||||
* Test suite for verifying upload feature translations across all locales
|
||||
* Specifically tests for issue #23062: Missing Upload feature translations (esp. audioUpload) across most locales
|
||||
*/
|
||||
|
||||
import fs from 'node:fs'
|
||||
import path from 'node:path'
|
||||
|
||||
// Get all supported locales from the i18n directory
|
||||
const I18N_DIR = path.join(__dirname, '../i18n')
|
||||
const getSupportedLocales = (): string[] => {
|
||||
return fs.readdirSync(I18N_DIR)
|
||||
.filter(item => fs.statSync(path.join(I18N_DIR, item)).isDirectory())
|
||||
.sort()
|
||||
}
|
||||
|
||||
// Helper function to load translation file content
|
||||
const loadTranslationContent = (locale: string): string => {
|
||||
const filePath = path.join(I18N_DIR, locale, 'app-debug.ts')
|
||||
|
||||
if (!fs.existsSync(filePath))
|
||||
throw new Error(`Translation file not found: ${filePath}`)
|
||||
|
||||
return fs.readFileSync(filePath, 'utf-8')
|
||||
}
|
||||
|
||||
// Helper function to check if upload features exist
|
||||
const hasUploadFeatures = (content: string): { [key: string]: boolean } => {
|
||||
return {
|
||||
fileUpload: /fileUpload\s*:\s*{/.test(content),
|
||||
imageUpload: /imageUpload\s*:\s*{/.test(content),
|
||||
documentUpload: /documentUpload\s*:\s*{/.test(content),
|
||||
audioUpload: /audioUpload\s*:\s*{/.test(content),
|
||||
featureBar: /bar\s*:\s*{/.test(content),
|
||||
}
|
||||
}
|
||||
|
||||
describe('Upload Features i18n Translations - Issue #23062', () => {
|
||||
let supportedLocales: string[]
|
||||
|
||||
beforeAll(() => {
|
||||
supportedLocales = getSupportedLocales()
|
||||
console.log(`Testing ${supportedLocales.length} locales for upload features`)
|
||||
})
|
||||
|
||||
test('all locales should have translation files', () => {
|
||||
supportedLocales.forEach((locale) => {
|
||||
const filePath = path.join(I18N_DIR, locale, 'app-debug.ts')
|
||||
expect(fs.existsSync(filePath)).toBe(true)
|
||||
})
|
||||
})
|
||||
|
||||
test('all locales should have required upload features', () => {
|
||||
const results: { [locale: string]: { [feature: string]: boolean } } = {}
|
||||
|
||||
supportedLocales.forEach((locale) => {
|
||||
const content = loadTranslationContent(locale)
|
||||
const features = hasUploadFeatures(content)
|
||||
results[locale] = features
|
||||
|
||||
// Check that all upload features exist
|
||||
expect(features.fileUpload).toBe(true)
|
||||
expect(features.imageUpload).toBe(true)
|
||||
expect(features.documentUpload).toBe(true)
|
||||
expect(features.audioUpload).toBe(true)
|
||||
expect(features.featureBar).toBe(true)
|
||||
})
|
||||
|
||||
console.log('✅ All locales have complete upload features')
|
||||
})
|
||||
|
||||
test('previously missing locales should now have audioUpload - Issue #23062', () => {
|
||||
// These locales were specifically missing audioUpload
|
||||
const previouslyMissingLocales = ['fa-IR', 'hi-IN', 'ro-RO', 'sl-SI', 'th-TH', 'uk-UA', 'vi-VN']
|
||||
|
||||
previouslyMissingLocales.forEach((locale) => {
|
||||
const content = loadTranslationContent(locale)
|
||||
|
||||
// Verify audioUpload exists
|
||||
expect(/audioUpload\s*:\s*{/.test(content)).toBe(true)
|
||||
|
||||
// Verify it has title and description
|
||||
expect(/audioUpload[^}]*title\s*:/.test(content)).toBe(true)
|
||||
expect(/audioUpload[^}]*description\s*:/.test(content)).toBe(true)
|
||||
|
||||
console.log(`✅ ${locale} - Issue #23062 resolved: audioUpload feature present`)
|
||||
})
|
||||
})
|
||||
|
||||
test('upload features should have required properties', () => {
|
||||
supportedLocales.forEach((locale) => {
|
||||
const content = loadTranslationContent(locale)
|
||||
|
||||
// Check fileUpload has required properties
|
||||
if (/fileUpload\s*:\s*{/.test(content)) {
|
||||
expect(/fileUpload[^}]*title\s*:/.test(content)).toBe(true)
|
||||
expect(/fileUpload[^}]*description\s*:/.test(content)).toBe(true)
|
||||
}
|
||||
|
||||
// Check imageUpload has required properties
|
||||
if (/imageUpload\s*:\s*{/.test(content)) {
|
||||
expect(/imageUpload[^}]*title\s*:/.test(content)).toBe(true)
|
||||
expect(/imageUpload[^}]*description\s*:/.test(content)).toBe(true)
|
||||
}
|
||||
|
||||
// Check documentUpload has required properties
|
||||
if (/documentUpload\s*:\s*{/.test(content)) {
|
||||
expect(/documentUpload[^}]*title\s*:/.test(content)).toBe(true)
|
||||
expect(/documentUpload[^}]*description\s*:/.test(content)).toBe(true)
|
||||
}
|
||||
|
||||
// Check audioUpload has required properties
|
||||
if (/audioUpload\s*:\s*{/.test(content)) {
|
||||
expect(/audioUpload[^}]*title\s*:/.test(content)).toBe(true)
|
||||
expect(/audioUpload[^}]*description\s*:/.test(content)).toBe(true)
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
@@ -198,6 +198,33 @@ const translation = {
|
||||
},
|
||||
},
|
||||
},
|
||||
fileUpload: {
|
||||
title: 'Datei-Upload',
|
||||
description: 'Das Chat-Eingabefeld unterstützt das Hochladen von Bildern, Dokumenten und anderen Dateien.',
|
||||
supportedTypes: 'Unterstützte Dateitypen',
|
||||
numberLimit: 'Max. Uploads',
|
||||
modalTitle: 'Datei-Upload-Einstellung',
|
||||
},
|
||||
imageUpload: {
|
||||
title: 'Bild-Upload',
|
||||
description: 'Ermöglicht das Hochladen von Bildern.',
|
||||
supportedTypes: 'Unterstützte Dateitypen',
|
||||
numberLimit: 'Max. Uploads',
|
||||
modalTitle: 'Bild-Upload-Einstellung',
|
||||
},
|
||||
bar: {
|
||||
empty: 'Funktionen aktivieren, um die Web-App-Benutzererfahrung zu verbessern',
|
||||
enableText: 'Funktionen aktiviert',
|
||||
manage: 'Verwalten',
|
||||
},
|
||||
documentUpload: {
|
||||
title: 'Dokument',
|
||||
description: 'Das Aktivieren von Dokumenten ermöglicht es dem Modell, Dokumente aufzunehmen und Fragen zu ihnen zu beantworten.',
|
||||
},
|
||||
audioUpload: {
|
||||
title: 'Audio',
|
||||
description: 'Das Aktivieren von Audio ermöglicht es dem Modell, Audiodateien für Transkription und Analyse zu verarbeiten.',
|
||||
},
|
||||
},
|
||||
resetConfig: {
|
||||
title: 'Zurücksetzen bestätigen?',
|
||||
|
@@ -198,6 +198,33 @@ const translation = {
|
||||
},
|
||||
},
|
||||
},
|
||||
fileUpload: {
|
||||
title: 'Subida de archivos',
|
||||
description: 'La caja de entrada del chat permite subir imágenes, documentos y otros archivos.',
|
||||
supportedTypes: 'Tipos de archivo soportados',
|
||||
numberLimit: 'Máximo de subidas',
|
||||
modalTitle: 'Configuración de subida de archivos',
|
||||
},
|
||||
imageUpload: {
|
||||
title: 'Subida de imágenes',
|
||||
description: 'Permite subir imágenes.',
|
||||
supportedTypes: 'Tipos de archivo soportados',
|
||||
numberLimit: 'Máximo de subidas',
|
||||
modalTitle: 'Configuración de subida de imágenes',
|
||||
},
|
||||
bar: {
|
||||
empty: 'Habilitar funciones para mejorar la experiencia del usuario de la aplicación web',
|
||||
enableText: 'Funciones habilitadas',
|
||||
manage: 'Gestionar',
|
||||
},
|
||||
documentUpload: {
|
||||
title: 'Documento',
|
||||
description: 'Habilitar Documento permitirá al modelo aceptar documentos y responder preguntas sobre ellos.',
|
||||
},
|
||||
audioUpload: {
|
||||
title: 'Audio',
|
||||
description: 'Habilitar Audio permitirá al modelo procesar archivos de audio para transcripción y análisis.',
|
||||
},
|
||||
},
|
||||
automatic: {
|
||||
title: 'Orquestación automatizada de aplicaciones',
|
||||
@@ -282,7 +309,6 @@ const translation = {
|
||||
'required': 'Requerido',
|
||||
'hide': 'Ocultar',
|
||||
'errorMsg': {
|
||||
varNameRequired: 'Nombre de la variable es requerido',
|
||||
labelNameRequired: 'Nombre de la etiqueta es requerido',
|
||||
varNameCanBeRepeat: 'El nombre de la variable no puede repetirse',
|
||||
atLeastOneOption: 'Se requiere al menos una opción',
|
||||
|
@@ -317,7 +317,6 @@ const translation = {
|
||||
'required': 'مورد نیاز',
|
||||
'hide': 'مخفی کردن',
|
||||
'errorMsg': {
|
||||
varNameRequired: 'نام متغیر مورد نیاز است',
|
||||
labelNameRequired: 'نام برچسب مورد نیاز است',
|
||||
varNameCanBeRepeat: 'نام متغیر نمیتواند تکراری باشد',
|
||||
atLeastOneOption: 'حداقل یک گزینه مورد نیاز است',
|
||||
@@ -451,6 +450,33 @@ const translation = {
|
||||
enabled: 'فعال',
|
||||
},
|
||||
},
|
||||
fileUpload: {
|
||||
title: 'آپلود فایل',
|
||||
description: 'جعبه ورودی چت امکان آپلود تصاویر، اسناد و سایر فایلها را فراهم میکند.',
|
||||
supportedTypes: 'انواع فایلهای پشتیبانی شده',
|
||||
numberLimit: 'حداکثر آپلود',
|
||||
modalTitle: 'تنظیمات آپلود فایل',
|
||||
},
|
||||
imageUpload: {
|
||||
title: 'آپلود تصویر',
|
||||
description: 'امکان آپلود تصاویر را فراهم میکند.',
|
||||
supportedTypes: 'انواع فایلهای پشتیبانی شده',
|
||||
numberLimit: 'حداکثر آپلود',
|
||||
modalTitle: 'تنظیمات آپلود تصویر',
|
||||
},
|
||||
bar: {
|
||||
empty: 'فعالسازی ویژگی برای بهبود تجربه کاربری اپلیکیشن وب',
|
||||
enableText: 'ویژگیهای فعال',
|
||||
manage: 'مدیریت',
|
||||
},
|
||||
documentUpload: {
|
||||
title: 'سند',
|
||||
description: 'فعالسازی سند به مدل اجازه میدهد اسناد را دریافت کرده و درباره آنها پاسخ دهد.',
|
||||
},
|
||||
audioUpload: {
|
||||
title: 'صوتی',
|
||||
description: 'فعالسازی صوت به مدل اجازه میدهد فایلهای صوتی را برای رونویسی و تجزیه و تحلیل پردازش کند.',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
@@ -198,6 +198,33 @@ const translation = {
|
||||
},
|
||||
},
|
||||
},
|
||||
fileUpload: {
|
||||
title: 'Téléchargement de fichier',
|
||||
description: 'La boîte de saisie de chat permet de télécharger des images, des documents et d\'autres fichiers.',
|
||||
supportedTypes: 'Types de fichiers supportés',
|
||||
numberLimit: 'Nombre max de téléchargements',
|
||||
modalTitle: 'Paramètres de téléchargement de fichier',
|
||||
},
|
||||
imageUpload: {
|
||||
title: 'Téléchargement d\'image',
|
||||
description: 'Permet de télécharger des images.',
|
||||
supportedTypes: 'Types de fichiers supportés',
|
||||
numberLimit: 'Nombre max de téléchargements',
|
||||
modalTitle: 'Paramètres de téléchargement d\'image',
|
||||
},
|
||||
bar: {
|
||||
empty: 'Activer la fonctionnalité pour améliorer l\'expérience utilisateur de l\'application web',
|
||||
enableText: 'Fonctionnalités activées',
|
||||
manage: 'Gérer',
|
||||
},
|
||||
documentUpload: {
|
||||
title: 'Document',
|
||||
description: 'Activer Document permettra au modèle de prendre des documents et de répondre aux questions à leur sujet.',
|
||||
},
|
||||
audioUpload: {
|
||||
title: 'Audio',
|
||||
description: 'Activer Audio permettra au modèle de traiter les fichiers audio pour la transcription et l\'analyse.',
|
||||
},
|
||||
},
|
||||
resetConfig: {
|
||||
title: 'Confirmer la réinitialisation ?',
|
||||
@@ -270,7 +297,6 @@ const translation = {
|
||||
'required': 'Required',
|
||||
'hide': 'Caché',
|
||||
'errorMsg': {
|
||||
varNameRequired: 'Variable name is required',
|
||||
labelNameRequired: 'Label name is required',
|
||||
varNameCanBeRepeat: 'Variable name can not be repeated',
|
||||
atLeastOneOption: 'At least one option is required',
|
||||
|
@@ -314,7 +314,6 @@ const translation = {
|
||||
'required': 'आवश्यक',
|
||||
'hide': 'छुपाएँ',
|
||||
'errorMsg': {
|
||||
varNameRequired: 'वेरिएबल नाम आवश्यक है',
|
||||
labelNameRequired: 'लेबल नाम आवश्यक है',
|
||||
varNameCanBeRepeat: 'वेरिएबल नाम दोहराया नहीं जा सकता',
|
||||
atLeastOneOption: 'कम से कम एक विकल्प आवश्यक है',
|
||||
@@ -468,6 +467,33 @@ const translation = {
|
||||
'उपकरणों का उपयोग करके एलएलएम की क्षमताओं का विस्तार किया जा सकता है, जैसे इंटरनेट पर खोज करना या वैज्ञानिक गणनाएँ करना',
|
||||
enabled: 'सक्षम',
|
||||
},
|
||||
fileUpload: {
|
||||
title: 'फ़ाइल अपलोड',
|
||||
description: 'चैट इनपुट बॉक्स छवियों, दस्तावेज़ों और अन्य फ़ाइलों को अपलोड करने की अनुमति देता है।',
|
||||
supportedTypes: 'समर्थित फ़ाइल प्रकार',
|
||||
numberLimit: 'अधिकतम अपलोड',
|
||||
modalTitle: 'फ़ाइल अपलोड सेटिंग',
|
||||
},
|
||||
imageUpload: {
|
||||
title: 'छवि अपलोड',
|
||||
description: 'छवियों को अपलोड करने की अनुमति दें।',
|
||||
supportedTypes: 'समर्थित फ़ाइल प्रकार',
|
||||
numberLimit: 'अधिकतम अपलोड',
|
||||
modalTitle: 'छवि अपलोड सेटिंग',
|
||||
},
|
||||
bar: {
|
||||
empty: 'वेब ऐप उपयोगकर्ता अनुभव को बेहतर बनाने के लिए फीचर सक्षम करें',
|
||||
enableText: 'फीचर सक्षम',
|
||||
manage: 'प्रबंधित करें',
|
||||
},
|
||||
documentUpload: {
|
||||
title: 'दस्तावेज़',
|
||||
description: 'दस्तावेज़ सक्षम करने से मॉडल दस्तावेज़ों को स्वीकार कर सकेगा और उनके बारे में प्रश्नों का उत्तर दे सकेगा।',
|
||||
},
|
||||
audioUpload: {
|
||||
title: 'ऑडियो',
|
||||
description: 'ऑडियो सक्षम करने से मॉडल ट्रांसक्रिप्शन और विश्लेषण के लिए ऑडियो फ़ाइलों को प्रोसेस कर सकेगा।',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
@@ -216,6 +216,33 @@ const translation = {
|
||||
},
|
||||
},
|
||||
},
|
||||
fileUpload: {
|
||||
title: 'Caricamento File',
|
||||
description: 'La casella di input della chat consente di caricare immagini, documenti e altri file.',
|
||||
supportedTypes: 'Tipi di File Supportati',
|
||||
numberLimit: 'Caricamenti massimi',
|
||||
modalTitle: 'Impostazione Caricamento File',
|
||||
},
|
||||
imageUpload: {
|
||||
title: 'Caricamento Immagine',
|
||||
description: 'Consente di caricare immagini.',
|
||||
supportedTypes: 'Tipi di File Supportati',
|
||||
numberLimit: 'Caricamenti massimi',
|
||||
modalTitle: 'Impostazione Caricamento Immagine',
|
||||
},
|
||||
bar: {
|
||||
empty: 'Abilita funzionalità per migliorare l\'esperienza utente dell\'app web',
|
||||
enableText: 'Funzionalità Abilitate',
|
||||
manage: 'Gestisci',
|
||||
},
|
||||
documentUpload: {
|
||||
title: 'Documento',
|
||||
description: 'Abilitare Documento consentirà al modello di accettare documenti e rispondere a domande su di essi.',
|
||||
},
|
||||
audioUpload: {
|
||||
title: 'Audio',
|
||||
description: 'Abilitare Audio consentirà al modello di elaborare file audio per trascrizione e analisi.',
|
||||
},
|
||||
},
|
||||
automatic: {
|
||||
title: 'Orchestrazione automatizzata delle applicazioni',
|
||||
@@ -316,7 +343,6 @@ const translation = {
|
||||
'required': 'Richiesto',
|
||||
'hide': 'Nascondi',
|
||||
'errorMsg': {
|
||||
varNameRequired: 'Il nome della variabile è richiesto',
|
||||
labelNameRequired: 'Il nome dell\'etichetta è richiesto',
|
||||
varNameCanBeRepeat: 'Il nome della variabile non può essere ripetuto',
|
||||
atLeastOneOption: 'È richiesta almeno un\'opzione',
|
||||
|
@@ -222,6 +222,10 @@ const translation = {
|
||||
title: 'ドキュメント',
|
||||
description: 'ドキュメント機能を有効にすると、AI モデルがファイルを処理し、その内容に基づいて質問に回答できるようになります。',
|
||||
},
|
||||
audioUpload: {
|
||||
title: '音声',
|
||||
description: '音声機能を有効にすると、モデルが音声ファイルの転写と分析を処理できるようになります。',
|
||||
},
|
||||
},
|
||||
codegen: {
|
||||
title: 'コードジェネレーター',
|
||||
@@ -307,6 +311,9 @@ const translation = {
|
||||
waitForImgUpload: '画像のアップロードが完了するまでお待ちください',
|
||||
waitForFileUpload: 'ファイルのアップロードが完了するまでお待ちください',
|
||||
},
|
||||
warningMessage: {
|
||||
timeoutExceeded: 'タイムアウトのため結果が表示されません。完全な結果を取得するにはログを参照してください。',
|
||||
},
|
||||
chatSubTitle: 'プロンプト',
|
||||
completionSubTitle: '接頭辞プロンプト',
|
||||
promptTip: 'プロンプトは、AI の応答を指示と制約で誘導します。 {{input}} のような変数を挿入します。このプロンプトはユーザーには表示されません。',
|
||||
@@ -386,7 +393,6 @@ const translation = {
|
||||
'maxNumberOfUploads': 'アップロードの最大数',
|
||||
'maxNumberTip': 'ドキュメント < {{docLimit}}, 画像 < {{imgLimit}}, 音声 < {{audioLimit}}, 映像 < {{videoLimit}}',
|
||||
'errorMsg': {
|
||||
varNameRequired: '変数名は必須です',
|
||||
labelNameRequired: 'ラベル名は必須です',
|
||||
varNameCanBeRepeat: '変数名は繰り返すことができません',
|
||||
atLeastOneOption: '少なくとも 1 つのオプションが必要です',
|
||||
|
@@ -198,6 +198,33 @@ const translation = {
|
||||
},
|
||||
},
|
||||
},
|
||||
fileUpload: {
|
||||
title: '파일 업로드',
|
||||
description: '채팅 입력 상자에서 이미지, 문서 및 기타 파일 업로드를 지원합니다.',
|
||||
supportedTypes: '지원 파일 유형',
|
||||
numberLimit: '최대 업로드 수',
|
||||
modalTitle: '파일 업로드 설정',
|
||||
},
|
||||
imageUpload: {
|
||||
title: '이미지 업로드',
|
||||
description: '이미지 업로드를 지원합니다.',
|
||||
supportedTypes: '지원 파일 유형',
|
||||
numberLimit: '최대 업로드 수',
|
||||
modalTitle: '이미지 업로드 설정',
|
||||
},
|
||||
bar: {
|
||||
empty: '웹 앱 사용자 경험을 향상시키는 기능 활성화',
|
||||
enableText: '기능 활성화됨',
|
||||
manage: '관리',
|
||||
},
|
||||
documentUpload: {
|
||||
title: '문서',
|
||||
description: '문서를 활성화하면 모델이 문서를 받아들이고 문서에 대한 질문에 답할 수 있습니다.',
|
||||
},
|
||||
audioUpload: {
|
||||
title: '오디오',
|
||||
description: '오디오를 활성화하면 모델이 전사 및 분석을 위해 오디오 파일을 처리할 수 있습니다.',
|
||||
},
|
||||
},
|
||||
automatic: {
|
||||
title: '자동 어플리케이션 오케스트레이션',
|
||||
@@ -281,7 +308,6 @@ const translation = {
|
||||
'required': '필수',
|
||||
'hide': '숨기기',
|
||||
'errorMsg': {
|
||||
varNameRequired: '변수명은 필수입니다',
|
||||
labelNameRequired: '레이블명은 필수입니다',
|
||||
varNameCanBeRepeat: '변수명은 중복될 수 없습니다',
|
||||
atLeastOneOption: '적어도 하나의 옵션이 필요합니다',
|
||||
|
@@ -214,6 +214,33 @@ const translation = {
|
||||
},
|
||||
},
|
||||
},
|
||||
fileUpload: {
|
||||
title: 'Przesyłanie plików',
|
||||
description: 'Pole wprowadzania czatu umożliwia przesyłanie obrazów, dokumentów i innych plików.',
|
||||
supportedTypes: 'Obsługiwane typy plików',
|
||||
numberLimit: 'Maksymalna liczba przesłanych plików',
|
||||
modalTitle: 'Ustawienia przesyłania plików',
|
||||
},
|
||||
imageUpload: {
|
||||
title: 'Przesyłanie obrazów',
|
||||
description: 'Umożliwia przesyłanie obrazów.',
|
||||
supportedTypes: 'Obsługiwane typy plików',
|
||||
numberLimit: 'Maksymalna liczba przesłanych plików',
|
||||
modalTitle: 'Ustawienia przesyłania obrazów',
|
||||
},
|
||||
bar: {
|
||||
empty: 'Włącz funkcje aby poprawić doświadczenie użytkownika aplikacji webowej',
|
||||
enableText: 'Funkcje włączone',
|
||||
manage: 'Zarządzaj',
|
||||
},
|
||||
documentUpload: {
|
||||
title: 'Dokument',
|
||||
description: 'Włączenie Dokumentu pozwoli modelowi na przyjmowanie dokumentów i odpowiadanie na pytania o nich.',
|
||||
},
|
||||
audioUpload: {
|
||||
title: 'Dźwięk',
|
||||
description: 'Włączenie Dźwięku pozwoli modelowi na przetwarzanie plików audio do transkrypcji i analizy.',
|
||||
},
|
||||
},
|
||||
automatic: {
|
||||
title: 'Zautomatyzowana orkiestracja aplikacji',
|
||||
@@ -311,7 +338,6 @@ const translation = {
|
||||
'required': 'Wymagane',
|
||||
'hide': 'Ukryj',
|
||||
'errorMsg': {
|
||||
varNameRequired: 'Wymagana nazwa zmiennej',
|
||||
labelNameRequired: 'Wymagana nazwa etykiety',
|
||||
varNameCanBeRepeat: 'Nazwa zmiennej nie może się powtarzać',
|
||||
atLeastOneOption: 'Wymagana jest co najmniej jedna opcja',
|
||||
|
@@ -198,6 +198,33 @@ const translation = {
|
||||
},
|
||||
},
|
||||
},
|
||||
fileUpload: {
|
||||
title: 'Upload de Arquivo',
|
||||
description: 'A caixa de entrada do chat permite fazer upload de imagens, documentos e outros arquivos.',
|
||||
supportedTypes: 'Tipos de Arquivo Suportados',
|
||||
numberLimit: 'Máximo de uploads',
|
||||
modalTitle: 'Configuração de Upload de Arquivo',
|
||||
},
|
||||
imageUpload: {
|
||||
title: 'Upload de Imagem',
|
||||
description: 'Permite fazer upload de imagens.',
|
||||
supportedTypes: 'Tipos de Arquivo Suportados',
|
||||
numberLimit: 'Máximo de uploads',
|
||||
modalTitle: 'Configuração de Upload de Imagem',
|
||||
},
|
||||
bar: {
|
||||
empty: 'Habilitar recursos para melhorar a experiência do usuário do aplicativo web',
|
||||
enableText: 'Recursos Habilitados',
|
||||
manage: 'Gerenciar',
|
||||
},
|
||||
documentUpload: {
|
||||
title: 'Documento',
|
||||
description: 'Habilitar Documento permitirá que o modelo aceite documentos e responda perguntas sobre eles.',
|
||||
},
|
||||
audioUpload: {
|
||||
title: 'Áudio',
|
||||
description: 'Habilitar Áudio permitirá que o modelo processe arquivos de áudio para transcrição e análise.',
|
||||
},
|
||||
},
|
||||
automatic: {
|
||||
title: 'Orquestração Automatizada de Aplicativos',
|
||||
@@ -287,7 +314,6 @@ const translation = {
|
||||
'required': 'Obrigatório',
|
||||
'hide': 'Ocultar',
|
||||
'errorMsg': {
|
||||
varNameRequired: 'O nome da variável é obrigatório',
|
||||
labelNameRequired: 'O nome do rótulo é obrigatório',
|
||||
varNameCanBeRepeat: 'O nome da variável não pode ser repetido',
|
||||
atLeastOneOption: 'Pelo menos uma opção é obrigatória',
|
||||
|
@@ -198,6 +198,33 @@ const translation = {
|
||||
},
|
||||
},
|
||||
},
|
||||
fileUpload: {
|
||||
title: 'Încărcare fișier',
|
||||
description: 'Caseta de intrare chat permite încărcarea de imagini, documente și alte fișiere.',
|
||||
supportedTypes: 'Tipuri de fișiere suportate',
|
||||
numberLimit: 'Numărul maxim de încărcări',
|
||||
modalTitle: 'Setări încărcare fișier',
|
||||
},
|
||||
imageUpload: {
|
||||
title: 'Încărcare imagine',
|
||||
description: 'Permite încărcarea imaginilor.',
|
||||
supportedTypes: 'Tipuri de fișiere suportate',
|
||||
numberLimit: 'Numărul maxim de încărcări',
|
||||
modalTitle: 'Setări încărcare imagine',
|
||||
},
|
||||
bar: {
|
||||
empty: 'Activează funcții pentru a îmbunătăți experiența utilizatorilor aplicației web',
|
||||
enableText: 'Funcții activate',
|
||||
manage: 'Gestionează',
|
||||
},
|
||||
documentUpload: {
|
||||
title: 'Document',
|
||||
description: 'Activarea Documentului va permite modelului să primească documente și să răspundă la întrebări despre ele.',
|
||||
},
|
||||
audioUpload: {
|
||||
title: 'Audio',
|
||||
description: 'Activarea Audio va permite modelului să proceseze fișiere audio pentru transcriere și analiză.',
|
||||
},
|
||||
},
|
||||
automatic: {
|
||||
title: 'Orchestrarea automată a aplicațiilor',
|
||||
@@ -287,7 +314,6 @@ const translation = {
|
||||
'required': 'Obligatoriu',
|
||||
'hide': 'Ascundeți',
|
||||
'errorMsg': {
|
||||
varNameRequired: 'Numele variabilei este obligatoriu',
|
||||
labelNameRequired: 'Numele etichetei este obligatoriu',
|
||||
varNameCanBeRepeat: 'Numele variabilei nu poate fi repetat',
|
||||
atLeastOneOption: 'Este necesară cel puțin o opțiune',
|
||||
|
@@ -198,6 +198,33 @@ const translation = {
|
||||
},
|
||||
},
|
||||
},
|
||||
fileUpload: {
|
||||
title: 'Загрузка файлов',
|
||||
description: 'Поле ввода чата позволяет загружать изображения, документы и другие файлы.',
|
||||
supportedTypes: 'Поддерживаемые типы файлов',
|
||||
numberLimit: 'Максимум загрузок',
|
||||
modalTitle: 'Настройка загрузки файлов',
|
||||
},
|
||||
imageUpload: {
|
||||
title: 'Загрузка изображений',
|
||||
description: 'Позволяет загружать изображения.',
|
||||
supportedTypes: 'Поддерживаемые типы файлов',
|
||||
numberLimit: 'Максимум загрузок',
|
||||
modalTitle: 'Настройка загрузки изображений',
|
||||
},
|
||||
bar: {
|
||||
empty: 'Включить функции для улучшения пользовательского опыта веб-приложения',
|
||||
enableText: 'Функции включены',
|
||||
manage: 'Управлять',
|
||||
},
|
||||
documentUpload: {
|
||||
title: 'Документ',
|
||||
description: 'Включение Документа позволит модели принимать документы и отвечать на вопросы о них.',
|
||||
},
|
||||
audioUpload: {
|
||||
title: 'Аудио',
|
||||
description: 'Включение Аудио позволит модели обрабатывать аудиофайлы для транскрипции и анализа.',
|
||||
},
|
||||
},
|
||||
generate: {
|
||||
title: 'Генератор промпта',
|
||||
|
@@ -236,6 +236,33 @@ const translation = {
|
||||
ok: 'V redu',
|
||||
},
|
||||
},
|
||||
fileUpload: {
|
||||
title: 'Nalaganje datoteke',
|
||||
description: 'Pogovorno polje omogoča nalaganje slik, dokumentov in drugih datotek.',
|
||||
supportedTypes: 'Podprte vrste datotek',
|
||||
numberLimit: 'Največje število nalaganj',
|
||||
modalTitle: 'Nastavitve nalaganja datoteke',
|
||||
},
|
||||
imageUpload: {
|
||||
title: 'Nalaganje slike',
|
||||
description: 'Omogoči nalaganje slik.',
|
||||
supportedTypes: 'Podprte vrste datotek',
|
||||
numberLimit: 'Največje število nalaganj',
|
||||
modalTitle: 'Nastavitve nalaganja slike',
|
||||
},
|
||||
bar: {
|
||||
empty: 'Omogoči funkcije za izboljšanje uporabniške izkušnje spletne aplikacije',
|
||||
enableText: 'Funkcije omogočene',
|
||||
manage: 'Upravljaj',
|
||||
},
|
||||
documentUpload: {
|
||||
title: 'Dokument',
|
||||
description: 'Omogočitev dokumenta bo omogočila modelu, da sprejme dokumente in odgovori na vprašanja o njih.',
|
||||
},
|
||||
audioUpload: {
|
||||
title: 'Zvok',
|
||||
description: 'Omogočitev zvoka bo omogočila modelu, da obdela zvočne datoteke za prepisovanje in analizo.',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
@@ -1,4 +1,33 @@
|
||||
const translation = {
|
||||
feature: {
|
||||
fileUpload: {
|
||||
title: 'การอัปโหลดไฟล์',
|
||||
description: 'กล่องข้อความแชทช่วยให้สามารถอัปโหลดรูปภาพ เอกสาร และไฟล์อื่นๆ ได้',
|
||||
supportedTypes: 'ประเภทไฟล์ที่รองรับ',
|
||||
numberLimit: 'จำนวนสูงสุดที่อัปโหลดได้',
|
||||
modalTitle: 'การตั้งค่าการอัปโหลดไฟล์',
|
||||
},
|
||||
imageUpload: {
|
||||
title: 'การอัปโหลดรูปภาพ',
|
||||
description: 'อนุญาตให้อัปโหลดรูปภาพได้',
|
||||
supportedTypes: 'ประเภทไฟล์ที่รองรับ',
|
||||
numberLimit: 'จำนวนสูงสุดที่อัปโหลดได้',
|
||||
modalTitle: 'การตั้งค่าการอัปโหลดรูปภาพ',
|
||||
},
|
||||
bar: {
|
||||
empty: 'เปิดใช้งานคุณสมบัติเพื่อเพิ่มประสบการณ์ผู้ใช้ของเว็บแอป',
|
||||
enableText: 'เปิดใช้งานคุณสมบัติแล้ว',
|
||||
manage: 'จัดการ',
|
||||
},
|
||||
documentUpload: {
|
||||
title: 'เอกสาร',
|
||||
description: 'การเปิดใช้งานเอกสารจะทำให้โมเดลสามารถรับเอกสารและตอบคำถามเกี่ยวกับเอกสารเหล่านั้นได้',
|
||||
},
|
||||
audioUpload: {
|
||||
title: 'เสียง',
|
||||
description: 'การเปิดใช้งานเสียงจะทำให้โมเดลสามารถประมวลผลไฟล์เสียงเพื่อการถอดข้อความและการวิเคราะห์ได้',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
|
@@ -198,6 +198,33 @@ const translation = {
|
||||
},
|
||||
},
|
||||
},
|
||||
fileUpload: {
|
||||
title: 'Dosya Yükleme',
|
||||
description: 'Sohbet giriş kutusu görüntü, belge ve diğer dosyaların yüklenmesine izin verir.',
|
||||
supportedTypes: 'Desteklenen Dosya Türleri',
|
||||
numberLimit: 'Maksimum yükleme sayısı',
|
||||
modalTitle: 'Dosya Yükleme Ayarları',
|
||||
},
|
||||
imageUpload: {
|
||||
title: 'Görüntü Yükleme',
|
||||
description: 'Görüntü yüklemeye izin verir.',
|
||||
supportedTypes: 'Desteklenen Dosya Türleri',
|
||||
numberLimit: 'Maksimum yükleme sayısı',
|
||||
modalTitle: 'Görüntü Yükleme Ayarları',
|
||||
},
|
||||
bar: {
|
||||
empty: 'Web uygulaması kullanıcı deneyimini geliştirmek için özellikleri etkinleştirin',
|
||||
enableText: 'Özellikler Etkinleştirildi',
|
||||
manage: 'Yönet',
|
||||
},
|
||||
documentUpload: {
|
||||
title: 'Belge',
|
||||
description: 'Belgeyi etkinleştirmek modelin belgeleri almasına ve bunlar hakkında sorulara cevap vermesine izin verir.',
|
||||
},
|
||||
audioUpload: {
|
||||
title: 'Ses',
|
||||
description: 'Sesi etkinleştirmek modelin transkripsiyon ve analiz için ses dosyalarını işlemesine izin verir.',
|
||||
},
|
||||
},
|
||||
generate: {
|
||||
title: 'Prompt Oluşturucu',
|
||||
@@ -323,7 +350,6 @@ const translation = {
|
||||
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',
|
||||
|
@@ -198,6 +198,33 @@ const translation = {
|
||||
},
|
||||
},
|
||||
},
|
||||
fileUpload: {
|
||||
title: 'Завантаження файлу',
|
||||
description: 'Поле вводу чату дозволяє завантажувати зображення, документи та інші файли.',
|
||||
supportedTypes: 'Підтримувані типи файлів',
|
||||
numberLimit: 'Максимальна кількість завантажень',
|
||||
modalTitle: 'Налаштування завантаження файлів',
|
||||
},
|
||||
imageUpload: {
|
||||
title: 'Завантаження зображення',
|
||||
description: 'Дозволити завантаження зображень.',
|
||||
supportedTypes: 'Підтримувані типи файлів',
|
||||
numberLimit: 'Максимальна кількість завантажень',
|
||||
modalTitle: 'Налаштування завантаження зображень',
|
||||
},
|
||||
bar: {
|
||||
empty: 'Увімкніть функції для покращення користувацького досвіду веб-додатка',
|
||||
enableText: 'Функції увімкнено',
|
||||
manage: 'Керувати',
|
||||
},
|
||||
documentUpload: {
|
||||
title: 'Документ',
|
||||
description: 'Увімкнення документа дозволить моделі приймати документи та відповідати на запитання про них.',
|
||||
},
|
||||
audioUpload: {
|
||||
title: 'Аудіо',
|
||||
description: 'Увімкнення аудіо дозволить моделі обробляти аудіофайли для транскрипції та аналізу.',
|
||||
},
|
||||
},
|
||||
automatic: {
|
||||
title: 'Автоматизована оркестрація застосунків',
|
||||
@@ -281,7 +308,6 @@ const translation = {
|
||||
'required': 'Обов\'язково',
|
||||
'hide': 'Приховати',
|
||||
'errorMsg': {
|
||||
varNameRequired: 'Потрібно вказати назву змінної',
|
||||
labelNameRequired: 'Потрібно вказати назву мітки',
|
||||
varNameCanBeRepeat: 'Назва змінної не може повторюватися',
|
||||
atLeastOneOption: 'Потрібно щонайменше одну опцію',
|
||||
|
@@ -198,6 +198,33 @@ const translation = {
|
||||
},
|
||||
},
|
||||
},
|
||||
fileUpload: {
|
||||
title: 'Tải lên tệp',
|
||||
description: 'Hộp nhập chat cho phép tải lên hình ảnh, tài liệu và các tệp khác.',
|
||||
supportedTypes: 'Các loại tệp được hỗ trợ',
|
||||
numberLimit: 'Số lượng tối đa có thể tải lên',
|
||||
modalTitle: 'Cài đặt tải lên tệp',
|
||||
},
|
||||
imageUpload: {
|
||||
title: 'Tải lên hình ảnh',
|
||||
description: 'Cho phép tải lên hình ảnh.',
|
||||
supportedTypes: 'Các loại tệp được hỗ trợ',
|
||||
numberLimit: 'Số lượng tối đa có thể tải lên',
|
||||
modalTitle: 'Cài đặt tải lên hình ảnh',
|
||||
},
|
||||
bar: {
|
||||
empty: 'Bật tính năng để cải thiện trải nghiệm người dùng ứng dụng web',
|
||||
enableText: 'Tính năng đã được bật',
|
||||
manage: 'Quản lý',
|
||||
},
|
||||
documentUpload: {
|
||||
title: 'Tài liệu',
|
||||
description: 'Bật tài liệu sẽ cho phép mô hình nhận tài liệu và trả lời các câu hỏi về chúng.',
|
||||
},
|
||||
audioUpload: {
|
||||
title: 'Âm thanh',
|
||||
description: 'Bật âm thanh sẽ cho phép mô hình xử lý các tệp âm thanh để phiên âm và phân tích.',
|
||||
},
|
||||
},
|
||||
automatic: {
|
||||
title: 'Tự động hóa triển khai ứng dụng',
|
||||
@@ -281,7 +308,6 @@ const translation = {
|
||||
'required': 'Bắt buộc',
|
||||
'hide': 'Ẩn',
|
||||
'errorMsg': {
|
||||
varNameRequired: 'Tên biến là bắt buộc',
|
||||
labelNameRequired: 'Tên nhãn là bắt buộc',
|
||||
varNameCanBeRepeat: 'Tên biến không được trùng lặp',
|
||||
atLeastOneOption: 'Cần ít nhất một tùy chọn',
|
||||
|
@@ -222,6 +222,10 @@ const translation = {
|
||||
title: '文档',
|
||||
description: '启用文档后,模型可以接收文档并回答关于它们的问题。',
|
||||
},
|
||||
audioUpload: {
|
||||
title: '音频',
|
||||
description: '启用音频后,模型可以处理音频文件进行转录和分析。',
|
||||
},
|
||||
},
|
||||
codegen: {
|
||||
title: '代码生成器',
|
||||
@@ -307,6 +311,9 @@ const translation = {
|
||||
waitForImgUpload: '请等待图片上传完成',
|
||||
waitForFileUpload: '请等待文件上传完成',
|
||||
},
|
||||
warningMessage: {
|
||||
timeoutExceeded: '由于超时,结果未显示。请参考日志获取完整结果。',
|
||||
},
|
||||
chatSubTitle: '提示词',
|
||||
completionSubTitle: '前缀提示词',
|
||||
promptTip:
|
||||
|
@@ -25,7 +25,7 @@ const translation = {
|
||||
debugConfig: '除錯',
|
||||
addFeature: '新增功能',
|
||||
automatic: '產生',
|
||||
stopResponding: '停止響應',
|
||||
stopResponding: '停止回應',
|
||||
agree: '贊同',
|
||||
disagree: '反對',
|
||||
cancelAgree: '取消贊同',
|
||||
@@ -198,6 +198,33 @@ const translation = {
|
||||
},
|
||||
},
|
||||
},
|
||||
fileUpload: {
|
||||
title: '檔案上傳',
|
||||
description: '聊天輸入框支援上傳檔案。類型包括圖片、文件以及其它類型',
|
||||
supportedTypes: '支援的檔案類型',
|
||||
numberLimit: '最大上傳數',
|
||||
modalTitle: '檔案上傳設定',
|
||||
},
|
||||
imageUpload: {
|
||||
title: '圖片上傳',
|
||||
description: '支援上傳圖片',
|
||||
supportedTypes: '支援的檔案類型',
|
||||
numberLimit: '最大上傳數',
|
||||
modalTitle: '圖片上傳設定',
|
||||
},
|
||||
bar: {
|
||||
empty: '開啟功能增強 web app 使用者體驗',
|
||||
enableText: '功能已開啟',
|
||||
manage: '管理',
|
||||
},
|
||||
documentUpload: {
|
||||
title: '文件',
|
||||
description: '啟用文件後,模型可以接收文件並回答關於它們的問題。',
|
||||
},
|
||||
audioUpload: {
|
||||
title: '音訊',
|
||||
description: '啟用音訊後,模型可以處理音訊檔案進行轉錄和分析。',
|
||||
},
|
||||
},
|
||||
resetConfig: {
|
||||
title: '確認重置?',
|
||||
|
Reference in New Issue
Block a user