aboutsummaryrefslogtreecommitdiff
path: root/packages/web-util/src/context
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2024-01-17 10:22:49 -0300
committerSebastian <sebasjm@gmail.com>2024-01-17 10:22:49 -0300
commitf5a54633dca3599dab82730fd7d550c0289f170f (patch)
tree5c4d2b25973b891e0b19cb8401d24354a1227105 /packages/web-util/src/context
parent87765a4023e33d9502cf55ad2592dabf262ddc69 (diff)
downloadwallet-core-f5a54633dca3599dab82730fd7d550c0289f170f.tar.xz
add translation completeness from pogen to the UI
Diffstat (limited to 'packages/web-util/src/context')
-rw-r--r--packages/web-util/src/context/translation.ts26
1 files changed, 22 insertions, 4 deletions
diff --git a/packages/web-util/src/context/translation.ts b/packages/web-util/src/context/translation.ts
index fb6efc40a..2b9704939 100644
--- a/packages/web-util/src/context/translation.ts
+++ b/packages/web-util/src/context/translation.ts
@@ -34,6 +34,7 @@ interface Type {
changeLanguage: (l: string) => void;
i18n: InternationalizationAPI;
dateLocale: Locale,
+ completness: { [id in keyof typeof supportedLang]: number }
}
const supportedLang = {
@@ -43,7 +44,6 @@ const supportedLang = {
de: "Deutsch [de]",
sv: "Svenska [sv]",
it: "Italiane [it]",
- navigator: "Defined by navigator",
};
const initial: Type = {
@@ -53,7 +53,15 @@ const initial: Type = {
// do not change anything
},
i18n,
- dateLocale: enLocale
+ dateLocale: enLocale,
+ completness: {
+ de: 0,
+ en: 0,
+ es: 0,
+ fr: 0,
+ it: 0,
+ sv: 0,
+ }
};
const Context = createContext<Type>(initial);
@@ -62,6 +70,7 @@ interface Props {
children: ComponentChildren;
forceLang?: string;
source: Record<string, any>;
+ completness?: Record<string, number>;
}
// Outmost UI wrapper.
@@ -70,8 +79,17 @@ export const TranslationProvider = ({
children,
forceLang,
source,
+ completness: completnessProp
}: Props): VNode => {
- const { value: lang, update: changeLanguage } = useLang(initial);
+ const completness = {
+ de: !completnessProp || !completnessProp["de"] ? 0 : completnessProp["de"],
+ en: !completnessProp || !completnessProp["en"] ? 0 : completnessProp["en"],
+ es: !completnessProp || !completnessProp["es"] ? 0 : completnessProp["es"],
+ fr: !completnessProp || !completnessProp["fr"] ? 0 : completnessProp["fr"],
+ it: !completnessProp || !completnessProp["it"] ? 0 : completnessProp["it"],
+ sv: !completnessProp || !completnessProp["sv"] ? 0 : completnessProp["sv"],
+ }
+ const { value: lang, update: changeLanguage } = useLang(initial, completness);
useEffect(() => {
if (forceLang) {
@@ -93,7 +111,7 @@ export const TranslationProvider = ({
enLocale;
return h(Context.Provider, {
- value: { lang, changeLanguage, supportedLang, i18n, dateLocale },
+ value: { lang, changeLanguage, supportedLang, i18n, dateLocale, completness },
children,
});
};