i18next-config.ts 7.4 KB

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