@ssssergey

Как в программе Maperitive (рендеринг карт) установить язык отображения иностранных населенных пунктов на русском?

Нашел вот такое выражение
text : @any([[name:int]], [[name:en]], name)
но как его использовать в программе?
  • Вопрос задан
  • 2741 просмотр
Решения вопроса 1
Moskus
@Moskus
Докуметация по свойству text находится здесь:
maperitive.net/docs/Properties/Text.html
Соответственно, @any() выбирает любой ключ из списка в скобках по порядку.
Если вы визуализируете карту России, то ключ name содержит русскоязычное название по умолчанию. Так что достаточно написать:
text : name
Если же это карта другой страны, там не стоит ожидать обязательного наличия названий на русском, но если они все же есть, то будут содержаться в name:ru, так что код будет такой:
text : any([[name:ru]], name)
В этом случае, при наличии русскоязычного названия оно будет выведено, при отсутствии - будет выбрано name.
Если речь о стране с каким-нибудь алфавитом, которого вы не знаете (Япония, например) - добавьте туда [[name:en]] и/или [[name:int]], чтобы заменить иероглифы на латиницу с некоторой вероятностью.
Если вам обязательно нужны только русскоязычные названия, а в исходных данных их нет, вам придется самостоятельно обработать данные и внести туда транслитерацию или что-то подобное.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы