Cliente Weblate¶
Instalação¶
O Weblate Client é enviado separadamente e inclui o módulo Python. Para usar os comandos abaixo, precisa instalar wlc através de pip:
pip install wlc
Também pode executá-lo diretamente usando uvx:
uvx wlc --help
Dica
Também pode utilizar este wlc como um módulo Python, consulte wlc.
Uso do 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
Instalar:
docker pull weblate/wlc
O contentor Docker usa as predefinições do Weblate Client e conecta a API implementada no localhost. Configure a URL da API e chave da API usando os argumentos wlc normais ou variáveis de ambiente, por exemplo --url, --key, WLC_URL, e WLC_KEY. Chaves de API são rejeitadas em relação a URLs http:// não locais; utilize HTTPS, loopback HTTP para desenvolvimento local, ou escolha explicitamente usar HTTP inseguro.
O comando para iniciar o contentor 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
Quereria passar o seu Ficheiros de configuração para o contentor Docker. Quando o seu repositório contém uma configuração de projeto como por exemplo .weblate, a abordagem mais fácil é adicionar o seu diretório atual como o volume /home/weblate:
docker run --volume $PWD:/home/weblate --rm weblate/wlc show
Quando o repositório montado fornece o URL de API na configuração de projeto e passa uma chave API para o contentor, também afixa o URL explicitamente: WLC_KEY requer WLC_URL, e --key requer --url.
Se o URL da API utiliza http:// não local e a chave de API é fornecida, o contentor recusa-se enviar a chave a não ser que HTTP inseguro é explicitamente ativado. Prefira HTTPS; para implementações de legado, passe --allow-insecure-http ou defina WLC_ALLOW_INSECURE_HTTP.
Primeiros Passos¶
A forma mais fácil de iniciar é criar um wlc configuration in ~/.config/weblate pessoal (veja Ficheiros de configuração para as regras de descoberta completas e outras localizações):
[weblate]
url = https://hosted.weblate.org/api/
[keys]
https://hosted.weblate.org/api/ = APIKEY
Depois pode invocar comandos no servidor predefinido:
wlc ls
wlc commit sandbox/hello-world
Veja também
Configuração de legado¶
Alterado na versão 1.17: A configuração de legado usando uma key sem âmbito já não é suportado.
Migrar configuração de legado:
[weblate]
url = https://hosted.weblate.org/api/
key = YOUR_KEY_HERE
Para uma configuração com uma chave com âmbito para um URL de API:
[weblate]
url = https://hosted.weblate.org/api/
[keys]
https://hosted.weblate.org/api/ = YOUR_KEY_HERE
Sinopse¶
wlc [arguments] <command> [options]
Os comandos indicam, na verdade, qual operação deve ser realizada.
Descrição¶
O cliente Weblate é uma biblioteca Python e utilitário de linha de comando para gerir o Weblate remotamente a usar 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 a instância do Weblate a utilizar. 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 ficheiro de configuração, consulte Ficheiros de configuração. A URL deve terminar com
/api/, por exemplo,https://hosted.weblate.org/api/.
- --key KEY¶
Especifica a chave do utilizador de API a ser usada. Substitui qualquer valor encontrado no ficheiro de configuração, consulte Ficheiros de configuração. Pode encontrar a sua chave no seu perfil no Weblate. Quando o URL da API é carregado através da configuração de projeto automaticamente descoberta, a opção
--keytem que ser utilizada com a--url. Chaves de API são rejeitadas em relação a URLshttp://não locais por predefinição.
- --allow-insecure-http¶
Permite enviar chave API através de URLs
http://não locais. Preferir HTTPS ou HTTP de loopback em vez disso; esta opção destina-se apenas a implementações antigas onde HTTPS não está disponível. Esta opção apenas ativa HTTP inseguro para a execução atual; omitir isto não desativaallow_insecure_httpda configuração.
- --config PATH¶
Carregar configuração a partir de apenas
PATHem vez da global descoberta e ficheiros de configuração de projeto, veja Ficheiros de configuração.
- --config-section SECTION¶
Substitui a secção de ficheiros de configuração em uso, consulte Ficheiros de configuração.
Comandos¶
Os comandos seguintes 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 um commit das alterações feitas num objeto Weblate (tradução, componente ou projeto).
- pull¶
Faz um pull das alterações remotas do repositório no objeto Weblate (tradução, componente ou projeto).
- push¶
Faz um push das alterações do objeto Weblate ao repositório remoto (tradução, componente ou projeto).
- reset¶
Redefine as alterações no objeto Weblate para corresponder ao repositório remoto (tradução, componente ou projeto).
- cleanup¶
Remove todas as alterações não rastreadas num objeto Weblate para corresponder ao repositório remoto (tradução, componente ou projeto).
- repo¶
Exibe o estado do repositório para um determinado objeto do Weblate (tradução, componente ou projeto).
- stats¶
Exibe estatísticas detalhadas para um determinado objeto Weblate (tradução, componente ou projeto).
- lock-status¶
Exibe o estado do bloqueio.
- lock¶
Bloqueia o componente de tradução posterior no Weblate.
- unlock¶
Desbloqueia a tradução do componente Weblate.
- changes¶
Exibe alterações para um determinado objeto.
- download¶
Descarrega um ficheiro de tradução.
- --convert¶
Converte o formato do ficheiro, se nenhuma conversão não especificada for feita no servidor e o ficheiro for descarregado como está no repositório.
- --output¶
Especifica o ficheiro para gravar a saída e se não for especificado é impresso na stdout (saída predefinida).
- upload¶
Descarrega um ficheiro de tradução.
- --overwrite¶
Substitua as traduções existentes ao enviar.
- --input¶
Ficheiro a partir do qual o conteúdo é lido, se não for especificado é lido de stdin (entrada predefinida).
- --method¶
Método de envio para usar, veja Métodos de importação.
- --fuzzy¶
Processamento de entradas imprecisas (marcadas para edição) (vazio,
process,approve)
- --author-name¶
Nome do autor, para substituir o utilizador atualmente autenticado
- --author-email¶
Email do autor, para substituir o utilizador atualmente autenticado
Dica
Pode obter informações mais detalhadas sobre como invocar comandos individuais a passar --help, por exemplo: wlc ls --help.
Ficheiros de configuração¶
Quando --config é fornecido, wlc carrega apenas aquele ficheiro.
Sem --config, wlc carrega primeiro o ficheiro de configuração local descoberta a partir das localizações específicas a uma plataforma:
C:\Users\NAME\AppData\Roaming\weblate.iniFicheiro de configuração global do utilizador no Windows no perfil roaming.
C:\Users\NAME\AppData\Local\weblate.iniFicheiro de configuração do utilizador global no Windows no perfil local.
~/.config/weblateFicheiro de configuração global em sistemas tipo Unix.
/etc/xdg/weblateFicheiro de configuração de alternativa no sistema inteiro.
O programa segue a especificação XDG, para que possa ajustar o posicionamento de ficheiros de configuração por variáveis de ambiente XDG_CONFIG_HOME ou XDG_CONFIG_DIRS.
No Windows, os diretórios APPDATA e LOCALAPPDATA são os locais preferidos para o ficheiro de configuração.
Após carregar a configuração global, wlc carrega o ficheiro de configuração mais próximo a partir do diretório atual ou os seus parentes:
.weblate,.weblate.ini,weblate.iniFicheiro de configuração do projeto colocado no repositório.
Apenas o ficheiro de configuração de projeto mais próximo é carregado. Ficheiros de configuração em diretórios parentes mais distantes são ignorados.
As configurações seguintes podem ser configuradas na secção [weblate] (pode personalizar-lo por --config-section):
- key
Removed in version 1.17: Utilize a secção
{keys}para especificar chaves com âmbito para URLs de API individuais, veja Configuração de legado.
- url
URL de API do servidor, a predefinição é
http://127.0.0.1:8000/api/.
- translation
Caminho à tradução predefinida - componente ou projeto.
- allow_insecure_http
Permitir chaves API sobre URLs
http://não locais, o valor predefinido éfalse. URLs loopback HTTP, tais comohttp://127.0.0.1:8000/api/, permanecem permitidos para desenvolvimento local sem esta opção. Prefere HTTPS em vez de ativar esta definição. Ficheiros de configuração de projeto automaticamente descobertos não podem ativar esta opção; defina-o na configuração do utilizador, um ficheiro--configexplícito,WLC_ALLOW_INSECURE_HTTP, ou--allow-insecure-http. A definição é cumulativa: qualquer fonte confiada que ative HTTP inseguro é suficiente, e valores falsos ou não definidos da linha de comandos ou de fontes de ambiente não a desativam.
- retries, timeout, allowed_methods, backoff_factor, status_forcelist
Configurações de tentativa HTTP opcional e tempo limite passado para
urllib3. Utilizeallowed_methodspara listar os métodos de pedido que podem ser tentados novamente. Lançamentos do wlc atual utilizam este nome de definição em vez da opçãomethod_whitelistmais antiga.
O ficheiro de configuração é um ficheiro INI, por exemplo:
[weblate]
url = https://hosted.weblate.org/api/
translation = weblate/application
retries = 3
allowed_methods = PUT,POST,GET
backoff_factor = 0.2
status_forcelist = 429,500,502,503,504
timeout = 30
allow_insecure_http = false
As chaves de API são armazenadas na secção [keys]:
[keys]
https://hosted.weblate.org/api/ = APIKEY
Isto permite que armazene chaves nas 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. A procura [keys] tem o escopo exato para o URL da API.
Na CI, chaves sem âmbito devem afixar o URL de API explicitamente: define ambas WLC_URL e WLC_KEY, ou utilize --url em conjunto com --key.
Variáveis de ambiente¶
Added in version 1.18.0.
Alterado na versão 2.0.1: Chaves de API sem âmbito requerem um URL de API quando a configuração de projeto é descoberta automaticamente. Chaves de API são rejeitadas sob URLs http:// não locais, a não ser que HTTP inseguro seja explicitamente ativado.
O URL de API e chave também podem ser configurados usando variáveis de ambiente. Isto é especialmente útil para fluxos de trabalho CI onde WLC_URL afixa o destino e WLC_KEY é injetado enquanto segredo:
- WLC_URL¶
URL da API
- WLC_KEY¶
Chave API. Quando o URL de API seria de outra forma originado a partir de configuração de projeto automaticamente descoberto,
WLC_KEYé aceitado apenas em conjunto comWLC_URL. Chaves de API são rejeitadas sobre URLshttp://não locais por predefinição.
- WLC_ALLOW_INSECURE_HTTP¶
Definido para
1,true,yes, ouonpara chaves API através de URLshttp://não locais. Prefere HTTPS ou em vez disso HTTP em loopback. Outros valores, tais como0oufalse, são tratados enquanto não definido e não desativamallow_secure_httpda configuração.
A mesma proteção aplica-se a argumentos da linha de comandos: --key é aceite com configuração automática de projeto descoberta apenas quando --url é fornecido.
Precedência de API URL e configuração de chave (mais alto para mais baixo) é:
Configuração carregada a partir de
--config, ou a partir da configuração global descoberta mais a configuração de projeto mais próxima quando--confignão é usada.
A opção de utilização do HTTP não seguro só pode ser ativada em vez de ser uma definição de precedente. É ativa quando --allow-insecure-http é passado, quando WLC_ALLOW_INSECURE_HTTP tem um valor de verdadeiro, ou quando allow_insecure_http está ativo na configuração confiada. Configuração de projeto automaticamente descoberta não a podem ativar; defina-a em configuração de utilizador ou em vez disso passe um ficheiro --config explícito.
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 ficheiro de tradução:
$ wlc upload project/component/language --input /tmp/hello.po
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 um commit de alterações pendentes no projeto atual:
$ wlc commit