@tracearr/translations 0.1.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/LICENSE +661 -0
- package/README.md +116 -0
- package/dist/config.d.ts +4510 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +164 -0
- package/dist/config.js.map +1 -0
- package/dist/config.mobile.d.ts +4511 -0
- package/dist/config.mobile.d.ts.map +1 -0
- package/dist/config.mobile.js +587 -0
- package/dist/config.mobile.js.map +1 -0
- package/dist/formatting.d.ts +120 -0
- package/dist/formatting.d.ts.map +1 -0
- package/dist/formatting.js +265 -0
- package/dist/formatting.js.map +1 -0
- package/dist/index.d.ts +46 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/language.d.ts +101 -0
- package/dist/language.d.ts.map +1 -0
- package/dist/language.js +241 -0
- package/dist/language.js.map +1 -0
- package/dist/locales/af/common.json +276 -0
- package/dist/locales/af/mobile.json +60 -0
- package/dist/locales/af/nav.json +22 -0
- package/dist/locales/af/notifications.json +262 -0
- package/dist/locales/af/pages.json +324 -0
- package/dist/locales/af/settings.json +243 -0
- package/dist/locales/af-ZA/common.json +308 -0
- package/dist/locales/af-ZA/mobile.json +178 -0
- package/dist/locales/af-ZA/nav.json +28 -0
- package/dist/locales/af-ZA/notifications.json +279 -0
- package/dist/locales/af-ZA/pages.json +953 -0
- package/dist/locales/af-ZA/settings.json +487 -0
- package/dist/locales/ar/common.json +276 -0
- package/dist/locales/ar/mobile.json +60 -0
- package/dist/locales/ar/nav.json +22 -0
- package/dist/locales/ar/notifications.json +262 -0
- package/dist/locales/ar/pages.json +324 -0
- package/dist/locales/ar/settings.json +243 -0
- package/dist/locales/ar-SA/common.json +308 -0
- package/dist/locales/ar-SA/mobile.json +178 -0
- package/dist/locales/ar-SA/nav.json +28 -0
- package/dist/locales/ar-SA/notifications.json +279 -0
- package/dist/locales/ar-SA/pages.json +953 -0
- package/dist/locales/ar-SA/settings.json +487 -0
- package/dist/locales/ca/common.json +276 -0
- package/dist/locales/ca/mobile.json +60 -0
- package/dist/locales/ca/nav.json +22 -0
- package/dist/locales/ca/notifications.json +262 -0
- package/dist/locales/ca/pages.json +324 -0
- package/dist/locales/ca/settings.json +243 -0
- package/dist/locales/ca-ES/common.json +308 -0
- package/dist/locales/ca-ES/mobile.json +178 -0
- package/dist/locales/ca-ES/nav.json +28 -0
- package/dist/locales/ca-ES/notifications.json +279 -0
- package/dist/locales/ca-ES/pages.json +953 -0
- package/dist/locales/ca-ES/settings.json +487 -0
- package/dist/locales/cs/common.json +276 -0
- package/dist/locales/cs/mobile.json +60 -0
- package/dist/locales/cs/nav.json +22 -0
- package/dist/locales/cs/notifications.json +262 -0
- package/dist/locales/cs/pages.json +324 -0
- package/dist/locales/cs/settings.json +243 -0
- package/dist/locales/cs-CZ/common.json +308 -0
- package/dist/locales/cs-CZ/mobile.json +178 -0
- package/dist/locales/cs-CZ/nav.json +28 -0
- package/dist/locales/cs-CZ/notifications.json +279 -0
- package/dist/locales/cs-CZ/pages.json +953 -0
- package/dist/locales/cs-CZ/settings.json +487 -0
- package/dist/locales/da/common.json +276 -0
- package/dist/locales/da/mobile.json +60 -0
- package/dist/locales/da/nav.json +22 -0
- package/dist/locales/da/notifications.json +262 -0
- package/dist/locales/da/pages.json +324 -0
- package/dist/locales/da/settings.json +243 -0
- package/dist/locales/da-DK/common.json +308 -0
- package/dist/locales/da-DK/mobile.json +178 -0
- package/dist/locales/da-DK/nav.json +28 -0
- package/dist/locales/da-DK/notifications.json +279 -0
- package/dist/locales/da-DK/pages.json +953 -0
- package/dist/locales/da-DK/settings.json +487 -0
- package/dist/locales/de/common.json +276 -0
- package/dist/locales/de/mobile.json +60 -0
- package/dist/locales/de/nav.json +22 -0
- package/dist/locales/de/notifications.json +262 -0
- package/dist/locales/de/pages.json +324 -0
- package/dist/locales/de/settings.json +243 -0
- package/dist/locales/de-DE/common.json +308 -0
- package/dist/locales/de-DE/mobile.json +178 -0
- package/dist/locales/de-DE/nav.json +28 -0
- package/dist/locales/de-DE/notifications.json +279 -0
- package/dist/locales/de-DE/pages.json +953 -0
- package/dist/locales/de-DE/settings.json +487 -0
- package/dist/locales/el/common.json +276 -0
- package/dist/locales/el/mobile.json +60 -0
- package/dist/locales/el/nav.json +22 -0
- package/dist/locales/el/notifications.json +262 -0
- package/dist/locales/el/pages.json +324 -0
- package/dist/locales/el/settings.json +243 -0
- package/dist/locales/el-GR/common.json +308 -0
- package/dist/locales/el-GR/mobile.json +178 -0
- package/dist/locales/el-GR/nav.json +28 -0
- package/dist/locales/el-GR/notifications.json +279 -0
- package/dist/locales/el-GR/pages.json +953 -0
- package/dist/locales/el-GR/settings.json +487 -0
- package/dist/locales/en/common.json +308 -0
- package/dist/locales/en/mobile.json +178 -0
- package/dist/locales/en/nav.json +28 -0
- package/dist/locales/en/notifications.json +279 -0
- package/dist/locales/en/pages.json +953 -0
- package/dist/locales/en/settings.json +487 -0
- package/dist/locales/en-US/common.json +308 -0
- package/dist/locales/en-US/mobile.json +178 -0
- package/dist/locales/en-US/nav.json +28 -0
- package/dist/locales/en-US/notifications.json +279 -0
- package/dist/locales/en-US/pages.json +953 -0
- package/dist/locales/en-US/settings.json +487 -0
- package/dist/locales/es/common.json +276 -0
- package/dist/locales/es/mobile.json +60 -0
- package/dist/locales/es/nav.json +22 -0
- package/dist/locales/es/notifications.json +262 -0
- package/dist/locales/es/pages.json +324 -0
- package/dist/locales/es/settings.json +243 -0
- package/dist/locales/es-ES/common.json +308 -0
- package/dist/locales/es-ES/mobile.json +178 -0
- package/dist/locales/es-ES/nav.json +28 -0
- package/dist/locales/es-ES/notifications.json +279 -0
- package/dist/locales/es-ES/pages.json +953 -0
- package/dist/locales/es-ES/settings.json +487 -0
- package/dist/locales/fi/common.json +276 -0
- package/dist/locales/fi/mobile.json +60 -0
- package/dist/locales/fi/nav.json +22 -0
- package/dist/locales/fi/notifications.json +262 -0
- package/dist/locales/fi/pages.json +324 -0
- package/dist/locales/fi/settings.json +243 -0
- package/dist/locales/fi-FI/common.json +308 -0
- package/dist/locales/fi-FI/mobile.json +178 -0
- package/dist/locales/fi-FI/nav.json +28 -0
- package/dist/locales/fi-FI/notifications.json +279 -0
- package/dist/locales/fi-FI/pages.json +953 -0
- package/dist/locales/fi-FI/settings.json +487 -0
- package/dist/locales/fr/common.json +276 -0
- package/dist/locales/fr/mobile.json +60 -0
- package/dist/locales/fr/nav.json +22 -0
- package/dist/locales/fr/notifications.json +262 -0
- package/dist/locales/fr/pages.json +324 -0
- package/dist/locales/fr/settings.json +243 -0
- package/dist/locales/fr-FR/common.json +308 -0
- package/dist/locales/fr-FR/mobile.json +178 -0
- package/dist/locales/fr-FR/nav.json +28 -0
- package/dist/locales/fr-FR/notifications.json +279 -0
- package/dist/locales/fr-FR/pages.json +953 -0
- package/dist/locales/fr-FR/settings.json +487 -0
- package/dist/locales/he/common.json +276 -0
- package/dist/locales/he/mobile.json +60 -0
- package/dist/locales/he/nav.json +22 -0
- package/dist/locales/he/notifications.json +262 -0
- package/dist/locales/he/pages.json +324 -0
- package/dist/locales/he/settings.json +243 -0
- package/dist/locales/he-IL/common.json +308 -0
- package/dist/locales/he-IL/mobile.json +178 -0
- package/dist/locales/he-IL/nav.json +28 -0
- package/dist/locales/he-IL/notifications.json +279 -0
- package/dist/locales/he-IL/pages.json +953 -0
- package/dist/locales/he-IL/settings.json +487 -0
- package/dist/locales/hu/common.json +276 -0
- package/dist/locales/hu/mobile.json +60 -0
- package/dist/locales/hu/nav.json +22 -0
- package/dist/locales/hu/notifications.json +262 -0
- package/dist/locales/hu/pages.json +324 -0
- package/dist/locales/hu/settings.json +243 -0
- package/dist/locales/hu-HU/common.json +308 -0
- package/dist/locales/hu-HU/mobile.json +178 -0
- package/dist/locales/hu-HU/nav.json +28 -0
- package/dist/locales/hu-HU/notifications.json +279 -0
- package/dist/locales/hu-HU/pages.json +953 -0
- package/dist/locales/hu-HU/settings.json +487 -0
- package/dist/locales/it/common.json +276 -0
- package/dist/locales/it/mobile.json +60 -0
- package/dist/locales/it/nav.json +22 -0
- package/dist/locales/it/notifications.json +262 -0
- package/dist/locales/it/pages.json +324 -0
- package/dist/locales/it/settings.json +243 -0
- package/dist/locales/it-IT/common.json +308 -0
- package/dist/locales/it-IT/mobile.json +178 -0
- package/dist/locales/it-IT/nav.json +28 -0
- package/dist/locales/it-IT/notifications.json +279 -0
- package/dist/locales/it-IT/pages.json +953 -0
- package/dist/locales/it-IT/settings.json +487 -0
- package/dist/locales/ja/common.json +276 -0
- package/dist/locales/ja/mobile.json +60 -0
- package/dist/locales/ja/nav.json +22 -0
- package/dist/locales/ja/notifications.json +262 -0
- package/dist/locales/ja/pages.json +324 -0
- package/dist/locales/ja/settings.json +243 -0
- package/dist/locales/ja-JP/common.json +308 -0
- package/dist/locales/ja-JP/mobile.json +178 -0
- package/dist/locales/ja-JP/nav.json +28 -0
- package/dist/locales/ja-JP/notifications.json +279 -0
- package/dist/locales/ja-JP/pages.json +953 -0
- package/dist/locales/ja-JP/settings.json +487 -0
- package/dist/locales/ko/common.json +276 -0
- package/dist/locales/ko/mobile.json +60 -0
- package/dist/locales/ko/nav.json +22 -0
- package/dist/locales/ko/notifications.json +262 -0
- package/dist/locales/ko/pages.json +324 -0
- package/dist/locales/ko/settings.json +243 -0
- package/dist/locales/ko-KR/common.json +308 -0
- package/dist/locales/ko-KR/mobile.json +178 -0
- package/dist/locales/ko-KR/nav.json +28 -0
- package/dist/locales/ko-KR/notifications.json +279 -0
- package/dist/locales/ko-KR/pages.json +953 -0
- package/dist/locales/ko-KR/settings.json +487 -0
- package/dist/locales/nl/common.json +276 -0
- package/dist/locales/nl/mobile.json +60 -0
- package/dist/locales/nl/nav.json +22 -0
- package/dist/locales/nl/notifications.json +262 -0
- package/dist/locales/nl/pages.json +324 -0
- package/dist/locales/nl/settings.json +243 -0
- package/dist/locales/nl-NL/common.json +308 -0
- package/dist/locales/nl-NL/mobile.json +178 -0
- package/dist/locales/nl-NL/nav.json +28 -0
- package/dist/locales/nl-NL/notifications.json +279 -0
- package/dist/locales/nl-NL/pages.json +953 -0
- package/dist/locales/nl-NL/settings.json +487 -0
- package/dist/locales/no/common.json +276 -0
- package/dist/locales/no/mobile.json +60 -0
- package/dist/locales/no/nav.json +22 -0
- package/dist/locales/no/notifications.json +262 -0
- package/dist/locales/no/pages.json +324 -0
- package/dist/locales/no/settings.json +243 -0
- package/dist/locales/no-NO/common.json +308 -0
- package/dist/locales/no-NO/mobile.json +178 -0
- package/dist/locales/no-NO/nav.json +28 -0
- package/dist/locales/no-NO/notifications.json +279 -0
- package/dist/locales/no-NO/pages.json +953 -0
- package/dist/locales/no-NO/settings.json +487 -0
- package/dist/locales/pl/common.json +276 -0
- package/dist/locales/pl/mobile.json +60 -0
- package/dist/locales/pl/nav.json +22 -0
- package/dist/locales/pl/notifications.json +262 -0
- package/dist/locales/pl/pages.json +324 -0
- package/dist/locales/pl/settings.json +243 -0
- package/dist/locales/pl-PL/common.json +308 -0
- package/dist/locales/pl-PL/mobile.json +178 -0
- package/dist/locales/pl-PL/nav.json +28 -0
- package/dist/locales/pl-PL/notifications.json +279 -0
- package/dist/locales/pl-PL/pages.json +953 -0
- package/dist/locales/pl-PL/settings.json +487 -0
- package/dist/locales/pt/common.json +276 -0
- package/dist/locales/pt/mobile.json +60 -0
- package/dist/locales/pt/nav.json +22 -0
- package/dist/locales/pt/notifications.json +262 -0
- package/dist/locales/pt/pages.json +324 -0
- package/dist/locales/pt/settings.json +243 -0
- package/dist/locales/pt-BR/common.json +308 -0
- package/dist/locales/pt-BR/mobile.json +178 -0
- package/dist/locales/pt-BR/nav.json +28 -0
- package/dist/locales/pt-BR/notifications.json +279 -0
- package/dist/locales/pt-BR/pages.json +953 -0
- package/dist/locales/pt-BR/settings.json +487 -0
- package/dist/locales/pt-PT/common.json +308 -0
- package/dist/locales/pt-PT/mobile.json +178 -0
- package/dist/locales/pt-PT/nav.json +28 -0
- package/dist/locales/pt-PT/notifications.json +279 -0
- package/dist/locales/pt-PT/pages.json +953 -0
- package/dist/locales/pt-PT/settings.json +487 -0
- package/dist/locales/ro/common.json +276 -0
- package/dist/locales/ro/mobile.json +60 -0
- package/dist/locales/ro/nav.json +22 -0
- package/dist/locales/ro/notifications.json +262 -0
- package/dist/locales/ro/pages.json +324 -0
- package/dist/locales/ro/settings.json +243 -0
- package/dist/locales/ro-RO/common.json +308 -0
- package/dist/locales/ro-RO/mobile.json +178 -0
- package/dist/locales/ro-RO/nav.json +28 -0
- package/dist/locales/ro-RO/notifications.json +279 -0
- package/dist/locales/ro-RO/pages.json +953 -0
- package/dist/locales/ro-RO/settings.json +487 -0
- package/dist/locales/ru/common.json +276 -0
- package/dist/locales/ru/mobile.json +60 -0
- package/dist/locales/ru/nav.json +22 -0
- package/dist/locales/ru/notifications.json +262 -0
- package/dist/locales/ru/pages.json +324 -0
- package/dist/locales/ru/settings.json +243 -0
- package/dist/locales/ru-RU/common.json +308 -0
- package/dist/locales/ru-RU/mobile.json +178 -0
- package/dist/locales/ru-RU/nav.json +28 -0
- package/dist/locales/ru-RU/notifications.json +279 -0
- package/dist/locales/ru-RU/pages.json +953 -0
- package/dist/locales/ru-RU/settings.json +487 -0
- package/dist/locales/sr/common.json +276 -0
- package/dist/locales/sr/mobile.json +60 -0
- package/dist/locales/sr/nav.json +22 -0
- package/dist/locales/sr/notifications.json +262 -0
- package/dist/locales/sr/pages.json +324 -0
- package/dist/locales/sr/settings.json +243 -0
- package/dist/locales/sr-SP/common.json +308 -0
- package/dist/locales/sr-SP/mobile.json +178 -0
- package/dist/locales/sr-SP/nav.json +28 -0
- package/dist/locales/sr-SP/notifications.json +279 -0
- package/dist/locales/sr-SP/pages.json +953 -0
- package/dist/locales/sr-SP/settings.json +487 -0
- package/dist/locales/sv/common.json +276 -0
- package/dist/locales/sv/mobile.json +60 -0
- package/dist/locales/sv/nav.json +22 -0
- package/dist/locales/sv/notifications.json +262 -0
- package/dist/locales/sv/pages.json +324 -0
- package/dist/locales/sv/settings.json +243 -0
- package/dist/locales/sv-SE/common.json +308 -0
- package/dist/locales/sv-SE/mobile.json +178 -0
- package/dist/locales/sv-SE/nav.json +28 -0
- package/dist/locales/sv-SE/notifications.json +279 -0
- package/dist/locales/sv-SE/pages.json +953 -0
- package/dist/locales/sv-SE/settings.json +487 -0
- package/dist/locales/tr/common.json +276 -0
- package/dist/locales/tr/mobile.json +60 -0
- package/dist/locales/tr/nav.json +22 -0
- package/dist/locales/tr/notifications.json +262 -0
- package/dist/locales/tr/pages.json +324 -0
- package/dist/locales/tr/settings.json +243 -0
- package/dist/locales/tr-TR/common.json +308 -0
- package/dist/locales/tr-TR/mobile.json +178 -0
- package/dist/locales/tr-TR/nav.json +28 -0
- package/dist/locales/tr-TR/notifications.json +279 -0
- package/dist/locales/tr-TR/pages.json +953 -0
- package/dist/locales/tr-TR/settings.json +487 -0
- package/dist/locales/uk/common.json +276 -0
- package/dist/locales/uk/mobile.json +60 -0
- package/dist/locales/uk/nav.json +22 -0
- package/dist/locales/uk/notifications.json +262 -0
- package/dist/locales/uk/pages.json +324 -0
- package/dist/locales/uk/settings.json +243 -0
- package/dist/locales/uk-UA/common.json +308 -0
- package/dist/locales/uk-UA/mobile.json +178 -0
- package/dist/locales/uk-UA/nav.json +28 -0
- package/dist/locales/uk-UA/notifications.json +279 -0
- package/dist/locales/uk-UA/pages.json +953 -0
- package/dist/locales/uk-UA/settings.json +487 -0
- package/dist/locales/vi/common.json +276 -0
- package/dist/locales/vi/mobile.json +60 -0
- package/dist/locales/vi/nav.json +22 -0
- package/dist/locales/vi/notifications.json +262 -0
- package/dist/locales/vi/pages.json +324 -0
- package/dist/locales/vi/settings.json +243 -0
- package/dist/locales/vi-VN/common.json +308 -0
- package/dist/locales/vi-VN/mobile.json +178 -0
- package/dist/locales/vi-VN/nav.json +28 -0
- package/dist/locales/vi-VN/notifications.json +279 -0
- package/dist/locales/vi-VN/pages.json +953 -0
- package/dist/locales/vi-VN/settings.json +487 -0
- package/dist/locales/zh/common.json +276 -0
- package/dist/locales/zh/mobile.json +60 -0
- package/dist/locales/zh/nav.json +22 -0
- package/dist/locales/zh/notifications.json +262 -0
- package/dist/locales/zh/pages.json +324 -0
- package/dist/locales/zh/settings.json +243 -0
- package/dist/locales/zh-CN/common.json +308 -0
- package/dist/locales/zh-CN/mobile.json +178 -0
- package/dist/locales/zh-CN/nav.json +28 -0
- package/dist/locales/zh-CN/notifications.json +279 -0
- package/dist/locales/zh-CN/pages.json +953 -0
- package/dist/locales/zh-CN/settings.json +487 -0
- package/dist/locales/zh-TW/common.json +308 -0
- package/dist/locales/zh-TW/mobile.json +178 -0
- package/dist/locales/zh-TW/nav.json +28 -0
- package/dist/locales/zh-TW/notifications.json +279 -0
- package/dist/locales/zh-TW/pages.json +953 -0
- package/dist/locales/zh-TW/settings.json +487 -0
- package/dist/mobile.d.ts +11 -0
- package/dist/mobile.d.ts.map +1 -0
- package/dist/mobile.js +14 -0
- package/dist/mobile.js.map +1 -0
- package/dist/types.d.ts +54 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/package.json +57 -0
- package/src/config.mobile.ts +647 -0
- package/src/config.ts +209 -0
- package/src/formatting.ts +297 -0
- package/src/index.ts +105 -0
- package/src/language.ts +270 -0
- package/src/locales/af-ZA/common.json +308 -0
- package/src/locales/af-ZA/mobile.json +178 -0
- package/src/locales/af-ZA/nav.json +28 -0
- package/src/locales/af-ZA/notifications.json +279 -0
- package/src/locales/af-ZA/pages.json +953 -0
- package/src/locales/af-ZA/settings.json +487 -0
- package/src/locales/ar-SA/common.json +308 -0
- package/src/locales/ar-SA/mobile.json +178 -0
- package/src/locales/ar-SA/nav.json +28 -0
- package/src/locales/ar-SA/notifications.json +279 -0
- package/src/locales/ar-SA/pages.json +953 -0
- package/src/locales/ar-SA/settings.json +487 -0
- package/src/locales/ca-ES/common.json +308 -0
- package/src/locales/ca-ES/mobile.json +178 -0
- package/src/locales/ca-ES/nav.json +28 -0
- package/src/locales/ca-ES/notifications.json +279 -0
- package/src/locales/ca-ES/pages.json +953 -0
- package/src/locales/ca-ES/settings.json +487 -0
- package/src/locales/cs-CZ/common.json +308 -0
- package/src/locales/cs-CZ/mobile.json +178 -0
- package/src/locales/cs-CZ/nav.json +28 -0
- package/src/locales/cs-CZ/notifications.json +279 -0
- package/src/locales/cs-CZ/pages.json +953 -0
- package/src/locales/cs-CZ/settings.json +487 -0
- package/src/locales/da-DK/common.json +308 -0
- package/src/locales/da-DK/mobile.json +178 -0
- package/src/locales/da-DK/nav.json +28 -0
- package/src/locales/da-DK/notifications.json +279 -0
- package/src/locales/da-DK/pages.json +953 -0
- package/src/locales/da-DK/settings.json +487 -0
- package/src/locales/de-DE/common.json +308 -0
- package/src/locales/de-DE/mobile.json +178 -0
- package/src/locales/de-DE/nav.json +28 -0
- package/src/locales/de-DE/notifications.json +279 -0
- package/src/locales/de-DE/pages.json +953 -0
- package/src/locales/de-DE/settings.json +487 -0
- package/src/locales/el-GR/common.json +308 -0
- package/src/locales/el-GR/mobile.json +178 -0
- package/src/locales/el-GR/nav.json +28 -0
- package/src/locales/el-GR/notifications.json +279 -0
- package/src/locales/el-GR/pages.json +953 -0
- package/src/locales/el-GR/settings.json +487 -0
- package/src/locales/en/common.json +308 -0
- package/src/locales/en/mobile.json +178 -0
- package/src/locales/en/nav.json +28 -0
- package/src/locales/en/notifications.json +279 -0
- package/src/locales/en/pages.json +953 -0
- package/src/locales/en/settings.json +487 -0
- package/src/locales/en-US/common.json +308 -0
- package/src/locales/en-US/mobile.json +178 -0
- package/src/locales/en-US/nav.json +28 -0
- package/src/locales/en-US/notifications.json +279 -0
- package/src/locales/en-US/pages.json +953 -0
- package/src/locales/en-US/settings.json +487 -0
- package/src/locales/es-ES/common.json +308 -0
- package/src/locales/es-ES/mobile.json +178 -0
- package/src/locales/es-ES/nav.json +28 -0
- package/src/locales/es-ES/notifications.json +279 -0
- package/src/locales/es-ES/pages.json +953 -0
- package/src/locales/es-ES/settings.json +487 -0
- package/src/locales/fi-FI/common.json +308 -0
- package/src/locales/fi-FI/mobile.json +178 -0
- package/src/locales/fi-FI/nav.json +28 -0
- package/src/locales/fi-FI/notifications.json +279 -0
- package/src/locales/fi-FI/pages.json +953 -0
- package/src/locales/fi-FI/settings.json +487 -0
- package/src/locales/fr-FR/common.json +308 -0
- package/src/locales/fr-FR/mobile.json +178 -0
- package/src/locales/fr-FR/nav.json +28 -0
- package/src/locales/fr-FR/notifications.json +279 -0
- package/src/locales/fr-FR/pages.json +953 -0
- package/src/locales/fr-FR/settings.json +487 -0
- package/src/locales/he-IL/common.json +308 -0
- package/src/locales/he-IL/mobile.json +178 -0
- package/src/locales/he-IL/nav.json +28 -0
- package/src/locales/he-IL/notifications.json +279 -0
- package/src/locales/he-IL/pages.json +953 -0
- package/src/locales/he-IL/settings.json +487 -0
- package/src/locales/hu-HU/common.json +308 -0
- package/src/locales/hu-HU/mobile.json +178 -0
- package/src/locales/hu-HU/nav.json +28 -0
- package/src/locales/hu-HU/notifications.json +279 -0
- package/src/locales/hu-HU/pages.json +953 -0
- package/src/locales/hu-HU/settings.json +487 -0
- package/src/locales/it-IT/common.json +308 -0
- package/src/locales/it-IT/mobile.json +178 -0
- package/src/locales/it-IT/nav.json +28 -0
- package/src/locales/it-IT/notifications.json +279 -0
- package/src/locales/it-IT/pages.json +953 -0
- package/src/locales/it-IT/settings.json +487 -0
- package/src/locales/ja-JP/common.json +308 -0
- package/src/locales/ja-JP/mobile.json +178 -0
- package/src/locales/ja-JP/nav.json +28 -0
- package/src/locales/ja-JP/notifications.json +279 -0
- package/src/locales/ja-JP/pages.json +953 -0
- package/src/locales/ja-JP/settings.json +487 -0
- package/src/locales/ko-KR/common.json +308 -0
- package/src/locales/ko-KR/mobile.json +178 -0
- package/src/locales/ko-KR/nav.json +28 -0
- package/src/locales/ko-KR/notifications.json +279 -0
- package/src/locales/ko-KR/pages.json +953 -0
- package/src/locales/ko-KR/settings.json +487 -0
- package/src/locales/nl-NL/common.json +308 -0
- package/src/locales/nl-NL/mobile.json +178 -0
- package/src/locales/nl-NL/nav.json +28 -0
- package/src/locales/nl-NL/notifications.json +279 -0
- package/src/locales/nl-NL/pages.json +953 -0
- package/src/locales/nl-NL/settings.json +487 -0
- package/src/locales/no-NO/common.json +308 -0
- package/src/locales/no-NO/mobile.json +178 -0
- package/src/locales/no-NO/nav.json +28 -0
- package/src/locales/no-NO/notifications.json +279 -0
- package/src/locales/no-NO/pages.json +953 -0
- package/src/locales/no-NO/settings.json +487 -0
- package/src/locales/pl-PL/common.json +308 -0
- package/src/locales/pl-PL/mobile.json +178 -0
- package/src/locales/pl-PL/nav.json +28 -0
- package/src/locales/pl-PL/notifications.json +279 -0
- package/src/locales/pl-PL/pages.json +953 -0
- package/src/locales/pl-PL/settings.json +487 -0
- package/src/locales/pt-BR/common.json +308 -0
- package/src/locales/pt-BR/mobile.json +178 -0
- package/src/locales/pt-BR/nav.json +28 -0
- package/src/locales/pt-BR/notifications.json +279 -0
- package/src/locales/pt-BR/pages.json +953 -0
- package/src/locales/pt-BR/settings.json +487 -0
- package/src/locales/pt-PT/common.json +308 -0
- package/src/locales/pt-PT/mobile.json +178 -0
- package/src/locales/pt-PT/nav.json +28 -0
- package/src/locales/pt-PT/notifications.json +279 -0
- package/src/locales/pt-PT/pages.json +953 -0
- package/src/locales/pt-PT/settings.json +487 -0
- package/src/locales/ro-RO/common.json +308 -0
- package/src/locales/ro-RO/mobile.json +178 -0
- package/src/locales/ro-RO/nav.json +28 -0
- package/src/locales/ro-RO/notifications.json +279 -0
- package/src/locales/ro-RO/pages.json +953 -0
- package/src/locales/ro-RO/settings.json +487 -0
- package/src/locales/ru-RU/common.json +308 -0
- package/src/locales/ru-RU/mobile.json +178 -0
- package/src/locales/ru-RU/nav.json +28 -0
- package/src/locales/ru-RU/notifications.json +279 -0
- package/src/locales/ru-RU/pages.json +953 -0
- package/src/locales/ru-RU/settings.json +487 -0
- package/src/locales/sr-SP/common.json +308 -0
- package/src/locales/sr-SP/mobile.json +178 -0
- package/src/locales/sr-SP/nav.json +28 -0
- package/src/locales/sr-SP/notifications.json +279 -0
- package/src/locales/sr-SP/pages.json +953 -0
- package/src/locales/sr-SP/settings.json +487 -0
- package/src/locales/sv-SE/common.json +308 -0
- package/src/locales/sv-SE/mobile.json +178 -0
- package/src/locales/sv-SE/nav.json +28 -0
- package/src/locales/sv-SE/notifications.json +279 -0
- package/src/locales/sv-SE/pages.json +953 -0
- package/src/locales/sv-SE/settings.json +487 -0
- package/src/locales/tr-TR/common.json +308 -0
- package/src/locales/tr-TR/mobile.json +178 -0
- package/src/locales/tr-TR/nav.json +28 -0
- package/src/locales/tr-TR/notifications.json +279 -0
- package/src/locales/tr-TR/pages.json +953 -0
- package/src/locales/tr-TR/settings.json +487 -0
- package/src/locales/uk-UA/common.json +308 -0
- package/src/locales/uk-UA/mobile.json +178 -0
- package/src/locales/uk-UA/nav.json +28 -0
- package/src/locales/uk-UA/notifications.json +279 -0
- package/src/locales/uk-UA/pages.json +953 -0
- package/src/locales/uk-UA/settings.json +487 -0
- package/src/locales/vi-VN/common.json +308 -0
- package/src/locales/vi-VN/mobile.json +178 -0
- package/src/locales/vi-VN/nav.json +28 -0
- package/src/locales/vi-VN/notifications.json +279 -0
- package/src/locales/vi-VN/pages.json +953 -0
- package/src/locales/vi-VN/settings.json +487 -0
- package/src/locales/zh-CN/common.json +308 -0
- package/src/locales/zh-CN/mobile.json +178 -0
- package/src/locales/zh-CN/nav.json +28 -0
- package/src/locales/zh-CN/notifications.json +279 -0
- package/src/locales/zh-CN/pages.json +953 -0
- package/src/locales/zh-CN/settings.json +487 -0
- package/src/locales/zh-TW/common.json +308 -0
- package/src/locales/zh-TW/mobile.json +178 -0
- package/src/locales/zh-TW/nav.json +28 -0
- package/src/locales/zh-TW/notifications.json +279 -0
- package/src/locales/zh-TW/pages.json +953 -0
- package/src/locales/zh-TW/settings.json +487 -0
- package/src/mobile.ts +69 -0
- package/src/types.ts +86 -0
package/dist/language.js
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language detection and management utilities.
|
|
3
|
+
*
|
|
4
|
+
* Works in both web (browser) and mobile (React Native/Expo) environments.
|
|
5
|
+
* Language codes use full locale format (e.g., 'fr-FR', 'zh-CN') except for
|
|
6
|
+
* English which uses 'en' as the base/fallback language.
|
|
7
|
+
*/
|
|
8
|
+
import i18n from 'i18next';
|
|
9
|
+
// Locale loader — set by config.ts (web) or config.mobile.ts (mobile) at import time
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
11
|
+
let _loadLocaleFn = async () => { };
|
|
12
|
+
/** @internal */
|
|
13
|
+
export function _registerLocaleLoader(fn) {
|
|
14
|
+
_loadLocaleFn = fn;
|
|
15
|
+
}
|
|
16
|
+
// Storage key for persisted language preference
|
|
17
|
+
const LANGUAGE_STORAGE_KEY = 'tracearr_language';
|
|
18
|
+
/**
|
|
19
|
+
* Supported languages with display names.
|
|
20
|
+
* Add new languages here when adding translations.
|
|
21
|
+
*/
|
|
22
|
+
export const languageNames = {
|
|
23
|
+
en: 'English',
|
|
24
|
+
'af-ZA': 'Afrikaans',
|
|
25
|
+
'ar-SA': 'العربية',
|
|
26
|
+
'ca-ES': 'Català',
|
|
27
|
+
'cs-CZ': 'Čeština',
|
|
28
|
+
'da-DK': 'Dansk',
|
|
29
|
+
'de-DE': 'Deutsch',
|
|
30
|
+
'el-GR': 'Ελληνικά',
|
|
31
|
+
'es-ES': 'Español',
|
|
32
|
+
'fi-FI': 'Suomi',
|
|
33
|
+
'fr-FR': 'Français',
|
|
34
|
+
'he-IL': 'עברית',
|
|
35
|
+
'hu-HU': 'Magyar',
|
|
36
|
+
'it-IT': 'Italiano',
|
|
37
|
+
'ja-JP': '日本語',
|
|
38
|
+
'ko-KR': '한국어',
|
|
39
|
+
'nl-NL': 'Nederlands',
|
|
40
|
+
'no-NO': 'Norsk',
|
|
41
|
+
'pl-PL': 'Polski',
|
|
42
|
+
'pt-BR': 'Português (Brasil)',
|
|
43
|
+
'pt-PT': 'Português (Portugal)',
|
|
44
|
+
'ro-RO': 'Română',
|
|
45
|
+
'ru-RU': 'Русский',
|
|
46
|
+
'sr-SP': 'Српски',
|
|
47
|
+
'sv-SE': 'Svenska',
|
|
48
|
+
'tr-TR': 'Türkçe',
|
|
49
|
+
'uk-UA': 'Українська',
|
|
50
|
+
'vi-VN': 'Tiếng Việt',
|
|
51
|
+
'zh-CN': '中文 (简体)',
|
|
52
|
+
'zh-TW': '中文 (繁體)',
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Get the list of supported language codes.
|
|
56
|
+
*/
|
|
57
|
+
export function getSupportedLanguages() {
|
|
58
|
+
return Object.keys(languageNames);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Check if a language code is supported (exact match).
|
|
62
|
+
*/
|
|
63
|
+
export function isLanguageSupported(lang) {
|
|
64
|
+
if (!lang || typeof lang !== 'string')
|
|
65
|
+
return false;
|
|
66
|
+
return lang in languageNames;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Resolve a language code to the best matching supported locale.
|
|
70
|
+
*
|
|
71
|
+
* Handles exact matches, legacy two-letter codes (e.g., 'fr' → 'fr-FR'),
|
|
72
|
+
* and browser locale strings (e.g., 'zh-Hant-TW' → 'zh-TW').
|
|
73
|
+
*
|
|
74
|
+
* Returns null if no match is found.
|
|
75
|
+
*/
|
|
76
|
+
export function resolveLocale(lang) {
|
|
77
|
+
if (!lang || typeof lang !== 'string')
|
|
78
|
+
return null;
|
|
79
|
+
// Normalize: lowercase language, uppercase region
|
|
80
|
+
const normalized = normalizeLocaleCode(lang);
|
|
81
|
+
// Exact match (e.g., 'zh-CN', 'en')
|
|
82
|
+
if (normalized in languageNames)
|
|
83
|
+
return normalized;
|
|
84
|
+
// Try base language match (e.g., 'fr' → 'fr-FR', 'zh' → 'zh-CN')
|
|
85
|
+
const baseLang = normalized.split('-')[0];
|
|
86
|
+
if (!baseLang)
|
|
87
|
+
return null;
|
|
88
|
+
// 'en' is a direct match
|
|
89
|
+
if (baseLang === 'en')
|
|
90
|
+
return 'en';
|
|
91
|
+
// Find first supported locale starting with the base language
|
|
92
|
+
const match = Object.keys(languageNames).find((code) => code.startsWith(baseLang + '-'));
|
|
93
|
+
return match ?? null;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Normalize a locale code: lowercase language, uppercase region.
|
|
97
|
+
* e.g., 'ZH-cn' → 'zh-CN', 'FR' → 'fr', 'pt-br' → 'pt-BR'
|
|
98
|
+
*/
|
|
99
|
+
function normalizeLocaleCode(code) {
|
|
100
|
+
const trimmed = code.trim();
|
|
101
|
+
const [lang, region] = trimmed.split('-');
|
|
102
|
+
if (!region)
|
|
103
|
+
return trimmed.toLowerCase();
|
|
104
|
+
return `${lang?.toLowerCase()}-${region.toUpperCase()}`;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Detect the user's preferred language.
|
|
108
|
+
*
|
|
109
|
+
* Priority order:
|
|
110
|
+
* 1. Stored preference (localStorage/AsyncStorage)
|
|
111
|
+
* 2. Browser/device language (checks all preferred languages)
|
|
112
|
+
* 3. Fallback to 'en'
|
|
113
|
+
*
|
|
114
|
+
* @param storage - Optional storage adapter for React Native (AsyncStorage)
|
|
115
|
+
*/
|
|
116
|
+
export async function detectLanguage(storage) {
|
|
117
|
+
// 1. Check stored preference
|
|
118
|
+
try {
|
|
119
|
+
const stored = await getStoredLanguage(storage);
|
|
120
|
+
if (stored) {
|
|
121
|
+
const resolved = resolveLocale(stored);
|
|
122
|
+
if (resolved)
|
|
123
|
+
return resolved;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
console.warn('[i18n] Failed to get stored language:', error);
|
|
128
|
+
}
|
|
129
|
+
// 2. Check browser/device language
|
|
130
|
+
const detected = detectSystemLanguage();
|
|
131
|
+
if (detected)
|
|
132
|
+
return detected;
|
|
133
|
+
// 3. Fallback
|
|
134
|
+
return 'en';
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Detect the system/browser language.
|
|
138
|
+
* Checks all preferred languages in order (navigator.languages).
|
|
139
|
+
* Works in both web and React Native environments.
|
|
140
|
+
*/
|
|
141
|
+
export function detectSystemLanguage() {
|
|
142
|
+
if (typeof navigator === 'undefined')
|
|
143
|
+
return null;
|
|
144
|
+
// Check all preferred languages in order
|
|
145
|
+
const languages = navigator.languages || (navigator.language ? [navigator.language] : []);
|
|
146
|
+
for (const lang of languages) {
|
|
147
|
+
if (!lang)
|
|
148
|
+
continue;
|
|
149
|
+
const resolved = resolveLocale(lang);
|
|
150
|
+
if (resolved)
|
|
151
|
+
return resolved;
|
|
152
|
+
}
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Get the stored language preference.
|
|
157
|
+
* Safely handles localStorage exceptions (private browsing, SSR, etc.).
|
|
158
|
+
*/
|
|
159
|
+
async function getStoredLanguage(storage) {
|
|
160
|
+
// React Native with AsyncStorage
|
|
161
|
+
if (storage) {
|
|
162
|
+
try {
|
|
163
|
+
return await storage.getItem(LANGUAGE_STORAGE_KEY);
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
console.warn('[i18n] AsyncStorage read failed:', error);
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
// Browser with localStorage
|
|
171
|
+
if (typeof localStorage !== 'undefined') {
|
|
172
|
+
try {
|
|
173
|
+
return localStorage.getItem(LANGUAGE_STORAGE_KEY);
|
|
174
|
+
}
|
|
175
|
+
catch (error) {
|
|
176
|
+
// Fails in private browsing, SSR, or when storage is disabled
|
|
177
|
+
console.warn('[i18n] localStorage read failed:', error);
|
|
178
|
+
return null;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return null;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Store the language preference.
|
|
185
|
+
* Safely handles localStorage exceptions.
|
|
186
|
+
*/
|
|
187
|
+
async function setStoredLanguage(lang, storage) {
|
|
188
|
+
// React Native with AsyncStorage
|
|
189
|
+
if (storage) {
|
|
190
|
+
try {
|
|
191
|
+
await storage.setItem(LANGUAGE_STORAGE_KEY, lang);
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
console.warn('[i18n] AsyncStorage write failed:', error);
|
|
195
|
+
}
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
// Browser with localStorage
|
|
199
|
+
if (typeof localStorage !== 'undefined') {
|
|
200
|
+
try {
|
|
201
|
+
localStorage.setItem(LANGUAGE_STORAGE_KEY, lang);
|
|
202
|
+
}
|
|
203
|
+
catch (error) {
|
|
204
|
+
// Fails in private browsing, SSR, or when quota exceeded
|
|
205
|
+
console.warn('[i18n] localStorage write failed:', error);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Change the current language and persist the preference.
|
|
211
|
+
*
|
|
212
|
+
* @param lang - Locale code (e.g., 'en', 'fr-FR', 'zh-CN')
|
|
213
|
+
* @param storage - Optional storage adapter for React Native
|
|
214
|
+
* @throws Error if language code is invalid or unsupported
|
|
215
|
+
*/
|
|
216
|
+
export async function changeLanguage(lang, storage) {
|
|
217
|
+
// Validate input
|
|
218
|
+
if (!lang || typeof lang !== 'string') {
|
|
219
|
+
throw new Error(`Invalid language code: ${String(lang)}`);
|
|
220
|
+
}
|
|
221
|
+
const resolved = resolveLocale(lang);
|
|
222
|
+
if (!resolved) {
|
|
223
|
+
throw new Error(`Language '${lang}' is not supported. Available: ${getSupportedLanguages().join(', ')}`);
|
|
224
|
+
}
|
|
225
|
+
await _loadLocaleFn(resolved);
|
|
226
|
+
await i18n.changeLanguage(resolved);
|
|
227
|
+
await setStoredLanguage(resolved, storage);
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Get the current language.
|
|
231
|
+
*/
|
|
232
|
+
export function getCurrentLanguage() {
|
|
233
|
+
return i18n.language || 'en';
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Get the display name for a language code.
|
|
237
|
+
*/
|
|
238
|
+
export function getLanguageDisplayName(lang) {
|
|
239
|
+
return languageNames[lang] || lang;
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=language.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language.js","sourceRoot":"","sources":["../src/language.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
{
|
|
2
|
+
"actions": {
|
|
3
|
+
"save": "Save",
|
|
4
|
+
"cancel": "Cancel",
|
|
5
|
+
"delete": "Delete",
|
|
6
|
+
"edit": "Edit",
|
|
7
|
+
"add": "Add",
|
|
8
|
+
"create": "Create",
|
|
9
|
+
"update": "Update",
|
|
10
|
+
"remove": "Remove",
|
|
11
|
+
"connect": "Connect",
|
|
12
|
+
"disconnect": "Disconnect",
|
|
13
|
+
"submit": "Submit",
|
|
14
|
+
"confirm": "Confirm",
|
|
15
|
+
"close": "Close",
|
|
16
|
+
"retry": "Retry",
|
|
17
|
+
"refresh": "Refresh",
|
|
18
|
+
"sync": "Sync",
|
|
19
|
+
"test": "Test",
|
|
20
|
+
"copy": "Copy",
|
|
21
|
+
"signIn": "Sign In",
|
|
22
|
+
"signOut": "Sign Out",
|
|
23
|
+
"signUp": "Sign Up",
|
|
24
|
+
"continue": "Continue",
|
|
25
|
+
"back": "Back",
|
|
26
|
+
"next": "Next",
|
|
27
|
+
"acknowledge": "Acknowledge",
|
|
28
|
+
"dismiss": "Dismiss",
|
|
29
|
+
"terminate": "Terminate",
|
|
30
|
+
"search": "Search",
|
|
31
|
+
"filter": "Filter",
|
|
32
|
+
"sort": "Sort",
|
|
33
|
+
"clear": "Clear",
|
|
34
|
+
"apply": "Apply",
|
|
35
|
+
"reset": "Reset",
|
|
36
|
+
"select": "Select",
|
|
37
|
+
"selectAll": "Select All",
|
|
38
|
+
"deselectAll": "Deselect All",
|
|
39
|
+
"export": "Export",
|
|
40
|
+
"import": "Import",
|
|
41
|
+
"download": "Download",
|
|
42
|
+
"upload": "Upload",
|
|
43
|
+
"view": "View",
|
|
44
|
+
"viewAll": "View All",
|
|
45
|
+
"showMore": "Show More",
|
|
46
|
+
"showLess": "Show Less",
|
|
47
|
+
"expand": "Expand",
|
|
48
|
+
"collapse": "Collapse",
|
|
49
|
+
"goHome": "Go Home",
|
|
50
|
+
"tryAgain": "Try Again",
|
|
51
|
+
"grantPermission": "Grant Permission",
|
|
52
|
+
"openSettings": "Open Settings",
|
|
53
|
+
"viewProfile": "View Profile",
|
|
54
|
+
"viewOnGithub": "View on GitHub",
|
|
55
|
+
"later": "Later"
|
|
56
|
+
},
|
|
57
|
+
"states": {
|
|
58
|
+
"loading": "Loading...",
|
|
59
|
+
"error": "Error",
|
|
60
|
+
"success": "Success",
|
|
61
|
+
"failed": "Failed",
|
|
62
|
+
"pending": "Pending",
|
|
63
|
+
"acknowledged": "Acknowledged",
|
|
64
|
+
"active": "Active",
|
|
65
|
+
"inactive": "Inactive",
|
|
66
|
+
"enabled": "Enabled",
|
|
67
|
+
"disabled": "Disabled",
|
|
68
|
+
"online": "Online",
|
|
69
|
+
"offline": "Offline",
|
|
70
|
+
"connecting": "Connecting...",
|
|
71
|
+
"connected": "Connected",
|
|
72
|
+
"disconnected": "Disconnected",
|
|
73
|
+
"saving": "Saving...",
|
|
74
|
+
"deleting": "Deleting...",
|
|
75
|
+
"dismissing": "Dismissing...",
|
|
76
|
+
"acknowledging": "Acknowledging..."
|
|
77
|
+
},
|
|
78
|
+
"playback": {
|
|
79
|
+
"playing": "Playing",
|
|
80
|
+
"paused": "Paused",
|
|
81
|
+
"stopped": "Stopped",
|
|
82
|
+
"directPlay": "Direct Play",
|
|
83
|
+
"directStream": "Direct Stream",
|
|
84
|
+
"transcode": "Transcode"
|
|
85
|
+
},
|
|
86
|
+
"severity": {
|
|
87
|
+
"low": "Low",
|
|
88
|
+
"warning": "Warning",
|
|
89
|
+
"high": "High"
|
|
90
|
+
},
|
|
91
|
+
"time": {
|
|
92
|
+
"now": "Now",
|
|
93
|
+
"today": "Today",
|
|
94
|
+
"yesterday": "Yesterday",
|
|
95
|
+
"thisWeek": "This Week",
|
|
96
|
+
"thisMonth": "This Month",
|
|
97
|
+
"allTime": "All Time"
|
|
98
|
+
},
|
|
99
|
+
"periods": {
|
|
100
|
+
"last7Days": "Last 7 Days",
|
|
101
|
+
"last30Days": "Last 30 Days",
|
|
102
|
+
"lastYear": "Last Year",
|
|
103
|
+
"byDay": "By Day",
|
|
104
|
+
"byHour": "By Hour"
|
|
105
|
+
},
|
|
106
|
+
"units": {
|
|
107
|
+
"km": "km",
|
|
108
|
+
"mi": "mi",
|
|
109
|
+
"kmh": "km/h",
|
|
110
|
+
"mph": "mph"
|
|
111
|
+
},
|
|
112
|
+
"labels": {
|
|
113
|
+
"date": "Date",
|
|
114
|
+
"user": "User",
|
|
115
|
+
"content": "Content",
|
|
116
|
+
"platform": "Platform",
|
|
117
|
+
"location": "Location",
|
|
118
|
+
"ipAddress": "IP Address",
|
|
119
|
+
"quality": "Quality",
|
|
120
|
+
"duration": "Duration",
|
|
121
|
+
"progress": "Progress",
|
|
122
|
+
"status": "Status",
|
|
123
|
+
"rule": "Rule",
|
|
124
|
+
"media": "Media",
|
|
125
|
+
"started": "Started",
|
|
126
|
+
"stopped": "Stopped",
|
|
127
|
+
"joined": "Joined",
|
|
128
|
+
"server": "Server",
|
|
129
|
+
"device": "Device",
|
|
130
|
+
"player": "Player",
|
|
131
|
+
"unknown": "Unknown",
|
|
132
|
+
"never": "Never",
|
|
133
|
+
"when": "When",
|
|
134
|
+
"severity": "Severity",
|
|
135
|
+
"type": "Type",
|
|
136
|
+
"reason": "Reason",
|
|
137
|
+
"actions": "Actions",
|
|
138
|
+
"filters": "Filters",
|
|
139
|
+
"trustScore": "Trust Score",
|
|
140
|
+
"lastActivity": "Last Activity",
|
|
141
|
+
"serverOwner": "Server Owner",
|
|
142
|
+
"active": "Active",
|
|
143
|
+
"disabled": "Disabled",
|
|
144
|
+
"bandwidth": "Bandwidth",
|
|
145
|
+
"resolution": "Resolution",
|
|
146
|
+
"watchTime": "Watch Time",
|
|
147
|
+
"pausedTime": "Paused Time",
|
|
148
|
+
"sessionDetails": "Session Details",
|
|
149
|
+
"recentSessions": "Recent Sessions",
|
|
150
|
+
"activeStreams": "Active Streams",
|
|
151
|
+
"days": "days"
|
|
152
|
+
},
|
|
153
|
+
"search": {
|
|
154
|
+
"placeholder": "Search...",
|
|
155
|
+
"searchUsers": "Search users...",
|
|
156
|
+
"searchTitles": "Search titles, users..."
|
|
157
|
+
},
|
|
158
|
+
"table": {
|
|
159
|
+
"selectAllOnPage": "Select all on page",
|
|
160
|
+
"selectRow": "Select row",
|
|
161
|
+
"selectAllTotal": "Select all {{total}} items"
|
|
162
|
+
},
|
|
163
|
+
"media": {
|
|
164
|
+
"movie": "Movie",
|
|
165
|
+
"episode": "Episode",
|
|
166
|
+
"track": "Track",
|
|
167
|
+
"liveTV": "Live TV",
|
|
168
|
+
"photo": "Photo"
|
|
169
|
+
},
|
|
170
|
+
"servers": {
|
|
171
|
+
"plex": "Plex",
|
|
172
|
+
"jellyfin": "Jellyfin",
|
|
173
|
+
"emby": "Emby"
|
|
174
|
+
},
|
|
175
|
+
"validation": {
|
|
176
|
+
"required": "This field is required",
|
|
177
|
+
"invalidEmail": "Please enter a valid email address",
|
|
178
|
+
"invalidUrl": "Please enter a valid URL",
|
|
179
|
+
"minLength": "Must be at least {{min}} characters",
|
|
180
|
+
"maxLength": "Must be at most {{max}} characters"
|
|
181
|
+
},
|
|
182
|
+
"errors": {
|
|
183
|
+
"generic": "An error occurred",
|
|
184
|
+
"networkError": "Network connection failed",
|
|
185
|
+
"unauthorized": "You are not authorized to perform this action",
|
|
186
|
+
"notFound": "Not found",
|
|
187
|
+
"serverError": "Server error",
|
|
188
|
+
"timeout": "Request timed out",
|
|
189
|
+
"forbidden": "Access denied",
|
|
190
|
+
"badRequest": "Invalid request",
|
|
191
|
+
"conflict": "A conflict occurred",
|
|
192
|
+
"rateLimited": "Too many requests. Please try again later",
|
|
193
|
+
"pageNotFound": "Page Not Found",
|
|
194
|
+
"pageNotFoundDesc": "The page you're looking for doesn't exist or has been moved.",
|
|
195
|
+
"somethingWentWrong": "Something went wrong",
|
|
196
|
+
"unexpectedError": "An unexpected error occurred. Please try again.",
|
|
197
|
+
"failedToLoad": "Failed to load {{item}}",
|
|
198
|
+
"connectionFailed": "Connection failed",
|
|
199
|
+
"connectionTimedOut": "Connection timed out. Check your server URL.",
|
|
200
|
+
"cannotReachServer": "Cannot reach server. Check URL and network connection."
|
|
201
|
+
},
|
|
202
|
+
"count": {
|
|
203
|
+
"user_one": "{{count}} user",
|
|
204
|
+
"user_other": "{{count}} users",
|
|
205
|
+
"session_one": "{{count}} session",
|
|
206
|
+
"session_other": "{{count}} sessions",
|
|
207
|
+
"stream_one": "{{count}} stream",
|
|
208
|
+
"stream_other": "{{count}} streams",
|
|
209
|
+
"server_one": "{{count}} server",
|
|
210
|
+
"server_other": "{{count}} servers",
|
|
211
|
+
"rule_one": "{{count}} rule",
|
|
212
|
+
"rule_other": "{{count}} rules",
|
|
213
|
+
"violation_one": "{{count}} violation",
|
|
214
|
+
"violation_other": "{{count}} violations",
|
|
215
|
+
"item_one": "{{count}} item",
|
|
216
|
+
"item_other": "{{count}} items",
|
|
217
|
+
"result_one": "{{count}} result",
|
|
218
|
+
"result_other": "{{count}} results",
|
|
219
|
+
"selected_one": "{{count}} selected",
|
|
220
|
+
"selected_other": "{{count}} selected",
|
|
221
|
+
"usersAdded_one": "{{count}} user added",
|
|
222
|
+
"usersAdded_other": "{{count}} users added",
|
|
223
|
+
"usersUpdated_one": "{{count}} user updated",
|
|
224
|
+
"usersUpdated_other": "{{count}} users updated",
|
|
225
|
+
"library_one": "{{count}} library",
|
|
226
|
+
"library_other": "{{count}} libraries",
|
|
227
|
+
"error_one": "{{count}} error",
|
|
228
|
+
"error_other": "{{count}} errors"
|
|
229
|
+
},
|
|
230
|
+
"messages": {
|
|
231
|
+
"noChangesDetected": "No changes detected"
|
|
232
|
+
},
|
|
233
|
+
"relativeTime": {
|
|
234
|
+
"justNow": "Just now",
|
|
235
|
+
"second_one": "{{count}} second ago",
|
|
236
|
+
"second_other": "{{count}} seconds ago",
|
|
237
|
+
"minute_one": "{{count}} minute ago",
|
|
238
|
+
"minute_other": "{{count}} minutes ago",
|
|
239
|
+
"hour_one": "{{count}} hour ago",
|
|
240
|
+
"hour_other": "{{count}} hours ago",
|
|
241
|
+
"day_one": "{{count}} day ago",
|
|
242
|
+
"day_other": "{{count}} days ago",
|
|
243
|
+
"week_one": "{{count}} week ago",
|
|
244
|
+
"week_other": "{{count}} weeks ago",
|
|
245
|
+
"month_one": "{{count}} month ago",
|
|
246
|
+
"month_other": "{{count}} months ago",
|
|
247
|
+
"year_one": "{{count}} year ago",
|
|
248
|
+
"year_other": "{{count}} years ago"
|
|
249
|
+
},
|
|
250
|
+
"duration": {
|
|
251
|
+
"second_one": "{{count}} second",
|
|
252
|
+
"second_other": "{{count}} seconds",
|
|
253
|
+
"minute_one": "{{count}} minute",
|
|
254
|
+
"minute_other": "{{count}} minutes",
|
|
255
|
+
"hour_one": "{{count}} hour",
|
|
256
|
+
"hour_other": "{{count}} hours",
|
|
257
|
+
"day_one": "{{count}} day",
|
|
258
|
+
"day_other": "{{count}} days"
|
|
259
|
+
},
|
|
260
|
+
"empty": {
|
|
261
|
+
"noResults": "No results found",
|
|
262
|
+
"noData": "No data available",
|
|
263
|
+
"noItems": "No items",
|
|
264
|
+
"noDeviceData": "No device data available",
|
|
265
|
+
"noLocationData": "No location data available",
|
|
266
|
+
"noJobHistory": "No job history yet",
|
|
267
|
+
"noSessionsFound": "No sessions found"
|
|
268
|
+
},
|
|
269
|
+
"confirmations": {
|
|
270
|
+
"deleteTitle": "Confirm Delete",
|
|
271
|
+
"deleteMessage": "Are you sure you want to delete this? This action cannot be undone.",
|
|
272
|
+
"unsavedChanges": "You have unsaved changes. Are you sure you want to leave?"
|
|
273
|
+
},
|
|
274
|
+
"beta": "beta",
|
|
275
|
+
"or": "or"
|
|
276
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"pair": {
|
|
3
|
+
"welcome": "Welcome to Tracearr",
|
|
4
|
+
"addServer": "Add Server",
|
|
5
|
+
"connectToServer": "Connect to Server",
|
|
6
|
+
"enterServerDetails": "Enter your Tracearr server URL and mobile access token",
|
|
7
|
+
"serverUrl": "Server URL",
|
|
8
|
+
"accessToken": "Access Token",
|
|
9
|
+
"scanQrCodeInstead": "Scan QR Code Instead",
|
|
10
|
+
"enterManually": "Enter URL and Token Manually",
|
|
11
|
+
"cameraPermissionRequired": "Camera permission is required to scan QR codes",
|
|
12
|
+
"scanQrInstructions": "Open Settings → Mobile App in your Tracearr dashboard and scan the QR code"
|
|
13
|
+
},
|
|
14
|
+
"errors": {
|
|
15
|
+
"missingFields": "Missing Fields",
|
|
16
|
+
"pleaseEnterBothFields": "Please enter both server URL and token",
|
|
17
|
+
"invalidUrl": "Invalid URL",
|
|
18
|
+
"serverUrlMustStartWith": "Server URL must start with http:// or https://",
|
|
19
|
+
"pleaseEnterValidUrl": "Please enter a valid server URL",
|
|
20
|
+
"pairingFailed": "Pairing Failed",
|
|
21
|
+
"invalidQrCode": "Invalid QR code",
|
|
22
|
+
"invalidQrCodeMissingData": "Invalid QR code: missing pairing data",
|
|
23
|
+
"invalidQrCodeFormat": "Invalid QR code format. Please generate a new code.",
|
|
24
|
+
"invalidQrCodeMissingUrl": "Invalid QR code: missing server URL",
|
|
25
|
+
"invalidQrCodeMissingToken": "Invalid QR code: missing pairing token",
|
|
26
|
+
"invalidServerUrlInQr": "Invalid server URL in QR code",
|
|
27
|
+
"tooManyPairingAttempts": "Too many pairing attempts. Please wait a few minutes.",
|
|
28
|
+
"invalidOrExpiredToken": "Invalid or expired pairing token.",
|
|
29
|
+
"invalidPairingRequest": "Invalid pairing request. Check your token."
|
|
30
|
+
},
|
|
31
|
+
"settings": {
|
|
32
|
+
"preferences": "Preferences",
|
|
33
|
+
"community": "Community",
|
|
34
|
+
"discord": "Discord",
|
|
35
|
+
"joinCommunity": "Join the community",
|
|
36
|
+
"github": "GitHub",
|
|
37
|
+
"viewSourceCode": "View source code",
|
|
38
|
+
"account": "Account",
|
|
39
|
+
"disconnectServer": "Disconnect Server",
|
|
40
|
+
"disconnectConfirm": "Are you sure you want to disconnect from \"{{serverName}}\"? You will need to pair again to use the app.",
|
|
41
|
+
"disconnectConfirmGeneric": "Are you sure you want to disconnect? You will need to pair again to use the app.",
|
|
42
|
+
"currentlyConnected": "Currently connected to {{serverName}}"
|
|
43
|
+
},
|
|
44
|
+
"navigation": {
|
|
45
|
+
"selectServer": "Select Server",
|
|
46
|
+
"server": "Server",
|
|
47
|
+
"navigation": "Navigation"
|
|
48
|
+
},
|
|
49
|
+
"resources": {
|
|
50
|
+
"cpu": "CPU",
|
|
51
|
+
"ram": "RAM"
|
|
52
|
+
},
|
|
53
|
+
"notifications": {
|
|
54
|
+
"testSent": "Test Sent",
|
|
55
|
+
"testFailed": "Test Failed",
|
|
56
|
+
"failedToSendTest": "Failed to send test notification",
|
|
57
|
+
"loadingPreferences": "Loading preferences...",
|
|
58
|
+
"unableToLoadPreferences": "Unable to Load Preferences"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"dashboard": "Dashboard",
|
|
3
|
+
"map": "Map",
|
|
4
|
+
"history": "History",
|
|
5
|
+
"stats": "Stats",
|
|
6
|
+
"activity": "Activity",
|
|
7
|
+
"library": "Library",
|
|
8
|
+
"users": "Users",
|
|
9
|
+
"rules": "Rules",
|
|
10
|
+
"violations": "Violations",
|
|
11
|
+
"alerts": "Alerts",
|
|
12
|
+
"settings": "Settings",
|
|
13
|
+
"overview": "Overview",
|
|
14
|
+
"quality": "Quality",
|
|
15
|
+
"storage": "Storage",
|
|
16
|
+
"watch": "Watch",
|
|
17
|
+
"performance": "Performance",
|
|
18
|
+
"devices": "Devices",
|
|
19
|
+
"bandwidth": "Bandwidth",
|
|
20
|
+
"jobs": "Jobs",
|
|
21
|
+
"accessControl": "Access Control"
|
|
22
|
+
}
|