aboutsummaryrefslogtreecommitdiffstats
path: root/site/src/i18n.ts
diff options
context:
space:
mode:
Diffstat (limited to 'site/src/i18n.ts')
-rw-r--r--site/src/i18n.ts30
1 files changed, 30 insertions, 0 deletions
diff --git a/site/src/i18n.ts b/site/src/i18n.ts
new file mode 100644
index 0000000..9bf1aee
--- /dev/null
+++ b/site/src/i18n.ts
@@ -0,0 +1,30 @@
+import i18n from 'i18next';
+import { initReactI18next } from 'react-i18next';
+import LanguageDetector from 'i18next-browser-languagedetector';
+import Backend from 'i18next-http-backend';
+import { updateHtmlLang } from './utils';
+
+i18n
+ .use(Backend)
+ .use(LanguageDetector)
+ .use(initReactI18next)
+ .init({
+ fallbackLng: 'en',
+ backend: {
+ loadPath: '/locales/{{lng}}/{{ns}}.json',
+ },
+
+ interpolation: {
+ escapeValue: false,
+ }
+ });
+
+// Set the HTML lang attribute when language changes
+i18n.on('languageChanged', (lng) => {
+ updateHtmlLang(lng);
+});
+
+// Initialize HTML lang with the current language
+updateHtmlLang(i18n.language);
+
+export default i18n;
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage