Автоматичне створення тегів name:en

І чому я вважав, що описую простий спосіб? :slight_smile: Три години ночі після робочого дня певно не краща пора для розумової праці. :wink:
Як би там не було, сьогоднішній аналіз сирцевого коду дав кращі результати.

Простий та правильний спосіб в студію (працює навіть з тестед версією, тому підходить усім бажаючим):

  1. Маємо встановлений валідатор.
  2. F12->Іконка з галочкою (налаштування валідатора)->Джерело даних (Data sources)->Додати(Add)
  3. Вказуємо абсолютний шлях до файлу з власними правилами.
  4. Перезапускаємо JOSM (після цього варто зайти знову в налаштування та перевірити аби вони збереглись - остання SVN версія не зберігає. Якщо зміна не збереглись можна спробувати добавити в файл ~/.josm/preferences:
validator.TagChecker.sources=/home/rsh/temp/tagchecker.cfg;/home/rsh/temp/tagchecker1.cfg

В джерела даних можна додавати файли трьох типів.
Тип файлу визначається вмістом першого рядка:
# JOSM TagChecker validator file - файл перевірки значень тегів за регекспами.

Складається з так-званих правил. Кожне правило це рядок, поділений на поля символом “:”.
<тип даних> : тип помилки : <ключ><вираз><значення>

Тип даних - може бути

  • node - точка

  • way - лінія

  • relation - відношення

  • ***** - любий з означених

**Тип помилки**
  • E помилка

  • W попередження

  • I інформація

Ключ назва тегу, або регексп що захоплює декілька тегів. Регексп пишеться між двома символами “/”.
highway == /motorway|trunk|primary|secondary|tertiary|residential|pedestrian/
Якщо наприкінці додати символ “i”, регексп буде не чутливим до регістру.

Вираз може бути “!=” або “==”. Кілька виразів може бути об’єднано за допомогою оператора && (логічний OR схоже відсутній, але фактично він емульований можливістю додати декілька правил, вони об’єднуються по “або”).
Значення - значення або регексп, з яким порівнюється

Коментарій у кінці правила буде використаний як назва повідомлення про помилку.

Наприклад:

  • : E : name == /.(ё|ъ|э)./ # Російські літери в назвах об’єктів

Я не зовсім розібрався, як працюють інші типи # JOSM IgnoreTags та speller_words, тому нічого тут про них не писатиму :wink:

З огляду на все це, пропоную почати створення файлів правил, на приклад тут

Зовсім забув! Все це UTF-8