ワンクリックで
translation-keys
Conventies voor translation keys (i18n microcopy)
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Conventies voor translation keys (i18n microcopy)
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Bouw applicaties met de web components van het NLDD Design System (@nldd/design-system, Nederlandse Digitale Dienst, Rijksoverheid). Triggers: @nldd/design-system, 'nldd-' tags, vragen over layout, sheets, popovers, modals, formulieren, toegankelijkheid, CSS-tokens of upgraden van dit systeem. NIET voor het ontwikkelen van het design system zelf (daarvoor: /component, /css).
Implementeer een Lit + TypeScript web component
Bewerk CHANGELOG.md — voeg release-notes/entries toe boven de laatste versie. Gebruik bij "changelog bijwerken", "release-notes schrijven", of het noteren van wijzigingen die semantic-release niet uit de commits haalt. Legt vast welke
Create and setup a git worktree with all necessary files and dependencies. Use when starting work on a new feature branch.
CSS-conventies voor design-system componenten — MECE breakpoints (expliciet per breakpoint, geen mobile-first overrides), at-rule nesting, lokale variabelen, comments
Manage multiple Storybook instances across worktrees. Use when starting, stopping, or checking status of Storybook dev servers.
| name | translation-keys |
| description | Conventies voor translation keys (i18n microcopy) |
| user-invocable | true |
| argument-hint | <component-naam> |
Maak of controleer translation keys voor: $ARGUMENTS
Woorden of zinnen in de interface die direct gerelateerd zijn aan gebruikersacties:
translations property.)-){placeholder}general.* — generieke vertalingenStabiele termen die over componenten heen gelden, als een woordenboek.
general.edit-action: Bewerk
general.optional-lowercase: optioneel
components.{naam}.* — component-specifieke vertalingenKeys gebonden aan herbruikbare UI-componenten.
components.list.drag-grabbed-text: Item opgepakt
components.toolbar.overflow-action: Meer
Elk key eindigt met een type dat aangeeft hoe de tekst geschreven moet worden.
-lowercase, -capitalizeVoor exacte vertalingen van een enkel woord of vaste woordcombinatie: een woord uit het woordenboek, los van waar het gebruikt wordt. Hier is de kapitalisatie zelf het type en volgt er niets meer.
general.amount-capitalize: Bedrag
general.amount-lowercase: bedrag
components.date-picker.january-lowercase: januari
components.date-picker.january-capitalize: Januari
Is de tekst geen woordenboekwoord maar een voor deze interface geschreven beschrijving die tóch een vaste kapitalisatie nodig heeft, zet de kapitalisatie dan als modifier vóór het type. Dat gebeurt wanneer de tekst achter een langere string wordt geplakt en dus nooit met een hoofdletter kan beginnen.
components.date-picker.in-range-lowercase-label: in de periode
components.date-picker.unavailable-lowercase-label: niet beschikbaar
Voor uppercase weergave: gebruik CSS text-transform. Maak geen -uppercase keys.
Voor kapitalisatie juist niet: die hoort in de vertaling, want per taal verschilt
waar een hoofdletter hoort, en met CSS of charAt(0).toUpperCase() kan een
vertaler hem niet uitzetten.
-titleKort en bondig. Taal-specifiek hoofdlettergebruik (Nederlands: alleen eerste letter).
components.modal-dialog.title: Modal dialoog
-textAltijd in zinsopbouw (sentence case).
components.list.drag-grabbed-text: Item opgepakt. Gebruik de pijltjestoetsen om te verplaatsen.
-labelKorte tekst die iets beschrijft of aanduidt, zoals een form label, aria label of andere aanduiding. Kort als een titel, sentence case, geen punt.
general.email-label: E-mailadres
components.pagination.accessibility-label: Paginering
-supporting-labelKorte ondersteuning naast een label, zonder opmaak.
my-website.my-form.email-supporting-label: We sturen enkel een bevestiging.
-error-textFoutmelding na validatie. Alleen zichtbaar bij een fout.
my-website.my-form.email-is-empty-error-text: Vul een e-mailadres in.
-help-textLangere hulptekst, kan links of rijkere content bevatten.
my-website.my-form.email-help-text: U ontvangt een bevestiging per e-mail. Lees onze <a href="/privacy">Privacybeleid</a>.
-actionVoor knoppen, links en andere acties. De sleutelnaam bevat een werkwoord dat
zegt wat de actie doet. Een kaal zelfstandig naamwoord leest als een keuze:
today-action klinkt alsof je vandaag kiest, terwijl de knop alleen naar de
weergave van vandaag navigeert. Zet dat werkwoord er dan in (view-today-action),
zodat een copywriter de tekst schrijft die bij de handeling past.
Directe acties: gebruik de gebiedende wijs (imperatief).
general.save-action: Bewaar
general.delete-action: Verwijder
components.pagination.previous-action: Vorige pagina
Indirecte acties (verwijzing naar een pagina/formulier): gebruik de infinitief
in het Nederlands, met de to- prefix vóór het werkwoord.
general.to-save-action: Bewaren
general.to-login-action: Inloggen
-file-nameBestandsnamen zonder extensie (die voegt de backend toe).
general.general-conditions-file-name: algemene-voorwaarden
short- prefixVoeg short- toe vóór het type voor afkortingen.
general.mister-short-label: Dhr.
general.friday-short-capitalize: Vr.
// {naam}.i18n.ts
export const nldd{PascalName}Translations = {
'components.{naam}.label-text': 'Label',
'components.{naam}.previous-action': 'Vorige',
};
export type NLDD{PascalName}Translations = typeof nldd{PascalName}Translations;
Gebruik de withTranslations mixin uit src/utilities/with-translations.ts. De mixin levert de translations property, de gemergede defaults en de _t() helper.
import { LitElement } from 'lit';
import { customElement } from 'lit/decorators.js';
import { withTranslations } from '../../../utilities/with-translations.js';
import { nldd{PascalName}Translations } from './{naam}.i18n.js';
@customElement('nldd-{naam}')
export class NLDD{PascalName} extends withTranslations(LitElement, nldd{PascalName}Translations) {
override render() {
return html`${this._t('components.{naam}.label-text')}`;
}
}
Gebruik in templates component._t('key', { var: value }) voor lookups met optionele {var}-placeholder-vervanging.
components.{naam}.* conventieto- prefix{naam} syntaxwithTranslations mixintranslations property