Ö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.