# Аудит русской кириллицы, локализации и русскоязычной редакции сайта «война.com»

## Происхождение редакции

**Код:** РЕД-01  
**Редакция включения:** 4.0.0  
**Размер поступившего файла:** 76389 байтов  
**Контрольный отпечаток поступившего файла:** 1144794502943457533184718036400713335707717149452306299586218548036144463350  

Документ сохранён как русскоязычный редакционный аудит. Сетевые ссылки внутри него являются линиями происхождения; их текущее содержание не проверялось повторно в автономной сборке.

# Аудит русской кириллицы, локализации и русскоязычной редакции сайта «война.com»

## Исполнительное резюме

На сайте нет фундаментальной проблемы с самой **кириллической кодировкой**: в ходе прямой проверки сервер отдавал страницы как `text/html; charset=UTF-8`, в документе обнаружен `meta charset="utf-8"`, а домен корректно работает как интернационализированное доменное имя с паникод-представлением. Юникод и современные рекомендации поисковых систем прямо поддерживают интернационализированные домены и адреса при корректной нормализации и экранировании. 

Главная проблема сайта — **не техническая кириллица, а язык**. Русский текст во многих ключевых разделах систематически выглядит как текст, концептуально сформулированный на английском и затем слишком буквально перенесённый на русский. На главной, в «Хартии», «Периметре», «Цензуре», «Взрослой», «Штабе», «Строить», «Бунтаре» и авторских материалах встречаются буквальные кальки, английская логика управления, нехарактерные для русского сочетания слов, чрезмерное количество отвлечённых существительных, неочевидные неологизмы и терминология, которая не объясняется русскому читателю. Это заметно уже в таких конструкциях, как «какую реальную возможность создаёт», «как долго это хранится», «оценка риска», «предполагаемое состояние», «русская редакционная производная», «книжные производные», «титул собственности на разум», «ментальная приватность», «пересмотр человеком». 

Это не означает, что язык надо сделать нейтральным или обезличенным. У сайта явно есть собственный манифестный, философско-политический голос: короткие декларации, военная и системная метафорика, противопоставления, терминологические ряды и командная интонация являются частью авторского стиля. Проблема возникает там, где **стилизация перестаёт восприниматься как намеренная и начинает выглядеть как машинный перевод**. Поэтому правильная цель — не «упростить русский», а отделить авторский неологизм от случайной кальки и сделать необычность осознанной. Это особенно важно для страниц «Хартия» и «Периметр», где терминология фактически выполняет роль понятийного словаря всего корпуса. 

Наиболее серьёзные языковые дефекты, требующие немедленного исправления:

| Приоритет | Проблема | Пример |
|---|---|---|
| Критический | вероятный буквальный перевод английской многозначности | «формируют пол, на котором вообще возможно свободное решение» |
| Критический | грамматическая ошибка | «разведывательной отдача» |
| Критический | словарная ошибка | «клиентела» вместо нормативного «клиентела» |
| Высокий | систематические кальки | «пересмотр человеком», «окончательная власть», «доступ к аудитории» |
| Высокий | непрозрачные неологизмы | «обезденеживание», «исключение из генеративного ответа» |
| Высокий | перевод английских терминов без адаптации | «командование по замыслу», «критика и адвокация», «конфликт-процедура» |
| Высокий | неправильная локализационная модель | «русская редакционная производная» используется там, где читателю нужно понимать: это перевод, транслитерация или редакционная адаптация |
| Средний | смешение регистров и стилистических систем | философский русский, интерфейсный машинный русский и переводной академический язык существуют одновременно |
| Средний | пунктуационная ошибка | последовательность типа «НАМЕРЕНИЮ. ВЫВОД…» без пробела после точки |
| Средний | непрозрачные транслитерированные названия | «РЕБЕЛ ОР ДАЙ», «Антихрист кс», «Аль-Каида Нет» |

Форма **«клиентела»** зафиксирована в «Русском орфографическом словаре» и других словарях, представленных на «Грамоте.ру», поэтому «клиентела» следует исправлять без стилистических оговорок. 

Напротив, **«агентность» не следует автоматически считать ошибкой**. В современной русской гуманитарной лексике слово употребляется в значении способности самостоятельно действовать, делать выбор и влиять на решения; «Грамота.ру» прямо приводит такое значение. Проблема сайта состоит не в существовании слова, а в том, что оно подаётся широкой аудитории без определения и одновременно окружено большим числом других калькированных терминов. Оптимально при первом употреблении написать, например: «агентность — способность человека самостоятельно выбирать и действовать», а затем использовать короткую форму. 

**Итоговая оценка:** техническая база кириллицы — в целом хорошая; русская редактура — требует глубокой переработки; терминологическая система — требует централизованного словаря; доступность и поисковая интернационализация — требуют нескольких технических уточнений и автоматических проверок.

## Охват аудита и карта русскоязычных страниц

Живая карта сайта, считанная в ходе аудита, содержит основной корпус, служебные страницы, страницы сущностей и книги. Большинство записей имеют дату изменения **2 сентября 2026 года**, то есть исследовалась актуальная на момент отчёта версия корпуса. Карта сайта находится в корне, что соответствует рекомендациям поисковых систем; файл карты должен быть в кодировке Юникод УТФ‑8 и использовать абсолютные адреса. 

Ниже приведён инвентарь обнаруженных страниц. Видимый русский текст был непосредственно проверен на ключевых страницах; остальные записи включены как обнаруженная структура русскоязычного корпуса. Наличие дополнительных страниц вне карты сайта или закрытых страниц с авторизацией остаётся **неопределённым**.

| Группа | Обнаруженные страницы |
|---|---|
| Главные концептуальные страницы | `/`, `/хартия.html`, `/периметр.html`, `/цензура.html`, `/взрослая.html`, `/бунтарь.html`, `/строить.html`, `/штаб.html`, `/лаборатория.html`, `/автор.html`, `/архив.html` |
| Исследовательские и проверочные страницы | `/атлас.html`, `/аудит.html`, `/библиография.html`, `/ведомость-выпуска.html`, `/восстановление.html`, `/журнал-дрейфа.html`, `/картотека.html`, `/память-уаикс.html`, `/парный-тест.html`, `/полевые-карты.html`, `/проверка-источников.html`, `/происхождение.html`, `/свидетельский-пакет.html`, `/сохранение.html`, `/учения.html`, `/приватность.html`, `/контроль-владельца.html` |
| Сущности | `/сущности.html`, `/сущности/index.html`, `/сущности/амианизм.html`, `/сущности/война-ком.html`, `/сущности/грискс.html`, `/сущности/когнитивная-свобода.html`, `/сущности/майкл-джозеф-каппел.html` |
| Книги и книжные сущности | `/сущности/книги/index.html`, `/сущности/книги/аль-каида-нет.html`, `/сущности/книги/амианизм-сигнал.html`, `/сущности/книги/антихрист-кс.html`, `/сущности/книги/зеркальная-война.html` |
| Метастраницы сущностей | `/сущность-автор.html`, `/сущность-исследования.html`, `/сущность-книги.html`, `/сущность-корпус.html`, `/сущность-память.html` |
| Документация | `/docs/index.html`, `/docs/доказательства/index.html` |

На основной странице навигация непосредственно выводит «Главная», «Хартия», «Периметр», «Цензура», «Взрослая», «Бунтарь», «Строить», «Штаб», «Контур», «Архив» и «Автор», поэтому именно эти страницы являются первым уровнем языкового риска: их стиль формирует впечатление от всего ресурса. 

### Системный характер проблемы

Проблема не локальна. На главной уже встречаются:

> «Какой какую реальную возможность создаёт даёт ответ?»

> «как долго это хранится»

> «оценка риска»

> «не поднимать выгоду наверх и спускать риск вниз»

> «Предполагаемое состояние не является человеком»

> «русская редакционная производная»

> «книжные производные»

Эти конструкции встречаются рядом с вполне естественным русским текстом, поэтому создаётся впечатление непоследовательной локализации: отдельные предложения редакционно адаптированы, а другие сохраняют синтаксическую модель исходного английского текста. 

В «Хартии» концентрация переводной терминологии ещё выше: «титул собственности на разум», «ментальная приватность», «выведенные системой психические состояния», «ИИ-персона», «тайная перепись личности», «Наименее ограничительная защита», «высокого воздействия». Здесь особенно важно не просто исправлять отдельные слова, а создать единую русскую понятийную систему. 

В «Периметре» наряду с терминологической калькированностью обнаружена уже чисто механическая типографическая ошибка: последовательность прописных фраз выводится без пробелов после точек — по типу `НАМЕРЕНИЮ. ВЫВОД`. Там же встречаются «Критика и адвокация», «Какую реальную возможность создаёт», «Карта акторов», «Храповик расширяется по умолчанию», «психический скоринг». 

## Лингвистические проблемы и рекомендуемая русская редакция

### Наиболее показательные фрагменты

Ниже не предлагается механический «синонимический» ремонт. Рекомендации стремятся сохранить жёсткий, концептуальный голос сайта, но убрать ощущение машинного перевода.

| Сейчас | Рекомендуется | Причина |
|---|---|---|
| «Какой какую реальную возможность создаёт даёт ответ?» | «Какую конкретную возможность даёт этот ответ?» | английская модель «прирост способности» |
| «как долго это хранится» | «как долго эти данные хранятся» | буквальная метафора срока жизни объекта |
| «оценка риска» | «оценка риска» / «оценка рисков» | неестественная модель сложного слова |
| «агентность» | «агентность — способность самостоятельно выбирать и действовать» | термин допустим, но требует определения |
| «поднимать выгоду наверх и спускать риск вниз» | «сосредоточивать выгоду наверху, перекладывая риски на людей» | метафора становится естественной по-русски |
| «пересмотр человеком» | «право на пересмотр решения человеком» | калька с понятия обжалования с участием человека |
| «Предполагаемое состояние не является человеком» | «Вывод системы о состоянии человека не тождествен самому человеку» | устраняется двусмысленность слова «выведенный» |
| «русская редакционная производная» | «полный русский перевод» **или** «транслитерация кириллицей» | нынешнее выражение не сообщает тип преобразования |
| «книжные производные» | «редакционные версии книг» / «производные версии издания» | «производное» воспринимается математически или юридически |
| «ментальная приватность» | «неприкосновенность внутренней жизни» | естественнее для широкой русской аудитории |
| «титул собственности на разум» | «право собственности на сознание» или, по смыслу, «право распоряжаться сознанием другого» | «титул собственности» — буквальная англо-юридическая модель |
| «Спрятанный клик» | «скрытое согласие в интерфейсе» | требуется передать функцию, а не английскую форму |
| «Критика и адвокация» | «Критика и публичная защита позиции» | «адвокация» остаётся профессиональным заимствованием |
| «Храповик расширяется по умолчанию» | «Полномочия по умолчанию имеют тенденцию расширяться» | метафору «храповика» лучше оставить пояснительным термином |
| «формируют пол, на котором вообще возможно свободное решение» | «создают основу, без которой свободное решение невозможно» | вероятная буквальная передача английского слова со значением «основание» |
| «психиатрическая история» | «психиатрический анамнез» / «история психиатрического лечения» | нормативная русская медицинская сочетаемость |
| «ритм набора» | «динамика набора текста» | понятнее без знания английского термина |
| «эмоциональные выводы» | «выводы об эмоциональном состоянии» | восстанавливается объект вывода |
| «названный риск» | «указанный риск» / «конкретно определённый риск» | англоязычная модель определения |
| «переносимые навыки» | «навыки, применимые в разных условиях» | прямой перенос значения «портативности» |
| «ответ за собственную власть» | «ответственность за собственные полномочия» | ошибка лексической сочетаемости |
| «единая цепь приказа» | «единая цепочка командования» / «единая вертикаль управления» | более естественная военная терминология |
| «низкая цена выхода» | «низкие издержки выхода» / «возможность легко покинуть систему» | калька экономического термина |
| «конфликт-процедура» | «процедура разрешения конфликтов» | английский порядок компонентов |
| «журнал человеческих апелляций» | «журнал обращений, рассмотренных человеком» | устраняется буквальный перевод |
| «разведывательной отдача» | «разведывательная отдача» | чистая ошибка согласования |
| «клиентела» | «клиентела» | словарная ошибка |
| «разведывательная уверенность» | «степень уверенности разведывательной оценки» | калька специализированной английской конструкции |
| «командование по замыслу» | «управление по замыслу» с пояснением исходного термина | буквальный перенос специализированного термина |
| «мученический риск» | «риск создания образа мученика» | в русском нужен объект риска |
| «успешное удаление лица» | «успешное устранение конкретного руководителя» | буквальное и семантически слабое «удаление» |
| «дипломатическое торгование» | «дипломатический торг» / «переговоры» | неверная словообразовательная модель |
| «молодого себя» | «себя в молодости» / «своего молодого „я“» | калька английского возвратного оборота |
| «окончательная власть» | «последняя инстанция» / «окончательное право решения» | калька с английского «окончательный авторитет» |
| «Новая формулировка не отменяет рану» | «Новая формулировка не залечивает прежнюю рану» | русский глагол должен поддерживать метафору |
| «Обнаружимость» | «видимость в поиске» / «возможность обнаружения» | значение надо привязать к функции |
| «Обезденеживание» | «лишение финансирования», «отключение монетизации» или «отключение от платежей» | искусственный неологизм скрывает конкретное действие |
| «резервные публикационные пути» | «резервные каналы публикации» | английская номинативная конструкция |
| «Право читать частно» | «право на конфиденциальное чтение» | естественная русская именная конструкция |

Форму «оценка рисков» подтверждает и справочная практика «Грамоты.ру»: в соответствующих конструкциях рекомендуется именно модель «методы оценки рисков и управления ими». 

### Что делать с авторскими неологизмами

Не каждый необычный термин надо уничтожать. Для сайта полезно ввести три категории.

**Нормативный русский термин** используется без пояснения: «оценка рисков», «подотчётность», «конфиденциальность», «цепочка командования».

**Осознанный авторский термин** сохраняется, но определяется при первом употреблении: «агентность», «когнитивная свобода», «эффект храповика», «контрфактический сценарий».

**Переводная калька** заменяется функциональным русским эквивалентом: «пересмотр человеком», «окончательная власть», «обезденеживание», «нулевой переход», «книжные производные».

Такой подход позволяет сохранить индивидуальность текста и одновременно избежать эффекта «английского, записанного русскими словами».

### Транслитерация и названия

Самый заметный пример — **«РЕБЕЛ ОР ДАЙ»**. Для носителя русского это выглядит не как русский лозунг и не как корректно сохранённое иностранное название, а как фонетическая запись иностранной фразы кириллицей. На главной эта форма действительно используется как самостоятельный лозунг. 

Есть два профессионально приемлемых варианта:

**Локализовать:** «БУНТУЙ ИЛИ УМРИ».

**Сохранить оригинальный бренд:** оставить название в исходном языке, а рядом дать русский перевод и пометить языковую часть разметкой `lang`. Для многоязычных фрагментов это также соответствует принципу доступности: язык отдельной части страницы должен быть программно определим, если это не собственное имя или уже освоенный термин. 

С названиями **«Антихрист кс»** и **«Аль-Каида Нет»** нельзя безопасно поступать путём догадки. Неясно, являются ли «кс» и «Нет» авторскими знаками, транслитерацией, переводом или частью исходного названия. Поэтому необходимо хранить отдельно:

```json
{
  "original_title": "...",
  "localized_title_ru": "...",
  "title_note_ru": "..."
}
```

До проверки исходного произведения не следует самостоятельно истолковывать «Нет» как русское отрицание или как транслитерацию иностранного элемента. На архивной странице названия представлены именно в нынешней русской форме, поэтому это должна быть отдельная редакторская задача, а не автоматическая замена. 

### Пунктуация, пробелы и типографика

На «Периметре» обнаружена последовательность прописных предложений без пробелов после точек. Это надо исправлять автоматически на уровне исходника, а не с помощью визуального `margin`, потому что отсутствие пробела остаётся в доступном тексте, копировании и индексируемом содержимом. 

Для русской редакции также следует унифицировать:

| Элемент | Политика |
|---|---|
| Кавычки | внешние «ёлочки», вложенные „лапки“ |
| Тире | длинное тире в предложениях с пробелами; дефис только внутри слов |
| Диапазоны | тире без окружающих пробелов |
| Инициалы | единый формат по всему корпусу |
| Сокращения | определить словарь допустимых сокращений |
| Буква «ё» | выбрать редакционную политику и применять последовательно |
| Двоеточие в названиях | единый регистр после двоеточия |
| Прописные лозунги | сохранять только там, где это намеренная визуальная семантика |
| Заимствованные термины | при первом употреблении давать определение |
| Названия произведений | оформлять единообразно, а не смешивать заголовочную капитализацию английского типа с русской |

Отдельно следует отказаться от английской модели заголовков, когда каждое смысловое слово получает прописную букву. В русском названии обычным вариантом является прописная первая буква плюс собственные имена.

## Техническая кириллица, доступность и поисковая оптимизация

### Кодировка и Юникод

Проверка текущей версии показала корректный заголовок ответа с `charset=UTF-8`, а в головной части документа был обнаружен `meta charset="utf-8"`. Это правильная база: поисковая документация рекомендует Юникод УТФ‑8, а современные документы должны явно декларировать кодировку. 

Рекомендуемый шаблон:

```html
<!doctype html>
<html lang="ru">
<head>
  <meta charset="utf-8">
  <meta
    name="viewport"
    content="width=device-width, initial-scale=1"
  >
  <title>...</title>
</head>
<body>
  ...
</body>
</html>
```

В ходе автоматического извлечения значение `lang` у корневого элемента **не удалось подтвердить достоверно**. Это не равнозначно доказанному отсутствию атрибута; его следует проверить непосредственно в шаблоне сборки. В любом случае на каждой русскоязычной странице должен быть явный `<html lang="ru">`. Консорциум Всемирной паутины рекомендует задавать основной язык именно атрибутом `lang` корневого элемента. 

Это важно прежде всего для доступности: критерий доступности ВКАГ требует, чтобы основной язык страницы мог быть определён программно; корректный язык помогает программам экранного доступа выбрать правильные правила произношения. 

### Иностранные вставки

Для намеренно оставленных английских названий следует применять:

```html
<p>
  Русский перевод:
  <span lang="en">Original English Title</span>
</p>
```

Такой механизм соответствует требованию определять язык отдельных фрагментов, когда язык меняется внутри документа. 

Не надо оборачивать отдельным `lang` общеупотребительные сокращения или собственные имена без необходимости: критерии доступности прямо предусматривают исключения для собственных имён, технических терминов и слов неопределимого языка. 

### Нормализация Юникода

Все текстовые файлы, заголовки, идентификаторы, ключи сущностей и пути следует приводить к **НФК-нормализации** перед сохранением и перед сравнением. НФК особенно важна для того, чтобы визуально одинаковые последовательности символов не существовали в нескольких кодовых представлениях. В стандартах Юникода НФК является одной из основных нормализационных форм и используется также в обработке интернационализированных доменных имён. 

При этом нормализация **не решает проблему смешанных похожих букв разных письменностей**. Латинская `a` и кириллическая `а`, например, остаются разными символами. Стандарт безопасности Юникода специально определяет проверки на смешение письменностей и визуально похожие символы. 

Поэтому нужны две независимые проверки:

```js
const cyrillic = /\p{Script=Cyrillic}/u;
const latin = /\p{Script=Latin}/u;

function checkString(value) {
  if (value !== value.normalize("NFC")) {
    throw new Error(`Не НФК: ${value}`);
  }

  for (const token of value.split(/\s+/u)) {
    if (
      cyrillic.test(token) &&
      latin.test(token) &&
      !allowedMixedTokens.has(token)
    ) {
      throw new Error(`Смешение письменностей: ${token}`);
    }
  }
}
```

Белый список нужен для намеренных случаев вроде доменного имени и технических обозначений.

### Домен и паникод

`xn--80advqd.com` — не ошибка кодировки, а техническое представление интернационализированного домена **«война.com»**. На пользовательском уровне можно показывать «война.com», а в технических полях, где важна предсказуемость обмена между системами, разумно сохранять каноническую машинную форму. Юникод предусматривает специальную обработку интернационализированных доменных имён и отдельно рекомендует проверки смешанных письменностей и похожих символов. 

Рекомендуемая политика:

```html
<link
  rel="canonical"
  href="https://xn--80advqd.com/хартия.html"
>
```

Для фактических ссылок в исходном коде символы вне машинной латинской кодировки пути желательно сериализовать процентным кодированием. Рекомендации поисковой системы прямо советуют использовать язык аудитории в адресах, но при необходимости процентно кодировать символы вне машинной латинской кодировки. 

Карта сайта сейчас демонстрирует непоследовательность: большинство кириллических путей представлены процентно закодированно, тогда как одна из обнаруженных записей `контроль-владельца.html` была сохранена непосредственно кириллицей. Это не обязательно делает карту недействительной при правильной УТФ‑8-кодировке, но унификация уменьшит вероятность различий между генератором карты, каноническими ссылками и средствами контроля. Карта сайта должна быть УТФ‑8, а поисковый робот пытается обходить адреса так, как они перечислены. 

### Метаданные

На главной при техническом извлечении были обнаружены:

| Элемент | Наблюдение | Рекомендация |
|---|---|---|
| Кодировка | УТФ‑8 | оставить |
| Адаптивный область просмотра | обнаружен | оставить |
| Канонический адрес | обнаружен | проверить на всех страницах |
| Локаль открытого графа | `ru_RU` | корректно для русской версии |
| `hreflang` | не обнаружен | нужен только при наличии реальных языковых вариантов |
| структурированные данные | не обнаружены | добавить там, где тип содержимого можно описать достоверно |
| язык корневого элемента | автоматическая проверка не дала достоверного результата | явно закрепить `lang="ru"` в общем шаблоне |

**Не следует добавлять `hreflang` просто потому, что сайт русский.** Он нужен при существовании отдельных локализованных версий одной страницы. Если существует только русская версия — отсутствие `hreflang` само по себе не является дефектом. Если появятся русская и английская версии, каждую надо связать взаимными альтернативными ссылками; Гугл также допускает объявление вариантов через карту сайта. 

Пример только для реального двуязычного варианта:

```html
<link
  rel="alternate"
  hreflang="ru"
  href="https://xn--80advqd.com/хартия.html"
>
<link
  rel="alternate"
  hreflang="en"
  href="https://example.com/en/charter.html"
>
<link
  rel="alternate"
  hreflang="x-default"
  href="https://example.com/charter.html"
>
```

При этом `lang` и `hreflang` выполняют разные функции. Атрибут языка важен для браузеров и средств доступности; Гугл сообщает, что язык содержимого для поиска определяется главным образом по самому тексту, а не по `lang`. 

### Структурированные данные

Для сайта целесообразно рассмотреть структурированные данные только там, где они соответствуют фактическим сущностям:

```html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "война.com",
  "inLanguage": "ru"
}
</script>
```

Для автора можно использовать корректную сущность человека, а для книг — сущности произведений, но поля нельзя заполнять предположениями. Структурированные данные служат явными машинными подсказками о сущностях страницы и должны соответствовать отображаемому содержимому. 

### Шрифты и резервные семейства

В ходе доступного автоматического извлечения не удалось надёжно определить полный стек применяемых шрифтов, поэтому нельзя утверждать, что конкретный текущий шрифт имеет дефект кириллицы.

Проверить необходимо следующие глифы и сочетания:

`Ё ё Й й Ц ц Щ щ Ъ ъ Ы ы Ь ь Э э Ю ю Я я`

а также:

`— – « » „ “ № ₽ …`

Шрифтовой стек должен заканчиваться универсальным резервным семейством. Стандарты каскадных таблиц стилей рассматривают универсальные семейства как механизм резервного отображения при недоступности указанного шрифта; разные резервные шрифты могут иметь отличающиеся метрики и влиять на читаемость и переносы. 

Например:

```css
:root {
  font-family:
    "Site Sans",
    "Noto Sans",
    "DejaVu Sans",
    sans-serif;
}

body {
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
```

Перед выпуском надо отдельно подтвердить, что основной файл шрифта содержит кириллический диапазон, а не заставляет браузер незаметно подставлять другой шрифт только для русских букв.

## План исправлений и приоритеты внедрения

### Срочный редакционный проход

Первая задача — исправить то, что воспринимается именно как ошибка, а не стиль.

| Работа | Приоритет | Трудоёмкость | Оценка |
|---|---|---:|---|
| исправить «клиентела» | критический | низкая | менее часа вместе с поиском всех вхождений |
| исправить «разведывательной отдача» и аналогичные согласования | критический | низкая | несколько часов на корпус |
| исправить «формируют пол…» | критический | низкая | после сверки исходного смысла |
| исправить отсутствующие пробелы после точек | критический | низкая | несколько часов с автоматической проверкой |
| проверить все смешанные латинско-кириллические слова | критический | средняя | до рабочего дня |
| проверить названия книг и псевдонимы по первоисточнику | высокая | средняя | около рабочего дня |
| заменить очевидные кальки на ключевых страницах | высокая | средняя | два–четыре редакторских дня |
| полная редактура всего корпуса | высокая | высокая | ориентировочно семь–двенадцать редакторских дней |

Сроки здесь являются **оценкой объёма проекта**, а не обещанием выполнения в будущем.

### Терминологический слой

Создать единый файл, например:

```json
{
  "agency": {
    "preferred": "агентность",
    "first_use": "агентность — способность самостоятельно выбирать и действовать"
  },
  "mental_privacy": {
    "preferred": "неприкосновенность внутренней жизни",
    "avoid": ["ментальная приватность"]
  },
  "human_appeal": {
    "preferred": "пересмотр решения человеком",
    "avoid": ["пересмотр человеком"]
  },
  "risk_assessment": {
    "preferred": "оценка риска",
    "avoid": ["оценка риска"]
  }
}
```

Главный принцип: **один концепт — один основной русский термин**. Сейчас один и тот же стиль английских абстракций порождает множество самостоятельных русских кальк, из-за чего читателю приходится каждый раз заново расшифровывать понятийную систему.

### Новая редакционная модель

Для каждого исходного блока использовать четыре этапа:

**Смысл.** Редактор сначала формулирует, что предложение буквально утверждает.

**Русский синтаксис.** Затем пересобирает предложение в естественном русском порядке, не сохраняя структуру исходного языка.

**Терминология.** Проверяет слова по словарю проекта.

**Авторский голос.** Только после этого возвращает ритм, манифестность, жёсткость и необычные метафоры.

Это особенно важно для фраз вроде:

> «ИИ должен возвращать больше способности, чем забирает».

Такая фраза может быть намеренно афористичной и её необязательно «нормализовать». В то же время стоящее рядом буквальное «спускать риск вниз» уже выглядит не как авторская метафора, а как переводной след. Главная страница демонстрирует оба типа конструкций рядом. 

### Технический шаблон

Сделать один общий фрагмент головной части и использовать его на всех статических страницах:

```html
<!doctype html>
<html lang="ru">
<head>
  <meta charset="utf-8">
  <meta
    name="viewport"
    content="width=device-width, initial-scale=1"
  >

  <title>{{ русское_название }}</title>

  <meta
    name="description"
    content="{{ естественное_русское_описание }}"
  >

  <link
    rel="canonical"
    href="{{ канонический_адрес }}"
  >

  <meta property="og:locale" content="ru_RU">
</head>
```

Валидацию современного разметочного кода разумно включить в сборку через валидатор Ну: его назначение — программно обнаруживать непреднамеренные ошибки в разметке. 

### Рекомендуемая последовательность выпуска

| Этап | Действие | Риск |
|---|---|---|
| Подготовка | заморозить текущий корпус и создать контрольный список адресов | низкий |
| Словарь | утвердить двадцать–сорок базовых терминов | низкий |
| Критические исправления | грамматика, смешанные письменности, ложные переводы | низкий |
| Основная редактура | главная, «Хартия», «Периметр», «Цензура», «Взрослая», «Штаб» | средний |
| Вторичный корпус | архив, сущности, книги, исследовательские страницы | средний |
| Шаблоны | язык, метаданные, канонические адреса, структурированные данные | низкий |
| Автоматизация | линтер Юникода и русской типографики | низкий |
| Регрессия | браузеры, мобильные размеры, средства доступности | низкий |
| Выпуск | единый релиз с обновлённой картой сайта | низкий |
| После выпуска | проверить обход, каноникализацию и ошибки страниц | низкий |

При параллельной работе редактора и разработчика реалистичный объём проекта — приблизительно **две–три рабочие недели**, причём самая большая часть времени приходится не на код, а на смысловую редактуру корпуса.

## Контроль качества, браузеры и автоматические тесты

### Браузерная матрица

Кириллицу следует проверять минимум в трёх независимых движках:

| Среда | Что проверять |
|---|---|
| Хромиум | основной настольный и мобильный рендеринг |
| Файрфокс | альтернативная обработка шрифтов и переносов |
| Вебкит | поведение, близкое к Сафари |
| мобильный Сафари | реальные размеры экрана и системные шрифты |
| мобильный Хром | Андроид, системные резервные шрифты |
| Виндоус | отличия системных шрифтов |
| макОС | метрики шрифтов и сглаживание |
| Линукс | самый вероятный сценарий перехода на резервный шрифт |

Средство автоматизации «Плейрайт» поддерживает Хромиум, Файрфокс и Вебкит, а также эмуляцию мобильных устройств, поэтому его удобно использовать как единый регрессионный слой. 

### Обязательные визуальные тестовые строки

На тестовой странице включить:

```text
Съешь ещё этих мягких французских булок, да выпей чаю.
Ёж, йод, подъём, объём, объявление, съёмка.
Щука, царь, жюри, эхо, юность, язык.
«Кавычки» — длинное тире – короткое тире.
№ 42, 10 %, 25 °C, ₽ 1 500.
война.com
```

Проверять:

- отсутствие пустых квадратов;
- одинаковость гарнитуры кириллицы и латиницы;
- отсутствие внезапной подстановки шрифта для `ё`, `й`, `ъ`;
- сохранение различий `Е/Ё`;
- правильное отображение кавычек и тире;
- перенос длинных русских заголовков;
- отсутствие обрезки прописных букв;
- масштабирование до двухсот процентов;
- ширины примерно 320, 375, 768, 1024 и 1440 условных пикселей.

### Автоматический линтер Юникода

Пример минимальной проверки:

```js
import fs from "node:fs";
import path from "node:path";

const CYR = /\p{Script=Cyrillic}/u;
const LAT = /\p{Script=Latin}/u;

const ALLOW = new Set([
  "война.com"
]);

function inspect(file, text) {
  const errors = [];

  if (text !== text.normalize("NFC")) {
    errors.push(`${file}: текст не нормализован в NFC`);
  }

  if (text.includes("\uFFFD")) {
    errors.push(`${file}: найден символ замены U+FFFD`);
  }

  for (const token of text.match(/\S+/gu) ?? []) {
    if (
      CYR.test(token) &&
      LAT.test(token) &&
      !ALLOW.has(token)
    ) {
      errors.push(
        `${file}: смешение кириллицы и латиницы: ${token}`
      );
    }
  }

  const badSpacing = /[А-ЯЁа-яё]\.[А-ЯЁ]/gu;
  if (badSpacing.test(text)) {
    errors.push(
      `${file}: вероятно отсутствует пробел после точки`
    );
  }

  return errors;
}
```

Проверка смешанных письменностей оправдана не только редакционно, но и с точки зрения безопасности: Юникод отдельно описывает смешанные и межписьменные визуально похожие последовательности. 

### Интеграционный тест страницы

```js
import { test, expect } from "@playwright/test";

test("русская локализация страницы", async ({ page }) => {
  await page.goto("https://xn--80advqd.com/");

  const lang = await page
    .locator("html")
    .getAttribute("lang");

  expect(lang).toBe("ru");

  const charset = await page.evaluate(
    () => document.characterSet
  );

  expect(charset.toUpperCase()).toBe("UTF-8");

  const body = await page
    .locator("body")
    .innerText();

  expect(body).not.toContain("\uFFFD");

  expect(body).not.toMatch(
    /[А-ЯЁа-яё]\.[А-ЯЁ]/u
  );
});
```

### Проверка всех страниц из карты сайта

В непрерывной интеграции для каждой страницы должны проверяться:

| Проверка | Ожидаемый результат |
|---|---|
| код ответа | успешный |
| кодировка документа | УТФ‑8 |
| `<html lang>` | `ru` |
| заголовок | не пуст |
| описание | не пусто и написано естественным русским |
| канонический адрес | существует и совпадает с политикой адресов |
| символ замены | отсутствует |
| смешение письменностей | отсутствует вне белого списка |
| ненормализованный Юникод | отсутствует |
| двойные/пропущенные пробелы | отсутствуют |
| незакрытые элементы | валидатор не сообщает критических ошибок |
| внутренние ссылки | не ведут на отсутствующие страницы |
| карта сайта | содержит канонические адреса |
| язык иностранных фрагментов | помечен там, где требуется |

### Редакционный линтер

Автоматически блокировать либо предупреждать о появлении списка нежелательных калькированных форм:

```json
{
  "запрещённые_без_обоснования": [
    "оценка риска",
    "пересмотр человеком",
    "окончательная власть",
    "обезденеживание",
    "книжные производные",
    "конфликт-процедура",
    "клиентела"
  ]
}
```

Важно: такой словарь не должен автоматически переписывать текст. Он должен требовать редакторского решения. Особенно опасно автоматически заменять многозначные понятия вроде «агентность», «обнаружимость» или специализированных военных терминов.

### Проверка доступности

Для каждого шаблона проверить язык страницы и язык отдельных иностранных фрагментов. ВКАГ относит определяемый язык страницы к уровню А, а определяемый язык частей — к уровню АА. 

Отдельный ручной тест с программой экранного доступа должен прослушать:

- русский основной текст;
- сокращение «ИИ»;
- фамилию автора;
- домен;
- названия книг;
- иностранное название, если оно оставлено в оригинале;
- числа и версии;
- элементы форм.

### Скриншоты

Надёжные снимки обычных веб-страниц в используемом исследовательском интерфейсе недоступны, поэтому в отчёте вместо искусственно реконструированных изображений приведены дословные примеры и проверяемые фрагменты страниц. Для приёмки проекта следует добавить визуальные эталонные снимки ключевых блоков в непрерывную интеграцию и сравнивать их по трём браузерным движкам; «Плейрайт» поддерживает такую многобраузерную конфигурацию. 

## Пошаговое задание разработчикам и редакторам

Ниже — готовое техническое задание, которое можно передать команде практически без переработки.

> **Цель работы:** привести весь русскоязычный корпус «война.com» к естественному современному русскому языку, сохранив авторский манифестный стиль, и исключить ошибки кириллицы, Юникода, локализации, доступности и поисковой разметки.
>
> **Сначала создайте полный список страниц из карты сайта и сохраните текущие заголовки, описания, основной текст, канонические адреса и дату изменения. Не меняйте адреса страниц без необходимости.**
>
> **Для каждого текстового блока определите, является ли необычная формулировка намеренным авторским термином или буквальной калькой. Авторские термины сохраняйте и определяйте при первом употреблении. Кальки переводите по смыслу, а не по форме исходной фразы.**
>
> **Немедленно исправьте доказуемые ошибки:** «клиентела» на «клиентела», ошибочное согласование «разведывательной отдача», отсутствие пробелов после точек и другие найденные грамматические дефекты.
>
> **Проверьте фразу о «поле, на котором возможно свободное решение» по исходному тексту. Если речь идёт об основании или минимальном уровне, используйте «основа», «базовый уровень» или эквивалент по смыслу.**
>
> **Создайте терминологический словарь. Для каждого понятия храните исходный термин, рекомендуемый русский вариант, допустимые варианты, запрещённые кальки, определение и примеры употребления.**
>
> **Разведите понятия «перевод», «транслитерация» и «кириллическая версия». Не используйте общее выражение «русская версия», если фактически речь идёт о переводе.**
>
> **Проверьте оригинальные названия всех книг и псевдонимов. Не интерпретируйте элементы «кс» и «Нет» по догадке. Храните исходное название отдельно от русской локализации.**
>
> **Для иностранных фрагментов, которые намеренно остаются на исходном языке, задавайте соответствующий атрибут языка. Основной элемент каждой русской страницы должен иметь `lang="ru"`.**
>
> **Убедитесь, что сервер и документы используют УТФ‑8. Все исходные текстовые файлы и динамически создаваемые строки нормализуйте в НФК.**
>
> **Добавьте автоматическую проверку на смешение латинских и кириллических символов в одном слове. Создайте минимальный белый список только для действительно намеренных смешанных форм, включая отображаемое доменное имя.**
>
> **Унифицируйте генерацию адресов. Сохраняйте человекочитаемые русские смысловые пути, но используйте единообразную техническую сериализацию символов вне машинной латинской кодировки.**
>
> **Проверьте `canonical` на каждой странице. Он должен указывать на единственную выбранную каноническую форму адреса.**
>
> **Не добавляйте `hreflang`, пока нет настоящих альтернативных языковых версий. При появлении английской версии создайте взаимные связи между русской и английской страницами.**
>
> **Добавьте структурированные данные только для реально существующих сущностей сайта, автора и произведений; значения должны совпадать с видимым содержимым.**
>
> **Проверьте основной шрифт на полный набор русской кириллицы. В каскадном списке обязательно оставьте универсальное резервное семейство.**
>
> **Настройте автоматические тесты в Хромиуме, Файрфоксе и Вебките. Проверяйте язык страницы, УТФ‑8, символ замены, смешанные письменности, отсутствие пропущенных пробелов, заголовок, описание, канонический адрес и целостность внутренних ссылок.**
>
> **Перед выпуском проведите отдельную человеческую редактуру главной страницы, «Хартии», «Периметра», «Цензуры», «Взрослой», «Строить», «Штаба», «Бунтаря», «Архива» и страницы автора. Машинной проверки для этих страниц недостаточно.**
>
> **После первого прохода прочитайте страницы вслух без просмотра исходного английского текста. Любая фраза, которую невозможно естественно произнести по-русски или понять без обратного перевода на английский, отправляется на повторную редактуру.**
>
> **Последний проход выполняйте не как переводчик, а как русский редактор: проверяйте управление, сочетаемость, падежи, род, местоименные связи, порядок слов, тавтологии, чрезмерные отглагольные существительные, кавычки, тире и терминологическую последовательность.**

### Критерии готовности

Русская версия может считаться прошедшей приёмку, когда одновременно выполняются следующие условия:

**Язык:** носитель русского может читать главные страницы без ощущения буквального перевода; необычные фразы воспринимаются как осознанный авторский стиль.

**Терминология:** один концепт не меняет русское название от страницы к странице без причины.

**Кириллица:** отсутствуют случайные латинские двойники кириллических букв.

**Юникод:** весь корпус проходит НФК-проверку.

**Грамматика:** отсутствуют известные ошибки согласования и словарные формы типа «клиентела».

**Типографика:** нет пропущенных пробелов после знаков препинания, случайных дефисов вместо тире и непоследовательных кавычек.

**Доступность:** основной язык программно определяется как русский, а значимые иностранные фрагменты корректно размечены. 

**Поисковая техническая часть:** карта сайта использует УТФ‑8 и абсолютные канонические адреса; канонические ссылки согласованы с картой; языковые альтернативы объявляются только при наличии настоящих альтернативных страниц. 

**Браузеры:** ключевые страницы проходят одинаковый набор тестов в Хромиуме, Файрфоксе и Вебките. 

## Авторитетные источники и итоговый приоритет работ

Для языковых решений первым источником следует сделать **«Грамоту.ру» и словари Института русского языка**, особенно для орфографии, нормативных форм и спорных новых слов. Например, ресурс подтверждает нормативную форму «клиентела» и современное употребление «агентность». 

Для кодировки, нормализации и смешения письменностей опорными источниками должны быть **стандарты Юникода**, в особенности правила обработки интернационализированных доменных имён и механизмы обнаружения визуально сходных символов разных письменностей. 

Для языка документа и доступности — документы **Консорциума Всемирной паутины**: `lang` должен определять основной язык страницы, а смена языка внутри документа должна быть размечена там, где она существенна. 

Для адресов, карты сайта, локализованных вариантов и метатегов следует ориентироваться на официальную документацию поисковой системы: русские слова допустимы и полезны в адресах, символы вне машинной латинской кодировки следует корректно кодировать, карты сайта должны быть в УТФ‑8, а `hreflang` предназначен именно для альтернативных локализованных страниц. 

Для шрифтов следует ориентироваться на спецификацию каскадных таблиц стилей: универсальное семейство является резервным механизмом, а переход к другому шрифту способен изменить метрики и читаемость текста. 

Для многобраузерной автоматизации практичным эталоном является официальная документация «Плейрайта», который запускает один набор испытаний в Хромиуме, Файрфоксе и Вебките и поддерживает мобильные конфигурации. 

Финальный порядок приоритетов для «война.com» должен быть таким:

**Сначала — доказуемые ошибки и ложные кальки.** Они сильнее всего подрывают ощущение подлинного русского текста.

**Затем — единый терминологический словарь.** Без него точечная редактура снова расползётся на разные варианты.

**После этого — полный нативный редакторский проход.** Особенно по «Хартии», «Периметру», «Цензуре», «Взрослой» и «Штабу», где концептуальная плотность максимальна. 

**Параллельно — автоматические проверки Юникода, смешения письменностей, пробелов и метаданных.** Это превращает исправление из одноразовой кампании в постоянную гарантию качества. Стандарты Юникода отдельно подчёркивают, что визуально похожие символы разных письменностей требуют специальных проверок и не устраняются одной лишь нормализацией. 

**И только затем — косметическая стилистическая полировка.** Самобытность сайта желательно сохранить. Цель проекта не в том, чтобы сделать его «обычным русским сайтом», а в том, чтобы читатель ясно чувствовал разницу между намеренно необычной авторской фразой и случайным следом английского синтаксиса.
