Vertalingen bijdragen
WCPOS wordt vertaald door AI, gestuurd door een zorgvuldig afgestemde set regels - en beter gemaakt door mensen zoals jij. De machine maakt kort nadat een string verandert een volledige, consistente eerste versie in elke ondersteunde taal; mensen vangen de nuance, context en lokale conventies op die een machine mist. Je hoeft geen hele app te vertalen en je hoeft geen ontwikkelaar te zijn om te helpen. Deze pagina legt uit hoe het werkt en waar je een wijziging kunt voorstellen.
Hoe WCPOS-vertalingen nu werken
Elke vertaalbare string - de app voor kassamedewerkers, de desktop-app, de WordPress-beheerschermen, de PHP-strings van de plugin en deze docs - loopt door een geautomatiseerde pipeline:
- Bronstrings worden automatisch geextraheerd uit de apps, plugin en docs naar de centrale
wcpos/translations-repository (en, voor de docs, dezewcpos/docs-repo). - AI vertaalt ze naar elke ondersteunde locale, volgens een strikte set regels die placeholders, code, merknamen en menupaden behoudt terwijl de zichtbare tekst wordt gelokaliseerd.
- Een dagelijkse volledigheidscontrole zoekt naar ontbrekende of verouderde strings en zet ze automatisch klaar voor vertaling, zodat nieuwe en gewijzigde strings niet onvertaald blijven.
- Elke batch komt in een pull request voor menselijke review voordat die wordt uitgebracht. Goedgekeurde vertalingen worden daarna automatisch vrijgegeven en geleverd - naar de apps via een CDN, en naar de plugin via de ingebouwde vertalingsupdater.
Omdat de hele lus is geautomatiseerd, is jouw taak als bijdrager zelden om vanuit een leeg bestand te vertalen - het is om een vertaling die er al is te verbeteren. Zie je een onhandige formulering, een term die moet aansluiten bij wat WooCommerce in jouw locale gebruikt, of een label dat in context verkeerd leest? Stel een verbetering voor en die gaat naar iedereen.
WCPOS vertrouwde vroeger op de WordPress-vertaalsite (GlotPress) voor pluginstrings. We zijn daar volledig vanaf gestapt. Die workflow is traag en verouderd en - het belangrijkst - staat machinevertaling niet toe, waardoor de meeste talen nooit af kwamen. Een afgestemde AI-pipeline dekt veel meer talen, blijft automatisch synchroon en levert in de praktijk betere resultaten op. Als je WCPOS daar eerder hebt vertaald: bedankt - maar daar gaan bijdragen niet meer heen.
Waar je kunt bijdragen
Er zijn maar twee plekken, afhankelijk van wat je wilt verbeteren:
Apps en plugin
Alles in de POS-app, de desktop-app, de WordPress-beheerschermen en de plugin zelf - zowel de JavaScript UI-strings als de PHP-strings. Alles staat in een repo: wcpos/translations. Basiskennis van GitHub is handig.
Deze docs
De documentatiesite die je nu leest. Vertaalde MDX-bestanden staan in de wcpos/docs-repo onder i18n/<locale>/. Kennis van Markdown is handig.
App- en pluginvertalingen verbeteren
Alle app- en pluginvertalingen staan in de wcpos/translations-repo. Je vindt daar:
source/- de geextraheerde Engelse strings. Bewerk deze niet - ze worden automatisch gegenereerd uit de apps en plugin.translations/js/<locale>/<project>/<namespace>.json- de vertaalde UI-strings. Dit bewerk je om de apps en beheerschermen te verbeteren.translations/php/<locale>/- de vertaalde pluginstrings. Bewerk het.po-bestand; de.mo- en.l10n.php-bestanden ernaast worden gegenereerd, dus laat die met rust.
De JavaScript-strings zijn verdeeld over vier <project>-mappen:
| Project | Wat het dekt |
|---|---|
monorepo | De POS-app die de kassamedewerker gebruikt - knoppen, winkelwagen, afrekenen, dialogen en fouten. |
electron | De desktop-shell (Windows/macOS). |
woocommerce-pos | De React-schermen van de gratis plugin in WP Admin - Instellingen, Templates, Logs, enzovoort. |
woocommerce-pos-pro | De React-schermen van de Pro-plugin in WP Admin - Stores-editor en Pro-instellingen. |
Een verbetering voorstellen:
- Zoek de string in het bestand voor jouw locale en project - bijvoorbeeld
translations/js/de_DE/monorepo/core.jsonvoor een Duitse app-string, oftranslations/php/de_DE/woocommerce-pos-de_DE.povoor een Duitse pluginstring. - Bewerk de vertaalde waarde. Laat de JSON-sleutels, PHP
msgiden eventuele{{interpolation}},%s,%dof<tag>-placeholders precies zoals ze zijn. - Open een pull request. Voor een verbetering van een regel kun je het potloodicoon op GitHub gebruiken; daarmee wordt de PR voor je geopend. Reviewers controleren de wijziging en mergen die.
Als jouw taal er nog niet is, zie Een nieuwe taal toevoegen.
Deze docs verbeteren
De docs-site gebruikt Docusaurus' standaard i18n-opzet. De Engelse bron staat in versioned_docs/, en de AI-vertaalde kopieen staan in wcpos/docs onder i18n/<locale>/docusaurus-plugin-content-docs/. Elke Engelse pagina heeft een tegenhanger in elke actieve locale.
Een verbetering voorstellen:
- Open de pagina in jouw taal en klik onderaan op Edit this page - dat brengt je direct naar het vertaalde MDX-bestand op GitHub.
- Bewerk de vertaling. Laat Markdown/MDX-syntaxis, links, code spans en frontmatter-sleutels intact - vertaal het proza, de koppen en de zichtbare labels.
- Open een pull request. Bewerk de Engelse bron onder
versioned_docs/niet om een vertaling te "repareren" - bewerk alleen het bestand onderi18n/<locale>/.
Voor een grotere bijdrage - een hele sectie, of het starten van een gloednieuwe locale - open eerst een issue zodat we kunnen afstemmen.
Een nieuwe taal toevoegen
De apps en plugin leveren al vertalingen voor 50+ locales (zie locales.json voor de volledige lijst). De docs leveren een kleinere set, hieronder vermeld. Als jouw taal ontbreekt - of slechts gedeeltelijk beschikbaar is - open een issue in de juiste repo en wij sluiten de locale aan. De AI-pipeline kan een nieuwe taal snel vullen; daarna kan de community die verder polijsten.
Locale-codes
Deze docs worden momenteel gepubliceerd in de volgende talen:
| Code | Taal |
|---|---|
ar | Arabisch (van rechts naar links) |
de | Duits |
es | Spaans |
fr | Frans |
hi-IN | Hindi (India) |
it | Italiaans |
ja | Japans |
ko | Koreaans |
nl | Nederlands |
pt-BR | Portugees (Brazilie) |
zh-CN | Chinees (vereenvoudigd) |
Een opmerking over locale-codeformaten: de apps en plugin (wcpos/translations) gebruiken de underscore-vorm voor mappen en bestandsnamen - de_DE, pt_BR, zh_CN - en bevatten zowel basistalen (de, fr, es) als regionale varianten (de_AT, fr_CA, es_MX). De docs en webtaaltags gebruiken de koppelteken-vorm - pt-BR, hi-IN, zh-CN. Gebruik de vorm die past bij de repo die je bewerkt.
Tips voor vertalers
Deze komen overeen met de regels die de AI-pipeline volgt, dus het zijn dezelfde dingen waar een reviewer op let:
- Houd placeholders intact. Strings bevatten vaak
{{variable}},%s,%dof<strong>-tags - vertaal de tekst eromheen maar laat de placeholders precies zoals ze zijn. WCPOS vult deze tijdens runtime met echte waarden. - Houd merk- en productnamen exact.
WCPOS,WCPOS Pro,WooCommerce,WordPress,Stripe,Stripe TerminalenSumUpblijven zoals ze zijn. Gebruik WCPOS in klantgerichte tekst - niet "WooCommerce POS", dat alleen thuishoort in technische identifiers zoals slugs en URL's. - Lokaliseer zichtbare UI-labels wel. Menulabels, instellingenlabels en knoptekst moeten natuurlijk lezen in jouw taal - sluit aan bij wat WordPress en WooCommerce in jouw locale al gebruiken (bijvoorbeeld: een
WP Admin > Settings > Payments-breadcrumb moet de WordPress-menunamen van jouw locale gebruiken). - Stem af op de bestaande toon. WCPOS-docs en UI zijn bewust praktisch en direct, en gebruiken een formele/neutrale toon. Als het Engels "Add Coupon" zegt, gebruik dan de werkwoordsvorm die jouw locale op vergelijkbare knoppen gebruikt - geen letterlijke zelfstandige naamwoordvorm.
- Vertaal geen code, URL's of technische ID's. Couponcodes, gateway-ID's, locale-codes, bestandspaden en shortcodes blijven in het Engels. Als je twijfelt, laat het onvertaald - dat is veiliger dan iets te beschadigen waar het systeem op vertrouwt.
- Test in context als dat kan. Zet je site of app op jouw locale en controleer de string op het echte scherm. Een formulering die op het ene scherm past, kan op een ander scherm onhandig afbreken.
- Talen van rechts naar links (RTL) - Arabisch, Hebreeuws, Perzisch, Urdu - moeten ook de bonnen-templates als RTL markeren. WCPOS levert gebundelde RTL-bonnen-templates; zie Je bon aanpassen voor de galerij.
Waar je hulp kunt vragen
- WCPOS Discord - voor vertaaldiscussies en vragen (uitnodiging).
- GitHub issues - dien ze in bij
wcpos/translationsvoor de apps en plugin, of bijwcpos/docsvoor de docs.