i18n-localization

Internationalization and localization patterns. Detecting hardcoded strings, managing translations, locale files, RTL support.

By sickn33 · 4,143 installs

npx skills add sickn33/agentic-awesome-skills --skill i18n-localization

Source repository · Upstream listing

i18n & Localization Internationalization (i18n) and Localization (L10n) best practices. 1. Core Concepts Term Meaning i18n Internationalization making app translatable L10n Localization actual translations Locale Language + Region (en US, tr TR) RTL Right to left languages (Arabic, Hebrew) 2. When to Use i18n Project Type i18n Needed? Public web app ✅ Yes SaaS product ✅ Yes Internal tool ⚠️ Maybe Single region app ⚠️ Consider future Personal project ❌ Optional 3. Implementation Patterns React (react i18next) Next.js (next intl) Python (gettext) 4. File Structure 5. Best Practices DO ✅ Use translation keys, not raw text Namespace translations by feature Support pluralization Handle date/number formats per locale Plan for RTL from the start Use ICU message format for complex strings DON'T ❌ Hardcode strings in components Concatenate translated strings Assume text length (German is 30% longer) Forget about RTL layout Mix languages in same file 6. Common Issues Issue Solution Missing translation Fallback to default language Hardcoded strings Use linter/checker script Date format Use Intl.DateTimeFormat Number format Use Intl.NumberFormat Pluralization Use ICU message format 7. RTL Support 8. Checklist Before shipping: [ ] All user facing strings use translation keys [ ] Locale files exist for all supported languages [ ] Date/number formatting uses Intl API [ ] RTL layout tested (if applicable) [ ] Fallback language configured [ ] No hardcoded strings in components Script Script Purpose Command scripts/i18n checker.py Detect hardcoded strings & missing translations python scripts/i18n checker.py <project path When to Use This skill is applicable to execute the workflow or actions described in the overview. Limitations Use this skill only when the task clearly matches the scope described above. Do not treat the output as a substitute for environment specific validation, testing, or expert review. Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.