Skip to main content

add-locale

Add a new translation locale to the Polar frontend. Walks through registering the locale, generating translations, wiring the generated file into the i18n package, and updating the public-facing docs. Expects the target locale's ISO 639-1 alpha-2 code (optionally with a BCP-47 region suffix, e.g. `pt-PT`).

Aller à l'installation

Informations de source

Dépôt
polarsource/polar
Dernière activité de la source
20 avril 2026 à 08:36
Langue détectée de SKILL.md
anglais
Étoiles
10 291
Forks
795

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
add-locale
description
Add a new translation locale to the Polar frontend. Walks through registering the locale, generating translations, wiring the generated file into the i18n package, and updating the public-facing docs. Expects the target locale's ISO 639-1 alpha-2 code (optionally with a BCP-47 region suffix, e.g. `pt-PT`).
user-invocable
true
allowed-tools
Read Edit Write Bash Grep Glob
# Add a new translation locale This skill adds a new locale to the Polar frontend i18n package (`clients/packages/i18n`) and the corresponding public docs. Each step produces its own commit so the PR reads cleanly. Ask the user for the locale if they haven't provided one. You need: - `${isoAlpha2}` — the locale code used as the filename and config key (e.g. `ko`, `ja`, `pt-PT`). This is the value appended to `SUPPORTED_LOCALES` verbatim. - `${localeName}` — the human-readable name used in `LOCALE_NAMES` (e.g. `Korean (South Korea)`, `Japanese`). Follow the style of the existing entries in `clients/packages/i18n/src/config.ts`. Throughout this doc, `${isoAlpha2}` is substituted literally into filenames, branch names, commit messages, and identifiers. ## Step 1: Sync main ```bash git checkout main git pull --ff-only ``` Bail out if the working tree isn't clean — ask the user before stashing or discarding anything. ## Step 2: Create the branch ```bash git checkout -b add-locale-${isoAlpha2} ``` ## Step 3: Register the locale Edit `clients/packages/i18n/src/config.ts`: 1. Append `'${isoAlpha2}'` to the `SUPPORTED_LOCALES` tuple (keep the `as const`). 2. Add a `${isoAlpha2}: '${localeName}'` entry to `LOCALE_NAMES`. Quote the key if it contains a dash (e.g. `'pt-PT'`). Commit: ```bash git add clients/packages/i18n/src/config.ts git commit -m "Register ${isoAlpha2}" ``` ## Step 4: Generate the translation file ```bash cd clients/packages/i18n pnpm translate ``` This produces `clients/packages/i18n/src/locales/${isoAlpha2}.ts`. Confirm the file exists and has content before committing. ```bash git add clients/packages/i18n/src/locales/${isoAlpha2}.ts git commit -m "Generate ${isoAlpha2}" ``` ## Step 5: Wire the locale into the i18n entrypoint Edit `clients/packages/i18n/src/index.ts`: 1. Add an import near the other locale imports: ```ts import ${importName} from './locales/${isoAlpha2}' ``` For plain alpha-2 codes use the code itself (`import ko from './locales/ko'`). For hyphenated codes drop the dash and camelCase it to keep a valid identifier (`import ptPT from './locales/pt-PT'`). 2. Add the locale to the `translations` `LocalesRecord` object. Use the bare key when it's a valid identifier (`ko,`) or a quoted key when it's hyphenated (`'pt-PT': ptPT,`). Commit: ```bash git add clients/packages/i18n/src/index.ts git commit -m "Enable ${isoAlpha2}" ``` ## Step 6: Update the public docs Edit `docs/features/checkout/localization.mdx`: - Add `- ${localeName} (${isoAlpha2})` to the "Supported languages" list. - Remove the locale from the "coming soon" list if it was listed there. Commit: ```bash git add docs/features/checkout/localization.mdx git commit -m "Update localization docs" ``` ## Step 7: Hand back to the user Summarize the four commits created on `add-locale-${isoAlpha2}` and leave the branch for the user to push and open a PR. Do not push or open a PR unless asked.
Voir sur GitHub