add-locale
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 toSUPPORTED_LOCALESverbatim.${localeName}— the human-readable name used inLOCALE_NAMES(e.g.Korean (South Korea),Japanese). Follow the style of the existing entries inclients/packages/i18n/src/config.ts.
Throughout this doc, ${isoAlpha2} is substituted literally into filenames, branch names, commit messages, and identifiers.
Step 1: Sync main
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
git checkout -b add-locale-${isoAlpha2}
Step 3: Register the locale
Edit clients/packages/i18n/src/config.ts:
- Append
'${isoAlpha2}'to theSUPPORTED_LOCALEStuple (keep theas const). - Add a
${isoAlpha2}: '${localeName}'entry toLOCALE_NAMES. Quote the key if it contains a dash (e.g.'pt-PT').
Commit:
git add clients/packages/i18n/src/config.ts
git commit -m "Register ${isoAlpha2}"
Step 4: Generate the translation file
cd clients/packages/i18n
pnpm translate
This produces clients/packages/i18n/src/locales/${isoAlpha2}.ts. Confirm the file exists and has content before committing.
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:
- Add an import near the other locale imports:
For plain alpha-2 codes use the code itself (import ${importName} from './locales/${isoAlpha2}'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'). - Add the locale to the
translationsLocalesRecordobject. Use the bare key when it's a valid identifier (ko,) or a quoted key when it's hyphenated ('pt-PT': ptPT,).
Commit:
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:
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.
More from polarsource/polar
local-environment
Local development environment management for Polar using Docker
76vercel-react-best-practices
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
62handbook-backend-development
A skill to add a new entry in the section "Backend Development" of the Polar Handbook. Those entries are there to explain concepts, tooling and best practices related to backend development, and are meant to be read by Polar developers.
34interview-task
Prepare an interview task for a candidate, as part of our hiring process.
4backend-development
Backend development skill for Polar codebase, covering development commands, design and implementation guidelines. Use this skill when the task involves backend coding, API design, or database operations.
2