Изменить / перевести названия стран на другой язык для Amcharts - PullRequest
1 голос
/ 10 июля 2019

Это кажется основным вопросом, однако, я не могу найти ответ в документации или здесь, на stackoverflow.

Я пытаюсь получить переведенные названия стран для своей карты, которые ясгенерировано с помощью amcharts4.

Я нашел этот связанный вопрос , однако он указан для amcharts3.Когда я пытаюсь установить свойство языка для ряда диаграмм, например, в amcharts4, chart.language = 'nl';, я получаю ошибку Uncaught TypeError: Cannot read property 'on' of undefined, которая, на мой взгляд, является стандартной ошибкой при установке неподдерживаемого свойства.

Iтакже нашел этот связанный вопрос , который говорит, что вы должны задать chart.language.locale, это работает для amcharts4, , но не переводит названия стран .Это только переводит использованные единицы измерения, даты и т. Д.

Поэтому у меня возникает вопрос: «Как изменить названия стран для сгенерированной карты в amcharts4?»

1 Ответ

1 голос
/ 15 июля 2019

Итак, официальный ответ от amcharts таков:

Нет, я боюсь.В настоящее время у нас нет готового решения для перевода названий стран: (

Что я сделал, так это взял файл json перевода из этого хранилища . Я нашел и заменилчтобы удалить свойство и значение свойства id. Я изменил имя свойства alpha2 на id и преобразовал его значение в верхний регистр.

Так, например,

{"id":4,"name":"Afghanistan","alpha2":"af","alpha3":"afg"}

Станет

{"name":"Afghanistan","id":"AF","alpha3":"afg"}

. Затем он обязательно станет вашим объектом перевода.

Затем я объявил переменную translations и передал ей полный объект в качестве значения.

Затем я добавил это в качестве данных в мой polygonSeries. polygonSeries.data = translations;.

Поскольку теперь это перезаписывает свойство name переведенным значением, эффекты наведения должны соответствовать переведенному значению.

...