Vertalingen
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.
- Kopieer om een taal toe te voegen
languages/blockstudio.potnaarlanguages/blockstudio-<locale>.po, bijvoorbeeldblockstudio-fr_FR.po, en stel de headersLanguageenPlural-Formsin. Bewerk het bestaande.po-bestand om een taal te verbeteren. - Vertaal de teksten. Behoud placeholders zoals
%1$sin de vertaling. - Voer
npm run i18nuit. Dit schrijft de bestanden.mo,.l10n.phpen.jsondie WordPress laadt. - 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:
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.tsen een aanroep vanwp_set_script_translations()met dezelfde handle enTranslations::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.