Frankfurts studio voor meertalige digitale presentaties +49 69 95209894 [email protected] Ma–vr 9–17 uur Klantenportaal →
NederlandsNL

Praktijkgids

Handleiding voor app- en softwarelokalisatie (i18n)

De lokalisatie van apps en software vereist een doordachte scheiding van code en teksten. Deze handleiding behandelt technische aspecten zoals placeholders, meervoudsregels, tekstlengtes, string-keys, context voor vertalers en RTL-ondersteuning. Het helpt ontwikkelaars om internationale toepassingen efficiënt en consistent te maken, zonder juridische of financiële onderwerpen aan te raken.

i18n
Internationalisering afkorten
RTL
Rechts-naar-links-ondersteuning
ICU
Internationale componenten voor Unicode
Diagram voor scheiding van code en taalresources

1. Scheiding van code en teksten

De basisvoorwaarde voor elke lokalisatie is de strikte scheiding van programmacode en tekstuele inhoud. Alle weer te geven teksten moeten worden opgeslagen in externe bronbestanden (bijv. Properties, JSON, YAML), niet hardgecodeerd in de broncode. Hierdoor kunnen vertalers werken zonder de code te wijzigen. Gebruik unieke stringkeys als referentie in de code, die verwijzen naar de respectieve vertalingen. Deze scheiding vergemakkelijkt ook het onderhoud en maakt het later toevoegen van nieuwe talen mogelijk zonder codeaanpassingen. Zorg ervoor dat ook UI-labels, foutmeldingen en tooltips in deze bestanden terechtkomen.

2. Plaatshouders en variabelen

Teksten bevatten vaak dynamische inhoud zoals getallen, namen of gegevens. Deze moeten via plaatshouders worden ingevoegd, bijvoorbeeld met printf-opmaak (%s, %d) of modernere benaderingen zoals accolades {0}. Het is belangrijk dat vertalers de volgorde en betekenis van de plaatshouders kennen. Gebruik benoemde plaatshouders (bijv. „{username}“) om context te geven. Bij talen met een andere woordvolgorde kan de volgorde van de plaatshouders variëren. Bied daarom de mogelijkheid om de volgorde in de vertaling aan te passen. Test alle varianten om foutieve of onvolledige uitvoer te voorkomen.

Voorbeeld van plaatshouders in vertaalbare strings

3. Meervoudsregels en meervoudsvorming

In het Duits bestaan alleen enkelvoud en meervoud, maar veel talen hebben complexere meervoudsregels (bijv. Arabisch met zes categorieën). Gebruik bibliotheken zoals ICU MessageFormat die meervoudsregels taalspecifiek afhandelen. Definieer in uw bronnen aparte sleutels voor de verschillende meervoudsvormen (one, other). De code kiest dan automatisch de juiste vorm op basis van het getal. Voorbeeld: „{count} {count, plural, one {appel} other {appels}}“. Test elke taal met meerdere getallen om te verzekeren dat de juiste meervoudsvorm wordt weergegeven. Vermijd vaste if-query's – dat is foutgevoelig.

4. Tekstlengte en layout-buffer

Vertalingen zijn vaak langer of korter dan de originele tekst. Vooral bij knoppen, menu's en labels kan dit het layout laten knappen. Plan daarom voldoende ruimte voor tekstuitbreidingen in – een goede richtlijn is 30% extra ruimte voor westerse talen, meer voor Aziatische. Gebruik dynamische layouts die zich aanpassen aan de tekstlengte (bijv. Auto Layout in iOS of Flexbox in het web). Vermijd vaste breedtes. Laat UI-elementen eventueel omspringen met tekstterugloop. Test de interface met de langst te verwachten vertalingen om overlapping of afkapping te voorkomen.

5. String-keys, context voor vertalers en RTL

Unieke string-keys vormen de ruggengraat van lokalisatie. Gebruik sprekende namen (bijv. „login.button.title“) en documenteer het gebruiksdoel. Geef vertalers context: schermafbeeldingen, maximale tekenlengte, beperkingen (bijv. „niet langer dan 20 tekens“). Voor RTL-talen zoals Arabisch of Hebreeuws moet de UI worden gespiegeld. Gebruik layout-attributen die RTL automatisch ondersteunen (bijv. start/end in plaats van left/right). Test de volledige navigatie onder RTL-omstandigheden. Denk ook aan symbolen en afbeeldingen – deze kunnen per cultuur anders worden geïnterpreteerd.

Checklist voor markttoetreding

  • Externe bronbestanden voor teksten gebruiken
  • Plaatshouders met benoemde variabelen en aanpasbare volgorde
  • Meervoudsregels met ICU MessageFormat implementeren
  • Layout minimaal 30% buffer voor tekstuitbreidingen
  • Beschrijvende string-sleutels met contextdocumentatie
  • RTL-ondersteuning via lay-outattributen zoals start/eind
Lay-outraster met verschillende tekstlengtes en buffers

Veelgestelde vragen

Waarom is de scheiding van code en teksten belangrijk?

Het maakt vertalingen mogelijk zonder codeaanpassingen, vereenvoudigt het onderhoud en maakt het toevoegen van nieuwe talen mogelijk zonder de software opnieuw te hoeven compileren.

Hoe behandel ik meervoudsvormen in verschillende talen?

Gebruik bibliotheken zoals ICU MessageFormat die voor elke taal de juiste meervoudsvorm kiezen. Definieer in de resources sleutels voor elke meervoudscategorie (bijv. one, other).

Waar moet u speciaal op letten bij RTL-talen?

De UI moet worden gespiegeld: Gebruik logische lay-outattributen (start/einde) in plaats van absolute richtingen. Test navigatie en tekstinspringingen onder RTL-omstandigheden.

Klaar voor deze markt?

Wij lokaliseren uw website taalkundig, technisch en cultureel – met moedertaalcontrole en vaste prijs. Vraag een vrijblijvende offerte aan.

Vrijblijvende offerte aanvragen

Duitse GmbHHandelsregister Frankfurt am Main · HRB 111727
D-U-N-S® geregistreerd315030052
AVG-conforme verwerkingHosting in Duitsland
Vaste prijzen met schriftelijke leveringsgarantie