Angular 角度(7/8/9)和ngx转换-不在直接路由路径访问上转换

Angular 角度(7/8/9)和ngx转换-不在直接路由路径访问上转换,angular,angular2-routing,angular8,ngx-translate,Angular,Angular2 Routing,Angular8,Ngx Translate,我有一个非常简单的Angular应用程序(目前在版本8中),其中我有路由,最近我添加了ngx翻译包,以便能够以多种语言(根据预先选择的语言)呈现所有文本。 基本上,我已经掌握了使用ngx translate的诀窍,而且非常简单,但是现在当我直接进入网站的某个路径,即mysite.com/users时,主要组件的内容没有被翻译,而是显示了原始的翻译对象名称,即“general.titles.users”。 在这种情况下,当我导航到一个不同的路径,然后在示例中导航回该路径(通过与routerLink

我有一个非常简单的Angular应用程序(目前在版本8中),其中我有路由,最近我添加了ngx翻译包,以便能够以多种语言(根据预先选择的语言)呈现所有文本。 基本上,我已经掌握了使用ngx translate的诀窍,而且非常简单,但是现在当我直接进入网站的某个路径,即mysite.com/users时,主要组件的内容没有被翻译,而是显示了原始的翻译对象名称,即“general.titles.users”。 在这种情况下,当我导航到一个不同的路径,然后在示例中导航回该路径(通过与routerLink的链接),主组件的内容将被很好地转换。 我不明白到底缺少了什么,因此在初始直接访问某个路径(如这里的示例)时,将启动翻译服务(或其他任何服务)以正常工作。 ngx翻译“加载器”是在一个共享模块中定义的,该模块可用于应用程序中的所有组件,并且该翻译服务的初始化是在一个始终初始化并工作的组件中定义的(在这种情况下,它是头组件,始终存在并在应用程序中工作)

这是一个指向GitHub的链接,我在其中放置了项目的所有文件:

(当然,这需要在本地运行项目之前运行“npm安装”或“纱线”)

运行它时,直接在URL中访问其中一个路由。 例如:

您会注意到,主内容组件的标题没有立即翻译(它不是翻译的标题文本,而是“sidebar.events”,它来自ngx translate的语言json对象)。 但是,如果您从侧边栏切换到另一个页面,然后返回到“事件”页面,那么现在标题将被正确地翻译

所以,我不明白的是,为什么这个翻译不适用于直接访问路由页面,而只是在已经在应用程序中之后


我可能在定义中遗漏了一些简单的东西或类似的东西。

将其放在stackblitz上。尽管如此,将东西放到github上也将有助于暂时调查这个问题。分享那些不起作用的代码。请创建一个。如何将整个angular项目(约900KB,没有node_modules文件夹)上载到StackBlitz上的现有项目中?。。。现在,我只看到手动创建文件的选项,其中有很多。。。