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
@@ -5,7 +5,8 @@
5
5
  "tab": {
6
6
  "nodes": "Nodos",
7
7
  "disk": "Disco",
8
- "about": "Acerca de"
8
+ "about": "Acerca de",
9
+ "stack": "Software"
9
10
  },
10
11
  "empty": {
11
12
  "title": "Aún no hay nodos validador",
@@ -23,7 +24,18 @@
23
24
  "autoClear": "Vaciar automáticamente la instancia detenida más grande cuando el disco es crítico (desactivado por defecto)",
24
25
  "autoClearRisk": "Destructive: the largest stopped instance is deleted without a further prompt. Default is off. Check audit / logs after it fires.",
25
26
  "autoClearConfirmTitle": "Enable auto-clear?",
26
- "autoClearC1": "When disk is critical, the largest stopped instance is deleted without asking again."
27
+ "autoClearC1": "When disk is critical, the largest stopped instance is deleted without asking again.",
28
+ "fsUsed": "Filesystem used",
29
+ "leftoverTitle": "Leftover data ({{count}})",
30
+ "leftoverDesc": "Directories under the validators root that are not a store instance. Remove only after you confirm they are unused.",
31
+ "leftoverRemove": "Remove",
32
+ "leftoverRemoveTitle": "Delete leftover validator data?",
33
+ "leftoverRemoveDesc": "Permanently delete {{path}} from disk. This is not a listed node.",
34
+ "autoClearThreshold": "Trigger: filesystem use at or above 85%.",
35
+ "autoClearCandidate": "Current candidate: {{id}}",
36
+ "autoClearNone": "No stopped instance is a candidate right now.",
37
+ "browseRoot": "Open in file browser",
38
+ "leftoverEmpty": "No leftover instance directories"
27
39
  },
28
40
  "chain": {
29
41
  "eth": "Ethereum",
@@ -133,7 +145,8 @@
133
145
  "snapshotNear": "Datos NEAR borrados; compose reinicializará con genesis oficial y epoch sync",
134
146
  "nativePrune": "Se ejecutó la poda nativa del cliente",
135
147
  "dryDelete": "Delete is dry-run. Pass --execute and YSK_EXECUTE=1.",
136
- "deleted": "Node deleted"
148
+ "deleted": "Node deleted",
149
+ "leftoverRemoved": "Removed leftover {{path}}"
137
150
  },
138
151
  "create": "Crear nodo",
139
152
  "wizard": {
@@ -162,7 +175,27 @@
162
175
  "installConfirmTitle": "Install this node?",
163
176
  "installConfirmDesc": "{{chain}} · {{network}} · {{profile}}. About {{disk}} of disk. The image pull can take a long time.",
164
177
  "installC1": "Several gigabytes of images may be downloaded.",
165
- "installC2": "You can cancel the panel task; already-pulled images are not deleted automatically."
178
+ "installC2": "You can cancel the panel task; already-pulled images are not deleted automatically.",
179
+ "lowDiskAcked": "Free disk is below the recommended size. You confirmed create anyway; sync may stop if the disk fills.",
180
+ "diskNeedNetwork": "Default (Minimal) for this network needs about {{need}} · free {{free}}",
181
+ "diskShortDetail": "Need {{need}} · free {{free}} · short {{short}}",
182
+ "needCustomPath": "Enter an absolute data path",
183
+ "previewId": "Node id",
184
+ "previewCompose": "Compose project",
185
+ "profileSeeAbout": "What each profile means is on the About tab.",
186
+ "dockerAbout": "Docker Engine is required to install and start nodes.",
187
+ "dockerAboutOk": "Docker Engine is installed.",
188
+ "dockerAboutMissing": "Docker Engine is not installed. Open Docker to install it.",
189
+ "rewriteCompose": "Rewrite compose",
190
+ "rewriteComposeTitle": "Rewrite compose.yml from the current adapter?",
191
+ "rewriteComposeDesc": "Overwrites the generated compose for {{id}} using the shipped flags for this chain.",
192
+ "chainMeta": "{{disk}} min · {{clients}} clients",
193
+ "profileHint": {
194
+ "minimal": "Smallest sync — light disk, not for staking.",
195
+ "pruned": "Keeps recent history only (Pruned). Smaller than archive, still usable for RPC.",
196
+ "validator-ready": "Sized for a staking validator. Needs more disk than Minimal.",
197
+ "rpc": "Public RPC node — not a staking validator."
198
+ }
166
199
  },
167
200
  "actions": {
168
201
  "detail": "Detalles",
@@ -261,6 +294,32 @@
261
294
  "stopped": "Stopped",
262
295
  "running": "Running",
263
296
  "syncing": "Syncing",
264
- "error": "Error"
297
+ "error": "Error",
298
+ "starting": "Starting"
299
+ },
300
+ "profileHelp": {
301
+ "title": "Profiles",
302
+ "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.",
303
+ "minimal": "Smallest disk. Use for testnets or a first install. Not a full history, and not for a live staking validator.",
304
+ "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.",
305
+ "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.",
306
+ "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."
307
+ },
308
+ "software": {
309
+ "engine": "Docker Engine",
310
+ "engineDesc": "Validator nodes run as Compose projects. Install Docker here if it is missing. Image prune stays on the Docker page.",
311
+ "client": "Client",
312
+ "image": "Image",
313
+ "present": "Local",
314
+ "local": "Pulled",
315
+ "missing": "Not pulled",
316
+ "size": "Size",
317
+ "usedBy": "Used by",
318
+ "unused": "No instance",
319
+ "pull": "Pull",
320
+ "pulling": "Pull {{ref}}",
321
+ "empty": "No pinned client images",
322
+ "emptyDesc": "The catalog is empty. This should not happen.",
323
+ "daemonDown": "Docker Engine is not running"
265
324
  }
266
325
  }
@@ -251,5 +251,12 @@
251
251
  "deleteKeepUserWarn": "The Linux user will stay on the host as an orphan. You must clean it up later.",
252
252
  "bindRfbLine": "RFB {{bind}} :{{port}}",
253
253
  "bindNovncLine": "noVNC 127.0.0.1:{{port}}",
254
- "bindNovncHint": "noVNC listens on localhost. The desktop is reached through this panel, not the public internet, unless RFB bind is all interfaces."
254
+ "bindNovncHint": "noVNC listens on localhost. The desktop is reached through this panel, not the public internet, unless RFB bind is all interfaces.",
255
+ "hostnameBroken": "This host cannot resolve its own hostname ({{hostname}}). Session start will fail.",
256
+ "hostnameFix": "Write hostname to /etc/hosts",
257
+ "hostnameFixTitle": "Append this line to /etc/hosts?",
258
+ "hostnameFixDesc": "{{line}}",
259
+ "hostnameFixDone": "Hostname /etc/hosts updated",
260
+ "startAfterCreateBlocked": "Disabled until the hostname resolves",
261
+ "hostnameBrokenIdle": "Hostname {{hostname}} does not resolve on this host. Fix /etc/hosts before you create a session."
255
262
  }
@@ -11,7 +11,9 @@
11
11
  "failed": "Échoué",
12
12
  "error": "Erreur",
13
13
  "unknown": "Non sondé",
14
- "fallback": "Inconnu"
14
+ "fallback": "Inconnu",
15
+ "activating": "Starting",
16
+ "stuck": "Start stuck"
15
17
  },
16
18
  "liveN": "{{count}} en ligne",
17
19
  "registeredOnly": "Enregistré uniquement",
@@ -136,5 +138,8 @@
136
138
  "historyTitleShort": "Ouvrir l'historique des commandes (lecture seule)",
137
139
  "expEdge": "Sur un bord :",
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 se termine à l'avant de Nginx",
58
58
  "removeArtifactHint": "Supprime seulement ce conf disque reliquat. Ne supprime pas le projet.",
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": "Cacher",
129
129
  "more": "Plus",
130
130
  "redirectedTo": "Ouvert {{to}} (était {{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": "dégradé",
44
44
  "production_capable": "prêt pour la production",
45
- "normal": "normale"
45
+ "normal": "normale",
46
+ "blocked": "blocked"
46
47
  },
47
48
  "details": "Détails",
48
49
  "certExpiryTitle": "Expiration du certificat :",
@@ -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": "La mise en file d'attente s'applique-t-elle aux membres de la flotte ?",
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": "Parcourir les données",
@@ -230,5 +230,9 @@
230
230
  "installConfirmConsequence": "Après installation et démarrage, PowerDNS liera le port 53.",
231
231
  "installPort53Busy": "Le port 53 est déjà utilisé. PowerDNS peut échouer à se lier tant que cet écouteur n’est pas arrêté ou réparé.",
232
232
  "installPort53BusyConsequence": "Réparez la liaison ou arrêtez l’autre écouteur avant d’attendre des réponses sur 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": "Démarrer",
@@ -509,5 +509,8 @@
509
509
  "opendkimNoReload": "OpenDKIM n’a pas de reload — redémarrez après un changement de clés ou de tables.",
510
510
  "opendkimNoReloadTitle": "systemctl reload opendkim n’est pas pris en charge sur cette pile",
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": "Remplissez le premier IPv4 sans bouclage de cet hôte",
147
147
  "pasvIpRequired": "Indiquez une IP publique PASV avant d’appliquer (NAT/cloud). Détectez ou saisissez une adresse.",
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 réelle de Cloudflare",
82
82
  "setIndexes": "Liste d'annuaire",
83
- "bodyInherit": "Mondial"
83
+ "bodyInherit": "Mondial",
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": "A également poussé le side-car SQL {{name}}",
66
66
  "controlPlaneDryRun": "Aperçu uniquement – ​​rien d’écrit. Dans le panneau, utilisez Restaurer et confirmez la phrase à écrire.",
67
67
  "controlPlaneNeedConfirm": "La restauration complète du plan de contrôle nécessite la phrase de confirmation RESTORE-CONTROL-PLANE.",
68
- "controlPlaneRestartAfter": "Redémarrez l'API après une restauration réussie."
68
+ "controlPlaneRestartAfter": "Redémarrez l'API après une restauration réussie.",
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 n'est pas installé"
75
+ "cliMissing": "redis-cli n'est pas installé",
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 rechargé",
@@ -91,7 +99,8 @@
91
99
  "vsftpdStarted": "vsftpd démarré",
92
100
  "openPortsStep": "Ports du pare-feu (manuel)",
93
101
  "openPortsReminder": "Ouvrez les ports TCP sur le pare-feu hôte et le groupe de sécurité cloud : {{ports}}. L'application FTPS n'ouvre pas les ports pour vous.",
94
- "openPortsPasvHint": "Si la connexion fonctionne mais que le LIST du répertoire expire, la plage de données PASV est bloquée — ouvrez le ful"
102
+ "openPortsPasvHint": "Si la connexion fonctionne mais que le LIST du répertoire expire, la plage de données PASV est bloquée — ouvrez le ful",
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": "Binaire Node manquant pour le déploiement isolé : {{path}} — installez la chaîne d'outils Node {{version}} puis redéployez. Refus d'écrire une unit qui provoquerait un 203/EXEC.",
@@ -146,7 +155,17 @@
146
155
  "applyDigOk": "PowerDNS BIND : list-zones + dig OK",
147
156
  "applyDigFail": "Zone enregistrée dans conf mais dig encore vide/REFUSED — non marquée comme appliquée",
148
157
  "applySyncIncomplete": "Sync PowerDNS bind incomplète — fichier de zone sur disque uniquement (non appliqué). Corriger EXECUTE/root ou les logs pdns.",
149
- "writeOnlyHint": "Fichier de zone écrit uniquement — PowerDNS ne répondra pas tant que load/apply n'enregistre pas named"
158
+ "writeOnlyHint": "Fichier de zone écrit uniquement — PowerDNS ne répondra pas tant que load/apply n'enregistre pas named",
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": "L'exécution hôte est désactivée ; impossible de créer la base depuis le panneau",
@@ -3008,7 +3027,16 @@
3008
3027
  "linuxUserRolledBack": "Suppression de l'utilisateur Linux restant {{user}} après l'échec du mot de passe VNC.",
3009
3028
  "linuxUserOrphan": "Impossible de supprimer l'utilisateur Linux restant {{user}} après l'échec du mot de passe 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": "Nom du serveur requis",
@@ -3093,7 +3121,15 @@
3093
3121
  "staleCliRemoved": "CLI résiduel {{path}} supprimé.",
3094
3122
  "staleCliRemoveFailed": "Impossible de supprimer le CLI résiduel {{path}} : {{detail}}",
3095
3123
  "vsftpdSslOff": "Certificat FTPS manquant : ssl_enable=NO sur vsftpd, puis redémarrage.",
3096
- "dovecotSslOff": "{{path}} manquant : Dovecot en ssl=no, puis redémarrage."
3124
+ "dovecotSslOff": "{{path}} manquant : Dovecot en ssl=no, puis redémarrage.",
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 n'est pas sur PATH",
@@ -62,7 +62,8 @@
62
62
  "deployTitle": "Suivant : Déployer",
63
63
  "deployBody": "Utilisez Déployer dans l'en-tête, ou l'onglet Déployer pour Git.",
64
64
  "nginxTitle": "Suivant : Publier Nginx",
65
- "nginxBody": "Ouvrez l'onglet Réseau pour publier Nginx (SSL optionnel)."
65
+ "nginxBody": "Ouvrez l'onglet Réseau pour publier Nginx (SSL optionnel).",
66
+ "provisionOsAction": "Create system user"
66
67
  },
67
68
  "healthDetail": {
68
69
  "none": "Pas encore de contrôle d'état",
@@ -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 active est {{live}} ; le formulaire a {{draft}}. Appliquez pour remplacer.",
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": "Activez d'abord 2FA sur ce compte, puis confirmez avec un code TOTP",
450
450
  "revokeAllDevicesTitle": "Révoquer tous les appareils mémorisés : vous et les autres administrateurs devez à nouveau vérifier 2FA",
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": "La CLI n'a pas de socket HTTP actif ; serveHttps est déduit des sockets de configuration et d'écoute (ss).",
88
88
  "listenHost": "Adresse d'écoute",
89
89
  "currentHost": "Cette séance",
90
- "replaceCert": "Remplacer par un certificat de confiance"
90
+ "replaceCert": "Remplacer par un certificat de confiance",
91
+ "needFqdn": "Need a FQDN (example.com), not a bare hostname"
91
92
  },
92
93
  "timeNtp": "Heure et NTP",
93
94
  "clockStatus": "État de l’horloge système",
@@ -206,5 +207,9 @@
206
207
  "noScheduledPower": "Aucun redémarrage ou mise hors tension n'est prévu",
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
  }