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
If you’ve installed Weblate using the pip installer, or by using the ./setup.py
script, the weblate is installed to your path (or virtualenv path),
from where you can use it to control 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
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>
Novo na versão 2.5.
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>
Novo na versão 2.5.
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
, masfuzzy
ousuggest
pode ser usado.
Exemplo:
weblate auto_translate --user nijel --inconsistent --source weblate/application weblate website cs
Veja também
celery_queues
- weblate celery_queues
Novo na versão 3.7.
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.
Pode definir qual projeto ou componente atualizar (por exemplo, weblate/application
) ou usar --all
para atualizar todos os componentes existentes.
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.
Veja também
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.
Veja também
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
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).
Alterado na versão 2.9: Adicionados os parâmetros --username
, --email
, --name
e --update
.
dump_memory
- weblate dump_memory
Novo na versão 2.20.
Exporta um ficheiro JSON que contem o conteúdo de memória de tradução do Weblate.
dumpuserdata
- weblate dumpuserdata <file.json>
Despeja dados de utilizador num ficheiro para uso posterior por 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>
Novo na versão 2.7.
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.
Alterado na versão 2.9: Os parâmetros --ignore
e --update
existem para lidar com 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
- weblate import_memory <file>
Novo na versão 2.20.
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 textosen_US
comoen
.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>
Alterado na versão 3.0: O comando import_project agora é baseado na extensão Descoberta de componentes, levando a algumas mudanças no comportamento e quais parâmetros são aceitos.
Executa importação em lote de componentes para o projeto com base na máscara de ficheiros.
<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
Exemplos mais detalhados encontram-se no capítulo Comea çar com a internacionalização, alternativamente quererá usar import_json
.
importuserdata
- weblate importuserdata <file.json>
Importa dados do utilizador de um ficheiro criado por 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
Novo na versão 3.2.
- 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 --config '{"width": -1}' --update --all
Veja também
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
move_language
- weblate move_language source target
Novo na versão 3.0.
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
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.
Veja também
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.
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
Normalmente é melhor configurar os ganchos no repositório para acionar Hooks de notificação, ao invés da pesquisa regular por updategit
.