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.