internationalization-i18n · secondsky — Claude Code skill: setup and use
Sets up multi-language workflows using i18next, gettext, or native Intl APIs. Useful when building apps with plural forms, locale formatting, and RTL layouts.
npx skills add secondsky/claude-skills --skill internationalization-i18n -a claude-codeWhat internationalization-i18n does
This skill adds guidelines for project localization. It covers i18next configuration in React with LanguageDetector and initReactI18next, explicit pluralization rules keyed by count, and references for React-Intl (Format.js) or Python Babel with Flask.
Date and currency formatting relies on browser-native Intl constructors rather than external date utilities. For right-to-left scripts, it promotes CSS logical properties like margin-inline-start alongside directional selectors such as html[dir="rtl"].
String concatenation is explicitly ruled out by the skill because it breaks sentence structures across languages. For complex copy with nested variables, it instructs using the ICU Message Format instead.
What it helps with
- configure
i18nextwith language detection for React components - format dates and currencies using the native
IntlAPI - adapt layouts for right-to-left (RTL) reading directions using logical CSS
- manage pluralized strings without manual string concatenation
Example prompts for the agent
- Set up i18next for my React app and show a pluralization example for item counts
- Convert these layout margins and padding styles to CSS logical properties for RTL
- Format product prices and delivery dates using Intl API for de-DE and en-US
How to install internationalization-i18n
1Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill internationalization-i18n -a claude-code2Manually: put the files in place
~/.claude/skills/internationalization-i18n/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/internationalization-i18n/
1Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill internationalization-i18n -a codex2Manually: put the files in place
.agents/skills/internationalization-i18n/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill internationalization-i18n -a cursor2Manually: put the files in place
.cursor/skills/internationalization-i18n/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install secondsky/claude-skills internationalization-i18n2Manually: put the files in place
.github/skills/internationalization-i18n/SKILL.md1Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill internationalization-i18n -a gemini-cli2Platform CLI
gemini skills install https://github.com/secondsky/claude-skills --path plugins/internationalization-i18n/skills/internationalization-i18nManually: put the files in place
.devin/skills/internationalization-i18n/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill internationalization-i18n -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about internationalization-i18n
How do I install internationalization-i18n in Claude Code?
Run npx skills add secondsky/claude-skills --skill internationalization-i18n -a claude-code. The file will be written to ~/.claude/skills/internationalization-i18n/SKILL.md.
What does internationalization-i18n do?
It guides coding assistants through structuring localized applications with i18next, ICU strings, Intl API formatters, and right-to-left layout rules.
What frameworks are covered by this skill?
It contains guides for React via i18next and React-Intl, standard JavaScript using native Intl, and Python using gettext with Flask and Babel.
Source text
SKILL.md · MIT
---
name: internationalization-i18n
description: Implements multi-language support using i18next, gettext, or Intl API with translation workflows and RTL support. Use when building multilingual applications, handling date/currency formatting, or supporting right-to-left languages.
license: MIT
---
# Internationalization (i18n)
Implement multi-language support with proper translation management and formatting.
## i18next Setup (React)
```javascript
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import LanguageDetector from 'i18next-browser-languagedetector';
i18n
.use(LanguageDetector)
.use(initReactI18next)
.init({
fallbackLng: 'en',
interpolation: { escapeValue: false },
resources: {
en: { translation: { welcome: 'Welcome, {{name}}!' } },
es: { translation: { welcome: '¡Bienvenido, {{name}}!' } }
}
});
// Usage
const { t } = useTranslation();
<h1>{t('welcome', { name: 'John' })}</h1>
```
## Pluralization
```javascript
// Translation file
{
"items": "{{count}} item",
"items_plural": "{{count}} items",
"items_zero": "No items"
}
// Usage
t('items', { count: 0 }) // "No items"
t('items', { count: 1 }) // "1 item"
t('items', { count: 5 }) // "5 items"
```
## Date/Number Formatting
```javascript
// Dates
new Intl.DateTimeFormat('de-DE', {
dateStyle: 'long',
timeStyle: 'short'
}).format(new Date());
// Numbers
new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD'
}).format(1234.56); // "$1,234.56"
// Relative time
new Intl.RelativeTimeFormat('en', { numeric: 'auto' })
.format(-1, 'day'); // "yesterday"
```
## RTL Support
```css
/* Use logical properties */
.container {
margin-inline-start: 1rem; /* margin-left in LTR, margin-right in RTL */
padding-inline-end: 1rem;
}
/* Direction attribute */
html[dir="rtl"] .icon {
transform: scaleX(-1);
}
```
## Additional Frameworks
See [references/frameworks.md](references/frameworks.md) for:
- React-Intl (Format.js) complete implementation
- Python gettext with Flask/Babel
- RTL language support patterns
- ICU Message Format examples
## Best Practices
- Extract all user-facing strings
- Use ICU message format for complex translations
- Test with pseudo-localization
- Support RTL from the start
- Never concatenate translated strings
- Use professional translators for production
© secondsky · MIT · secondsky/claude-skills
Similar skills
Everything for Frontend and UI →internationalization-i18n by other authors comes first.