Als je de lokalisatie van een SaaS-product beheert, weet je dat een marketingsite vertalen het makkelijke deel is. De softwareapplicatie zelf vertalen is een operationele uitdaging.
Een doorsnee SaaS-applicatie bevat duizenden ‘strings’: afzonderlijke stukjes tekst voor knoppen, foutmeldingen, tooltips en koppen op dashboards.
Om je app meertalig te maken, moeten deze strings worden geëxtraheerd, vertaald en opnieuw geïntegreerd zonder de code van de applicatie te beschadigen. In deze gids lees je hoe moderne SaaS-teams CSV-exports en AI gebruiken om app-interfaces op grote schaal, veilig en nauwkeurig te lokaliseren.
De uitdaging van app-strings lokaliseren
Een blogartikel vertalen vraagt om een flexibele aanpak met oog voor context. Een app-string vertalen is juist een rigide, technische klus.
SaaS-strings brengen drie specifieke uitdagingen met zich mee:
- Gebrek aan context: Een string met alleen ‘Lead’ kan een zelfstandig naamwoord zijn (een potentiële klant) of een werkwoord (een team leiden). Vertalers gokken vaak verkeerd.
- Codevariabelen: Strings bevatten vaak dynamische variabelen, zoals
Welcome back, {{first_name}}!ofYou have {count} new messages. Als een vertaler per ongeluk de syntaxis van een variabele wijzigt, werkt de app niet meer. - Strikte terminologie: Als je app in het Engels de term ‘Dashboard’ gebruikt, moet die in alle 500 gevallen consequent worden vertaald als ‘dashboard’. Inconsistent gebruik brengt gebruikers in verwarring.
De CSV-workflow voor app-strings
De meeste moderne frameworks (React, Vue, Ruby on Rails) gebruiken i18n-bibliotheken (internationalisering) waarin strings worden opgeslagen in JSON-, YAML- of CSV-bestanden.
Voor vertalingen is het omzetten van deze bestanden naar een platte CSV de betrouwbaarste aanpak. Een standaard CSV-bestand met SaaS-strings ziet er zo uit:
| string_key | source_en | target_fr | context_notes |
|---|---|---|---|
btn_save |
Save Changes | Button on settings page | |
err_network |
Connection failed. Please retry. | Toast notification | |
nav_dashboard |
Dashboard | Main sidebar |
Zodra je deze CSV hebt, kan AI het meeste werk uit handen nemen.
AI gebruiken om strings te vertalen (op een veilige manier)
Je kunt niet zomaar een CSV met app-strings in een standaardvertaaltool laden. Je hebt een specifieke workflow nodig die rekening houdt met de technische beperkingen van software.
Met een platform als AI Glot ziet de workflow er zo uit:
1. Beschrijf de kolommen
Upload je CSV en schrijf één zin: vertaal de kolom source_en naar de lege kolom target_fr. De kolom string_key sla je over, zodat je code-identifiers nooit per ongeluk worden vertaald.
2. Beveilig je variabelen
SaaS-strings staan vol code. Je hebt een AI-tool nodig waarmee je Aangepaste instructies kunt opgeven.
Voordat je de batch start, geef je een eenvoudige instructie: “Vertaal geen tekst tussen accolades, zoals {{variable}}.” De AI verwerkt de gewone tekst en laat je codesyntaxis volledig intact.
Placeholders staan al op de lijst met elementen die voor elke door de engine geschreven string worden beschermd, net als HTML-tags, Markdown, URL’s en identificatiecodes. Je eigen instructie vormt daar een extra laag bovenop. Het is verstandig die toe te voegen als je ongebruikelijke syntaxis gebruikt.
string_key,source_en,target_frgreet_user,"Welcome back, {{first_name}}!",greet_user,"Welcome back, {{first_name}}!","Bon retour, {{first_name}} !"msg_inbox,"You have {count} new messages",msg_inbox,"You have {count} new messages","Vous avez {count} nouveaux messages"3. Zorg voor consistente UI-termen met glossaria
Dit is de belangrijkste stap bij SaaS-lokalisatie.
Je software bevat waarschijnlijk specifieke zelfstandige naamwoorden (Dashboard, Workspace, Repository) en werkwoorden (Deploy, Commit, Sync) die samen de kern van de gebruikerservaring vormen.
Je moet een vertaalglossarium samenstellen. Upload een lijst waarin je de belangrijkste Engelse UI-termen koppelt aan hun exacte equivalent in de doeltaal. De AI past deze regels strikt toe op alle duizenden strings, zodat “Workspace” niet in dezelfde applicatie op drie verschillende manieren wordt vertaald.
Twee instructies die je niet door elkaar kunt gebruiken
De bovenstaande stappen 1 en 2 lijken op dezelfde functie die twee keer wordt beschreven. Het zijn twee verschillende lagen. Zet je een zin in de verkeerde laag, dan wordt die stilletjes niet toegepast.
- Bepaalt WELKE tekst wordt vertaald
- Eenmalig gelezen, aan de hand van de structuur van je bestand
- Omgezet in code die op elke rij wordt uitgevoerd
- Voorbeeld: "vul target_fr vanuit source_en in en laat string_key ongemoeid"
- Bepaalt HOE elke string wordt geschreven
- Toegepast tijdens het schrijven van één afzonderlijke string
- Alleen die ene string is op dat moment in beeld
- Voorbeeld: "behoud alles tussen dubbele accolades precies zoals het is"
De instructie “vertaal de sleutelkolom nooit” in de batchinstructies heeft dus helemaal geen effect, en niets waarschuwt je: tegen die tijd is de sleutelkolom volgens het plan al uitgesloten of juist opgenomen. Beschrijf de structuur in het plan en beschrijf in de batchinstructies aan welke voorwaarden een tekenreeks moet voldoen.
Opnieuw integreren en testen
Zodra de AI het CSV-bestand heeft verwerkt, download je het voltooide bestand. Doordat je de kolommen precies hebt toegewezen, sluit je kolom string_key naadloos aan op je nieuwe kolom target_fr.
Een spreadsheet kan net zoveel talen naast elkaar bevatten als je kolommen hebt, dus Frans vereist geen aparte verwerkingsronde naast Duits.
Je kunt deze CSV nu terugzetten naar het gewenste i18n-formaat (JSON, YAML) en naar je codebase pushen.
De kern
Voor SaaS-localisatie heb je geen duur vertaalbeheersysteem (TMS) voor grote ondernemingen nodig en ook geen maanden handmatig werk door teams in het buitenland.
Door de strings in je app overzichtelijk in een CSV te zetten en een gecontroleerde AI-workflow met verplichte woordenlijsten te gebruiken, kun je de volledige interface van je applicatie in één middag lokaliseren.
Klaar om de strings in je app te lokaliseren? Probeer AI Glot en vertaal gratis je eerste batch SaaS-strings.
