ysk-server-shared 1.1.0 → 1.1.9

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 (406) hide show
  1. package/dist/cdn.d.ts +2 -0
  2. package/dist/cdn.d.ts.map +1 -1
  3. package/dist/dto.d.ts +1 -1
  4. package/dist/dto.d.ts.map +1 -1
  5. package/dist/ftp.d.ts +6 -0
  6. package/dist/ftp.d.ts.map +1 -1
  7. package/dist/migrate.d.ts +1 -0
  8. package/dist/migrate.d.ts.map +1 -1
  9. package/dist/route-capabilities.d.ts.map +1 -1
  10. package/dist/route-capabilities.js +10 -0
  11. package/dist/route-capabilities.js.map +1 -1
  12. package/dist/validators.d.ts +39 -2
  13. package/dist/validators.d.ts.map +1 -1
  14. package/dist/validators.js +12 -0
  15. package/dist/validators.js.map +1 -1
  16. package/locales/ar/agents.json +7 -2
  17. package/locales/ar/apache.json +3 -1
  18. package/locales/ar/backups.json +17 -1
  19. package/locales/ar/btTracker.json +4 -1
  20. package/locales/ar/cdn.json +3 -1
  21. package/locales/ar/common.json +2 -1
  22. package/locales/ar/cron.json +4 -1
  23. package/locales/ar/dashboard.json +4 -2
  24. package/locales/ar/db.json +18 -1
  25. package/locales/ar/dns.json +5 -1
  26. package/locales/ar/docker.json +2 -1
  27. package/locales/ar/email.json +4 -1
  28. package/locales/ar/files.json +2 -1
  29. package/locales/ar/ftp.json +17 -1
  30. package/locales/ar/hostBrowse.json +3 -1
  31. package/locales/ar/migrate.json +14 -1
  32. package/locales/ar/network.json +3 -1
  33. package/locales/ar/nginx.json +4 -1
  34. package/locales/ar/notes.json +42 -6
  35. package/locales/ar/projects.json +2 -1
  36. package/locales/ar/protection.json +3 -1
  37. package/locales/ar/publicFiles.json +5 -1
  38. package/locales/ar/redis.json +6 -1
  39. package/locales/ar/security.json +3 -1
  40. package/locales/ar/services.json +9 -1
  41. package/locales/ar/system.json +7 -2
  42. package/locales/ar/translation.json +267 -41
  43. package/locales/ar/updates.json +2 -1
  44. package/locales/ar/validators.json +64 -5
  45. package/locales/ar/vnc.json +8 -1
  46. package/locales/bn/agents.json +7 -2
  47. package/locales/bn/apache.json +3 -1
  48. package/locales/bn/backups.json +17 -1
  49. package/locales/bn/btTracker.json +4 -1
  50. package/locales/bn/cdn.json +3 -1
  51. package/locales/bn/common.json +2 -1
  52. package/locales/bn/cron.json +4 -1
  53. package/locales/bn/dashboard.json +4 -2
  54. package/locales/bn/db.json +18 -1
  55. package/locales/bn/dns.json +5 -1
  56. package/locales/bn/docker.json +2 -1
  57. package/locales/bn/email.json +4 -1
  58. package/locales/bn/files.json +2 -1
  59. package/locales/bn/ftp.json +17 -1
  60. package/locales/bn/hostBrowse.json +3 -1
  61. package/locales/bn/migrate.json +14 -1
  62. package/locales/bn/network.json +3 -1
  63. package/locales/bn/nginx.json +4 -1
  64. package/locales/bn/notes.json +42 -6
  65. package/locales/bn/projects.json +2 -1
  66. package/locales/bn/protection.json +3 -1
  67. package/locales/bn/publicFiles.json +5 -1
  68. package/locales/bn/redis.json +6 -1
  69. package/locales/bn/security.json +3 -1
  70. package/locales/bn/services.json +9 -1
  71. package/locales/bn/system.json +7 -2
  72. package/locales/bn/translation.json +267 -41
  73. package/locales/bn/updates.json +2 -1
  74. package/locales/bn/validators.json +64 -5
  75. package/locales/bn/vnc.json +8 -1
  76. package/locales/en/agents.json +5 -0
  77. package/locales/en/apache.json +2 -0
  78. package/locales/en/backups.json +18 -2
  79. package/locales/en/btTracker.json +5 -2
  80. package/locales/en/cdn.json +3 -1
  81. package/locales/en/common.json +1 -0
  82. package/locales/en/cron.json +3 -0
  83. package/locales/en/dashboard.json +3 -1
  84. package/locales/en/db.json +17 -0
  85. package/locales/en/dns.json +4 -0
  86. package/locales/en/docker.json +1 -0
  87. package/locales/en/email.json +3 -0
  88. package/locales/en/files.json +1 -0
  89. package/locales/en/ftp.json +16 -0
  90. package/locales/en/hostBrowse.json +2 -0
  91. package/locales/en/migrate.json +14 -1
  92. package/locales/en/network.json +2 -0
  93. package/locales/en/nginx.json +4 -1
  94. package/locales/en/notes.json +45 -6
  95. package/locales/en/projects.json +1 -0
  96. package/locales/en/protection.json +2 -0
  97. package/locales/en/publicFiles.json +5 -1
  98. package/locales/en/redis.json +5 -0
  99. package/locales/en/security.json +2 -0
  100. package/locales/en/services.json +8 -0
  101. package/locales/en/system.json +7 -2
  102. package/locales/en/translation.json +252 -26
  103. package/locales/en/updates.json +1 -0
  104. package/locales/en/validators.json +65 -6
  105. package/locales/en/vnc.json +7 -0
  106. package/locales/es/agents.json +7 -2
  107. package/locales/es/apache.json +3 -1
  108. package/locales/es/backups.json +17 -1
  109. package/locales/es/btTracker.json +4 -1
  110. package/locales/es/cdn.json +3 -1
  111. package/locales/es/common.json +2 -1
  112. package/locales/es/cron.json +4 -1
  113. package/locales/es/dashboard.json +4 -2
  114. package/locales/es/db.json +18 -1
  115. package/locales/es/dns.json +5 -1
  116. package/locales/es/docker.json +2 -1
  117. package/locales/es/email.json +4 -1
  118. package/locales/es/files.json +2 -1
  119. package/locales/es/ftp.json +17 -1
  120. package/locales/es/hostBrowse.json +3 -1
  121. package/locales/es/migrate.json +14 -1
  122. package/locales/es/network.json +3 -1
  123. package/locales/es/nginx.json +4 -1
  124. package/locales/es/notes.json +42 -6
  125. package/locales/es/projects.json +2 -1
  126. package/locales/es/protection.json +3 -1
  127. package/locales/es/publicFiles.json +5 -1
  128. package/locales/es/redis.json +6 -1
  129. package/locales/es/security.json +3 -1
  130. package/locales/es/services.json +9 -1
  131. package/locales/es/system.json +7 -2
  132. package/locales/es/translation.json +267 -41
  133. package/locales/es/updates.json +2 -1
  134. package/locales/es/validators.json +64 -5
  135. package/locales/es/vnc.json +8 -1
  136. package/locales/fr/agents.json +7 -2
  137. package/locales/fr/apache.json +3 -1
  138. package/locales/fr/backups.json +17 -1
  139. package/locales/fr/btTracker.json +4 -1
  140. package/locales/fr/cdn.json +3 -1
  141. package/locales/fr/common.json +2 -1
  142. package/locales/fr/cron.json +4 -1
  143. package/locales/fr/dashboard.json +4 -2
  144. package/locales/fr/db.json +18 -1
  145. package/locales/fr/dns.json +5 -1
  146. package/locales/fr/docker.json +2 -1
  147. package/locales/fr/email.json +4 -1
  148. package/locales/fr/files.json +2 -1
  149. package/locales/fr/ftp.json +17 -1
  150. package/locales/fr/hostBrowse.json +3 -1
  151. package/locales/fr/migrate.json +14 -1
  152. package/locales/fr/network.json +3 -1
  153. package/locales/fr/nginx.json +4 -1
  154. package/locales/fr/notes.json +42 -6
  155. package/locales/fr/projects.json +2 -1
  156. package/locales/fr/protection.json +3 -1
  157. package/locales/fr/publicFiles.json +5 -1
  158. package/locales/fr/redis.json +6 -1
  159. package/locales/fr/security.json +3 -1
  160. package/locales/fr/services.json +9 -1
  161. package/locales/fr/system.json +7 -2
  162. package/locales/fr/translation.json +267 -41
  163. package/locales/fr/updates.json +2 -1
  164. package/locales/fr/validators.json +64 -5
  165. package/locales/fr/vnc.json +8 -1
  166. package/locales/hi/agents.json +7 -2
  167. package/locales/hi/apache.json +3 -1
  168. package/locales/hi/backups.json +17 -1
  169. package/locales/hi/btTracker.json +4 -1
  170. package/locales/hi/cdn.json +3 -1
  171. package/locales/hi/common.json +2 -1
  172. package/locales/hi/cron.json +4 -1
  173. package/locales/hi/dashboard.json +4 -2
  174. package/locales/hi/db.json +18 -1
  175. package/locales/hi/dns.json +5 -1
  176. package/locales/hi/docker.json +2 -1
  177. package/locales/hi/email.json +4 -1
  178. package/locales/hi/files.json +2 -1
  179. package/locales/hi/ftp.json +17 -1
  180. package/locales/hi/hostBrowse.json +3 -1
  181. package/locales/hi/migrate.json +14 -1
  182. package/locales/hi/network.json +3 -1
  183. package/locales/hi/nginx.json +4 -1
  184. package/locales/hi/notes.json +42 -6
  185. package/locales/hi/projects.json +2 -1
  186. package/locales/hi/protection.json +3 -1
  187. package/locales/hi/publicFiles.json +5 -1
  188. package/locales/hi/redis.json +6 -1
  189. package/locales/hi/security.json +3 -1
  190. package/locales/hi/services.json +9 -1
  191. package/locales/hi/system.json +7 -2
  192. package/locales/hi/translation.json +267 -41
  193. package/locales/hi/updates.json +2 -1
  194. package/locales/hi/validators.json +64 -5
  195. package/locales/hi/vnc.json +8 -1
  196. package/locales/id/agents.json +7 -2
  197. package/locales/id/apache.json +3 -1
  198. package/locales/id/backups.json +17 -1
  199. package/locales/id/btTracker.json +4 -1
  200. package/locales/id/cdn.json +3 -1
  201. package/locales/id/common.json +2 -1
  202. package/locales/id/cron.json +4 -1
  203. package/locales/id/dashboard.json +4 -2
  204. package/locales/id/db.json +18 -1
  205. package/locales/id/dns.json +5 -1
  206. package/locales/id/docker.json +2 -1
  207. package/locales/id/email.json +4 -1
  208. package/locales/id/files.json +2 -1
  209. package/locales/id/ftp.json +17 -1
  210. package/locales/id/hostBrowse.json +3 -1
  211. package/locales/id/migrate.json +14 -1
  212. package/locales/id/network.json +3 -1
  213. package/locales/id/nginx.json +4 -1
  214. package/locales/id/notes.json +42 -6
  215. package/locales/id/projects.json +2 -1
  216. package/locales/id/protection.json +3 -1
  217. package/locales/id/publicFiles.json +5 -1
  218. package/locales/id/redis.json +6 -1
  219. package/locales/id/security.json +3 -1
  220. package/locales/id/services.json +9 -1
  221. package/locales/id/system.json +7 -2
  222. package/locales/id/translation.json +267 -41
  223. package/locales/id/updates.json +2 -1
  224. package/locales/id/validators.json +64 -5
  225. package/locales/id/vnc.json +8 -1
  226. package/locales/ja/agents.json +7 -2
  227. package/locales/ja/apache.json +3 -1
  228. package/locales/ja/backups.json +17 -1
  229. package/locales/ja/btTracker.json +4 -1
  230. package/locales/ja/cdn.json +3 -1
  231. package/locales/ja/common.json +2 -1
  232. package/locales/ja/cron.json +4 -1
  233. package/locales/ja/dashboard.json +4 -2
  234. package/locales/ja/db.json +18 -1
  235. package/locales/ja/dns.json +5 -1
  236. package/locales/ja/docker.json +2 -1
  237. package/locales/ja/email.json +4 -1
  238. package/locales/ja/files.json +2 -1
  239. package/locales/ja/ftp.json +17 -1
  240. package/locales/ja/hostBrowse.json +3 -1
  241. package/locales/ja/migrate.json +14 -1
  242. package/locales/ja/network.json +3 -1
  243. package/locales/ja/nginx.json +4 -1
  244. package/locales/ja/notes.json +42 -6
  245. package/locales/ja/projects.json +2 -1
  246. package/locales/ja/protection.json +3 -1
  247. package/locales/ja/publicFiles.json +5 -1
  248. package/locales/ja/redis.json +6 -1
  249. package/locales/ja/security.json +3 -1
  250. package/locales/ja/services.json +9 -1
  251. package/locales/ja/system.json +7 -2
  252. package/locales/ja/translation.json +267 -41
  253. package/locales/ja/updates.json +2 -1
  254. package/locales/ja/validators.json +64 -5
  255. package/locales/ja/vnc.json +8 -1
  256. package/locales/ko/agents.json +7 -2
  257. package/locales/ko/apache.json +3 -1
  258. package/locales/ko/backups.json +17 -1
  259. package/locales/ko/btTracker.json +4 -1
  260. package/locales/ko/cdn.json +3 -1
  261. package/locales/ko/common.json +2 -1
  262. package/locales/ko/cron.json +4 -1
  263. package/locales/ko/dashboard.json +4 -2
  264. package/locales/ko/db.json +18 -1
  265. package/locales/ko/dns.json +5 -1
  266. package/locales/ko/docker.json +2 -1
  267. package/locales/ko/email.json +4 -1
  268. package/locales/ko/files.json +2 -1
  269. package/locales/ko/ftp.json +17 -1
  270. package/locales/ko/hostBrowse.json +3 -1
  271. package/locales/ko/migrate.json +14 -1
  272. package/locales/ko/network.json +3 -1
  273. package/locales/ko/nginx.json +4 -1
  274. package/locales/ko/notes.json +42 -6
  275. package/locales/ko/projects.json +2 -1
  276. package/locales/ko/protection.json +3 -1
  277. package/locales/ko/publicFiles.json +5 -1
  278. package/locales/ko/redis.json +6 -1
  279. package/locales/ko/security.json +3 -1
  280. package/locales/ko/services.json +9 -1
  281. package/locales/ko/system.json +7 -2
  282. package/locales/ko/translation.json +267 -41
  283. package/locales/ko/updates.json +2 -1
  284. package/locales/ko/validators.json +64 -5
  285. package/locales/ko/vnc.json +8 -1
  286. package/locales/pt/agents.json +7 -2
  287. package/locales/pt/apache.json +3 -1
  288. package/locales/pt/backups.json +17 -1
  289. package/locales/pt/btTracker.json +4 -1
  290. package/locales/pt/cdn.json +3 -1
  291. package/locales/pt/common.json +2 -1
  292. package/locales/pt/cron.json +4 -1
  293. package/locales/pt/dashboard.json +4 -2
  294. package/locales/pt/db.json +18 -1
  295. package/locales/pt/dns.json +5 -1
  296. package/locales/pt/docker.json +2 -1
  297. package/locales/pt/email.json +4 -1
  298. package/locales/pt/files.json +2 -1
  299. package/locales/pt/ftp.json +17 -1
  300. package/locales/pt/hostBrowse.json +3 -1
  301. package/locales/pt/migrate.json +14 -1
  302. package/locales/pt/network.json +3 -1
  303. package/locales/pt/nginx.json +4 -1
  304. package/locales/pt/notes.json +42 -6
  305. package/locales/pt/projects.json +2 -1
  306. package/locales/pt/protection.json +3 -1
  307. package/locales/pt/publicFiles.json +5 -1
  308. package/locales/pt/redis.json +6 -1
  309. package/locales/pt/security.json +3 -1
  310. package/locales/pt/services.json +9 -1
  311. package/locales/pt/system.json +7 -2
  312. package/locales/pt/translation.json +267 -41
  313. package/locales/pt/updates.json +2 -1
  314. package/locales/pt/validators.json +64 -5
  315. package/locales/pt/vnc.json +8 -1
  316. package/locales/ur/agents.json +7 -2
  317. package/locales/ur/apache.json +3 -1
  318. package/locales/ur/backups.json +17 -1
  319. package/locales/ur/btTracker.json +4 -1
  320. package/locales/ur/cdn.json +3 -1
  321. package/locales/ur/common.json +2 -1
  322. package/locales/ur/cron.json +4 -1
  323. package/locales/ur/dashboard.json +4 -2
  324. package/locales/ur/db.json +18 -1
  325. package/locales/ur/dns.json +5 -1
  326. package/locales/ur/docker.json +2 -1
  327. package/locales/ur/email.json +4 -1
  328. package/locales/ur/files.json +2 -1
  329. package/locales/ur/ftp.json +17 -1
  330. package/locales/ur/hostBrowse.json +3 -1
  331. package/locales/ur/migrate.json +14 -1
  332. package/locales/ur/network.json +3 -1
  333. package/locales/ur/nginx.json +4 -1
  334. package/locales/ur/notes.json +42 -6
  335. package/locales/ur/projects.json +2 -1
  336. package/locales/ur/protection.json +3 -1
  337. package/locales/ur/publicFiles.json +5 -1
  338. package/locales/ur/redis.json +6 -1
  339. package/locales/ur/security.json +3 -1
  340. package/locales/ur/services.json +9 -1
  341. package/locales/ur/system.json +7 -2
  342. package/locales/ur/translation.json +267 -41
  343. package/locales/ur/updates.json +2 -1
  344. package/locales/ur/validators.json +64 -5
  345. package/locales/ur/vnc.json +8 -1
  346. package/locales/zh-CN/agents.json +7 -2
  347. package/locales/zh-CN/apache.json +3 -1
  348. package/locales/zh-CN/backups.json +17 -1
  349. package/locales/zh-CN/btTracker.json +4 -1
  350. package/locales/zh-CN/cdn.json +3 -1
  351. package/locales/zh-CN/common.json +2 -1
  352. package/locales/zh-CN/cron.json +4 -1
  353. package/locales/zh-CN/dashboard.json +4 -2
  354. package/locales/zh-CN/db.json +18 -1
  355. package/locales/zh-CN/dns.json +5 -1
  356. package/locales/zh-CN/docker.json +2 -1
  357. package/locales/zh-CN/email.json +4 -1
  358. package/locales/zh-CN/files.json +2 -1
  359. package/locales/zh-CN/ftp.json +17 -1
  360. package/locales/zh-CN/hostBrowse.json +3 -1
  361. package/locales/zh-CN/migrate.json +14 -1
  362. package/locales/zh-CN/network.json +3 -1
  363. package/locales/zh-CN/nginx.json +4 -1
  364. package/locales/zh-CN/notes.json +42 -6
  365. package/locales/zh-CN/projects.json +2 -1
  366. package/locales/zh-CN/protection.json +3 -1
  367. package/locales/zh-CN/publicFiles.json +5 -1
  368. package/locales/zh-CN/redis.json +6 -1
  369. package/locales/zh-CN/security.json +3 -1
  370. package/locales/zh-CN/services.json +9 -1
  371. package/locales/zh-CN/system.json +7 -2
  372. package/locales/zh-CN/translation.json +267 -41
  373. package/locales/zh-CN/updates.json +2 -1
  374. package/locales/zh-CN/validators.json +64 -5
  375. package/locales/zh-CN/vnc.json +8 -1
  376. package/locales/zh-HK/agents.json +5 -0
  377. package/locales/zh-HK/apache.json +2 -0
  378. package/locales/zh-HK/backups.json +18 -2
  379. package/locales/zh-HK/btTracker.json +5 -2
  380. package/locales/zh-HK/cdn.json +3 -1
  381. package/locales/zh-HK/common.json +1 -0
  382. package/locales/zh-HK/cron.json +3 -0
  383. package/locales/zh-HK/dashboard.json +3 -1
  384. package/locales/zh-HK/db.json +17 -0
  385. package/locales/zh-HK/dns.json +4 -0
  386. package/locales/zh-HK/docker.json +1 -0
  387. package/locales/zh-HK/email.json +3 -0
  388. package/locales/zh-HK/files.json +1 -0
  389. package/locales/zh-HK/ftp.json +16 -0
  390. package/locales/zh-HK/hostBrowse.json +2 -0
  391. package/locales/zh-HK/migrate.json +14 -1
  392. package/locales/zh-HK/network.json +2 -0
  393. package/locales/zh-HK/nginx.json +4 -1
  394. package/locales/zh-HK/notes.json +45 -9
  395. package/locales/zh-HK/projects.json +1 -0
  396. package/locales/zh-HK/protection.json +2 -0
  397. package/locales/zh-HK/publicFiles.json +5 -1
  398. package/locales/zh-HK/redis.json +5 -0
  399. package/locales/zh-HK/security.json +2 -0
  400. package/locales/zh-HK/services.json +8 -0
  401. package/locales/zh-HK/system.json +7 -2
  402. package/locales/zh-HK/translation.json +252 -26
  403. package/locales/zh-HK/updates.json +1 -0
  404. package/locales/zh-HK/validators.json +65 -6
  405. package/locales/zh-HK/vnc.json +7 -0
  406. package/package.json +8 -9
@@ -13,6 +13,7 @@
13
13
  "hourAgo": "{{n}}h ago",
14
14
  "highRiskN": "{{count}} high-risk",
15
15
  "panelUpdate": "Panel update available",
16
+ "footerNewVersion": "New version {{version}}",
16
17
  "riskOk": "Risk manageable",
17
18
  "riskUnevaluated": "Not evaluated — run Scan + OSV",
18
19
  "pendingScan": "Awaiting scan",
@@ -5,6 +5,7 @@
5
5
  "tab": {
6
6
  "nodes": "Nodes",
7
7
  "disk": "Disk",
8
+ "stack": "Software",
8
9
  "about": "About"
9
10
  },
10
11
  "empty": {
@@ -12,18 +13,46 @@
12
13
  "desc": "Create a testnet node in a few clicks."
13
14
  },
14
15
  "refresh": "Refresh",
16
+ "software": {
17
+ "engine": "Docker Engine",
18
+ "engineDesc": "Validator nodes run as Compose projects. Install Docker here if it is missing. Image prune stays on the Docker page.",
19
+ "client": "Client",
20
+ "image": "Image",
21
+ "present": "Local",
22
+ "local": "Pulled",
23
+ "missing": "Not pulled",
24
+ "size": "Size",
25
+ "usedBy": "Used by",
26
+ "unused": "No instance",
27
+ "pull": "Pull",
28
+ "pulling": "Pull {{ref}}",
29
+ "empty": "No pinned client images",
30
+ "emptyDesc": "The catalog is empty. This should not happen.",
31
+ "daemonDown": "Docker Engine is not running"
32
+ },
15
33
  "disk": {
16
34
  "title": "Validator disk",
17
35
  "root": "Data directory",
18
36
  "free": "Free",
19
- "used": "Used",
37
+ "used": "Validator data",
38
+ "fsUsed": "Filesystem used",
39
+ "leftoverTitle": "Leftover data ({{count}})",
40
+ "leftoverEmpty": "No leftover instance directories",
41
+ "leftoverDesc": "Directories under the validators root that are not a store instance. Remove only after you confirm they are unused.",
42
+ "leftoverRemove": "Remove",
43
+ "leftoverRemoveTitle": "Delete leftover validator data?",
44
+ "leftoverRemoveDesc": "Permanently delete {{path}} from disk. This is not a listed node.",
45
+ "browseRoot": "Open in file browser",
20
46
  "none": "No instance data yet",
21
47
  "warn": "Disk usage is high (70%+)",
22
48
  "danger": "Disk usage is critical (85%+)",
23
49
  "autoClear": "Auto-clear the largest stopped instance when disk is critical (off by default)",
24
50
  "autoClearRisk": "Destructive: the largest stopped instance is deleted without a further prompt. Default is off. Check audit / logs after it fires.",
25
51
  "autoClearConfirmTitle": "Enable auto-clear?",
26
- "autoClearC1": "When disk is critical, the largest stopped instance is deleted without asking again."
52
+ "autoClearC1": "When disk is critical, the largest stopped instance is deleted without asking again.",
53
+ "autoClearThreshold": "Trigger: filesystem use at or above 85%.",
54
+ "autoClearCandidate": "Current candidate: {{id}}",
55
+ "autoClearNone": "No stopped instance is a candidate right now."
27
56
  },
28
57
  "chain": {
29
58
  "eth": "Ethereum",
@@ -58,6 +87,14 @@
58
87
  "validator-ready": "Validator-ready",
59
88
  "rpc": "RPC"
60
89
  },
90
+ "profileHelp": {
91
+ "title": "Profiles",
92
+ "desc": "The four choices on wizard step 3 are mainly disk budget and role. Each chain shows its recommended size in the wizard. The panel never holds staking keys.",
93
+ "minimal": "Smallest disk. Use for testnets or a first install. Not a full history, and not for a live staking validator.",
94
+ "pruned": "Keeps recent chain state and drops older blocks (Pruned). More disk than Minimal, less than a full node. Use to follow the tip long-term.",
95
+ "validatorReady": "Reserves more disk so you can later attest or propose as a validator. Generate keys offline yourself. Being offline or misconfigured can lose stake.",
96
+ "rpc": "For this host or other services to query the chain. RPC listens on 127.0.0.1 by default and is not published to the internet."
97
+ },
61
98
  "col": {
62
99
  "id": "ID",
63
100
  "chain": "Chain",
@@ -67,7 +104,7 @@
67
104
  "disk": "Disk"
68
105
  },
69
106
  "cli": {
70
- "usage": "Usage: ysk-server validators list|chains|disk|get|status|logs|create|start|stop|restart|clear|upgrade|policy|mithril|prune|switch-network|snapshot|compose|settings [--chain C] [--network N] [--profile P] [--el EL] [--cl CL] [--data-path P] [--rpc-port N] [--id ID] [--upgrade POLICY] [--confirm TOKEN] [--execute] [--json]"
107
+ "usage": "Usage: ysk-server validators list|chains|disk|get|status|logs|create|start|stop|restart|clear|upgrade|policy|mithril|prune|switch-network|snapshot|compose|settings [--chain C] [--network N] [--profile P] [--el EL] [--cl CL] [--data-path P] [--rpc-port N] [--id ID] [--upgrade POLICY] [--confirm TOKEN] [--accept-low-disk] [--execute] [--json]"
71
108
  },
72
109
  "clients": {
73
110
  "el": "Execution client",
@@ -133,7 +170,8 @@
133
170
  "snapshotNear": "Wiped NEAR data; compose will re-init official genesis and epoch sync",
134
171
  "nativePrune": "Ran the client-native prune command",
135
172
  "dryDelete": "Delete is dry-run. Pass --execute and YSK_EXECUTE=1.",
136
- "deleted": "Node deleted"
173
+ "deleted": "Node deleted",
174
+ "leftoverRemoved": "Removed leftover {{path}}"
137
175
  },
138
176
  "create": "Create node",
139
177
  "wizard": {
@@ -145,12 +183,25 @@
145
183
  "stepSummary": "Summary",
146
184
  "needDocker": "Docker Engine is not installed. Install it first — this button stays disabled.",
147
185
  "diskNeed": "This profile needs about {{need}} · free {{free}}",
186
+ "diskNeedNetwork": "Default (Minimal) for this network needs about {{need}} · free {{free}}",
187
+ "profileHint": {
188
+ "minimal": "Smallest sync — light disk, not for staking.",
189
+ "pruned": "Keeps recent history only (Pruned). Smaller than archive, still usable for RPC.",
190
+ "validator-ready": "Sized for a staking validator. Needs more disk than Minimal.",
191
+ "rpc": "Public RPC node — not a staking validator."
192
+ },
148
193
  "diskShort": "Not enough free disk for this chain / network / profile",
194
+ "diskShortDetail": "Need {{need}} · free {{free}} · short {{short}}",
195
+ "needCustomPath": "Enter an absolute data path",
196
+ "previewId": "Node id",
197
+ "previewCompose": "Compose project",
198
+ "profileSeeAbout": "What each profile means is on the About tab.",
149
199
  "back": "Back",
150
200
  "next": "Next",
151
201
  "install": "Install",
152
202
  "mainnetWarn": "Mainnet needs a lot of free disk (ETH often 800 GiB+). Testnet is recommended.",
153
- "mainnetAck": "I understand the disk and slashing risk. Continue with mainnet.",
203
+ "mainnetAck": "Create the mainnet node. I understand it needs a lot of disk, and a staking validator can lose stake if it is offline or misconfigured.",
204
+ "lowDiskAcked": "Free disk is below the recommended size. You confirmed create anyway; sync may stop if the disk fills.",
154
205
  "heavyWarn": "This chain is heavy (large disk and high IOPS). Mainnet Solana typically needs 2 TiB+.",
155
206
  "memory": "Memory limit",
156
207
  "cpus": "CPU limit",
@@ -162,7 +213,14 @@
162
213
  "installConfirmTitle": "Install this node?",
163
214
  "installConfirmDesc": "{{chain}} · {{network}} · {{profile}}. About {{disk}} of disk. The image pull can take a long time.",
164
215
  "installC1": "Several gigabytes of images may be downloaded.",
165
- "installC2": "You can cancel the panel task; already-pulled images are not deleted automatically."
216
+ "installC2": "You can cancel the panel task; already-pulled images are not deleted automatically.",
217
+ "dockerAbout": "Docker Engine is required to install and start nodes.",
218
+ "dockerAboutOk": "Docker Engine is installed.",
219
+ "dockerAboutMissing": "Docker Engine is not installed. Open Docker to install it.",
220
+ "rewriteCompose": "Rewrite compose",
221
+ "rewriteComposeTitle": "Rewrite compose.yml from the current adapter?",
222
+ "rewriteComposeDesc": "Overwrites the generated compose for {{id}} using the shipped flags for this chain.",
223
+ "chainMeta": "{{disk}} min · {{clients}} clients"
166
224
  },
167
225
  "actions": {
168
226
  "detail": "Details",
@@ -259,6 +317,7 @@
259
317
  "state": {
260
318
  "unknown": "Unknown",
261
319
  "stopped": "Stopped",
320
+ "starting": "Starting",
262
321
  "running": "Running",
263
322
  "syncing": "Syncing",
264
323
  "error": "Error"
@@ -173,6 +173,13 @@
173
173
  "start": "Start",
174
174
  "stop": "Stop",
175
175
  "startAfterCreate": "Start after create",
176
+ "hostnameBroken": "This host cannot resolve its own hostname ({{hostname}}). Session start will fail.",
177
+ "hostnameBrokenIdle": "No VNC sessions yet. Hostname {{hostname}} does not resolve — you can write /etc/hosts later if you create a session.",
178
+ "hostnameFix": "Write hostname to /etc/hosts",
179
+ "hostnameFixTitle": "Append this line to /etc/hosts?",
180
+ "hostnameFixDesc": "{{line}}",
181
+ "hostnameFixDone": "Hostname /etc/hosts updated",
182
+ "startAfterCreateBlocked": "Disabled until the hostname resolves",
176
183
  "colName": "Name",
177
184
  "colLinuxUser": "Linux user",
178
185
  "colDisplay": "Display / port",
@@ -11,7 +11,9 @@
11
11
  "failed": "Fallido",
12
12
  "error": "Error",
13
13
  "unknown": "No investigado",
14
- "fallback": "Desconocido"
14
+ "fallback": "Desconocido",
15
+ "activating": "Starting",
16
+ "stuck": "Start stuck"
15
17
  },
16
18
  "liveN": "{{count}} en línea",
17
19
  "registeredOnly": "Sólo registrado",
@@ -136,5 +138,8 @@
136
138
  "historyTitleShort": "Abrir historial de comandos (solo lectura)",
137
139
  "expEdge": "En un borde:",
138
140
  "noteAllowlist": "Agent tool calls must pass the allowlist.",
139
- "noteRbacCap": "Agent role is capped at write-low."
141
+ "noteRbacCap": "Agent role is capped at write-low.",
142
+ "journal": "journal",
143
+ "activatingStuckHint": "Activating longer than 5 minutes — treated as failed. Check journal.",
144
+ "noOnlineAgents": "No agents online"
140
145
  }
@@ -57,5 +57,7 @@
57
57
  "sslTerminatedUpstream": "TLS termina al frente de Nginx",
58
58
  "removeArtifactHint": "Borra solo este conf residual en disco. No elimina el proyecto.",
59
59
  "sourceOrphan": "Leftover",
60
- "orphanSite": "Project gone"
60
+ "orphanSite": "Project gone",
61
+ "pillSitesSplit": "{{n}} sites · {{leftover}} leftover",
62
+ "stopSites": "{{n}} site(s) will stop answering HTTP."
61
63
  }
@@ -148,5 +148,21 @@
148
148
  "goLogs": "Open logs",
149
149
  "goAbout": "Backup notes",
150
150
  "skippedPendingOs": "Skipped — OS user / home not provisioned",
151
- "latestFile": "Latest archive"
151
+ "latestFile": "Latest archive",
152
+ "tabTrash": "Recycle bin",
153
+ "trashTitle": "Recycle bin ({{count}})",
154
+ "trashSub": "Deleted archives stay here for 7 days, then they are removed permanently.",
155
+ "trashEmpty": "Recycle bin is empty",
156
+ "trashEmptyDesc": "Deleted backup files appear here for 7 days.",
157
+ "trashRestore": "Restore",
158
+ "trashPurge": "Delete forever",
159
+ "trashEmptyAll": "Empty recycle bin",
160
+ "trashExpires": "Expires {{at}}",
161
+ "trashPurgeTitle": "Permanently delete this backup?",
162
+ "trashPurgeDesc": "Permanently delete {{name}}. This cannot be undone.",
163
+ "trashEmptyTitle": "Empty recycle bin?",
164
+ "trashEmptyDescConfirm": "Permanently delete {{count}} archive(s). Type the count to confirm.",
165
+ "trashRestored": "Restored from recycle bin",
166
+ "trashPurged": "Permanently deleted",
167
+ "trashedOk": "Moved to recycle bin"
152
168
  }
@@ -194,5 +194,8 @@
194
194
  "statsLibraryHint": "Torrents in the panel library / file shares",
195
195
  "statsTrackerLeftover": "Tracker leftover",
196
196
  "statsTrackerLeftoverHint": "Tracker announce hashes that are not library rows",
197
- "statsAnnouncesHint": "Announce requests seen by the tracker process"
197
+ "statsAnnouncesHint": "Announce requests seen by the tracker process",
198
+ "leftoverHashesTitle": "Tracker leftover hashes",
199
+ "leftoverHashesHint": "Read-only. These announces are not library or share rows.",
200
+ "publicHostMissingLive": "Tracker is listening but public announce host is not set. Off-host peers cannot find this seed."
198
201
  }
@@ -201,5 +201,7 @@
201
201
  "hitMiss": "Hits {{hits}} / misses {{misses}}",
202
202
  "cacheBytes": "Cache ≈ {{n}} B",
203
203
  "hitRateUnknown": "No access log with cache status and no cache directory, so hit rate cannot be estimated.",
204
- "offlineHint": "Offline — probe failed. Remove the node if it is leftover."
204
+ "offlineHint": "Offline — probe failed. Remove the node if it is leftover.",
205
+ "applyFailedNoNote": "No stored reason. Re-apply to capture the error.",
206
+ "statApplyFailed": "Apply failed"
205
207
  }
@@ -128,5 +128,6 @@
128
128
  "hidePassword": "Esconder",
129
129
  "more": "Más",
130
130
  "redirectedTo": "Se abrió {{to}} (antes {{from}})",
131
- "unavailable": "Not available right now"
131
+ "unavailable": "Not available right now",
132
+ "ok": "OK"
132
133
  }
@@ -164,5 +164,8 @@
164
164
  "writtenOnHostHint": "Lines already written to the host crontab",
165
165
  "registeredJobsHint": "Jobs registered in the panel (including pending install)",
166
166
  "pendingInstallCount": "{{n}} pending install",
167
- "systemJobBadge": "No project · system user"
167
+ "systemJobBadge": "No project · system user",
168
+ "willNotRun": "Not written to system crontab — will not run.",
169
+ "pendingStale": "Not written to system crontab for {{days}} day(s) — it will not run.",
170
+ "jobsTabPending": "Jobs ({{count}}) · pending {{pending}}"
168
171
  }
@@ -42,7 +42,8 @@
42
42
  "mode": {
43
43
  "degraded": "degradado",
44
44
  "production_capable": "listo para la producción",
45
- "normal": "normal"
45
+ "normal": "normal",
46
+ "blocked": "blocked"
46
47
  },
47
48
  "details": "Detalles",
48
49
  "certExpiryTitle": "Caducidad del certificado:",
@@ -126,5 +127,6 @@
126
127
  "warn": "Warning",
127
128
  "bad": "Problem"
128
129
  },
129
- "publicNo2fa": "This panel listens on all interfaces and your admin account has no 2FA."
130
+ "publicNo2fa": "This panel listens on all interfaces and your admin account has no 2FA.",
131
+ "readinessBlocked": "{{n}} blocker(s)"
130
132
  }
@@ -247,7 +247,24 @@
247
247
  "fleetApplyTitle": "¿Se aplica la cola a los miembros de la flota?",
248
248
  "redirectedFromCluster": "You were redirected here from /cluster. This is the database cluster tab.",
249
249
  "roleUnassigned": "No role assigned",
250
- "standaloneOtherEngines": "This engine is standalone. Other engines have clusters: {{names}}."
250
+ "standaloneOtherEngines": "This engine is standalone. Other engines have clusters: {{names}}.",
251
+ "notApplied": "Not applied",
252
+ "plannedAt": "Created {{when}}",
253
+ "clearStalePlans": "Clear stale plans",
254
+ "clearStalePlansTitle": "Delete stale planned clusters?",
255
+ "clearStalePlansDesc": "Deletes {{n}} planned/draft registration(s) older than 7 days. Does not apply or push. System conf is not touched.",
256
+ "landingTitle": "Database cluster",
257
+ "landingDesc": "No database engine is installed on this host. Open an engine page to install, then return here.",
258
+ "landingNoneInstalled": "MySQL, MariaDB, PostgreSQL, and Redis are not installed. /cluster does not open a MySQL tab when MySQL is missing.",
259
+ "openEngine": "Open {{engine}}",
260
+ "overviewPill": "Clusters {{n}}",
261
+ "enginesInstalled": "Engines",
262
+ "plannedCount": "Planned",
263
+ "overviewList": "Clusters ({{count}})",
264
+ "overviewEmpty": "No cluster registrations yet.",
265
+ "engine": "Engine",
266
+ "kind": "Kind",
267
+ "members": "Members"
251
268
  },
252
269
  "console": {
253
270
  "dataBrowse": "Explorar datos",
@@ -230,5 +230,9 @@
230
230
  "installConfirmConsequence": "Tras instalar e iniciar, PowerDNS usará el puerto 53.",
231
231
  "installPort53Busy": "Algo ya escucha en el puerto 53. PowerDNS puede fallar al enlazar hasta detener o reparar ese proceso.",
232
232
  "installPort53BusyConsequence": "Repare el enlace o detenga el otro oyente antes de esperar respuestas en 53.",
233
- "createZoneNeedValid": "Enter a valid zone name and IPv4 address"
233
+ "createZoneNeedValid": "Enter a valid zone name and IPv4 address",
234
+ "startProbeFailed": "Could not re-check DNS health after start",
235
+ "startNotListening": "PowerDNS start returned, but the unit is not answering on port 53",
236
+ "goStartService": "Start DNS service",
237
+ "startBindHint": "If start returns to stopped, port 53 is often held by systemd-resolved. Use Heal bind below, then start again."
234
238
  }
@@ -48,7 +48,8 @@
48
48
  "created": "Created",
49
49
  "dead": "Dead",
50
50
  "removing": "Removing",
51
- "unknown": "Unknown"
51
+ "unknown": "Unknown",
52
+ "exitedCode": "Exited ({{n}})"
52
53
  },
53
54
  "actions": {
54
55
  "start": "Iniciar",
@@ -509,5 +509,8 @@
509
509
  "opendkimNoReload": "OpenDKIM no admite recarga — use reinicio tras cambiar claves o tablas.",
510
510
  "opendkimNoReloadTitle": "systemctl reload opendkim no está soportado en este conjunto",
511
511
  "tlsRequestLeFor": "Request LE for {{host}}",
512
- "deliverabilityChecks": "Checks"
512
+ "deliverabilityChecks": "Checks",
513
+ "healthPartialScore": "Partial {{n}}/100 (DNS only)",
514
+ "healthPartialHint": "DNS checklist only — live and blacklist not probed.",
515
+ "deleteImpact": "{{mailboxes}} mailboxes · {{records}} DNS records · {{aliases}} aliases"
513
516
  }
@@ -358,5 +358,6 @@
358
358
  "unshareDesc": "Revoke the link for {{name}} ({{url}}). The link stops working immediately.",
359
359
  "pillTrash": "{{count}} in trash",
360
360
  "pillSpace": "{{used}} used",
361
- "webdavTokenInactive": "Disabled — token #{{id}} is not active"
361
+ "webdavTokenInactive": "Disabled — token #{{id}} is not active",
362
+ "webdavOffNoToken": "Disabled (no active token)"
362
363
  }
@@ -146,5 +146,21 @@
146
146
  "detectPublicIpTitle": "Complete el primer IPv4 sin bucle invertido de este host",
147
147
  "pasvIpRequired": "Defina una IP pública PASV antes de aplicar (NAT/nube). Detecte o escriba una dirección.",
148
148
  "vsftpdFailedGeneric": "vsftpd failed. Open the Service tab for live settings and journal.",
149
- "stateFailed": "Failed to start"
149
+ "stateFailed": "Failed to start",
150
+ "plaintextInsecure": "Cleartext FTP (no TLS) — insecure. Enable FTPS before exposing port 21.",
151
+ "plaintextPublicLive": "vsftpd is listening on a public address without FTPS. Credentials travel in the clear. Enable FTPS, bind to this host only, or confirm PLAINTEXT to keep this posture.",
152
+ "bindAddress": "Listen scope",
153
+ "bindAddressHint": "New installs bind to this host only. Public listen without FTPS needs a typed confirmation.",
154
+ "bindLocal": "This host only",
155
+ "bindLocalHint": "127.0.0.1 — fine without TLS for local tests",
156
+ "bindPublic": "Public",
157
+ "bindPublicHint": "All interfaces — enable FTPS or confirm PLAINTEXT",
158
+ "enableFtpsAndStart": "Enable FTPS and start",
159
+ "publicPlainNeedConfirm": "Public cleartext FTP needs a PLAINTEXT confirmation",
160
+ "plainConfirmTitle": "Start public FTP without FTPS?",
161
+ "plainConfirmDesc": "Port 21 will accept logins and data in the clear on the public address.",
162
+ "plainConfirmC1": "Usernames and passwords are visible on the network.",
163
+ "plainConfirmC2": "PASV will advertise the configured public IP.",
164
+ "plainConfirmC3": "Host firewall and cloud security group are not opened for you.",
165
+ "plainConfirmAction": "Start cleartext FTP"
150
166
  }
@@ -144,5 +144,7 @@
144
144
  "engineBrowserNeedChrome": "Real browser (Chrome not installed)",
145
145
  "egressHint": "The target site sees this server’s outbound address ({{host}}), not your laptop. Cookies stay in the server session jar.",
146
146
  "closeNoSession": "No session yet",
147
- "resumeHintDetail": "Resume previous session ({{count}} tabs) · {{url}} · {{when}}"
147
+ "resumeHintDetail": "Resume previous session ({{count}} tabs) · {{url}} · {{when}}",
148
+ "resumeHintOwned": "Resume last browse for {{user}} ({{count}} tabs) · {{url}} · {{when}}",
149
+ "clearSessionData": "Clear session data"
148
150
  }
@@ -91,5 +91,18 @@
91
91
  "expandAllWarnings": "Show all {{n}} warnings",
92
92
  "collapseWarnings": "Show fewer",
93
93
  "inventoriedWarn": "Inventoried · {{n}} warnings",
94
- "orphanMtime": "Last modified {{at}}"
94
+ "orphanMtime": "Last modified {{at}}",
95
+ "inventoriedOrphans": "Inventoried · {{n}} leftover homes",
96
+ "inventoriedWarnAndOrphans": "Inventoried · {{w}} warnings · {{n}} leftover",
97
+ "orphanHomesTitle": "Leftover project homes ({{count}})",
98
+ "orphanHomesSummary": "{{count}} path(s) on disk are not in the store. Back up first if unsure, then remove unused paths.",
99
+ "orphanColHome": "Home",
100
+ "orphanColModified": "Modified",
101
+ "orphanKpi": "Leftover",
102
+ "sourceOs": "OS",
103
+ "sourceDataDir": "dataDir",
104
+ "sourceDbRedis": "Databases / Redis",
105
+ "sourceDbRedisValue": "{{db}} databases · {{redis}} Redis",
106
+ "orphanColEntries": "Entries",
107
+ "orphanEntries": "{{n}} top-level entries in the directory"
95
108
  }
@@ -160,6 +160,8 @@
160
160
  "up": "Up",
161
161
  "down": "Down",
162
162
  "unknown": "Unknown",
163
- "other": "Other"
163
+ "other": "Other",
164
+ "loopback": "Always on",
165
+ "loopbackHint": "Loopback is always available and cannot be changed."
164
166
  }
165
167
  }
@@ -80,5 +80,8 @@
80
80
  "setHsts": "HSTS",
81
81
  "setCfRealIp": "IP real de Cloudflare",
82
82
  "setIndexes": "listado de directorio",
83
- "bodyInherit": "Global"
83
+ "bodyInherit": "Global",
84
+ "stopSites": "{{n}} site(s) will stop answering HTTP.",
85
+ "purgeCacheTitle": "Purge Nginx cache and reload?",
86
+ "purgeCacheDesc": "Clears the on-disk cache and reloads Nginx. Live sites stay up."
84
87
  }
@@ -65,10 +65,18 @@
65
65
  "sidecarPushed": "También se impulsó el sidecar SQL {{name}}",
66
66
  "controlPlaneDryRun": "Solo vista previa, nada escrito. En el panel, use Restaurar y confirme la frase a escribir.",
67
67
  "controlPlaneNeedConfirm": "La restauración total del plano de control necesita la frase de confirmación RESTAURAR-PLANO-CONTROL.",
68
- "controlPlaneRestartAfter": "Reinicie la API después de una restauración exitosa."
68
+ "controlPlaneRestartAfter": "Reinicie la API después de una restauración exitosa.",
69
+ "movedToTrash": "Moved {{name}} to the recycle bin. Permanent delete after {{days}} days.",
70
+ "restoreNameExists": "Cannot restore {{name}} — a live archive with that name already exists.",
71
+ "restoredFromTrash": "Restored {{name}} from the recycle bin.",
72
+ "trashEmptied": "Permanently deleted {{n}} archive(s) from the recycle bin."
69
73
  },
70
74
  "redis": {
71
- "cliMissing": "redis-cli no está instalado"
75
+ "cliMissing": "redis-cli no está instalado",
76
+ "requirepassAlreadySet": "Redis already has requirepass — not overwritten.",
77
+ "requirepassApplied": "requirepass applied at runtime",
78
+ "requirepassApplyFailed": "Could not CONFIG SET requirepass (will rely on restart + conf)",
79
+ "generatedRequirepass": "Generated Redis password (shown once): {{password}}"
72
80
  },
73
81
  "nginx": {
74
82
  "reloaded": "nginx recargado",
@@ -91,7 +99,8 @@
91
99
  "vsftpdStarted": "vsftpd iniciado",
92
100
  "openPortsStep": "Puertos de firewall (manual)",
93
101
  "openPortsReminder": "Abra los puertos TCP en el firewall del host y el grupo de seguridad de la nube: {{ports}}. La aplicación FTPS no abre puertos para usted.",
94
- "openPortsPasvHint": "Si el inicio de sesión funciona pero el directorio LIST se agota, el rango de datos PASV está bloqueado: abra la página completa"
102
+ "openPortsPasvHint": "Si el inicio de sesión funciona pero el directorio LIST se agota, el rango de datos PASV está bloqueado: abra la página completa",
103
+ "publicPlaintextBlocked": "Refusing to start public FTP without FTPS. Bind to this host only, enable FTPS with a certificate, or confirm PLAINTEXT to expose cleartext on the public address."
95
104
  },
96
105
  "deploy": {
97
106
  "nodeMissingIsolated": "Falta el binario del nodo para la implementación aislada: {{path}}: instale la cadena de herramientas del Nodo {{version}} y luego vuelva a implementarlo. Negarse a escribir una unidad que sería 203/EXEC.",
@@ -146,7 +155,17 @@
146
155
  "applyDigOk": "PowerDNS BIND: listar zonas + excavar OK",
147
156
  "applyDigFail": "Zona registrada en conf pero la excavación aún está vacía/RECHAZADA: no se aplicó la marca",
148
157
  "applySyncIncomplete": "Sincronización de enlace de PowerDNS incompleta: archivo de zona solo en el disco (no aplicado). Repare los registros EXECUTE/root o pdns.",
149
- "writeOnlyHint": "Archivo de zona escrito únicamente: PowerDNS no responderá hasta que cargue/aplique los registros nombrados"
158
+ "writeOnlyHint": "Archivo de zona escrito únicamente: PowerDNS no responderá hasta que cargue/aplique los registros nombrados",
159
+ "noActiveUnit": "No active named/bind9/pdns unit",
160
+ "pdnsUnitRestarts": "pdns unit state/restarts: {{detail}}",
161
+ "port53LoopbackOnly": "Port 53 is only on loopback (systemd-resolved 127.0.0.53) — not a product authoritative nameserver",
162
+ "port53Closed": "Port 53 is not listening (UDP/TCP)",
163
+ "udp53NotPublic": "UDP/53 is not listening on a public address",
164
+ "tcp53NotPublic": "TCP/53 is not listening on a public address",
165
+ "noManagedZones": "No managed zone files under dataDir/dns/zones",
166
+ "pdnsListZones": "PowerDNS list-zones: {{n}}",
167
+ "lookupIgnoredAt": "dig is unavailable — @{{server}} was ignored. Not using the system resolver as that server’s answer.",
168
+ "localAOk": "local A {{name}} → {{ip}}"
150
169
  },
151
170
  "db": {
152
171
  "needExecuteCreate": "La ejecución del host está desactivada; No se puede crear una base de datos desde el panel.",
@@ -3008,7 +3027,16 @@
3008
3027
  "linuxUserRolledBack": "Se eliminó el usuario restante de Linux {{user}} después de que falló la contraseña de VNC.",
3009
3028
  "linuxUserOrphan": "No se pudo eliminar el usuario de Linux restante {{user}} después de que falló la contraseña de VNC.",
3010
3029
  "sessionStartHostname": "Failed to start display :{{display}}: this host cannot resolve its own hostname. Add the hostname to /etc/hosts (or fix DNS) then start the session again.",
3011
- "userdelLeftover": "Panel account removed, but Linux user {{user}} is still on the host. Remove it from Users or the host."
3030
+ "userdelLeftover": "Panel account removed, but Linux user {{user}} is still on the host. Remove it from Users or the host.",
3031
+ "hostnameResolves": "Hostname {{hostname}} resolves.",
3032
+ "hostnameUnresolvable": "This host cannot resolve its own hostname ({{hostname}}). VNC session start will fail until /etc/hosts is fixed.",
3033
+ "hostnameAlreadyResolves": "Hostname {{hostname}} already resolves — /etc/hosts unchanged.",
3034
+ "hostnameWouldAppend": "Would append to /etc/hosts: {{line}}",
3035
+ "hostnameAppended": "Appended to /etc/hosts: {{line}}",
3036
+ "hostnameAppendFailed": "Could not write /etc/hosts: {{detail}}",
3037
+ "skipStartHostname": "Did not start the display — fix hostname resolution first.",
3038
+ "hostnameAliasPresent": "Hostname {{hostname}} is already an exact /etc/hosts alias — not appended again.",
3039
+ "hostnameStillUnresolvable": "Wrote /etc/hosts but {{hostname}} still does not resolve. Confirm nsswitch hosts includes files."
3012
3040
  },
3013
3041
  "apache": {
3014
3042
  "needServerName": "Nombre del servidor requerido",
@@ -3093,7 +3121,15 @@
3093
3121
  "staleCliRemoved": "Se eliminó el CLI residual {{path}}.",
3094
3122
  "staleCliRemoveFailed": "No se pudo eliminar el CLI residual {{path}}: {{detail}}",
3095
3123
  "vsftpdSslOff": "Sin certificado FTPS: se puso ssl_enable=NO en vsftpd y se reinició.",
3096
- "dovecotSslOff": "Falta {{path}}: Dovecot con ssl=no y reinicio."
3124
+ "dovecotSslOff": "Falta {{path}}: Dovecot con ssl=no y reinicio.",
3125
+ "nginxRemoved": "Removed leftover nginx conf {{path}}.",
3126
+ "nginxNotLeftover": "Not a leftover public-files conf — refuse delete.",
3127
+ "nginxUnusedKeep": "000-default is unused, not leftover — not deleted.",
3128
+ "nginxSystemCopy": "System copy still present: {{path}}. Needs YSK_EXECUTE + root to remove.",
3129
+ "nginxReloadFailed": "nginx -t or reload failed after removing {{path}}.",
3130
+ "executeStaleCli": "Pass --execute (root + YSK_EXECUTE=1) to remove stale CLI bins.",
3131
+ "executeMissingTls": "Pass --execute (root + YSK_EXECUTE=1) to disable missing-cert TLS so vsftpd/Dovecot can start.",
3132
+ "executeGeneric": "Pass --execute (root + YSK_EXECUTE=1) to apply leftover cleanup for the findings above."
3097
3133
  },
3098
3134
  "git": {
3099
3135
  "missingBin": "git no está en la RUTA",
@@ -62,7 +62,8 @@
62
62
  "deployTitle": "Siguiente: Implementar",
63
63
  "deployBody": "Utilice Implementar en el encabezado o la pestaña Implementar para Git.",
64
64
  "nginxTitle": "Siguiente: Publicar Nginx",
65
- "nginxBody": "Abra la pestaña Red para publicar Nginx (SSL opcional)."
65
+ "nginxBody": "Abra la pestaña Red para publicar Nginx (SSL opcional).",
66
+ "provisionOsAction": "Create system user"
66
67
  },
67
68
  "healthDetail": {
68
69
  "none": "Aún no hay control de salud",
@@ -406,5 +406,7 @@
406
406
  "banSelectedConfirmDesc": "These addresses will be blocked on the host: {{ips}}",
407
407
  "freshnessMissing": "No database",
408
408
  "freshnessStale": "Stale",
409
- "freshnessFresh": "Current"
409
+ "freshnessFresh": "Current",
410
+ "banConfirmMethod": "Method: {{method}}",
411
+ "banConfirmUntilUnban": "Stays banned until you unban it (or fail2ban expiry)."
410
412
  }
@@ -41,5 +41,9 @@
41
41
  "serverNameMismatch": "La conf. en vivo usa {{live}}; el formulario tiene {{draft}}. Aplique para reemplazar.",
42
42
  "executeFlag": "Execute",
43
43
  "asRoot": "Root",
44
- "statusDraft": "Draft / not applied"
44
+ "statusDraft": "Draft / not applied",
45
+ "liveName": "Live name",
46
+ "draftName": "Draft name",
47
+ "draftUnapplied": "This draft is not applied. Nginx still serves the live name.",
48
+ "discardDraft": "Discard draft"
45
49
  }
@@ -82,5 +82,10 @@
82
82
  "scanCapped": "Showing the first {{n}} matches.",
83
83
  "dbOptionKeys": "DB {{i}} · {{n}} keys",
84
84
  "dbOptionEmpty": "DB {{i}} · empty",
85
- "insecureShort": "No password"
85
+ "insecureShort": "No password",
86
+ "generateRequirepass": "Generate and apply password",
87
+ "generateRequirepassTitle": "Generate a Redis password?",
88
+ "generateRequirepassDesc": "Writes requirepass and restarts Redis. The password is shown once. Host change needs EXECUTE.",
89
+ "generateRequirepassDone": "Redis password applied",
90
+ "generatedOnce": "Generated password (shown once): {{password}}"
86
91
  }
@@ -449,5 +449,7 @@
449
449
  "policyNeedSelf2fa": "Primero habilite 2FA en esta cuenta, luego confirme con un código TOTP",
450
450
  "revokeAllDevicesTitle": "Revocar todos los dispositivos recordados: usted y otros administradores deben verificar 2FA nuevamente",
451
451
  "statSshValue": "{{keys}} keys · {{auth}} authorized",
452
- "statSshHint": "Outbound identities / authorized login keys"
452
+ "statSshHint": "Outbound identities / authorized login keys",
453
+ "needCurrentPassword": "Enter the current password first",
454
+ "passwordMin8": "New password must be at least 8 characters"
453
455
  }
@@ -94,5 +94,13 @@
94
94
  "tool": "Tool",
95
95
  "activating": "Starting"
96
96
  },
97
- "sshdBootOffWarn": "sshd is not enabled on boot. After reboot this host will have no SSH rescue path."
97
+ "sshdBootOffWarn": "sshd is not enabled on boot. After reboot this host will have no SSH rescue path.",
98
+ "restartConfirmTitle": "Restart {{label}}?",
99
+ "restartConfirmDesc": "Restart {{label}} now. Active connections may drop.",
100
+ "startVerifyFailed": "{{label}} start did not stay healthy.",
101
+ "stopNeedConfirmImpact": "Stop {{label}}? Active connections to this service will drop.",
102
+ "reloadTitle": "Reload {{label}} configuration without a full restart",
103
+ "stopConfirmPanelSshdOffDesc": "The panel and API will go offline. sshd is not enabled on boot, so SSH may not be a rescue path after reboot.",
104
+ "stopConfirmPanelSshdOffConsequence": "sshd is not enabled on boot. After reboot you may have no SSH rescue path.",
105
+ "ufwNoLifecycle": "UFW is not started or stopped from this matrix."
98
106
  }
@@ -87,7 +87,8 @@
87
87
  "cliNoSocket": "CLI no tiene un socket HTTP activo; serverHttps se infiere de los sockets de configuración y escucha (ss).",
88
88
  "listenHost": "Escuchar dirección",
89
89
  "currentHost": "Esta sesión",
90
- "replaceCert": "Reemplazar con un certificado confiable"
90
+ "replaceCert": "Reemplazar con un certificado confiable",
91
+ "needFqdn": "Need a FQDN (example.com), not a bare hostname"
91
92
  },
92
93
  "timeNtp": "Tiempo y NTP",
93
94
  "clockStatus": "Estado del reloj del sistema",
@@ -206,5 +207,9 @@
206
207
  "noScheduledPower": "No está programado ningún reinicio o apagado",
207
208
  "timezoneNow": "Host time now: {{time}} ({{tz}})",
208
209
  "timezoneBrowserDiff": "This host uses {{host}}; your browser uses {{browser}}. Changing timezone here changes the host clock, not the browser.",
209
- "notExported": "Not exported yet"
210
+ "notExported": "Not exported yet",
211
+ "nginxRemoveLeftover": "Remove leftover",
212
+ "nginxRemoveLeftoverTitle": "Remove leftover nginx conf?",
213
+ "nginxRemoveLeftoverDesc": "Deletes {{name}} from the panel inventory. The live /etc/nginx copy is removed only with YSK_EXECUTE + root. 000-default is not leftover and cannot be deleted here.",
214
+ "needExecuteRoot": "Needs YSK_EXECUTE + root"
210
215
  }