Ó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 utilizando virtualenv para Weblate, puede especificar la ruta completa a weblate, o activar el virtualenv antes de invocarlo:

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

# Activating virtualenv 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 virtualenv), 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 del archivo para usarla como sugerencia para la traducción dada. Omite traducciones duplicadas; solo se agregan otras diferentes.

--author USER@EXAMPLE.COM

Correo electrónico del autor para las sugerencias. Este usuario debe existir antes de importar (puede crear uno en la interfaz de administración si es necesario).

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

Especifica el componente que se utilizará como fuente disponible para la traducción. Si no se especifica, se utilizan todos los componentes del proyecto.

--user USERNAME

Especifique el nombre de usuario que aparece como autor de las traducciones. Se utiliza «Usuario anónimo» si no se especifica.

--overwrite

Ya sea para sobrescribir traducciones existentes.

--inconsistent

Si se sobrescriben las traducciones existentes que son inconsistentes (ver Incoherente).

--add

Agregar automáticamente el idioma si no existe una traducción determinada.

--mt MT

Utilice la traducción automática en lugar de otros componentes como traducciones automáticas.

--threshold THRESHOLD

Umbral de similitud para la traducción automática, predeterminado en 80.

--mode MODE

Especificar el modo de traducción, por defecto es translate pero fuzzy o suggest puede ser utilizado.

Ejemplo:

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

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 eventos de facturación adicionales.

This can be useful when developing Weblate. Needs Facturación installed.

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>

Confirma 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>

Confirma 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

Edad en horas para comprometerse. Si no se especifica, se usa el valor configurado en Configuración de componentes.

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 confirmació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 problemas 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

Permite proporcionar una contraseña mediante la línea de órdenes, de modo que no se genere una aleatoria.

--no-password

No establezca la contraseña, esto puede ser útil con –update.

--username USERNAME

Use el nombre de pila en lugar de admin.

--email USER@EXAMPLE.COM

Especifique la dirección de correo del administrador.

--name

Especifique el nombre del administrador (visible).

--update

Actualice el usuario existente (puede usarlo para cambiar las contraseñas).

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

Elimina el proyecto de demostración existente.

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 (ver GET /api/components/(string:project)/(string:component)/). Ha de incluir los campos name y filemask.

--project PROJECT

Especifica desde dónde se importarán los componentes.

--main-component COMPONENT

Use el repositorio de VCS dado de este componente para todos ellos.

--ignore

Omitir los componentes (ya) importados.

--update

Actualizar los componentes (ya) importados.

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

Permite asignar idiomas de la TMX a la memoria de traducción de Weblate. Los códigos de idioma se asignan después de la normalización realizada normalmente por Weblate.

--language-map en_US:en importará, por ejemplo, todas las cadenas en_US como cadenas en.

Esto puede ser útil en caso de que la configuración regional de tu archivo TMX no coincida con la que utilizas en Weblate.

--source-language SOURCE_LANG

Especifica el idioma de origen de las traducciones importadas. Suele ser necesario para formatos en los que los idiomas no pueden determinarse a partir del propio archivo.

--target-language TARGET_LANG

Especifica el idioma de destino de las traducciones importadas. Suele ser necesario para formatos en los que los idiomas no pueden determinarse a partir del propio archivo.

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

Personaliza el nombre de un componente utilizando la sintaxis de plantillas de Django.

Por ejemplo: Documentación: {{ componente }}

--base-file-template TEMPLATE

Personalice el archivo base para traducciones monolingües.

Por ejemplo: {{ component }}/res/values/string.xml

--new-base-template TEMPLATE

Personalice el archivo base para añadir nuevas traducciones.

Por ejemplo: {{ component }}/ts/en.ts

--file-format FORMAT

También puede especificar el formato de archivo a utilizar (véase Localization file formats), por defecto es la detección automática.

--language-regex REGEX

Puede especificar el filtrado de idioma (ver Configuración de componentes) con este parámetro. Tiene que ser una expresión regular válida.

--main-component

Puede especificar qué componente se elegirá como el principal, el que realmente contiene el repositorio de VCS.

--license NAME

Especifique la licencia de traducción general, de proyecto o de componentes.

--license-url URL

Especifique la URL donde se encuentra la licencia de traducción.

--vcs NAME

En caso de que necesite especificar qué sistema de control de versiones usar, puede hacerlo aquí. El control de versiones predeterminado es 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 Starting with internationalization, 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

Con esta opción tan solo comprobará si un archivo dado puede ser importado e informar conflictos posibles sucediéndose desde nombres de usuario o correos electrónicos.

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

Nombre del complemento a instalar. Por ejemplo weblate.gettext.customize.

--configuration CONFIG

Configuración codificada en JSON de un complemento.

--update

Actualice la configuración del complemento existente.

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

Nombre del servicio a instalar. Por ejemplo deepl.

--configuration CONFIG

Configuración codificada en JSON de un servicio.

--update

Actualice la configuración del servicio existente.

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.

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.

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 usa para generar <https://wiki.l10n.cz/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

Enumere los nombres por código de idioma en lugar del nombre del idioma.

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.

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

Forzar la actualización, incluso si los archivos debieran estar actualizados.

--lang LANGUAGE

Limite el procesamiento a un solo idioma.

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 confirmados al repositorio de VCS ascendente.

--force-commit

Force confirma cualquier cambio pendiente, antes de presionar.

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 consignar 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

Desactiva la actualización automática de los grupos existentes (solamente añade los nuevos).

--no-projects-update

Evitar las actualizaciones automáticas de grupos para proyectos existentes. Esto permite agregar grupos recién agregados a proyectos existentes, ver Control de acceso al proyecto.

Ver también

Lista de privilegios

setuplang

weblate setuplang

Actualiza la lista de idiomas definidos en Weblate.

--no-update

Desactiva la actualización automática de los idiomas existentes (solamente añade los nuevos).

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.