Traduzir plugins

O pacote rkwarddev é capaz de produzir plugins externos com suporte completo a internacionalização (i18n). Por exemplo, todas as funções relevantes que geram objetos XML oferecem um parâmetro opcional para especificar i18n_context ou noi18n_label:

varComment <- rk.XML.varselector(id.name="vars", i18n=list(comment="Seletor de variável principal"))
varContext <- rk.XML.varselector(id.name="vars", i18n=list(context="Seletor de variável principal"))
cboxNoi18n <- rk.XML.cbox(label="Power", id.name="power", i18n=FALSE)
    

Os exemplos acima produzem resultados como este:

# varComment
<!-- i18n: Seletor de variável principal -->
  <varselector id="vars" />

# varContext
<varselector id="vars" i18n_context="Seletor de variável principal" />

# cboxNoi18n
<checkbox id="power" noi18n_label="Força" value="true" />
    

Há também suporte para código JS traduzível. Na verdade, o pacote tenta adicionar chamadas i18n() por padrão em locais onde isso é geralmente útil. A função rk.JS.header() é um bom exemplo:

jsHeader <- rk.JS.header("Testar resultados")
    

Isso gera o seguinte código JS:

new Header(i18n("Testar resultados")).print();
    

Mas você também pode marcar manualmente strings em seu código JS como traduzíveis, usando a função i18n() da mesma forma que faria se escrevesse o arquivo JS diretamente.