internationalization-i18n · aj-geddes — скилл для Claude Code: i18n и локализация
Скилл для перевода интерфейса на другие языки: извлечение строк, каталоги переводов, плюрализация, форматы дат и чисел, RTL.
npx skills add aj-geddes/useful-ai-prompts --skill internationalization-i18n -a claude-codeЧто делает internationalization-i18n
Скилл ведёт агента по внедрению интернационализации в приложение. Он покрывает извлечение пользовательских строк в файлы переводов, работу с каталогами, правила множественного числа для разных языков, форматирование даты, времени и чисел под локаль, а также поддержку языков с письмом справа налево.
Внутри — набор справочных руководств в каталоге references/: по i18next для JavaScript и TypeScript, React-Intl (Format.js), Python gettext, форматированию даты и времени, числам и валютам, плюрализации, RTL, управлению переводами, определению локали и серверной стороне. В SKILL.md есть краткий пример инициализации i18next с i18next-http-backend и i18next-browser-languagedetector.
Скилл настаивает на одном: не склеивайте переведённые строки и не хардкодьте текст в коде. Немецкий текст примерно на 30% длиннее английского, поэтому вёрстку стоит проверить заранее. Если в проекте уже есть свои ключи переводов, смешивать их с UI-строками не стоит — это повод сначала договориться о схеме ключей.
Ставится через npx skills add под шесть платформ, для GitHub Copilot — через gh skill install.
Какие задачи решает
- вынести пользовательские строки из кода в файлы переводов
- настроить i18next с определением языка браузера
- сделать правильные формы множественного числа для русского и арабского
- отформатировать даты и валюты под конкретную локаль
- добавить поддержку письма справа налево
Примеры запросов агенту
- Извлеки все пользовательские строки из этого React-приложения и заведи каталог переводов
- Настрой i18next с fallback на английский и определением локали из localStorage
- Проверь плюрализацию для русского: у меня сейчас только one и other
Как установить internationalization-i18n
1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill internationalization-i18n -a claude-code2Вручную: положить файлы
~/.claude/skills/internationalization-i18n/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/internationalization-i18n/
1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill internationalization-i18n -a codex2Вручную: положить файлы
.agents/skills/internationalization-i18n/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill internationalization-i18n -a cursor2Вручную: положить файлы
.cursor/skills/internationalization-i18n/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install aj-geddes/useful-ai-prompts internationalization-i18n2Вручную: положить файлы
.github/skills/internationalization-i18n/SKILL.md1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill internationalization-i18n -a gemini-cli2Командой платформы
gemini skills install https://github.com/aj-geddes/useful-ai-prompts --path skills/internationalization-i18nВручную: положить файлы
.devin/skills/internationalization-i18n/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill internationalization-i18n -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора118
Другие версии internationalization-i18n
Похожие
Рядом в теме «Фронтенд и UI»
Всё по теме «Фронтенд и UI» →Вопросы о internationalization-i18n
Как установить internationalization-i18n в Claude?
Выполните npx skills add aj-geddes/useful-ai-prompts --skill internationalization-i18n -a claude-code. Файл скилла окажется в ~/.claude/skills/internationalization-i18n/SKILL.md.
Что делает internationalization-i18n?
Помогает агенту внедрять i18n: извлекать строки, вести каталоги переводов, настраивать плюрализацию и форматы дат, чисел и валют, добавлять поддержку RTL-языков.
С какими библиотеками работает скилл?
В справочниках разобраны i18next для JavaScript и TypeScript, React-Intl (Format.js) и Python gettext.
Исходный текст
SKILL.md · MIT
---
name: internationalization-i18n
description: >
Implement internationalization (i18n) and localization including message
extraction, translation catalogs, pluralization rules, date/time/number
formatting, RTL language support, and i18n libraries like i18next and gettext.
Use for multi-language, translation, or localization needs.
---
# Internationalization (i18n) & Localization
## Table of Contents
- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
- [Best Practices](#best-practices)
## Overview
Comprehensive guide to implementing internationalization and localization in applications. Covers message translation, pluralization, date/time/number formatting, RTL languages, and integration with popular i18n libraries.
## When to Use
- Building multi-language applications
- Supporting international users
- Implementing language switching
- Formatting dates, times, and numbers for different locales
- Supporting RTL (right-to-left) languages
- Extracting and managing translation strings
- Implementing pluralization rules
- Setting up translation workflows
## Quick Start
Minimal working example:
```typescript
// i18n.ts
import i18next from "i18next";
import Backend from "i18next-http-backend";
import LanguageDetector from "i18next-browser-languagedetector";
await i18next
.use(Backend)
.use(LanguageDetector)
.init({
fallbackLng: "en",
debug: process.env.NODE_ENV === "development",
interpolation: {
escapeValue: false, // React already escapes
},
backend: {
loadPath: "/locales/{{lng}}/{{ns}}.json",
},
detection: {
order: ["querystring", "cookie", "localStorage", "navigator"],
caches: ["localStorage", "cookie"],
},
});
// ... (see reference guides for full implementation)
```
## Reference Guides
Detailed implementations in the `references/` directory:
| Guide | Contents |
|---|---|
| [i18next (JavaScript/TypeScript)](references/i18next-javascripttypescript.md) | i18next (JavaScript/TypeScript) |
| [React-Intl (Format.js)](references/react-intl-formatjs.md) | React-Intl (Format.js) |
| [Python i18n (gettext)](references/python-i18n-gettext.md) | Python i18n (gettext) |
| [Date and Time Formatting](references/date-and-time-formatting.md) | Date and Time Formatting |
| [Number and Currency Formatting](references/number-and-currency-formatting.md) | Number and Currency Formatting |
| [Pluralization Rules](references/pluralization-rules.md) | Pluralization Rules |
| [RTL (Right-to-Left) Language Support](references/rtl-right-to-left-language-support.md) | RTL (Right-to-Left) Language Support |
| [Translation Management](references/translation-management.md) | Translation Management |
| [Locale Detection](references/locale-detection.md) | Locale Detection |
| [Server-Side i18n](references/server-side-i18n.md) | Server-Side i18n |
## Best Practices
### ✅ DO
- Extract all user-facing strings to translation files
- Use ICU message format for complex messages
- Support pluralization correctly for each language
- Use locale-aware date/time/number formatting
- Implement RTL support for Arabic, Hebrew, etc.
- Provide fallback language (usually English)
- Use namespaces to organize translations
- Test with pseudo-localization (ääçćëńţś)
- Store locale preference (cookie, localStorage)
- Use professional translators for production
- Implement translation management workflow
- Support dynamic locale switching
- Use translation memory tools
### ❌ DON'T
- Hardcode user-facing strings in code
- Concatenate translated strings
- Assume English grammar rules apply to all languages
- Use generic plural forms (one/many) for all languages
- Forget about text expansion (German is ~30% longer)
- Store dates/times in locale-specific formats
- Use flags to represent languages (flag ≠ language)
- Translate technical terms without context
- Mix translation keys with UI strings
- Forget to translate alt text, titles, placeholders
- Assume left-to-right layout
© aj-geddes · MIT · aj-geddes/useful-ai-prompts