refactor(i18n): use JSON with flattened key and namespace (#30114)

Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
Stephen Zhou
2025-12-29 14:52:32 +08:00
committed by GitHub
parent 09be869f58
commit 6d0e36479b
2552 changed files with 111159 additions and 142972 deletions

View File

@ -1,21 +1,25 @@
import type { I18nKeysByPrefix } from '@/types/i18n'
import { useCallback } from 'react'
import { useTranslation } from 'react-i18next'
type IndexingTechnique = I18nKeysByPrefix<'dataset', 'indexingTechnique.'>
type IndexingMethod = I18nKeysByPrefix<'dataset', 'indexingMethod.'>
export const useKnowledge = () => {
const { t } = useTranslation()
const formatIndexingTechnique = useCallback((indexingTechnique: string) => {
return t(`dataset.indexingTechnique.${indexingTechnique}` as any) as string
const formatIndexingTechnique = useCallback((indexingTechnique: IndexingTechnique) => {
return t(`indexingTechnique.${indexingTechnique}`, { ns: 'dataset' }) as string
}, [t])
const formatIndexingMethod = useCallback((indexingMethod: string, isEco?: boolean) => {
const formatIndexingMethod = useCallback((indexingMethod: IndexingMethod, isEco?: boolean) => {
if (isEco)
return t('dataset.indexingMethod.invertedIndex')
return t('indexingMethod.invertedIndex', { ns: 'dataset' })
return t(`dataset.indexingMethod.${indexingMethod}` as any) as string
return t(`indexingMethod.${indexingMethod}`, { ns: 'dataset' }) as string
}, [t])
const formatIndexingTechniqueAndMethod = useCallback((indexingTechnique: string, indexingMethod: string) => {
const formatIndexingTechniqueAndMethod = useCallback((indexingTechnique: IndexingTechnique, indexingMethod: IndexingMethod) => {
let result = formatIndexingTechnique(indexingTechnique)
if (indexingMethod)