@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,953 @@
|
|
|
1
|
+
{
|
|
2
|
+
"activity": {
|
|
3
|
+
"activityByDayOfWeek": "Activity by Day of Week",
|
|
4
|
+
"activityByHourOfDay": "Activity by Hour of Day",
|
|
5
|
+
"concurrentStreams": "Concurrent Streams",
|
|
6
|
+
"description": "Play trends, patterns, and streaming behavior",
|
|
7
|
+
"engagementBreakdown": "Engagement Breakdown",
|
|
8
|
+
"howUsersEngage": "How users engage with content",
|
|
9
|
+
"platforms": "Platforms",
|
|
10
|
+
"playsOverTime": "Plays Over Time",
|
|
11
|
+
"playsVsSessions": "Plays vs Sessions",
|
|
12
|
+
"playsVsSessionsDesc": "Full completions only — counts a play when total watch time covers a content's entire runtime",
|
|
13
|
+
"streamQuality": "Stream Quality",
|
|
14
|
+
"title": "Activity"
|
|
15
|
+
},
|
|
16
|
+
"apiDocs": {
|
|
17
|
+
"apiKeyAutoLoaded": "API key auto-loaded",
|
|
18
|
+
"backToSettings": "Back to Settings",
|
|
19
|
+
"noApiKey": "No API key generated - create one in Settings to test endpoints",
|
|
20
|
+
"versionSwitcherLabel": "API documentation version",
|
|
21
|
+
"versionV1": "API v1",
|
|
22
|
+
"versionV2": "API v2",
|
|
23
|
+
"specLoadError": "Failed to load the API specification. Check your API key and try again."
|
|
24
|
+
},
|
|
25
|
+
"dashboard": {
|
|
26
|
+
"activeUsers": "Active Users",
|
|
27
|
+
"alerts": "Alerts",
|
|
28
|
+
"bandwidth": "Bandwidth",
|
|
29
|
+
"noActiveStreams": "No active streams",
|
|
30
|
+
"nowPlaying": "Now Playing",
|
|
31
|
+
"plays": "Plays",
|
|
32
|
+
"serverResources": "Server Resources",
|
|
33
|
+
"streamLocations": "Stream Locations",
|
|
34
|
+
"streamsAppearHere": "Active streams will appear here when users start watching",
|
|
35
|
+
"watchTime": "Watch Time"
|
|
36
|
+
},
|
|
37
|
+
"debug": {
|
|
38
|
+
"clearLibraryCache": "Clear Library Cache",
|
|
39
|
+
"clearMobileDevices": "Clear Mobile Devices",
|
|
40
|
+
"clearQueryCache": "Clear Query Cache",
|
|
41
|
+
"clearRules": "Clear Rules",
|
|
42
|
+
"clearServers": "Clear Servers",
|
|
43
|
+
"clearSessions": "Clear Sessions",
|
|
44
|
+
"clearStuckJobs": "Clear Stuck Jobs",
|
|
45
|
+
"clearTerminationLogs": "Clear Termination Logs",
|
|
46
|
+
"clearUsers": "Clear Users",
|
|
47
|
+
"clearViolations": "Clear Violations",
|
|
48
|
+
"clickLoadToView": "Click \"Load\" to view snapshots",
|
|
49
|
+
"cpu": "CPU",
|
|
50
|
+
"database": "Database",
|
|
51
|
+
"databaseDesc": "Database size and table statistics",
|
|
52
|
+
"deleteAllSuspicious": "Delete All Suspicious",
|
|
53
|
+
"deleteSelected": "Delete Selected",
|
|
54
|
+
"description": "Administrative utilities for troubleshooting and data management",
|
|
55
|
+
"destructiveActions": "Destructive Actions",
|
|
56
|
+
"environment": "Environment",
|
|
57
|
+
"factoryReset": "Factory Reset",
|
|
58
|
+
"libraryItems": "Library Items",
|
|
59
|
+
"librarySnapshots": "Library Snapshots",
|
|
60
|
+
"load": "Load",
|
|
61
|
+
"logExplorerUnavailable": "Log explorer is only available in Docker environments",
|
|
62
|
+
"logs": "Logs",
|
|
63
|
+
"maintenance": "Maintenance",
|
|
64
|
+
"manageSnapshots": "Manage library snapshots used for Storage Trend and Quality Evolution charts",
|
|
65
|
+
"memory": "Memory",
|
|
66
|
+
"noSuspiciousSnapshots": "No suspicious snapshots found",
|
|
67
|
+
"obliterateAllJobs": "Obliterate All Jobs",
|
|
68
|
+
"of": "of",
|
|
69
|
+
"ok": "OK",
|
|
70
|
+
"overview": "Overview",
|
|
71
|
+
"plexAccounts": "Plex Accounts",
|
|
72
|
+
"refreshAggregates": "Refresh Aggregates",
|
|
73
|
+
"selected": "selected",
|
|
74
|
+
"snapshots": "snapshot(s)",
|
|
75
|
+
"suspicious": "Suspicious",
|
|
76
|
+
"suspiciousOnly": "Suspicious only",
|
|
77
|
+
"systemInformation": "System Information",
|
|
78
|
+
"tasks": "Tasks",
|
|
79
|
+
"terminations": "Terminations",
|
|
80
|
+
"title": "Debug Tools",
|
|
81
|
+
"totalSize": "Total Size",
|
|
82
|
+
"uptime": "Uptime"
|
|
83
|
+
},
|
|
84
|
+
"devices": {
|
|
85
|
+
"analyzedSessions": "Analyzed Sessions",
|
|
86
|
+
"analyzedSessionsTooltip": "Sessions in device + codec combinations with at least {{count}} sessions and a known codec. Rare combinations and sessions with no codec info aren't counted.",
|
|
87
|
+
"compatibilityMatrix": "Compatibility Matrix",
|
|
88
|
+
"compatibilityMatrixDesc": "Direct play rates by device and video codec. Sorted by session volume.",
|
|
89
|
+
"description": "See which devices direct play vs transcode each codec",
|
|
90
|
+
"deviceAndCodec": "Device + Codec",
|
|
91
|
+
"deviceHealth": "Device Health",
|
|
92
|
+
"deviceHealthDesc": "Direct play rate by device type",
|
|
93
|
+
"directPlayHigh": "≥80% Direct",
|
|
94
|
+
"directPlayLow": "<50%",
|
|
95
|
+
"directPlayMid": "50-79%",
|
|
96
|
+
"directPlayRate": "Direct Play Rate",
|
|
97
|
+
"legend": "Legend:",
|
|
98
|
+
"noDeviceDataPeriod": "No device data in this period",
|
|
99
|
+
"noTranscodeHotspots": "No transcode hotspots",
|
|
100
|
+
"noTranscodingUsers": "No transcoding users found",
|
|
101
|
+
"pctOfTotal": "% of Total",
|
|
102
|
+
"title": "Device Compatibility",
|
|
103
|
+
"topTranscodingUsers": "Top Transcoding Users",
|
|
104
|
+
"topTranscodingUsersDesc": "Users causing the most transcodes on your server",
|
|
105
|
+
"transcodeHotspots": "Transcode Hotspots",
|
|
106
|
+
"transcodeHotspotsDesc": "Combinations causing the most transcodes",
|
|
107
|
+
"transcodes": "Transcodes",
|
|
108
|
+
"uniqueCodecs": "Unique Codecs",
|
|
109
|
+
"uniqueDevices": "Unique Devices",
|
|
110
|
+
"videoAndAudio": "Video + audio"
|
|
111
|
+
},
|
|
112
|
+
"history": {
|
|
113
|
+
"deleteSession_one": "Delete {{count}} Session",
|
|
114
|
+
"deleteSession_other": "Delete {{count}} Sessions",
|
|
115
|
+
"deleteSessionsConfirm": "Are you sure you want to delete? This action cannot be undone.",
|
|
116
|
+
"description": "Browse all streaming sessions with powerful filtering",
|
|
117
|
+
"loadingMore": "Loading more...",
|
|
118
|
+
"scrollForMore": "Scroll for more",
|
|
119
|
+
"showingAllResults": "Showing all {{total}} results",
|
|
120
|
+
"title": "History"
|
|
121
|
+
},
|
|
122
|
+
"library": {
|
|
123
|
+
"description": "Top movies and shows on your server",
|
|
124
|
+
"emptyState": {
|
|
125
|
+
"backfillAvailable": {
|
|
126
|
+
"bodyGeneric": "Generate historical snapshots to see library trends over time.",
|
|
127
|
+
"bodyWithDays": "Your library has {{days}} days of history. Generate snapshots to see trends in charts.",
|
|
128
|
+
"syncRunningBody": "Historical data generation will start automatically once the sync completes.",
|
|
129
|
+
"syncRunningTitle": "Library sync in progress...",
|
|
130
|
+
"title": "Historical data available"
|
|
131
|
+
},
|
|
132
|
+
"backfillRunning": {
|
|
133
|
+
"fallbackBody": "Creating snapshots from library history. This may take a few minutes.",
|
|
134
|
+
"progress": "{{processed}} of {{total}} libraries",
|
|
135
|
+
"snapshotsSuffix": " ({{count}} snapshots)",
|
|
136
|
+
"title": "Generating historical data..."
|
|
137
|
+
},
|
|
138
|
+
"checkingStatus": "Checking library status...",
|
|
139
|
+
"generateHistory": "Generate History",
|
|
140
|
+
"multiServer": {
|
|
141
|
+
"body": "Sync the servers below to see combined library statistics.",
|
|
142
|
+
"needsBackfillIntro": "These servers are synced but have no historical data yet:",
|
|
143
|
+
"title": "Some libraries need attention"
|
|
144
|
+
},
|
|
145
|
+
"noMedia": {
|
|
146
|
+
"body": "This library is synced but doesn't have any movies or shows in it yet.",
|
|
147
|
+
"title": "No movies or shows yet"
|
|
148
|
+
},
|
|
149
|
+
"notSynced": {
|
|
150
|
+
"body": "Library statistics will appear here once the library has been synced. This typically happens automatically every hour.",
|
|
151
|
+
"title": "Library not synced yet"
|
|
152
|
+
},
|
|
153
|
+
"notSyncedShort": "Not synced yet",
|
|
154
|
+
"starting": "Starting...",
|
|
155
|
+
"syncInProgress": {
|
|
156
|
+
"body": "Library statistics will appear once the sync completes. This may take a few minutes depending on library size.",
|
|
157
|
+
"title": "Library sync in progress..."
|
|
158
|
+
},
|
|
159
|
+
"syncNow": "Sync Now",
|
|
160
|
+
"syncing": "Syncing...",
|
|
161
|
+
"toast": {
|
|
162
|
+
"backfillCompleteTitle": "Backfill complete",
|
|
163
|
+
"backfillErrorTitle": "Backfill failed",
|
|
164
|
+
"backfillFailedTitle": "Failed to start backfill",
|
|
165
|
+
"backfillStartedDesc": "Historical snapshots are being generated.",
|
|
166
|
+
"backfillStartedTitle": "Backfill started",
|
|
167
|
+
"genericRetry": "Please try again.",
|
|
168
|
+
"noServerSelected": "No server selected",
|
|
169
|
+
"syncFailedTitle": "Failed to start sync",
|
|
170
|
+
"syncStartedDesc": "This may take a few minutes depending on library size.",
|
|
171
|
+
"syncStartedTitle": "Library sync started"
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
"noMoviePlays": "No movie plays in this period",
|
|
175
|
+
"noShowPlays": "No TV show plays in this period",
|
|
176
|
+
"overview": {
|
|
177
|
+
"added": "Added",
|
|
178
|
+
"description": "Library health and growth metrics",
|
|
179
|
+
"failedToLoad": "Failed to load library statistics",
|
|
180
|
+
"failedToLoadDesc": "Could not fetch library data. Please try again.",
|
|
181
|
+
"lastUpdated": "Last updated:",
|
|
182
|
+
"libraryGrowth": "Library Growth",
|
|
183
|
+
"serversNeedSync": "These servers need to sync:",
|
|
184
|
+
"shows": "shows",
|
|
185
|
+
"thisMonth": "this month",
|
|
186
|
+
"thisPeriod": "this period",
|
|
187
|
+
"thisWeek": "this week",
|
|
188
|
+
"thisYear": "this year",
|
|
189
|
+
"totalItems": "Total Items"
|
|
190
|
+
},
|
|
191
|
+
"quality": {
|
|
192
|
+
"all": "All",
|
|
193
|
+
"description": "Resolution and codec distribution",
|
|
194
|
+
"failedToLoad": "Failed to load quality data",
|
|
195
|
+
"failedToLoadDesc": "Could not fetch quality data. Please try again.",
|
|
196
|
+
"qualityEvolution": "Quality Evolution",
|
|
197
|
+
"title": "Quality"
|
|
198
|
+
},
|
|
199
|
+
"storage": {
|
|
200
|
+
"avgHoursPerGB": "avg hours/GB",
|
|
201
|
+
"confidence": "Confidence",
|
|
202
|
+
"confidenceHigh": "Magas",
|
|
203
|
+
"confidenceLow": "Alacsony",
|
|
204
|
+
"confidenceMedium": "Medium",
|
|
205
|
+
"contentROI": "Content ROI",
|
|
206
|
+
"contentROIDesc": "Watch value per storage cost",
|
|
207
|
+
"days": "days",
|
|
208
|
+
"description": "Storage usage, predictions, and optimization",
|
|
209
|
+
"duplicates": "Duplicates",
|
|
210
|
+
"failedToLoad": "Failed to load storage data",
|
|
211
|
+
"failedToLoadDesc": "Could not fetch storage data. Please try again.",
|
|
212
|
+
"groups": "groups",
|
|
213
|
+
"growthRate": "Growth Rate",
|
|
214
|
+
"insufficientData": "Insufficient data",
|
|
215
|
+
"items": "items",
|
|
216
|
+
"of": "of",
|
|
217
|
+
"predictions": "Predictions",
|
|
218
|
+
"recoverable": "recoverable",
|
|
219
|
+
"staleContent": "Stale Content",
|
|
220
|
+
"staleContentDesc": "Content that may be candidates for removal",
|
|
221
|
+
"storageTrend": "Storage Trend",
|
|
222
|
+
"title": "Storage",
|
|
223
|
+
"totalStorage": "Total Storage",
|
|
224
|
+
"unused": "unused",
|
|
225
|
+
"zeroGrowth": "0 GB/mo",
|
|
226
|
+
"duplicatesTitle": "Duplicates",
|
|
227
|
+
"duplicatesSubtitle": "Titles with more than one copy or file, across servers, libraries, and versions",
|
|
228
|
+
"growthPreChangeover": "based on pre-update history",
|
|
229
|
+
"loadingDuplicates": "Loading duplicates...",
|
|
230
|
+
"duplicatesFailed": "Failed to load duplicates",
|
|
231
|
+
"noDuplicatesTitle": "No duplicates found",
|
|
232
|
+
"noDuplicatesDesc": "No titles with more than one physical file detected.",
|
|
233
|
+
"colTitle": "Title",
|
|
234
|
+
"colMatchType": "Match Type",
|
|
235
|
+
"colCopies": "Copies",
|
|
236
|
+
"colRecoverable": "Recoverable Space",
|
|
237
|
+
"sameServer": "Same server",
|
|
238
|
+
"mirror": "Mirror",
|
|
239
|
+
"pageOf": "Page {{page}} of {{totalPages}}"
|
|
240
|
+
},
|
|
241
|
+
"title": "Library",
|
|
242
|
+
"topMovies": "Top Movies",
|
|
243
|
+
"topShows": "Top TV Shows",
|
|
244
|
+
"watch": {
|
|
245
|
+
"avgPerItem": "avg per item",
|
|
246
|
+
"bingeHighlights": "Binge Highlights",
|
|
247
|
+
"bingeHighlightsDesc": "Shows with the most intensive viewing patterns",
|
|
248
|
+
"bingeSessions": "binge sessions",
|
|
249
|
+
"busiest": "Busiest:",
|
|
250
|
+
"completed": "Completed",
|
|
251
|
+
"description": "Viewing behavior and content engagement",
|
|
252
|
+
"failedToLoad": "Failed to load watch analytics",
|
|
253
|
+
"failedToLoadDesc": "Could not fetch watch data.",
|
|
254
|
+
"monthlyTrends": "Monthly Trends",
|
|
255
|
+
"noData": "No watch data yet",
|
|
256
|
+
"noDataDesc": "Watch analytics will appear here once content has been played. Check back after some viewing activity.",
|
|
257
|
+
"peak": "Peak:",
|
|
258
|
+
"peakHour": "Peak Hour",
|
|
259
|
+
"percentWatched": "% watched",
|
|
260
|
+
"quietest": "Quietest:",
|
|
261
|
+
"title": "Watch Analytics",
|
|
262
|
+
"totalWatchTime": "Total Watch Time",
|
|
263
|
+
"viewingHours": "Viewing Hours",
|
|
264
|
+
"watched": "Watched"
|
|
265
|
+
},
|
|
266
|
+
"versionsBackfill": {
|
|
267
|
+
"banner": "File version data is still being collected for this server. Run a library sync to finish.",
|
|
268
|
+
"action": "Sync now",
|
|
269
|
+
"syncFailed": "Sync failed to start on {{count}} server(s). Check your permissions and server status.",
|
|
270
|
+
"syncStarted": "Library sync started."
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
"login": {
|
|
274
|
+
"accountCreated": "Account created successfully!",
|
|
275
|
+
"claimCodeDescription": "Check your server logs for the claim code to proceed with setup",
|
|
276
|
+
"claimCodeHint": "The claim code is printed in the server logs when the container starts",
|
|
277
|
+
"claimCodeLabel": "Claim Code",
|
|
278
|
+
"claimCodeRequired": "First-time setup requires a claim code",
|
|
279
|
+
"claimCodeSecurityNote": "This security measure ensures only authorized users can complete first-time setup",
|
|
280
|
+
"completeInPopup": "Complete sign-in in the popup window",
|
|
281
|
+
"connectedTo": "Connected to {{name}}",
|
|
282
|
+
"continueWith": "Continue with {{provider}}",
|
|
283
|
+
"createAccountDescription": "Create an account to manage your media servers",
|
|
284
|
+
"createAccountFailed": "Failed to create account",
|
|
285
|
+
"createAccountHeading": "Create your account to get started",
|
|
286
|
+
"displayNamePlaceholder": "Choose a display name",
|
|
287
|
+
"emailPlaceholder": "your@email.com",
|
|
288
|
+
"enterClaimCode": "Enter Claim Code",
|
|
289
|
+
"identifierPlaceholder": "Username or email address",
|
|
290
|
+
"invalidCredentials": "Invalid email or password",
|
|
291
|
+
"localDisabledHint": "Local sign-in is disabled for this instance. Ask an admin to run `enable-local-login` from the Tracearr CLI to re-enable it.",
|
|
292
|
+
"loginFailed": "Login failed",
|
|
293
|
+
"oidcError": "Single sign-on failed. Please try again or use another sign-in method.",
|
|
294
|
+
"passwordPlaceholder": "At least 8 characters",
|
|
295
|
+
"plexAuthFailed": "Plex authentication failed",
|
|
296
|
+
"plexStartFailed": "Failed to start Plex login",
|
|
297
|
+
"reopenPlexLogin": "Reopen Plex Login",
|
|
298
|
+
"selectPlexServer": "Select your Plex server",
|
|
299
|
+
"serverConnectFailed": "Failed to connect to server",
|
|
300
|
+
"setupNote": "After creating your account, you'll add your Plex or Jellyfin servers from Settings.",
|
|
301
|
+
"signInDescription": "Sign in to access your dashboard",
|
|
302
|
+
"signInHeading": "Sign in to your account",
|
|
303
|
+
"signupFailed": "Signup failed",
|
|
304
|
+
"tagline": "Tracearr - Stream access management",
|
|
305
|
+
"title": "Tracearr",
|
|
306
|
+
"username": "Username",
|
|
307
|
+
"usernameOrEmail": "Username or Email",
|
|
308
|
+
"usernamePlaceholder": "yourusername",
|
|
309
|
+
"validateClaimCode": "Validate Claim Code",
|
|
310
|
+
"waitingForPlex": "Waiting for Plex authorization...",
|
|
311
|
+
"yourPasswordPlaceholder": "Your password"
|
|
312
|
+
},
|
|
313
|
+
"maintenance": {
|
|
314
|
+
"interruptionDescription": "One or more backend services have become unavailable. This page will automatically refresh when connectivity is restored.",
|
|
315
|
+
"interruptionTitle": "Service interruption",
|
|
316
|
+
"restoreFailed": "Restore failed",
|
|
317
|
+
"restorePhase": {
|
|
318
|
+
"complete": "Restore complete",
|
|
319
|
+
"creating_restore_point": "Creating restore point",
|
|
320
|
+
"rebuilding_aggregates": "Rebuilding aggregates",
|
|
321
|
+
"restarting": "Restarting services",
|
|
322
|
+
"restoring_database": "Restoring database",
|
|
323
|
+
"running_migrations": "Running migrations",
|
|
324
|
+
"shutting_down": "Shutting down services",
|
|
325
|
+
"validating": "Validating backup"
|
|
326
|
+
},
|
|
327
|
+
"restoreTitle": "Restoring from backup...",
|
|
328
|
+
"startingDescription": "The server is waiting for backend services to become available. This page will automatically refresh when everything is ready.",
|
|
329
|
+
"startingTitle": "Tracearr is starting up...",
|
|
330
|
+
"initStep": {
|
|
331
|
+
"migrations": "Applying database migrations",
|
|
332
|
+
"timescale": "Preparing TimescaleDB (this can take a while after an upgrade)",
|
|
333
|
+
"services": "Starting services"
|
|
334
|
+
},
|
|
335
|
+
"doNotRestart": "Do not restart or stop the server while this runs. Interrupting it can leave the database half-upgraded."
|
|
336
|
+
},
|
|
337
|
+
"map": {
|
|
338
|
+
"allActivity": "All activity",
|
|
339
|
+
"allTypes": "All types",
|
|
340
|
+
"allUsers": "All users",
|
|
341
|
+
"circles": "Circles",
|
|
342
|
+
"heatmap": "Heatmap",
|
|
343
|
+
"locations": "locations",
|
|
344
|
+
"streams": "streams"
|
|
345
|
+
},
|
|
346
|
+
"media": {
|
|
347
|
+
"detail": {
|
|
348
|
+
"breadcrumb": {
|
|
349
|
+
"ariaLabel": "Breadcrumb"
|
|
350
|
+
},
|
|
351
|
+
"copies": {
|
|
352
|
+
"columns": {
|
|
353
|
+
"server": "Server",
|
|
354
|
+
"library": "Library",
|
|
355
|
+
"quality": "Quality",
|
|
356
|
+
"episodes": "Episodes",
|
|
357
|
+
"size": "Size",
|
|
358
|
+
"added": "Added"
|
|
359
|
+
},
|
|
360
|
+
"loadError": "Couldn't load copies",
|
|
361
|
+
"title": "Copies",
|
|
362
|
+
"unknownLibrary": "Unknown library",
|
|
363
|
+
"versionLabel": "File {{index}}"
|
|
364
|
+
},
|
|
365
|
+
"hero": {
|
|
366
|
+
"actions": {
|
|
367
|
+
"fullHistory": "Full history",
|
|
368
|
+
"openOnServer": "Open on server"
|
|
369
|
+
},
|
|
370
|
+
"availability": {
|
|
371
|
+
"added": "added {{date}}",
|
|
372
|
+
"removed": "removed {{date}}"
|
|
373
|
+
},
|
|
374
|
+
"loadError": "Couldn't load this title",
|
|
375
|
+
"meta": {
|
|
376
|
+
"episodes_one": "{{count}} episode",
|
|
377
|
+
"episodes_other": "{{count}} episodes",
|
|
378
|
+
"seasons_one": "{{count}} season",
|
|
379
|
+
"seasons_other": "{{count}} seasons"
|
|
380
|
+
},
|
|
381
|
+
"removedEverywhere": {
|
|
382
|
+
"caption": "No longer available on any connected server"
|
|
383
|
+
}
|
|
384
|
+
},
|
|
385
|
+
"history": {
|
|
386
|
+
"columns": {
|
|
387
|
+
"content": "Content",
|
|
388
|
+
"date": "Date",
|
|
389
|
+
"duration": "Duration",
|
|
390
|
+
"server": "Server",
|
|
391
|
+
"user": "User"
|
|
392
|
+
},
|
|
393
|
+
"empty": "No plays recorded yet",
|
|
394
|
+
"loadError": "Couldn't load history",
|
|
395
|
+
"notWatched": "Not finished",
|
|
396
|
+
"title": "History",
|
|
397
|
+
"watched": "Watched"
|
|
398
|
+
},
|
|
399
|
+
"kpis": {
|
|
400
|
+
"ariaLabel": "Watch statistics",
|
|
401
|
+
"completion": {
|
|
402
|
+
"detail": "{{finished}} of {{total}} finished every episode",
|
|
403
|
+
"detailMovie": "{{finished}} of {{total}} watched to completion",
|
|
404
|
+
"label": "Avg completion"
|
|
405
|
+
},
|
|
406
|
+
"completionLoadError": "Couldn't load completion",
|
|
407
|
+
"loadError": "Couldn't load watch statistics",
|
|
408
|
+
"plays": {
|
|
409
|
+
"caption": "resume chains, short sessions excluded",
|
|
410
|
+
"label": "Plays, all time"
|
|
411
|
+
},
|
|
412
|
+
"viewers": {
|
|
413
|
+
"detail": "across all servers",
|
|
414
|
+
"label": "Viewers"
|
|
415
|
+
},
|
|
416
|
+
"watchTime": {
|
|
417
|
+
"detail": "+{{hours}}h in the last 30 days",
|
|
418
|
+
"label": "Watch time"
|
|
419
|
+
}
|
|
420
|
+
},
|
|
421
|
+
"notFound": {
|
|
422
|
+
"backLink": "Back to Media",
|
|
423
|
+
"message": "This title doesn't exist or you don't have access to it.",
|
|
424
|
+
"title": "Media not found"
|
|
425
|
+
},
|
|
426
|
+
"platforms": {
|
|
427
|
+
"columns": {
|
|
428
|
+
"platform": "Platform",
|
|
429
|
+
"plays": "Plays",
|
|
430
|
+
"watchTime": "Watch time"
|
|
431
|
+
},
|
|
432
|
+
"empty": "No platform data yet",
|
|
433
|
+
"loadError": "Couldn't load platform breakdown",
|
|
434
|
+
"title": "Platforms",
|
|
435
|
+
"unknown": "Unknown"
|
|
436
|
+
},
|
|
437
|
+
"seasons": {
|
|
438
|
+
"empty": "No season data yet",
|
|
439
|
+
"episodeCount_one": "{{count}} episode",
|
|
440
|
+
"episodeCount_other": "{{count}} episodes",
|
|
441
|
+
"episodeLabel": {
|
|
442
|
+
"partial": "{{code}}: partially watched",
|
|
443
|
+
"unwatched": "{{code}}: unwatched",
|
|
444
|
+
"watched": "{{code}}: watched"
|
|
445
|
+
},
|
|
446
|
+
"loadError": "Couldn't load season data",
|
|
447
|
+
"stripSummary": "{{season}}: {{percent}}% watched",
|
|
448
|
+
"title": "Seasons",
|
|
449
|
+
"watchedPct": "{{percent}}% watched"
|
|
450
|
+
},
|
|
451
|
+
"title": "Media Details",
|
|
452
|
+
"watchers": {
|
|
453
|
+
"columns": {
|
|
454
|
+
"completion": "Completion",
|
|
455
|
+
"episodes": "Episodes",
|
|
456
|
+
"lastWatched": "Last watched",
|
|
457
|
+
"plays": "Plays",
|
|
458
|
+
"user": "User"
|
|
459
|
+
},
|
|
460
|
+
"completionLabel": "{{percent}}% complete",
|
|
461
|
+
"empty": "No one has watched this yet.",
|
|
462
|
+
"lastWatchedAgo": "{{age}} ago",
|
|
463
|
+
"loadError": "Couldn't load watchers",
|
|
464
|
+
"title": "Watchers"
|
|
465
|
+
}
|
|
466
|
+
},
|
|
467
|
+
"genres": {
|
|
468
|
+
"title": "Genres",
|
|
469
|
+
"subtitle": "Plays and watch time by genre, across every server in view.",
|
|
470
|
+
"chart": {
|
|
471
|
+
"title": "Plays by genre",
|
|
472
|
+
"valueLabel": "Plays",
|
|
473
|
+
"itemCount_one": "{{count}} title",
|
|
474
|
+
"itemCount_other": "{{count}} titles",
|
|
475
|
+
"ariaLabel": "Bar chart of plays by genre, sorted highest to lowest. The full breakdown is available in the table below."
|
|
476
|
+
},
|
|
477
|
+
"table": {
|
|
478
|
+
"title": "Genre breakdown",
|
|
479
|
+
"columns": {
|
|
480
|
+
"genre": "Genre",
|
|
481
|
+
"items": "Items",
|
|
482
|
+
"plays": "Plays",
|
|
483
|
+
"watchTime": "Watch time"
|
|
484
|
+
},
|
|
485
|
+
"browseMovies": "Browse {{genre}} movies",
|
|
486
|
+
"browseShows": "Browse {{genre}} shows"
|
|
487
|
+
},
|
|
488
|
+
"empty": {
|
|
489
|
+
"title": "No genres captured yet",
|
|
490
|
+
"description": "Genres come from your media servers' metadata sync. Check back after the next sync completes."
|
|
491
|
+
},
|
|
492
|
+
"loadError": "Couldn't load genres"
|
|
493
|
+
},
|
|
494
|
+
"grid": {
|
|
495
|
+
"clearJumpAction": "Clear",
|
|
496
|
+
"emptyAnchored": "Nothing at or after \"{{letter}}\" under these filters",
|
|
497
|
+
"emptyFilter": "No titles match these filters",
|
|
498
|
+
"emptySearch": "No titles match \"{{query}}\"",
|
|
499
|
+
"loadError": "Couldn't load the catalog",
|
|
500
|
+
"loaderError": "Couldn't load more titles",
|
|
501
|
+
"retry": "Retry",
|
|
502
|
+
"scrubber": {
|
|
503
|
+
"label": "Jump to letter",
|
|
504
|
+
"current": "Letter {{letter}}"
|
|
505
|
+
},
|
|
506
|
+
"showAll": "Show all",
|
|
507
|
+
"showingFrom": "Showing from {{letter}}",
|
|
508
|
+
"toolbar": {
|
|
509
|
+
"ariaLabel": "Filters and sort",
|
|
510
|
+
"count": "{{loaded}} of {{total}} titles · {{size}}",
|
|
511
|
+
"done": "Done",
|
|
512
|
+
"filtersLabel": "Filters",
|
|
513
|
+
"filtersSheetTitle": "Filters",
|
|
514
|
+
"genreAll": "Any genre",
|
|
515
|
+
"genreLabel": "Genre",
|
|
516
|
+
"moviesToggle": "Movies",
|
|
517
|
+
"removeFilter": "Remove {{label}} filter",
|
|
518
|
+
"resolutionAll": "Any resolution",
|
|
519
|
+
"hdrLabel": "Dynamic range",
|
|
520
|
+
"hdrAll": "Any",
|
|
521
|
+
"hdrOnly": "HDR only",
|
|
522
|
+
"hdrChip": "HDR",
|
|
523
|
+
"resolutionLabel": "Resolution",
|
|
524
|
+
"searchLabel": "Search titles",
|
|
525
|
+
"searchPlaceholder": "Search titles…",
|
|
526
|
+
"serverAll": "Any server",
|
|
527
|
+
"libraryLabel": "Library",
|
|
528
|
+
"libraryAll": "Any library",
|
|
529
|
+
"serverLabel": "Server",
|
|
530
|
+
"showsToggle": "Shows",
|
|
531
|
+
"sort": {
|
|
532
|
+
"added": "Recently added",
|
|
533
|
+
"plays": "Plays",
|
|
534
|
+
"title": "Title A–Z",
|
|
535
|
+
"viewers": "Viewers",
|
|
536
|
+
"watch_time": "Watch time",
|
|
537
|
+
"year": "Year"
|
|
538
|
+
},
|
|
539
|
+
"sortLabel": "Sort",
|
|
540
|
+
"typeLabel": "Media type",
|
|
541
|
+
"unwatchedByLens": "Unwatched by {{name}}",
|
|
542
|
+
"watched": {
|
|
543
|
+
"all": "All",
|
|
544
|
+
"partial": "Partially watched",
|
|
545
|
+
"unwatched": "Unwatched",
|
|
546
|
+
"watched": "Watched"
|
|
547
|
+
},
|
|
548
|
+
"watchedLabel": "Watched",
|
|
549
|
+
"yearFromLabel": "From year",
|
|
550
|
+
"yearToLabel": "To year",
|
|
551
|
+
"sizeGbMinLabel": "Min size (GB)",
|
|
552
|
+
"sizeGbMaxLabel": "Max size (GB)",
|
|
553
|
+
"sizeChipAtLeast": "≥ {{min}} GB",
|
|
554
|
+
"sizeChipAtMost": "≤ {{max}} GB",
|
|
555
|
+
"sizeChipRange": "{{min}}–{{max}} GB",
|
|
556
|
+
"countTotal_one": "{{count}} title · {{size}}",
|
|
557
|
+
"countTotal_other": "{{count}} titles · {{size}}"
|
|
558
|
+
}
|
|
559
|
+
},
|
|
560
|
+
"landing": {
|
|
561
|
+
"card": {
|
|
562
|
+
"addedAgo": "hozzáadva {{date}}",
|
|
563
|
+
"addedCompactAgo": "added {{age}} ago",
|
|
564
|
+
"newEpisodesChip": "{{count}} new",
|
|
565
|
+
"newEpisodes_one": "{{count}} új epizód",
|
|
566
|
+
"newEpisodes_other": "{{count}} új epizód"
|
|
567
|
+
},
|
|
568
|
+
"deadWeight": {
|
|
569
|
+
"columns": {
|
|
570
|
+
"added": "Added",
|
|
571
|
+
"poster": "Poster",
|
|
572
|
+
"servers": "Servers",
|
|
573
|
+
"size": "Size",
|
|
574
|
+
"title": "Title"
|
|
575
|
+
},
|
|
576
|
+
"empty": "Nothing to reclaim - everything in your library has been watched",
|
|
577
|
+
"summary": "{{count}} never-watched titles · {{size}}",
|
|
578
|
+
"title": "Dead Weight",
|
|
579
|
+
"viewAll": "View all",
|
|
580
|
+
"viewAllTooltip": "Coming soon"
|
|
581
|
+
},
|
|
582
|
+
"lens": {
|
|
583
|
+
"allUsers": "Minden felhasználó",
|
|
584
|
+
"label": "Megtekintés mint"
|
|
585
|
+
},
|
|
586
|
+
"loadError": "Couldn't load your media library",
|
|
587
|
+
"shelves": {
|
|
588
|
+
"captionMostPopular": {
|
|
589
|
+
"all": "all time",
|
|
590
|
+
"custom": "selected date range",
|
|
591
|
+
"day": "today",
|
|
592
|
+
"month": "last 30 days",
|
|
593
|
+
"week": "last 7 days",
|
|
594
|
+
"year": "last 12 months"
|
|
595
|
+
},
|
|
596
|
+
"captionRecentlyAdded": "deduped across servers",
|
|
597
|
+
"emptyMostPopular": "No plays in this period",
|
|
598
|
+
"emptyRecentlyAdded": "Nothing added in this period",
|
|
599
|
+
"mostPopularMovies": "Most Popular Movies",
|
|
600
|
+
"mostPopularShows": "Most Popular Shows",
|
|
601
|
+
"recentlyAddedMovies": "Recently Added Movies",
|
|
602
|
+
"recentlyAddedShows": "Recently Added Shows"
|
|
603
|
+
},
|
|
604
|
+
"title": "Media"
|
|
605
|
+
},
|
|
606
|
+
"movies": {
|
|
607
|
+
"title": "Movies"
|
|
608
|
+
},
|
|
609
|
+
"posterCard": {
|
|
610
|
+
"addedLabel": "Hozzáadva {{date}}",
|
|
611
|
+
"onServers": "Ezeken: {{servers}}",
|
|
612
|
+
"playsCompact_one": "{{compact}} play",
|
|
613
|
+
"playsCompact_other": "{{compact}} plays",
|
|
614
|
+
"plays_one": "{{count}} lejátszás",
|
|
615
|
+
"plays_other": "{{count}} lejátszás",
|
|
616
|
+
"rankChip": "#{{rank}}",
|
|
617
|
+
"rankSuffix": ", {{rank}}. hely",
|
|
618
|
+
"tileLabel": {
|
|
619
|
+
"added": "hozzáadva",
|
|
620
|
+
"plays": "lejátszás",
|
|
621
|
+
"resolution": "resolution",
|
|
622
|
+
"viewers": "nézők"
|
|
623
|
+
},
|
|
624
|
+
"versionsChip": "{{count}}×",
|
|
625
|
+
"versions_one": "{{count}} version",
|
|
626
|
+
"versions_other": "{{count}} versions",
|
|
627
|
+
"viewers_one": "{{count}} néző",
|
|
628
|
+
"viewers_other": "{{count}} néző",
|
|
629
|
+
"watchedState": {
|
|
630
|
+
"partial": "Részben megnézve",
|
|
631
|
+
"watched": "Megnézve",
|
|
632
|
+
"watchedByOthers": "Watched by others",
|
|
633
|
+
"watchedByYou": "Watched by you"
|
|
634
|
+
},
|
|
635
|
+
"moreServers": "+{{count}} more"
|
|
636
|
+
},
|
|
637
|
+
"shows": {
|
|
638
|
+
"title": "Shows"
|
|
639
|
+
}
|
|
640
|
+
},
|
|
641
|
+
"notFound": {
|
|
642
|
+
"description": "The page you're looking for doesn't exist or has been moved.",
|
|
643
|
+
"heading": "Page Not Found",
|
|
644
|
+
"title": "404"
|
|
645
|
+
},
|
|
646
|
+
"plexCallback": {
|
|
647
|
+
"authComplete": "Authentication complete",
|
|
648
|
+
"windowWillClose": "This window will close automatically..."
|
|
649
|
+
},
|
|
650
|
+
"rules": {
|
|
651
|
+
"accountInactivity": "Account Inactivity",
|
|
652
|
+
"accountInactivityDesc": "Get notified when users have not watched anything for a specified period",
|
|
653
|
+
"addRule": "Add Rule",
|
|
654
|
+
"allowed": "Allowed",
|
|
655
|
+
"allowedCountries": "Allowed Countries",
|
|
656
|
+
"allowlist": "Allowlist (only allow these countries)",
|
|
657
|
+
"allowlistNote": "Streams from any other country will trigger a violation.",
|
|
658
|
+
"blocked": "Blocked",
|
|
659
|
+
"blockedCountries": "Blocked Countries",
|
|
660
|
+
"blocklist": "Blocklist (block these countries)",
|
|
661
|
+
"chooseTemplate": "Choose a Rule Template",
|
|
662
|
+
"chooseTemplateDesc": "Select a pre-configured rule type to get started quickly.",
|
|
663
|
+
"classicRule": "Classic Rule",
|
|
664
|
+
"concurrentStreams": "Concurrent Streams",
|
|
665
|
+
"concurrentStreamsDesc": "Limit the number of simultaneous streams per user",
|
|
666
|
+
"createDescription": "Configure a new detection rule for your media servers.",
|
|
667
|
+
"createFirstRule": "Create your first detection rule to start monitoring for account sharing.",
|
|
668
|
+
"createRule": "Create Rule",
|
|
669
|
+
"customRule": "Custom Rule",
|
|
670
|
+
"days": "Days",
|
|
671
|
+
"deleteRule": "Delete Rule",
|
|
672
|
+
"deleteRuleConfirm": "Are you sure you want to delete this rule? This action cannot be undone.",
|
|
673
|
+
"deleteRule_one": "Delete {{count}} Rule",
|
|
674
|
+
"deleteRule_other": "Delete {{count}} Rules",
|
|
675
|
+
"deleteRulesConfirm": "Are you sure you want to delete? This action cannot be undone.",
|
|
676
|
+
"description": "Configure detection rules for account sharing and policy violations",
|
|
677
|
+
"deviceVelocity": "Device Velocity",
|
|
678
|
+
"deviceVelocityDesc": "Detect when a user connects from too many IPs in a time window",
|
|
679
|
+
"disable": "Disable",
|
|
680
|
+
"editRule": "Edit Rule",
|
|
681
|
+
"enable": "Enable",
|
|
682
|
+
"excludeLocalNetwork": "Exclude Local Network",
|
|
683
|
+
"excludeLocalNetworkDesc": "Ignore sessions from local/private IPs (e.g., 192.168.x.x, 10.x.x.x)",
|
|
684
|
+
"geoRestriction": "Geo Restriction",
|
|
685
|
+
"geoRestrictionDesc": "Block streaming from specific countries",
|
|
686
|
+
"groupByDevice": "Group by Device",
|
|
687
|
+
"groupByDeviceDesc": "Count by device instead of IP. Prevents false positives from VPN, DHCP, or Virtual Channels.",
|
|
688
|
+
"impossibleTravel": "Impossible Travel",
|
|
689
|
+
"impossibleTravelDesc": "Detect when a user streams from locations too far apart in a short time",
|
|
690
|
+
"inactiveFor": "Inactive for {{value}} {{unit}}",
|
|
691
|
+
"inactivityNote": "Creates an alert when a user has not watched anything for this period. Checks run hourly.",
|
|
692
|
+
"inactivityPeriod": "Inactivity Period",
|
|
693
|
+
"maxIps": "Max IPs",
|
|
694
|
+
"maxIpsDefault": "Maximum unique IPs allowed within the time window. Default: 5 IPs in 24 hours",
|
|
695
|
+
"maxSpeed": "Max Speed ({{unit}})",
|
|
696
|
+
"recordsOnly": "Records violations only",
|
|
697
|
+
"maxSpeedDefault": "Maximum realistic travel speed. Default: {{value}} {{unit}} (airplane speed)",
|
|
698
|
+
"maxStreams": "Max Streams",
|
|
699
|
+
"maxStreamsDefault": "Maximum simultaneous streams per user. Default: 3",
|
|
700
|
+
"minDistance": "Min Distance ({{unit}})",
|
|
701
|
+
"minDistanceDefault": "Minimum distance between locations to trigger. Default: {{value}} {{unit}}",
|
|
702
|
+
"mode": "Mode",
|
|
703
|
+
"months": "Months",
|
|
704
|
+
"noRulesConfigured": "No rules configured",
|
|
705
|
+
"none": "None",
|
|
706
|
+
"ruleName": "Rule Name",
|
|
707
|
+
"ruleNamePlaceholder": "e.g., Concurrent Stream Limit",
|
|
708
|
+
"ruleType": "Rule Type",
|
|
709
|
+
"selectAllowedCountries": "Select allowed countries...",
|
|
710
|
+
"selectCountriesToBlock": "Select countries to block...",
|
|
711
|
+
"simultaneousLocations": "Simultaneous Locations",
|
|
712
|
+
"simultaneousLocationsDesc": "Detect when a user streams from multiple distant locations at once",
|
|
713
|
+
"timeWindow": "Time Window (hours)",
|
|
714
|
+
"title": "Rules",
|
|
715
|
+
"unit": "Unit",
|
|
716
|
+
"updateDescription": "Update the rule configuration below.",
|
|
717
|
+
"updateRule": "Update Rule",
|
|
718
|
+
"weeks": "Weeks"
|
|
719
|
+
},
|
|
720
|
+
"settings": {
|
|
721
|
+
"jobs": {
|
|
722
|
+
"lastRun": "Last run",
|
|
723
|
+
"nextRun": "Next run",
|
|
724
|
+
"runNow": "Run Now",
|
|
725
|
+
"running": "Running...",
|
|
726
|
+
"schedule": "Schedule"
|
|
727
|
+
},
|
|
728
|
+
"mobile": {
|
|
729
|
+
"displayName": "Display Name",
|
|
730
|
+
"displayNamePlaceholder": "e.g., My iPhone",
|
|
731
|
+
"editDisplayName": "Edit Display Name",
|
|
732
|
+
"editDisplayNameDesc": "Change how this device appears in your device list",
|
|
733
|
+
"updating": "Updating..."
|
|
734
|
+
},
|
|
735
|
+
"notifications": {
|
|
736
|
+
"addAgent": "Add Notification Agent",
|
|
737
|
+
"addAgentDesc": "Choose a notification service and configure it.",
|
|
738
|
+
"agentType": "Agent Type",
|
|
739
|
+
"allAgentsConfigured": "All notification agents are already configured.",
|
|
740
|
+
"allEvents": "All Events",
|
|
741
|
+
"currentlyConfigured": "{{name}} is currently configured.",
|
|
742
|
+
"customEvents": "Custom Events",
|
|
743
|
+
"description": "Configure notification channels and select which events each agent should receive.",
|
|
744
|
+
"editAgent": "Edit Notification Agent",
|
|
745
|
+
"editAgentDesc": "Update the notification agent configuration.",
|
|
746
|
+
"eventSelection": "Event Selection",
|
|
747
|
+
"loadingSettings": "Loading notification settings...",
|
|
748
|
+
"noAgents": "No notification agents configured",
|
|
749
|
+
"noAgentsHint": "Add an agent to receive notifications about sharing violations and stream events.",
|
|
750
|
+
"noConfigNeeded": "No configuration needed for this agent.",
|
|
751
|
+
"oneWebhookLimit": "Only one webhook agent can be active at a time.",
|
|
752
|
+
"removeAgentDesc": "This will remove {{name}} and disable all its notifications. You can add it back later.",
|
|
753
|
+
"removeAgentTitle": "Remove {{name}}?",
|
|
754
|
+
"saveAgent": "Add Agent",
|
|
755
|
+
"selectType": "Select type...",
|
|
756
|
+
"testAgent": "Test Agent",
|
|
757
|
+
"testingAgent": "Testing...",
|
|
758
|
+
"title": "Notification Agents",
|
|
759
|
+
"triggerEvents": "Trigger Events",
|
|
760
|
+
"updateAgent": "Update Agent",
|
|
761
|
+
"webhookAgents": "Webhook Agents",
|
|
762
|
+
"webhookUrl": "Webhook URL",
|
|
763
|
+
"webhookUrlPlaceholder": "https://..."
|
|
764
|
+
},
|
|
765
|
+
"plex": {
|
|
766
|
+
"accountsLinked_one": "{{count}} Plex account linked",
|
|
767
|
+
"accountsLinked_other": "{{count}} Plex accounts linked",
|
|
768
|
+
"connectingTo": "Connecting to {{name}}...",
|
|
769
|
+
"connectionError": {
|
|
770
|
+
"dns": "DNS error",
|
|
771
|
+
"http": "HTTP {{status}}",
|
|
772
|
+
"refused": "Connection refused",
|
|
773
|
+
"reset": "Connection reset",
|
|
774
|
+
"timeout": "Timed out",
|
|
775
|
+
"tls": "TLS error",
|
|
776
|
+
"unknown": "Connection failed",
|
|
777
|
+
"unreachable": "Host unreachable"
|
|
778
|
+
},
|
|
779
|
+
"connectionsAvailable": "{{count}} connections available",
|
|
780
|
+
"connectionsReachable": "{{reachable}} of {{total}} connections reachable",
|
|
781
|
+
"custom": "Custom",
|
|
782
|
+
"customUrl": "Custom URL",
|
|
783
|
+
"deleteServersFirst": "Delete connected servers first to unlink this account",
|
|
784
|
+
"hideFiltered": "Hide filtered",
|
|
785
|
+
"linkAnotherAccount": "Link Another Plex Account",
|
|
786
|
+
"linkPlexAccount": "Link Plex Account",
|
|
787
|
+
"linkedAccounts": "Linked Plex Accounts",
|
|
788
|
+
"linkedAccountsDesc": "Manage the Plex accounts you can add servers from.",
|
|
789
|
+
"linking": "Linking...",
|
|
790
|
+
"local": "Local",
|
|
791
|
+
"loginEnabled": "Login Enabled",
|
|
792
|
+
"mayNotConnect": "May not connect",
|
|
793
|
+
"moreConnections": "+{{count}} more connections",
|
|
794
|
+
"noAccountsLinked": "No Plex Accounts Linked",
|
|
795
|
+
"noAccountsLinkedHint": "Link a Plex account to add Plex servers to Tracearr.",
|
|
796
|
+
"noAccountsLinkedShort": "No Plex accounts linked",
|
|
797
|
+
"noAccountsYet": "No Plex accounts linked yet.",
|
|
798
|
+
"noReachableConnections": "No reachable connections",
|
|
799
|
+
"noServersFound": "No Plex servers found",
|
|
800
|
+
"noServersFoundHint": "Make sure you own at least one Plex server",
|
|
801
|
+
"recommended": "Recommended",
|
|
802
|
+
"remote": "Remote",
|
|
803
|
+
"secure": "Secure",
|
|
804
|
+
"serversConnected_one": "{{count}} server connected",
|
|
805
|
+
"serversConnected_other": "{{count}} servers connected",
|
|
806
|
+
"showAll": "Show all",
|
|
807
|
+
"unlinkAccount": "Unlink this Plex account",
|
|
808
|
+
"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.",
|
|
809
|
+
"unlinkPlexAccount": "Unlink Plex Account"
|
|
810
|
+
}
|
|
811
|
+
},
|
|
812
|
+
"statsBandwidth": {
|
|
813
|
+
"avgBitrate": "Avg Bitrate",
|
|
814
|
+
"avgBitrateMbps": "Avg Bitrate (Mbps)",
|
|
815
|
+
"dailyUsage": "Daily Bandwidth Usage",
|
|
816
|
+
"dailyUsageDesc": "Average bitrate and session count over time",
|
|
817
|
+
"dataTransferred": "Data Transferred",
|
|
818
|
+
"description": "Streaming bandwidth usage and bitrate analysis",
|
|
819
|
+
"noData": "No bandwidth data available",
|
|
820
|
+
"peakBitrate": "Peak: {{value}} Mbps",
|
|
821
|
+
"title": "Bandwidth",
|
|
822
|
+
"topUsers": "Top Bandwidth Users",
|
|
823
|
+
"topUsersDesc": "Users consuming the most bandwidth",
|
|
824
|
+
"totalWatchTime": "Total Watch Time",
|
|
825
|
+
"uniqueUsers": "Unique Users"
|
|
826
|
+
},
|
|
827
|
+
"statsUsers": {
|
|
828
|
+
"noActivity": "No activity yet",
|
|
829
|
+
"noActivityDesc": "Start streaming to see your top users here",
|
|
830
|
+
"runnersUp": "Runners Up",
|
|
831
|
+
"top3": "Top 3"
|
|
832
|
+
},
|
|
833
|
+
"terminateStream": {
|
|
834
|
+
"killStream": "Kill Stream",
|
|
835
|
+
"messageHint": "This message will be shown to them during playback",
|
|
836
|
+
"messageLabel": "Message to user (optional)",
|
|
837
|
+
"messagePlaceholder": "e.g., Please don't share your account",
|
|
838
|
+
"stopMedia": "Stop \"{{mediaTitle}}\" for @{{username}}?",
|
|
839
|
+
"terminating": "Terminating...",
|
|
840
|
+
"title": "Terminate Stream"
|
|
841
|
+
},
|
|
842
|
+
"userDetail": {
|
|
843
|
+
"acrossAllServers": "Across all linked accounts:",
|
|
844
|
+
"adjustTrustScore": "Adjust Trust Score",
|
|
845
|
+
"allServers": "All servers",
|
|
846
|
+
"backToUsers": "Back to Users",
|
|
847
|
+
"byRule": "By / Rule",
|
|
848
|
+
"linkedAccounts": "Linked accounts",
|
|
849
|
+
"locations": "Locations",
|
|
850
|
+
"manual": "Manual",
|
|
851
|
+
"noSessionsFound": "No sessions found for this user.",
|
|
852
|
+
"noTerminationsFound": "No stream terminations for this user.",
|
|
853
|
+
"noViolationsFound": "No violations for this user.",
|
|
854
|
+
"overallTrust": "Overall Trust",
|
|
855
|
+
"serverScope": "Server",
|
|
856
|
+
"sessions": "Sessions",
|
|
857
|
+
"splitAccount": "Split into separate user",
|
|
858
|
+
"splitConfirmDescription": "Detach this server account into its own user. Its watch history and violations move with it.",
|
|
859
|
+
"splitConfirmLoading": "Splitting...",
|
|
860
|
+
"splitConfirmTitle": "Split server account",
|
|
861
|
+
"statistics": "Statistics",
|
|
862
|
+
"terminationHistory": "Termination History",
|
|
863
|
+
"unknownRule": "Unknown rule",
|
|
864
|
+
"userInfo": "User Info",
|
|
865
|
+
"userNotFound": "User not found",
|
|
866
|
+
"violations": "Violations"
|
|
867
|
+
},
|
|
868
|
+
"users": {
|
|
869
|
+
"mergeConfirm": "Merge",
|
|
870
|
+
"mergeDialogDescription": "Every server account, session, and violation from the duplicate moves to the primary. The duplicate identity is deleted.",
|
|
871
|
+
"mergeDialogTitle": "Merge users",
|
|
872
|
+
"mergePickPrimary": "Choose the primary identity",
|
|
873
|
+
"mergePrimaryBadge": "Primary",
|
|
874
|
+
"mergePrimaryForced": "This account can log in, so it must stay the primary.",
|
|
875
|
+
"mergeSameIdentity": "These accounts already belong to the same user",
|
|
876
|
+
"mergeSameServerAcknowledge": "I understand the same-server history combine cannot be undone",
|
|
877
|
+
"mergeSameServerDialogDescription": "This merge permanently combines both accounts on the same server. It cannot be undone.",
|
|
878
|
+
"mergeSameServerFallbackName": "this server",
|
|
879
|
+
"mergeSameServerWarning": "Both identities already have an account on the same server. Merging will permanently combine their session history, violations, and trust score into a single account on that server. This cannot be undone, and splitting the account afterward will not restore the original two accounts.",
|
|
880
|
+
"mergeSameServerWarningTitle": "This action is irreversible",
|
|
881
|
+
"mergeSelectAllActive": "Clear the select-all selection and pick exactly two users to merge",
|
|
882
|
+
"mergeSelectTwo": "Select exactly two users to merge",
|
|
883
|
+
"mergeServerAccountRemoved": "Removed",
|
|
884
|
+
"mergeUsers": "Merge users",
|
|
885
|
+
"noUsersFound": "No users found.",
|
|
886
|
+
"resetTrustScore": "Reset Trust Score",
|
|
887
|
+
"resetTrustScoreConfirm": "Are you sure you want to reset the trust score to 100? This action cannot be undone.",
|
|
888
|
+
"resetTrustScoreTitle_one": "Reset Trust Score for {{count}} User",
|
|
889
|
+
"resetTrustScoreTitle_other": "Reset Trust Score for {{count}} Users",
|
|
890
|
+
"searchPlaceholder": "Search users...",
|
|
891
|
+
"selectAllUsers": "Select all {{count}} users",
|
|
892
|
+
"serversColumn": "Servers",
|
|
893
|
+
"showRemoved": "Show removed",
|
|
894
|
+
"suggestionsDescription": "These identities look like the same person across servers. Review and merge them if they match.",
|
|
895
|
+
"suggestionsError": "Could not load merge suggestions",
|
|
896
|
+
"suggestionsMatchEmail": "Same email",
|
|
897
|
+
"suggestionsMatchUsername": "Same username",
|
|
898
|
+
"suggestionsReview": "Review",
|
|
899
|
+
"suggestionsTitle": "Possible duplicate users",
|
|
900
|
+
"title": "Users"
|
|
901
|
+
},
|
|
902
|
+
"violations": {
|
|
903
|
+
"allClear": "All Clear",
|
|
904
|
+
"allPeople": "All people",
|
|
905
|
+
"allSeverities": "All Severities",
|
|
906
|
+
"allStatuses": "All Statuses",
|
|
907
|
+
"detail": {
|
|
908
|
+
"acknowledged": "Visszaigazolva",
|
|
909
|
+
"actions": "Actions Taken",
|
|
910
|
+
"actual": "Actual",
|
|
911
|
+
"conditionEvidence": "Condition Evidence",
|
|
912
|
+
"conditionGroup": "Condition Group {{index}}",
|
|
913
|
+
"created": "Created",
|
|
914
|
+
"daysInactive": "Days Inactive",
|
|
915
|
+
"detected": "Detected",
|
|
916
|
+
"inactivity": "Inactivity Details",
|
|
917
|
+
"lastActivity": "Last Activity",
|
|
918
|
+
"map": "Session Locations",
|
|
919
|
+
"matched": "{{matched}}/{{total}} matched",
|
|
920
|
+
"neverActive": "Never active",
|
|
921
|
+
"noSessions": "No sessions associated with this violation",
|
|
922
|
+
"notFound": "Violation not found",
|
|
923
|
+
"relatedSessions": "{{count}} related session",
|
|
924
|
+
"relatedSessions_one": "{{count}} related session",
|
|
925
|
+
"relatedSessions_other": "{{count}} related sessions",
|
|
926
|
+
"sessions": "Sessions",
|
|
927
|
+
"threshold": "Threshold",
|
|
928
|
+
"timestamps": "Timestamps",
|
|
929
|
+
"trigger": "Trigger",
|
|
930
|
+
"userInfo": "Felhasználó",
|
|
931
|
+
"violationDetails": "Violation Details"
|
|
932
|
+
},
|
|
933
|
+
"dismissViolation": "Dismiss Violation",
|
|
934
|
+
"dismissViolationConfirm": "Are you sure you want to dismiss this violation? This will remove it from the violation log permanently.",
|
|
935
|
+
"dismissViolation_one": "Dismiss {{count}} Violation",
|
|
936
|
+
"dismissViolation_other": "Dismiss {{count}} Violations",
|
|
937
|
+
"dismissViolationsConfirm": "Are you sure you want to dismiss? This will remove them from the violation log permanently and restore associated trust scores.",
|
|
938
|
+
"filterByPerson": "Filter violations by this person",
|
|
939
|
+
"filterPeople": "People",
|
|
940
|
+
"noMatches": "No Matches",
|
|
941
|
+
"noViolationsDetected": "No rule violations detected",
|
|
942
|
+
"noViolationsFound": "No violations found",
|
|
943
|
+
"noViolationsRecorded": "No violations have been recorded yet.",
|
|
944
|
+
"peopleSelectedCount": "{{count}} people",
|
|
945
|
+
"personFilterEmpty": "No matching people found",
|
|
946
|
+
"personFilterError": "Failed to load people",
|
|
947
|
+
"personFilterPlaceholder": "Filter by person",
|
|
948
|
+
"selectAllViolations": "Select all {{count}} violations matching filters",
|
|
949
|
+
"title": "Violations",
|
|
950
|
+
"tryAdjustingFilters": "Try adjusting your filters",
|
|
951
|
+
"violationLog": "Violation Log"
|
|
952
|
+
}
|
|
953
|
+
}
|