From 5f4611d65e40eae3ca6191a15f68d69ea5a1c4cb Mon Sep 17 00:00:00 2001 From: Kirill Rogovoy Date: Tue, 20 Jul 2021 21:24:52 +0300 Subject: WIP --- app_expo/i18n/i18n.ts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 app_expo/i18n/i18n.ts (limited to 'app_expo/i18n/i18n.ts') diff --git a/app_expo/i18n/i18n.ts b/app_expo/i18n/i18n.ts new file mode 100644 index 0000000..b29e80b --- /dev/null +++ b/app_expo/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 + +type RecursiveKeyOf> = { + [TKey in keyof TObj & string]: TObj[TKey] extends Record + ? `${TKey}` | `${TKey}.${RecursiveKeyOf}` + : `${TKey}` +}[keyof TObj & string] -- cgit v1.2.3