Comandos de gerência#

Nota

Executar comandos de gestão sob um utilizador diferente daquele que executa o seu servidor web pode resultar em ficheiros a receber permissões erradas, por favor, confira Permissões do sistema de ficheiros para mais detalhes.

Encontrará comandos básicos de gestão (disponíveis como ./manage.py nas fontes do Django ou como um conjunto estendido num script chamado weblate instalável em cima do Weblate).

Invocando comandos de gestão#

Como mencionado anteriormente, a invocação depende de como instalou o Weblate.

Se estiver a usar o virtualenv para Weblate, pode especificar o caminho completo para weblate ou ativar o virtualenv antes de invocá-lo:

# Direct invocation
~/weblate-env/bin/weblate

# Activating virtualenv adds it to search path
. ~/weblate-env/bin/activate
weblate

Se estiver a usar o código-fonte diretamente (de um tarball ou checkout Git), o script de gestão é . /manage.py disponível nos fontes do Weblate. Para executá-lo:

python ./manage.py list_versions

Se instalou o Weblate pelo instalador pip, ou usando o script . /setup.py, o weblate é instalado no seu caminho (ou caminho virtualenv), de onde pode usá-lo para controlar o Weblate:

weblate list_versions

Para a imagem Docker, o script é instalado como acima e pode executá-lo usando docker exec:

docker exec --user weblate <container> weblate list_versions

For docker-compose-plugin the process is similar, you just have to use docker compose exec:

docker compose exec --user weblate weblate weblate list_versions

Caso precise passar-le um ficheiro, pode adicionar temporariamente um volume:

docker compose exec --user weblate /tmp:/tmp weblate weblate importusers /tmp/users.json

Para docker-compose o processo é semelhante, apenas tem que usar docker-compose exec:

docker-compose exec --user weblate weblate weblate list_versions

Caso precise passar-le um ficheiro, pode adicionar temporariamente um volume:

docker-compose exec --user weblate /tmp:/tmp weblate weblate importusers /tmp/users.json

add_suggestions#

weblate add_suggestions <project> <component> <language> <file>#

Importa uma tradução do fcheiro para usar como sugestão para a tradução fornecida. Pula traduções duplicadas; apenas os diferentes são adicionados.

--author USER@EXAMPLE.COM#

E-mail do autor para sugestões. Este utilizador deve existir antes da importação (você pode criar um na interface administrativa, se necessário).

Exemplo:

weblate --author michal@cihar.com add_suggestions weblate application cs /tmp/suggestions-cs.po

auto_translate#

weblate auto_translate <project> <component> <language>#

Alterado na versão 4.6: Adicionado parâmetro para o modo de tradução.

Executa tradução automática com base em outras traduções de componentes.

--source PROJECT/COMPONENT#

Especifica o componente a ser usado como fonte disponível para tradução. Se não for especificado, todos os componentes do projeto serão usados.

--user USERNAME#

Especifica o nome de utilizador listado como autor das traduções. «Utilizador anônimo» é usado se não for especificado.

--overwrite#

Se deve sobrescrever as traduções existentes.

--inconsistent#

Se deve substituir as traduções existentes que são inconsistentes (veja Inconsistente).

--add#

Adiciona automaticamente o idioma se uma determinada tradução não existir.

--mt MT#

Use a tradução automática em vez de outros componentes como traduções de máquina.

--threshold THRESHOLD#

Limite de similaridade para tradução de máquina, a predefinição é 80.

--mode MODE#

Especifica o modo de tradução tendo como o padrão translate, mas fuzzy ou suggest pode ser usado.

Exemplo:

weblate auto_translate --user nijel --inconsistent --source weblate/application weblate website cs

Veja também

Tradução automática

celery_queues#

weblate celery_queues#

Exibe o tamanho das filas de tarefas do Celery.

checkgit#

weblate checkgit <project|project/component>#

Imprime o estado atual do repositório Git de backend.

Pode definir qual projeto ou componente atualizar (por exemplo, weblate/application) ou usar --all para atualizar todos os componentes existentes.

commitgit#

weblate commitgit <project|project/component>#

Faz commit de todas as alterações pendentes possíveis para o repositório Git de backend.

You can either define which project or component to update (for example weblate/application), or use --all to update all existing components, or use --file-format to filter based on the file format.

commit_pending#

weblate commit_pending <project|project/component>#

Faz commit de alterações pendentes anteriores a uma determinada idade.

Pode definir qual projeto ou componente atualizar (por exemplo, weblate/application) ou usar --all para atualizar todos os componentes existentes.

--age HOURS#

Idade em horas para fazer commit. Se não for especificado, o valor configurado em Configuração de componente é usado.

Nota

Isso é realizado automaticamente em segundo plano pelo Weblate, de modo que não há necessidade real de invocar isso manualmente, além de forçar um commit anterior do que o especificado por Configuração de componente.

cleanuptrans#

weblate cleanuptrans#

Limpa verificações e sugestões de tradução órfãs. Normalmente, não há necessidade de executá-lo manualmente, pois as limpezas acontecem automaticamente em segundo plano.

cleanup_ssh_keys#

weblate cleanup_ssh_keys#

Novo na versão 4.9.1.

Executa a remoção das chaves de host SSH armazenadas:

  • Remove as chaves RSA descontinuadas do GitHub que podem causar problemas de conexão com o GitHub.

  • Remove entradas duplicadas nas chaves do host.

Veja também

Repositórios SSH

createadmin#

weblate createadmin#

Cria uma conta admin com uma palavra-passe aleatória, a menos que seja especificada.

--password PASSWORD#

Fornece uma palavra-passe na linha de comando, para não gerar uma palavra-passe aleatória.

--no-password#

Não define a palavra-passe, isso pode ser útil com –update.

--username USERNAME#

Use o nome dado em vez de admin.

--email USER@EXAMPLE.COM#

Especifica o endereço de e-mail do administrador.

--name#

Especifica o nome (visível) do administrador.

--update#

Atualiza o utilizador existente (pode usar isto para alterar palavras-passe).

dump_memory#

weblate dump_memory#

Exporta um ficheiro JSON que contem o conteúdo de memória de tradução do Weblate.

dumpuserdata#

weblate dumpuserdata <file.json>#

Dumps userdata to a file for later use by importuserdata.

Dica

Isso é útil ao migrar ou mesclar instâncias do Weblate.

import_demo#

weblate import_demo#

Novo na versão 4.1.

Cria um projeto de demonstração com componentes baseados em <https://github.com/WeblateOrg/demo>. Certifique-se de que as tarefas de Celery estejam em execução antes de executar este comando.

Isso pode ser útil ao desenvolver Weblate.

import_json#

weblate import_json <json-file>#

Importação em lote de componentes com base em dados JSON.

A estrutura do ficheiro JSON importado corresponde basicamente ao objeto do componente (consulte GET /api/components/(string:project)/(string:component)/). Deve incluir os campos name e filemask.

--project PROJECT#

Especifica de onde os componentes serão importados.

--main-component COMPONENT#

Usa o repositório VCS fornecido deste componente para todos eles.

--ignore#

Pula os componentes (já) importados.

--update#

Atualiza os componentes (já) importados.

Exemplo de ficheiro JSON:

[
  {
    "slug": "po",
    "name": "Gettext PO",
    "file_format": "po",
    "filemask": "po/*.po",
    "new_lang": "none"
  },
  {
    "name": "Android",
    "filemask": "android/values-*/strings.xml",
    "template": "android/values/strings.xml",
    "repo": "weblate://test/test",
    "file_format": "aresource"
  }
]

Veja também

import_memory

import_memory#

weblate import_memory <file>#

Importa um ficheiro TMX ou JSON para a memória de tradução do Weblate.

--language-map LANGMAP#

Permite mapear idiomas no TMX para a memória de tradução do Weblate. Os códigos de idioma são mapeados após a normalização geralmente feita pelo Weblate.

--language-map en_US:en vai, por exemplo, importar todos os textos en_US como en.

Isso pode ser útil caso as localidades do seu ficheiro TMX não correspondam ao que usa no Weblate.

import_project#

weblate import_project <project> <gitrepo> <branch> <filemask>#

Batch imports components into project based on the file mask. It is based on the Descoberta de componentes add-on, so you might want to use that instead.

<project> é o nome de um projeto existente, para o qual os componentes devem ser importados.

O <gitrepo> define a URL do repositório Git a ser usada e <branch> significa o ramo Git. Para importar componentes de tradução adicionais de um componente Weblate existente, use uma URL weblate://<project>/<component> ao <gitrepo>.

O <filemask> define a descoberta de ficheiro para o repositório. Pode ser simplificado usando curingas ou pode usar todo o poder das expressões regulares.

A correspondência simples usa ** para o nome do componente e * para o idioma, por exemplo: **/*.po

A expressão regular deve conter grupos chamados component e language. Por exemplo: (?P<language>[^/]*)/(?P<component>[^-/]*)\.po

A importação corresponde aos componentes existentes com base em ficheiros e adiciona aqueles que não existem. Isso não altera os já existentes.

--name-template TEMPLATE#

Personaliza o nome de um componente usando a sintaxe do modelo Django.

Por exemplo: Documentation: {{ component }}

--base-file-template TEMPLATE#

Personaliza o ficheiro base para traduções monolíngues.

Por exemplo: {{ component }}/res/values/string.xml

--new-base-template TEMPLATE#

Personaliza o ficheiro base para adicionar novas traduções.

Por exemplo: {{ component }}/ts/en.ts

--file-format FORMAT#

Também pode especificar o formato de ficheiro a ser usado (veja Formatos de ficheiros suportados), a predefinição é a detecção automática.

--language-regex REGEX#

Pode especificar a filtragem de idioma (veja Configuração de componente) com este parâmetro. Tem que ser uma expressão regular válida.

--main-component#

Pode especificar qual componente será escolhido como o principal – aquele que realmente contém o repositório VCS.

--license NAME#

Especifica a licença de tradução geral, projeto ou componente.

--license-url URL#

Especifica a URL onde a licença de tradução encontra-se.

--vcs NAME#

Caso precise especificar qual sistema de controle de versão usar, pode fazê-lo aqui. O controle de versão predefinido é Git.

Para dar alguns exemplos, vamos tentar importar dois projetos.

Primeiro as traduções do Manual do Debian, onde cada idioma separou uma pasta com as traduções de cada capítulo:

weblate import_project \
    debian-handbook \
    git://anonscm.debian.org/debian-handbook/debian-handbook.git \
    squeeze/master \
    '*/**.po'

Em seguida, a ferramenta Tanaguru, onde o formato do ficheiro precisa ser especificado, junto com o modelo de ficheiro base e como todos os componentes e traduções estão localizados numa única pasta:

weblate import_project \
    --file-format=properties \
    --base-file-template=web-app/tgol-web-app/src/main/resources/i18n/%s-I18N.properties \
    tanaguru \
    https://github.com/Tanaguru/Tanaguru \
    master \
    web-app/tgol-web-app/src/main/resources/i18n/**-I18N_*.properties

Um exemplo mais complexo de análise de nomes de ficheiro para obter o componente correto e o idioma de um nome de ficheiro como src/security/Numerous_security_holes_in_0.10.1.de.po:

weblate import_project \
    tails \
    git://git.tails.boum.org/tails master \
    'wiki/src/security/(?P<component>.*)\.(?P<language>[^.]*)\.po$'

Filtrando apenas traduções num idioma escolhido:

./manage import_project \
    --language-regex '^(cs|sk)$' \
    weblate \
    https://github.com/WeblateOrg/weblate.git \
    'weblate/locale/*/LC_MESSAGES/**.po'

Importando a documentação do Sphinx dividida em vários ficheiros:

$ weblate import_project --name-template 'Documentation: %s' \
    --file-format po \
    project https://github.com/project/docs.git master \
    'docs/locale/*/LC_MESSAGES/**.po'

A documentação de importação do Sphinx dividida em vários ficheiros e diretórios:

$ weblate import_project --name-template 'Directory 1: %s' \
    --file-format po \
    project https://github.com/project/docs.git master \
    'docs/locale/*/LC_MESSAGES/dir1/**.po'
$ weblate import_project --name-template 'Directory 2: %s' \
    --file-format po \
    project https://github.com/project/docs.git master \
    'docs/locale/*/LC_MESSAGES/dir2/**.po'

Veja também

More detailed examples can be found in the Comea çar com a internacionalização chapter, alternatively you might want to use import_json.

importuserdata#

weblate importuserdata <file.json>#

Imports user data from a file created by dumpuserdata.

importusers#

weblate importusers --check <file.json>#

Importa utilizadores do despejo JSON do banco de dados auth_users do Django.

--check#

Com esta opção irá apenas verificar se determinado ficheiro pode ser importado e reportar possíveis conflitos decorrentes de nomes de utilizadores ou e-mails.

Pode descartar os utilizadores da instalação existente do Django usando:

weblate dumpdata auth.User > users.json

install_addon#

weblate install_addon --addon ADDON <project|project/component>#

Instala uma extensão para um conjunto de componentes.

--addon ADDON#

Nome do complemento a ser instalado. Por exemplo, weblate.gettext.customize.

--configuration CONFIG#

Configuração codificada em JSON de uma extensão.

--update#

Atualiza a configuração existente da extensão.

Pode definir em qual projeto ou componente instalar a extensão (por exemplo, weblate/application) ou usar --all para incluir todos os componentes existentes.

Para instalar Personalizar a saída gettext para todos os componentes:

weblate install_addon --addon weblate.gettext.customize --configuration '{"width": -1}' --update --all

Veja também

Extensões

install_machinery#

Novo na versão 4.18.

weblate install_machinery --service SERVICE#

Installs an site-wide automatic suggestion service.

--service SERVICE#

Name of the service to install. For example deepl.

--configuration CONFIG#

JSON encoded configuration of a service.

--update#

Update the existing service configuration.

To install DeepL:

weblate install_service --service deepl --configuration '{"key": "x", "url": "https://api.deepl.com/v2/"}' --update

list_languages#

weblate list_languages <locale>#

Lista os idiomas suportados na marcação MediaWiki – códigos de idioma, nomes em inglês e nomes localizados.

Isso é usado para gerar <https://wiki.l10n.cz/Slovn%C3%ADk_s_n%C3%A1zvy_jazyk%C5%AF>.

list_translators#

weblate list_translators <project|project/component>#

Lista tradutores por idioma contribuído ao projeto em questão:

[French]
Jean Dupont <jean.dupont@example.com>
[English]
John Doe <jd@example.com>
--language-code#

Lista os nomes pelo código do idioma em vez do nome do idioma.

Pode definir qual projeto ou componente usar (por exemplo, weblate/application) ou usar --all para listar os tradutores de todos os componentes existentes.

list_versions#

weblate list_versions#

Lista todas as dependências do Weblate e as versões deles.

loadpo#

weblate loadpo <project|project/component>#

Recarrega traduções de disco (por exemplo, caso tenha feito algumas atualizações no repositório VCS).

--force#

Força a atualização, mesmo que os ficheiros devam estar atualizados.

--lang LANGUAGE#

Limita o processamento a um único idioma.

Pode definir qual projeto ou componente atualizar (por exemplo, weblate/application) ou usar --all para atualizar todos os componentes existentes.

Nota

Raramente precisa invocar isso, o Weblate carregará automaticamente os ficheiros alterados para cada atualização do VCS. Isso é necessário no caso de alterar manualmente um repositório Weblate VCS subjacente ou em alguns casos especiais após uma atualização.

lock_translation#

weblate lock_translation <project|project/component>#

Impede outras traduções de um componente.

Dica

Útil caso queira fazer alguma manutenção no repositório subjacente.

Pode definir qual projeto ou componente atualizar (por exemplo, weblate/application) ou usar --all para atualizar todos os componentes existentes.

Veja também

unlock_translation

migrate#

weblate migrate#

Migrates database to current Weblate schema. The command line options are described at Django migrate.

Dica

In case you want to run an installation non interactively, you can use weblate migrate --noinput, and then create an admin user using createadmin command.

move_language#

weblate move_language source target#

Permite mesclar o conteúdo do idioma. Isso é útil ao atualizar para uma nova versão que contém apelidos para idiomas anteriormente desconhecidos que foram criados com o sufixo (generated). Ele move todo o conteúdo do idioma fonte source para o de destino`target`.

Exemplo:

weblate move_language cze cs

Depois de mover o conteúdo, deve verificar se sobrou algo (isto está sujeito a condições de corrida quando alguém atualiza o repositório enquanto isso) e remover o idioma (generated).

pushgit#

weblate pushgit <project|project/component>#

Faz um push das alterações com commit feito para o repositório VCS upstream.

--force-commit#

Força o commit de todas as alterações pendentes, antes de fazer o push.

Pode definir qual projeto ou componente atualizar (por exemplo, weblate/application) ou usar --all para atualizar todos os componentes existentes.

Nota

O Weblate faz o push das mudanças automaticamente se Enviar ao submeter na Configuração de componente está ativada, que é a predefinição.

unlock_translation#

weblate unlock_translation <project|project/component>#

Desbloqueia um determinado componente, disponibilizando-o para tradução.

Dica

Útil caso queira fazer alguma manutenção no repositório subjacente.

Pode definir qual projeto ou componente atualizar (por exemplo, weblate/application) ou usar --all para atualizar todos os componentes existentes.

Veja também

lock_translation

setupgroups#

weblate setupgroups#

Configura grupos predefinidos e, opcionalmente, atribui todos os utilizadores a esse grupo predefinido.

--no-privs-update#

Desativa a atualização automática de grupos existentes (apenas adiciona novos).

--no-projects-update#

Impede atualizações automáticas de grupos para projetos existentes. Isso permite adicionar grupos recém-adicionados a projetos existentes, consulte Controlo de acesso ao projeto.

setuplang#

weblate setuplang#

Atualiza a lista de idiomas definidos no Weblate.

--no-update#

Desativa as atualizações automáticas de idiomas existentes (apenas adiciona novos).

updatechecks#

weblate updatechecks <project|project/component>#

Atualiza todas as verificações para todos os textos.

Dica

Útil para atualizações que fazem grandes mudanças nas verificações.

Pode definir qual projeto ou componente atualizar (por exemplo, weblate/application) ou usar --all para atualizar todos os componentes existentes.

Nota

Checks are recalculated regularly by Weblate in the background, the frequency can be configured via BACKGROUND_TASKS.

updategit#

weblate updategit <project|project/component>#

Busca repositórios VCS remotos e atualiza o cache interno.

Pode definir qual projeto ou componente atualizar (por exemplo, weblate/application) ou usar --all para atualizar todos os componentes existentes.

Nota

Usually it is better to configure hooks in the repository to trigger Hooks de notificação, instead of regular triggering the updates by updategit.