MR
Mayur Rathi
@mayurrathi
⭐ 40.7k GitHub stars

I18N Localization

I18N Localization is an code AI skill with a core value of Internationalization and localization patterns. It helps developers solve real-world problems in the code domain, boosting efficiency, automating repetitive tasks, and optimizing workflows.

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

Last verified on: 2026-07-07

Quick Facts

Category code
Works With Claude
Source sickn33/antigravity-awesome-skills
Stars ⭐ 40.7k
Last Verified 2026-07-07
Risk Level Low
mkdir -p ./skills/i18n-localization && curl -sfL https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/skills/i18n-localization/SKILL.md -o ./skills/i18n-localization/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# 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)


tsx
import { useTranslation } from 'react-i18next';

function Welcome() {
  const { t } = useTranslation();
  return <h1>{t('welcome.title')}</h1>;
}

Next.js (next-intl)


tsx
import { useTranslations } from 'next-intl';

export default function Page() {
  const t = useTranslations('Home');
  return <h1>{t('title')}</h1>;
}

Python (gettext)


python
from gettext import gettext as _

print(_("Welcome to our app"))

---


4. File Structure


text
locales/
├── en/
│   ├── common.json
│   ├── auth.json
│   └── errors.json
├── tr/
│   ├── common.json
│   ├── auth.json
│   └── errors.json
└── ar/          # RTL
    └── ...

---


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


css
/* CSS Logical Properties */
.container {
  margin-inline-start: 1rem;  /* Not margin-left */
  padding-inline-end: 1rem;   /* Not padding-right */
}

[dir="rtl"] .icon {
  transform: scaleX(-1);
}

---


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.

🎯 Best For

  • Claude users
  • Software engineers
  • Development teams
  • Tech leads

💡 Use Cases

  • Code quality improvement
  • Best practice enforcement

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply I18N Localization to Your Work

    Open your project in the AI assistant and ask it to apply the skill. Start with a small module to verify the output quality.

  4. 4

    Review and Refine

    Review AI suggestions before committing. Run tests, check for regressions, and iterate on the skill output.

❓ Frequently Asked Questions

Is I18N Localization compatible with Cursor and VS Code?

Yes — this skill works with any AI coding assistant including Cursor, VS Code with Copilot, and JetBrains IDEs.

Do I need specific dependencies for I18N Localization?

Check the install command and Works With section. Most code skills only require the AI assistant and your codebase.

How do I install I18N Localization?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/i18n-localization/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Skipping validation

Always test AI-generated code changes, even for simple refactors.

Missing dependency updates

Check if the skill requires updated dependencies or new packages.

🔗 Related Skills