Как использовать angular -translate при перезагрузке страницы

0

Я использую angular-translate в моем угловом применении. Я установил язык по умолчанию для немецкого языка

  $translateProvider.preferredLanguage('de')

Я также использую $translate.use(langKey) который устанавливает языки во время выполнения.

Но когда я устанавливаю язык на english во время выполнения, а затем после этого, когда я перезагружаю страницу, он снова устанавливает язык на German. я хочу, чтобы после обновления страница должна быть загружена на том языке, на котором она была установлена раньше.

Есть что-то в угловом, которое я могу использовать, или я должен написать свою собственную логику для реализации вышеизложенного.

Теги:
angular-translate

2 ответа

2

Есть уже некоторые реализации для хранения выбранного языка, встроенного в angular-translate (через дополнительные модули). Посмотрите на https://angular-translate.github.io/docs/#/guide/10_storages, который предоставляет встроенные решения для файлов cookie и localstorage. Работа с этим вручную не настолько тривиальна, как кажется на первый взгляд.

С модулем это так же просто, как сброс в один файл javascript и добавление следующего вызова при настройке поставщика перевода:

$translateProvider.useLocalStorage();
1

вы можете использовать localstorage для сохранения значения в кеше, просто введите окно службы $ в ваш контроллер и используйте этот sintax:

$window.localStorage.setItem('lan', 'en');

кеш сохраняет значение даже после закрытия браузера. Когда вы обновляете страницу, просто проверьте, присутствует ли ключ.

 if($window.localStorage.getItem('lan') === 'en'){
  //do something
 }

Локальное хранилище привязано к определенному домену,

Вы можете использовать ресурсы вкладки хром-веб-инструментов для проверки существующих пар ключ-значение

Изображение 174551

Дополнительная информация в документе https://developer.mozilla.org/it/docs/Web/API/Window/localStorage

Ещё вопросы

Сообщество Overcoder
Наверх
Меню