@tracearr/translations 2.1.0 → 2.2.0-beta.1
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 +128 -106
- package/dist/config.d.ts.map +1 -1
- package/dist/config.mobile.d.ts +128 -106
- package/dist/config.mobile.d.ts.map +1 -1
- package/dist/locales/af-ZA/notifications.json +233 -226
- package/dist/locales/af-ZA/pages.json +61 -32
- package/dist/locales/af-ZA/settings.json +0 -26
- package/dist/locales/ar-SA/notifications.json +233 -226
- package/dist/locales/ar-SA/pages.json +61 -32
- package/dist/locales/ar-SA/settings.json +0 -26
- package/dist/locales/ca-ES/notifications.json +233 -226
- package/dist/locales/ca-ES/pages.json +61 -32
- package/dist/locales/ca-ES/settings.json +0 -26
- package/dist/locales/cs-CZ/notifications.json +233 -226
- package/dist/locales/cs-CZ/pages.json +61 -32
- package/dist/locales/cs-CZ/settings.json +0 -26
- package/dist/locales/da-DK/notifications.json +233 -226
- package/dist/locales/da-DK/pages.json +61 -32
- package/dist/locales/da-DK/settings.json +0 -26
- package/dist/locales/de-DE/notifications.json +233 -226
- package/dist/locales/de-DE/pages.json +61 -32
- package/dist/locales/de-DE/settings.json +0 -26
- package/dist/locales/el-GR/notifications.json +233 -226
- package/dist/locales/el-GR/pages.json +61 -32
- package/dist/locales/el-GR/settings.json +0 -26
- package/dist/locales/en/notifications.json +9 -2
- package/dist/locales/en/pages.json +60 -30
- package/dist/locales/en/settings.json +0 -26
- package/dist/locales/en-US/notifications.json +233 -226
- package/dist/locales/en-US/pages.json +61 -32
- package/dist/locales/en-US/settings.json +0 -26
- package/dist/locales/es-ES/notifications.json +233 -226
- package/dist/locales/es-ES/pages.json +61 -32
- package/dist/locales/es-ES/settings.json +0 -26
- package/dist/locales/fi-FI/notifications.json +233 -226
- package/dist/locales/fi-FI/pages.json +61 -32
- package/dist/locales/fi-FI/settings.json +0 -26
- package/dist/locales/fr-FR/notifications.json +233 -226
- package/dist/locales/fr-FR/pages.json +61 -32
- package/dist/locales/fr-FR/settings.json +0 -26
- package/dist/locales/he-IL/notifications.json +233 -226
- package/dist/locales/he-IL/pages.json +61 -32
- package/dist/locales/he-IL/settings.json +0 -26
- package/dist/locales/hu-HU/notifications.json +233 -226
- package/dist/locales/hu-HU/pages.json +61 -32
- package/dist/locales/hu-HU/settings.json +0 -26
- package/dist/locales/it-IT/notifications.json +233 -226
- package/dist/locales/it-IT/pages.json +61 -32
- package/dist/locales/it-IT/settings.json +0 -26
- package/dist/locales/ja-JP/notifications.json +233 -226
- package/dist/locales/ja-JP/pages.json +61 -32
- package/dist/locales/ja-JP/settings.json +0 -26
- package/dist/locales/ko-KR/notifications.json +233 -226
- package/dist/locales/ko-KR/pages.json +61 -32
- package/dist/locales/ko-KR/settings.json +0 -26
- package/dist/locales/nl-NL/notifications.json +233 -226
- package/dist/locales/nl-NL/pages.json +61 -32
- package/dist/locales/nl-NL/settings.json +0 -26
- package/dist/locales/no-NO/notifications.json +233 -226
- package/dist/locales/no-NO/pages.json +61 -32
- package/dist/locales/no-NO/settings.json +0 -26
- package/dist/locales/pl-PL/notifications.json +233 -226
- package/dist/locales/pl-PL/pages.json +61 -32
- package/dist/locales/pl-PL/settings.json +0 -26
- package/dist/locales/pt-BR/notifications.json +233 -226
- package/dist/locales/pt-BR/pages.json +61 -32
- package/dist/locales/pt-BR/settings.json +0 -26
- package/dist/locales/pt-PT/notifications.json +233 -226
- package/dist/locales/pt-PT/pages.json +61 -32
- package/dist/locales/pt-PT/settings.json +0 -26
- package/dist/locales/ro-RO/notifications.json +233 -226
- package/dist/locales/ro-RO/pages.json +61 -32
- package/dist/locales/ro-RO/settings.json +0 -26
- package/dist/locales/ru-RU/notifications.json +233 -226
- package/dist/locales/ru-RU/pages.json +61 -32
- package/dist/locales/ru-RU/settings.json +0 -26
- package/dist/locales/sr-SP/notifications.json +233 -226
- package/dist/locales/sr-SP/pages.json +61 -32
- package/dist/locales/sr-SP/settings.json +0 -26
- package/dist/locales/sv-SE/notifications.json +233 -226
- package/dist/locales/sv-SE/pages.json +61 -32
- package/dist/locales/sv-SE/settings.json +0 -26
- package/dist/locales/tr-TR/notifications.json +233 -226
- package/dist/locales/tr-TR/pages.json +61 -32
- package/dist/locales/tr-TR/settings.json +0 -26
- package/dist/locales/uk-UA/notifications.json +233 -226
- package/dist/locales/uk-UA/pages.json +61 -32
- package/dist/locales/uk-UA/settings.json +0 -26
- package/dist/locales/vi-VN/notifications.json +233 -226
- package/dist/locales/vi-VN/pages.json +61 -32
- package/dist/locales/vi-VN/settings.json +0 -26
- package/dist/locales/zh-CN/notifications.json +233 -226
- package/dist/locales/zh-CN/pages.json +61 -32
- package/dist/locales/zh-CN/settings.json +0 -26
- package/dist/locales/zh-TW/notifications.json +233 -226
- package/dist/locales/zh-TW/pages.json +61 -32
- package/dist/locales/zh-TW/settings.json +0 -26
- package/package.json +1 -1
- package/src/locales/af-ZA/notifications.json +233 -226
- package/src/locales/af-ZA/pages.json +61 -32
- package/src/locales/af-ZA/settings.json +0 -26
- package/src/locales/ar-SA/notifications.json +233 -226
- package/src/locales/ar-SA/pages.json +61 -32
- package/src/locales/ar-SA/settings.json +0 -26
- package/src/locales/ca-ES/notifications.json +233 -226
- package/src/locales/ca-ES/pages.json +61 -32
- package/src/locales/ca-ES/settings.json +0 -26
- package/src/locales/cs-CZ/notifications.json +233 -226
- package/src/locales/cs-CZ/pages.json +61 -32
- package/src/locales/cs-CZ/settings.json +0 -26
- package/src/locales/da-DK/notifications.json +233 -226
- package/src/locales/da-DK/pages.json +61 -32
- package/src/locales/da-DK/settings.json +0 -26
- package/src/locales/de-DE/notifications.json +233 -226
- package/src/locales/de-DE/pages.json +61 -32
- package/src/locales/de-DE/settings.json +0 -26
- package/src/locales/el-GR/notifications.json +233 -226
- package/src/locales/el-GR/pages.json +61 -32
- package/src/locales/el-GR/settings.json +0 -26
- package/src/locales/en/notifications.json +9 -2
- package/src/locales/en/pages.json +60 -30
- package/src/locales/en/settings.json +0 -26
- package/src/locales/en-US/notifications.json +233 -226
- package/src/locales/en-US/pages.json +61 -32
- package/src/locales/en-US/settings.json +0 -26
- package/src/locales/es-ES/notifications.json +233 -226
- package/src/locales/es-ES/pages.json +61 -32
- package/src/locales/es-ES/settings.json +0 -26
- package/src/locales/fi-FI/notifications.json +233 -226
- package/src/locales/fi-FI/pages.json +61 -32
- package/src/locales/fi-FI/settings.json +0 -26
- package/src/locales/fr-FR/notifications.json +233 -226
- package/src/locales/fr-FR/pages.json +61 -32
- package/src/locales/fr-FR/settings.json +0 -26
- package/src/locales/he-IL/notifications.json +233 -226
- package/src/locales/he-IL/pages.json +61 -32
- package/src/locales/he-IL/settings.json +0 -26
- package/src/locales/hu-HU/notifications.json +233 -226
- package/src/locales/hu-HU/pages.json +61 -32
- package/src/locales/hu-HU/settings.json +0 -26
- package/src/locales/it-IT/notifications.json +233 -226
- package/src/locales/it-IT/pages.json +61 -32
- package/src/locales/it-IT/settings.json +0 -26
- package/src/locales/ja-JP/notifications.json +233 -226
- package/src/locales/ja-JP/pages.json +61 -32
- package/src/locales/ja-JP/settings.json +0 -26
- package/src/locales/ko-KR/notifications.json +233 -226
- package/src/locales/ko-KR/pages.json +61 -32
- package/src/locales/ko-KR/settings.json +0 -26
- package/src/locales/nl-NL/notifications.json +233 -226
- package/src/locales/nl-NL/pages.json +61 -32
- package/src/locales/nl-NL/settings.json +0 -26
- package/src/locales/no-NO/notifications.json +233 -226
- package/src/locales/no-NO/pages.json +61 -32
- package/src/locales/no-NO/settings.json +0 -26
- package/src/locales/pl-PL/notifications.json +233 -226
- package/src/locales/pl-PL/pages.json +61 -32
- package/src/locales/pl-PL/settings.json +0 -26
- package/src/locales/pt-BR/notifications.json +233 -226
- package/src/locales/pt-BR/pages.json +61 -32
- package/src/locales/pt-BR/settings.json +0 -26
- package/src/locales/pt-PT/notifications.json +233 -226
- package/src/locales/pt-PT/pages.json +61 -32
- package/src/locales/pt-PT/settings.json +0 -26
- package/src/locales/ro-RO/notifications.json +233 -226
- package/src/locales/ro-RO/pages.json +61 -32
- package/src/locales/ro-RO/settings.json +0 -26
- package/src/locales/ru-RU/notifications.json +233 -226
- package/src/locales/ru-RU/pages.json +61 -32
- package/src/locales/ru-RU/settings.json +0 -26
- package/src/locales/sr-SP/notifications.json +233 -226
- package/src/locales/sr-SP/pages.json +61 -32
- package/src/locales/sr-SP/settings.json +0 -26
- package/src/locales/sv-SE/notifications.json +233 -226
- package/src/locales/sv-SE/pages.json +61 -32
- package/src/locales/sv-SE/settings.json +0 -26
- package/src/locales/tr-TR/notifications.json +233 -226
- package/src/locales/tr-TR/pages.json +61 -32
- package/src/locales/tr-TR/settings.json +0 -26
- package/src/locales/uk-UA/notifications.json +233 -226
- package/src/locales/uk-UA/pages.json +61 -32
- package/src/locales/uk-UA/settings.json +0 -26
- package/src/locales/vi-VN/notifications.json +233 -226
- package/src/locales/vi-VN/pages.json +61 -32
- package/src/locales/vi-VN/settings.json +0 -26
- package/src/locales/zh-CN/notifications.json +233 -226
- package/src/locales/zh-CN/pages.json +61 -32
- package/src/locales/zh-CN/settings.json +0 -26
- package/src/locales/zh-TW/notifications.json +233 -226
- package/src/locales/zh-TW/pages.json +61 -32
- package/src/locales/zh-TW/settings.json +0 -26
|
@@ -1,279 +1,286 @@
|
|
|
1
1
|
{
|
|
2
|
+
"push": {
|
|
3
|
+
"newDevice": "New Device",
|
|
4
|
+
"serverDown": "Server Connection Lost",
|
|
5
|
+
"serverUp": "Server Back Online",
|
|
6
|
+
"streamEnded": "Stream Ended",
|
|
7
|
+
"streamStarted": "Stream Started",
|
|
8
|
+
"trustScoreChanged": "Trust Score Changed",
|
|
9
|
+
"violationDetected": "Sharing Violation Detected"
|
|
10
|
+
},
|
|
11
|
+
"settings": {
|
|
12
|
+
"allSeverity": "All (Low, Warning, High)",
|
|
13
|
+
"allTypes": "All Types",
|
|
14
|
+
"concurrentStreams": "Concurrent Streams",
|
|
15
|
+
"concurrentStreamsDesc": "When max stream limit is exceeded",
|
|
16
|
+
"enablePushNotifications": "Enable Push Notifications",
|
|
17
|
+
"enableQuietHours": "Enable Quiet Hours",
|
|
18
|
+
"highOnly": "High severity only",
|
|
19
|
+
"minimumSeverity": "Minimum Severity",
|
|
20
|
+
"newDevice": "New Device",
|
|
21
|
+
"newDeviceDesc": "When a new device connects",
|
|
22
|
+
"notificationEvents": "Notification Events",
|
|
23
|
+
"overrideForCritical": "Override for Critical",
|
|
24
|
+
"perHour": "Per Hour",
|
|
25
|
+
"perMinute": "Per Minute",
|
|
26
|
+
"quietHours": "Quiet Hours",
|
|
27
|
+
"rateLimit": "Current Rate Limit Status",
|
|
28
|
+
"rateLimiting": "Rate Limiting",
|
|
29
|
+
"serverDown": "Server Down",
|
|
30
|
+
"serverDownDesc": "When a media server goes offline",
|
|
31
|
+
"serverUp": "Server Up",
|
|
32
|
+
"serverUpDesc": "When a media server comes back online",
|
|
33
|
+
"streamStarted": "Stream Started",
|
|
34
|
+
"streamStartedDesc": "When a user starts watching",
|
|
35
|
+
"streamStopped": "Stream Stopped",
|
|
36
|
+
"streamStoppedDesc": "When a user stops watching",
|
|
37
|
+
"title": "Notification Settings",
|
|
38
|
+
"trustScoreChanged": "Trust Score Changed",
|
|
39
|
+
"trustScoreChangedDesc": "When a user's trust score changes",
|
|
40
|
+
"violationDetected": "Violation Detected",
|
|
41
|
+
"violationDetectedDesc": "When a sharing violation is triggered",
|
|
42
|
+
"violationFilters": "Violation Filters",
|
|
43
|
+
"warningAndHigh": "Warning & High only"
|
|
44
|
+
},
|
|
2
45
|
"toast": {
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
46
|
+
"error": {
|
|
47
|
+
"acknowledgeFailed": "Failed to acknowledge violation",
|
|
48
|
+
"agentAddFailed": "Failed to add agent",
|
|
49
|
+
"agentRemoveFailed": "Failed to remove agent",
|
|
50
|
+
"agentTestFailed": "Test failed",
|
|
51
|
+
"agentUpdateFailed": "Failed to update agent",
|
|
52
|
+
"apiKeyGenerateFailed": "Failed to generate API key",
|
|
53
|
+
"authFailed": "Authentication failed",
|
|
54
|
+
"clipboardFailed": "Failed to copy to clipboard",
|
|
55
|
+
"copyFailed": "Could not copy to clipboard",
|
|
56
|
+
"destinationDeleteFailed": "Failed to delete destination: {{error}}",
|
|
57
|
+
"destinationInUse": "Still used by: {{rules}}",
|
|
58
|
+
"destinationSaveFailed": "Failed to save destination: {{error}}",
|
|
59
|
+
"destinationTestFailed": "Test failed: {{error}}",
|
|
60
|
+
"deviceRemoveFailed": "Failed to remove device",
|
|
61
|
+
"deviceRenameFailed": "Failed to rename device",
|
|
62
|
+
"dismissFailed": "Failed to dismiss violation",
|
|
63
|
+
"displayNameUpdateFailed": "Failed to update display name",
|
|
64
|
+
"invalidClaimCode": {
|
|
65
|
+
"message": "Please check the server logs",
|
|
66
|
+
"title": "Invalid claim code"
|
|
11
67
|
},
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
68
|
+
"invalidUrl": "Invalid URL",
|
|
69
|
+
"jobAlreadyRunning": "Job already running",
|
|
70
|
+
"jobLoadFailed": "Failed to load maintenance jobs",
|
|
71
|
+
"jobStartFailed": "Failed to start job",
|
|
72
|
+
"mobileAccessDisableFailed": "Failed to disable mobile access",
|
|
73
|
+
"mobileAccessEnableFailed": "Failed to enable mobile access",
|
|
74
|
+
"pairTokenGenerateFailed": "Failed to generate pair token",
|
|
75
|
+
"plexDirectUrl": "plex.direct URLs are relay addresses that cannot be used here. Please use a direct IP address or hostname instead.",
|
|
76
|
+
"plexUnlinkFailed": "Failed to unlink Plex account",
|
|
77
|
+
"routingUpdateFailed": "Failed to update routing",
|
|
78
|
+
"ruleCreateFailed": "Failed to create rule",
|
|
79
|
+
"ruleDeleteFailed": "Failed to delete rule",
|
|
80
|
+
"ruleUpdateFailed": "Failed to update rule",
|
|
81
|
+
"serverAddFailed": "Failed to add server",
|
|
82
|
+
"serverRemoveFailed": "Failed to remove server",
|
|
83
|
+
"serverReorderFailed": "Failed to reorder servers",
|
|
84
|
+
"serverSyncFailed": "Failed to sync server",
|
|
85
|
+
"serverUpdateFailed": "Failed to update server",
|
|
86
|
+
"serverUrlUpdateFailed": "Failed to update server URL",
|
|
87
|
+
"serverUserSplitFailed": "Failed to split account",
|
|
88
|
+
"sessionsDeleteFailed": "Failed to delete sessions",
|
|
89
|
+
"sessionsRevokeFailed": "Failed to revoke sessions",
|
|
90
|
+
"settingsUpdateFailed": "Failed to update settings",
|
|
91
|
+
"streamTerminateFailed": "Failed to terminate stream",
|
|
92
|
+
"trustScoresResetFailed": "Failed to reset trust scores",
|
|
93
|
+
"userMergeFailed": "Failed to merge users",
|
|
94
|
+
"webhookTestFailed": "Webhook test failed"
|
|
95
|
+
},
|
|
96
|
+
"info": {
|
|
97
|
+
"serverOffline": {
|
|
98
|
+
"message": "{{name}} is unreachable",
|
|
99
|
+
"title": "Server Offline"
|
|
15
100
|
},
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
101
|
+
"serverOnline": {
|
|
102
|
+
"message": "{{name}} is back online",
|
|
103
|
+
"title": "Server Online"
|
|
19
104
|
},
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
105
|
+
"streamStarted": {
|
|
106
|
+
"message": "{{user}} started watching {{media}}",
|
|
107
|
+
"title": "New Stream Started"
|
|
23
108
|
},
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
109
|
+
"streamStopped": {
|
|
110
|
+
"message": "{{user}} stopped watching",
|
|
111
|
+
"title": "Stream Stopped"
|
|
27
112
|
},
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
113
|
+
"updateAvailable": {
|
|
114
|
+
"message": "Tracearr {{version}} is available",
|
|
115
|
+
"title": "Update Available"
|
|
31
116
|
},
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
117
|
+
"violationDetected": {
|
|
118
|
+
"message": "{{user}} triggered {{ruleType}}",
|
|
119
|
+
"title": "New Violation: {{ruleName}}"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"success": {
|
|
123
|
+
"agentAdded": {
|
|
124
|
+
"message": "The notification agent has been added",
|
|
125
|
+
"title": "Agent Added"
|
|
35
126
|
},
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
127
|
+
"agentRemoved": {
|
|
128
|
+
"message": "The notification agent has been removed",
|
|
129
|
+
"title": "Agent Removed"
|
|
39
130
|
},
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
131
|
+
"agentUpdated": {
|
|
132
|
+
"message": "The notification agent has been updated",
|
|
133
|
+
"title": "Agent Updated"
|
|
43
134
|
},
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
135
|
+
"apiKeyGenerated": {
|
|
136
|
+
"message": "Your new API key is ready to use",
|
|
137
|
+
"title": "API Key Generated"
|
|
47
138
|
},
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
139
|
+
"claimCodeValidated": {
|
|
140
|
+
"message": "You can now proceed with setup",
|
|
141
|
+
"title": "Claim code validated"
|
|
51
142
|
},
|
|
52
143
|
"copiedToClipboard": {
|
|
53
144
|
"title": "Copied to clipboard"
|
|
54
145
|
},
|
|
55
|
-
"
|
|
56
|
-
|
|
57
|
-
|
|
146
|
+
"destinationDeleted": "Destination deleted",
|
|
147
|
+
"destinationSaved": "Destination saved",
|
|
148
|
+
"destinationTestSent": "Test notification sent",
|
|
149
|
+
"deviceRemoved": {
|
|
150
|
+
"message": "The device has been disconnected",
|
|
151
|
+
"title": "Device Removed"
|
|
58
152
|
},
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
153
|
+
"deviceRenamed": {
|
|
154
|
+
"message": "The device name has been updated",
|
|
155
|
+
"title": "Device Renamed"
|
|
62
156
|
},
|
|
63
|
-
"
|
|
64
|
-
"title": "
|
|
65
|
-
"message": "The notification agent has been added"
|
|
157
|
+
"displayNameUpdated": {
|
|
158
|
+
"title": "Display Name Updated"
|
|
66
159
|
},
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
160
|
+
"jobCompleted": {
|
|
161
|
+
"message": "{{name}} finished successfully",
|
|
162
|
+
"title": "Job Completed"
|
|
70
163
|
},
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
164
|
+
"loggedIn": {
|
|
165
|
+
"message": "Logged in successfully",
|
|
166
|
+
"title": "Success"
|
|
74
167
|
},
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
168
|
+
"mobileAccessDisabled": {
|
|
169
|
+
"message": "All mobile sessions have been revoked",
|
|
170
|
+
"title": "Mobile Access Disabled"
|
|
171
|
+
},
|
|
172
|
+
"mobileAccessEnabled": {
|
|
173
|
+
"message": "Scan the QR code with the Tracearr mobile app to connect",
|
|
174
|
+
"title": "Mobile Access Enabled"
|
|
175
|
+
},
|
|
176
|
+
"pairTokenGenerated": {
|
|
177
|
+
"message": "Scan the QR code with your mobile device to pair",
|
|
178
|
+
"title": "Pair Token Generated"
|
|
179
|
+
},
|
|
180
|
+
"plexAccountLinked": {
|
|
181
|
+
"message": "You can now add servers from your Plex account",
|
|
182
|
+
"title": "Plex Account Linked"
|
|
183
|
+
},
|
|
184
|
+
"plexAccountUnlinked": {
|
|
185
|
+
"message": "Your Plex account has been disconnected",
|
|
186
|
+
"title": "Plex Account Unlinked"
|
|
78
187
|
},
|
|
79
188
|
"ruleCreated": {
|
|
80
|
-
"
|
|
81
|
-
"
|
|
189
|
+
"message": "The rule has been created successfully",
|
|
190
|
+
"title": "Rule Created"
|
|
191
|
+
},
|
|
192
|
+
"ruleDeleted": {
|
|
193
|
+
"message": "The rule has been deleted successfully",
|
|
194
|
+
"title": "Rule Deleted"
|
|
82
195
|
},
|
|
83
196
|
"ruleUpdated": {
|
|
84
|
-
"
|
|
85
|
-
"
|
|
197
|
+
"message": "The rule has been updated successfully",
|
|
198
|
+
"title": "Rule Updated"
|
|
86
199
|
},
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
200
|
+
"serverAdded": {
|
|
201
|
+
"message": "{{name}} has been connected successfully",
|
|
202
|
+
"title": "Server Added"
|
|
90
203
|
},
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
204
|
+
"serverRemoved": {
|
|
205
|
+
"message": "The server has been removed successfully",
|
|
206
|
+
"title": "Server Removed"
|
|
94
207
|
},
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
208
|
+
"serverSynced": {
|
|
209
|
+
"message": "Server data has been synchronized",
|
|
210
|
+
"title": "Server Synced"
|
|
98
211
|
},
|
|
99
212
|
"serverUpdated": {
|
|
100
|
-
"
|
|
101
|
-
"
|
|
213
|
+
"message": "The server has been updated successfully",
|
|
214
|
+
"title": "Server Updated"
|
|
102
215
|
},
|
|
103
|
-
"
|
|
104
|
-
"
|
|
216
|
+
"serverUrlUpdated": {
|
|
217
|
+
"message": "The server URL has been updated successfully",
|
|
218
|
+
"title": "Server URL Updated"
|
|
219
|
+
},
|
|
220
|
+
"serverUserSplit": {
|
|
221
|
+
"title": "Account split into a separate user"
|
|
105
222
|
},
|
|
106
223
|
"sessionsDeleted": {
|
|
107
|
-
"title": "Sessions Deleted",
|
|
108
224
|
"message_one": "{{count}} session deleted",
|
|
109
|
-
"message_other": "{{count}} sessions deleted"
|
|
110
|
-
|
|
111
|
-
"violationsAcknowledged": {
|
|
112
|
-
"title": "Violations Acknowledged",
|
|
113
|
-
"message_one": "{{count}} violation acknowledged",
|
|
114
|
-
"message_other": "{{count}} violations acknowledged"
|
|
115
|
-
},
|
|
116
|
-
"violationsDismissed": {
|
|
117
|
-
"title": "Violations Dismissed",
|
|
118
|
-
"message_one": "{{count}} violation dismissed",
|
|
119
|
-
"message_other": "{{count}} violations dismissed"
|
|
225
|
+
"message_other": "{{count}} sessions deleted",
|
|
226
|
+
"title": "Sessions Deleted"
|
|
120
227
|
},
|
|
121
|
-
"
|
|
122
|
-
"
|
|
123
|
-
"
|
|
228
|
+
"sessionsRevoked": {
|
|
229
|
+
"message": "All mobile sessions have been revoked",
|
|
230
|
+
"title": "Sessions Revoked"
|
|
124
231
|
},
|
|
125
|
-
"
|
|
126
|
-
"
|
|
127
|
-
"
|
|
232
|
+
"settingsUpdated": {
|
|
233
|
+
"message": "Your settings have been saved",
|
|
234
|
+
"title": "Settings Updated"
|
|
128
235
|
},
|
|
129
|
-
"
|
|
130
|
-
"
|
|
131
|
-
"
|
|
236
|
+
"streamTerminated": {
|
|
237
|
+
"message": "The playback session has been stopped",
|
|
238
|
+
"title": "Stream Terminated"
|
|
132
239
|
},
|
|
133
|
-
"
|
|
134
|
-
"title": "
|
|
135
|
-
"message": "Scan the QR code with your mobile device to pair"
|
|
240
|
+
"syncCompletedWithErrors": {
|
|
241
|
+
"title": "Sync Completed with Errors"
|
|
136
242
|
},
|
|
137
|
-
"
|
|
138
|
-
"
|
|
243
|
+
"tokenCopied": {
|
|
244
|
+
"message": "Pair token copied to clipboard",
|
|
245
|
+
"title": "Token Copied"
|
|
139
246
|
},
|
|
140
247
|
"trustScoresReset": {
|
|
141
|
-
"title": "Trust Scores Reset",
|
|
142
248
|
"message_one": "{{count}} user reset to 100",
|
|
143
|
-
"message_other": "{{count}} users reset to 100"
|
|
144
|
-
|
|
145
|
-
"claimCodeValidated": {
|
|
146
|
-
"title": "Claim code validated",
|
|
147
|
-
"message": "You can now proceed with setup"
|
|
249
|
+
"message_other": "{{count}} users reset to 100",
|
|
250
|
+
"title": "Trust Scores Reset"
|
|
148
251
|
},
|
|
149
252
|
"usersMerged": {
|
|
150
|
-
"
|
|
151
|
-
"
|
|
253
|
+
"rulesKept": "Kept target's version of: {{names}}",
|
|
254
|
+
"title": "Users merged"
|
|
152
255
|
},
|
|
153
|
-
"
|
|
154
|
-
"
|
|
155
|
-
|
|
156
|
-
},
|
|
157
|
-
"error": {
|
|
158
|
-
"serverAddFailed": "Failed to add server",
|
|
159
|
-
"serverRemoveFailed": "Failed to remove server",
|
|
160
|
-
"serverSyncFailed": "Failed to sync server",
|
|
161
|
-
"settingsUpdateFailed": "Failed to update settings",
|
|
162
|
-
"copyFailed": "Could not copy to clipboard",
|
|
163
|
-
"acknowledgeFailed": "Failed to acknowledge violation",
|
|
164
|
-
"dismissFailed": "Failed to dismiss violation",
|
|
165
|
-
"authFailed": "Authentication failed",
|
|
166
|
-
"webhookTestFailed": "Webhook test failed",
|
|
167
|
-
"ruleCreateFailed": "Failed to create rule",
|
|
168
|
-
"ruleUpdateFailed": "Failed to update rule",
|
|
169
|
-
"ruleDeleteFailed": "Failed to delete rule",
|
|
170
|
-
"streamTerminateFailed": "Failed to terminate stream",
|
|
171
|
-
"serverUrlUpdateFailed": "Failed to update server URL",
|
|
172
|
-
"serverUpdateFailed": "Failed to update server",
|
|
173
|
-
"serverReorderFailed": "Failed to reorder servers",
|
|
174
|
-
"sessionsDeleteFailed": "Failed to delete sessions",
|
|
175
|
-
"apiKeyGenerateFailed": "Failed to generate API key",
|
|
176
|
-
"mobileAccessEnableFailed": "Failed to enable mobile access",
|
|
177
|
-
"mobileAccessDisableFailed": "Failed to disable mobile access",
|
|
178
|
-
"pairTokenGenerateFailed": "Failed to generate pair token",
|
|
179
|
-
"deviceRemoveFailed": "Failed to remove device",
|
|
180
|
-
"deviceRenameFailed": "Failed to rename device",
|
|
181
|
-
"sessionsRevokeFailed": "Failed to revoke sessions",
|
|
182
|
-
"displayNameUpdateFailed": "Failed to update display name",
|
|
183
|
-
"trustScoresResetFailed": "Failed to reset trust scores",
|
|
184
|
-
"routingUpdateFailed": "Failed to update routing",
|
|
185
|
-
"clipboardFailed": "Failed to copy to clipboard",
|
|
186
|
-
"plexUnlinkFailed": "Failed to unlink Plex account",
|
|
187
|
-
"agentAddFailed": "Failed to add agent",
|
|
188
|
-
"agentUpdateFailed": "Failed to update agent",
|
|
189
|
-
"agentRemoveFailed": "Failed to remove agent",
|
|
190
|
-
"agentTestFailed": "Test failed",
|
|
191
|
-
"jobAlreadyRunning": "Job already running",
|
|
192
|
-
"jobStartFailed": "Failed to start job",
|
|
193
|
-
"jobLoadFailed": "Failed to load maintenance jobs",
|
|
194
|
-
"invalidUrl": "Invalid URL",
|
|
195
|
-
"plexDirectUrl": "plex.direct URLs are relay addresses that cannot be used here. Please use a direct IP address or hostname instead.",
|
|
196
|
-
"userMergeFailed": "Failed to merge users",
|
|
197
|
-
"serverUserSplitFailed": "Failed to split account",
|
|
198
|
-
"invalidClaimCode": {
|
|
199
|
-
"title": "Invalid claim code",
|
|
200
|
-
"message": "Please check the server logs"
|
|
201
|
-
}
|
|
202
|
-
},
|
|
203
|
-
"warning": {
|
|
204
|
-
"jobFailed": {
|
|
205
|
-
"title": "Job Failed",
|
|
206
|
-
"message": "{{name}} encountered an error"
|
|
207
|
-
}
|
|
208
|
-
},
|
|
209
|
-
"info": {
|
|
210
|
-
"streamStarted": {
|
|
211
|
-
"title": "New Stream Started",
|
|
212
|
-
"message": "{{user}} started watching {{media}}"
|
|
213
|
-
},
|
|
214
|
-
"streamStopped": {
|
|
215
|
-
"title": "Stream Stopped",
|
|
216
|
-
"message": "{{user}} stopped watching"
|
|
256
|
+
"violationAcknowledged": {
|
|
257
|
+
"message": "The violation has been marked as acknowledged",
|
|
258
|
+
"title": "Violation Acknowledged"
|
|
217
259
|
},
|
|
218
|
-
"
|
|
219
|
-
"
|
|
220
|
-
"
|
|
260
|
+
"violationDismissed": {
|
|
261
|
+
"message": "The violation has been dismissed",
|
|
262
|
+
"title": "Violation Dismissed"
|
|
221
263
|
},
|
|
222
|
-
"
|
|
223
|
-
"
|
|
224
|
-
"
|
|
264
|
+
"violationsAcknowledged": {
|
|
265
|
+
"message_one": "{{count}} violation acknowledged",
|
|
266
|
+
"message_other": "{{count}} violations acknowledged",
|
|
267
|
+
"title": "Violations Acknowledged"
|
|
225
268
|
},
|
|
226
|
-
"
|
|
227
|
-
"
|
|
228
|
-
"
|
|
269
|
+
"violationsDismissed": {
|
|
270
|
+
"message_one": "{{count}} violation dismissed",
|
|
271
|
+
"message_other": "{{count}} violations dismissed",
|
|
272
|
+
"title": "Violations Dismissed"
|
|
229
273
|
},
|
|
230
|
-
"
|
|
231
|
-
"
|
|
232
|
-
"
|
|
274
|
+
"webhookTest": {
|
|
275
|
+
"message": "Webhook is working correctly",
|
|
276
|
+
"title": "Test Successful"
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
"warning": {
|
|
280
|
+
"jobFailed": {
|
|
281
|
+
"message": "{{name}} encountered an error",
|
|
282
|
+
"title": "Job Failed"
|
|
233
283
|
}
|
|
234
284
|
}
|
|
235
|
-
},
|
|
236
|
-
"push": {
|
|
237
|
-
"violationDetected": "Sharing Violation Detected",
|
|
238
|
-
"streamStarted": "Stream Started",
|
|
239
|
-
"streamEnded": "Stream Ended",
|
|
240
|
-
"serverDown": "Server Connection Lost",
|
|
241
|
-
"serverUp": "Server Back Online",
|
|
242
|
-
"newDevice": "New Device",
|
|
243
|
-
"trustScoreChanged": "Trust Score Changed"
|
|
244
|
-
},
|
|
245
|
-
"settings": {
|
|
246
|
-
"title": "Notification Settings",
|
|
247
|
-
"allSeverity": "All (Low, Warning, High)",
|
|
248
|
-
"warningAndHigh": "Warning & High only",
|
|
249
|
-
"highOnly": "High severity only",
|
|
250
|
-
"allTypes": "All Types",
|
|
251
|
-
"rateLimit": "Current Rate Limit Status",
|
|
252
|
-
"perMinute": "Per Minute",
|
|
253
|
-
"perHour": "Per Hour",
|
|
254
|
-
"enablePushNotifications": "Enable Push Notifications",
|
|
255
|
-
"notificationEvents": "Notification Events",
|
|
256
|
-
"violationDetected": "Violation Detected",
|
|
257
|
-
"violationDetectedDesc": "When a sharing violation is triggered",
|
|
258
|
-
"streamStarted": "Stream Started",
|
|
259
|
-
"streamStartedDesc": "When a user starts watching",
|
|
260
|
-
"streamStopped": "Stream Stopped",
|
|
261
|
-
"streamStoppedDesc": "When a user stops watching",
|
|
262
|
-
"concurrentStreams": "Concurrent Streams",
|
|
263
|
-
"concurrentStreamsDesc": "When max stream limit is exceeded",
|
|
264
|
-
"newDevice": "New Device",
|
|
265
|
-
"newDeviceDesc": "When a new device connects",
|
|
266
|
-
"trustScoreChanged": "Trust Score Changed",
|
|
267
|
-
"trustScoreChangedDesc": "When a user's trust score changes",
|
|
268
|
-
"serverDown": "Server Down",
|
|
269
|
-
"serverDownDesc": "When a media server goes offline",
|
|
270
|
-
"serverUp": "Server Up",
|
|
271
|
-
"serverUpDesc": "When a media server comes back online",
|
|
272
|
-
"violationFilters": "Violation Filters",
|
|
273
|
-
"minimumSeverity": "Minimum Severity",
|
|
274
|
-
"quietHours": "Quiet Hours",
|
|
275
|
-
"enableQuietHours": "Enable Quiet Hours",
|
|
276
|
-
"overrideForCritical": "Override for Critical",
|
|
277
|
-
"rateLimiting": "Rate Limiting"
|
|
278
285
|
}
|
|
279
286
|
}
|
|
@@ -332,7 +332,8 @@
|
|
|
332
332
|
},
|
|
333
333
|
"restoreTitle": "Restoring from backup...",
|
|
334
334
|
"startingDescription": "The server is waiting for backend services to become available. This page will automatically refresh when everything is ready.",
|
|
335
|
-
"startingTitle": "Tracearr is starting up..."
|
|
335
|
+
"startingTitle": "Tracearr is starting up...",
|
|
336
|
+
"unreachable": "Can't reach the Tracearr server right now. Live updates are paused and will resume on their own."
|
|
336
337
|
},
|
|
337
338
|
"map": {
|
|
338
339
|
"allActivity": "All activity",
|
|
@@ -370,7 +371,6 @@
|
|
|
370
371
|
"availability": {
|
|
371
372
|
"added": "added {{date}}",
|
|
372
373
|
"addedRemoved": "added {{added}} – removed {{removed}}",
|
|
373
|
-
"removed": "removed {{date}}",
|
|
374
374
|
"replaced": "replaced {{date}}"
|
|
375
375
|
},
|
|
376
376
|
"loadError": "Couldn't load this title",
|
|
@@ -660,6 +660,13 @@
|
|
|
660
660
|
"blocked": "Blocked",
|
|
661
661
|
"blockedCountries": "Blocked Countries",
|
|
662
662
|
"blocklist": "Blocklist (block these countries)",
|
|
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
|
+
},
|
|
663
670
|
"chooseTemplate": "Choose a Rule Template",
|
|
664
671
|
"chooseTemplateDesc": "Select a pre-configured rule type to get started quickly.",
|
|
665
672
|
"classicRule": "Classic Rule",
|
|
@@ -720,6 +727,58 @@
|
|
|
720
727
|
"weeks": "Weeks"
|
|
721
728
|
},
|
|
722
729
|
"settings": {
|
|
730
|
+
"destinations": {
|
|
731
|
+
"add": "Add destination",
|
|
732
|
+
"builtinNote": "Built in",
|
|
733
|
+
"clearSecret": "Clear",
|
|
734
|
+
"delete": "Delete",
|
|
735
|
+
"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; each one picks the system events it receives, and rules can send to any of them.",
|
|
737
|
+
"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
|
+
"fields": {
|
|
748
|
+
"apiToken": "API token",
|
|
749
|
+
"apiUrl": "API URL",
|
|
750
|
+
"authToken": "Auth token",
|
|
751
|
+
"serverUrl": "Server URL",
|
|
752
|
+
"topic": "Topic",
|
|
753
|
+
"url": "URL",
|
|
754
|
+
"userKey": "User key",
|
|
755
|
+
"webhookUrl": "Webhook URL"
|
|
756
|
+
},
|
|
757
|
+
"hints": {
|
|
758
|
+
"authTokenOptional": "Optional for public topics"
|
|
759
|
+
},
|
|
760
|
+
"ownerOnly": "Only the owner can manage notification destinations.",
|
|
761
|
+
"pushNote": "Delivered to paired mobile devices; each device filters in its own notification settings.",
|
|
762
|
+
"reencrypt": "Re-enter this destination's secret",
|
|
763
|
+
"secretSet": "Set (leave blank to keep)",
|
|
764
|
+
"test": "Test",
|
|
765
|
+
"testHint": "Save first to test",
|
|
766
|
+
"testNeedsForm": "Fill in the required fields to test",
|
|
767
|
+
"title": "Notification destinations",
|
|
768
|
+
"types": {
|
|
769
|
+
"apprise": "Apprise",
|
|
770
|
+
"discord": "Discord",
|
|
771
|
+
"gotify": "Gotify",
|
|
772
|
+
"jsonWebhook": "Webhook (JSON)",
|
|
773
|
+
"ntfy": "ntfy",
|
|
774
|
+
"push": "Mobile push",
|
|
775
|
+
"pushover": "Pushover",
|
|
776
|
+
"webToast": "Browser toasts"
|
|
777
|
+
},
|
|
778
|
+
"usedBy": "Used by {{count}} rule",
|
|
779
|
+
"usedBy_other": "Used by {{count}} rules",
|
|
780
|
+
"webToastNote": "Toasts in this browser."
|
|
781
|
+
},
|
|
723
782
|
"jobs": {
|
|
724
783
|
"lastRun": "Last run",
|
|
725
784
|
"nextRun": "Next run",
|
|
@@ -734,36 +793,6 @@
|
|
|
734
793
|
"editDisplayNameDesc": "Change how this device appears in your device list",
|
|
735
794
|
"updating": "Updating..."
|
|
736
795
|
},
|
|
737
|
-
"notifications": {
|
|
738
|
-
"addAgent": "Add Notification Agent",
|
|
739
|
-
"addAgentDesc": "Choose a notification service and configure it.",
|
|
740
|
-
"agentType": "Agent Type",
|
|
741
|
-
"allAgentsConfigured": "All notification agents are already configured.",
|
|
742
|
-
"allEvents": "All Events",
|
|
743
|
-
"currentlyConfigured": "{{name}} is currently configured.",
|
|
744
|
-
"customEvents": "Custom Events",
|
|
745
|
-
"description": "Configure notification channels and select which events each agent should receive.",
|
|
746
|
-
"editAgent": "Edit Notification Agent",
|
|
747
|
-
"editAgentDesc": "Update the notification agent configuration.",
|
|
748
|
-
"eventSelection": "Event Selection",
|
|
749
|
-
"loadingSettings": "Loading notification settings...",
|
|
750
|
-
"noAgents": "No notification agents configured",
|
|
751
|
-
"noAgentsHint": "Add an agent to receive notifications about sharing violations and stream events.",
|
|
752
|
-
"noConfigNeeded": "No configuration needed for this agent.",
|
|
753
|
-
"oneWebhookLimit": "Only one webhook agent can be active at a time.",
|
|
754
|
-
"removeAgentDesc": "This will remove {{name}} and disable all its notifications. You can add it back later.",
|
|
755
|
-
"removeAgentTitle": "Remove {{name}}?",
|
|
756
|
-
"saveAgent": "Add Agent",
|
|
757
|
-
"selectType": "Select type...",
|
|
758
|
-
"testAgent": "Test Agent",
|
|
759
|
-
"testingAgent": "Testing...",
|
|
760
|
-
"title": "Notification Agents",
|
|
761
|
-
"triggerEvents": "Trigger Events",
|
|
762
|
-
"updateAgent": "Update Agent",
|
|
763
|
-
"webhookAgents": "Webhook Agents",
|
|
764
|
-
"webhookUrl": "Webhook URL",
|
|
765
|
-
"webhookUrlPlaceholder": "https://..."
|
|
766
|
-
},
|
|
767
796
|
"plex": {
|
|
768
797
|
"accountsLinked_one": "{{count}} Plex account linked",
|
|
769
798
|
"accountsLinked_other": "{{count}} Plex accounts linked",
|