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": "ノード",
7
7
  "disk": "ディスク",
8
- "about": "説明"
8
+ "about": "説明",
9
+ "stack": "Software"
9
10
  },
10
11
  "empty": {
11
12
  "title": "バリデーターノードはまだありません",
@@ -23,7 +24,18 @@
23
24
  "autoClear": "ディスクが危険なとき、停止中の最大インスタンスを自動消去(既定はオフ)",
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": "NEAR データを消去しました。compose は公式 genesis と epoch sync で再初期化します",
134
146
  "nativePrune": "クライアントネイティブのプルーニングを実行しました",
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": "ノードを作成",
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": "詳細",
@@ -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": "실패한",
12
12
  "error": "오류",
13
13
  "unknown": "프로브되지 않음",
14
- "fallback": "알 수 없음"
14
+ "fallback": "알 수 없음",
15
+ "activating": "Starting",
16
+ "stuck": "Start stuck"
15
17
  },
16
18
  "liveN": "{{count}} 온라인",
17
19
  "registeredOnly": "등록만 됨",
@@ -136,5 +138,8 @@
136
138
  "historyTitleShort": "명령 기록 열기(읽기 전용)",
137
139
  "expEdge": "가장자리에서:",
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는 전면 Nginx에서 끝납니다.",
58
58
  "removeArtifactHint": "이 잔여 디스크 conf만 삭제하며 프로젝트는 지우지 않습니다.",
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": "숨다",
129
129
  "more": "더",
130
130
  "redirectedTo": "{{to}}(으)로 이동했습니다(원래 {{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": "타락한",
44
44
  "production_capable": "생산 준비 완료",
45
- "normal": "정상"
45
+ "normal": "정상",
46
+ "blocked": "blocked"
46
47
  },
47
48
  "details": "세부",
48
49
  "certExpiryTitle": "인증서 만료:",
@@ -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": "함대 구성원에게 대기열을 적용하시겠습니까?",
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": "데이터 찾아보기",
@@ -230,5 +230,9 @@
230
230
  "installConfirmConsequence": "설치 후 시작하면 PowerDNS가 53번 포트를 바인딩합니다.",
231
231
  "installPort53Busy": "53번 포트가 이미 사용 중입니다. 해당 수신을 중지하거나 복구하기 전에는 PowerDNS 바인딩이 실패할 수 있습니다.",
232
232
  "installPort53BusyConsequence": "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": "시작",
@@ -509,5 +509,8 @@
509
509
  "opendkimNoReload": "OpenDKIM은 다시 로드를 지원하지 않습니다. 키나 테이블 변경 후 재시작하십시오.",
510
510
  "opendkimNoReloadTitle": "이 스택에서는 systemctl reload opendkim을 지원하지 않습니다",
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": "이 호스트에서 첫 번째 비루프백 IPv4를 채웁니다.",
147
147
  "pasvIpRequired": "적용 전에 PASV 공인 IP를 지정하세요(NAT/클라우드). 감지하거나 주소를 입력합니다.",
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": "Cloudflare 실제 IP",
82
82
  "setIndexes": "디렉토리 목록",
83
- "bodyInherit": "글로벌"
83
+ "bodyInherit": "글로벌",
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": "SQL 사이드카도 푸시됨 {{name}}",
66
66
  "controlPlaneDryRun": "미리보기만 가능 - 작성된 내용이 없습니다. 패널에서 복원을 사용하고 작성할 문구를 확인하세요.",
67
67
  "controlPlaneNeedConfirm": "전체 제어 영역 복원에는 RESTORE-Control-PLANE 확인 문구가 필요합니다.",
68
- "controlPlaneRestartAfter": "복원에 성공한 후 API를 다시 시작하세요."
68
+ "controlPlaneRestartAfter": "복원에 성공한 후 API를 다시 시작하세요.",
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가 설치되지 않았습니다"
75
+ "cliMissing": "redis-cli가 설치되지 않았습니다",
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가 다시 로드됨",
@@ -91,7 +99,8 @@
91
99
  "vsftpdStarted": "vsftpd가 시작되었습니다",
92
100
  "openPortsStep": "방화벽 포트(수동)",
93
101
  "openPortsReminder": "호스트 방화벽 및 클라우드 보안 그룹에서 TCP 포트 열기: {{ports}}. FTPS 적용은 포트를 열지 않습니다.",
94
- "openPortsPasvHint": "로그인은 작동하지만 디렉터리 LIST 시간이 초과되면 PASV 데이터 범위가 차단됩니다. 전체 파일을 엽니다."
102
+ "openPortsPasvHint": "로그인은 작동하지만 디렉터리 LIST 시간이 초과되면 PASV 데이터 범위가 차단됩니다. 전체 파일을 엽니다.",
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": "격리된 배포를 위한 노드 바이너리 누락: {{path}} — Node {{version}} 툴체인을 설치한 후 다시 배포합니다. 203/EXEC가 되는 유닛 작성을 거부합니다.",
@@ -146,7 +155,17 @@
146
155
  "applyDigOk": "PowerDNS BIND: 목록 영역 + 발굴 확인",
147
156
  "applyDigFail": "conf에 영역이 등록되었지만 여전히 비어 있음/REFUSED — 표시가 적용되지 않음",
148
157
  "applySyncIncomplete": "PowerDNS 바인드 동기화 미완료 — 디스크에만 영역 파일이 있습니다(적용되지 않음). EXECUTE/root 또는 pdns 로그를 수정합니다.",
149
- "writeOnlyHint": "영역 파일 쓰기 전용 - PowerDNS는 다음 이름의 레지스터를 로드/적용할 때까지 응답하지 않습니다."
158
+ "writeOnlyHint": "영역 파일 쓰기 전용 - PowerDNS는 다음 이름의 레지스터를 로드/적용할 때까지 응답하지 않습니다.",
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": "호스트 실행이 꺼져 있습니다. 패널에서 데이터베이스를 생성할 수 없습니다.",
@@ -3008,7 +3027,16 @@
3008
3027
  "linuxUserRolledBack": "VNC 비밀번호 실패 후 남은 Linux 사용자 {{user}}를 제거했습니다.",
3009
3028
  "linuxUserOrphan": "VNC 비밀번호 실패 후 남은 Linux 사용자 {{user}}를 제거할 수 없습니다.",
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": "서버 이름이 필요합니다",
@@ -3093,7 +3121,15 @@
3093
3121
  "staleCliRemoved": "잔여 CLI {{path}}을(를) 제거했습니다.",
3094
3122
  "staleCliRemoveFailed": "잔여 CLI {{path}}을(를) 제거하지 못했습니다: {{detail}}",
3095
3123
  "vsftpdSslOff": "FTPS 인증서 파일이 없어 vsftpd를 ssl_enable=NO로 설정한 뒤 다시 시작했습니다.",
3096
- "dovecotSslOff": "{{path}}이(가) 없어 Dovecot을 ssl=no로 설정한 뒤 다시 시작했습니다."
3124
+ "dovecotSslOff": "{{path}}이(가) 없어 Dovecot을 ssl=no로 설정한 뒤 다시 시작했습니다.",
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": "자식이 PATH에 없습니다",
@@ -62,7 +62,8 @@
62
62
  "deployTitle": "다음: 배포",
63
63
  "deployBody": "헤더의 배포를 사용하거나 Git의 배포 탭을 사용하세요.",
64
64
  "nginxTitle": "다음: Nginx 게시",
65
- "nginxBody": "네트워크 탭을 열어 Nginx(SSL 옵션)를 게시하세요."
65
+ "nginxBody": "네트워크 탭을 열어 Nginx(SSL 옵션)를 게시하세요.",
66
+ "provisionOsAction": "Create system user"
66
67
  },
67
68
  "healthDetail": {
68
69
  "none": "아직 건강검진이 없습니다",
@@ -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": "실제 설정은 {{live}}이고 폼은 {{draft}}입니다. 적용하면 교체됩니다.",
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": "먼저 이 계정에서 2FA를 활성화한 다음 TOTP 코드로 확인하세요.",
450
450
  "revokeAllDevicesTitle": "기억된 모든 장치를 취소합니다. 귀하와 다른 관리자는 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": "CLI에는 라이브 HTTP 소켓이 없습니다. ServingHttps는 구성 및 청취 소켓(ss)에서 추론됩니다.",
88
88
  "listenHost": "청취 주소",
89
89
  "currentHost": "이번 세션",
90
- "replaceCert": "신뢰할 수 있는 인증서로 교체"
90
+ "replaceCert": "신뢰할 수 있는 인증서로 교체",
91
+ "needFqdn": "Need a FQDN (example.com), not a bare hostname"
91
92
  },
92
93
  "timeNtp": "시간 및 NTP",
93
94
  "clockStatus": "시스템 시계 상태",
@@ -206,5 +207,9 @@
206
207
  "noScheduledPower": "재부팅이나 전원 끄기가 예약되지 않았습니다.",
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
  }