Traduzir
Você pode contribuir para a tradução deste plugin. As traduções são feitas usando o software Weblate, utilizando a instância Framasoft Weblate.
Nunca modifique diretamente os arquivos na pasta languages
, isso pode
causar conflitos.
Como fazer
- Crie uma conta: https://weblate.framasoft.org/accounts/register/
- Valide seu e-mail e siga o link enviado
- Crie sua senha e configure sua conta
- Acesse a página do projeto do plugin: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/
- Selecione o local que você deseja traduzir
- Apenas traduza as frases que faltam ou corrija aquelas que parecem incorretas para você.
Pode haver algumas sequências de caracteres “muito técnicas”. Se você não tiver 100% de certeza do significado ou da sua tradução, é melhor não traduzi-la, para que ela seja exibida em inglês.
Traduções do ConverseJS
Este plugin utiliza o ConverseJS para o front-end de bate-papo. O ConverseJS possui suas próprias traduções, em sua própria instância do Weblate. Você também pode traduzir diretamente no repositório de código. Para mais informações, consulte a documentação de traduções do ConverseJS.
Adicionando uma nova localidade
Se você acha que há alguma localidade faltando, verifique primeiro se ela é gerenciada no Peertube. Se for o caso, você pode abrir um problema para solicitá-la.
Adicionar novas strings / usar traduções no código
Se você estiver trabalhando em novos recursos e precisar de novas strings, poderá criá-las diretamente no Weblate. A versão em inglês é obrigatória. Comece por ela.
Cada string está vinculada a uma chave (por exemplo, use_chat
). Escolha
uma chave explícita, em inglês, com letras minúsculas.
Se você precisar testar novas strings sem esperar por uma mesclagem do
Weblate, você pode modificar os arquivos languages/*.yml
, mas evite
confirmar essas alterações (para minimizar os riscos de conflito).
Use traduções no código front-end
Antes de usar uma string no front-end, você precisa declarar uma nova
constante em client/@types/global.d.ts
. O nome da constante deve:
- comece com o prefixo “LOC_”
- use a tecla string, em maiúsculas
- você só precisa declarar seu tipo, não seu valor
Por exemplo, para usar “use_chat”, você deve declarar:
declarar const LOC_USE_CHAT: string
O script build-client.js
lerá client/@types/global.d.ts
, procurará por
tais constantes e carregará seus valores dos arquivos de idiomas.
Agora, você pode simplesmente chamar
peertubeHelpers.translate(LOC_USE_CHAT)
no seu código.
Use traduções no código de back-end
Em teoria, as únicas partes do código de backend onde você precisa de localização são a declaração de configurações e os dados padronizados (ActivityPub, RSS, …). Aqui, precisamos obter strings em inglês da chave de tradução.
Observação: você nunca deve precisar de outra tradução de idioma do código do backend. A localização deve ser feita no frontend.
Existe um módulo lib/loc.ts
que fornece uma função loc()
. Basta passar a
chave para obter a string em inglês: loc('diagnostic')
'.
Tradução de documentação
A tradução da documentação é feita usando o componente Weblate correspondente.
Existe um “Hugo shortcodes” específico que você pode usar para exibir uma string de aplicativo. Se você quiser exibir o nome do botão “open_chat_new_window”, pode usar isso no arquivo markdown da documentação:
{{% rótulo_do_chat_ao_vivo abrir_nova_janela_do_chat %}}
Você também pode impedir que uma página inteira seja traduzida adicionando
livechatnotranslation: true
na seção Yaml Font Matter:
---
título: "Terceiros"
descrição: "Exibindo o chat ao vivo com software de terceiros."
peso: 20
capítulo: falso
livechatnotranslation: verdadeiro
---
Nunca traduza uma string no arquivo livechat.en.pot
, pois ela será
ignorada. Em vez disso, edite diretamente os arquivos markdown.
Se uma string contiver um link, você poderá alterá-lo para o link correto no idioma traduzido. Por exemplo, para um link para esta documentação, você pode adicionar o código do idioma na URL.
Algumas strings são blocos de código. Não traduza o código. Mas você pode traduzir comentários ou parâmetros, se relevante.
Se não tiver certeza, simplesmente não traduza e pergunte o que fazer.
A ferramenta que utilizo para gerenciar traduções da documentação pode apresentar comportamentos estranhos. Quando adiciono frases que se parecem com outras frases existentes, às vezes ela copia traduções existentes. Portanto, quando houver traduções marcadas como “para verificar”, certifique-se de que ela não copie uma string que não tenha nada a ver com a em inglês antes de validar.
Se você tiver certeza sobre o contexto de uma string, pode verificar a
localização da string no painel direito do Weblate e abrir a página de
documentação correspondente. Por exemplo, para uma string localizada no
arquivo support/documentation/content/en/documentation/user/streamers.md
,
a URL correspondente é
https://livingston.frama.io/peertube-plugin-livechat/documentation/user/streamers/
.
Recomendações genéricas
Por favor, seja inclusivo em suas formulações e respeite o código de conduta.