Cliente de Weblate#

Instalación#

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

pip 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).

stats#

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.

--method#

Upload method to use, see Métodos de importación.

--fuzzy#

Fuzzy (marked for edit) strings processing (empty, process, approve)

--author-name#

Author name, to override currently authenticated user

--author-email#

Author e-mail, to override currently authenticated user

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

Archivo de configuración por proyecto

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

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/

Cargar un archivo de traducción:

$ wlc upload project/component/language --input /tmp/hello.po

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