@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.
Files changed (191) hide show
  1. package/dist/config.d.ts +128 -106
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.mobile.d.ts +128 -106
  4. package/dist/config.mobile.d.ts.map +1 -1
  5. package/dist/locales/af-ZA/notifications.json +233 -226
  6. package/dist/locales/af-ZA/pages.json +61 -32
  7. package/dist/locales/af-ZA/settings.json +0 -26
  8. package/dist/locales/ar-SA/notifications.json +233 -226
  9. package/dist/locales/ar-SA/pages.json +61 -32
  10. package/dist/locales/ar-SA/settings.json +0 -26
  11. package/dist/locales/ca-ES/notifications.json +233 -226
  12. package/dist/locales/ca-ES/pages.json +61 -32
  13. package/dist/locales/ca-ES/settings.json +0 -26
  14. package/dist/locales/cs-CZ/notifications.json +233 -226
  15. package/dist/locales/cs-CZ/pages.json +61 -32
  16. package/dist/locales/cs-CZ/settings.json +0 -26
  17. package/dist/locales/da-DK/notifications.json +233 -226
  18. package/dist/locales/da-DK/pages.json +61 -32
  19. package/dist/locales/da-DK/settings.json +0 -26
  20. package/dist/locales/de-DE/notifications.json +233 -226
  21. package/dist/locales/de-DE/pages.json +61 -32
  22. package/dist/locales/de-DE/settings.json +0 -26
  23. package/dist/locales/el-GR/notifications.json +233 -226
  24. package/dist/locales/el-GR/pages.json +61 -32
  25. package/dist/locales/el-GR/settings.json +0 -26
  26. package/dist/locales/en/notifications.json +9 -2
  27. package/dist/locales/en/pages.json +60 -30
  28. package/dist/locales/en/settings.json +0 -26
  29. package/dist/locales/en-US/notifications.json +233 -226
  30. package/dist/locales/en-US/pages.json +61 -32
  31. package/dist/locales/en-US/settings.json +0 -26
  32. package/dist/locales/es-ES/notifications.json +233 -226
  33. package/dist/locales/es-ES/pages.json +61 -32
  34. package/dist/locales/es-ES/settings.json +0 -26
  35. package/dist/locales/fi-FI/notifications.json +233 -226
  36. package/dist/locales/fi-FI/pages.json +61 -32
  37. package/dist/locales/fi-FI/settings.json +0 -26
  38. package/dist/locales/fr-FR/notifications.json +233 -226
  39. package/dist/locales/fr-FR/pages.json +61 -32
  40. package/dist/locales/fr-FR/settings.json +0 -26
  41. package/dist/locales/he-IL/notifications.json +233 -226
  42. package/dist/locales/he-IL/pages.json +61 -32
  43. package/dist/locales/he-IL/settings.json +0 -26
  44. package/dist/locales/hu-HU/notifications.json +233 -226
  45. package/dist/locales/hu-HU/pages.json +61 -32
  46. package/dist/locales/hu-HU/settings.json +0 -26
  47. package/dist/locales/it-IT/notifications.json +233 -226
  48. package/dist/locales/it-IT/pages.json +61 -32
  49. package/dist/locales/it-IT/settings.json +0 -26
  50. package/dist/locales/ja-JP/notifications.json +233 -226
  51. package/dist/locales/ja-JP/pages.json +61 -32
  52. package/dist/locales/ja-JP/settings.json +0 -26
  53. package/dist/locales/ko-KR/notifications.json +233 -226
  54. package/dist/locales/ko-KR/pages.json +61 -32
  55. package/dist/locales/ko-KR/settings.json +0 -26
  56. package/dist/locales/nl-NL/notifications.json +233 -226
  57. package/dist/locales/nl-NL/pages.json +61 -32
  58. package/dist/locales/nl-NL/settings.json +0 -26
  59. package/dist/locales/no-NO/notifications.json +233 -226
  60. package/dist/locales/no-NO/pages.json +61 -32
  61. package/dist/locales/no-NO/settings.json +0 -26
  62. package/dist/locales/pl-PL/notifications.json +233 -226
  63. package/dist/locales/pl-PL/pages.json +61 -32
  64. package/dist/locales/pl-PL/settings.json +0 -26
  65. package/dist/locales/pt-BR/notifications.json +233 -226
  66. package/dist/locales/pt-BR/pages.json +61 -32
  67. package/dist/locales/pt-BR/settings.json +0 -26
  68. package/dist/locales/pt-PT/notifications.json +233 -226
  69. package/dist/locales/pt-PT/pages.json +61 -32
  70. package/dist/locales/pt-PT/settings.json +0 -26
  71. package/dist/locales/ro-RO/notifications.json +233 -226
  72. package/dist/locales/ro-RO/pages.json +61 -32
  73. package/dist/locales/ro-RO/settings.json +0 -26
  74. package/dist/locales/ru-RU/notifications.json +233 -226
  75. package/dist/locales/ru-RU/pages.json +61 -32
  76. package/dist/locales/ru-RU/settings.json +0 -26
  77. package/dist/locales/sr-SP/notifications.json +233 -226
  78. package/dist/locales/sr-SP/pages.json +61 -32
  79. package/dist/locales/sr-SP/settings.json +0 -26
  80. package/dist/locales/sv-SE/notifications.json +233 -226
  81. package/dist/locales/sv-SE/pages.json +61 -32
  82. package/dist/locales/sv-SE/settings.json +0 -26
  83. package/dist/locales/tr-TR/notifications.json +233 -226
  84. package/dist/locales/tr-TR/pages.json +61 -32
  85. package/dist/locales/tr-TR/settings.json +0 -26
  86. package/dist/locales/uk-UA/notifications.json +233 -226
  87. package/dist/locales/uk-UA/pages.json +61 -32
  88. package/dist/locales/uk-UA/settings.json +0 -26
  89. package/dist/locales/vi-VN/notifications.json +233 -226
  90. package/dist/locales/vi-VN/pages.json +61 -32
  91. package/dist/locales/vi-VN/settings.json +0 -26
  92. package/dist/locales/zh-CN/notifications.json +233 -226
  93. package/dist/locales/zh-CN/pages.json +61 -32
  94. package/dist/locales/zh-CN/settings.json +0 -26
  95. package/dist/locales/zh-TW/notifications.json +233 -226
  96. package/dist/locales/zh-TW/pages.json +61 -32
  97. package/dist/locales/zh-TW/settings.json +0 -26
  98. package/package.json +1 -1
  99. package/src/locales/af-ZA/notifications.json +233 -226
  100. package/src/locales/af-ZA/pages.json +61 -32
  101. package/src/locales/af-ZA/settings.json +0 -26
  102. package/src/locales/ar-SA/notifications.json +233 -226
  103. package/src/locales/ar-SA/pages.json +61 -32
  104. package/src/locales/ar-SA/settings.json +0 -26
  105. package/src/locales/ca-ES/notifications.json +233 -226
  106. package/src/locales/ca-ES/pages.json +61 -32
  107. package/src/locales/ca-ES/settings.json +0 -26
  108. package/src/locales/cs-CZ/notifications.json +233 -226
  109. package/src/locales/cs-CZ/pages.json +61 -32
  110. package/src/locales/cs-CZ/settings.json +0 -26
  111. package/src/locales/da-DK/notifications.json +233 -226
  112. package/src/locales/da-DK/pages.json +61 -32
  113. package/src/locales/da-DK/settings.json +0 -26
  114. package/src/locales/de-DE/notifications.json +233 -226
  115. package/src/locales/de-DE/pages.json +61 -32
  116. package/src/locales/de-DE/settings.json +0 -26
  117. package/src/locales/el-GR/notifications.json +233 -226
  118. package/src/locales/el-GR/pages.json +61 -32
  119. package/src/locales/el-GR/settings.json +0 -26
  120. package/src/locales/en/notifications.json +9 -2
  121. package/src/locales/en/pages.json +60 -30
  122. package/src/locales/en/settings.json +0 -26
  123. package/src/locales/en-US/notifications.json +233 -226
  124. package/src/locales/en-US/pages.json +61 -32
  125. package/src/locales/en-US/settings.json +0 -26
  126. package/src/locales/es-ES/notifications.json +233 -226
  127. package/src/locales/es-ES/pages.json +61 -32
  128. package/src/locales/es-ES/settings.json +0 -26
  129. package/src/locales/fi-FI/notifications.json +233 -226
  130. package/src/locales/fi-FI/pages.json +61 -32
  131. package/src/locales/fi-FI/settings.json +0 -26
  132. package/src/locales/fr-FR/notifications.json +233 -226
  133. package/src/locales/fr-FR/pages.json +61 -32
  134. package/src/locales/fr-FR/settings.json +0 -26
  135. package/src/locales/he-IL/notifications.json +233 -226
  136. package/src/locales/he-IL/pages.json +61 -32
  137. package/src/locales/he-IL/settings.json +0 -26
  138. package/src/locales/hu-HU/notifications.json +233 -226
  139. package/src/locales/hu-HU/pages.json +61 -32
  140. package/src/locales/hu-HU/settings.json +0 -26
  141. package/src/locales/it-IT/notifications.json +233 -226
  142. package/src/locales/it-IT/pages.json +61 -32
  143. package/src/locales/it-IT/settings.json +0 -26
  144. package/src/locales/ja-JP/notifications.json +233 -226
  145. package/src/locales/ja-JP/pages.json +61 -32
  146. package/src/locales/ja-JP/settings.json +0 -26
  147. package/src/locales/ko-KR/notifications.json +233 -226
  148. package/src/locales/ko-KR/pages.json +61 -32
  149. package/src/locales/ko-KR/settings.json +0 -26
  150. package/src/locales/nl-NL/notifications.json +233 -226
  151. package/src/locales/nl-NL/pages.json +61 -32
  152. package/src/locales/nl-NL/settings.json +0 -26
  153. package/src/locales/no-NO/notifications.json +233 -226
  154. package/src/locales/no-NO/pages.json +61 -32
  155. package/src/locales/no-NO/settings.json +0 -26
  156. package/src/locales/pl-PL/notifications.json +233 -226
  157. package/src/locales/pl-PL/pages.json +61 -32
  158. package/src/locales/pl-PL/settings.json +0 -26
  159. package/src/locales/pt-BR/notifications.json +233 -226
  160. package/src/locales/pt-BR/pages.json +61 -32
  161. package/src/locales/pt-BR/settings.json +0 -26
  162. package/src/locales/pt-PT/notifications.json +233 -226
  163. package/src/locales/pt-PT/pages.json +61 -32
  164. package/src/locales/pt-PT/settings.json +0 -26
  165. package/src/locales/ro-RO/notifications.json +233 -226
  166. package/src/locales/ro-RO/pages.json +61 -32
  167. package/src/locales/ro-RO/settings.json +0 -26
  168. package/src/locales/ru-RU/notifications.json +233 -226
  169. package/src/locales/ru-RU/pages.json +61 -32
  170. package/src/locales/ru-RU/settings.json +0 -26
  171. package/src/locales/sr-SP/notifications.json +233 -226
  172. package/src/locales/sr-SP/pages.json +61 -32
  173. package/src/locales/sr-SP/settings.json +0 -26
  174. package/src/locales/sv-SE/notifications.json +233 -226
  175. package/src/locales/sv-SE/pages.json +61 -32
  176. package/src/locales/sv-SE/settings.json +0 -26
  177. package/src/locales/tr-TR/notifications.json +233 -226
  178. package/src/locales/tr-TR/pages.json +61 -32
  179. package/src/locales/tr-TR/settings.json +0 -26
  180. package/src/locales/uk-UA/notifications.json +233 -226
  181. package/src/locales/uk-UA/pages.json +61 -32
  182. package/src/locales/uk-UA/settings.json +0 -26
  183. package/src/locales/vi-VN/notifications.json +233 -226
  184. package/src/locales/vi-VN/pages.json +61 -32
  185. package/src/locales/vi-VN/settings.json +0 -26
  186. package/src/locales/zh-CN/notifications.json +233 -226
  187. package/src/locales/zh-CN/pages.json +61 -32
  188. package/src/locales/zh-CN/settings.json +0 -26
  189. package/src/locales/zh-TW/notifications.json +233 -226
  190. package/src/locales/zh-TW/pages.json +61 -32
  191. package/src/locales/zh-TW/settings.json +0 -26
@@ -247,14 +247,6 @@
247
247
  "exitNodeFailed": "无法设置出口节点"
248
248
  }
249
249
  },
250
- "webhooks": {
251
- "title": "Webhook配置",
252
- "discordWebhook": "Discord Webhook 链接",
253
- "ntfyTopic": "Ntfy 主题",
254
- "customWebhook": "自定义 Webhook URL",
255
- "webhookFormat": "Webhook 格式",
256
- "testWebhook": "测试 Webhook"
257
- },
258
250
  "jobs": {
259
251
  "title": "Maintenance Jobs",
260
252
  "description": "Manage background tasks that keep your data accurate and optimized.",
@@ -280,24 +272,6 @@
280
272
  "mayTakeAWhileDesc": "This job may take several minutes to complete depending on the size of your library.",
281
273
  "startJob": "Start Job"
282
274
  },
283
- "notifications": {
284
- "routing": {
285
- "event": "Event",
286
- "web": "Web",
287
- "discord": "Discord",
288
- "webhook": "Webhook",
289
- "webNote": "Push notifications are configured per-device in the mobile app.",
290
- "webToastNote": "shows toast notifications in this browser."
291
- },
292
- "agentCard": {
293
- "saved": "Saved",
294
- "default": "Default",
295
- "events": "Events",
296
- "sendTest": "Send Test",
297
- "notConfigured": "Not fully configured.",
298
- "editSettings": "Edit settings"
299
- }
300
- },
301
275
  "advanced": {
302
276
  "title": "高级设置",
303
277
  "externalUrl": "外部 URL",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tracearr/translations",
3
- "version": "2.1.0",
3
+ "version": "2.2.0-beta.1",
4
4
  "description": "Shared i18n resources and helpers for Tracearr apps",
5
5
  "license": "AGPL-3.0-only",
6
6
  "author": "Connor Gallopo",
@@ -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
- "success": {
4
- "serverAdded": {
5
- "title": "Server Added",
6
- "message": "{{name}} has been connected successfully"
7
- },
8
- "serverRemoved": {
9
- "title": "Server Removed",
10
- "message": "The server has been removed successfully"
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
- "serverSynced": {
13
- "title": "Server Synced",
14
- "message": "Server data has been synchronized"
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
- "settingsUpdated": {
17
- "title": "Settings Updated",
18
- "message": "Your settings have been saved"
101
+ "serverOnline": {
102
+ "message": "{{name}} is back online",
103
+ "title": "Server Online"
19
104
  },
20
- "tokenCopied": {
21
- "title": "Token Copied",
22
- "message": "Pair token copied to clipboard"
105
+ "streamStarted": {
106
+ "message": "{{user}} started watching {{media}}",
107
+ "title": "New Stream Started"
23
108
  },
24
- "violationAcknowledged": {
25
- "title": "Violation Acknowledged",
26
- "message": "The violation has been marked as acknowledged"
109
+ "streamStopped": {
110
+ "message": "{{user}} stopped watching",
111
+ "title": "Stream Stopped"
27
112
  },
28
- "violationDismissed": {
29
- "title": "Violation Dismissed",
30
- "message": "The violation has been dismissed"
113
+ "updateAvailable": {
114
+ "message": "Tracearr {{version}} is available",
115
+ "title": "Update Available"
31
116
  },
32
- "deviceRemoved": {
33
- "title": "Device Removed",
34
- "message": "The device has been disconnected"
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
- "deviceRenamed": {
37
- "title": "Device Renamed",
38
- "message": "The device name has been updated"
127
+ "agentRemoved": {
128
+ "message": "The notification agent has been removed",
129
+ "title": "Agent Removed"
39
130
  },
40
- "sessionsRevoked": {
41
- "title": "Sessions Revoked",
42
- "message": "All mobile sessions have been revoked"
131
+ "agentUpdated": {
132
+ "message": "The notification agent has been updated",
133
+ "title": "Agent Updated"
43
134
  },
44
- "loggedIn": {
45
- "title": "Success",
46
- "message": "Logged in successfully"
135
+ "apiKeyGenerated": {
136
+ "message": "Your new API key is ready to use",
137
+ "title": "API Key Generated"
47
138
  },
48
- "webhookTest": {
49
- "title": "Test Successful",
50
- "message": "Webhook is working correctly"
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
- "plexAccountLinked": {
56
- "title": "Plex Account Linked",
57
- "message": "You can now add servers from your Plex account"
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
- "plexAccountUnlinked": {
60
- "title": "Plex Account Unlinked",
61
- "message": "Your Plex account has been disconnected"
153
+ "deviceRenamed": {
154
+ "message": "The device name has been updated",
155
+ "title": "Device Renamed"
62
156
  },
63
- "agentAdded": {
64
- "title": "Agent Added",
65
- "message": "The notification agent has been added"
157
+ "displayNameUpdated": {
158
+ "title": "Display Name Updated"
66
159
  },
67
- "agentUpdated": {
68
- "title": "Agent Updated",
69
- "message": "The notification agent has been updated"
160
+ "jobCompleted": {
161
+ "message": "{{name}} finished successfully",
162
+ "title": "Job Completed"
70
163
  },
71
- "agentRemoved": {
72
- "title": "Agent Removed",
73
- "message": "The notification agent has been removed"
164
+ "loggedIn": {
165
+ "message": "Logged in successfully",
166
+ "title": "Success"
74
167
  },
75
- "jobCompleted": {
76
- "title": "Job Completed",
77
- "message": "{{name}} finished successfully"
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
- "title": "Rule Created",
81
- "message": "The rule has been created successfully"
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
- "title": "Rule Updated",
85
- "message": "The rule has been updated successfully"
197
+ "message": "The rule has been updated successfully",
198
+ "title": "Rule Updated"
86
199
  },
87
- "ruleDeleted": {
88
- "title": "Rule Deleted",
89
- "message": "The rule has been deleted successfully"
200
+ "serverAdded": {
201
+ "message": "{{name}} has been connected successfully",
202
+ "title": "Server Added"
90
203
  },
91
- "streamTerminated": {
92
- "title": "Stream Terminated",
93
- "message": "The playback session has been stopped"
204
+ "serverRemoved": {
205
+ "message": "The server has been removed successfully",
206
+ "title": "Server Removed"
94
207
  },
95
- "serverUrlUpdated": {
96
- "title": "Server URL Updated",
97
- "message": "The server URL has been updated successfully"
208
+ "serverSynced": {
209
+ "message": "Server data has been synchronized",
210
+ "title": "Server Synced"
98
211
  },
99
212
  "serverUpdated": {
100
- "title": "Server Updated",
101
- "message": "The server has been updated successfully"
213
+ "message": "The server has been updated successfully",
214
+ "title": "Server Updated"
102
215
  },
103
- "syncCompletedWithErrors": {
104
- "title": "Sync Completed with Errors"
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
- "apiKeyGenerated": {
122
- "title": "API Key Generated",
123
- "message": "Your new API key is ready to use"
228
+ "sessionsRevoked": {
229
+ "message": "All mobile sessions have been revoked",
230
+ "title": "Sessions Revoked"
124
231
  },
125
- "mobileAccessEnabled": {
126
- "title": "Mobile Access Enabled",
127
- "message": "Scan the QR code with the Tracearr mobile app to connect"
232
+ "settingsUpdated": {
233
+ "message": "Your settings have been saved",
234
+ "title": "Settings Updated"
128
235
  },
129
- "mobileAccessDisabled": {
130
- "title": "Mobile Access Disabled",
131
- "message": "All mobile sessions have been revoked"
236
+ "streamTerminated": {
237
+ "message": "The playback session has been stopped",
238
+ "title": "Stream Terminated"
132
239
  },
133
- "pairTokenGenerated": {
134
- "title": "Pair Token Generated",
135
- "message": "Scan the QR code with your mobile device to pair"
240
+ "syncCompletedWithErrors": {
241
+ "title": "Sync Completed with Errors"
136
242
  },
137
- "displayNameUpdated": {
138
- "title": "Display Name Updated"
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
- "title": "Users merged",
151
- "rulesKept": "Kept target's version of: {{names}}"
253
+ "rulesKept": "Kept target's version of: {{names}}",
254
+ "title": "Users merged"
152
255
  },
153
- "serverUserSplit": {
154
- "title": "Account split into a separate user"
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
- "updateAvailable": {
219
- "title": "Update Available",
220
- "message": "Tracearr {{version}} is available"
260
+ "violationDismissed": {
261
+ "message": "The violation has been dismissed",
262
+ "title": "Violation Dismissed"
221
263
  },
222
- "serverOffline": {
223
- "title": "Server Offline",
224
- "message": "{{name}} is unreachable"
264
+ "violationsAcknowledged": {
265
+ "message_one": "{{count}} violation acknowledged",
266
+ "message_other": "{{count}} violations acknowledged",
267
+ "title": "Violations Acknowledged"
225
268
  },
226
- "serverOnline": {
227
- "title": "Server Online",
228
- "message": "{{name}} is back online"
269
+ "violationsDismissed": {
270
+ "message_one": "{{count}} violation dismissed",
271
+ "message_other": "{{count}} violations dismissed",
272
+ "title": "Violations Dismissed"
229
273
  },
230
- "violationDetected": {
231
- "title": "New Violation: {{ruleName}}",
232
- "message": "{{user}} triggered {{ruleType}}"
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
  }