@tracearr/translations 2.2.0-beta.2 → 2.2.0-beta.3
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/dist/config.d.ts +3349 -1105
- package/dist/config.d.ts.map +1 -1
- package/dist/config.mobile.d.ts +3349 -1105
- package/dist/config.mobile.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/locales/af-ZA/common.json +282 -250
- package/dist/locales/af-ZA/nav.json +21 -17
- package/dist/locales/af-ZA/notifications.json +22 -38
- package/dist/locales/af-ZA/pages.json +1170 -97
- package/dist/locales/af-ZA/settings.json +455 -426
- package/dist/locales/ar-SA/common.json +282 -250
- package/dist/locales/ar-SA/nav.json +21 -17
- package/dist/locales/ar-SA/notifications.json +22 -38
- package/dist/locales/ar-SA/pages.json +1170 -97
- package/dist/locales/ar-SA/settings.json +455 -426
- package/dist/locales/ca-ES/common.json +282 -250
- package/dist/locales/ca-ES/nav.json +21 -17
- package/dist/locales/ca-ES/notifications.json +22 -38
- package/dist/locales/ca-ES/pages.json +1170 -97
- package/dist/locales/ca-ES/settings.json +455 -426
- package/dist/locales/cs-CZ/common.json +282 -250
- package/dist/locales/cs-CZ/nav.json +21 -17
- package/dist/locales/cs-CZ/notifications.json +22 -38
- package/dist/locales/cs-CZ/pages.json +1170 -97
- package/dist/locales/cs-CZ/settings.json +455 -426
- package/dist/locales/da-DK/common.json +282 -250
- package/dist/locales/da-DK/nav.json +21 -17
- package/dist/locales/da-DK/notifications.json +22 -38
- package/dist/locales/da-DK/pages.json +1170 -97
- package/dist/locales/da-DK/settings.json +455 -426
- package/dist/locales/de-DE/common.json +282 -250
- package/dist/locales/de-DE/nav.json +21 -17
- package/dist/locales/de-DE/notifications.json +22 -38
- package/dist/locales/de-DE/pages.json +1170 -97
- package/dist/locales/de-DE/settings.json +455 -426
- package/dist/locales/el-GR/common.json +282 -250
- package/dist/locales/el-GR/nav.json +21 -17
- package/dist/locales/el-GR/notifications.json +22 -38
- package/dist/locales/el-GR/pages.json +1170 -97
- package/dist/locales/el-GR/settings.json +455 -426
- package/dist/locales/en/common.json +36 -4
- package/dist/locales/en/nav.json +6 -2
- package/dist/locales/en/notifications.json +13 -29
- package/dist/locales/en/pages.json +1187 -114
- package/dist/locales/en/settings.json +31 -2
- package/dist/locales/en-US/common.json +282 -250
- package/dist/locales/en-US/nav.json +21 -17
- package/dist/locales/en-US/notifications.json +22 -38
- package/dist/locales/en-US/pages.json +1170 -97
- package/dist/locales/en-US/settings.json +455 -426
- package/dist/locales/es-ES/common.json +282 -250
- package/dist/locales/es-ES/nav.json +21 -17
- package/dist/locales/es-ES/notifications.json +22 -38
- package/dist/locales/es-ES/pages.json +1170 -97
- package/dist/locales/es-ES/settings.json +455 -426
- package/dist/locales/fi-FI/common.json +282 -250
- package/dist/locales/fi-FI/nav.json +21 -17
- package/dist/locales/fi-FI/notifications.json +22 -38
- package/dist/locales/fi-FI/pages.json +1170 -97
- package/dist/locales/fi-FI/settings.json +455 -426
- package/dist/locales/fr-FR/common.json +282 -250
- package/dist/locales/fr-FR/nav.json +21 -17
- package/dist/locales/fr-FR/notifications.json +22 -38
- package/dist/locales/fr-FR/pages.json +1170 -97
- package/dist/locales/fr-FR/settings.json +455 -426
- package/dist/locales/he-IL/common.json +282 -250
- package/dist/locales/he-IL/nav.json +21 -17
- package/dist/locales/he-IL/notifications.json +22 -38
- package/dist/locales/he-IL/pages.json +1170 -97
- package/dist/locales/he-IL/settings.json +455 -426
- package/dist/locales/hu-HU/common.json +282 -250
- package/dist/locales/hu-HU/nav.json +21 -17
- package/dist/locales/hu-HU/notifications.json +22 -38
- package/dist/locales/hu-HU/pages.json +1170 -97
- package/dist/locales/hu-HU/settings.json +455 -426
- package/dist/locales/it-IT/common.json +282 -250
- package/dist/locales/it-IT/nav.json +21 -17
- package/dist/locales/it-IT/notifications.json +22 -38
- package/dist/locales/it-IT/pages.json +1170 -97
- package/dist/locales/it-IT/settings.json +455 -426
- package/dist/locales/ja-JP/common.json +282 -250
- package/dist/locales/ja-JP/nav.json +21 -17
- package/dist/locales/ja-JP/notifications.json +22 -38
- package/dist/locales/ja-JP/pages.json +1170 -97
- package/dist/locales/ja-JP/settings.json +455 -426
- package/dist/locales/ko-KR/common.json +282 -250
- package/dist/locales/ko-KR/nav.json +21 -17
- package/dist/locales/ko-KR/notifications.json +22 -38
- package/dist/locales/ko-KR/pages.json +1170 -97
- package/dist/locales/ko-KR/settings.json +455 -426
- package/dist/locales/nl-NL/common.json +282 -250
- package/dist/locales/nl-NL/nav.json +21 -17
- package/dist/locales/nl-NL/notifications.json +22 -38
- package/dist/locales/nl-NL/pages.json +1170 -97
- package/dist/locales/nl-NL/settings.json +455 -426
- package/dist/locales/no-NO/common.json +282 -250
- package/dist/locales/no-NO/nav.json +21 -17
- package/dist/locales/no-NO/notifications.json +22 -38
- package/dist/locales/no-NO/pages.json +1170 -97
- package/dist/locales/no-NO/settings.json +455 -426
- package/dist/locales/pl-PL/common.json +282 -250
- package/dist/locales/pl-PL/nav.json +21 -17
- package/dist/locales/pl-PL/notifications.json +22 -38
- package/dist/locales/pl-PL/pages.json +1170 -97
- package/dist/locales/pl-PL/settings.json +455 -426
- package/dist/locales/pt-BR/common.json +282 -250
- package/dist/locales/pt-BR/nav.json +21 -17
- package/dist/locales/pt-BR/notifications.json +22 -38
- package/dist/locales/pt-BR/pages.json +1170 -97
- package/dist/locales/pt-BR/settings.json +455 -426
- package/dist/locales/pt-PT/common.json +282 -250
- package/dist/locales/pt-PT/nav.json +21 -17
- package/dist/locales/pt-PT/notifications.json +22 -38
- package/dist/locales/pt-PT/pages.json +1170 -97
- package/dist/locales/pt-PT/settings.json +455 -426
- package/dist/locales/ro-RO/common.json +282 -250
- package/dist/locales/ro-RO/nav.json +21 -17
- package/dist/locales/ro-RO/notifications.json +22 -38
- package/dist/locales/ro-RO/pages.json +1170 -97
- package/dist/locales/ro-RO/settings.json +455 -426
- package/dist/locales/ru-RU/common.json +282 -250
- package/dist/locales/ru-RU/nav.json +21 -17
- package/dist/locales/ru-RU/notifications.json +22 -38
- package/dist/locales/ru-RU/pages.json +1170 -97
- package/dist/locales/ru-RU/settings.json +455 -426
- package/dist/locales/sr-SP/common.json +282 -250
- package/dist/locales/sr-SP/nav.json +21 -17
- package/dist/locales/sr-SP/notifications.json +22 -38
- package/dist/locales/sr-SP/pages.json +1170 -97
- package/dist/locales/sr-SP/settings.json +455 -426
- package/dist/locales/sv-SE/common.json +282 -250
- package/dist/locales/sv-SE/nav.json +21 -17
- package/dist/locales/sv-SE/notifications.json +22 -38
- package/dist/locales/sv-SE/pages.json +1170 -97
- package/dist/locales/sv-SE/settings.json +455 -426
- package/dist/locales/tr-TR/common.json +282 -250
- package/dist/locales/tr-TR/nav.json +21 -17
- package/dist/locales/tr-TR/notifications.json +22 -38
- package/dist/locales/tr-TR/pages.json +1170 -97
- package/dist/locales/tr-TR/settings.json +455 -426
- package/dist/locales/uk-UA/common.json +282 -250
- package/dist/locales/uk-UA/nav.json +21 -17
- package/dist/locales/uk-UA/notifications.json +22 -38
- package/dist/locales/uk-UA/pages.json +1170 -97
- package/dist/locales/uk-UA/settings.json +455 -426
- package/dist/locales/vi-VN/common.json +282 -250
- package/dist/locales/vi-VN/nav.json +21 -17
- package/dist/locales/vi-VN/notifications.json +22 -38
- package/dist/locales/vi-VN/pages.json +1170 -97
- package/dist/locales/vi-VN/settings.json +455 -426
- package/dist/locales/zh-CN/common.json +282 -250
- package/dist/locales/zh-CN/nav.json +21 -17
- package/dist/locales/zh-CN/notifications.json +22 -38
- package/dist/locales/zh-CN/pages.json +1170 -97
- package/dist/locales/zh-CN/settings.json +455 -426
- package/dist/locales/zh-TW/common.json +282 -250
- package/dist/locales/zh-TW/nav.json +21 -17
- package/dist/locales/zh-TW/notifications.json +22 -38
- package/dist/locales/zh-TW/pages.json +1170 -97
- package/dist/locales/zh-TW/settings.json +455 -426
- package/package.json +1 -1
- package/src/index.ts +2 -2
- package/src/locales/af-ZA/common.json +282 -250
- package/src/locales/af-ZA/nav.json +21 -17
- package/src/locales/af-ZA/notifications.json +22 -38
- package/src/locales/af-ZA/pages.json +1170 -97
- package/src/locales/af-ZA/settings.json +455 -426
- package/src/locales/ar-SA/common.json +282 -250
- package/src/locales/ar-SA/nav.json +21 -17
- package/src/locales/ar-SA/notifications.json +22 -38
- package/src/locales/ar-SA/pages.json +1170 -97
- package/src/locales/ar-SA/settings.json +455 -426
- package/src/locales/ca-ES/common.json +282 -250
- package/src/locales/ca-ES/nav.json +21 -17
- package/src/locales/ca-ES/notifications.json +22 -38
- package/src/locales/ca-ES/pages.json +1170 -97
- package/src/locales/ca-ES/settings.json +455 -426
- package/src/locales/cs-CZ/common.json +282 -250
- package/src/locales/cs-CZ/nav.json +21 -17
- package/src/locales/cs-CZ/notifications.json +22 -38
- package/src/locales/cs-CZ/pages.json +1170 -97
- package/src/locales/cs-CZ/settings.json +455 -426
- package/src/locales/da-DK/common.json +282 -250
- package/src/locales/da-DK/nav.json +21 -17
- package/src/locales/da-DK/notifications.json +22 -38
- package/src/locales/da-DK/pages.json +1170 -97
- package/src/locales/da-DK/settings.json +455 -426
- package/src/locales/de-DE/common.json +282 -250
- package/src/locales/de-DE/nav.json +21 -17
- package/src/locales/de-DE/notifications.json +22 -38
- package/src/locales/de-DE/pages.json +1170 -97
- package/src/locales/de-DE/settings.json +455 -426
- package/src/locales/el-GR/common.json +282 -250
- package/src/locales/el-GR/nav.json +21 -17
- package/src/locales/el-GR/notifications.json +22 -38
- package/src/locales/el-GR/pages.json +1170 -97
- package/src/locales/el-GR/settings.json +455 -426
- package/src/locales/en/common.json +36 -4
- package/src/locales/en/nav.json +6 -2
- package/src/locales/en/notifications.json +13 -29
- package/src/locales/en/pages.json +1187 -114
- package/src/locales/en/settings.json +31 -2
- package/src/locales/en-US/common.json +282 -250
- package/src/locales/en-US/nav.json +21 -17
- package/src/locales/en-US/notifications.json +22 -38
- package/src/locales/en-US/pages.json +1170 -97
- package/src/locales/en-US/settings.json +455 -426
- package/src/locales/es-ES/common.json +282 -250
- package/src/locales/es-ES/nav.json +21 -17
- package/src/locales/es-ES/notifications.json +22 -38
- package/src/locales/es-ES/pages.json +1170 -97
- package/src/locales/es-ES/settings.json +455 -426
- package/src/locales/fi-FI/common.json +282 -250
- package/src/locales/fi-FI/nav.json +21 -17
- package/src/locales/fi-FI/notifications.json +22 -38
- package/src/locales/fi-FI/pages.json +1170 -97
- package/src/locales/fi-FI/settings.json +455 -426
- package/src/locales/fr-FR/common.json +282 -250
- package/src/locales/fr-FR/nav.json +21 -17
- package/src/locales/fr-FR/notifications.json +22 -38
- package/src/locales/fr-FR/pages.json +1170 -97
- package/src/locales/fr-FR/settings.json +455 -426
- package/src/locales/he-IL/common.json +282 -250
- package/src/locales/he-IL/nav.json +21 -17
- package/src/locales/he-IL/notifications.json +22 -38
- package/src/locales/he-IL/pages.json +1170 -97
- package/src/locales/he-IL/settings.json +455 -426
- package/src/locales/hu-HU/common.json +282 -250
- package/src/locales/hu-HU/nav.json +21 -17
- package/src/locales/hu-HU/notifications.json +22 -38
- package/src/locales/hu-HU/pages.json +1170 -97
- package/src/locales/hu-HU/settings.json +455 -426
- package/src/locales/it-IT/common.json +282 -250
- package/src/locales/it-IT/nav.json +21 -17
- package/src/locales/it-IT/notifications.json +22 -38
- package/src/locales/it-IT/pages.json +1170 -97
- package/src/locales/it-IT/settings.json +455 -426
- package/src/locales/ja-JP/common.json +282 -250
- package/src/locales/ja-JP/nav.json +21 -17
- package/src/locales/ja-JP/notifications.json +22 -38
- package/src/locales/ja-JP/pages.json +1170 -97
- package/src/locales/ja-JP/settings.json +455 -426
- package/src/locales/ko-KR/common.json +282 -250
- package/src/locales/ko-KR/nav.json +21 -17
- package/src/locales/ko-KR/notifications.json +22 -38
- package/src/locales/ko-KR/pages.json +1170 -97
- package/src/locales/ko-KR/settings.json +455 -426
- package/src/locales/nl-NL/common.json +282 -250
- package/src/locales/nl-NL/nav.json +21 -17
- package/src/locales/nl-NL/notifications.json +22 -38
- package/src/locales/nl-NL/pages.json +1170 -97
- package/src/locales/nl-NL/settings.json +455 -426
- package/src/locales/no-NO/common.json +282 -250
- package/src/locales/no-NO/nav.json +21 -17
- package/src/locales/no-NO/notifications.json +22 -38
- package/src/locales/no-NO/pages.json +1170 -97
- package/src/locales/no-NO/settings.json +455 -426
- package/src/locales/pl-PL/common.json +282 -250
- package/src/locales/pl-PL/nav.json +21 -17
- package/src/locales/pl-PL/notifications.json +22 -38
- package/src/locales/pl-PL/pages.json +1170 -97
- package/src/locales/pl-PL/settings.json +455 -426
- package/src/locales/pt-BR/common.json +282 -250
- package/src/locales/pt-BR/nav.json +21 -17
- package/src/locales/pt-BR/notifications.json +22 -38
- package/src/locales/pt-BR/pages.json +1170 -97
- package/src/locales/pt-BR/settings.json +455 -426
- package/src/locales/pt-PT/common.json +282 -250
- package/src/locales/pt-PT/nav.json +21 -17
- package/src/locales/pt-PT/notifications.json +22 -38
- package/src/locales/pt-PT/pages.json +1170 -97
- package/src/locales/pt-PT/settings.json +455 -426
- package/src/locales/ro-RO/common.json +282 -250
- package/src/locales/ro-RO/nav.json +21 -17
- package/src/locales/ro-RO/notifications.json +22 -38
- package/src/locales/ro-RO/pages.json +1170 -97
- package/src/locales/ro-RO/settings.json +455 -426
- package/src/locales/ru-RU/common.json +282 -250
- package/src/locales/ru-RU/nav.json +21 -17
- package/src/locales/ru-RU/notifications.json +22 -38
- package/src/locales/ru-RU/pages.json +1170 -97
- package/src/locales/ru-RU/settings.json +455 -426
- package/src/locales/sr-SP/common.json +282 -250
- package/src/locales/sr-SP/nav.json +21 -17
- package/src/locales/sr-SP/notifications.json +22 -38
- package/src/locales/sr-SP/pages.json +1170 -97
- package/src/locales/sr-SP/settings.json +455 -426
- package/src/locales/sv-SE/common.json +282 -250
- package/src/locales/sv-SE/nav.json +21 -17
- package/src/locales/sv-SE/notifications.json +22 -38
- package/src/locales/sv-SE/pages.json +1170 -97
- package/src/locales/sv-SE/settings.json +455 -426
- package/src/locales/tr-TR/common.json +282 -250
- package/src/locales/tr-TR/nav.json +21 -17
- package/src/locales/tr-TR/notifications.json +22 -38
- package/src/locales/tr-TR/pages.json +1170 -97
- package/src/locales/tr-TR/settings.json +455 -426
- package/src/locales/uk-UA/common.json +282 -250
- package/src/locales/uk-UA/nav.json +21 -17
- package/src/locales/uk-UA/notifications.json +22 -38
- package/src/locales/uk-UA/pages.json +1170 -97
- package/src/locales/uk-UA/settings.json +455 -426
- package/src/locales/vi-VN/common.json +282 -250
- package/src/locales/vi-VN/nav.json +21 -17
- package/src/locales/vi-VN/notifications.json +22 -38
- package/src/locales/vi-VN/pages.json +1170 -97
- package/src/locales/vi-VN/settings.json +455 -426
- package/src/locales/zh-CN/common.json +282 -250
- package/src/locales/zh-CN/nav.json +21 -17
- package/src/locales/zh-CN/notifications.json +22 -38
- package/src/locales/zh-CN/pages.json +1170 -97
- package/src/locales/zh-CN/settings.json +455 -426
- package/src/locales/zh-TW/common.json +282 -250
- package/src/locales/zh-TW/nav.json +21 -17
- package/src/locales/zh-TW/notifications.json +22 -38
- package/src/locales/zh-TW/pages.json +1170 -97
- package/src/locales/zh-TW/settings.json +455 -426
|
@@ -83,7 +83,10 @@
|
|
|
83
83
|
"suggestionsReview": "Review",
|
|
84
84
|
"suggestionsMatchEmail": "Same email",
|
|
85
85
|
"suggestionsMatchUsername": "Same username",
|
|
86
|
-
"suggestionsError": "Could not load merge suggestions"
|
|
86
|
+
"suggestionsError": "Could not load merge suggestions",
|
|
87
|
+
"filterHasAccessTo": "Has access to",
|
|
88
|
+
"filterHasAccessToPlaceholder": "Any server",
|
|
89
|
+
"filterHasAccessToHint": "Shows people with an active account on every server selected."
|
|
87
90
|
},
|
|
88
91
|
"userDetail": {
|
|
89
92
|
"backToUsers": "Back to Users",
|
|
@@ -92,9 +95,7 @@
|
|
|
92
95
|
"statistics": "Statistics",
|
|
93
96
|
"sessions": "Sessions",
|
|
94
97
|
"violations": "Violations",
|
|
95
|
-
"locations": "Locations",
|
|
96
98
|
"terminationHistory": "Termination History",
|
|
97
|
-
"noSessionsFound": "No sessions found for this user.",
|
|
98
99
|
"noViolationsFound": "No violations for this user.",
|
|
99
100
|
"noTerminationsFound": "No stream terminations for this user.",
|
|
100
101
|
"byRule": "By / Rule",
|
|
@@ -109,7 +110,8 @@
|
|
|
109
110
|
"acrossAllServers": "Across all linked accounts:",
|
|
110
111
|
"overallTrust": "Overall Trust",
|
|
111
112
|
"serverScope": "Server",
|
|
112
|
-
"allServers": "All servers"
|
|
113
|
+
"allServers": "All servers",
|
|
114
|
+
"title": "User Details"
|
|
113
115
|
},
|
|
114
116
|
"history": {
|
|
115
117
|
"title": "History",
|
|
@@ -190,8 +192,7 @@
|
|
|
190
192
|
"colCopies": "Copies",
|
|
191
193
|
"colRecoverable": "Recoverable Space",
|
|
192
194
|
"sameServer": "Same server",
|
|
193
|
-
"mirror": "Mirror"
|
|
194
|
-
"pageOf": "Page {{page}} of {{totalPages}}"
|
|
195
|
+
"mirror": "Mirror"
|
|
195
196
|
},
|
|
196
197
|
"watch": {
|
|
197
198
|
"title": "Watch Analytics",
|
|
@@ -288,11 +289,7 @@
|
|
|
288
289
|
},
|
|
289
290
|
"violations": {
|
|
290
291
|
"title": "Violations",
|
|
291
|
-
"violationLog": "Violation Log",
|
|
292
|
-
"noMatches": "No Matches",
|
|
293
292
|
"tryAdjustingFilters": "Try adjusting your filters",
|
|
294
|
-
"allClear": "All Clear",
|
|
295
|
-
"noViolationsDetected": "No rule violations detected",
|
|
296
293
|
"selectAllViolations": "Select all {{count}} violations matching filters",
|
|
297
294
|
"dismissViolation": "Dismiss Violation",
|
|
298
295
|
"dismissViolationConfirm": "Are you sure you want to dismiss this violation? This will remove it from the violation log permanently.",
|
|
@@ -303,6 +300,7 @@
|
|
|
303
300
|
"noViolationsRecorded": "No violations have been recorded yet.",
|
|
304
301
|
"allSeverities": "All Severities",
|
|
305
302
|
"allStatuses": "All Statuses",
|
|
303
|
+
"allRules": "All rules",
|
|
306
304
|
"filterPeople": "People",
|
|
307
305
|
"allPeople": "All people",
|
|
308
306
|
"peopleSelectedCount": "{{count}} people",
|
|
@@ -337,82 +335,1163 @@
|
|
|
337
335
|
"relatedSessions_other": "{{count}} related sessions"
|
|
338
336
|
}
|
|
339
337
|
},
|
|
340
|
-
"
|
|
341
|
-
"
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
"
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
338
|
+
"automations": {
|
|
339
|
+
"actions": {
|
|
340
|
+
"send": {
|
|
341
|
+
"label": "Send Notification",
|
|
342
|
+
"description": "Send to one or more destinations",
|
|
343
|
+
"fields": {
|
|
344
|
+
"cooldown_minutes": {
|
|
345
|
+
"description": "Minimum time between notifications"
|
|
346
|
+
}
|
|
347
|
+
},
|
|
348
|
+
"ran": "Sent a notification"
|
|
349
|
+
},
|
|
350
|
+
"trust": {
|
|
351
|
+
"label": "Trust Score",
|
|
352
|
+
"description": "Adjust, set, or reset the trust score",
|
|
353
|
+
"fields": {
|
|
354
|
+
"mode": {
|
|
355
|
+
"label": "Mode"
|
|
356
|
+
},
|
|
357
|
+
"amount": {
|
|
358
|
+
"label": "Amount",
|
|
359
|
+
"description": "Positive to increase, negative to decrease"
|
|
360
|
+
},
|
|
361
|
+
"value": {
|
|
362
|
+
"label": "Value"
|
|
363
|
+
}
|
|
364
|
+
},
|
|
365
|
+
"ran": "Changed the trust score"
|
|
366
|
+
},
|
|
367
|
+
"kill_stream": {
|
|
368
|
+
"label": "Kill Stream",
|
|
369
|
+
"description": "Terminate the active stream",
|
|
370
|
+
"fields": {
|
|
371
|
+
"cooldown_minutes": {
|
|
372
|
+
"description": "Minimum time between terminations for the same user"
|
|
373
|
+
},
|
|
374
|
+
"delay_seconds": {
|
|
375
|
+
"label": "Sustain window",
|
|
376
|
+
"description": "Waits this many seconds, then kills the stream only if the automation still matches. 0 kills right after a final re-check."
|
|
377
|
+
},
|
|
378
|
+
"target": {
|
|
379
|
+
"description": "Which sessions to terminate"
|
|
380
|
+
},
|
|
381
|
+
"message": {
|
|
382
|
+
"placeholder": "Optional message"
|
|
383
|
+
}
|
|
384
|
+
},
|
|
385
|
+
"ran": "Stopped the stream"
|
|
386
|
+
},
|
|
387
|
+
"message_client": {
|
|
388
|
+
"label": "Message Client",
|
|
389
|
+
"description": "Send a message to the media player",
|
|
390
|
+
"hint": "Jellyfin and Emby only. Plex only supports messages when killing a stream.",
|
|
391
|
+
"fields": {
|
|
392
|
+
"target": {
|
|
393
|
+
"description": "Which sessions to message"
|
|
394
|
+
},
|
|
395
|
+
"message": {
|
|
396
|
+
"placeholder": "Message to display…"
|
|
397
|
+
}
|
|
398
|
+
},
|
|
399
|
+
"ran": "Put a message on the player"
|
|
400
|
+
}
|
|
401
|
+
},
|
|
402
|
+
"activity": {
|
|
403
|
+
"title": "Activity",
|
|
404
|
+
"description": "What this automation did, newest first. Runs are kept for {{days}} days.",
|
|
405
|
+
"outcome": "Outcome",
|
|
406
|
+
"who": "Who",
|
|
407
|
+
"where": "Where",
|
|
408
|
+
"playing": "Playing",
|
|
409
|
+
"from": "From",
|
|
410
|
+
"summary": "Summary",
|
|
411
|
+
"started": "Started",
|
|
412
|
+
"finished": "Finished",
|
|
413
|
+
"noSummary": "No notes",
|
|
414
|
+
"outcomes": {
|
|
415
|
+
"completed": "Ran",
|
|
416
|
+
"stopped_by_condition": "No match",
|
|
417
|
+
"error": "Failed"
|
|
418
|
+
},
|
|
419
|
+
"empty": "No runs yet",
|
|
420
|
+
"emptyDescription": "Runs are listed here once a trigger matches.",
|
|
421
|
+
"runTitle": "Run",
|
|
422
|
+
"runLoading": "Loading the run",
|
|
423
|
+
"triggeredBy": "Triggered by {{trigger}}",
|
|
424
|
+
"unknownStep": "Unrecognized step",
|
|
425
|
+
"tabs": {
|
|
426
|
+
"all": "All",
|
|
427
|
+
"completed": "Ran",
|
|
428
|
+
"stopped_by_condition": "No match",
|
|
429
|
+
"error": "Failed"
|
|
430
|
+
},
|
|
431
|
+
"group": "Group {{number}}",
|
|
432
|
+
"branch": {
|
|
433
|
+
"then": "Took the 'if' steps",
|
|
434
|
+
"else": "Took the 'otherwise' steps"
|
|
435
|
+
},
|
|
436
|
+
"whyBranch": "What it read",
|
|
437
|
+
"openInEditor": "Open in the builder with this run",
|
|
438
|
+
"tabsLabel": "Filter by outcome",
|
|
439
|
+
"emptyRan": "Nothing has matched yet",
|
|
440
|
+
"emptyRanDescription_one": "{{count}} check ran and did not match.",
|
|
441
|
+
"emptyRanDescription_other": "{{count}} checks ran and did not match.",
|
|
442
|
+
"item": "Item",
|
|
443
|
+
"recordedViolation": "Recorded a violation"
|
|
444
|
+
},
|
|
445
|
+
"allKinds": "All kinds",
|
|
446
|
+
"allStatuses": "All statuses",
|
|
447
|
+
"allSeverities": "All severities",
|
|
448
|
+
"bind": {
|
|
449
|
+
"nameHelper": "The name in the automations list.",
|
|
450
|
+
"namePlaceholder": "A name for this automation",
|
|
451
|
+
"activeLabel": "Turn it on now",
|
|
452
|
+
"back": "Back",
|
|
453
|
+
"submit": "Use this",
|
|
454
|
+
"submitting": "Setting it up…",
|
|
455
|
+
"customize": "Open in the builder",
|
|
456
|
+
"doors": {
|
|
457
|
+
"helper": "Use this keeps the steps as they are; the answers above can change later. Open in the builder makes every step editable and ends the link to the ready-made automation."
|
|
458
|
+
},
|
|
459
|
+
"anyServer": "Any server",
|
|
460
|
+
"serverHelper": "Any server means all of them.",
|
|
461
|
+
"serverLabel": "Which server",
|
|
462
|
+
"accountLabel": "Which account",
|
|
463
|
+
"personLabel": "Which person",
|
|
464
|
+
"destinationsLabel": "Send to",
|
|
465
|
+
"required": "Pick at least one.",
|
|
466
|
+
"needs": {
|
|
467
|
+
"title": "What it needs"
|
|
468
|
+
},
|
|
469
|
+
"helper": {
|
|
470
|
+
"killMessage": "Shown on the player when the stream stops.",
|
|
471
|
+
"clientMessage": "Shown on the player while it keeps playing."
|
|
472
|
+
},
|
|
473
|
+
"noInputs": "Nothing to fill in.",
|
|
474
|
+
"failed": "Couldn't set that up. Try again.",
|
|
475
|
+
"created": "{{name}} is set up and running.",
|
|
476
|
+
"createdOff": "{{name}} was created and is off. Turn it on from the list."
|
|
477
|
+
},
|
|
409
478
|
"builder": {
|
|
410
479
|
"destinationDisabled": "Disabled destination",
|
|
411
480
|
"noDestinations": "No destinations yet. Add one to send notifications.",
|
|
481
|
+
"newDestination": "New destination",
|
|
412
482
|
"errors": {
|
|
413
|
-
"sendNeedsDestination": "Pick at least one destination"
|
|
483
|
+
"sendNeedsDestination": "Pick at least one destination",
|
|
484
|
+
"nameRequired": "Give this automation a name",
|
|
485
|
+
"scopeIncomplete": "Pick who this applies to",
|
|
486
|
+
"triggerRequired": "Add what starts this, or switch one back on",
|
|
487
|
+
"policyNeedsSubject": "Violations are about a person, so this needs a stream or account trigger.",
|
|
488
|
+
"fieldUnavailable": "This check is not available for every trigger here",
|
|
489
|
+
"operatorInvalid": "This comparison doesn't fit the check",
|
|
490
|
+
"valueInvalid": "This value doesn't fit the check",
|
|
491
|
+
"actionUnavailable": "These triggers do not supply what this action needs",
|
|
492
|
+
"variableUnavailable": "The message names something not every trigger here supplies",
|
|
493
|
+
"minutesRange": "Between {{min}} and {{max}} minutes",
|
|
494
|
+
"daysRange": "Between {{min}} and {{max}} days",
|
|
495
|
+
"measureInvalid": "Pick how the minutes are counted",
|
|
496
|
+
"fieldNotAvailableFor": "Not available for: {{triggers}}",
|
|
497
|
+
"trustAmountRange": "Trust changes by between -100 and 100 points",
|
|
498
|
+
"trustValueRange": "Trust score is between 0 and 100",
|
|
499
|
+
"messageRequired": "Type the message to show",
|
|
500
|
+
"tooLong": "At most {{max}} characters"
|
|
501
|
+
},
|
|
502
|
+
"recordAs": {
|
|
503
|
+
"label": "When this runs, record it as",
|
|
504
|
+
"policy": "A violation",
|
|
505
|
+
"policyDescription": "Listed in Violations; can be acknowledged.",
|
|
506
|
+
"notification": "An alert",
|
|
507
|
+
"notificationDescription": "Recorded in Activity; never a violation."
|
|
508
|
+
},
|
|
509
|
+
"severityLabel": "How serious?",
|
|
510
|
+
"activeLabel": "Active",
|
|
511
|
+
"saving": "Saving…",
|
|
512
|
+
"selectPlaceholder": "Select…",
|
|
513
|
+
"searchPlaceholder": "Search…",
|
|
514
|
+
"noMatches": "No matches",
|
|
515
|
+
"clearSelection": "Clear selection",
|
|
516
|
+
"selectedCount": "{{count}} selected",
|
|
517
|
+
"scope": {
|
|
518
|
+
"label": "Who this applies to",
|
|
519
|
+
"global": "Everyone",
|
|
520
|
+
"server": "One server",
|
|
521
|
+
"account": "One account",
|
|
522
|
+
"person": "One person",
|
|
523
|
+
"serverLabel": "Server",
|
|
524
|
+
"serverPlaceholder": "Select server",
|
|
525
|
+
"accountLabel": "Account",
|
|
526
|
+
"accountPlaceholder": "Select account",
|
|
527
|
+
"personLabel": "Person",
|
|
528
|
+
"personPlaceholder": "Select person",
|
|
529
|
+
"personHelper": "Matches this person on every server they have an account on.",
|
|
530
|
+
"noServers": "No servers connected yet.",
|
|
531
|
+
"enforceAcrossServers": "Act on their streams on any of their servers",
|
|
532
|
+
"enforceAcrossServersDescription": "Acts on the person's sessions on any of their servers, not only the one that triggered it. Off by default."
|
|
533
|
+
},
|
|
534
|
+
"conditions": {
|
|
535
|
+
"addGroup": "Add a separate set of checks",
|
|
536
|
+
"fieldPlaceholder": "Pick something to check",
|
|
537
|
+
"windowPrefix": "in",
|
|
538
|
+
"windowUnit": "hrs",
|
|
539
|
+
"uniqueDevices": "Unique devices",
|
|
540
|
+
"uniqueDevicesHint": "Counts only sessions from different physical devices.",
|
|
541
|
+
"uniqueIps": "Unique IPs",
|
|
542
|
+
"uniqueIpsHint": "Counts only sessions from different IP addresses, so same-household streams are not counted.",
|
|
543
|
+
"allDeviceTypes": "All device types",
|
|
544
|
+
"deviceTypesHint": "Counts only streams from the selected device types. Empty means every device.",
|
|
545
|
+
"yes": "Yes",
|
|
546
|
+
"no": "No",
|
|
547
|
+
"recentlySeen": "Recently seen",
|
|
548
|
+
"allCountries": "All countries",
|
|
549
|
+
"sectionTitle": "And only if…",
|
|
550
|
+
"optional": "optional",
|
|
551
|
+
"helper": "Checks that must pass first. Empty means it runs every time.",
|
|
552
|
+
"emptyLine": "No extra checks. This runs every time.",
|
|
553
|
+
"all": "and",
|
|
554
|
+
"any": "or",
|
|
555
|
+
"allHint": "and: every check has to pass",
|
|
556
|
+
"anyHint": "or: any one check is enough",
|
|
557
|
+
"matchLabel": "Join these checks with",
|
|
558
|
+
"fieldLabel": "What to check",
|
|
559
|
+
"operatorLabel": "Is it",
|
|
560
|
+
"valueLabel": "Value",
|
|
561
|
+
"canNeverPass": "This can never pass. The trigger already fires at {{threshold}}.",
|
|
562
|
+
"noFields": "No checks are available for these triggers. Add a stream or account trigger first.",
|
|
563
|
+
"groupSeparator": "and also",
|
|
564
|
+
"addAnother": "Add a check",
|
|
565
|
+
"addFirst": "Add a check",
|
|
566
|
+
"removeGroup": "Remove this set of checks"
|
|
567
|
+
},
|
|
568
|
+
"actions": {
|
|
569
|
+
"add": "Add another action",
|
|
570
|
+
"sectionTitle": "Then do…",
|
|
571
|
+
"ifTitle": "If…",
|
|
572
|
+
"helper": "These run in order, top to bottom.",
|
|
573
|
+
"emptyTitle": "What should happen?",
|
|
574
|
+
"emptyDescription": "Send a notification, stop the stream, change a trust score, or run steps only when an extra check passes.",
|
|
575
|
+
"emptyAction": "Choose what happens",
|
|
576
|
+
"moveUp": "Move {{name}} up",
|
|
577
|
+
"moveDown": "Move {{name}} down",
|
|
578
|
+
"menu": "More for {{name}}",
|
|
579
|
+
"branchName": "this branch",
|
|
580
|
+
"confirmRemoveTitle": "Remove this action?",
|
|
581
|
+
"confirmRemoveDescription": "Stops happening on save.",
|
|
582
|
+
"policyNote": "A branch does not decide whether this is flagged; the And only if… section does.",
|
|
583
|
+
"branchThen": "Do this",
|
|
584
|
+
"branchElse": "Otherwise",
|
|
585
|
+
"branchElseEmpty": "Nothing. The automation carries on.",
|
|
586
|
+
"ifNothing": "nothing picked yet",
|
|
587
|
+
"ifAddCheck": "Add another check",
|
|
588
|
+
"addBranch": "Add a step",
|
|
589
|
+
"expandBranch": "Show this branch's steps",
|
|
590
|
+
"collapseBranch": "Hide this branch's steps"
|
|
591
|
+
},
|
|
592
|
+
"when": {
|
|
593
|
+
"title": "When…",
|
|
594
|
+
"helper": "Any one of these starts it. At least one is required.",
|
|
595
|
+
"emptyTitle": "What should start this?",
|
|
596
|
+
"emptyDescription": "A stream starting, a server going down, an account going quiet.",
|
|
597
|
+
"emptyAction": "Choose what starts it",
|
|
598
|
+
"add": "Add another trigger",
|
|
599
|
+
"or": "or"
|
|
600
|
+
},
|
|
601
|
+
"heldFor": {
|
|
602
|
+
"prefix": "A stream has been paused for",
|
|
603
|
+
"minutesLabel": "Minutes",
|
|
604
|
+
"unit": "minutes",
|
|
605
|
+
"measureLabel": "Counted",
|
|
606
|
+
"current": "this time",
|
|
607
|
+
"total": "in total"
|
|
608
|
+
},
|
|
609
|
+
"inactiveFor": {
|
|
610
|
+
"prefix": "An account has been inactive for",
|
|
611
|
+
"daysLabel": "Days",
|
|
612
|
+
"unit": "days"
|
|
613
|
+
},
|
|
614
|
+
"rows": {
|
|
615
|
+
"toggle": "Include {{name}}",
|
|
616
|
+
"remove": "Remove {{name}}",
|
|
617
|
+
"skipped": "Skipped",
|
|
618
|
+
"toggleHint": "skip",
|
|
619
|
+
"removeHint": "remove",
|
|
620
|
+
"expandHint": "open",
|
|
621
|
+
"moveHint": "reorder"
|
|
622
|
+
},
|
|
623
|
+
"picker": {
|
|
624
|
+
"searchPlaceholder": "Search or describe what should happen",
|
|
625
|
+
"empty": "Nothing matches that.",
|
|
626
|
+
"navigate": "move",
|
|
627
|
+
"select": "pick",
|
|
628
|
+
"close": "close"
|
|
629
|
+
},
|
|
630
|
+
"sentence": {
|
|
631
|
+
"label": "In plain words",
|
|
632
|
+
"placeholderTrigger": "something happens",
|
|
633
|
+
"placeholderAction": "do something"
|
|
634
|
+
},
|
|
635
|
+
"footer": {
|
|
636
|
+
"problems_one": "{{count}} thing to fix",
|
|
637
|
+
"problems_other": "{{count}} things to fix",
|
|
638
|
+
"remaining_one": "{{count}} left to finish",
|
|
639
|
+
"remaining_other": "{{count}} left to finish",
|
|
640
|
+
"ready": "Ready to save",
|
|
641
|
+
"search": "to search"
|
|
642
|
+
},
|
|
643
|
+
"leave": {
|
|
644
|
+
"title": "Leave without saving?",
|
|
645
|
+
"confirm": "Leave"
|
|
646
|
+
},
|
|
647
|
+
"liveCheck": {
|
|
648
|
+
"title": "Right now on the servers",
|
|
649
|
+
"checking": "Checking what's playing now…",
|
|
650
|
+
"empty": "Nothing is playing right now; nothing to check against.",
|
|
651
|
+
"failed": "Could not reach the servers to check.",
|
|
652
|
+
"footnote": "Cooldowns and sessions already handled aren't simulated.",
|
|
653
|
+
"expand": "Show what matched for {{name}}",
|
|
654
|
+
"passed": "Passed",
|
|
655
|
+
"notPassed": "Did not pass",
|
|
656
|
+
"actual": "now {{value}}",
|
|
657
|
+
"unfinished": "Shows what this would do once the automation is complete.",
|
|
658
|
+
"paused": "Paused while this saves",
|
|
659
|
+
"sampleTitle": "What this would do to that run",
|
|
660
|
+
"sampleGone": "That session is no longer on record; nothing to check against.",
|
|
661
|
+
"backToLive": "Back to what's playing now"
|
|
414
662
|
}
|
|
415
|
-
}
|
|
663
|
+
},
|
|
664
|
+
"categories": {
|
|
665
|
+
"session_behavior": "Session Behavior",
|
|
666
|
+
"stream_quality": "Stream Quality",
|
|
667
|
+
"user_attributes": "User Attributes",
|
|
668
|
+
"device_client": "Device & Client",
|
|
669
|
+
"network_location": "Network & Location",
|
|
670
|
+
"scope": "Who and where",
|
|
671
|
+
"media": "Media"
|
|
672
|
+
},
|
|
673
|
+
"createAutomation": "Create automation",
|
|
674
|
+
"customAutomation": "Custom automation",
|
|
675
|
+
"deleteAutomationConfirm": "Are you sure you want to delete this automation? This action cannot be undone.",
|
|
676
|
+
"deleteAutomation_one": "Delete Automation",
|
|
677
|
+
"deleteAutomation_other": "Delete {{count}} Automations",
|
|
678
|
+
"deleteAutomationsConfirm": "Are you sure you want to delete? This action cannot be undone.",
|
|
679
|
+
"describe": {
|
|
680
|
+
"more_one": "+{{count}} more",
|
|
681
|
+
"more_other": "+{{count}} more",
|
|
682
|
+
"noValues": "(none)",
|
|
683
|
+
"includesSameDevice": "includes same device",
|
|
684
|
+
"uniqueIps": "unique IPs",
|
|
685
|
+
"deviceTypesOnly": "{{types}} only",
|
|
686
|
+
"when": "When {{text}}",
|
|
687
|
+
"or": "or {{text}}",
|
|
688
|
+
"nothing": "nothing yet",
|
|
689
|
+
"onlyWhen": "and only if",
|
|
690
|
+
"andAlso": "and also",
|
|
691
|
+
"allOf": "all of:",
|
|
692
|
+
"anyOf": "any of:",
|
|
693
|
+
"joinAll": "and",
|
|
694
|
+
"joinAny": "or",
|
|
695
|
+
"then": "then {{text}}",
|
|
696
|
+
"otherwise": "Otherwise",
|
|
697
|
+
"appliesTo": "Applies to {{name}}",
|
|
698
|
+
"duration": {
|
|
699
|
+
"minutes_one": "{{count}} minute",
|
|
700
|
+
"minutes_other": "{{count}} minutes",
|
|
701
|
+
"days_one": "{{count}} day",
|
|
702
|
+
"days_other": "{{count}} days"
|
|
703
|
+
},
|
|
704
|
+
"triggers": {
|
|
705
|
+
"sessionStarted": "a stream starts",
|
|
706
|
+
"sessionStopped": "a stream stops",
|
|
707
|
+
"sessionTranscodeChanged": "transcoding starts or stops",
|
|
708
|
+
"sessionPaused": "a stream is paused",
|
|
709
|
+
"sessionHeldFor": "a stream has been paused for {{duration}}",
|
|
710
|
+
"sessionHeldForTotal": "a stream has been paused for {{duration}} in total",
|
|
711
|
+
"accountInactiveFor": "an account has been inactive for {{duration}}",
|
|
712
|
+
"accountNewDevice": "an account plays from a new device",
|
|
713
|
+
"accountTrustChanged": "an account's trust score changes",
|
|
714
|
+
"mediaAdded": "media is added",
|
|
715
|
+
"mediaUpgraded": "media is upgraded",
|
|
716
|
+
"serverDown": "a server goes down",
|
|
717
|
+
"serverUp": "a server comes back up",
|
|
718
|
+
"pluginUpdateAvailable": "a plugin update is available",
|
|
719
|
+
"serverUpdateAvailable": "a server update is available",
|
|
720
|
+
"tracearrUpdateAvailable": "a Tracearr update is available"
|
|
721
|
+
},
|
|
722
|
+
"operators": {
|
|
723
|
+
"eq": "is",
|
|
724
|
+
"neq": "is not",
|
|
725
|
+
"gt": "is above",
|
|
726
|
+
"gte": "is at least",
|
|
727
|
+
"lt": "is below",
|
|
728
|
+
"lte": "is at most",
|
|
729
|
+
"in": "is one of",
|
|
730
|
+
"not_in": "is not one of",
|
|
731
|
+
"contains": "contains",
|
|
732
|
+
"not_contains": "does not contain"
|
|
733
|
+
},
|
|
734
|
+
"fields": {
|
|
735
|
+
"concurrent_streams": "the stream count",
|
|
736
|
+
"active_session_distance_km": "the distance between streams",
|
|
737
|
+
"travel_speed_kmh": "the travel speed",
|
|
738
|
+
"unique_ips_in_window": "the number of IP addresses",
|
|
739
|
+
"unique_devices_in_window": "the number of devices",
|
|
740
|
+
"inactive_days": "the time since the last stream",
|
|
741
|
+
"current_pause_minutes": "the current pause",
|
|
742
|
+
"total_pause_minutes": "the total pause time",
|
|
743
|
+
"source_resolution": "the source resolution",
|
|
744
|
+
"output_resolution": "the output resolution",
|
|
745
|
+
"is_transcoding": "the transcoding",
|
|
746
|
+
"is_transcode_downgrade": "the downgrade",
|
|
747
|
+
"source_bitrate_mbps": "the source bitrate",
|
|
748
|
+
"user_id": "the user",
|
|
749
|
+
"trust_score": "the trust score",
|
|
750
|
+
"account_age_days": "the account age",
|
|
751
|
+
"device_type": "the device type",
|
|
752
|
+
"client_name": "the player",
|
|
753
|
+
"platform": "the platform",
|
|
754
|
+
"is_local_network": "the local network",
|
|
755
|
+
"country": "the country",
|
|
756
|
+
"ip_in_range": "the IP address",
|
|
757
|
+
"server_id": "the server",
|
|
758
|
+
"media_type": "the media type",
|
|
759
|
+
"library_item_type": "the item type",
|
|
760
|
+
"library_name": "the library",
|
|
761
|
+
"resolution_after": "the resolution",
|
|
762
|
+
"dynamic_range_after": "the dynamic range",
|
|
763
|
+
"video_codec_after": "the video codec",
|
|
764
|
+
"audio_channels_after": "the audio channels",
|
|
765
|
+
"file_size_after": "the file size"
|
|
766
|
+
},
|
|
767
|
+
"states": {
|
|
768
|
+
"is_local_network": {
|
|
769
|
+
"yes": "the user is on the local network",
|
|
770
|
+
"no": "the user is not on the local network"
|
|
771
|
+
},
|
|
772
|
+
"is_transcode_downgrade": {
|
|
773
|
+
"yes": "the stream is downgraded",
|
|
774
|
+
"no": "the stream is not downgraded"
|
|
775
|
+
},
|
|
776
|
+
"is_transcoding": {
|
|
777
|
+
"video": {
|
|
778
|
+
"yes": "the stream is transcoding video",
|
|
779
|
+
"no": "the stream is not transcoding video"
|
|
780
|
+
},
|
|
781
|
+
"audio": {
|
|
782
|
+
"yes": "the stream is transcoding audio",
|
|
783
|
+
"no": "the stream is not transcoding audio"
|
|
784
|
+
},
|
|
785
|
+
"video_or_audio": {
|
|
786
|
+
"yes": "the stream is transcoding",
|
|
787
|
+
"no": "the stream is not transcoding"
|
|
788
|
+
},
|
|
789
|
+
"neither": {
|
|
790
|
+
"yes": "the stream is not transcoding",
|
|
791
|
+
"no": "the stream is transcoding"
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
},
|
|
795
|
+
"actions": {
|
|
796
|
+
"if": "if",
|
|
797
|
+
"flagIt": "Flag it",
|
|
798
|
+
"doNothing": "do nothing",
|
|
799
|
+
"send": "send to {{destinations}}",
|
|
800
|
+
"sendAnywhere": "send a notification",
|
|
801
|
+
"kill_stream": "stop the stream",
|
|
802
|
+
"message_client": "message the player",
|
|
803
|
+
"trustUp": "raise trust by {{amount}}",
|
|
804
|
+
"trustDown": "drop trust by {{amount}}",
|
|
805
|
+
"trustAdjust": "adjust trust by {{amount}}",
|
|
806
|
+
"trustSet": "set trust to {{value}}",
|
|
807
|
+
"trustReset": "reset trust"
|
|
808
|
+
},
|
|
809
|
+
"scope": {
|
|
810
|
+
"server": "one server",
|
|
811
|
+
"account": "one account",
|
|
812
|
+
"person": "one person"
|
|
813
|
+
},
|
|
814
|
+
"sameDeviceInput": "same device: {{input}}",
|
|
815
|
+
"uniqueIpsInput": "unique IPs: {{input}}",
|
|
816
|
+
"unbound": {
|
|
817
|
+
"server": "a chosen server",
|
|
818
|
+
"account": "a chosen account",
|
|
819
|
+
"person": "a chosen person",
|
|
820
|
+
"destinations": "a chosen destination",
|
|
821
|
+
"field_value": "a chosen value",
|
|
822
|
+
"select": "a chosen option",
|
|
823
|
+
"number": "a chosen number",
|
|
824
|
+
"duration": "a chosen length of time",
|
|
825
|
+
"text": "a chosen message",
|
|
826
|
+
"boolean": "a chosen setting",
|
|
827
|
+
"listed": "those chosen"
|
|
828
|
+
}
|
|
829
|
+
},
|
|
830
|
+
"description": "Automations watch your servers and act when their conditions match",
|
|
831
|
+
"detail": {
|
|
832
|
+
"notFound": "Automation not found",
|
|
833
|
+
"title": "Automation",
|
|
834
|
+
"unsaved": "Unsaved changes",
|
|
835
|
+
"runsLine_one": "1 run · last run {{when}}",
|
|
836
|
+
"runsLine_other": "{{count}} runs · last run {{when}}",
|
|
837
|
+
"noRuns": "No runs yet"
|
|
838
|
+
},
|
|
839
|
+
"disable": "Disable",
|
|
840
|
+
"editAutomation": "Edit automation",
|
|
841
|
+
"effects": {
|
|
842
|
+
"title": "What this will do",
|
|
843
|
+
"kill": "Can stop a stream that is playing.",
|
|
844
|
+
"trust": "Changes trust scores.",
|
|
845
|
+
"message": "Puts a message on a player.",
|
|
846
|
+
"violation": "Records a violation against the matched person.",
|
|
847
|
+
"tellsOnly": "Only notifies. Never stops a stream or changes an account.",
|
|
848
|
+
"allServers": "Runs on every server unless one is chosen.",
|
|
849
|
+
"everyServer": "Runs on every server.",
|
|
850
|
+
"oneServer": "Runs on {{server}} only."
|
|
851
|
+
},
|
|
852
|
+
"emptyTitle": "No automations yet",
|
|
853
|
+
"emptyDescription": "Ready-made automations. Pick one and fill in the blanks.",
|
|
854
|
+
"emptySeeAll": "See all {{count}}",
|
|
855
|
+
"emptySeeAllLoading": "See all",
|
|
856
|
+
"enable": "Enable",
|
|
857
|
+
"evaluations": {
|
|
858
|
+
"disclosure": "Matches that did not start a run ({{total}})",
|
|
859
|
+
"reasons": {
|
|
860
|
+
"cooldown_active": "Cooldown was active",
|
|
861
|
+
"edge_replayed": "Same edge already handled",
|
|
862
|
+
"gate_blocked": "An open run already covers this",
|
|
863
|
+
"trigger_filter_failed": "Trigger threshold not reached"
|
|
864
|
+
}
|
|
865
|
+
},
|
|
866
|
+
"export": {
|
|
867
|
+
"title": "Share this automation",
|
|
868
|
+
"description": "A code another Tracearr can paste in.",
|
|
869
|
+
"carries": "The code carries the steps only. Destinations, servers and accounts are not included; the receiving side fills in its own.",
|
|
870
|
+
"copyCode": "Copy the share code",
|
|
871
|
+
"copyJson": "Copy the JSON",
|
|
872
|
+
"authorLabel": "Author",
|
|
873
|
+
"authorPlaceholder": "Name",
|
|
874
|
+
"authorHelper": "Shown on the gallery page and carried in the code. Optional.",
|
|
875
|
+
"save": "Save as ready-made",
|
|
876
|
+
"saved": "{{name}} saved as a ready-made automation.",
|
|
877
|
+
"saveFailed": "Could not save it.",
|
|
878
|
+
"failed": "Couldn't make a code for this one.",
|
|
879
|
+
"saveHelper": "Adds it to this server's list of ready-made automations.",
|
|
880
|
+
"authorInCode": "The code includes the author name.",
|
|
881
|
+
"groupLabel": "Section",
|
|
882
|
+
"groupHelper": "Which part of the gallery it is listed under.",
|
|
883
|
+
"gallery": {
|
|
884
|
+
"trigger": "Put this in the community gallery",
|
|
885
|
+
"body": "The gallery at docs.tracearr.com/templates lists shared automations. Adding one is a pull request to Tracearr/automation-templates with the JSON below. Tracearr never reads the gallery."
|
|
886
|
+
},
|
|
887
|
+
"openRepository": "Open the repository"
|
|
888
|
+
},
|
|
889
|
+
"fields": {
|
|
890
|
+
"concurrent_streams": {
|
|
891
|
+
"label": "Concurrent Streams",
|
|
892
|
+
"description": "Number of active streams from the same user"
|
|
893
|
+
},
|
|
894
|
+
"active_session_distance_km": {
|
|
895
|
+
"label": "Distance Between Sessions",
|
|
896
|
+
"description": "Distance between simultaneous sessions"
|
|
897
|
+
},
|
|
898
|
+
"travel_speed_kmh": {
|
|
899
|
+
"label": "Travel Speed",
|
|
900
|
+
"description": "Calculated travel speed between locations"
|
|
901
|
+
},
|
|
902
|
+
"unique_ips_in_window": {
|
|
903
|
+
"label": "Unique IPs in Window",
|
|
904
|
+
"description": "Number of unique IP addresses in the time window"
|
|
905
|
+
},
|
|
906
|
+
"unique_devices_in_window": {
|
|
907
|
+
"label": "Unique Devices in Window",
|
|
908
|
+
"description": "Number of unique devices in the time window"
|
|
909
|
+
},
|
|
910
|
+
"inactive_days": {
|
|
911
|
+
"label": "Days Inactive",
|
|
912
|
+
"description": "Days since last activity"
|
|
913
|
+
},
|
|
914
|
+
"current_pause_minutes": {
|
|
915
|
+
"label": "Current Pause Duration",
|
|
916
|
+
"description": "How long the session has been continuously paused"
|
|
917
|
+
},
|
|
918
|
+
"total_pause_minutes": {
|
|
919
|
+
"label": "Total Pause Duration",
|
|
920
|
+
"description": "Total accumulated pause time across all pause/resume cycles"
|
|
921
|
+
},
|
|
922
|
+
"source_resolution": {
|
|
923
|
+
"label": "Source Resolution",
|
|
924
|
+
"description": "Original media resolution"
|
|
925
|
+
},
|
|
926
|
+
"output_resolution": {
|
|
927
|
+
"label": "Output Resolution",
|
|
928
|
+
"description": "Transcoded or delivered resolution"
|
|
929
|
+
},
|
|
930
|
+
"is_transcoding": {
|
|
931
|
+
"label": "Is Transcoding",
|
|
932
|
+
"description": "Whether video or audio streams are being transcoded"
|
|
933
|
+
},
|
|
934
|
+
"is_transcode_downgrade": {
|
|
935
|
+
"label": "Transcode Downgrade",
|
|
936
|
+
"description": "Output resolution is lower than source"
|
|
937
|
+
},
|
|
938
|
+
"source_bitrate_mbps": {
|
|
939
|
+
"label": "Source Bitrate",
|
|
940
|
+
"description": "Original media bitrate"
|
|
941
|
+
},
|
|
942
|
+
"user_id": {
|
|
943
|
+
"label": "User",
|
|
944
|
+
"description": "Specific users by account",
|
|
945
|
+
"placeholder": "Select users…"
|
|
946
|
+
},
|
|
947
|
+
"trust_score": {
|
|
948
|
+
"label": "Trust Score",
|
|
949
|
+
"description": "The user's trust score, from 0 to 100"
|
|
950
|
+
},
|
|
951
|
+
"account_age_days": {
|
|
952
|
+
"label": "Account Age",
|
|
953
|
+
"description": "Days since account creation"
|
|
954
|
+
},
|
|
955
|
+
"device_type": {
|
|
956
|
+
"label": "Device Type",
|
|
957
|
+
"description": "Type of device used"
|
|
958
|
+
},
|
|
959
|
+
"client_name": {
|
|
960
|
+
"label": "Client/Player",
|
|
961
|
+
"description": "Media player application",
|
|
962
|
+
"placeholder": "e.g., Plex for iOS"
|
|
963
|
+
},
|
|
964
|
+
"platform": {
|
|
965
|
+
"label": "Platform/OS",
|
|
966
|
+
"description": "Operating system"
|
|
967
|
+
},
|
|
968
|
+
"is_local_network": {
|
|
969
|
+
"label": "Local Network",
|
|
970
|
+
"description": "Streaming from the local network"
|
|
971
|
+
},
|
|
972
|
+
"country": {
|
|
973
|
+
"label": "Country",
|
|
974
|
+
"description": "Geographic country",
|
|
975
|
+
"placeholder": "Select countries…"
|
|
976
|
+
},
|
|
977
|
+
"ip_in_range": {
|
|
978
|
+
"label": "IP Range",
|
|
979
|
+
"description": "IP address in a CIDR range, IPv4 or IPv6",
|
|
980
|
+
"placeholder": "e.g., 192.168.1.0/24 or 2001:db8:abcd:7800::/64"
|
|
981
|
+
},
|
|
982
|
+
"server_id": {
|
|
983
|
+
"label": "Server",
|
|
984
|
+
"description": "Specific media server",
|
|
985
|
+
"placeholder": "Select servers…"
|
|
986
|
+
},
|
|
987
|
+
"media_type": {
|
|
988
|
+
"label": "Media Type",
|
|
989
|
+
"description": "Type of content"
|
|
990
|
+
},
|
|
991
|
+
"library_item_type": {
|
|
992
|
+
"label": "Item Type",
|
|
993
|
+
"description": "What kind of library item it is"
|
|
994
|
+
},
|
|
995
|
+
"library_name": {
|
|
996
|
+
"label": "Library",
|
|
997
|
+
"description": "Name of the library it landed in",
|
|
998
|
+
"placeholder": "Movies"
|
|
999
|
+
},
|
|
1000
|
+
"resolution_after": {
|
|
1001
|
+
"label": "Resolution",
|
|
1002
|
+
"description": "Resolution the item ends up at; unknown never matches, even for \"is not\""
|
|
1003
|
+
},
|
|
1004
|
+
"dynamic_range_after": {
|
|
1005
|
+
"label": "Dynamic Range",
|
|
1006
|
+
"description": "HDR format the item ends up with; unknown never matches, even for \"is not\""
|
|
1007
|
+
},
|
|
1008
|
+
"video_codec_after": {
|
|
1009
|
+
"label": "Video Codec",
|
|
1010
|
+
"description": "Video codec the item ends up with; unknown never matches, even for \"is not\""
|
|
1011
|
+
},
|
|
1012
|
+
"audio_channels_after": {
|
|
1013
|
+
"label": "Audio Channels",
|
|
1014
|
+
"description": "Audio channel count the item ends up with; unknown never matches"
|
|
1015
|
+
},
|
|
1016
|
+
"file_size_after": {
|
|
1017
|
+
"label": "File Size",
|
|
1018
|
+
"description": "Size the item ends up at across every copy; unknown never matches"
|
|
1019
|
+
}
|
|
1020
|
+
},
|
|
1021
|
+
"gallery": {
|
|
1022
|
+
"title": "New automation",
|
|
1023
|
+
"description": "Ready-made automations. Pick one and fill in the blanks.",
|
|
1024
|
+
"searchPlaceholder": "Search",
|
|
1025
|
+
"noMatches": "Nothing matches “{{query}}”.",
|
|
1026
|
+
"noMatchesHint": "Try a word from the outcome: discord, offline, paused.",
|
|
1027
|
+
"group": {
|
|
1028
|
+
"notifications": "Notifications",
|
|
1029
|
+
"server_health": "Server health",
|
|
1030
|
+
"policies": "Limits and rules",
|
|
1031
|
+
"housekeeping": "Housekeeping",
|
|
1032
|
+
"other": "Other ways to start"
|
|
1033
|
+
},
|
|
1034
|
+
"builtin": "Built-in",
|
|
1035
|
+
"kind": {
|
|
1036
|
+
"policy": "A violation",
|
|
1037
|
+
"notification": "An alert"
|
|
1038
|
+
},
|
|
1039
|
+
"paste": {
|
|
1040
|
+
"title": "Paste a share code",
|
|
1041
|
+
"description": "Paste a code and review what it does before adding it."
|
|
1042
|
+
},
|
|
1043
|
+
"scratch": {
|
|
1044
|
+
"title": "Start from scratch",
|
|
1045
|
+
"description": "Build it step by step."
|
|
1046
|
+
},
|
|
1047
|
+
"failed": "Couldn't load the ready-made automations.",
|
|
1048
|
+
"retry": "Try again",
|
|
1049
|
+
"missing": "That ready-made automation is not on this server.",
|
|
1050
|
+
"hint": {
|
|
1051
|
+
"move": "move",
|
|
1052
|
+
"use": "use",
|
|
1053
|
+
"close": "close"
|
|
1054
|
+
},
|
|
1055
|
+
"loading": "Loading…"
|
|
1056
|
+
},
|
|
1057
|
+
"import": {
|
|
1058
|
+
"title": "Paste a share code",
|
|
1059
|
+
"description": "Paste the code. Everything is in the code; Tracearr fetches nothing.",
|
|
1060
|
+
"reviewDescription": "What the code does, and what to fill in.",
|
|
1061
|
+
"placeholder": "tracearr1.…",
|
|
1062
|
+
"formatHint": "A code starts with tracearr1.",
|
|
1063
|
+
"check": "Check it",
|
|
1064
|
+
"checking": "Reading it…",
|
|
1065
|
+
"valid": "Tracearr can read this code.",
|
|
1066
|
+
"madeBy": "Author: {{author}}, as written in the code",
|
|
1067
|
+
"codeShort": "Code {{fingerprint}}",
|
|
1068
|
+
"paused": {
|
|
1069
|
+
"label": "Start paused",
|
|
1070
|
+
"helper": "Turn it on from the list after review."
|
|
1071
|
+
},
|
|
1072
|
+
"submit": "Add it",
|
|
1073
|
+
"adding": "Adding it…",
|
|
1074
|
+
"existing": "Already saved as {{name}}.",
|
|
1075
|
+
"existingUse": "Use it",
|
|
1076
|
+
"collision": {
|
|
1077
|
+
"title": "A different automation named {{name}} already exists.",
|
|
1078
|
+
"add": "Keep both",
|
|
1079
|
+
"replace": "Replace mine"
|
|
1080
|
+
},
|
|
1081
|
+
"raw": "Show the JSON",
|
|
1082
|
+
"errors": {
|
|
1083
|
+
"notACode": "That doesn't look like a Tracearr share code.",
|
|
1084
|
+
"notACodeHint": "A code starts with tracearr1. The JSON works too.",
|
|
1085
|
+
"tooBig": "That's too big to be a Tracearr automation.",
|
|
1086
|
+
"tooBigHint": "Codes are a few thousand characters at most.",
|
|
1087
|
+
"truncated": "This code looks cut off.",
|
|
1088
|
+
"truncatedHint": "Copy the whole code and paste it again; some chat apps split long codes across lines.",
|
|
1089
|
+
"tooNew": "This needs Tracearr {{required}} or newer.",
|
|
1090
|
+
"tooNewHint": "This server runs {{current}}. Update Tracearr, then paste again.",
|
|
1091
|
+
"tooMany": "That's a lot of codes in one minute.",
|
|
1092
|
+
"tooManyHint": "Wait a moment, then check it again.",
|
|
1093
|
+
"rejected": "Tracearr couldn't read this one.",
|
|
1094
|
+
"rejectedHint": "It may come from a different tool or have been edited by hand."
|
|
1095
|
+
},
|
|
1096
|
+
"source": "Shared automations are listed at docs.tracearr.com/templates.",
|
|
1097
|
+
"validCaveat": "Nothing in a code says who wrote it or whether it is safe. The steps are below.",
|
|
1098
|
+
"builtinMatch": "This is {{name}}, one of the automations Tracearr ships."
|
|
1099
|
+
},
|
|
1100
|
+
"kind": {
|
|
1101
|
+
"policy": "Violation",
|
|
1102
|
+
"notification": "Alert"
|
|
1103
|
+
},
|
|
1104
|
+
"kindColumn": "Kind",
|
|
1105
|
+
"name": "Name",
|
|
1106
|
+
"newAutomation": "New automation",
|
|
1107
|
+
"namePlaceholder": "A name for this automation",
|
|
1108
|
+
"nameInvalid": "Give it a name.",
|
|
1109
|
+
"descriptionLabel": "Description",
|
|
1110
|
+
"descriptionPlaceholder": "What this is for",
|
|
1111
|
+
"thisAutomation": "This automation",
|
|
1112
|
+
"cooldownLabel": "At most once every",
|
|
1113
|
+
"cooldownInvalid": "Enter a whole number of minutes, 0 or more, or leave it empty.",
|
|
1114
|
+
"retentionLabel": "Keep runs for",
|
|
1115
|
+
"retentionPlaceholder": "{{days}}",
|
|
1116
|
+
"retentionInvalid": "Enter a whole number of days, at least 1, or leave it empty.",
|
|
1117
|
+
"noAutomationsFound": "No automations found",
|
|
1118
|
+
"operators": {
|
|
1119
|
+
"eq": "equals",
|
|
1120
|
+
"neq": "not equals",
|
|
1121
|
+
"gt": "greater than",
|
|
1122
|
+
"gte": "at least",
|
|
1123
|
+
"lt": "less than",
|
|
1124
|
+
"lte": "at most",
|
|
1125
|
+
"in": "is one of",
|
|
1126
|
+
"not_in": "is not one of",
|
|
1127
|
+
"contains": "contains",
|
|
1128
|
+
"not_contains": "does not contain"
|
|
1129
|
+
},
|
|
1130
|
+
"options": {
|
|
1131
|
+
"4K": "4K (2160p)",
|
|
1132
|
+
"1080p": "1080p",
|
|
1133
|
+
"720p": "720p",
|
|
1134
|
+
"480p": "480p",
|
|
1135
|
+
"SD": "SD",
|
|
1136
|
+
"unknown": "Unknown",
|
|
1137
|
+
"mobile": "Mobile",
|
|
1138
|
+
"tablet": "Tablet",
|
|
1139
|
+
"tv": "TV",
|
|
1140
|
+
"desktop": "Desktop",
|
|
1141
|
+
"browser": "Browser",
|
|
1142
|
+
"ios": "iOS",
|
|
1143
|
+
"android": "Android",
|
|
1144
|
+
"windows": "Windows",
|
|
1145
|
+
"macos": "macOS",
|
|
1146
|
+
"linux": "Linux",
|
|
1147
|
+
"tvos": "tvOS",
|
|
1148
|
+
"androidtv": "Android TV",
|
|
1149
|
+
"roku": "Roku",
|
|
1150
|
+
"webos": "webOS",
|
|
1151
|
+
"tizen": "Tizen",
|
|
1152
|
+
"movie": "Movie",
|
|
1153
|
+
"episode": "TV Episode",
|
|
1154
|
+
"track": "Music",
|
|
1155
|
+
"photo": "Photo",
|
|
1156
|
+
"live": "Live TV",
|
|
1157
|
+
"trailer": "Trailer",
|
|
1158
|
+
"video": "Video",
|
|
1159
|
+
"audio": "Audio",
|
|
1160
|
+
"video_or_audio": "Video or Audio",
|
|
1161
|
+
"neither": "Neither (Direct Play)",
|
|
1162
|
+
"8K": "8K",
|
|
1163
|
+
"1440p": "1440p",
|
|
1164
|
+
"sdr": "SDR",
|
|
1165
|
+
"hdr": "HDR",
|
|
1166
|
+
"hdr10": "HDR10",
|
|
1167
|
+
"hdr10+": "HDR10+",
|
|
1168
|
+
"hlg": "HLG",
|
|
1169
|
+
"dolby vision": "Dolby Vision",
|
|
1170
|
+
"libraryItemType": {
|
|
1171
|
+
"movie": "Movie",
|
|
1172
|
+
"show": "Show",
|
|
1173
|
+
"season": "Season",
|
|
1174
|
+
"episode": "Episode",
|
|
1175
|
+
"artist": "Artist",
|
|
1176
|
+
"album": "Album",
|
|
1177
|
+
"track": "Track",
|
|
1178
|
+
"photo": "Photo"
|
|
1179
|
+
}
|
|
1180
|
+
},
|
|
1181
|
+
"provenance": {
|
|
1182
|
+
"builtin": "Built-in · {{name}} {{version}}",
|
|
1183
|
+
"imported": "Imported from a share code on {{date}} · {{name}} {{version}}",
|
|
1184
|
+
"importedBy": "Imported from a share code by {{author}} on {{date}} · {{name}} {{version}}",
|
|
1185
|
+
"saved": "Saved here from {{name}} on {{date}} · {{version}}",
|
|
1186
|
+
"customized": "Customized from {{name}}",
|
|
1187
|
+
"customizedFromRemoved": "Customized from a ready-made automation that has since been removed"
|
|
1188
|
+
},
|
|
1189
|
+
"recordsOnly": "Records runs only",
|
|
1190
|
+
"scope": {
|
|
1191
|
+
"global": "Global",
|
|
1192
|
+
"person": "Person",
|
|
1193
|
+
"account": "Account",
|
|
1194
|
+
"crossServer": "Cross-server"
|
|
1195
|
+
},
|
|
1196
|
+
"searchPlaceholder": "Search automations…",
|
|
1197
|
+
"sessionTargets": {
|
|
1198
|
+
"triggering": {
|
|
1199
|
+
"label": "Triggering session",
|
|
1200
|
+
"tooltip": "Only the session that triggered this automation"
|
|
1201
|
+
},
|
|
1202
|
+
"oldest": {
|
|
1203
|
+
"label": "Oldest session",
|
|
1204
|
+
"tooltip": "The user's longest-running active session"
|
|
1205
|
+
},
|
|
1206
|
+
"newest": {
|
|
1207
|
+
"label": "Newest session",
|
|
1208
|
+
"tooltip": "The user's most recently started session"
|
|
1209
|
+
},
|
|
1210
|
+
"all_except_one": {
|
|
1211
|
+
"label": "All except one (keep oldest)",
|
|
1212
|
+
"tooltip": "All sessions except the oldest, bringing the user down to one stream"
|
|
1213
|
+
},
|
|
1214
|
+
"all_user": {
|
|
1215
|
+
"label": "All user sessions",
|
|
1216
|
+
"tooltip": "Every active session for this user"
|
|
1217
|
+
}
|
|
1218
|
+
},
|
|
1219
|
+
"configFields": {
|
|
1220
|
+
"cooldown_minutes": {
|
|
1221
|
+
"label": "Cooldown"
|
|
1222
|
+
},
|
|
1223
|
+
"target": {
|
|
1224
|
+
"label": "Target"
|
|
1225
|
+
},
|
|
1226
|
+
"message": {
|
|
1227
|
+
"label": "Message"
|
|
1228
|
+
}
|
|
1229
|
+
},
|
|
1230
|
+
"trustModes": {
|
|
1231
|
+
"adjust": {
|
|
1232
|
+
"label": "Adjust by amount"
|
|
1233
|
+
},
|
|
1234
|
+
"set": {
|
|
1235
|
+
"label": "Set to value"
|
|
1236
|
+
},
|
|
1237
|
+
"reset": {
|
|
1238
|
+
"label": "Reset to default (100)"
|
|
1239
|
+
}
|
|
1240
|
+
},
|
|
1241
|
+
"severity": {
|
|
1242
|
+
"low": "Low",
|
|
1243
|
+
"warning": "Warning",
|
|
1244
|
+
"high": "High"
|
|
1245
|
+
},
|
|
1246
|
+
"template": {
|
|
1247
|
+
"version": "v{{version}}",
|
|
1248
|
+
"updateAvailable": "An update is available",
|
|
1249
|
+
"updatedTitle": "The ready-made automation is now on v{{version}}",
|
|
1250
|
+
"updatedBody": "Review the answers below, then update.",
|
|
1251
|
+
"before": "Now",
|
|
1252
|
+
"after": "After the update",
|
|
1253
|
+
"review": "Review and update",
|
|
1254
|
+
"save": "Save changes",
|
|
1255
|
+
"customize": "Open in the builder",
|
|
1256
|
+
"customizeTitle": "Open this in the builder?",
|
|
1257
|
+
"customizeConfirm": "Opening it in the builder makes this automation independent: every step is editable, and it no longer receives updates from the ready-made one. This cannot be undone.",
|
|
1258
|
+
"customizeConfirmAction": "Open in the builder",
|
|
1259
|
+
"customizeFirst": "This automation follows a ready-made one. Open it in the builder first.",
|
|
1260
|
+
"customizeFailed": "Could not open it in the builder.",
|
|
1261
|
+
"upgradeFailed": "Couldn't update that. Try again.",
|
|
1262
|
+
"gone": "The ready-made automation this was built from is no longer on this server.",
|
|
1263
|
+
"doorsHelper": "The steps come from the ready-made automation and are fixed. Open in the builder makes every step editable and ends the link."
|
|
1264
|
+
},
|
|
1265
|
+
"templates": {
|
|
1266
|
+
"account-inactivity": {
|
|
1267
|
+
"name": "Inactive account",
|
|
1268
|
+
"description": "Raise a violation when an account goes unused for the days you allow.",
|
|
1269
|
+
"keywords": "idle dormant unused stale cleanup inactive account"
|
|
1270
|
+
},
|
|
1271
|
+
"concurrent-streams": {
|
|
1272
|
+
"name": "Too many streams at once",
|
|
1273
|
+
"description": "Raise a violation when an account plays more streams at once than you allow.",
|
|
1274
|
+
"keywords": "limit cap concurrent simultaneous sharing too many streams"
|
|
1275
|
+
},
|
|
1276
|
+
"device-velocity": {
|
|
1277
|
+
"name": "Many IPs in a window",
|
|
1278
|
+
"description": "Raise a violation when an account streams from more IP addresses in a window than you allow.",
|
|
1279
|
+
"keywords": "ip addresses vpn sharing devices window"
|
|
1280
|
+
},
|
|
1281
|
+
"geo-restriction": {
|
|
1282
|
+
"name": "Blocked countries",
|
|
1283
|
+
"description": "Raise a violation when a stream comes from a country you block.",
|
|
1284
|
+
"keywords": "country geo vpn abroad region block travel"
|
|
1285
|
+
},
|
|
1286
|
+
"impossible-travel": {
|
|
1287
|
+
"name": "Impossible travel",
|
|
1288
|
+
"description": "Raise a violation when two sessions sit further apart than anyone could travel between them.",
|
|
1289
|
+
"keywords": "vpn travel speed distance location sharing"
|
|
1290
|
+
},
|
|
1291
|
+
"kill-paused-streams": {
|
|
1292
|
+
"name": "Stop paused streams",
|
|
1293
|
+
"description": "Stop a stream that has sat paused past the minutes you allow.",
|
|
1294
|
+
"keywords": "pause idle afk stop kill terminate reclaim"
|
|
1295
|
+
},
|
|
1296
|
+
"media-added": {
|
|
1297
|
+
"name": "New media added",
|
|
1298
|
+
"description": "Tell a destination when a library item shows up for the first time.",
|
|
1299
|
+
"keywords": "new library movie episode added import notify discord email webhook"
|
|
1300
|
+
},
|
|
1301
|
+
"media-upgraded": {
|
|
1302
|
+
"name": "Media upgraded",
|
|
1303
|
+
"description": "Tell a destination when a library item changes quality.",
|
|
1304
|
+
"keywords": "upgrade quality remux 4k resolution replaced notify discord email webhook"
|
|
1305
|
+
},
|
|
1306
|
+
"new-device": {
|
|
1307
|
+
"name": "New device",
|
|
1308
|
+
"description": "Tell a destination the first time an account streams from a device you have not seen.",
|
|
1309
|
+
"keywords": "device new unknown unrecognized phone login sharing notify discord email webhook"
|
|
1310
|
+
},
|
|
1311
|
+
"no-4k-transcodes": {
|
|
1312
|
+
"name": "No 4K transcodes",
|
|
1313
|
+
"description": "Stop a stream that transcodes 4K source video.",
|
|
1314
|
+
"keywords": "4k transcode quality cpu bandwidth stop"
|
|
1315
|
+
},
|
|
1316
|
+
"paused-too-long": {
|
|
1317
|
+
"name": "Paused too long",
|
|
1318
|
+
"description": "Tell a destination when a stream sits paused past the minutes you allow.",
|
|
1319
|
+
"keywords": "pause idle afk stuck abandoned notify discord email webhook"
|
|
1320
|
+
},
|
|
1321
|
+
"plugin-update": {
|
|
1322
|
+
"name": "Tracearr plugin update",
|
|
1323
|
+
"description": "Tell a destination when a server has a newer Tracearr plugin to install.",
|
|
1324
|
+
"keywords": "plugin update upgrade version release notify discord email webhook"
|
|
1325
|
+
},
|
|
1326
|
+
"server-down": {
|
|
1327
|
+
"name": "Server down",
|
|
1328
|
+
"description": "Tell a destination when a media server stops answering.",
|
|
1329
|
+
"keywords": "offline outage unreachable down notify discord email webhook"
|
|
1330
|
+
},
|
|
1331
|
+
"server-up": {
|
|
1332
|
+
"name": "Server back up",
|
|
1333
|
+
"description": "Tell a destination when a media server answers again.",
|
|
1334
|
+
"keywords": "online recovered restored back up notify discord email webhook"
|
|
1335
|
+
},
|
|
1336
|
+
"server-update": {
|
|
1337
|
+
"name": "Media server update",
|
|
1338
|
+
"description": "Tell a destination when a media server has an update available.",
|
|
1339
|
+
"keywords": "update upgrade version release plex jellyfin emby notify discord"
|
|
1340
|
+
},
|
|
1341
|
+
"simultaneous-locations": {
|
|
1342
|
+
"name": "Two places at once",
|
|
1343
|
+
"description": "Raise a violation when one account streams from two distant places at the same time.",
|
|
1344
|
+
"keywords": "distance location sharing vpn two places at once"
|
|
1345
|
+
},
|
|
1346
|
+
"stream-ended": {
|
|
1347
|
+
"name": "Stream ended",
|
|
1348
|
+
"description": "Tell a destination every time a stream stops.",
|
|
1349
|
+
"keywords": "stop end finish playback notify discord email webhook"
|
|
1350
|
+
},
|
|
1351
|
+
"stream-started": {
|
|
1352
|
+
"name": "Stream started",
|
|
1353
|
+
"description": "Tell a destination every time a stream starts.",
|
|
1354
|
+
"keywords": "play watch begin start viewing notify discord email webhook"
|
|
1355
|
+
},
|
|
1356
|
+
"tracearr-update": {
|
|
1357
|
+
"name": "Tracearr update",
|
|
1358
|
+
"description": "Tell a destination when a new Tracearr release is out.",
|
|
1359
|
+
"keywords": "update upgrade version release tracearr notify discord email webhook"
|
|
1360
|
+
},
|
|
1361
|
+
"transcode-started": {
|
|
1362
|
+
"name": "Stream is transcoding",
|
|
1363
|
+
"description": "Tell a destination when a stream transcodes video or audio.",
|
|
1364
|
+
"keywords": "transcode convert cpu direct play quality notify discord email webhook"
|
|
1365
|
+
},
|
|
1366
|
+
"trust-score-changed": {
|
|
1367
|
+
"name": "Trust score changed",
|
|
1368
|
+
"description": "Tell a destination when an account's trust score changes.",
|
|
1369
|
+
"keywords": "trust score reputation penalty adjusted notify discord email webhook"
|
|
1370
|
+
}
|
|
1371
|
+
},
|
|
1372
|
+
"title": "Automations",
|
|
1373
|
+
"toggleAutomation": "Turn {{name}} on or off",
|
|
1374
|
+
"tryAdjustingFilters": "Try adjusting your filters.",
|
|
1375
|
+
"units": {
|
|
1376
|
+
"km": "km",
|
|
1377
|
+
"kmh": "km/h",
|
|
1378
|
+
"mbps": "Mbps",
|
|
1379
|
+
"days": "days",
|
|
1380
|
+
"minutes": "minutes",
|
|
1381
|
+
"hours": "hours",
|
|
1382
|
+
"gb": "GB",
|
|
1383
|
+
"seconds": "seconds"
|
|
1384
|
+
},
|
|
1385
|
+
"updateAutomation": "Save changes",
|
|
1386
|
+
"catalog": {
|
|
1387
|
+
"groups": {
|
|
1388
|
+
"sessions": "Sessions",
|
|
1389
|
+
"accounts": "Accounts",
|
|
1390
|
+
"library": "Library",
|
|
1391
|
+
"servers": "Servers",
|
|
1392
|
+
"updates": "Updates",
|
|
1393
|
+
"notify": "Notify",
|
|
1394
|
+
"policy": "Take action",
|
|
1395
|
+
"control": "If… then"
|
|
1396
|
+
},
|
|
1397
|
+
"suggested": "Suggested",
|
|
1398
|
+
"triggers": {
|
|
1399
|
+
"sessionStarted": {
|
|
1400
|
+
"description": "The moment play is pressed.",
|
|
1401
|
+
"synonyms": "play, watch, begin, start, viewing"
|
|
1402
|
+
},
|
|
1403
|
+
"sessionStopped": {
|
|
1404
|
+
"description": "Playback ends, however it ended.",
|
|
1405
|
+
"synonyms": "end, finish, quit, close"
|
|
1406
|
+
},
|
|
1407
|
+
"sessionTranscodeChanged": {
|
|
1408
|
+
"description": "The server switches a stream between direct play and transcoding.",
|
|
1409
|
+
"synonyms": "transcode, convert, direct play, cpu"
|
|
1410
|
+
},
|
|
1411
|
+
"sessionPaused": {
|
|
1412
|
+
"description": "The moment a stream is paused.",
|
|
1413
|
+
"synonyms": "pause, hold, idle"
|
|
1414
|
+
},
|
|
1415
|
+
"sessionHeldFor": {
|
|
1416
|
+
"label": "A stream sits paused",
|
|
1417
|
+
"description": "A stream has been paused longer than the set number of minutes.",
|
|
1418
|
+
"synonyms": "pause, idle, abandoned, stuck, afk"
|
|
1419
|
+
},
|
|
1420
|
+
"accountInactiveFor": {
|
|
1421
|
+
"label": "An account goes quiet",
|
|
1422
|
+
"description": "An account has watched nothing for the set number of days.",
|
|
1423
|
+
"synonyms": "inactive, dormant, unused, stale, cleanup"
|
|
1424
|
+
},
|
|
1425
|
+
"accountNewDevice": {
|
|
1426
|
+
"description": "An account streams from a device for the first time.",
|
|
1427
|
+
"synonyms": "device, new, unknown, unrecognized, phone, login, sharing"
|
|
1428
|
+
},
|
|
1429
|
+
"accountTrustChanged": {
|
|
1430
|
+
"description": "An account's trust score changes, whether an automation or an owner moved it.",
|
|
1431
|
+
"synonyms": "trust, score, reputation, penalty, adjusted"
|
|
1432
|
+
},
|
|
1433
|
+
"mediaAdded": {
|
|
1434
|
+
"description": "A library item shows up on a server for the first time.",
|
|
1435
|
+
"synonyms": "new, added, library, movie, episode, import"
|
|
1436
|
+
},
|
|
1437
|
+
"mediaUpgraded": {
|
|
1438
|
+
"description": "A library item that was already there changes quality.",
|
|
1439
|
+
"synonyms": "upgrade, quality, replaced, remux, 4k, resolution"
|
|
1440
|
+
},
|
|
1441
|
+
"serverDown": {
|
|
1442
|
+
"description": "A media server stops answering.",
|
|
1443
|
+
"synonyms": "unreachable, offline, outage, down"
|
|
1444
|
+
},
|
|
1445
|
+
"serverUp": {
|
|
1446
|
+
"description": "A media server answers again.",
|
|
1447
|
+
"synonyms": "online, recovered, restored, back"
|
|
1448
|
+
},
|
|
1449
|
+
"pluginUpdateAvailable": {
|
|
1450
|
+
"description": "The Tracearr plugin on a server has a newer release.",
|
|
1451
|
+
"synonyms": "plugin, upgrade, version, release"
|
|
1452
|
+
},
|
|
1453
|
+
"serverUpdateAvailable": {
|
|
1454
|
+
"description": "A media server has a newer release.",
|
|
1455
|
+
"synonyms": "upgrade, version, release, patch"
|
|
1456
|
+
},
|
|
1457
|
+
"tracearrUpdateAvailable": {
|
|
1458
|
+
"description": "Tracearr itself has a newer release.",
|
|
1459
|
+
"synonyms": "upgrade, version, release, self"
|
|
1460
|
+
}
|
|
1461
|
+
},
|
|
1462
|
+
"actions": {
|
|
1463
|
+
"send": {
|
|
1464
|
+
"synonyms": "notify, alert, discord, email, webhook, push"
|
|
1465
|
+
},
|
|
1466
|
+
"trust": {
|
|
1467
|
+
"synonyms": "score, reputation, penalise, reward"
|
|
1468
|
+
},
|
|
1469
|
+
"kill_stream": {
|
|
1470
|
+
"synonyms": "stop, terminate, cut, end playback"
|
|
1471
|
+
},
|
|
1472
|
+
"message_client": {
|
|
1473
|
+
"synonyms": "warn, tell, notice, on screen"
|
|
1474
|
+
},
|
|
1475
|
+
"if": {
|
|
1476
|
+
"label": "If… otherwise…",
|
|
1477
|
+
"description": "Run some steps only when an extra check passes.",
|
|
1478
|
+
"synonyms": "if, else, otherwise, branch, split, condition"
|
|
1479
|
+
}
|
|
1480
|
+
}
|
|
1481
|
+
},
|
|
1482
|
+
"filters": {
|
|
1483
|
+
"source": "Where it came from",
|
|
1484
|
+
"allSources": "Anywhere",
|
|
1485
|
+
"sources": {
|
|
1486
|
+
"builtin": "Built-in",
|
|
1487
|
+
"import": "Imported",
|
|
1488
|
+
"local": "Saved here",
|
|
1489
|
+
"own": "Built in the builder"
|
|
1490
|
+
},
|
|
1491
|
+
"trigger": "What starts it",
|
|
1492
|
+
"allTriggers": "All triggers"
|
|
1493
|
+
},
|
|
1494
|
+
"openGallery": "Open the gallery"
|
|
416
1495
|
},
|
|
417
1496
|
"terminateStream": {
|
|
418
1497
|
"title": "Terminate Stream",
|
|
@@ -477,32 +1556,36 @@
|
|
|
477
1556
|
"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."
|
|
478
1557
|
},
|
|
479
1558
|
"destinations": {
|
|
480
|
-
"title": "Notification destinations",
|
|
481
|
-
"description": "Where notifications go. Add as many as you like; each one picks the system events it receives, and rules can send to any of them.",
|
|
482
1559
|
"add": "Add destination",
|
|
1560
|
+
"builtinNote": "Built in",
|
|
1561
|
+
"clearSecret": "Clear",
|
|
1562
|
+
"delete": "Delete",
|
|
1563
|
+
"deleteConfirm": "Delete {{name}}? Automations that send to it will be blocked until they are updated.",
|
|
1564
|
+
"description": "Where notifications go. Add as many as you like, and automations can send to any of them.",
|
|
483
1565
|
"empty": "No destinations yet.",
|
|
1566
|
+
"fields": {
|
|
1567
|
+
"webhookUrl": "Webhook URL",
|
|
1568
|
+
"url": "URL",
|
|
1569
|
+
"serverUrl": "Server URL",
|
|
1570
|
+
"apiUrl": "API URL",
|
|
1571
|
+
"topic": "Topic",
|
|
1572
|
+
"authToken": "Auth token",
|
|
1573
|
+
"userKey": "User key",
|
|
1574
|
+
"apiToken": "API token"
|
|
1575
|
+
},
|
|
1576
|
+
"hints": {
|
|
1577
|
+
"authTokenOptional": "Optional for public topics"
|
|
1578
|
+
},
|
|
484
1579
|
"ownerOnly": "Only the owner can manage notification destinations.",
|
|
485
|
-
"eventsLabel": "Events",
|
|
486
|
-
"builtinNote": "Built in",
|
|
487
1580
|
"pushNote": "Delivered to paired mobile devices; each device filters in its own notification settings.",
|
|
488
|
-
"
|
|
489
|
-
"
|
|
490
|
-
"usedBy_other": "Used by {{count}} rules",
|
|
1581
|
+
"receiveViolations": "Receive violations",
|
|
1582
|
+
"receiveViolationsHint": "Send every violation to this destination",
|
|
491
1583
|
"reencrypt": "Re-enter this destination's secret",
|
|
492
1584
|
"secretSet": "Set (leave blank to keep)",
|
|
493
|
-
"clearSecret": "Clear",
|
|
494
1585
|
"test": "Test",
|
|
495
1586
|
"testHint": "Save first to test",
|
|
496
|
-
"
|
|
497
|
-
"
|
|
498
|
-
"events": {
|
|
499
|
-
"violation_detected": "Violation detected",
|
|
500
|
-
"stream_started": "Stream started",
|
|
501
|
-
"stream_stopped": "Stream stopped",
|
|
502
|
-
"server_down": "Server down",
|
|
503
|
-
"server_up": "Server up",
|
|
504
|
-
"plugin_update_available": "Plugin update available"
|
|
505
|
-
},
|
|
1587
|
+
"testNeedsForm": "Fill in the required fields to test",
|
|
1588
|
+
"title": "Notification destinations",
|
|
506
1589
|
"types": {
|
|
507
1590
|
"discord": "Discord",
|
|
508
1591
|
"jsonWebhook": "Webhook (JSON)",
|
|
@@ -513,20 +1596,9 @@
|
|
|
513
1596
|
"push": "Mobile push",
|
|
514
1597
|
"webToast": "Browser toasts"
|
|
515
1598
|
},
|
|
516
|
-
"
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
"serverUrl": "Server URL",
|
|
520
|
-
"apiUrl": "API URL",
|
|
521
|
-
"topic": "Topic",
|
|
522
|
-
"authToken": "Auth token",
|
|
523
|
-
"userKey": "User key",
|
|
524
|
-
"apiToken": "API token"
|
|
525
|
-
},
|
|
526
|
-
"hints": {
|
|
527
|
-
"authTokenOptional": "Optional for public topics"
|
|
528
|
-
},
|
|
529
|
-
"testNeedsForm": "Fill in the required fields to test"
|
|
1599
|
+
"usedBy": "Used by {{count}} automation",
|
|
1600
|
+
"usedBy_other": "Used by {{count}} automations",
|
|
1601
|
+
"webToastNote": "Toasts in this browser."
|
|
530
1602
|
},
|
|
531
1603
|
"jobs": {
|
|
532
1604
|
"runNow": "Run Now",
|
|
@@ -665,7 +1737,8 @@
|
|
|
665
1737
|
"clearQueryCache": "Clear Query Cache",
|
|
666
1738
|
"clearMobileDevices": "Clear Mobile Devices",
|
|
667
1739
|
"clearViolations": "Clear Violations",
|
|
668
|
-
"
|
|
1740
|
+
"clearAutomations": "Delete all automations and runs",
|
|
1741
|
+
"clearAutomationsConfirm": "Delete every automation and all of their runs?",
|
|
669
1742
|
"clearTerminationLogs": "Clear Termination Logs",
|
|
670
1743
|
"clearLibraryCache": "Clear Library Cache",
|
|
671
1744
|
"clearSessions": "Clear Sessions",
|