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.