Órdenes de gestión

Nota

Ejecute instrucciones de administración bajo un usuario diferente que el cual esté ejecutando su servidor web puede resultar en obtener archivos con permisos incorrectos, compruebe Permisos del sistema de archivos para más detalles.

Encontrará instrucciones de gestión básica (disponible como ./manage.py en las fuentes de Django, o como un conjunto extendido en un guion invocado weblate instalable sobre Weblate).

Invocar órdenes de gestión

Como ya se mencionó, la invocación dependerá de cómo instaló Weblate.

Si utiliza un entorno de Python para Weblate, puede especificar la ruta completa a weblate, o activar el entorno de Python antes de invocarlo:

# Direct invocation
~/weblate-env/bin/weblate

# Activating Python environment adds it to search path
. ~/weblate-env/bin/activate
weblate

Si está utilizando directamente código fuente (incluso si desde un tarball o un checkout de Git), el guion de gestión es ./manage.py disponible en las fuentes de Weblate. Para ejecutarlo:

python ./manage.py list_versions

Si ha instalado Weblate utilizando el instalador pip, o utilizando el script ./setup.py, el weblate está instalado en su ruta (o ruta de entorno de Python), desde donde puede utilizarlo para controlar Weblate:

weblate list_versions

Para la imagen de Docker, el script se instala como se indicó anteriormente y puede ejecutarlo usando docker exec:

docker exec --user weblate <container> weblate list_versions

Para docker-compose-plugin el proceso es similar, solo tienes que usar docker compose exec:

docker compose exec --user weblate weblate weblate list_versions

En caso de que necesite pasarle un archivo, puede agregar temporalmente un volumen:

docker compose exec --user weblate /tmp:/tmp weblate weblate importusers /tmp/users.json

add_suggestions

weblate add_suggestions <project> <component> <language> <file>

Importa una traducción desde el archivo para usarla como sugerencia para la traducción dada. Omite traducciones duplicadas; solo se agregan otras diferentes.

--author USER@EXAMPLE.COM

E-mail of author for the suggestions. This user has to exist prior to importing (you can create one in the admin interface if needed).

Ejemplo:

weblate --author michal@cihar.com add_suggestions weblate application cs /tmp/suggestions-cs.po

auto_translate

weblate auto_translate <project> <component> <language>

Distinto en la versión 4.6: Parámetro agregado para el modo de traducción.

Realiza traducciones automáticas basadas en las traducciones de otros componentes.

--source PROJECT/COMPONENT

Specifies the component to use as source available for translation. If not specified all components in the project are used.

--user USERNAME

Specify username listed as author of the translations. «Anonymous user» is used if not specified.

--overwrite

Whether to overwrite existing translations.

--inconsistent

Whether to overwrite existing translations that are inconsistent (see Incoherente).

--add

Automatically add language if a given translation does not exist.

--mt MT

Use machine translation instead of other components as machine translations.

--threshold THRESHOLD

Similarity threshold for machine translation, defaults to 80.

--mode MODE

Specify translation mode, default is translate but fuzzy or suggest can be used.

Ejemplo:

weblate auto_translate --user nijel --inconsistent --source weblate/application weblate website cs

backup

weblate backup

Runs configured backups synchronously, without using Celery. It first updates the settings and database backup dumps in DATA_DIR, then runs the selected Borg backup service or services.

--list

Lists configured backup service IDs.

--service ID

Runs one backup service by ID.

--all

Runs all enabled backup services.

Use Django’s standard --verbosity 2 option to show backup service output. Failed backup service output is shown even without increased verbosity.

Ejemplos:

weblate backup --list
weblate backup --service 1 --verbosity 2
weblate backup --all

For Docker Compose deployments, you can stop the regular Weblate container and run the command in a one-off container using docker compose run. The database and configured backup storage still need to be available.

docker compose stop weblate
docker compose run --rm --user weblate weblate weblate backup --list
docker compose run --rm --user weblate weblate weblate backup --service 1 --verbosity 2

benchmark

weblate benchmark

Importa contenido dado a Weblate, útil para la evaluación comparativa.

Ejemplo de perfilado de rendimiento
# Run benchmark with a profiling
python -m cProfile -o benchmark.prof ./manage.py benchmark --project benchmark --filemask '*.tbx' --format tbx --zipfile /tmp/MicrosoftTermCollection2.zip

# Convert to SVG for visualization
uvx gprof2dot -f pstats benchmark.prof | dot -Tsvg -o benchmark.svg

# Display SVG
firefox ./benchmark.svg
Ejemplo de perfiles de memoria
# Run benchmark under memray
uvx memray run ./manage.py benchmark --project benchmark --filemask '*.tbx' --format tbx --zipfile /tmp/MicrosoftTermCollection2.zip

# Render the profile
uvx memray flamegraph ./memray-manage.py.2554179.bin

# Display it
fixefox memray-flamegraph-manage.py.2554179.html

billing_demo

weblate billing_demo

Added in version 5.15.

Crea un proyecto de facturación de demostración. Puede ejecutarse varias veces para agregar facturas y sucesos de facturación adicionales.

Esto puede ser útil cuando desarrolle Weblate. Necesita Facturación instalado.

celery_queues

weblate celery_queues

Muestra la longitud de las colas de tareas de Celery.

checkgit

weblate checkgit <project|project/component>

Imprime el estado actual del repositorio back-end de Git.

Puede definir qué proyecto o componente actualizar (por ejemplo, weblate/application o usar --all para actualizar todos los componentes existentes.

commitgit

weblate commitgit <project|project/component>

Consolida cualquier posible cambio pendiente en el repositorio Git back-end.

Puede definir qué proyecto o componente actualizar( por ejemplo weblate/application), o usar --all para actualizar todos los componentes existentes, o usar --file-format para filtrar según el formato de archivo.

commit_pending

weblate commit_pending <project|project/component>

Consolida cambios pendientes anteriores a una edad determinada.

Puede definir qué proyecto o componente actualizar (por ejemplo, weblate/application o usar --all para actualizar todos los componentes existentes.

--age HOURS

Age in hours for committing. If not specified the value configured in Configuración de componentes is used.

Nota

Weblate realiza esto automáticamente en segundo plano, por lo que no hay una necesidad real de invocarlo manualmente, además de forzar una consolidación anterior a la especificada por Configuración de componentes.

cleanuptrans

weblate cleanuptrans

Purga comprobantes huérfanos y sugerencias de traducción. Normalmente no es necesario ejecutar esto manualmente, ya que las purgas se realizan automáticamente en segundo plano.

cleanup_memory

weblate cleanup_memory

Added in version 5.13.

Elimina todas las entradas obsoletas con estado pendiente desde la memoria de traducción.

cleanup_ssh_keys

weblate cleanup_ssh_keys

Added in version 4.9.1.

Realiza la limpieza de las claves de host SSH almacenadas:

  • Elimina las claves RSA obsoletas para GitHub que podrían causar incidencias para conectarse a GitHub.

  • Elimina entradas duplicadas en claves de host.

Ver también

Repositorios SSH

createadmin

weblate createadmin

Crea una cuenta de admin con una contraseña aleatoria, a menos que se especifique.

--password PASSWORD

Provides a password on the command-line, to not generate a random one.

--no-password

Do not set password, this can be useful with –update.

--username USERNAME

Use the given name instead of admin.

--email USER@EXAMPLE.COM

Specify the admin e-mail address.

--name

Specify the admin name (visible).

--update

Update the existing user (you can use this to change passwords).

dump_memory

weblate dump_memory

Exporte un archivo JSON que contenga contenido de la Memoria de traducción Weblate.

dumpuserdata

weblate dumpuserdata <file.json>

Vuelca los datos de usuario en un archivo para su uso posterior por importuserdata.

Consejo

Esto resulta útil cuando hay que migrar o fusionar instalaciones de Weblate.

import_demo

weblate import_demo

Added in version 4.1.

Crea un proyecto demo con componentes basados en <https://github.com/WeblateOrg/demo>. Asegúrese de que las tareas celery se estén ejecutando antes de ejecutar este comando.

Puede ser de utilidad si está desarrollando Weblate.

--delete

Removes existing demo project.

import_json

weblate import_json <json-file>

Importación por lotes de componentes basada en datos JSON.

La estructura del archivo JSON importado corresponde prácticamente al objeto componente (consulte GET /api/components/(string:project)/(string:component)/). Ha de incluir los campos name y filemask.

--project PROJECT

Specifies where the components will be imported from.

--main-component COMPONENT

Use the given VCS repository from this component for all of them.

--ignore

Skip (already) imported components.

--update

Update (already) imported components.

Ejemplo de archivo JSON:

[
  {
    "slug": "po",
    "name": "Gettext PO",
    "file_format": "po",
    "filemask": "po/*.po",
    "new_lang": "none"
  },
  {
    "name": "Android",
    "filemask": "android/values-*/strings.xml",
    "template": "android/values/strings.xml",
    "repo": "weblate://test/test",
    "file_format": "aresource"
  }
]

Ver también

import_memory

import_memory

weblate import_memory <file>

Importa un archivo a la memoria de traducción de Weblate.

Los formatos de archivo compatibles son TMX, JSON, XLIFF, PO, CSV.

Es posible que sea necesario especificar un idioma de origen y otro de destino para formatos distintos de JSON y TMX.

--language-map LANGMAP

Allows mapping languages in the TMX to the Weblate translation memory. The language codes are mapped after normalization usually done by Weblate.

--language-map en_US:en will for example import all en_US strings as en ones.

This can be useful in case your TMX file locales happen not to match what you use in Weblate.

--source-language SOURCE_LANG

Specifies the source language for imported translations. Typically needed for formats where the languages cannot be determined from the file itself.

--target-language TARGET_LANG

Specifies the target language for imported translations. Typically needed for formats where the languages cannot be determined from the file itself.

import_project

weblate import_project <project> <gitrepo> <branch> <filemask>

Importa por lotes componentes al proyecto basándose en la máscara de archivo. Se basa en el complemento Detección de componentes, por lo que es posible que desee utilizarlo en su lugar.

<project> nombra un proyecto existente en el que se importarán los componentes.

El <gitrepo> define la URL del repositorio Git a utilizar, y <branch> significa la rama Git. Para importar componentes de traducción adicionales de un componente Weblate existente, utilice una URL weblate://<project>/<component> para el <gitrepo>.

La <máscara de fichero> define el descubrimiento de archivos para el repositorio. Puede ser simple usando comodines, o puede usar todo el poder de las expresiones regulares.

La concordancia simple utiliza ** para el nombre del componente y * para el idioma, por ejemplo: **/*.po

La expresión regular debe contener grupos denominados component y language, p. e.: (?P<language>[^/]*)/(?P<component>[^-/]*)\.po.

La importación compara los componentes existentes en función de los archivos y añade los que no existen. No modifica los ya existentes.

--name-template TEMPLATE

Customize the name of a component using Django template syntax.

For example: Documentation: {{ component }}

--base-file-template TEMPLATE

Customize the base file for monolingual translations.

For example: {{ component }}/res/values/string.xml

--new-base-template TEMPLATE

Customize the base file for addition of new translations.

For example: {{ component }}/ts/en.ts

--file-format FORMAT

You can also specify the file format to use (see Formatos de archivos de localizaciónn), the default is auto-detection.

--language-regex REGEX

You can specify language filtering (see Configuración de componentes) with this parameter. It has to be a valid regular expression.

--main-component

You can specify which component will be chosen as the main one—the one actually containing the VCS repository.

--license NAME

Specify the overall, project or component translation license.

--license-url URL

Specify the URL where the translation license is to be found.

--vcs NAME

In case you need to specify which version control system to use, you can do it here. The default version control is Git.

Para darte algunos ejemplos, intentemos importar dos proyectos.

Primero las traducciones del Manual de Debian, donde cada idioma está en una carpeta separada con las traducciones de cada capítulo:

weblate import_project \
    debian-handbook \
    https://salsa.debian.org/hertzog/debian-handbook.git \
    bullseye/main \
    '*/**.po'

Luego, la herramienta Tanaguru, donde se debe especificar el formato de archivo, junto con la plantilla del archivo base, y cómo se ubican todos los componentes y traducciones en una sola carpeta:

weblate import_project \
    --file-format=properties \
    --base-file-template=web-app/tgol-web-app/src/main/resources/i18n/%s-I18N.properties \
    tanaguru \
    https://github.com/Tanaguru/Tanaguru \
    master \
    web-app/tgol-web-app/src/main/resources/i18n/**-I18N_*.properties

Ejemplo más complejo de análisis de nombres de archivo para obtener el componente y el idioma correctos de un nombre de archivo como src/security/Numerous_security_holes_in_0.10.1.de.po:

weblate import_project \
    tails \
    git://git.tails.boum.org/tails master \
    'wiki/src/security/(?P<component>.*)\.(?P<language>[^.]*)\.po$'

Filtrar solo las traducciones en el idioma elegido:

./manage import_project \
    --language-regex '^(cs|sk)$' \
    weblate \
    https://github.com/WeblateOrg/weblate.git \
    'weblate/locale/*/LC_MESSAGES/**.po'

Importación de documentación de Sphinx dividida en varios archivos:

$ weblate import_project --name-template 'Documentation: %s' \
    --file-format po \
    project https://github.com/project/docs.git master \
    'docs/locale/*/LC_MESSAGES/**.po'

Importación de documentación de Sphinx dividida en varios archivos y directorios:

$ weblate import_project --name-template 'Directory 1: %s' \
    --file-format po \
    project https://github.com/project/docs.git master \
    'docs/locale/*/LC_MESSAGES/dir1/**.po'
$ weblate import_project --name-template 'Directory 2: %s' \
    --file-format po \
    project https://github.com/project/docs.git master \
    'docs/locale/*/LC_MESSAGES/dir2/**.po'

Ver también

Se pueden encontrar ejemplos más detallados en el capítulo Iniciar con internacionalización, alternativamente es posible que desee utilizar import_json.

import_projectbackup

weblate import_projectbackup <project_name> <project_slug> <username> <filename>

Added in version 5.10.

Importaciones Copias de respaldo a nivel del proyecto.

Consejo

Usualmente es más confortable importar proyecto cuando Añadir proyectos y componentes de traducción.

importuserdata

weblate importuserdata <file.json>

Importa datos de usuario desde un archivo creado por dumpuserdata.

importusers

weblate importusers --check <file.json>

Importa usuarios desde volcado JSON de la base de datos auth_users de Django.

--check

With this option it will just check whether a given file can be imported and report possible conflicts arising from usernames or e-mails.

Puedes volcar a los usuarios desde el sitio Django existente utilizando:

./manage.py dumpdata auth.User > users.json

Consejo

Emplee dumpuserdata para volcado de datos desde otro servidor de Weblate, ya que incluye también las opciones del usuario.

Ver también

Migrar de Pootle

install_addon

weblate install_addon --addon ADDON <project|project/component>

Instala un complemento a un conjunto de componentes.

--addon ADDON

Name of the add-on to install. For example weblate.gettext.customize.

--configuration CONFIG

JSON encoded configuration of an add-on.

--update

Update the existing add-on configuration.

Puede definir en qué proyecto o componente instalar el complemento (por ejemplo weblate/application), o usar --all para incluir todos los componentes existentes.

Para instalar Generar archivos MO para todos los componentes:

weblate install_addon --addon weblate.gettext.mo --configuration '{"fuzzy": true}' --update --all

Ver también

Complementos

install_machinery

Added in version 4.18.

weblate install_machinery --service SERVICE

Instala un servicio sugerido por todo el sitio automático.

--service SERVICE

Name of the service to install. For example deepl.

--configuration CONFIG

JSON encoded configuration of a service.

--update

Update the existing service configuration.

Instalar DeepL:

weblate install_machinery --service deepl --configuration '{"key": "x", "url": "https://api.deepl.com/v2/"}' --update

list_addons

weblate list_addons

Enumera los complementos en reStructuredText como plantilla para Complementos.

--sections {events,addons,parameters}

Filter the generated output to just the add-on event sections, the built-in add-on sections, or the shared add-on parameter sections. If omitted, all generated sections are shown.

list_permissions

weblate list_permissions

Enumera los permisos en reStructuredText como plantilla para Control de acceso.

list_checks

weblate list_checks

Enumera los controles de calidad en reStructuredText como plantilla para Comprobaciones y correcciones y Comprobaciones y correcciones.

--sections {checks,flags}

Filter the generated output to just the quality check sections or the shared check flag sections. If omitted, all generated sections are shown.

Nota

El uso de --output requiere seleccionar exactamente un valor en --sections por cada fragmento generado sea escrito en su propio archivo. Esto coincide con el flujo de trabajo de Colaborar con la documentación de Weblate y los destinos de make -C docs update-docs.

list_languages

weblate list_languages <locale>

Enumera los idiomas admitidos en el marcado de MediaWiki: códigos de idioma, nombres en inglés y nombres localizados.

Esto se utiliza para generar <https://www.l10n.cz/wiki/Slovn%C3%ADky/Slovn%C3%ADk_s_n%C3%A1zvy_jazyk%C5%AF/>.

list_machinery

weblate list_machinery

Enumera los servicios de sugerencias automáticas en reStructuredText como plantilla para Sugerencias automáticas.

list_translators

weblate list_translators <project|project/component>

Enumera a los traductores por idioma contribuido para el proyecto dado:

[French]
Jean Dupont <jean.dupont@example.com>
[English]
John Doe <jd@example.com>
--language-code

List names by language code instead of language name.

Puede definir qué proyecto o componente usar (por ejemplo, weblate/application), o usar --all para enumerar los traductores de todos los componentes existentes.

list_versions

weblate list_versions

Enumera todas las dependencias de Weblate y sus versiones.

list_file_format_params

weblate list_file_format_params

Enumera los parámetros de formato de archivo.

list_change_events

weblate list_change_events

Enumera todos los cambios posibles de tipo de suceso.

list_format_features

weblate list_format_features

Genera fragmentos de documentación RST que describen las características compatibles con cada formato de archivo.

El comando genera un archivo para cada formato, que se puede encontrar en el directorio de salida especificado.

--output PATH

Directory where the format feature snippets will be written.

Nota

Los archivos de documentación generados están pensados para incluirse en fuentes de documentación como Formatos de archivos de localizaciónn. Consulte también weblate/formats/management/commands/list_format_features.py para obtener información sobre la lógica de personalización y fusión.

loadpo

weblate loadpo <project|project/component>

Recarga las traducciones desde el disco (por ejemplo, en caso de que haya realizado algunas actualizaciones en el repositorio de VCS).

--force

Force update, even if the files should be up-to-date.

--lang LANGUAGE

Limit processing to a single language.

Puede definir qué proyecto o componente actualizar (por ejemplo, weblate/application o usar --all para actualizar todos los componentes existentes.

Nota

Rara vez necesita invocar esto, Weblate cargará automáticamente los archivos modificados para cada actualización de VCS. Esto es necesario en caso de que haya cambiado manualmente un repositorio subyacente de Weblate VCS o, en algunos casos especiales, después de una actualización.

lock_translation

weblate lock_translation <project|project/component>

Evita la traducción adicional de un componente.

Consejo

Útil en caso de que desee realizar algún mantenimiento en el repositorio subyacente.

Puede definir qué proyecto o componente actualizar (por ejemplo, weblate/application o usar --all para actualizar todos los componentes existentes.

Ver también

unlock_translation

migrate

weblate migrate

Migra la base de datos al esquema Weblate actual. Las opciones de la línea de comandos se describen en Django migrate.

Consejo

En caso de que desee ejecutar una instalación de forma no interactiva, puede usar weblate migrate --noinput, y luego crear un usuario administrador usando el comando createadmin.

move_language

weblate move_language source target

Permite fusionar contenido de idioma. Esto es útil cuando se actualiza a una nueva versión que contiene alias para idiomas previamente desconocidos que se han creado con el sufijo (generated). Mueve todo el contenido del idioma de source al de target.

Ejemplo:

weblate move_language cze cs

Después de mover el contenido, debe verificar si queda algo (esto está sujeto a las condiciones de carrera cuando alguien actualiza el repositorio mientras tanto) y eliminar el lenguaje (generated).

pushgit

weblate pushgit <project|project/component>

Empuja los cambios consolidados al repositorio de VCS ascendente.

--force-commit

Force commits any pending changes, prior to pushing.

Puede definir qué proyecto o componente actualizar (por ejemplo, weblate/application o usar --all para actualizar todos los componentes existentes.

Nota

Weblate envía los cambios automáticamente si: Enviar al consolidar en Configuración de componentes está activado, lo cual es lo predeterminado.

unlock_translation

weblate unlock_translation <project|project/component>

Desbloquea el componente que se indique para que se pueda traducir.

Consejo

Útil en caso de que desee realizar algún mantenimiento en el repositorio subyacente.

Puede definir qué proyecto o componente actualizar (por ejemplo, weblate/application o usar --all para actualizar todos los componentes existentes.

Ver también

lock_translation

setupgroups

weblate setupgroups

Configura los grupos predeterminados y, opcionalmente, asigna todos los usuarios a ese grupo predeterminado.

--no-privs-update

Turns off automatic updating of existing groups (only adds new ones).

--no-projects-update

Prevents automatic updates of groups for existing projects. This allows adding newly added groups to existing projects, see Control de acceso al proyecto.

Ver también

Lista de privilegios

setuplang

weblate setuplang

Actualiza la lista de idiomas definidos en Weblate.

--no-update

Turns off automatic updates of existing languages (only adds new ones).

updatechecks

weblate updatechecks <project|project/component>

Actualiza todas las comprobaciones para todas las cadenas.

Consejo

Útil para actualizaciones que realizan cambios importantes en las comprobaciones.

Puede definir qué proyecto o componente actualizar (por ejemplo, weblate/application o usar --all para actualizar todos los componentes existentes.

Nota

Weblate recalcula regularmente los controles en segundo plano, la frecuencia se puede configurar a través de BACKGROUND_TASKS.

updategit

weblate updategit <project|project/component>

Recupera repositorios remotos de VCS y actualiza la caché interna.

Puede definir qué proyecto o componente actualizar (por ejemplo, weblate/application o usar --all para actualizar todos los componentes existentes.

Nota

Por lo general, es mejor configurar ganchos en el repositorio para que se activen Actuadores de notificación, en lugar de activar regularmente las actualizaciones mediante updategit.