aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/context
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2022-02-24 12:41:47 -0300
committerSebastian <sebasjm@gmail.com>2022-02-24 12:50:54 -0300
commit68b887344289902273f0e0591e1038182ca4da77 (patch)
tree00b2c117d9b77c10cb3b3ce12cacb12e6ebc4571 /packages/taler-wallet-webextension/src/context
parent6bd6ace5937adebd38126f7c78a3d05f5a3a13a5 (diff)
downloadwallet-core-68b887344289902273f0e0591e1038182ca4da77.tar.xz
added ja lang and implemented transalation switch
Diffstat (limited to 'packages/taler-wallet-webextension/src/context')
-rw-r--r--packages/taler-wallet-webextension/src/context/translation.ts22
1 files changed, 20 insertions, 2 deletions
diff --git a/packages/taler-wallet-webextension/src/context/translation.ts b/packages/taler-wallet-webextension/src/context/translation.ts
index 105da9dcf..0f6aed23a 100644
--- a/packages/taler-wallet-webextension/src/context/translation.ts
+++ b/packages/taler-wallet-webextension/src/context/translation.ts
@@ -29,10 +29,24 @@ import { setupI18n } from "@gnu-taler/taler-util";
interface Type {
lang: string;
+ supportedLang: { [id in keyof typeof supportedLang]: string }
changeLanguage: (l: string) => void;
}
+
+const supportedLang = {
+ es: "Español [es]",
+ ja: "日本語 [ja]",
+ en: "English [en]",
+ fr: "Français [fr]",
+ de: "Deutsch [de]",
+ sv: "Svenska [sv]",
+ it: "Italiano [it]",
+};
+
+
const initial = {
lang: "en",
+ supportedLang,
changeLanguage: () => {
// do not change anything
},
@@ -52,7 +66,11 @@ export const TranslationProvider = ({
children,
forceLang,
}: Props): VNode => {
- const [lang, changeLanguage] = useLang(initial);
+ const [lang, changeLanguage2] = useLang(initial);
+ function changeLanguage(s: string) {
+ console.log("trying to change lang to ", s, "current lang", lang)
+ changeLanguage2(s)
+ }
useEffect(() => {
if (forceLang) {
changeLanguage(forceLang);
@@ -66,7 +84,7 @@ export const TranslationProvider = ({
} else {
setupI18n(lang, strings);
}
- return h(Context.Provider, { value: { lang, changeLanguage }, children });
+ return h(Context.Provider, { value: { lang, changeLanguage, supportedLang }, children });
};
export const useTranslationContext = (): Type => useContext(Context);