canon-i18n

Installation
SKILL.md

CANON · Internationalization

I18n is preparing the codebase so that adding a new language doesn't require rewriting the UI. L10n is the act of adding one.

Externalize all strings

No user-visible string lives in source code. Every string goes through a translation function.

// Bad
<button>Save changes</button>

// Good
<button>{t('actions.save_changes')}</button>

Keys are structured, not sequential: actions.save_changes not string_47.

Text expansion

Installs
1
Repository
dragoon0x/canon
GitHub Stars
5
First Seen
Sep 4, 2026