错误:nextjs 中不存在配置键 FALLBACK_LANGUAGE

问题描述 投票:0回答:1

我正在使用 Nestjs-i18n 进行内部化并收到此错误。

错误:

{"message":"[App] Configuration key \"FALLBACK_LANGUAGE\" does not exist"}

这是我的app.module.ts

import { Module } from '@nestjs/common'
import { ConfigService as NestConfig } from '@nestjs/config'
import * as path from 'path';
import { I18nModule, AcceptLanguageResolver, QueryResolver, HeaderResolver } from 'nestjs-i18n';

@Module({
  imports: [
    I18nModule.forRootAsync({
      useFactory: (configSrv: NestConfig) => ({
        fallbackLanguage: configSrv.getOrThrow('FALLBACK_LANGUAGE'),
        loaderOptions: {
          path: path.join(__dirname, '/i18n/'),
          watch: true,
        },
      }),
      resolvers: [
        { use: QueryResolver, options: ['lang'] },
        AcceptLanguageResolver,
        new HeaderResolver(['x-lang']),
      ],
      inject: [NestConfig],
    })
  ],
  providers: [],
})
export class AppModule {}
nestjs i18next nestjs-i18n
1个回答
0
投票

经过一番探索,我通过将

configSrv.getOrThrow('FALLBACK_LANGUAGE')
替换为
"en"
解决了这个错误。

这是我的 app.module.ts 文件,工作正常:

@Module({
  imports: [
    I18nModule.forRootAsync({
      useFactory: (configSrv: NestConfig) => ({
        fallbackLanguage: "en", /******  Change here ******/
        loaderOptions: {
          path: path.join(__dirname, '/i18n/'),
          watch: true,
        },
      }),
      resolvers: [
        { use: QueryResolver, options: ['lang'] },
        AcceptLanguageResolver,
        new HeaderResolver(['x-lang']),
      ],
      inject: [NestConfig],
    })
  ],
  providers: [],
})
© www.soinside.com 2019 - 2024. All rights reserved.