К основному содержанию
скилл CX Codex

internationalization-i18n · mindrally — скилл для Claude Code: i18n в веб

Скилл задаёт агенту правила интернационализации: переводы, форматирование дат и чисел, RTL-раскладка. Пригодится, когда приложение выходит на новые языки.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Mindrally/skills --skill internationalization-i18n -a claude-code
Открыть на GitHub

Что делает internationalization-i18n

Скилл превращает агента в инструкцию по i18n для веб- и мобильных приложений. Он требует, чтобы весь текст, который видит пользователь, шёл через переводы, а не лежал строкой в компоненте. Для React и Next.js агент берёт i18next и react-i18next, организует переводы по неймспейсам, добавляет интерполяцию и плюрализацию. Для Nuxt.js — модуль @nuxtjs/i18n и локализованные маршруты. В React Native и Expo ставка на expo-localization и определение локали устройства.

Внутри — набор правил, а не готовый код. Агент следует им, когда пишет или правит ваш проект: раскладывает переводы по файлам вида locales/en/common.json, советует иерархические ключи вроде auth.login.button, форматирует даты через Intl.DateTimeFormat, числа и валюту через Intl.NumberFormat, сортировку через Intl.Collator. Для RTL предлагает CSS-логические свойства (margin-inline-start, padding-inline-end) и зеркалирование интерфейса. Состояние языка хранится в Zustand или React Context с записью в localStorage и AsyncStorage.

Ограничение простое: скилл описывает подход, но не подключает библиотеки за вас. Пакеты вроде i18next, @nuxtjs/i18n или expo-localization придётся поставить в проект самому, иначе агенту не на что опереться. Дизайн под расширение текста скилл закладывает сразу: в некоторых языках строка занимает на 30-50% больше места, поэтому жёсткие контейнеры по ширине текста — повод проверить вёрстку до релиза.

Какие задачи решает

  • вынести все пользовательские строки в файлы переводов
  • настроить i18next в React или Next.js с неймспейсами
  • добавить плюрализацию и интерполяцию в переводах
  • отформатировать даты, числа и валюту по локали пользователя
  • сделать RTL-раскладку через CSS-логические свойства

Примеры запросов агенту

  • Настрой i18n в этом Next.js проекте на i18next, разложи переводы по неймспейсам
  • Добавь плюрализацию для счётчика товаров и форматирование цены по локали
  • Переведи этот экран React Native на RTL и проверь, что вёрстка не ломается

Как установить internationalization-i18n

1Через Skills CLI (Vercel)

npx skills add Mindrally/skills --skill internationalization-i18n -a claude-code

2Вручную: положить файлы

~/.claude/skills/internationalization-i18n/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/internationalization-i18n/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора168

numpy-best-practices Скилл задаёт агенту правила по массивам NumPy: векторизация вместо циклов, типы данных, память, линейная алгебра. Пригодится, когда код на Python считает числа. CX Codex +1 997установок python Скилл задаёт агенту стиль Python-кода: PEP 8, type hints, ранние возвраты и async для I/O. Пригодится, когда агент пишет или правит код в проекте. CX Codex +1 983установок nlp-natural-language-processing Набор инструкций для NLP-разработки: токенизация, классификация, spaCy, NLTK и поиск по эмбеддингам. Помогает агенту писать чистый Python-код по стандартам PEP 8. CX Codex +1 980установок ui-design Задаёт агенту правила вёрстки и интерфейсов: доступность, адаптивность, производительность. Пригодится, когда агент пишет фронтенд и вы хотите предсказуемый результат. CX Codex +1 981установок java Скилл задаёт агенту правила Java-разработки: слоистая структура, Spring Boot 3.x, тесты на JUnit и Mockito. Пригодится, когда проект на Java растёт и код надо держать в одном стиле. CX Codex +1 966установок zustand-state-management Задаёт правила архитектуры сторов Zustand в React и TypeScript: от нарезки слайсов до SSR и тестов. Помогает избежать лишних ререндеров и ошибок гидратации. CX Codex +1 959установок typescript Задаёт правила типизации и структуры кода на TypeScript для ассистента. Помогает писать функции короче 20 строк, заменять enums на maps и избегать any. CX Codex +1 955установок python-uv Заставляет агента ставить и синхронизировать Python-пакеты только через uv, без pip и poetry. Пригодится, если в проекте уже есть uv или вы устали от разъезжающихся окружений. CX Codex +1 956установок

Другие версии internationalization-i18n

Похожие

rtl-right-to-left-i18n-cursorrules-prompt-file PatrickJS Правило Cursor, которое заставляет агента писать CSS и Tailwind по логическим свойствам, а не по left/right. Пригодится, если проект должен работать на арабском, иврите, персидском или урду. ★ 41 011звёзд репо i18n-localization davila7 Скилл для Claude, который помогает вынести строки в файлы переводов, разобраться с локалями и поддержкой RTL. 251установок i18n-expert daymade Настраивает и проверяет локализацию интерфейса: заменяет строки ключами, сверяет локали и форматирование. Нужен при работе с React, Next.js или Vue. CX Codex +1 2 700установок nuxt-i18n onmax Скилл для ИИ-агента, который помогает настроить локали, маршруты и SEO в Nuxt-приложении через @nuxtjs/i18n. CX Codex +1 589установок vue-i18n-skilld skilld-dev Скилл для работы с vue-i18n в Vue 3: подсказывает синтаксис сообщений, плюрализацию, форматы дат и чисел, миграцию на v12. CX Codex +1 391установок next-intl-app-router liuchiawei Настраивает next-intl с локалью в пути: конфиг, прокси, навигация и файлы сообщений. Пригодится, когда в проект добавляют второй язык. CX Codex +1 601установок

Рядом в теме «Фронтенд и UI»

Всё по теме «Фронтенд и UI» →

Вопросы о internationalization-i18n

Как установить internationalization-i18n в Claude?

Выполните npx skills add Mindrally/skills --skill internationalization-i18n -a claude-code. Скилл появится в ~/.claude/skills/internationalization-i18n/SKILL.md.

Что делает internationalization-i18n?

Задаёт агенту правила интернационализации: переводы через i18next или @nuxtjs/i18n, форматирование дат и чисел через Intl, поддержка RTL и хранение выбранного языка.

Нужно ли что-то ставить в проект заранее?

Да. Скилл описывает подход, а библиотеки для переводов и определения локали подключаются в самом проекте.

Исходный текст

SKILL.md · Apache-2.0
---
name: internationalization-i18n
description: Implement internationalization (i18n) best practices for web and mobile applications to support multiple languages and locales.
metadata:
  maintainer: Mindrally
  source: https://github.com/Mindrally/skills
---

# Internationalization (i18n)

You are an expert in internationalization for web and mobile applications. Apply these guidelines to ensure applications can be easily adapted for different languages, regions, and cultures.

## Core Principles

- Write concise, technical TypeScript code with accurate examples
- Use functional and declarative programming patterns; avoid classes
- Ensure all user-facing text is internationalized and supports localization
- Use descriptive variable names with auxiliary verbs (isLoading, hasError)
- Design for text expansion (some languages require 30-50% more space)

## Web Application i18n

### React/Next.js Applications
- Use i18next and react-i18next for web applications
- Implement namespace-based translation organization
- Use interpolation for dynamic values in translations
- Leverage pluralization features for count-based text
- Implement context-based translations where needed

### Implementation Pattern
```typescript
// Use translation hooks
const { t } = useTranslation('common');

// Basic translation
<h1>{t('welcome.title')}</h1>

// With interpolation
<p>{t('greeting', { name: userName })}</p>

// With pluralization
<span>{t('items', { count: itemCount })}</span>
```

### Nuxt.js Applications
- Use @nuxtjs/i18n module for Vue applications
- Implement SEO best practices with localized routes
- Use `useI18n` composable for translations
- Leverage lazy loading for translation files

## React Native/Expo Applications

### Mobile i18n Setup
- Use expo-localization for React Native apps
- Use react-native-i18n or i18n-js for translations
- Detect device locale automatically
- Support fallback languages

### Mobile-Specific Considerations
- Support RTL (right-to-left) layouts
- Ensure proper text scaling for accessibility
- Handle device locale changes dynamically
- Test on devices with different system languages

## Translation File Organization

### File Structure
```
locales/
  en/
    common.json
    auth.json
    errors.json
  es/
    common.json
    auth.json
    errors.json
  fr/
    common.json
    auth.json
    errors.json
```

### Translation Keys Best Practices
- Use descriptive, hierarchical keys (e.g., `auth.login.button`, `errors.network.timeout`)
- Avoid embedding HTML in translations when possible
- Keep translations context-aware and meaningful
- Document translation context for translators

## Locale-Aware Formatting

### Date and Time
- Use Intl.DateTimeFormat for date formatting
- Respect user's locale preferences
- Store dates in UTC, display in local timezone
- Support multiple date format preferences

### Numbers and Currency
- Use Intl.NumberFormat for number formatting
- Display currency in user's preferred format
- Handle decimal and thousand separators by locale
- Support right-to-left number display where needed

### Sorting and Comparison
- Use Intl.Collator for locale-aware string comparison
- Implement locale-specific sorting rules
- Handle diacritics and special characters correctly

## RTL (Right-to-Left) Support

### Layout Considerations
- Use CSS logical properties (margin-inline-start, padding-inline-end)
- Implement bidirectional text support
- Mirror UI layouts for RTL languages
- Test thoroughly with RTL languages (Arabic, Hebrew, etc.)

### Implementation
```css
/* Use logical properties */
.element {
  margin-inline-start: 1rem;
  padding-inline-end: 0.5rem;
}
```

## Best Practices

### Development Guidelines
- Never hardcode user-facing strings
- Extract all text to translation files
- Use ICU message format for complex translations
- Implement fallback mechanisms for missing translations
- Support language switching without page reload

### Content Considerations
- Avoid text in images; use CSS/SVG text when possible
- Design flexible layouts that accommodate text expansion
- Use icons with text labels, not icons alone
- Consider cultural differences in imagery and color

### Testing Requirements
- Test with pseudolocalization during development
- Verify text doesn't overflow containers
- Test with actual translations before release
- Verify RTL layout with native speakers
- Test currency and date formats across locales

## State Management for i18n

### Storing User Preferences
- Use Zustand or React Context for language state
- Persist language preference (localStorage, AsyncStorage)
- Sync language preference with user account
- Handle server-side rendering with correct locale

### Data Fetching
- Use TanStack React Query for caching translated content
- Invalidate queries on language change when needed
- Fetch locale-specific content from APIs
- Handle translation loading states gracefully

## Error Handling

- Provide translated error messages
- Implement fallback to default language for missing translations
- Log missing translation keys in development
- Handle RTL/LTR text direction in error displays
- Use Zod for runtime validation with localized error messages

© Mindrally · Apache-2.0 · Mindrally/skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой