Traduzione delle estensioni

Il pacchetto rkwarddev è in grado di produrre estensioni esterne con pieno supporto i18n. Ad esempio, tutte le funzioni rilevanti che generano oggetti XML offrono un parametro facoltativo per specificare i18n_context o noi18n_label:

varComment <- rk.XML.varselector(id.name="vars", i18n=list(comment="Selettore variabile principale"))
varContext <- rk.XML.varselector(id.name="vars", i18n=list(context="Selettore variabile principale"))
cboxNoi18n <- rk.XML.cbox(label="Potenza", id.name="power", i18n=FALSE)
    

Gli esempi sopra generano risultato in questo modo:

# varComment
<!-- i18n: Selettore variabile principale -->
  <varselector id="vars" />

# varContext
<varselector id="vars" i18n_context="Selettore variabile principale" />

# cboxNoi18n
<checkbox id="power" noi18n_label="Potenza" value="true" />
    

C'è anche il supporto per il codice JS traducibile. In effetti, il pacchetto prova ad aggiungere chiamate i18n() in modo predefinito nei punti in cui di solito è utile. La funzione rk.JS.header() è un buon esempio:

jsHeader <- rk.JS.header("Risultati del test")
    

Questo produce il seguente codice JS:

new Header(i18n("Test dei risultati")).print();
    

Ma è possibile anche contrassegnare manualmente le stringhe nel proprio codice JS come traducibili, utilizzando la funzione i18n() proprio come si farebbe scrivendo direttamente il file JS.