Complementos¶
Add-ons provide ways to customize and automate the translation workflow. Admins can add and manage add-ons from the Manage ↓ Add-ons menu of each respective translation project or component. Add-ons can be also installed site-wide in Interfaz de administración.
Consejo
También puede configurar los complementos usando API, DEFAULT_ADDONS
o install_addon
.

Events that trigger add-ons¶
Add-on installation¶
Triggered when add-on is being installed.
Component update¶
Triggered whenever a change happens in a component such as:
Strings are changed in the repository.
A string is added.
A new translation is added.
Daily¶
Triggered daily, but add-ons usually split the daily load between components depending on BACKGROUND_TASKS
.
Event change¶
Triggered after a Change event is created.
Repository post-add¶
Triggered just after the new translation is added and committed.
Repository post-commit¶
Triggered just after the changes are committed.
Repository post-push¶
Triggered just after the repository is pushed upstream.
Repository post-update¶
Triggered whenever new changes are pulled from the upstream repository.
Repository pre-commit¶
Triggered just before the changes are committed.
Repository pre-push¶
Triggered just before the repository is pushed upstream.
Repository pre-update¶
Triggered just before the repository update is attempted.
Storage post-load¶
Triggered when file is parsed by Weblate.
Unit post-save¶
Triggered just after the string is saved.
Unit pre-create¶
Triggered just after the newly created string is saved.
Complementos integrados¶
Traducción automática¶
- ID del complemento:
weblate.autotranslate.autotranslate
- Configuración:
mode
Modo de traducción automatizada
Opciones disponibles:
suggest
– Añadir como sugerenciatranslate
– Añadir como traducciónfuzzy
– Añadir como «Necesita edición»filter_type
Filtro de búsqueda
Observe que traducir todas las cadenas descartará todas las traducciones existentes.
Opciones disponibles:
all
– Todas las cadenasnottranslated
– Cadenas no traducidastodo
– Cadenas inacabadasfuzzy
– Cadenas marcadas para ser editascheck:inconsistent
– Comprobación fallida: Inconsistentecheck:translated
– Failing check: Has been translatedauto_source
Fuente de traducciones automáticas
Opciones disponibles:
others
– Otros componentes de la traducciónmt
– Traducción automáticacomponent
Componente
Escriba el slug de un componente para usar lo como origen, manténgalo en blanco para usar todos los componentes del proyecto actual.
engines
Motores de traducción automática
threshold
Umbral de puntuación
- Disparadores:
Traduce automáticamente las cadenas mediante traducción automática u otros componentes.
CDN de regionalización de JavaScript¶
Added in version 4.2.
- ID del complemento:
weblate.cdn.cdnjs
- Configuración:
threshold
Umbral de traducción
Umbral para la inclusión de traducciones.
css_selector
Selector de CSS
Selector de CSS para detectar elementos regionalizables.
cookie_name
Nombre de la «cookie» de idioma
Nombre de la «cookie» que almacena la preferencia de idioma.
files
Extraer cadenas desde archivos HTML
Lista de nombres de archivo en el repositorio actual o URL remotos que analizar en busca de cadenas traducibles.
- Disparadores:
Add-on installation, Daily, Repository post-commit, Repository post-update
Publica las traducciones en una red de entrega de contenidos para su uso al regionalizar JavaScript o HTML.
Puede usarse para traducir páginas estáticas HTML o cargar cadenas de localización en el código JavaScript.
Genera una URL única para su componente que pueda incluir para localizarlas en las páginas HTML . Consulte Traducir HTML y JavaScript mediante la CDN de Weblate para más detalles.
Nota
Este complemento requiere una configuración adicional en el servidor Weblate. LOCALIZE_CDN_PATH
configura dónde se escribirán los archivos generados (en un “filesystem”), y LOCALIZE_CDN_URL
define dónde se servirán (URL). Weblate no se encarga de servir los archivos, sino que debe configurarse externamente (normalmente mediante un servicio CDN).
Este complemento se configura en Alojado en Weblate y sirve los archivos a través de https://weblate-cdn.com/
.
Quitar cadenas vacías¶
Added in version 4.4.
- ID del complemento:
weblate.cleanup.blank
- Configuración:
Este complemento no tiene configuración.
- Disparadores:
Add-on installation, Repository post-commit, Repository post-update
Quita las cadenas que carecen de traducción de los archivos de traducción.
Use esto para no tener cadenas vacías en los ficheros de traducción (por ejemplo si su biblioteca de localización los marca como faltantes en vez de usar la cadena original).
Limpieza de archivos de traducción¶
- ID del complemento:
weblate.cleanup.generic
- Configuración:
Este complemento no tiene configuración.
- Disparadores:
Add-on installation, Repository post-update, Repository pre-commit
Actualiza todos los archivos de traducción para que coincidan con el archivo de base monolingüe. Para la mayoría de los formatos de archivo, esto implica quitar las claves de traducción obsoletas que ya no están en el archivo de base.
En el caso de formatos con contenido adicional además de las cadenas de traducción (como Archivos HTML, Archivos RC de Windows o Formato OpenDocument), esto también sincroniza el archivo de traducción con el archivo base.
Adición de idiomas faltantes¶
- ID del complemento:
weblate.consistency.languages
- Configuración:
Este complemento no tiene configuración.
- Disparadores:
Garantiza que en todos los componentes de un proyecto se utilice el mismo conjunto de idiomas.
Los idiomas que faltan se verifican una vez cada 24 horas y también cuando se agregan nuevos idiomas en Weblate.
A diferencia de la mayoría de los demás complementos, este afecta a todo el proyecto.
Consejo
Traducción automática de cadenas recién agregadas con Traducción automática.
Detección de componentes¶
- ID del complemento:
weblate.discovery.discovery
- Configuración:
match
Expresión regular utilizada para relacionar con los archivos de traducción
file_format
Formato de archivo
name_template
Personalizar el nombre del componente
base_file_template
Definir el nombre del archivo de base monolingüe
Dejar vacío para archivos de traducción bilingües.
new_base_template
Definir el archivo de base para traducciones nuevas
Nombre del archivo utilizado para traducciones nuevas. Para gettext seleccione un archivo .pot.
intermediate_template
Archivo de idioma intermediario
Nombre del archivo de traducción intermediario. En la mayoría de los casos es un archivo provisto por los desarrolladores y se utiliza al crear las cadenas de origen finales.
language_regex
Filtro de idioma
Expresión regular para filtrar los archivos de traducción cuando se busca una máscara de archivo.
copy_addons
Clonar complementos del componente principal a los nuevos
remove
Quitar componentes de archivos inexistentes
confirm
Confirmo que las coincidencias anteriores parecen correctas
- Disparadores:
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.
La coincidencia se realiza mediante expresiones regulares que permiten una configuración compleja, pero se requieren algunos conocimientos para hacerlo. Se pueden encontrar algunos ejemplos de unos casos comunes en la sección de ayuda del complemento.
La expresión regular para buscar archivos de traducción debe contener dos grupos de nombres para buscar el componente y el idioma. Todos los grupos con nombre de la expresión regular pueden utilizarse como variables en los campos de plantilla.
Puedes utilizar la plantilla de lenguaje de marcado Django en todos los campos de nombre de archivo, por ejemplo:
{{ component }}
Nombre de componente emparejado
{{ component|title }}
Nombre de archivo del componente con la primera letra mayúscula
{{ path }}: {{ component }}
Grupo de concordancia personalizado a partir de la expresión regular
Cuando presiona Guardar aparecerá una vista previa de los componentes coincidentes donde podrá verificar si la configuración se ajusta a sus necesidades:

Ejemplos de búsqueda de componentes¶
Una carpeta por idioma¶
Una carpeta por idioma que contiene los archivos de traducción de los componentes.
- Expresión regular:
(?P<language>[^/.]*)/(?P<component>[^/]*)\.po
- Archivos coincidentes:
cs/application.po
cs/website.po
de/application.po
de/website.po
Disposición de las configuraciones regionales de Gettext¶
Estructura habitual para almacenar archivos PO de gettext.
- Expresión regular:
locale/(?P<language>[^/.]*)/LC_MESSAGES/(?P<component>[^/]*)\.po
- Archivos coincidentes:
locale/cs/LC_MESSAGES/application.po
locale/cs/LC_MESSAGES/website.po
locale/de/LC_MESSAGES/application.po
locale/de/LC_MESSAGES/website.po
Nombres de archivo complejos¶
Usando tanto el nombre del componente como el del idioma dentro del nombre del archivo.
- Expresión regular:
src/locale/(?P<component>[^/]*)\.(?P<language>[^/.]*)\.po
- Archivos coincidentes:
src/locale/application.cs.po
src/locale/website.cs.po
src/locale/application.de.po
src/locale/website.de.po
Código lingüístico repetido¶
Usar el lenguaje tanto en la ruta como en el nombre del archivo.
- Expresión regular:
locale/(?P<language>[^/.]*)/(?P<component>[^/]*)/(?P=language)\.po
- Archivos coincidentes:
locale/cs/application/cs.po
locale/cs/website/cs.po
locale/de/application/de.po
locale/de/website/de.po
Cadenas divididas de Android¶
Cadenas de recursos de Android, divididas en varios archivos.
- Expresión regular:
res/values-(?P<language>[^/.]*)/strings-(?P<component>[^/]*)\.xml
- Archivos coincidentes:
res/values-cs/strings-about.xml
res/values-cs/strings-help.xml
res/values-de/strings-about.xml
res/values-de/strings-help.xml
Coincidiendo con varias rutas¶
Proyecto Maven de varios módulos con traducciones de propiedades de Java.
- Expresión regular:
(?P<originalHierarchy>.+/)(?P<component>[^/]*)/src/main/resources/ApplicationResources_(?P<language>[^/.]*)\.properties
- Nombre del componente:
{{ originalHierarchy }}: {{ component }}
- Archivos coincidentes:
parent/module1/submodule/src/main/resources/ApplicationResources_fr.properties
parent/module1/submodule/src/main/resources/ApplicationResource_es.properties
parent/module2/src/main/resources/ApplicationResource_de.properties
parent/module2/src/main/resources/ApplicationResource_ro.properties
Consejo
El complemento de detección de los componentes utiliza URL internos de Weblate. Es una forma conveniente de compartir la configuración de VCS entre múltiples integrantes. Los componentes vinculados utilizan el repositorio local del componente principal configurado al completar weblate://project/main-component
en el campo Repositorio de código fuente (en Gestionar ↓ Configuración ↓ Sistema de control de versiones) de cada componente respectivo. Esto también ahorra tiempo con la configuración y los recursos del sistema.
Ver también
Edición en masa¶
- ID del complemento:
weblate.flags.bulk
- Configuración:
q
Consulta
state
Estado que definir
Opciones disponibles:
-1
– No modificar10
– Necesita ser editado20
– Traducido30
– Aprobadoadd_flags
Indicadores de traducción que añadir
remove_flags
Indicadores de traducción que quitar
add_labels
Etiquetas que añadir
remove_labels
Etiquetas que quitar
- Disparadores:
Edite los indicadores, las etiquetas o los estados de las cadenas de manera masiva.
Ejemplos:
Consulta de búsqueda |
|
---|---|
Etiquetas que añadir |
reciente |
Consulta de búsqueda |
|
---|---|
Indicadores de traducción que añadir |
|
Consulta de búsqueda |
|
---|---|
Indicadores de traducción que añadir |
|
Marcar traducciones sin cambios como «Necesitan edición»¶
- ID del complemento:
weblate.flags.same_edit
- Configuración:
Este complemento no tiene configuración.
- Disparadores:
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
También es posible que desee ajustar la verificación Traducción no modificada agregando el indicador strict-same
a Indicadores de traducción.
Ver también
Marcar cadenas de origen nuevas como «Necesitan edición»¶
- ID del complemento:
weblate.flags.source_edit
- Configuración:
Este complemento no tiene configuración.
- Disparadores:
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»¶
- ID del complemento:
weblate.flags.target_edit
- Configuración:
Este complemento no tiene configuración.
- Disparadores:
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
Llenar las líneas de solo lectura con la fuente¶
Added in version 4.18.
- ID del complemento:
weblate.generate.fill_read_only
- Configuración:
Este complemento no tiene configuración.
- Disparadores:
Completa las cadenas de traducción de solo lectura con las de origen.
Generador de estadísticas¶
- ID del complemento:
weblate.generate.generate
- Configuración:
filename
Nombre del archivo generado
template
Contenido del archivo generado
- Disparadores:
Genera un archivo con información detallada sobre el estado de la traducción.
Es posible utilizar una plantilla de Django tanto en el nombre de archivo como en el contenido; vea Marcación de plantilla para obtener una descripción a detalle de la marcación.
Por ejemplo, para generar un archivo resumen para cada una de las traducciones:
- Nombre del archivo generado
locale/{{ language_code }}.json
- Contenido
{ "language": "{{ language_code }}", "strings": "{{ stats.all }}", "translated": "{{ stats.translated }}", "last_changed": "{{ stats.last_changed }}", "last_author": "{{ stats.last_author }}", }
Ver también
Prerrellenar traducción con original¶
Added in version 4.11.
- ID del complemento:
weblate.generate.prefill
- Configuración:
Este complemento no tiene configuración.
- Disparadores:
Completa las cadenas de traducción con las de origen.
Todas las cadenas no traducidas del componente se rellenarán con la cadena de origen y se marcarán como: Necesitan edición. Use esto cuando no pueda tener cadenas vacías en los archivos de traducción.
Generación de pseudorregiones¶
Added in version 4.5.
- ID del complemento:
weblate.generate.pseudolocale
- Configuración:
source
Cadenas de origen
target
Traducción de destino
Se sobrescribirán todas las cadenas de esta traducción
prefix
Prefijo de cadena fijo
var_prefix
Prefijo de cadena variable
suffix
Sufijo de cadena fijo
var_suffix
Sufijo de cadena variable
var_multiplier
Multiplicador de partes variable
En cuántas ocasiones debe repetirse la parte de la variable, en función de la longitud de la cadena original.
include_readonly
Incluir cadenas de solo lectura
- Disparadores:
Genera una traducción mediante la adición automática de un prefijo y un sufijo a las cadenas de origen.
Las pseudolocales son útiles para encontrar cadenas que no están preparadas para la localización. Esto se hace alterando todas las cadenas fuente traducibles para facilitar la detección de cadenas no alteradas al ejecutar la aplicación en el idioma pseudolocal.
También es posible encontrar cadenas cuyas contrapartes localizadas no se ajusten al diseño.
El uso de las partes variables hace posible buscar cadenas que podrían no encajar en la interfaz de usuario después de la localización; amplía el texto en función de la longitud de la cadena de origen. Las partes variables se repiten por la longitud del texto multiplicada por el multiplicador. Por ejemplo, Hola mundo
con el sufijo variable _
y el multiplicador variable de 1 se convierte en Hola mundo___________
: el sufijo se repite una vez para cada carácter de la cadena de origen.
Las cadenas se generarán acorde a la pauta siguiente:
Prefijo de cadena fija Prefijo de cadena variable Cadena fuente Sufijo de cadena variable Sufijo de cadena fija
Consejo
Puede utilizar idiomas reales para las pruebas, pero hay pseudolocales dedicados disponibles en Weblate : en_XA y ar_XB.
Consejo
Puede utilizar este complemento para iniciar la traducción a una nueva configuración regional de un idioma existente o un idioma similar. Una vez que agregue la traducción al componente, siga hasta el complemento . Ejemplo: Si tiene fr y desea iniciar la traducción de fr_CA , simplemente establezca fr como fuente, fr_CA como destino, y deje el prefijo y el sufijo en blanco.
Desinstale el complemento una vez que haya completado la nueva traducción para evitar que Weblate cambie las traducciones realizadas después de la copia.
Colaboradores en comentarios¶
- ID del complemento:
weblate.gettext.authors
- Configuración:
Este complemento no tiene configuración.
- Disparadores:
Actualiza la parte de comentarios del encabezado del archivo PO para incluir los nombres de los colaboradores y los años de las colaboraciones.
La cabecera del archivo PO lucirá semejante a la siguiente:
# Michal Čihař <michal@weblate.org>, 2012, 2018, 2019, 2020.
# Pavel Borecki <pavel@example.com>, 2018, 2019.
# Filip Hron <filip@example.com>, 2018, 2019.
# anonymous <noreply@weblate.org>, 2019.
Actualización de la variable ALL_LINGUAS en el archivo «configurar»¶
- ID del complemento:
weblate.gettext.configure
- Configuración:
Este complemento no tiene configuración.
- Disparadores:
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¶
- ID del complemento:
weblate.gettext.customize
- Configuración:
width
Ajuste de renglones largos
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.
Opciones disponibles:
77
– Envuelve líneas en 77 caracteres y en líneas nuevas (xgettext por defecto)65535
– Solo ajustar líneas en líneas nuevas (like “xgettext –no-wrap”)-1
– Sin ajuste de línea- Disparadores:
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¶
- ID del complemento:
weblate.gettext.linguas
- Configuración:
Este complemento no tiene configuración.
- Disparadores:
Actualiza el archivo LINGUAS cuando se añade una nueva traducción.
Generar archivos MO¶
- ID del complemento:
weblate.gettext.mo
- Configuración:
path
Ruta del archivo MO generado
Si no se especifica, se utilizará la ubicación del archivo PO.
fuzzy
Incluir cadenas que necesitan edición
Las cadenas que necesitan edición (borrosas) no suelen estar listas para su uso como traducciones.
- Disparadores:
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.
Nota
Si se elimina una traducción, su fichero PO se eliminará del repositorio, pero no el fichero MO generado por este complemento. El fichero MO debe eliminarse manualmente del repositorio.
Actualizar archivos PO para que coincidan con POT (msgmerge)¶
- ID del complemento:
weblate.gettext.msgmerge
- Configuración:
previous
Conservar los msgid anteriores de las cadenas traducidas
no_location
Quitar ubicaciones de cadenas traducidas
fuzzy
Usar coincidencia aproximada
- Disparadores:
Actualiza todos los archivos PO (tal como se configuraron mediante Máscara de archivos) a juego con el archivo POT (según esté configurado por Plantilla para traducciones nuevas) utilizando msgmerge.
Most msgmerge command-line options can be set up through the add-on configuration.
Concentrar consignas de Git¶
- ID del complemento:
weblate.git.squash
- Configuración:
squash
Concentración de consignas
Opciones disponibles:
all
– Todas las confirmaciones en unaidioma
– Por idiomaarchivo
– Por archivoautor
– Por autorappend_trailers
Añadir renglones finales al mensaje de consigna concentrada
Las líneas de acompañamiento son líneas similares a las cabeceras de correo electrónico RFC 822, al final de la parte libre de un mensaje de confirmación, como «Coautor: …».
commit_message
Mensaje de consigna
Este mensaje de consigna se utilizará en sustitución de los mensajes combinados de las consignas concentradas.
- Disparadores:
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:
Todas las consignas en una sola
Por idioma
Por archivo
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.
Los mensajes de confirmación originales se pueden anular opcionalmente con un mensaje de confirmación 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¶
- ID del complemento:
weblate.json.customize
- Configuración:
sort_keys
Ordenar claves de JSON
indent
Sangría JSON
style
Estilo de sangría de JSON
Opciones disponibles:
espacios
– Espaciospestañas
– Pestañas- Disparadores:
Permite ajustar el comportamiento de salida de JSON, por ejemplo, sangría o clasificación.
Formatear el archivo de propiedades de Java¶
- ID del complemento:
weblate.properties.sort
- Configuración:
case_sensitive
Activar la clasificación por mayúsculas y minúsculas
- Disparadores:
Formatea y ordena el archivo de propiedades de Java.
Consolida nuevas líneas a las de Unix.
Formateo en mayúsculas de secuencias de escape Unicode (en caso de que estén presentes).
Elimina las líneas en blanco y los comentarios.
Ordena las cadenas por las claves.
Deja las cadenas duplicadas.
Retiro de comentarios obsoletos¶
- ID del complemento:
weblate.removal.comments
- Configuración:
age
Días para guardar
- Disparadores:
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¶
- ID del complemento:
weblate.removal.suggestions
- Configuración:
age
Días para guardar
votes
Umbral de votos
Umbral para eliminación. Este campo no surte ningún efecto si se desactivan los votos.
- Disparadores:
Fijar un plazo para el borrado de sugerencias.
Puede ser muy útil en relación con la votación de sugerencias (ver Revisión por pares) para eliminar sugerencias que no reciben suficientes votos positivos en un período de tiempo determinado.
Actualizar archivos RESX¶
- ID del complemento:
weblate.resx.update
- Configuración:
Este complemento no tiene configuración.
- Disparadores:
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 si solo desea eliminar las claves de traducción obsoletas.
Webhook¶
Added in version 5.11.
- ID del complemento:
weblate.webhook.webhook
- Configuración:
webhook_url
Webhook URL
secret
Secret
events
Change events
Opciones disponibles:
0
– Resource updated1
– Translation completed2
– Translation changed3
– Comment added4
– Suggestion added5
– Translation added6
– Automatically translated7
– Suggestion accepted8
– Translation reverted9
– Translation uploaded13
– Source string added14
– Component locked15
– Component unlocked17
– Changes committed18
– Changes pushed19
– Repository reset20
– Repository merged21
– Repository rebased22
– Repository merge failed23
– Repository rebase failed24
– Parsing failed25
– Translation removed26
– Suggestion removed27
– Translation replaced28
– Repository push failed29
– Suggestion removed during cleanup30
– Source string changed31
– String added32
– Bulk status changed33
– Visibility changed34
– User added35
– User removed36
– Translation approved37
– Marked for edit38
– Component removed39
– Project removed41
– Project renamed42
– Component renamed43
– Moved component45
– Contributor joined46
– Announcement posted47
– Alert triggered48
– Language added49
– Language requested50
– Project created51
– Component created52
– User invited53
– Repository notification received54
– Translation replaced file by upload55
– License changed56
– Contributor license agreement changed57
– Screenshot added58
– Screenshot uploaded59
– String updated in the repository60
– Add-on installed61
– Add-on configuration changed62
– Add-on uninstalled63
– String removed64
– Comment removed65
– Comment resolved66
– Explanation updated67
– Category removed68
– Category renamed69
– Category moved70
– Saving string failed71
– String added in the repository72
– String updated in the upload73
– String added in the upload74
– Translation updated by source upload75
– Component translation completed76
– Applied enforced check77
– Propagated change78
– File uploaded79
– Extra flags updated- Disparadores:
Sends notification to external service based on selected events.
Personalizar la salida XML¶
Added in version 4.15.
- ID del complemento:
weblate.xml.customize
- Configuración:
closing_tags
Incluir etiqueta de cierre para etiquetas XML vacías
- Disparadores:
Permite ajustar el comportamiento de la salida XML, por ejemplo el cierre de etiquetas.
Personalizar salida de YAML¶
- ID del complemento:
weblate.yaml.customize
- Configuración:
indent
Sangría YAML
width
Ajuste de renglones largos
Opciones disponibles:
80
– Envuelve líneas en 80 caracteres100
– Envuelve líneas en 100 caracteres120
– Envuelve líneas en 120 caracteres180
– Envuelve líneas en 180 caracteres65535
– Sin ajuste de línealine_break
Saltos de renglón
Opciones disponibles:
dos
– DOS (\r\n)unix
– UNIX (\n)mac
– MAC (\r)- Disparadores:
Permite ajustar el comportamiento de salida de YAML, como la longitud de los renglones y los saltos.
Personalización de la lista de complementos¶
La lista de complementos se configura mediante WEBLATE_ADDONS
. Para agregar otro complemento, simplemente incluya el nombre absoluto de la clase en esta configuración.
Complemento de escritura¶
También puede escribir sus propios complementos, crear una subclase de weblate.addons.base.BaseAddon
para definir los metadatos del complemento y luego implementar una devolución de llamada para realizar el procesamiento.
Ver también
Ejecutar scripts desde el complemento¶
Los add-ons pueden utilizarse para ejecutar scripts externos. Esto solía estar integrado en Weblate, pero ahora tienes que escribir algo de código para envolver tu script con un add-on.
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Example pre commit script."""
from django.utils.translation import gettext_lazy
from weblate.addons.events import AddonEvent
from weblate.addons.scripts import BaseScriptAddon
class ExamplePreAddon(BaseScriptAddon):
# Event used to trigger the script
events: set[AddonEvent] = {
AddonEvent.EVENT_PRE_COMMIT,
}
# Name of the addon, has to be unique
name = "weblate.example.pre"
# Verbose name and long description
verbose = gettext_lazy("Execute script before commit")
description = gettext_lazy("This add-on 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 Controles de calidad personalizados, complementos y autocorrecciones.
El script se ejecuta con el directorio actual establecido en la raíz del repositorio VCS para cualquier componente dado.
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¶
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¶
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¶
HEAD anterior después de la actualización (sólo disponible después de ejecutar el hook posterior a la actualización).
- WL_COMPONENT_SLUG¶
Componente slug utilizado para construir la URL.
- WL_PROJECT_SLUG¶
Slug del proyecto utilizado para construir la URL.
- WL_COMPONENT_NAME¶
Nombre del componente.
- WL_PROJECT_NAME¶
Nombre del proyecto.
- WL_COMPONENT_URL¶
URL del componente.
- WL_ENGAGE_URL¶
URL de participación del proyecto.
Ver también
Procesando el repositorio después de la actualización¶
Se puede utilizar para actualizar los archivos de traducción cuando el código fuente del VCS cambia. Para conseguirlo, recuerda que Weblate sólo ve los archivos confirmados en el VCS, por lo que debes commit los cambios como parte del 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¶
Utilice el script commitn para cambiar automáticamente una traducción antes de confirmarla en el repositorio.
Se pasa como un único parámetro que consiste en el nombre de archivo de una traducción actual.
Registro de la actividad del complemento¶
El registro de la actividad del complemento realiza un seguimiento de la ejecución del complemento y puede utilizarse para realizar un seguimiento de la actividad del complemento.
Los registros pueden ser eliminados después de un cierto intervalo de tiempo configurando el parámetro ADDON_ACTIVITY_LOG_EXPIRY
.