adds Spanish languaje

This commit is contained in:
CandyGZ
2025-09-27 16:21:18 -06:00
committed by xiaolai
parent 4debda45ea
commit 0e353c9569
2 changed files with 950 additions and 1 deletions

945
enjoy/src/i18n/es.json Normal file
View File

@@ -0,0 +1,945 @@
{
"models": {
"user": {
"id": "ID",
"name": "Nombre"
},
"audio": {
"name": "nombre",
"namePlaceholder": "nombra tu audio",
"type": "tipo",
"description": "descripción",
"descriptionPlaceholder": "describe tu audio",
"format": "formato",
"duration": "duración",
"size": "tamaño",
"source": "origen",
"createdAt": "creado el",
"updatedAt": "actualizado el",
"recordingsCount": "conteo de grabaciones",
"recordingsDuration": "duración de grabaciones",
"isTranscribed": "transcrito",
"added": "Audio agregado con éxito",
"removed": "Audio eliminado con éxito",
"notFound": "Audio no encontrado",
"fileTooLarge": "Archivo demasiado grande. Por favor, selecciona un audio de menos de 50MB. {{file}}",
"failedToAdd": "Error al agregar, {{ error }}",
"fileNotFound": "Archivo no encontrado {{file}}",
"fileNotSupported": "Archivo no compatible {{file}}",
"failedToCopyFile": "Error al copiar el archivo {{file}}",
"failedToDownloadFile": "Error al descargar el archivo {{file}}",
"transcriptionFinished": "Transcripción finalizada"
},
"video": {
"name": "nombre",
"namePlaceholder": "nombra tu video",
"type": "tipo",
"description": "descripción",
"descriptionPlaceholder": "describe tu video",
"format": "formato",
"duration": "duración",
"size": "tamaño",
"source": "origen",
"createdAt": "creado el",
"updatedAt": "actualizado el",
"recordingsCount": "conteo de grabaciones",
"recordingsDuration": "duración de grabaciones",
"isTranscribed": "transcrito",
"added": "Video agregado con éxito",
"removed": "Video eliminado con éxito",
"notFound": "Video no encontrado",
"fileTooLarge": "Archivo demasiado grande. Por favor, selecciona un video de menos de 100MB. {{file}}",
"failedToAdd": "Error al agregar, {{ error }}",
"fileNotFound": "Archivo no encontrado {{file}}",
"fileNotSupported": "Archivo no compatible {{file}}",
"failedToCopyFile": "Error al copiar el archivo {{file}}",
"failedToDownloadFile": "Error al descargar el archivo {{file}}",
"transcriptionFinished": "Transcripción finalizada"
},
"recording": {
"segmentIndex": "Índice de Segmento",
"segmentText": "Texto del Segmento",
"duration": "Duración",
"durationTooShort": "Duración demasiado corta",
"failedToSave": "Error al guardar la grabación",
"notFound": "Grabación no encontrada",
"cannotDetectAnySound": "No se detecta ningún sonido en la grabación, por favor revisa tu micrófono"
},
"conversation": {
"name": "Nombre",
"engine": "Motor de IA",
"baseUrl": "Endpoint de solicitud",
"baseUrlDescription": "déjalo en blanco si no tienes uno",
"configuration": "Configuración",
"model": "Modelo de IA",
"type": "Tipo de IA",
"roleDefinition": "Definición de rol",
"roleDefinitionPlaceholder": "Describe el rol de la IA",
"temperature": "Temperatura",
"temperatureDescription": "A mayor temperatura, más creativo será el resultado",
"maxTokens": "Tokens máximos",
"maxTokensDescription": "El número máximo de tokens a generar",
"presencePenalty": "Penalización de presencia",
"presencePenaltyDescription": "Valores positivos penalizan nuevos tokens si ya aparecen en el texto, aumentando la probabilidad de que el modelo hable de nuevos temas.",
"frequencyPenalty": "Penalización de frecuencia",
"frequencyPenaltyDescription": "Valores positivos penalizan nuevos tokens según su frecuencia existente, disminuyendo la probabilidad de que el modelo repita la misma línea.",
"historyBufferSize": "Tamaño del búfer de historial",
"historyBufferSizeDescription": "El número de mensajes del historial a incluir en el contexto",
"numberOfChoices": "Número de opciones",
"numberOfChoicesDescription": "El número de resultados a generar",
"ttsEngine": "Motor TTS",
"ttsModel": "Modelo TTS",
"ttsVoice": "Voz TTS",
"ttsLanguage": "Idioma TTS",
"ttsBaseUrl": "URL base de TTS",
"ttsBaseUrlDescription": "déjalo en blanco si no tienes uno",
"notFound": "Conversación no encontrada",
"contentRequired": "Contenido requerido",
"failedToGenerateResponse": "Error al generar respuesta, por favor intenta de nuevo",
"modelIsRequired": "Se requiere un modelo",
"ttsConfigurationsIsRequired": "Se requieren configuraciones de TTS",
"ttsModelIsRequired": "Se requiere un modelo de TTS",
"ttsEngineIsRequired": "Se requiere un motor de TTS"
},
"pronunciationAssessment": {
"pronunciationScore": "Puntuación de Pronunciación",
"fluencyScore": "Puntuación de Fluidez",
"completenessScore": "Puntuación de Completitud",
"accuracyScore": "Puntuación de Precisión",
"prosodyScore": "Puntuación de Prosodia",
"grammarScore": "Puntuación de Gramática",
"vocabularyScore": "Puntuación de Vocabulario",
"topicScore": "Puntuación de Tema",
"errors": {
"omission": "Omisión",
"insertion": "Inserción",
"misspronunciation": "Pronunciación incorrecta",
"unexpectedBreak": "Pausa inesperada",
"missingBreak": "Falta de pausa",
"monotone": "Monótono"
},
"explainations": {
"pronunciationScore": "La puntuación de pronunciación es la puntuación general de la pronunciación, fluidez, completitud y precisión del habla. Se calcula mediante el promedio ponderado de las cuatro puntuaciones.",
"accuracyScore": "La puntuación de precisión es la precisión del habla. Indica qué tan cercano es el habla al texto de referencia.",
"fluencyScore": "La puntuación de fluidez es la fluidez del habla. Indica qué tan fluido es el habla.",
"completenessScore": "La puntuación de completitud es la completitud del habla. Indica qué tan completo es el habla.",
"prosodyScore": "La puntuación de prosodia es la prosodia del habla. Indica qué tan natural es el habla.",
"omission": "Omisión son las palabras que están en el texto de referencia pero no en el habla.",
"insertion": "Inserción son las palabras que están en el habla pero no en el texto de referencia.",
"misspronunciation": "La pronunciación de la palabra no es correcta.",
"unexpectedBreak": "Hay una pausa entre dos palabras cuando no hay puntuación entre ellas.",
"missingBreak": "No hay pausa entre dos palabras cuando hay puntuación entre ellas.",
"monotone": "La palabra es monótona."
}
},
"chatAgent": {
"notFound": "Agente de chat no encontrado",
"created": "Agente de chat creado",
"updated": "Agente de chat actualizado",
"deleted": "Agente de chat eliminado",
"type": "Tipo",
"typeGptDescription": "El agente GPT puede chatear contigo.",
"typeTtsDescription": "El agente TTS puede convertir texto a voz.",
"typeSttDescription": "El agente STT puede convertir voz a texto.",
"name": "Nombre",
"namePlaceholder": "Asistente Enjoy",
"nameDescription": "Te ayuda a identificar este agente de chat",
"description": "Descripción",
"descriptionPlaceholder": "Pregúntame lo que sea",
"descriptionDescription": "Describe brevemente este agente de chat (No se incluirá en el prompt)",
"prompt": "Prompt",
"promptPlaceholder": "Eres mi asistente de IA, por favor responde a todas mis preguntas.",
"promptDescription": "La definición del rol (prompt) del agente de chat"
},
"chatMember": {
"prompt": "Prompt Adicional",
"promptDescription": "El prompt adicional se agregará al prompt del sistema del agente de chat. Es útil cuando quieres personalizar el comportamiento del agente en este chat específico.",
"promptPlaceholder": "Por ejemplo: por favor, usa oraciones simples tanto como sea posible y no respondas más de 10 oraciones a la vez.",
"gptSettings": "Configuración de LLM",
"ttsSettings": "Texto a Voz",
"moreSettings": "Más Configuraciones",
"added": "Miembro del chat agregado",
"removed": "Miembro del chat eliminado",
"notFound": "Miembro del chat no encontrado",
"atLeastOneAgent": "El chat debe tener al menos 1 agente.",
"cannotAddMemberToThisChat": "No se puede agregar un miembro a este chat",
"onlyGPTAgentCanBeAddedToThisChat": "Solo se pueden agregar agentes GPT a este chat"
},
"chat": {
"notFound": "Chat no encontrado",
"created": "Chat creado",
"updated": "Chat actualizado",
"deleted": "Chat eliminado",
"name": "Nombre",
"language": "Idioma",
"topic": "Tema",
"members": "Miembros",
"enableChatAssistant": "Habilitar Asistente de Chat",
"enableChatAssistantDescription": "Cuando está habilitado, puedes usar SUGERIR o REFINAR para ayudarte a chatear con el agente.",
"enableAutoTts": "Habilitar TTS Automático",
"enableAutoTtsDescription": "Cuando está habilitado, todas las respuestas se convertirán a audio automáticamente.",
"generateTopic": "Generar Tema",
"sttAiServicePlaceholder": "Por favor, selecciona",
"sttAiServiceDescription": "Elige un servicio para transcribir tu voz a texto.",
"prompt": "Prompt Adicional",
"promptPlaceholder": "Por ejemplo: el chat es sobre cómo aprender inglés, por favor no te desvíes del tema.",
"promptDescription": "El prompt se agregará al prompt del sistema de todos los agentes en este chat. Es útil para personalizar el comportamiento del agente en este chat específico.",
"chatSettings": "Configuración del Chat",
"moreSettings": "Más Configuraciones",
"memberSettings": "Configuración de Miembros",
"atLeastOneAgent": "El chat debe tener al menos 1 agente.",
"onlyGPTAgentCanBeAddedToThisChat": "Solo se pueden agregar agentes GPT a este chat",
"invalidAgentType": "Tipo de agente inválido",
"invalidMembers": "Miembros inválidos"
},
"document": {
"fileNotFound": "Archivo no encontrado {{file}}",
"fileNotSupported": "Archivo no compatible {{file}}",
"failedToCopyFile": "Error al copiar el archivo {{file}}"
}
},
"sidebar": {
"home": "Inicio",
"chats": "Chats",
"courses": "Cursos",
"community": "Comunidad",
"audios": "Audios",
"videos": "Videos",
"stories": "Historias",
"documents": "Documentos",
"books": "Libros",
"vocabulary": "Vocabulario",
"library": "Biblioteca",
"practice": "Práctica",
"reading": "Lectura",
"aiAssistant": "Asistente de IA",
"pronunciationAssessment": "Evaluación",
"mine": "Mi Perfil",
"preferences": "Preferencias",
"profile": "Mi Perfil",
"notes": "Nota",
"help": "Ayuda",
"collapse": "Contraer"
},
"form": {
"lengthMustBeAtLeast": "{{field}} debe tener al menos {{length}} caracteres",
"lengthMustBeLessThan": "{{field}} debe tener menos de {{length}} caracteres"
},
"today": "hoy",
"yesterday": "ayer",
"play": "reproducir",
"pause": "pausar",
"switchPlayMode": "cambiar modo de reproducción",
"playSingleSegment": "reproducir un solo segmento",
"playAllSegments": "reproducir todos los segmentos",
"playInLoop": "reproducir en bucle",
"playNextSegment": "reproducir siguiente segmento",
"playPreviousSegment": "reproducir segmento anterior",
"playbackSpeed": "velocidad de reproducción",
"zoomIn": "acercar",
"zoomOut": "alejar",
"zoomToFit": "ajustar a la ventana",
"autoCenter": "centrado automático",
"inlineCaption": "subtítulo en línea",
"autoScroll": "desplazamiento automático",
"translate": "traducir",
"displayIpa": "mostrar AFI",
"displayNotes": "mostrar Notas",
"downloadSegment": "descargar segmento",
"detail": "detalle",
"remove": "eliminar",
"share": "compartir",
"forward": "reenviar",
"loadMore": "Cargar más",
"databaseError": "Error al conectar con la base de datos {{url}}",
"somethingWentWrong": "Algo salió mal",
"actions": "acciones",
"downloads": "descargas",
"info": "Información",
"success": "Éxito",
"warning": "Advertencia",
"error": "Error",
"errors": "Errores",
"cancel": "Cancelar",
"cancelled": "Cancelado",
"canceling": "Cancelando",
"confirm": "Confirmar",
"continue": "continuar",
"save": "Guardar",
"delete": "Eliminar",
"edit": "Editar",
"retry": "Reintentar",
"failedToLogin": "Error al iniciar sesión",
"sendCode": "Enviar código",
"codeSent": "El código ha sido enviado",
"verificationCode": "Código de verificación",
"email": "Correo electrónico",
"phoneNumber": "Número de teléfono",
"mixinId": "ID de Mixin",
"inputMixinId": "Ingresa tu ID de Mixin",
"scanMixinQRCodeDescription": "Escanea el código QR de Mixin en la ventana emergente",
"createMixinAccount": "Crear cuenta de Mixin",
"scanToLogin": "Escanear para iniciar sesión",
"youCanAlsoLoginWith": "También puedes iniciar sesión con",
"downloadTranscript": "Descargar transcripción",
"downloadTranscriptFromCloud": "Descargar transcripción desde la nube",
"transcribe": "Transcribir",
"stillTranscribing": "La IA todavía está trabajando en la transcripción. Por favor, espera un momento.",
"unableToSetLibraryPath": "No se pudo establecer la ruta de la biblioteca a {{path}}",
"nthStep": "Paso {{current}}/{{totalSteps}}",
"open": "Abrir",
"select": "Seleccionar",
"libraryPath": "Ruta de la Biblioteca",
"login": "Iniciar sesión",
"reLogin": "Volver a iniciar sesión",
"loginBeforeYouStart": "Inicia sesión antes de comenzar",
"loginSuccess": "Inicio de sesión exitoso",
"whereYourResourcesAreStored": "Donde se almacenan tus recursos",
"AIModel": "Modelo de IA",
"chooseAIModelToDownload": "Elige el modelo de IA para descargar",
"ffmpegCheck": "Verificación de FFmpeg",
"check": "Verificar",
"ffmpegCommandIsWorking": "El comando FFmpeg está funcionando",
"ffmpegCommandIsNotWorking": "El comando FFmpeg no está funcionando",
"scan": "Escanear",
"checkIfFfmpegIsInstalled": "Verificar si FFmpeg está instalado",
"ffmpegFoundAt": "FFmpeg encontrado en {{path}}",
"ffmpegNotFound": "FFmpeg no encontrado",
"ffmpegInstallSteps": "Pasos de instalación de FFmpeg",
"Install": "Instalar",
"runTheFollowingCommandInTerminal": "Ejecuta el siguiente comando en la terminal",
"click": "Haz clic",
"willAutomaticallyFindFFmpeg": "Enjoy encontrará FFmpeg automáticamente",
"tryingToFindValidFFmepgInTheseDirectories": "Intentando encontrar un FFmpeg válido en estos directorios: {{dirs}}",
"invalidFfmpegPath": "Ruta de FFmpeg inválida",
"usingInstalledFFmpeg": "Usando FFmpeg instalado",
"usingDownloadedFFmpeg": "Usando FFmpeg descargado",
"downloadFfmpeg": "Descargar FFmpeg",
"youAreReadyToGo": "¡Estás listo para empezar!",
"welcomeBack": "¡Bienvenido de nuevo! {{name}}",
"print": "Imprimir",
"download": "Descargar",
"downloadingFile": "Descargando {{file}}",
"downloading": "Descargando",
"importing": "Importando",
"downloadedSuccessfully": "Descargado con éxito",
"downloadFailed": "Descarga fallida",
"chooseAIModelDependingOnYourHardware": "Elige un modelo de IA dependiendo de tu hardware.",
"areYouSureToDownload": "¿Estás seguro de que quieres descargar {{name}}?",
"yourModelsWillBeDownloadedTo": "Tus modelos se descargarán en {{path}}",
"logout": "Cerrar sesión",
"logoutConfirmation": "¿Estás seguro de que quieres cerrar sesión?",
"reset": "Restablecer",
"resetAll": "Restablecer todo",
"resetAllConfirmation": "Se eliminarán todos tus datos personales, ¿estás seguro?",
"resetSettings": "Restablecer configuración",
"resetSettingsConfirmation": "Se restablecerá toda tu configuración, ¿estás seguro? La biblioteca no se verá afectada.",
"settingsReseted": "Configuración restablecida",
"proxySettings": "Configuración de proxy",
"proxyConfigUpdated": "Configuración de proxy actualizada",
"apiSettings": "Configuración de API",
"apiUrlUpdated": "URL de API actualizada",
"logoutAndRemoveAllPersonalData": "Cerrar sesión y eliminar todos los datos personales",
"logoutAndRemoveAllPersonalSettings": "Cerrar sesión y eliminar toda la configuración personal",
"hotkeys": "Atajos de teclado",
"player": "Reproductor",
"quit": "Salir",
"quitApp": "Salir de la APP",
"quitAppDescription": "¿Estás seguro de que quieres salir de la aplicación Enjoy?",
"openPreferences": "Abrir preferencias",
"openCopilot": "Abrir copiloto",
"playOrPause": "Reproducir o pausar",
"playOrPauseRecording": "Reproducir o pausar grabación",
"startOrStopRecording": "iniciar o detener grabación",
"appearance": "Apariencia",
"theme": "Tema",
"light": "Claro",
"dark": "Oscuro",
"system": "Sistema",
"about": "Acerca de",
"currentVersion": "Versión actual",
"checkUpdate": "Buscar actualizaciones",
"checkingLatestVersion": "Buscando la última versión",
"updateDownloaded": "Se ha descargado una nueva versión. Reinicia la aplicación para aplicar las actualizaciones.",
"restart": "Reiniciar",
"later": "Más tarde",
"userGuide": "Guía de usuario",
"feedback": "Comentarios",
"alreadyLatestVersion": "Ya es la última versión",
"initializingApp": "Inicializando APP",
"welcomeTo": "Bienvenido a",
"startToUse": "Comenzar",
"goBack": "Regresar",
"nextStep": "Siguiente",
"previousStep": "Anterior",
"finish": "Finalizar",
"notReadyYet": "Aún no está listo",
"commingSoon": "Próximamente",
"pageNotFound": "Página no encontrada",
"audio": "audio",
"video": "video",
"text": "texto",
"addResource": "agregar recurso",
"addResourceFromUrlOrLocal": "agregar recurso desde url o local",
"resourceAdded": "Recurso agregado",
"resourcesAdded": "{{fulfilled}} recursos agregados, {{rejected}} no se pudieron agregar. {{reasons}}",
"resourcesAddInBatchLimitError": "Solo puedes agregar {{limit}} recursos a la vez",
"editResource": "editar recurso",
"deleteResource": "eliminar recurso",
"deleteResourceConfirmation": "¿Estás seguro de eliminar {{name}}?",
"transcribeMediaConfirmation": "Se eliminará la transcripción anterior. ¿Estás seguro de transcribir {{name}}?",
"localFile": "archivo local",
"resourcesYouAddedRecently": "recursos que agregaste recientemente",
"recentlyAdded": "agregado recientemente",
"recommended": "recomendado",
"resourcesRecommendedByEnjoy": "recursos recomendados por Enjoy Bot",
"fromCommunity": "de la comunidad",
"videoResources": "recursos de video",
"audioResources": "recursos de audio",
"seeMore": "ver más",
"resourcesFromTheCommunity": "recursos de la comunidad",
"noResourcesFound": "no se encontraron recursos",
"allResources": "todos los recursos",
"playbackRate": "velocidad de reproducción",
"transcription": "transcripción",
"transcript": "transcripción",
"regenerate": "regenerar",
"holdAndSpeak": "Mantén presionado y habla",
"releaseToStop": "Suelta para detener",
"deleteRecording": "eliminar grabación",
"deleteRecordingConfirmation": "¿Estás seguro de eliminar esta grabación?",
"myRecordings": "grabaciones",
"noRecordingForThisSegmentYet": "Aún no hay grabaciones para este segmento. Presiona <kbd>{{key}}</kbd> para comenzar a grabar.",
"lastYear": "el año pasado",
"less": "menos",
"more": "más",
"total": "total",
"totalRecordingsIn": "{{total}} grabaciones en {{duration}}",
"totalRecordings": "{{total}} grabaciones",
"totalDuration": "duración {{duration}}",
"recordingActivity": "actividad de grabación",
"recordingDetail": "Detalle de la grabación",
"noRecordingActivities": "sin actividades de grabación",
"basicSettingsShort": "Básico",
"basicSettings": "Configuración básica",
"accountSettingsShort": "Cuenta",
"accountSettings": "Configuración de la cuenta",
"advancedSettingsShort": "Avanzado",
"advancedSettings": "Configuración avanzada",
"advanced": "Avanzado",
"language": "Idioma",
"nativeLanguage": "Idioma nativo",
"learningLanguage": "Idioma de aprendizaje",
"editEmail": "Editar correo electrónico",
"editUserName": "Editar nombre de usuario",
"userName": "Nombre de usuario",
"profileUpdated": "Perfil actualizado",
"balance": "Saldo",
"deposit": "Depositar",
"depositDescription": "Deposita en tu cuenta",
"depositDisclaimer": "Después del depósito, tu saldo solo se utiliza para servicios de pago. No es reembolsable.",
"pay": "Pagar",
"pleaseCompletePaymentInPopupWindow": "Por favor, completa el pago en la ventana emergente",
"processor": "Procesador",
"amount": "Monto",
"date": "Fecha",
"status": "Estado",
"recentDeposits": "Depósitos recientes",
"notAvailableYet": "Aún no disponible",
"whisperModel": "Modelo Whisper",
"sttAiService": "Servicio de IA STT",
"local": "Local",
"localSpeechToTextDescription": "Usa el modelo local de Whisper para transcribir. Es gratis.",
"enjoyAzure": "Azure AI (por Enjoy)",
"enjoyAzureSpeechToTextDescription": "Usa Azure AI Speech para transcribir. Es un servicio de pago de Enjoy.",
"enjoyCloudflare": "Cloudflare AI (por Enjoy)",
"enjoyCloudflareSpeechToTextDescription": "Usa Cloudflare AI Worker para transcribir. Está en beta y es gratis por ahora.",
"openaiSpeechToTextDescription": "Usa OpenAI para transcribir usando tu propia clave.",
"uploadSpeechToTextDescription": "Sube un archivo de transcripción o ingresa el texto de la transcripción para alinear.",
"checkingWhisper": "Verificando el estado de Whisper",
"pleaseDownloadWhisperModelFirst": "Por favor, descarga primero el modelo de Whisper",
"whisperIsWorkingGood": "Whisper está funcionando bien",
"whisperIsNotWorking": "Whisper no está funcionando",
"whisperTranscribeFailed": "La transcripción con Whisper falló. Tal vez tu máquina no es compatible. Por favor, usa otro servicio STT. {{error}}",
"openaiTranscribeFailed": "La transcripción con OpenAI falló. {{error}}",
"cloudflareTranscribeFailed": "La transcripción con Cloudflare falló. {{error}}",
"azureTranscribeFailed": "La transcripción con Azure falló. {{error}}",
"transcribeFailed": "La transcripción falló.",
"checkingWhisperModel": "Verificando el modelo de Whisper",
"whisperModelIsWorkingGood": "El modelo de Whisper está funcionando bien",
"whisperModelIsNotWorking": "El modelo de Whisper no está funcionando",
"relaunchIsNeededAfterChanged": "Es necesario reiniciar después del cambio",
"reloadIsNeededAfterChanged": "Es necesario recargar después del cambio",
"defaultAiEngine": "Motor de IA predeterminado",
"aiEngine": "Motor de IA",
"aiEngineNotSupported": "Motor de IA no compatible",
"defaultAiModel": "Modelo de IA predeterminado",
"lookupAiModel": "Búsqueda de IA",
"translateAiModel": "Traducción de IA",
"analyzeAiModel": "Análisis de IA",
"extractStoryAiModel": "Extracción de vocabulario por IA",
"openAiEngineTips": "Usa OpenAI con tu propia clave como motor de IA predeterminado.",
"enjoyAiEngineTips": "Usa EnjoyAI como motor de IA predeterminado. Es un servicio de pago.",
"openaiKeySaved": "Clave de OpenAI guardada",
"openaiConfigSaved": "Configuración de OpenAI guardada",
"openaiKeyRequired": "Se requiere clave de OpenAI, por favor configúrala en los ajustes",
"baseUrl": "URL base",
"customModels": "Modelos personalizados",
"customModelsDescription": "Personaliza tus modelos LLM. Separa con comas.",
"model": "modelo",
"key": "clave",
"leaveEmptyToUseDefault": "Dejar en blanco para usar el predeterminado",
"openaiBaseUrlDescription": "Cualquier endpoint que soporte la API de estilo OpenAI.",
"newConversation": "Nueva conversación",
"selectAiRole": "Seleccionar rol de IA",
"chooseFromPresetGpts": "Elegir de GPTs preestablecidos",
"custom": "Personalizado",
"startConversation": "Iniciar conversación",
"editConversation": "Editar conversación",
"deleteConversation": "Eliminar conversación",
"deleteConversationConfirmation": "¿Estás seguro de eliminar esta conversación, incluyendo todos los mensajes?",
"noConversationsYet": "Aún no hay conversaciones",
"conversationMigrated": "La conversación ha sido migrada a Chat",
"conversationDeleted": "Conversación eliminada",
"translation": "Traducción",
"pressEnterToSend": "Presiona enter para enviar",
"send": "Enviar",
"sending": "Enviando",
"sent": "Enviado",
"copy": "Copiar",
"cut": "cortar",
"paste": "pegar",
"selectAll": "Seleccionar todo",
"copyText": "Copiar texto",
"resend": "Reenviar",
"anotherRequestIsPending": "Hay otra solicitud pendiente",
"selectScenario": "Seleccionar escenario",
"selectAiEngine": "Seleccionar motor de IA",
"selectAiModel": "Seleccionar modelo de IA",
"selectTtsEngine": "Seleccionar motor de TTS",
"selectTtsModel": "Seleccionar modelo de TTS",
"selectTtsVoice": "Seleccionar voz de TTS",
"selectTtsLanguage": "Seleccionar idioma de TTS",
"pleaseSelectTtsVoice": "Por favor, selecciona una voz de TTS",
"youNeedToSetupApiKeyBeforeUsingOpenAI": "Necesitas configurar la clave de API antes de usar OpenAI",
"ensureYouHaveOllamaRunningLocallyAndHasAtLeastOneModel": "Asegúrate de tener Ollama ejecutándose localmente y de tener al menos un modelo",
"creatingSpeech": "Creando voz",
"textToSpeech": "Convertir texto a voz",
"shadowing": "Shadowing",
"shadowingAudio": "Audio para shadowing",
"shadowingVideo": "Video para shadowing",
"shadowingExercise": "Ejercicio de shadowing",
"addingResource": "Agregando recurso",
"pronunciationAssessment": "Evaluación de pronunciación",
"score": "puntuación",
"inputUrlToStartReading": "Ingresa una URL para comenzar a leer",
"read": "leer",
"addStory": "agregar historia",
"context": "contexto",
"keyVocabulary": "vocabulario clave",
"addedStories": "historias agregadas",
"addedAudios": "audios agregados",
"addedVideos": "videos agregados",
"addedDocuments": "documentos agregados",
"document": "documento",
"frontSide": "lado frontal",
"backSide": "lado trasero",
"aiExtractVocabulary": "Extraer vocabulario con IA",
"toggleReadable": "Alternar legible",
"extracting": "Extrayendo",
"extractionFailed": "Extracción fallida",
"extractedSuccessfully": "Extraído con éxito",
"lookup": "Buscar",
"reLookup": "Volver a buscar",
"lookupAll": "Buscar todo",
"lookingUp": "Buscando",
"pending": "Pendiente",
"thereAreLookupsProcessing": "Hay {{count}} búsquedas en proceso",
"thereAreLookupsPending": "Hay {{count}} búsquedas en espera",
"lookupFailed": "Búsqueda fallida",
"lookedUpSuccessfully": "Búsqueda exitosa",
"noRecordsFound": "No se encontraron registros",
"pleaseTryLater": "Por favor, inténtalo más tarde",
"author": "autor",
"narrator": "narrador",
"downloadSample": "Descargar muestra",
"buy": "Comprar",
"from": "de",
"presenter": "presentador",
"downloadAudio": "Descargar audio",
"downloadVideo": "Descargar video",
"recordTooShort": "Grabación demasiado corta",
"rankings": "Clasificaciones",
"dayRankings": "Clasificaciones del día",
"weekRankings": "Clasificaciones de la semana",
"monthRankings": "Clasificaciones del mes",
"allRankings": "Clasificaciones de todos los tiempos",
"noOneHasRecordedYet": "Nadie ha grabado todavía",
"activities": "Actividades",
"square": "Plaza",
"noOneSharedYet": "Nadie ha compartido todavía",
"sharedSuccessfully": "Compartido con éxito",
"shareFailed": "Error al compartir",
"shareAudio": "Compartir audio",
"sharedAudio": "Compartió un recurso de audio",
"areYouSureToShareThisAudioToCommunity": "¿Estás seguro de compartir este audio en la Plaza de la comunidad?",
"shareVideo": "Compartir video",
"sharedVideo": "Compartió un recurso de video",
"cannotShareLocalVideo": "No se puede compartir un video local",
"areYouSureToShareThisVideoToCommunity": "¿Estás seguro de compartir este video en la Plaza de la comunidad?",
"sharePrompt": "Compartir prompt",
"sharedPrompt": "Compartió un prompt",
"areYouSureToShareThisPromptToCommunity": "¿Estás seguro de compartir este prompt en la Plaza de la comunidad?",
"shareRecording": "Compartir grabación",
"sharedRecording": "Compartió una grabación",
"areYouSureToShareThisRecordingToCommunity": "¿Estás seguro de compartir esta grabación en la Plaza de la comunidad?",
"shareStory": "Compartir historia",
"sharedStory": "Compartió una historia",
"areYouSureToShareThisStoryToCommunity": "¿Estás seguro de compartir esta historia en la Plaza de la comunidad?",
"shareGpt": "Compartir GPT",
"sharedGpt": "Compartió un GPT",
"areYouSureToShareThisGptToCommunity": "¿Estás seguro de compartir este GPT en la Plaza de la comunidad?",
"shareNote": "Compartir nota",
"sharedNote": "Compartió una nota",
"areYouSureToShareThisNoteToCommunity": "¿Estás seguro de compartir esta nota en la Plaza de la comunidad?",
"saveAiAssistant": "Guardar este asistente de IA",
"addToLibary": "Agregar a la biblioteca",
"areYouSureToAddThisVideoToYourLibrary": "¿Estás seguro de agregar este video a la biblioteca?",
"areYouSureToAddThisAudioToYourLibrary": "¿Estás seguro de agregar este audio a la biblioteca?",
"audioAlreadyAddedToLibrary": "El audio ya ha sido agregado a la biblioteca",
"videoAlreadyAddedToLibrary": "El video ya ha sido agregado a la biblioteca",
"audioSuccessfullyAddedToLibrary": "Audio agregado a la biblioteca con éxito",
"videoSuccessfullyAddedToLibrary": "Video agregado a la biblioteca con éxito",
"sendToAIAssistant": "Enviar al asistente de IA",
"removeSharing": "Eliminar de compartidos",
"areYouSureToRemoveThisSharing": "¿Estás seguro de eliminar esto de compartidos?",
"removeSharingSuccessfully": "Eliminado de compartidos con éxito",
"removeSharingFailed": "Error al eliminar de compartidos",
"generatingIpa": "Generando AFI",
"generatedIpaSuccessfully": "AFI generado con éxito",
"generatingIpaFailed": "Error al generar AFI: {{error}}",
"translating": "Traduciendo",
"translatedSuccessfully": "Traducido con éxito",
"translationFailed": "Error en la traducción: {{error}}",
"allRecordingsSynced": "Todas las grabaciones sincronizadas",
"syncingRecordings": "Sincronizando {{count}} grabaciones",
"failedToSyncRecordings": "Error al sincronizar grabaciones",
"downloadUrlNotResolved": "URL de descarga no resuelta",
"resolvingDownloadUrl": "Resolviendo URL de descarga",
"waveformIsDecoded": "Forma de onda decodificada",
"decodingWaveform": "Decodificando forma de onda",
"failedToDecodeWaveform": "Error al decodificar la forma de onda",
"transcribedSuccessfully": "Transcrito con éxito",
"transcribing": "Transcribiendo",
"notTranscribedYet": "Aún no transcrito",
"preparingAudio": "Preparando audio",
"preparingVideo": "Preparando video",
"itMayTakeAWhileToPrepareForTheFirstLoad": "Puede tardar un poco en prepararse para la primera carga. Por favor, sé paciente.",
"loadingTranscription": "Cargando transcripción",
"cannotFindMicrophone": "No se puede encontrar el micrófono",
"savingRecording": "Guardando grabación",
"recordingSaved": "Grabación guardada",
"failedToSaveRecording": "Error al guardar la grabación",
"speechNotCreatedYet": "Voz aún no creada",
"goToConversation": "Ir a la conversación",
"mediaInfo": "Información del medio",
"editRegion": "editar región",
"dragRegionBorderToEdit": "Arrastra el borde de la región para editar",
"startRecording": "iniciar grabación",
"stopRecording": "detener grabación",
"playRecording": "reproducir grabación",
"clickAnyWordToSelect": "Haz clic en cualquier palabra para seleccionar. Presiona shift para seleccionar varias palabras.",
"currentRegionIsBeingEdited": "La región actual se está editando",
"compare": "comparar",
"selectRegion": "seleccionar región",
"autoGroup": "agrupar automáticamente",
"captionTabs": {
"selected": "Seleccionado",
"translation": "Traducción",
"analysis": "Análisis",
"note": "Nota"
},
"translateSentence": "traducir oración",
"reTranslate": "volver a traducir",
"analyzeSentence": "analizar oración",
"useAIAssistantToAnalyze": "Usar asistente de IA para analizar",
"reAnalyze": "volver a analizar",
"aiDictionary": "Diccionario de IA",
"aiLookup": "Búsqueda de IA",
"aiTranslate": "Traducción de IA",
"cambridgeDictionary": "Diccionario de Cambridge",
"customizeShortcuts": "Personalizar atajos",
"customizeShortcutsTip": "Haz clic para cambiar",
"customizeShortcutsRecordingTip": "Grabando nuevo atajo",
"customizeShortcutsInvalidToast": "Tu atajo debe tener como máximo dos modificadores (Ctrl, Alt, Shift o Meta) y una tecla regular, como 'Ctrl+C'.",
"customizeShortcutsConflictToast": "{{input}} entra en conflicto con el atajo existente {{otherHotkeyName}}.",
"customizeShortcutsUpdated": "Cambios guardados",
"following": "siguiendo",
"followers": "seguidores",
"allUsers": "todos los usuarios",
"allTypes": "todos los tipos",
"recordingType": "Grabación",
"mediumType": "Audio/Video",
"storyType": "Historia",
"promptType": "Prompt",
"gptType": "GPT",
"noteType": "Nota",
"follow": "seguir",
"unfollow": "dejar de seguir",
"noFollowersYet": "Aún no hay seguidores",
"notFollowingAnyoneYet": "Aún no sigues a nadie",
"startToNote": "Empezar a tomar notas",
"newNote": "Nueva nota",
"writeNoteHere": "Escribe tu nota aquí",
"deleteNote": "Eliminar nota",
"areYouSureToDeleteThisNote": "¿Estás seguro de eliminar esta nota?",
"notesCount": "{{count}} notas",
"source": "origen",
"noNotesYet": "Aún no hay notas",
"editTranscription": "Editar transcripción",
"saveTranscription": "Guardar transcripción",
"areYouSureToSaveTranscription": "Se realizará una alineación forzada entre el audio y tu transcripción editada. ¿Estás seguro de continuar?",
"summarize": "Resumir",
"noResultsFound": "No se encontraron resultados",
"readThrough": "Leer completo",
"selectCrypto": "Seleccionar cripto",
"newAssessment": "Nueva Evaluación",
"record": "Grabar",
"upload": "Subir",
"noFileOrRecording": "No se ha subido ningún archivo o grabación",
"referenceText": "Texto de referencia",
"inputReferenceTextOrLeaveItBlank": "Ingresa el texto de referencia o déjalo en blanco",
"assessing": "Evaluando",
"assessedSuccessfully": "Evaluado con éxito",
"optinal": "Opcional",
"uploadTranscriptFile": "Subir archivo de transcripción",
"uploadTranscriptFileDescription": "Formatos soportados: txt/srt/vtt.",
"pleaseUploadTranscriptFile": "Por favor, sube un archivo de transcripción",
"onlyTextFileIsSupported": "Solo se admiten archivos de texto",
"isolateVoice": "Aislar voz (Experimental)",
"isolateVoiceDescription": "Aísla la voz de cualquier música o ambiente de fondo. Más preciso pero más lento",
"sortBy": "Ordenar por",
"createdAtDesc": "Fecha de creación desc",
"createdAtAsc": "Fecha de creación asc",
"updatedAtDesc": "Fecha de actualización desc",
"updatedAtAsc": "Fecha de actualización asc",
"scoreDesc": "Puntuación desc",
"scoreAsc": "Puntuación asc",
"recordingsDurationDesc": "Duración de las grabaciones",
"recordingsCountDesc": "Conteo de grabaciones",
"all": "Todos",
"allLanguages": "Todos los idiomas",
"search": "Buscar",
"noData": "Sin datos",
"selectedFiles": "Archivos seleccionados",
"moreOptions": "Más opciones",
"lessOptions": "Menos opciones",
"previousChapter": "Anterior",
"nextChapter": "Siguiente",
"examples": "Ejemplos",
"howToFinishChapter": "Por favor, haz shadowing de los ejemplos y graba tu voz para terminar el capítulo.",
"continueLearning": "Continuar aprendiendo",
"enrollNow": "Inscribirse ahora",
"enrollments": "Inscripciones",
"noLikesYet": "Aún no hay 'me gusta'",
"apiConnectTime": "Tiempo de conexión de la API ({{apiUrl}})",
"storageConnectTime": "Tiempo de conexión del almacenamiento",
"ipInfo": "Información de IP",
"platformInfo": "Información de la plataforma",
"networkState": "Estado de la red",
"connectError": "Error de conexión",
"refresh": "actualizar",
"deleteChat": "Eliminar chat",
"deleteChatConfirmation": "¿Estás seguro de eliminar este chat?",
"deleteChatAgent": "Eliminar agente",
"deleteChatAgentConfirmation": "¿Estás seguro de eliminar este agente de chat?",
"deleteMessage": "Eliminar mensaje",
"deleteMessageConfirmation": "¿Estás seguro de eliminar este mensaje?",
"refine": "Refinar",
"suggestion": "Sugerencia",
"editChat": "Editar chat",
"newChat": "Nuevo chat",
"addChat": "Agregar chat",
"recents": "Recientes",
"agentsManagement": "Gestión de agentes",
"newAgent": "Nuevo agente",
"editAgent": "Editar agente",
"addToChat": "Agregar al chat",
"introduction": "Introducción",
"introduceYourself": "Preséntate",
"prompt": "Prompt",
"extraPromptForChat": "Prompt adicional para este chat",
"promptPreview": "Vista previa del prompt",
"noChatSelected": "Ningún chat seleccionado",
"reRecord": "Volver a grabar",
"quickStart": "Inicio rápido",
"itsYourTurn": "Es tu turno. Por favor, empieza a hablar.",
"displayContent": "Mostrar contenido",
"hideContent": "Ocultar contenido",
"audioInput": "Entrada de audio",
"textInput": "Entrada de texto",
"increasePlaybackRate": "Aumentar velocidad de reproducción",
"descreasePlaybackRate": "Disminuir velocidad de reproducción",
"usage": "Uso",
"cannotFindSourceFile": "No se puede encontrar el archivo de origen",
"cleanUp": "Limpiar",
"cleanUpConfirmation": "¿Estás seguro de eliminar los recursos sin archivo de origen?",
"cleanedUpSuccessfully": "Limpiado con éxito",
"libraryDescriptions": {
"library": "Contiene todos los archivos creados por Enjoy mientras usas la aplicación.",
"database": "Registra todas tus actividades y configuraciones.",
"settings": "Guarda todas tus configuraciones.",
"audios": "Contiene todos los archivos de audio que agregaste.",
"videos": "Contiene todos los archivos de video que agregaste.",
"segments": "Contiene todos los segmentos en los que haces grabaciones o notas.",
"speeches": "Contiene todas las voces creadas por la IA de TTS.",
"recordings": "Contiene todas las grabaciones que hiciste.",
"whisper": "Contiene todos los modelos de Whisper que descargaste.",
"waveforms": "Contiene todas las formas de onda decodificadas de audios/videos. Son para caché. Es seguro eliminarlos.",
"logs": "Contiene algunos registros útiles para la depuración.",
"cache": "Contiene archivos en caché. Se limpiarán automáticamente."
},
"recordingIsTooLongToAssess": "La grabación es demasiado larga para ser evaluada. La duración máxima es de 60 segundos.",
"recorderConfig": "Configuración de la grabadora",
"recorderConfigSaved": "Configuración de la grabadora guardada",
"recorderConfigDescription": "Configuraciones avanzadas para la grabadora",
"lookupOnMouseOver": "Buscar al hacer clic",
"selectDictFile": "Seleccionar archivos de diccionario (extensión .mdx y .mdd)",
"dictFiles": "Archivos de diccionario",
"dictFileRequired": "No se encontró el archivo de diccionario (la extensión es mdx).",
"dictFileExist": "{{name}} ya ha sido importado",
"dictFileAddSuccess": "Se agregó {{name}} con éxito",
"dictFileRemoveSuccess": "Se eliminó {{name}} con éxito",
"dictFileSetDefaultSuccess": "Se estableció con éxito como diccionario predeterminado",
"dictFileRemoveDefaultSuccess": "Operación exitosa",
"dictionaries": "Diccionarios",
"import": "Importar",
"default": "Predeterminado",
"setDefault": "Establecer como predeterminado",
"dictSettings": "Configuración de diccionarios",
"dictSettingsShort": "Diccionarios",
"importDict": "Importar diccionario",
"failedToImportDict": "Error al importar el diccionario: {{error}}",
"dictRemoved": "Diccionario eliminado con éxito",
"interrupted": "Interrumpido",
"paused": "Pausado",
"completedAndChecking": "Completado (Verificando)",
"decompressing": "Descomprimiendo",
"resume": "Reanudar",
"dictEmpty": "No hay diccionarios importados",
"removing": "Eliminando",
"removeDictTitle": "¿Estás seguro de que quieres eliminar este diccionario? ",
"removeDictDescription": "Se eliminará el archivo del diccionario de tu computadora local y tendrás que volver a descargarlo la próxima vez.",
"downloadingDict": "Descargando",
"removeDefault": "Cancelar predeterminado",
"selectAdaptionDictTitle": "Seleccionar diccionario adaptado",
"selectMdictFileOrDirTitle": "Seleccionar archivos de diccionario (.mdx y opcional .mdd) o carpeta",
"dictImportSlowTip": "Verificando... (Puede tardar más si el archivo del diccionario es grande.)",
"importAdaptionDict": "Importar el diccionario adaptado",
"adaptionDictTip": "Los diccionarios adaptados tienen una mejor usabilidad.",
"howToDownload": "¿Cómo descargar?",
"selectDir": "Seleccionar carpeta",
"selectFile": "Seleccionar archivo",
"importMdictFile": "Importar el archivo de diccionario original",
"mdictFileTip": "Importa directamente archivos en formato .mdx y .mdd (los archivos .mdx son obligatorios, los .mdd son opcionales y puede haber varios).",
"authorizationExpired": "Tu autorización ha expirado. Por favor, inicia sesión de nuevo.",
"selectUser": "Seleccionar usuario",
"export": "Exportar",
"exportRecordings": "Exportar grabación",
"exportRecordingsConfirmation": "Selecciona la puntuación más alta de las grabaciones de cada segmento para exportar como un solo archivo.",
"exportRecordingsSuccess": "Grabaciones exportadas con éxito",
"upgrade": "Actualizar",
"upgradeNotice": "Enjoy App v{{version}} está disponible. Por favor, actualiza a la última versión.",
"downloadedTranscriptionFromCloud": "Transcripción descargada desde la nube",
"gpt": {
"engine": "Motor de IA",
"model": "Modelo de IA",
"temperature": "Temperatura",
"temperatureDescription": "Cuanto mayor sea el valor, más creativo será el texto generado; de lo contrario, será más estable",
"maxCompletionTokens": "Tokens máximos",
"maxCompletionTokensDescription": "El número máximo de tokens consumidos por interacción, -1 significa sin límite",
"presencePenalty": "Penalización de presencia",
"presencePenaltyDescription": "-2.0 ~ 2.0, cuanto mayor sea el valor, más probable es que se expanda a nuevos temas",
"frequencyPenalty": "Penalización de frecuencia",
"frequencyPenaltyDescription": "-2.0 ~ 2.0, cuanto mayor sea el valor, más probable es que se reduzca la repetición",
"historyBufferSize": "Tamaño del búfer de historial",
"historyBufferSizeDescription": "Cuanto más contexto, más coherente será el texto generado y más recursos se consumirán",
"numberOfChoices": "Número de opciones",
"numberOfChoicesDescription": "Cuando es mayor que 1, generará múltiples versiones de texto cada vez"
},
"tts": {
"engine": "Motor TTS",
"model": "Modelo TTS",
"voice": "Voz TTS",
"language": "Idioma TTS"
},
"chatMemberUpdated": "Miembro del chat actualizado con éxito",
"chatMemberRemoved": "Miembro del chat eliminado con éxito",
"chatMemberAdded": "Miembro del chat agregado con éxito",
"confirmBeforeSending": "Puedes volver a grabar, modificar el contenido del texto y hacer clic en enviar después de confirmar que no hay errores.",
"chatNoContentYet": "El chat aún no tiene contenido.",
"removeChatMember": "Eliminar miembro",
"removeChatMemberConfirmation": "¿Estás seguro de eliminar a este miembro del chat?",
"addMember": "Agregar miembro",
"added": "Agregado",
"migrateToChat": "Migrar a chat",
"memberJoined": "{{name}} se ha unido al chat.",
"memberLeft": "{{name}} ha abandonado el chat.",
"templates": "plantillas",
"askAgentToReply": "Pedir a @{{name}} que responda",
"inviteAgentInChatAndReply": "Invitar a @{{name}} al chat y responder",
"chatInputPlaceholder": "Enter para enviar, Shift+Enter para nueva línea, @ para mencionar agentes",
"replyOnlyWhenMentioned": "Responder solo cuando se mencione",
"replyOnlyWhenMentionedDescription": "Solo responderá cuando menciones a este agente usando @",
"bulkDelete": "Eliminación masiva",
"deleteRecordingsWithoutAssessment": "Eliminar grabaciones sin evaluación",
"deleteRecordingsWithScoreLessThan90": "Eliminar grabaciones con puntuación inferior a 90",
"deleteRecordingsWithScoreLessThan80": "Eliminar grabaciones con puntuación inferior a 80",
"deleteAllRecordings": "Eliminar todas las grabaciones",
"noRecordingsToDelete": "No hay grabaciones para eliminar",
"recordingsDeletedSuccessfully": "Grabaciones eliminadas con éxito",
"deleting": "Eliminando",
"bulkDeleteRecordingsConfirmation": "Esta operación no se puede deshacer. Tus estadísticas de grabaciones no cambiarán, pero los archivos de grabación se eliminarán permanentemente.",
"diskUsage": "Uso del disco",
"diskUsageDescription": "El uso del disco de la aplicación Enjoy.",
"releaseDiskSpace": "Liberar",
"bulkDeleteRecordings": "Eliminar grabaciones",
"bulkDeleteAborted": "Eliminación masiva abortada",
"notFound": "No encontrado",
"saved": "Guardado",
"deleteDocumentConfirm": "¿Estás seguro de eliminar este documento?",
"documentDeletedSuccessfully": "Documento eliminado con éxito",
"autoTranslate": "Traducción automática",
"autoNextSpeech": "Voz automática",
"failedToLoadLink": "Error al cargar el enlace",
"refreshSpeech": "Actualizar voz",
"locateParagraph": "Localizar párrafo",
"close": "Cerrar",
"config": "Configuración",
"temperature": "Temperatura",
"encoderProvider": "Proveedor de codificador",
"decoderProvider": "Proveedor de decodificador",
"enableGPU": "Habilitar GPU",
"openPackagesDir": "Abrir directorio de modelos",
"whisperModelDescription": "El modelo se descargará la primera vez que se use.",
"whisperEngineDescription": "OpenAI Whisper con inferencia realizada a través del tiempo de ejecución de ONNX.",
"whisperCppEngineDescription": "Port de C++ de la arquitectura Whisper.",
"ttsService": "Servicio de texto a voz",
"openaiTtsServiceDescription": "Usa el servicio OpenAI TTS con tu propia clave.",
"enjoyTtsServiceDescription": "Usa el servicio TTS proporcionado por Enjoy. Se admite OpenAI o Azure.",
"compressMediaBeforeAdding": "Comprimir medios antes de agregar",
"keepOriginalMedia": "Conservar medios originales",
"myPronunciation": "Mi pronunciación",
"originalPronunciation": "Pronunciación original",
"reloadApp": "recargar aplicación",
"exit": "Salir",
"layout": "Diseño",
"horizontal": "Horizontal",
"vertical": "Vertical",
"copied": "Copiado",
"copyFullText": "Copiar texto completo",
"checkingForUpdate": "Buscando actualización",
"updateAvailable": "Actualización disponible",
"quitAndInstall": "Salir e instalar",
"pleaseSelect": "Por favor, selecciona"
}

View File

@@ -1,6 +1,7 @@
import * as i18n from "i18next";
import { initReactI18next } from "react-i18next";
import en from "@/i18n/en.json";
import es from "@/i18n/es.json";
import zh_CN from "@/i18n/zh-CN.json";
// the translations
@@ -10,6 +11,9 @@ const resources = {
en: {
translation: en,
},
es: {
translation: es,
},
"zh-CN": {
translation: zh_CN,
},
@@ -20,7 +24,7 @@ i18n
.init({
resources,
lng: "en",
supportedLngs: ["en", "zh-CN"],
supportedLngs: ["en", "es", "zh-CN"],
fallbackLng: "en",
interpolation: {
escapeValue: false, // react already safes from xss