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 using pip:

pip install wlc

Puedes además ejecutarlo directamente utilizando uvx:

uvx wlc --help

Consejo

You can also use this wlc as a Python module, see wlc.

Uso de Docker

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

La imagen está publicada en Gocker 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

La configuración de wlc se almacena en ~/.config/weblate (consulte Archivos de configuración para otros lugares), créelo para que coincida con su entorno:

[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

Legacy configuration

Distinto en la versión 1.17: The legacy configuration using unscoped key is no longer supported.

Migrate legacy configuration:

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

To a configuration with key scoped to an API URL:

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

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

Sinopsis

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

Especifique la clave del usuario del API a utilizar. Sustituya cualquier valor encontrado en el archivo de configuración, consulte Archivos de configuración. Puede encontrar su clave en su perfil de Weblate.

--config PATH

Sustituye la ruta del archivo de configuración, consulte Archivos de configuración.

--config-section SECTION

Sustituye la sección del archivo de configuración en uso, consulte Archivos de configuración.

Órdenes

Las siguientes órdenes están disponibles:

version

Declara 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

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

cleanup

Retira cualquier cambio no seguido en un objeto Weblate para coincidir con el repositorio remoto (traducción, componente o proyecto).

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

Muestra el estado de bloqueo.

lock

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

unlock

Desbloquea la traducción del componente de Weblate.

changes

Muestra los cambios correspondientes al objeto indicado.

download

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

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

Método de subida a utilizar, consulte Métodos de importación.

--fuzzy

Cadenas difusas (marcadas para editar) procesando (empty, process, approve)

--author-name

Nombre del autor, para sustituir actualmente al usuario autenticado

--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 colocada en el directorio del proyecto.

C:\Users\NAME\AppData\Roaming\weblate.ini

User configuration file on Windows in the roamed profile.

C:\Users\NAME\AppData\Local\weblate.ini

User configuration file on Windows in the local profile.

~/.config/weblate

Archivo de configuración de usuario.

/etc/xdg/weblate

Archivo de configuración para todo el sistema.

The program follows the XDG specification, so you can adjust the placement of config files by environment variables XDG_CONFIG_HOME or XDG_CONFIG_DIRS.

En Windows los directorios APPDATA y LOCALAPPDATA son los lugares preferidos para el archivo de configuración.

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

key

Removed in version 1.17: Use the [keys] section to specify keys scoped for individual API URLs, see Legacy configuration.

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/
translation = weblate/application

The API keys are stored in the [keys] section:

[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/

Subir un archivo de traducción:

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

También puede designar que proyecto wlc funcionaría:

$ 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