Skip to content
Back to skills

Translate Pending

ASecurity

Перевести всё, что записано долгом в development-docs/TRANSLATION-DEBT.md, и вычеркнуть строки той же правкой. Вызывать, когда владелец говорит «переведи что накопилось», «закрой долги по переводам», «добавь язык X везде», или когда он ВКЛЮЧИЛ новый язык в NEXT_PUBLIC_SUPPORTED_LANGUAGES и сайт на нём говорит по-английски. Переводит САМ агент по подписке — внешний сервис не зовётся и ключ не нужен. Не вызывать для одной строки в одном файле: это обычная правка.

  • 61 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 5, 2026
ai-agentsapi

Works with

  • api

Security analysis

A100/100

Scanned November 5, 2026

npx -y skills add Fractera/web4-node-starter-kit --skill translate-pending --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Translate Pending?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Translate Pending
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/fractera-translate-pending/badge)](https://www.skillsdirectory.com/skills/fractera-translate-pending)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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` — это каталог языков продукта, а не наши
  слова.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.