Vertaalbare software schrijven: semantic source strings
In het algemeen zijn software vertalingen vaak vreselijk slecht.
Om een en ander eens aan de lijve te ondervinden, heb ik mij eens over de vertalingen van MuseScore software gebogen.
Op een andere plek in dit forum (Dutch translations) kun je de bevindingen m.b.t. het gebruikte vertaalsysteem vinden.
Om de vertalers meer aanwijzingen te geven voor een correcte vertaling, zijn er een aantal mogelijkheden.
Een mogelijkheid is het toevoegen van contextuele plaatjes.
Ik zit echter te denken aan een meer automatiseerbare oplossing.
Het begint bij de source. Er is gewoon iets meer informatie over semantiek en context nodig.
Ik noem deze oplossing:
Semantic Source Strings
Door wat meta informatie toe te voegen aan de source strings, verandert de kwaliteit van de vertaling van dramatisch skecht naar goed. Tenminste, dat is mijn hypothese...
Het basis principe is eenvoudig:
1. Definieer tags die binnen de strings togevoegd moeten worden zodat de vertaler (of de vertaalprogrammatuur) deze ziet.
2. Zorg dat de software UI deze tags negeert
Voorbeeld tags:
[verb:infinitive]
[verb:imperative]
[noun:singularis>]
[noun:plural]
Het hoeven maar een beperkt aantal tags te zijn, en niet de gehele grammatica hoeft afgedekt te worden, omdat er toch al simplified english in een actieve vorm in de tegenwoordige tijd gebruikt moet worden. Bestaat de tag niet voor de grammaticavorm , dan ben je het vast onnodig complex aan het schrijven.
Voorbeelden:
Load[verb:inifinitive]
Laden
Load[verb:imperative] Set[noun:singular]
Laad de verzameling
Set[verb:imperative] Load[noun:singular]
Definieer de lading
Naast de semantiek is informatie over de context nodig.
Deze tags kunnen zo nodig per string worden gedefinieerd.
Voorbeelden:
Note[noun:singular][context:reminder]
Notitie
Note[verb:imperative][context:attention]
Merk op
Note[noun:singular>][context:music]
...
Ambitus[noun:singular>][context:literal]
Ambitus
Als laatste is er wellicht nog iets nodig om exact dezelfde strings te kunnen definieren voor referentie of hergebruik in de source zelf, en de vertaler hierop te kunnen attenderen. De vraag is of dit nog wel nodig is als de texten eigenlijk al geautomatiseerd omgezet kunnen worden vanuit een automatisch aangemaakte glossary...
Voorbeeld source strings:
[id:funny]Funny[adverb] Translation[noun:singular[/id]
Reset[verb:imperative][id:funny]Funny[adverb]
Translation[noun:singular][/id]
Het voordeel van deze oplossing is ook dat het in transifex al meteen toegepast zou kunnen worden, want het blijven gewoon strings! Maar voor de vertaler geeft het meer aanwijzingen voor een correcte vertaling.
De tags hoeft hij natuurlijk niet te vertalen, maar overnemen mag natuurlijk, want de software negeert ze.
Reacties welkom.
Ps ik moest de haakjes even aanoasden, anders zie je ze hier niet ;-)