diff --git a/libretranslate/app.py b/libretranslate/app.py index dced7a5..f8b0866 100644 --- a/libretranslate/app.py +++ b/libretranslate/app.py @@ -365,11 +365,7 @@ def create_app(args): need_key = True if args.under_attack and key_missing: - abort(make_response(jsonify({ - 'translatedText': secret.get_emoji(), - 'alternatives': [], - 'detectedLanguage': { 'confidence': 100, 'language': 'en' } - }), 200)) + need_key = True if need_key: description = _("Please contact the server operator to get an API key") diff --git a/libretranslate/locales/es/LC_MESSAGES/messages.po b/libretranslate/locales/es/LC_MESSAGES/messages.po index 243850e..b12956f 100644 --- a/libretranslate/locales/es/LC_MESSAGES/messages.po +++ b/libretranslate/locales/es/LC_MESSAGES/messages.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: LibreTranslate 1.3.9\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2024-10-16 23:47+0200\n" -"PO-Revision-Date: 2025-04-18 15:45+0000\n" -"Last-Translator: Cengizhan Peker \n" +"POT-Creation-Date: 2025-04-18 14:43-0400\n" +"PO-Revision-Date: 2025-04-20 01:19+0000\n" +"Last-Translator: xuars \n" "Language-Team: Spanish \n" "Language: es\n" @@ -19,82 +19,83 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.11.1-dev\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.12.1\n" -#: libretranslate/app.py:80 +#: libretranslate/app.py:93 msgid "Invalid JSON format" msgstr "JSON inválido" -#: libretranslate/app.py:180 libretranslate/templates/app.js.template:467 +#: libretranslate/app.py:209 libretranslate/templates/app.js.template:473 msgid "Auto Detect" msgstr "Detección automática" -#: libretranslate/app.py:273 +#: libretranslate/app.py:311 msgid "Unauthorized" msgstr "No autorizado" -#: libretranslate/app.py:291 +#: libretranslate/app.py:329 msgid "Too many request limits violations" msgstr "Demasiadas violaciones a los límites de la solicitud" -#: libretranslate/app.py:298 +#: libretranslate/app.py:336 msgid "Invalid API key" msgstr "Clave API inválida" -#: libretranslate/app.py:324 +#: libretranslate/app.py:371 msgid "Please contact the server operator to get an API key" msgstr "" "Por favor, contacte con el operador del servidor para obtener una clave " "API" -#: libretranslate/app.py:326 +#: libretranslate/app.py:373 #, python-format msgid "Visit %(url)s to get an API key" msgstr "Visita %(url)s para conseguir una clave API" -#: libretranslate/app.py:373 +#: libretranslate/app.py:420 msgid "Slowdown:" msgstr "Ralentización:" -#: libretranslate/app.py:606 libretranslate/app.py:608 -#: libretranslate/app.py:610 libretranslate/app.py:819 -#: libretranslate/app.py:821 libretranslate/app.py:823 -#: libretranslate/app.py:980 libretranslate/app.py:1137 -#: libretranslate/app.py:1139 libretranslate/app.py:1141 -#: libretranslate/app.py:1143 +#: libretranslate/app.py:657 libretranslate/app.py:659 +#: libretranslate/app.py:661 libretranslate/app.py:882 +#: libretranslate/app.py:884 libretranslate/app.py:886 +#: libretranslate/app.py:1051 libretranslate/app.py:1208 +#: libretranslate/app.py:1210 libretranslate/app.py:1212 +#: libretranslate/app.py:1214 #, python-format msgid "Invalid request: missing %(name)s parameter" msgstr "Solicitud inválida: falta %(name)s parámetro" -#: libretranslate/app.py:615 +#: libretranslate/app.py:666 #, python-format msgid "Invalid request: %(name)s parameter is not a number" msgstr "Solicitud no válida: El parámetro %(name)s no es un número" -#: libretranslate/app.py:618 +#: libretranslate/app.py:669 #, python-format msgid "Invalid request: %(name)s parameter must be <= %(value)s" msgstr "Petición no válida: el parámetro %(name)s debe ser <= %(value)s" -#: libretranslate/app.py:635 libretranslate/app.py:645 +#: libretranslate/app.py:686 libretranslate/app.py:696 #, python-format msgid "Invalid request: request (%(size)s) exceeds text limit (%(limit)s)" msgstr "" "Solicitud inválida: el %(size)s) de la solicitud excede el límite de " "(%(limit)s) de texto" -#: libretranslate/app.py:660 libretranslate/app.py:665 -#: libretranslate/app.py:834 libretranslate/app.py:839 +#: libretranslate/app.py:715 libretranslate/app.py:720 +#: libretranslate/app.py:897 libretranslate/app.py:902 +#: libretranslate/app.py:924 #, python-format msgid "%(lang)s is not supported" msgstr "el %(lang)s no es compatible" -#: libretranslate/app.py:671 +#: libretranslate/app.py:726 #, python-format msgid "%(format)s format is not supported" msgstr "formato(s) %(format)s no compatible(s)" -#: libretranslate/app.py:680 libretranslate/app.py:704 +#: libretranslate/app.py:735 libretranslate/app.py:763 #, python-format msgid "" "%(tname)s (%(tcode)s) is not available as a target language from " @@ -103,28 +104,28 @@ msgstr "" "%(tname)s (%(tcode)s) no está disponible como idioma de destino para " "%(sname)s (%(scode)s)" -#: libretranslate/app.py:724 +#: libretranslate/app.py:787 #, python-format msgid "Cannot translate text: %(text)s" msgstr "No se puede traducir el texto: %(text)s" -#: libretranslate/app.py:811 libretranslate/app.py:872 +#: libretranslate/app.py:874 libretranslate/app.py:943 msgid "Files translation are disabled on this server." msgstr "La traducción de archivos está deshabilitada en este servidor." -#: libretranslate/app.py:826 +#: libretranslate/app.py:889 msgid "Invalid request: empty file" msgstr "Solicitud inválida: archivo vacío" -#: libretranslate/app.py:829 +#: libretranslate/app.py:892 msgid "Invalid request: file format not supported" msgstr "Solicitud inválida: formato de archivo no compatible" -#: libretranslate/app.py:880 +#: libretranslate/app.py:951 msgid "Invalid filename" msgstr "Nombre de archivo inválido" -#: libretranslate/app.py:1122 +#: libretranslate/app.py:1193 msgid "Suggestions are disabled on this server." msgstr "Las sugerencias están deshabilitadas en este servidor." @@ -145,182 +146,178 @@ msgid "Azerbaijani" msgstr "Azerbaijani" #: libretranslate/locales/.langs.py:5 -msgid "Basque" -msgstr "Vasco" - -#: libretranslate/locales/.langs.py:6 msgid "Bengali" msgstr "Bengalí" -#: libretranslate/locales/.langs.py:7 +#: libretranslate/locales/.langs.py:6 msgid "Bulgarian" msgstr "Búlgaro" -#: libretranslate/locales/.langs.py:8 +#: libretranslate/locales/.langs.py:7 msgid "Catalan" msgstr "Catalán" -#: libretranslate/locales/.langs.py:9 +#: libretranslate/locales/.langs.py:8 msgid "Chinese" msgstr "Chino" -#: libretranslate/locales/.langs.py:10 +#: libretranslate/locales/.langs.py:9 msgid "Chinese (traditional)" msgstr "Chino (tradicional)" -#: libretranslate/locales/.langs.py:11 +#: libretranslate/locales/.langs.py:10 msgid "Czech" msgstr "Checo" -#: libretranslate/locales/.langs.py:12 +#: libretranslate/locales/.langs.py:11 msgid "Danish" msgstr "Danés" -#: libretranslate/locales/.langs.py:13 +#: libretranslate/locales/.langs.py:12 msgid "Dutch" msgstr "Holandés" -#: libretranslate/locales/.langs.py:14 +#: libretranslate/locales/.langs.py:13 msgid "Esperanto" msgstr "Esperanto" -#: libretranslate/locales/.langs.py:15 +#: libretranslate/locales/.langs.py:14 msgid "Estonian" msgstr "Estonio" -#: libretranslate/locales/.langs.py:16 +#: libretranslate/locales/.langs.py:15 msgid "Finnish" msgstr "Finlandés" -#: libretranslate/locales/.langs.py:17 +#: libretranslate/locales/.langs.py:16 msgid "French" msgstr "Francés" -#: libretranslate/locales/.langs.py:18 -msgid "Galician" -msgstr "Galego" - -#: libretranslate/locales/.langs.py:19 +#: libretranslate/locales/.langs.py:17 msgid "German" msgstr "Alemán" -#: libretranslate/locales/.langs.py:20 +#: libretranslate/locales/.langs.py:18 msgid "Greek" msgstr "Griego" -#: libretranslate/locales/.langs.py:21 +#: libretranslate/locales/.langs.py:19 msgid "Hebrew" msgstr "Hebreo" -#: libretranslate/locales/.langs.py:22 +#: libretranslate/locales/.langs.py:20 msgid "Hindi" msgstr "Hindi" -#: libretranslate/locales/.langs.py:23 +#: libretranslate/locales/.langs.py:21 msgid "Hungarian" msgstr "Húngaro" -#: libretranslate/locales/.langs.py:24 +#: libretranslate/locales/.langs.py:22 msgid "Indonesian" msgstr "Indonesio" -#: libretranslate/locales/.langs.py:25 +#: libretranslate/locales/.langs.py:23 msgid "Irish" msgstr "Irlandés" -#: libretranslate/locales/.langs.py:26 +#: libretranslate/locales/.langs.py:24 msgid "Italian" msgstr "Italiano" -#: libretranslate/locales/.langs.py:27 +#: libretranslate/locales/.langs.py:25 msgid "Japanese" msgstr "Japonés" -#: libretranslate/locales/.langs.py:28 +#: libretranslate/locales/.langs.py:26 msgid "Korean" msgstr "Coreano" -#: libretranslate/locales/.langs.py:29 +#: libretranslate/locales/.langs.py:27 msgid "Latvian" msgstr "Letón" -#: libretranslate/locales/.langs.py:30 +#: libretranslate/locales/.langs.py:28 msgid "Lithuanian" msgstr "Lituano" -#: libretranslate/locales/.langs.py:31 +#: libretranslate/locales/.langs.py:29 msgid "Malay" msgstr "Malayo" -#: libretranslate/locales/.langs.py:32 +#: libretranslate/locales/.langs.py:30 msgid "Norwegian" msgstr "Noruego" -#: libretranslate/locales/.langs.py:33 +#: libretranslate/locales/.langs.py:31 msgid "Persian" msgstr "Persa" -#: libretranslate/locales/.langs.py:34 +#: libretranslate/locales/.langs.py:32 msgid "Polish" msgstr "Polaco" -#: libretranslate/locales/.langs.py:35 +#: libretranslate/locales/.langs.py:33 msgid "Portuguese" msgstr "Portugués" -#: libretranslate/locales/.langs.py:36 +#: libretranslate/locales/.langs.py:34 +msgid "Portuguese (Brazil)" +msgstr "Portugués (Brasil)" + +#: libretranslate/locales/.langs.py:35 msgid "Romanian" msgstr "Rumano" -#: libretranslate/locales/.langs.py:37 +#: libretranslate/locales/.langs.py:36 msgid "Russian" msgstr "Ruso" -#: libretranslate/locales/.langs.py:38 +#: libretranslate/locales/.langs.py:37 msgid "Slovak" msgstr "Eslovaco" -#: libretranslate/locales/.langs.py:39 +#: libretranslate/locales/.langs.py:38 msgid "Slovenian" msgstr "Esloveno" -#: libretranslate/locales/.langs.py:40 +#: libretranslate/locales/.langs.py:39 msgid "Spanish" msgstr "Español" -#: libretranslate/locales/.langs.py:41 +#: libretranslate/locales/.langs.py:40 msgid "Swedish" msgstr "Suecia" -#: libretranslate/locales/.langs.py:42 +#: libretranslate/locales/.langs.py:41 msgid "Tagalog" msgstr "Tagalo" -#: libretranslate/locales/.langs.py:43 +#: libretranslate/locales/.langs.py:42 msgid "Thai" msgstr "Tailandés" -#: libretranslate/locales/.langs.py:44 +#: libretranslate/locales/.langs.py:43 msgid "Turkish" msgstr "Turco" -#: libretranslate/locales/.langs.py:45 +#: libretranslate/locales/.langs.py:44 msgid "Ukranian" msgstr "Ucraniano" -#: libretranslate/locales/.langs.py:46 +#: libretranslate/locales/.langs.py:45 msgid "Urdu" msgstr "Urdu" -#: libretranslate/locales/.langs.py:47 +#: libretranslate/locales/.langs.py:46 msgid "Serbian" msgstr "Serbio" -#: libretranslate/locales/.langs.py:48 +#: libretranslate/locales/.langs.py:47 msgid "Ukrainian" msgstr "Ucraniano" -#: libretranslate/locales/.langs.py:49 +#: libretranslate/locales/.langs.py:48 msgid "Vietnamese" msgstr "Vietnamita" @@ -340,7 +337,7 @@ msgstr "traducir" msgid "Translate text from a language to another" msgstr "Traducir texto de un idioma a otro" -#: libretranslate/locales/.swag.py:5 libretranslate/templates/index.html:224 +#: libretranslate/locales/.swag.py:5 libretranslate/templates/index.html:233 msgid "Translated text" msgstr "Texto traducido" @@ -546,7 +543,7 @@ msgstr "Copiar texto" #: libretranslate/templates/app.js.template:281 #: libretranslate/templates/app.js.template:351 #: libretranslate/templates/app.js.template:439 -#: libretranslate/templates/app.js.template:487 +#: libretranslate/templates/app.js.template:493 #, python-format msgid "Cannot load %(url)s" msgstr "No se puede cargar %(url)s" @@ -574,21 +571,21 @@ msgstr "" msgid "No languages available. Did you install the models correctly?" msgstr "No hay idiomas disponibles. ¿Instalaste los modelos correctamente?" -#: libretranslate/templates/app.js.template:530 +#: libretranslate/templates/app.js.template:536 #, python-format msgid "Type in your API Key. If you need an API key, %(instructions)s" msgstr "Introduce tu clave de API. Si necesitas una clave de API, %(instructions)s" -#: libretranslate/templates/app.js.template:530 +#: libretranslate/templates/app.js.template:536 msgid "press the \"Get API Key\" link." msgstr "presiona el enlace \"Obtener Clave API\"." -#: libretranslate/templates/app.js.template:530 +#: libretranslate/templates/app.js.template:536 msgid "contact the server operator." msgstr "comunícate con el operador del servidor." #: libretranslate/templates/index.html:9 libretranslate/templates/index.html:27 -#: libretranslate/templates/index.html:338 +#: libretranslate/templates/index.html:347 msgid "Free and Open Source Machine Translation API" msgstr "API de traducción automática gratuita y de código abierto" @@ -598,9 +595,9 @@ msgid "" "Free and Open Source Machine Translation API. Free to download, offline " "capable and easy to setup. Run your own API server in just a few minutes." msgstr "" -"API de traducción automática gratuita y de código abierto. Descarga gratuita, con " -"capacidad para trabajar sin conexión y fácil de configurar. Aloja tu " -"propio servidor API en sólo unos minutos." +"API de traducción automática gratuita y de código abierto. Descarga " +"gratuita, con capacidad para trabajar sin conexión y fácil de configurar." +" Aloja tu propio servidor API en sólo unos minutos." #: libretranslate/templates/index.html:11 msgid "translation" @@ -642,101 +639,108 @@ msgstr "Modo oscuro/ligero" msgid "Dismiss" msgstr "Desestimar" -#: libretranslate/templates/index.html:173 +#: libretranslate/templates/index.html:177 +#, fuzzy +msgid "" +"Due to bot abuse, translation requests are temporarily limited to users " +"with a valid API key. Sorry for the inconvenience!" +msgstr "Debido al abuso de bots, las peticiones de traducciones" + +#: libretranslate/templates/index.html:182 msgid "Translation API" msgstr "API de Traducción" -#: libretranslate/templates/index.html:177 +#: libretranslate/templates/index.html:186 msgid "Translate Text" msgstr "Traducir texto" -#: libretranslate/templates/index.html:181 +#: libretranslate/templates/index.html:190 msgid "Translate Files" msgstr "Traducir archivos" -#: libretranslate/templates/index.html:187 +#: libretranslate/templates/index.html:196 msgid "Translate from" msgstr "Traducir del" -#: libretranslate/templates/index.html:197 +#: libretranslate/templates/index.html:206 msgid "Swap source and target languages" msgstr "Cambiar idioma de origen y destino" -#: libretranslate/templates/index.html:200 +#: libretranslate/templates/index.html:209 msgid "Translate into" msgstr "Traducir al" -#: libretranslate/templates/index.html:212 +#: libretranslate/templates/index.html:221 msgid "Text to translate" msgstr "Texto para traducir" -#: libretranslate/templates/index.html:215 +#: libretranslate/templates/index.html:224 msgid "Delete text" msgstr "Borrar el texto" -#: libretranslate/templates/index.html:228 +#: libretranslate/templates/index.html:237 msgid "Suggest translation" msgstr "Sugerir traducción" -#: libretranslate/templates/index.html:232 +#: libretranslate/templates/index.html:241 msgid "Cancel" msgstr "Cancelar" -#: libretranslate/templates/index.html:235 +#: libretranslate/templates/index.html:244 msgid "Send" msgstr "Enviar" -#: libretranslate/templates/index.html:251 +#: libretranslate/templates/index.html:260 msgid "Supported file formats:" msgstr "Formatos de archivo compatibles:" -#: libretranslate/templates/index.html:255 +#: libretranslate/templates/index.html:264 msgid "File" msgstr "Archivo" -#: libretranslate/templates/index.html:270 +#: libretranslate/templates/index.html:279 msgid "Remove file" msgstr "Eliminar el archivo" -#: libretranslate/templates/index.html:277 +#: libretranslate/templates/index.html:286 msgid "Translate" msgstr "Traducir" -#: libretranslate/templates/index.html:278 -#: libretranslate/templates/index.html:322 +#: libretranslate/templates/index.html:287 +#: libretranslate/templates/index.html:331 msgid "Download" msgstr "Descargar" -#: libretranslate/templates/index.html:297 +#: libretranslate/templates/index.html:306 msgid "Request" msgstr "Solicitud" -#: libretranslate/templates/index.html:302 +#: libretranslate/templates/index.html:311 msgid "Response" msgstr "Respuesta" -#: libretranslate/templates/index.html:317 +#: libretranslate/templates/index.html:326 msgid "Open Source Machine Translation API" msgstr "API de Traducción de Código Abierto" -#: libretranslate/templates/index.html:318 +#: libretranslate/templates/index.html:327 msgid "Free to download. Offline Capable. Easy to Setup." msgstr "Descarga gratuita. Funciona Sin Conexión. Fácil de Configurar." -#: libretranslate/templates/index.html:337 +#: libretranslate/templates/index.html:346 msgid "LibreTranslate" msgstr "LibreTranslate" -#: libretranslate/templates/index.html:339 +#: libretranslate/templates/index.html:348 msgid "License:" msgstr "Licencia:" -#: libretranslate/templates/index.html:345 +#: libretranslate/templates/index.html:354 #, python-format msgid "Made with %(heart)s by %(contributors)s and powered by %(engine)s" msgstr "Hecho con %(heart)s por %(contributors)s e impulsado por %(engine)s" -#: libretranslate/templates/index.html:345 +#: libretranslate/templates/index.html:354 #, python-format msgid "%(libretranslate)s Contributors" msgstr "Colaboradores de %(libretranslate)s" @@ -766,3 +770,9 @@ msgstr "Colaboradores de %(libretranslate)s" #~ msgid "get an API key" #~ msgstr "obtén una clave API" + +#~ msgid "Basque" +#~ msgstr "Vasco" + +#~ msgid "Galician" +#~ msgstr "Galego" \ No newline at end of file