Node.js 如何在nestjs mvc中使用任何i18n包?
我发现了这个包Node.js 如何在nestjs mvc中使用任何i18n包?,node.js,nestjs,nestjs-i18n,Node.js,Nestjs,Nestjs I18n,我发现了这个包nest-18n,但那个家伙认为nestjs只用于api而不是mvc 所以肯定?lang=en或?lang=de起作用,它会改变语言,但问题是如何在视图中使用它 我的第一个想法是,这是一个开箱即用的\uuu(“要翻译的东西”)。但这是行不通的(\uuuuuu未定义) 由于i18Service.translate方法是异步的,所以不能将其添加到视图中(有pug then但这是一个可怕的想法)。在视图上添加任何异步内容的想法根本没有意义。所以原则上他们制作了一个不能在api之外使用的包
nest-18n
,但那个家伙认为nestjs只用于api而不是mvc
所以肯定?lang=en
或?lang=de
起作用,它会改变语言,但问题是如何在视图中使用它
我的第一个想法是,这是一个开箱即用的\uuu(“要翻译的东西”)
。但这是行不通的(\uuuuuu未定义)
由于i18Service.translate
方法是异步的,所以不能将其添加到视图中(有pug then
但这是一个可怕的想法)。在视图上添加任何异步内容的想法根本没有意义。所以原则上他们制作了一个不能在api之外使用的包
我能做的另一件事就是
class AppController extends BaseController() {
@Get("/")
index() {
return {
someTranslation: await this.getTranslation("give me something to translate"),
// IMAGINE NOW Having 1000 OF TRANSLATION ON INDEX PAGE
}
}
}
其中BaseController
为:
class BaseController() {
constructor(private readonly i18n: I18nService, lang: string) {
}
async protected getTranslation(stringToTranslate: string) {
return await this.i18n(stringToTranslate, {lang});
}
}
有人知道如何在nestjs mvc中使用i18n吗?最后我放弃了使用native express i18n。nestjs真的不喜欢回答:)