@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
|
@@ -22,6 +22,1164 @@
|
|
|
22
22
|
"versionV1": "API v1",
|
|
23
23
|
"versionV2": "API v2"
|
|
24
24
|
},
|
|
25
|
+
"automations": {
|
|
26
|
+
"actions": {
|
|
27
|
+
"kill_stream": {
|
|
28
|
+
"description": "Terminate the active stream",
|
|
29
|
+
"fields": {
|
|
30
|
+
"cooldown_minutes": {
|
|
31
|
+
"description": "Minimum time between terminations for the same user"
|
|
32
|
+
},
|
|
33
|
+
"delay_seconds": {
|
|
34
|
+
"description": "Waits this many seconds, then kills the stream only if the automation still matches. 0 kills right after a final re-check.",
|
|
35
|
+
"label": "Sustain window"
|
|
36
|
+
},
|
|
37
|
+
"message": {
|
|
38
|
+
"placeholder": "Optional message"
|
|
39
|
+
},
|
|
40
|
+
"target": {
|
|
41
|
+
"description": "Which sessions to terminate"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"label": "Kill Stream",
|
|
45
|
+
"ran": "Stopped the stream"
|
|
46
|
+
},
|
|
47
|
+
"message_client": {
|
|
48
|
+
"description": "Send a message to the media player",
|
|
49
|
+
"fields": {
|
|
50
|
+
"message": {
|
|
51
|
+
"placeholder": "Message to display…"
|
|
52
|
+
},
|
|
53
|
+
"target": {
|
|
54
|
+
"description": "Which sessions to message"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"hint": "Jellyfin and Emby only. Plex only supports messages when killing a stream.",
|
|
58
|
+
"label": "Message Client",
|
|
59
|
+
"ran": "Put a message on the player"
|
|
60
|
+
},
|
|
61
|
+
"send": {
|
|
62
|
+
"description": "Send to one or more destinations",
|
|
63
|
+
"fields": {
|
|
64
|
+
"cooldown_minutes": {
|
|
65
|
+
"description": "Minimum time between notifications"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"label": "Send Notification",
|
|
69
|
+
"ran": "Sent a notification"
|
|
70
|
+
},
|
|
71
|
+
"trust": {
|
|
72
|
+
"description": "Adjust, set, or reset the trust score",
|
|
73
|
+
"fields": {
|
|
74
|
+
"amount": {
|
|
75
|
+
"description": "Positive to increase, negative to decrease",
|
|
76
|
+
"label": "Amount"
|
|
77
|
+
},
|
|
78
|
+
"mode": {
|
|
79
|
+
"label": "Mode"
|
|
80
|
+
},
|
|
81
|
+
"value": {
|
|
82
|
+
"label": "Value"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"label": "Trust Score",
|
|
86
|
+
"ran": "Changed the trust score"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"activity": {
|
|
90
|
+
"branch": {
|
|
91
|
+
"else": "Took the second branch",
|
|
92
|
+
"then": "Took the first branch"
|
|
93
|
+
},
|
|
94
|
+
"description": "What this automation did, newest first. Runs are kept for {{days}} days.",
|
|
95
|
+
"empty": "No runs yet",
|
|
96
|
+
"emptyDescription": "Runs are listed here once a trigger matches.",
|
|
97
|
+
"finished": "Finished",
|
|
98
|
+
"from": "From",
|
|
99
|
+
"group": "Group {{number}}",
|
|
100
|
+
"noSummary": "No notes",
|
|
101
|
+
"openInEditor": "Open in the builder with this run",
|
|
102
|
+
"outcome": "Outcome",
|
|
103
|
+
"outcomes": {
|
|
104
|
+
"completed": "Ran",
|
|
105
|
+
"error": "Failed",
|
|
106
|
+
"stopped_by_condition": "No match"
|
|
107
|
+
},
|
|
108
|
+
"playing": "Playing",
|
|
109
|
+
"runLoading": "Loading the run",
|
|
110
|
+
"runTitle": "Run",
|
|
111
|
+
"started": "Started",
|
|
112
|
+
"summary": "Summary",
|
|
113
|
+
"tabs": {
|
|
114
|
+
"all": "All",
|
|
115
|
+
"completed": "Ran",
|
|
116
|
+
"error": "Failed",
|
|
117
|
+
"stopped_by_condition": "No match"
|
|
118
|
+
},
|
|
119
|
+
"tabsLabel": "Filter by outcome",
|
|
120
|
+
"title": "Activity",
|
|
121
|
+
"triggeredBy": "Triggered by {{trigger}}",
|
|
122
|
+
"unknownStep": "Unrecognized step",
|
|
123
|
+
"where": "Where",
|
|
124
|
+
"who": "Who",
|
|
125
|
+
"whyBranch": "What it read",
|
|
126
|
+
"emptyRan": "Nothing has matched yet",
|
|
127
|
+
"emptyRanDescription_one": "{{count}} check ran and did not match.",
|
|
128
|
+
"emptyRanDescription_other": "{{count}} checks ran and did not match.",
|
|
129
|
+
"item": "Item",
|
|
130
|
+
"recordedViolation": "Recorded a violation"
|
|
131
|
+
},
|
|
132
|
+
"allKinds": "All kinds",
|
|
133
|
+
"allStatuses": "All statuses",
|
|
134
|
+
"allSeverities": "All severities",
|
|
135
|
+
"bind": {
|
|
136
|
+
"accountLabel": "Which account",
|
|
137
|
+
"activeLabel": "Turn it on now",
|
|
138
|
+
"anyServer": "Any server",
|
|
139
|
+
"back": "Back",
|
|
140
|
+
"created": "{{name}} is set up and running.",
|
|
141
|
+
"createdOff": "{{name}} was created and is off. Turn it on from the list.",
|
|
142
|
+
"customize": "Open in the builder",
|
|
143
|
+
"destinationsLabel": "Send to",
|
|
144
|
+
"doors": {
|
|
145
|
+
"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."
|
|
146
|
+
},
|
|
147
|
+
"failed": "Couldn't set that up. Try again.",
|
|
148
|
+
"helper": {
|
|
149
|
+
"clientMessage": "Shown on the player while it keeps playing.",
|
|
150
|
+
"killMessage": "Shown on the player when the stream stops."
|
|
151
|
+
},
|
|
152
|
+
"nameHelper": "The name in the automations list.",
|
|
153
|
+
"namePlaceholder": "A name for this automation",
|
|
154
|
+
"needs": {
|
|
155
|
+
"title": "What it needs"
|
|
156
|
+
},
|
|
157
|
+
"noInputs": "Nothing to fill in.",
|
|
158
|
+
"personLabel": "Which person",
|
|
159
|
+
"required": "Pick at least one.",
|
|
160
|
+
"serverHelper": "Any server means all of them.",
|
|
161
|
+
"serverLabel": "Which server",
|
|
162
|
+
"submit": "Use this",
|
|
163
|
+
"submitting": "Setting it up…"
|
|
164
|
+
},
|
|
165
|
+
"builder": {
|
|
166
|
+
"actions": {
|
|
167
|
+
"add": "Add action",
|
|
168
|
+
"addBranch": "Add action",
|
|
169
|
+
"branchElse": "Otherwise…",
|
|
170
|
+
"branchElseEmpty": "Nothing. The automation carries on.",
|
|
171
|
+
"branchName": "this branch",
|
|
172
|
+
"branchThen": "then",
|
|
173
|
+
"collapseBranch": "Hide this branch's steps",
|
|
174
|
+
"confirmRemoveDescription": "Stops happening on save.",
|
|
175
|
+
"confirmRemoveTitle": "Remove this action?",
|
|
176
|
+
"emptyAction": "Choose what happens",
|
|
177
|
+
"emptyDescription": "Send a notification, stop the stream, change a trust score, or run steps only when an extra check passes.",
|
|
178
|
+
"emptyTitle": "What should happen?",
|
|
179
|
+
"expandBranch": "Show this branch's steps",
|
|
180
|
+
"helper": "These run in order, top to bottom.",
|
|
181
|
+
"ifAddCheck": "Add another check",
|
|
182
|
+
"ifNothing": "nothing yet",
|
|
183
|
+
"ifTitle": "If…",
|
|
184
|
+
"menu": "More for {{name}}",
|
|
185
|
+
"moveDown": "Move {{name}} down",
|
|
186
|
+
"moveUp": "Move {{name}} up",
|
|
187
|
+
"policyNote": "A branch does not decide whether this is flagged; the And only if… section does.",
|
|
188
|
+
"sectionTitle": "Do this…"
|
|
189
|
+
},
|
|
190
|
+
"activeLabel": "Active",
|
|
191
|
+
"clearSelection": "Clear selection",
|
|
192
|
+
"conditions": {
|
|
193
|
+
"addAnother": "Add another condition",
|
|
194
|
+
"addFirst": "Add a condition",
|
|
195
|
+
"addGroup": "Add AND condition group",
|
|
196
|
+
"all": "all of these",
|
|
197
|
+
"allCountries": "All countries",
|
|
198
|
+
"allDeviceTypes": "All device types",
|
|
199
|
+
"allHint": "and: every check has to pass",
|
|
200
|
+
"any": "any of these",
|
|
201
|
+
"anyHint": "or: any one check is enough",
|
|
202
|
+
"canNeverPass": "This can never pass. The trigger already fires at {{threshold}}.",
|
|
203
|
+
"deviceTypesHint": "Counts only streams from the selected device types. Empty means every device.",
|
|
204
|
+
"emptyLine": "No extra checks. This runs every time.",
|
|
205
|
+
"fieldLabel": "Condition",
|
|
206
|
+
"fieldPlaceholder": "Select field",
|
|
207
|
+
"groupSeparator": "and also",
|
|
208
|
+
"helper": "Checks that must pass first. Empty means it runs every time.",
|
|
209
|
+
"matchLabel": "How these conditions combine",
|
|
210
|
+
"no": "No",
|
|
211
|
+
"noFields": "No checks are available for these triggers. Add a stream or account trigger first.",
|
|
212
|
+
"operatorLabel": "Comparison",
|
|
213
|
+
"optional": "optional",
|
|
214
|
+
"recentlySeen": "Recently seen",
|
|
215
|
+
"removeGroup": "Remove this set of checks",
|
|
216
|
+
"sectionTitle": "Only when…",
|
|
217
|
+
"uniqueDevices": "Unique devices",
|
|
218
|
+
"uniqueDevicesHint": "Counts only sessions from different physical devices.",
|
|
219
|
+
"uniqueIps": "Unique IPs",
|
|
220
|
+
"uniqueIpsHint": "Counts only sessions from different IP addresses, so same-household streams are not counted.",
|
|
221
|
+
"valueLabel": "Value",
|
|
222
|
+
"windowPrefix": "in",
|
|
223
|
+
"windowUnit": "hrs",
|
|
224
|
+
"yes": "Yes"
|
|
225
|
+
},
|
|
226
|
+
"destinationDisabled": "Disabled destination",
|
|
227
|
+
"errors": {
|
|
228
|
+
"actionUnavailable": "These triggers do not supply what this action needs",
|
|
229
|
+
"daysRange": "Between {{min}} and {{max}} days",
|
|
230
|
+
"fieldNotAvailableFor": "Not available for: {{triggers}}",
|
|
231
|
+
"fieldUnavailable": "This check is not available for every trigger here",
|
|
232
|
+
"measureInvalid": "Pick how the minutes are counted",
|
|
233
|
+
"messageRequired": "Type the message to show",
|
|
234
|
+
"minutesRange": "Between {{min}} and {{max}} minutes",
|
|
235
|
+
"nameRequired": "Automation name is required",
|
|
236
|
+
"operatorInvalid": "This comparison does not fit the condition",
|
|
237
|
+
"policyNeedsSubject": "A policy needs a stream or account trigger: violations are about a person",
|
|
238
|
+
"scopeIncomplete": "Pick a target for the selected scope",
|
|
239
|
+
"sendNeedsDestination": "Pick at least one destination",
|
|
240
|
+
"tooLong": "At most {{max}} characters",
|
|
241
|
+
"triggerRequired": "Add what starts this, or switch one back on",
|
|
242
|
+
"trustAmountRange": "Trust changes by between -100 and 100 points",
|
|
243
|
+
"trustValueRange": "Trust score is between 0 and 100",
|
|
244
|
+
"valueInvalid": "This value does not fit the condition",
|
|
245
|
+
"variableUnavailable": "The message names something not every trigger here supplies"
|
|
246
|
+
},
|
|
247
|
+
"footer": {
|
|
248
|
+
"problems_one": "{{count}} problem",
|
|
249
|
+
"problems_other": "{{count}} problems",
|
|
250
|
+
"ready": "Ready to save",
|
|
251
|
+
"remaining_one": "{{count}} left to finish",
|
|
252
|
+
"remaining_other": "{{count}} left to finish",
|
|
253
|
+
"search": "to search"
|
|
254
|
+
},
|
|
255
|
+
"heldFor": {
|
|
256
|
+
"current": "this time",
|
|
257
|
+
"measureLabel": "Counted",
|
|
258
|
+
"minutesLabel": "Minutes",
|
|
259
|
+
"prefix": "A stream has been paused for",
|
|
260
|
+
"total": "in total",
|
|
261
|
+
"unit": "minutes"
|
|
262
|
+
},
|
|
263
|
+
"inactiveFor": {
|
|
264
|
+
"daysLabel": "Days",
|
|
265
|
+
"prefix": "An account has been inactive for",
|
|
266
|
+
"unit": "days"
|
|
267
|
+
},
|
|
268
|
+
"leave": {
|
|
269
|
+
"confirm": "Leave",
|
|
270
|
+
"title": "Leave without saving?"
|
|
271
|
+
},
|
|
272
|
+
"liveCheck": {
|
|
273
|
+
"actual": "now {{value}}",
|
|
274
|
+
"backToLive": "Back to what's playing now",
|
|
275
|
+
"checking": "Checking against the sessions playing now…",
|
|
276
|
+
"empty": "Nothing is playing right now; nothing to check against.",
|
|
277
|
+
"expand": "Show what matched for {{name}}",
|
|
278
|
+
"failed": "Could not reach the servers to check.",
|
|
279
|
+
"footnote": "Cooldowns and already-handled sessions aren't simulated.",
|
|
280
|
+
"notPassed": "Did not pass",
|
|
281
|
+
"passed": "Passed",
|
|
282
|
+
"paused": "Paused while this saves",
|
|
283
|
+
"sampleGone": "That session is no longer on record; nothing to check against.",
|
|
284
|
+
"sampleTitle": "What this would do to that run",
|
|
285
|
+
"title": "Right now on the servers",
|
|
286
|
+
"unfinished": "Shows what this would do once the automation is complete."
|
|
287
|
+
},
|
|
288
|
+
"newDestination": "New destination",
|
|
289
|
+
"noDestinations": "No destinations yet. Add one to send notifications.",
|
|
290
|
+
"noMatches": "No matches",
|
|
291
|
+
"picker": {
|
|
292
|
+
"close": "close",
|
|
293
|
+
"empty": "Nothing matches that.",
|
|
294
|
+
"navigate": "move",
|
|
295
|
+
"searchPlaceholder": "Search or describe what should happen",
|
|
296
|
+
"select": "pick"
|
|
297
|
+
},
|
|
298
|
+
"recordAs": {
|
|
299
|
+
"label": "When this runs, record it as",
|
|
300
|
+
"notification": "An alert",
|
|
301
|
+
"notificationDescription": "Recorded in Activity; never a violation.",
|
|
302
|
+
"policy": "A violation",
|
|
303
|
+
"policyDescription": "Listed in Violations; can be acknowledged."
|
|
304
|
+
},
|
|
305
|
+
"rows": {
|
|
306
|
+
"expandHint": "open",
|
|
307
|
+
"moveHint": "reorder",
|
|
308
|
+
"remove": "Remove {{name}}",
|
|
309
|
+
"removeHint": "remove",
|
|
310
|
+
"skipped": "Skipped",
|
|
311
|
+
"toggle": "Include {{name}}",
|
|
312
|
+
"toggleHint": "skip"
|
|
313
|
+
},
|
|
314
|
+
"saving": "Saving…",
|
|
315
|
+
"scope": {
|
|
316
|
+
"account": "Specific account",
|
|
317
|
+
"accountLabel": "Account",
|
|
318
|
+
"accountPlaceholder": "Select account",
|
|
319
|
+
"enforceAcrossServers": "Enforce across servers",
|
|
320
|
+
"enforceAcrossServersDescription": "Acts on the person's sessions on any of their servers, not only the one that triggered it. Off by default.",
|
|
321
|
+
"global": "Global",
|
|
322
|
+
"label": "Scope",
|
|
323
|
+
"noServers": "No servers connected yet.",
|
|
324
|
+
"person": "Person (all their servers)",
|
|
325
|
+
"personHelper": "Matches this person on every server they have an account on.",
|
|
326
|
+
"personLabel": "Person",
|
|
327
|
+
"personPlaceholder": "Select person",
|
|
328
|
+
"server": "Specific server",
|
|
329
|
+
"serverLabel": "Server",
|
|
330
|
+
"serverPlaceholder": "Select server"
|
|
331
|
+
},
|
|
332
|
+
"searchPlaceholder": "Search…",
|
|
333
|
+
"selectPlaceholder": "Select…",
|
|
334
|
+
"selectedCount": "{{count}} selected",
|
|
335
|
+
"sentence": {
|
|
336
|
+
"label": "What this automation does",
|
|
337
|
+
"placeholderAction": "do something",
|
|
338
|
+
"placeholderTrigger": "something happens"
|
|
339
|
+
},
|
|
340
|
+
"severityLabel": "Severity",
|
|
341
|
+
"when": {
|
|
342
|
+
"add": "Add trigger",
|
|
343
|
+
"emptyAction": "Choose what starts it",
|
|
344
|
+
"emptyDescription": "A stream starting, a server going down, an account going quiet.",
|
|
345
|
+
"emptyTitle": "What should start this?",
|
|
346
|
+
"helper": "Any one of these starts it. At least one is required.",
|
|
347
|
+
"or": "or",
|
|
348
|
+
"title": "When…"
|
|
349
|
+
}
|
|
350
|
+
},
|
|
351
|
+
"catalog": {
|
|
352
|
+
"actions": {
|
|
353
|
+
"if": {
|
|
354
|
+
"description": "Run one set of steps when a condition holds and another when it does not.",
|
|
355
|
+
"label": "Branch on a condition",
|
|
356
|
+
"synonyms": "if, else, otherwise, branch, split, condition"
|
|
357
|
+
},
|
|
358
|
+
"kill_stream": {
|
|
359
|
+
"synonyms": "stop, terminate, cut, end playback"
|
|
360
|
+
},
|
|
361
|
+
"message_client": {
|
|
362
|
+
"synonyms": "warn, tell, notice, on screen"
|
|
363
|
+
},
|
|
364
|
+
"send": {
|
|
365
|
+
"synonyms": "notify, alert, discord, email, webhook, push"
|
|
366
|
+
},
|
|
367
|
+
"trust": {
|
|
368
|
+
"synonyms": "score, reputation, penalise, reward"
|
|
369
|
+
}
|
|
370
|
+
},
|
|
371
|
+
"groups": {
|
|
372
|
+
"accounts": "Accounts",
|
|
373
|
+
"control": "Control flow",
|
|
374
|
+
"library": "Library",
|
|
375
|
+
"notify": "Notify",
|
|
376
|
+
"policy": "Policy",
|
|
377
|
+
"servers": "Servers",
|
|
378
|
+
"sessions": "Sessions",
|
|
379
|
+
"updates": "Updates"
|
|
380
|
+
},
|
|
381
|
+
"suggested": "Suggested",
|
|
382
|
+
"triggers": {
|
|
383
|
+
"accountInactiveFor": {
|
|
384
|
+
"description": "An account has watched nothing for the set number of days.",
|
|
385
|
+
"label": "An account goes quiet",
|
|
386
|
+
"synonyms": "inactive, dormant, unused, stale, cleanup"
|
|
387
|
+
},
|
|
388
|
+
"accountNewDevice": {
|
|
389
|
+
"description": "An account streams from a device for the first time.",
|
|
390
|
+
"synonyms": "device, new, unknown, unrecognized, phone, login, sharing"
|
|
391
|
+
},
|
|
392
|
+
"accountTrustChanged": {
|
|
393
|
+
"description": "An account's trust score changes, whether an automation or an owner moved it.",
|
|
394
|
+
"synonyms": "trust, score, reputation, penalty, adjusted"
|
|
395
|
+
},
|
|
396
|
+
"mediaAdded": {
|
|
397
|
+
"description": "A library item shows up on a server for the first time.",
|
|
398
|
+
"synonyms": "new, added, library, movie, episode, import"
|
|
399
|
+
},
|
|
400
|
+
"mediaUpgraded": {
|
|
401
|
+
"description": "A library item that was already there changes quality.",
|
|
402
|
+
"synonyms": "upgrade, quality, replaced, remux, 4k, resolution"
|
|
403
|
+
},
|
|
404
|
+
"pluginUpdateAvailable": {
|
|
405
|
+
"description": "The Tracearr plugin on a server has a newer release.",
|
|
406
|
+
"synonyms": "plugin, upgrade, version, release"
|
|
407
|
+
},
|
|
408
|
+
"serverDown": {
|
|
409
|
+
"description": "A media server stops answering.",
|
|
410
|
+
"synonyms": "unreachable, offline, outage, down"
|
|
411
|
+
},
|
|
412
|
+
"serverUp": {
|
|
413
|
+
"description": "A media server answers again.",
|
|
414
|
+
"synonyms": "online, recovered, restored, back"
|
|
415
|
+
},
|
|
416
|
+
"serverUpdateAvailable": {
|
|
417
|
+
"description": "A media server has a newer release.",
|
|
418
|
+
"synonyms": "upgrade, version, release, patch"
|
|
419
|
+
},
|
|
420
|
+
"sessionHeldFor": {
|
|
421
|
+
"description": "A stream has been paused longer than the set number of minutes.",
|
|
422
|
+
"label": "A stream sits paused",
|
|
423
|
+
"synonyms": "pause, idle, abandoned, stuck, afk"
|
|
424
|
+
},
|
|
425
|
+
"sessionPaused": {
|
|
426
|
+
"description": "The moment a stream is paused.",
|
|
427
|
+
"synonyms": "pause, hold, idle"
|
|
428
|
+
},
|
|
429
|
+
"sessionStarted": {
|
|
430
|
+
"description": "The moment play is pressed.",
|
|
431
|
+
"synonyms": "play, watch, begin, start, viewing"
|
|
432
|
+
},
|
|
433
|
+
"sessionStopped": {
|
|
434
|
+
"description": "Playback ends, however it ended.",
|
|
435
|
+
"synonyms": "end, finish, quit, close"
|
|
436
|
+
},
|
|
437
|
+
"sessionTranscodeChanged": {
|
|
438
|
+
"description": "The server switches a stream between direct play and transcoding.",
|
|
439
|
+
"synonyms": "transcode, convert, direct play, cpu"
|
|
440
|
+
},
|
|
441
|
+
"tracearrUpdateAvailable": {
|
|
442
|
+
"description": "Tracearr itself has a newer release.",
|
|
443
|
+
"synonyms": "upgrade, version, release, self"
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
},
|
|
447
|
+
"categories": {
|
|
448
|
+
"device_client": "Device & Client",
|
|
449
|
+
"media": "Media",
|
|
450
|
+
"network_location": "Network & Location",
|
|
451
|
+
"scope": "Scope",
|
|
452
|
+
"session_behavior": "Session Behavior",
|
|
453
|
+
"stream_quality": "Stream Quality",
|
|
454
|
+
"user_attributes": "User Attributes"
|
|
455
|
+
},
|
|
456
|
+
"configFields": {
|
|
457
|
+
"cooldown_minutes": {
|
|
458
|
+
"label": "Cooldown"
|
|
459
|
+
},
|
|
460
|
+
"message": {
|
|
461
|
+
"label": "Message"
|
|
462
|
+
},
|
|
463
|
+
"target": {
|
|
464
|
+
"label": "Target"
|
|
465
|
+
}
|
|
466
|
+
},
|
|
467
|
+
"createAutomation": "Create Automation",
|
|
468
|
+
"customAutomation": "Custom automation",
|
|
469
|
+
"deleteAutomationConfirm": "Are you sure you want to delete this automation? This action cannot be undone.",
|
|
470
|
+
"deleteAutomation_one": "Delete {{count}} Automation",
|
|
471
|
+
"deleteAutomation_other": "Delete {{count}} Automations",
|
|
472
|
+
"deleteAutomationsConfirm": "Are you sure you want to delete? This action cannot be undone.",
|
|
473
|
+
"describe": {
|
|
474
|
+
"actions": {
|
|
475
|
+
"doNothing": "do nothing",
|
|
476
|
+
"flagIt": "Flag it",
|
|
477
|
+
"if": "if",
|
|
478
|
+
"kill_stream": "stop the stream",
|
|
479
|
+
"message_client": "message the player",
|
|
480
|
+
"send": "send to {{destinations}}",
|
|
481
|
+
"sendAnywhere": "send a notification",
|
|
482
|
+
"trustAdjust": "adjust trust by {{amount}}",
|
|
483
|
+
"trustDown": "drop trust by {{amount}}",
|
|
484
|
+
"trustReset": "reset trust",
|
|
485
|
+
"trustSet": "set trust to {{value}}",
|
|
486
|
+
"trustUp": "raise trust by {{amount}}"
|
|
487
|
+
},
|
|
488
|
+
"allOf": "all of:",
|
|
489
|
+
"andAlso": "and also",
|
|
490
|
+
"anyOf": "any of:",
|
|
491
|
+
"appliesTo": "Applies to {{name}}",
|
|
492
|
+
"deviceTypesOnly": "{{types}} only",
|
|
493
|
+
"duration": {
|
|
494
|
+
"days_one": "{{count}} day",
|
|
495
|
+
"days_other": "{{count}} days",
|
|
496
|
+
"minutes_one": "{{count}} minute",
|
|
497
|
+
"minutes_other": "{{count}} minutes"
|
|
498
|
+
},
|
|
499
|
+
"fields": {
|
|
500
|
+
"account_age_days": "the account age",
|
|
501
|
+
"active_session_distance_km": "the distance between streams",
|
|
502
|
+
"audio_channels_after": "the audio channels",
|
|
503
|
+
"client_name": "the player",
|
|
504
|
+
"concurrent_streams": "the stream count",
|
|
505
|
+
"country": "the country",
|
|
506
|
+
"current_pause_minutes": "the current pause",
|
|
507
|
+
"device_type": "the device type",
|
|
508
|
+
"dynamic_range_after": "the dynamic range",
|
|
509
|
+
"file_size_after": "the file size",
|
|
510
|
+
"inactive_days": "the time since the last stream",
|
|
511
|
+
"ip_in_range": "the IP address",
|
|
512
|
+
"is_local_network": "the local network",
|
|
513
|
+
"is_transcode_downgrade": "the downgrade",
|
|
514
|
+
"is_transcoding": "the transcoding",
|
|
515
|
+
"library_item_type": "the item type",
|
|
516
|
+
"library_name": "the library",
|
|
517
|
+
"media_type": "the media type",
|
|
518
|
+
"output_resolution": "the output resolution",
|
|
519
|
+
"platform": "the platform",
|
|
520
|
+
"resolution_after": "the resolution",
|
|
521
|
+
"server_id": "the server",
|
|
522
|
+
"source_bitrate_mbps": "the source bitrate",
|
|
523
|
+
"source_resolution": "the source resolution",
|
|
524
|
+
"total_pause_minutes": "the total pause time",
|
|
525
|
+
"travel_speed_kmh": "the travel speed",
|
|
526
|
+
"trust_score": "the trust score",
|
|
527
|
+
"unique_devices_in_window": "the number of devices",
|
|
528
|
+
"unique_ips_in_window": "the number of IP addresses",
|
|
529
|
+
"user_id": "the user",
|
|
530
|
+
"video_codec_after": "the video codec"
|
|
531
|
+
},
|
|
532
|
+
"includesSameDevice": "includes same device",
|
|
533
|
+
"joinAll": "and",
|
|
534
|
+
"joinAny": "or",
|
|
535
|
+
"more_one": "+{{count}} more",
|
|
536
|
+
"more_other": "+{{count}} more",
|
|
537
|
+
"noValues": "(none)",
|
|
538
|
+
"nothing": "nothing yet",
|
|
539
|
+
"onlyWhen": "only when",
|
|
540
|
+
"operators": {
|
|
541
|
+
"contains": "contains",
|
|
542
|
+
"eq": "is",
|
|
543
|
+
"gt": "is above",
|
|
544
|
+
"gte": "is at least",
|
|
545
|
+
"in": "is one of",
|
|
546
|
+
"lt": "is below",
|
|
547
|
+
"lte": "is at most",
|
|
548
|
+
"neq": "is not",
|
|
549
|
+
"not_contains": "does not contain",
|
|
550
|
+
"not_in": "is not one of"
|
|
551
|
+
},
|
|
552
|
+
"or": "or {{text}}",
|
|
553
|
+
"otherwise": "Otherwise",
|
|
554
|
+
"sameDeviceInput": "same device: {{input}}",
|
|
555
|
+
"scope": {
|
|
556
|
+
"account": "one account",
|
|
557
|
+
"person": "one person",
|
|
558
|
+
"server": "one server"
|
|
559
|
+
},
|
|
560
|
+
"states": {
|
|
561
|
+
"is_local_network": {
|
|
562
|
+
"no": "the user is not on the local network",
|
|
563
|
+
"yes": "the user is on the local network"
|
|
564
|
+
},
|
|
565
|
+
"is_transcode_downgrade": {
|
|
566
|
+
"no": "the stream is not downgraded",
|
|
567
|
+
"yes": "the stream is downgraded"
|
|
568
|
+
},
|
|
569
|
+
"is_transcoding": {
|
|
570
|
+
"audio": {
|
|
571
|
+
"no": "the stream is not transcoding audio",
|
|
572
|
+
"yes": "the stream is transcoding audio"
|
|
573
|
+
},
|
|
574
|
+
"neither": {
|
|
575
|
+
"no": "the stream is transcoding",
|
|
576
|
+
"yes": "the stream is not transcoding"
|
|
577
|
+
},
|
|
578
|
+
"video": {
|
|
579
|
+
"no": "the stream is not transcoding video",
|
|
580
|
+
"yes": "the stream is transcoding video"
|
|
581
|
+
},
|
|
582
|
+
"video_or_audio": {
|
|
583
|
+
"no": "the stream is not transcoding",
|
|
584
|
+
"yes": "the stream is transcoding"
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
},
|
|
588
|
+
"then": "then {{text}}",
|
|
589
|
+
"triggers": {
|
|
590
|
+
"accountInactiveFor": "an account has been inactive for {{duration}}",
|
|
591
|
+
"accountNewDevice": "an account plays from a new device",
|
|
592
|
+
"accountTrustChanged": "an account's trust score changes",
|
|
593
|
+
"mediaAdded": "media is added",
|
|
594
|
+
"mediaUpgraded": "media is upgraded",
|
|
595
|
+
"pluginUpdateAvailable": "a plugin update is available",
|
|
596
|
+
"serverDown": "a server goes down",
|
|
597
|
+
"serverUp": "a server comes back up",
|
|
598
|
+
"serverUpdateAvailable": "a server update is available",
|
|
599
|
+
"sessionHeldFor": "a stream has been paused for {{duration}}",
|
|
600
|
+
"sessionHeldForTotal": "a stream has been paused for {{duration}} in total",
|
|
601
|
+
"sessionPaused": "a stream is paused",
|
|
602
|
+
"sessionStarted": "a stream starts",
|
|
603
|
+
"sessionStopped": "a stream stops",
|
|
604
|
+
"sessionTranscodeChanged": "transcoding starts or stops",
|
|
605
|
+
"tracearrUpdateAvailable": "a Tracearr update is available"
|
|
606
|
+
},
|
|
607
|
+
"uniqueIps": "unique IPs",
|
|
608
|
+
"uniqueIpsInput": "unique IPs: {{input}}",
|
|
609
|
+
"when": "When {{text}}",
|
|
610
|
+
"unbound": {
|
|
611
|
+
"server": "a chosen server",
|
|
612
|
+
"account": "a chosen account",
|
|
613
|
+
"person": "a chosen person",
|
|
614
|
+
"destinations": "a chosen destination",
|
|
615
|
+
"field_value": "a chosen value",
|
|
616
|
+
"select": "a chosen option",
|
|
617
|
+
"number": "a chosen number",
|
|
618
|
+
"duration": "a chosen length of time",
|
|
619
|
+
"text": "a chosen message",
|
|
620
|
+
"boolean": "a chosen setting",
|
|
621
|
+
"listed": "those chosen"
|
|
622
|
+
}
|
|
623
|
+
},
|
|
624
|
+
"description": "Automations watch your servers and act when their conditions match",
|
|
625
|
+
"detail": {
|
|
626
|
+
"notFound": "Automation not found",
|
|
627
|
+
"title": "Automation",
|
|
628
|
+
"unsaved": "Unsaved changes",
|
|
629
|
+
"runsLine_one": "1 run · last run {{when}}",
|
|
630
|
+
"runsLine_other": "{{count}} runs · last run {{when}}",
|
|
631
|
+
"noRuns": "No runs yet"
|
|
632
|
+
},
|
|
633
|
+
"disable": "Disable",
|
|
634
|
+
"editAutomation": "Edit Automation",
|
|
635
|
+
"effects": {
|
|
636
|
+
"allServers": "Runs on every server unless one is chosen.",
|
|
637
|
+
"everyServer": "Runs on every server.",
|
|
638
|
+
"kill": "Can stop a stream that is playing.",
|
|
639
|
+
"message": "Puts a message on a player.",
|
|
640
|
+
"oneServer": "Runs on {{server}} only.",
|
|
641
|
+
"tellsOnly": "Only notifies. Never stops a stream or changes an account.",
|
|
642
|
+
"title": "What this will do",
|
|
643
|
+
"trust": "Changes trust scores.",
|
|
644
|
+
"violation": "Records a violation against the matched person."
|
|
645
|
+
},
|
|
646
|
+
"emptyDescription": "Ready-made automations. Pick one and fill in the blanks.",
|
|
647
|
+
"emptySeeAll": "See all {{count}}",
|
|
648
|
+
"emptySeeAllLoading": "See all",
|
|
649
|
+
"emptyTitle": "No automations yet",
|
|
650
|
+
"enable": "Enable",
|
|
651
|
+
"evaluations": {
|
|
652
|
+
"reasons": {
|
|
653
|
+
"cooldown_active": "Cooldown was active",
|
|
654
|
+
"edge_replayed": "Same edge already handled",
|
|
655
|
+
"gate_blocked": "An open run already covers this",
|
|
656
|
+
"trigger_filter_failed": "Trigger threshold not reached"
|
|
657
|
+
},
|
|
658
|
+
"disclosure": "Matches that did not start a run ({{total}})"
|
|
659
|
+
},
|
|
660
|
+
"export": {
|
|
661
|
+
"authorHelper": "Shown on the gallery page and carried in the code. Optional.",
|
|
662
|
+
"authorLabel": "Author",
|
|
663
|
+
"authorPlaceholder": "Name",
|
|
664
|
+
"carries": "The code carries the steps only. Destinations, servers and accounts are not included; the receiving side fills in its own.",
|
|
665
|
+
"copyCode": "Copy the share code",
|
|
666
|
+
"copyJson": "Copy the JSON",
|
|
667
|
+
"description": "A code another Tracearr can paste in.",
|
|
668
|
+
"failed": "Couldn't make a code for this one.",
|
|
669
|
+
"save": "Save as ready-made",
|
|
670
|
+
"saveFailed": "Could not save it.",
|
|
671
|
+
"saved": "{{name}} saved as a ready-made automation.",
|
|
672
|
+
"title": "Share this automation",
|
|
673
|
+
"saveHelper": "Adds it to this server's list of ready-made automations.",
|
|
674
|
+
"authorInCode": "The code includes the author name.",
|
|
675
|
+
"groupLabel": "Section",
|
|
676
|
+
"groupHelper": "Which part of the gallery it is listed under.",
|
|
677
|
+
"gallery": {
|
|
678
|
+
"trigger": "Put this in the community gallery",
|
|
679
|
+
"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."
|
|
680
|
+
},
|
|
681
|
+
"openRepository": "Open the repository"
|
|
682
|
+
},
|
|
683
|
+
"fields": {
|
|
684
|
+
"account_age_days": {
|
|
685
|
+
"description": "Days since account creation",
|
|
686
|
+
"label": "Account Age"
|
|
687
|
+
},
|
|
688
|
+
"active_session_distance_km": {
|
|
689
|
+
"description": "Distance between simultaneous sessions",
|
|
690
|
+
"label": "Distance Between Sessions"
|
|
691
|
+
},
|
|
692
|
+
"audio_channels_after": {
|
|
693
|
+
"description": "Audio channel count the item ends up with",
|
|
694
|
+
"label": "Audio Channels"
|
|
695
|
+
},
|
|
696
|
+
"client_name": {
|
|
697
|
+
"description": "Media player application",
|
|
698
|
+
"label": "Client/Player",
|
|
699
|
+
"placeholder": "e.g., Plex for iOS"
|
|
700
|
+
},
|
|
701
|
+
"concurrent_streams": {
|
|
702
|
+
"description": "Number of active streams from the same user",
|
|
703
|
+
"label": "Concurrent Streams"
|
|
704
|
+
},
|
|
705
|
+
"country": {
|
|
706
|
+
"description": "Geographic country",
|
|
707
|
+
"label": "Country",
|
|
708
|
+
"placeholder": "Select countries…"
|
|
709
|
+
},
|
|
710
|
+
"current_pause_minutes": {
|
|
711
|
+
"description": "How long the session has been continuously paused",
|
|
712
|
+
"label": "Current Pause Duration"
|
|
713
|
+
},
|
|
714
|
+
"device_type": {
|
|
715
|
+
"description": "Type of device used",
|
|
716
|
+
"label": "Device Type"
|
|
717
|
+
},
|
|
718
|
+
"dynamic_range_after": {
|
|
719
|
+
"description": "HDR format the item ends up with",
|
|
720
|
+
"label": "Dynamic Range"
|
|
721
|
+
},
|
|
722
|
+
"file_size_after": {
|
|
723
|
+
"description": "Size the item ends up at, across every copy",
|
|
724
|
+
"label": "File Size"
|
|
725
|
+
},
|
|
726
|
+
"inactive_days": {
|
|
727
|
+
"description": "Days since last activity",
|
|
728
|
+
"label": "Days Inactive"
|
|
729
|
+
},
|
|
730
|
+
"ip_in_range": {
|
|
731
|
+
"description": "IP address in a CIDR range, IPv4 or IPv6",
|
|
732
|
+
"label": "IP Range",
|
|
733
|
+
"placeholder": "e.g., 192.168.1.0/24 or 2001:db8:abcd:7800::/64"
|
|
734
|
+
},
|
|
735
|
+
"is_local_network": {
|
|
736
|
+
"description": "Streaming from the local network",
|
|
737
|
+
"label": "Local Network"
|
|
738
|
+
},
|
|
739
|
+
"is_transcode_downgrade": {
|
|
740
|
+
"description": "Output resolution is lower than source",
|
|
741
|
+
"label": "Transcode Downgrade"
|
|
742
|
+
},
|
|
743
|
+
"is_transcoding": {
|
|
744
|
+
"description": "Whether video or audio streams are being transcoded",
|
|
745
|
+
"label": "Is Transcoding"
|
|
746
|
+
},
|
|
747
|
+
"library_item_type": {
|
|
748
|
+
"description": "What kind of library item it is",
|
|
749
|
+
"label": "Item Type"
|
|
750
|
+
},
|
|
751
|
+
"library_name": {
|
|
752
|
+
"description": "Name of the library it landed in",
|
|
753
|
+
"label": "Library",
|
|
754
|
+
"placeholder": "Movies"
|
|
755
|
+
},
|
|
756
|
+
"media_type": {
|
|
757
|
+
"description": "Type of content",
|
|
758
|
+
"label": "Media Type"
|
|
759
|
+
},
|
|
760
|
+
"output_resolution": {
|
|
761
|
+
"description": "Transcoded or delivered resolution",
|
|
762
|
+
"label": "Output Resolution"
|
|
763
|
+
},
|
|
764
|
+
"platform": {
|
|
765
|
+
"description": "Operating system",
|
|
766
|
+
"label": "Platform/OS"
|
|
767
|
+
},
|
|
768
|
+
"resolution_after": {
|
|
769
|
+
"description": "Resolution the item ends up at",
|
|
770
|
+
"label": "Resolution"
|
|
771
|
+
},
|
|
772
|
+
"server_id": {
|
|
773
|
+
"description": "Specific media server",
|
|
774
|
+
"label": "Server",
|
|
775
|
+
"placeholder": "Select servers…"
|
|
776
|
+
},
|
|
777
|
+
"source_bitrate_mbps": {
|
|
778
|
+
"description": "Original media bitrate",
|
|
779
|
+
"label": "Source Bitrate"
|
|
780
|
+
},
|
|
781
|
+
"source_resolution": {
|
|
782
|
+
"description": "Original media resolution",
|
|
783
|
+
"label": "Source Resolution"
|
|
784
|
+
},
|
|
785
|
+
"total_pause_minutes": {
|
|
786
|
+
"description": "Total accumulated pause time across all pause/resume cycles",
|
|
787
|
+
"label": "Total Pause Duration"
|
|
788
|
+
},
|
|
789
|
+
"travel_speed_kmh": {
|
|
790
|
+
"description": "Calculated travel speed between locations",
|
|
791
|
+
"label": "Travel Speed"
|
|
792
|
+
},
|
|
793
|
+
"trust_score": {
|
|
794
|
+
"description": "The user's trust score, from 0 to 100",
|
|
795
|
+
"label": "Trust Score"
|
|
796
|
+
},
|
|
797
|
+
"unique_devices_in_window": {
|
|
798
|
+
"description": "Number of unique devices in the time window",
|
|
799
|
+
"label": "Unique Devices in Window"
|
|
800
|
+
},
|
|
801
|
+
"unique_ips_in_window": {
|
|
802
|
+
"description": "Number of unique IP addresses in the time window",
|
|
803
|
+
"label": "Unique IPs in Window"
|
|
804
|
+
},
|
|
805
|
+
"user_id": {
|
|
806
|
+
"description": "Specific users by account",
|
|
807
|
+
"label": "User",
|
|
808
|
+
"placeholder": "Select users…"
|
|
809
|
+
},
|
|
810
|
+
"video_codec_after": {
|
|
811
|
+
"description": "Video codec the item ends up with",
|
|
812
|
+
"label": "Video Codec"
|
|
813
|
+
}
|
|
814
|
+
},
|
|
815
|
+
"gallery": {
|
|
816
|
+
"builtin": "Built-in",
|
|
817
|
+
"description": "Ready-made automations. Pick one and fill in the blanks.",
|
|
818
|
+
"failed": "Couldn't load the ready-made automations.",
|
|
819
|
+
"group": {
|
|
820
|
+
"housekeeping": "Housekeeping",
|
|
821
|
+
"notifications": "Notifications",
|
|
822
|
+
"other": "Other ways to start",
|
|
823
|
+
"policies": "Limits and rules",
|
|
824
|
+
"server_health": "Server health"
|
|
825
|
+
},
|
|
826
|
+
"hint": {
|
|
827
|
+
"close": "close",
|
|
828
|
+
"move": "move",
|
|
829
|
+
"use": "use"
|
|
830
|
+
},
|
|
831
|
+
"kind": {
|
|
832
|
+
"notification": "An alert",
|
|
833
|
+
"policy": "A violation"
|
|
834
|
+
},
|
|
835
|
+
"loading": "Loading…",
|
|
836
|
+
"missing": "That ready-made automation is not on this server.",
|
|
837
|
+
"noMatches": "Nothing matches “{{query}}”.",
|
|
838
|
+
"noMatchesHint": "Try a word from the outcome: discord, offline, paused.",
|
|
839
|
+
"paste": {
|
|
840
|
+
"description": "Paste a code and review what it does before adding it.",
|
|
841
|
+
"title": "Paste a share code"
|
|
842
|
+
},
|
|
843
|
+
"retry": "Try again",
|
|
844
|
+
"scratch": {
|
|
845
|
+
"description": "Build it step by step.",
|
|
846
|
+
"title": "Start from scratch"
|
|
847
|
+
},
|
|
848
|
+
"searchPlaceholder": "Search",
|
|
849
|
+
"title": "New automation"
|
|
850
|
+
},
|
|
851
|
+
"import": {
|
|
852
|
+
"adding": "Adding it…",
|
|
853
|
+
"check": "Check it",
|
|
854
|
+
"checking": "Reading it…",
|
|
855
|
+
"codeShort": "Code {{fingerprint}}",
|
|
856
|
+
"collision": {
|
|
857
|
+
"add": "Keep both",
|
|
858
|
+
"replace": "Replace mine",
|
|
859
|
+
"title": "A different automation named {{name}} already exists."
|
|
860
|
+
},
|
|
861
|
+
"description": "Paste the code. Everything is in the code; Tracearr fetches nothing.",
|
|
862
|
+
"errors": {
|
|
863
|
+
"notACode": "That doesn't look like a Tracearr share code.",
|
|
864
|
+
"notACodeHint": "A code starts with tracearr1. The JSON works too.",
|
|
865
|
+
"rejected": "Tracearr couldn't read this one.",
|
|
866
|
+
"rejectedHint": "It may come from a different tool or have been edited by hand.",
|
|
867
|
+
"tooBig": "That's too big to be a Tracearr automation.",
|
|
868
|
+
"tooBigHint": "Codes are a few thousand characters at most.",
|
|
869
|
+
"tooMany": "That's a lot of codes in one minute.",
|
|
870
|
+
"tooManyHint": "Wait a moment, then check it again.",
|
|
871
|
+
"tooNew": "This needs Tracearr {{required}} or newer.",
|
|
872
|
+
"tooNewHint": "This server runs {{current}}. Update Tracearr, then paste again.",
|
|
873
|
+
"truncated": "This code looks cut off.",
|
|
874
|
+
"truncatedHint": "Copy the whole code and paste it again; some chat apps split long codes across lines."
|
|
875
|
+
},
|
|
876
|
+
"existing": "Already saved as {{name}}.",
|
|
877
|
+
"existingUse": "Use it",
|
|
878
|
+
"formatHint": "A code starts with tracearr1.",
|
|
879
|
+
"madeBy": "Author: {{author}}, as written in the code",
|
|
880
|
+
"paused": {
|
|
881
|
+
"helper": "Turn it on from the list after review.",
|
|
882
|
+
"label": "Start paused"
|
|
883
|
+
},
|
|
884
|
+
"placeholder": "tracearr1.…",
|
|
885
|
+
"raw": "Show the JSON",
|
|
886
|
+
"reviewDescription": "What the code does, and what to fill in.",
|
|
887
|
+
"submit": "Add it",
|
|
888
|
+
"title": "Paste a share code",
|
|
889
|
+
"valid": "Tracearr can read this code.",
|
|
890
|
+
"source": "Shared automations are listed at docs.tracearr.com/templates.",
|
|
891
|
+
"validCaveat": "Nothing in a code says who wrote it or whether it is safe. The steps are below.",
|
|
892
|
+
"builtinMatch": "This is {{name}}, one of the automations Tracearr ships."
|
|
893
|
+
},
|
|
894
|
+
"kind": {
|
|
895
|
+
"notification": "Alert",
|
|
896
|
+
"policy": "Violation"
|
|
897
|
+
},
|
|
898
|
+
"kindColumn": "Kind",
|
|
899
|
+
"name": "Automation Name",
|
|
900
|
+
"namePlaceholder": "A name for this automation",
|
|
901
|
+
"nameInvalid": "Give it a name.",
|
|
902
|
+
"descriptionLabel": "Description",
|
|
903
|
+
"descriptionPlaceholder": "What this is for",
|
|
904
|
+
"thisAutomation": "This automation",
|
|
905
|
+
"cooldownLabel": "At most once every",
|
|
906
|
+
"cooldownInvalid": "Enter a whole number of minutes, 0 or more, or leave it empty.",
|
|
907
|
+
"retentionLabel": "Keep runs for",
|
|
908
|
+
"retentionPlaceholder": "{{days}}",
|
|
909
|
+
"retentionInvalid": "Enter a whole number of days, at least 1, or leave it empty.",
|
|
910
|
+
"newAutomation": "New automation",
|
|
911
|
+
"noAutomationsFound": "No automations found",
|
|
912
|
+
"operators": {
|
|
913
|
+
"contains": "contains",
|
|
914
|
+
"eq": "equals",
|
|
915
|
+
"gt": "greater than",
|
|
916
|
+
"gte": "at least",
|
|
917
|
+
"in": "is one of",
|
|
918
|
+
"lt": "less than",
|
|
919
|
+
"lte": "at most",
|
|
920
|
+
"neq": "not equals",
|
|
921
|
+
"not_contains": "does not contain",
|
|
922
|
+
"not_in": "is not one of"
|
|
923
|
+
},
|
|
924
|
+
"options": {
|
|
925
|
+
"1080p": "1080p",
|
|
926
|
+
"1440p": "1440p",
|
|
927
|
+
"480p": "480p",
|
|
928
|
+
"4K": "4K (2160p)",
|
|
929
|
+
"720p": "720p",
|
|
930
|
+
"8K": "8K",
|
|
931
|
+
"SD": "SD",
|
|
932
|
+
"android": "Android",
|
|
933
|
+
"androidtv": "Android TV",
|
|
934
|
+
"audio": "Audio",
|
|
935
|
+
"browser": "Browser",
|
|
936
|
+
"desktop": "Desktop",
|
|
937
|
+
"dolby vision": "Dolby Vision",
|
|
938
|
+
"episode": "TV Episode",
|
|
939
|
+
"hdr": "HDR",
|
|
940
|
+
"hdr10": "HDR10",
|
|
941
|
+
"hdr10+": "HDR10+",
|
|
942
|
+
"hlg": "HLG",
|
|
943
|
+
"ios": "iOS",
|
|
944
|
+
"libraryItemType": {
|
|
945
|
+
"album": "Album",
|
|
946
|
+
"artist": "Artist",
|
|
947
|
+
"episode": "Episode",
|
|
948
|
+
"movie": "Movie",
|
|
949
|
+
"photo": "Photo",
|
|
950
|
+
"season": "Season",
|
|
951
|
+
"show": "Show",
|
|
952
|
+
"track": "Track"
|
|
953
|
+
},
|
|
954
|
+
"linux": "Linux",
|
|
955
|
+
"live": "Live TV",
|
|
956
|
+
"macos": "macOS",
|
|
957
|
+
"mobile": "Mobile",
|
|
958
|
+
"movie": "Movie",
|
|
959
|
+
"neither": "Neither (Direct Play)",
|
|
960
|
+
"photo": "Photo",
|
|
961
|
+
"roku": "Roku",
|
|
962
|
+
"sdr": "SDR",
|
|
963
|
+
"tablet": "Tablet",
|
|
964
|
+
"tizen": "Tizen",
|
|
965
|
+
"track": "Music",
|
|
966
|
+
"trailer": "Trailer",
|
|
967
|
+
"tv": "TV",
|
|
968
|
+
"tvos": "tvOS",
|
|
969
|
+
"unknown": "Unknown",
|
|
970
|
+
"video": "Video",
|
|
971
|
+
"video_or_audio": "Video or Audio",
|
|
972
|
+
"webos": "webOS",
|
|
973
|
+
"windows": "Windows"
|
|
974
|
+
},
|
|
975
|
+
"provenance": {
|
|
976
|
+
"builtin": "Built-in · {{name}} {{version}}",
|
|
977
|
+
"customized": "Customized from {{name}}",
|
|
978
|
+
"customizedFromRemoved": "Customized from a ready-made automation that has since been removed",
|
|
979
|
+
"imported": "Imported from a share code on {{date}} · {{name}} {{version}}",
|
|
980
|
+
"importedBy": "Imported from a share code by {{author}} on {{date}} · {{name}} {{version}}",
|
|
981
|
+
"saved": "Saved here from {{name}} on {{date}} · {{version}}"
|
|
982
|
+
},
|
|
983
|
+
"recordsOnly": "Records runs only",
|
|
984
|
+
"scope": {
|
|
985
|
+
"account": "Account",
|
|
986
|
+
"crossServer": "Cross-server",
|
|
987
|
+
"global": "Global",
|
|
988
|
+
"person": "Person"
|
|
989
|
+
},
|
|
990
|
+
"searchPlaceholder": "Search automations…",
|
|
991
|
+
"sessionTargets": {
|
|
992
|
+
"all_except_one": {
|
|
993
|
+
"label": "All except one (keep oldest)",
|
|
994
|
+
"tooltip": "All sessions except the oldest, bringing the user down to one stream"
|
|
995
|
+
},
|
|
996
|
+
"all_user": {
|
|
997
|
+
"label": "All user sessions",
|
|
998
|
+
"tooltip": "Every active session for this user"
|
|
999
|
+
},
|
|
1000
|
+
"newest": {
|
|
1001
|
+
"label": "Newest session",
|
|
1002
|
+
"tooltip": "The user's most recently started session"
|
|
1003
|
+
},
|
|
1004
|
+
"oldest": {
|
|
1005
|
+
"label": "Oldest session",
|
|
1006
|
+
"tooltip": "The user's longest-running active session"
|
|
1007
|
+
},
|
|
1008
|
+
"triggering": {
|
|
1009
|
+
"label": "Triggering session",
|
|
1010
|
+
"tooltip": "Only the session that triggered this automation"
|
|
1011
|
+
}
|
|
1012
|
+
},
|
|
1013
|
+
"severity": {
|
|
1014
|
+
"high": "High",
|
|
1015
|
+
"low": "Low",
|
|
1016
|
+
"warning": "Warning"
|
|
1017
|
+
},
|
|
1018
|
+
"template": {
|
|
1019
|
+
"after": "After the update",
|
|
1020
|
+
"before": "Now",
|
|
1021
|
+
"customize": "Customize",
|
|
1022
|
+
"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.",
|
|
1023
|
+
"customizeConfirmAction": "Customize it",
|
|
1024
|
+
"customizeFailed": "Could not open it in the builder.",
|
|
1025
|
+
"customizeFirst": "This automation follows a ready-made one. Open it in the builder first.",
|
|
1026
|
+
"customizeTitle": "Open this in the builder?",
|
|
1027
|
+
"gone": "The ready-made automation this was built from is no longer on this server.",
|
|
1028
|
+
"review": "Review and update",
|
|
1029
|
+
"save": "Save changes",
|
|
1030
|
+
"updateAvailable": "An update is available",
|
|
1031
|
+
"updatedBody": "Review the answers below, then update.",
|
|
1032
|
+
"updatedTitle": "The ready-made automation is now on v{{version}}",
|
|
1033
|
+
"upgradeFailed": "Couldn't update that. Try again.",
|
|
1034
|
+
"version": "v{{version}}",
|
|
1035
|
+
"doorsHelper": "The steps come from the ready-made automation and are fixed. Open in the builder makes every step editable and ends the link."
|
|
1036
|
+
},
|
|
1037
|
+
"templates": {
|
|
1038
|
+
"account-inactivity": {
|
|
1039
|
+
"description": "Raise a violation when an account goes unused for the days you allow.",
|
|
1040
|
+
"keywords": "idle dormant unused stale cleanup inactive account",
|
|
1041
|
+
"name": "Inactive account"
|
|
1042
|
+
},
|
|
1043
|
+
"concurrent-streams": {
|
|
1044
|
+
"description": "Raise a violation when an account plays more streams at once than you allow.",
|
|
1045
|
+
"keywords": "limit cap concurrent simultaneous sharing too many streams",
|
|
1046
|
+
"name": "Too many streams at once"
|
|
1047
|
+
},
|
|
1048
|
+
"device-velocity": {
|
|
1049
|
+
"description": "Raise a violation when an account streams from more IP addresses in a window than you allow.",
|
|
1050
|
+
"keywords": "ip addresses vpn sharing devices window",
|
|
1051
|
+
"name": "Many IPs in a window"
|
|
1052
|
+
},
|
|
1053
|
+
"geo-restriction": {
|
|
1054
|
+
"description": "Raise a violation when a stream comes from a country you block.",
|
|
1055
|
+
"keywords": "country geo vpn abroad region block travel",
|
|
1056
|
+
"name": "Blocked countries"
|
|
1057
|
+
},
|
|
1058
|
+
"impossible-travel": {
|
|
1059
|
+
"description": "Raise a violation when two sessions sit further apart than anyone could travel between them.",
|
|
1060
|
+
"keywords": "vpn travel speed distance location sharing",
|
|
1061
|
+
"name": "Impossible travel"
|
|
1062
|
+
},
|
|
1063
|
+
"kill-paused-streams": {
|
|
1064
|
+
"description": "Stop a stream that has sat paused past the minutes you allow.",
|
|
1065
|
+
"keywords": "pause idle afk stop kill terminate reclaim",
|
|
1066
|
+
"name": "Stop paused streams"
|
|
1067
|
+
},
|
|
1068
|
+
"media-added": {
|
|
1069
|
+
"description": "Tell a destination when a library item shows up for the first time.",
|
|
1070
|
+
"keywords": "new library movie episode added import notify discord email webhook",
|
|
1071
|
+
"name": "New media added"
|
|
1072
|
+
},
|
|
1073
|
+
"media-upgraded": {
|
|
1074
|
+
"description": "Tell a destination when a library item changes quality.",
|
|
1075
|
+
"keywords": "upgrade quality remux 4k resolution replaced notify discord email webhook",
|
|
1076
|
+
"name": "Media upgraded"
|
|
1077
|
+
},
|
|
1078
|
+
"new-device": {
|
|
1079
|
+
"name": "New device",
|
|
1080
|
+
"description": "Tell a destination the first time an account streams from a device you have not seen.",
|
|
1081
|
+
"keywords": "device new unknown unrecognized phone login sharing notify discord email webhook"
|
|
1082
|
+
},
|
|
1083
|
+
"no-4k-transcodes": {
|
|
1084
|
+
"description": "Stop a stream that transcodes 4K source video.",
|
|
1085
|
+
"keywords": "4k transcode quality cpu bandwidth stop",
|
|
1086
|
+
"name": "No 4K transcodes"
|
|
1087
|
+
},
|
|
1088
|
+
"paused-too-long": {
|
|
1089
|
+
"description": "Tell a destination when a stream sits paused past the minutes you allow.",
|
|
1090
|
+
"keywords": "pause idle afk stuck abandoned notify discord email webhook",
|
|
1091
|
+
"name": "Paused too long"
|
|
1092
|
+
},
|
|
1093
|
+
"plugin-update": {
|
|
1094
|
+
"description": "Tell a destination when a server has a newer Tracearr plugin to install.",
|
|
1095
|
+
"keywords": "plugin update upgrade version release notify discord email webhook",
|
|
1096
|
+
"name": "Tracearr plugin update"
|
|
1097
|
+
},
|
|
1098
|
+
"server-down": {
|
|
1099
|
+
"description": "Tell a destination when a media server stops answering.",
|
|
1100
|
+
"keywords": "offline outage unreachable down notify discord email webhook",
|
|
1101
|
+
"name": "Server down"
|
|
1102
|
+
},
|
|
1103
|
+
"server-up": {
|
|
1104
|
+
"description": "Tell a destination when a media server answers again.",
|
|
1105
|
+
"keywords": "online recovered restored back up notify discord email webhook",
|
|
1106
|
+
"name": "Server back up"
|
|
1107
|
+
},
|
|
1108
|
+
"server-update": {
|
|
1109
|
+
"description": "Tell a destination when a media server has an update available.",
|
|
1110
|
+
"keywords": "update upgrade version release plex jellyfin emby notify discord",
|
|
1111
|
+
"name": "Media server update"
|
|
1112
|
+
},
|
|
1113
|
+
"simultaneous-locations": {
|
|
1114
|
+
"description": "Raise a violation when one account streams from two distant places at the same time.",
|
|
1115
|
+
"keywords": "distance location sharing vpn two places at once",
|
|
1116
|
+
"name": "Two places at once"
|
|
1117
|
+
},
|
|
1118
|
+
"stream-ended": {
|
|
1119
|
+
"description": "Tell a destination every time a stream stops.",
|
|
1120
|
+
"keywords": "stop end finish playback notify discord email webhook",
|
|
1121
|
+
"name": "Stream ended"
|
|
1122
|
+
},
|
|
1123
|
+
"stream-started": {
|
|
1124
|
+
"description": "Tell a destination every time a stream starts.",
|
|
1125
|
+
"keywords": "play watch begin start viewing notify discord email webhook",
|
|
1126
|
+
"name": "Stream started"
|
|
1127
|
+
},
|
|
1128
|
+
"tracearr-update": {
|
|
1129
|
+
"description": "Tell a destination when a new Tracearr release is out.",
|
|
1130
|
+
"keywords": "update upgrade version release tracearr notify discord email webhook",
|
|
1131
|
+
"name": "Tracearr update"
|
|
1132
|
+
},
|
|
1133
|
+
"transcode-started": {
|
|
1134
|
+
"description": "Tell a destination when a stream transcodes video or audio.",
|
|
1135
|
+
"keywords": "transcode convert cpu direct play quality notify discord email webhook",
|
|
1136
|
+
"name": "Stream is transcoding"
|
|
1137
|
+
},
|
|
1138
|
+
"trust-score-changed": {
|
|
1139
|
+
"name": "Trust score changed",
|
|
1140
|
+
"description": "Tell a destination when an account's trust score changes.",
|
|
1141
|
+
"keywords": "trust score reputation penalty adjusted notify discord email webhook"
|
|
1142
|
+
}
|
|
1143
|
+
},
|
|
1144
|
+
"title": "Automations",
|
|
1145
|
+
"toggleAutomation": "Turn {{name}} on or off",
|
|
1146
|
+
"trustModes": {
|
|
1147
|
+
"adjust": {
|
|
1148
|
+
"label": "Adjust by amount"
|
|
1149
|
+
},
|
|
1150
|
+
"reset": {
|
|
1151
|
+
"label": "Reset to default (100)"
|
|
1152
|
+
},
|
|
1153
|
+
"set": {
|
|
1154
|
+
"label": "Set to value"
|
|
1155
|
+
}
|
|
1156
|
+
},
|
|
1157
|
+
"tryAdjustingFilters": "Try adjusting your filters.",
|
|
1158
|
+
"units": {
|
|
1159
|
+
"days": "days",
|
|
1160
|
+
"gb": "GB",
|
|
1161
|
+
"hours": "hours",
|
|
1162
|
+
"km": "km",
|
|
1163
|
+
"kmh": "km/h",
|
|
1164
|
+
"mbps": "Mbps",
|
|
1165
|
+
"minutes": "minutes",
|
|
1166
|
+
"seconds": "seconds"
|
|
1167
|
+
},
|
|
1168
|
+
"updateAutomation": "Update Automation",
|
|
1169
|
+
"filters": {
|
|
1170
|
+
"source": "Where it came from",
|
|
1171
|
+
"allSources": "Anywhere",
|
|
1172
|
+
"sources": {
|
|
1173
|
+
"builtin": "Built-in",
|
|
1174
|
+
"import": "Imported",
|
|
1175
|
+
"local": "Saved here",
|
|
1176
|
+
"own": "Built in the builder"
|
|
1177
|
+
},
|
|
1178
|
+
"trigger": "What starts it",
|
|
1179
|
+
"allTriggers": "All triggers"
|
|
1180
|
+
},
|
|
1181
|
+
"openGallery": "Open the gallery"
|
|
1182
|
+
},
|
|
25
1183
|
"dashboard": {
|
|
26
1184
|
"activeUsers": "Usuarios Activos",
|
|
27
1185
|
"alerts": "Alertas",
|
|
@@ -35,10 +1193,11 @@
|
|
|
35
1193
|
"watchTime": "Tiempo de visualización"
|
|
36
1194
|
},
|
|
37
1195
|
"debug": {
|
|
1196
|
+
"clearAutomations": "Delete all automations and runs",
|
|
1197
|
+
"clearAutomationsConfirm": "Delete every automation and all of their runs?",
|
|
38
1198
|
"clearLibraryCache": "Limpiar caché de biblioteca",
|
|
39
1199
|
"clearMobileDevices": "Limpiar dispositivos móviles",
|
|
40
1200
|
"clearQueryCache": "Limpiar caché de consultas",
|
|
41
|
-
"clearRules": "Limpiar reglas",
|
|
42
1201
|
"clearServers": "Limpiar servidores",
|
|
43
1202
|
"clearSessions": "Limpiar sesiones",
|
|
44
1203
|
"clearStuckJobs": "Limpiar trabajos atascados",
|
|
@@ -226,7 +1385,6 @@
|
|
|
226
1385
|
"noDuplicatesDesc": "No titles with more than one physical file detected.",
|
|
227
1386
|
"noDuplicatesTitle": "No duplicates found",
|
|
228
1387
|
"of": "de",
|
|
229
|
-
"pageOf": "Page {{page}} of {{totalPages}}",
|
|
230
1388
|
"predictions": "Predicciones",
|
|
231
1389
|
"recoverable": "recuperable",
|
|
232
1390
|
"sameServer": "Same server",
|
|
@@ -649,83 +1807,6 @@
|
|
|
649
1807
|
"authComplete": "Autenticación completada",
|
|
650
1808
|
"windowWillClose": "Esta ventana se cerrará automáticamente..."
|
|
651
1809
|
},
|
|
652
|
-
"rules": {
|
|
653
|
-
"accountInactivity": "Inactividad de la cuenta",
|
|
654
|
-
"accountInactivityDesc": "Recibir notificaciones cuando los usuarios no hayan visto nada durante un período especificado",
|
|
655
|
-
"addRule": "Añadir Regla",
|
|
656
|
-
"allowed": "Permitido",
|
|
657
|
-
"allowedCountries": "Países Permitidos",
|
|
658
|
-
"allowlist": "Lista blanca (sólo permitir estos países)",
|
|
659
|
-
"allowlistNote": "Las reproducciones desde cualquier otro país desencadenarán una infracción.",
|
|
660
|
-
"blocked": "Bloqueado",
|
|
661
|
-
"blockedCountries": "Países Bloqueados",
|
|
662
|
-
"blocklist": "Lista de bloqueos (bloquear estos países)",
|
|
663
|
-
"builder": {
|
|
664
|
-
"destinationDisabled": "Disabled destination",
|
|
665
|
-
"errors": {
|
|
666
|
-
"sendNeedsDestination": "Pick at least one destination"
|
|
667
|
-
},
|
|
668
|
-
"noDestinations": "No destinations yet. Add one to send notifications."
|
|
669
|
-
},
|
|
670
|
-
"chooseTemplate": "Elija una plantilla de regla",
|
|
671
|
-
"chooseTemplateDesc": "Seleccione un tipo de regla preconfigurada para comenzar rápidamente.",
|
|
672
|
-
"classicRule": "Regla clásica",
|
|
673
|
-
"concurrentStreams": "Reproducciones simultaneas",
|
|
674
|
-
"concurrentStreamsDesc": "Limitar el número de reproducciones simultáneas por usuario",
|
|
675
|
-
"createDescription": "Configure una nueva regla de detección para sus servidores multimedia.",
|
|
676
|
-
"createFirstRule": "Crea tu primera regla de detección para empezar a monitorizar el uso compartido de cuentas.",
|
|
677
|
-
"createRule": "Crear Regla",
|
|
678
|
-
"customRule": "Regla personalizada",
|
|
679
|
-
"days": "Días",
|
|
680
|
-
"deleteRule": "Eliminar Regla",
|
|
681
|
-
"deleteRuleConfirm": "¿Está seguro que desea eliminar esta regla? Esta acción no se puede deshacer.",
|
|
682
|
-
"deleteRule_one": "Eliminar {{count}} regla",
|
|
683
|
-
"deleteRule_other": "Eliminar {{count}} reglas",
|
|
684
|
-
"deleteRulesConfirm": "¿Está seguro que desea eliminar? Esta acción no se puede deshacer.",
|
|
685
|
-
"description": "Configurar reglas de detección para compartir cuentas y política de infracciones",
|
|
686
|
-
"deviceVelocity": "Velocidad del dispositivo",
|
|
687
|
-
"deviceVelocityDesc": "Detectar cuando un usuario se conecta desde demasiadas IPs en una ventana de tiempo",
|
|
688
|
-
"disable": "Deshabilitar",
|
|
689
|
-
"editRule": "Editar Regla",
|
|
690
|
-
"enable": "Habilitar",
|
|
691
|
-
"excludeLocalNetwork": "Excluir Red Local",
|
|
692
|
-
"excludeLocalNetworkDesc": "Ignorar sesiones desde IPs locales/privadas (por ejemplo, 192.168.x.x, 10.x.x)",
|
|
693
|
-
"geoRestriction": "Restricciones geográficas",
|
|
694
|
-
"geoRestrictionDesc": "Bloquear reproducciones desde países específicos",
|
|
695
|
-
"groupByDevice": "Agrupar por dispositivo",
|
|
696
|
-
"groupByDeviceDesc": "Cuenta por dispositivo en lugar de IP. Evita falsos positivos de VPN, DHCP, o canales virtuales.",
|
|
697
|
-
"impossibleTravel": "Viaje imposible",
|
|
698
|
-
"impossibleTravelDesc": "Detectar cuando un usuario reproduce desde ubicaciones demasiado alejadas en poco tiempo",
|
|
699
|
-
"inactiveFor": "Inactivo para {{value}} {{unit}}",
|
|
700
|
-
"inactivityNote": "Crea una alerta cuando un usuario no ha visto nada en este período. Las comprobaciones se ejecutan cada hora.",
|
|
701
|
-
"inactivityPeriod": "Período de inactividad",
|
|
702
|
-
"maxIps": "Max IPs",
|
|
703
|
-
"maxIpsDefault": "Máximo número de IPs permitidas en la ventana de tiempo. Por defecto: 5 IPs en 24 horas",
|
|
704
|
-
"maxSpeed": "Velocidad Máxima ({{unit}})",
|
|
705
|
-
"maxSpeedDefault": "Velocidad de viaje máxima realista. Predeterminada: {{value}} {{unit}} (velocidad de avión)",
|
|
706
|
-
"maxStreams": "Reproducciones máximas",
|
|
707
|
-
"maxStreamsDefault": "Máximo de reproducciones simultáneas por usuario. Por defecto: 3",
|
|
708
|
-
"minDistance": "Distancia mínima ({{unit}})",
|
|
709
|
-
"minDistanceDefault": "Distancia mínima entre ubicaciones para activar. Predeterminada: {{value}} {{unit}}",
|
|
710
|
-
"mode": "Modo",
|
|
711
|
-
"months": "Meses",
|
|
712
|
-
"noRulesConfigured": "Ninguna regla configurada",
|
|
713
|
-
"none": "Ninguno",
|
|
714
|
-
"recordsOnly": "Records violations only",
|
|
715
|
-
"ruleName": "Nombre de la regla",
|
|
716
|
-
"ruleNamePlaceholder": "e.g., Límite de Reproducciones Simultaneas",
|
|
717
|
-
"ruleType": "Tipo de regla",
|
|
718
|
-
"selectAllowedCountries": "Seleccionar países permitidos...",
|
|
719
|
-
"selectCountriesToBlock": "Seleccionar países a bloquear...",
|
|
720
|
-
"simultaneousLocations": "Localizaciones simultáneas",
|
|
721
|
-
"simultaneousLocationsDesc": "Detectar cuando un usuario reproduce desde múltiples ubicaciones distantes a la vez",
|
|
722
|
-
"timeWindow": "Ventana de Tiempo (horas)",
|
|
723
|
-
"title": "Reglas",
|
|
724
|
-
"unit": "Unidad",
|
|
725
|
-
"updateDescription": "Actualizar la configuración de la regla a continuación.",
|
|
726
|
-
"updateRule": "Actualizar Regla",
|
|
727
|
-
"weeks": "Semanas"
|
|
728
|
-
},
|
|
729
1810
|
"settings": {
|
|
730
1811
|
"destinations": {
|
|
731
1812
|
"add": "Add destination",
|
|
@@ -733,17 +1814,8 @@
|
|
|
733
1814
|
"clearSecret": "Clear",
|
|
734
1815
|
"delete": "Delete",
|
|
735
1816
|
"deleteConfirm": "Delete {{name}}? Rules that send to it will be blocked until they are updated.",
|
|
736
|
-
"description": "Where notifications go. Add as many as you like
|
|
1817
|
+
"description": "Where notifications go. Add as many as you like, and automations can send to any of them.",
|
|
737
1818
|
"empty": "No destinations yet.",
|
|
738
|
-
"events": {
|
|
739
|
-
"plugin_update_available": "Plugin update available",
|
|
740
|
-
"server_down": "Server down",
|
|
741
|
-
"server_up": "Server up",
|
|
742
|
-
"stream_started": "Stream started",
|
|
743
|
-
"stream_stopped": "Stream stopped",
|
|
744
|
-
"violation_detected": "Violation detected"
|
|
745
|
-
},
|
|
746
|
-
"eventsLabel": "Events",
|
|
747
1819
|
"fields": {
|
|
748
1820
|
"apiToken": "API token",
|
|
749
1821
|
"apiUrl": "API URL",
|
|
@@ -759,6 +1831,8 @@
|
|
|
759
1831
|
},
|
|
760
1832
|
"ownerOnly": "Only the owner can manage notification destinations.",
|
|
761
1833
|
"pushNote": "Delivered to paired mobile devices; each device filters in its own notification settings.",
|
|
1834
|
+
"receiveViolations": "Receive violations",
|
|
1835
|
+
"receiveViolationsHint": "Send every violation to this destination",
|
|
762
1836
|
"reencrypt": "Re-enter this destination's secret",
|
|
763
1837
|
"secretSet": "Set (leave blank to keep)",
|
|
764
1838
|
"test": "Test",
|
|
@@ -829,6 +1903,7 @@
|
|
|
829
1903
|
"noReachableConnections": "No hay conexiones accesibles",
|
|
830
1904
|
"noServersFound": "No se han encontrado servidores Plex",
|
|
831
1905
|
"noServersFoundHint": "Asegúrese de que posee al menos un servidor Plex",
|
|
1906
|
+
"reauthorizeAccount": "Reauthorize this Plex account",
|
|
832
1907
|
"recommended": "Recomendado",
|
|
833
1908
|
"remote": "Remoto",
|
|
834
1909
|
"secure": "Seguro",
|
|
@@ -836,7 +1911,6 @@
|
|
|
836
1911
|
"serversConnected_other": "{{count}} servidores conectados",
|
|
837
1912
|
"showAll": "Mostrar todo",
|
|
838
1913
|
"unlinkAccount": "Desvincular esta cuenta de Plex",
|
|
839
|
-
"reauthorizeAccount": "Reauthorize this Plex account",
|
|
840
1914
|
"unlinkConfirm": "¿Estás seguro de que quieres desvincular esta cuenta de Plex? No podrás añadir servidores de esta cuenta hasta que la vincules de nuevo.",
|
|
841
1915
|
"unlinkPlexAccount": "Desvincular cuenta de Plex"
|
|
842
1916
|
}
|
|
@@ -878,9 +1952,7 @@
|
|
|
878
1952
|
"backToUsers": "Volver a Usuarios",
|
|
879
1953
|
"byRule": "Por / Regla",
|
|
880
1954
|
"linkedAccounts": "Linked accounts",
|
|
881
|
-
"locations": "Ubicaciones",
|
|
882
1955
|
"manual": "Manual",
|
|
883
|
-
"noSessionsFound": "No se encontraron sesiones para este usuario.",
|
|
884
1956
|
"noTerminationsFound": "No hay reproducciones para este usuario.",
|
|
885
1957
|
"noViolationsFound": "Para este usuario, no hay infracciones.",
|
|
886
1958
|
"overallTrust": "Overall Trust",
|
|
@@ -892,12 +1964,16 @@
|
|
|
892
1964
|
"splitConfirmTitle": "Split server account",
|
|
893
1965
|
"statistics": "Estadísticas",
|
|
894
1966
|
"terminationHistory": "Historial de la terminal",
|
|
1967
|
+
"title": "User Details",
|
|
895
1968
|
"unknownRule": "Regla desconocida",
|
|
896
1969
|
"userInfo": "Información del usuario",
|
|
897
1970
|
"userNotFound": "Usuario no encontrado",
|
|
898
1971
|
"violations": "Infracciones"
|
|
899
1972
|
},
|
|
900
1973
|
"users": {
|
|
1974
|
+
"filterHasAccessTo": "Has access to",
|
|
1975
|
+
"filterHasAccessToHint": "Shows people with an active account on every server selected.",
|
|
1976
|
+
"filterHasAccessToPlaceholder": "Any server",
|
|
901
1977
|
"mergeConfirm": "Merge",
|
|
902
1978
|
"mergeDialogDescription": "Every server account, session, and violation from the duplicate moves to the primary. The duplicate identity is deleted.",
|
|
903
1979
|
"mergeDialogTitle": "Merge users",
|
|
@@ -932,8 +2008,8 @@
|
|
|
932
2008
|
"title": "Usuarios"
|
|
933
2009
|
},
|
|
934
2010
|
"violations": {
|
|
935
|
-
"allClear": "Borrar todo",
|
|
936
2011
|
"allPeople": "All people",
|
|
2012
|
+
"allRules": "All rules",
|
|
937
2013
|
"allSeverities": "Todas los niveles de gravedad",
|
|
938
2014
|
"allStatuses": "Todos los estados",
|
|
939
2015
|
"detail": {
|
|
@@ -969,8 +2045,6 @@
|
|
|
969
2045
|
"dismissViolationsConfirm": "¿Está seguro que desea eliminar? Esto los eliminará del registro de infracciones permanentemente y restaurará las puntuaciones de confianza asociadas.",
|
|
970
2046
|
"filterByPerson": "Filter violations by this person",
|
|
971
2047
|
"filterPeople": "People",
|
|
972
|
-
"noMatches": "Ninguna coincidencia",
|
|
973
|
-
"noViolationsDetected": "No se han detectado infracciones de reglas",
|
|
974
2048
|
"noViolationsFound": "No se encontraron infracciones",
|
|
975
2049
|
"noViolationsRecorded": "Todavía no se han registrado infracciones.",
|
|
976
2050
|
"peopleSelectedCount": "{{count}} people",
|
|
@@ -979,7 +2053,6 @@
|
|
|
979
2053
|
"personFilterPlaceholder": "Filter by person",
|
|
980
2054
|
"selectAllViolations": "Filtras por las infracciones de {{count}}",
|
|
981
2055
|
"title": "Infracciones",
|
|
982
|
-
"tryAdjustingFilters": "Intente ajustar sus filtros."
|
|
983
|
-
"violationLog": "Registro de infracciones"
|
|
2056
|
+
"tryAdjustingFilters": "Intente ajustar sus filtros."
|
|
984
2057
|
}
|
|
985
2058
|
}
|