yandex-maps-unofficial / vue-yandex-maps

Yandex Maps 3.0 components library for VueJS.
https://yandex-maps-unofficial.github.io/vue-yandex-maps/
MIT License
73 stars 9 forks source link

Динамическая смена языка #206

Open Perfect03 opened 7 months ago

Perfect03 commented 7 months ago

Правильно ли понимаю, что динамически изменять язык карты в версиях >2.0 возможности больше нет, т.е. можно определить язык только в скрипте подключения карты (в случае с Nuxt - nuxt-config.ts), вместе с apikey? Если действительно так, то как по мне, серьезный недостаток. В версиях 0.x получалось динамически менять язык.

daniluk4000 commented 7 months ago

Приветствую. После инициализации проекта вы в принципе на клиенте можете изменить (например, в плагине) через VueYandexMaps.settings.value.lang - тогда после инициализации язык придет оттуда

Главное, меняйте на клиенте, а не SSR - в противном случае меняться будет для всех пользователей грубо говоря

Данный вариант устраивает?

daniluk4000 commented 7 months ago

После того, как скрипт Яндекса будет подгружен, язык изменить уже не получится.

Если это не устраивает, расскажите, пожалуйста, юзкейз, и как это работало раньше

daniluk4000 commented 7 months ago

Ответа нет, пока что закрою, если что - переоткрывайте (можно также отдельно оформленным feature request)

zumm commented 2 months ago

@daniluk4000 Смена языка сайта которая работает без перезагрузки страницы не является подходящим юз кейсом?

Я не знаю как было раньше, так как предыдущей картой не пользовался, но видел в коде предшественников смену параметра lang в пропсе mapSettings от YandexMap, а потом изменение key у YandexMap для перезагрузки.

Как это может быть организовано сейчас?

daniluk4000 commented 2 months ago

@daniluk4000 Смена языка сайта которая работает без перезагрузки страницы не является подходящим юз кейсом?

Я не знаю как было раньше, так как предыдущей картой не пользовался, но видел в коде предшественников смену параметра lang в пропсе mapSettings от YandexMap, а потом изменение key у YandexMap для перезагрузки.

Как это может быть организовано сейчас?

Короткий ответ: я не знаю. В теории, можно попробовать заюзать Shadow DOM.

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

Давайте я переоткрою и поиграюсь со вторым вариантом.