You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

i18n.d.ts 3.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. // TypeScript type definitions for Dify's i18next configuration
  2. // This file is auto-generated. Do not edit manually.
  3. // To regenerate, run: pnpm run gen:i18n-types
  4. import 'react-i18next'
  5. // Extract types from translation files using typeof import pattern
  6. type AppAnnotationMessages = typeof import('../i18n/en-US/app-annotation').default
  7. type AppApiMessages = typeof import('../i18n/en-US/app-api').default
  8. type AppDebugMessages = typeof import('../i18n/en-US/app-debug').default
  9. type AppLogMessages = typeof import('../i18n/en-US/app-log').default
  10. type AppOverviewMessages = typeof import('../i18n/en-US/app-overview').default
  11. type AppMessages = typeof import('../i18n/en-US/app').default
  12. type BillingMessages = typeof import('../i18n/en-US/billing').default
  13. type CommonMessages = typeof import('../i18n/en-US/common').default
  14. type CustomMessages = typeof import('../i18n/en-US/custom').default
  15. type DatasetCreationMessages = typeof import('../i18n/en-US/dataset-creation').default
  16. type DatasetDocumentsMessages = typeof import('../i18n/en-US/dataset-documents').default
  17. type DatasetHitTestingMessages = typeof import('../i18n/en-US/dataset-hit-testing').default
  18. type DatasetSettingsMessages = typeof import('../i18n/en-US/dataset-settings').default
  19. type DatasetMessages = typeof import('../i18n/en-US/dataset').default
  20. type EducationMessages = typeof import('../i18n/en-US/education').default
  21. type ExploreMessages = typeof import('../i18n/en-US/explore').default
  22. type LayoutMessages = typeof import('../i18n/en-US/layout').default
  23. type LoginMessages = typeof import('../i18n/en-US/login').default
  24. type OauthMessages = typeof import('../i18n/en-US/oauth').default
  25. type PluginTagsMessages = typeof import('../i18n/en-US/plugin-tags').default
  26. type PluginMessages = typeof import('../i18n/en-US/plugin').default
  27. type RegisterMessages = typeof import('../i18n/en-US/register').default
  28. type RunLogMessages = typeof import('../i18n/en-US/run-log').default
  29. type ShareMessages = typeof import('../i18n/en-US/share').default
  30. type TimeMessages = typeof import('../i18n/en-US/time').default
  31. type ToolsMessages = typeof import('../i18n/en-US/tools').default
  32. type WorkflowMessages = typeof import('../i18n/en-US/workflow').default
  33. // Complete type structure that matches i18next-config.ts camelCase conversion
  34. export type Messages = {
  35. appAnnotation: AppAnnotationMessages;
  36. appApi: AppApiMessages;
  37. appDebug: AppDebugMessages;
  38. appLog: AppLogMessages;
  39. appOverview: AppOverviewMessages;
  40. app: AppMessages;
  41. billing: BillingMessages;
  42. common: CommonMessages;
  43. custom: CustomMessages;
  44. datasetCreation: DatasetCreationMessages;
  45. datasetDocuments: DatasetDocumentsMessages;
  46. datasetHitTesting: DatasetHitTestingMessages;
  47. datasetSettings: DatasetSettingsMessages;
  48. dataset: DatasetMessages;
  49. education: EducationMessages;
  50. explore: ExploreMessages;
  51. layout: LayoutMessages;
  52. login: LoginMessages;
  53. oauth: OauthMessages;
  54. pluginTags: PluginTagsMessages;
  55. plugin: PluginMessages;
  56. register: RegisterMessages;
  57. runLog: RunLogMessages;
  58. share: ShareMessages;
  59. time: TimeMessages;
  60. tools: ToolsMessages;
  61. workflow: WorkflowMessages;
  62. }
  63. // Utility type to flatten nested object keys into dot notation
  64. type FlattenKeys<T> = T extends object
  65. ? {
  66. [K in keyof T]: T[K] extends object
  67. ? `${K & string}.${FlattenKeys<T[K]> & string}`
  68. : `${K & string}`
  69. }[keyof T]
  70. : never
  71. export type ValidTranslationKeys = FlattenKeys<Messages>
  72. // Extend react-i18next with Dify's type structure
  73. declare module 'react-i18next' {
  74. type CustomTypeOptions = {
  75. defaultNS: 'translation';
  76. resources: {
  77. translation: Messages;
  78. };
  79. }
  80. }
  81. // Extend i18next for complete type safety
  82. declare module 'i18next' {
  83. type CustomTypeOptions = {
  84. defaultNS: 'translation';
  85. resources: {
  86. translation: Messages;
  87. };
  88. }
  89. }