Обратный Translate (из EN в RU)

Главные вкладки

Аватар пользователя 7Rei 7Rei 12 мая 2019 в 1:01

Добрый вечер коллеги!
Есть задача: В текстовом поле хранится название компании на английском, его нужно перевести на наш могучий русский ("как слышится", русскими буквами). Например: Apple -> Эпл, Сони -> Сони, Samsung -> Самсунг.
Есть ли простой способ это реализовать? На сколько понял модуль translitiration такого не умеет.
Спасибо.

Комментарии

Аватар пользователя bumble bumble 12 мая 2019 в 1:54

Написать небольшой процессор, который будет "переводить" по табличке соответствий. Ну, или чуть больший процессор, если нужна доп. логика (учет пред./след. звуков, склонения, любое морфирование).

Аватар пользователя 7Rei 7Rei 12 мая 2019 в 13:27

Да, думал об этом, но написание своего процессора не вписывался в рамки "простой способ" Smile
Спасибо за ответ!

Аватар пользователя elia elia 12 мая 2019 в 13:46

Самое надежное: работать с оригинальными названиями.
Но если без перевода никак, то два самых простых пути:
1. При ограниченном наборе названий добавить свою таблицу транслитерации. При этом сразу же там предусмотреть возможность склонения по родам, как это принято в "великом и могучем". Так же, если предполагается ручной ввод названий, такая таблица позволит предусмотреть самые характерные ачепятки (Frod вместо Ford, Aple -> Apple, Phillips -> Philips и т.д.)
2. Использовать сторонние API. Дока по Google Translation: https://cloud.google.com/translate/docs/

Аватар пользователя 7Rei 7Rei 12 мая 2019 в 15:35

Спасибо за ссылку elia
2. Пока протестировал:
Яндекс переводчик (https://tech.yandex.ru/translate/doc/dg/reference/translate-docpage/) и Яндекс словари (https://tech.yandex.ru/dictionary/doc/dg/reference/lookup-docpage/).
Первый переводить Samsung как Самсунг отказывается (хотя translate.yandex.ru переводит как нужно).
Второй переводит отдельные слова, но если подсунуть что-то более сложное, переводить отказывается (да и не для этого он).
1. Склонять и проверять на правильность введенных данных не нужно, т.к. поле заполняется исключительно модератором. Все похоже сводится к тому, что готовых вариантов под задачу еще нет.

Аватар пользователя gun_dose gun_dose 12 мая 2019 в 15:45
1

поле заполняется исключительно модератором

Так почему бы модератору не заполнять сразу русский транслит? А ещё стоит учитывать, что задача вовсе не так проста, как кажется. Взять хотя бы Xiaomi или Hyundai.

Аватар пользователя 7Rei 7Rei 12 мая 2019 в 19:17

Да уже вкусил, взял простой процессор (пример кода php: https://ploshadka.net/transliteration/), добавил свои переводы букв, далее добавил основные слова как они звучат по русски (как их люди ищут Smile ). Получившийся скрипт положил в Rules с запуском после создания ноды.