mirror of
https://github.com/langgenius/dify.git
synced 2026-05-06 02:18:08 +08:00
chore: fix type check for i18n (#30058)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
This commit is contained in:
84
web/types/i18n.d.ts
vendored
84
web/types/i18n.d.ts
vendored
@ -1,74 +1,8 @@
|
||||
// TypeScript type definitions for Dify's i18next configuration
|
||||
// This file is auto-generated. Do not edit manually.
|
||||
// To regenerate, run: pnpm run gen:i18n-types
|
||||
import type { messagesEN } from '../i18n-config/i18next-config'
|
||||
import 'react-i18next'
|
||||
|
||||
// Extract types from translation files using typeof import pattern
|
||||
|
||||
type AppAnnotationMessages = typeof import('../i18n/en-US/app-annotation').default
|
||||
type AppApiMessages = typeof import('../i18n/en-US/app-api').default
|
||||
type AppDebugMessages = typeof import('../i18n/en-US/app-debug').default
|
||||
type AppLogMessages = typeof import('../i18n/en-US/app-log').default
|
||||
type AppOverviewMessages = typeof import('../i18n/en-US/app-overview').default
|
||||
type AppMessages = typeof import('../i18n/en-US/app').default
|
||||
type BillingMessages = typeof import('../i18n/en-US/billing').default
|
||||
type CommonMessages = typeof import('../i18n/en-US/common').default
|
||||
type CustomMessages = typeof import('../i18n/en-US/custom').default
|
||||
type DatasetCreationMessages = typeof import('../i18n/en-US/dataset-creation').default
|
||||
type DatasetDocumentsMessages = typeof import('../i18n/en-US/dataset-documents').default
|
||||
type DatasetHitTestingMessages = typeof import('../i18n/en-US/dataset-hit-testing').default
|
||||
type DatasetPipelineMessages = typeof import('../i18n/en-US/dataset-pipeline').default
|
||||
type DatasetSettingsMessages = typeof import('../i18n/en-US/dataset-settings').default
|
||||
type DatasetMessages = typeof import('../i18n/en-US/dataset').default
|
||||
type EducationMessages = typeof import('../i18n/en-US/education').default
|
||||
type ExploreMessages = typeof import('../i18n/en-US/explore').default
|
||||
type LayoutMessages = typeof import('../i18n/en-US/layout').default
|
||||
type LoginMessages = typeof import('../i18n/en-US/login').default
|
||||
type OauthMessages = typeof import('../i18n/en-US/oauth').default
|
||||
type PipelineMessages = typeof import('../i18n/en-US/pipeline').default
|
||||
type PluginTagsMessages = typeof import('../i18n/en-US/plugin-tags').default
|
||||
type PluginTriggerMessages = typeof import('../i18n/en-US/plugin-trigger').default
|
||||
type PluginMessages = typeof import('../i18n/en-US/plugin').default
|
||||
type RegisterMessages = typeof import('../i18n/en-US/register').default
|
||||
type RunLogMessages = typeof import('../i18n/en-US/run-log').default
|
||||
type ShareMessages = typeof import('../i18n/en-US/share').default
|
||||
type TimeMessages = typeof import('../i18n/en-US/time').default
|
||||
type ToolsMessages = typeof import('../i18n/en-US/tools').default
|
||||
type WorkflowMessages = typeof import('../i18n/en-US/workflow').default
|
||||
|
||||
// Complete type structure that matches i18next-config.ts camelCase conversion
|
||||
export type Messages = {
|
||||
appAnnotation: AppAnnotationMessages
|
||||
appApi: AppApiMessages
|
||||
appDebug: AppDebugMessages
|
||||
appLog: AppLogMessages
|
||||
appOverview: AppOverviewMessages
|
||||
app: AppMessages
|
||||
billing: BillingMessages
|
||||
common: CommonMessages
|
||||
custom: CustomMessages
|
||||
datasetCreation: DatasetCreationMessages
|
||||
datasetDocuments: DatasetDocumentsMessages
|
||||
datasetHitTesting: DatasetHitTestingMessages
|
||||
datasetPipeline: DatasetPipelineMessages
|
||||
datasetSettings: DatasetSettingsMessages
|
||||
dataset: DatasetMessages
|
||||
education: EducationMessages
|
||||
explore: ExploreMessages
|
||||
layout: LayoutMessages
|
||||
login: LoginMessages
|
||||
oauth: OauthMessages
|
||||
pipeline: PipelineMessages
|
||||
pluginTags: PluginTagsMessages
|
||||
pluginTrigger: PluginTriggerMessages
|
||||
plugin: PluginMessages
|
||||
register: RegisterMessages
|
||||
runLog: RunLogMessages
|
||||
share: ShareMessages
|
||||
time: TimeMessages
|
||||
tools: ToolsMessages
|
||||
workflow: WorkflowMessages
|
||||
}
|
||||
export type Messages = typeof messagesEN
|
||||
|
||||
// Utility type to flatten nested object keys into dot notation
|
||||
type FlattenKeys<T> = T extends object
|
||||
@ -81,19 +15,9 @@ type FlattenKeys<T> = T extends object
|
||||
|
||||
export type ValidTranslationKeys = FlattenKeys<Messages>
|
||||
|
||||
// Extend react-i18next with Dify's type structure
|
||||
declare module 'react-i18next' {
|
||||
type CustomTypeOptions = {
|
||||
defaultNS: 'translation'
|
||||
resources: {
|
||||
translation: Messages
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Extend i18next for complete type safety
|
||||
declare module 'i18next' {
|
||||
type CustomTypeOptions = {
|
||||
// eslint-disable-next-line ts/consistent-type-definitions
|
||||
interface CustomTypeOptions {
|
||||
defaultNS: 'translation'
|
||||
resources: {
|
||||
translation: Messages
|
||||
|
||||
Reference in New Issue
Block a user