@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
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
{
|
|
2
|
+
"login": {
|
|
3
|
+
"title": "Tracearr",
|
|
4
|
+
"tagline": "Tracearr - Stream access management",
|
|
5
|
+
"createAccountHeading": "Create your account to get started",
|
|
6
|
+
"signInHeading": "Sign in to your account",
|
|
7
|
+
"createAccountDescription": "Create an account to manage your media servers",
|
|
8
|
+
"signInDescription": "Sign in to access your dashboard",
|
|
9
|
+
"selectPlexServer": "Select your Plex server",
|
|
10
|
+
"waitingForPlex": "Waiting for Plex authorization...",
|
|
11
|
+
"completeInPopup": "Complete sign-in in the popup window",
|
|
12
|
+
"reopenPlexLogin": "Reopen Plex Login",
|
|
13
|
+
"emailPlaceholder": "your@email.com",
|
|
14
|
+
"displayNamePlaceholder": "Choose a display name",
|
|
15
|
+
"passwordPlaceholder": "At least 8 characters",
|
|
16
|
+
"yourPasswordPlaceholder": "Your password",
|
|
17
|
+
"jellyfinUsernamePlaceholder": "Your Jellyfin username",
|
|
18
|
+
"jellyfinPasswordPlaceholder": "Your Jellyfin password",
|
|
19
|
+
"jellyfinAdminNote": "Must be an administrator on a configured Jellyfin server",
|
|
20
|
+
"setupNote": "After creating your account, you'll add your Plex or Jellyfin servers from Settings.",
|
|
21
|
+
"accountCreated": "Account created successfully!",
|
|
22
|
+
"connectedTo": "Connected to {{name}}",
|
|
23
|
+
"plexAuthFailed": "Plex authentication failed",
|
|
24
|
+
"plexStartFailed": "Failed to start Plex login",
|
|
25
|
+
"serverConnectFailed": "Failed to connect to server",
|
|
26
|
+
"signupFailed": "Signup failed",
|
|
27
|
+
"createAccountFailed": "Failed to create account",
|
|
28
|
+
"loginFailed": "Login failed",
|
|
29
|
+
"invalidCredentials": "Invalid email or password",
|
|
30
|
+
"jellyfinInvalidCredentials": "Invalid username or password, or user is not an administrator",
|
|
31
|
+
"claimCodeRequired": "First-time setup requires a claim code",
|
|
32
|
+
"enterClaimCode": "Enter Claim Code",
|
|
33
|
+
"claimCodeDescription": "Check your server logs for the claim code to proceed with setup",
|
|
34
|
+
"claimCodeLabel": "Claim Code",
|
|
35
|
+
"claimCodeHint": "The claim code is printed in the server logs when the container starts",
|
|
36
|
+
"validateClaimCode": "Validate Claim Code",
|
|
37
|
+
"claimCodeSecurityNote": "This security measure ensures only authorized users can complete first-time setup"
|
|
38
|
+
},
|
|
39
|
+
"dashboard": {
|
|
40
|
+
"alerts": "Alerts",
|
|
41
|
+
"plays": "Plays",
|
|
42
|
+
"watchTime": "Watch Time",
|
|
43
|
+
"activeUsers": "Active Users",
|
|
44
|
+
"nowPlaying": "Now Playing",
|
|
45
|
+
"streamLocations": "Stream Locations",
|
|
46
|
+
"serverResources": "Server Resources",
|
|
47
|
+
"bandwidth": "Bandwidth",
|
|
48
|
+
"noActiveStreams": "No active streams",
|
|
49
|
+
"streamsAppearHere": "Active streams will appear here when users start watching"
|
|
50
|
+
},
|
|
51
|
+
"users": {
|
|
52
|
+
"title": "Users",
|
|
53
|
+
"allUsers": "All Users",
|
|
54
|
+
"noUsersFound": "No users found.",
|
|
55
|
+
"searchPlaceholder": "Search users...",
|
|
56
|
+
"selectAllUsers": "Select all {{count}} users",
|
|
57
|
+
"resetTrustScore": "Reset Trust Score",
|
|
58
|
+
"resetTrustScoreTitle_one": "Reset Trust Score for {{count}} User",
|
|
59
|
+
"resetTrustScoreTitle_other": "Reset Trust Score for {{count}} Users",
|
|
60
|
+
"resetTrustScoreConfirm": "Are you sure you want to reset the trust score to 100? This action cannot be undone."
|
|
61
|
+
},
|
|
62
|
+
"userDetail": {
|
|
63
|
+
"backToUsers": "Back to Users",
|
|
64
|
+
"userNotFound": "User not found",
|
|
65
|
+
"userInfo": "User Info",
|
|
66
|
+
"statistics": "Statistics",
|
|
67
|
+
"sessions": "Sessions",
|
|
68
|
+
"violations": "Violations",
|
|
69
|
+
"locations": "Locations",
|
|
70
|
+
"terminationHistory": "Termination History",
|
|
71
|
+
"noSessionsFound": "No sessions found for this user.",
|
|
72
|
+
"noViolationsFound": "No violations for this user.",
|
|
73
|
+
"noTerminationsFound": "No stream terminations for this user.",
|
|
74
|
+
"byRule": "By / Rule",
|
|
75
|
+
"manual": "Manual",
|
|
76
|
+
"unknownRule": "Unknown rule"
|
|
77
|
+
},
|
|
78
|
+
"history": {
|
|
79
|
+
"title": "History",
|
|
80
|
+
"description": "Browse all streaming sessions with powerful filtering",
|
|
81
|
+
"loadingMore": "Loading more...",
|
|
82
|
+
"scrollForMore": "Scroll for more",
|
|
83
|
+
"showingAllResults": "Showing all {{total}} results",
|
|
84
|
+
"deleteSession_one": "Delete {{count}} Session",
|
|
85
|
+
"deleteSession_other": "Delete {{count}} Sessions",
|
|
86
|
+
"deleteSessionsConfirm": "Are you sure you want to delete? This action cannot be undone."
|
|
87
|
+
},
|
|
88
|
+
"library": {
|
|
89
|
+
"title": "Library",
|
|
90
|
+
"description": "Top movies and shows on your server",
|
|
91
|
+
"topMovies": "Top Movies",
|
|
92
|
+
"topShows": "Top TV Shows",
|
|
93
|
+
"noMoviePlays": "No movie plays in this period",
|
|
94
|
+
"noShowPlays": "No TV show plays in this period"
|
|
95
|
+
},
|
|
96
|
+
"activity": {
|
|
97
|
+
"title": "Activity",
|
|
98
|
+
"description": "Play trends, patterns, and streaming behavior",
|
|
99
|
+
"playsOverTime": "Plays Over Time",
|
|
100
|
+
"concurrentStreams": "Concurrent Streams",
|
|
101
|
+
"engagementBreakdown": "Engagement Breakdown",
|
|
102
|
+
"howUsersEngage": "How users engage with content",
|
|
103
|
+
"playsVsSessions": "Plays vs Sessions",
|
|
104
|
+
"playsVsSessionsDesc": "Full completions only — counts a play when total watch time covers a content's entire runtime",
|
|
105
|
+
"activityByDayOfWeek": "Activity by Day of Week",
|
|
106
|
+
"activityByHourOfDay": "Activity by Hour of Day",
|
|
107
|
+
"platforms": "Platforms",
|
|
108
|
+
"streamQuality": "Stream Quality"
|
|
109
|
+
},
|
|
110
|
+
"violations": {
|
|
111
|
+
"title": "Violations",
|
|
112
|
+
"violationLog": "Violation Log",
|
|
113
|
+
"noMatches": "No Matches",
|
|
114
|
+
"tryAdjustingFilters": "Try adjusting your filters",
|
|
115
|
+
"allClear": "All Clear",
|
|
116
|
+
"noViolationsDetected": "No rule violations detected",
|
|
117
|
+
"selectAllViolations": "Select all {{count}} violations matching filters",
|
|
118
|
+
"dismissViolation": "Dismiss Violation",
|
|
119
|
+
"dismissViolationConfirm": "Are you sure you want to dismiss this violation? This will remove it from the violation log permanently.",
|
|
120
|
+
"dismissViolation_one": "Dismiss {{count}} Violation",
|
|
121
|
+
"dismissViolation_other": "Dismiss {{count}} Violations",
|
|
122
|
+
"dismissViolationsConfirm": "Are you sure you want to dismiss? This will remove them from the violation log permanently and restore associated trust scores.",
|
|
123
|
+
"noViolationsFound": "No violations found",
|
|
124
|
+
"noViolationsRecorded": "No violations have been recorded yet.",
|
|
125
|
+
"allSeverities": "All Severities",
|
|
126
|
+
"allStatuses": "All Statuses",
|
|
127
|
+
"detail": {
|
|
128
|
+
"notFound": "Violation not found",
|
|
129
|
+
"violationDetails": "Violation Details",
|
|
130
|
+
"userInfo": "User",
|
|
131
|
+
"sessions": "Sessions",
|
|
132
|
+
"noSessions": "No sessions associated with this violation",
|
|
133
|
+
"trigger": "Trigger",
|
|
134
|
+
"map": "Session Locations",
|
|
135
|
+
"actions": "Actions Taken",
|
|
136
|
+
"timestamps": "Timestamps",
|
|
137
|
+
"created": "Created",
|
|
138
|
+
"acknowledged": "Acknowledged",
|
|
139
|
+
"detected": "Detected",
|
|
140
|
+
"inactivity": "Inactivity Details",
|
|
141
|
+
"daysInactive": "Days Inactive",
|
|
142
|
+
"threshold": "Threshold",
|
|
143
|
+
"lastActivity": "Last Activity",
|
|
144
|
+
"neverActive": "Never active"
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
"rules": {
|
|
148
|
+
"title": "Rules",
|
|
149
|
+
"description": "Configure detection rules for account sharing and policy violations",
|
|
150
|
+
"addRule": "Add Rule",
|
|
151
|
+
"createRule": "Create Rule",
|
|
152
|
+
"editRule": "Edit Rule",
|
|
153
|
+
"updateDescription": "Update the rule configuration below.",
|
|
154
|
+
"createDescription": "Configure a new detection rule for your media servers.",
|
|
155
|
+
"ruleName": "Rule Name",
|
|
156
|
+
"ruleNamePlaceholder": "e.g., Concurrent Stream Limit",
|
|
157
|
+
"ruleType": "Rule Type",
|
|
158
|
+
"updateRule": "Update Rule",
|
|
159
|
+
"deleteRule": "Delete Rule",
|
|
160
|
+
"deleteRuleConfirm": "Are you sure you want to delete this rule? This action cannot be undone.",
|
|
161
|
+
"deleteRule_one": "Delete {{count}} Rule",
|
|
162
|
+
"deleteRule_other": "Delete {{count}} Rules",
|
|
163
|
+
"deleteRulesConfirm": "Are you sure you want to delete? This action cannot be undone.",
|
|
164
|
+
"enable": "Enable",
|
|
165
|
+
"disable": "Disable",
|
|
166
|
+
"noRulesConfigured": "No rules configured",
|
|
167
|
+
"createFirstRule": "Create your first detection rule to start monitoring for account sharing.",
|
|
168
|
+
"impossibleTravel": "Impossible Travel",
|
|
169
|
+
"impossibleTravelDesc": "Detect when a user streams from locations too far apart in a short time",
|
|
170
|
+
"simultaneousLocations": "Simultaneous Locations",
|
|
171
|
+
"simultaneousLocationsDesc": "Detect when a user streams from multiple distant locations at once",
|
|
172
|
+
"deviceVelocity": "Device Velocity",
|
|
173
|
+
"deviceVelocityDesc": "Detect when a user connects from too many IPs in a time window",
|
|
174
|
+
"concurrentStreams": "Concurrent Streams",
|
|
175
|
+
"concurrentStreamsDesc": "Limit the number of simultaneous streams per user",
|
|
176
|
+
"geoRestriction": "Geo Restriction",
|
|
177
|
+
"geoRestrictionDesc": "Block streaming from specific countries",
|
|
178
|
+
"accountInactivity": "Account Inactivity",
|
|
179
|
+
"accountInactivityDesc": "Get notified when users have not watched anything for a specified period",
|
|
180
|
+
"maxSpeed": "Max Speed ({{unit}})",
|
|
181
|
+
"maxSpeedDefault": "Maximum realistic travel speed. Default: {{value}} {{unit}} (airplane speed)",
|
|
182
|
+
"minDistance": "Min Distance ({{unit}})",
|
|
183
|
+
"minDistanceDefault": "Minimum distance between locations to trigger. Default: {{value}} {{unit}}",
|
|
184
|
+
"maxIps": "Max IPs",
|
|
185
|
+
"timeWindow": "Time Window (hours)",
|
|
186
|
+
"maxIpsDefault": "Maximum unique IPs allowed within the time window. Default: 5 IPs in 24 hours",
|
|
187
|
+
"groupByDevice": "Group by Device",
|
|
188
|
+
"groupByDeviceDesc": "Count by device instead of IP. Prevents false positives from VPN, DHCP, or Virtual Channels.",
|
|
189
|
+
"maxStreams": "Max Streams",
|
|
190
|
+
"maxStreamsDefault": "Maximum simultaneous streams per user. Default: 3",
|
|
191
|
+
"mode": "Mode",
|
|
192
|
+
"blocklist": "Blocklist (block these countries)",
|
|
193
|
+
"allowlist": "Allowlist (only allow these countries)",
|
|
194
|
+
"blockedCountries": "Blocked Countries",
|
|
195
|
+
"allowedCountries": "Allowed Countries",
|
|
196
|
+
"selectCountriesToBlock": "Select countries to block...",
|
|
197
|
+
"selectAllowedCountries": "Select allowed countries...",
|
|
198
|
+
"allowlistNote": "Streams from any other country will trigger a violation.",
|
|
199
|
+
"inactivityPeriod": "Inactivity Period",
|
|
200
|
+
"unit": "Unit",
|
|
201
|
+
"days": "Days",
|
|
202
|
+
"weeks": "Weeks",
|
|
203
|
+
"months": "Months",
|
|
204
|
+
"inactivityNote": "Creates an alert when a user has not watched anything for this period. Checks run hourly.",
|
|
205
|
+
"excludeLocalNetwork": "Exclude Local Network",
|
|
206
|
+
"excludeLocalNetworkDesc": "Ignore sessions from local/private IPs (e.g., 192.168.x.x, 10.x.x.x)",
|
|
207
|
+
"blocked": "Blocked",
|
|
208
|
+
"allowed": "Allowed",
|
|
209
|
+
"none": "None",
|
|
210
|
+
"inactiveFor": "Inactive for {{value}} {{unit}}"
|
|
211
|
+
},
|
|
212
|
+
"terminateStream": {
|
|
213
|
+
"title": "Terminate Stream",
|
|
214
|
+
"stopMedia": "Stop \"{{mediaTitle}}\" for @{{username}}?",
|
|
215
|
+
"messageLabel": "Message to user (optional)",
|
|
216
|
+
"messagePlaceholder": "e.g., Please don't share your account",
|
|
217
|
+
"messageHint": "This message will be shown to them during playback",
|
|
218
|
+
"terminating": "Terminating...",
|
|
219
|
+
"killStream": "Kill Stream"
|
|
220
|
+
},
|
|
221
|
+
"notFound": {
|
|
222
|
+
"title": "404",
|
|
223
|
+
"heading": "Page Not Found",
|
|
224
|
+
"description": "The page you're looking for doesn't exist or has been moved."
|
|
225
|
+
},
|
|
226
|
+
"settings": {
|
|
227
|
+
"plex": {
|
|
228
|
+
"noServersFound": "No Plex servers found",
|
|
229
|
+
"noServersFoundHint": "Make sure you own at least one Plex server",
|
|
230
|
+
"noReachableConnections": "No reachable connections",
|
|
231
|
+
"local": "Local",
|
|
232
|
+
"remote": "Remote",
|
|
233
|
+
"secure": "Secure",
|
|
234
|
+
"mayNotConnect": "May not connect",
|
|
235
|
+
"recommended": "Recommended",
|
|
236
|
+
"customUrl": "Custom URL",
|
|
237
|
+
"connectionsReachable": "{{reachable}} of {{total}} connections reachable",
|
|
238
|
+
"connectionsAvailable": "{{count}} connections available",
|
|
239
|
+
"hideFiltered": "Hide filtered",
|
|
240
|
+
"showAll": "Show all",
|
|
241
|
+
"moreConnections": "+{{count}} more connections",
|
|
242
|
+
"connectingTo": "Connecting to {{name}}...",
|
|
243
|
+
"noAccountsLinked": "No Plex Accounts Linked",
|
|
244
|
+
"noAccountsLinkedHint": "Link a Plex account to add Plex servers to Tracearr.",
|
|
245
|
+
"linkPlexAccount": "Link Plex Account",
|
|
246
|
+
"linkAnotherAccount": "Link Another Plex Account",
|
|
247
|
+
"linking": "Linking...",
|
|
248
|
+
"accountsLinked_one": "{{count}} Plex account linked",
|
|
249
|
+
"accountsLinked_other": "{{count}} Plex accounts linked",
|
|
250
|
+
"noAccountsLinkedShort": "No Plex accounts linked",
|
|
251
|
+
"loginEnabled": "Login Enabled",
|
|
252
|
+
"serversConnected_one": "{{count}} server connected",
|
|
253
|
+
"serversConnected_other": "{{count}} servers connected",
|
|
254
|
+
"unlinkAccount": "Unlink this Plex account",
|
|
255
|
+
"deleteServersFirst": "Delete connected servers first to unlink this account",
|
|
256
|
+
"linkedAccounts": "Linked Plex Accounts",
|
|
257
|
+
"linkedAccountsDesc": "Manage the Plex accounts you can add servers from.",
|
|
258
|
+
"noAccountsYet": "No Plex accounts linked yet.",
|
|
259
|
+
"unlinkPlexAccount": "Unlink Plex Account",
|
|
260
|
+
"unlinkConfirm": "Are you sure you want to unlink this Plex account? You won't be able to add servers from this account until you link it again."
|
|
261
|
+
},
|
|
262
|
+
"notifications": {
|
|
263
|
+
"loadingSettings": "Loading notification settings...",
|
|
264
|
+
"addAgent": "Add Notification Agent",
|
|
265
|
+
"editAgent": "Edit Notification Agent",
|
|
266
|
+
"addAgentDesc": "Choose a notification service and configure it.",
|
|
267
|
+
"editAgentDesc": "Update the notification agent configuration.",
|
|
268
|
+
"noAgents": "No notification agents configured",
|
|
269
|
+
"noAgentsHint": "Add an agent to receive notifications about sharing violations and stream events.",
|
|
270
|
+
"agentType": "Agent Type",
|
|
271
|
+
"selectType": "Select type...",
|
|
272
|
+
"webhookUrl": "Webhook URL",
|
|
273
|
+
"webhookUrlPlaceholder": "https://...",
|
|
274
|
+
"triggerEvents": "Trigger Events",
|
|
275
|
+
"allEvents": "All Events",
|
|
276
|
+
"customEvents": "Custom Events",
|
|
277
|
+
"eventSelection": "Event Selection",
|
|
278
|
+
"testingAgent": "Testing...",
|
|
279
|
+
"testAgent": "Test Agent",
|
|
280
|
+
"removeAgentTitle": "Remove {{name}}?",
|
|
281
|
+
"removeAgentDesc": "This will remove {{name}} and disable all its notifications. You can add it back later.",
|
|
282
|
+
"webhookAgents": "Webhook Agents",
|
|
283
|
+
"oneWebhookLimit": "Only one webhook agent can be active at a time.",
|
|
284
|
+
"currentlyConfigured": "{{name}} is currently configured.",
|
|
285
|
+
"allAgentsConfigured": "All notification agents are already configured.",
|
|
286
|
+
"noConfigNeeded": "No configuration needed for this agent.",
|
|
287
|
+
"saveAgent": "Add Agent",
|
|
288
|
+
"updateAgent": "Update Agent"
|
|
289
|
+
},
|
|
290
|
+
"jobs": {
|
|
291
|
+
"runNow": "Run Now",
|
|
292
|
+
"running": "Running...",
|
|
293
|
+
"lastRun": "Last run",
|
|
294
|
+
"nextRun": "Next run",
|
|
295
|
+
"schedule": "Schedule",
|
|
296
|
+
"jobHistory": "Job History"
|
|
297
|
+
},
|
|
298
|
+
"mobile": {
|
|
299
|
+
"editDisplayName": "Edit Display Name",
|
|
300
|
+
"editDisplayNameDesc": "Change how this device appears in your device list",
|
|
301
|
+
"displayName": "Display Name",
|
|
302
|
+
"displayNamePlaceholder": "e.g., My iPhone",
|
|
303
|
+
"updating": "Updating..."
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
"maintenance": {
|
|
307
|
+
"startingTitle": "Tracearr is starting up...",
|
|
308
|
+
"interruptionTitle": "Service interruption",
|
|
309
|
+
"startingDescription": "The server is waiting for backend services to become available. This page will automatically refresh when everything is ready.",
|
|
310
|
+
"interruptionDescription": "One or more backend services have become unavailable. This page will automatically refresh when connectivity is restored.",
|
|
311
|
+
"restoreTitle": "Restoring from backup...",
|
|
312
|
+
"restoreFailed": "Restore failed",
|
|
313
|
+
"restorePhase": {
|
|
314
|
+
"validating": "Validating backup",
|
|
315
|
+
"creating_restore_point": "Creating restore point",
|
|
316
|
+
"shutting_down": "Shutting down services",
|
|
317
|
+
"restoring_database": "Restoring database",
|
|
318
|
+
"running_migrations": "Running migrations",
|
|
319
|
+
"rebuilding_aggregates": "Rebuilding aggregates",
|
|
320
|
+
"restarting": "Restarting services",
|
|
321
|
+
"complete": "Restore complete"
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tabs": {
|
|
3
|
+
"general": "General",
|
|
4
|
+
"servers": "Servers",
|
|
5
|
+
"notifications": "Notifications",
|
|
6
|
+
"mobile": "Mobile App",
|
|
7
|
+
"tailscale": "Tailscale",
|
|
8
|
+
"import": "Import",
|
|
9
|
+
"advanced": "Advanced",
|
|
10
|
+
"jobs": "Jobs",
|
|
11
|
+
"accessControl": "Access Control",
|
|
12
|
+
"backup": "Backup"
|
|
13
|
+
},
|
|
14
|
+
"general": {
|
|
15
|
+
"title": "General Settings",
|
|
16
|
+
"unitSystem": "Unit System",
|
|
17
|
+
"metric": "Metric (km, km/h)",
|
|
18
|
+
"imperial": "Imperial (mi, mph)",
|
|
19
|
+
"timezone": "Timezone",
|
|
20
|
+
"primaryAuth": "Primary Authentication Method",
|
|
21
|
+
"localAccount": "Local Account",
|
|
22
|
+
"plexAccount": "Plex Account",
|
|
23
|
+
"jellyfinAccount": "Jellyfin Account",
|
|
24
|
+
"language": "Language",
|
|
25
|
+
"languageDescription": "Choose your preferred display language.",
|
|
26
|
+
"helpTranslate": "Help translate Tracearr",
|
|
27
|
+
"timeFormat": "Time Format",
|
|
28
|
+
"timeFormatDescription": "Choose how times are displayed.",
|
|
29
|
+
"timeFormat12h": "12-hour (1:30 PM)",
|
|
30
|
+
"timeFormat24h": "24-hour (13:30)"
|
|
31
|
+
},
|
|
32
|
+
"servers": {
|
|
33
|
+
"title": "Connected Servers",
|
|
34
|
+
"addServer": "Add Server",
|
|
35
|
+
"serverName": "Server Name",
|
|
36
|
+
"serverUrl": "Server URL",
|
|
37
|
+
"apiKey": "API Key",
|
|
38
|
+
"syncInterval": "Sync Interval",
|
|
39
|
+
"testConnection": "Test Connection",
|
|
40
|
+
"connectionSuccess": "Connection successful",
|
|
41
|
+
"connectionFailed": "Connection failed"
|
|
42
|
+
},
|
|
43
|
+
"mobile": {
|
|
44
|
+
"title": "Mobile App",
|
|
45
|
+
"pairDevice": "Pair Device",
|
|
46
|
+
"connectedDevices": "Connected Devices",
|
|
47
|
+
"generateToken": "Generate Pair Token",
|
|
48
|
+
"scanQrCode": "Scan QR Code",
|
|
49
|
+
"tokenExpires": "Token expires in {{time}}",
|
|
50
|
+
"noDevices": "No devices connected",
|
|
51
|
+
"revokeAll": "Revoke All Sessions"
|
|
52
|
+
},
|
|
53
|
+
"tailscale": {
|
|
54
|
+
"title": "Tailscale VPN",
|
|
55
|
+
"description": "Access Tracearr securely on your Tailscale network without port forwarding.",
|
|
56
|
+
"notAvailable": "Tailscale binary not found. This feature is only available when running the official Docker image.",
|
|
57
|
+
"disabledDescription": "Enable Tailscale to put Tracearr on your private tailnet. No port forwarding or reverse proxy required.",
|
|
58
|
+
"hostnameLabel": "Device Hostname",
|
|
59
|
+
"hostnameHint": "Optional custom name for this device on your tailnet. Letters, numbers, and hyphens only.",
|
|
60
|
+
"enable": "Enable Tailscale",
|
|
61
|
+
"disable": "Disable Tailscale",
|
|
62
|
+
"cancel": "Cancel",
|
|
63
|
+
"retry": "Retry",
|
|
64
|
+
"starting": "Starting Tailscale...",
|
|
65
|
+
"stopping": "Stopping Tailscale...",
|
|
66
|
+
"awaitingAuth": "Waiting for authorization...",
|
|
67
|
+
"authorize": "Authorize in Tailscale",
|
|
68
|
+
"connected": "Tailscale is connected. Your Tracearr instance is available on the tailnet.",
|
|
69
|
+
"hostname": "Hostname",
|
|
70
|
+
"dnsName": "DNS Name",
|
|
71
|
+
"tailnetUrl": "URL",
|
|
72
|
+
"showLogs": "Show Logs",
|
|
73
|
+
"hideLogs": "Hide Logs",
|
|
74
|
+
"noLogs": "No log output available.",
|
|
75
|
+
"exitNodeNone": "None",
|
|
76
|
+
"exitNodeOffline": "(offline)",
|
|
77
|
+
"unknownError": "An unknown error occurred.",
|
|
78
|
+
"disableConfirmTitle": "Disable Tailscale?",
|
|
79
|
+
"disableConfirmDescription": "This will disconnect Tracearr from your tailnet. You can re-enable without re-authorizing.",
|
|
80
|
+
"reset": "Reset",
|
|
81
|
+
"resetConfirmTitle": "Reset Tailscale?",
|
|
82
|
+
"resetConfirmDescription": "This will disconnect Tracearr from your tailnet and remove the device identity. You will need to re-authorize if you enable it again.",
|
|
83
|
+
"toast": {
|
|
84
|
+
"disabled": "Tailscale has been disabled.",
|
|
85
|
+
"enableFailed": "Failed to enable Tailscale",
|
|
86
|
+
"disableFailed": "Failed to disable Tailscale",
|
|
87
|
+
"reset": "Tailscale has been reset.",
|
|
88
|
+
"resetFailed": "Failed to reset Tailscale",
|
|
89
|
+
"exitNodeSet": "Exit node updated.",
|
|
90
|
+
"exitNodeFailed": "Failed to set exit node"
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"webhooks": {
|
|
94
|
+
"title": "Webhook Configuration",
|
|
95
|
+
"discordWebhook": "Discord Webhook URL",
|
|
96
|
+
"ntfyTopic": "Ntfy Topic",
|
|
97
|
+
"customWebhook": "Custom Webhook URL",
|
|
98
|
+
"webhookFormat": "Webhook Format",
|
|
99
|
+
"testWebhook": "Test Webhook"
|
|
100
|
+
},
|
|
101
|
+
"advanced": {
|
|
102
|
+
"title": "Advanced Settings",
|
|
103
|
+
"externalUrl": "External URL",
|
|
104
|
+
"trustProxy": "Trust Proxy Headers",
|
|
105
|
+
"reverseProxy": "Reverse Proxy",
|
|
106
|
+
"connectionScenarios": "Connection Scenarios"
|
|
107
|
+
},
|
|
108
|
+
"import": {
|
|
109
|
+
"title": "Import Data",
|
|
110
|
+
"jellystat": "Import from Jellystat",
|
|
111
|
+
"tautulli": "Import from Tautulli",
|
|
112
|
+
"importProgress": "Import Progress",
|
|
113
|
+
"importComplete": "Import Complete",
|
|
114
|
+
"importFailed": "Import Failed",
|
|
115
|
+
"processed": "Processed",
|
|
116
|
+
"page": "Page",
|
|
117
|
+
"imported": "Imported",
|
|
118
|
+
"skipped": "Skipped",
|
|
119
|
+
"enriched": "Enriched",
|
|
120
|
+
"errors": "Errors"
|
|
121
|
+
},
|
|
122
|
+
"plex": {
|
|
123
|
+
"linkedAccounts": "Linked Plex Accounts",
|
|
124
|
+
"unlinkAccount": "Unlink Plex Account",
|
|
125
|
+
"signInWithPlex": "Sign in with Plex",
|
|
126
|
+
"signUpWithPlex": "Sign up with Plex",
|
|
127
|
+
"selectServer": "Select Server",
|
|
128
|
+
"chooseServer": "Choose which Plex Media Server to monitor"
|
|
129
|
+
},
|
|
130
|
+
"jellyfin": {
|
|
131
|
+
"signInWithJellyfin": "Sign in with Jellyfin",
|
|
132
|
+
"username": "Jellyfin Username",
|
|
133
|
+
"password": "Jellyfin Password"
|
|
134
|
+
},
|
|
135
|
+
"account": {
|
|
136
|
+
"createAccount": "Create Account",
|
|
137
|
+
"signIn": "Sign In",
|
|
138
|
+
"email": "Email",
|
|
139
|
+
"password": "Password",
|
|
140
|
+
"displayName": "Display Name",
|
|
141
|
+
"createYourAccount": "Create your account to get started",
|
|
142
|
+
"signInToAccount": "Sign in to your account",
|
|
143
|
+
"useLocalAccount": "Use local account instead",
|
|
144
|
+
"useJellyfinAccount": "Use Jellyfin account instead",
|
|
145
|
+
"waitingForPlex": "Waiting for Plex authorization..."
|
|
146
|
+
},
|
|
147
|
+
"update": {
|
|
148
|
+
"title": "Update Available",
|
|
149
|
+
"releaseNotes": "Release Notes",
|
|
150
|
+
"updateCommand": "Update Command",
|
|
151
|
+
"pullInstructions": "After pulling, restart your container to apply the update.",
|
|
152
|
+
"stableRelease": "Stable Release",
|
|
153
|
+
"betaUpdate": "Beta Update",
|
|
154
|
+
"newVersion": "New Version",
|
|
155
|
+
"versionAvailable": "{{version}} available"
|
|
156
|
+
},
|
|
157
|
+
"serverHealth": {
|
|
158
|
+
"unreachable": "{{serverName}} is unreachable",
|
|
159
|
+
"multipleUnreachable": "{{count}} servers unreachable: {{serverNames}}"
|
|
160
|
+
},
|
|
161
|
+
"ipWarning": {
|
|
162
|
+
"message": "All users appear to be using the same IP address or local network IPs. This may affect rule-based logic for location or IP addresses.",
|
|
163
|
+
"acknowledge": "Got it"
|
|
164
|
+
},
|
|
165
|
+
"backup": {
|
|
166
|
+
"title": "Backup",
|
|
167
|
+
"backToBackups": "Back to Backups",
|
|
168
|
+
"description": "Backup and restore your Tracearr data",
|
|
169
|
+
"createBackup": "Create Backup",
|
|
170
|
+
"creating": "Creating backup...",
|
|
171
|
+
"uploadBackup": "Upload Backup",
|
|
172
|
+
"uploading": "Uploading...",
|
|
173
|
+
"databaseSize": "Current database size: {{size}}",
|
|
174
|
+
"freeSpace": "Backup directory free space: {{size}}",
|
|
175
|
+
"lowDiskSpace": "Low disk space — backups and restores require at least twice the database size in free space.",
|
|
176
|
+
"backupHistory": "Backup History",
|
|
177
|
+
"noBackups": "No backups yet. Create your first backup above.",
|
|
178
|
+
"filename": "Filename",
|
|
179
|
+
"size": "Size",
|
|
180
|
+
"date": "Date",
|
|
181
|
+
"type": "Type",
|
|
182
|
+
"version": "Version",
|
|
183
|
+
"actions": "Actions",
|
|
184
|
+
"typeManual": "Manual",
|
|
185
|
+
"typeScheduled": "Scheduled",
|
|
186
|
+
"typeUploaded": "Uploaded",
|
|
187
|
+
"delete": "Delete",
|
|
188
|
+
"restoreAction": "Restore",
|
|
189
|
+
"deleteConfirmTitle": "Delete Backup",
|
|
190
|
+
"deleteConfirmDescription": "Are you sure you want to delete this backup? This cannot be undone.",
|
|
191
|
+
"schedule": "Scheduled Backups",
|
|
192
|
+
"scheduleType": "Schedule",
|
|
193
|
+
"scheduleDisabled": "Disabled",
|
|
194
|
+
"scheduleDaily": "Daily",
|
|
195
|
+
"scheduleWeekly": "Weekly",
|
|
196
|
+
"scheduleMonthly": "Monthly",
|
|
197
|
+
"scheduleTime": "Time ({{timezone}})",
|
|
198
|
+
"scheduleDayOfWeek": "Day of Week",
|
|
199
|
+
"scheduleDayOfMonth": "Day of Month",
|
|
200
|
+
"scheduleDayOfMonthHint": "On months with fewer days, the backup runs on the last day.",
|
|
201
|
+
"retentionCount": "Keep Last",
|
|
202
|
+
"retentionSuffix": "scheduled backups",
|
|
203
|
+
"daySun": "Sunday",
|
|
204
|
+
"dayMon": "Monday",
|
|
205
|
+
"dayTue": "Tuesday",
|
|
206
|
+
"dayWed": "Wednesday",
|
|
207
|
+
"dayThu": "Thursday",
|
|
208
|
+
"dayFri": "Friday",
|
|
209
|
+
"daySat": "Saturday",
|
|
210
|
+
"restore": {
|
|
211
|
+
"title": "Restore Backup",
|
|
212
|
+
"selectedBackup": "Selected Backup",
|
|
213
|
+
"databaseSize": "Database Size",
|
|
214
|
+
"sessions": "Sessions",
|
|
215
|
+
"users": "Users",
|
|
216
|
+
"servers": "Servers",
|
|
217
|
+
"rules": "Rules",
|
|
218
|
+
"libraryItems": "Library Items",
|
|
219
|
+
"tables": "Tables",
|
|
220
|
+
"warning": "Restoring will replace all existing data. You will need to re-login after the restore completes.",
|
|
221
|
+
"confirmLabel": "I understand this will replace all data",
|
|
222
|
+
"confirm": "Start Restore",
|
|
223
|
+
"cancel": "Cancel",
|
|
224
|
+
"complete": "Restore completed successfully. The page will refresh shortly.",
|
|
225
|
+
"failed": "Restore failed",
|
|
226
|
+
"cannotRestore": "Restore requires PostgreSQL superuser privileges. Please ensure your database user has superuser privileges and try again.",
|
|
227
|
+
"pgVersionMismatch": "Backup was created on PostgreSQL {{backupVersion}} but this server runs PostgreSQL {{serverVersion}}. Restoring a dump from a newer PostgreSQL version is not supported.",
|
|
228
|
+
"tsVersionMismatch": "Backup was created with TimescaleDB {{backupVersion}} but this server only supports up to TimescaleDB {{serverVersion}}."
|
|
229
|
+
},
|
|
230
|
+
"toast": {
|
|
231
|
+
"backupCreated": "Backup created successfully",
|
|
232
|
+
"backupCreateFailed": "Failed to create backup",
|
|
233
|
+
"backupUploaded": "Backup uploaded successfully",
|
|
234
|
+
"backupUploadFailed": "Failed to upload backup",
|
|
235
|
+
"backupDeleted": "Backup deleted",
|
|
236
|
+
"backupDeleteFailed": "Failed to delete backup",
|
|
237
|
+
"restoreStarted": "Restore started",
|
|
238
|
+
"restoreStartFailed": "Failed to start restore",
|
|
239
|
+
"scheduleSaved": "Backup schedule saved",
|
|
240
|
+
"scheduleError": "Failed to save backup schedule"
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|