blob: b29e80b4621ce0d2c7838424688cb7a907bc1bfa (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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]
|