Plugins vertalen

Met het rkwarddev-pakket kunnen externe plugins worden gemaakt met volledige ondersteuning voor i18n. Bijvoorbeeld hebben alle relevante functies die XML-objecten genereren een optionele parameter voor het opgeven van i18n_context of noi18n_label:

varComment <- rk.XML.varselector(id.name="vars", i18n=list(comment="Hoofd variabele-selector"))
varContext <- rk.XML.varselector(id.name="vars", i18n=list(context="Hoofd variabele-selector"))
cboxNoi18n <- rk.XML.cbox(label="Macht", id.name="macht", i18n=FALSE)
    

Bovenstaande voorbeelden hebben uitvoer als volgt:

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

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

# cboxNoi18n
<checkbox id="macht" noi18n_label="Macht" value="true" />
    

Er is ook ondersteuning voor vertaalbare JS-code. In feite probeert het pakket standaard i18n()-aanroepen toe te voegen op plaatsen waar dit gewoonlijk nuttig is. De functie rk.JS.header() is hiervan een goed voorbeeld:

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

Dit produceert de volgende JS-code:

new Header(i18n("Test-resultaten")).print();
    

Maar u kunt ook zelf strings in uw JS-code markeren als vertaalbaar, met de functie i18n(), precies zoals wanneer u het JS-script direct zou schrijven.