Ga naar de inhoud

Vertalingen

Bekijken als Markdown

Blockstudio wordt geleverd met vertalingen in de map languages. WordPress gebruikt deze wanneer de sitetaal of de taal in een gebruikersprofiel overeenkomt met een van de beschikbare talen. Dit werkt hetzelfde wanneer Blockstudio wordt uitgevoerd als plugin, must-use-plugin of Composer-pakket.

Beschikbare talen

Blockstudio bevat vertalingen voor de WordPress-landinstellingen die zijn vastgelegd in de meegeleverde languages/locales.json, waaronder regionale en formele/informele varianten. Engels (en_US) is de brontaal en heeft geen vertaalbestand nodig. De lijst combineert door WordPress ondersteunde landinstellingen van GlotPress met varianten die beschikbaar zijn via de kernvertaal-API van WordPress.

De bestaande Duitse (de_DE) en formele Duitse (de_DE_formal) vertalingen blijven behouden. De aanvullende vertalingen zijn gegenereerd met AI met GPT-6 Luna en gemarkeerd als automatisch gegenereerd in hun .po-headers. Ze voldoen aan geautomatiseerde controles op volledigheid en indeling, maar zijn niet allemaal nagekeken door moedertaalsprekers. Verbeteringen zijn welkom.

De vertalingen omvatten de veldbedieningselementen in de blokeditor, de beheerpagina, het canvas, de devtools-overlay en de berichten van de REST-eindpunten. Labels en helpteksten in je eigen block.json-bestanden horen bij je thema of plugin en gebruiken het bijbehorende tekstdomein.

Selecteer de taal onder Instellingen > Algemeen > Sitetaal, of kies een persoonlijke taal in je WordPress-profiel. Blockstudio gebruikt die landinstelling automatisch. Het voegt geen talen toe aan de taalkeuzelijst van WordPress: een landinstelling moet ook beschikbaar zijn in je WordPress-installatie. Je hebt geen AI-verzoek, vertaalabonnement of extra runtime-instelling op je site nodig.

Een vertaling overschrijven

Vertaalbestanden in wp-content/languages/plugins krijgen voorrang op de meegeleverde bestanden, zowel voor de PHP-teksten (blockstudio-de_DE.mo of blockstudio-de_DE.l10n.php) als voor de scripts (één bestand per script-handle, bijvoorbeeld blockstudio-de_DE-blockstudio-blocks.json).

Een vertaling bijdragen

Elke taal is een .po-bestand dat je met elke teksteditor of met een vertaalprogramma zoals Poedit kunt bewerken. Verbeteringen en nieuwe talen zijn welkom als pull requests.

  1. Kopieer om een taal toe te voegen languages/blockstudio.pot naar languages/blockstudio-<locale>.po, bijvoorbeeld blockstudio-fr_FR.po, en stel de headers Language en Plural-Forms in. Bewerk het bestaande .po-bestand om een taal te verbeteren.
  2. Vertaal de teksten. Behoud placeholders zoals %1$s in de vertaling.
  3. Voer npm run i18n uit. Dit schrijft de bestanden .mo, .l10n.php en .json die WordPress laadt.
  4. Commit het .po-bestand samen met de gegenereerde bestanden en open een pull request.

Als je npm niet kunt uitvoeren, volstaat een pull request met alleen het .po-bestand. De gegenereerde bestanden kunnen vóór het samenvoegen worden toegevoegd.

Ontbrekende vertalingen genereren

Onderhouders kunnen ontbrekende vermeldingen genereren met een geauthenticeerde Codex CLI. Dit is een optionele ontwikkelopdracht, niet iets wat WordPress uitvoert:

Shell
npm run i18n:translate -- --dry-run
npm run i18n:translate

Het standaardmodel is gpt-6-luna. Gebruik npm run i18n:translate -- --locale fr_FR om aan één landinstelling te werken. De opdracht haalt de nieuwste bronteksten op, vult ontbrekende vertalingen aan en compileert vervolgens .mo-, .l10n.php– en .json-bestanden per script. Alleen openbare interfaceteksten, hun context en bestaande formulieren worden naar Codex gestuurd, geen site-inhoud of gebruikersgegevens.

Bestaande niet-lege vertalingen worden nooit vervangen. Afgeronde batches worden opgeslagen, zodat opnieuw uitvoeren na een onderbreking het ontbrekende werk hervat. Placeholders zoals %1$s, HTML-markup, technische identificaties en de vereiste meervoudsvormen worden vóór het opslaan gecontroleerd. Fuzzy-vermeldingen en gewijzigde bronmeervouden blijven staan zodat een vertaler ze kan controleren. Er wordt geen ander model gebruikt als het gevraagde model niet beschikbaar is.

npm run i18n:locales vernieuwt expliciet de lijst met landinstellingen en meervoudsregels vanuit WordPress/GlotPress. npm run i18n:coverage controleert of elke landinstelling in de ingeleverde lijst compleet is. Noch de dekkingscontroles, noch de normale CI roepen AI aan of halen landinstellingsgegevens op. Zie de README van de repository voor opties voor batchverwerking, gelijktijdigheid en herstel.

Vertaalbare teksten in de code

  • PHP: gebruik de functies WordPress met het tekstdomein blockstudio, bijvoorbeeld __( 'Invalid block.', 'blockstudio' ).
  • JavaScript: importeer __ uit @/utils/__ en geef een letterlijke tekenreeks door, bijvoorbeeld __( 'Add row' ). Een tekenreeks die tijdens runtime wordt samengesteld, kan niet worden vertaald. Gebruik daarom één letterlijke tekenreeks per variant.
  • Een nieuwe scriptbundel met vertaalbare tekenreeksen moet een vermelding hebben in scripts/i18n.ts en een aanroep van wp_set_script_translations() met dezelfde handle en Translations::script_path().

Voer na het wijzigen van tekenreeksen npm run i18n uit. Dit werkt languages/blockstudio.pot en elk bestand van .po bij. Nieuwe tekenreeksen blijven Engels totdat een vertaler of npm run i18n:translate ze invult. CI voert npm run i18n:check en npm run i18n:coverage uit, die verouderde gecompileerde bestanden, extractieproblemen of onvolledige locale-dekking afwijzen. Genereren blijft een expliciete actie van de maintainer.