i18n i RKWards XML-filer

För XML-filer i RKWard, kommer i18n oftast bara fungera. Om man skriver sin egen .pluginmap (t.ex. för ett externt insticksprogram), måste po_id anges intill id för pluginmap. Det definierar "meddelandekatalog" att använda. I allmänhet ska det vara identiskt med id för en .pluginmap, men om man tillhandahåller flera relaterade .pluginmap i ett enda paket, vill man troligen ange ett gemensamt po_id för alla. Ett po_id för en .pluginmap-fil ärvs av alla insticksprogram deklarerade i den, om de inte deklarerar annorlunda po_id.

För insticksprogram och hjälpsidor behöver man inte tala om för RKWard vilka strängar som ska översättas, eftersom det i allmänhet är uppenbart av deras användning. Dock bör man hålla utkik efter strängar som kan vara tvetydiga eller kräver viss förklaring för att kunna översättas korrekt, som förklarades ovan. Ange i18n_context för strängar som kan ha olika betydelse, på följande sätt:

<checkbox id="scale" label="Scale" i18n_context="Show the scale"/>
<checkbox id="scale" label="Scale" i18n_context="Scale the plot"/>
                

Att ange i18n_context gör att de två strängarna översätts separat. Annars skulle de dela en enda översättning. Dessutom visas sammanhanget för översättaren. Egenskapen i18n_context stöd för alla element som kan ha översättningsbara strängar någonstans, inklusive element som har text inne i sig (t.ex. element som <text>).

I andra fall har strängen en enda otvetydig betydelse, men kan ändå behöva en viss förklaring. I detta fall kan en kommetar läggas till som visas för översättare. Exempel kan omfatta:

<!-- i18n: No, this is not a typo for screen plot! -->
<component id="scree_plot" label="Scree plot"/>

<!-- i18n: If you can, please make this string short. Having more than some 15 chars
looks really ugly at this point, and the meaning should be mostly self-evident to the
user (selection from a list of values shown next to this element) -->
<valueslot id="selected" label="Pick one"/>
                

Observera att sådana kommentarer måste föregå elementen de gäller, och måste antingen börja med "i18n" eller "TRANSLATORS:".

Till sist, i sällsynta fall kan man vilja undanta vissa strängar från översättning. Det kan vara vettigt om man till exempel erbjuder ett val mellan olika R-funktionsnamn via alternativknappar med <radio>. Då vill man inte att de ska översättas (men beroende på sammanhang, kanske man istället skulle fundera på att ge dem beskrivande beteckningar):

<radio id="transformation" label="R function to apply">
  <option id="as.list" noi18n_label="as.list()"/>
  <option id="as.vector" noi18n_label="as.vector()"/>
  [...]
</radio>
                

Observera att egenskapen label då ska utelämnas, och noi18n_label anges istället. Observera också, att i motsats till i18n_context och kommentarer, blir insticksprogrammet inte kompatibelt med versioner av RKWard tidigare än 0.6.3 om noi18n_label används.