Complementos¶
Nuevo en la versión 2.19.
Addons provide ways to customize and automate the translation workflow. Admins can add and mangage addons from the Manage ↓ Addons menu of each respective translation component.

Complementos incorporados¶
Traducción automática¶
Nuevo en la versión 3.9.
Traduce automáticamente las cadenas mediante traducción automática u otros componentes.
Se desencadena:
Cuando aparecen cadenas nuevas en un componente.
Una vez al mes por cada componente; esto puede configurarse mediante las
BACKGROUND_TASKS
.
CDN de regionalización de JavaScript¶
Nuevo en la versión 4.2.
Publica las traducciones en una red de entrega de contenidos para su uso al regionalizar JavaScript o HTML.
Can be used to localize static HTML pages, or to load localization in the JavaScript code.
Generates a unique URL for your component you can include in HTML pages to localize them. See Traducir HTML y JavaScript mediante la CDN de Weblate for more details.
Quitar cadenas vacías¶
Nuevo en la versión 4.4.
Quita las cadenas que carecen de traducción de los archivos de traducción.
Use this to not have any empty strings in translation files (for example if your localization library displays them as missing instead of falling back to the source string).
Limpieza de archivos de traducción¶
Actualice todos los archivos de traducción para que coincidan con el archivo base monolingüe. Para la mayoría de los formatos de archivo, esto significa quitar las claves de traducción obsoletas que ya no están presentes en el archivo base.
Add missing languages¶
Ensures a consistent set of languages is used for all components within a project.
Missing languages are checked once every 24 hours, and when new languages are added in Weblate.
A diferencia de la mayoría de los demás, este complemento afecta a todo el proyecto.
Consejo
Auto-translate the newly added strings with Traducción automática.
Detección de componentes¶
Añade o quita automáticamente componentes del proyecto en función de los cambios de los archivos en el sistema de control de versiones.
Triggered each time the VCS is updated, and otherwise similar to
the import_project
management command. This way you can track
multiple translation components within one VCS.
The matching is done using regular expressions enabling complex configuration, but some knowledge is required to do so. Some examples for common use cases can be found in the addon help section.
Once you hit Save, a preview of matching components will be presented, from where you can check whether the configuration actually matches your needs:

Consejo
Component discovery addon uses URL internos de Weblate. It’s a convenient way to share
VCS setup between multiple components. Linked components use the local repository of
the main component set up by filling weblate://project/main-component
into the Repositorio de código fuente field (in Manage ↓ Settings ↓
Version control system) of each respective component.
This saves time with configuration and system resources too.
Ver también
Edición en masa¶
Nuevo en la versión 3.11.
Edite los indicadores, las etiquetas o los estados de las cadenas de manera masiva.
Automate labeling by starting out with the search query NOT has:label
and add labels till all strings have all required labels.
Other automated operations for Weblate metadata can also be done.
Ejemplos:
Consulta de búsqueda |
|
---|---|
Etiquetas que añadir |
recent |
Consulta de búsqueda |
|
---|---|
Indicadores de traducción que añadir |
|
Marcar traducciones sin cambios como «Necesitan edición»¶
Nuevo en la versión 3.1.
Cada vez que se importa una cadena traducible nueva desde el VCS y esta corresponde a una cadena de origen, se marca como necesaria la edición en Weblate. Esto es útil sobre todo para aquellos formatos de archivo que incluyen las cadenas de origen de las cadenas no traducidas.
Consejo
You might also want to tighthen the Traducción no modificada check by adding
strict-same
flag to Indicadores de traducción.
Ver también
Marcar cadenas de origen nuevas como «Necesitan edición»¶
Cuando se importa una cadena de origen nueva desde el VCS, se marca como necesaria la edición en Weblate. De esta manera usted puede filtrar y editar cadenas de origen escritas por los desarrolladores con facilidad.
Ver también
Marcar traducciones nuevas como «Necesitan edición»¶
Cuando se importa una cadena traducible nueva desde el VCS, se marca como necesaria la edición en Weblate. De esta manera usted puede filtrar y editar las traducciones creadas por los desarrolladores con facilidad.
Ver también
Generador de estadísticas¶
Genera un archivo con información detallada sobre el estado de la traducción.
You can use a Django template in both filename and content, see Marcación de plantilla for a detailed markup description.
For example generating a summary file for each translation:
- Nombre del archivo generado
locale/{{ código_de_idioma }}.json
- Contenido
{ "language": "{{ language_code }}", "strings": "{{ stats.all }}", "translated": "{{ stats.translated }}", "last_changed": "{{ stats.last_changed }}", "last_author": "{{ stats.last_author }}", }
Ver también
Generación de pseudorregiones¶
Genera una traducción mediante la adición automática de un prefijo y un sufijo a las cadenas de origen.
Pseudolocales are useful to find strings that are not prepared for localization. This is done by altering all translatable source strings to make it easy to spot unaltered strings when running the application in the pseudolocale language.
Finding strings whose localized counterparts might not fit the layout is also possible.
Consejo
You can use real languages for testing, but there are dedicated pseudolocales available in Weblate - en_XA and ar_XB.
Contribuidores en comentarios¶
Actualiza el comentario en la cabecera del archivo PO para incluir los nombres de los contribuidores y los años de las contribuciones.
La cabecera del archivo PO lucirá semejante a la siguiente:
# Michal Čihař <michal@cihar.com>, 2012, 2018, 2019, 2020.
# Pavel Borecki <pavel@example.com>, 2018, 2019.
# Filip Hron <filip@example.com>, 2018, 2019.
# anonymous <noreply@weblate.org>, 2019.
Actualizar variable ALL_LINGUAS en el archivo «configure»¶
Actualiza la variable ALL_LINGUAS del archivo configure
, configure.in
o cualquier archivo configure.ac
siempre que se añade una traducción nueva.
Personalizar la salida de gettext¶
Permite la personalización del comportamiento de salida de gettext, por ejemplo, ajuste de líneas.
Cuenta con las opciones siguientes:
Ajustar renglones a los 77 caracteres y en saltos de renglón
Ajustar renglones únicamente en los saltos
No ajustar renglones
Nota
De manera predeterminada, gettext ajusta los renglones a los 77 caracteres y en los saltos de renglón. Con el parámetro --no-wrap
ajusta solo en los saltos.
Actualizar archivo LINGUAS¶
Actualiza el archivo LINGUAS al añadir una traducción nueva.
Generar archivos MO¶
Genera automáticamente un archivo MO por cada archivo PO modificado.
La ubicación del archivo MO generado puede personalizarse y el campo correspondiente utiliza Marcación de plantilla.
Actualizar archivos PO para que coincidan con POT (msgmerge)¶
Actualiza todos los archivos PO (tal como se configuraron mediante File mask) a juego con el archivo POT (según esté configurado por Plantilla para traducciones nuevas) utilizando msgmerge.
Triggered whenever new changes are pulled from the upstream repository. Most msgmerge command-line options can be set up through the addon configuration.
Concentrar consignas de Git¶
Concentrar las consignas de Git antes de enviar los cambios.
Las consignas Git se pueden concentrar antes de enviar los cambios en uno de los modos siguientes:
Nuevo en la versión 3.4.
Todas las consignas en una sola
Por idioma
Por archivo
Nuevo en la versión 3.5.
Por autor
Se conservarán los mensajes de consigna originales pero la autoría se perderá, a menos que seleccione Por autor o personalice el mensaje de consigna para incluirla.
Nuevo en la versión 4.1.
Los mensajes de consigna originales pueden alterarse opcionalmente por un mensaje personalizado.
Existe la opción de quitar los renglones finales (como Co-authored-by: …
) de los mensajes de consigna originales y reañadirlos al mensaje de la consigna concentrada. Co-authored-by:
asegurará además la debida acreditación a cada uno de los traductores.
Personalizar la salida de JSON¶
Permite ajustar el comportamiento de salida de JSON, por ejemplo, sangría o clasificación.
Formatea el archivo de propiedades de Java¶
Ordena el archivo de propiedades de Java.
Retiro de comentarios obsoletos¶
Nuevo en la versión 3.7.
Fijar un plazo para el borrado de los comentarios.
Esto puede resultar útil para quitar los comentarios antiguos que pueden ya no ser aplicables. Utilícela con cuidado, pues el hecho de que un comentario sea antiguo no necesariamente denota que ha perdido importancia.
Retiro de sugerencias obsoletas¶
Nuevo en la versión 3.7.
Fijar un plazo para el borrado de sugerencias.
Can be very useful in connection with suggestion voting (see Revisión por pares) to remove suggestions which don’t receive enough positive votes in a given timeframe.
Actualizar archivos RESX¶
Nuevo en la versión 3.9.
Actualiza todos los archivos de traducción para que coincidan con el archivo de base monolingüe original. Las cadenas no utilizadas se retiran y las nuevas se añaden como copias de las cadenas de origen.
Consejo
Use Limpieza de archivos de traducción if you only want to remove stale translation keys.
Personalizar salida de YAML¶
Nuevo en la versión 3.10.2.
Permite ajustar el comportamiento de salida de YAML, como la longitud de los renglones y los saltos.
Personalizar la lista de complementos¶
The list of addons is configured by WEBLATE_ADDONS
.
To add another addon, simply include the absolute class name in this setting.
Escribir un complemento¶
You can write your own addons too, create a subclass of
weblate.addons.base.BaseAddon
to define the addon metadata, and
then implement a callback to do the processing.
Ver también
Ejecutar secuencias de órdenes de un complemento¶
Addons can also be used to execute external scripts. This used to be integrated in Weblate, but now you have to write some code to wrap your script with an addon.
#
# Copyright © 2012 - 2021 Michal Čihař <michal@cihar.com>
#
# This file is part of Weblate <https://weblate.org/>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
"""Example pre commit script."""
from django.utils.translation import gettext_lazy as _
from weblate.addons.events import EVENT_PRE_COMMIT
from weblate.addons.scripts import BaseScriptAddon
class ExamplePreAddon(BaseScriptAddon):
# Event used to trigger the script
events = (EVENT_PRE_COMMIT,)
# Name of the addon, has to be unique
name = "weblate.example.pre"
# Verbose name and long descrption
verbose = _("Execute script before commit")
description = _("This addon executes a script.")
# Script to execute
script = "/bin/true"
# File to add in commit (for pre commit event)
# does not have to be set
add_file = "po/{{ language_code }}.po"
Para obtener instrucciones de instalación, vea Comprobaciones de calidad, complementos y correcciones automáticas personalizadas.
The script is executed with the current directory set to the root of the VCS repository for any given component.
Además, las variables de entorno siguientes están a su disposición:
-
WL_VCS
¶ Sistema de control de versiones utilizado.
-
WL_REPO
¶ URL del repositorio del proyecto originario.
-
WL_PATH
¶ Ruta absoluta al repositorio del sistema de control de versiones.
-
WL_BRANCH
¶ Nuevo en la versión 2.11.
Rama del repositorio configurada en el componente actual.
-
WL_FILEMASK
¶ Máscara de archivos para el componente actual.
-
WL_TEMPLATE
¶ Nombre de archivo de plantilla para traducciones monolingües (puede quedar vacío).
-
WL_NEW_BASE
¶ Nuevo en la versión 2.14.
Nombre del archivo utilizado para crear traducciones nuevas (puede quedar vacío).
-
WL_FILE_FORMAT
¶ Formato de archivo utilizado en el componente actual.
-
WL_LANGUAGE
¶ Idioma de la traducción procesada actualmente (no disponible para actuadores a nivel componente).
-
WL_PREVIOUS_HEAD
¶ Previous HEAD after update (only available after running the post-update hook).
-
WL_COMPONENT_SLUG
¶ Nuevo en la versión 3.9.
Component slug used to construct URL.
-
WL_PROJECT_SLUG
¶ Nuevo en la versión 3.9.
Project slug used to construct URL.
-
WL_COMPONENT_NAME
¶ Nuevo en la versión 3.9.
Nombre del componente.
-
WL_PROJECT_NAME
¶ Nuevo en la versión 3.9.
Nombre del proyecto.
-
WL_COMPONENT_URL
¶ Nuevo en la versión 3.9.
URL del componente.
-
WL_ENGAGE_URL
¶ Nuevo en la versión 3.9.
URL de participación del proyecto.
Ver también
Post-update repository processing¶
Can be used to update translation files when the VCS upstream source changes. To achieve this, please remember Weblate only sees files committed to the VCS, so you need to commit changes as a part of the script.
Por ejemplo, con Gulp puede hacerlo a través del código a continuación:
#! /bin/sh
gulp --gulpfile gulp-i18n-extract.js
git commit -m 'Update source strings' src/languages/en.lang.json
Procesamiento de traducciones preconsigna¶
Use the commit script to automatically change a translation before it is committed to the repository.
It is passed as a single parameter consisting of the filename of a current translation.