2016-08-21 6 views
0

Я работаю над приложением Angular2, которое имеет несколько языков. В зависимости от файлов cookie, отправленных с моим запросом шаблона angular2, я получаю разные языковые шаблоны с сервера. Проблема в том, что когда я изменяю язык в Angular, он не перезагружает HTML-элементы @Component, а это значит, что я не получаю переведенные шаблоны страниц.Компонент перезагрузки локализации Angular2 HTML

Пример

Работая в EN, я есть шаблон

<p>Hello: @{{ user.name }}</p> 

Когда я изменить язык в Угловое, я должен перезагрузить компонент HTML, чтобы получить (например) шаблон немецкого перевода.

<p>Guten tag: @{{ user.name }}</p> 

Любые предложения о том, какой класс я должен использовать для этого? Я полагаю, что это должно быть проще, чем обновлять всю страницу?

В настоящее время я просто делаю

location.reload(); 

после изменения языка, но я не могу понять, лучшее решение.

ответ

1

Angular2 планирует использовать локализацию по умолчанию в будущем. Но на данный момент почему вы не используете ng2-translate для перевода вещей?

Это easy to set up, и вы можете легко перевести термины, используя трубы:

{{ 'HELLO' | translate}}

Затем вы просто создать файлы локализации внутри ваших i18n папки со всеми переводами вам нужно (например, en.json, de.json и т.д.).

Посмотрите на это Plunker для простого рабочего примера.

+0

Спасибо, это помогло! –

Смежные вопросы