@tracearr/translations 2.2.4-beta.2 → 2.3.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 (250) hide show
  1. package/README.md +1 -1
  2. package/dist/config.d.ts +1160 -64
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.mobile.d.ts +1160 -64
  5. package/dist/config.mobile.d.ts.map +1 -1
  6. package/dist/locales/af-ZA/common.json +281 -280
  7. package/dist/locales/af-ZA/notifications.json +238 -218
  8. package/dist/locales/af-ZA/pages.json +1726 -1646
  9. package/dist/locales/af-ZA/settings.json +888 -440
  10. package/dist/locales/ar-SA/common.json +281 -280
  11. package/dist/locales/ar-SA/notifications.json +242 -222
  12. package/dist/locales/ar-SA/pages.json +1684 -1604
  13. package/dist/locales/ar-SA/settings.json +889 -441
  14. package/dist/locales/ca-ES/common.json +281 -280
  15. package/dist/locales/ca-ES/notifications.json +238 -218
  16. package/dist/locales/ca-ES/pages.json +1682 -1602
  17. package/dist/locales/ca-ES/settings.json +888 -440
  18. package/dist/locales/cs-CZ/common.json +281 -280
  19. package/dist/locales/cs-CZ/notifications.json +242 -222
  20. package/dist/locales/cs-CZ/pages.json +1688 -1608
  21. package/dist/locales/cs-CZ/settings.json +889 -441
  22. package/dist/locales/da-DK/common.json +281 -280
  23. package/dist/locales/da-DK/notifications.json +242 -222
  24. package/dist/locales/da-DK/pages.json +1684 -1604
  25. package/dist/locales/da-DK/settings.json +889 -441
  26. package/dist/locales/de-DE/common.json +281 -280
  27. package/dist/locales/de-DE/notifications.json +242 -222
  28. package/dist/locales/de-DE/pages.json +1690 -1610
  29. package/dist/locales/de-DE/settings.json +889 -441
  30. package/dist/locales/el-GR/common.json +281 -280
  31. package/dist/locales/el-GR/notifications.json +242 -222
  32. package/dist/locales/el-GR/pages.json +1684 -1604
  33. package/dist/locales/el-GR/settings.json +889 -441
  34. package/dist/locales/en/notifications.json +26 -6
  35. package/dist/locales/en/pages.json +92 -12
  36. package/dist/locales/en/settings.json +474 -26
  37. package/dist/locales/en-US/common.json +281 -280
  38. package/dist/locales/en-US/notifications.json +242 -222
  39. package/dist/locales/en-US/pages.json +1774 -1694
  40. package/dist/locales/en-US/settings.json +898 -450
  41. package/dist/locales/es-ES/common.json +281 -280
  42. package/dist/locales/es-ES/notifications.json +242 -222
  43. package/dist/locales/es-ES/pages.json +1689 -1609
  44. package/dist/locales/es-ES/settings.json +889 -441
  45. package/dist/locales/fi-FI/common.json +281 -280
  46. package/dist/locales/fi-FI/notifications.json +242 -222
  47. package/dist/locales/fi-FI/pages.json +1684 -1604
  48. package/dist/locales/fi-FI/settings.json +889 -441
  49. package/dist/locales/fr-FR/notifications.json +242 -222
  50. package/dist/locales/fr-FR/pages.json +1698 -1618
  51. package/dist/locales/fr-FR/settings.json +898 -450
  52. package/dist/locales/he-IL/common.json +281 -280
  53. package/dist/locales/he-IL/notifications.json +238 -218
  54. package/dist/locales/he-IL/pages.json +1726 -1646
  55. package/dist/locales/he-IL/settings.json +888 -440
  56. package/dist/locales/hu-HU/common.json +281 -280
  57. package/dist/locales/hu-HU/notifications.json +238 -218
  58. package/dist/locales/hu-HU/pages.json +1726 -1646
  59. package/dist/locales/hu-HU/settings.json +888 -440
  60. package/dist/locales/it-IT/common.json +281 -280
  61. package/dist/locales/it-IT/notifications.json +242 -222
  62. package/dist/locales/it-IT/pages.json +1684 -1604
  63. package/dist/locales/it-IT/settings.json +889 -441
  64. package/dist/locales/ja-JP/common.json +281 -280
  65. package/dist/locales/ja-JP/notifications.json +242 -222
  66. package/dist/locales/ja-JP/pages.json +1684 -1604
  67. package/dist/locales/ja-JP/settings.json +889 -441
  68. package/dist/locales/ko-KR/common.json +281 -281
  69. package/dist/locales/ko-KR/notifications.json +242 -222
  70. package/dist/locales/ko-KR/pages.json +1746 -1666
  71. package/dist/locales/ko-KR/settings.json +898 -450
  72. package/dist/locales/nl-NL/common.json +281 -280
  73. package/dist/locales/nl-NL/notifications.json +242 -222
  74. package/dist/locales/nl-NL/pages.json +1699 -1619
  75. package/dist/locales/nl-NL/settings.json +891 -443
  76. package/dist/locales/no-NO/common.json +281 -280
  77. package/dist/locales/no-NO/notifications.json +242 -222
  78. package/dist/locales/no-NO/pages.json +1684 -1604
  79. package/dist/locales/no-NO/settings.json +889 -441
  80. package/dist/locales/pl-PL/common.json +281 -280
  81. package/dist/locales/pl-PL/notifications.json +242 -222
  82. package/dist/locales/pl-PL/pages.json +1684 -1604
  83. package/dist/locales/pl-PL/settings.json +889 -441
  84. package/dist/locales/pt-BR/common.json +281 -280
  85. package/dist/locales/pt-BR/notifications.json +242 -222
  86. package/dist/locales/pt-BR/pages.json +1725 -1645
  87. package/dist/locales/pt-BR/settings.json +889 -441
  88. package/dist/locales/pt-PT/common.json +281 -280
  89. package/dist/locales/pt-PT/notifications.json +242 -222
  90. package/dist/locales/pt-PT/pages.json +1684 -1604
  91. package/dist/locales/pt-PT/settings.json +889 -441
  92. package/dist/locales/ro-RO/common.json +281 -280
  93. package/dist/locales/ro-RO/notifications.json +242 -222
  94. package/dist/locales/ro-RO/pages.json +1684 -1604
  95. package/dist/locales/ro-RO/settings.json +889 -441
  96. package/dist/locales/ru-RU/common.json +281 -280
  97. package/dist/locales/ru-RU/notifications.json +242 -222
  98. package/dist/locales/ru-RU/pages.json +1684 -1604
  99. package/dist/locales/ru-RU/settings.json +889 -441
  100. package/dist/locales/sr-SP/common.json +281 -280
  101. package/dist/locales/sr-SP/notifications.json +238 -218
  102. package/dist/locales/sr-SP/pages.json +1726 -1646
  103. package/dist/locales/sr-SP/settings.json +888 -440
  104. package/dist/locales/sv-SE/common.json +281 -280
  105. package/dist/locales/sv-SE/notifications.json +242 -222
  106. package/dist/locales/sv-SE/pages.json +1684 -1604
  107. package/dist/locales/sv-SE/settings.json +889 -441
  108. package/dist/locales/tr-TR/common.json +281 -280
  109. package/dist/locales/tr-TR/notifications.json +238 -218
  110. package/dist/locales/tr-TR/pages.json +1726 -1646
  111. package/dist/locales/tr-TR/settings.json +888 -440
  112. package/dist/locales/uk-UA/common.json +281 -280
  113. package/dist/locales/uk-UA/notifications.json +242 -222
  114. package/dist/locales/uk-UA/pages.json +1684 -1604
  115. package/dist/locales/uk-UA/settings.json +889 -441
  116. package/dist/locales/vi-VN/common.json +281 -280
  117. package/dist/locales/vi-VN/notifications.json +238 -218
  118. package/dist/locales/vi-VN/pages.json +1726 -1646
  119. package/dist/locales/vi-VN/settings.json +888 -440
  120. package/dist/locales/zh-CN/common.json +281 -280
  121. package/dist/locales/zh-CN/notifications.json +242 -222
  122. package/dist/locales/zh-CN/pages.json +1695 -1615
  123. package/dist/locales/zh-CN/settings.json +898 -450
  124. package/dist/locales/zh-TW/common.json +281 -280
  125. package/dist/locales/zh-TW/notifications.json +242 -222
  126. package/dist/locales/zh-TW/pages.json +1804 -1724
  127. package/dist/locales/zh-TW/settings.json +888 -440
  128. package/package.json +1 -1
  129. package/src/locales/af-ZA/common.json +281 -280
  130. package/src/locales/af-ZA/notifications.json +238 -218
  131. package/src/locales/af-ZA/pages.json +1726 -1646
  132. package/src/locales/af-ZA/settings.json +888 -440
  133. package/src/locales/ar-SA/common.json +281 -280
  134. package/src/locales/ar-SA/notifications.json +242 -222
  135. package/src/locales/ar-SA/pages.json +1684 -1604
  136. package/src/locales/ar-SA/settings.json +889 -441
  137. package/src/locales/ca-ES/common.json +281 -280
  138. package/src/locales/ca-ES/notifications.json +238 -218
  139. package/src/locales/ca-ES/pages.json +1682 -1602
  140. package/src/locales/ca-ES/settings.json +888 -440
  141. package/src/locales/cs-CZ/common.json +281 -280
  142. package/src/locales/cs-CZ/notifications.json +242 -222
  143. package/src/locales/cs-CZ/pages.json +1688 -1608
  144. package/src/locales/cs-CZ/settings.json +889 -441
  145. package/src/locales/da-DK/common.json +281 -280
  146. package/src/locales/da-DK/notifications.json +242 -222
  147. package/src/locales/da-DK/pages.json +1684 -1604
  148. package/src/locales/da-DK/settings.json +889 -441
  149. package/src/locales/de-DE/common.json +281 -280
  150. package/src/locales/de-DE/notifications.json +242 -222
  151. package/src/locales/de-DE/pages.json +1690 -1610
  152. package/src/locales/de-DE/settings.json +889 -441
  153. package/src/locales/el-GR/common.json +281 -280
  154. package/src/locales/el-GR/notifications.json +242 -222
  155. package/src/locales/el-GR/pages.json +1684 -1604
  156. package/src/locales/el-GR/settings.json +889 -441
  157. package/src/locales/en/notifications.json +26 -6
  158. package/src/locales/en/pages.json +92 -12
  159. package/src/locales/en/settings.json +474 -26
  160. package/src/locales/en-US/common.json +281 -280
  161. package/src/locales/en-US/notifications.json +242 -222
  162. package/src/locales/en-US/pages.json +1774 -1694
  163. package/src/locales/en-US/settings.json +898 -450
  164. package/src/locales/es-ES/common.json +281 -280
  165. package/src/locales/es-ES/notifications.json +242 -222
  166. package/src/locales/es-ES/pages.json +1689 -1609
  167. package/src/locales/es-ES/settings.json +889 -441
  168. package/src/locales/fi-FI/common.json +281 -280
  169. package/src/locales/fi-FI/notifications.json +242 -222
  170. package/src/locales/fi-FI/pages.json +1684 -1604
  171. package/src/locales/fi-FI/settings.json +889 -441
  172. package/src/locales/fr-FR/notifications.json +242 -222
  173. package/src/locales/fr-FR/pages.json +1698 -1618
  174. package/src/locales/fr-FR/settings.json +898 -450
  175. package/src/locales/he-IL/common.json +281 -280
  176. package/src/locales/he-IL/notifications.json +238 -218
  177. package/src/locales/he-IL/pages.json +1726 -1646
  178. package/src/locales/he-IL/settings.json +888 -440
  179. package/src/locales/hu-HU/common.json +281 -280
  180. package/src/locales/hu-HU/notifications.json +238 -218
  181. package/src/locales/hu-HU/pages.json +1726 -1646
  182. package/src/locales/hu-HU/settings.json +888 -440
  183. package/src/locales/it-IT/common.json +281 -280
  184. package/src/locales/it-IT/notifications.json +242 -222
  185. package/src/locales/it-IT/pages.json +1684 -1604
  186. package/src/locales/it-IT/settings.json +889 -441
  187. package/src/locales/ja-JP/common.json +281 -280
  188. package/src/locales/ja-JP/notifications.json +242 -222
  189. package/src/locales/ja-JP/pages.json +1684 -1604
  190. package/src/locales/ja-JP/settings.json +889 -441
  191. package/src/locales/ko-KR/common.json +281 -281
  192. package/src/locales/ko-KR/notifications.json +242 -222
  193. package/src/locales/ko-KR/pages.json +1746 -1666
  194. package/src/locales/ko-KR/settings.json +898 -450
  195. package/src/locales/nl-NL/common.json +281 -280
  196. package/src/locales/nl-NL/notifications.json +242 -222
  197. package/src/locales/nl-NL/pages.json +1699 -1619
  198. package/src/locales/nl-NL/settings.json +891 -443
  199. package/src/locales/no-NO/common.json +281 -280
  200. package/src/locales/no-NO/notifications.json +242 -222
  201. package/src/locales/no-NO/pages.json +1684 -1604
  202. package/src/locales/no-NO/settings.json +889 -441
  203. package/src/locales/pl-PL/common.json +281 -280
  204. package/src/locales/pl-PL/notifications.json +242 -222
  205. package/src/locales/pl-PL/pages.json +1684 -1604
  206. package/src/locales/pl-PL/settings.json +889 -441
  207. package/src/locales/pt-BR/common.json +281 -280
  208. package/src/locales/pt-BR/notifications.json +242 -222
  209. package/src/locales/pt-BR/pages.json +1725 -1645
  210. package/src/locales/pt-BR/settings.json +889 -441
  211. package/src/locales/pt-PT/common.json +281 -280
  212. package/src/locales/pt-PT/notifications.json +242 -222
  213. package/src/locales/pt-PT/pages.json +1684 -1604
  214. package/src/locales/pt-PT/settings.json +889 -441
  215. package/src/locales/ro-RO/common.json +281 -280
  216. package/src/locales/ro-RO/notifications.json +242 -222
  217. package/src/locales/ro-RO/pages.json +1684 -1604
  218. package/src/locales/ro-RO/settings.json +889 -441
  219. package/src/locales/ru-RU/common.json +281 -280
  220. package/src/locales/ru-RU/notifications.json +242 -222
  221. package/src/locales/ru-RU/pages.json +1684 -1604
  222. package/src/locales/ru-RU/settings.json +889 -441
  223. package/src/locales/sr-SP/common.json +281 -280
  224. package/src/locales/sr-SP/notifications.json +238 -218
  225. package/src/locales/sr-SP/pages.json +1726 -1646
  226. package/src/locales/sr-SP/settings.json +888 -440
  227. package/src/locales/sv-SE/common.json +281 -280
  228. package/src/locales/sv-SE/notifications.json +242 -222
  229. package/src/locales/sv-SE/pages.json +1684 -1604
  230. package/src/locales/sv-SE/settings.json +889 -441
  231. package/src/locales/tr-TR/common.json +281 -280
  232. package/src/locales/tr-TR/notifications.json +238 -218
  233. package/src/locales/tr-TR/pages.json +1726 -1646
  234. package/src/locales/tr-TR/settings.json +888 -440
  235. package/src/locales/uk-UA/common.json +281 -280
  236. package/src/locales/uk-UA/notifications.json +242 -222
  237. package/src/locales/uk-UA/pages.json +1684 -1604
  238. package/src/locales/uk-UA/settings.json +889 -441
  239. package/src/locales/vi-VN/common.json +281 -280
  240. package/src/locales/vi-VN/notifications.json +238 -218
  241. package/src/locales/vi-VN/pages.json +1726 -1646
  242. package/src/locales/vi-VN/settings.json +888 -440
  243. package/src/locales/zh-CN/common.json +281 -280
  244. package/src/locales/zh-CN/notifications.json +242 -222
  245. package/src/locales/zh-CN/pages.json +1695 -1615
  246. package/src/locales/zh-CN/settings.json +898 -450
  247. package/src/locales/zh-TW/common.json +281 -280
  248. package/src/locales/zh-TW/notifications.json +242 -222
  249. package/src/locales/zh-TW/pages.json +1804 -1724
  250. package/src/locales/zh-TW/settings.json +888 -440
@@ -1,504 +1,952 @@
1
1
  {
2
- "title": "Ajustes",
3
- "tabs": {
4
- "general": "",
5
- "servers": "Servidores",
6
- "notifications": "Notificaciones",
7
- "mobile": "App Móvil",
8
- "tailscale": "",
9
- "import": "Importar",
10
- "advanced": "Avanzado",
11
- "jobs": "Tareas",
12
- "accessControl": "Control de acceso",
13
- "backup": "Copia de seguridad"
2
+ "accessControl": {
3
+ "allowGuestAccess": "Permitir acceso al invitado",
4
+ "allowGuestAccessDesc": "",
5
+ "description": "Configurar quién puede acceder a Tracearr",
6
+ "singleOwnerNote": "Nota: Cuando el acceso invitado está deshabilitado, sólo el propietario del servidor puede iniciar sesión. Todos los demás usuarios verán un mensaje \"Acceso denegado\".",
7
+ "title": "Control de acceso"
8
+ },
9
+ "account": {
10
+ "createAccount": "Crear cuenta",
11
+ "createYourAccount": "Crea tu cuenta para empezar",
12
+ "displayName": "Nombre visible",
13
+ "email": "Correo electrónico",
14
+ "password": "Contraseña",
15
+ "signInToAccount": "Inicia sesión en tu cuenta",
16
+ "useLocalAccount": "Usar cuenta local"
17
+ },
18
+ "advanced": {
19
+ "connectionScenarios": "Escenarios de conexión",
20
+ "externalUrl": "URL externa",
21
+ "reverseProxy": "Proxy Inverso",
22
+ "title": "Ajustes avanzados",
23
+ "trustProxy": "Confiar en cabeceras de proxy"
24
+ },
25
+ "backup": {
26
+ "actions": "Acciones",
27
+ "backToBackups": "Volver a Copias de Seguridad",
28
+ "backupHistory": "Historial de copia de seguridad",
29
+ "createBackup": "Crear copia de seguridad",
30
+ "creating": "Creando copia de seguridad...",
31
+ "databaseSize": "Tamaño actual de la base de datos: {{size}}",
32
+ "date": "Fecha",
33
+ "dayFri": "Viernes",
34
+ "dayMon": "Lunes",
35
+ "daySat": "Sábado",
36
+ "daySun": "Domingo",
37
+ "dayThu": "Jueves",
38
+ "dayTue": "Martes",
39
+ "dayWed": "Miércoles",
40
+ "deleteConfirmDescription": "¿Está seguro que desea eliminar esta copia de seguridad? Esta acción no se puede deshacer.",
41
+ "deleteConfirmTitle": "Eliminar copia de seguridad",
42
+ "description": "Copia de seguridad y restaura tus datos de Tracearr",
43
+ "download": "",
44
+ "freeSpace": "Espacio libre del directorio de copia de seguridad: {{size}}",
45
+ "lowDiskSpace": "Espacio en disco bajo: las copias de seguridad y las restauraciones requieren al menos el doble del tamaño de la base de datos en espacio libre.",
46
+ "noBackups": "Aún no hay copias de seguridad. Crea tu primera copia de seguridad.",
47
+ "restore": {
48
+ "automations": "",
49
+ "cannotRestore": "La restauración requiere privilegios de superusuario de PostgreSQL. Por favor, asegúrese de que el usuario de la base de datos tiene privilegios de superusuario e inténtelo de nuevo.",
50
+ "complete": "Restauración completada con éxito. La página se actualizará pronto.",
51
+ "confirm": "Iniciar restauración",
52
+ "confirmLabel": "Entiendo que esto reemplazará a todos los datos",
53
+ "databaseSize": "Tamaño de la Base de Datos",
54
+ "failed": "Restauración fallida",
55
+ "libraryItems": "Elemento de biblioteca",
56
+ "pgVersionMismatch": "La copia de seguridad fue creada en PostgreSQL {{backupVersion}}, pero este servidor ejecuta PostgreSQL {{serverVersion}}. Restaurar un volcado desde una versión más reciente de PostgreSQL no es compatible.",
57
+ "selectedBackup": "Backup seleccionado",
58
+ "servers": "Servidores",
59
+ "sessions": "Sesiones",
60
+ "tables": "Tablas",
61
+ "title": "Restaurar copia de seguridad",
62
+ "tsVersionMismatch": "La copia de seguridad se creó con TimescaleDB {{backupVersion}}, pero este servidor sólo soporta TimescaleDB {{serverVersion}}.",
63
+ "users": "Usuarios",
64
+ "warning": "Restaurar reemplazará todos los datos existentes. Necesitará volver a iniciar sesión después de que la restauración se complete."
65
+ },
66
+ "restoreAction": "Restaurar",
67
+ "retentionCount": "Mantener Última",
68
+ "retentionSuffix": "copia de seguridad planificadas",
69
+ "rowActions": "",
70
+ "schedule": "Copias de seguridad programadas",
71
+ "scheduleDaily": "Diario",
72
+ "scheduleDayOfMonth": "Día del mes",
73
+ "scheduleDayOfMonthHint": "En meses con menos días, la copia de seguridad se ejecuta el último día.",
74
+ "scheduleDayOfWeek": "Día de la semana",
75
+ "scheduleDisabled": "Deshabilitado",
76
+ "scheduleHour": "",
77
+ "scheduleMinute": "",
78
+ "scheduleMonthly": "Mensual",
79
+ "scheduleTime": "Hora ({{timezone}})",
80
+ "scheduleType": "Planificado",
81
+ "scheduleWeekly": "Semanal",
82
+ "size": "Tamaño",
83
+ "title": "Copia de seguridad",
84
+ "toast": {
85
+ "backupCreateFailed": "Error al crear copia de seguridad",
86
+ "backupCreated": "Copia de seguridad creada con éxito",
87
+ "backupDeleteFailed": "Error al eliminar copia de seguridad",
88
+ "backupDeleted": "Copia de seguridad eliminada",
89
+ "backupUploadFailed": "Error al subir la copia de seguridad",
90
+ "backupUploaded": "Copia de seguridad creada con éxito",
91
+ "restoreStartFailed": "Error al iniciar la restauración",
92
+ "restoreStarted": "Iniciando restauración",
93
+ "scheduleError": "Error al guardar el programa de copia de seguridad",
94
+ "scheduleSaved": "Programa de copia de seguridad guardado"
95
+ },
96
+ "type": "Tipo",
97
+ "typeManual": "",
98
+ "typeScheduled": "Planificado",
99
+ "typeUploaded": "Cargado",
100
+ "uploadBackup": "Subir copia de seguridad",
101
+ "uploading": "Subiendo...",
102
+ "version": "Versión"
103
+ },
104
+ "email": {
105
+ "branding": {
106
+ "accent": "",
107
+ "accentPicker": "",
108
+ "description": "",
109
+ "footerText": "",
110
+ "footerTextHelp": "",
111
+ "logo": {
112
+ "label": "",
113
+ "none": "",
114
+ "tracearr": "",
115
+ "url": ""
116
+ },
117
+ "logoUrl": "",
118
+ "mailto": "",
119
+ "mailtoHelp": "",
120
+ "postalAddress": "",
121
+ "postalAddressHelp": "",
122
+ "save": "",
123
+ "saving": "",
124
+ "title": ""
125
+ },
126
+ "ownerOnly": "",
127
+ "suppressions": {
128
+ "add": "",
129
+ "addConfirm": "",
130
+ "addDescription": "",
131
+ "addTitle": "",
132
+ "address": "",
133
+ "empty": "",
134
+ "emptyDescription": "",
135
+ "globalNote": "",
136
+ "openSource": "",
137
+ "reason": {
138
+ "manual": "",
139
+ "unsubscribed": ""
140
+ },
141
+ "remove": "",
142
+ "removeDescription": "",
143
+ "removeTitle": "",
144
+ "title": ""
145
+ }
14
146
  },
15
147
  "general": {
16
- "title": "Ajustes Generales",
17
- "unitSystem": "Sistema de unidades",
18
- "metric": "Métrico (km, km/h)",
19
- "imperial": "",
20
- "timezone": "Zona horaria",
21
- "primaryAuth": "Método de autenticación principal",
22
- "localAccount": "Cuenta Local",
23
- "plexAccount": "Cuenta de Plex",
24
- "language": "Idioma",
25
- "languageDescription": "Elige tu idioma de visualización preferido.",
26
- "helpTranslate": "Ayuda a traducir Tracearr",
27
- "timeFormat": "Formato de hora",
28
- "timeFormatDescription": "Elige cómo se muestran las horas.",
29
- "timeFormat12h": "12 horas (1:30 PM)",
30
- "timeFormat24h": "24 horas(13:30)",
31
- "appearance": "Apariencia",
32
- "appearanceDesc": "Personalizar la apariencia de Tracearr",
33
- "theme": "Tema",
34
148
  "accentColor": "Color de acento",
35
- "default": "(por defecto)",
36
- "cyanDefault": "* Cian es el color de acento predeterminado",
37
- "themeLight": "Claro",
38
- "themeDark": "Oscuro",
39
- "themeSystem": "Sistema",
149
+ "apiDocs": "",
150
+ "apiKeyDesc": "Acceda a la API de Tracearr para integraciones de terceros como Homarr, Home Assistant, etc.",
151
+ "apiKeyReadAccess": "Su clave API otorga acceso completo de lectura a sus datos de Tracearr.",
152
+ "apiRateLimit": "",
153
+ "apiRateLimitDesc": "",
154
+ "apiRateLimitSuffix": "",
40
155
  "application": "Aplicación",
41
156
  "applicationDesc": "Configurar los ajustes básicos de la aplicación",
42
- "unitSystemDesc": "",
43
- "sessionSync": "Sincronización de sesión",
44
- "sessionSyncDesc": "",
45
- "syncInterval": "Intervalo de sincronización",
46
- "syncIntervalDesc": "",
47
- "syncIntervalSuffix": "seg",
48
- "plexSseNote": "Plex utiliza Eventos Server-Sent (SSE) para actualizaciones casi instantáneas — no se necesitan encuestas.",
49
- "jellyfinPollingNote": "Jellyfin/Emby son encuestas en el intervalo de arriba.",
157
+ "copyToClipboard": "Copiar al portapapeles",
158
+ "cyanDefault": "* Cian es el color de acento predeterminado",
159
+ "default": "(por defecto)",
160
+ "detect": "Detectar",
50
161
  "enhancedGeoIP": "Búsqueda de GeoIP mejorada",
51
162
  "enhancedGeoIPDesc": "Utilice el servicio GeoIP de Plex para obtener datos de ubicación más precisos. Cuando está habilitado, las direcciones IP se envían a plex. v para búsqueda. Base de datos local MaxMind se utiliza como respaldo.",
52
163
  "externalAccess": "Acceso externo",
53
164
  "externalAccessDesc": "Configura cómo los dispositivos externos (como las aplicaciones móviles) se conectan a tu servidor",
54
165
  "externalUrl": "URL externa",
55
- "externalUrlPlaceholder": "",
56
166
  "externalUrlDesc": "La URL que deben usar los dispositivos externos para llegar a este servidor. Utilizado para códigos QR y emparejamiento de aplicaciones móviles.",
57
- "detect": "Detectar",
58
- "localhostWarning": "Las URL de localhost no funcionarán para dispositivos externos. Utilice su IP LAN o un nombre de dominio.",
167
+ "externalUrlPlaceholder": "",
168
+ "generateApiKeyPrompt": "Generar una clave API para habilitar integraciones externas.",
169
+ "generateKey": "Generar clave",
170
+ "helpTranslate": "Ayuda a traducir Tracearr",
171
+ "imageCache": {
172
+ "ceiling": "",
173
+ "description": "",
174
+ "diskLimited": "",
175
+ "files": "",
176
+ "floor": "",
177
+ "free": "",
178
+ "freeOf": "",
179
+ "lastSweep": "",
180
+ "loadError": "",
181
+ "need": "",
182
+ "needHint": "",
183
+ "never": "",
184
+ "size": "",
185
+ "title": ""
186
+ },
187
+ "imperial": "",
59
188
  "iosHttpWarning": "iOS requiere HTTPS para conexiones externas. Configure un proxy inverso con SSL.",
60
- "apiKeyDesc": "Acceda a la API de Tracearr para integraciones de terceros como Homarr, Home Assistant, etc.",
61
- "apiDocs": "",
189
+ "jellyfinPollingNote": "Jellyfin/Emby son encuestas en el intervalo de arriba.",
190
+ "language": "Idioma",
191
+ "languageDescription": "Elige tu idioma de visualización preferido.",
192
+ "localAccount": "Cuenta Local",
193
+ "localhostWarning": "Las URL de localhost no funcionarán para dispositivos externos. Utilice su IP LAN o un nombre de dominio.",
194
+ "metric": "Métrico (km, km/h)",
62
195
  "noApiKeyGenerated": "Ninguna clave API generada",
63
- "copyToClipboard": "Copiar al portapapeles",
64
- "apiKeyReadAccess": "Su clave API otorga acceso completo de lectura a sus datos de Tracearr.",
65
- "generateApiKeyPrompt": "Generar una clave API para habilitar integraciones externas.",
196
+ "plexAccount": "Cuenta de Plex",
197
+ "plexSseNote": "Plex utiliza Eventos Server-Sent (SSE) para actualizaciones casi instantáneas — no se necesitan encuestas.",
198
+ "primaryAuth": "Método de autenticación principal",
199
+ "publicApiSettings": "",
200
+ "publicApiSettingsDesc": "",
66
201
  "regenerate": "Regenerar",
67
- "generateKey": "Generar clave",
68
202
  "regenerateApiKey": "¿Regenerar clave API?",
69
203
  "regenerateApiKeyDesc": "Esto invalidará tu clave API actual. Cualquier integración usando la clave antigua dejará de funcionar.",
70
- "publicApiSettings": "",
71
- "publicApiSettingsDesc": "",
72
- "watchedThresholdMovie": "",
73
- "watchedThresholdMovieDesc": "",
74
- "watchedThresholdTv": "",
75
- "watchedThresholdTvDesc": "",
76
- "watchedThresholdMusic": "",
77
- "watchedThresholdMusicDesc": "",
78
- "watchedThresholdSuffix": "",
79
- "apiRateLimit": "",
80
- "apiRateLimitDesc": "",
81
- "apiRateLimitSuffix": "",
204
+ "sessionSync": "Sincronización de sesión",
205
+ "sessionSyncDesc": "",
206
+ "syncInterval": "Intervalo de sincronización",
207
+ "syncIntervalDesc": "",
208
+ "syncIntervalSuffix": "seg",
209
+ "theme": "Tema",
210
+ "themeDark": "Oscuro",
211
+ "themeLight": "Claro",
212
+ "themeSystem": "Sistema",
213
+ "timeFormat": "Formato de hora",
214
+ "timeFormat12h": "12 horas (1:30 PM)",
215
+ "timeFormat24h": "24 horas(13:30)",
216
+ "timeFormatDescription": "Elige cómo se muestran las horas.",
217
+ "timezone": "Zona horaria",
218
+ "title": "Ajustes Generales",
219
+ "unitSystem": "Sistema de unidades",
220
+ "unitSystemDesc": "",
82
221
  "updateChecks": {
83
- "title": "",
84
222
  "description": "",
85
223
  "plugin": "",
86
224
  "pluginDesc": "",
87
225
  "server": "",
88
- "serverDesc": ""
226
+ "serverDesc": "",
227
+ "title": ""
89
228
  },
90
- "imageCache": {
91
- "title": "",
92
- "description": "",
93
- "size": "",
94
- "files": "",
95
- "need": "",
96
- "needHint": "",
97
- "free": "",
98
- "freeOf": "",
99
- "floor": "",
100
- "ceiling": "",
101
- "lastSweep": "",
102
- "never": "",
103
- "diskLimited": "",
104
- "loadError": ""
105
- }
229
+ "watchedThresholdMovie": "",
230
+ "watchedThresholdMovieDesc": "",
231
+ "watchedThresholdMusic": "",
232
+ "watchedThresholdMusicDesc": "",
233
+ "watchedThresholdSuffix": "",
234
+ "watchedThresholdTv": "",
235
+ "watchedThresholdTvDesc": ""
106
236
  },
107
- "servers": {
108
- "title": "Servidores conectados",
109
- "addServer": "Añadir servidor",
110
- "serverName": "Nombre del servidor",
111
- "serverUrl": "URL del servidor",
112
- "syncInterval": "Intervalo de sincronización",
113
- "testConnection": "Probar conexión",
114
- "connectionSuccess": "Conexión establecida",
115
- "connectionFailed": "Error de conexión",
116
- "noServersConnected": "Sin servidores conectados",
117
- "noServersConnectedHint": "Haga clic en \"Añadir servidor\" para conectar un servidor Jellyfin o Emby",
118
- "serverType": "Tipo de servidor",
119
- "loadingAccounts": "Cargando cuentas enlazadas de Plex...",
120
- "noPlexAccountsLinked": "No hay cuentas Plex vinculadas",
121
- "noPlexAccountsLinkedHint": "Vincula una cuenta de Plex de arriba, luego vuelve a añadir un servidor.",
122
- "selectPlexAccount": "Seleccionar cuenta de Plex",
123
- "chooseAccount": "Seleccione una cuenta...",
124
- "selectAccountHelp": "Seleccione desde qué cuenta de Plex descubrir los servidores.",
125
- "allServersConnected": "Todos los servidores conectados",
126
- "allServersConnectedDesc": "Todos los servidores de esta cuenta ya están conectados.",
127
- "serverUrlPlaceholder": "",
128
- "serverUrlHelp": "Directa la URL a tu servidor Jellyfin o Emby. Usa IP:port para mayor fiabilidad.",
129
- "serverNamePlaceholder": "Mi servidor multimedia",
130
- "apiKeyPlaceholder": "Introduzca su clave API",
131
- "apiKeyHelp": "Encontrado en el panel de control de su servidor de medios bajo claves API o ajustes avanzados.",
132
- "connecting": "Conectando...",
133
- "connectServer": "Conectar servidor",
134
- "removeServer": "Eliminar servidor",
135
- "removeServerConfirm": "¿Está seguro que desea eliminar este servidor? Se conservarán todos los datos de sesión asociados, pero no podrás supervisar las nuevas sesiones desde este servidor.",
136
- "editServer": "Editar servidor",
137
- "editServerDesc": "Actualizar el nombre del servidor o la URL de conexión.",
138
- "serverColor": "Color del servidor",
139
- "serverColorDesc": "Utilizado para la atribución visual en la vista multi-servidor",
140
- "updating": "Actualizando...",
141
- "allFieldsRequired": "Todos los campos son obligatorios",
142
- "addServerDialogDescPlex": "Seleccione un servidor Plex de su cuenta vinculada.",
237
+ "import": {
238
+ "apiKeyHelp": "Encontrado en Configuración Tautulli → Interfaz Web → Clave API.",
239
+ "apiKeyPlaceholder": "Tu clave API de Tautulli",
240
+ "checkPlugin": "",
241
+ "checkingPlugin": "",
242
+ "connectToTautulli": "Conectar a Tautulli",
243
+ "connectedFound": "¡Conectado! Encontrados usuarios {{users}} y registros de historial de {{records}}.",
244
+ "duplicates": "",
245
+ "enrichMetadata": "Enriquecer con metadatos de medios (recomendado)",
246
+ "enrichMetadataHelp": "Obtiene metadatos adicionales de su servidor de medios para sesiones importadas.",
247
+ "enriched": "Enriquecido",
248
+ "errors": "Errores",
249
+ "exportBackupHelp": "En Jellystat, vaya a Configuración → Copia de seguridad → Copia de seguridad de actividades para exportar sus datos.",
250
+ "exportBackupHint": "Exportar una copia de seguridad de la actividad de Jellystat",
251
+ "howItWorks": "Cómo funciona la importación",
252
+ "howItWorksDesc": "Tracearr importará todos los datos de reloj históricos de su fuente. Esto puede tomar un tiempo dependiendo del tamaño de su biblioteca.",
253
+ "importComplete": "Importación completada",
254
+ "importFailed": "Error al importar",
255
+ "importFullRange": "",
256
+ "importFullRangeHelp": "",
257
+ "importHistory": "Importar Historial",
258
+ "importInProgressGeneric": "Importación en progreso...",
259
+ "importInProgressPercent": "Importación en progreso ({{percent}}% completado)...",
260
+ "importOptions": "Importar opciones",
261
+ "importProgress": "Progreso de la importación",
262
+ "imported": "Importados",
263
+ "importing": "Importando...",
264
+ "includeStreamDetails": "Incluye datos detallados de flujo (códecs, tasa de bits, resolución)",
265
+ "includeStreamDetailsHelp": "Importa información adicional de flujos. Puede aumentar significativamente el tiempo de importación.",
266
+ "jellyfinEmby": "",
267
+ "jellystat": "Importar desde Jellystat",
268
+ "noServers": "No hay servidores conectados",
269
+ "noServersHint": "Necesita al menos un servidor conectado para importar datos.",
270
+ "overlapSkipped": "",
271
+ "overwriteFriendlyNames": "Sobrescribir nombres amigos existentes con nombres de Tautulli",
272
+ "overwriteFriendlyNamesHelp": "Los nombres de identidad existentes en Tracearr serán reemplazados por los nombres amistosos de Tautulli.",
273
+ "page": "Página",
274
+ "playbackReporting": "",
275
+ "playbackReportingDesc": "",
276
+ "pleaseEnterDetails": "Por favor ingrese la URL de Tautulli y la clave API",
277
+ "pleaseSelectJsonFile": "Por favor, seleccione un archivo JSON",
278
+ "plex": "",
279
+ "pluginFound": "",
280
+ "pluginNotInstalled": "",
281
+ "processed": "Procesados",
282
+ "recordsMayBeSkipped": "Los registros se pueden omitir si:",
283
+ "selectJellyfinServer": "Seleccione un servidor Jellyfin o Emby",
284
+ "selectPlexServer": "Seleccione un servidor Plex",
285
+ "selectTargetServer": "Seleccionar servidor de destino",
286
+ "serverTimezone": "",
287
+ "serverTimezoneHelp": "",
288
+ "skipDuplicate": "Sesión duplicada — La sesión ya se importó previamente.",
289
+ "skipDuplicatePlugin": "",
290
+ "skipInProgress": "Sesión en curso — Sesiones activas/incompletas sin un ID de referencia son omitidas.",
291
+ "skipOverlap": "",
292
+ "skipSyncHint": "Si se omiten muchos registros, asegúrese de haber sincronizado su servidor recientemente en Ajustes → Servidores.",
293
+ "skipUserNotFoundJellyfin": "Usuario no encontrado: El usuario Jellyfin/Emby no existe en Tracearr. Sincroniza tu servidor primero para añadir todos los usuarios.",
294
+ "skipUserNotFoundPlex": "Usuario no encontrado. El usuario de Plex no existe en Tracearr. Sincroniza tu servidor primero para añadir todos los usuarios.",
295
+ "skipped": "Omitidos",
296
+ "startImport": "Iniciar importación",
297
+ "startingImport": "Iniciando importación...",
298
+ "step1": "",
299
+ "step2": "",
300
+ "targetServer": "",
301
+ "tautulli": "Importar desde Tautulli",
302
+ "tautulliUrl": "URL de Tautulli",
303
+ "tautulliUrlHelp": "La URL de su instancia de Tautulli.",
304
+ "tautulliUrlPlaceholder": "",
305
+ "testing": "Comprobando...",
306
+ "testingConnection": "Probando conexión...",
307
+ "title": "Importar datos",
308
+ "updateExistingRecords": "Actualizar registros existentes con detalles de flujo",
309
+ "updateExistingRecordsHelp": "Los registros previamente importados se actualizarán con datos de calidad de las secuencias.",
310
+ "uploadJellystatBackup": "Subir Jellystat Backup",
311
+ "uploadingBackup": "Subiendo copia de seguridad..."
312
+ },
313
+ "ipWarning": {
314
+ "acknowledge": "Entendido",
315
+ "message": "Todos los usuarios parecen estar usando la misma dirección IP o IPs de red local. Esto puede afectar a las reglas basadas en ubicación o dirección IP."
316
+ },
317
+ "jobs": {
318
+ "backfill": "Retroceso",
319
+ "cleanup": "Limpieza",
320
+ "delayed": "retrasado",
321
+ "description": "",
322
+ "errors": "errores",
323
+ "jobHistory": "Historial de tareas",
324
+ "jobHistoryDesc": "Ejecuciones de tareas de mantenimiento recientes",
325
+ "lastJobCompleted": "Último trabajo completado con éxito",
326
+ "lastJobFailed": "Último trabajo fallido",
327
+ "mayTakeAWhile": "Esto puede tardar un poco",
328
+ "mayTakeAWhileDesc": "Este trabajo puede tardar varios minutos en completarse dependiendo del tamaño de su biblioteca.",
329
+ "normalization": "Normalización",
330
+ "processed": "procesados",
331
+ "queued": "en cola",
332
+ "runConfirm": "¿Ejecutar {{name}}?",
333
+ "runJob": "Ejecutar Job",
334
+ "running": "corriendo",
335
+ "runningState": "Ejecutando",
336
+ "startJob": "Iniciar trabajo",
337
+ "title": "Trabajos de Mantenimiento",
338
+ "unchanged": "sin cambios",
339
+ "updated": "actualizado",
340
+ "waiting": "Esperando"
341
+ },
342
+ "mobile": {
343
+ "addDevice": "Añadir dispositivo",
344
+ "connectedOn": "",
345
+ "copyToken": "Copiar token",
346
+ "deviceName": "Nombre del dispositivo",
347
+ "deviceNamePlaceholder": "ej. iPhone 15",
348
+ "devicesConnected": "{{current}} de {{max}} dispositivos conectados",
349
+ "disable": "Deshabilitar",
350
+ "disableMobileAccess": "Desactivar acceso móvil",
351
+ "disableMobileAccessConfirm": "Esto desconectará todos los dispositivos móviles y revocará todas las sesiones. Puede rehabilitar el acceso móvil más tarde.",
352
+ "done": "Hecho",
353
+ "downloadOnAppStore": "Descargar en la App Store",
354
+ "enableMobileAccess": "Activar acceso móvil",
355
+ "enabling": "Activando...",
356
+ "expiresIn": "Caduca en {{time}}",
357
+ "externalUrlBanner": "¿Utilizar un proxy inverso o acceder de forma remota? Establezca su",
358
+ "externalUrlBannerLink": "URL externa",
359
+ "externalUrlBannerSuffix": "para que la aplicación móvil pueda conectarse a tu servidor.",
360
+ "externalUrlRequired": "Una URL externa debe configurarse en la Configuración General para que funcione.",
361
+ "failedToGenerateToken": "Error al generar el token",
362
+ "generateToken": "Generar Token",
363
+ "getOnGooglePlay": "Consíguelo en Google Play",
364
+ "lastSeen": "",
365
+ "mobileAccessDisabled": "Acceso móvil deshabilitado",
366
+ "mobileAccessDisabledDesc": "Activa el acceso móvil para permitir que la aplicación móvil Tracearr se conecte a tu servidor.",
367
+ "noDevices": "No hay dispositivos vinculados",
368
+ "noDevicesDesc": "",
369
+ "oneTimePairToken": "Token de un par de tiempo",
370
+ "pairDevice": "Vincular dispositivo",
371
+ "pairNewDevice": "Emparejar dispositivo nuevo",
372
+ "pairNewDeviceDesc": "Escanea el código QR con la aplicación móvil Tracearr o introduce el token manualmente.",
373
+ "pendingTokens": "{{count}} tokens de par pendientes",
374
+ "removeDevice": "Eliminar dispositivo",
375
+ "removeDeviceConfirm": "¿Estás seguro de que quieres eliminar {{deviceName}}? Este dispositivo tendrá que emparejarse de nuevo para volver a conectar.",
376
+ "renameDevice": "Renombrar dispositivo",
377
+ "renameDeviceDesc": "Introduzca un nombre para identificar este dispositivo en la lista.",
378
+ "revokeAll": "Cerrar todas las sesiones",
379
+ "revokeAllConfirm": "Esto desconectará todos los dispositivos móviles. Tendrán que emparejar de nuevo para volver a conectar.",
380
+ "revokeAllSessions": "Revocar todo",
381
+ "scanQrCode": "Escanear código QR",
382
+ "title": "App Móvil",
383
+ "tokenExpires": "El token expira en {{time}}",
384
+ "tokenExpiryNote": "Este token expira en 5 minutos y solo puede ser usado una vez."
385
+ },
386
+ "nav": {
387
+ "descriptions": {
388
+ "api": "",
389
+ "appearance": "",
390
+ "backup": "",
391
+ "behavior": "",
392
+ "connections": "",
393
+ "destinations": "",
394
+ "email": "",
395
+ "guest": "",
396
+ "import": "",
397
+ "jobs": "",
398
+ "locale": "",
399
+ "mobile": "",
400
+ "newsletters": "",
401
+ "plexAccounts": "",
402
+ "posters": "",
403
+ "remote": ""
404
+ },
405
+ "groups": {
406
+ "access": "",
407
+ "data": "",
408
+ "general": "",
409
+ "notifications": "",
410
+ "servers": ""
411
+ },
412
+ "itemLabel": "",
413
+ "label": "",
414
+ "sections": {
415
+ "api": "",
416
+ "appearance": "",
417
+ "backup": "",
418
+ "behavior": "",
419
+ "connections": "",
420
+ "destinations": "",
421
+ "email": "",
422
+ "guest": "",
423
+ "import": "",
424
+ "jobs": "",
425
+ "locale": "",
426
+ "mobile": "",
427
+ "newsletters": "",
428
+ "plexAccounts": "",
429
+ "posters": "",
430
+ "remote": ""
431
+ },
432
+ "selectLabel": ""
433
+ },
434
+ "newsletters": {
435
+ "addEmailDestination": "",
436
+ "copyOf": "",
437
+ "counts": {
438
+ "albums_one": "",
439
+ "albums_other": "",
440
+ "movies_one": "",
441
+ "movies_other": "",
442
+ "shows_one": "",
443
+ "shows_other": "",
444
+ "watched_one": "",
445
+ "watched_other": ""
446
+ },
447
+ "deleteDescription": "",
448
+ "deleteTitle": "",
449
+ "duplicate": "",
450
+ "editor": {
451
+ "actions": {
452
+ "more": "",
453
+ "preview": "",
454
+ "send": "",
455
+ "sendHint": "",
456
+ "test": "",
457
+ "testHint": ""
458
+ },
459
+ "allLibraries": "",
460
+ "allServers": "",
461
+ "basics": "",
462
+ "clear": "",
463
+ "content": "",
464
+ "cron": "",
465
+ "cronHint": "",
466
+ "dayOfMonth": "",
467
+ "dayOfMonthHelp": "",
468
+ "dayOfWeek": "",
469
+ "days": "",
470
+ "delivery": {
471
+ "destination": "",
472
+ "destinationHelp": "",
473
+ "hostedNeedsUrl": "",
474
+ "imageMode": "",
475
+ "modeHelp": {
476
+ "hosted": "",
477
+ "inline": "",
478
+ "none": ""
479
+ },
480
+ "modePreviewHint": "",
481
+ "modes": {
482
+ "hosted": "",
483
+ "inline": "",
484
+ "none": ""
485
+ },
486
+ "noDestination": "",
487
+ "pickDestination": "",
488
+ "skipWhenEmpty": "",
489
+ "skipWhenEmptyHelp": "",
490
+ "title": ""
491
+ },
492
+ "dstNote": "",
493
+ "enabledHelp": "",
494
+ "fixFirst": "",
495
+ "headerSummary": "",
496
+ "historyNeedsSave": "",
497
+ "intro": "",
498
+ "introPlaceholder": "",
499
+ "kinds": {
500
+ "cron": "",
501
+ "daily": "",
502
+ "monthly": "",
503
+ "weekly": ""
504
+ },
505
+ "libraries": "",
506
+ "librariesHelp": "",
507
+ "librariesSelected": "",
508
+ "links": {
509
+ "tracearr": "",
510
+ "tracearrNote": ""
511
+ },
512
+ "message": "",
513
+ "name": "",
514
+ "nameHelp": "",
515
+ "newTitle": "",
516
+ "nextRun": "",
517
+ "nextRunPending": "",
518
+ "noLibraries": "",
519
+ "noServers": "",
520
+ "notFound": "",
521
+ "outro": "",
522
+ "outroPlaceholder": "",
523
+ "placeholders": {
524
+ "end_date": "",
525
+ "item_count": "",
526
+ "server_name": "",
527
+ "start_date": ""
528
+ },
529
+ "preview": {
530
+ "countsListed": {
531
+ "albums": "",
532
+ "movies": "",
533
+ "shows": ""
534
+ },
535
+ "draft": "",
536
+ "images": "",
537
+ "imagesBlocked": "",
538
+ "imagesBlockedNote": "",
539
+ "imagesOn": "",
540
+ "linksNote": "",
541
+ "recipients": "",
542
+ "subjectLabel": "",
543
+ "title": "",
544
+ "variantTab": "",
545
+ "variants": "",
546
+ "width": "",
547
+ "widths": {
548
+ "desktop": "",
549
+ "phone": ""
550
+ },
551
+ "window": "",
552
+ "windowSince": ""
553
+ },
554
+ "previewVariant_one": "",
555
+ "previewVariant_other": "",
556
+ "readiness": {
557
+ "destination": "",
558
+ "destinationError": "",
559
+ "destinationFail": "",
560
+ "destinationUnknown": "",
561
+ "dns": "",
562
+ "dnsLink": "",
563
+ "emptyVariant": "",
564
+ "externalUrl": "",
565
+ "externalUrlFail": "",
566
+ "externalUrlNotHttps": "",
567
+ "fixDestination": "",
568
+ "fixExternalUrl": "",
569
+ "fixRecipients": "",
570
+ "fromDomain": "",
571
+ "fromDomainFail": "",
572
+ "fromDomainUnknown": "",
573
+ "intro": "",
574
+ "noPublicUrl": "",
575
+ "privatePublicUrl": "",
576
+ "recipientsFail": "",
577
+ "recipientsLoadFailed": "",
578
+ "recipientsUnknown": "",
579
+ "recipients_one": "",
580
+ "recipients_other": "",
581
+ "serverSettingsLink": "",
582
+ "staleScope": "",
583
+ "title": "",
584
+ "variantsLoadFailed": ""
585
+ },
586
+ "recipients": {
587
+ "account": "",
588
+ "addAddress": "",
589
+ "addressLabel": "",
590
+ "badAddress": "",
591
+ "contactEmailFor": "",
592
+ "emptyDescription": "",
593
+ "emptyTitle": "",
594
+ "exclude": "",
595
+ "excludeAction": "",
596
+ "excludedAfterSave": "",
597
+ "excludedCount": "",
598
+ "excludedHelp": "",
599
+ "extraAddress": "",
600
+ "extraAddresses": "",
601
+ "extraAddressesHelp": "",
602
+ "groupsNote": "",
603
+ "include": "",
604
+ "includeAction": "",
605
+ "includedAfterSave": "",
606
+ "loadFailed": "",
607
+ "members": "",
608
+ "membersHelp": "",
609
+ "membersOff": "",
610
+ "membersOffSuppressed": "",
611
+ "nameLabel": "",
612
+ "namePlaceholder": "",
613
+ "noAddress": "",
614
+ "noAddressHelp": "",
615
+ "openUserPage": "",
616
+ "ownerNote": "",
617
+ "reasons": {
618
+ "banned": "",
619
+ "pending": ""
620
+ },
621
+ "removeAddress": "",
622
+ "saveEmail": "",
623
+ "saveFirst": "",
624
+ "saveFirstHelp": "",
625
+ "staleScope": "",
626
+ "suppressed": "",
627
+ "suppressedHeading": "",
628
+ "suppressedHelp": "",
629
+ "title": "",
630
+ "unknownMember": "",
631
+ "willReceive": ""
632
+ },
633
+ "removeLibrary": "",
634
+ "save": "",
635
+ "saving": "",
636
+ "schedule": "",
637
+ "scheduleKind": "",
638
+ "searchLibraries": "",
639
+ "searchServers": "",
640
+ "sections": {
641
+ "description": "",
642
+ "labels": {
643
+ "mostWatched": "",
644
+ "movies": "",
645
+ "music": "",
646
+ "seasons": "",
647
+ "shows": ""
648
+ },
649
+ "legend": "",
650
+ "mostWatched": "",
651
+ "mostWatchedHelp": "",
652
+ "movies": "",
653
+ "music": "",
654
+ "musicHelp": "",
655
+ "shows": "",
656
+ "the": "",
657
+ "units": {
658
+ "albums": "",
659
+ "mostPlayed": "",
660
+ "movies": "",
661
+ "seasonsEach": "",
662
+ "shows": ""
663
+ },
664
+ "upTo": ""
665
+ },
666
+ "send": {
667
+ "confirm": "",
668
+ "nobody": "",
669
+ "previewing": "",
670
+ "sending": "",
671
+ "summary": "",
672
+ "title": "",
673
+ "trimmed_one": "",
674
+ "trimmed_other": ""
675
+ },
676
+ "sendNeedsSave": "",
677
+ "senderName": "",
678
+ "senderNameHelp": "",
679
+ "senderNameRequiredMulti": "",
680
+ "servers": "",
681
+ "serversHelp": "",
682
+ "serversSelected": "",
683
+ "subject": "",
684
+ "subjectHelp": "",
685
+ "tabs": {
686
+ "edit": "",
687
+ "history": ""
688
+ },
689
+ "test": {
690
+ "address": "",
691
+ "description": "",
692
+ "send": "",
693
+ "title": "",
694
+ "variant": ""
695
+ },
696
+ "time": "",
697
+ "timezone": "",
698
+ "timezoneHelp": "",
699
+ "turnOnNow": "",
700
+ "unknownLibrary": "",
701
+ "unsaved": "",
702
+ "variantHeading": "",
703
+ "variantsNote": "",
704
+ "windowHelp": {
705
+ "fixed": "",
706
+ "since_last_send": ""
707
+ },
708
+ "windowKind": "",
709
+ "windowMax": "",
710
+ "windowSentence": {
711
+ "fallback": "",
712
+ "fallbackLabel": "",
713
+ "fixed": "",
714
+ "fixedAfter": "",
715
+ "fixedLabel": ""
716
+ },
717
+ "windows": {
718
+ "fixed": "",
719
+ "since_last_send": ""
720
+ }
721
+ },
722
+ "empty": "",
723
+ "emptyDescription": "",
724
+ "enabled": "",
725
+ "history": {
726
+ "attempts": "",
727
+ "empty": "",
728
+ "emptyDescription": "",
729
+ "finished": "",
730
+ "loadFailed": "",
731
+ "open": "",
732
+ "openSnapshot": "",
733
+ "openVariantSnapshot": "",
734
+ "page": "",
735
+ "pruned": "",
736
+ "recipients": "",
737
+ "recipientsEmpty": "",
738
+ "retryFailed": "",
739
+ "sendTitle": "",
740
+ "snapshotTitle": "",
741
+ "status": {
742
+ "failed": "",
743
+ "queued": "",
744
+ "sent": "",
745
+ "suppressed": "",
746
+ "unknown": ""
747
+ },
748
+ "trigger": {
749
+ "manual": "",
750
+ "schedule": "",
751
+ "test": ""
752
+ },
753
+ "unknownHelp": "",
754
+ "variant": "",
755
+ "variantEmpty": "",
756
+ "window": ""
757
+ },
758
+ "lastSend": "",
759
+ "neverSent": "",
760
+ "new": "",
761
+ "nextRun": "",
762
+ "noDestinationDescription": "",
763
+ "noDestinationHint": "",
764
+ "noDestinationTitle": "",
765
+ "noNextRun": "",
766
+ "outcome": {
767
+ "failed": "",
768
+ "partial": "",
769
+ "rendering": "",
770
+ "sending": "",
771
+ "sent": "",
772
+ "skipped_empty": ""
773
+ },
774
+ "ownerOnly": "",
775
+ "richText": {
776
+ "bold": "",
777
+ "bulletList": "",
778
+ "counter": "",
779
+ "italic": "",
780
+ "link": "",
781
+ "linkApply": "",
782
+ "linkHref": ""
783
+ },
784
+ "rowActions": "",
785
+ "schedule": {
786
+ "cron": "",
787
+ "daily": "",
788
+ "inZone": "",
789
+ "monthly": "",
790
+ "weekly": ""
791
+ },
792
+ "sendNow": ""
793
+ },
794
+ "plex": {
795
+ "chooseServer": "Elige qué Plex Media Server quieres monitorizar",
796
+ "selectServer": "Seleccionar Servidor",
797
+ "signInWithPlex": "Inicia sesión con Plex",
798
+ "signUpWithPlex": "Registrarse con Plex"
799
+ },
800
+ "serverHealth": {
801
+ "multipleUnreachable": "{{count}} servidores sin conexión: {{serverNames}}",
802
+ "unreachable": "{{serverName}} no está disponible"
803
+ },
804
+ "servers": {
805
+ "addServer": "Añadir servidor",
143
806
  "addServerDialogDescOther": "Conecte un servidor Jellyfin o Emby.",
807
+ "addServerDialogDescPlex": "Seleccione un servidor Plex de su cuenta vinculada.",
808
+ "added": "Añadido {{date}}",
809
+ "allFieldsRequired": "Todos los campos son obligatorios",
810
+ "allServersConnected": "Todos los servidores conectados",
811
+ "allServersConnectedDesc": "Todos los servidores de esta cuenta ya están conectados.",
812
+ "apiKeyHelp": "Encontrado en el panel de control de su servidor de medios bajo claves API o ajustes avanzados.",
813
+ "apiKeyHelpEmby": "Encontrar esto en Emby Server → API Keys",
814
+ "apiKeyHelpJellyfin": "Encontrar esto en Jellyfin Dashboard → API Keys",
815
+ "apiKeyPlaceholder": "Introduzca su clave API",
816
+ "checkingConnection": "",
817
+ "chooseAccount": "Seleccione una cuenta...",
818
+ "connectServer": "Conectar servidor",
819
+ "connecting": "Conectando...",
820
+ "connectionFailed": "Error de conexión",
821
+ "connectionSuccess": "Conexión establecida",
144
822
  "description": "Administra tus servidores de Plex, Jellyfin, y Emby conectados",
145
- "discoveringServers": "Descubriendo servidores Plex disponibles...",
146
823
  "discoveringConnections": "Descubriendo conexiones...",
824
+ "discoveringServers": "Descubriendo servidores Plex disponibles...",
825
+ "editServer": "Editar servidor",
826
+ "editServerDesc": "Actualizar el nombre del servidor o la URL de conexión.",
827
+ "loadingAccounts": "Cargando cuentas enlazadas de Plex...",
828
+ "noPlexAccountsLinked": "No hay cuentas Plex vinculadas",
829
+ "noPlexAccountsLinkedHint": "Vincula una cuenta de Plex de arriba, luego vuelve a añadir un servidor.",
830
+ "noServersConnected": "Sin servidores conectados",
831
+ "noServersConnectedHint": "Haga clic en \"Añadir servidor\" para conectar un servidor Jellyfin o Emby",
147
832
  "plexAccount": "Cuenta de Plex",
148
- "serverUrlHelpJellyfin": "La URL donde tu servidor Jellyfin es accesible",
149
- "serverUrlHelpEmby": "La URL donde tu servidor Emby es accesible",
150
- "apiKeyHelpJellyfin": "Encontrar esto en Jellyfin Dashboard → API Keys",
151
- "apiKeyHelpEmby": "Encontrar esto en Emby Server → API Keys",
152
833
  "plexServerPlaceholder": "Mi servidor Plex",
153
834
  "plexServerUrlPlaceholder": "",
154
- "updateHint": "O haga clic en Actualizar abajo para guardar sólo el cambio de nombre.",
155
- "added": "Añadido {{date}}",
156
- "realtimeActive": "",
157
- "pollingMode": "",
158
- "setupRealtime": "",
159
- "realtimeError": "",
160
- "checkingConnection": "",
161
- "pluginVersion": "",
162
835
  "pluginUpdateAvailable": "",
163
- "realtimeDialog": {
836
+ "pluginVersion": "",
837
+ "pollingMode": "",
838
+ "posterSource": {
839
+ "automatic": "",
840
+ "description": "",
841
+ "emptyHint": "",
842
+ "label": "",
843
+ "ownerOnly": "",
164
844
  "title": "",
165
- "updateTitle": "",
166
- "jellyfinDescription": "",
167
- "embyDescription": "",
168
- "jellyfinUpdateDescription": "",
169
- "embyUpdateDescription": "",
170
- "repositoryUrl": "",
171
- "copyUrl": "",
172
- "jellyfinRepoUrl": "",
173
- "embyReleasesUrl": "",
174
- "openReleases": "",
845
+ "titleDesc": ""
846
+ },
847
+ "publicUrl": "",
848
+ "publicUrlHint": "",
849
+ "realtimeActive": "",
850
+ "realtimeDialog": {
175
851
  "autoDetectNote": "",
176
852
  "close": "",
853
+ "copyUrl": "",
854
+ "embyDescription": "",
855
+ "embyReleasesUrl": "",
856
+ "embyUpdateDescription": "",
177
857
  "issueBlocked": "",
858
+ "issueMalfunctioned": "",
178
859
  "issueRestartRequired": "",
179
- "issueMalfunctioned": ""
180
- },
181
- "posterSource": {
860
+ "jellyfinDescription": "",
861
+ "jellyfinRepoUrl": "",
862
+ "jellyfinUpdateDescription": "",
863
+ "openReleases": "",
864
+ "repositoryUrl": "",
182
865
  "title": "",
183
- "titleDesc": "",
184
- "label": "",
185
- "description": "",
186
- "automatic": "",
187
- "emptyHint": ""
866
+ "updateTitle": ""
188
867
  },
868
+ "realtimeError": "",
869
+ "removeServer": "Eliminar servidor",
870
+ "removeServerConfirm": "¿Está seguro que desea eliminar este servidor? Se conservarán todos los datos de sesión asociados, pero no podrás supervisar las nuevas sesiones desde este servidor.",
871
+ "reorder": "",
872
+ "selectAccountHelp": "Seleccione desde qué cuenta de Plex descubrir los servidores.",
873
+ "selectPlexAccount": "Seleccionar cuenta de Plex",
874
+ "serverColor": "Color del servidor",
875
+ "serverColorDesc": "Utilizado para la atribución visual en la vista multi-servidor",
876
+ "serverName": "Nombre del servidor",
877
+ "serverNamePlaceholder": "Mi servidor multimedia",
878
+ "serverType": "Tipo de servidor",
879
+ "serverUrl": "URL del servidor",
880
+ "serverUrlHelp": "Directa la URL a tu servidor Jellyfin o Emby. Usa IP:port para mayor fiabilidad.",
881
+ "serverUrlHelpEmby": "La URL donde tu servidor Emby es accesible",
882
+ "serverUrlHelpJellyfin": "La URL donde tu servidor Jellyfin es accesible",
883
+ "serverUrlPlaceholder": "",
884
+ "setupRealtime": "",
885
+ "syncInterval": "Intervalo de sincronización",
886
+ "testConnection": "Probar conexión",
887
+ "title": "Servidores conectados",
888
+ "updateHint": "O haga clic en Actualizar abajo para guardar sólo el cambio de nombre.",
889
+ "updating": "Actualizando...",
189
890
  "version": {
190
891
  "installed": "",
191
892
  "upToDate": "",
192
893
  "updateAvailable": ""
193
894
  }
194
895
  },
195
- "mobile": {
196
- "title": "App Móvil",
197
- "pairDevice": "Vincular dispositivo",
198
- "connectedDevices": "Dispositivos vinculados",
199
- "generateToken": "Generar Token",
200
- "scanQrCode": "Escanear código QR",
201
- "tokenExpires": "El token expira en {{time}}",
202
- "noDevices": "No hay dispositivos vinculados",
203
- "revokeAll": "Cerrar todas las sesiones",
204
- "getTheApp": "Obtener la aplicación",
205
- "getTheAppDesc": "Descargar la aplicación móvil Tracearr para iOS o Android",
206
- "getOnGooglePlay": "Consíguelo en Google Play",
207
- "downloadOnAppStore": "Descargar en la App Store",
208
- "pairYourDevice": "Emparejar su dispositivo",
209
- "pairYourDeviceDesc": "",
210
- "externalUrlRequired": "Una URL externa debe configurarse en la Configuración General para que funcione.",
211
- "mobileAccessDisabled": "Acceso móvil deshabilitado",
212
- "mobileAccessDisabledDesc": "Activa el acceso móvil para permitir que la aplicación móvil Tracearr se conecte a tu servidor.",
213
- "enableMobileAccess": "Activar acceso móvil",
214
- "enabling": "Activando...",
215
- "devicesConnected": "{{current}} de {{max}} dispositivos conectados",
216
- "pendingTokens": "{{count}} tokens de par pendientes",
217
- "addDevice": "Añadir dispositivo",
218
- "disableMobileAccess": "Desactivar acceso móvil",
219
- "connectedDevicesDesc": "Dispositivos {{count}} emparejados con tu servidor",
220
- "revokeAllSessions": "Revocar todo",
221
- "pairNewDevice": "Emparejar dispositivo nuevo",
222
- "pairNewDeviceDesc": "Escanea el código QR con la aplicación móvil Tracearr o introduce el token manualmente.",
223
- "expiresIn": "Caduca en {{time}}",
224
- "oneTimePairToken": "Token de un par de tiempo",
225
- "copyToken": "Copiar token",
226
- "tokenExpiryNote": "Este token expira en 5 minutos y solo puede ser usado una vez.",
227
- "done": "Hecho",
228
- "disableMobileAccessConfirm": "Esto desconectará todos los dispositivos móviles y revocará todas las sesiones. Puede rehabilitar el acceso móvil más tarde.",
229
- "disable": "Deshabilitar",
230
- "revokeAllConfirm": "Esto desconectará todos los dispositivos móviles. Tendrán que emparejar de nuevo para volver a conectar.",
231
- "renameDevice": "Renombrar dispositivo",
232
- "renameDeviceDesc": "Introduzca un nombre para identificar este dispositivo en la lista.",
233
- "deviceName": "Nombre del dispositivo",
234
- "deviceNamePlaceholder": "ej. iPhone 15",
235
- "removeDevice": "Eliminar dispositivo",
236
- "failedToGenerateToken": "Error al generar el token",
237
- "removeDeviceConfirm": "¿Estás seguro de que quieres eliminar {{deviceName}}? Este dispositivo tendrá que emparejarse de nuevo para volver a conectar.",
238
- "externalUrlBanner": "¿Utilizar un proxy inverso o acceder de forma remota? Establezca su",
239
- "externalUrlBannerLink": "URL externa",
240
- "externalUrlBannerSuffix": "para que la aplicación móvil pueda conectarse a tu servidor."
896
+ "shared": {
897
+ "timezone": {
898
+ "empty": "",
899
+ "other": "",
900
+ "placeholder": "",
901
+ "search": ""
902
+ }
241
903
  },
242
904
  "tailscale": {
243
- "title": "",
244
- "description": "",
245
- "notAvailable": "Binario de Tailscale no encontrado. Esta función solo está disponible con la imagen Docker oficial.",
246
- "disabledDescription": "Activa Tailscale para añadir Tracearr a tu tailnet privada. Sin necesidad de abrir puertos ni configurar proxy inverso.",
247
- "hostnameLabel": "Nombre de host del dispositivo",
248
- "hostnameHint": "Nombre personalizado opcional para este dispositivo en tu tailnet. Solo letras, números y guiones.",
249
- "enable": "Activar Tailscale",
250
- "disable": "Desactivar Tailscale",
251
- "starting": "Iniciando Tailscale...",
252
- "stopping": "Deteniendo Tailscale...",
253
- "awaitingAuth": "Esperando autorización...",
254
905
  "authorize": "Autorizar en Tailscale",
906
+ "awaitingAuth": "Esperando autorización...",
255
907
  "connected": "Tailscale conectado. Tu instancia de Tracearr está disponible en la tailnet.",
256
- "hostname": "Nombre de host",
908
+ "description": "",
909
+ "disable": "Desactivar Tailscale",
910
+ "disableConfirmDescription": "Esto desconectará Tracearr de tu tailnet. Puedes volver a activarlo sin necesidad de re-autorizar.",
911
+ "disableConfirmTitle": "¿Desactivar Tailscale?",
912
+ "disabledDescription": "Activa Tailscale para añadir Tracearr a tu tailnet privada. Sin necesidad de abrir puertos ni configurar proxy inverso.",
257
913
  "dnsName": "Nombre DNS",
258
- "tailnetUrl": "",
259
- "showLogs": "Mostrar registros",
260
- "hideLogs": "Ocultar registros",
261
- "noLogs": "No hay registros disponibles.",
914
+ "enable": "Activar Tailscale",
262
915
  "exitNodeNone": "Ninguno",
263
916
  "exitNodeOffline": "(sin conexión)",
264
- "unknownError": "Se ha producido un error desconocido.",
265
- "disableConfirmTitle": "¿Desactivar Tailscale?",
266
- "disableConfirmDescription": "Esto desconectará Tracearr de tu tailnet. Puedes volver a activarlo sin necesidad de re-autorizar.",
267
- "resetConfirmTitle": "¿Restablecer Tailscale?",
917
+ "hideLogs": "Ocultar registros",
918
+ "hostname": "Nombre de host",
919
+ "hostnameHint": "Nombre personalizado opcional para este dispositivo en tu tailnet. Solo letras, números y guiones.",
920
+ "hostnameLabel": "Nombre de host del dispositivo",
921
+ "noLogs": "No hay registros disponibles.",
922
+ "notAvailable": "Binario de Tailscale no encontrado. Esta función solo está disponible con la imagen Docker oficial.",
268
923
  "resetConfirmDescription": "Esto desconectará Tracearr de tu tailnet y eliminará la identidad del dispositivo. Tendrás que reautorizar si vuelves a activarlo.",
924
+ "resetConfirmTitle": "¿Restablecer Tailscale?",
925
+ "showLogs": "Mostrar registros",
926
+ "starting": "Iniciando Tailscale...",
927
+ "stopping": "Deteniendo Tailscale...",
928
+ "tailnetUrl": "",
929
+ "title": "",
269
930
  "toast": {
931
+ "disableFailed": "Error al desactivar Tailscale",
270
932
  "disabled": "Tailscale desactivado.",
271
933
  "enableFailed": "Error al activar Tailscale",
272
- "disableFailed": "Error al desactivar Tailscale",
273
- "reset": "Tailscale restablecido.",
274
- "resetFailed": "Error al restablecer Tailscale",
934
+ "exitNodeFailed": "Error al configurar el nodo de salida",
275
935
  "exitNodeSet": "Nodo de salida actualizado.",
276
- "exitNodeFailed": "Error al configurar el nodo de salida"
277
- }
278
- },
279
- "jobs": {
280
- "title": "Trabajos de Mantenimiento",
281
- "description": "",
282
- "normalization": "Normalización",
283
- "backfill": "Retroceso",
284
- "cleanup": "Limpieza",
285
- "running": "corriendo",
286
- "queued": "en cola",
287
- "delayed": "retrasado",
288
- "waiting": "Esperando",
289
- "runningState": "Ejecutando",
290
- "runJob": "Ejecutar Job",
291
- "processed": "procesados",
292
- "updated": "actualizado",
293
- "unchanged": "sin cambios",
294
- "errors": "errores",
295
- "lastJobCompleted": "Último trabajo completado con éxito",
296
- "lastJobFailed": "Último trabajo fallido",
297
- "jobHistory": "Historial de tareas",
298
- "jobHistoryDesc": "Ejecuciones de tareas de mantenimiento recientes",
299
- "runConfirm": "¿Ejecutar {{name}}?",
300
- "mayTakeAWhile": "Esto puede tardar un poco",
301
- "mayTakeAWhileDesc": "Este trabajo puede tardar varios minutos en completarse dependiendo del tamaño de su biblioteca.",
302
- "startJob": "Iniciar trabajo"
303
- },
304
- "advanced": {
305
- "title": "Ajustes avanzados",
306
- "externalUrl": "URL externa",
307
- "trustProxy": "Confiar en cabeceras de proxy",
308
- "reverseProxy": "Proxy Inverso",
309
- "connectionScenarios": "Escenarios de conexión"
310
- },
311
- "accessControl": {
312
- "title": "Control de acceso",
313
- "description": "Configurar quién puede acceder a Tracearr",
314
- "allowGuestAccess": "Permitir acceso al invitado",
315
- "allowGuestAccessDesc": "",
316
- "singleOwnerNote": "Nota: Cuando el acceso invitado está deshabilitado, sólo el propietario del servidor puede iniciar sesión. Todos los demás usuarios verán un mensaje \"Acceso denegado\"."
317
- },
318
- "import": {
319
- "title": "Importar datos",
320
- "jellystat": "Importar desde Jellystat",
321
- "tautulli": "Importar desde Tautulli",
322
- "importProgress": "Progreso de la importación",
323
- "importComplete": "Importación completada",
324
- "importFailed": "Error al importar",
325
- "processed": "Procesados",
326
- "page": "Página",
327
- "imported": "Importados",
328
- "skipped": "Omitidos",
329
- "enriched": "Enriquecido",
330
- "errors": "Errores",
331
- "noServers": "No hay servidores conectados",
332
- "noServersHint": "Necesita al menos un servidor conectado para importar datos.",
333
- "tautulliUrl": "URL de Tautulli",
334
- "tautulliUrlPlaceholder": "",
335
- "tautulliUrlHelp": "La URL de su instancia de Tautulli.",
336
- "apiKeyHelp": "Encontrado en Configuración Tautulli → Interfaz Web → Clave API.",
337
- "testing": "Comprobando...",
338
- "connectToTautulli": "Conectar a Tautulli",
339
- "importHistory": "Importar Historial",
340
- "targetServer": "",
341
- "selectPlexServer": "Seleccione un servidor Plex",
342
- "overwriteFriendlyNames": "Sobrescribir nombres amigos existentes con nombres de Tautulli",
343
- "overwriteFriendlyNamesHelp": "Los nombres de identidad existentes en Tracearr serán reemplazados por los nombres amistosos de Tautulli.",
344
- "includeStreamDetails": "Incluye datos detallados de flujo (códecs, tasa de bits, resolución)",
345
- "includeStreamDetailsHelp": "Importa información adicional de flujos. Puede aumentar significativamente el tiempo de importación.",
346
- "importing": "Importando...",
347
- "startImport": "Iniciar importación",
348
- "howItWorks": "Cómo funciona la importación",
349
- "howItWorksDesc": "Tracearr importará todos los datos de reloj históricos de su fuente. Esto puede tomar un tiempo dependiendo del tamaño de su biblioteca.",
350
- "recordsMayBeSkipped": "Los registros se pueden omitir si:",
351
- "selectTargetServer": "Seleccionar servidor de destino",
352
- "selectJellyfinServer": "Seleccione un servidor Jellyfin o Emby",
353
- "uploadJellystatBackup": "Subir Jellystat Backup",
354
- "exportBackupHint": "Exportar una copia de seguridad de la actividad de Jellystat",
355
- "exportBackupHelp": "En Jellystat, vaya a Configuración → Copia de seguridad → Copia de seguridad de actividades para exportar sus datos.",
356
- "importOptions": "Importar opciones",
357
- "enrichMetadata": "Enriquecer con metadatos de medios (recomendado)",
358
- "enrichMetadataHelp": "Obtiene metadatos adicionales de su servidor de medios para sesiones importadas.",
359
- "updateExistingRecords": "Actualizar registros existentes con detalles de flujo",
360
- "updateExistingRecordsHelp": "Los registros previamente importados se actualizarán con datos de calidad de las secuencias.",
361
- "pleaseEnterDetails": "Por favor ingrese la URL de Tautulli y la clave API",
362
- "testingConnection": "Probando conexión...",
363
- "pleaseSelectJsonFile": "Por favor, seleccione un archivo JSON",
364
- "uploadingBackup": "Subiendo copia de seguridad...",
365
- "importHistoryDesc": "Importar datos de reloj históricos de fuentes externas",
366
- "plex": "",
367
- "jellyfinEmby": "",
368
- "step1": "",
369
- "step2": "",
370
- "apiKeyPlaceholder": "Tu clave API de Tautulli",
371
- "skipUserNotFoundPlex": "Usuario no encontrado. El usuario de Plex no existe en Tracearr. Sincroniza tu servidor primero para añadir todos los usuarios.",
372
- "skipDuplicate": "Sesión duplicada — La sesión ya se importó previamente.",
373
- "skipInProgress": "Sesión en curso — Sesiones activas/incompletas sin un ID de referencia son omitidas.",
374
- "skipUserNotFoundJellyfin": "Usuario no encontrado: El usuario Jellyfin/Emby no existe en Tracearr. Sincroniza tu servidor primero para añadir todos los usuarios.",
375
- "skipSyncHint": "Si se omiten muchos registros, asegúrese de haber sincronizado su servidor recientemente en Ajustes → Servidores.",
376
- "importInProgressPercent": "Importación en progreso ({{percent}}% completado)...",
377
- "importInProgressGeneric": "Importación en progreso...",
378
- "startingImport": "Iniciando importación...",
379
- "connectedFound": "¡Conectado! Encontrados usuarios {{users}} y registros de historial de {{records}}.",
380
- "playbackReporting": "",
381
- "playbackReportingDesc": "",
382
- "checkPlugin": "",
383
- "checkingPlugin": "",
384
- "pluginFound": "",
385
- "pluginNotInstalled": "",
386
- "serverTimezone": "",
387
- "serverTimezoneHelp": "",
388
- "importFullRange": "",
389
- "importFullRangeHelp": "",
390
- "overlapSkipped": "",
391
- "duplicates": "",
392
- "skipOverlap": "",
393
- "skipDuplicatePlugin": ""
394
- },
395
- "plex": {
396
- "signInWithPlex": "Inicia sesión con Plex",
397
- "signUpWithPlex": "Registrarse con Plex",
398
- "selectServer": "Seleccionar Servidor",
399
- "chooseServer": "Elige qué Plex Media Server quieres monitorizar"
400
- },
401
- "account": {
402
- "createAccount": "Crear cuenta",
403
- "email": "Correo electrónico",
404
- "password": "Contraseña",
405
- "displayName": "Nombre visible",
406
- "createYourAccount": "Crea tu cuenta para empezar",
407
- "signInToAccount": "Inicia sesión en tu cuenta",
408
- "useLocalAccount": "Usar cuenta local"
936
+ "reset": "Tailscale restablecido.",
937
+ "resetFailed": "Error al restablecer Tailscale"
938
+ },
939
+ "unknownError": "Se ha producido un error desconocido."
409
940
  },
941
+ "title": "Ajustes",
410
942
  "update": {
411
- "title": "Actualización disponible",
412
- "releaseNotes": "Notas de la versión",
413
- "updateCommand": "Comando de actualización",
414
- "pullInstructions": "Entendido.",
415
- "stableRelease": "Versión Estable",
416
943
  "betaUpdate": "Actualización beta",
417
944
  "newVersion": "Nueva versión",
945
+ "pullInstructions": "Entendido.",
946
+ "releaseNotes": "Notas de la versión",
947
+ "stableRelease": "Versión Estable",
948
+ "title": "Actualización disponible",
949
+ "updateCommand": "Comando de actualización",
418
950
  "versionAvailable": "{{version}} disponible"
419
- },
420
- "serverHealth": {
421
- "unreachable": "{{serverName}} no está disponible",
422
- "multipleUnreachable": "{{count}} servidores sin conexión: {{serverNames}}"
423
- },
424
- "ipWarning": {
425
- "message": "Todos los usuarios parecen estar usando la misma dirección IP o IPs de red local. Esto puede afectar a las reglas basadas en ubicación o dirección IP.",
426
- "acknowledge": "Entendido"
427
- },
428
- "backup": {
429
- "title": "Copia de seguridad",
430
- "backToBackups": "Volver a Copias de Seguridad",
431
- "description": "Copia de seguridad y restaura tus datos de Tracearr",
432
- "createBackup": "Crear copia de seguridad",
433
- "creating": "Creando copia de seguridad...",
434
- "uploadBackup": "Subir copia de seguridad",
435
- "uploading": "Subiendo...",
436
- "databaseSize": "Tamaño actual de la base de datos: {{size}}",
437
- "freeSpace": "Espacio libre del directorio de copia de seguridad: {{size}}",
438
- "lowDiskSpace": "Espacio en disco bajo: las copias de seguridad y las restauraciones requieren al menos el doble del tamaño de la base de datos en espacio libre.",
439
- "backupHistory": "Historial de copia de seguridad",
440
- "noBackups": "Aún no hay copias de seguridad. Crea tu primera copia de seguridad.",
441
- "filename": "Nombre de Archivo",
442
- "size": "Tamaño",
443
- "date": "Fecha",
444
- "type": "Tipo",
445
- "version": "Versión",
446
- "actions": "Acciones",
447
- "typeManual": "",
448
- "typeScheduled": "Planificado",
449
- "typeUploaded": "Cargado",
450
- "restoreAction": "Restaurar",
451
- "deleteConfirmTitle": "Eliminar copia de seguridad",
452
- "deleteConfirmDescription": "¿Está seguro que desea eliminar esta copia de seguridad? Esta acción no se puede deshacer.",
453
- "schedule": "Copias de seguridad programadas",
454
- "scheduleType": "Planificado",
455
- "scheduleDisabled": "Deshabilitado",
456
- "scheduleDaily": "Diario",
457
- "scheduleWeekly": "Semanal",
458
- "scheduleMonthly": "Mensual",
459
- "scheduleTime": "Hora ({{timezone}})",
460
- "scheduleDayOfWeek": "Día de la semana",
461
- "scheduleDayOfMonth": "Día del mes",
462
- "scheduleDayOfMonthHint": "En meses con menos días, la copia de seguridad se ejecuta el último día.",
463
- "retentionCount": "Mantener Última",
464
- "retentionSuffix": "copia de seguridad planificadas",
465
- "daySun": "Domingo",
466
- "dayMon": "Lunes",
467
- "dayTue": "Martes",
468
- "dayWed": "Miércoles",
469
- "dayThu": "Jueves",
470
- "dayFri": "Viernes",
471
- "daySat": "Sábado",
472
- "restore": {
473
- "title": "Restaurar copia de seguridad",
474
- "selectedBackup": "Backup seleccionado",
475
- "databaseSize": "Tamaño de la Base de Datos",
476
- "sessions": "Sesiones",
477
- "users": "Usuarios",
478
- "servers": "Servidores",
479
- "automations": "",
480
- "libraryItems": "Elemento de biblioteca",
481
- "tables": "Tablas",
482
- "warning": "Restaurar reemplazará todos los datos existentes. Necesitará volver a iniciar sesión después de que la restauración se complete.",
483
- "confirmLabel": "Entiendo que esto reemplazará a todos los datos",
484
- "confirm": "Iniciar restauración",
485
- "complete": "Restauración completada con éxito. La página se actualizará pronto.",
486
- "failed": "Restauración fallida",
487
- "cannotRestore": "La restauración requiere privilegios de superusuario de PostgreSQL. Por favor, asegúrese de que el usuario de la base de datos tiene privilegios de superusuario e inténtelo de nuevo.",
488
- "pgVersionMismatch": "La copia de seguridad fue creada en PostgreSQL {{backupVersion}}, pero este servidor ejecuta PostgreSQL {{serverVersion}}. Restaurar un volcado desde una versión más reciente de PostgreSQL no es compatible.",
489
- "tsVersionMismatch": "La copia de seguridad se creó con TimescaleDB {{backupVersion}}, pero este servidor sólo soporta TimescaleDB {{serverVersion}}."
490
- },
491
- "toast": {
492
- "backupCreated": "Copia de seguridad creada con éxito",
493
- "backupCreateFailed": "Error al crear copia de seguridad",
494
- "backupUploaded": "Copia de seguridad creada con éxito",
495
- "backupUploadFailed": "Error al subir la copia de seguridad",
496
- "backupDeleted": "Copia de seguridad eliminada",
497
- "backupDeleteFailed": "Error al eliminar copia de seguridad",
498
- "restoreStarted": "Iniciando restauración",
499
- "restoreStartFailed": "Error al iniciar la restauración",
500
- "scheduleSaved": "Programa de copia de seguridad guardado",
501
- "scheduleError": "Error al guardar el programa de copia de seguridad"
502
- }
503
951
  }
504
952
  }