install react-i18next
Change-Id: Ib3a0d12df0cbca165e96e0883ac6a2635113bc89
diff --git a/client/package.json b/client/package.json
index 3bff63d..00a4910 100644
--- a/client/package.json
+++ b/client/package.json
@@ -11,19 +11,21 @@
"@mui/lab": "^5.0.0-alpha.96",
"@mui/material": "^5.10.2",
"@reduxjs/toolkit": "^1.8.5",
+ "@sentry/react": "^7.11.1",
+ "@sentry/tracing": "^7.11.1",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.3.0",
"@testing-library/user-event": "^14.4.3",
- "dayjs": "^1.11.5",
"@types/jest": "^28.1.8",
- "@sentry/react": "^7.11.1",
- "@sentry/tracing": "^7.11.1",
+ "dayjs": "^1.11.5",
"emoji-picker-react": "^3.6.1",
"framer-motion": "^7.2.1",
+ "i18next": "^21.9.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-emoji-render": "^1.2.4",
"react-fetch-hook": "^1.9.5",
+ "react-i18next": "^11.18.5",
"react-redux": "^8.0.2",
"react-router-dom": "^6.3.0",
"socket.io-client": "^4.5.1"
diff --git a/package-lock.json b/package-lock.json
index df226d1..7927d11 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -59,10 +59,12 @@
"dayjs": "^1.11.5",
"emoji-picker-react": "^3.6.1",
"framer-motion": "^7.2.1",
+ "i18next": "^21.9.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-emoji-render": "^1.2.4",
"react-fetch-hook": "^1.9.5",
+ "react-i18next": "^11.18.5",
"react-redux": "^8.0.2",
"react-router-dom": "^6.3.0",
"socket.io-client": "^4.5.1"
@@ -6246,6 +6248,15 @@
"node": ">= 12"
}
},
+ "node_modules/html-parse-stringify": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz",
+ "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==",
+ "dev": true,
+ "dependencies": {
+ "void-elements": "3.1.0"
+ }
+ },
"node_modules/html-webpack-plugin": {
"version": "5.5.0",
"dev": true,
@@ -6343,6 +6354,29 @@
"node": ">=8.12.0"
}
},
+ "node_modules/i18next": {
+ "version": "21.9.1",
+ "resolved": "https://registry.npmjs.org/i18next/-/i18next-21.9.1.tgz",
+ "integrity": "sha512-ITbDrAjbRR73spZAiu6+ex5WNlHRr1mY+acDi2ioTHuUiviJqSz269Le1xHAf0QaQ6GgIHResUhQNcxGwa/PhA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://locize.com"
+ },
+ {
+ "type": "individual",
+ "url": "https://locize.com/i18next.html"
+ },
+ {
+ "type": "individual",
+ "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project"
+ }
+ ],
+ "dependencies": {
+ "@babel/runtime": "^7.17.2"
+ }
+ },
"node_modules/iconv-lite": {
"version": "0.4.24",
"license": "MIT",
@@ -8614,6 +8648,28 @@
"react": ">=16.8.0 <19.0.0"
}
},
+ "node_modules/react-i18next": {
+ "version": "11.18.5",
+ "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.18.5.tgz",
+ "integrity": "sha512-cKcyuuzIv0YUZ4l9WORflVNuhISPAqQShOAsxwFyYuJoCA7HlLmHm7XnvO6hfAGmGpDNRhJHoBX8hG49Cb2xZQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.14.5",
+ "html-parse-stringify": "^3.0.1"
+ },
+ "peerDependencies": {
+ "i18next": ">= 19.0.0",
+ "react": ">= 16.8.0"
+ },
+ "peerDependenciesMeta": {
+ "react-dom": {
+ "optional": true
+ },
+ "react-native": {
+ "optional": true
+ }
+ }
+ },
"node_modules/react-is": {
"version": "18.2.0",
"dev": true,
@@ -10040,6 +10096,15 @@
"extsprintf": "^1.2.0"
}
},
+ "node_modules/void-elements": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
+ "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/watchpack": {
"version": "2.4.0",
"dev": true,
@@ -14305,6 +14370,15 @@
}
}
},
+ "html-parse-stringify": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz",
+ "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==",
+ "dev": true,
+ "requires": {
+ "void-elements": "3.1.0"
+ }
+ },
"html-webpack-plugin": {
"version": "5.5.0",
"dev": true,
@@ -14368,6 +14442,15 @@
"integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
"dev": true
},
+ "i18next": {
+ "version": "21.9.1",
+ "resolved": "https://registry.npmjs.org/i18next/-/i18next-21.9.1.tgz",
+ "integrity": "sha512-ITbDrAjbRR73spZAiu6+ex5WNlHRr1mY+acDi2ioTHuUiviJqSz269Le1xHAf0QaQ6GgIHResUhQNcxGwa/PhA==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.17.2"
+ }
+ },
"iconv-lite": {
"version": "0.4.24",
"requires": {
@@ -14630,10 +14713,12 @@
"emoji-picker-react": "^3.6.1",
"framer-motion": "^7.2.1",
"html-webpack-plugin": "^5.5.0",
+ "i18next": "^21.9.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-emoji-render": "^1.2.4",
"react-fetch-hook": "^1.9.5",
+ "react-i18next": "^11.18.5",
"react-redux": "^8.0.2",
"react-refresh": "^0.14.0",
"react-router-dom": "^6.3.0",
@@ -15860,6 +15945,16 @@
"dev": true,
"requires": {}
},
+ "react-i18next": {
+ "version": "11.18.5",
+ "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.18.5.tgz",
+ "integrity": "sha512-cKcyuuzIv0YUZ4l9WORflVNuhISPAqQShOAsxwFyYuJoCA7HlLmHm7XnvO6hfAGmGpDNRhJHoBX8hG49Cb2xZQ==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.14.5",
+ "html-parse-stringify": "^3.0.1"
+ }
+ },
"react-is": {
"version": "18.2.0",
"dev": true
@@ -16780,6 +16875,12 @@
"extsprintf": "^1.2.0"
}
},
+ "void-elements": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
+ "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==",
+ "dev": true
+ },
"watchpack": {
"version": "2.4.0",
"dev": true,