Extensões#

Extensões fornecem maneiras para personalizar e automatizar o fluxo de trabalho de tradução. Administradores podem gerenciar extensões a partir do menu GerenciarExtensões dos respectivos componente de tradução.

Dica

You can also configure add-ons using API, DEFAULT_ADDONS, or install_addon.

../_images/addons.webp

Extensões embutidas#

Tradução automática#

ID da extensão:

weblate.autotranslate.autotranslate

Configuração:

mode

Modo de tradução automática

Escolhas disponíveis:

suggest – Adiciona como sugestão

translate – Adiciona como tradução

fuzzy – Adiciona como “Necessita edição”

filter_type

Filtro de pesquisa

Observe que a tradução de todos is textos descartará todas as traduções existentes.

Escolhas disponíveis:

all – Todos os textos

nottranslated – Textos não traduzidos

todo – Textos não finalizados

fuzzy – Textos marcados para edição

check: inconsistent – Verificação com falha: Inconsistente

auto_source

Fonte das traduções automáticas

Escolhas disponíveis:

others – Outros componentes da tradução

mt – Tradução de máquina

component

Componente

Insira o slug de um componente para ser usado como fonte, mantenha em branco para usar todos os componentes no projeto atual.

engines

Mecanismos de tradução de máquina

threshold

Limite de pontuação

Gatilhos:

atualização de componentes, diário

Traduz automaticamente textos usando tradução de máquina ou outros componentes.

Ela é acionada:

  • Quando novos textos aparecem em um componente.

  • Uma vez por mês para cada componente, isso pode ser configurado usando BACKGROUND_TASKS.

CDN de localização do JavaScript#

Novo na versão 4.2.

ID da extensão:

weblate.cdn.cdnjs

Configuração:

threshold

Limiar de tradução

Limiar para inclusão de traduções.

css_selector

Seletor CSS

Seletor CSS para detectar elementos localizáveis.

cookie_name

Nome do cookie de idioma

Nome do cookie que armazena preferência de idioma.

files

Extrair textos de arquivos HTML

Lista de nomes de arquivos em URLs atuais ou remotos para analisar para textos traduzíveis.

Gatilhos:

diário, pós-commit do repositório, pós-atualização do repositório

Publica traduções para rede de entrega de conteúdo para uso em localização de JavaScript ou de HTML.

Pode ser usado para localizar páginas HTML estáticas ou para carregar a localização no código JavaScript.

Gera um URL exclusivo para seu componente, que pode ser incluído em páginas HTML para localizá-los. Veja Traduzindo HTML e JavaScript usando CDN do Weblate para mais detalhes.

Nota

This add-on requires additional configuration on the Weblate server. LOCALIZE_CDN_PATH configures where generated files will be written (on a filesystem), and LOCALIZE_CDN_URL defines where they will be served (URL). Serving of the files is not done by Weblate and has to be set up externally (typically using a CDN service).

Essa extensão é configurado em Hosted Weblate e disponibiliza os arquivos via https://weblate-cdn.com/.

Remover textos vazios#

Novo na versão 4.4.

ID da extensão:

weblate.cleanup.blank

Configuração:

Esta extensão não tem configuração.

Gatilhos:

pós-commit do repositório, pós-atualização do repositório

Remove textos sem uma tradução dos arquivos de tradução.

Use isso para não ter textos vazios em arquivos de tradução (por exemplo, se sua biblioteca de localização os exibe como em falta em vez de recorrer ao texto fonte).

Limpar arquivos de tradução#

ID da extensão:

weblate.cleanup.generic

Configuração:

Esta extensão não tem configuração.

Gatilhos:

pré-commit do repositório, pós-atualização do repositório

Atualiza todos os arquivos de tradução para corresponder ao arquivo base monolíngue. Para a maioria dos formatos isto significa remover chaves de tradução obsoletas que não estão mais presentes no arquivo base.

Adição de idiomas em falta#

ID da extensão:

weblate.consistency.languages

Configuração:

Esta extensão não tem configuração.

Gatilhos:

diário, pós-adição do repositório

Garante que um conjunto consistente de idiomas seja usado para todos os componentes de um projeto.

Os idiomas ausentes são verificados uma vez a cada 24 horas e quando novos idiomas são adicionados no Weblate.

Ao contrário da maioria dos outros, esta extensão afeta todo o projeto.

Dica

Traduza automaticamente os textos recém-adicionados com Tradução automática.

Descoberta de componente#

ID da extensão:

weblate.discovery.discovery

Configuração:

match

Expressão regular para corresponder aos arquivos de tradução

file_format

Formato de arquivo

name_template

Personalizar o nome do componente

base_file_template

Defina o nome do arquivo base monolíngue

Deixe vazio para arquivos de tradução bilíngues.

new_base_template

Define o arquivo base para novas traduções

Nome do arquivo usado para criar novas traduções. Para gettext escolha o arquivo .pot.

intermediate_template

Arquivo de idioma intermediário

Nome do arquivo de tradução intermediária. Na maioria dos casos, este é um arquivo de tradução fornecido por desenvolvedores e é usado ao criar textos fontes reais.

language_regex

Filtro de idioma

Expressão regular para filtrar arquivos de tradução ao examinar por uma máscara de arquivo.

copy_addons

Clone extensões do componente principal para as recém-criadas

remove

Remova componentes para arquivos inexistentes

confirm

Confirmo que a correspondência acima parece correta

Gatilhos:

Pós-atualização do repositório

Adiciona ou remove automaticamente componentes do projeto com base nas alterações de arquivo no sistema de controle de versão.

A correspondência é feita usando expressões regulares que permitem uma configuração complexa, mas é necessário algum conhecimento para fazê-la. Alguns exemplos para casos de uso comum podem ser encontrados na seção de ajuda de extensões.

A expressão regular para corresponder aos arquivos de tradução deve conter dois grupos nomeados para corresponder ao componente e ao idioma. Todos os grupos nomeados na expressão regular podem ser usados como variáveis nos campos do modelo.

You can use Django template markup in all filename fields, for example:

{{ component }}

Correspondência do nome do arquivo

{{ component|title }}

Nome do arquivo do componente com a primeira letra em maiúscula

{{ path }}: {{ component }}

Grupo de correspondência personalizado da expressão regular

Uma vez que você acertar Salvar, uma prévia dos componentes correspondentes será apresentada, de onde você pode verificar se a configuração realmente corresponde às suas necessidades:

../_images/addon-discovery.webp

Exemplos de descoberta de componentes#

Uma pasta por idioma#

Uma pasta por idioma contendo arquivos de traduções para componentes.

Expressão regular:

(?P<language>[^/.]*)/(?P<component>[^/]*)\.po

Arquivos correspondentes:
  • cs/application.po

  • cs/website.po

  • de/application.po

  • de/website.po

Gettext locales layout#

Estrutura usual para armazenar arquivos PO.

Expressão regular:

locale/(?P<language>[^/.]*)/LC_MESSAGES/(?P<component>[^/]*)\.po

Arquivos correspondentes:
  • locale/cs/LC_MESSAGES/application.po

  • locale/cs/LC_MESSAGES/website.po

  • locale/de/LC_MESSAGES/application.po

  • locale/de/LC_MESSAGES/website.po

Nomes de arquivos complexos#

Usando ambos componente e nome do idioma no nome do arquivo.

Expressão regular:

src/locale/(?P<component>[^/]*)\.(?P<language>[^/.]*)\.po

Arquivos correspondentes:
  • src/locale/application.cs.po

  • src/locale/website.cs.po

  • src/locale/application.de.po

  • src/locale/website.de.po

Código de idioma repetido#

Usando idioma em ambos caminho e nome do arquivo.

Expressão regular:

locale/(?P<language>[^/.]*)/(?P<component>[^/]*)/(?P=language)\.po

Arquivos correspondentes:
  • locale/cs/application/cs.po

  • locale/cs/website/cs.po

  • locale/de/application/de.po

  • locale/de/website/de.po

Dividir textos do Android#

Textos de recurso do Android, divididos em vários arquivos.

Expressão regular:

res/values-(?P<language>[^/.]*)/strings-(?P<component>[^/]*)\.xml

Arquivos correspondentes:
  • res/values-cs/strings-about.xml

  • res/values-cs/strings-help.xml

  • res/values-de/strings-about.xml

  • res/values-de/strings-help.xml

Matching multiple paths#

Projeto Maven multimódulo com traduções de propriedades Java.

Expressão regular:

(?P<originalHierarchy>.+/)(?P<component>[^/]*)/src/main/resources/ApplicationResources_(?P<language>[^/.]*)\.properties

Nome do componente:

{{ originalHierarchy }}: {{ component }}

Arquivos correspondentes:
  • parent/module1/submodule/src/main/resources/ApplicationResources_fr.properties

  • parent/module1/submodule/src/main/resources/ApplicationResource_es.properties

  • parent/module2/src/main/resources/ApplicationResource_de.properties

  • parent/module2/src/main/resources/ApplicationResource_ro.properties

Dica

A extensão de descoberta de componentes usa URLs internas do Weblate. É uma maneira conveniente de compartilhar a configuração do VCS entre vários componentes. Os componentes vinculados usam o repositório local do componente principal configurado preenchendo weblate://project/main-component no campo Repositório do código-fonte (em GerenciarConfiguraçõesSistema de controle de versão) de cada componente. Isso economiza tempo com configuração e recursos do sistema também.

Editor em massa#

ID da extensão:

weblate.flags.bulk

Configuração:

q

Consulta

state

Estado a definir

Escolhas disponíveis:

-1 – Não alterar

10 – Necessita edição

20 – Traduzido

30 – Aprovado

add_flags

Marcadores de tradução a adicionar

remove_flags

Marcadores de tradução a remover

add_labels

Etiquetas a adicionar

remove_labels

Etiquetas para remover

Gatilhos:

atualização do componente

Edição em massa de marcadores, etiquetas ou estados de cadeias.

Automatize o etiquetamento começando com a consulta de pesquisa NOT has:label e adicione etiquetas até que todos os textos tenham todas as etiquetas necessárias. Outras operações automatizadas para metadados Weblate também podem ser feitas.

Exemplos:

Rotula novos textos automaticamente#

Consulta de pesquisa

NOT has:label

Etiquetas a adicionar

recente

Marcar como somente leitura todos os textos do changelog de Arquivos de metadados de loja de aplicativos#

Consulta de pesquisa

language:en AND key:changelogs/

Marcadores de tradução a adicionar

read-only

Marcar traduções não alteradas como “Necessita edição”#

ID da extensão:

weblate.flags.same_edit

Configuração:

Esta extensão não tem configuração.

Gatilhos:

pós-criação da unidade

Sempre que um novo texto traduzível é importado do VCS e corresponde a um texto fonte, é marcado como necessitando de edição no Weblate. Especialmente útil para formatos de arquivo que incluem textos fonte para textos não traduzidas.

Dica

Você também pode querer reforçar a verificação Tradução não alterada adicionando o marcador strict-same aos Marcadores de tradução.

Ver também

Estados de tradução

Marcar novos textos fonte como “Necessita edição”#

ID da extensão:

weblate.flags.source_edit

Configuração:

Esta extensão não tem configuração.

Gatilhos:

pós-criação da unidade

Sempre que um novo texto fonte for importado do VCS, ele é marcado como necessita edição no Weblate. Desta forma você pode filtrar facilmente e editar os textos fontes escritos pelos desenvolvedores.

Ver também

Estados de tradução

Marcar novas traduções como “Necessita edição”#

ID da extensão:

weblate.flags.target_edit

Configuração:

Esta extensão não tem configuração.

Gatilhos:

pós-criação da unidade

Sempre que um novo texto traduzível for importado do VCS, ele é marcado como necessita edição no Weblate. Desta forma você pode filtrar facilmente e editar as traduções criadas pelos desenvolvedores.

Ver também

Estados de tradução

Preencher textos somente leitura com a fonte#

Novo na versão 4.18.

ID da extensão:

weblate.generate.fill_read_only

Configuração:

Esta extensão não tem configuração.

Gatilhos:

atualização de componentes, diário

Preenche a tradução de textos somente leitura com o texto fonte.

Gerador de estatísticas#

ID da extensão:

weblate.generate.generate

Configuração:

filename

Nome do arquivo gerado

template

Conteúdo do arquivo gerado

Gatilhos:

pré-commit do repositório

Gera um arquivo contendo as informações detalhadas sobre o status da tradução.

Você pode usar um modelo do Django, tanto de nome de arquivo e conteúdo, veja Arquivos de Markdown para uma descrição detalhada de marcação.

Por exemplo, a geração de um arquivo de resumo para cada tradução:

Nome do arquivo gerado

locale/{{ language_code }}.json

Conteúdo
{
   "language": "{{ language_code }}",
   "strings": "{{ stats.all }}",
   "translated": "{{ stats.translated }}",
   "last_changed": "{{ stats.last_changed }}",
   "last_author": "{{ stats.last_author }}",
}

Ver também

Marcação de modelo

Preencher tradução com fonte#

Novo na versão 4.11.

ID da extensão:

weblate.generate.prefill

Configuração:

Esta extensão não tem configuração.

Gatilhos:

atualização de componentes, diário

Preenche textos de tradução com texto fonte.

Todos os textos não traduzidos no componente serão preenchidos com o texto fonte e marcados como necessitando edição. Use isso quando você não puder ter textos vazios nos arquivos de tradução.

Geração de pseudolocalidade#

Novo na versão 4.5.

ID da extensão:

weblate.generate.pseudolocale

Configuração:

source

Textos fonte

target

Tradução alvo

Todos os textos nesta tradução serão substituídos

prefix

Prefixo de texto fixo

var_prefix

Prefixo de texto variável

suffix

Sufixo de texto fixo

var_suffix

Sufixo de texto variável

var_multiplier

Multiplicador de partes variável

Quantas vezes repetir a parte variável dependendo do comprimento do texto fonte.

include_readonly

Incluir textos somente leitura

Gatilhos:

atualização de componentes, diário

Gera uma tradução adicionando prefixo e sufixo de textos fonte automaticamente.

Pseudolocalidades são úteis para encontrar textos que não estão preparados para localização. Isso é feito alterando todos os textos fonte traduzíveis para facilitar a descoberta de textos inalterados ao executar o aplicativo no idioma da pseudolocalidade.

Também é possível encontrar textos cujas contrapartes localizadas podem não se ajustar ao layout.

O uso das partes variáveis torna possível procurar por textos que podem não caber na interface do usuário após a localização – isso estende o texto com base no comprimento do texto fonte. As partes variáveis são repetidas pelo comprimento do texto multiplicado pelo multiplicador. Por exemplo Hello world com sufixo variável _ e multiplicador variável de 1 se torna Hello world___________ – o sufixo é repetido uma vez para cada caractere no texto fonte.

Os textos serão gerados usando o seguinte padrão:

Prefixo de texto fixo Prefixo de texto variável Texto fonte Sufixo de texto variável Sufixo de texto fixo

Dica

Você pode usar idiomas reais para teste, mas existem pseudolocalidades disponíveis no Weblate - en_XA e ar_XB.

Dica

Você pode usar esta extensão para iniciar a tradução para uma nova localidade de um idioma existente ou idioma semelhante. Depois de adicionar a tradução ao componente, siga para a extensão. Exemplo: Se você tem fr e deseja iniciar a tradução fr_CA, simplesmente defina fr como fonte,` fr_CA` como o destino e deixe o prefixo e o sufixo em branco.

Desinstale a extensão depois de preencher a nova tradução para evitar que o Weblate altere as traduções feitas após a cópia.

Colaboradores nos comentários#

ID da extensão:

weblate.gettext.authors

Configuração:

Esta extensão não tem configuração.

Gatilhos:

pré-commit do repositório

Atualiza a parte do comentário do cabeçalho do arquivo PO para incluir nomes de contribuidores e anos de contribuições.

O cabeçalho do arquivo PO terá a seguinte aparência:

# Michal Čihař <michal@weblate.org>, 2012, 2018, 2019, 2020.
# Pavel Borecki <pavel@example.com>, 2018, 2019.
# Filip Hron <filip@example.com>, 2018, 2019.
# anonymous <noreply@weblate.org>, 2019.

Atualizar variável ALL_LINGUAS no arquivo “configure”#

ID da extensão:

weblate.gettext.configure

Configuração:

Esta extensão não tem configuração.

Gatilhos:

pós-adição do repositório, diário

Atualiza a variável ALL_LINGUAS em arquivos configure, configure.in ou configure.ac, quando uma nova tradução é adicionada.

Personalizar saída do gettext#

ID da extensão:

weblate.gettext.customize

Configuração:

width

Quebra de linhas longas

Por padrão, o gettext quebra as linhas em 77 caracteres e em novas linhas. Com o parâmetro –no-wrap a quebra é feita apenas em novas linhas.

Escolhas disponíveis:

77 – Quebra linhas em 77 caracteres e em novas linhas (padrão do xgettext)

65535 – Quebra linhas apenas em novas linhas (como “xgettext –no-wrap”)

-1 – Sem quebra de linhas

Gatilhos:

pós-carregamento de armazenamento

Permite personalizar o comportamento de saída do gettext, por exemplo as quebra de linhas.

Ela oferece as seguintes opções:

  • Quebrar linhas em 77 caracteres e em novas linhas

  • Quebrar linhas apenas em novas linhas

  • Sem quebra de linhas

Nota

Por padrão, o gettext quebra as linhas em 77 caracteres e em novas linhas. Com o parâmetro --no-wrap, a quebra só é feita em novas linhas.

Atualizar arquivo LINGUAS#

ID da extensão:

weblate.gettext.linguas

Configuração:

Esta extensão não tem configuração.

Gatilhos:

pós-adição do repositório, diário

Atualiza o arquivo LINGUAS quando uma nova tradução for adicionada.

Gerar arquivos MO#

ID da extensão:

weblate.gettext.mo

Configuração:

path

Caminho do arquivo MO gerado

Se não for especificado, o local do arquivo PO será usado.

fuzzy

Incluir textos que necessita edição

Textos que necessitam edição (fuzzy/aproximados) normalmente não estão prontas para uso como traduções.

Gatilhos:

pré-commit do repositório

Gera automaticamente um arquivo MO para cada arquivo PO alterado.

O local do arquivo MO gerado pode ser personalizada e o campo para ele usa Marcação de modelo.

Nota

If a translation is removed, its PO file will be deleted from the repository, but the MO file generated by this add-on will not. The MO file must be removed from the upstream manually.

Atualizar arquivos PO para corresponder ao POT (msgmerge)#

ID da extensão:

weblate.gettext.msgmerge

Configuração:

previous

Manter msgids anteriores de textos traduzidos

no_location

Remove locais de textos traduzidos

fuzzy

Usar correspondência aproximada

Gatilhos:

Pós-atualização do repositório

Atualiza todos os arquivos PO (configurados por Máscara de arquivo) para corresponder ao arquivo POT (configurado por Modelo para novas traduções) usando msgmerge.

Acionada sempre que novas alterações forem trazidas do repositório upstream. A maioria das opções de linha de comando do msgmerge podem ser definidas por meio da configuração da extensão.

Squash de commits git#

ID da extensão:

weblate.git.squash

Configuração:

squash

Squash de commits

Escolhas disponíveis:

all – Todos os commits em um só

language – Por idioma

file – Por arquivo

author – Por autor

append_trailers

Anexar linhas finalizadoras à mensagem do commit resultado de squash

As linhas finalizadoras são linhas semelhantes aos cabeçalhos de e-mail RFC 822, no final da parte livre de uma mensagem de commit, como “Co-authored-by: …’.

commit_message

Mensagem de commit

Esta mensagem de commit será usada em vez das mensagens de commit combinadas a partir de commits após squash.

Gatilhos:

pós-commit do repositório

Fazer squash de commits Git antes de fazer push das alterações.

Commits Git podem ter squash feito antes de fazer o push das alterações em um dos seguintes modos:

  • Todos os commits em um só

  • Por idioma

  • Por arquivo

  • Por autor

As mensagens de compromisso originais são mantidas, mas a autoria é perdida a menos que Por autor seja selecionada ou a mensagem de compromisso seja personalizada para incluí-la.

As mensagens de commit originais podem opcionalmente ser substituídas por uma mensagem de commit personalizada.

Linhas finalizadoras (linhas de commits como Co-authored-by: ) podem opcionalmente ser removidas das mensagens de commit originais e anexadas ao final da mensagem de compromisso após um squash. Isso também gera crédito próprio Co-authored-by: para cada tradutor.

Personalizar saída JSON#

ID da extensão:

weblate.json.customize

Configuração:

sort_keys

Ordenar chaves JSON

indent

Recuo do JSON

style

Estilo de recuo do JSON

Escolhas disponíveis:

spaces – Espaços

tabs – Tabulações

Gatilhos:

pós-carregamento de armazenamento

Permite ajustar o comportamento de saída do JSON, por exemplo recuo ou classificação.

Formatar o arquivo de propriedades Java#

ID da extensão:

weblate.properties.sort

Configuração:

Esta extensão não tem configuração.

Gatilhos:

pré-commit do repositório

Formata e ordena o arquivo de propriedades Java.

  • Consolida quebras de linhas para Unix.

  • Formatação em maiúsculas de sequências de escape Unicode (caso estejam presentes).

  • Tira linhas em branco e comentários.

  • Ordena os textos pelas chaves.

  • Descarta textos duplicados.

Remoção de comentário obsoleto#

ID da extensão:

weblate.removal.comments

Configuração:

age

Dias para manter

Gatilhos:

diário

Define um período de tempo até a remoção de comentários.

Isso pode ser útil para remover comentários antigos que podem ter ficado desatualizados. Use com cuidado, pois comentários ficarem velhos não significam que eles perderam sua importância.

Remoção de sugestão obsoleta#

ID da extensão:

weblate.removal.suggestions

Configuração:

age

Dias para manter

votes

Limite de votação

Limite para remoção. Este campo não tem efeito com a votação desativada.

Gatilhos:

diário

Define um período de tempo até a remoção de sugestões.

Pode ser muito útil em relação à votação em sugestão (vej Revisão por pares) para remover sugestões que não recebem votos positivos suficientes em um determinado período de tempo.

Atualizar arquivos RESX#

ID da extensão:

weblate.resx.update

Configuração:

Esta extensão não tem configuração.

Gatilhos:

Pós-atualização do repositório

Atualiza todos os arquivos de tradução para corresponder ao arquivo base monolíngue do upstream. Textos não usados são removidos e novos são adicionados como cópias do texto fonte.

Dica

Use Limpar arquivos de tradução se você só quiser remover chaves de tradução obsoletas.

Personalizar saída YAML#

Novo na versão 4.15.

ID da extensão:

weblate.yaml.customize

Configuração:

closing_tags

Incluir tag de fechamento para tags XML em branco

Gatilhos:

pós-carregamento de armazenamento

Permite ajustar o comportamento da saída XML, por exemplo, fechando tags.

Personalizar saída YAML#

ID da extensão:

weblate.yaml.customize

Configuração:

indent

Recuo do YAML

width

Quebra de linhas longas

Escolhas disponíveis:

80 – Quebra linhas em 80 caracteres

100 – Quebra linhas em 100 caracteres

120 – Quebra linhas em 120 caracteres

180 – Quebra linhas em 180 caracteres

65535 – Sem quebra de linhas

line_break

Quebra de linhas

Escolhas disponíveis:

dos – DOS (\r\n)

unix – UNIX (\n)

mac – MAC (\r)

Gatilhos:

pós-carregamento de armazenamento

Permite ajustar o comportamento de saída do YAML, por exemplo comprimento de linha e novas linhas.

Personalizando a lista de extensões#

A lista de extensões é configurada por WEBLATE_ADDONS. Para adicionar outra extensão, basta incluir o nome absoluto da classe nesta configuração.

Escrevendo extensões#

Você pode escrever suas próprias extensões também. Crie uma subclasse de weblate.addons.base.BaseAddon para definir os metadados da extensão e, então, implemente uma função de retorno que vai fazer o processamento.

Escrevendo scripts para extensões#

Extensões também podem ser usadas para executar scripts externos. Isso costumava estar integrado no Weblate, mas agora você tem que escrever algum código para embrulhar seu script com uma extensão.

# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later

"""Example pre commit script."""

from django.utils.translation import gettext_lazy

from weblate.addons.events import AddonEvent
from weblate.addons.scripts import BaseScriptAddon


class ExamplePreAddon(BaseScriptAddon):
    # Event used to trigger the script
    events = (AddonEvent.EVENT_PRE_COMMIT,)
    # Name of the addon, has to be unique
    name = "weblate.example.pre"
    # Verbose name and long description
    verbose = gettext_lazy("Execute script before commit")
    description = gettext_lazy("This add-on executes a script.")

    # Script to execute
    script = "/bin/true"
    # File to add in commit (for pre commit event)
    # does not have to be set
    add_file = "po/{{ language_code }}.po"

Para instruções de instalação, veja Verificações de qualidade personalizadas, extensões e correções automáticas.

O script é executado com o diretório atual definido para a raiz do repositório VCS para qualquer componente.

Além disso, estão disponíveis as seguintes variáveis de ambiente:

WL_VCS#

Sistema de controle de versão usado.

WL_REPO#

URL do repositório upstream.

WL_PATH#

Caminho absoluto para o repositório VCS.

WL_BRANCH#

Ramo do repositório configurado no componente atual.

WL_FILEMASK#

Máscara de arquivo para componente atual.

WL_TEMPLATE#

Nome de arquivo de modelo para traduções monolíngues (pode estar vazio).

WL_NEW_BASE#

Nome de arquivo do arquivo usado para criar novas traduções (pode estar vazio).

WL_FILE_FORMAT#

Formato de arquivo usado no componente atual.

WL_LANGUAGE#

Idioma da tradução processada atualmente (não disponível para ganchos de nível de componente).

WL_PREVIOUS_HEAD#

HEAD anterior após atualização (disponível apenas ao executar o gancho de pós-atualização).

WL_COMPONENT_SLUG#

Slug do componente usado para construir a URL.

WL_PROJECT_SLUG#

Slug de projeto usado para construir a URL.

WL_COMPONENT_NAME#

Nome de componente.

WL_PROJECT_NAME#

Nome do projeto.

WL_COMPONENT_URL#

URL do componente.

WL_ENGAGE_URL#

URL de engajamento do projeto.

Processamento de repositório pós-atualização#

Pode ser usado para atualizar arquivos de tradução quando a fonte VCS do upstream alterar. Para conseguir isso, lembre-se que o Weblate só vê arquivos dos quais se fez commit com o VCS, então você precisa fazer commit das alterações como parte do script.

Por exemplo, com Gulp, você pode fazê-lo usando o seguinte código:

#! /bin/sh
gulp --gulpfile gulp-i18n-extract.js
git commit -m 'Update source strings' src/languages/en.lang.json

Processamento pré-commit de traduções#

Use o script de commit para alterar automaticamente uma tradução antes de fazer commit dela para o repositório.

Ele é passado como um parâmetro único que consiste o nome de uma tradução atual.