Ó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.
If using a Python environment for Weblate, you can either specify the full path to weblate, or activate the Python environment prior to invoking it:
# 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
If you’ve installed Weblate using the pip installer, or by using the ./setup.py
script, the weblate is installed to your path (or Python environment path),
from where you can use it to control 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 apodo 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
translateperofuzzyosuggestpuede ser utilizado.
Ejemplo:
weblate auto_translate --user nijel --inconsistent --source weblate/application weblate website cs
Ver también
benchmark¶
- weblate benchmark¶
Importa contenido dado a Weblate, útil para la evaluación comparativa.
# 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
# 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.
Esto puede ser útil cuando desarrolle Weblate. Necesita Facturación instalado.
Ver también
celery_queues¶
- weblate celery_queues¶
Muestra la longitud de las colas de tareas de Celery.
Ver también
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¶
Edad en horas para consolidar. 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 consolidación anterior a la especificada por Configuración de componentes.
Ver también
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.
Ver también
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
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.
Ver también
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¶
- 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:enimportará, por ejemplo, todas las cadenasen_UScomo cadenasen.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
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
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
Ver también
list_addons¶
- weblate list_addons¶
Enumera los complementos en reStructuredText como plantilla para Complementos.
Ver también
list_permissions¶
- weblate list_permissions¶
Enumera los permisos en reStructuredText como plantilla para Control de acceso.
Ver también
list_checks¶
- weblate list_checks¶
Enumera los controles de calidad en reStructuredText como plantilla para Comprobaciones y correcciones y Comprobaciones y correcciones.
Ver también
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.
Ver también
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.
list_change_events¶
- weblate list_change_events¶
Enumera todos los cambios posibles de tipos de eventos.
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
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.
Ver también
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¶
Fuerza consolidar a 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 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
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
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.