diff options
author | Thomas F. K. Jorna <[email protected]> | 2021-07-14 15:10:31 +0200 |
---|---|---|
committer | Thomas F. K. Jorna <[email protected]> | 2021-07-14 15:10:31 +0200 |
commit | e5021187e96b78b53203bd95d08d6818aea47d17 (patch) | |
tree | 37ec45d00eb963db53cd4bb4f04a770414b351cc /app/i18n/i18n.ts |
New Ignite 7.0.6 app
Diffstat (limited to 'app/i18n/i18n.ts')
-rw-r--r-- | app/i18n/i18n.ts | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/app/i18n/i18n.ts b/app/i18n/i18n.ts new file mode 100644 index 0000000..a563bbb --- /dev/null +++ b/app/i18n/i18n.ts @@ -0,0 +1,22 @@ +import * as Localization from "expo-localization" +import i18n from "i18n-js" +import en from "./en.json" +import ja from "./ja.json" + +i18n.fallbacks = true +i18n.translations = { en, ja } + +i18n.locale = Localization.locale || "en" + +/** + * Builds up valid keypaths for translations. + * Update to your default locale of choice if not English. + */ +type DefaultLocale = typeof en +export type TxKeyPath = RecursiveKeyOf<DefaultLocale> + +type RecursiveKeyOf<TObj extends Record<string, any>> = { + [TKey in keyof TObj & string]: TObj[TKey] extends Record<string, any> + ? `${TKey}` | `${TKey}.${RecursiveKeyOf<TObj[TKey]>}` + : `${TKey}` +}[keyof TObj & string] |