Cliente de Weblate

Nuevo en la versión 2.7: There has been full wlc utility support ever since Weblate 2.7. If you are using an older version some incompatibilities with the API might occur.

Instalación

The Weblate Client is shipped separately and includes the Python module. To use the commands below, you need to install wlc:

pip3 install wlc

Uso de Docker

El cliente de Weblate está disponible también como imagen para Docker.

The image is published on Docker Hub: https://hub.docker.com/r/weblate/wlc

Instalación:

docker pull weblate/wlc

The Docker container uses Weblate’s default settings and connects to the API deployed in localhost. The API URL and API_KEY can be configured through the arguments accepted by Weblate.

The command to launch the container uses the following syntax:

docker run --rm weblate/wlc [WLC_ARGS]

Ejemplo:

docker run --rm weblate/wlc --url https://hosted.weblate.org/api/ list-projects

You might want to pass your Archivos de configuración to the Docker container, the easiest approach is to add your current directory as /home/weblate volume:

docker run --volume $PWD:/home/weblate --rm weblate/wlc show

Primeros pasos

The wlc configuration is stored in ~/.config/weblate (see Archivos de configuración for other locations), please create it to match your environment:

[weblate]
url = https://hosted.weblate.org/api/

[keys]
https://hosted.weblate.org/api/ = APIKEY

You can then invoke commands on the default server:

wlc ls
wlc commit sandbox/hello-world

Synopsis

wlc [arguments] <command> [options]

Las órdenes indican cuál operación ha de realizarse.

Descripción

Weblate Client is a Python library and command-line utility to manage Weblate remotely using API REST de Weblate. The command-line utility can be invoked as wlc and is built-in on wlc.

Argumentos

El programa acepta los argumentos siguientes, que definen el formato de la salida, o bien, cuál instalación de Weblate utilizar. Deben introducirse antes de cualquier orden.

--format {csv,json,text,html}

Especifique el formato de la salida.

--url URL

Specify the API URL. Overrides any value found in the configuration file, see Archivos de configuración. The URL should end with /api/, for example https://hosted.weblate.org/api/.

--key KEY

Specify the API user key to use. Overrides any value found in the configuration file, see Archivos de configuración. You can find your key in your profile on Weblate.

--config PATH

Overrides the configuration file path, see Archivos de configuración.

--config-section SECTION

Overrides configuration file section in use, see Archivos de configuración.

Órdenes

Las siguientes órdenes están disponibles:

version

Muestra la versión actual.

list-languages

Enumera los idiomas utilizados en Weblate.

list-projects

Enumera los proyectos en Weblate.

list-components

Enumera los componentes en Weblate.

list-translations

Enumera las traducciones en Weblate.

show

Muestra un objeto de Weblate (traducción, componente o proyecto).

ls

Enumera objetos de Weblate (traducción, componente o proyecto).

commit

Consigna los cambios efectuados en un objeto de Weblate (traducción, componente o proyecto).

pull

Incorpora los cambios en el repositorio remoto en un objeto de Weblate (traducción, componente o proyecto).

push

Envía los cambios en el objeto de Weblate (traducción, componente o proyecto) al repositorio remoto.

reset

Nuevo en la versión 0.7: Admitido desde wlc 0.7.

Restablece los cambios en un objeto de Weblate (traducción, componente o proyecto) para que coincida con el repositorio remoto.

cleanup

Nuevo en la versión 0.9: Admitido desde wlc 0.9.

Removes any untracked changes in a Weblate object to match the remote repository (translation, component or project).

repo

Displays repository status for a given Weblate object (translation, component or project).

statistics

Displays detailed statistics for a given Weblate object (translation, component or project).

lock-status

Nuevo en la versión 0.5: Admitido desde wlc 0.5.

Muestra el estado de bloqueo.

lock

Nuevo en la versión 0.5: Admitido desde wlc 0.5.

Bloquea el componente para evitar más traducciones en Weblate.

unlock

Nuevo en la versión 0.5: Admitido desde wlc 0.5.

Desbloquea la traducción del componente de Weblate.

changes

Nuevo en la versión 0.7: Admitido desde wlc 0.7 y Weblate 2.10.

Muestra los cambios correspondientes al objeto indicado.

download

Nuevo en la versión 0.7: Admitido desde wlc 0.7.

Descarga un archivo de traducción.

--convert

Convierte el formato de archivo. Si no se especifica ningún formato, no se produce ninguna conversión en el servidor y el archivo se descarga tal cual es en el repositorio.

--output

Permite especificar el archivo en el que se guardará la salida; si no se define, se mostrará en la salida estándar.

upload

Nuevo en la versión 0.9: Admitido desde wlc 0.9.

Carga un archivo de traducción.

--overwrite

Sobrescribir traducciones existentes al cargar.

--input

Archivo del cual se lee contenido; si no se define, se lee de la entrada estándar.

Consejo

Puede obtener más información al invocar cada orden si añade --help; por ejemplo: wlc ls --help.

Archivos de configuración

.weblate, .weblate.ini, weblate.ini

Distinto en la versión 1.6: También se aceptan los archivos con la extensión .ini.

Archivo de configuración por proyecto

C:\Users\NOMBRE\AppData\weblate.ini

Nuevo en la versión 1.6.

Archivo de configuración de usuario en Windows.

~/.config/weblate

Archivo de configuración de usuario

/etc/xdg/weblate

Archivo de configuración para todo el sistema

El programa sigue la especificación XDG, de modo que puede ajustar la colocación de los archivos de configuración mediante las variables de entorno XDG_CONFIG_HOME o XDG_CONFIG_DIRS. En Windows, se prefiere el directorio APPDATA para ubicar el archivo de configuración.

Following settings can be configured in the [weblate] section (you can customize this by --config-section):

key

Clave de API para obtener acceso a Weblate.

url

URL del servidor de la API; el valor predeterminado es http://127.0.0.1:8000/api/.

translation

Path to the default translation - component or project.

El archivo de configuración es un INI; por ejemplo:

[weblate]
url = https://hosted.weblate.org/api/
key = APIKEY
translation = weblate/application

Además, las claves de la API se pueden almacenar en la sección [keys]:

[keys]
https://hosted.weblate.org/api/ = APIKEY

This allows you to store keys in your personal settings, while using the .weblate configuration in the VCS repository so that wlc knows which server it should talk to.

Ejemplos

Mostrar la versión actual del programa:

$ wlc version
version: 0.1

Enumerar todos los proyectos:

$ wlc list-projects
name: Hello
slug: hello
url: http://example.com/api/projects/hello/
web: https://weblate.org/
web_url: http://example.com/projects/hello/

También puede designar el proyecto en el que debe funcionar wlc:

$ cat .weblate
[weblate]
url = https://hosted.weblate.org/api/
translation = weblate/application

$ wlc show
branch: main
file_format: po
source_language: en
filemask: weblate/locale/*/LC_MESSAGES/django.po
git_export: https://hosted.weblate.org/git/weblate/application/
license: GPL-3.0+
license_url: https://spdx.org/licenses/GPL-3.0+
name: Application
new_base: weblate/locale/django.pot
project: weblate
repo: git://github.com/WeblateOrg/weblate.git
slug: application
template:
url: https://hosted.weblate.org/api/components/weblate/application/
vcs: git
web_url: https://hosted.weblate.org/projects/weblate/application/

Con esta configuración es sencillo consignar los cambios pendientes del proyecto actual:

$ wlc commit