Pull to refresh

Переводы, привязанные к источнику

Reading time 6 min
Views 4.5K
Как выглядят переводы? Это документ, оформленный на другом сайте, других страницах, но который повторяет последовательность мыслей автора и структуру его текста. Бывает, что авторский текст меняется, особенно часто это случается в документации — основном профессиональном применении переводов, с которыми приходится встречаться программистам и другим пользователям технической продукции. Если привязать перевод к исходному коду статьи, документации или книги так, чтобы скрипт показа перевода следовал по структуре, проверял изменения и отмечал непереведённое, то становится очень легко следить за изменениями текстов и переводить изменения. Новые версии текстов не становятся слишком отличными от старых и прежние переводы остаются частично работать. Перевод сам будет следить за своей актуальностью. Все прочие тексты будут представлять собой просто слепки, имеющие меньшую ценность, чем созданный и поддерживаемый таким способом перевод. Да, за их состоянием скрипт или сервер может следить, чтобы вовремя сообщить держателям слепков об устаревании. Слепки полезны не только как источник контента владельцам сторонних ресурсов, но нужны пользователям для работы в оффлайне или в составе пользовательских программ. Но более ценным будет всё же перевод, привязанный к структуре и оформлению оригинала. Он же поможет следить не за копией сайта, а за самим оригинальным сайтом в случае работы с документацией.

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

Что может быть источником данных для переводов? Уже имеющиеся переводы из разных мест сети и их копии. Для установления соответствий нужен файл соответствий — та же технология, которая используется в Source Maps. Файлы соответствий могут лежать там же, где переводы или в третьих местах. Наконец, нужно место, где хранятся стартовые ориентиры — информация о том, где искать данные о переводах и о файлах соответствий. Очевидно, это будут каталоги ссылок на необходимые ресурсы. Копию ссылок и самих ресурсов пользователь делает, исходя из своих потребностей.

Очень похожие задачи решают преобразователи представлений информации. Их задача — показать тесты без переводов, но в ином структурном оформлении (выбрать интересующие новости, как в агрегаторе) и отслеживать изменения формы подачи информации, чтобы вовремя сообщить о несовместимом формате и необходимых обновлениях. Формат представления данных при этом выбирается пользователем — это дополнительная задача по сравнению с показом переводов строго в рамках форматов тех сайтов, на которых они делаются.

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

Если оригиналы исчезают из доступа или неожиданно меняют структуру, их информация будет нужна для продолжения пользования, если сама информация актуальна. Поэтому серверы или индивидуальные ресурсы копирования выполняют необходимую функцию сети распределённых клиентов, примерно как в P2P, помогают работать в оффлайне или интранете и одновременно показывают актуальность той или иной информации — копируется то, что важно и теми, кто может позволить себе хранить объёмы. Это ничем не отличается от обычного человеческого запоминания информации — исконного свойства мозга, помогающего его носителю выживать в эволюции.

Поэтому сеть данных рассматривается вместе с функциями кеширования и восстановления информации в случае потери оригинальных источников.

Отдельную функцию представляют собой системы преобразования представлений. Насколько они нужны? С одной стороны, те же переводы на сторонних ресурсах могут подавать информацию в своём представлении, и это даже считается хорошим тоном по сравнению с простым копированием дизайна представлений различными сайтами. Так ли хорош различный дизайн представлений в случае просмотра структур информации (документация, книги, страницы помощи и обсуждений)? Во-первых, дизайн оригинала подчёркивает происхождение информации. Если дизайн не выдаётся за свой собственный источник информации, то никто не вводится в заблуждение об источниках. С другой стороны, разнобой в дизайнах подачи может мешать увидеть общее, что содержат очень различные источники из разных областей знаний — описание различных API, различные словари и книги о похожей тематике. Лучше, если решение о представлении принимает получатель информации — он может смотреть её как в формате оригинала, так и в любом своём используемом формате. Если формат не может показать часть данных, задача инструмента показа — сообщить об этом в формате показа. К примеру, о невозможности отображения экзотических плееров и форматов данных, связанных с ними, или об отсутствии места для показа примечаний.

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

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

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

Чтобы не создавать необходимости установки аддонов (но в будущем это вполне может стать модулем браузера), сайт может сам подать необходимые скрипты для отображения переводов и представлений.

Роль и место поисковиков


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

Вернёмся к нашим переводам


Для встраивания перевода в любой сайт технически нужно несколько описанных здесь подсистем: анализ структуры данных в представлении сайта; контроль целостности представления; информирование читателя и переводчика об изменениях; файлы соответствий (map-файлы); встраивание текстов на места оригинальных текстов. Или отображение собственного представления с генерацией как оригинала, так и перевода заново.

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

Интересно, что при таком подходе можно использовать переводы терминов и сокращений по вкусам читателей, поддерживая те или иные языки предметных областей. Например, для неопытных в теме читателей разворачивать сокращения. А для очень опытных читателей включать «удаление воды» из текстов, аналогично тому, как происходит удаление рекламы. Ведь семантический анализ — совсем небольшой шаг от файлов меппинга, которые уже будут присутствовать в переводах. Если кто-то озадачился переводом, то так же может озадачиться отметками терминов для создания адаптированных текстов, или это может пытаться сделать программа автоматически.

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

Аналогичная проблема есть и в профессиональных знаниях: если новичок читает сложную для него статью, проблему составляет множество неизвестных терминов и идей. Адаптированные тексты, учебники могли бы и даже должны замечать этот момент, узнав от читателя об уровне его знаний (тоже просто некий файл из освоенных им понятий в предметной области, полученный на основе прежних уроков и тестов). Если читатель не готов к освоению из-за фундаментальных пробелов (незнание функционального программирования), система советует ему пройти нужные курсы и показывает их обычный уровень трудности.

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

Довольно очевидно становится, что системы просмотра и работы с данными в вебе будут идти по такому пути, поэтому стоит начать думать о создании подобных систем перевода.
Tags:
Hubs:
+1
Comments 1
Comments Comments 1

Articles