gpt4 book ai didi

Angular 路由 : Is it possible to use different 'path' strings for different languages?

转载 作者:太空狗 更新时间:2023-10-29 17:10:32 24 4
gpt4 key购买 nike

我正在做一个 i18n Angular 应用程序,到目前为止它运行良好。

但是我有不同语言的相同路由字符串,这对 SEO 来说不是最好的。

是否可以让 Routes 数组的“路径”属性对于每种语言都不同?

例如:

const appRoutesEN: Routes = [
{ path: 'crisis-center', component: CrisisListComponent },
{ path: 'hero/:id', component: HeroDetailComponent },
{
path: 'heroes',
component: HeroListComponent,
data: { title: 'Heroes List' }
},
{ path: '**', component: PageNotFoundComponent }
];

是否也可以定义一个 appRoutesFR: Routes 如果是,我该如何使用它?我应该将 LOCALE_ID 注入(inject)路由模块吗?如果是怎么办?

最佳答案

如果您在评论中描述了每种语言需要不同的路由,您可以为每种语言提供一个专用路由模块。然后在 angular-cli.json 中为每种语言定义一个专用应用程序,它有自己的 main.ts 和自己的 AppModule,只引入特定语言所需的路由模块。

  "apps": [
{
"root": "src",
"name": "yourapp_FR",
...
"main": "./app/yourapp_FR/main.ts",
...
},
{
"root": "src",
"name": "yourapp_DE",
...
"main": "./app/yourapp_DE/main.ts",
...
}
]

然后您可以像这样为每种语言构建应用程序:

ng build --app yourapp_FR --i18n-file src/i18n/messages.fr.xlf --locale fr --i18n-format xlf --aot

这样你就可以设置一次,每次都可以构建而无需注释掉任何东西。我没有完整的上下文。你说每种语言都有路由对 SEO 更好。我不明白这个,但如果你这么说,好吧。但是我不希望每种语言都有专用路由。这意味着大量的冗余和更多的维护。

关于 Angular 路由 : Is it possible to use different 'path' strings for different languages?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43904085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com