Weblate Client#

Instalação#

O Weblate Client é enviado separadamente e inclui o módulo Python. Para usar os comandos abaixo, você precisa instalar wlc:

pip install wlc

Uso com Docker#

O Weblate Client também está disponível como uma imagem Docker.

A imagem está publicada no Docker Hub: https://hub.docker.com/r/weblate/wlc

Instalação:

docker pull weblate/wlc

O contêiner Docker usa as configurações padrão do Weblate e se conecta à API implementada no localhost. A URL da API e API_KEY podem ser configuradas através dos argumentos aceitos pelo Weblate.

O comando para iniciar o contêiner usa a seguinte sintaxe:

docker run --rm weblate/wlc [WLC_ARGS]

Exemplo:

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

Você pode querer passar seu Arquivos de configuração para o contêiner Docker, a abordagem mais fácil é adicionar seu diretório atual como o volume /home/weblate:

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

Primeiros Passos#

A configuração do wlc é armazenada em ~/.config/weblate (consulte Arquivos de configuração para outros locais). Crie-o para corresponder ao seu ambiente:

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

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

Em seguida, você pode invocar comandos no servidor padrão:

wlc ls
wlc commit sandbox/hello-world

Sinopse#

wlc [arguments] <command> [options]

Os comandos indicam, na verdade, qual operação deve ser realizada.

Descrição#

Weblate Client é uma biblioteca Python e utilitário de linha de comando para gerenciar o Weblate remotamente usando a API REST do Weblate. O utilitário de linha de comando pode ser invocado como wlc e está embutido em wlc.

Argumentos#

O programa aceita os seguintes argumentos que definem o formato de saída ou qual instância do Weblate usar. Estes devem ser inseridos antes de qualquer comando.

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

Especifica o formato de saída.

--url URL#

Especifica a URL da API. Substitui qualquer valor encontrado no arquivo de configuração, consulte Arquivos de configuração. A URL deve terminar com /api/, por exemplo, https://hosted.weblate.org/api/.

--key KEY#

Especifica a chave do usuário de API a ser usada. Substitui qualquer valor encontrado no arquivo de configuração, consulte Arquivos de configuração. Você pode encontrar sua chave em seu perfil no Weblate.

--config PATH#

Substitui o caminho do arquivo de configuração, consulte Arquivos de configuração.

--config-section SECTION#

Substitui a seção de arquivos de configuração em uso, consulte Arquivos de configuração.

Comandos#

Os seguintes comandos estão disponíveis:

version#

Imprime a versão atual.

list-languages#

Lista os idiomas usados no Weblate.

list-projects#

Lista os projetos no Weblate.

list-components#

Lista os componentes no Weblate.

list-translations#

Lista as traduções no Weblate.

show#

Mostra o objeto do Weblate (tradução, componente ou projeto).

ls#

Lista o objeto do Weblate (tradução, componente ou projeto).

commit#

Faz commit das alterações feitas em um objeto Weblate (tradução, componente ou projeto).

pull#

Faz pull das alterações remotas do repositório no objeto Weblate (tradução, componente ou projeto).

push#

Faz push das alterações do objeto Weblate para o repositório remoto (tradução, componente ou projeto).

reset#

Novo na versão 0.7: Suportado desde o wlc 0.7.

Redefine as alterações no objeto Weblate para corresponder ao repositório remoto (tradução, componente ou projeto).

cleanup#

Novo na versão 0.9: Suportado desde o wlc 0.9.

Remove quaisquer alterações não rastreadas em um objeto Weblate para corresponder ao repositório remoto (tradução, componente ou projeto).

repo#

Exibe o status do repositório para um determinado objeto Weblate (tradução, componente ou projeto).

stats#

Exibe estatísticas detalhadas para um determinado objeto Weblate (tradução, componente ou projeto).

lock-status#

Novo na versão 0.5: Suportado desde o wlc 0.5.

Exibe o status do bloqueio.

lock#

Novo na versão 0.5: Suportado desde o wlc 0.5.

Bloqueia o componente de tradução posterior no Weblate.

unlock#

Novo na versão 0.5: Suportado desde o wlc 0.5.

Desbloqueia a tradução do componente Weblate.

changes#

Novo na versão 0.7: Suportado desde o wlc 0.7 e o Weblate 2.10.

Exibe alterações para um determinado objeto.

download#

Novo na versão 0.7: Suportado desde o wlc 0.7.

Baixa um arquivo de tradução.

--convert#

Converte o formato do arquivo, se nenhuma conversão não especificada acontecer no servidor e o arquivo for baixado como está no repositório.

--output#

Especifica o arquivo para salvar a saída, se não for especificado, ele é impresso na stdout (saída padrão).

upload#

Novo na versão 0.9: Suportado desde o wlc 0.9.

Baixa um arquivo de tradução.

--overwrite#

Substitui as traduções existentes ao enviar.

--input#

Arquivo a partir do qual o conteúdo é lido, se não especificado é lido a partir de stdin (entrada padrão).

--method#

Método de envio para usar, veja Métodos de importação.

--fuzzy#

Processamento de textos aproximados (marcados para edição) (vazio, process, approve)

--author-name#

Nome do autor, para substituir o usuário atualmente autenticado

--author-email#

E-mail do autor, para substituir o usuário atualmente autenticado

Dica

Você pode obter informações mais detalhadas sobre como invocar comandos individuais passando --help, por exemplo: wlc ls --help.

Arquivos de configuração#

.weblate, .weblate.ini, weblate.ini

Por arquivo de configuração de projeto

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

Arquivo de configuração do usuário no Windows.

~/.config/weblate

Arquivo de configuração do usuário

/etc/xdg/weblate

Arquivo de configuração para todo o sistema

O programa segue a especificação XDG, para que você possa ajustar a colocação de arquivos de configuração por variáveis de ambiente XDG_CONFIG_HOME ou XDG_CONFIG_DIRS. No Windows, o diretório APPDATA é o local preferido para o arquivo de configuração.

As configurações seguintes podem ser configuradas na seção [weblate] (você pode personalizar isso por --config-section):

key

Chave de API para acessar o Weblate.

url

URL de API do servidor, com o padrão sendo http://127.0.0.1:8000/api/.

translation

Caminho para a tradução padrão - componente ou projeto.

O arquivo de configuração é um arquivo INI, por exemplo:

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

Além disso, as chaves de API podem ser armazenadas na seção [keys]:

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

Isso permite que você armazene chaves em suas configurações pessoais, enquanto usa a configuração do .weblate no repositório VCS para que o wlc saiba com qual servidor ele deve falar.

Exemplos#

Imprimir a versão atual do programa:

$ wlc version
version: 0.1

Listar todos os projetos:

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

Enviar arquivo de tradução:

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

Você também pode designar em qual projeto o wlc deve trabalhar:

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

Com esta configuração, é fácil fazer commit de alterações pendentes no projeto atual:

$ wlc commit