i18next-config.ts 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. 'use client'
  2. import i18n from 'i18next'
  3. import { initReactI18next } from 'react-i18next'
  4. import commonEn from './lang/common.en'
  5. import commonZh from './lang/common.zh'
  6. import loginEn from './lang/login.en'
  7. import loginZh from './lang/login.zh'
  8. import registerEn from './lang/register.en'
  9. import registerZh from './lang/register.zh'
  10. import layoutEn from './lang/layout.en'
  11. import layoutZh from './lang/layout.zh'
  12. import appEn from './lang/app.en'
  13. import appZh from './lang/app.zh'
  14. import appOverviewEn from './lang/app-overview.en'
  15. import appOverviewZh from './lang/app-overview.zh'
  16. import appDebugEn from './lang/app-debug.en'
  17. import appDebugZh from './lang/app-debug.zh'
  18. import appApiEn from './lang/app-api.en'
  19. import appApiZh from './lang/app-api.zh'
  20. import appLogEn from './lang/app-log.en'
  21. import appLogZh from './lang/app-log.zh'
  22. import appAnnotationEn from './lang/app-annotation.en'
  23. import appAnnotationZh from './lang/app-annotation.zh'
  24. import shareEn from './lang/share-app.en'
  25. import shareZh from './lang/share-app.zh'
  26. import datasetEn from './lang/dataset.en'
  27. import datasetZh from './lang/dataset.zh'
  28. import datasetDocumentsEn from './lang/dataset-documents.en'
  29. import datasetDocumentsZh from './lang/dataset-documents.zh'
  30. import datasetHitTestingEn from './lang/dataset-hit-testing.en'
  31. import datasetHitTestingZh from './lang/dataset-hit-testing.zh'
  32. import datasetSettingsEn from './lang/dataset-settings.en'
  33. import datasetSettingsZh from './lang/dataset-settings.zh'
  34. import datasetCreationEn from './lang/dataset-creation.en'
  35. import datasetCreationZh from './lang/dataset-creation.zh'
  36. import exploreEn from './lang/explore.en'
  37. import exploreZh from './lang/explore.zh'
  38. import billingEn from './lang/billing.en'
  39. import billingZh from './lang/billing.zh'
  40. import customEn from './lang/custom.en'
  41. import customZh from './lang/custom.zh'
  42. import toolsEn from './lang/tools.en'
  43. import toolsZh from './lang/tools.zh'
  44. const resources = {
  45. 'en': {
  46. translation: {
  47. common: commonEn,
  48. layout: layoutEn, // page layout
  49. login: loginEn,
  50. register: registerEn,
  51. // app
  52. app: appEn,
  53. appOverview: appOverviewEn,
  54. appDebug: appDebugEn,
  55. appApi: appApiEn,
  56. appLog: appLogEn,
  57. appAnnotation: appAnnotationEn,
  58. // share
  59. share: shareEn,
  60. dataset: datasetEn,
  61. datasetDocuments: datasetDocumentsEn,
  62. datasetHitTesting: datasetHitTestingEn,
  63. datasetSettings: datasetSettingsEn,
  64. datasetCreation: datasetCreationEn,
  65. explore: exploreEn,
  66. // billing
  67. billing: billingEn,
  68. custom: customEn,
  69. // tools
  70. tools: toolsEn,
  71. },
  72. },
  73. 'zh-Hans': {
  74. translation: {
  75. common: commonZh,
  76. layout: layoutZh,
  77. login: loginZh,
  78. register: registerZh,
  79. // app
  80. app: appZh,
  81. appOverview: appOverviewZh,
  82. appDebug: appDebugZh,
  83. appApi: appApiZh,
  84. appLog: appLogZh,
  85. appAnnotation: appAnnotationZh,
  86. // share
  87. share: shareZh,
  88. dataset: datasetZh,
  89. datasetDocuments: datasetDocumentsZh,
  90. datasetHitTesting: datasetHitTestingZh,
  91. datasetSettings: datasetSettingsZh,
  92. datasetCreation: datasetCreationZh,
  93. explore: exploreZh,
  94. billing: billingZh,
  95. custom: customZh,
  96. // tools
  97. tools: toolsZh,
  98. },
  99. },
  100. }
  101. i18n.use(initReactI18next)
  102. // init i18next
  103. // for all options read: https://www.i18next.com/overview/configuration-options
  104. .init({
  105. lng: undefined,
  106. fallbackLng: 'en',
  107. // debug: true,
  108. resources,
  109. })
  110. export const changeLanguage = i18n.changeLanguage
  111. export default i18n