i18n in RKWard's xml-bestanden

Voor RKWard's XML-bestanden, is i18n meestal geen probleem. Als u uw eigen .pluginmap schrijft (bijv. voor een externe plugin), moet u een po_id opgeven naast de pluginmap's id (naam). Dit definieert de te gebruiken zogenoemde "message catalog" (berichtencatalogus). In het algemeen moet die gelijk zijn aan de id van uw .pluginmap, maar indien u meerdere bestanden .pluginmap levert binnen één pakket, dan wilt u waarschijnlijk in uw kaarten een gezamelijke po_id specificeren. De po_id van een bestand .pluginmap wordt geërfd door alle erin gedeclareerde plug-ins, tenzij die een andere po_id declareert.

Voor plugins en help-pagina's hoeft u RKWard niet te vertellen welke strings vertaald moeten worden, omdat dit gewoonlijk uit hun gebruik blijkt. Maar, zoals hier boven uitgelegd, moet u letten op strings die op meer manieren kunnen worden begrepen, of waar wat uitleg bij nodig is voor de juiste vertaling. i18n_context zoals dit:

<checkbox id="schaal" label="Schaal" i18n_context="Schaal tonen"/>
<checkbox id="schaal" label="Schaal" i18n_context="De plot schalen"/>
                

Door i18n_context op te geven worden de twee strings afzonderlijk vertaald. Bovendien ziet de vertaler de context. Het i18n_context-attribuut wordt ondersteund in alle elementen die ergens vertaalbare strings bevatten, met inbegrip van elementen waarbinnen tekst aanwezig is (bijv. <text>-elementen).

In andere gevallen heeft de te vertalen string een enkele niet-dubbelzinnige betekenis, maar is er toch nog wat uitleg gewenst. In dat geval kunt u commentaar toevoegen die zichtbaar is voor vertalers. Voorbeelden hiervan kunnen zijn:

<!-- i18n: Nee, dit is geen typefout voor screen plot! -->
<component id="scree_plot" label="Scree plot"/>

<!-- i18n: Houd zo mogelijk deze string kort. Meer dan  zo'n 15 karakters
ziet er hier niet goed uit, en de betekenis moet duidelijk zijnvoor de 
gebruiker (selectie uit lijst met waarden naast dit element) -->
<valueslot id="geselecteerd" label="Een kiezen"/>
                

Merk op dat zulk commentaar vooraf moet gaan aan het element waarop het betrekking heeft, en moet beginnen met of "i18n:" of "VERTALERS:"

Tenslotte, in zeldzame gevallen, wilt u dat bepaalde strings niet vertaald zullen worden. Dit is begrijpelijk, bijvoorbeeld, als u laat kiezen tussen diverse R-functienamen met behulp van <radio>-rondjes. U wilt dan niet dat deze worden vertaald, (maar afhankelijk van de context, moet u duidelijke namen overwegen):

<radio id="transformatie" label="toe te passen R-functie">
  <option id="as.list" noi18n_label="as.list()"/>
  <option id="as.vector" noi18n_label="as.vector()"/>
  [...]
</radio>
                

Merk op dat u dan het label-attribuut weglaat, en in plaats daarvan noi18n_label opgeeft. Ook, dat in tegenstelling tot i18n_context en commentaar, het gebruiken van noi18n_label uw plugin incompatibel maakt met versies van RKWard eerder dan 0.6.3.