ysk-server-shared 1.1.12 → 1.1.13

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 (455) hide show
  1. package/dist/browser.d.ts +2 -0
  2. package/dist/browser.d.ts.map +1 -1
  3. package/dist/browser.js +2 -0
  4. package/dist/browser.js.map +1 -1
  5. package/dist/docker.d.ts +4 -0
  6. package/dist/docker.d.ts.map +1 -1
  7. package/dist/docker.js.map +1 -1
  8. package/dist/ident.d.ts +20 -0
  9. package/dist/ident.d.ts.map +1 -0
  10. package/dist/ident.js +111 -0
  11. package/dist/ident.js.map +1 -0
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +1 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/list-query.d.ts +2 -0
  17. package/dist/list-query.d.ts.map +1 -1
  18. package/dist/list-query.js.map +1 -1
  19. package/locales/ar/agents.json +11 -1
  20. package/locales/ar/backups.json +5 -1
  21. package/locales/ar/btTracker.json +7 -1
  22. package/locales/ar/cdn.json +9 -1
  23. package/locales/ar/common.json +2 -1
  24. package/locales/ar/dashboard.json +2 -1
  25. package/locales/ar/db.json +8 -1
  26. package/locales/ar/dns.json +3 -1
  27. package/locales/ar/docker.json +19 -3
  28. package/locales/ar/email.json +22 -1
  29. package/locales/ar/files.json +2 -1
  30. package/locales/ar/ftp.json +3 -1
  31. package/locales/ar/hostBrowse.json +2 -1
  32. package/locales/ar/metrics.json +2 -1
  33. package/locales/ar/migrate.json +9 -1
  34. package/locales/ar/nav.json +2 -1
  35. package/locales/ar/network.json +5 -1
  36. package/locales/ar/nginx.json +6 -1
  37. package/locales/ar/notes.json +19 -4
  38. package/locales/ar/opsResult.json +5 -1
  39. package/locales/ar/projects.json +4 -1
  40. package/locales/ar/publicFiles.json +4 -1
  41. package/locales/ar/runtime.json +8 -2
  42. package/locales/ar/services.json +18 -1
  43. package/locales/ar/software.json +3 -1
  44. package/locales/ar/stackWizard.json +16 -1
  45. package/locales/ar/tabs.json +3 -1
  46. package/locales/ar/translation.json +229 -41
  47. package/locales/ar/updates.json +3 -1
  48. package/locales/ar/users.json +2 -1
  49. package/locales/ar/validators.json +7 -3
  50. package/locales/ar/vnc.json +2 -1
  51. package/locales/ar/vpn.json +16 -2
  52. package/locales/bn/agents.json +11 -1
  53. package/locales/bn/backups.json +5 -1
  54. package/locales/bn/btTracker.json +7 -1
  55. package/locales/bn/cdn.json +9 -1
  56. package/locales/bn/common.json +2 -1
  57. package/locales/bn/dashboard.json +2 -1
  58. package/locales/bn/db.json +8 -1
  59. package/locales/bn/dns.json +3 -1
  60. package/locales/bn/docker.json +19 -3
  61. package/locales/bn/email.json +22 -1
  62. package/locales/bn/files.json +2 -1
  63. package/locales/bn/ftp.json +3 -1
  64. package/locales/bn/hostBrowse.json +2 -1
  65. package/locales/bn/metrics.json +2 -1
  66. package/locales/bn/migrate.json +9 -1
  67. package/locales/bn/nav.json +2 -1
  68. package/locales/bn/network.json +5 -1
  69. package/locales/bn/nginx.json +6 -1
  70. package/locales/bn/notes.json +19 -4
  71. package/locales/bn/opsResult.json +5 -1
  72. package/locales/bn/projects.json +4 -1
  73. package/locales/bn/publicFiles.json +4 -1
  74. package/locales/bn/runtime.json +8 -2
  75. package/locales/bn/services.json +18 -1
  76. package/locales/bn/software.json +3 -1
  77. package/locales/bn/stackWizard.json +16 -1
  78. package/locales/bn/tabs.json +3 -1
  79. package/locales/bn/translation.json +229 -41
  80. package/locales/bn/updates.json +3 -1
  81. package/locales/bn/users.json +2 -1
  82. package/locales/bn/validators.json +7 -3
  83. package/locales/bn/vnc.json +2 -1
  84. package/locales/bn/vpn.json +16 -2
  85. package/locales/en/agents.json +12 -2
  86. package/locales/en/backups.json +5 -1
  87. package/locales/en/btTracker.json +8 -2
  88. package/locales/en/cdn.json +8 -0
  89. package/locales/en/common.json +1 -0
  90. package/locales/en/dashboard.json +1 -0
  91. package/locales/en/db.json +10 -3
  92. package/locales/en/dns.json +2 -0
  93. package/locales/en/docker.json +17 -1
  94. package/locales/en/email.json +24 -3
  95. package/locales/en/files.json +1 -0
  96. package/locales/en/ftp.json +2 -0
  97. package/locales/en/hostBrowse.json +1 -0
  98. package/locales/en/metrics.json +1 -0
  99. package/locales/en/migrate.json +8 -0
  100. package/locales/en/nav.json +1 -0
  101. package/locales/en/network.json +4 -0
  102. package/locales/en/nginx.json +6 -1
  103. package/locales/en/notes.json +20 -5
  104. package/locales/en/opsResult.json +5 -1
  105. package/locales/en/projects.json +4 -1
  106. package/locales/en/protection.json +2 -2
  107. package/locales/en/publicFiles.json +4 -1
  108. package/locales/en/rbac.json +2 -2
  109. package/locales/en/runtime.json +7 -1
  110. package/locales/en/services.json +18 -1
  111. package/locales/en/software.json +2 -0
  112. package/locales/en/stackWizard.json +16 -1
  113. package/locales/en/tabs.json +3 -1
  114. package/locales/en/translation.json +220 -32
  115. package/locales/en/updates.json +3 -1
  116. package/locales/en/users.json +1 -0
  117. package/locales/en/validators.json +5 -1
  118. package/locales/en/vnc.json +1 -0
  119. package/locales/en/vpn.json +15 -1
  120. package/locales/es/agents.json +11 -1
  121. package/locales/es/backups.json +5 -1
  122. package/locales/es/btTracker.json +7 -1
  123. package/locales/es/cdn.json +9 -1
  124. package/locales/es/common.json +2 -1
  125. package/locales/es/dashboard.json +2 -1
  126. package/locales/es/db.json +8 -1
  127. package/locales/es/dns.json +3 -1
  128. package/locales/es/docker.json +19 -3
  129. package/locales/es/email.json +22 -1
  130. package/locales/es/files.json +2 -1
  131. package/locales/es/ftp.json +3 -1
  132. package/locales/es/hostBrowse.json +2 -1
  133. package/locales/es/metrics.json +2 -1
  134. package/locales/es/migrate.json +9 -1
  135. package/locales/es/nav.json +2 -1
  136. package/locales/es/network.json +5 -1
  137. package/locales/es/nginx.json +6 -1
  138. package/locales/es/notes.json +19 -4
  139. package/locales/es/opsResult.json +5 -1
  140. package/locales/es/projects.json +4 -1
  141. package/locales/es/publicFiles.json +4 -1
  142. package/locales/es/runtime.json +8 -2
  143. package/locales/es/services.json +18 -1
  144. package/locales/es/software.json +3 -1
  145. package/locales/es/stackWizard.json +16 -1
  146. package/locales/es/tabs.json +3 -1
  147. package/locales/es/translation.json +229 -41
  148. package/locales/es/updates.json +3 -1
  149. package/locales/es/users.json +2 -1
  150. package/locales/es/validators.json +7 -3
  151. package/locales/es/vnc.json +2 -1
  152. package/locales/es/vpn.json +16 -2
  153. package/locales/fr/agents.json +11 -1
  154. package/locales/fr/backups.json +5 -1
  155. package/locales/fr/btTracker.json +7 -1
  156. package/locales/fr/cdn.json +9 -1
  157. package/locales/fr/common.json +2 -1
  158. package/locales/fr/dashboard.json +2 -1
  159. package/locales/fr/db.json +8 -1
  160. package/locales/fr/dns.json +3 -1
  161. package/locales/fr/docker.json +19 -3
  162. package/locales/fr/email.json +22 -1
  163. package/locales/fr/files.json +2 -1
  164. package/locales/fr/ftp.json +3 -1
  165. package/locales/fr/hostBrowse.json +2 -1
  166. package/locales/fr/metrics.json +2 -1
  167. package/locales/fr/migrate.json +9 -1
  168. package/locales/fr/nav.json +2 -1
  169. package/locales/fr/network.json +5 -1
  170. package/locales/fr/nginx.json +6 -1
  171. package/locales/fr/notes.json +19 -4
  172. package/locales/fr/opsResult.json +5 -1
  173. package/locales/fr/projects.json +4 -1
  174. package/locales/fr/publicFiles.json +4 -1
  175. package/locales/fr/runtime.json +8 -2
  176. package/locales/fr/services.json +18 -1
  177. package/locales/fr/software.json +3 -1
  178. package/locales/fr/stackWizard.json +16 -1
  179. package/locales/fr/tabs.json +3 -1
  180. package/locales/fr/translation.json +229 -41
  181. package/locales/fr/updates.json +3 -1
  182. package/locales/fr/users.json +2 -1
  183. package/locales/fr/validators.json +7 -3
  184. package/locales/fr/vnc.json +2 -1
  185. package/locales/fr/vpn.json +16 -2
  186. package/locales/hi/agents.json +11 -1
  187. package/locales/hi/backups.json +5 -1
  188. package/locales/hi/btTracker.json +7 -1
  189. package/locales/hi/cdn.json +9 -1
  190. package/locales/hi/common.json +2 -1
  191. package/locales/hi/dashboard.json +2 -1
  192. package/locales/hi/db.json +8 -1
  193. package/locales/hi/dns.json +3 -1
  194. package/locales/hi/docker.json +19 -3
  195. package/locales/hi/email.json +22 -1
  196. package/locales/hi/files.json +2 -1
  197. package/locales/hi/ftp.json +3 -1
  198. package/locales/hi/hostBrowse.json +2 -1
  199. package/locales/hi/metrics.json +2 -1
  200. package/locales/hi/migrate.json +9 -1
  201. package/locales/hi/nav.json +2 -1
  202. package/locales/hi/network.json +5 -1
  203. package/locales/hi/nginx.json +6 -1
  204. package/locales/hi/notes.json +19 -4
  205. package/locales/hi/opsResult.json +5 -1
  206. package/locales/hi/projects.json +4 -1
  207. package/locales/hi/publicFiles.json +4 -1
  208. package/locales/hi/runtime.json +8 -2
  209. package/locales/hi/services.json +18 -1
  210. package/locales/hi/software.json +3 -1
  211. package/locales/hi/stackWizard.json +16 -1
  212. package/locales/hi/tabs.json +3 -1
  213. package/locales/hi/translation.json +229 -41
  214. package/locales/hi/updates.json +3 -1
  215. package/locales/hi/users.json +2 -1
  216. package/locales/hi/validators.json +7 -3
  217. package/locales/hi/vnc.json +2 -1
  218. package/locales/hi/vpn.json +16 -2
  219. package/locales/id/agents.json +11 -1
  220. package/locales/id/backups.json +5 -1
  221. package/locales/id/btTracker.json +7 -1
  222. package/locales/id/cdn.json +9 -1
  223. package/locales/id/common.json +2 -1
  224. package/locales/id/dashboard.json +2 -1
  225. package/locales/id/db.json +8 -1
  226. package/locales/id/dns.json +3 -1
  227. package/locales/id/docker.json +19 -3
  228. package/locales/id/email.json +22 -1
  229. package/locales/id/files.json +2 -1
  230. package/locales/id/ftp.json +3 -1
  231. package/locales/id/hostBrowse.json +2 -1
  232. package/locales/id/metrics.json +2 -1
  233. package/locales/id/migrate.json +9 -1
  234. package/locales/id/nav.json +2 -1
  235. package/locales/id/network.json +5 -1
  236. package/locales/id/nginx.json +6 -1
  237. package/locales/id/notes.json +19 -4
  238. package/locales/id/opsResult.json +5 -1
  239. package/locales/id/projects.json +4 -1
  240. package/locales/id/publicFiles.json +4 -1
  241. package/locales/id/runtime.json +8 -2
  242. package/locales/id/services.json +18 -1
  243. package/locales/id/software.json +3 -1
  244. package/locales/id/stackWizard.json +16 -1
  245. package/locales/id/tabs.json +3 -1
  246. package/locales/id/translation.json +229 -41
  247. package/locales/id/updates.json +3 -1
  248. package/locales/id/users.json +2 -1
  249. package/locales/id/validators.json +7 -3
  250. package/locales/id/vnc.json +2 -1
  251. package/locales/id/vpn.json +16 -2
  252. package/locales/ja/agents.json +11 -1
  253. package/locales/ja/backups.json +5 -1
  254. package/locales/ja/btTracker.json +7 -1
  255. package/locales/ja/cdn.json +9 -1
  256. package/locales/ja/common.json +2 -1
  257. package/locales/ja/dashboard.json +2 -1
  258. package/locales/ja/db.json +8 -1
  259. package/locales/ja/dns.json +3 -1
  260. package/locales/ja/docker.json +19 -3
  261. package/locales/ja/email.json +22 -1
  262. package/locales/ja/files.json +2 -1
  263. package/locales/ja/ftp.json +3 -1
  264. package/locales/ja/hostBrowse.json +2 -1
  265. package/locales/ja/metrics.json +2 -1
  266. package/locales/ja/migrate.json +9 -1
  267. package/locales/ja/nav.json +2 -1
  268. package/locales/ja/network.json +5 -1
  269. package/locales/ja/nginx.json +6 -1
  270. package/locales/ja/notes.json +19 -4
  271. package/locales/ja/opsResult.json +5 -1
  272. package/locales/ja/projects.json +4 -1
  273. package/locales/ja/publicFiles.json +4 -1
  274. package/locales/ja/runtime.json +8 -2
  275. package/locales/ja/services.json +18 -1
  276. package/locales/ja/software.json +3 -1
  277. package/locales/ja/stackWizard.json +16 -1
  278. package/locales/ja/tabs.json +3 -1
  279. package/locales/ja/translation.json +229 -41
  280. package/locales/ja/updates.json +3 -1
  281. package/locales/ja/users.json +2 -1
  282. package/locales/ja/validators.json +7 -3
  283. package/locales/ja/vnc.json +2 -1
  284. package/locales/ja/vpn.json +16 -2
  285. package/locales/ko/agents.json +11 -1
  286. package/locales/ko/backups.json +5 -1
  287. package/locales/ko/btTracker.json +7 -1
  288. package/locales/ko/cdn.json +9 -1
  289. package/locales/ko/common.json +2 -1
  290. package/locales/ko/dashboard.json +2 -1
  291. package/locales/ko/db.json +8 -1
  292. package/locales/ko/dns.json +3 -1
  293. package/locales/ko/docker.json +19 -3
  294. package/locales/ko/email.json +22 -1
  295. package/locales/ko/files.json +2 -1
  296. package/locales/ko/ftp.json +3 -1
  297. package/locales/ko/hostBrowse.json +2 -1
  298. package/locales/ko/metrics.json +2 -1
  299. package/locales/ko/migrate.json +9 -1
  300. package/locales/ko/nav.json +2 -1
  301. package/locales/ko/network.json +5 -1
  302. package/locales/ko/nginx.json +6 -1
  303. package/locales/ko/notes.json +19 -4
  304. package/locales/ko/opsResult.json +5 -1
  305. package/locales/ko/projects.json +4 -1
  306. package/locales/ko/publicFiles.json +4 -1
  307. package/locales/ko/runtime.json +8 -2
  308. package/locales/ko/services.json +18 -1
  309. package/locales/ko/software.json +3 -1
  310. package/locales/ko/stackWizard.json +16 -1
  311. package/locales/ko/tabs.json +3 -1
  312. package/locales/ko/translation.json +229 -41
  313. package/locales/ko/updates.json +3 -1
  314. package/locales/ko/users.json +2 -1
  315. package/locales/ko/validators.json +7 -3
  316. package/locales/ko/vnc.json +2 -1
  317. package/locales/ko/vpn.json +16 -2
  318. package/locales/pt/agents.json +11 -1
  319. package/locales/pt/backups.json +5 -1
  320. package/locales/pt/btTracker.json +7 -1
  321. package/locales/pt/cdn.json +9 -1
  322. package/locales/pt/common.json +2 -1
  323. package/locales/pt/dashboard.json +2 -1
  324. package/locales/pt/db.json +8 -1
  325. package/locales/pt/dns.json +3 -1
  326. package/locales/pt/docker.json +19 -3
  327. package/locales/pt/email.json +22 -1
  328. package/locales/pt/files.json +2 -1
  329. package/locales/pt/ftp.json +3 -1
  330. package/locales/pt/hostBrowse.json +2 -1
  331. package/locales/pt/metrics.json +2 -1
  332. package/locales/pt/migrate.json +9 -1
  333. package/locales/pt/nav.json +2 -1
  334. package/locales/pt/network.json +5 -1
  335. package/locales/pt/nginx.json +6 -1
  336. package/locales/pt/notes.json +19 -4
  337. package/locales/pt/opsResult.json +5 -1
  338. package/locales/pt/projects.json +4 -1
  339. package/locales/pt/publicFiles.json +4 -1
  340. package/locales/pt/runtime.json +8 -2
  341. package/locales/pt/services.json +18 -1
  342. package/locales/pt/software.json +3 -1
  343. package/locales/pt/stackWizard.json +16 -1
  344. package/locales/pt/tabs.json +3 -1
  345. package/locales/pt/translation.json +229 -41
  346. package/locales/pt/updates.json +3 -1
  347. package/locales/pt/users.json +2 -1
  348. package/locales/pt/validators.json +7 -3
  349. package/locales/pt/vnc.json +2 -1
  350. package/locales/pt/vpn.json +16 -2
  351. package/locales/ur/agents.json +11 -1
  352. package/locales/ur/backups.json +5 -1
  353. package/locales/ur/btTracker.json +7 -1
  354. package/locales/ur/cdn.json +9 -1
  355. package/locales/ur/common.json +2 -1
  356. package/locales/ur/dashboard.json +2 -1
  357. package/locales/ur/db.json +8 -1
  358. package/locales/ur/dns.json +3 -1
  359. package/locales/ur/docker.json +19 -3
  360. package/locales/ur/email.json +22 -1
  361. package/locales/ur/files.json +2 -1
  362. package/locales/ur/ftp.json +3 -1
  363. package/locales/ur/hostBrowse.json +2 -1
  364. package/locales/ur/metrics.json +2 -1
  365. package/locales/ur/migrate.json +9 -1
  366. package/locales/ur/nav.json +2 -1
  367. package/locales/ur/network.json +5 -1
  368. package/locales/ur/nginx.json +6 -1
  369. package/locales/ur/notes.json +19 -4
  370. package/locales/ur/opsResult.json +5 -1
  371. package/locales/ur/projects.json +4 -1
  372. package/locales/ur/publicFiles.json +4 -1
  373. package/locales/ur/runtime.json +8 -2
  374. package/locales/ur/services.json +18 -1
  375. package/locales/ur/software.json +3 -1
  376. package/locales/ur/stackWizard.json +16 -1
  377. package/locales/ur/tabs.json +3 -1
  378. package/locales/ur/translation.json +229 -41
  379. package/locales/ur/updates.json +3 -1
  380. package/locales/ur/users.json +2 -1
  381. package/locales/ur/validators.json +7 -3
  382. package/locales/ur/vnc.json +2 -1
  383. package/locales/ur/vpn.json +16 -2
  384. package/locales/zh-CN/agents.json +11 -1
  385. package/locales/zh-CN/backups.json +5 -1
  386. package/locales/zh-CN/btTracker.json +7 -1
  387. package/locales/zh-CN/cdn.json +9 -1
  388. package/locales/zh-CN/common.json +1 -0
  389. package/locales/zh-CN/dashboard.json +2 -1
  390. package/locales/zh-CN/db.json +10 -3
  391. package/locales/zh-CN/dns.json +2 -0
  392. package/locales/zh-CN/docker.json +19 -3
  393. package/locales/zh-CN/email.json +22 -1
  394. package/locales/zh-CN/files.json +2 -1
  395. package/locales/zh-CN/ftp.json +3 -1
  396. package/locales/zh-CN/hostBrowse.json +2 -1
  397. package/locales/zh-CN/metrics.json +2 -1
  398. package/locales/zh-CN/migrate.json +9 -1
  399. package/locales/zh-CN/nav.json +2 -1
  400. package/locales/zh-CN/network.json +5 -1
  401. package/locales/zh-CN/nginx.json +6 -1
  402. package/locales/zh-CN/notes.json +20 -5
  403. package/locales/zh-CN/opsResult.json +5 -1
  404. package/locales/zh-CN/projects.json +4 -1
  405. package/locales/zh-CN/publicFiles.json +4 -1
  406. package/locales/zh-CN/rbac.json +2 -2
  407. package/locales/zh-CN/runtime.json +8 -2
  408. package/locales/zh-CN/services.json +18 -1
  409. package/locales/zh-CN/software.json +3 -1
  410. package/locales/zh-CN/stackWizard.json +16 -1
  411. package/locales/zh-CN/tabs.json +3 -1
  412. package/locales/zh-CN/translation.json +232 -44
  413. package/locales/zh-CN/updates.json +3 -1
  414. package/locales/zh-CN/users.json +1 -0
  415. package/locales/zh-CN/validators.json +7 -3
  416. package/locales/zh-CN/vnc.json +2 -1
  417. package/locales/zh-CN/vpn.json +17 -3
  418. package/locales/zh-HK/agents.json +14 -4
  419. package/locales/zh-HK/backups.json +5 -1
  420. package/locales/zh-HK/btTracker.json +12 -6
  421. package/locales/zh-HK/cdn.json +8 -0
  422. package/locales/zh-HK/common.json +1 -0
  423. package/locales/zh-HK/dashboard.json +1 -0
  424. package/locales/zh-HK/db.json +10 -3
  425. package/locales/zh-HK/dns.json +2 -0
  426. package/locales/zh-HK/docker.json +17 -1
  427. package/locales/zh-HK/email.json +26 -5
  428. package/locales/zh-HK/fail2ban.json +1 -1
  429. package/locales/zh-HK/files.json +2 -1
  430. package/locales/zh-HK/firewall.json +1 -1
  431. package/locales/zh-HK/ftp.json +2 -0
  432. package/locales/zh-HK/hostBrowse.json +1 -0
  433. package/locales/zh-HK/metrics.json +1 -0
  434. package/locales/zh-HK/migrate.json +8 -0
  435. package/locales/zh-HK/nav.json +1 -0
  436. package/locales/zh-HK/network.json +4 -0
  437. package/locales/zh-HK/nginx.json +6 -1
  438. package/locales/zh-HK/notes.json +19 -4
  439. package/locales/zh-HK/opsResult.json +5 -1
  440. package/locales/zh-HK/projects.json +4 -1
  441. package/locales/zh-HK/protection.json +3 -3
  442. package/locales/zh-HK/publicFiles.json +7 -4
  443. package/locales/zh-HK/rbac.json +2 -2
  444. package/locales/zh-HK/runtime.json +7 -1
  445. package/locales/zh-HK/services.json +17 -0
  446. package/locales/zh-HK/software.json +2 -0
  447. package/locales/zh-HK/stackWizard.json +16 -1
  448. package/locales/zh-HK/tabs.json +3 -1
  449. package/locales/zh-HK/translation.json +233 -45
  450. package/locales/zh-HK/updates.json +3 -1
  451. package/locales/zh-HK/users.json +1 -0
  452. package/locales/zh-HK/validators.json +5 -1
  453. package/locales/zh-HK/vnc.json +1 -0
  454. package/locales/zh-HK/vpn.json +15 -1
  455. package/package.json +1 -1
@@ -19,9 +19,17 @@
19
19
  "unknown": "Not probed",
20
20
  "fallback": "Unknown"
21
21
  },
22
+ "cmdStatus": {
23
+ "queued": "Queued",
24
+ "acked": "Acked",
25
+ "done": "Done",
26
+ "error": "Error"
27
+ },
22
28
  "activatingStuckHint": "Activating longer than 5 minutes — treated as failed. Check journal.",
23
29
  "noOnlineAgents": "No agents online",
24
30
  "journal": "journal",
31
+ "writeUnit": "Write unit",
32
+ "writeUnitConfirm": "Write the systemd unit for {{kind}} under /etc/systemd. The service is not started or enabled.",
25
33
  "liveN": "{{count}} online",
26
34
  "registeredOnly": "Registered only",
27
35
  "awaitProbe": "Awaiting probe",
@@ -48,10 +56,10 @@
48
56
  "capStatus": "Status",
49
57
  "capStatusD": "Registered only → online (heartbeat) → stale (>60s without heartbeat) → offline (disconnected / no further heartbeat)",
50
58
  "statusFlowTitle": "Status flow",
51
- "statusFlow": "Registered only → online → stale (>60s) → offline (disconnected). Filter “Offline” is disconnected.",
59
+ "statusFlow": "Registered only → online → stale (>60s) → offline. Filter “Offline” means disconnected.",
52
60
  "colSession": "Session UUID",
53
61
  "copySession": "Copy session UUID for cluster / CLI --session",
54
- "staleFor": "Unseen {{age}}",
62
+ "staleFor": "Stale {{age}}",
55
63
  "commandTitle": "Queue a command for this session",
56
64
  "historyTitleShort": "Open command history (read-only)",
57
65
  "fleetTitle": "Fleet ({{count}})",
@@ -72,6 +80,7 @@
72
80
  "finishedAt": "Finished {{at}}",
73
81
  "colCommand": "Command",
74
82
  "colResult": "Result summary",
83
+ "colExit": "Exit",
75
84
  "hasResult": "Has result",
76
85
  "emptyCmds": "No commands yet",
77
86
  "emptyCmdsDesc": "Queue with “Command”; stays queued until the edge agent is online",
@@ -87,6 +96,7 @@
87
96
  "pathExists": "Exists",
88
97
  "pathMissing": "Not installed",
89
98
  "unitUnknown": "{{unit}} · unknown",
99
+ "unitFallback": "unit",
90
100
  "path": "Path",
91
101
  "probe": "Probe",
92
102
  "install": "Install",
@@ -478,7 +488,11 @@
478
488
  "skippedListHint": "These projects were skipped:",
479
489
  "skippedPendingOs": "Skipped — OS user / home not provisioned",
480
490
  "goLogs": "Open logs",
481
- "goAbout": "Backup notes"
491
+ "goAbout": "Backup notes",
492
+ "previewListingTitle": "Archive contents",
493
+ "restoreNamedDesc": "Restore {{name}} into project {{project}}.",
494
+ "overwriteNamedDesc": "Overwrite files of project {{project}} from snapshot {{snapshot}}.",
495
+ "resticSafeNamed": "Restore snapshot {{snapshot}} of project {{project}} into a safe directory."
482
496
  },
483
497
  "btTracker": {
484
498
  "title": "BT Tracker",
@@ -609,6 +623,12 @@
609
623
  "startedOk": "Started",
610
624
  "stoppedOk": "Stopped",
611
625
  "restoredOk": "Re-seed done",
626
+ "restoredCount": "Re-seeded {{seeded}} of {{attempted}} torrents",
627
+ "portInvalid": "Enter a port from 1 to 65535.",
628
+ "extraTrackerRequired": "Enter an announce URL.",
629
+ "stopPort": "Tracker port {{port}} will stop listening.",
630
+ "stopPid": "Process PID {{pid}} will exit.",
631
+ "swarmLeftoverUnlisted": "{{count}} extra leftover announce(s) have no hash in this list.",
612
632
  "httpPortHint": "",
613
633
  "udpPortHint": "",
614
634
  "udpPortOff": "Off",
@@ -619,7 +639,7 @@
619
639
  "tabTrackers": "Trackers",
620
640
  "addTorrent": "Add torrent",
621
641
  "addTorrentTitle": "Add torrent",
622
- "addTorrentHint": "Upload a .torrent or paste a magnet. Choose a Files folder. WebTorrent downloads missing files and seeds when complete.",
642
+ "addTorrentHint": "Upload a .torrent or paste a magnet. After the file is read, pick where to save. WebTorrent downloads missing files and seeds when complete.",
623
643
  "dropTorrent": "Drop a .torrent here",
624
644
  "chooseFile": "or choose a file",
625
645
  "magnetLabel": "Magnet",
@@ -635,7 +655,7 @@
635
655
  "filterPaused": "Paused",
636
656
  "filterError": "Error",
637
657
  "emptyDrop": "Drop a .torrent here, or choose a file",
638
- "emptyHint": "Files go in the folder you pick. If they are already complete, this host seeds. Engine: WebTorrent no extra download software.",
658
+ "emptyHint": "Drop a .torrent or paste a magnet. After it is read, the dialog asks where to save. Complete files seed on this host. Engine: WebTorrent.",
639
659
  "pause": "Pause",
640
660
  "resume": "Resume",
641
661
  "openFolder": "Open folder",
@@ -758,6 +778,14 @@
758
778
  "partial": "Partial"
759
779
  },
760
780
  "statSites": "Sites",
781
+ "statSitesCount": "{{n}} sites",
782
+ "cacheMethod": {
783
+ "none": "No estimate",
784
+ "access_log": "Access log",
785
+ "cache_dir": "Cache directory",
786
+ "log_format": "Need log format"
787
+ },
788
+ "geoMapLabel": "Geo map (JSON)",
761
789
  "statApplyFailed": "Apply failed",
762
790
  "pillNodesSites": "{{n}} nodes · {{s}} sites",
763
791
  "statOnline": "Online",
@@ -2144,6 +2172,7 @@
2144
2172
  "noData": "No data",
2145
2173
  "input": "Input",
2146
2174
  "pleaseEnter": "Enter {{value}}",
2175
+ "pleaseFill": "Please fill in this field",
2147
2176
  "required": "Required",
2148
2177
  "about": "About",
2149
2178
  "more": "More",
@@ -2497,6 +2526,7 @@
2497
2526
  "wizardDesc": "Create a project and optionally draft DNS / mail / database (apply on each feature page)",
2498
2527
  "projectName": "Project name",
2499
2528
  "projectNameHint": "Display name; creates a matching directory",
2529
+ "nameRequired": "Enter a project name",
2500
2530
  "domainOptional": "Domain (optional)",
2501
2531
  "domainHint": "Required to enable DNS and mail options",
2502
2532
  "runtime": "Runtime",
@@ -2799,12 +2829,12 @@
2799
2829
  "applyBootstrapDesc": "Installs Galera drop-in and bootstrap (galera_new_cluster)",
2800
2830
  "applyJoinDesc": "Installs Galera drop-in and systemctl restart mariadb",
2801
2831
  "confirmApply": "Confirm apply",
2802
- "deleteClusterTitle": "Delete cluster registration?",
2832
+ "deleteClusterTitle": "Delete cluster registration {{name}} ({{engine}})?",
2803
2833
  "remoteInstallTitle": "Remote-install peer?",
2804
2834
  "pushTitle": "Push to peer?",
2805
2835
  "fleetSyncTitle": "Fleet sync?",
2806
2836
  "confirmOp": "Confirm",
2807
- "deleteClusterDesc": "System conf is not auto-cleared (v1).",
2837
+ "deleteClusterDesc": "Delete the {{engine}} cluster registration “{{name}}”. System conf is not auto-cleared (v1).",
2808
2838
  "remoteInstallDesc": "Install conf + restart on peer. Needs YSK_EXECUTE + SSH.",
2809
2839
  "pushDesc": "scp files to peer /tmp?",
2810
2840
  "fleetSyncDesc": "Sync cluster snapshot to fleet edge, then apply.",
@@ -2899,7 +2929,14 @@
2899
2929
  "serviceDownBody": "Service is unhealthy",
2900
2930
  "adoptHostDb": "Register in panel (no create): {{name}}",
2901
2931
  "adoptHostDbTitle": "Registers the name in the control plane only — does not change host data",
2902
- "cleanupExpiredTempUsersTitle": "Drops panel-issued temporary users that have expired"
2932
+ "cleanupExpiredTempUsersTitle": "Drops panel-issued temporary users that have expired",
2933
+ "invalidSqlIdent": "Use a lowercase identifier: start with a letter, then letters, digits, or underscore.",
2934
+ "remoteHostRequired": "Enter a remote host.",
2935
+ "remoteTestUnsaved": "Save this host first, then Test connection. Or fill host and save.",
2936
+ "serverNotInstalled": "This engine is not installed on the server.",
2937
+ "dumpNeedEngine": "Install the engine before exporting a database.",
2938
+ "unboundDatabase": "Database registration removed",
2939
+ "userGoneRefresh": "That user is gone. The list was refreshed."
2903
2940
  },
2904
2941
  "dialogs": {
2905
2942
  "confirmDefault": "Confirm",
@@ -3012,6 +3049,8 @@
3012
3049
  "lookupType": "Query type",
3013
3050
  "lookupResults": "Results ({{count}})",
3014
3051
  "lookupNoAnswerFail": "No answers / failed",
3052
+ "digNotInstalled": "dig is not installed",
3053
+ "digNotInstalledHint": "This tab needs the dig binary (bind9-dnsutils). That is not NXDOMAIN. Install bind9-dnsutils from the host package manager; this page does not auto-install it.",
3015
3054
  "method": "Method: {{method}}",
3016
3055
  "noAnswers": "No answers",
3017
3056
  "noAnswersDesc": "NXDOMAIN, empty RRset, or resolve failure",
@@ -3296,7 +3335,11 @@
3296
3335
  "mutateFailed": "Docker command failed",
3297
3336
  "engineFailed": "Could not control docker.service",
3298
3337
  "badExec": "Exec is limited to allowlisted binaries and presets (no shell, no TTY)",
3299
- "uninstallBusy": "Stop YSK-managed containers (including validator stacks) before uninstalling Docker"
3338
+ "uninstallBusy": "Stop YSK-managed containers (including validator stacks) before uninstalling Docker",
3339
+ "badCommand": "Invalid command or entrypoint",
3340
+ "portBusy": "Host port {{bind}}:{{port}} is already in use",
3341
+ "nameInUse": "A container named {{name}} already exists. Remove it or pick another name.",
3342
+ "unpublished": "Container did not attach to a network or publish ports. Not treating this as started."
3300
3343
  },
3301
3344
  "notes": {
3302
3345
  "dryMutate": "Dry-run only. Pass --execute and YSK_EXECUTE=1 to change the host.",
@@ -3309,6 +3352,7 @@
3309
3352
  "restart": "Container restarted",
3310
3353
  "remove": "Container removed",
3311
3354
  "ran": "Container started from image",
3355
+ "leftoverRemoved": "Removed leftover container {{name}} after bind failure",
3312
3356
  "pulled": "Image pulled",
3313
3357
  "exec": "Ran allowlisted exec",
3314
3358
  "imageRemoved": "Image removed",
@@ -3378,6 +3422,17 @@
3378
3422
  "scopeBuilder": "Build cache",
3379
3423
  "scopeSystem": "Everything unused",
3380
3424
  "noVolumesYet": "No volumes yet — create one on the Volumes tab first.",
3425
+ "command": "Command",
3426
+ "commandHint": "Optional. Tokens after the image. Leave blank to use the image CMD.",
3427
+ "entrypoint": "Entrypoint",
3428
+ "entrypointHint": "Optional single binary. Leave blank to use the image ENTRYPOINT.",
3429
+ "portMap": "host:container",
3430
+ "portOccupied": "This host port is already in use",
3431
+ "validatorImage": "Managed by validator nodes",
3432
+ "newVolume": "New named volume",
3433
+ "loopbackUrl": "Local test URL",
3434
+ "nginxProxy": "Create Nginx reverse proxy",
3435
+ "intentPorts": "Requested (not published)",
3381
3436
  "customPort": "Another host port",
3382
3437
  "customPortHost": "Host port",
3383
3438
  "customPortContainer": "Container port",
@@ -3557,7 +3612,7 @@
3557
3612
  "subject": "Subject",
3558
3613
  "body": "Body",
3559
3614
  "saveApplyAutoreply": "Save and apply autoreply",
3560
- "saveAutoreplyWritten": "Save autoreply (written)",
3615
+ "saveAutoreplyWritten": "Save autoreply",
3561
3616
  "suspendApply": "Suspend and apply REJECT",
3562
3617
  "suspendWritten": "Suspend domain (written)",
3563
3618
  "resumeApply": "Resume and update map",
@@ -3653,7 +3708,7 @@
3653
3708
  "createMailboxBtn": "Create mailbox",
3654
3709
  "localPartLabel": "Local part",
3655
3710
  "localPartFullHint": "Full address will be {{local}}@{{domain}}",
3656
- "passwordOptionalHint8": "Optional; hash written only if at least 8 chars",
3711
+ "passwordOptionalHint8": "Optional; if set, must be at least 8 characters",
3657
3712
  "live": {
3658
3713
  "noMx": "no MX",
3659
3714
  "mxLookupFailed": "MX lookup failed",
@@ -3909,7 +3964,28 @@
3909
3964
  "dovecotFailedStatus": "Dovecot is {{status}}. Open the Software tab for the unit summary.",
3910
3965
  "mailCertMissing": "No certificate for {{hosts}}. Issue it on the SSL page.",
3911
3966
  "mailCertPresent": "A mail certificate is already issued — this is not a missing-cert problem.",
3912
- "webmailNeedCert": "No certificate for {{host}} — issue it on SSL before forcing HTTPS."
3967
+ "webmailNeedCert": "No certificate for {{host}} — issue it on SSL before forcing HTTPS.",
3968
+ "domainRequired": "Enter a domain",
3969
+ "domainInvalid": "Enter a valid domain",
3970
+ "serverIpRequired": "Enter a server IP",
3971
+ "serverIpInvalid": "Enter a valid IP address",
3972
+ "serverIpv6Invalid": "Enter a valid IPv6 address",
3973
+ "localPartRequired": "Enter a local part",
3974
+ "localPartInvalid": "Local part may only use letters, digits, . _ + -",
3975
+ "aliasDestRequired": "Enter at least one destination address",
3976
+ "mailboxStatusManaged": "Managed",
3977
+ "mailboxStatusActiveShort": "Active",
3978
+ "mailboxStatusDisabledShort": "Disabled",
3979
+ "mailboxStatusSystem": "System provisioned",
3980
+ "mailboxStatusPending": "Pending system",
3981
+ "mailboxStatusFailed": "System failed",
3982
+ "dnsblCleanStatus": "Not listed",
3983
+ "dnsblListedStatus": "Listed",
3984
+ "deliverabilityDone": "Delivery check complete ({{score}}/100)",
3985
+ "sieveEmpty": "No written Sieve files",
3986
+ "sieveListed": "{{count}} written file(s)",
3987
+ "webmailHostnameRequired": "Enter a webmail hostname",
3988
+ "sieveFilesTitle": "Written files"
3913
3989
  },
3914
3990
  "errors": {
3915
3991
  "YSK_UNAUTHORIZED": "Unauthorized",
@@ -4232,6 +4308,7 @@
4232
4308
  "noVersions": "No version history yet",
4233
4309
  "noVersionsHint": "",
4234
4310
  "versionRestored": "Restored",
4311
+ "restoreVersionConfirm": "Restore {{version}} over the current file {{file}}? This overwrites the file on disk.",
4235
4312
  "renameTitle": "Rename",
4236
4313
  "renameCurrent": "Current: {{name}}",
4237
4314
  "renamed": "Renamed",
@@ -4570,6 +4647,7 @@
4570
4647
  "keyFingerprint": "Key fingerprint (prefix)",
4571
4648
  "createHint": "Create an FTP account on the Accounts tab first, then return here to register keys.",
4572
4649
  "pubkeyHint": "Use “+ Add public key”, choose an FTP user, and paste a full ssh-ed25519 or ssh-rsa line.",
4650
+ "sftpKeyInvalid": "Need a username and a public key that starts with ssh-.",
4573
4651
  "quickSelect": "Quick-select account",
4574
4652
  "quickSelectHint": "Click a username to fill the new-key form",
4575
4653
  "editAccount": "Edit FTP account",
@@ -4595,6 +4673,7 @@
4595
4673
  "sshPubkey": "SSH public key",
4596
4674
  "sshPubkeyHint": "Usually from ~/.ssh/id_ed25519.pub, paste whole line",
4597
4675
  "deleteAccountTitle": "Delete FTP account?",
4676
+ "deleteAccountNamed": "Delete FTP account {{name}}?",
4598
4677
  "deleteAccountDesc": "Apply again after remove",
4599
4678
  "deleteKeyTitle": "Delete SFTP public key?",
4600
4679
  "deleteKeyDesc": "Removes from management file; system authorized_keys may need reload.",
@@ -4972,6 +5051,7 @@
4972
5051
  "resumeHintDetail": "Resume previous session ({{count}} tabs) · {{url}} · {{when}}",
4973
5052
  "resumeHintOwned": "Resume last browse for {{user}} ({{count}} tabs) · {{url}} · {{when}}",
4974
5053
  "clearSessionData": "Clear session data",
5054
+ "clearSessionConfirm": "This discards the resume snapshot for the previous browse session. You cannot restore those tabs afterwards.",
4975
5055
  "resume": "Resume",
4976
5056
  "resumeDismiss": "Dismiss",
4977
5057
  "resumeDone": "Session resumed",
@@ -5360,6 +5440,7 @@
5360
5440
  "applyRenice": "Apply renice",
5361
5441
  "reniceHint": "-20 highest · 19 lowest (needs EXECUTE)",
5362
5442
  "noData": "No data",
5443
+ "shareOfMeasured": "{{pct}}% of measured",
5363
5444
  "mountsTitle": "Disk mounts ({{count}})",
5364
5445
  "mountsDesc": "Real disk usage (temporary filesystems filtered)",
5365
5446
  "noMounts": "No mount list",
@@ -5446,6 +5527,14 @@
5446
5527
  "jobsTitle": "Migration jobs ({{count}})",
5447
5528
  "jobsDesc": "State under dataDir/migrate/;",
5448
5529
  "phase": "Phase",
5530
+ "jobPhase": "Job {{id}} · {{phase}}",
5531
+ "phaseName": {
5532
+ "failed": "Failed",
5533
+ "done": "Done",
5534
+ "running": "Running",
5535
+ "queued": "Queued",
5536
+ "cancelled": "Cancelled"
5537
+ },
5449
5538
  "target": "Target",
5450
5539
  "updated": "Updated",
5451
5540
  "notes": "Notes",
@@ -5538,6 +5627,7 @@
5538
5627
  "postgresService": "PostgreSQL service",
5539
5628
  "redis": "Redis",
5540
5629
  "redisService": "Redis service",
5630
+ "cluster": "Clusters",
5541
5631
  "dns": "DNS",
5542
5632
  "ssl": "SSL certificates",
5543
5633
  "nginx": "Nginx",
@@ -5690,6 +5780,10 @@
5690
5780
  "saveIpHint": "Write connection +ipv4/ipv6.addresses and connection up",
5691
5781
  "confirmIfaceName": "Type interface name “{{name}}” to confirm",
5692
5782
  "deleteRouteTitle": "Delete route?",
5783
+ "deleteRouteNamed": "Delete route {{dst}}?",
5784
+ "deleteRouteBody": "Remove {{dst}}{{via}}{{dev}} from the live routing table.",
5785
+ "viaGw": " via {{gw}}",
5786
+ "onDev": " on {{dev}}",
5693
5787
  "deleteDefaultWarn": "— deleting default may drop connectivity.",
5694
5788
  "alsoRemoveNm": "Also remove from NetworkManager connection (gone after reboot)",
5695
5789
  "loadFailed": "Load failed",
@@ -5796,6 +5890,11 @@
5796
5890
  "editDesc": "Apply required after save",
5797
5891
  "deleteTitle": "Delete site?",
5798
5892
  "deleteDesc": "Delete this site?",
5893
+ "deleteTitleNamed": "Delete site {{name}}?",
5894
+ "deleteDescNamed": "Remove {{name}} from the panel. Applied sites will also drop their managed nginx conf.",
5895
+ "invalidServerName": "Enter a valid hostname (e.g. app.example.com).",
5896
+ "needUpstream": "Upstream is required for reverse proxy sites.",
5897
+ "needRoot": "Document root is required for static and PHP sites.",
5799
5898
  "serverNameHint": "server_name, e.g. app.example.com",
5800
5899
  "kindLabel": "Site type",
5801
5900
  "upstreamLabel": "Upstream",
@@ -5838,7 +5937,7 @@
5838
5937
  "settingsSaved": "Saved",
5839
5938
  "setGzip": "Gzip",
5840
5939
  "setShowVersion": "Show server version",
5841
- "setShowVersionDesc": "Off = server_tokens off",
5940
+ "setShowVersionDesc": "Checked = server_tokens on (nginx version in response headers)",
5842
5941
  "setHttp2": "HTTP/2 (SSL)",
5843
5942
  "setBody": "Max body",
5844
5943
  "setKeepalive": "Keepalive",
@@ -5866,6 +5965,7 @@
5866
5965
  "notFound": "Not found",
5867
5966
  "needPath": "Specify a path",
5868
5967
  "needName": "Enter a name",
5968
+ "needHost": "Enter a host",
5869
5969
  "needDomain": "Enter a domain",
5870
5970
  "needProjectName": "Enter a project name",
5871
5971
  "needServerIp": "Specify a server IP",
@@ -5933,7 +6033,14 @@
5933
6033
  "movedToTrash": "Moved {{name}} to the recycle bin. Permanent delete after {{days}} days.",
5934
6034
  "restoreNameExists": "Cannot restore {{name}} — a live archive with that name already exists.",
5935
6035
  "restoredFromTrash": "Restored {{name}} from the recycle bin.",
5936
- "trashEmptied": "Permanently deleted {{n}} archive(s) from the recycle bin."
6036
+ "trashEmptied": "Permanently deleted {{n}} archive(s) from the recycle bin.",
6037
+ "partialOk": "Partial success — {{n}} project(s) skipped"
6038
+ },
6039
+ "health": {
6040
+ "portListening": "Port {{port}} is listening",
6041
+ "portNotListening": "Port {{port}} is not listening",
6042
+ "httpOk": "HTTP OK {{status}}",
6043
+ "httpFail": "HTTP failed: {{detail}}"
5937
6044
  },
5938
6045
  "redis": {
5939
6046
  "cliMissing": "redis-cli is not installed",
@@ -5949,6 +6056,7 @@
5949
6056
  "managedDir": "Managed config dir: {{path}}",
5950
6057
  "includeHint": "In nginx: include {{path}}/*.conf;",
5951
6058
  "removedOrphan": "Removed orphan nginx conf {{path}}",
6059
+ "keptLiveSsl": "Kept live HTTPS block in {{path}} (managed template had no listen 443)",
5952
6060
  "orphanCleanupFailed": "Orphan nginx cleanup failed: {{detail}}",
5953
6061
  "settingsWritten": "Nginx global snippet written",
5954
6062
  "settingsNeedExecute": "Apply needs YSK_EXECUTE",
@@ -6029,6 +6137,8 @@
6029
6137
  "noManagedZones": "No managed zone files under dataDir/dns/zones",
6030
6138
  "pdnsListZones": "PowerDNS list-zones: {{n}}",
6031
6139
  "lookupIgnoredAt": "dig is unavailable — @{{server}} was ignored. Not using the system resolver as that server’s answer.",
6140
+ "digNotInstalled": "dig is not installed",
6141
+ "digEmpty": "dig: no answer",
6032
6142
  "localAOk": "local A {{name}} → {{ip}}"
6033
6143
  },
6034
6144
  "db": {
@@ -6076,7 +6186,11 @@
6076
6186
  "dovecotPassdbWrittenNeedApply": "Passwd-file written under dataDir — run apply (EXECUTE+root) so Dovecot loads it",
6077
6187
  "postqueueSetgidBroken": "Postfix queue tools failed: setgid_group is empty in main.cf. Set setgid_group=postdrop (panel tries to fix when YSK_EXECUTE is on).",
6078
6188
  "postqueueMailDown": "Postfix is not running (showq unavailable). Panel tried to start it when YSK_EXECUTE is on — check the Software tab / systemctl status postfix.",
6079
- "postqueueSpoolMissing": "Postfix queue directories are missing (e.g. hold/). Panel tried to create the spool tree and start Postfix when YSK_EXECUTE is on."
6189
+ "postqueueSpoolMissing": "Postfix queue directories are missing (e.g. hold/). Panel tried to create the spool tree and start Postfix when YSK_EXECUTE is on.",
6190
+ "invalidDomain": "Enter a valid mail domain",
6191
+ "invalidServerIp": "Enter a valid server IP",
6192
+ "mailboxLocalPartInvalid": "Mailbox local-part may only use letters, digits, . _ + -",
6193
+ "passwordTooShort": "Password must be at least 8 characters"
6080
6194
  },
6081
6195
  "software": {
6082
6196
  "startUnit": "Start {{u}}",
@@ -8117,7 +8231,7 @@
8117
8231
  "t0327": " (skipped {{v0}} without a home dir)",
8118
8232
  "t0328": "projectdirectory: {{v0}}",
8119
8233
  "t0329": "tar failed: {{v0}}",
8120
- "t0330": "Wrotebackup {{v0}}",
8234
+ "t0330": "Wrote backup {{v0}}",
8121
8235
  "t0331": "Preview: {{v0}} files in the archive (showing {{v1}})",
8122
8236
  "t0332": "cannot: {{v0}}",
8123
8237
  "t0333": "restore (web) to {{v0}}",
@@ -8796,10 +8910,10 @@
8796
8910
  "serverMissing": "WireGuard server not initialized — run Start server first.",
8797
8911
  "peerCreated": "Client «{{name}}» created.",
8798
8912
  "peerNotFound": "Client not found.",
8799
- "peerRemoved": "Client removed.",
8913
+ "peerRemoved": "Removed {{name}}.",
8800
8914
  "peersSynced": "Peer list reloaded on the running WireGuard interface.",
8801
8915
  "setEndpointHint": "Set public endpoint (host:port) so mobile clients can reach this server.",
8802
- "invalidConf": "Conf must include [Interface] and PrivateKey.",
8916
+ "invalidConf": "This file is not a valid VPN client conf. Use a WireGuard or OpenVPN client profile.",
8803
8917
  "clientImported": "Profile «{{name}}» imported.",
8804
8918
  "profileNotFound": "Client profile not found.",
8805
8919
  "clientUpFailed": "Connect failed: {{detail}}",
@@ -9112,7 +9226,11 @@
9112
9226
  "stepStoppedOld": "Stopped previous process",
9113
9227
  "stepTuningApplied": "Runtime tuning applied",
9114
9228
  "stepUnitWritten": "Service unit written",
9115
- "stepSystemdStartFailed": "Systemd start failed — using process fallback"
9229
+ "stepSystemdStartFailed": "Systemd start failed — using process fallback",
9230
+ "portListening": "Port {{port}} is listening",
9231
+ "portNotListening": "Port {{port}} is not listening",
9232
+ "httpOk": "HTTP OK {{status}}",
9233
+ "httpFail": "HTTP failed: {{detail}}"
9116
9234
  },
9117
9235
  "pageGuide": {
9118
9236
  "missing": "No help content is available for this page yet.",
@@ -9858,7 +9976,10 @@
9858
9976
  "gitBehindShort": "↓{{count}}",
9859
9977
  "gitAheadShort": "↑{{count}}",
9860
9978
  "gitDirtyShort": "Dirty · {{count}}",
9861
- "gitFilesLink": "Files"
9979
+ "gitFilesLink": "Files",
9980
+ "nameInvalid": "Use a lowercase name: start with a letter, then letters, digits, or hyphen (max 31).",
9981
+ "deployVersionMissing": "Node {{version}} is not installed on this host. Pick an installed version, or install this version first.",
9982
+ "deployUsedBinary": "Deploy used {{path}}"
9862
9983
  },
9863
9984
  "protection": {
9864
9985
  "levels": {
@@ -10100,8 +10221,8 @@
10100
10221
  "block": "Block",
10101
10222
  "allow": "Allow",
10102
10223
  "matched": "Matched",
10103
- "applyStricterTitle": "Apply stricter preset?",
10104
- "applyStricterDesc": "May enable auto-ban. Confirm your IP is whitelisted.",
10224
+ "applyStricterTitle": "Apply {{name}}?",
10225
+ "applyStricterDesc": "May enable auto-ban. Confirm your IP is whitelisted. Review the profile changes below.",
10105
10226
  "confirmEmergencyTitle": "Confirm emergency preset",
10106
10227
  "confirmEmergencyDesc": "Emergency extremely rate-limits. Confirm whitelist and type EMERGENCY.",
10107
10228
  "confirmString": "Confirm string",
@@ -10291,8 +10412,11 @@
10291
10412
  "notSynced": "Managed conf exists but is not under /etc/nginx/conf.d — apply again as root with YSK_EXECUTE"
10292
10413
  },
10293
10414
  "quotaMiB": "Quota (MiB)",
10294
- "quotaHint": "Optional; caps public directory size",
10415
+ "quotaHint": "Optional; caps public directory size. Unlimited disables the MiB field.",
10295
10416
  "unlimited": "Unlimited",
10417
+ "quotaInvalid": "Enter a whole number of MiB, or choose Unlimited.",
10418
+ "serverNameRequired": "Enter a server name.",
10419
+ "serverNameInvalid": "Use a hostname, wildcard, or IP — no spaces or punctuation.",
10296
10420
  "applyHint": "Apply only writes config;",
10297
10421
  "appliedOk": "Public files site applied",
10298
10422
  "applyReload": "Apply and reload Nginx",
@@ -10431,8 +10555,8 @@
10431
10555
  "unsavedHint": "Unsaved edits on this role",
10432
10556
  "nothingToSave": "Nothing to save",
10433
10557
  "saveRole": "Save {{role}} policy",
10434
- "discardTitle": "Discard unsaved policy?",
10435
- "discardDesc": "Switching roles drops unsaved capability edits."
10558
+ "discardTitle": "Discard unsaved changes?",
10559
+ "discardDesc": "Unsaved permission edits will be discarded."
10436
10560
  },
10437
10561
  "readiness": {
10438
10562
  "cat": {
@@ -10757,6 +10881,10 @@
10757
10881
  "globalPhpIniDesc": "One setting per row",
10758
10882
  "managePath": "Management path",
10759
10883
  "loading": "Loading",
10884
+ "probing": "Probing…",
10885
+ "noBinaryPath": "No binary path",
10886
+ "hostDefaultError": "Host default unavailable",
10887
+ "pm2Tick": "{{at}} · projects {{projects}} · PM2 {{pm2}} · running {{run}}",
10760
10888
  "cannotLoadSettings": "Cannot load settings table",
10761
10889
  "reloadFailed": "Reload failed",
10762
10890
  "sensitive": "Sensitive setting — careful",
@@ -10774,6 +10902,7 @@
10774
10902
  "demoVhost": "System tools: demo vhost / pool",
10775
10903
  "demoVhostDesc": "Advanced/debug; daily sites use Projects → Deploy",
10776
10904
  "domain": "Domain",
10905
+ "domainRequired": "Enter a valid domain before applying the vhost.",
10777
10906
  "vhostServerName": "Virtual host server_name",
10778
10907
  "poolName": "Pool name",
10779
10908
  "poolNameHint": "Hand-typed id (demo); project paths use ysks_* users",
@@ -11132,7 +11261,8 @@
11132
11261
  "interpreter": "Interpreter",
11133
11262
  "user": "User",
11134
11263
  "unit": "Unit",
11135
- "runtime": "Runtime"
11264
+ "runtime": "Runtime",
11265
+ "pid": "PID"
11136
11266
  },
11137
11267
  "projectsTitle": "YSK project processes",
11138
11268
  "projectsDesc": "systemd units for panel projects (default deploy path — not PM2).",
@@ -11823,6 +11953,11 @@
11823
11953
  "restartConfirmPanelDesc": "The panel and API will drop briefly while the unit restarts.",
11824
11954
  "restartConfirmTitle": "Restart {{label}}?",
11825
11955
  "restartConfirmDesc": "Restart {{label}} now. Active connections may drop.",
11956
+ "restartConfirmConsequence": "{{label}} will briefly interrupt connections, then keep serving HTTP/HTTPS.",
11957
+ "reloadConfirmTitle": "Reload {{label}}?",
11958
+ "reloadConfirmDesc": "Reload {{label}} configuration. Existing sessions should stay up.",
11959
+ "enableConfirmTitle": "Enable {{label}} at boot?",
11960
+ "enableConfirmDesc": "Enable {{label}} so it starts on boot.",
11826
11961
  "startVerifyFailed": "{{label}} start did not stay healthy.",
11827
11962
  "stopConfirmPanelToken": "stop ysk-server",
11828
11963
  "stopConfirmPanelConsequence": "This browser session will disconnect. Start the unit from SSH or the host console.",
@@ -11866,7 +12001,19 @@
11866
12001
  "protectionDoneNote": "Protection probe finished",
11867
12002
  "probeDone": "Probe complete",
11868
12003
  "runProtection": "Run protection probe",
11869
- "notProbedYet": "Not probed yet"
12004
+ "notProbedYet": "Not probed yet",
12005
+ "cat": {
12006
+ "web": "Web",
12007
+ "db": "Databases",
12008
+ "mail": "Mail",
12009
+ "dns": "DNS",
12010
+ "ftp": "FTP",
12011
+ "cache": "Cache",
12012
+ "panel": "Panel",
12013
+ "ssh": "SSH",
12014
+ "other": "Other",
12015
+ "runtime": "Runtimes"
12016
+ }
11870
12017
  },
11871
12018
  "software": {
11872
12019
  "title": "Software",
@@ -11954,6 +12101,8 @@
11954
12101
  "latest": "Latest",
11955
12102
  "upToDate": "Up to date / repo latest",
11956
12103
  "refresh": "Recheck latest",
12104
+ "refreshHasUpdate": "Newer version available",
12105
+ "refreshLatest": "Already the latest recorded version",
11957
12106
  "pick": "Pick version",
11958
12107
  "noTarget": "No update target",
11959
12108
  "needRuntimePage": "Install this version on the runtime page",
@@ -12327,7 +12476,22 @@
12327
12476
  "uninstallNow": "Uninstall now",
12328
12477
  "uninstallNeedSelect": "Select at least one bundle. Empty selection no longer means remove all.",
12329
12478
  "uninstallConfirmTitle": "Remove selected bundles?",
12330
- "uninstallConfirmDesc": "{{count}} bundle(s) will be removed. Type REMOVE to confirm."
12479
+ "uninstallConfirmDesc": "{{count}} bundle(s) will be removed. Type REMOVE to confirm.",
12480
+ "bundle": {
12481
+ "control-plane": "Control plane",
12482
+ "web": "Web hosting",
12483
+ "database": "Databases",
12484
+ "email": "Mail stack",
12485
+ "dns": "DNS",
12486
+ "ftp": "FTP / FTPS",
12487
+ "defense": "Host defense",
12488
+ "runtimes": "Language runtimes"
12489
+ },
12490
+ "planTitle": {
12491
+ "minimal": "Control plane only",
12492
+ "recommended": "Recommended hosting",
12493
+ "full": "All software"
12494
+ }
12331
12495
  },
12332
12496
  "support": {
12333
12497
  "title": "Support",
@@ -12689,7 +12853,9 @@
12689
12853
  "scrollRight": "Scroll tabs right",
12690
12854
  "about": "About",
12691
12855
  "main": "Actions",
12692
- "stack": "Software"
12856
+ "stack": "Software",
12857
+ "unknown": "No such tab",
12858
+ "unknownHint": "This page has no tab named {{tab}}."
12693
12859
  },
12694
12860
  "terminal": {
12695
12861
  "tabSession": "Session",
@@ -13033,6 +13199,8 @@
13033
13199
  "selfCurrentShort": "Current",
13034
13200
  "selfLatestShort": "Latest",
13035
13201
  "applyPanelUpdate": "Apply panel update",
13202
+ "applySelfConfirmTitle": "Apply panel update?",
13203
+ "applySelfConfirmDesc": "Install {{from}} → {{to}} and restart the panel service. There is no dry-run.",
13036
13204
  "applyPanelAlreadyLatest": "Already the latest panel version",
13037
13205
  "recheck": "Recheck",
13038
13206
  "aboutScope": "Scope",
@@ -13045,7 +13213,7 @@
13045
13213
  "jobsSub": "Control-plane scheduler (read-only) · {{count}}",
13046
13214
  "noJobs": "No visible schedules",
13047
13215
  "noJobsDesc": "Disabled or no scheduler jobs yet",
13048
- "lastRun": " · last {{when}}",
13216
+ "lastRun": "last {{when}}",
13049
13217
  "scanPolicy": "Scan",
13050
13218
  "scanPolicyV": "Scan ≠ upgraded; apply changes the system",
13051
13219
  "highRiskPolicy": "High risk",
@@ -13243,6 +13411,7 @@
13243
13411
  "mailboxes": "Mailboxes",
13244
13412
  "diskMiB": "Disk MiB",
13245
13413
  "noPackages": "No packages yet",
13414
+ "noPackagesHint": "Create a plan from the toolbar, then bind it to users.",
13246
13415
  "createUserDesc": "Password min 8 chars; edit role and permissions in detail later",
13247
13416
  "username": "Username",
13248
13417
  "passwordHint": "At least 8 characters",
@@ -13378,6 +13547,7 @@
13378
13547
  "autoClearC1": "When disk is critical, the largest stopped instance is deleted without asking again.",
13379
13548
  "autoClearThreshold": "Trigger: filesystem use at or above 85%.",
13380
13549
  "autoClearCandidate": "Current candidate: {{id}}",
13550
+ "autoClearCandidates": "Stopped candidates (largest with data first): {{list}}",
13381
13551
  "autoClearNone": "No stopped instance is a candidate right now."
13382
13552
  },
13383
13553
  "chain": {
@@ -13452,7 +13622,8 @@
13452
13622
  "cl": "Consensus client"
13453
13623
  },
13454
13624
  "mithril": {
13455
- "label": "Restore from Mithril snapshot first (recommended on testnet)",
13625
+ "label": "After the node is up, restore from a Mithril snapshot",
13626
+ "hint": "This is a one-time restore after install. It is not written into compose. You can also run it later from the instance page.",
13456
13627
  "action": "Restore with Mithril"
13457
13628
  },
13458
13629
  "errors": {
@@ -13462,6 +13633,8 @@
13462
13633
  "diskUnknownMainnet": "Cannot measure free disk; refusing mainnet create",
13463
13634
  "needDocker": "Docker Compose is required and was not found",
13464
13635
  "composeFailed": "docker compose failed",
13636
+ "containerNotUp": "Compose started, but the container did not stay running",
13637
+ "probeFailed": "The node is not answering RPC yet. Check logs on this page.",
13465
13638
  "needConfirm": "Clear requires confirm=instance id or CLEAR",
13466
13639
  "mithrilAdaOnly": "Mithril restore is only available for Cardano",
13467
13640
  "needMithrilConfirm": "Mithril requires confirm=instance id or MITHRIL",
@@ -14085,6 +14258,7 @@
14085
14258
  "hostnameFixDesc": "{{line}}",
14086
14259
  "hostnameFixDone": "Hostname /etc/hosts updated",
14087
14260
  "startAfterCreateBlocked": "Disabled until the hostname resolves",
14261
+ "startHostnameBlocked": "Cannot start until this host can resolve its hostname. Use “Write hostname to /etc/hosts”.",
14088
14262
  "colName": "Name",
14089
14263
  "colLinuxUser": "Linux user",
14090
14264
  "colDisplay": "Display / port",
@@ -14243,6 +14417,8 @@
14243
14417
  "peersTitleSs": "Access keys",
14244
14418
  "peerName": "Name",
14245
14419
  "peerNamePlaceholder": "office-laptop",
14420
+ "peerNameHint": "Letters, digits, . _ - — no spaces, / or !",
14421
+ "peerNameInvalid": "Spaces, / and ! are not allowed. Use {{preview}} or change the name.",
14246
14422
  "addPeer": "+ Add",
14247
14423
  "installEngineFirst": "Install the VPN engine first",
14248
14424
  "needServerRunning": "{{engine}} is not running — apply the server first",
@@ -14252,6 +14428,16 @@
14252
14428
  "hidePrivateKey": "Hide private key",
14253
14429
  "deletePeerTitle": "Delete peer {{name}}?",
14254
14430
  "deletePeerDesc": "Remove {{name}} ({{address}}). The client disconnects immediately and the config cannot be restored. The WireGuard server stays up.",
14431
+ "deleteClientTitle": "Delete OpenVPN client {{name}}?",
14432
+ "deleteClientDesc": "Remove {{name}} ({{address}}). The client disconnects immediately and the profile cannot be restored. The OpenVPN server stays up.",
14433
+ "deleteKeyTitle": "Delete Shadowsocks key {{name}}?",
14434
+ "deleteKeyDesc": "Remove access key {{name}} ({{address}}). Clients using this key disconnect. The Shadowsocks server stays up.",
14435
+ "deleteResult": "Removed {{name}}.",
14436
+ "portInvalid": "Listen port must be an integer from 1 to 65535.",
14437
+ "portRequired": "Listen port is required.",
14438
+ "importInvalid": "Could not detect a WireGuard or OpenVPN client conf.",
14439
+ "qrFailed": "Could not generate a QR code for this config. Download or copy the text instead.",
14440
+ "cfgTitle": "Config — {{name}}",
14255
14441
  "addPeerWg": "+ Add peer",
14256
14442
  "addPeerOvpn": "+ Add client",
14257
14443
  "addPeerSs": "+ Add key",
@@ -14306,7 +14492,9 @@
14306
14492
  "customHint": "Only the CIDRs you list enter the tunnel. Reconnect after apply.",
14307
14493
  "lanCidrs": "LAN networks",
14308
14494
  "customCidr": "CIDR",
14309
- "addCidr": "Add"
14495
+ "addCidr": "Add",
14496
+ "cidrRequired": "Enter a CIDR (for example 192.168.1.0/24).",
14497
+ "cidrInvalid": "Enter a valid CIDR, for example 192.168.1.0/24."
14310
14498
  },
14311
14499
  "engineNotInstalled": "This VPN engine is not installed on the host.",
14312
14500
  "serverNotListening": "Server unit is not active. UDP/TCP {{port}} may be closed."