fix: load i18n on server (#30171)

This commit is contained in:
Stephen Zhou 2025-12-25 19:13:59 +08:00
parent 0c4233e7df
commit 894a3c03a2
No known key found for this signature in database
1 changed files with 4 additions and 4 deletions

View File

@ -1,7 +1,6 @@
import type { Locale } from '.'
import type { KeyPrefix, Namespace } from './i18next-config'
import type { Namespace } from './i18next-config'
import { match } from '@formatjs/intl-localematcher'
import { camelCase } from 'es-toolkit/compat'
import { createInstance } from 'i18next'
import resourcesToBackend from 'i18next-resources-to-backend'
import Negotiator from 'negotiator'
@ -23,10 +22,11 @@ const initI18next = async (lng: Locale, ns: Namespace) => {
return i18nInstance
}
export async function getTranslation(lng: Locale, ns: Namespace) {
export async function getTranslation(lng: Locale, ns: Namespace, options: Record<string, any> = {}) {
const i18nextInstance = await initI18next(lng, ns)
return {
t: i18nextInstance.getFixedT(lng, 'translation', camelCase(ns) as KeyPrefix),
// @ts-expect-error types mismatch
t: i18nextInstance.getFixedT(lng, ns, options.keyPrefix),
i18n: i18nextInstance,
}
}