
Учебная задача предусматривает сбор текстов существующей языковой версии. Она не доказывает, что сайт уже готов к нескольким языкам или что автоматический поиск извлечёт всё без ручной проверки. Цель состоит в проверяемом комплекте исходных строк, который можно вернуть в интерфейс без потери смысла и структуры.
Определите границы переводимого материала
Сначала перечислите пользовательские пути: главная, каталог, карточка, формы, корзина, кабинет и другие реально существующие экраны. Затем добавьте состояния, которые не видны при обычном открытии: ошибка, пустая выдача, ожидание, успешная отправка и недоступный сервис. Именно они часто остаются на старом языке.
Отдельно перечислите редакционный контент и интерфейсные строки. Статья может храниться в CMS целиком, а подпись кнопки в файле локализации. Для них нужны разные способы извлечения и обратной загрузки. Смешение всего в одну бесконтекстную таблицу затрудняет сопровождение.
Решите, входят ли письма, PDF, изображения с текстом и административные подсказки для редактора. Если они вне задачи, ограничение фиксируют. Не называйте комплект полным для всего продукта, когда собран только публичный первый экран.
Инвентарь источников важнее поиска кириллицы
Поиск текста в коде полезен, но не обнаружит строки из базы, внешнего сервиса или динамической конфигурации. С другой стороны, он найдёт комментарии разработчиков, которые не относятся к переводу. Поэтому автоматический поиск является одним из инструментов, а не доказательством полноты.
Составьте карту источников: CMS, шаблоны, словари локализации, конфигурации форм, письма и генераторы документов. Для каждого укажите способ извлечения и ответственного за возврат. Это позволяет разделить работу и не потерять строки, которые отсутствуют в репозитории.
Если сайт уже использует систему локализации, сохраняйте её ключи и правила. Создание второго параллельного словаря ради одной языковой версии обычно осложняет работу. Сначала изучите существующие соглашения и только затем решайте, как дополнить отсутствующий реестр.
Каждой строке нужен контекст
Короткое слово может быть существительным, командой или частью сообщения. Например, «Заказ» в заголовке и в кнопке действия имеет разную роль. Переводчику нужны место, назначение и при необходимости учебный скриншот. Один столбец с исходным текстом не передаёт эту информацию.
Устойчивый ключ должен обозначать смысл, а не текущую фразу. Если текст меняется редакционно, ключ может сохраняться, когда назначение осталось прежним. При этом одинаковые строки с разным контекстом не следует автоматически объединять только ради уменьшения числа записей.
Метаданные контекста помогают и проверке: ограничение длины, тип элемента, допустимая разметка и пример переменных. Официальные материалы по интернационализации подчёркивают значение контекста и готовности интерфейса к изменению длины строк. Конкретные ограничения нужно измерить в существующем дизайне.
| Поле реестра | Зачем нужно | Пример учебного смысла |
|---|---|---|
| Ключ | Обратная привязка | Действие отправки формы |
| Исходник | Текст для перевода | Короткая подпись кнопки |
| Контекст | Правильная грамматика и роль | Команда посетителю |
| Переменные | Сохранение динамических данных | Количество найденных товаров |
| Место | Проверка после возврата | Экран и состояние |
Переменные нельзя переводить как обычные слова
Сообщение может содержать количество, название товара или дату. Обозначьте переменные и объясните их значение. Перевод должен сохранять допустимый синтаксис подстановки. Если переводчик случайно изменит ключ переменной, сообщение может сломаться только при конкретном состоянии.
Не собирайте сложную фразу из независимых кусочков, если грамматика целевого языка требует другого порядка. Целая смысловая строка с параметрами обычно даёт переводчику больше контроля. Но рефакторинг существующей системы должен быть ограничен реальной необходимостью и проверен на потребителях.
Для количества могут потребоваться разные формы. Не обещайте универсальное правило двух вариантов для всех языков. Используйте возможности принятой системы интернационализации и проверяйте целевую локаль. Учебные значения должны включать несколько характерных количеств, а не только 1 и 2.
Изображения и документы требуют отдельного реестра
Текст внутри растровой картинки не попадёт в обычную выгрузку строк. Перечислите такие изображения и определите, нужно ли заменить их или вынести подписи в HTML. Для технического скриншота может быть важна реальная версия интерфейса, и перевод поверх него нельзя выдавать за официальный экран без пояснения.
PDF и письма могут использовать собственные шаблоны. Если они относятся к пользовательскому пути, включите их в план локализации. Отсутствие этих материалов в основном словаре не означает, что они автоматически переведены вместе с сайтом.
Для учебных скриншотов используйте синтетические данные и нейтральное оформление. Реальные имена, домены и контакты клиентов не нужны для объяснения контекста строки. Проверять нужно конечный кадр, а не только исходный документ реестра.
Метаданные и адреса не переводят механически
Title, description, alt и доступные подписи относятся к текстовому комплекту, если они используются. Адреса страниц и технические коды имеют другую роль. Их изменение требует отдельной стратегии маршрутов, перенаправлений и языковых связей. Переводчик не должен случайно менять URL как обычную фразу.
Языковые версии должны иметь согласованную структуру и понятные переходы. Текущие рекомендации Google описывают связь локализованных URL, но не заменяют редакционную работу над содержанием. Наличие hreflang не исправляет непереведённые ошибки формы или смешанные языки на одной странице.
Сохраняйте различие языка и региона. Одна языковая версия может использовать разные региональные форматы, а регион не определяется только текстом кнопки. Эти требования обсуждают отдельно и не угадывают по исходной задаче извлечения строк.
Как проверить полноту до перевода
Пройдите согласованные пользовательские сценарии и сопоставьте каждое видимое состояние с реестром. Для ошибок используйте учебные данные. Убедитесь, что строки из динамически открываемых окон и повторных форм тоже имеют источник и ключ.
Автоматическая сверка может искать оставшиеся жёстко заданные строки в известных шаблонах. Но вердикт должен сохранять область: проверены такие-то источники и маршруты. Без доступа к части кабинета нельзя объявить полный охват всего сайта. Недостающий доступ фиксируют конкретным пунктом, продолжая остальные разделы.
Уберите из передаваемого комплекта секреты, клиентские данные и технические комментарии, не нужные переводчику. Реестр предназначен для смысла интерфейса, а не для раскрытия всей конфигурации проекта.
Возврат переводов проверяют по ключам и версиям
Между выгрузкой и возвратом исходные строки могут измениться. Нужна версия комплекта или отметка изменения. Перевод старой фразы нельзя молча применить к новому смыслу под тем же ключом. Конфликт должен быть виден редактору или разработчику.
Проверьте отсутствие пропущенных и лишних ключей, сохранность переменных и допустимость разметки. Затем выполните рендер на учебной копии. Технически корректный файл словаря не доказывает, что текст помещается на кнопке или грамматически связан с соседним элементом.
Не обрезайте перевод автоматически ради прежней ширины. Иногда нужен другой макет или более короткая согласованная формулировка. Решение принимается по смыслу и пользовательскому действию, а не по формальному совпадению числа символов с исходником.
Приёмка после локализации
Проверьте длинные строки, переносы, даты, числа, валютные подписи и состояния ошибок. Если поддерживается иной порядок письма, это отдельный существенный сценарий. Не называйте адаптацию готовой только после замены слов на первом экране.
Для быстрой ранней проверки полезна псевдолокализация, если существующий инструментарий её поддерживает. Она помогает обнаружить жёсткую ширину и непереводимые фрагменты, но не заменяет настоящий перевод. Результат такой проверки нельзя выдавать за готовую языковую версию.
Принятый комплект содержит тексты, контекст, ключи, переменные и маршрут проверки. Он позволяет переводить и обновлять сайт предсказуемо, сохраняя смысл действий и не теряя скрытые состояния интерфейса.
Учебный комплект для переводчика
Возьмите один экран каталога, одну форму и одно письмо. Для каждого соберите постоянные подписи и состояния ошибки, ожидания и успеха. Добавьте строку с количеством и переменной названия. Такой небольшой набор показывает структуру реестра до масштабирования на весь сайт.
Для одинакового короткого слова создайте две записи с разным назначением, если смысл действительно различается. Покажите контекст каждой и допустимую длину. Это помогает проверить, что процесс не объединяет строки механически и сохраняет возможность корректной грамматики.
Снимок экрана должен содержать только учебные данные. Отметьте место строки, но не перекрывайте сам контекст. Для скрытого состояния можно сделать отдельный кадр или схему. Реальная клиентская переписка и контакты не дают переводчику нужной дополнительной информации.
Проверка переменных при возврате
Создайте тестовый перевод с изменённым порядком слов и сохранёнными параметрами. Подставьте короткое и длинное название, а также несколько количеств. Сообщение должно оставаться грамматически и технически корректным в пределах выбранного механизма локализации.
Затем намеренно измените имя одной переменной в учебном файле. Проверка должна обнаружить несоответствие до пользовательского показа. Молчаливый вывод необработанного ключа в письме или форме не считается допустимым способом диагностики.
Если перевод содержит разрешённую разметку, проверьте её структуру отдельно. Переменная с пользовательским текстом не должна превращаться в HTML-код. Безопасная подстановка и перевод являются связанными, но разными границами обработки.
Как проверять длину без искусственного обрезания
Удлините учебные строки и откройте узкий экран. Найдите кнопки, которые теряют часть смысла, и области с жёсткой высотой. Сначала определите, можно ли разрешить перенос или изменить компоновку. Автоматическое удаление конца перевода не должно скрывать действие.
Для короткой кнопки иногда нужен согласованный редакционный вариант. Его выбирают по назначению, а не по совпадению числа символов с исходником. Переводчик должен знать, где текст ограничен и почему, чтобы предложить осмысленную короткую формулировку.
Проверьте также поля с числами и единицами. Локаль может менять порядок, разделители и пробелы. Не собирайте итоговую строку из форматированных фрагментов, если система уже имеет поддерживаемое средство локализации соответствующего типа.
Версия реестра и непокрытые области
У комплекта должен быть момент выгрузки и перечень источников. Если часть кабинета недоступна, она остаётся отдельной строкой плана с нужным доступом. Нельзя назвать выгрузку полной и оставить это ограничение только в памяти разработчика.
После возврата сравните изменившиеся исходники. Новая кнопка или уточнённая ошибка требуют отдельной записи, даже если остальной словарь уже принят. Поддержка перевода должна следовать изменениям продукта, а не повторяться огромным ручным сбором с нуля при каждом выпуске.
Принятый процесс позволяет объяснить происхождение каждой строки и место её проверки. Это делает локализацию воспроизводимой, сохраняя контекст и не раскрывая лишние сведения о клиентах.
Реестр должен позволять найти строку после изменения дизайна. Контекстный ключ и описание роли полезнее одного номера строки исходного файла, который быстро меняется. Техническое место остаётся дополнительной подсказкой.
Связанные разборы
Для смежных решений пригодятся материалы: Архитектура сайта услуг: как построить разделы без страниц-дублей. Общая структура многоязычного магазина помогает собрать комплект перевода. Динамические сообщения, ошибки форм и служебные тексты проверяются наравне с карточками.
Вопросы по теме
Достаточно ли выгрузить тексты страниц?
Нет для полного интерфейса. Нужно проверить кнопки, ошибки, письма, метаданные и другие источники в согласованных границах.
Нужно ли объединять одинаковые исходные строки?
Не автоматически. Одинаковое слово может иметь разную роль и требовать разного перевода.
Документация и источники
- W3C: веб-интернационализация: Контекст, язык и структура интерфейса входят в подготовку локализованного сайта.
- Google: локализованные версии: Языковые версии и их URL требуют согласованности; это не автоматическое извлечение текстов.