Ga naar inhoud

Platform / Meertaligheid

Meertalig van de grond af,
geen plugin.

Locales per site, vertaalde content en producten in ~40 locales, taalbewuste Elasticsearch, en gelokaliseerde prijzen en checkout. Ingebouwd in het platform, niet erop geplakt.

nimbu ~ locales
# add locales to a site
$ nimbu locales add fr nl de
3 locales added. Content fields are now translatable.
# pull translations for review
$ nimbu translations:pull --locale fr
48 entries pulled to translations/fr.yml

Native locales, geen vertaallaag erbovenop

Elke site geeft aan welke talen hij bedient. Channels en Custom Fields dragen de vertalingen veld per veld. Een gelokaliseerd veld houdt één waarde per locale bij, dus een titel, een tekst en een slug hebben elk hun eigen Frans en Nederlands. Er is geen parallelle contentboom om gelijk te houden.

  • Localeconfiguratie per site Geef aan welke talen je site bedient. Één configuratie, geen instance per taal.
  • Gelokaliseerde velden per contenttype Elk veld is afzonderlijk vertaalbaar. Gedeelde velden blijven gedeeld; vertaalbare velden houden één waarde per locale bij.
  • URL-localisatie ingebouwd Elke locale krijgt zijn eigen URL's, zodat zoekmachines en bezoekers in de juiste taal landen.
  • Publicatiestatussen per taal Publiceer het Nederlands zodra het klaar is, zonder te wachten op het Frans dat nog in draft staat.
theme/product.liquid
# product name resolves to the active locale
$ {{ product.name }}
# iterate all locale alternate links
$ {% for locale in site.locales %}
$ <link rel="alternate" hreflang="{{ locale.code }}"
$ href="{{ page.url | localized: locale }}">
$ {% endfor %}

Vertaalde producten en checkout, niet enkel vertaalde pagina's

Productnamen, beschrijvingen en optiewaarden zijn per locale gelokaliseerd. Prijsschema's en munten worden per markt bepaald. Een Franstalige bezoeker ziet Franse copy en de juiste prijs. De checkout volgt de locale van de klant tot aan de bevestiging, met gateway, e-mails en orderdetail in de taal waarin hij gekocht heeft.

  • Gelokaliseerde productnamen en beschrijvingen Namen, beschrijvingen en optiewaarden houden elk een waarde per locale bij.
  • Prijzen en munten per markt Elke locale bepaalt het juiste prijsschema en de juiste munt, zonder aparte shop.
  • Checkout in de taal van de klant Gateway, bevestigingsmail en orderdetail volgen de locale tot het einde.
nimbu ~ translations
# pull product translations for a locale
$ nimbu products translations:pull --locale fr
124 product entries pulled to translations/products/fr.yml
# review, edit, then push
$ nimbu products translations:push --locale fr
124 entries pushed. Shop now speaks French.

Search

Search die weet in welke taal ze zoekt

Nimbu draait taalbewuste Elasticsearch met een analyzer per locale. Elke taal wordt op haar eigen voorwaarden geïndexeerd en bevraagd. Stemming, stopwoorden en relevantie veranderen mee met de taal. De klant vindt het product in de taal die hij gebruikt, en jij levert geen zoekveld op dat alleen in één markt presteert.

  • Analyzer per locale Nederlandse stemming voor Nederlandse queries, Franse stemming voor Franse. Één index, veel analyzers.
  • Vertaalde producten zijn doorzoekbaar Gelokaliseerde productcontent wordt geïndexeerd in de taal die de bezoeker gebruikt.
  • Relevantie volgt hoe elke taal werkt Stopwoorden, stemming en scoringsregels volgen de locale.
search query
# locale-aware query: each language analyzed separately
$ GET /search?q=schoenen&locale=nl
{ hits: 34, locale: 'nl', analyzer: 'dutch' }
$ GET /search?q=chaussures&locale=fr
{ hits: 31, locale: 'fr', analyzer: 'french' }

Hoe een vertaler werkt zonder op een developer te wachten

Vertalen is contentwerk. Op Nimbu blijft dat zo.

De developer zet het model één keer op. Daarna voegen de mensen die de woorden bezitten talen toe en houden ze die actueel.

  • Aanpassen in context Een vertaler opent de site in de doeltaal en past de vertaalde waarden direct aan, met paginacopy, productvelden en menulabels naast de brontaal als referentie.
  • Gedeelde en gelokaliseerde velden naast elkaar Velden die nooit per taal mogen verschillen, blijven gedeeld. Velden die wel moeten verschillen, zijn per locale aanpasbaar. Geen gokwerk over welke welke is.
  • Publiceer per taal Publiceren gebeurt per taal. Een vertaler kan het Frans afwerken en publiceren zonder de live Nederlandse site aan te raken of een deployaanvraag in te dienen.

De volledige meertalige stack, in één platform

Geen vertaalapp, geen tweede instance, geen workaround die alleen content dekt en stopt bij de productpagina.

  • Per-site locale configuration

    Elke site geeft aan welke talen hij bedient. Geen aparte instance per taal.

  • Localized content fields

    Channels en Custom Fields dragen de vertalingen veld per veld. ~40 locales ondersteund.

  • URL localization

    Elke locale krijgt zijn eigen URL's. Zoekmachines en bezoekers landen in de juiste taal.

  • Per-language publication states

    Publiceer het Nederlands zodra het klaar is. Het Frans kan in draft blijven tot de vertaling af is.

  • Translated products and option values

    Productnamen, beschrijvingen en optiewaarden gelokaliseerd per locale.

  • Localized pricing and checkout

    Prijsschema's en munten worden per markt bepaald. De checkout blijft in de locale tot aan de bevestiging.

  • Language-aware Elasticsearch

    Een analyzer per locale. Stemming en relevantie volgen hoe elke taal werkt.

  • CLI-driven translation workflow

    Trek vertalingen op, pas ze aan en push ze vanaf de commandline. Werkt met elke agent.

In de praktijk

We draaien één NL/FR/DE-shop in plaats van drie. Vertaalde prijzen waren net het stuk dat elk ander platform verkeerd deed. Hier is het simpelweg hoe het model werkt.

E-commerce lead, Zenjoy

Bouw één meertalige site, op de eerlijke manier

Locales per site, vertaalde commerce in ~40 locales, en taalbewuste search. Allemaal in het platform, geen plugin die je elke cyclus opnieuw moet auditeren.