Решение двух задач для проекта: связка фрагментов на разных языках и соответствие контента в хайбрисе | 11 февраля 2018 года, 11:41

Сегодня закончил с поиском и проверкой решения для интересной задачи, нужной мне для проекта, который мы на прошлой неделе запустили. Задача выглядит так: у вас есть 10 xml-ок, являющихся выгрузкой из старой CMS-системы, по одной на языковую версию сайта. Старая система позволяет конструировать странички каждой версии произвольно, из-за чего xml-ки похожи друг на друга, но не являются точными копиями по структуре. При этом какой-нибудь текст о компании может быть представлен на всех языках где-то в недрах каждой xml-ки. В первой он может быть чуть ближе к началу, во второй -чуть дальше, в третьей его может не быть совсем. Но относительное расположение блоков внутри каждого файла постоянно. Если какой-то текст о компании идет между двумя другими, то это скорее всего так и в другом файле (если там вообще есть перевод этих двух других). Задача номер один – связать разные фрагменты про одно и то же, но на разных языках. Чтобы по одному-двум известным языкам определить переводы на все остальные (или сколько там будет доступно).

Задача номер два – это взять 4 языка, на которых сайт уже запущен, и найти соответствия контента в четырех XML на этих языках, и атрибутов компонентов в хайбрисе, где этот контент много месяцев назад был залит, и после еще активно редактировался клиентом. После того, как эти соответствия будут найдены, можно в существующие компоненты загрузить остальные шесть языков, т.к. псле первого упражнения у нас есть связки. Однако точных совпадений между тем, что хайбрисе, и тем, что в XML почти нет, но есть примерные. Из примера выше – текст о компании был разделен на три куска, и два из них подредактированы, но в целом он такой же, какой был в старой CMS-ке. Так вот, задача связать компоненты из системы, содержащие тексты в текущей редакции с текстами из XML-ок многомесячной давности. Ну насколько это возможно точно. Остальное можно и руками допилить.

Обе задачи сегодня успешно решил. Вот такие челенжи я прям люблю)

Оставьте комментарий