@umituz/react-native-localization 1.0.0 → 1.2.0
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/README.md +78 -15
- package/lib/infrastructure/config/i18n.d.ts +4 -1
- package/lib/infrastructure/config/i18n.d.ts.map +1 -1
- package/lib/infrastructure/config/i18n.js +204 -27
- package/lib/infrastructure/config/i18n.js.map +1 -1
- package/lib/infrastructure/config/languages.d.ts +1 -1
- package/lib/infrastructure/config/languages.d.ts.map +1 -1
- package/lib/infrastructure/config/languages.js +2 -2
- package/lib/infrastructure/config/languages.js.map +1 -1
- package/lib/infrastructure/config/languagesData.js +2 -2
- package/lib/infrastructure/config/languagesData.js.map +1 -1
- package/lib/infrastructure/locales/ar-SA/auth.json +32 -0
- package/lib/infrastructure/locales/ar-SA/branding.json +9 -0
- package/lib/infrastructure/locales/ar-SA/datetime.json +140 -0
- package/lib/infrastructure/locales/ar-SA/errors.json +43 -0
- package/lib/infrastructure/locales/ar-SA/flashcards.json +287 -0
- package/lib/infrastructure/locales/ar-SA/general.json +61 -0
- package/lib/infrastructure/locales/ar-SA/index.d.ts +778 -0
- package/lib/infrastructure/locales/ar-SA/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/ar-SA/index.js +46 -0
- package/lib/infrastructure/locales/ar-SA/index.js.map +1 -0
- package/lib/infrastructure/locales/ar-SA/navigation.json +58 -0
- package/lib/infrastructure/locales/ar-SA/onboarding.json +76 -0
- package/lib/infrastructure/locales/ar-SA/settings.json +53 -0
- package/lib/infrastructure/locales/bg-BG/auth.json +32 -0
- package/lib/infrastructure/locales/bg-BG/branding.json +9 -0
- package/lib/infrastructure/locales/bg-BG/datetime.json +140 -0
- package/lib/infrastructure/locales/bg-BG/errors.json +43 -0
- package/lib/infrastructure/locales/bg-BG/flashcards.json +287 -0
- package/lib/infrastructure/locales/bg-BG/general.json +61 -0
- package/lib/infrastructure/locales/bg-BG/index.d.ts +778 -0
- package/lib/infrastructure/locales/bg-BG/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/bg-BG/index.js +46 -0
- package/lib/infrastructure/locales/bg-BG/index.js.map +1 -0
- package/lib/infrastructure/locales/bg-BG/navigation.json +58 -0
- package/lib/infrastructure/locales/bg-BG/onboarding.json +76 -0
- package/lib/infrastructure/locales/bg-BG/settings.json +53 -0
- package/lib/infrastructure/locales/cs-CZ/branding.json +9 -0
- package/lib/infrastructure/locales/cs-CZ/datetime.json +140 -0
- package/lib/infrastructure/locales/cs-CZ/errors.json +43 -0
- package/lib/infrastructure/locales/cs-CZ/flashcards.json +287 -0
- package/lib/infrastructure/locales/cs-CZ/general.json +61 -0
- package/lib/infrastructure/locales/cs-CZ/index.d.ts +745 -0
- package/lib/infrastructure/locales/cs-CZ/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/cs-CZ/index.js +43 -0
- package/lib/infrastructure/locales/cs-CZ/index.js.map +1 -0
- package/lib/infrastructure/locales/cs-CZ/navigation.json +58 -0
- package/lib/infrastructure/locales/cs-CZ/onboarding.json +76 -0
- package/lib/infrastructure/locales/cs-CZ/settings.json +53 -0
- package/lib/infrastructure/locales/da-DK/branding.json +9 -0
- package/lib/infrastructure/locales/da-DK/datetime.json +140 -0
- package/lib/infrastructure/locales/da-DK/errors.json +43 -0
- package/lib/infrastructure/locales/da-DK/flashcards.json +287 -0
- package/lib/infrastructure/locales/da-DK/general.json +61 -0
- package/lib/infrastructure/locales/da-DK/index.d.ts +745 -0
- package/lib/infrastructure/locales/da-DK/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/da-DK/index.js +43 -0
- package/lib/infrastructure/locales/da-DK/index.js.map +1 -0
- package/lib/infrastructure/locales/da-DK/navigation.json +58 -0
- package/lib/infrastructure/locales/da-DK/onboarding.json +76 -0
- package/lib/infrastructure/locales/da-DK/settings.json +53 -0
- package/lib/infrastructure/locales/de-DE/branding.json +9 -0
- package/lib/infrastructure/locales/de-DE/datetime.json +140 -0
- package/lib/infrastructure/locales/de-DE/errors.json +43 -0
- package/lib/infrastructure/locales/de-DE/flashcards.json +287 -0
- package/lib/infrastructure/locales/de-DE/general.json +61 -0
- package/lib/infrastructure/locales/de-DE/index.d.ts +745 -0
- package/lib/infrastructure/locales/de-DE/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/de-DE/index.js +43 -0
- package/lib/infrastructure/locales/de-DE/index.js.map +1 -0
- package/lib/infrastructure/locales/de-DE/navigation.json +58 -0
- package/lib/infrastructure/locales/de-DE/onboarding.json +76 -0
- package/lib/infrastructure/locales/de-DE/settings.json +53 -0
- package/lib/infrastructure/locales/el-GR/branding.json +9 -0
- package/lib/infrastructure/locales/el-GR/datetime.json +140 -0
- package/lib/infrastructure/locales/el-GR/errors.json +43 -0
- package/lib/infrastructure/locales/el-GR/flashcards.json +287 -0
- package/lib/infrastructure/locales/el-GR/general.json +61 -0
- package/lib/infrastructure/locales/el-GR/index.d.ts +745 -0
- package/lib/infrastructure/locales/el-GR/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/el-GR/index.js +43 -0
- package/lib/infrastructure/locales/el-GR/index.js.map +1 -0
- package/lib/infrastructure/locales/el-GR/navigation.json +58 -0
- package/lib/infrastructure/locales/el-GR/onboarding.json +76 -0
- package/lib/infrastructure/locales/el-GR/settings.json +53 -0
- package/lib/infrastructure/locales/en-AU/branding.json +9 -0
- package/lib/infrastructure/locales/en-AU/datetime.json +140 -0
- package/lib/infrastructure/locales/en-AU/errors.json +43 -0
- package/lib/infrastructure/locales/en-AU/flashcards.json +77 -0
- package/lib/infrastructure/locales/en-AU/general.json +61 -0
- package/lib/infrastructure/locales/en-AU/index.d.ts +535 -0
- package/lib/infrastructure/locales/en-AU/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/en-AU/index.js +43 -0
- package/lib/infrastructure/locales/en-AU/index.js.map +1 -0
- package/lib/infrastructure/locales/en-AU/navigation.json +58 -0
- package/lib/infrastructure/locales/en-AU/onboarding.json +76 -0
- package/lib/infrastructure/locales/en-AU/settings.json +53 -0
- package/lib/infrastructure/locales/en-CA/branding.json +9 -0
- package/lib/infrastructure/locales/en-CA/datetime.json +140 -0
- package/lib/infrastructure/locales/en-CA/errors.json +43 -0
- package/lib/infrastructure/locales/en-CA/flashcards.json +77 -0
- package/lib/infrastructure/locales/en-CA/general.json +61 -0
- package/lib/infrastructure/locales/en-CA/index.d.ts +535 -0
- package/lib/infrastructure/locales/en-CA/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/en-CA/index.js +43 -0
- package/lib/infrastructure/locales/en-CA/index.js.map +1 -0
- package/lib/infrastructure/locales/en-CA/navigation.json +58 -0
- package/lib/infrastructure/locales/en-CA/onboarding.json +76 -0
- package/lib/infrastructure/locales/en-CA/settings.json +53 -0
- package/lib/infrastructure/locales/en-GB/branding.json +9 -0
- package/lib/infrastructure/locales/en-GB/datetime.json +140 -0
- package/lib/infrastructure/locales/en-GB/errors.json +43 -0
- package/lib/infrastructure/locales/en-GB/flashcards.json +77 -0
- package/lib/infrastructure/locales/en-GB/general.json +61 -0
- package/lib/infrastructure/locales/en-GB/index.d.ts +535 -0
- package/lib/infrastructure/locales/en-GB/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/en-GB/index.js +43 -0
- package/lib/infrastructure/locales/en-GB/index.js.map +1 -0
- package/lib/infrastructure/locales/en-GB/navigation.json +58 -0
- package/lib/infrastructure/locales/en-GB/onboarding.json +76 -0
- package/lib/infrastructure/locales/en-GB/settings.json +53 -0
- package/lib/infrastructure/locales/en-US/auth.json +32 -0
- package/lib/infrastructure/locales/en-US/branding.json +9 -0
- package/lib/infrastructure/locales/en-US/flashcards.json +310 -0
- package/lib/infrastructure/locales/en-US/general.json +6 -1
- package/lib/infrastructure/locales/en-US/index.d.ts +350 -332
- package/lib/infrastructure/locales/en-US/index.d.ts.map +1 -1
- package/lib/infrastructure/locales/en-US/index.js +30 -19
- package/lib/infrastructure/locales/en-US/index.js.map +1 -1
- package/lib/infrastructure/locales/en-US/navigation.json +4 -1
- package/lib/infrastructure/locales/en-US/settings.json +0 -12
- package/lib/infrastructure/locales/es-ES/branding.json +9 -0
- package/lib/infrastructure/locales/es-ES/datetime.json +140 -0
- package/lib/infrastructure/locales/es-ES/errors.json +43 -0
- package/lib/infrastructure/locales/es-ES/flashcards.json +287 -0
- package/lib/infrastructure/locales/es-ES/general.json +61 -0
- package/lib/infrastructure/locales/es-ES/index.d.ts +745 -0
- package/lib/infrastructure/locales/es-ES/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/es-ES/index.js +43 -0
- package/lib/infrastructure/locales/es-ES/index.js.map +1 -0
- package/lib/infrastructure/locales/es-ES/navigation.json +58 -0
- package/lib/infrastructure/locales/es-ES/onboarding.json +76 -0
- package/lib/infrastructure/locales/es-ES/settings.json +53 -0
- package/lib/infrastructure/locales/es-MX/branding.json +9 -0
- package/lib/infrastructure/locales/es-MX/datetime.json +140 -0
- package/lib/infrastructure/locales/es-MX/errors.json +43 -0
- package/lib/infrastructure/locales/es-MX/flashcards.json +276 -0
- package/lib/infrastructure/locales/es-MX/general.json +61 -0
- package/lib/infrastructure/locales/es-MX/index.d.ts +734 -0
- package/lib/infrastructure/locales/es-MX/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/es-MX/index.js +43 -0
- package/lib/infrastructure/locales/es-MX/index.js.map +1 -0
- package/lib/infrastructure/locales/es-MX/navigation.json +58 -0
- package/lib/infrastructure/locales/es-MX/onboarding.json +76 -0
- package/lib/infrastructure/locales/es-MX/settings.json +53 -0
- package/lib/infrastructure/locales/fi-FI/branding.json +9 -0
- package/lib/infrastructure/locales/fi-FI/datetime.json +140 -0
- package/lib/infrastructure/locales/fi-FI/errors.json +43 -0
- package/lib/infrastructure/locales/fi-FI/flashcards.json +287 -0
- package/lib/infrastructure/locales/fi-FI/general.json +61 -0
- package/lib/infrastructure/locales/fi-FI/index.d.ts +745 -0
- package/lib/infrastructure/locales/fi-FI/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/fi-FI/index.js +43 -0
- package/lib/infrastructure/locales/fi-FI/index.js.map +1 -0
- package/lib/infrastructure/locales/fi-FI/navigation.json +58 -0
- package/lib/infrastructure/locales/fi-FI/onboarding.json +76 -0
- package/lib/infrastructure/locales/fi-FI/settings.json +53 -0
- package/lib/infrastructure/locales/fr-CA/branding.json +9 -0
- package/lib/infrastructure/locales/fr-CA/datetime.json +140 -0
- package/lib/infrastructure/locales/fr-CA/errors.json +43 -0
- package/lib/infrastructure/locales/fr-CA/flashcards.json +287 -0
- package/lib/infrastructure/locales/fr-CA/general.json +61 -0
- package/lib/infrastructure/locales/fr-CA/index.d.ts +745 -0
- package/lib/infrastructure/locales/fr-CA/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/fr-CA/index.js +43 -0
- package/lib/infrastructure/locales/fr-CA/index.js.map +1 -0
- package/lib/infrastructure/locales/fr-CA/navigation.json +58 -0
- package/lib/infrastructure/locales/fr-CA/onboarding.json +76 -0
- package/lib/infrastructure/locales/fr-CA/settings.json +53 -0
- package/lib/infrastructure/locales/fr-FR/branding.json +9 -0
- package/lib/infrastructure/locales/fr-FR/datetime.json +140 -0
- package/lib/infrastructure/locales/fr-FR/errors.json +43 -0
- package/lib/infrastructure/locales/fr-FR/flashcards.json +287 -0
- package/lib/infrastructure/locales/fr-FR/general.json +61 -0
- package/lib/infrastructure/locales/fr-FR/index.d.ts +745 -0
- package/lib/infrastructure/locales/fr-FR/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/fr-FR/index.js +43 -0
- package/lib/infrastructure/locales/fr-FR/index.js.map +1 -0
- package/lib/infrastructure/locales/fr-FR/navigation.json +58 -0
- package/lib/infrastructure/locales/fr-FR/onboarding.json +76 -0
- package/lib/infrastructure/locales/fr-FR/settings.json +53 -0
- package/lib/infrastructure/locales/hi-IN/branding.json +9 -0
- package/lib/infrastructure/locales/hi-IN/datetime.json +140 -0
- package/lib/infrastructure/locales/hi-IN/errors.json +43 -0
- package/lib/infrastructure/locales/hi-IN/flashcards.json +287 -0
- package/lib/infrastructure/locales/hi-IN/general.json +61 -0
- package/lib/infrastructure/locales/hi-IN/index.d.ts +745 -0
- package/lib/infrastructure/locales/hi-IN/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/hi-IN/index.js +43 -0
- package/lib/infrastructure/locales/hi-IN/index.js.map +1 -0
- package/lib/infrastructure/locales/hi-IN/navigation.json +58 -0
- package/lib/infrastructure/locales/hi-IN/onboarding.json +76 -0
- package/lib/infrastructure/locales/hi-IN/settings.json +53 -0
- package/lib/infrastructure/locales/hr-HR/branding.json +9 -0
- package/lib/infrastructure/locales/hr-HR/datetime.json +140 -0
- package/lib/infrastructure/locales/hr-HR/errors.json +43 -0
- package/lib/infrastructure/locales/hr-HR/flashcards.json +276 -0
- package/lib/infrastructure/locales/hr-HR/general.json +61 -0
- package/lib/infrastructure/locales/hr-HR/index.d.ts +734 -0
- package/lib/infrastructure/locales/hr-HR/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/hr-HR/index.js +43 -0
- package/lib/infrastructure/locales/hr-HR/index.js.map +1 -0
- package/lib/infrastructure/locales/hr-HR/navigation.json +58 -0
- package/lib/infrastructure/locales/hr-HR/onboarding.json +76 -0
- package/lib/infrastructure/locales/hr-HR/settings.json +53 -0
- package/lib/infrastructure/locales/hu-HU/branding.json +9 -0
- package/lib/infrastructure/locales/hu-HU/datetime.json +140 -0
- package/lib/infrastructure/locales/hu-HU/errors.json +43 -0
- package/lib/infrastructure/locales/hu-HU/flashcards.json +287 -0
- package/lib/infrastructure/locales/hu-HU/general.json +61 -0
- package/lib/infrastructure/locales/hu-HU/index.d.ts +745 -0
- package/lib/infrastructure/locales/hu-HU/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/hu-HU/index.js +43 -0
- package/lib/infrastructure/locales/hu-HU/index.js.map +1 -0
- package/lib/infrastructure/locales/hu-HU/navigation.json +58 -0
- package/lib/infrastructure/locales/hu-HU/onboarding.json +76 -0
- package/lib/infrastructure/locales/hu-HU/settings.json +53 -0
- package/lib/infrastructure/locales/id-ID/branding.json +9 -0
- package/lib/infrastructure/locales/id-ID/datetime.json +140 -0
- package/lib/infrastructure/locales/id-ID/errors.json +43 -0
- package/lib/infrastructure/locales/id-ID/flashcards.json +287 -0
- package/lib/infrastructure/locales/id-ID/general.json +61 -0
- package/lib/infrastructure/locales/id-ID/index.d.ts +745 -0
- package/lib/infrastructure/locales/id-ID/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/id-ID/index.js +43 -0
- package/lib/infrastructure/locales/id-ID/index.js.map +1 -0
- package/lib/infrastructure/locales/id-ID/navigation.json +58 -0
- package/lib/infrastructure/locales/id-ID/onboarding.json +76 -0
- package/lib/infrastructure/locales/id-ID/settings.json +53 -0
- package/lib/infrastructure/locales/it-IT/branding.json +9 -0
- package/lib/infrastructure/locales/it-IT/datetime.json +140 -0
- package/lib/infrastructure/locales/it-IT/errors.json +43 -0
- package/lib/infrastructure/locales/it-IT/flashcards.json +287 -0
- package/lib/infrastructure/locales/it-IT/general.json +61 -0
- package/lib/infrastructure/locales/it-IT/index.d.ts +745 -0
- package/lib/infrastructure/locales/it-IT/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/it-IT/index.js +43 -0
- package/lib/infrastructure/locales/it-IT/index.js.map +1 -0
- package/lib/infrastructure/locales/it-IT/navigation.json +58 -0
- package/lib/infrastructure/locales/it-IT/onboarding.json +76 -0
- package/lib/infrastructure/locales/it-IT/settings.json +53 -0
- package/lib/infrastructure/locales/ja-JP/branding.json +9 -0
- package/lib/infrastructure/locales/ja-JP/datetime.json +140 -0
- package/lib/infrastructure/locales/ja-JP/errors.json +43 -0
- package/lib/infrastructure/locales/ja-JP/flashcards.json +287 -0
- package/lib/infrastructure/locales/ja-JP/general.json +61 -0
- package/lib/infrastructure/locales/ja-JP/index.d.ts +745 -0
- package/lib/infrastructure/locales/ja-JP/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/ja-JP/index.js +43 -0
- package/lib/infrastructure/locales/ja-JP/index.js.map +1 -0
- package/lib/infrastructure/locales/ja-JP/navigation.json +58 -0
- package/lib/infrastructure/locales/ja-JP/onboarding.json +76 -0
- package/lib/infrastructure/locales/ja-JP/settings.json +53 -0
- package/lib/infrastructure/locales/ko-KR/branding.json +9 -0
- package/lib/infrastructure/locales/ko-KR/datetime.json +140 -0
- package/lib/infrastructure/locales/ko-KR/errors.json +43 -0
- package/lib/infrastructure/locales/ko-KR/flashcards.json +287 -0
- package/lib/infrastructure/locales/ko-KR/general.json +61 -0
- package/lib/infrastructure/locales/ko-KR/index.d.ts +745 -0
- package/lib/infrastructure/locales/ko-KR/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/ko-KR/index.js +43 -0
- package/lib/infrastructure/locales/ko-KR/index.js.map +1 -0
- package/lib/infrastructure/locales/ko-KR/navigation.json +58 -0
- package/lib/infrastructure/locales/ko-KR/onboarding.json +76 -0
- package/lib/infrastructure/locales/ko-KR/settings.json +53 -0
- package/lib/infrastructure/locales/ms-MY/branding.json +9 -0
- package/lib/infrastructure/locales/ms-MY/datetime.json +140 -0
- package/lib/infrastructure/locales/ms-MY/errors.json +43 -0
- package/lib/infrastructure/locales/ms-MY/flashcards.json +287 -0
- package/lib/infrastructure/locales/ms-MY/general.json +61 -0
- package/lib/infrastructure/locales/ms-MY/index.d.ts +745 -0
- package/lib/infrastructure/locales/ms-MY/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/ms-MY/index.js +43 -0
- package/lib/infrastructure/locales/ms-MY/index.js.map +1 -0
- package/lib/infrastructure/locales/ms-MY/navigation.json +58 -0
- package/lib/infrastructure/locales/ms-MY/onboarding.json +76 -0
- package/lib/infrastructure/locales/ms-MY/settings.json +53 -0
- package/lib/infrastructure/locales/nl-NL/branding.json +9 -0
- package/lib/infrastructure/locales/nl-NL/datetime.json +140 -0
- package/lib/infrastructure/locales/nl-NL/errors.json +43 -0
- package/lib/infrastructure/locales/nl-NL/flashcards.json +287 -0
- package/lib/infrastructure/locales/nl-NL/general.json +61 -0
- package/lib/infrastructure/locales/nl-NL/index.d.ts +745 -0
- package/lib/infrastructure/locales/nl-NL/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/nl-NL/index.js +43 -0
- package/lib/infrastructure/locales/nl-NL/index.js.map +1 -0
- package/lib/infrastructure/locales/nl-NL/navigation.json +58 -0
- package/lib/infrastructure/locales/nl-NL/onboarding.json +76 -0
- package/lib/infrastructure/locales/nl-NL/settings.json +53 -0
- package/lib/infrastructure/locales/no-NO/branding.json +9 -0
- package/lib/infrastructure/locales/no-NO/datetime.json +140 -0
- package/lib/infrastructure/locales/no-NO/errors.json +43 -0
- package/lib/infrastructure/locales/no-NO/flashcards.json +287 -0
- package/lib/infrastructure/locales/no-NO/general.json +61 -0
- package/lib/infrastructure/locales/no-NO/index.d.ts +745 -0
- package/lib/infrastructure/locales/no-NO/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/no-NO/index.js +43 -0
- package/lib/infrastructure/locales/no-NO/index.js.map +1 -0
- package/lib/infrastructure/locales/no-NO/navigation.json +58 -0
- package/lib/infrastructure/locales/no-NO/onboarding.json +76 -0
- package/lib/infrastructure/locales/no-NO/settings.json +53 -0
- package/lib/infrastructure/locales/pl-PL/branding.json +9 -0
- package/lib/infrastructure/locales/pl-PL/datetime.json +140 -0
- package/lib/infrastructure/locales/pl-PL/errors.json +43 -0
- package/lib/infrastructure/locales/pl-PL/flashcards.json +287 -0
- package/lib/infrastructure/locales/pl-PL/general.json +61 -0
- package/lib/infrastructure/locales/pl-PL/index.d.ts +745 -0
- package/lib/infrastructure/locales/pl-PL/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/pl-PL/index.js +43 -0
- package/lib/infrastructure/locales/pl-PL/index.js.map +1 -0
- package/lib/infrastructure/locales/pl-PL/navigation.json +58 -0
- package/lib/infrastructure/locales/pl-PL/onboarding.json +76 -0
- package/lib/infrastructure/locales/pl-PL/settings.json +53 -0
- package/lib/infrastructure/locales/pt-BR/branding.json +9 -0
- package/lib/infrastructure/locales/pt-BR/datetime.json +140 -0
- package/lib/infrastructure/locales/pt-BR/errors.json +43 -0
- package/lib/infrastructure/locales/pt-BR/flashcards.json +287 -0
- package/lib/infrastructure/locales/pt-BR/general.json +61 -0
- package/lib/infrastructure/locales/pt-BR/index.d.ts +745 -0
- package/lib/infrastructure/locales/pt-BR/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/pt-BR/index.js +43 -0
- package/lib/infrastructure/locales/pt-BR/index.js.map +1 -0
- package/lib/infrastructure/locales/pt-BR/navigation.json +58 -0
- package/lib/infrastructure/locales/pt-BR/onboarding.json +76 -0
- package/lib/infrastructure/locales/pt-BR/settings.json +53 -0
- package/lib/infrastructure/locales/pt-PT/branding.json +9 -0
- package/lib/infrastructure/locales/pt-PT/datetime.json +140 -0
- package/lib/infrastructure/locales/pt-PT/errors.json +43 -0
- package/lib/infrastructure/locales/pt-PT/flashcards.json +287 -0
- package/lib/infrastructure/locales/pt-PT/general.json +61 -0
- package/lib/infrastructure/locales/pt-PT/index.d.ts +745 -0
- package/lib/infrastructure/locales/pt-PT/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/pt-PT/index.js +43 -0
- package/lib/infrastructure/locales/pt-PT/index.js.map +1 -0
- package/lib/infrastructure/locales/pt-PT/navigation.json +58 -0
- package/lib/infrastructure/locales/pt-PT/onboarding.json +76 -0
- package/lib/infrastructure/locales/pt-PT/settings.json +53 -0
- package/lib/infrastructure/locales/ro-RO/branding.json +9 -0
- package/lib/infrastructure/locales/ro-RO/datetime.json +140 -0
- package/lib/infrastructure/locales/ro-RO/errors.json +43 -0
- package/lib/infrastructure/locales/ro-RO/flashcards.json +287 -0
- package/lib/infrastructure/locales/ro-RO/general.json +61 -0
- package/lib/infrastructure/locales/ro-RO/index.d.ts +745 -0
- package/lib/infrastructure/locales/ro-RO/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/ro-RO/index.js +43 -0
- package/lib/infrastructure/locales/ro-RO/index.js.map +1 -0
- package/lib/infrastructure/locales/ro-RO/navigation.json +58 -0
- package/lib/infrastructure/locales/ro-RO/onboarding.json +76 -0
- package/lib/infrastructure/locales/ro-RO/settings.json +53 -0
- package/lib/infrastructure/locales/ru-RU/branding.json +9 -0
- package/lib/infrastructure/locales/ru-RU/datetime.json +140 -0
- package/lib/infrastructure/locales/ru-RU/errors.json +43 -0
- package/lib/infrastructure/locales/ru-RU/flashcards.json +276 -0
- package/lib/infrastructure/locales/ru-RU/general.json +61 -0
- package/lib/infrastructure/locales/ru-RU/index.d.ts +734 -0
- package/lib/infrastructure/locales/ru-RU/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/ru-RU/index.js +43 -0
- package/lib/infrastructure/locales/ru-RU/index.js.map +1 -0
- package/lib/infrastructure/locales/ru-RU/navigation.json +58 -0
- package/lib/infrastructure/locales/ru-RU/onboarding.json +76 -0
- package/lib/infrastructure/locales/ru-RU/settings.json +53 -0
- package/lib/infrastructure/locales/sk-SK/branding.json +9 -0
- package/lib/infrastructure/locales/sk-SK/datetime.json +140 -0
- package/lib/infrastructure/locales/sk-SK/errors.json +43 -0
- package/lib/infrastructure/locales/sk-SK/flashcards.json +287 -0
- package/lib/infrastructure/locales/sk-SK/general.json +61 -0
- package/lib/infrastructure/locales/sk-SK/index.d.ts +745 -0
- package/lib/infrastructure/locales/sk-SK/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/sk-SK/index.js +43 -0
- package/lib/infrastructure/locales/sk-SK/index.js.map +1 -0
- package/lib/infrastructure/locales/sk-SK/navigation.json +58 -0
- package/lib/infrastructure/locales/sk-SK/onboarding.json +76 -0
- package/lib/infrastructure/locales/sk-SK/settings.json +53 -0
- package/lib/infrastructure/locales/sv-SE/branding.json +9 -0
- package/lib/infrastructure/locales/sv-SE/datetime.json +140 -0
- package/lib/infrastructure/locales/sv-SE/errors.json +43 -0
- package/lib/infrastructure/locales/sv-SE/flashcards.json +287 -0
- package/lib/infrastructure/locales/sv-SE/general.json +61 -0
- package/lib/infrastructure/locales/sv-SE/index.d.ts +745 -0
- package/lib/infrastructure/locales/sv-SE/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/sv-SE/index.js +43 -0
- package/lib/infrastructure/locales/sv-SE/index.js.map +1 -0
- package/lib/infrastructure/locales/sv-SE/navigation.json +58 -0
- package/lib/infrastructure/locales/sv-SE/onboarding.json +76 -0
- package/lib/infrastructure/locales/sv-SE/settings.json +53 -0
- package/lib/infrastructure/locales/th-TH/branding.json +9 -0
- package/lib/infrastructure/locales/th-TH/datetime.json +140 -0
- package/lib/infrastructure/locales/th-TH/errors.json +43 -0
- package/lib/infrastructure/locales/th-TH/flashcards.json +287 -0
- package/lib/infrastructure/locales/th-TH/general.json +61 -0
- package/lib/infrastructure/locales/th-TH/index.d.ts +745 -0
- package/lib/infrastructure/locales/th-TH/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/th-TH/index.js +43 -0
- package/lib/infrastructure/locales/th-TH/index.js.map +1 -0
- package/lib/infrastructure/locales/th-TH/navigation.json +58 -0
- package/lib/infrastructure/locales/th-TH/onboarding.json +76 -0
- package/lib/infrastructure/locales/th-TH/settings.json +53 -0
- package/lib/infrastructure/locales/tl-PH/branding.json +9 -0
- package/lib/infrastructure/locales/tl-PH/datetime.json +140 -0
- package/lib/infrastructure/locales/tl-PH/errors.json +43 -0
- package/lib/infrastructure/locales/tl-PH/flashcards.json +287 -0
- package/lib/infrastructure/locales/tl-PH/general.json +61 -0
- package/lib/infrastructure/locales/tl-PH/index.d.ts +745 -0
- package/lib/infrastructure/locales/tl-PH/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/tl-PH/index.js +43 -0
- package/lib/infrastructure/locales/tl-PH/index.js.map +1 -0
- package/lib/infrastructure/locales/tl-PH/navigation.json +58 -0
- package/lib/infrastructure/locales/tl-PH/onboarding.json +76 -0
- package/lib/infrastructure/locales/tl-PH/settings.json +53 -0
- package/lib/infrastructure/locales/tr-TR/branding.json +9 -0
- package/lib/infrastructure/locales/tr-TR/datetime.json +140 -0
- package/lib/infrastructure/locales/tr-TR/errors.json +43 -0
- package/lib/infrastructure/locales/tr-TR/flashcards.json +287 -0
- package/lib/infrastructure/locales/tr-TR/general.json +61 -0
- package/lib/infrastructure/locales/tr-TR/index.d.ts +745 -0
- package/lib/infrastructure/locales/tr-TR/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/tr-TR/index.js +43 -0
- package/lib/infrastructure/locales/tr-TR/index.js.map +1 -0
- package/lib/infrastructure/locales/tr-TR/navigation.json +58 -0
- package/lib/infrastructure/locales/tr-TR/onboarding.json +76 -0
- package/lib/infrastructure/locales/tr-TR/settings.json +53 -0
- package/lib/infrastructure/locales/uk-UA/branding.json +9 -0
- package/lib/infrastructure/locales/uk-UA/datetime.json +140 -0
- package/lib/infrastructure/locales/uk-UA/errors.json +43 -0
- package/lib/infrastructure/locales/uk-UA/flashcards.json +287 -0
- package/lib/infrastructure/locales/uk-UA/general.json +61 -0
- package/lib/infrastructure/locales/uk-UA/index.d.ts +745 -0
- package/lib/infrastructure/locales/uk-UA/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/uk-UA/index.js +43 -0
- package/lib/infrastructure/locales/uk-UA/index.js.map +1 -0
- package/lib/infrastructure/locales/uk-UA/navigation.json +58 -0
- package/lib/infrastructure/locales/uk-UA/onboarding.json +76 -0
- package/lib/infrastructure/locales/uk-UA/settings.json +53 -0
- package/lib/infrastructure/locales/vi-VN/branding.json +9 -0
- package/lib/infrastructure/locales/vi-VN/datetime.json +140 -0
- package/lib/infrastructure/locales/vi-VN/errors.json +43 -0
- package/lib/infrastructure/locales/vi-VN/flashcards.json +287 -0
- package/lib/infrastructure/locales/vi-VN/general.json +61 -0
- package/lib/infrastructure/locales/vi-VN/index.d.ts +745 -0
- package/lib/infrastructure/locales/vi-VN/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/vi-VN/index.js +43 -0
- package/lib/infrastructure/locales/vi-VN/index.js.map +1 -0
- package/lib/infrastructure/locales/vi-VN/navigation.json +58 -0
- package/lib/infrastructure/locales/vi-VN/onboarding.json +76 -0
- package/lib/infrastructure/locales/vi-VN/settings.json +53 -0
- package/lib/infrastructure/locales/zh-CN/branding.json +9 -0
- package/lib/infrastructure/locales/zh-CN/datetime.json +140 -0
- package/lib/infrastructure/locales/zh-CN/errors.json +43 -0
- package/lib/infrastructure/locales/zh-CN/flashcards.json +287 -0
- package/lib/infrastructure/locales/zh-CN/general.json +61 -0
- package/lib/infrastructure/locales/zh-CN/index.d.ts +745 -0
- package/lib/infrastructure/locales/zh-CN/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/zh-CN/index.js +43 -0
- package/lib/infrastructure/locales/zh-CN/index.js.map +1 -0
- package/lib/infrastructure/locales/zh-CN/navigation.json +58 -0
- package/lib/infrastructure/locales/zh-CN/onboarding.json +76 -0
- package/lib/infrastructure/locales/zh-CN/settings.json +53 -0
- package/lib/infrastructure/locales/zh-TW/branding.json +9 -0
- package/lib/infrastructure/locales/zh-TW/datetime.json +140 -0
- package/lib/infrastructure/locales/zh-TW/errors.json +43 -0
- package/lib/infrastructure/locales/zh-TW/flashcards.json +287 -0
- package/lib/infrastructure/locales/zh-TW/general.json +61 -0
- package/lib/infrastructure/locales/zh-TW/index.d.ts +745 -0
- package/lib/infrastructure/locales/zh-TW/index.d.ts.map +1 -0
- package/lib/infrastructure/locales/zh-TW/index.js +43 -0
- package/lib/infrastructure/locales/zh-TW/index.js.map +1 -0
- package/lib/infrastructure/locales/zh-TW/navigation.json +58 -0
- package/lib/infrastructure/locales/zh-TW/onboarding.json +76 -0
- package/lib/infrastructure/locales/zh-TW/settings.json +53 -0
- package/lib/infrastructure/storage/AsyncStorageWrapper.d.ts.map +1 -1
- package/lib/infrastructure/storage/AsyncStorageWrapper.js +6 -2
- package/lib/infrastructure/storage/AsyncStorageWrapper.js.map +1 -1
- package/lib/infrastructure/storage/LocalizationStore.d.ts +7 -2
- package/lib/infrastructure/storage/LocalizationStore.d.ts.map +1 -1
- package/lib/infrastructure/storage/LocalizationStore.js +116 -35
- package/lib/infrastructure/storage/LocalizationStore.js.map +1 -1
- package/package.json +9 -2
- package/scripts/check-translations.js +354 -0
- package/scripts/createLocaleLoaders.js +178 -0
- package/scripts/remove-unused-keys.js +216 -0
- package/scripts/setup-languages.js +122 -0
- package/scripts/translate-missing.js +500 -0
- package/scripts/utils/findLocalesDir.js +79 -0
- package/src/infrastructure/config/i18n.ts +195 -27
- package/src/infrastructure/config/languages.ts +3 -3
- package/src/infrastructure/config/languagesData.ts +3 -2
- package/src/infrastructure/locales/ar-SA/auth.json +32 -0
- package/src/infrastructure/locales/ar-SA/branding.json +9 -0
- package/src/infrastructure/locales/ar-SA/datetime.json +140 -0
- package/src/infrastructure/locales/ar-SA/errors.json +43 -0
- package/src/infrastructure/locales/ar-SA/flashcards.json +287 -0
- package/src/infrastructure/locales/ar-SA/general.json +61 -0
- package/src/infrastructure/locales/ar-SA/index.ts +48 -0
- package/src/infrastructure/locales/ar-SA/navigation.json +58 -0
- package/src/infrastructure/locales/ar-SA/onboarding.json +76 -0
- package/src/infrastructure/locales/ar-SA/settings.json +53 -0
- package/src/infrastructure/locales/bg-BG/auth.json +32 -0
- package/src/infrastructure/locales/bg-BG/branding.json +9 -0
- package/src/infrastructure/locales/bg-BG/datetime.json +140 -0
- package/src/infrastructure/locales/bg-BG/errors.json +43 -0
- package/src/infrastructure/locales/bg-BG/flashcards.json +287 -0
- package/src/infrastructure/locales/bg-BG/general.json +61 -0
- package/src/infrastructure/locales/bg-BG/index.ts +48 -0
- package/src/infrastructure/locales/bg-BG/navigation.json +58 -0
- package/src/infrastructure/locales/bg-BG/onboarding.json +76 -0
- package/src/infrastructure/locales/bg-BG/settings.json +53 -0
- package/src/infrastructure/locales/cs-CZ/auth.json +32 -0
- package/src/infrastructure/locales/cs-CZ/branding.json +9 -0
- package/src/infrastructure/locales/cs-CZ/datetime.json +140 -0
- package/src/infrastructure/locales/cs-CZ/errors.json +43 -0
- package/src/infrastructure/locales/cs-CZ/flashcards.json +287 -0
- package/src/infrastructure/locales/cs-CZ/general.json +61 -0
- package/src/infrastructure/locales/cs-CZ/index.ts +45 -0
- package/src/infrastructure/locales/cs-CZ/navigation.json +58 -0
- package/src/infrastructure/locales/cs-CZ/onboarding.json +76 -0
- package/src/infrastructure/locales/cs-CZ/settings.json +53 -0
- package/src/infrastructure/locales/da-DK/auth.json +32 -0
- package/src/infrastructure/locales/da-DK/branding.json +9 -0
- package/src/infrastructure/locales/da-DK/datetime.json +140 -0
- package/src/infrastructure/locales/da-DK/errors.json +43 -0
- package/src/infrastructure/locales/da-DK/flashcards.json +287 -0
- package/src/infrastructure/locales/da-DK/general.json +61 -0
- package/src/infrastructure/locales/da-DK/index.ts +45 -0
- package/src/infrastructure/locales/da-DK/navigation.json +58 -0
- package/src/infrastructure/locales/da-DK/onboarding.json +76 -0
- package/src/infrastructure/locales/da-DK/settings.json +53 -0
- package/src/infrastructure/locales/de-DE/auth.json +32 -0
- package/src/infrastructure/locales/de-DE/branding.json +9 -0
- package/src/infrastructure/locales/de-DE/datetime.json +140 -0
- package/src/infrastructure/locales/de-DE/errors.json +43 -0
- package/src/infrastructure/locales/de-DE/flashcards.json +287 -0
- package/src/infrastructure/locales/de-DE/general.json +61 -0
- package/src/infrastructure/locales/de-DE/index.ts +45 -0
- package/src/infrastructure/locales/de-DE/navigation.json +58 -0
- package/src/infrastructure/locales/de-DE/onboarding.json +76 -0
- package/src/infrastructure/locales/de-DE/settings.json +53 -0
- package/src/infrastructure/locales/el-GR/auth.json +32 -0
- package/src/infrastructure/locales/el-GR/branding.json +9 -0
- package/src/infrastructure/locales/el-GR/datetime.json +140 -0
- package/src/infrastructure/locales/el-GR/errors.json +43 -0
- package/src/infrastructure/locales/el-GR/flashcards.json +287 -0
- package/src/infrastructure/locales/el-GR/general.json +61 -0
- package/src/infrastructure/locales/el-GR/index.ts +45 -0
- package/src/infrastructure/locales/el-GR/navigation.json +58 -0
- package/src/infrastructure/locales/el-GR/onboarding.json +76 -0
- package/src/infrastructure/locales/el-GR/settings.json +53 -0
- package/src/infrastructure/locales/en-AU/branding.json +11 -0
- package/src/infrastructure/locales/en-AU/datetime.json +140 -0
- package/src/infrastructure/locales/en-AU/errors.json +43 -0
- package/src/infrastructure/locales/en-AU/flashcards.json +83 -0
- package/src/infrastructure/locales/en-AU/general.json +61 -0
- package/src/infrastructure/locales/en-AU/index.ts +45 -0
- package/src/infrastructure/locales/en-AU/navigation.json +58 -0
- package/src/infrastructure/locales/en-AU/onboarding.json +76 -0
- package/src/infrastructure/locales/en-AU/settings.json +53 -0
- package/src/infrastructure/locales/en-CA/branding.json +11 -0
- package/src/infrastructure/locales/en-CA/datetime.json +140 -0
- package/src/infrastructure/locales/en-CA/errors.json +43 -0
- package/src/infrastructure/locales/en-CA/flashcards.json +83 -0
- package/src/infrastructure/locales/en-CA/general.json +61 -0
- package/src/infrastructure/locales/en-CA/index.ts +45 -0
- package/src/infrastructure/locales/en-CA/navigation.json +58 -0
- package/src/infrastructure/locales/en-CA/onboarding.json +76 -0
- package/src/infrastructure/locales/en-CA/settings.json +53 -0
- package/src/infrastructure/locales/en-GB/branding.json +11 -0
- package/src/infrastructure/locales/en-GB/datetime.json +140 -0
- package/src/infrastructure/locales/en-GB/errors.json +43 -0
- package/src/infrastructure/locales/en-GB/flashcards.json +83 -0
- package/src/infrastructure/locales/en-GB/general.json +61 -0
- package/src/infrastructure/locales/en-GB/index.ts +45 -0
- package/src/infrastructure/locales/en-GB/navigation.json +58 -0
- package/src/infrastructure/locales/en-GB/onboarding.json +76 -0
- package/src/infrastructure/locales/en-GB/settings.json +53 -0
- package/src/infrastructure/locales/en-US/auth.json +32 -0
- package/src/infrastructure/locales/en-US/branding.json +11 -0
- package/src/infrastructure/locales/en-US/flashcards.json +310 -0
- package/src/infrastructure/locales/en-US/general.json +6 -1
- package/src/infrastructure/locales/en-US/index.ts +31 -19
- package/src/infrastructure/locales/en-US/navigation.json +4 -1
- package/src/infrastructure/locales/en-US/settings.json +0 -12
- package/src/infrastructure/locales/es-ES/auth.json +32 -0
- package/src/infrastructure/locales/es-ES/branding.json +9 -0
- package/src/infrastructure/locales/es-ES/datetime.json +140 -0
- package/src/infrastructure/locales/es-ES/errors.json +43 -0
- package/src/infrastructure/locales/es-ES/flashcards.json +287 -0
- package/src/infrastructure/locales/es-ES/general.json +61 -0
- package/src/infrastructure/locales/es-ES/index.ts +45 -0
- package/src/infrastructure/locales/es-ES/navigation.json +58 -0
- package/src/infrastructure/locales/es-ES/onboarding.json +76 -0
- package/src/infrastructure/locales/es-ES/settings.json +53 -0
- package/src/infrastructure/locales/es-MX/auth.json +32 -0
- package/src/infrastructure/locales/es-MX/branding.json +9 -0
- package/src/infrastructure/locales/es-MX/datetime.json +140 -0
- package/src/infrastructure/locales/es-MX/errors.json +43 -0
- package/src/infrastructure/locales/es-MX/flashcards.json +276 -0
- package/src/infrastructure/locales/es-MX/general.json +61 -0
- package/src/infrastructure/locales/es-MX/index.ts +45 -0
- package/src/infrastructure/locales/es-MX/navigation.json +58 -0
- package/src/infrastructure/locales/es-MX/onboarding.json +76 -0
- package/src/infrastructure/locales/es-MX/settings.json +53 -0
- package/src/infrastructure/locales/fi-FI/auth.json +32 -0
- package/src/infrastructure/locales/fi-FI/branding.json +9 -0
- package/src/infrastructure/locales/fi-FI/datetime.json +140 -0
- package/src/infrastructure/locales/fi-FI/errors.json +43 -0
- package/src/infrastructure/locales/fi-FI/flashcards.json +287 -0
- package/src/infrastructure/locales/fi-FI/general.json +61 -0
- package/src/infrastructure/locales/fi-FI/index.ts +45 -0
- package/src/infrastructure/locales/fi-FI/navigation.json +58 -0
- package/src/infrastructure/locales/fi-FI/onboarding.json +76 -0
- package/src/infrastructure/locales/fi-FI/settings.json +53 -0
- package/src/infrastructure/locales/fr-CA/auth.json +32 -0
- package/src/infrastructure/locales/fr-CA/branding.json +9 -0
- package/src/infrastructure/locales/fr-CA/datetime.json +140 -0
- package/src/infrastructure/locales/fr-CA/errors.json +43 -0
- package/src/infrastructure/locales/fr-CA/flashcards.json +287 -0
- package/src/infrastructure/locales/fr-CA/general.json +61 -0
- package/src/infrastructure/locales/fr-CA/index.ts +45 -0
- package/src/infrastructure/locales/fr-CA/navigation.json +58 -0
- package/src/infrastructure/locales/fr-CA/onboarding.json +76 -0
- package/src/infrastructure/locales/fr-CA/settings.json +53 -0
- package/src/infrastructure/locales/fr-FR/auth.json +32 -0
- package/src/infrastructure/locales/fr-FR/branding.json +9 -0
- package/src/infrastructure/locales/fr-FR/datetime.json +140 -0
- package/src/infrastructure/locales/fr-FR/errors.json +43 -0
- package/src/infrastructure/locales/fr-FR/flashcards.json +287 -0
- package/src/infrastructure/locales/fr-FR/general.json +61 -0
- package/src/infrastructure/locales/fr-FR/index.ts +45 -0
- package/src/infrastructure/locales/fr-FR/navigation.json +58 -0
- package/src/infrastructure/locales/fr-FR/onboarding.json +76 -0
- package/src/infrastructure/locales/fr-FR/settings.json +53 -0
- package/src/infrastructure/locales/hi-IN/auth.json +32 -0
- package/src/infrastructure/locales/hi-IN/branding.json +9 -0
- package/src/infrastructure/locales/hi-IN/datetime.json +140 -0
- package/src/infrastructure/locales/hi-IN/errors.json +43 -0
- package/src/infrastructure/locales/hi-IN/flashcards.json +287 -0
- package/src/infrastructure/locales/hi-IN/general.json +61 -0
- package/src/infrastructure/locales/hi-IN/index.ts +45 -0
- package/src/infrastructure/locales/hi-IN/navigation.json +58 -0
- package/src/infrastructure/locales/hi-IN/onboarding.json +76 -0
- package/src/infrastructure/locales/hi-IN/settings.json +53 -0
- package/src/infrastructure/locales/hr-HR/auth.json +32 -0
- package/src/infrastructure/locales/hr-HR/branding.json +9 -0
- package/src/infrastructure/locales/hr-HR/datetime.json +140 -0
- package/src/infrastructure/locales/hr-HR/errors.json +43 -0
- package/src/infrastructure/locales/hr-HR/flashcards.json +276 -0
- package/src/infrastructure/locales/hr-HR/general.json +61 -0
- package/src/infrastructure/locales/hr-HR/index.ts +45 -0
- package/src/infrastructure/locales/hr-HR/navigation.json +58 -0
- package/src/infrastructure/locales/hr-HR/onboarding.json +76 -0
- package/src/infrastructure/locales/hr-HR/settings.json +53 -0
- package/src/infrastructure/locales/hu-HU/auth.json +32 -0
- package/src/infrastructure/locales/hu-HU/branding.json +9 -0
- package/src/infrastructure/locales/hu-HU/datetime.json +140 -0
- package/src/infrastructure/locales/hu-HU/errors.json +43 -0
- package/src/infrastructure/locales/hu-HU/flashcards.json +287 -0
- package/src/infrastructure/locales/hu-HU/general.json +61 -0
- package/src/infrastructure/locales/hu-HU/index.ts +45 -0
- package/src/infrastructure/locales/hu-HU/navigation.json +58 -0
- package/src/infrastructure/locales/hu-HU/onboarding.json +76 -0
- package/src/infrastructure/locales/hu-HU/settings.json +53 -0
- package/src/infrastructure/locales/id-ID/auth.json +32 -0
- package/src/infrastructure/locales/id-ID/branding.json +9 -0
- package/src/infrastructure/locales/id-ID/datetime.json +140 -0
- package/src/infrastructure/locales/id-ID/errors.json +43 -0
- package/src/infrastructure/locales/id-ID/flashcards.json +287 -0
- package/src/infrastructure/locales/id-ID/general.json +61 -0
- package/src/infrastructure/locales/id-ID/index.ts +45 -0
- package/src/infrastructure/locales/id-ID/navigation.json +58 -0
- package/src/infrastructure/locales/id-ID/onboarding.json +76 -0
- package/src/infrastructure/locales/id-ID/settings.json +53 -0
- package/src/infrastructure/locales/it-IT/auth.json +32 -0
- package/src/infrastructure/locales/it-IT/branding.json +9 -0
- package/src/infrastructure/locales/it-IT/datetime.json +140 -0
- package/src/infrastructure/locales/it-IT/errors.json +43 -0
- package/src/infrastructure/locales/it-IT/flashcards.json +287 -0
- package/src/infrastructure/locales/it-IT/general.json +61 -0
- package/src/infrastructure/locales/it-IT/index.ts +45 -0
- package/src/infrastructure/locales/it-IT/navigation.json +58 -0
- package/src/infrastructure/locales/it-IT/onboarding.json +76 -0
- package/src/infrastructure/locales/it-IT/settings.json +53 -0
- package/src/infrastructure/locales/ja-JP/auth.json +32 -0
- package/src/infrastructure/locales/ja-JP/branding.json +9 -0
- package/src/infrastructure/locales/ja-JP/datetime.json +140 -0
- package/src/infrastructure/locales/ja-JP/errors.json +43 -0
- package/src/infrastructure/locales/ja-JP/flashcards.json +287 -0
- package/src/infrastructure/locales/ja-JP/general.json +61 -0
- package/src/infrastructure/locales/ja-JP/index.ts +45 -0
- package/src/infrastructure/locales/ja-JP/navigation.json +58 -0
- package/src/infrastructure/locales/ja-JP/onboarding.json +76 -0
- package/src/infrastructure/locales/ja-JP/settings.json +53 -0
- package/src/infrastructure/locales/ko-KR/auth.json +32 -0
- package/src/infrastructure/locales/ko-KR/branding.json +9 -0
- package/src/infrastructure/locales/ko-KR/datetime.json +140 -0
- package/src/infrastructure/locales/ko-KR/errors.json +43 -0
- package/src/infrastructure/locales/ko-KR/flashcards.json +287 -0
- package/src/infrastructure/locales/ko-KR/general.json +61 -0
- package/src/infrastructure/locales/ko-KR/index.ts +45 -0
- package/src/infrastructure/locales/ko-KR/navigation.json +58 -0
- package/src/infrastructure/locales/ko-KR/onboarding.json +76 -0
- package/src/infrastructure/locales/ko-KR/settings.json +53 -0
- package/src/infrastructure/locales/ms-MY/auth.json +32 -0
- package/src/infrastructure/locales/ms-MY/branding.json +9 -0
- package/src/infrastructure/locales/ms-MY/datetime.json +140 -0
- package/src/infrastructure/locales/ms-MY/errors.json +43 -0
- package/src/infrastructure/locales/ms-MY/flashcards.json +287 -0
- package/src/infrastructure/locales/ms-MY/general.json +61 -0
- package/src/infrastructure/locales/ms-MY/index.ts +45 -0
- package/src/infrastructure/locales/ms-MY/navigation.json +58 -0
- package/src/infrastructure/locales/ms-MY/onboarding.json +76 -0
- package/src/infrastructure/locales/ms-MY/settings.json +53 -0
- package/src/infrastructure/locales/nl-NL/auth.json +32 -0
- package/src/infrastructure/locales/nl-NL/branding.json +9 -0
- package/src/infrastructure/locales/nl-NL/datetime.json +140 -0
- package/src/infrastructure/locales/nl-NL/errors.json +43 -0
- package/src/infrastructure/locales/nl-NL/flashcards.json +287 -0
- package/src/infrastructure/locales/nl-NL/general.json +61 -0
- package/src/infrastructure/locales/nl-NL/index.ts +45 -0
- package/src/infrastructure/locales/nl-NL/navigation.json +58 -0
- package/src/infrastructure/locales/nl-NL/onboarding.json +76 -0
- package/src/infrastructure/locales/nl-NL/settings.json +53 -0
- package/src/infrastructure/locales/no-NO/auth.json +32 -0
- package/src/infrastructure/locales/no-NO/branding.json +9 -0
- package/src/infrastructure/locales/no-NO/datetime.json +140 -0
- package/src/infrastructure/locales/no-NO/errors.json +43 -0
- package/src/infrastructure/locales/no-NO/flashcards.json +287 -0
- package/src/infrastructure/locales/no-NO/general.json +61 -0
- package/src/infrastructure/locales/no-NO/index.ts +45 -0
- package/src/infrastructure/locales/no-NO/navigation.json +58 -0
- package/src/infrastructure/locales/no-NO/onboarding.json +76 -0
- package/src/infrastructure/locales/no-NO/settings.json +53 -0
- package/src/infrastructure/locales/pl-PL/auth.json +32 -0
- package/src/infrastructure/locales/pl-PL/branding.json +9 -0
- package/src/infrastructure/locales/pl-PL/datetime.json +140 -0
- package/src/infrastructure/locales/pl-PL/errors.json +43 -0
- package/src/infrastructure/locales/pl-PL/flashcards.json +287 -0
- package/src/infrastructure/locales/pl-PL/general.json +61 -0
- package/src/infrastructure/locales/pl-PL/index.ts +45 -0
- package/src/infrastructure/locales/pl-PL/navigation.json +58 -0
- package/src/infrastructure/locales/pl-PL/onboarding.json +76 -0
- package/src/infrastructure/locales/pl-PL/settings.json +53 -0
- package/src/infrastructure/locales/pt-BR/auth.json +32 -0
- package/src/infrastructure/locales/pt-BR/branding.json +9 -0
- package/src/infrastructure/locales/pt-BR/datetime.json +140 -0
- package/src/infrastructure/locales/pt-BR/errors.json +43 -0
- package/src/infrastructure/locales/pt-BR/flashcards.json +287 -0
- package/src/infrastructure/locales/pt-BR/general.json +61 -0
- package/src/infrastructure/locales/pt-BR/index.ts +45 -0
- package/src/infrastructure/locales/pt-BR/navigation.json +58 -0
- package/src/infrastructure/locales/pt-BR/onboarding.json +76 -0
- package/src/infrastructure/locales/pt-BR/settings.json +53 -0
- package/src/infrastructure/locales/pt-PT/auth.json +32 -0
- package/src/infrastructure/locales/pt-PT/branding.json +9 -0
- package/src/infrastructure/locales/pt-PT/datetime.json +140 -0
- package/src/infrastructure/locales/pt-PT/errors.json +43 -0
- package/src/infrastructure/locales/pt-PT/flashcards.json +287 -0
- package/src/infrastructure/locales/pt-PT/general.json +61 -0
- package/src/infrastructure/locales/pt-PT/index.ts +45 -0
- package/src/infrastructure/locales/pt-PT/navigation.json +58 -0
- package/src/infrastructure/locales/pt-PT/onboarding.json +76 -0
- package/src/infrastructure/locales/pt-PT/settings.json +53 -0
- package/src/infrastructure/locales/ro-RO/auth.json +32 -0
- package/src/infrastructure/locales/ro-RO/branding.json +9 -0
- package/src/infrastructure/locales/ro-RO/datetime.json +140 -0
- package/src/infrastructure/locales/ro-RO/errors.json +43 -0
- package/src/infrastructure/locales/ro-RO/flashcards.json +287 -0
- package/src/infrastructure/locales/ro-RO/general.json +61 -0
- package/src/infrastructure/locales/ro-RO/index.ts +45 -0
- package/src/infrastructure/locales/ro-RO/navigation.json +58 -0
- package/src/infrastructure/locales/ro-RO/onboarding.json +76 -0
- package/src/infrastructure/locales/ro-RO/settings.json +53 -0
- package/src/infrastructure/locales/ru-RU/auth.json +32 -0
- package/src/infrastructure/locales/ru-RU/branding.json +9 -0
- package/src/infrastructure/locales/ru-RU/datetime.json +140 -0
- package/src/infrastructure/locales/ru-RU/errors.json +43 -0
- package/src/infrastructure/locales/ru-RU/flashcards.json +276 -0
- package/src/infrastructure/locales/ru-RU/general.json +61 -0
- package/src/infrastructure/locales/ru-RU/index.ts +45 -0
- package/src/infrastructure/locales/ru-RU/navigation.json +58 -0
- package/src/infrastructure/locales/ru-RU/onboarding.json +76 -0
- package/src/infrastructure/locales/ru-RU/settings.json +53 -0
- package/src/infrastructure/locales/sk-SK/auth.json +32 -0
- package/src/infrastructure/locales/sk-SK/branding.json +9 -0
- package/src/infrastructure/locales/sk-SK/datetime.json +140 -0
- package/src/infrastructure/locales/sk-SK/errors.json +43 -0
- package/src/infrastructure/locales/sk-SK/flashcards.json +287 -0
- package/src/infrastructure/locales/sk-SK/general.json +61 -0
- package/src/infrastructure/locales/sk-SK/index.ts +45 -0
- package/src/infrastructure/locales/sk-SK/navigation.json +58 -0
- package/src/infrastructure/locales/sk-SK/onboarding.json +76 -0
- package/src/infrastructure/locales/sk-SK/settings.json +53 -0
- package/src/infrastructure/locales/sv-SE/auth.json +32 -0
- package/src/infrastructure/locales/sv-SE/branding.json +9 -0
- package/src/infrastructure/locales/sv-SE/datetime.json +140 -0
- package/src/infrastructure/locales/sv-SE/errors.json +43 -0
- package/src/infrastructure/locales/sv-SE/flashcards.json +287 -0
- package/src/infrastructure/locales/sv-SE/general.json +61 -0
- package/src/infrastructure/locales/sv-SE/index.ts +45 -0
- package/src/infrastructure/locales/sv-SE/navigation.json +58 -0
- package/src/infrastructure/locales/sv-SE/onboarding.json +76 -0
- package/src/infrastructure/locales/sv-SE/settings.json +53 -0
- package/src/infrastructure/locales/th-TH/auth.json +32 -0
- package/src/infrastructure/locales/th-TH/branding.json +9 -0
- package/src/infrastructure/locales/th-TH/datetime.json +140 -0
- package/src/infrastructure/locales/th-TH/errors.json +43 -0
- package/src/infrastructure/locales/th-TH/flashcards.json +287 -0
- package/src/infrastructure/locales/th-TH/general.json +61 -0
- package/src/infrastructure/locales/th-TH/index.ts +45 -0
- package/src/infrastructure/locales/th-TH/navigation.json +58 -0
- package/src/infrastructure/locales/th-TH/onboarding.json +76 -0
- package/src/infrastructure/locales/th-TH/settings.json +53 -0
- package/src/infrastructure/locales/tl-PH/auth.json +32 -0
- package/src/infrastructure/locales/tl-PH/branding.json +9 -0
- package/src/infrastructure/locales/tl-PH/datetime.json +140 -0
- package/src/infrastructure/locales/tl-PH/errors.json +43 -0
- package/src/infrastructure/locales/tl-PH/flashcards.json +287 -0
- package/src/infrastructure/locales/tl-PH/general.json +61 -0
- package/src/infrastructure/locales/tl-PH/index.ts +45 -0
- package/src/infrastructure/locales/tl-PH/navigation.json +58 -0
- package/src/infrastructure/locales/tl-PH/onboarding.json +76 -0
- package/src/infrastructure/locales/tl-PH/settings.json +53 -0
- package/src/infrastructure/locales/tr-TR/auth.json +32 -0
- package/src/infrastructure/locales/tr-TR/branding.json +9 -0
- package/src/infrastructure/locales/tr-TR/datetime.json +140 -0
- package/src/infrastructure/locales/tr-TR/errors.json +43 -0
- package/src/infrastructure/locales/tr-TR/flashcards.json +287 -0
- package/src/infrastructure/locales/tr-TR/general.json +61 -0
- package/src/infrastructure/locales/tr-TR/index.ts +45 -0
- package/src/infrastructure/locales/tr-TR/navigation.json +58 -0
- package/src/infrastructure/locales/tr-TR/onboarding.json +76 -0
- package/src/infrastructure/locales/tr-TR/settings.json +53 -0
- package/src/infrastructure/locales/uk-UA/auth.json +32 -0
- package/src/infrastructure/locales/uk-UA/branding.json +9 -0
- package/src/infrastructure/locales/uk-UA/datetime.json +140 -0
- package/src/infrastructure/locales/uk-UA/errors.json +43 -0
- package/src/infrastructure/locales/uk-UA/flashcards.json +287 -0
- package/src/infrastructure/locales/uk-UA/general.json +61 -0
- package/src/infrastructure/locales/uk-UA/index.ts +45 -0
- package/src/infrastructure/locales/uk-UA/navigation.json +58 -0
- package/src/infrastructure/locales/uk-UA/onboarding.json +76 -0
- package/src/infrastructure/locales/uk-UA/settings.json +53 -0
- package/src/infrastructure/locales/vi-VN/auth.json +32 -0
- package/src/infrastructure/locales/vi-VN/branding.json +9 -0
- package/src/infrastructure/locales/vi-VN/datetime.json +140 -0
- package/src/infrastructure/locales/vi-VN/errors.json +43 -0
- package/src/infrastructure/locales/vi-VN/flashcards.json +287 -0
- package/src/infrastructure/locales/vi-VN/general.json +61 -0
- package/src/infrastructure/locales/vi-VN/index.ts +45 -0
- package/src/infrastructure/locales/vi-VN/navigation.json +58 -0
- package/src/infrastructure/locales/vi-VN/onboarding.json +76 -0
- package/src/infrastructure/locales/vi-VN/settings.json +53 -0
- package/src/infrastructure/locales/zh-CN/auth.json +32 -0
- package/src/infrastructure/locales/zh-CN/branding.json +9 -0
- package/src/infrastructure/locales/zh-CN/datetime.json +140 -0
- package/src/infrastructure/locales/zh-CN/errors.json +43 -0
- package/src/infrastructure/locales/zh-CN/flashcards.json +287 -0
- package/src/infrastructure/locales/zh-CN/general.json +61 -0
- package/src/infrastructure/locales/zh-CN/index.ts +45 -0
- package/src/infrastructure/locales/zh-CN/navigation.json +58 -0
- package/src/infrastructure/locales/zh-CN/onboarding.json +76 -0
- package/src/infrastructure/locales/zh-CN/settings.json +53 -0
- package/src/infrastructure/locales/zh-TW/auth.json +32 -0
- package/src/infrastructure/locales/zh-TW/branding.json +9 -0
- package/src/infrastructure/locales/zh-TW/datetime.json +140 -0
- package/src/infrastructure/locales/zh-TW/errors.json +43 -0
- package/src/infrastructure/locales/zh-TW/flashcards.json +287 -0
- package/src/infrastructure/locales/zh-TW/general.json +61 -0
- package/src/infrastructure/locales/zh-TW/index.ts +45 -0
- package/src/infrastructure/locales/zh-TW/navigation.json +58 -0
- package/src/infrastructure/locales/zh-TW/onboarding.json +76 -0
- package/src/infrastructure/locales/zh-TW/settings.json +53 -0
- package/src/infrastructure/scripts/createLocaleLoaders.js +177 -0
- package/src/infrastructure/storage/AsyncStorageWrapper.ts +4 -2
- package/src/infrastructure/storage/LocalizationStore.ts +140 -39
- package/lib/infrastructure/locales/en-US/animation.json +0 -30
- package/lib/infrastructure/locales/en-US/audio.json +0 -56
- package/lib/infrastructure/locales/en-US/emoji.json +0 -29
- package/lib/infrastructure/locales/en-US/forms.json +0 -38
- package/lib/infrastructure/locales/en-US/icons.json +0 -34
- package/lib/infrastructure/locales/en-US/location.json +0 -49
- package/lib/infrastructure/locales/en-US/media.json +0 -49
- package/lib/infrastructure/locales/en-US/toast.json +0 -38
- package/src/infrastructure/locales/en-US/animation.json +0 -30
- package/src/infrastructure/locales/en-US/audio.json +0 -56
- package/src/infrastructure/locales/en-US/emoji.json +0 -29
- package/src/infrastructure/locales/en-US/forms.json +0 -38
- package/src/infrastructure/locales/en-US/icons.json +0 -34
- package/src/infrastructure/locales/en-US/location.json +0 -49
- package/src/infrastructure/locales/en-US/media.json +0 -49
- package/src/infrastructure/locales/en-US/toast.json +0 -38
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/* eslint-disable no-console */
|
|
3
|
+
|
|
4
|
+
const fs = require('fs');
|
|
5
|
+
const path = require('path');
|
|
6
|
+
const { getLocalesDir } = require('./utils/findLocalesDir');
|
|
7
|
+
|
|
8
|
+
// Function to get all keys from an object recursively
|
|
9
|
+
function getAllKeys(obj, prefix = '') {
|
|
10
|
+
let keys = [];
|
|
11
|
+
for (const key in obj) {
|
|
12
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
13
|
+
const fullKey = prefix ? `${prefix}.${key}` : key;
|
|
14
|
+
if (
|
|
15
|
+
typeof obj[key] === 'object' &&
|
|
16
|
+
obj[key] !== null &&
|
|
17
|
+
!Array.isArray(obj[key])
|
|
18
|
+
) {
|
|
19
|
+
keys = keys.concat(getAllKeys(obj[key], fullKey));
|
|
20
|
+
} else {
|
|
21
|
+
keys.push(fullKey);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return keys;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// Function to get value by key path
|
|
29
|
+
function getValueByPath(obj, path) {
|
|
30
|
+
return path.split('.').reduce((current, key) => current && current[key], obj);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Function to compare two translation objects
|
|
34
|
+
function compareTranslations(enUS, targetLang, filePath, langCode) {
|
|
35
|
+
const enKeys = getAllKeys(enUS);
|
|
36
|
+
const targetKeys = getAllKeys(targetLang);
|
|
37
|
+
|
|
38
|
+
const missingInTarget = enKeys.filter(key => !targetKeys.includes(key));
|
|
39
|
+
const extraInTarget = targetKeys.filter(key => !enKeys.includes(key));
|
|
40
|
+
|
|
41
|
+
const issues = [];
|
|
42
|
+
|
|
43
|
+
// Check for missing keys in target language
|
|
44
|
+
if (missingInTarget.length > 0) {
|
|
45
|
+
issues.push({
|
|
46
|
+
type: 'missing',
|
|
47
|
+
message: `Missing keys in ${langCode}: ${missingInTarget.join(', ')}`,
|
|
48
|
+
keys: missingInTarget,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Check for extra keys in target language
|
|
53
|
+
if (extraInTarget.length > 0) {
|
|
54
|
+
issues.push({
|
|
55
|
+
type: 'extra',
|
|
56
|
+
message: `Extra keys in ${langCode}: ${extraInTarget.join(', ')}`,
|
|
57
|
+
keys: extraInTarget,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Check for empty or placeholder values in target language
|
|
62
|
+
enKeys.forEach(key => {
|
|
63
|
+
if (targetKeys.includes(key)) {
|
|
64
|
+
const enValue = getValueByPath(enUS, key);
|
|
65
|
+
const targetValue = getValueByPath(targetLang, key);
|
|
66
|
+
|
|
67
|
+
// Skip checking if the value is the same and it's a common English word that doesn't need translation
|
|
68
|
+
const commonEnglishWords = [
|
|
69
|
+
'Premium',
|
|
70
|
+
'EULA',
|
|
71
|
+
'Plan',
|
|
72
|
+
'OK',
|
|
73
|
+
'API',
|
|
74
|
+
'URL',
|
|
75
|
+
'iOS',
|
|
76
|
+
'Android',
|
|
77
|
+
'minute',
|
|
78
|
+
'min',
|
|
79
|
+
'Sessions',
|
|
80
|
+
'Points',
|
|
81
|
+
'Nature',
|
|
82
|
+
'Instrumental',
|
|
83
|
+
'Piano',
|
|
84
|
+
'Silence',
|
|
85
|
+
'Pause',
|
|
86
|
+
'Gratitude',
|
|
87
|
+
'Notes',
|
|
88
|
+
'5 min',
|
|
89
|
+
'10 min',
|
|
90
|
+
'15 min',
|
|
91
|
+
'20 min',
|
|
92
|
+
'30 min',
|
|
93
|
+
'{{count}} min',
|
|
94
|
+
'{{duration}} min',
|
|
95
|
+
'{{duration}} • {{cycles}} cycles',
|
|
96
|
+
'No',
|
|
97
|
+
'Error',
|
|
98
|
+
'Try Again',
|
|
99
|
+
'Back',
|
|
100
|
+
'Oops! Something went wrong',
|
|
101
|
+
"We encountered an unexpected error. Don't worry, your meditation data is safe.",
|
|
102
|
+
"This screen doesn't exist.",
|
|
103
|
+
'Go to home screen!',
|
|
104
|
+
'No meditation cards available',
|
|
105
|
+
"Thank you for reporting this bug! We'll investigate and fix it as soon as possible.",
|
|
106
|
+
"Thank you for your feature request! We'll consider it for future updates.",
|
|
107
|
+
'Thank you for your suggestion! We appreciate your input and will review it carefully.',
|
|
108
|
+
'Your feedback has been submitted successfully. We appreciate your input!',
|
|
109
|
+
'Continue',
|
|
110
|
+
'Go Home',
|
|
111
|
+
'Start Meditating',
|
|
112
|
+
'Begin Your Journey',
|
|
113
|
+
'Detailed statistics',
|
|
114
|
+
'Achievement badges',
|
|
115
|
+
'Weekly/monthly reports',
|
|
116
|
+
'Sign Up',
|
|
117
|
+
'Sign In',
|
|
118
|
+
'Breathe In',
|
|
119
|
+
'Hold',
|
|
120
|
+
'Breathe Out',
|
|
121
|
+
'Rest',
|
|
122
|
+
'Find a comfortable seated position',
|
|
123
|
+
'Focus on slow, controlled movements',
|
|
124
|
+
"Don't force the breath, let it flow naturally",
|
|
125
|
+
'Cycle {{current}} of {{total}}',
|
|
126
|
+
'{{inhale}}s in • {{hold}}s hold • {{exhale}}s out',
|
|
127
|
+
'Total elapsed: {{time}}',
|
|
128
|
+
'Cancel',
|
|
129
|
+
'End Session',
|
|
130
|
+
'Reset',
|
|
131
|
+
"Today's Progress",
|
|
132
|
+
'See All',
|
|
133
|
+
'Total Time',
|
|
134
|
+
'Streak',
|
|
135
|
+
'Last Session',
|
|
136
|
+
'minutes completed',
|
|
137
|
+
'Find a quiet, comfortable space',
|
|
138
|
+
'Focus on your breath naturally',
|
|
139
|
+
'Let thoughts come and go without judgment',
|
|
140
|
+
'Start with shorter sessions and build up',
|
|
141
|
+
'Legal',
|
|
142
|
+
'Loading sounds...',
|
|
143
|
+
];
|
|
144
|
+
const shouldSkip =
|
|
145
|
+
commonEnglishWords.includes(enValue) && targetValue === enValue;
|
|
146
|
+
|
|
147
|
+
// Check if value needs translation
|
|
148
|
+
// Skip if already translated (different from English) - protects manual translations
|
|
149
|
+
const isAlreadyTranslated = targetValue !== enValue;
|
|
150
|
+
|
|
151
|
+
if (
|
|
152
|
+
!shouldSkip &&
|
|
153
|
+
!isAlreadyTranslated &&
|
|
154
|
+
(!targetValue ||
|
|
155
|
+
(typeof targetValue === 'string' && targetValue.trim() === '') ||
|
|
156
|
+
targetValue === enValue ||
|
|
157
|
+
targetValue.includes('[NEEDS TRANSLATION]') ||
|
|
158
|
+
targetValue.includes('[MISSING:') ||
|
|
159
|
+
targetValue.includes('[ÇEVİRİ GEREKLİ:') ||
|
|
160
|
+
targetValue.includes('[TRANSLATE:'))
|
|
161
|
+
) {
|
|
162
|
+
issues.push({
|
|
163
|
+
type: 'translation',
|
|
164
|
+
message: `Key "${key}" has empty, missing, or untranslated value`,
|
|
165
|
+
key: key,
|
|
166
|
+
enValue: enValue,
|
|
167
|
+
targetValue: targetValue,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
return {
|
|
174
|
+
file: filePath,
|
|
175
|
+
issues: issues,
|
|
176
|
+
totalEnKeys: enKeys.length,
|
|
177
|
+
totalTargetKeys: targetKeys.length,
|
|
178
|
+
missingCount: missingInTarget.length,
|
|
179
|
+
extraCount: extraInTarget.length,
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// Main function
|
|
184
|
+
function main() {
|
|
185
|
+
const args = process.argv.slice(2);
|
|
186
|
+
const targetLanguage = args.find(arg => !arg.startsWith('--'));
|
|
187
|
+
|
|
188
|
+
if (!targetLanguage) {
|
|
189
|
+
console.log('Kullanım: npm run i18n:check <dil-kodu>');
|
|
190
|
+
console.log('Örnek: npm run i18n:check de-DE');
|
|
191
|
+
console.log('Örnek: npm run i18n:check fr-FR');
|
|
192
|
+
console.log('Örnek: npm run i18n:check tr-TR');
|
|
193
|
+
console.log(
|
|
194
|
+
'Örnek: npm run i18n:check spanish (tüm İspanyolca varyantları)'
|
|
195
|
+
);
|
|
196
|
+
console.log(
|
|
197
|
+
'\nTüm dilleri kontrol etmek için: npm run i18n:check all'
|
|
198
|
+
);
|
|
199
|
+
process.exit(1);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// Find project's locales directory
|
|
203
|
+
const localesDir = getLocalesDir();
|
|
204
|
+
const enUSDir = path.join(localesDir, 'en-US');
|
|
205
|
+
|
|
206
|
+
// 🔥 CRITICAL FIX: Auto-discover all JSON files (NO HARDCODED LIST!)
|
|
207
|
+
// This ensures check-translations works with ANY en-US file structure
|
|
208
|
+
const files = fs
|
|
209
|
+
.readdirSync(enUSDir)
|
|
210
|
+
.filter(file => file.endsWith('.json'))
|
|
211
|
+
.sort();
|
|
212
|
+
|
|
213
|
+
if (files.length === 0) {
|
|
214
|
+
console.error('❌ No JSON files found in en-US directory!');
|
|
215
|
+
process.exit(1);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
console.log(`🔍 Discovered ${files.length} translation files in en-US:\n ${files.join(', ')}\n`);
|
|
219
|
+
|
|
220
|
+
// Get all language directories
|
|
221
|
+
const allLanguageDirs = fs
|
|
222
|
+
.readdirSync(localesDir)
|
|
223
|
+
.filter(dir => {
|
|
224
|
+
const fullPath = path.join(localesDir, dir);
|
|
225
|
+
return fs.statSync(fullPath).isDirectory() && dir !== 'en-US';
|
|
226
|
+
})
|
|
227
|
+
.sort();
|
|
228
|
+
|
|
229
|
+
// Determine which languages to process
|
|
230
|
+
let languageDirs = allLanguageDirs;
|
|
231
|
+
if (targetLanguage !== 'all') {
|
|
232
|
+
if (targetLanguage === 'spanish' || targetLanguage === 'es') {
|
|
233
|
+
// Check all Spanish variants
|
|
234
|
+
languageDirs = allLanguageDirs.filter(dir => dir.startsWith('es-'));
|
|
235
|
+
if (languageDirs.length === 0) {
|
|
236
|
+
console.log('❌ No Spanish variants found.');
|
|
237
|
+
process.exit(1);
|
|
238
|
+
}
|
|
239
|
+
} else if (allLanguageDirs.includes(targetLanguage)) {
|
|
240
|
+
languageDirs = [targetLanguage];
|
|
241
|
+
} else {
|
|
242
|
+
console.log(
|
|
243
|
+
`❌ Language ${targetLanguage} not found. Available languages: ${allLanguageDirs.join(', ')}`
|
|
244
|
+
);
|
|
245
|
+
process.exit(1);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
let totalIssues = 0;
|
|
250
|
+
let totalMissing = 0;
|
|
251
|
+
let totalExtra = 0;
|
|
252
|
+
let totalTranslationIssues = 0;
|
|
253
|
+
let languagesWithIssues = 0;
|
|
254
|
+
|
|
255
|
+
console.log(
|
|
256
|
+
`🔍 Checking ${languageDirs.length} language(s) against English (en-US)...\n`
|
|
257
|
+
);
|
|
258
|
+
|
|
259
|
+
// Check each language
|
|
260
|
+
languageDirs.forEach(langCode => {
|
|
261
|
+
const langDir = path.join(localesDir, langCode);
|
|
262
|
+
let langIssues = 0;
|
|
263
|
+
let langMissing = 0;
|
|
264
|
+
let langExtra = 0;
|
|
265
|
+
let langTranslationIssues = 0;
|
|
266
|
+
|
|
267
|
+
console.log(`\n🌍 Checking ${langCode}...`);
|
|
268
|
+
|
|
269
|
+
files.forEach(file => {
|
|
270
|
+
const enUSPath = path.join(enUSDir, file);
|
|
271
|
+
const langPath = path.join(langDir, file);
|
|
272
|
+
|
|
273
|
+
if (!fs.existsSync(enUSPath)) {
|
|
274
|
+
console.log(` ❌ English file not found: ${file}`);
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
if (!fs.existsSync(langPath)) {
|
|
279
|
+
console.log(` ❌ ${langCode} file not found: ${file}`);
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
try {
|
|
284
|
+
const enUS = JSON.parse(fs.readFileSync(enUSPath, 'utf8'));
|
|
285
|
+
const langData = JSON.parse(fs.readFileSync(langPath, 'utf8'));
|
|
286
|
+
|
|
287
|
+
const comparison = compareTranslations(enUS, langData, file, langCode);
|
|
288
|
+
|
|
289
|
+
if (comparison.issues.length === 0) {
|
|
290
|
+
console.log(` ✅ ${file}: Complete`);
|
|
291
|
+
} else {
|
|
292
|
+
console.log(
|
|
293
|
+
` 📄 ${file}: ${comparison.missingCount} missing, ${comparison.extraCount} extra, ${comparison.issues.filter(i => i.type === 'translation').length} untranslated`
|
|
294
|
+
);
|
|
295
|
+
|
|
296
|
+
// Show detailed issues for debugging
|
|
297
|
+
comparison.issues.forEach(issue => {
|
|
298
|
+
if (issue.type === 'translation') {
|
|
299
|
+
console.log(
|
|
300
|
+
` 🔍 ${issue.key}: "${issue.enValue}" → "${issue.targetValue || '[EMPTY]'}"`
|
|
301
|
+
);
|
|
302
|
+
} else if (issue.type === 'extra') {
|
|
303
|
+
console.log(` ➕ Extra keys: ${issue.keys.join(', ')}`);
|
|
304
|
+
} else if (issue.type === 'missing') {
|
|
305
|
+
console.log(` ➖ Missing keys: ${issue.keys.join(', ')}`);
|
|
306
|
+
}
|
|
307
|
+
langIssues++;
|
|
308
|
+
totalIssues++;
|
|
309
|
+
if (issue.type === 'missing') {
|
|
310
|
+
langMissing += issue.keys.length;
|
|
311
|
+
totalMissing += issue.keys.length;
|
|
312
|
+
} else if (issue.type === 'extra') {
|
|
313
|
+
langExtra += issue.keys.length;
|
|
314
|
+
totalExtra += issue.keys.length;
|
|
315
|
+
} else if (issue.type === 'translation') {
|
|
316
|
+
langTranslationIssues++;
|
|
317
|
+
totalTranslationIssues++;
|
|
318
|
+
}
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
} catch (error) {
|
|
322
|
+
console.log(` ❌ Error processing ${file}: ${error.message}`);
|
|
323
|
+
}
|
|
324
|
+
});
|
|
325
|
+
|
|
326
|
+
// Summary for this language
|
|
327
|
+
if (langIssues === 0) {
|
|
328
|
+
console.log(` 🎉 ${langCode}: All translations complete!`);
|
|
329
|
+
} else {
|
|
330
|
+
languagesWithIssues++;
|
|
331
|
+
console.log(
|
|
332
|
+
` ⚠️ ${langCode}: ${langIssues} issues (${langMissing} missing, ${langExtra} extra, ${langTranslationIssues} translation issues)`
|
|
333
|
+
);
|
|
334
|
+
}
|
|
335
|
+
});
|
|
336
|
+
|
|
337
|
+
console.log('\n📊 Summary:');
|
|
338
|
+
console.log(` Languages checked: ${languageDirs.length}`);
|
|
339
|
+
console.log(` Languages with issues: ${languagesWithIssues}`);
|
|
340
|
+
console.log(` Total issues found: ${totalIssues}`);
|
|
341
|
+
console.log(` Missing keys: ${totalMissing}`);
|
|
342
|
+
console.log(` Extra keys: ${totalExtra}`);
|
|
343
|
+
console.log(` Translation issues: ${totalTranslationIssues}`);
|
|
344
|
+
|
|
345
|
+
if (totalIssues === 0) {
|
|
346
|
+
console.log('\n🎉 All translations are complete and correct!');
|
|
347
|
+
process.exit(0);
|
|
348
|
+
} else {
|
|
349
|
+
console.log(`\n⚠️ ${languagesWithIssues} language(s) need attention.`);
|
|
350
|
+
process.exit(1);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
main();
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Auto-Loader Generator for Localization
|
|
5
|
+
*
|
|
6
|
+
* NOTE: This is a Node.js build script, not React Native code.
|
|
7
|
+
* ESLint is disabled for this file as it uses Node.js APIs (require, __dirname, process, console).
|
|
8
|
+
*
|
|
9
|
+
* Automatically scans locale directories and generates index.ts files
|
|
10
|
+
* that import all .json translation files.
|
|
11
|
+
*
|
|
12
|
+
* Features:
|
|
13
|
+
* - Dynamic JSON file detection (no hardcoded mappings)
|
|
14
|
+
* - Nested namespace structure for better organization
|
|
15
|
+
* - Supports all languages automatically
|
|
16
|
+
* - Clean, maintainable output
|
|
17
|
+
*
|
|
18
|
+
* Usage:
|
|
19
|
+
* npm run localization:create-loaders # Generate all
|
|
20
|
+
* node scripts/createLocaleLoaders.js en-US # Generate single language
|
|
21
|
+
*
|
|
22
|
+
* Factory-First: This script is auto-copied to all generated apps
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
const fs = require('fs');
|
|
26
|
+
const path = require('path');
|
|
27
|
+
|
|
28
|
+
// Get the locales directory (works from scripts/ or root)
|
|
29
|
+
const getLocalesDir = () => {
|
|
30
|
+
const possiblePaths = [
|
|
31
|
+
path.join(__dirname, '../src/infrastructure/locales'), // Package structure
|
|
32
|
+
path.join(__dirname, '../locales'), // App structure from scripts/
|
|
33
|
+
path.join(process.cwd(), 'domains/localization/infrastructure/locales'), // App structure from root
|
|
34
|
+
path.join(process.cwd(), 'src/infrastructure/locales'), // Package from root
|
|
35
|
+
];
|
|
36
|
+
|
|
37
|
+
for (const p of possiblePaths) {
|
|
38
|
+
if (fs.existsSync(p)) {
|
|
39
|
+
return p;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
throw new Error('Could not find locales directory');
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const localesDir = getLocalesDir();
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Get all language directories dynamically
|
|
50
|
+
*/
|
|
51
|
+
function getLanguageDirectories() {
|
|
52
|
+
return fs
|
|
53
|
+
.readdirSync(localesDir)
|
|
54
|
+
.filter(item => {
|
|
55
|
+
const itemPath = path.join(localesDir, item);
|
|
56
|
+
return fs.statSync(itemPath).isDirectory() && item.match(/^[a-z]{2}-[A-Z]{2}$/);
|
|
57
|
+
})
|
|
58
|
+
.sort();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Create auto-loader for a single language
|
|
63
|
+
*/
|
|
64
|
+
function createAutoLoader(languageCode) {
|
|
65
|
+
const languageDir = path.join(localesDir, languageCode);
|
|
66
|
+
|
|
67
|
+
// Check if directory exists
|
|
68
|
+
if (!fs.existsSync(languageDir)) {
|
|
69
|
+
console.warn(`⚠️ Language directory not found: ${languageCode}`);
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Read all JSON files in the directory
|
|
74
|
+
const files = fs
|
|
75
|
+
.readdirSync(languageDir)
|
|
76
|
+
.filter(file => file.endsWith('.json'))
|
|
77
|
+
.sort();
|
|
78
|
+
|
|
79
|
+
if (files.length === 0) {
|
|
80
|
+
console.warn(`⚠️ No JSON files found in: ${languageCode}`);
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Create import statements and namespace mapping
|
|
85
|
+
const imports = [];
|
|
86
|
+
const namespaces = [];
|
|
87
|
+
const descriptions = [];
|
|
88
|
+
|
|
89
|
+
files.forEach(file => {
|
|
90
|
+
const moduleName = file.replace('.json', '');
|
|
91
|
+
imports.push(`import ${moduleName} from './${file}';`);
|
|
92
|
+
namespaces.push(moduleName);
|
|
93
|
+
descriptions.push(` * - ${moduleName}: ${file}`);
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
// Create the auto-loader content with nested structure
|
|
97
|
+
const content = `/**
|
|
98
|
+
* Auto-generated translation loader for ${languageCode}
|
|
99
|
+
*
|
|
100
|
+
* This file is automatically generated by:
|
|
101
|
+
* npm run localization:create-loaders
|
|
102
|
+
*
|
|
103
|
+
* DO NOT EDIT THIS FILE MANUALLY!
|
|
104
|
+
*
|
|
105
|
+
* Translation Modules:
|
|
106
|
+
${descriptions.join('\n')}
|
|
107
|
+
*
|
|
108
|
+
* Generated: ${new Date().toISOString()}
|
|
109
|
+
*/
|
|
110
|
+
|
|
111
|
+
// Import all translation modules
|
|
112
|
+
${imports.join('\n')}
|
|
113
|
+
|
|
114
|
+
// Merge all modules into a single translation object
|
|
115
|
+
// Using nested structure for better namespace organization
|
|
116
|
+
const translations = {
|
|
117
|
+
${namespaces.join(',\n ')},
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
export default translations;
|
|
121
|
+
`;
|
|
122
|
+
|
|
123
|
+
// Write the index.ts file
|
|
124
|
+
const indexPath = path.join(languageDir, 'index.ts');
|
|
125
|
+
fs.writeFileSync(indexPath, content, 'utf8');
|
|
126
|
+
|
|
127
|
+
console.log(`✅ Created auto-loader: ${languageCode}/index.ts (${files.length} modules)`);
|
|
128
|
+
return true;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Create auto-loaders for all languages
|
|
133
|
+
*/
|
|
134
|
+
function createAllAutoLoaders() {
|
|
135
|
+
const languages = getLanguageDirectories();
|
|
136
|
+
|
|
137
|
+
if (languages.length === 0) {
|
|
138
|
+
console.error('❌ No language directories found in:', localesDir);
|
|
139
|
+
process.exit(1);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
console.log(`\n🌍 Creating auto-loaders for ${languages.length} languages...\n`);
|
|
143
|
+
|
|
144
|
+
let successCount = 0;
|
|
145
|
+
languages.forEach(languageCode => {
|
|
146
|
+
if (createAutoLoader(languageCode)) {
|
|
147
|
+
successCount++;
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
console.log(`\n✨ Successfully created ${successCount}/${languages.length} auto-loaders`);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// ============================================================================
|
|
155
|
+
// CLI
|
|
156
|
+
// ============================================================================
|
|
157
|
+
|
|
158
|
+
const args = process.argv.slice(2);
|
|
159
|
+
|
|
160
|
+
if (args[0] === 'all' || args.length === 0) {
|
|
161
|
+
createAllAutoLoaders();
|
|
162
|
+
} else if (args[0]) {
|
|
163
|
+
// Single language
|
|
164
|
+
const languageCode = args[0];
|
|
165
|
+
if (createAutoLoader(languageCode)) {
|
|
166
|
+
console.log(`\n✨ Done!`);
|
|
167
|
+
} else {
|
|
168
|
+
console.error(`\n❌ Failed to create auto-loader for: ${languageCode}`);
|
|
169
|
+
process.exit(1);
|
|
170
|
+
}
|
|
171
|
+
} else {
|
|
172
|
+
console.log('Usage: node createLocaleLoaders.js [language-code|all]');
|
|
173
|
+
console.log('\nExamples:');
|
|
174
|
+
console.log(' node createLocaleLoaders.js # Generate all');
|
|
175
|
+
console.log(' node createLocaleLoaders.js all # Generate all');
|
|
176
|
+
console.log(' node createLocaleLoaders.js en-US # Generate single language');
|
|
177
|
+
console.log(' node createLocaleLoaders.js tr-TR # Generate single language');
|
|
178
|
+
}
|