add name:ru to all objects in Russia dump that have name:en

Вот именно!
Править ТАКИМ ОБРАЗОМ и С ТАКОЙ ЦЕЛЬЮ в самой базе - абсолютно нелогично.
Хочешь править в базе, в ДАННОМ СЛУЧАЕ - правь ручками.
Хочешь АВТОМАТИЗИРОВАННУЮ правку - правь у себя в локальной копии.

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

+100500

Без разбору копировать name в name:ru - абсолютно бесцельно.

И это правильно.
Причин несколько:

  1. Русский - единственный государственный язык, действующий на всей территории РФ.
  2. Русский - один из 6 мировых языков.
  3. Русский - 4-й по распространенности язык мира.
  4. Просто из любых соображений - единые правила наполнения тегов гораздо лучше, чем отсутствие всяких правил.
    В любом случае один из name и name:ru на территории РФ явно лишний. Если употреблять name:ru, тег name оказывается совершенно ненужным.
    Кстати, существующая практика употребленя name:?? на территории РФ как раз с этим согласуется (если не считать отдельных названий, набранных латиницей). Например, вот что можно обнаружить : (список далеко не исчерпывающий)
  18      2    22744588 "alt_name:vi"
  20      2   311999396 "name:chm"
  21      3    39300272 "name:cs"
  22     18      421012 "name:de"
  23      1    27503927 "name:el"
  24   1381      421012 "name:en"
  25      3   311999397 "name:eo"
  26      2    39300272 "name:es"
  27      2   658312593 "name:eu"
  28      1    27503927 "name:fa"
  29      2       60189 "name:fi"
  30      4      184217 "name:fr"
  31      1    27503927 "name:he"
  32      2   191892583 "name:hr"
  33      2    39300272 "name:hu"
  34      1    27503927 "name:is"
  35      1    27503927 "name:it"
  36      1    27503927 "name:lv"
  37      1    27503927 "name:nl"
  38      1    27503927 "name:no"
  39      5    53888268 "name:pl"
  40      4       60189 "name:sk"
  41      4       60189 "name:sl"
  42      2       60189 "name:sv"
  43      1    27503927 "name:udm"
  44      5       60189 "name:vi"

Объясни это татарам и прочим народам, проживающим на территории нашего многонационального государства.

Объясни это англоязычным.

Объясни это китайцам.

Объясни это белорусам, канадцам и всем остальным жителям стран с несколькими государственными языками.

Потом объясни это всё авторам всех конвертеров, навигаторов, рендереров, чтобы они добавили зависимость от государственных языков.
Ну и наконец, добейся выполнения этих правил во всём мире и всё будет хорошо. :slight_smile:

Покажи мне хоть одного татарина, не знающего русский язык.

Англоязычные пусть пользуются тегом name:en на территории нашей страны и name - на территории Великобритании и США.

Китайцы пусть сами рисуют name:cn.

Мы обсуждаем конкретны тег name:ru. Каждая страна имеет право иметь свои национальные особенности. И вообще, что русскому хорошо, то немцу - смерть.

С какой стати?
Почему я должен решать за кого-то его проблемы? Думаю, что каждый автор в состоянии самостоятельно решать подобные задачи. А ежели не в состоянии, и по этому поводу возникает острое желание покурочить общемировую базу под собственные необдуманные потребности, то - по рукам.

Мои десять рублей:
В РБ два государственных языка - белорусский и русский.
В name уходит руссокязычное либо общепринятое (типа McDonald’s) название.
В name:ru - исключительно русскоязычное.
В name:be - белорусское, официальной орфографией.
В int_name - белорусское, транслитерированное с диакритикой (типа Žlobin)
В name:en - английское, типа Zhlobin

Таким образом, посыл о ненужности тега name:<язык_страны> неверен в корне. Негоже делать метаинформацию зависимой от геометрии подобным образом.

т.е. предполагается писать
name=McDonald’s
name:ru=Макдональдс

?

Да. У нас пока что нет идиотских законов, обязывающих писать вывески кириллицей, так что McDonald’s написан на местности латиницей :slight_smile:

Макдоналдс, без ь. Ничего идиотского в законе не вижу, защита родного языка и призываю на территории РФ пиcать в name на кириллице, кроме исключений на латинице.

Они есть. Вообще россиян плохо понимающих русский язык не так уж и мало. Для ориентировки посмотрите результаты переписи 2002 года.

andriano,

не ошибается тот, кто не делает. Автоматические правки необходимы, ты же сам завёл вопрос о необходимости сведения к одному знаменателю: http://forum.openstreetmap.org/viewtopic.php?id=7534 :slight_smile: Выполнять эта работу руками - сизифов труд. Автоматические правки уже были в прошлом, и так как поломок не было, то они проходили незамеченыными.

  1. проблема с неотрабатыванием <notag локализована.
  2. как бороться с тем, что дамп обрезает содержимое ways и relations, пока не ясно. Пока не выясним, редактировать автоматически будет только nodes.

Конкретно претензии к name:ru я принять не могу. Ну вот это уже извините совсем бред:

Предлагается писать AI по устранению человеческих ошибок? как то name:en на кириллице :slight_smile: Но написать такой AI невозможно. Предложенный выше алгоритм ошибётся в случае украинского языка - опознает его как русский, или немецкого без умляутов - опознает как английский. Его конечно можно усложнять, но в конечном счёте задача по устранению человеческиз ошибок нерешаема.

А с такой, что OSM интернациональный. И многий софт, поддерживающий OSM, тоже интернациональный. И правило, действующие только на отдельной территории равносильно недействующему.

Скорее даже принятое на местности (т. е. обнаруживаемое на вывесках). Тогда если на местности указывается двуязычное название (ну кроме случая транслитерации на латиницу), то и в name лучше указать двуязычное.

А вообще name без языка это глупость архитектурная какая-то…

И какой из name:* брать рендеру/конвертеру? Тому же мапнику.
Генерировать для каждой страны свой набор тайлов???

glebius, а можно как-то то сделать так, чтобы вы автоматизированную простановку name:ru делали в дампах с которыми работаете у себя на компьютере локально, не выгружая их в общую базу?

Не страны, а языка. И да, это наилучший вариант. Или делается подложка без названий и оверлей с названиями на различных языках.
В любом случае нелокализованный вариант в международных масштабах часто бесполезен.

Любимый прием в споре - сначала ПРИПИСАТЬ оппоненту заведомо абсурдное утверждение, после чего с блеском его ОПРОВЕРГНУТЬ.
Еще раз: речь идет о применении ТОЛЬКО тега name:ru и ТОЛЬКО на территории РФ. Тот факт, что этот тег может быт очень полезен за пределами РФ, а также о том, что подобный подход принципиально неприменим в государствах с несколькими государственными языками, никто не пытается оспаривать.

Согласен. Но практика показывает, что все остальные языки большинство из них понимают еще хуже. :frowning:

По поводу приписывания оппоненту абсурдной точки зрения я уже высказывался. Автоматические правки БЫВАЮТ необходимы, но В ДАННОМ случае они абсурдны: либо задача восстановления тегов name:ru алгоритмически разрешима - тогда ее можно решить внутри конвертера, либо она неразрешима - и тогда не следует поручать ее боту. В ЛЮБОМ случае боту здесь делать нечего.

Согласен.
Но к автоматизированной правке предъявляется 2 условия:

  1. Она полезна.
  2. Она безвредна.
    Очевидно, что в данном случае оба условия не выполняются: с одной стороны - увеличивается объем данных без какого бы т ни было объема информации, т.е. растет избыточность. С другой - появляется заведомо ложная информация.

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

Этот “бред” сделает гораздо меньше ошибок, чем твой бот. Правда, следует сразу оговорить, что допущенные в результате им ошибки бут труднообнаруживаемы человеком, что тоже не есть хорошо. Поэтому я и утверждаю, что в ДАННОЙ задаче боту делать нечего.

  1. Об AI речи не заходило. Более того, то, что написано, принципиально не имеет никакого отношения к AI. AI решает те задачи, которые не могут быть решены алгоритмически. Поэтому переходим к п.2.
  2. Вот как раз AI в данной задаче мог бы стать ЕДИНСТВЕННЫМ разумным обоснованием применения. А алгоритму здесь делать нечего.