@umituz/react-native-localization 1.4.0 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -6
- package/scripts/createLocaleLoaders.js +35 -28
- package/scripts/setup-languages.js +113 -0
- package/src/infrastructure/config/i18n.ts +2 -34
- package/src/infrastructure/config/languages.ts +0 -1
- package/src/infrastructure/locales/en-US/index.ts +33 -39
- package/src/infrastructure/storage/AsyncStorageWrapper.ts +1 -2
- package/src/infrastructure/storage/LocalizationStore.ts +0 -62
- package/lib/domain/repositories/ILocalizationRepository.d.ts +0 -17
- package/lib/domain/repositories/ILocalizationRepository.d.ts.map +0 -1
- package/lib/domain/repositories/ILocalizationRepository.js +0 -6
- package/lib/domain/repositories/ILocalizationRepository.js.map +0 -1
- package/lib/index.d.ts +0 -13
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -15
- package/lib/index.js.map +0 -1
- package/lib/infrastructure/components/LanguageSwitcher.d.ts +0 -12
- package/lib/infrastructure/components/LanguageSwitcher.d.ts.map +0 -1
- package/lib/infrastructure/components/LanguageSwitcher.js +0 -49
- package/lib/infrastructure/components/LanguageSwitcher.js.map +0 -1
- package/lib/infrastructure/components/LocalizationProvider.d.ts +0 -11
- package/lib/infrastructure/components/LocalizationProvider.d.ts.map +0 -1
- package/lib/infrastructure/components/LocalizationProvider.js +0 -14
- package/lib/infrastructure/components/LocalizationProvider.js.map +0 -1
- package/lib/infrastructure/components/useLanguageNavigation.d.ts +0 -6
- package/lib/infrastructure/components/useLanguageNavigation.d.ts.map +0 -1
- package/lib/infrastructure/components/useLanguageNavigation.js +0 -16
- package/lib/infrastructure/components/useLanguageNavigation.js.map +0 -1
- package/lib/infrastructure/config/i18n.d.ts +0 -12
- package/lib/infrastructure/config/i18n.d.ts.map +0 -1
- package/lib/infrastructure/config/i18n.js +0 -269
- package/lib/infrastructure/config/i18n.js.map +0 -1
- package/lib/infrastructure/config/languages.d.ts +0 -39
- package/lib/infrastructure/config/languages.d.ts.map +0 -1
- package/lib/infrastructure/config/languages.js +0 -210
- package/lib/infrastructure/config/languages.js.map +0 -1
- package/lib/infrastructure/config/languagesData.d.ts +0 -26
- package/lib/infrastructure/config/languagesData.d.ts.map +0 -1
- package/lib/infrastructure/config/languagesData.js +0 -58
- package/lib/infrastructure/config/languagesData.js.map +0 -1
- package/lib/infrastructure/locales/ar-SA/index.d.ts +0 -34
- package/lib/infrastructure/locales/ar-SA/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/ar-SA/index.js +0 -47
- package/lib/infrastructure/locales/ar-SA/index.js.map +0 -1
- package/lib/infrastructure/locales/bg-BG/index.d.ts +0 -34
- package/lib/infrastructure/locales/bg-BG/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/bg-BG/index.js +0 -47
- package/lib/infrastructure/locales/bg-BG/index.js.map +0 -1
- package/lib/infrastructure/locales/cs-CZ/index.d.ts +0 -34
- package/lib/infrastructure/locales/cs-CZ/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/cs-CZ/index.js +0 -47
- package/lib/infrastructure/locales/cs-CZ/index.js.map +0 -1
- package/lib/infrastructure/locales/da-DK/index.d.ts +0 -34
- package/lib/infrastructure/locales/da-DK/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/da-DK/index.js +0 -47
- package/lib/infrastructure/locales/da-DK/index.js.map +0 -1
- package/lib/infrastructure/locales/de-DE/index.d.ts +0 -34
- package/lib/infrastructure/locales/de-DE/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/de-DE/index.js +0 -47
- package/lib/infrastructure/locales/de-DE/index.js.map +0 -1
- package/lib/infrastructure/locales/el-GR/index.d.ts +0 -34
- package/lib/infrastructure/locales/el-GR/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/el-GR/index.js +0 -47
- package/lib/infrastructure/locales/el-GR/index.js.map +0 -1
- package/lib/infrastructure/locales/en-AU/index.d.ts +0 -32
- package/lib/infrastructure/locales/en-AU/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/en-AU/index.js +0 -44
- package/lib/infrastructure/locales/en-AU/index.js.map +0 -1
- package/lib/infrastructure/locales/en-CA/index.d.ts +0 -32
- package/lib/infrastructure/locales/en-CA/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/en-CA/index.js +0 -44
- package/lib/infrastructure/locales/en-CA/index.js.map +0 -1
- package/lib/infrastructure/locales/en-GB/index.d.ts +0 -32
- package/lib/infrastructure/locales/en-GB/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/en-GB/index.js +0 -44
- package/lib/infrastructure/locales/en-GB/index.js.map +0 -1
- package/lib/infrastructure/locales/en-US/index.d.ts +0 -34
- package/lib/infrastructure/locales/en-US/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/en-US/index.js +0 -47
- package/lib/infrastructure/locales/en-US/index.js.map +0 -1
- package/lib/infrastructure/locales/es-ES/index.d.ts +0 -34
- package/lib/infrastructure/locales/es-ES/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/es-ES/index.js +0 -47
- package/lib/infrastructure/locales/es-ES/index.js.map +0 -1
- package/lib/infrastructure/locales/es-MX/index.d.ts +0 -34
- package/lib/infrastructure/locales/es-MX/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/es-MX/index.js +0 -47
- package/lib/infrastructure/locales/es-MX/index.js.map +0 -1
- package/lib/infrastructure/locales/fi-FI/index.d.ts +0 -34
- package/lib/infrastructure/locales/fi-FI/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/fi-FI/index.js +0 -47
- package/lib/infrastructure/locales/fi-FI/index.js.map +0 -1
- package/lib/infrastructure/locales/fr-CA/index.d.ts +0 -34
- package/lib/infrastructure/locales/fr-CA/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/fr-CA/index.js +0 -47
- package/lib/infrastructure/locales/fr-CA/index.js.map +0 -1
- package/lib/infrastructure/locales/fr-FR/index.d.ts +0 -34
- package/lib/infrastructure/locales/fr-FR/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/fr-FR/index.js +0 -47
- package/lib/infrastructure/locales/fr-FR/index.js.map +0 -1
- package/lib/infrastructure/locales/hi-IN/index.d.ts +0 -34
- package/lib/infrastructure/locales/hi-IN/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/hi-IN/index.js +0 -47
- package/lib/infrastructure/locales/hi-IN/index.js.map +0 -1
- package/lib/infrastructure/locales/hr-HR/index.d.ts +0 -34
- package/lib/infrastructure/locales/hr-HR/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/hr-HR/index.js +0 -47
- package/lib/infrastructure/locales/hr-HR/index.js.map +0 -1
- package/lib/infrastructure/locales/hu-HU/index.d.ts +0 -34
- package/lib/infrastructure/locales/hu-HU/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/hu-HU/index.js +0 -47
- package/lib/infrastructure/locales/hu-HU/index.js.map +0 -1
- package/lib/infrastructure/locales/id-ID/index.d.ts +0 -34
- package/lib/infrastructure/locales/id-ID/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/id-ID/index.js +0 -47
- package/lib/infrastructure/locales/id-ID/index.js.map +0 -1
- package/lib/infrastructure/locales/it-IT/index.d.ts +0 -34
- package/lib/infrastructure/locales/it-IT/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/it-IT/index.js +0 -47
- package/lib/infrastructure/locales/it-IT/index.js.map +0 -1
- package/lib/infrastructure/locales/ja-JP/index.d.ts +0 -34
- package/lib/infrastructure/locales/ja-JP/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/ja-JP/index.js +0 -47
- package/lib/infrastructure/locales/ja-JP/index.js.map +0 -1
- package/lib/infrastructure/locales/ko-KR/index.d.ts +0 -34
- package/lib/infrastructure/locales/ko-KR/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/ko-KR/index.js +0 -47
- package/lib/infrastructure/locales/ko-KR/index.js.map +0 -1
- package/lib/infrastructure/locales/ms-MY/index.d.ts +0 -34
- package/lib/infrastructure/locales/ms-MY/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/ms-MY/index.js +0 -47
- package/lib/infrastructure/locales/ms-MY/index.js.map +0 -1
- package/lib/infrastructure/locales/nl-NL/index.d.ts +0 -34
- package/lib/infrastructure/locales/nl-NL/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/nl-NL/index.js +0 -47
- package/lib/infrastructure/locales/nl-NL/index.js.map +0 -1
- package/lib/infrastructure/locales/no-NO/index.d.ts +0 -34
- package/lib/infrastructure/locales/no-NO/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/no-NO/index.js +0 -47
- package/lib/infrastructure/locales/no-NO/index.js.map +0 -1
- package/lib/infrastructure/locales/pl-PL/index.d.ts +0 -34
- package/lib/infrastructure/locales/pl-PL/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/pl-PL/index.js +0 -47
- package/lib/infrastructure/locales/pl-PL/index.js.map +0 -1
- package/lib/infrastructure/locales/pt-BR/index.d.ts +0 -34
- package/lib/infrastructure/locales/pt-BR/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/pt-BR/index.js +0 -47
- package/lib/infrastructure/locales/pt-BR/index.js.map +0 -1
- package/lib/infrastructure/locales/pt-PT/index.d.ts +0 -34
- package/lib/infrastructure/locales/pt-PT/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/pt-PT/index.js +0 -47
- package/lib/infrastructure/locales/pt-PT/index.js.map +0 -1
- package/lib/infrastructure/locales/ro-RO/index.d.ts +0 -34
- package/lib/infrastructure/locales/ro-RO/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/ro-RO/index.js +0 -47
- package/lib/infrastructure/locales/ro-RO/index.js.map +0 -1
- package/lib/infrastructure/locales/ru-RU/index.d.ts +0 -34
- package/lib/infrastructure/locales/ru-RU/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/ru-RU/index.js +0 -47
- package/lib/infrastructure/locales/ru-RU/index.js.map +0 -1
- package/lib/infrastructure/locales/sk-SK/index.d.ts +0 -34
- package/lib/infrastructure/locales/sk-SK/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/sk-SK/index.js +0 -47
- package/lib/infrastructure/locales/sk-SK/index.js.map +0 -1
- package/lib/infrastructure/locales/sv-SE/index.d.ts +0 -34
- package/lib/infrastructure/locales/sv-SE/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/sv-SE/index.js +0 -47
- package/lib/infrastructure/locales/sv-SE/index.js.map +0 -1
- package/lib/infrastructure/locales/th-TH/index.d.ts +0 -34
- package/lib/infrastructure/locales/th-TH/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/th-TH/index.js +0 -47
- package/lib/infrastructure/locales/th-TH/index.js.map +0 -1
- package/lib/infrastructure/locales/tl-PH/index.d.ts +0 -34
- package/lib/infrastructure/locales/tl-PH/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/tl-PH/index.js +0 -47
- package/lib/infrastructure/locales/tl-PH/index.js.map +0 -1
- package/lib/infrastructure/locales/tr-TR/index.d.ts +0 -34
- package/lib/infrastructure/locales/tr-TR/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/tr-TR/index.js +0 -47
- package/lib/infrastructure/locales/tr-TR/index.js.map +0 -1
- package/lib/infrastructure/locales/uk-UA/index.d.ts +0 -34
- package/lib/infrastructure/locales/uk-UA/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/uk-UA/index.js +0 -47
- package/lib/infrastructure/locales/uk-UA/index.js.map +0 -1
- package/lib/infrastructure/locales/vi-VN/index.d.ts +0 -34
- package/lib/infrastructure/locales/vi-VN/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/vi-VN/index.js +0 -47
- package/lib/infrastructure/locales/vi-VN/index.js.map +0 -1
- package/lib/infrastructure/locales/zh-CN/index.d.ts +0 -34
- package/lib/infrastructure/locales/zh-CN/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/zh-CN/index.js +0 -47
- package/lib/infrastructure/locales/zh-CN/index.js.map +0 -1
- package/lib/infrastructure/locales/zh-TW/index.d.ts +0 -34
- package/lib/infrastructure/locales/zh-TW/index.d.ts.map +0 -1
- package/lib/infrastructure/locales/zh-TW/index.js +0 -47
- package/lib/infrastructure/locales/zh-TW/index.js.map +0 -1
- package/lib/infrastructure/storage/AsyncStorageWrapper.d.ts +0 -12
- package/lib/infrastructure/storage/AsyncStorageWrapper.d.ts.map +0 -1
- package/lib/infrastructure/storage/AsyncStorageWrapper.js +0 -29
- package/lib/infrastructure/storage/AsyncStorageWrapper.js.map +0 -1
- package/lib/infrastructure/storage/LocalizationStore.d.ts +0 -31
- package/lib/infrastructure/storage/LocalizationStore.d.ts.map +0 -1
- package/lib/infrastructure/storage/LocalizationStore.js +0 -192
- package/lib/infrastructure/storage/LocalizationStore.js.map +0 -1
- package/src/infrastructure/locales/ar-SA/auth.json +0 -32
- package/src/infrastructure/locales/ar-SA/branding.json +0 -9
- package/src/infrastructure/locales/ar-SA/datetime.json +0 -140
- package/src/infrastructure/locales/ar-SA/errors.json +0 -43
- package/src/infrastructure/locales/ar-SA/flashcards.json +0 -287
- package/src/infrastructure/locales/ar-SA/general.json +0 -61
- package/src/infrastructure/locales/ar-SA/index.ts +0 -49
- package/src/infrastructure/locales/ar-SA/navigation.json +0 -58
- package/src/infrastructure/locales/ar-SA/onboarding.json +0 -76
- package/src/infrastructure/locales/ar-SA/settings.json +0 -53
- package/src/infrastructure/locales/bg-BG/auth.json +0 -32
- package/src/infrastructure/locales/bg-BG/branding.json +0 -9
- package/src/infrastructure/locales/bg-BG/datetime.json +0 -140
- package/src/infrastructure/locales/bg-BG/errors.json +0 -43
- package/src/infrastructure/locales/bg-BG/flashcards.json +0 -287
- package/src/infrastructure/locales/bg-BG/general.json +0 -61
- package/src/infrastructure/locales/bg-BG/index.ts +0 -49
- package/src/infrastructure/locales/bg-BG/navigation.json +0 -58
- package/src/infrastructure/locales/bg-BG/onboarding.json +0 -76
- package/src/infrastructure/locales/bg-BG/settings.json +0 -53
- package/src/infrastructure/locales/cs-CZ/auth.json +0 -32
- package/src/infrastructure/locales/cs-CZ/branding.json +0 -9
- package/src/infrastructure/locales/cs-CZ/datetime.json +0 -140
- package/src/infrastructure/locales/cs-CZ/errors.json +0 -43
- package/src/infrastructure/locales/cs-CZ/flashcards.json +0 -287
- package/src/infrastructure/locales/cs-CZ/general.json +0 -61
- package/src/infrastructure/locales/cs-CZ/index.ts +0 -49
- package/src/infrastructure/locales/cs-CZ/navigation.json +0 -58
- package/src/infrastructure/locales/cs-CZ/onboarding.json +0 -76
- package/src/infrastructure/locales/cs-CZ/settings.json +0 -53
- package/src/infrastructure/locales/da-DK/auth.json +0 -32
- package/src/infrastructure/locales/da-DK/branding.json +0 -9
- package/src/infrastructure/locales/da-DK/datetime.json +0 -140
- package/src/infrastructure/locales/da-DK/errors.json +0 -43
- package/src/infrastructure/locales/da-DK/flashcards.json +0 -287
- package/src/infrastructure/locales/da-DK/general.json +0 -61
- package/src/infrastructure/locales/da-DK/index.ts +0 -49
- package/src/infrastructure/locales/da-DK/navigation.json +0 -58
- package/src/infrastructure/locales/da-DK/onboarding.json +0 -76
- package/src/infrastructure/locales/da-DK/settings.json +0 -53
- package/src/infrastructure/locales/de-DE/auth.json +0 -32
- package/src/infrastructure/locales/de-DE/branding.json +0 -9
- package/src/infrastructure/locales/de-DE/datetime.json +0 -140
- package/src/infrastructure/locales/de-DE/errors.json +0 -43
- package/src/infrastructure/locales/de-DE/flashcards.json +0 -287
- package/src/infrastructure/locales/de-DE/general.json +0 -61
- package/src/infrastructure/locales/de-DE/index.ts +0 -49
- package/src/infrastructure/locales/de-DE/navigation.json +0 -58
- package/src/infrastructure/locales/de-DE/onboarding.json +0 -76
- package/src/infrastructure/locales/de-DE/settings.json +0 -53
- package/src/infrastructure/locales/el-GR/auth.json +0 -32
- package/src/infrastructure/locales/el-GR/branding.json +0 -9
- package/src/infrastructure/locales/el-GR/datetime.json +0 -140
- package/src/infrastructure/locales/el-GR/errors.json +0 -43
- package/src/infrastructure/locales/el-GR/flashcards.json +0 -287
- package/src/infrastructure/locales/el-GR/general.json +0 -61
- package/src/infrastructure/locales/el-GR/index.ts +0 -49
- package/src/infrastructure/locales/el-GR/navigation.json +0 -58
- package/src/infrastructure/locales/el-GR/onboarding.json +0 -76
- package/src/infrastructure/locales/el-GR/settings.json +0 -53
- package/src/infrastructure/locales/en-AU/branding.json +0 -11
- package/src/infrastructure/locales/en-AU/datetime.json +0 -140
- package/src/infrastructure/locales/en-AU/errors.json +0 -43
- package/src/infrastructure/locales/en-AU/flashcards.json +0 -83
- package/src/infrastructure/locales/en-AU/general.json +0 -61
- package/src/infrastructure/locales/en-AU/index.ts +0 -46
- package/src/infrastructure/locales/en-AU/navigation.json +0 -58
- package/src/infrastructure/locales/en-AU/onboarding.json +0 -76
- package/src/infrastructure/locales/en-AU/settings.json +0 -53
- package/src/infrastructure/locales/en-CA/branding.json +0 -11
- package/src/infrastructure/locales/en-CA/datetime.json +0 -140
- package/src/infrastructure/locales/en-CA/errors.json +0 -43
- package/src/infrastructure/locales/en-CA/flashcards.json +0 -83
- package/src/infrastructure/locales/en-CA/general.json +0 -61
- package/src/infrastructure/locales/en-CA/index.ts +0 -46
- package/src/infrastructure/locales/en-CA/navigation.json +0 -58
- package/src/infrastructure/locales/en-CA/onboarding.json +0 -76
- package/src/infrastructure/locales/en-CA/settings.json +0 -53
- package/src/infrastructure/locales/en-GB/branding.json +0 -11
- package/src/infrastructure/locales/en-GB/datetime.json +0 -140
- package/src/infrastructure/locales/en-GB/errors.json +0 -43
- package/src/infrastructure/locales/en-GB/flashcards.json +0 -83
- package/src/infrastructure/locales/en-GB/general.json +0 -61
- package/src/infrastructure/locales/en-GB/index.ts +0 -46
- package/src/infrastructure/locales/en-GB/navigation.json +0 -58
- package/src/infrastructure/locales/en-GB/onboarding.json +0 -76
- package/src/infrastructure/locales/en-GB/settings.json +0 -53
- package/src/infrastructure/locales/es-ES/auth.json +0 -32
- package/src/infrastructure/locales/es-ES/branding.json +0 -9
- package/src/infrastructure/locales/es-ES/datetime.json +0 -140
- package/src/infrastructure/locales/es-ES/errors.json +0 -43
- package/src/infrastructure/locales/es-ES/flashcards.json +0 -287
- package/src/infrastructure/locales/es-ES/general.json +0 -61
- package/src/infrastructure/locales/es-ES/index.ts +0 -49
- package/src/infrastructure/locales/es-ES/navigation.json +0 -58
- package/src/infrastructure/locales/es-ES/onboarding.json +0 -76
- package/src/infrastructure/locales/es-ES/settings.json +0 -53
- package/src/infrastructure/locales/es-MX/auth.json +0 -32
- package/src/infrastructure/locales/es-MX/branding.json +0 -9
- package/src/infrastructure/locales/es-MX/datetime.json +0 -140
- package/src/infrastructure/locales/es-MX/errors.json +0 -43
- package/src/infrastructure/locales/es-MX/flashcards.json +0 -276
- package/src/infrastructure/locales/es-MX/general.json +0 -61
- package/src/infrastructure/locales/es-MX/index.ts +0 -49
- package/src/infrastructure/locales/es-MX/navigation.json +0 -58
- package/src/infrastructure/locales/es-MX/onboarding.json +0 -76
- package/src/infrastructure/locales/es-MX/settings.json +0 -53
- package/src/infrastructure/locales/fi-FI/auth.json +0 -32
- package/src/infrastructure/locales/fi-FI/branding.json +0 -9
- package/src/infrastructure/locales/fi-FI/datetime.json +0 -140
- package/src/infrastructure/locales/fi-FI/errors.json +0 -43
- package/src/infrastructure/locales/fi-FI/flashcards.json +0 -287
- package/src/infrastructure/locales/fi-FI/general.json +0 -61
- package/src/infrastructure/locales/fi-FI/index.ts +0 -49
- package/src/infrastructure/locales/fi-FI/navigation.json +0 -58
- package/src/infrastructure/locales/fi-FI/onboarding.json +0 -76
- package/src/infrastructure/locales/fi-FI/settings.json +0 -53
- package/src/infrastructure/locales/fr-CA/auth.json +0 -32
- package/src/infrastructure/locales/fr-CA/branding.json +0 -9
- package/src/infrastructure/locales/fr-CA/datetime.json +0 -140
- package/src/infrastructure/locales/fr-CA/errors.json +0 -43
- package/src/infrastructure/locales/fr-CA/flashcards.json +0 -287
- package/src/infrastructure/locales/fr-CA/general.json +0 -61
- package/src/infrastructure/locales/fr-CA/index.ts +0 -49
- package/src/infrastructure/locales/fr-CA/navigation.json +0 -58
- package/src/infrastructure/locales/fr-CA/onboarding.json +0 -76
- package/src/infrastructure/locales/fr-CA/settings.json +0 -53
- package/src/infrastructure/locales/fr-FR/auth.json +0 -32
- package/src/infrastructure/locales/fr-FR/branding.json +0 -9
- package/src/infrastructure/locales/fr-FR/datetime.json +0 -140
- package/src/infrastructure/locales/fr-FR/errors.json +0 -43
- package/src/infrastructure/locales/fr-FR/flashcards.json +0 -287
- package/src/infrastructure/locales/fr-FR/general.json +0 -61
- package/src/infrastructure/locales/fr-FR/index.ts +0 -49
- package/src/infrastructure/locales/fr-FR/navigation.json +0 -58
- package/src/infrastructure/locales/fr-FR/onboarding.json +0 -76
- package/src/infrastructure/locales/fr-FR/settings.json +0 -53
- package/src/infrastructure/locales/hi-IN/auth.json +0 -32
- package/src/infrastructure/locales/hi-IN/branding.json +0 -9
- package/src/infrastructure/locales/hi-IN/datetime.json +0 -140
- package/src/infrastructure/locales/hi-IN/errors.json +0 -43
- package/src/infrastructure/locales/hi-IN/flashcards.json +0 -287
- package/src/infrastructure/locales/hi-IN/general.json +0 -61
- package/src/infrastructure/locales/hi-IN/index.ts +0 -49
- package/src/infrastructure/locales/hi-IN/navigation.json +0 -58
- package/src/infrastructure/locales/hi-IN/onboarding.json +0 -76
- package/src/infrastructure/locales/hi-IN/settings.json +0 -53
- package/src/infrastructure/locales/hr-HR/auth.json +0 -32
- package/src/infrastructure/locales/hr-HR/branding.json +0 -9
- package/src/infrastructure/locales/hr-HR/datetime.json +0 -140
- package/src/infrastructure/locales/hr-HR/errors.json +0 -43
- package/src/infrastructure/locales/hr-HR/flashcards.json +0 -276
- package/src/infrastructure/locales/hr-HR/general.json +0 -61
- package/src/infrastructure/locales/hr-HR/index.ts +0 -49
- package/src/infrastructure/locales/hr-HR/navigation.json +0 -58
- package/src/infrastructure/locales/hr-HR/onboarding.json +0 -76
- package/src/infrastructure/locales/hr-HR/settings.json +0 -53
- package/src/infrastructure/locales/hu-HU/auth.json +0 -32
- package/src/infrastructure/locales/hu-HU/branding.json +0 -9
- package/src/infrastructure/locales/hu-HU/datetime.json +0 -140
- package/src/infrastructure/locales/hu-HU/errors.json +0 -43
- package/src/infrastructure/locales/hu-HU/flashcards.json +0 -287
- package/src/infrastructure/locales/hu-HU/general.json +0 -61
- package/src/infrastructure/locales/hu-HU/index.ts +0 -49
- package/src/infrastructure/locales/hu-HU/navigation.json +0 -58
- package/src/infrastructure/locales/hu-HU/onboarding.json +0 -76
- package/src/infrastructure/locales/hu-HU/settings.json +0 -53
- package/src/infrastructure/locales/id-ID/auth.json +0 -32
- package/src/infrastructure/locales/id-ID/branding.json +0 -9
- package/src/infrastructure/locales/id-ID/datetime.json +0 -140
- package/src/infrastructure/locales/id-ID/errors.json +0 -43
- package/src/infrastructure/locales/id-ID/flashcards.json +0 -287
- package/src/infrastructure/locales/id-ID/general.json +0 -61
- package/src/infrastructure/locales/id-ID/index.ts +0 -49
- package/src/infrastructure/locales/id-ID/navigation.json +0 -58
- package/src/infrastructure/locales/id-ID/onboarding.json +0 -76
- package/src/infrastructure/locales/id-ID/settings.json +0 -53
- package/src/infrastructure/locales/it-IT/auth.json +0 -32
- package/src/infrastructure/locales/it-IT/branding.json +0 -9
- package/src/infrastructure/locales/it-IT/datetime.json +0 -140
- package/src/infrastructure/locales/it-IT/errors.json +0 -43
- package/src/infrastructure/locales/it-IT/flashcards.json +0 -287
- package/src/infrastructure/locales/it-IT/general.json +0 -61
- package/src/infrastructure/locales/it-IT/index.ts +0 -49
- package/src/infrastructure/locales/it-IT/navigation.json +0 -58
- package/src/infrastructure/locales/it-IT/onboarding.json +0 -76
- package/src/infrastructure/locales/it-IT/settings.json +0 -53
- package/src/infrastructure/locales/ja-JP/auth.json +0 -32
- package/src/infrastructure/locales/ja-JP/branding.json +0 -9
- package/src/infrastructure/locales/ja-JP/datetime.json +0 -140
- package/src/infrastructure/locales/ja-JP/errors.json +0 -43
- package/src/infrastructure/locales/ja-JP/flashcards.json +0 -287
- package/src/infrastructure/locales/ja-JP/general.json +0 -61
- package/src/infrastructure/locales/ja-JP/index.ts +0 -49
- package/src/infrastructure/locales/ja-JP/navigation.json +0 -58
- package/src/infrastructure/locales/ja-JP/onboarding.json +0 -76
- package/src/infrastructure/locales/ja-JP/settings.json +0 -53
- package/src/infrastructure/locales/ko-KR/auth.json +0 -32
- package/src/infrastructure/locales/ko-KR/branding.json +0 -9
- package/src/infrastructure/locales/ko-KR/datetime.json +0 -140
- package/src/infrastructure/locales/ko-KR/errors.json +0 -43
- package/src/infrastructure/locales/ko-KR/flashcards.json +0 -287
- package/src/infrastructure/locales/ko-KR/general.json +0 -61
- package/src/infrastructure/locales/ko-KR/index.ts +0 -49
- package/src/infrastructure/locales/ko-KR/navigation.json +0 -58
- package/src/infrastructure/locales/ko-KR/onboarding.json +0 -76
- package/src/infrastructure/locales/ko-KR/settings.json +0 -53
- package/src/infrastructure/locales/ms-MY/auth.json +0 -32
- package/src/infrastructure/locales/ms-MY/branding.json +0 -9
- package/src/infrastructure/locales/ms-MY/datetime.json +0 -140
- package/src/infrastructure/locales/ms-MY/errors.json +0 -43
- package/src/infrastructure/locales/ms-MY/flashcards.json +0 -287
- package/src/infrastructure/locales/ms-MY/general.json +0 -61
- package/src/infrastructure/locales/ms-MY/index.ts +0 -49
- package/src/infrastructure/locales/ms-MY/navigation.json +0 -58
- package/src/infrastructure/locales/ms-MY/onboarding.json +0 -76
- package/src/infrastructure/locales/ms-MY/settings.json +0 -53
- package/src/infrastructure/locales/nl-NL/auth.json +0 -32
- package/src/infrastructure/locales/nl-NL/branding.json +0 -9
- package/src/infrastructure/locales/nl-NL/datetime.json +0 -140
- package/src/infrastructure/locales/nl-NL/errors.json +0 -43
- package/src/infrastructure/locales/nl-NL/flashcards.json +0 -287
- package/src/infrastructure/locales/nl-NL/general.json +0 -61
- package/src/infrastructure/locales/nl-NL/index.ts +0 -49
- package/src/infrastructure/locales/nl-NL/navigation.json +0 -58
- package/src/infrastructure/locales/nl-NL/onboarding.json +0 -76
- package/src/infrastructure/locales/nl-NL/settings.json +0 -53
- package/src/infrastructure/locales/no-NO/auth.json +0 -32
- package/src/infrastructure/locales/no-NO/branding.json +0 -9
- package/src/infrastructure/locales/no-NO/datetime.json +0 -140
- package/src/infrastructure/locales/no-NO/errors.json +0 -43
- package/src/infrastructure/locales/no-NO/flashcards.json +0 -287
- package/src/infrastructure/locales/no-NO/general.json +0 -61
- package/src/infrastructure/locales/no-NO/index.ts +0 -49
- package/src/infrastructure/locales/no-NO/navigation.json +0 -58
- package/src/infrastructure/locales/no-NO/onboarding.json +0 -76
- package/src/infrastructure/locales/no-NO/settings.json +0 -53
- package/src/infrastructure/locales/pl-PL/auth.json +0 -32
- package/src/infrastructure/locales/pl-PL/branding.json +0 -9
- package/src/infrastructure/locales/pl-PL/datetime.json +0 -140
- package/src/infrastructure/locales/pl-PL/errors.json +0 -43
- package/src/infrastructure/locales/pl-PL/flashcards.json +0 -287
- package/src/infrastructure/locales/pl-PL/general.json +0 -61
- package/src/infrastructure/locales/pl-PL/index.ts +0 -49
- package/src/infrastructure/locales/pl-PL/navigation.json +0 -58
- package/src/infrastructure/locales/pl-PL/onboarding.json +0 -76
- package/src/infrastructure/locales/pl-PL/settings.json +0 -53
- package/src/infrastructure/locales/pt-BR/auth.json +0 -32
- package/src/infrastructure/locales/pt-BR/branding.json +0 -9
- package/src/infrastructure/locales/pt-BR/datetime.json +0 -140
- package/src/infrastructure/locales/pt-BR/errors.json +0 -43
- package/src/infrastructure/locales/pt-BR/flashcards.json +0 -287
- package/src/infrastructure/locales/pt-BR/general.json +0 -61
- package/src/infrastructure/locales/pt-BR/index.ts +0 -49
- package/src/infrastructure/locales/pt-BR/navigation.json +0 -58
- package/src/infrastructure/locales/pt-BR/onboarding.json +0 -76
- package/src/infrastructure/locales/pt-BR/settings.json +0 -53
- package/src/infrastructure/locales/pt-PT/auth.json +0 -32
- package/src/infrastructure/locales/pt-PT/branding.json +0 -9
- package/src/infrastructure/locales/pt-PT/datetime.json +0 -140
- package/src/infrastructure/locales/pt-PT/errors.json +0 -43
- package/src/infrastructure/locales/pt-PT/flashcards.json +0 -287
- package/src/infrastructure/locales/pt-PT/general.json +0 -61
- package/src/infrastructure/locales/pt-PT/index.ts +0 -49
- package/src/infrastructure/locales/pt-PT/navigation.json +0 -58
- package/src/infrastructure/locales/pt-PT/onboarding.json +0 -76
- package/src/infrastructure/locales/pt-PT/settings.json +0 -53
- package/src/infrastructure/locales/ro-RO/auth.json +0 -32
- package/src/infrastructure/locales/ro-RO/branding.json +0 -9
- package/src/infrastructure/locales/ro-RO/datetime.json +0 -140
- package/src/infrastructure/locales/ro-RO/errors.json +0 -43
- package/src/infrastructure/locales/ro-RO/flashcards.json +0 -287
- package/src/infrastructure/locales/ro-RO/general.json +0 -61
- package/src/infrastructure/locales/ro-RO/index.ts +0 -49
- package/src/infrastructure/locales/ro-RO/navigation.json +0 -58
- package/src/infrastructure/locales/ro-RO/onboarding.json +0 -76
- package/src/infrastructure/locales/ro-RO/settings.json +0 -53
- package/src/infrastructure/locales/ru-RU/auth.json +0 -32
- package/src/infrastructure/locales/ru-RU/branding.json +0 -9
- package/src/infrastructure/locales/ru-RU/datetime.json +0 -140
- package/src/infrastructure/locales/ru-RU/errors.json +0 -43
- package/src/infrastructure/locales/ru-RU/flashcards.json +0 -276
- package/src/infrastructure/locales/ru-RU/general.json +0 -61
- package/src/infrastructure/locales/ru-RU/index.ts +0 -49
- package/src/infrastructure/locales/ru-RU/navigation.json +0 -58
- package/src/infrastructure/locales/ru-RU/onboarding.json +0 -76
- package/src/infrastructure/locales/ru-RU/settings.json +0 -53
- package/src/infrastructure/locales/sk-SK/auth.json +0 -32
- package/src/infrastructure/locales/sk-SK/branding.json +0 -9
- package/src/infrastructure/locales/sk-SK/datetime.json +0 -140
- package/src/infrastructure/locales/sk-SK/errors.json +0 -43
- package/src/infrastructure/locales/sk-SK/flashcards.json +0 -287
- package/src/infrastructure/locales/sk-SK/general.json +0 -61
- package/src/infrastructure/locales/sk-SK/index.ts +0 -49
- package/src/infrastructure/locales/sk-SK/navigation.json +0 -58
- package/src/infrastructure/locales/sk-SK/onboarding.json +0 -76
- package/src/infrastructure/locales/sk-SK/settings.json +0 -53
- package/src/infrastructure/locales/sv-SE/auth.json +0 -32
- package/src/infrastructure/locales/sv-SE/branding.json +0 -9
- package/src/infrastructure/locales/sv-SE/datetime.json +0 -140
- package/src/infrastructure/locales/sv-SE/errors.json +0 -43
- package/src/infrastructure/locales/sv-SE/flashcards.json +0 -287
- package/src/infrastructure/locales/sv-SE/general.json +0 -61
- package/src/infrastructure/locales/sv-SE/index.ts +0 -49
- package/src/infrastructure/locales/sv-SE/navigation.json +0 -58
- package/src/infrastructure/locales/sv-SE/onboarding.json +0 -76
- package/src/infrastructure/locales/sv-SE/settings.json +0 -53
- package/src/infrastructure/locales/th-TH/auth.json +0 -32
- package/src/infrastructure/locales/th-TH/branding.json +0 -9
- package/src/infrastructure/locales/th-TH/datetime.json +0 -140
- package/src/infrastructure/locales/th-TH/errors.json +0 -43
- package/src/infrastructure/locales/th-TH/flashcards.json +0 -287
- package/src/infrastructure/locales/th-TH/general.json +0 -61
- package/src/infrastructure/locales/th-TH/index.ts +0 -49
- package/src/infrastructure/locales/th-TH/navigation.json +0 -58
- package/src/infrastructure/locales/th-TH/onboarding.json +0 -76
- package/src/infrastructure/locales/th-TH/settings.json +0 -53
- package/src/infrastructure/locales/tl-PH/auth.json +0 -32
- package/src/infrastructure/locales/tl-PH/branding.json +0 -9
- package/src/infrastructure/locales/tl-PH/datetime.json +0 -140
- package/src/infrastructure/locales/tl-PH/errors.json +0 -43
- package/src/infrastructure/locales/tl-PH/flashcards.json +0 -287
- package/src/infrastructure/locales/tl-PH/general.json +0 -61
- package/src/infrastructure/locales/tl-PH/index.ts +0 -49
- package/src/infrastructure/locales/tl-PH/navigation.json +0 -58
- package/src/infrastructure/locales/tl-PH/onboarding.json +0 -76
- package/src/infrastructure/locales/tl-PH/settings.json +0 -53
- package/src/infrastructure/locales/tr-TR/auth.json +0 -32
- package/src/infrastructure/locales/tr-TR/branding.json +0 -9
- package/src/infrastructure/locales/tr-TR/datetime.json +0 -140
- package/src/infrastructure/locales/tr-TR/errors.json +0 -43
- package/src/infrastructure/locales/tr-TR/flashcards.json +0 -287
- package/src/infrastructure/locales/tr-TR/general.json +0 -61
- package/src/infrastructure/locales/tr-TR/index.ts +0 -49
- package/src/infrastructure/locales/tr-TR/navigation.json +0 -58
- package/src/infrastructure/locales/tr-TR/onboarding.json +0 -76
- package/src/infrastructure/locales/tr-TR/settings.json +0 -53
- package/src/infrastructure/locales/uk-UA/auth.json +0 -32
- package/src/infrastructure/locales/uk-UA/branding.json +0 -9
- package/src/infrastructure/locales/uk-UA/datetime.json +0 -140
- package/src/infrastructure/locales/uk-UA/errors.json +0 -43
- package/src/infrastructure/locales/uk-UA/flashcards.json +0 -287
- package/src/infrastructure/locales/uk-UA/general.json +0 -61
- package/src/infrastructure/locales/uk-UA/index.ts +0 -49
- package/src/infrastructure/locales/uk-UA/navigation.json +0 -58
- package/src/infrastructure/locales/uk-UA/onboarding.json +0 -76
- package/src/infrastructure/locales/uk-UA/settings.json +0 -53
- package/src/infrastructure/locales/vi-VN/auth.json +0 -32
- package/src/infrastructure/locales/vi-VN/branding.json +0 -9
- package/src/infrastructure/locales/vi-VN/datetime.json +0 -140
- package/src/infrastructure/locales/vi-VN/errors.json +0 -43
- package/src/infrastructure/locales/vi-VN/flashcards.json +0 -287
- package/src/infrastructure/locales/vi-VN/general.json +0 -61
- package/src/infrastructure/locales/vi-VN/index.ts +0 -49
- package/src/infrastructure/locales/vi-VN/navigation.json +0 -58
- package/src/infrastructure/locales/vi-VN/onboarding.json +0 -76
- package/src/infrastructure/locales/vi-VN/settings.json +0 -53
- package/src/infrastructure/locales/zh-CN/auth.json +0 -32
- package/src/infrastructure/locales/zh-CN/branding.json +0 -9
- package/src/infrastructure/locales/zh-CN/datetime.json +0 -140
- package/src/infrastructure/locales/zh-CN/errors.json +0 -43
- package/src/infrastructure/locales/zh-CN/flashcards.json +0 -287
- package/src/infrastructure/locales/zh-CN/general.json +0 -61
- package/src/infrastructure/locales/zh-CN/index.ts +0 -49
- package/src/infrastructure/locales/zh-CN/navigation.json +0 -58
- package/src/infrastructure/locales/zh-CN/onboarding.json +0 -76
- package/src/infrastructure/locales/zh-CN/settings.json +0 -53
- package/src/infrastructure/locales/zh-TW/auth.json +0 -32
- package/src/infrastructure/locales/zh-TW/branding.json +0 -9
- package/src/infrastructure/locales/zh-TW/datetime.json +0 -140
- package/src/infrastructure/locales/zh-TW/errors.json +0 -43
- package/src/infrastructure/locales/zh-TW/flashcards.json +0 -287
- package/src/infrastructure/locales/zh-TW/general.json +0 -61
- package/src/infrastructure/locales/zh-TW/index.ts +0 -49
- package/src/infrastructure/locales/zh-TW/navigation.json +0 -58
- package/src/infrastructure/locales/zh-TW/onboarding.json +0 -76
- package/src/infrastructure/locales/zh-TW/settings.json +0 -53
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Localization Store
|
|
3
|
-
* Zustand state management for language preferences with AsyncStorage persistence
|
|
4
|
-
*/
|
|
5
|
-
import type { Language } from '../../domain/repositories/ILocalizationRepository';
|
|
6
|
-
interface LocalizationState {
|
|
7
|
-
currentLanguage: string;
|
|
8
|
-
isRTL: boolean;
|
|
9
|
-
isInitialized: boolean;
|
|
10
|
-
supportedLanguages: Language[];
|
|
11
|
-
setLanguage: (languageCode: string) => Promise<void>;
|
|
12
|
-
initialize: () => Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
export declare const useLocalizationStore: import("zustand").UseBoundStore<import("zustand").StoreApi<LocalizationState>>;
|
|
15
|
-
/**
|
|
16
|
-
* Hook to use localization
|
|
17
|
-
* Provides current language, RTL state, language switching, and translation function
|
|
18
|
-
* Uses react-i18next's useTranslation hook to ensure proper i18n instance
|
|
19
|
-
*/
|
|
20
|
-
export declare const useLocalization: () => {
|
|
21
|
-
t: import("i18next").TFunction<"translation", undefined>;
|
|
22
|
-
currentLanguage: string;
|
|
23
|
-
currentLanguageObject: Language;
|
|
24
|
-
isRTL: boolean;
|
|
25
|
-
isInitialized: boolean;
|
|
26
|
-
supportedLanguages: Language[];
|
|
27
|
-
setLanguage: (languageCode: string) => Promise<void>;
|
|
28
|
-
initialize: () => Promise<void>;
|
|
29
|
-
};
|
|
30
|
-
export {};
|
|
31
|
-
//# sourceMappingURL=LocalizationStore.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LocalizationStore.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/storage/LocalizationStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAElF,UAAU,iBAAiB;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,QAAQ,EAAE,CAAC;IAC/B,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED,eAAO,MAAM,oBAAoB,gFA0J9B,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;gCArKE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC;sBAClC,OAAO,CAAC,IAAI,CAAC;CA8LhC,CAAC"}
|
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Localization Store
|
|
3
|
-
* Zustand state management for language preferences with AsyncStorage persistence
|
|
4
|
-
*/
|
|
5
|
-
import { create } from 'zustand';
|
|
6
|
-
import { useTranslation } from 'react-i18next';
|
|
7
|
-
import { StorageWrapper, STORAGE_KEYS } from './AsyncStorageWrapper';
|
|
8
|
-
import i18n from '../config/i18n';
|
|
9
|
-
import { SUPPORTED_LANGUAGES, DEFAULT_LANGUAGE, getLanguageByCode, getDeviceLocale } from '../config/languages';
|
|
10
|
-
export const useLocalizationStore = create((set, get) => ({
|
|
11
|
-
currentLanguage: DEFAULT_LANGUAGE,
|
|
12
|
-
isRTL: false,
|
|
13
|
-
isInitialized: false,
|
|
14
|
-
supportedLanguages: SUPPORTED_LANGUAGES,
|
|
15
|
-
/**
|
|
16
|
-
* Initialize localization
|
|
17
|
-
* DEVICE LOCALE DETECTION:
|
|
18
|
-
* - First launch (no saved language): Automatically detect device locale
|
|
19
|
-
* - After manual selection: Use saved language preference
|
|
20
|
-
* - Fallback: English (en-US) if device locale not supported
|
|
21
|
-
*/
|
|
22
|
-
initialize: async () => {
|
|
23
|
-
/* eslint-disable-next-line no-console */
|
|
24
|
-
if (__DEV__)
|
|
25
|
-
console.log('[LocalizationStore] Starting initialization...');
|
|
26
|
-
try {
|
|
27
|
-
// ✅ CRITICAL FIX: Don't reset isInitialized if already initialized
|
|
28
|
-
// This prevents UI flash on re-initialization
|
|
29
|
-
const { isInitialized: alreadyInitialized } = get();
|
|
30
|
-
if (alreadyInitialized) {
|
|
31
|
-
/* eslint-disable-next-line no-console */
|
|
32
|
-
if (__DEV__)
|
|
33
|
-
console.log('[LocalizationStore] Already initialized, skipping...');
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
/* eslint-disable-next-line no-console */
|
|
37
|
-
if (__DEV__)
|
|
38
|
-
console.log('[LocalizationStore] Getting saved language preference...');
|
|
39
|
-
// Get saved language preference
|
|
40
|
-
const savedLanguage = await StorageWrapper.getString(STORAGE_KEYS.LANGUAGE, DEFAULT_LANGUAGE);
|
|
41
|
-
/* eslint-disable-next-line no-console */
|
|
42
|
-
if (__DEV__)
|
|
43
|
-
console.log('[LocalizationStore] Saved language:', savedLanguage);
|
|
44
|
-
// ✅ DEVICE LOCALE DETECTION: Use device locale on first launch
|
|
45
|
-
let languageCode;
|
|
46
|
-
if (savedLanguage && savedLanguage !== DEFAULT_LANGUAGE) {
|
|
47
|
-
// User has previously selected a language → Use their choice
|
|
48
|
-
/* eslint-disable-next-line no-console */
|
|
49
|
-
if (__DEV__)
|
|
50
|
-
console.log('[LocalizationStore] Using saved language preference:', savedLanguage);
|
|
51
|
-
languageCode = savedLanguage;
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
// First launch → Detect device locale automatically
|
|
55
|
-
/* eslint-disable-next-line no-console */
|
|
56
|
-
if (__DEV__)
|
|
57
|
-
console.log('[LocalizationStore] First launch, detecting device locale...');
|
|
58
|
-
languageCode = getDeviceLocale();
|
|
59
|
-
/* eslint-disable-next-line no-console */
|
|
60
|
-
if (__DEV__)
|
|
61
|
-
console.log('[LocalizationStore] Detected device locale:', languageCode);
|
|
62
|
-
// Save detected locale for future launches
|
|
63
|
-
await StorageWrapper.setString(STORAGE_KEYS.LANGUAGE, languageCode);
|
|
64
|
-
/* eslint-disable-next-line no-console */
|
|
65
|
-
if (__DEV__)
|
|
66
|
-
console.log('[LocalizationStore] Saved detected locale to storage');
|
|
67
|
-
}
|
|
68
|
-
// ✅ DEFENSIVE: Validate language exists, fallback to default
|
|
69
|
-
/* eslint-disable-next-line no-console */
|
|
70
|
-
if (__DEV__)
|
|
71
|
-
console.log('[LocalizationStore] Validating language code:', languageCode);
|
|
72
|
-
const language = getLanguageByCode(languageCode);
|
|
73
|
-
const finalLanguage = language ? languageCode : DEFAULT_LANGUAGE;
|
|
74
|
-
const finalLanguageObj = getLanguageByCode(finalLanguage);
|
|
75
|
-
if (!language) {
|
|
76
|
-
/* eslint-disable-next-line no-console */
|
|
77
|
-
console.warn('[LocalizationStore] ⚠️ Language not found:', languageCode, 'falling back to:', DEFAULT_LANGUAGE);
|
|
78
|
-
}
|
|
79
|
-
/* eslint-disable-next-line no-console */
|
|
80
|
-
if (__DEV__)
|
|
81
|
-
console.log('[LocalizationStore] Changing i18n language to:', finalLanguage);
|
|
82
|
-
await i18n.changeLanguage(finalLanguage);
|
|
83
|
-
/* eslint-disable-next-line no-console */
|
|
84
|
-
if (__DEV__)
|
|
85
|
-
console.log('[LocalizationStore] Setting store state...');
|
|
86
|
-
set({
|
|
87
|
-
currentLanguage: finalLanguage,
|
|
88
|
-
isRTL: finalLanguageObj?.rtl || false,
|
|
89
|
-
isInitialized: true, // ✅ Always set true to unblock UI
|
|
90
|
-
});
|
|
91
|
-
/* eslint-disable-next-line no-console */
|
|
92
|
-
if (__DEV__)
|
|
93
|
-
console.log('[LocalizationStore] ✅ Initialization complete. Language:', finalLanguage, 'RTL:', finalLanguageObj?.rtl || false);
|
|
94
|
-
}
|
|
95
|
-
catch (error) {
|
|
96
|
-
/* eslint-disable-next-line no-console */
|
|
97
|
-
console.error('[LocalizationStore] ❌ FATAL: Initialization failed:', error);
|
|
98
|
-
/* eslint-disable-next-line no-console */
|
|
99
|
-
if (error instanceof Error) {
|
|
100
|
-
/* eslint-disable-next-line no-console */
|
|
101
|
-
console.error('[LocalizationStore] Error name:', error.name);
|
|
102
|
-
/* eslint-disable-next-line no-console */
|
|
103
|
-
console.error('[LocalizationStore] Error message:', error.message);
|
|
104
|
-
/* eslint-disable-next-line no-console */
|
|
105
|
-
console.error('[LocalizationStore] Error stack:', error.stack);
|
|
106
|
-
}
|
|
107
|
-
// Set to default language even on error to prevent app from breaking
|
|
108
|
-
try {
|
|
109
|
-
await i18n.changeLanguage(DEFAULT_LANGUAGE);
|
|
110
|
-
set({
|
|
111
|
-
currentLanguage: DEFAULT_LANGUAGE,
|
|
112
|
-
isRTL: false,
|
|
113
|
-
isInitialized: true, // Set true even on error to unblock UI
|
|
114
|
-
});
|
|
115
|
-
/* eslint-disable-next-line no-console */
|
|
116
|
-
console.warn('[LocalizationStore] ⚠️ Fallback to default language due to error');
|
|
117
|
-
}
|
|
118
|
-
catch (fallbackError) {
|
|
119
|
-
/* eslint-disable-next-line no-console */
|
|
120
|
-
console.error('[LocalizationStore] ❌ CRITICAL: Even fallback failed:', fallbackError);
|
|
121
|
-
throw fallbackError;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
|
-
/**
|
|
126
|
-
* Change language
|
|
127
|
-
* Updates i18n, state, and persists to AsyncStorage
|
|
128
|
-
*/
|
|
129
|
-
setLanguage: async (languageCode) => {
|
|
130
|
-
/* eslint-disable-next-line no-console */
|
|
131
|
-
if (__DEV__)
|
|
132
|
-
console.log('[LocalizationStore] Changing language to:', languageCode);
|
|
133
|
-
try {
|
|
134
|
-
const language = getLanguageByCode(languageCode);
|
|
135
|
-
// ✅ DEFENSIVE: Early return if unsupported language
|
|
136
|
-
if (!language) {
|
|
137
|
-
/* eslint-disable-next-line no-console */
|
|
138
|
-
console.warn('[LocalizationStore] ⚠️ Unsupported language code:', languageCode);
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
/* eslint-disable-next-line no-console */
|
|
142
|
-
if (__DEV__)
|
|
143
|
-
console.log('[LocalizationStore] Updating i18n language...');
|
|
144
|
-
// Update i18n
|
|
145
|
-
await i18n.changeLanguage(languageCode);
|
|
146
|
-
/* eslint-disable-next-line no-console */
|
|
147
|
-
if (__DEV__)
|
|
148
|
-
console.log('[LocalizationStore] Updating store state...');
|
|
149
|
-
// Update state
|
|
150
|
-
set({
|
|
151
|
-
currentLanguage: languageCode,
|
|
152
|
-
isRTL: language.rtl || false,
|
|
153
|
-
});
|
|
154
|
-
/* eslint-disable-next-line no-console */
|
|
155
|
-
if (__DEV__)
|
|
156
|
-
console.log('[LocalizationStore] Persisting language preference...');
|
|
157
|
-
// Persist language preference
|
|
158
|
-
await StorageWrapper.setString(STORAGE_KEYS.LANGUAGE, languageCode);
|
|
159
|
-
/* eslint-disable-next-line no-console */
|
|
160
|
-
if (__DEV__)
|
|
161
|
-
console.log('[LocalizationStore] ✅ Language changed successfully to:', languageCode);
|
|
162
|
-
}
|
|
163
|
-
catch (error) {
|
|
164
|
-
/* eslint-disable-next-line no-console */
|
|
165
|
-
console.error('[LocalizationStore] ❌ Error changing language:', error);
|
|
166
|
-
throw error;
|
|
167
|
-
}
|
|
168
|
-
},
|
|
169
|
-
}));
|
|
170
|
-
/**
|
|
171
|
-
* Hook to use localization
|
|
172
|
-
* Provides current language, RTL state, language switching, and translation function
|
|
173
|
-
* Uses react-i18next's useTranslation hook to ensure proper i18n instance
|
|
174
|
-
*/
|
|
175
|
-
export const useLocalization = () => {
|
|
176
|
-
const { currentLanguage, isRTL, isInitialized, supportedLanguages, setLanguage, initialize, } = useLocalizationStore();
|
|
177
|
-
const currentLanguageObject = getLanguageByCode(currentLanguage);
|
|
178
|
-
// Use react-i18next's useTranslation hook to ensure proper i18n instance
|
|
179
|
-
// This ensures that react-i18next knows about the i18n instance
|
|
180
|
-
const { t } = useTranslation();
|
|
181
|
-
return {
|
|
182
|
-
t, // Translation function from react-i18next
|
|
183
|
-
currentLanguage,
|
|
184
|
-
currentLanguageObject,
|
|
185
|
-
isRTL,
|
|
186
|
-
isInitialized,
|
|
187
|
-
supportedLanguages,
|
|
188
|
-
setLanguage,
|
|
189
|
-
initialize,
|
|
190
|
-
};
|
|
191
|
-
};
|
|
192
|
-
//# sourceMappingURL=LocalizationStore.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LocalizationStore.js","sourceRoot":"","sources":["../../../src/infrastructure/storage/LocalizationStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"welcomeBack": "مرحبًا بعودتك",
|
|
3
|
-
"loginSubtitle": "قم بتسجيل الدخول لمزامنة البطاقات التعليمية الخاصة بك عبر الأجهزة",
|
|
4
|
-
"email": "بريد إلكتروني",
|
|
5
|
-
"password": "كلمة المرور",
|
|
6
|
-
"enterPassword": "أدخل كلمة المرور الخاصة بك",
|
|
7
|
-
"login": "تسجيل الدخول",
|
|
8
|
-
"createAccount": "إنشاء حساب",
|
|
9
|
-
"continueAsGuest": "الاستمرار كضيف",
|
|
10
|
-
"register": "يسجل",
|
|
11
|
-
"displayName": "اسم العرض",
|
|
12
|
-
"enterDisplayName": "أدخل اسمك",
|
|
13
|
-
"confirmPassword": "تأكيد كلمة المرور",
|
|
14
|
-
"reenterPassword": "أعد إدخال كلمة المرور الخاصة بك",
|
|
15
|
-
"backToLogin": "العودة إلى تسجيل الدخول",
|
|
16
|
-
"registerSubtitle": "قم بإنشاء حساب لمزامنة بياناتك",
|
|
17
|
-
"fillAllFields": "يرجى ملء جميع الحقول",
|
|
18
|
-
"passwordsDoNotMatch": "كلمات المرور غير متطابقة",
|
|
19
|
-
"passwordTooShort": "يجب أن تتكون كلمة المرور من 6 أحرف على الأقل",
|
|
20
|
-
"loginFailed": "فشل تسجيل الدخول. يرجى التحقق من بيانات الاعتماد الخاصة بك.",
|
|
21
|
-
"registrationFailed": "فشل التسجيل. يرجى المحاولة مرة أخرى.",
|
|
22
|
-
"logout": "تسجيل الخروج",
|
|
23
|
-
"profile": "حساب تعريفي",
|
|
24
|
-
"account": "حساب",
|
|
25
|
-
"signedInAs": "تم تسجيل الدخول باسم",
|
|
26
|
-
"guestMode": "وضع الضيف",
|
|
27
|
-
"guestModeDescription": "يتم تخزين بياناتك محليًا على هذا الجهاز",
|
|
28
|
-
"syncData": "مزامنة البيانات المحلية",
|
|
29
|
-
"syncDataDescription": "قم بتحميل البطاقات التعليمية المحلية الخاصة بك إلى السحابة",
|
|
30
|
-
"syncSuccess": "تمت مزامنة البيانات بنجاح",
|
|
31
|
-
"syncFailed": "فشلت مزامنة البيانات"
|
|
32
|
-
}
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"days": {
|
|
3
|
-
"full": {
|
|
4
|
-
"monday": "الاثنين",
|
|
5
|
-
"tuesday": "يوم الثلاثاء",
|
|
6
|
-
"wednesday": "الأربعاء",
|
|
7
|
-
"thursday": "يوم الخميس",
|
|
8
|
-
"friday": "جمعة",
|
|
9
|
-
"saturday": "السبت",
|
|
10
|
-
"sunday": "الأحد"
|
|
11
|
-
},
|
|
12
|
-
"short": {
|
|
13
|
-
"mon": "الاثنين",
|
|
14
|
-
"tue": "الثلاثاء",
|
|
15
|
-
"wed": "تزوج",
|
|
16
|
-
"thu": "الخميس",
|
|
17
|
-
"fri": "الجمعة",
|
|
18
|
-
"sat": "قعد",
|
|
19
|
-
"sun": "شمس"
|
|
20
|
-
},
|
|
21
|
-
"abbreviated": {
|
|
22
|
-
"m": "م",
|
|
23
|
-
"t": "ت",
|
|
24
|
-
"w": "دبليو",
|
|
25
|
-
"th": "ذ",
|
|
26
|
-
"f": "ف",
|
|
27
|
-
"sa": "سا",
|
|
28
|
-
"su": "سو"
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
"months": {
|
|
32
|
-
"full": {
|
|
33
|
-
"january": "يناير",
|
|
34
|
-
"february": "فبراير",
|
|
35
|
-
"march": "يمشي",
|
|
36
|
-
"april": "أبريل",
|
|
37
|
-
"may": "يمكن",
|
|
38
|
-
"june": "يونيو",
|
|
39
|
-
"july": "يوليو",
|
|
40
|
-
"august": "أغسطس",
|
|
41
|
-
"september": "سبتمبر",
|
|
42
|
-
"october": "أكتوبر",
|
|
43
|
-
"november": "نوفمبر",
|
|
44
|
-
"december": "ديسمبر"
|
|
45
|
-
},
|
|
46
|
-
"short": {
|
|
47
|
-
"jan": "يناير",
|
|
48
|
-
"feb": "فبراير",
|
|
49
|
-
"mar": "مارس",
|
|
50
|
-
"apr": "أبريل",
|
|
51
|
-
"may": "يمكن",
|
|
52
|
-
"jun": "يونيو",
|
|
53
|
-
"jul": "يوليو",
|
|
54
|
-
"aug": "أغسطس",
|
|
55
|
-
"sep": "سبتمبر",
|
|
56
|
-
"oct": "أكتوبر",
|
|
57
|
-
"nov": "نوفمبر",
|
|
58
|
-
"dec": "ديسمبر"
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
"relative": {
|
|
62
|
-
"now": "الآن",
|
|
63
|
-
"justNow": "الآن",
|
|
64
|
-
"today": "اليوم",
|
|
65
|
-
"yesterday": "أمس",
|
|
66
|
-
"tomorrow": "غداً",
|
|
67
|
-
"thisWeek": "هذا الاسبوع",
|
|
68
|
-
"lastWeek": "الأسبوع الماضي",
|
|
69
|
-
"nextWeek": "الأسبوع المقبل",
|
|
70
|
-
"thisMonth": "هذا الشهر",
|
|
71
|
-
"lastMonth": "الشهر الماضي",
|
|
72
|
-
"nextMonth": "الشهر المقبل",
|
|
73
|
-
"thisYear": "هذا العام",
|
|
74
|
-
"lastYear": "العام الماضي",
|
|
75
|
-
"nextYear": "العام القادم",
|
|
76
|
-
"ago": "منذ",
|
|
77
|
-
"fromNow": "من الآن",
|
|
78
|
-
"in": "في"
|
|
79
|
-
},
|
|
80
|
-
"units": {
|
|
81
|
-
"singular": {
|
|
82
|
-
"second": "ثانية",
|
|
83
|
-
"minute": "دقيقة",
|
|
84
|
-
"hour": "ساعة",
|
|
85
|
-
"day": "يوم",
|
|
86
|
-
"week": "أسبوع",
|
|
87
|
-
"month": "شهر",
|
|
88
|
-
"year": "سنة"
|
|
89
|
-
},
|
|
90
|
-
"plural": {
|
|
91
|
-
"seconds": "ثواني",
|
|
92
|
-
"minutes": "دقائق",
|
|
93
|
-
"hours": "ساعات",
|
|
94
|
-
"days": "أيام",
|
|
95
|
-
"weeks": "أسابيع",
|
|
96
|
-
"months": "شهور",
|
|
97
|
-
"years": "سنين"
|
|
98
|
-
},
|
|
99
|
-
"short": {
|
|
100
|
-
"s": "ق",
|
|
101
|
-
"m": "م",
|
|
102
|
-
"h": "ح",
|
|
103
|
-
"d": "د",
|
|
104
|
-
"w": "ث",
|
|
105
|
-
"mo": "شهر",
|
|
106
|
-
"y": "ذ"
|
|
107
|
-
}
|
|
108
|
-
},
|
|
109
|
-
"periods": {
|
|
110
|
-
"am": "أكون",
|
|
111
|
-
"pm": "مساءً",
|
|
112
|
-
"morning": "صباح",
|
|
113
|
-
"afternoon": "بعد الظهر",
|
|
114
|
-
"evening": "مساء",
|
|
115
|
-
"night": "ليلة",
|
|
116
|
-
"midnight": "منتصف الليل",
|
|
117
|
-
"noon": "الظهر"
|
|
118
|
-
},
|
|
119
|
-
"formats": {
|
|
120
|
-
"date": "تاريخ",
|
|
121
|
-
"time": "وقت",
|
|
122
|
-
"datetime": "التاريخ والوقت",
|
|
123
|
-
"duration": "مدة",
|
|
124
|
-
"startDate": "تاريخ البدء",
|
|
125
|
-
"endDate": "تاريخ الانتهاء",
|
|
126
|
-
"startTime": "وقت البدء",
|
|
127
|
-
"endTime": "وقت النهاية",
|
|
128
|
-
"selectDate": "حدد التاريخ",
|
|
129
|
-
"selectTime": "حدد الوقت"
|
|
130
|
-
},
|
|
131
|
-
"actions": {
|
|
132
|
-
"setDate": "تعيين التاريخ",
|
|
133
|
-
"setTime": "ضبط الوقت",
|
|
134
|
-
"clearDate": "مسح التاريخ",
|
|
135
|
-
"clearTime": "وقت واضح",
|
|
136
|
-
"confirmDate": "تأكيد التاريخ",
|
|
137
|
-
"confirmTime": "تأكيد الوقت",
|
|
138
|
-
"cancel": "يلغي"
|
|
139
|
-
}
|
|
140
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"validation": {
|
|
3
|
-
"required": "هذه الخانة مطلوبه",
|
|
4
|
-
"invalidEmail": "تنسيق البريد الإلكتروني غير صالح",
|
|
5
|
-
"invalidPhone": "رقم الهاتف غير صالح",
|
|
6
|
-
"invalidUrl": "تنسيق عنوان URL غير صالح",
|
|
7
|
-
"minLength": "الحد الأدنى للطول هو {{min}} حرفًا",
|
|
8
|
-
"maxLength": "الحد الأقصى للطول هو {{max}} حرفًا",
|
|
9
|
-
"minValue": "الحد الأدنى للقيمة هو {{دقيقة}}",
|
|
10
|
-
"maxValue": "الحد الأقصى للقيمة هو {{max}}",
|
|
11
|
-
"mustMatch": "يجب أن تتطابق الحقول",
|
|
12
|
-
"invalidFormat": "التنسيق غير صالح",
|
|
13
|
-
"invalidDate": "تاريخ غير صالح",
|
|
14
|
-
"futureDate": "يجب أن يكون التاريخ في المستقبل",
|
|
15
|
-
"pastDate": "يجب أن يكون التاريخ في الماضي"
|
|
16
|
-
},
|
|
17
|
-
"storage": {
|
|
18
|
-
"saveFailed": "فشل في حفظ البيانات",
|
|
19
|
-
"loadFailed": "فشل تحميل البيانات",
|
|
20
|
-
"deleteFailed": "فشل في حذف البيانات",
|
|
21
|
-
"notFound": "لم يتم العثور على البيانات"
|
|
22
|
-
},
|
|
23
|
-
"permission": {
|
|
24
|
-
"denied": "تم رفض الإذن",
|
|
25
|
-
"notGranted": "لم يتم منح الإذن",
|
|
26
|
-
"cameraNotAvailable": "الكاميرا غير متوفرة",
|
|
27
|
-
"locationNotAvailable": "خدمات الموقع غير متوفرة",
|
|
28
|
-
"microphoneNotAvailable": "الميكروفون غير متوفر",
|
|
29
|
-
"photosNotAvailable": "مكتبة الصور غير متوفرة"
|
|
30
|
-
},
|
|
31
|
-
"common": {
|
|
32
|
-
"somethingWentWrong": "حدث خطأ ما",
|
|
33
|
-
"tryAgainLater": "يرجى المحاولة مرة أخرى في وقت لاحق",
|
|
34
|
-
"unexpectedError": "حدث خطأ غير متوقع"
|
|
35
|
-
},
|
|
36
|
-
"actions": {
|
|
37
|
-
"dismiss": "رفض",
|
|
38
|
-
"retry": "أعد المحاولة",
|
|
39
|
-
"cancel": "يلغي",
|
|
40
|
-
"goBack": "عُد",
|
|
41
|
-
"contactSupport": "اتصل بالدعم"
|
|
42
|
-
}
|
|
43
|
-
}
|