Internacionalização e tradução¶
O Rung tem suporte a múltiplos idiomas nas extensões. Os locales do Rung se
baseiam na combinação por _
dos formatos ISO 639 com o código do país,
especificado na ISO 3166. Exemplos são en_US
e pt_BR
.
Há uma função global chamada _
, que recebe um texto a ser
internacionalizado, preferencialmente em inglês, e opcionalmente um conjunto
de pares a interpolar. O Rung buscará por arquivos .json
com o nome do
locale dentro da pasta locales/
. Exemplo:
locales/pt_BR.json
{
"Hello world!": "Olá, mundo!"
}
locales/zh_CN.json
{
"Hello world!": "你好世界!"
}
index.js
function main(context) {
return {
alerts: [_("hello world!")]
};
}
Caso o locale não for encontrado, a chave é utilizada, no caso, a versão em inglês no exemplo.
Interpolação de strings¶
A função _
aceita um segundo parâmetro para interpolar, tornando possível
fazer, por exemplo:
return {
alerts: [_("good morning, {{name}}!", { name: 'Trixie Mattel' })]
};
Note que, no arquivo .json
, os nomes dentro das chavetas devem ser
preservados