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.