Я нещодавно перекладав нові рядки для JOSM. Повинен вже бути втулок TrustOSM, який на основі GPG дозволяє накладати цифрові підписи на дані. Тож можна доопрацювати бота таким чином, щоб він перевіряв наявність таких підписів.
Написал шапку список того, что делает бот. Продублировал в шапке. Позже перенесу в Вики.
То, что делается сейчас:
Все сокращения в топонимах “разворачиваются”
Топонимы переносятся в конец названия
Все топонимы записываются с маленькой буквы
Исправляются типичные ошибки. тупік → тупик, вулица → вулиця, и ещё пяток других
Если в name записано русское название, и присутсвует “name:uk”, name записывается в name:ru (если опять же, его не было), и перетирается значением из “name:uk”
Если name:en отсутствует, и в “name” у нас обнаружен украинский язык, и назвнаие корректно (присутсвует топоним в конце), оно генерится транслитерацией плюс перевод топонимов
Если пишут “1-й провулок Васюкова”, оно превращается в “1-й Васюкова провулок”
Что планируется делать:
Обработка 1-й, 2-й и т.п.
Исправление английских топонимов – сокращения и title case. Там тоже часто пишут “str.”
Проверка некорректной транслитерации (тут ещё репу почесать надо, чтобы ни в коем случае не перетереть исправленное автором название, буду много тестировать)
Попытаться обработать случаи, когда топоним не указан вообще. “Герцена”, “Карла Лібкнета” и т.п. Там нужно добавлять “улица”
“Автоперевод” названий с русского языка. Если есть уже где-то улица с обоими названиями, взять оттуда. Но тут у меня большие сомнения
Обновлять английскую транслитерацию, когда улица переименована
Неверные теги. Бывают пишут “name:ua” и “name:rus”
Исправлять ошибки в “name:uk”
Автодобавление “name:uk”, было обсуждено раньше, они нужны. Брать из “name”, если там действительно украинский язык
В общем, подход в боте такой: исправлять только явные, гарантированные ошибки.
Дивись у мене у щоденнику останній коментар, там є посилання на обговорення англомовної спільноти.
В двох словах, це допоможе рендереру, бо не буде потреби вияснювати мову території, де знаходиться вей. Але звичайно, якщо україномовна спільнота вирішить, що не треба, я цього робити не буду.
я цю неприємну особливість osm примітив ще давно
вказування локальних імен дозволяє рендереру вибрати найбільш доречний варіант для відображення
але відсутність можливості вказати мову локального імені зводить нанівець всі переваги багатомовної підтримки
зараз маємо ситуацію коли набір тегов містить коди будь якої мови, але не локальної
якщо записати локальну назву у тому ж форматі що і іноземну, то в результаті отримаємо дублювання інформаціі та всі проблеми, з цим пов’язані
як можна вирішити цю проблему без глобальних змін я не уявляю
Во! Я з цього і починав. Тобто, “Не марнуйте час на name:en”. У ході дискусії виявилося, що десь можуть бути виключення, але це мізерна частина, то ж бот буде виставляти name:uk та name:en.
Сьогодні бо ще й зазирнув у всі name:uk і повиправляв помилки там. Було 101 помилка по країні. В основному це були виправлення скорочень, правильні апострофи, і у трьох випадках перестановка топоніму на кінець назви. Я також порівняв name та name:uk. У 22-ох випадках вони відрізнялися. Виправив руками, так було простіше.
До цього додалися 167 транслітерацій, і 14 виправлень. Непогано, бо це менше 10% помилкових нових назв.
Тож, на цей час ми маємо:
1104 помилкових російських назв
2966 помилкових українських назв
1760 випадків російської мови у теґу name
Помилкові, це ті назви, де відсутній топонім. Значну їх частину буде виправлено в одному з майбутніх запусків бота.
Хочу ще раз підкреслити, що до цих пір я перевіряю всі виправлення перед завантаженням на сервер. Поки що не довелось виправляти те, що бот нагенерив, але вважаю повністю автоматичну роботу ще передчасною.
Сьогодні додав слова вулиця та улица для тих веїв, де в назві було одне слово, і це не була назва траси.
Перевірив всі результати перед заватнаженням, було пару речей на кшталт “Гагарина вулиця”, але залишив як є, простіше виправити вручну, ніж ліпити велику купу перевірок. Таких було може 3 на майже 2.5 тисячі найменувань.
Також було додано 75 англыйских назв, та зроблено 76 виправлень назв, з них 36 заміна “Ленина” на “Леніна” в українських назвах. Тобто, справжніх виправлень усього 29.
Я редактирую карту в Potlatch, хочу чтобы были названия на русском языке, куда мне добавлять код “name:ru” в Alternative name? Или без всяких кодов там указывать название улицы на русском?
На территории Украины название должно быть на украинском. Если делать его на русском, это создавать работу другим, ибо кто-то должен будет это рано или поздно за вами исправлять. Код name:ru должен писаться в… name:ru! В потлаче его придётся добавлять руками в закладке Advanced.
Понял, спасибо!
Тогда есть просьбочка не редактировать меня (Шахтёрский район Донецкой области), я лишь некоторое время подержу русскоязычные названия, потом пересниму карту и сменю названия на украинские.
Спасибо, получилось! Значит буду сразу теперь названия переделывать на правильные, только кадастр улиц надо поискать, чтобы правильно названия писать по украински.