i18next-config.ts 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  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 commonPt from './lang/common.pt' // Portuguese import
  7. import loginEn from './lang/login.en'
  8. import loginZh from './lang/login.zh'
  9. import loginPt from './lang/login.pt' // Portuguese import
  10. import registerEn from './lang/register.en'
  11. import registerZh from './lang/register.zh'
  12. import registerPt from './lang/register.pt' // Portuguese import
  13. import layoutEn from './lang/layout.en'
  14. import layoutZh from './lang/layout.zh'
  15. import layoutPt from './lang/layout.pt' // Portuguese import
  16. import appEn from './lang/app.en'
  17. import appZh from './lang/app.zh'
  18. import appPt from './lang/app.pt' // Portuguese import
  19. import appOverviewEn from './lang/app-overview.en'
  20. import appOverviewZh from './lang/app-overview.zh'
  21. import appOverviewPt from './lang/app-overview.pt' // Portuguese import
  22. import appDebugEn from './lang/app-debug.en'
  23. import appDebugZh from './lang/app-debug.zh'
  24. import appDebugPt from './lang/app-debug.pt' // Portuguese import
  25. import appApiEn from './lang/app-api.en'
  26. import appApiZh from './lang/app-api.zh'
  27. import appApiPt from './lang/app-api.pt' // Portuguese import
  28. import appLogEn from './lang/app-log.en'
  29. import appLogZh from './lang/app-log.zh'
  30. import appLogPt from './lang/app-log.pt' // Portuguese import
  31. import appAnnotationEn from './lang/app-annotation.en'
  32. import appAnnotationZh from './lang/app-annotation.zh'
  33. import appAnnotationPt from './lang/app-annotation.pt' // Portuguese import
  34. import shareEn from './lang/share-app.en'
  35. import shareZh from './lang/share-app.zh'
  36. import sharePt from './lang/share-app.pt' // Portuguese import
  37. import datasetEn from './lang/dataset.en'
  38. import datasetZh from './lang/dataset.zh'
  39. import datasetPt from './lang/dataset.pt' // Portuguese import
  40. import datasetDocumentsEn from './lang/dataset-documents.en'
  41. import datasetDocumentsZh from './lang/dataset-documents.zh'
  42. import datasetDocumentsPt from './lang/dataset-documents.pt' // Portuguese import
  43. import datasetHitTestingEn from './lang/dataset-hit-testing.en'
  44. import datasetHitTestingZh from './lang/dataset-hit-testing.zh'
  45. import datasetHitTestingPt from './lang/dataset-hit-testing.pt' // Portuguese import
  46. import datasetSettingsEn from './lang/dataset-settings.en'
  47. import datasetSettingsZh from './lang/dataset-settings.zh'
  48. import datasetSettingsPt from './lang/dataset-settings.pt' // Portuguese import
  49. import datasetCreationEn from './lang/dataset-creation.en'
  50. import datasetCreationZh from './lang/dataset-creation.zh'
  51. import datasetCreationPt from './lang/dataset-creation.pt' // Portuguese import
  52. import exploreEn from './lang/explore.en'
  53. import exploreZh from './lang/explore.zh'
  54. import explorePt from './lang/explore.pt' // Portuguese import
  55. import billingEn from './lang/billing.en'
  56. import billingZh from './lang/billing.zh'
  57. import billingPt from './lang/billing.pt' // Portuguese import
  58. import customEn from './lang/custom.en'
  59. import customZh from './lang/custom.zh'
  60. import customPt from './lang/custom.pt' // Portuguese import
  61. import toolsEn from './lang/tools.en'
  62. import toolsZh from './lang/tools.zh'
  63. import toolsPt from './lang/tools.pt' // Portuguese import
  64. const resources = {
  65. 'en-US': {
  66. translation: {
  67. common: commonEn,
  68. layout: layoutEn, // page layout
  69. login: loginEn,
  70. register: registerEn,
  71. // app
  72. app: appEn,
  73. appOverview: appOverviewEn,
  74. appDebug: appDebugEn,
  75. appApi: appApiEn,
  76. appLog: appLogEn,
  77. appAnnotation: appAnnotationEn,
  78. // share
  79. share: shareEn,
  80. dataset: datasetEn,
  81. datasetDocuments: datasetDocumentsEn,
  82. datasetHitTesting: datasetHitTestingEn,
  83. datasetSettings: datasetSettingsEn,
  84. datasetCreation: datasetCreationEn,
  85. explore: exploreEn,
  86. // billing
  87. billing: billingEn,
  88. custom: customEn,
  89. // tools
  90. tools: toolsEn,
  91. },
  92. },
  93. 'zh-Hans': {
  94. translation: {
  95. common: commonZh,
  96. layout: layoutZh,
  97. login: loginZh,
  98. register: registerZh,
  99. // app
  100. app: appZh,
  101. appOverview: appOverviewZh,
  102. appDebug: appDebugZh,
  103. appApi: appApiZh,
  104. appLog: appLogZh,
  105. appAnnotation: appAnnotationZh,
  106. // share
  107. share: shareZh,
  108. dataset: datasetZh,
  109. datasetDocuments: datasetDocumentsZh,
  110. datasetHitTesting: datasetHitTestingZh,
  111. datasetSettings: datasetSettingsZh,
  112. datasetCreation: datasetCreationZh,
  113. explore: exploreZh,
  114. billing: billingZh,
  115. custom: customZh,
  116. // tools
  117. tools: toolsZh,
  118. },
  119. },
  120. 'pt-BR': {
  121. translation: {
  122. common: commonPt,
  123. layout: layoutPt,
  124. login: loginPt,
  125. register: registerPt,
  126. // app
  127. app: appPt,
  128. appOverview: appOverviewPt,
  129. appDebug: appDebugPt,
  130. appApi: appApiPt,
  131. appLog: appLogPt,
  132. appAnnotation: appAnnotationPt,
  133. // share
  134. share: sharePt,
  135. dataset: datasetPt,
  136. datasetDocuments: datasetDocumentsPt,
  137. datasetHitTesting: datasetHitTestingPt,
  138. datasetSettings: datasetSettingsPt,
  139. datasetCreation: datasetCreationPt,
  140. explore: explorePt,
  141. billing: billingPt,
  142. custom: customPt,
  143. tools: toolsPt,
  144. },
  145. },
  146. }
  147. i18n.use(initReactI18next)
  148. // init i18next
  149. // for all options read: https://www.i18next.com/overview/configuration-options
  150. .init({
  151. lng: undefined,
  152. fallbackLng: 'en-US',
  153. // debug: true,
  154. resources,
  155. })
  156. export const changeLanguage = i18n.changeLanguage
  157. export default i18n