Перевести всё, что записано долгом в development-docs/TRANSLATION-DEBT.md, и вычеркнуть строки той же правкой. Вызывать, когда владелец говорит «переведи что накопилось», «закрой долги по переводам», «добавь язык X везде», или когда он ВКЛЮЧИЛ новый язык в NEXT_PUBLIC_SUPPORTED_LANGUAGES и сайт на нём говорит по-английски. Переводит САМ агент по подписке — внешний сервис не зовётся и ключ не нужен. Не вызывать для одной строки в одном файле: это обычная правка.
Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Know which skills are safe — weekly.
SSkills DirectorySkills Directory
Is that skill safe to install?
Are you the author of Translate Pending?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/fractera-translate-pending)
---
name: translate-pending
description: >
Перевести всё, что записано долгом в development-docs/TRANSLATION-DEBT.md, и вычеркнуть строки той
же правкой. Вызывать, когда владелец говорит «переведи что накопилось», «закрой долги по
переводам», «добавь язык X везде», или когда он ВКЛЮЧИЛ новый язык в
NEXT_PUBLIC_SUPPORTED_LANGUAGES и сайт на нём говорит по-английски. Переводит САМ агент по
подписке — внешний сервис не зовётся и ключ не нужен. Не вызывать для одной строки в одном файле:
это обычная правка.
version: 1.0.0
metadata:
---
# translate-pending
> Подсказка, а не закон. **Знаешь способ лучше для случая перед тобой — делай по-своему и скажи об
> этом.** Творческая работа доверена тебе.
## Зачем этот навык существует
🔒 **РАЗРАБОТКА ИДЁТ НА ЯЗЫКЕ ПО УМОЛЧАНИЮ — решение владельца 2026-09-20**, дословно: «разработка
ведётся на языке по дефолту, сразу же каждая функция, каждый компонент… ссылка на него попадает в
специальный документ долги по переводам. Затем отдельно модель запускается с требованием пройти по
всем ссылкам и добавить перевод, обновить информацию об этом справочнике. Делается только агентом
искусственного интеллекта».
**Довод, а не привычка.** В разработке строки переписываются по нескольку раз; ранний перевод
оплачивается дважды и при этом выглядит готовым. Поэтому перевод — **отдельный прогон**, а не часть
каждой правки.
🛑 **ЦЕНА ЭТОГО ПРАВИЛА ОДНА, И ЕЁ ПЛАТИТ РЕЕСТР:** отложенный перевод исчезает из виду вместе с
закрытым шагом. Через месяц никто не скажет, какие страницы остались одноязычными — сайт выглядит
законченным, а половина его отвечает по-английски.
## Что делает прогон
**1. Измерить, а не вспомнить.** Прежде всего — два прибора:
```
npm run check:i18n # словари: сколько языков против включённого набора
npm run check:content # языковые ячейки страниц
```
Оба отвечают **включённым набором** (`NEXT_PUBLIC_SUPPORTED_LANGUAGES`), а не рукописным числом —
это исправлено в 256-9. Их вывод и есть список работы; реестр долга объясняет, **почему** что-то
отложено, но не заменяет измерение.
**2. Прочитать реестр** — `development-docs/TRANSLATION-DEBT.md`. Там адреса и причины. Строка
«долгом не является» означает осознанное решение: такой файл не трогать.
**3. Перевести.** Языковая ячейка страницы — `_data/<язык>.ts` рядом с `en.ts`; словарь интерфейса —
новый ключ языка в `Record<lang, Ui>`.
🔒 **ПЕРЕВОДИТ АГЕНТ, А НЕ ВНЕШНЯЯ СЛУЖБА.** Работа идёт по подписке владельца; ключ API не нужен и
не спрашивается. Это прямое слово владельца, а не выбор инструмента.
🛑 **ЧЕГО НЕЛЬЗЯ ТРОГАТЬ ПРИ ПЕРЕВОДЕ, И ЭТО ОПЛАЧЕНО:**
- **подстановки** — `{roles}`, `{admin}`, `{lang}`: переведённый плейсхолдер ломает страницу молча и
именно в том языке, который никто не проверяет;
- **имена собственные и термины лицензии** — `Open Code` не переводится: «открытый код» читается как
`open source`, а это open-washing;
- **разметку ссылок** `[подпись](адрес)` — адрес остаётся, переводится только подпись;
- **ключи объекта** — переводятся значения.
**4. Вычеркнуть строку долга ТОЙ ЖЕ правкой**, которой пришёл перевод. Строка, пережившая перевод,
через неделю отправит следующую сессию делать сделанное.
**5. Проверить и доказать.** Оба прибора зелены; страница на новом языке отдаёт слово из словаря, а
не английское. 🔒 И третий прибор, о котором легко забыть:
```
npm run check:seo-html # языковые сигналы отданного HTML
```
Он обязателен именно здесь: перевод **меняет индексируемость**. Пока перевода нет, версия несёт
`noindex` и вне `hreflang`; с переводом она входит в набор — и если войдёт односторонне, поисковик
проигнорирует набор целиком.
## Чего этот навык НЕ делает
- не включает язык — это правка `NEXT_PUBLIC_SUPPORTED_LANGUAGES`, решение владельца;
- не трогает `microservices/` — перенесённые службы живут по своему правилу («переносим всё что у них
есть так, как у них есть», 2026-09-20), и их 82 языка урезать или дополнять нельзя;
- не переводит `config/translations/language-metadata.ts` — это каталог языков продукта, а не наши
слова.