i18n Skills
AI команде за проверу и обухватање i18n текстова
Проблем
Ваша база кода има 500 директно уписаних текстова расутих по компонентама, шаблонима и приказима. Ручно обухватање захтева дане заморног проналажења и замене. Чак и после обухватања пропуштате подељене реченице које се нарушавају на немачком, логику множине која не ради на арапском и напуштене кључеве који непотребно повећавају датотеке локала.
Решење
Две AI slash команде које обављају цео i18n ток рада. Покрените /i18n-review да проверите код без измена, а затим /i18n-wrap да све аутоматски исправите. Обе команде откривају Ваш радни оквир, разумеју формат датотека локала и проверавају измене пре commit корака.
/i18n-review
Провера само за читање која проналази подељене реченице, неисправне множине, необухваћене текстове и некоришћене кључеве. Никада не мења Ваш код.
/i18n-wrap
Аутоматски обухвата директно уписане текстове исправном функцијом за превођење, генерише семантичке кључеве, ажурира датотеке локала и проверава build.
Команда /i18n-review
Команда за преглед обавља проверу базе кода само за читање. Скенира сваку датотеку у потрази за i18n проблемима и прави извештај по приоритетима са тачним локацијама датотека и предлозима исправки. Ваш код се никада не мења.
/i18n-review src/
/i18n-review src/ --framework=next-intlШта проверава
- Подељене реченице: спојени позиви t() који нарушавају ред речи у другим језицима
- Прекомерно обухватање: технички текстови, CSS класе, URL адресе и вредности набрајања погрешно обухваћени функцијом t()
- Недовољно обухватање: видљиви текстови корисничког интерфејса, као што су ознаке дугмади, наслови и поруке о грешкама, остају директно уписани
- Проблеми са множином: тернарни оператори или провере === 1 уместо исправне ICU синтаксе множине
- Некоришћени кључеви: кључеви превода дефинисани у датотекама локала, али нигде наведени у коду
- Директно уписане вредности формата: датуми, валуте и бројеви који не користе Intl форматере
Команда /i18n-wrap
Команда wrap аутоматски обухвата директно уписане текстове исправном функцијом за превођење за Ваш радни оквир. Открива Вашу i18n библиотеку, генерише семантичке кључеве груписане по компоненти или функционалности, ажурира датотеке локала и проверава да ли build и даље пролази.
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18nextШта ради
- Откривање радног оквира: препознаје Вашу i18n библиотеку и њену функцију за превођење (t, $t, $_, gettext итд.)
- Генерисање семантичких кључева: прави смислене кључеве као што су nav.signIn и errors.notFound уместо генеричких ознака
- Ажурирање датотека локала: додаје нове кључеве у датотеку изворног локала у исправном формату (JSON, YAML, PO итд.)
- Валидација build процеса: покреће Ваше build, lint и test команде након обухватања како би открила регресије
Подржани радни оквири
Обе команде аутоматски откривају радни оквир на основу зависности пројекта. Можете и изричито да га наведете ознаком --framework. Ево 10 подржаних радних оквира са њиховим функцијама за превођење и форматима множине.
| Радни оквир | Функција за превођење | Формат множине |
|---|---|---|
| react-i18next | t() | key_one / key_other |
| next-intl | t() | ICU {count, plural, ...} |
| vue-i18n | $t() | Pipe syntax | singular | plural |
| angular i18n | $localize | ICU {count, plural, ...} |
| svelte-i18n | $_() | ICU {count, plural, ...} |
| flutter intl | S.of(context) | Intl.plural() |
| django | gettext / _() | ngettext() |
| rails i18n | t() | count key |
| laravel | __() / @lang | trans_choice() |
| swift | NSLocalizedString | .stringsdict |
Инсталација
Копирајте датотеке команди у свој директоријум .claude/commands/. То је све — без зависности и конфигурације. Команде су обичне Markdown датотеке које сваки AI помоћник за програмирање може да изврши.
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/Примери употребе
React пројекат
Прегледајте React апликацију која користи react-i18next, а затим обухватите све директно уписане текстове. Команде откривају react-i18next у датотеци package.json и користе исправну функцију t() и формат множине key_one/key_other.
# Review a React project for i18n issues
/i18n-review src/ --framework=react-i18next
# Wrap all hardcoded strings automatically
/i18n-wrap src/components/ --framework=react-i18next
# Result: t() calls inserted, keys added to en/translation.jsonDjango пројекат
Проверите Django шаблоне и приказе у потрази за i18n проблемима, а затим обухватите текстове функцијом gettext. Команде откривају Django у датотеци settings.py и користе _() за једноставне текстове и ngettext() за множине.
# Review Django templates and views
/i18n-review myapp/ --framework=django
# Wrap hardcoded strings with gettext
/i18n-wrap myapp/templates/ --framework=django
# Result: _() calls inserted, .po file updatedПовезани водичи за радне оквире
Испробајте i18n Agent сада
Пустите датотеку за превођење овде
JSON, YAML, PO, XML, CSV, Markdown, Properties
или кликните за избор
Циљни језици