Översätta insticksprogram

Paketet rkwarddev klarar av att skapa externa insticksprogram med fullständigt stöd för i18n. Alla relevanta funktioner som genererar XML-objekt erbjuder en valfri parameter för att ange i18n_context eller noi18n_label:

varComment <- rk.XML.varselector(id.name="vars", i18n=list(comment="Main variable selector"))
varContext <- rk.XML.varselector(id.name="vars", i18n=list(context="Main variable selector"))
cboxNoi18n <- rk.XML.cbox(label="Power", id.name="power", i18n=FALSE)
    

Exemplen ovan ger utmatning som ser ut så här:

# varComment
<!-- i18n: Main variable selector -->
  <varselector id="vars" />

# varContext
<varselector id="vars" i18n_context="Main variable selector" />

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

Det finns också stöd för översättningsbar JS-kod. I själva verket försöker paketet lägga till anrop till i18n() direkt på platser där det oftast är till hjälp. Funktionen rk.JS.header() är ett bra exempel:

jsHeader <- rk.JS.header("Test results")
    

Det producerar följande JS-kod:

new Header(i18n("Test results")).print();
    

Men det går också att markera strängar i JS-koden som översättningsbara för hand, genom att använda funktionen i18n() precis som man skulle göra om JS-filen skrevs direkt.