Angular (7/8/9) и ngx-translate - не переводить при прямом доступе к маршруту - PullRequest
0 голосов
/ 14 января 2020

У меня есть довольно простое приложение Angular (в настоящее время в версии 8), где у меня есть маршрутизация, и недавно я добавил пакет ngx-translate, чтобы иметь возможность представлять весь текст более чем в одном язык (в соответствии с предварительно выбранным языком). В основном, я привык работать с ngx-translate, и это довольно просто, но теперь, когда я go перехожу на сайт по определенному пути, т.е. mysite.com/users, содержимое основного компонента не переводится и показывает оригинальное имя объекта перевода, то есть "general.titles.users". В таком случае, когда я перехожу на другой путь, а затем возвращаюсь к этому пути в примере (через ссылку с routerLink), содержимое основного компонента переводится нормально. Я не понимаю, чего именно не хватает, так что при первоначальном прямом доступе к определенному пути (как в приведенном здесь примере) будет запущена служба перевода (или что бы то ни было) для правильной работы. «Загрузчик» ngx-translate определяется в общем модуле, который доступен для всех компонентов приложения, а инициализация этой службы перевода определяется в компоненте, который всегда инициализируется и работает (в данном случае это заголовок). компонент, который всегда существует и работает в приложении).

Это ссылка на GitHub, куда я поместил все файлы проекта:

https://github.com/kobibentata/wonday-public

(конечно, для этого необходимо запустить "npm install" или "yarn" перед локальным запуском проекта)

Когда вы запустите его, получите доступ к одному из маршрутов прямо в URL. Например:

http://localhost: 4200 / events

Вы заметите, что заголовок компонента основного контента не переводится сразу (вместо переведенного заголовка). текст, он читает "sidebar.events", который из языка json объект для ngx-translate). Но если вы переключаетесь на другую страницу с боковой панели, а затем go возвращаетесь на страницу «События», теперь заголовок переводится так, как должен.

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

Возможно, мне не хватает чего-то простого в определениях или чего-то подобного.

...