| @@ -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: '確認重置?', | |||