ysk-server-shared 1.0.0 → 1.1.0
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.
- package/README.md +21 -6
- package/dist/browser.d.ts +1 -0
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +1 -0
- package/dist/browser.js.map +1 -1
- package/dist/bt-tracker.d.ts +56 -0
- package/dist/bt-tracker.d.ts.map +1 -1
- package/dist/bt-tracker.js +1 -0
- package/dist/bt-tracker.js.map +1 -1
- package/dist/capabilities.d.ts +1 -1
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +6 -0
- package/dist/capabilities.js.map +1 -1
- package/dist/databases.d.ts +2 -0
- package/dist/databases.d.ts.map +1 -1
- package/dist/docker.d.ts +134 -0
- package/dist/docker.d.ts.map +1 -0
- package/dist/docker.js +94 -0
- package/dist/docker.js.map +1 -0
- package/dist/dto.d.ts +9 -0
- package/dist/dto.d.ts.map +1 -1
- package/dist/email-domain.d.ts +7 -0
- package/dist/email-domain.d.ts.map +1 -1
- package/dist/files.d.ts +18 -0
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +35 -1
- package/dist/files.js.map +1 -1
- package/dist/ftp.d.ts +3 -0
- package/dist/ftp.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/migrate.d.ts +6 -0
- package/dist/migrate.d.ts.map +1 -1
- package/dist/migrate.js.map +1 -1
- package/dist/route-capabilities.d.ts +16 -0
- package/dist/route-capabilities.d.ts.map +1 -1
- package/dist/route-capabilities.js +132 -4
- package/dist/route-capabilities.js.map +1 -1
- package/dist/system.d.ts +4 -0
- package/dist/system.d.ts.map +1 -1
- package/dist/validators.d.ts +141 -0
- package/dist/validators.d.ts.map +1 -0
- package/dist/validators.js +109 -0
- package/dist/validators.js.map +1 -0
- package/locales/ar/agents.json +11 -1
- package/locales/ar/apache.json +5 -1
- package/locales/ar/audit.json +4 -1
- package/locales/ar/backups.json +20 -1
- package/locales/ar/btTracker.json +118 -39
- package/locales/ar/catalog.json +8 -8
- package/locales/ar/cdn.json +87 -1
- package/locales/ar/cli.json +4 -4
- package/locales/ar/common.json +8 -1
- package/locales/ar/cron.json +30 -1
- package/locales/ar/dashboard.json +21 -2
- package/locales/ar/db.json +58 -3
- package/locales/ar/dns.json +19 -1
- package/locales/ar/docker.json +247 -0
- package/locales/ar/email.json +47 -11
- package/locales/ar/errors.json +5 -2
- package/locales/ar/fail2ban.json +38 -13
- package/locales/ar/files.json +52 -10
- package/locales/ar/firewall.json +19 -10
- package/locales/ar/ftp.json +16 -1
- package/locales/ar/hostBrowse.json +35 -15
- package/locales/ar/listToolbar.json +2 -1
- package/locales/ar/login.json +12 -7
- package/locales/ar/logs.json +31 -2
- package/locales/ar/metrics.json +36 -1
- package/locales/ar/migrate.json +14 -1
- package/locales/ar/nav.json +11 -4
- package/locales/ar/network.json +25 -2
- package/locales/ar/notFound.json +6 -0
- package/locales/ar/notes.json +213 -61
- package/locales/ar/playbooks.json +1 -1
- package/locales/ar/projects.json +132 -11
- package/locales/ar/protection.json +70 -8
- package/locales/ar/publicFiles.json +14 -1
- package/locales/ar/rbac.json +15 -2
- package/locales/ar/readiness.json +33 -2
- package/locales/ar/redis.json +19 -1
- package/locales/ar/runtime.json +49 -2
- package/locales/ar/search.json +14 -10
- package/locales/ar/security.json +66 -7
- package/locales/ar/serviceExposure.json +18 -6
- package/locales/ar/services.json +61 -3
- package/locales/ar/software.json +2 -1
- package/locales/ar/softwareLifecycle.json +12 -2
- package/locales/ar/ssl.json +12 -1
- package/locales/ar/stackWizard.json +9 -2
- package/locales/ar/support.json +33 -17
- package/locales/ar/system.json +26 -2
- package/locales/ar/systemd.json +3 -1
- package/locales/ar/terminal.json +9 -1
- package/locales/ar/translation.json +2189 -295
- package/locales/ar/updates.json +75 -3
- package/locales/ar/users.json +19 -1
- package/locales/ar/validators.json +266 -0
- package/locales/ar/vnc.json +10 -1
- package/locales/ar/vpn.json +18 -3
- package/locales/bn/agents.json +11 -1
- package/locales/bn/apache.json +5 -1
- package/locales/bn/audit.json +4 -1
- package/locales/bn/backups.json +20 -1
- package/locales/bn/btTracker.json +118 -39
- package/locales/bn/catalog.json +5 -5
- package/locales/bn/cdn.json +87 -1
- package/locales/bn/cli.json +2 -2
- package/locales/bn/common.json +8 -1
- package/locales/bn/cron.json +30 -1
- package/locales/bn/dashboard.json +21 -2
- package/locales/bn/db.json +58 -3
- package/locales/bn/dns.json +19 -1
- package/locales/bn/docker.json +247 -0
- package/locales/bn/email.json +46 -10
- package/locales/bn/errors.json +5 -2
- package/locales/bn/fail2ban.json +26 -1
- package/locales/bn/files.json +52 -10
- package/locales/bn/firewall.json +17 -8
- package/locales/bn/ftp.json +16 -1
- package/locales/bn/hostBrowse.json +35 -15
- package/locales/bn/listToolbar.json +2 -1
- package/locales/bn/login.json +13 -8
- package/locales/bn/logs.json +31 -2
- package/locales/bn/metrics.json +36 -1
- package/locales/bn/migrate.json +14 -1
- package/locales/bn/nav.json +10 -3
- package/locales/bn/network.json +25 -2
- package/locales/bn/notFound.json +6 -0
- package/locales/bn/notes.json +183 -31
- package/locales/bn/projects.json +131 -10
- package/locales/bn/protection.json +64 -2
- package/locales/bn/publicFiles.json +14 -1
- package/locales/bn/rbac.json +15 -2
- package/locales/bn/readiness.json +32 -1
- package/locales/bn/redis.json +19 -1
- package/locales/bn/runtime.json +49 -2
- package/locales/bn/search.json +13 -9
- package/locales/bn/security.json +66 -7
- package/locales/bn/serviceExposure.json +18 -6
- package/locales/bn/services.json +60 -2
- package/locales/bn/software.json +2 -1
- package/locales/bn/softwareLifecycle.json +12 -2
- package/locales/bn/ssl.json +12 -1
- package/locales/bn/stackWizard.json +9 -2
- package/locales/bn/support.json +38 -22
- package/locales/bn/system.json +26 -2
- package/locales/bn/systemd.json +3 -1
- package/locales/bn/terminal.json +9 -1
- package/locales/bn/translation.json +2133 -239
- package/locales/bn/updates.json +75 -3
- package/locales/bn/users.json +19 -1
- package/locales/bn/validators.json +266 -0
- package/locales/bn/vnc.json +10 -1
- package/locales/bn/vpn.json +18 -3
- package/locales/en/agents.json +15 -5
- package/locales/en/apache.json +4 -0
- package/locales/en/audit.json +4 -1
- package/locales/en/backups.json +21 -2
- package/locales/en/btTracker.json +82 -3
- package/locales/en/cdn.json +102 -2
- package/locales/en/cli.json +7 -7
- package/locales/en/common.json +8 -1
- package/locales/en/cron.json +30 -1
- package/locales/en/dashboard.json +25 -6
- package/locales/en/db.json +64 -8
- package/locales/en/dns.json +19 -1
- package/locales/en/docker.json +247 -0
- package/locales/en/email.json +47 -11
- package/locales/en/errors.json +6 -3
- package/locales/en/fail2ban.json +31 -6
- package/locales/en/files.json +43 -1
- package/locales/en/firewall.json +10 -1
- package/locales/en/ftp.json +18 -3
- package/locales/en/hostBrowse.json +22 -2
- package/locales/en/listToolbar.json +2 -1
- package/locales/en/login.json +6 -1
- package/locales/en/logs.json +33 -4
- package/locales/en/metrics.json +37 -2
- package/locales/en/migrate.json +14 -1
- package/locales/en/nav.json +9 -2
- package/locales/en/network.json +25 -2
- package/locales/en/notFound.json +6 -0
- package/locales/en/notes.json +190 -38
- package/locales/en/projects.json +132 -11
- package/locales/en/protection.json +66 -3
- package/locales/en/publicFiles.json +14 -1
- package/locales/en/rbac.json +15 -2
- package/locales/en/readiness.json +30 -1
- package/locales/en/redis.json +19 -1
- package/locales/en/runtime.json +51 -3
- package/locales/en/search.json +4 -0
- package/locales/en/security.json +68 -9
- package/locales/en/serviceExposure.json +13 -1
- package/locales/en/services.json +60 -2
- package/locales/en/software.json +2 -1
- package/locales/en/softwareLifecycle.json +11 -1
- package/locales/en/ssl.json +12 -1
- package/locales/en/stackWizard.json +9 -2
- package/locales/en/support.json +17 -1
- package/locales/en/system.json +30 -6
- package/locales/en/systemd.json +2 -0
- package/locales/en/terminal.json +10 -2
- package/locales/en/translation.json +2074 -180
- package/locales/en/updates.json +49 -4
- package/locales/en/users.json +20 -1
- package/locales/en/validators.json +266 -0
- package/locales/en/vnc.json +16 -7
- package/locales/en/vpn.json +17 -2
- package/locales/es/agents.json +11 -1
- package/locales/es/apache.json +5 -1
- package/locales/es/audit.json +4 -1
- package/locales/es/backups.json +20 -1
- package/locales/es/btTracker.json +116 -37
- package/locales/es/catalog.json +6 -6
- package/locales/es/cdn.json +87 -1
- package/locales/es/cli.json +2 -2
- package/locales/es/common.json +8 -1
- package/locales/es/cron.json +30 -1
- package/locales/es/dashboard.json +21 -2
- package/locales/es/db.json +58 -3
- package/locales/es/dns.json +19 -1
- package/locales/es/docker.json +247 -0
- package/locales/es/email.json +46 -10
- package/locales/es/errors.json +5 -2
- package/locales/es/fail2ban.json +26 -1
- package/locales/es/files.json +51 -9
- package/locales/es/firewall.json +17 -8
- package/locales/es/ftp.json +16 -1
- package/locales/es/hostBrowse.json +33 -13
- package/locales/es/listToolbar.json +2 -1
- package/locales/es/login.json +12 -7
- package/locales/es/logs.json +31 -2
- package/locales/es/metrics.json +36 -1
- package/locales/es/migrate.json +14 -1
- package/locales/es/nav.json +11 -4
- package/locales/es/network.json +25 -2
- package/locales/es/notFound.json +6 -0
- package/locales/es/notes.json +190 -38
- package/locales/es/projects.json +131 -10
- package/locales/es/protection.json +64 -2
- package/locales/es/publicFiles.json +14 -1
- package/locales/es/rbac.json +15 -2
- package/locales/es/readiness.json +32 -1
- package/locales/es/redis.json +19 -1
- package/locales/es/runtime.json +49 -2
- package/locales/es/search.json +13 -9
- package/locales/es/security.json +66 -7
- package/locales/es/serviceExposure.json +18 -6
- package/locales/es/services.json +60 -2
- package/locales/es/software.json +2 -1
- package/locales/es/softwareLifecycle.json +12 -2
- package/locales/es/ssl.json +12 -1
- package/locales/es/stackWizard.json +9 -2
- package/locales/es/support.json +37 -21
- package/locales/es/system.json +26 -2
- package/locales/es/systemd.json +3 -1
- package/locales/es/terminal.json +9 -1
- package/locales/es/translation.json +2135 -241
- package/locales/es/updates.json +75 -3
- package/locales/es/users.json +19 -1
- package/locales/es/validators.json +266 -0
- package/locales/es/vnc.json +10 -1
- package/locales/es/vpn.json +18 -3
- package/locales/fr/agents.json +11 -1
- package/locales/fr/apache.json +5 -1
- package/locales/fr/audit.json +4 -1
- package/locales/fr/backups.json +20 -1
- package/locales/fr/btTracker.json +115 -36
- package/locales/fr/catalog.json +6 -6
- package/locales/fr/cdn.json +87 -1
- package/locales/fr/cli.json +3 -3
- package/locales/fr/common.json +8 -1
- package/locales/fr/cron.json +30 -1
- package/locales/fr/dashboard.json +21 -2
- package/locales/fr/db.json +58 -3
- package/locales/fr/dns.json +19 -1
- package/locales/fr/docker.json +247 -0
- package/locales/fr/email.json +44 -8
- package/locales/fr/errors.json +5 -2
- package/locales/fr/fail2ban.json +27 -2
- package/locales/fr/files.json +51 -9
- package/locales/fr/firewall.json +13 -4
- package/locales/fr/ftp.json +16 -1
- package/locales/fr/hostBrowse.json +32 -12
- package/locales/fr/listToolbar.json +2 -1
- package/locales/fr/login.json +11 -6
- package/locales/fr/logs.json +31 -2
- package/locales/fr/metrics.json +36 -1
- package/locales/fr/migrate.json +14 -1
- package/locales/fr/nav.json +11 -4
- package/locales/fr/network.json +25 -2
- package/locales/fr/notFound.json +6 -0
- package/locales/fr/notes.json +186 -34
- package/locales/fr/projects.json +129 -8
- package/locales/fr/protection.json +64 -2
- package/locales/fr/publicFiles.json +14 -1
- package/locales/fr/rbac.json +15 -2
- package/locales/fr/readiness.json +32 -1
- package/locales/fr/redis.json +20 -2
- package/locales/fr/runtime.json +49 -2
- package/locales/fr/search.json +11 -7
- package/locales/fr/security.json +66 -7
- package/locales/fr/serviceExposure.json +17 -5
- package/locales/fr/services.json +60 -2
- package/locales/fr/software.json +2 -1
- package/locales/fr/softwareLifecycle.json +12 -2
- package/locales/fr/ssl.json +12 -1
- package/locales/fr/stackWizard.json +9 -2
- package/locales/fr/support.json +37 -21
- package/locales/fr/system.json +26 -2
- package/locales/fr/systemd.json +3 -1
- package/locales/fr/terminal.json +9 -1
- package/locales/fr/translation.json +2119 -225
- package/locales/fr/updates.json +75 -3
- package/locales/fr/users.json +19 -1
- package/locales/fr/validators.json +266 -0
- package/locales/fr/vnc.json +10 -1
- package/locales/fr/vpn.json +17 -2
- package/locales/hi/agents.json +11 -1
- package/locales/hi/apache.json +5 -1
- package/locales/hi/audit.json +4 -1
- package/locales/hi/backups.json +20 -1
- package/locales/hi/btTracker.json +118 -39
- package/locales/hi/catalog.json +7 -7
- package/locales/hi/cdn.json +87 -1
- package/locales/hi/cli.json +1 -1
- package/locales/hi/common.json +8 -1
- package/locales/hi/cron.json +30 -1
- package/locales/hi/dashboard.json +21 -2
- package/locales/hi/db.json +58 -3
- package/locales/hi/dns.json +19 -1
- package/locales/hi/docker.json +247 -0
- package/locales/hi/email.json +46 -10
- package/locales/hi/errors.json +5 -2
- package/locales/hi/fail2ban.json +29 -4
- package/locales/hi/files.json +52 -10
- package/locales/hi/firewall.json +17 -8
- package/locales/hi/ftp.json +16 -1
- package/locales/hi/hostBrowse.json +35 -15
- package/locales/hi/listToolbar.json +2 -1
- package/locales/hi/login.json +13 -8
- package/locales/hi/logs.json +31 -2
- package/locales/hi/metrics.json +36 -1
- package/locales/hi/migrate.json +14 -1
- package/locales/hi/nav.json +11 -4
- package/locales/hi/network.json +25 -2
- package/locales/hi/notFound.json +6 -0
- package/locales/hi/notes.json +188 -36
- package/locales/hi/projects.json +132 -11
- package/locales/hi/protection.json +65 -3
- package/locales/hi/publicFiles.json +14 -1
- package/locales/hi/rbac.json +16 -3
- package/locales/hi/readiness.json +32 -1
- package/locales/hi/redis.json +19 -1
- package/locales/hi/runtime.json +49 -2
- package/locales/hi/search.json +14 -10
- package/locales/hi/security.json +66 -7
- package/locales/hi/serviceExposure.json +18 -6
- package/locales/hi/services.json +60 -2
- package/locales/hi/software.json +2 -1
- package/locales/hi/softwareLifecycle.json +12 -2
- package/locales/hi/ssl.json +12 -1
- package/locales/hi/stackWizard.json +9 -2
- package/locales/hi/support.json +36 -20
- package/locales/hi/system.json +26 -2
- package/locales/hi/systemd.json +3 -1
- package/locales/hi/terminal.json +9 -1
- package/locales/hi/translation.json +2146 -252
- package/locales/hi/updates.json +75 -3
- package/locales/hi/users.json +19 -1
- package/locales/hi/validators.json +266 -0
- package/locales/hi/vnc.json +10 -1
- package/locales/hi/vpn.json +19 -4
- package/locales/id/agents.json +11 -1
- package/locales/id/apache.json +5 -1
- package/locales/id/audit.json +4 -1
- package/locales/id/backups.json +20 -1
- package/locales/id/btTracker.json +116 -37
- package/locales/id/catalog.json +6 -6
- package/locales/id/cdn.json +87 -1
- package/locales/id/cli.json +2 -2
- package/locales/id/common.json +8 -1
- package/locales/id/cron.json +30 -1
- package/locales/id/dashboard.json +21 -2
- package/locales/id/db.json +58 -3
- package/locales/id/dns.json +19 -1
- package/locales/id/docker.json +247 -0
- package/locales/id/email.json +46 -10
- package/locales/id/errors.json +5 -2
- package/locales/id/fail2ban.json +26 -1
- package/locales/id/files.json +51 -9
- package/locales/id/firewall.json +15 -6
- package/locales/id/ftp.json +16 -1
- package/locales/id/hostBrowse.json +33 -13
- package/locales/id/listToolbar.json +2 -1
- package/locales/id/login.json +13 -8
- package/locales/id/logs.json +31 -2
- package/locales/id/metrics.json +36 -1
- package/locales/id/migrate.json +14 -1
- package/locales/id/nav.json +10 -3
- package/locales/id/network.json +25 -2
- package/locales/id/notFound.json +6 -0
- package/locales/id/notes.json +185 -33
- package/locales/id/projects.json +130 -9
- package/locales/id/protection.json +64 -2
- package/locales/id/publicFiles.json +14 -1
- package/locales/id/rbac.json +15 -2
- package/locales/id/readiness.json +32 -1
- package/locales/id/redis.json +19 -1
- package/locales/id/runtime.json +49 -2
- package/locales/id/search.json +13 -9
- package/locales/id/security.json +65 -6
- package/locales/id/serviceExposure.json +18 -6
- package/locales/id/services.json +60 -2
- package/locales/id/software.json +2 -1
- package/locales/id/softwareLifecycle.json +12 -2
- package/locales/id/ssl.json +12 -1
- package/locales/id/stackWizard.json +9 -2
- package/locales/id/support.json +36 -20
- package/locales/id/system.json +26 -2
- package/locales/id/systemd.json +3 -1
- package/locales/id/terminal.json +9 -1
- package/locales/id/translation.json +2125 -231
- package/locales/id/updates.json +75 -3
- package/locales/id/users.json +19 -1
- package/locales/id/validators.json +266 -0
- package/locales/id/vnc.json +10 -1
- package/locales/id/vpn.json +18 -3
- package/locales/ja/agents.json +11 -1
- package/locales/ja/apache.json +5 -1
- package/locales/ja/audit.json +4 -1
- package/locales/ja/backups.json +20 -1
- package/locales/ja/btTracker.json +118 -39
- package/locales/ja/catalog.json +10 -10
- package/locales/ja/cdn.json +87 -1
- package/locales/ja/cli.json +3 -3
- package/locales/ja/common.json +8 -1
- package/locales/ja/cron.json +30 -1
- package/locales/ja/dashboard.json +21 -2
- package/locales/ja/db.json +58 -3
- package/locales/ja/dns.json +19 -1
- package/locales/ja/docker.json +247 -0
- package/locales/ja/email.json +46 -10
- package/locales/ja/errors.json +5 -2
- package/locales/ja/fail2ban.json +26 -1
- package/locales/ja/files.json +51 -9
- package/locales/ja/firewall.json +17 -8
- package/locales/ja/ftp.json +16 -1
- package/locales/ja/hostBrowse.json +35 -15
- package/locales/ja/listToolbar.json +2 -1
- package/locales/ja/login.json +11 -6
- package/locales/ja/logs.json +31 -2
- package/locales/ja/metrics.json +36 -1
- package/locales/ja/migrate.json +14 -1
- package/locales/ja/nav.json +13 -6
- package/locales/ja/network.json +26 -3
- package/locales/ja/notFound.json +6 -0
- package/locales/ja/notes.json +194 -42
- package/locales/ja/projects.json +131 -10
- package/locales/ja/protection.json +64 -2
- package/locales/ja/publicFiles.json +14 -1
- package/locales/ja/rbac.json +15 -2
- package/locales/ja/readiness.json +32 -1
- package/locales/ja/redis.json +19 -1
- package/locales/ja/runtime.json +50 -3
- package/locales/ja/search.json +12 -8
- package/locales/ja/security.json +66 -7
- package/locales/ja/serviceExposure.json +18 -6
- package/locales/ja/services.json +60 -2
- package/locales/ja/software.json +2 -1
- package/locales/ja/softwareLifecycle.json +12 -2
- package/locales/ja/ssl.json +12 -1
- package/locales/ja/stackWizard.json +9 -2
- package/locales/ja/support.json +38 -22
- package/locales/ja/system.json +26 -2
- package/locales/ja/systemd.json +3 -1
- package/locales/ja/terminal.json +9 -1
- package/locales/ja/translation.json +2152 -258
- package/locales/ja/updates.json +75 -3
- package/locales/ja/users.json +19 -1
- package/locales/ja/validators.json +266 -0
- package/locales/ja/vnc.json +10 -1
- package/locales/ja/vpn.json +18 -3
- package/locales/ko/agents.json +11 -1
- package/locales/ko/apache.json +5 -1
- package/locales/ko/audit.json +4 -1
- package/locales/ko/backups.json +20 -1
- package/locales/ko/btTracker.json +118 -39
- package/locales/ko/catalog.json +8 -8
- package/locales/ko/cdn.json +87 -1
- package/locales/ko/cli.json +2 -2
- package/locales/ko/common.json +8 -1
- package/locales/ko/cron.json +30 -1
- package/locales/ko/dashboard.json +21 -2
- package/locales/ko/db.json +58 -3
- package/locales/ko/dns.json +19 -1
- package/locales/ko/docker.json +247 -0
- package/locales/ko/email.json +46 -10
- package/locales/ko/errors.json +5 -2
- package/locales/ko/fail2ban.json +37 -12
- package/locales/ko/files.json +51 -9
- package/locales/ko/firewall.json +18 -9
- package/locales/ko/ftp.json +16 -1
- package/locales/ko/hostBrowse.json +35 -15
- package/locales/ko/listToolbar.json +2 -1
- package/locales/ko/login.json +10 -5
- package/locales/ko/logs.json +31 -2
- package/locales/ko/metrics.json +36 -1
- package/locales/ko/migrate.json +14 -1
- package/locales/ko/nav.json +11 -4
- package/locales/ko/network.json +25 -2
- package/locales/ko/notFound.json +6 -0
- package/locales/ko/notes.json +204 -52
- package/locales/ko/playbooks.json +1 -1
- package/locales/ko/projects.json +132 -11
- package/locales/ko/protection.json +67 -5
- package/locales/ko/publicFiles.json +14 -1
- package/locales/ko/rbac.json +15 -2
- package/locales/ko/readiness.json +33 -2
- package/locales/ko/redis.json +19 -1
- package/locales/ko/runtime.json +49 -2
- package/locales/ko/search.json +13 -9
- package/locales/ko/security.json +66 -7
- package/locales/ko/serviceExposure.json +18 -6
- package/locales/ko/services.json +60 -2
- package/locales/ko/software.json +2 -1
- package/locales/ko/softwareLifecycle.json +12 -2
- package/locales/ko/ssl.json +12 -1
- package/locales/ko/stackWizard.json +9 -2
- package/locales/ko/support.json +36 -20
- package/locales/ko/system.json +26 -2
- package/locales/ko/systemd.json +3 -1
- package/locales/ko/terminal.json +9 -1
- package/locales/ko/translation.json +2171 -277
- package/locales/ko/updates.json +75 -3
- package/locales/ko/users.json +19 -1
- package/locales/ko/validators.json +266 -0
- package/locales/ko/vnc.json +10 -1
- package/locales/ko/vpn.json +19 -4
- package/locales/pt/agents.json +11 -1
- package/locales/pt/apache.json +5 -1
- package/locales/pt/audit.json +4 -1
- package/locales/pt/backups.json +20 -1
- package/locales/pt/btTracker.json +116 -37
- package/locales/pt/catalog.json +4 -4
- package/locales/pt/cdn.json +87 -1
- package/locales/pt/cli.json +2 -2
- package/locales/pt/common.json +8 -1
- package/locales/pt/cron.json +30 -1
- package/locales/pt/dashboard.json +21 -2
- package/locales/pt/db.json +58 -3
- package/locales/pt/dns.json +19 -1
- package/locales/pt/docker.json +247 -0
- package/locales/pt/email.json +46 -10
- package/locales/pt/errors.json +5 -2
- package/locales/pt/fail2ban.json +26 -1
- package/locales/pt/files.json +51 -9
- package/locales/pt/firewall.json +16 -7
- package/locales/pt/ftp.json +16 -1
- package/locales/pt/hostBrowse.json +35 -15
- package/locales/pt/listToolbar.json +2 -1
- package/locales/pt/login.json +14 -9
- package/locales/pt/logs.json +31 -2
- package/locales/pt/metrics.json +36 -1
- package/locales/pt/migrate.json +14 -1
- package/locales/pt/nav.json +10 -3
- package/locales/pt/network.json +25 -2
- package/locales/pt/notFound.json +6 -0
- package/locales/pt/notes.json +187 -35
- package/locales/pt/projects.json +129 -8
- package/locales/pt/protection.json +64 -2
- package/locales/pt/publicFiles.json +14 -1
- package/locales/pt/rbac.json +15 -2
- package/locales/pt/readiness.json +32 -1
- package/locales/pt/redis.json +19 -1
- package/locales/pt/runtime.json +49 -2
- package/locales/pt/search.json +11 -7
- package/locales/pt/security.json +66 -7
- package/locales/pt/serviceExposure.json +17 -5
- package/locales/pt/services.json +60 -2
- package/locales/pt/software.json +2 -1
- package/locales/pt/softwareLifecycle.json +12 -2
- package/locales/pt/ssl.json +12 -1
- package/locales/pt/stackWizard.json +9 -2
- package/locales/pt/support.json +36 -20
- package/locales/pt/system.json +26 -2
- package/locales/pt/systemd.json +3 -1
- package/locales/pt/terminal.json +9 -1
- package/locales/pt/translation.json +2125 -231
- package/locales/pt/updates.json +75 -3
- package/locales/pt/users.json +19 -1
- package/locales/pt/validators.json +266 -0
- package/locales/pt/vnc.json +10 -1
- package/locales/pt/vpn.json +17 -2
- package/locales/ur/agents.json +11 -1
- package/locales/ur/apache.json +5 -1
- package/locales/ur/audit.json +4 -1
- package/locales/ur/backups.json +20 -1
- package/locales/ur/btTracker.json +118 -39
- package/locales/ur/catalog.json +6 -6
- package/locales/ur/cdn.json +87 -1
- package/locales/ur/cli.json +2 -2
- package/locales/ur/common.json +8 -1
- package/locales/ur/cron.json +30 -1
- package/locales/ur/dashboard.json +21 -2
- package/locales/ur/db.json +58 -3
- package/locales/ur/dns.json +19 -1
- package/locales/ur/docker.json +247 -0
- package/locales/ur/email.json +46 -10
- package/locales/ur/errors.json +5 -2
- package/locales/ur/fail2ban.json +26 -1
- package/locales/ur/files.json +52 -10
- package/locales/ur/firewall.json +17 -8
- package/locales/ur/ftp.json +16 -1
- package/locales/ur/hostBrowse.json +35 -15
- package/locales/ur/listToolbar.json +2 -1
- package/locales/ur/login.json +13 -8
- package/locales/ur/logs.json +31 -2
- package/locales/ur/metrics.json +36 -1
- package/locales/ur/migrate.json +14 -1
- package/locales/ur/nav.json +10 -3
- package/locales/ur/network.json +25 -2
- package/locales/ur/notFound.json +6 -0
- package/locales/ur/notes.json +183 -31
- package/locales/ur/projects.json +131 -10
- package/locales/ur/protection.json +64 -2
- package/locales/ur/publicFiles.json +14 -1
- package/locales/ur/rbac.json +15 -2
- package/locales/ur/readiness.json +32 -1
- package/locales/ur/redis.json +19 -1
- package/locales/ur/runtime.json +49 -2
- package/locales/ur/search.json +13 -9
- package/locales/ur/security.json +66 -7
- package/locales/ur/serviceExposure.json +18 -6
- package/locales/ur/services.json +60 -2
- package/locales/ur/software.json +2 -1
- package/locales/ur/softwareLifecycle.json +12 -2
- package/locales/ur/ssl.json +12 -1
- package/locales/ur/stackWizard.json +9 -2
- package/locales/ur/support.json +37 -21
- package/locales/ur/system.json +26 -2
- package/locales/ur/systemd.json +3 -1
- package/locales/ur/terminal.json +9 -1
- package/locales/ur/translation.json +2134 -240
- package/locales/ur/updates.json +75 -3
- package/locales/ur/users.json +19 -1
- package/locales/ur/validators.json +266 -0
- package/locales/ur/vnc.json +10 -1
- package/locales/ur/vpn.json +19 -4
- package/locales/zh-CN/agents.json +11 -1
- package/locales/zh-CN/apache.json +6 -2
- package/locales/zh-CN/audit.json +4 -1
- package/locales/zh-CN/backups.json +20 -1
- package/locales/zh-CN/btTracker.json +82 -3
- package/locales/zh-CN/catalog.json +2 -2
- package/locales/zh-CN/cdn.json +87 -1
- package/locales/zh-CN/cli.json +5 -5
- package/locales/zh-CN/common.json +8 -1
- package/locales/zh-CN/cron.json +30 -1
- package/locales/zh-CN/dashboard.json +22 -3
- package/locales/zh-CN/db.json +59 -4
- package/locales/zh-CN/dns.json +19 -1
- package/locales/zh-CN/docker.json +247 -0
- package/locales/zh-CN/email.json +46 -10
- package/locales/zh-CN/errors.json +5 -2
- package/locales/zh-CN/fail2ban.json +31 -6
- package/locales/zh-CN/files.json +45 -3
- package/locales/zh-CN/firewall.json +11 -2
- package/locales/zh-CN/ftp.json +16 -1
- package/locales/zh-CN/hostBrowse.json +21 -1
- package/locales/zh-CN/listToolbar.json +2 -1
- package/locales/zh-CN/login.json +6 -1
- package/locales/zh-CN/logs.json +36 -7
- package/locales/zh-CN/metrics.json +36 -1
- package/locales/zh-CN/migrate.json +14 -1
- package/locales/zh-CN/nav.json +10 -3
- package/locales/zh-CN/network.json +26 -3
- package/locales/zh-CN/nginx.json +1 -1
- package/locales/zh-CN/notFound.json +6 -0
- package/locales/zh-CN/notes.json +177 -25
- package/locales/zh-CN/projects.json +128 -7
- package/locales/zh-CN/protection.json +64 -2
- package/locales/zh-CN/publicFiles.json +14 -1
- package/locales/zh-CN/rbac.json +15 -2
- package/locales/zh-CN/readiness.json +33 -2
- package/locales/zh-CN/redis.json +19 -1
- package/locales/zh-CN/runtime.json +50 -3
- package/locales/zh-CN/search.json +5 -1
- package/locales/zh-CN/security.json +66 -7
- package/locales/zh-CN/serviceExposure.json +13 -1
- package/locales/zh-CN/services.json +60 -2
- package/locales/zh-CN/software.json +2 -1
- package/locales/zh-CN/softwareLifecycle.json +12 -2
- package/locales/zh-CN/ssl.json +12 -1
- package/locales/zh-CN/stackWizard.json +9 -2
- package/locales/zh-CN/support.json +18 -2
- package/locales/zh-CN/system.json +27 -3
- package/locales/zh-CN/systemd.json +3 -1
- package/locales/zh-CN/terminal.json +9 -1
- package/locales/zh-CN/translation.json +2040 -146
- package/locales/zh-CN/updates.json +75 -3
- package/locales/zh-CN/users.json +19 -1
- package/locales/zh-CN/validators.json +266 -0
- package/locales/zh-CN/vnc.json +10 -1
- package/locales/zh-CN/vpn.json +19 -4
- package/locales/zh-HK/agents.json +17 -7
- package/locales/zh-HK/apache.json +6 -2
- package/locales/zh-HK/audit.json +4 -1
- package/locales/zh-HK/backups.json +21 -2
- package/locales/zh-HK/btTracker.json +86 -7
- package/locales/zh-HK/catalog.json +2 -2
- package/locales/zh-HK/cdn.json +89 -3
- package/locales/zh-HK/cli.json +15 -15
- package/locales/zh-HK/common.json +8 -1
- package/locales/zh-HK/cron.json +34 -5
- package/locales/zh-HK/dashboard.json +25 -6
- package/locales/zh-HK/db.json +65 -10
- package/locales/zh-HK/dns.json +19 -1
- package/locales/zh-HK/docker.json +247 -0
- package/locales/zh-HK/email.json +61 -25
- package/locales/zh-HK/errors.json +6 -3
- package/locales/zh-HK/fail2ban.json +32 -7
- package/locales/zh-HK/files.json +47 -5
- package/locales/zh-HK/firewall.json +13 -4
- package/locales/zh-HK/ftp.json +18 -3
- package/locales/zh-HK/hostBrowse.json +22 -2
- package/locales/zh-HK/listToolbar.json +2 -1
- package/locales/zh-HK/login.json +7 -2
- package/locales/zh-HK/logs.json +40 -11
- package/locales/zh-HK/metrics.json +38 -3
- package/locales/zh-HK/migrate.json +13 -0
- package/locales/zh-HK/nav.json +12 -5
- package/locales/zh-HK/network.json +30 -7
- package/locales/zh-HK/nginx.json +2 -2
- package/locales/zh-HK/notFound.json +6 -0
- package/locales/zh-HK/notes.json +228 -76
- package/locales/zh-HK/projects.json +142 -21
- package/locales/zh-HK/protection.json +65 -3
- package/locales/zh-HK/publicFiles.json +16 -3
- package/locales/zh-HK/rbac.json +15 -2
- package/locales/zh-HK/readiness.json +35 -4
- package/locales/zh-HK/redis.json +22 -4
- package/locales/zh-HK/runtime.json +58 -11
- package/locales/zh-HK/search.json +5 -1
- package/locales/zh-HK/security.json +77 -18
- package/locales/zh-HK/serviceExposure.json +13 -1
- package/locales/zh-HK/services.json +61 -3
- package/locales/zh-HK/software.json +2 -1
- package/locales/zh-HK/softwareLifecycle.json +12 -2
- package/locales/zh-HK/ssl.json +13 -2
- package/locales/zh-HK/stackWizard.json +10 -3
- package/locales/zh-HK/support.json +22 -6
- package/locales/zh-HK/system.json +30 -6
- package/locales/zh-HK/systemd.json +9 -7
- package/locales/zh-HK/terminal.json +10 -2
- package/locales/zh-HK/translation.json +2238 -344
- package/locales/zh-HK/uiInline.json +3 -3
- package/locales/zh-HK/updates.json +76 -4
- package/locales/zh-HK/users.json +20 -2
- package/locales/zh-HK/validators.json +266 -0
- package/locales/zh-HK/vnc.json +16 -7
- package/locales/zh-HK/vpn.json +23 -8
- package/package.json +1 -1
|
@@ -130,7 +130,17 @@
|
|
|
130
130
|
"labelStderr": "stderr",
|
|
131
131
|
"labelAckCli": "accusé de réception + CLI JSON",
|
|
132
132
|
"labelStdoutBody": "Corps stdout CLI",
|
|
133
|
-
"resultOuterHint": "Le résultat externe est la sortie stdout de CLI --json."
|
|
133
|
+
"resultOuterHint": "Le résultat externe est la sortie stdout de CLI --json.",
|
|
134
|
+
"statusFlowTitle": "Flux de statut",
|
|
135
|
+
"statusFlow": "Enregistré uniquement → en ligne → obsolète (> 60 s) → hors ligne (déconnecté). Le filtre « Hors ligne » est déconnecté.",
|
|
136
|
+
"colSession": "UUID de session",
|
|
137
|
+
"copySession": "Copier l'UUID de session pour le cluster/CLI --session",
|
|
138
|
+
"staleFor": "Invisible {{age}}",
|
|
139
|
+
"commandTitle": "Mettre une commande en file d'attente pour cette session",
|
|
140
|
+
"historyTitleShort": "Ouvrir l'historique des commandes (lecture seule)",
|
|
141
|
+
"expEdge": "Sur un bord :",
|
|
142
|
+
"noteAllowlist": "Agent tool calls must pass the allowlist.",
|
|
143
|
+
"noteRbacCap": "Agent role is capped at write-low."
|
|
134
144
|
},
|
|
135
145
|
"ai": {
|
|
136
146
|
"status": {
|
|
@@ -248,7 +258,11 @@
|
|
|
248
258
|
"cleanupConflicts": "Nettoyer les résidus de conflit",
|
|
249
259
|
"cleanupConflictsTitle": "Nettoyer tous les résidus de conflit ?",
|
|
250
260
|
"cleanupConflictsDesc": "Supprimez toutes les configurations d'artefacts sur disque en conflit avec un projet ou un nom de serveur autonome. Les lignes du projet sont conservées.",
|
|
251
|
-
"artifactRemovedOk": "Conf résiduel supprimé"
|
|
261
|
+
"artifactRemovedOk": "Conf résiduel supprimé",
|
|
262
|
+
"sslTerminatedUpstream": "TLS se termine à l'avant de Nginx",
|
|
263
|
+
"removeArtifactHint": "Supprime seulement ce conf disque reliquat. Ne supprime pas le projet.",
|
|
264
|
+
"sourceOrphan": "Leftover",
|
|
265
|
+
"orphanSite": "Project gone"
|
|
252
266
|
},
|
|
253
267
|
"applyStatus": {
|
|
254
268
|
"draft": "Brouillon",
|
|
@@ -285,7 +299,10 @@
|
|
|
285
299
|
"project.publish": "Publier Nginx",
|
|
286
300
|
"project.suspend": "Suspendre le projet",
|
|
287
301
|
"software.install": "Installer un logiciel",
|
|
288
|
-
"software.update": "Mettre à jour un logiciel"
|
|
302
|
+
"software.update": "Mettre à jour un logiciel",
|
|
303
|
+
"backup.restore": "Backup restore",
|
|
304
|
+
"backup.run": "Backup run",
|
|
305
|
+
"backup.delete": "Backup deleted"
|
|
289
306
|
}
|
|
290
307
|
},
|
|
291
308
|
"backups": {
|
|
@@ -419,20 +436,39 @@
|
|
|
419
436
|
"remotePushSub": "Après succès du tar local, envoyer vers SFTP, chemin local ou S3",
|
|
420
437
|
"accessKey": "Clé d'accès",
|
|
421
438
|
"secretKey": "Clé secrète",
|
|
422
|
-
"overwriteConfirmHint": "Tapez OVERWRITE pour confirmer l'écrasement"
|
|
439
|
+
"overwriteConfirmHint": "Tapez OVERWRITE pour confirmer l'écrasement",
|
|
440
|
+
"testRemote": "Tester la destination",
|
|
441
|
+
"testRemoteDone": "Sonde distante terminée",
|
|
442
|
+
"testRemoteFailed": "Sonde distante échouée",
|
|
443
|
+
"resticRepoPh": "Répertoire de données du panneau / restic-repo",
|
|
444
|
+
"testDisabledHint": "Activez le push à distance avant de tester.",
|
|
445
|
+
"identityId": "Identité SSH sortante",
|
|
446
|
+
"identityHint": "Préféré. Même coffre-fort que /security SSH. Le mot de passe nécessite sshpass.",
|
|
447
|
+
"identityNone": "Aucun — mot de passe ou clé par défaut",
|
|
448
|
+
"remotePathHint": "Par rapport au domicile de l’utilisateur distant (ou chroot SFTP). \".\" est-ce que c'est la maison ?",
|
|
449
|
+
"restoreFullTitle": "Écraser les fichiers de projet et les bases de données de cette archive — saisissez le nom du fichier pour confirmer",
|
|
450
|
+
"restoreWebTitle": "Restaurer les fichiers du site Web uniquement à partir de cette archive",
|
|
451
|
+
"previewTitle": "Aperçu de la restauration sans écrire",
|
|
452
|
+
"partialSkipped": "Partiel – certains projets ignorés",
|
|
453
|
+
"testRemoteHint": "Connects to the remote host and writes a small probe file. Not read-only.",
|
|
454
|
+
"skippedListHint": "These projects were skipped:",
|
|
455
|
+
"goLogs": "Open logs",
|
|
456
|
+
"goAbout": "Backup notes",
|
|
457
|
+
"skippedPendingOs": "Skipped — OS user / home not provisioned",
|
|
458
|
+
"latestFile": "Latest archive"
|
|
423
459
|
},
|
|
424
460
|
"btTracker": {
|
|
425
461
|
"title": "Traqueur BT",
|
|
426
462
|
"sub": "Self-hosted BitTorrent / WebTorrent tracker for file shares",
|
|
427
463
|
"pageDesc": "Seed panel file shares over BitTorrent. Start the tracker, set a public announce host, then create BT shares in Files.",
|
|
428
|
-
"status": "
|
|
429
|
-
"running": "
|
|
430
|
-
"stopped": "
|
|
464
|
+
"status": "Statut",
|
|
465
|
+
"running": "En cours d'exécution",
|
|
466
|
+
"stopped": "Arrêté",
|
|
431
467
|
"installed": "Installed (bundled)",
|
|
432
468
|
"start": "Start tracker",
|
|
433
469
|
"stop": "Stop tracker",
|
|
434
|
-
"refresh": "
|
|
435
|
-
"settings": "
|
|
470
|
+
"refresh": "Rafraîchir",
|
|
471
|
+
"settings": "Paramètres",
|
|
436
472
|
"httpPort": "HTTP / WebSocket port",
|
|
437
473
|
"udpPort": "UDP port (0 = off)",
|
|
438
474
|
"listenHost": "Listen host",
|
|
@@ -451,18 +487,18 @@
|
|
|
451
487
|
"torrentsEmpty": "No announce traffic yet",
|
|
452
488
|
"torrentsEmptyHint": "Create a file share with BitTorrent mode in Files. This table fills as peers announce and the server seeds.",
|
|
453
489
|
"torrentsDesc": "Live swarm from the tracker, plus local seeder status for panel shares.",
|
|
454
|
-
"colName": "
|
|
490
|
+
"colName": "Nom",
|
|
455
491
|
"colHash": "Info hash",
|
|
456
|
-
"colSeeds": "
|
|
457
|
-
"colLeechers": "
|
|
458
|
-
"colStatus": "
|
|
492
|
+
"colSeeds": "Graines",
|
|
493
|
+
"colLeechers": "Sangsues",
|
|
494
|
+
"colStatus": "Statut",
|
|
459
495
|
"announceUrls": "Announce URLs",
|
|
460
496
|
"announceDesc": "Put these trackers in clients, or rely on magnets generated by the panel.",
|
|
461
|
-
"copy": "
|
|
462
|
-
"copied": "
|
|
497
|
+
"copy": "Copie",
|
|
498
|
+
"copied": "Copié",
|
|
463
499
|
"statsTorrents": "Torrents",
|
|
464
|
-
"statsPeers": "
|
|
465
|
-
"statsAnnounces": "
|
|
500
|
+
"statsPeers": "Pairs",
|
|
501
|
+
"statsAnnounces": "Annonce",
|
|
466
502
|
"statsJobs": "Active jobs",
|
|
467
503
|
"openShares": "File shares",
|
|
468
504
|
"needExecute": "Enable system-change permission (YSK_EXECUTE) to open ports and run production seeds.",
|
|
@@ -471,27 +507,27 @@
|
|
|
471
507
|
"restoreSeeds": "Re-seed BT shares",
|
|
472
508
|
"restoreSeedsHint": "Start tracker if needed and re-seed shares that still have a .torrent on disk.",
|
|
473
509
|
"bundledNote": "Bundled with YSK Server (Node). No apt install/uninstall — Start/Stop manages the process.",
|
|
474
|
-
"stackTitle": "
|
|
510
|
+
"stackTitle": "Logiciel",
|
|
475
511
|
"jobs": "Torrent jobs",
|
|
476
512
|
"jobsEmpty": "No background torrent jobs",
|
|
477
513
|
"jobsEmptyHint": "Large shares (≥128 MiB) build .torrent files in the background so the Files dialog stays responsive.",
|
|
478
514
|
"jobsDesc": "Background create-torrent queue for large file or folder shares.",
|
|
479
|
-
"colJob": "
|
|
480
|
-
"colShare": "
|
|
515
|
+
"colJob": "Emploi",
|
|
516
|
+
"colShare": "Partager",
|
|
481
517
|
"colJobStatus": "Job status",
|
|
482
518
|
"colEnqueued": "Enqueued",
|
|
483
519
|
"refreshJobs": "Refresh jobs",
|
|
484
|
-
"tabOverview": "
|
|
520
|
+
"tabOverview": "Aperçu",
|
|
485
521
|
"tabTorrents": "Torrents",
|
|
486
|
-
"tabJobs": "
|
|
487
|
-
"tabSettings": "
|
|
488
|
-
"tabAbout": "
|
|
522
|
+
"tabJobs": "Emplois",
|
|
523
|
+
"tabSettings": "Paramètres",
|
|
524
|
+
"tabAbout": "À propos",
|
|
489
525
|
"heroRunning": "Tracker is live",
|
|
490
526
|
"heroStopped": "Tracker is stopped",
|
|
491
527
|
"heroRunningSub": "Peers can announce and discover seeds for panel shares.",
|
|
492
528
|
"heroStoppedSub": "Start the tracker before sharing large files over BitTorrent.",
|
|
493
|
-
"live": "
|
|
494
|
-
"liveOff": "
|
|
529
|
+
"live": "En direct",
|
|
530
|
+
"liveOff": "Inactif",
|
|
495
531
|
"quickStart": "Quick start",
|
|
496
532
|
"quickStartDesc": "Three steps to share files over BitTorrent.",
|
|
497
533
|
"step1Title": "Set public announce host",
|
|
@@ -500,28 +536,28 @@
|
|
|
500
536
|
"step2Hint": "Open port exposure if peers are off this host.",
|
|
501
537
|
"step3Title": "Create a BT share",
|
|
502
538
|
"step3Hint": "In Files → Share, choose BitTorrent or both.",
|
|
503
|
-
"stepDone": "
|
|
504
|
-
"stepTodo": "
|
|
505
|
-
"networkCard": "
|
|
539
|
+
"stepDone": "Fait",
|
|
540
|
+
"stepTodo": "Faire",
|
|
541
|
+
"networkCard": "Réseau",
|
|
506
542
|
"networkCardDesc": "Where the tracker listens and what host appears in magnets.",
|
|
507
|
-
"seederCard": "
|
|
543
|
+
"seederCard": "Semoir",
|
|
508
544
|
"seederCardDesc": "In-process WebTorrent seeder limits and peer ports.",
|
|
509
|
-
"lifecycleCard": "
|
|
545
|
+
"lifecycleCard": "Cycle de vie",
|
|
510
546
|
"lifecycleCardDesc": "Boot behaviour and how the service is packaged.",
|
|
511
547
|
"pid": "PID",
|
|
512
548
|
"port": "Port",
|
|
513
549
|
"announceHost": "Announce host",
|
|
514
550
|
"goSettings": "Open settings",
|
|
515
551
|
"searchTorrents": "Search name or hash…",
|
|
516
|
-
"filterAll": "
|
|
517
|
-
"filterSeeding": "
|
|
518
|
-
"filterOther": "
|
|
552
|
+
"filterAll": "Tous",
|
|
553
|
+
"filterSeeding": "Semis",
|
|
554
|
+
"filterOther": "Autre",
|
|
519
555
|
"noMatch": "No torrents match your filter",
|
|
520
|
-
"seedStatusSeeding": "
|
|
521
|
-
"seedStatusPending": "
|
|
522
|
-
"seedStatusError": "
|
|
523
|
-
"seedStatusStopped": "
|
|
524
|
-
"seedStatusNone": "
|
|
556
|
+
"seedStatusSeeding": "Semis",
|
|
557
|
+
"seedStatusPending": "En attente",
|
|
558
|
+
"seedStatusError": "Erreur",
|
|
559
|
+
"seedStatusStopped": "Arrêté",
|
|
560
|
+
"seedStatusNone": "Aucun",
|
|
525
561
|
"notesTitle": "Service notes",
|
|
526
562
|
"exposureTitle": "Network access",
|
|
527
563
|
"protoHttp": "HTTP",
|
|
@@ -538,14 +574,93 @@
|
|
|
538
574
|
"udpPortClassic": "6969 · Classic",
|
|
539
575
|
"portSuggest8000": "8000 · Recommended",
|
|
540
576
|
"saveOkRestart": "Enregistré - redémarrez le tracker pour appliquer les ports",
|
|
541
|
-
"announceHostUnset": "
|
|
577
|
+
"announceHostUnset": "Non défini",
|
|
578
|
+
"tabTrackers": "Traqueurs",
|
|
579
|
+
"addTorrent": "Ajouter un torrent",
|
|
580
|
+
"addTorrentTitle": "Ajouter un torrent",
|
|
581
|
+
"addTorrentHint": "Téléchargez un .torrent ou collez un aimant. Choisissez un dossier Fichiers. WebTorrent télécharge les fichiers et les graines manquants une fois terminé.",
|
|
582
|
+
"dropTorrent": "Déposez un .torrent ici",
|
|
583
|
+
"chooseFile": "ou choisissez un fichier",
|
|
584
|
+
"magnetLabel": "Aimant",
|
|
585
|
+
"magnetPlaceholder": "aimant:?xt=urne:btih:…",
|
|
586
|
+
"inspect": "Lire",
|
|
587
|
+
"extraTrackersPreview": "Annoncera également à {{n}} tracker(s) supplémentaire(s)",
|
|
588
|
+
"saveLocation": "Enregistrer l'emplacement",
|
|
589
|
+
"saveRootPublic": "Fichiers publics",
|
|
590
|
+
"newFolder": "Nouveau dossier",
|
|
591
|
+
"destPreview": "Écrirai à",
|
|
592
|
+
"startDownload": "Démarrer le téléchargement",
|
|
593
|
+
"filterDownloading": "Téléchargement",
|
|
594
|
+
"filterPaused": "En pause",
|
|
595
|
+
"filterError": "Erreur",
|
|
596
|
+
"emptyDrop": "Déposez un .torrent ici ou choisissez un fichier",
|
|
597
|
+
"emptyHint": "Les fichiers vont dans le dossier que vous choisissez. S'ils sont déjà terminés, cet hôte héberge des graines. Moteur : WebTorrent — aucun logiciel de téléchargement supplémentaire.",
|
|
598
|
+
"pause": "Pause",
|
|
599
|
+
"resume": "CV",
|
|
600
|
+
"openFolder": "Ouvrir le dossier",
|
|
601
|
+
"remove": "Retirer",
|
|
602
|
+
"removeKeep": "Supprimer, conserver les fichiers",
|
|
603
|
+
"removeDelete": "Supprimer et supprimer des fichiers",
|
|
604
|
+
"removeConfirm": "Supprimer ce torrent de la bibliothèque ?",
|
|
605
|
+
"kindShare": "Partager",
|
|
606
|
+
"filesInTorrent": "fichiers",
|
|
607
|
+
"extraTrackersDesc": "URL d'annonce supplémentaires. Les téléchargements/graines de bibliothèque et les graines de partage de fichiers les utilisent en plus de la liste .torrent. Cela n’ouvre pas le tracker local aux essaims arbitraires.",
|
|
608
|
+
"extraTrackersEmpty": "Pas de trackers supplémentaires. Ajoutez des URL d'annonce HTTP(S), UDP ou WS(S) afin que cet hôte puisse trouver des homologues.",
|
|
609
|
+
"extraTrackerAdd": "Ajouter",
|
|
610
|
+
"extraTrackerUrl": "Annoncer l'URL",
|
|
611
|
+
"extraTrackerApply": "Appliquer sur les graines actuelles",
|
|
612
|
+
"extraTrackerApplyOk": "Trackers supplémentaires appliqués",
|
|
613
|
+
"extraEnabled": "Sur",
|
|
614
|
+
"extraTrackerBad": "L'URL doit commencer par http://, https://, udp://, ws:// ou wss://",
|
|
615
|
+
"extraTrackerDup": "Déjà répertorié",
|
|
616
|
+
"extraTrackerLimit": "Maximum 32 trackers supplémentaires",
|
|
617
|
+
"addOk": "Ajouté à la bibliothèque",
|
|
618
|
+
"savedTo": "Sauvegarder",
|
|
619
|
+
"folderEmpty": "Aucun sous-dossier",
|
|
620
|
+
"needTorrentFile": "Choisissez un fichier .torrent",
|
|
621
|
+
"torrentTooBig": ".torrent supérieur à 8 Mio",
|
|
622
|
+
"seedStatusDownloading": "Téléchargement",
|
|
623
|
+
"seedStatusChecking": "Vérification",
|
|
624
|
+
"seedStatusPaused": "En pause",
|
|
625
|
+
"seedStatusQueued": "En file d'attente",
|
|
626
|
+
"swarmLeftover": "Le Tracker a {{count}} annonce(s) hors bibliothèque (source distincte de la liste des torrents)",
|
|
627
|
+
"addSourceSection": "Source",
|
|
628
|
+
"addSourceFile": "Fichier",
|
|
629
|
+
"addSourceMagnet": "Aimant",
|
|
630
|
+
"previewSection": "Aperçu",
|
|
631
|
+
"saveRoot": "Racine",
|
|
632
|
+
"clearFile": "Retirer le fichier",
|
|
633
|
+
"extraTrackersTitle": "Announce supplémentaire",
|
|
634
|
+
"extraTrackersEmptyTitle": "Aucun tracker pour l’instant",
|
|
635
|
+
"extraEnabledCount": "{{count}} activé(s)",
|
|
636
|
+
"extraApplyHint": "Activez-en au moins un pour l’appliquer aux seeds en cours",
|
|
637
|
+
"destMode": "Utilisation de ce dossier",
|
|
638
|
+
"seedExisting": "Seeder les fichiers existants",
|
|
639
|
+
"downloadNewFolder": "Télécharger dans un nouveau dossier",
|
|
640
|
+
"destFileConflict": "Un fichier {{name}} existe déjà ici. Choisissez un autre dossier, ou seedez le fichier existant s’il correspond.",
|
|
641
|
+
"waitingPeers": "En attente de pairs. Si les fichiers sont déjà sur cet hôte, ajoutez à nouveau et choisissez de seeder les existants.",
|
|
642
|
+
"stopTitle": "Arrêtez le tracker - l'amorçage et les téléchargements seront interrompus",
|
|
643
|
+
"stopDesc": "Les torrents en cours d'exécution arrêtent d'annoncer. Les pairs se déconnectent jusqu'à ce que vous redémarriez le tracker.",
|
|
644
|
+
"fillPublicHost": "Utilisez {{host}}",
|
|
645
|
+
"fillPublicHostTitle": "Remplissez le nom d'hôte actuel du panneau en tant qu'hôte d'annonce publique",
|
|
646
|
+
"listenHostHint": "0.0.0.0 listens on every address. Prefer 127.0.0.1 unless peers must reach this host.",
|
|
647
|
+
"listenAllWarn": "Tracker is bound to all addresses. With the firewall off this is public. Bind 127.0.0.1 for local-only, or restrict the port in the firewall.",
|
|
648
|
+
"bindLoopback": "127.0.0.1 only",
|
|
649
|
+
"bindAll": "0.0.0.0 (all)",
|
|
650
|
+
"seederPortMin": "Peer port start",
|
|
651
|
+
"seederPortMax": "Peer port end",
|
|
652
|
+
"statsLibrary": "Library",
|
|
653
|
+
"statsLibraryHint": "Torrents in the panel library / file shares",
|
|
654
|
+
"statsTrackerLeftover": "Tracker leftover",
|
|
655
|
+
"statsTrackerLeftoverHint": "Tracker announce hashes that are not library rows",
|
|
656
|
+
"statsAnnouncesHint": "Announce requests seen by the tracker process"
|
|
542
657
|
},
|
|
543
658
|
"catalog": {
|
|
544
659
|
"sw": {
|
|
545
660
|
"vsftpd": "vsftpd (FTPS)",
|
|
546
|
-
"db_util": "db-util (base
|
|
661
|
+
"db_util": "db-util (base de données utilisateur FTP)",
|
|
547
662
|
"nginx": "Nginx",
|
|
548
|
-
"certbot": "Certbot (
|
|
663
|
+
"certbot": "Certbot (Let's Encrypt)",
|
|
549
664
|
"mysql_client": "Client MySQL/MariaDB",
|
|
550
665
|
"mysql_server": "Serveur MySQL",
|
|
551
666
|
"mariadb_server": "Serveur MariaDB",
|
|
@@ -554,10 +669,10 @@
|
|
|
554
669
|
"redis_tools": "Client Redis",
|
|
555
670
|
"redis_server": "Serveur Redis",
|
|
556
671
|
"ufw": "Pare-feu UFW",
|
|
557
|
-
"fail2ban": "
|
|
672
|
+
"fail2ban": "fail2ban",
|
|
558
673
|
"postfix": "Postfix",
|
|
559
|
-
"dovecot": "
|
|
560
|
-
"opendkim": "
|
|
674
|
+
"dovecot": "Dovecot",
|
|
675
|
+
"opendkim": "OpenDKIM",
|
|
561
676
|
"pdns_server": "PowerDNS",
|
|
562
677
|
"git": "Git",
|
|
563
678
|
"node": "Node.js",
|
|
@@ -565,7 +680,7 @@
|
|
|
565
680
|
"python": "Python",
|
|
566
681
|
"go": "Go",
|
|
567
682
|
"rust": "Rust",
|
|
568
|
-
"chromium": "
|
|
683
|
+
"chromium": "Chromium / Chrome"
|
|
569
684
|
},
|
|
570
685
|
"php": {
|
|
571
686
|
"session": "Session",
|
|
@@ -689,7 +804,93 @@
|
|
|
689
804
|
"deleteNodeDesc": "Supprime le nœud CDN « {{name}} ».",
|
|
690
805
|
"deleteSiteDesc": "Supprime le site CDN « {{name}} ».",
|
|
691
806
|
"deleteSiteC1": "Politique du site et associations edge",
|
|
692
|
-
"deleteSiteC2": "Les configs nginx appliquées peuvent nécessiter un nettoyage ou une réapplication séparés"
|
|
807
|
+
"deleteSiteC2": "Les configs nginx appliquées peuvent nécessiter un nettoyage ou une réapplication séparés",
|
|
808
|
+
"statOnline": "Online",
|
|
809
|
+
"statOffline": "Hors ligne {{n}}",
|
|
810
|
+
"statHitRate": "Taux de réussite {{v}}",
|
|
811
|
+
"hitNoStats": "Pas encore de stats de bord",
|
|
812
|
+
"loopbackOriginBlocked": "N’appliquera pas l’origin de bouclage {{url}} à un bord distant. Définissez un origin joignable.",
|
|
813
|
+
"applyFailedHint": "Échec d’application — voir les notes ci-dessous",
|
|
814
|
+
"applyStatus": {
|
|
815
|
+
"draft": "Brouillon",
|
|
816
|
+
"planned": "Planifié",
|
|
817
|
+
"applying": "Application…",
|
|
818
|
+
"applied": "Appliqué",
|
|
819
|
+
"failed": "Échoué",
|
|
820
|
+
"partial": "Partiel"
|
|
821
|
+
},
|
|
822
|
+
"drain": "Vidange",
|
|
823
|
+
"drainTitle": "Arrêtez d'envoyer du nouveau trafic CDN vers ce périphérique",
|
|
824
|
+
"drainDesc": "Vider « {{name}} » ? Les connexions existantes restent jusqu'à leur fin.",
|
|
825
|
+
"drainLastTitle": "C'est le dernier bord : le drainage laissera chaque site sans bord",
|
|
826
|
+
"drainLastDesc": "«{{name}}» est le seul avantage. Égouttez-le et tous les sites n'ont aucun bord.",
|
|
827
|
+
"clearDrainTitle": "Acceptez à nouveau le nouveau trafic sur ce bord",
|
|
828
|
+
"clearDrainDesc": "Vider la vidange sur « {{name}} » ?",
|
|
829
|
+
"deleteNodeTitle": "Supprimer ce bord CDN",
|
|
830
|
+
"deleteLastNodeTitle": "Supprimez le dernier bord : tous les sites n'auront aucun bord",
|
|
831
|
+
"purge": "Purge",
|
|
832
|
+
"previewTitle": "Aperçu de la configuration nginx (pas d'écriture)",
|
|
833
|
+
"writeConfTitle": "Écrire les fichiers de configuration Edge Nginx",
|
|
834
|
+
"applyEdgesTitle": "Appliquer ce site aux bords (écrit nginx)",
|
|
835
|
+
"purgeTitle": "Purger le cache sur les bords",
|
|
836
|
+
"dnsSyncTitle": "Écrire des enregistrements DNS CDN",
|
|
837
|
+
"probeDnsTitle": "Bords de sonde et DNS (lecture seule)",
|
|
838
|
+
"distSslTitle": "Copier les matériaux TLS sur les bords",
|
|
839
|
+
"leIssueTitle": "Émettez un certificat Let’s Encrypt et distribuez-le",
|
|
840
|
+
"deleteSiteTitle": "Supprimer ce site CDN",
|
|
841
|
+
"siteOpConfirmGeneric": "Exécuter cette action sur « {{name}} » ?",
|
|
842
|
+
"siteOpConfirmDesc": "Site « {{name}} » · {{action}}. Cela peut modifier nginx, DNS ou les certificats.",
|
|
843
|
+
"siteOpConfirm": {
|
|
844
|
+
"apply": "Appliquer ce site aux bords ?",
|
|
845
|
+
"render": "Écrire la configuration nginx pour ce site ?",
|
|
846
|
+
"purge": "Vider le cache de ce site ?",
|
|
847
|
+
"dns-sync": "Synchroniser le DNS pour ce site ?",
|
|
848
|
+
"dist": "Distribuer TLS sur les bords ?",
|
|
849
|
+
"issue": "Problème Chiffrons et distribuons ?"
|
|
850
|
+
},
|
|
851
|
+
"pillNodesSites": "{{n}} nœuds · {{s}} sites",
|
|
852
|
+
"statHit": "Taux de réussite",
|
|
853
|
+
"hitUnknown": "Inconnu",
|
|
854
|
+
"lastHealthHint": "Dernière sonde {{at}} · {{ok}}",
|
|
855
|
+
"lastHealthNever": "Pas encore sondé – exécutez Probe",
|
|
856
|
+
"lastHealthFail": "la sonde a échoué",
|
|
857
|
+
"healthLoopNeedSites": "Ajoutez d'abord un site",
|
|
858
|
+
"nodeStatus": {
|
|
859
|
+
"online": "en ligne",
|
|
860
|
+
"offline": "hors ligne",
|
|
861
|
+
"draining": "évacuation",
|
|
862
|
+
"unknown": "inconnu"
|
|
863
|
+
},
|
|
864
|
+
"statOnlineOf": "Online {{n}}/{{total}}",
|
|
865
|
+
"statDraining": "Draining {{n}}",
|
|
866
|
+
"localTest": "local / test",
|
|
867
|
+
"colRegion": "Region",
|
|
868
|
+
"previewOnlyNote": "Preview only — nothing was written to the edges.",
|
|
869
|
+
"statByRegion": "Region: ",
|
|
870
|
+
"statByApply": "Apply status: ",
|
|
871
|
+
"col": {
|
|
872
|
+
"origin": "Origin",
|
|
873
|
+
"edges": "Edges",
|
|
874
|
+
"apply": "Apply",
|
|
875
|
+
"dns": "DNS",
|
|
876
|
+
"edgesOnline": "Edges online / applied",
|
|
877
|
+
"dnsRr": "CDN DNS records"
|
|
878
|
+
},
|
|
879
|
+
"mode": {
|
|
880
|
+
"origin_pull": "Origin pull",
|
|
881
|
+
"reverse_proxy": "Reverse proxy",
|
|
882
|
+
"static_edge": "Static edge"
|
|
883
|
+
},
|
|
884
|
+
"dnsStrategy": {
|
|
885
|
+
"multi_a": "Multiple A records",
|
|
886
|
+
"cname": "CNAME",
|
|
887
|
+
"geo": "Geo"
|
|
888
|
+
},
|
|
889
|
+
"edgesOnlineApplied": "{{online}}/{{total}} online · {{applied}} applied",
|
|
890
|
+
"hitMiss": "Hits {{hits}} / misses {{misses}}",
|
|
891
|
+
"cacheBytes": "Cache ≈ {{n}} B",
|
|
892
|
+
"hitRateUnknown": "No access log with cache status and no cache directory, so hit rate cannot be estimated.",
|
|
893
|
+
"offlineHint": "Offline — probe failed. Remove the node if it is leftover."
|
|
693
894
|
},
|
|
694
895
|
"cli": {
|
|
695
896
|
"unknownCommand": "Commande inconnue : {{command}}\nExécutez `{{cli}} help`",
|
|
@@ -705,7 +906,7 @@
|
|
|
705
906
|
},
|
|
706
907
|
"help": {
|
|
707
908
|
"blurb": "CLI du plan de contrôle — préférez --json pour les agents IA.\nDocs : docs/agent/README.md · docs/cli/reference.md · docs/agent/commands.json",
|
|
708
|
-
"main": "{{product}} ({{cli}}) v{{version}}\n\nCLI du plan de contrôle — préférez --json pour les agents IA.\nDocs : docs/agent/README.md · docs/cli/reference.md · docs/agent/commands.json\n\nUtilisation :\n {{cli}} <command> [options]\n\nCommandes :\n setup Init dataDir + admin\n update Vérif./appl. auto-mise à jour\n serve API HTTP + interface Web\n system unit-install Installer ysk-server.service [--enable]\n tools Lister les outils ; tools run --tool <name> [--dry-run]\n ask NL → plan IA [--execute]\n projects list|get|create|deploy|stop|health|backup|template\n backup all|list|status|restore|delete|schedule|control-plane|settings|restic\n templates Modèles d'applications\n hosting aides nginx|dns|db|firewall\n dns zone|zones (alias IA → hosting dns-*)\n logs sources|query|journal|overview\n host overview|metrics (lecture seule)\n nginx status|list|test|sync\n ssl list|get (certificats)\n db-cluster list|get|create|plan (HA plan d'abord)\n ssh-key list|create|import|public|export|install|delete (coffre d'identités SSH)\n ssh-2fa list|enroll|confirm|install|pam|retire (TOTP connexion SSH ≠ 2FA panneau)\n services Matrice des services hôte (sondage systemctl)\n defense | protection status|ban|unban|whitelist\n security status|sessions|api-keys (flags 2FA · révocation session · clés API)\n cdn nodes|sites|render|apply|purge|probe|dashboard|health-loop|from-project\n agents runtimes|fleet list|commands|register (panneau + edge)\n agent run Sondeur de flotte sortant (expérimental)\n store status|export|import|migrate (backends document json|sqlite|postgres)\n files list|read|write|mkdir|rm|stat|rename|copy|move|chmod|trash|shares (bac à sable)\n cron list|create|delete|enable|disable|run|install|status\n email domains|mailboxes|deliverability|bootstrap|dns (parité panneau)\n health Instantané mode local ou --url http://host:port/health\n readiness | doctor Préparation production (honnête)\n migrate inventory|host|post|status|resume (migration hôte complète)\n version | help\n\nGlobal :\n --json stdout JSON (IA)\n --data-dir PATH\n --config PATH\n --help | --version\n\nSortie : 0 ok · 1 erreur · 2 validation · 3 bloqué · 4 introuvable · 5 erreur hôte\n\nSécurité :\n Les ops dangereuses sont en dry-run par défaut (plan seulement).\n Passez --execute (alias --apply) + env YSK_EXECUTE=1 pour modifier l'hôte.\n\nExemples :\n {{cli}} readiness --json\n {{cli}} host --json\n {{cli}} nginx status --json\n {{cli}} ssl list --json\n {{cli}} projects get --id UUID --json\n {{cli}} defense ban --ip 1.2.3.4 --json # plan dry-run\n {{cli}} projects list --json\n {{cli}} logs query --source journal: --lines 100 --json\n {{cli}} tools --json"
|
|
909
|
+
"main": "{{product}} ({{cli}}) v{{version}}\n\nCLI du plan de contrôle — préférez --json pour les agents IA.\nDocs : docs/agent/README.md · docs/cli/reference.md · docs/agent/commands.json\n\nUtilisation :\n {{cli}} <command> [options]\n\nCommandes :\n setup Init dataDir + admin\n update Vérif./appl. auto-mise à jour\n serve API HTTP + interface Web\n system unit-install Installer ysk-server.service [--enable]\n tools Lister les outils ; tools run --tool <name> [--dry-run]\n ask NL → plan IA [--execute]\n projects list|get|create|deploy|stop|health|backup|template\n backup all|list|status|restore|delete|schedule|control-plane|settings|restic\n templates Modèles d'applications\n hosting aides nginx|dns|db|firewall\n dns zone|zones (alias IA → hosting dns-*)\n logs sources|query|journal|overview\n host overview|metrics (lecture seule)\n nginx status|list|test|sync\n ssl list|get (certificats)\n db-cluster list|get|create|plan (HA plan d'abord)\n ssh-key list|create|import|public|export|install|delete (coffre d'identités SSH)\n ssh-2fa list|enroll|confirm|install|pam|retire (TOTP connexion SSH ≠ 2FA panneau)\n services Matrice des services hôte (sondage systemctl)\n defense | protection status|ban|unban|whitelist\n security status|sessions|api-keys (flags 2FA · révocation session · clés API)\n cdn nodes|sites|render|apply|purge|probe|dashboard|health-loop|from-project\n agents runtimes|fleet list|commands|register (panneau + edge)\n agent run Sondeur de flotte sortant (expérimental)\n store status|export|import|migrate (backends document json|sqlite|postgres)\n files list|read|write|mkdir|rm|stat|rename|copy|move|chmod|trash|shares (bac à sable)\n cron list|create|delete|enable|disable|run|install|status\n email domains|mailboxes|deliverability|bootstrap|dns (parité panneau)\n health Instantané mode local ou --url http://host:port/health\n readiness | doctor Préparation production (honnête)\n migrate inventory|host|post|status|resume (migration hôte complète)\n validators list|chains|disk|get (Beta)\n docker status|ps|images|compose|prune (engine)\n version | help\n\nGlobal :\n --json stdout JSON (IA)\n --data-dir PATH\n --config PATH\n --help | --version\n\nSortie : 0 ok · 1 erreur · 2 validation · 3 bloqué · 4 introuvable · 5 erreur hôte\n\nSécurité :\n Les ops dangereuses sont en dry-run par défaut (plan seulement).\n Passez --execute (alias --apply) + env YSK_EXECUTE=1 pour modifier l'hôte.\n\nExemples :\n {{cli}} readiness --json\n {{cli}} host --json\n {{cli}} nginx status --json\n {{cli}} ssl list --json\n {{cli}} projects get --id UUID --json\n {{cli}} defense ban --ip 1.2.3.4 --json # plan dry-run\n {{cli}} projects list --json\n {{cli}} logs query --source journal: --lines 100 --json\n {{cli}} tools --json"
|
|
709
910
|
},
|
|
710
911
|
"usage": {
|
|
711
912
|
"tools": {
|
|
@@ -1575,7 +1776,7 @@
|
|
|
1575
1776
|
},
|
|
1576
1777
|
"status": {
|
|
1577
1778
|
"bans": {
|
|
1578
|
-
"a8d96b": "Utilisation : {{CLI_NAME}} defense status|bans|suspects|ban|unban|whitelist|stack-apply|fail2ban|firewall|timeline|presets [--json]\n
|
|
1779
|
+
"a8d96b": "Utilisation : {{CLI_NAME}} defense status|bans|suspects|ban|unban|whitelist|stack-apply|fail2ban|firewall|timeline|presets [--json]\n bans [--q text] [--source fail2ban|panel|ufw|auto]\n suspects [--q text]\n stack-apply [--execute] # UFW + fail2ban + preset actuel\n fail2ban | firewall # sondes approfondies (honnêtes)\n timeline [--limit N] [--q text]\n presets # liste + activePreset\n"
|
|
1579
1780
|
}
|
|
1580
1781
|
}
|
|
1581
1782
|
}
|
|
@@ -1741,7 +1942,7 @@
|
|
|
1741
1942
|
}
|
|
1742
1943
|
},
|
|
1743
1944
|
"x": {
|
|
1744
|
-
"972912": "Utilisation :\n ysk-server migrate inventory [--data-dir PATH] --json\n ysk-server migrate host --target root@IP [--identity-file PATH|--identity-id ID|--password PW] --execute [--maintenance] [--force-wipe-target]\n ysk-server migrate post --job ID --data-dir PATH --execute # sur la cible\n ysk-server migrate status [--job ID]\n ysk-server migrate resume --job ID --execute\n"
|
|
1945
|
+
"972912": "Utilisation :\n ysk-server migrate inventory [--data-dir PATH] --json\n ysk-server migrate host --target root@IP [--identity-file PATH|--identity-id ID|--password PW] --execute [--maintenance] [--force-wipe-target]\n ysk-server migrate post --job ID --data-dir PATH --execute # sur la cible\n ysk-server migrate status [--job ID]\n ysk-server migrate resume --job ID --execute\n ysk-server migrate orphan-homes [--data-dir PATH] --json\n ysk-server migrate orphan-homes --path /home/ysk-server-UUID --confirm PATH --execute\n"
|
|
1745
1946
|
},
|
|
1746
1947
|
"hostingHelp": "Utilisation : ysk-server hosting <sub>\n Ops dangereuses en simulation par défaut ; ajoutez --execute (+ YSK_EXECUTE=1) pour appliquer\n nginx | nginx-sync [--execute]\n redis-provision | postgres-provision | mysql-provision [--execute]\n dns-zone --zone X --ip A.B.C.D [--ipv6 X:X::X] [--validate] [--reload]\n dns-zones | powerdns-status | powerdns-install [--install|--execute]\n powerdns-load --zone X --ip A.B.C.D [--load|--execute]\n email-apply --domain X [--install|--execute]\n email-mailbox --domain X --local user [--password P] [--ip A.B.C.D] [--system]\n ftps-apply --domain X [--install|--execute]\n runtimes | runtime-install --kind node|php|python|go|rust --version V [--install|--execute]\n dovecot-passdb --domain X | --all\n webmail-apply --domain webmail.example.com [--download]\n public-files --domain files.example.com [--reload]\n email-bootstrap --domain example.com --ip A.B.C.D [--install|--execute]\n email-deliverability --domain example.com # pack PTR/DNSBL/warmup (honnête)\n firewall-apply [--smtp] [--execute]\n",
|
|
1747
1948
|
"logsQuery": "Utilisation : {{CLI_NAME}} logs query --source <id> [--lines N] [--grep G] [--since 1h] [--priority err]\n exemples de source : journal: journal:nginx.service file:syslog project:<uuid>\n {{CLI_NAME}} logs sources --json\n {{CLI_NAME}} logs journal [--unit nginx.service] --json\n"
|
|
@@ -1910,6 +2111,7 @@
|
|
|
1910
2111
|
"noData": "Aucune donnée",
|
|
1911
2112
|
"input": "Entrée",
|
|
1912
2113
|
"pleaseEnter": "Saisir {{value}}",
|
|
2114
|
+
"required": "Obligatoire",
|
|
1913
2115
|
"about": "À propos",
|
|
1914
2116
|
"operation": "Actes",
|
|
1915
2117
|
"delete": "Supprimer",
|
|
@@ -1996,7 +2198,13 @@
|
|
|
1996
2198
|
"show": "Afficher",
|
|
1997
2199
|
"done": "Fait",
|
|
1998
2200
|
"next": "Suivant",
|
|
1999
|
-
"previous": "Précédent"
|
|
2201
|
+
"previous": "Précédent",
|
|
2202
|
+
"all": "Tous",
|
|
2203
|
+
"showPassword": "Montrer",
|
|
2204
|
+
"hidePassword": "Cacher",
|
|
2205
|
+
"more": "Plus",
|
|
2206
|
+
"redirectedTo": "Ouvert {{to}} (était {{from}})",
|
|
2207
|
+
"unavailable": "Not available right now"
|
|
2000
2208
|
},
|
|
2001
2209
|
"cron": {
|
|
2002
2210
|
"presetCdTrue": "application cd + vrai (test)",
|
|
@@ -2135,7 +2343,36 @@
|
|
|
2135
2343
|
"sourceHost": "Hôte",
|
|
2136
2344
|
"noHostJobs": "Aucune tâche crontab dans cette portée",
|
|
2137
2345
|
"hostPartial": "Impossible de lire tous les crontabs utilisateur (root requis)",
|
|
2138
|
-
"pendingInstall": "Installation en attente ({{count}})"
|
|
2346
|
+
"pendingInstall": "Installation en attente ({{count}})",
|
|
2347
|
+
"hourRange": "L'heure doit être comprise entre 0 et 23.",
|
|
2348
|
+
"minuteRange": "Les minutes doivent être comprises entre 0 et 59.",
|
|
2349
|
+
"hoursCommon": "Horaires communs",
|
|
2350
|
+
"hoursAll": "Toutes les heures",
|
|
2351
|
+
"invalidExpr": "Ce n'est pas une expression cron à 5 champs valide.",
|
|
2352
|
+
"needCommand": "Le commandement est requis.",
|
|
2353
|
+
"needUser": "Choisissez un projet ou un utilisateur système.",
|
|
2354
|
+
"hostCounts": "Lignes hôtes",
|
|
2355
|
+
"hostCountsVal": "{{ysk}} · autres {{other}} · total {{total}}",
|
|
2356
|
+
"hostYskYes": "lignes de panneaux présentes",
|
|
2357
|
+
"hostYskNo": "pas de lignes de panneaux",
|
|
2358
|
+
"emptyHostCrontab": "Pas de crontab pour {{user}}.",
|
|
2359
|
+
"writtenOnHost": "Written",
|
|
2360
|
+
"registeredJobsChip": "Registered",
|
|
2361
|
+
"registeredVsWritten": "Registered in the panel vs written to host crontab",
|
|
2362
|
+
"installPreviewTitle": "Preview before installing to system crontab",
|
|
2363
|
+
"installPreviewDesc": "This merges the YSK block into the host crontab. Existing non-YSK lines stay.",
|
|
2364
|
+
"installPreviewMerge": "Install writes a YSK Server crontab merge block. It does not replace the whole crontab.",
|
|
2365
|
+
"installPreviewEmpty": "No pending managed jobs — install still refreshes the YSK block.",
|
|
2366
|
+
"editJobTitle": "Edit job",
|
|
2367
|
+
"editJobDesc": "Changes stay in the panel until you install to the system crontab.",
|
|
2368
|
+
"saveJob": "Save (management only)",
|
|
2369
|
+
"panelLines": "Panel lines",
|
|
2370
|
+
"otherLines": "Other lines",
|
|
2371
|
+
"totalLines": "Total",
|
|
2372
|
+
"writtenOnHostHint": "Lines already written to the host crontab",
|
|
2373
|
+
"registeredJobsHint": "Jobs registered in the panel (including pending install)",
|
|
2374
|
+
"pendingInstallCount": "{{n}} pending install",
|
|
2375
|
+
"systemJobBadge": "No project · system user"
|
|
2139
2376
|
},
|
|
2140
2377
|
"dashboard": {
|
|
2141
2378
|
"title": "Tableau de bord",
|
|
@@ -2224,7 +2461,7 @@
|
|
|
2224
2461
|
"runtime": "Durée d'exécution",
|
|
2225
2462
|
"runtimeHint": "Définit la version runtime et le style de déploiement par défaut",
|
|
2226
2463
|
"runtimeVersion": "Version du runtime",
|
|
2227
|
-
"versionHint": "
|
|
2464
|
+
"versionHint": "Écrit le réglage de version d’environnement d’exécution du projet",
|
|
2228
2465
|
"serverIpv4": "IPv4 du serveur",
|
|
2229
2466
|
"serverIpv4Hint": "DNS A / courrier SPF",
|
|
2230
2467
|
"serverIpv4Ph": "IPv4 public de cet hôte",
|
|
@@ -2246,7 +2483,26 @@
|
|
|
2246
2483
|
"noNotifs": "Aucune notification",
|
|
2247
2484
|
"noNotifsDesc": "Les alertes système et les tâches apparaissent ici",
|
|
2248
2485
|
"applyAuditTitle": "Audit de l’état d’application",
|
|
2249
|
-
"applyAuditDesc": "ok {{ok}} · avert. {{warn}} · erreur {{bad}}"
|
|
2486
|
+
"applyAuditDesc": "ok {{ok}} · avert. {{warn}} · erreur {{bad}}",
|
|
2487
|
+
"barTitle": "{{count}} alerte(s) hôte",
|
|
2488
|
+
"levelCritical": "Critique",
|
|
2489
|
+
"levelWarn": "Avertissement",
|
|
2490
|
+
"levelInfo": "Informations",
|
|
2491
|
+
"colTitle": "Alerte",
|
|
2492
|
+
"colDetail": "Détail",
|
|
2493
|
+
"colSource": "Source",
|
|
2494
|
+
"notifSearch": "Rechercher des alertes",
|
|
2495
|
+
"notifAll": "Tous",
|
|
2496
|
+
"notifDismiss": "Cacher",
|
|
2497
|
+
"goFix": "Réparer",
|
|
2498
|
+
"needDomainFirst": "Saisissez d’abord un domaine",
|
|
2499
|
+
"serviceAria": "{{name}}: {{state}}",
|
|
2500
|
+
"sev": {
|
|
2501
|
+
"ok": "OK",
|
|
2502
|
+
"warn": "Warning",
|
|
2503
|
+
"bad": "Problem"
|
|
2504
|
+
},
|
|
2505
|
+
"publicNo2fa": "This panel listens on all interfaces and your admin account has no 2FA."
|
|
2250
2506
|
},
|
|
2251
2507
|
"dataTable": {
|
|
2252
2508
|
"empty": "Aucune donnée",
|
|
@@ -2471,7 +2727,37 @@
|
|
|
2471
2727
|
"probe": "Sonder",
|
|
2472
2728
|
"name": "Nom",
|
|
2473
2729
|
"type": "Taper",
|
|
2474
|
-
"status":
|
|
2730
|
+
"status": {
|
|
2731
|
+
"healthy": "En bonne santé",
|
|
2732
|
+
"planned": "Prévu",
|
|
2733
|
+
"partial": "Partiel",
|
|
2734
|
+
"failed": "Échoué",
|
|
2735
|
+
"draft": "Brouillon",
|
|
2736
|
+
"degraded": "Dégradé",
|
|
2737
|
+
"applied": "Appliqué"
|
|
2738
|
+
},
|
|
2739
|
+
"fleetSession": "Identifiant de session de l'agent de flotte",
|
|
2740
|
+
"fleetSessionHint": "Optional. Paste a session UUID from /agents. Then this peer uses fleet (no SSH). Leave empty for SSH scp.",
|
|
2741
|
+
"fleetSessionPh": "UUID de la session de la page Agents",
|
|
2742
|
+
"engineNotInstalled": "{{engine}} n'est pas installé sur cet hôte — installez-le d'abord ou ouvrez le moteur qui est réellement en cours d'exécution.",
|
|
2743
|
+
"fleetSessionNone": "Aucun — utilisez SSH",
|
|
2744
|
+
"fleetSessionOpenAgents": "Ouvrir /agents pour enregistrer une session",
|
|
2745
|
+
"createWizardTitle": "Ouvre l'assistant de plan. Nécessite une adresse IP locale et ≥1 homologue. Écrit uniquement les artefacts du panneau (essai à sec). Ne redémarre pas le moteur jusqu'à ce que vous l'appliquiez.",
|
|
2746
|
+
"bootstrap": "Amorçage",
|
|
2747
|
+
"fleetApply": "Flotte postuler",
|
|
2748
|
+
"planTitle": "Régénérer le plan de cluster (pas de changement d'hôte)",
|
|
2749
|
+
"writeFileTitle": "Écrire les fichiers de gestion sous le répertoire de données du panneau (essai à sec)",
|
|
2750
|
+
"probeLocalTitle": "Sonder cet hôte uniquement",
|
|
2751
|
+
"probeAllTitle": "Sondez chaque membre enregistré",
|
|
2752
|
+
"bootstrapTitle": "Installez le drop-in local et amorcez le premier nœud",
|
|
2753
|
+
"remoteInstallPlanTitle": "Aperçu de l'installation à distance (pas d'exécution)",
|
|
2754
|
+
"downloadBundleTitle": "Téléchargez le bundle de configuration entre pairs (.tar.gz)",
|
|
2755
|
+
"pushPlanTitle": "Aperçu push to peer (pas de scp)",
|
|
2756
|
+
"fleetSyncPlanTitle": "Aperçu de la synchronisation de la flotte (pas d'exécution)",
|
|
2757
|
+
"fleetApplyTitle": "La mise en file d'attente s'applique-t-elle aux membres de la flotte ?",
|
|
2758
|
+
"redirectedFromCluster": "You were redirected here from /cluster. This is the database cluster tab.",
|
|
2759
|
+
"roleUnassigned": "No role assigned",
|
|
2760
|
+
"standaloneOtherEngines": "This engine is standalone. Other engines have clusters: {{names}}."
|
|
2475
2761
|
},
|
|
2476
2762
|
"console": {
|
|
2477
2763
|
"dataBrowse": "Parcourir les données",
|
|
@@ -2511,7 +2797,9 @@
|
|
|
2511
2797
|
"reloadConfig": "Recharger la conf",
|
|
2512
2798
|
"disableBoot": "Désactiver au démarrage",
|
|
2513
2799
|
"needRights": "Nécessite des droits de modification système et admin. Les échecs affichent les raisons — jamais de faux succès.",
|
|
2514
|
-
"noneFetched": "— aucun —"
|
|
2800
|
+
"noneFetched": "— aucun —",
|
|
2801
|
+
"disableBootConfirm": "Le moteur ne démarrera pas après le redémarrage tant que vous ne l'aurez pas réactivé.",
|
|
2802
|
+
"affectsProjects": "Sites and services that use this engine will be interrupted."
|
|
2515
2803
|
},
|
|
2516
2804
|
"expiresLabel": "Expire",
|
|
2517
2805
|
"importEntry": "Entrée : {{url}}",
|
|
@@ -2537,7 +2825,30 @@
|
|
|
2537
2825
|
"unfreezeOk": "Réparation de {{engine}} terminée",
|
|
2538
2826
|
"startAfterUnfreeze": "Démarrer le service (exécute automatiquement le plan de réparation en cas d'échec)",
|
|
2539
2827
|
"serviceDownTitle": "Le service de base de données est arrêté",
|
|
2540
|
-
"serviceDownBody": "Le service est en mauvais état"
|
|
2828
|
+
"serviceDownBody": "Le service est en mauvais état",
|
|
2829
|
+
"emptyDbHostHasRows": "L'hôte possède déjà des bases de données qui ne figurent pas dans cette liste de plan de contrôle.",
|
|
2830
|
+
"hostHasUntracked": "{{count}} les bases de données hôtes ne sont pas enregistrées dans le panneau",
|
|
2831
|
+
"hostInventoryHint": "Le tableau contient uniquement des lignes du plan de contrôle. Les noms live proviennent de SHOW DATABASES.",
|
|
2832
|
+
"adoptHostDb": "S'inscrire {{name}}",
|
|
2833
|
+
"remoteTest": "Tester la connexion",
|
|
2834
|
+
"remoteTestDone": "Sonde d'hôte distant terminée",
|
|
2835
|
+
"remoteTestOk": "accessible",
|
|
2836
|
+
"remoteTestFail": "inaccessible",
|
|
2837
|
+
"remoteNotChecked": "non testé",
|
|
2838
|
+
"registeredVsHostHint": "Enregistré dans le panneau / trouvé sur l’hôte",
|
|
2839
|
+
"dumpNeedRegistered": "Enregistrez d’abord une base dans le panneau",
|
|
2840
|
+
"dumpFirstDbTitle": "Exporter la première base enregistrée",
|
|
2841
|
+
"importNeedRegistered": "Enregistrez d’abord une base dans le panneau",
|
|
2842
|
+
"importLatestNeedConfirm": "Confirmation requise — importe dans la base enregistrée",
|
|
2843
|
+
"adoptHostDbTitle": "N’enregistre que le nom dans le plan de contrôle ; n’altère pas les données hôte.",
|
|
2844
|
+
"cleanupExpiredTempUsersTitle": "Supprime les utilisateurs temporaires du panneau déjà expirés",
|
|
2845
|
+
"remoteDeleteTitle": "Retirer uniquement cet enregistrement",
|
|
2846
|
+
"remoteDeleteConfirm": "Retirer l’enregistrement {{name}} ? Le serveur distant n’est pas modifié.",
|
|
2847
|
+
"registeredCount": "Registered",
|
|
2848
|
+
"hostCount": "On host",
|
|
2849
|
+
"registeredUsers": "Registered users",
|
|
2850
|
+
"registeredUsersHint": "Panel registrations only — not every MySQL account",
|
|
2851
|
+
"hostStillExists": "Still on host"
|
|
2541
2852
|
},
|
|
2542
2853
|
"dialogs": {
|
|
2543
2854
|
"confirmDefault": "Confirmer",
|
|
@@ -2761,7 +3072,272 @@
|
|
|
2761
3072
|
"aboutHealthTitle": "Santé des services",
|
|
2762
3073
|
"aboutHealthBody": "Utilisez Outils pour sonder PowerDNS, réparer le bind et ouvrir le port 53.",
|
|
2763
3074
|
"aboutStackTitle": "Logiciels",
|
|
2764
|
-
"aboutStackBody": "Vérifiez/mettez à jour le paquet PowerDNS sous Logiciels."
|
|
3075
|
+
"aboutStackBody": "Vérifiez/mettez à jour le paquet PowerDNS sous Logiciels.",
|
|
3076
|
+
"invalidZone": "Nom de zone invalide. Utilisez un vrai domaine (par exemple exemple.com).",
|
|
3077
|
+
"invalidIpv4": "IPv4 invalide. Chaque octet doit être compris entre 0 et 255.",
|
|
3078
|
+
"mailZonesMissing": "Les domaines de messagerie n'ont pas de zone DNS ici : {{domains}}.",
|
|
3079
|
+
"createMailZone": "Créer une zone de messagerie",
|
|
3080
|
+
"createMailZoneNow": "Zone de messagerie créée {{domain}}",
|
|
3081
|
+
"healNeedInstall": "PowerDNS n'est pas installé - installez-le d'abord dans l'onglet Logiciel",
|
|
3082
|
+
"applyNeedService": "Le service DNS n'est pas en cours d'exécution : démarrez-le ou installez-le avant de l'appliquer.",
|
|
3083
|
+
"deleteZoneNeedName": "Supprimez cette zone — vous saisirez le nom de la zone pour confirmer",
|
|
3084
|
+
"toolsFirewallTitle": "Pare-feu (UFW)",
|
|
3085
|
+
"toolsFirewallHint": "Autoriser ou refuser le port 53. N’arrête ni ne démarre PowerDNS.",
|
|
3086
|
+
"toolsUnitTitle": "Unité PowerDNS",
|
|
3087
|
+
"toolsUnitHint": "Unité systemd pdns — démarrer, arrêter, redémarrer, recharger.",
|
|
3088
|
+
"installConfirmTitle": "Installer PowerDNS ?",
|
|
3089
|
+
"installConfirmDesc": "Installe pdns-server et écrit la config gérée. Nécessite root et YSK_EXECUTE=1.",
|
|
3090
|
+
"installConfirmConsequence": "Après installation et démarrage, PowerDNS liera le port 53.",
|
|
3091
|
+
"installPort53Busy": "Le port 53 est déjà utilisé. PowerDNS peut échouer à se lier tant que cet écouteur n’est pas arrêté ou réparé.",
|
|
3092
|
+
"installPort53BusyConsequence": "Réparez la liaison ou arrêtez l’autre écouteur avant d’attendre des réponses sur 53.",
|
|
3093
|
+
"createZoneNeedValid": "Enter a valid zone name and IPv4 address"
|
|
3094
|
+
},
|
|
3095
|
+
"docker": {
|
|
3096
|
+
"title": "Docker",
|
|
3097
|
+
"subtitle": "Installez et contrôlez le moteur Docker, les conteneurs, images, projets Compose et le disque sur cet hôte.",
|
|
3098
|
+
"refresh": "Actualiser",
|
|
3099
|
+
"notInstalled": "Docker Engine n’est pas installé. Installez docker.io et docker-compose-v2 depuis cette page.",
|
|
3100
|
+
"protected": "Protégé",
|
|
3101
|
+
"pruneConfirm": "Saisissez PRUNE pour confirmer le nettoyage de volume ou du système",
|
|
3102
|
+
"settingsHint": "Sous-ensemble sûr de daemon.json uniquement. Appliquer écrit le fichier et redémarre docker.service.",
|
|
3103
|
+
"cli": {
|
|
3104
|
+
"usage": "Utilisation : ysk-server docker status|ps|images|volumes|networks|df|logs|inspect|exec|start|stop|restart|rm|pull|run|prune|engine|compose [--image IMG] [--name N] [--preset version|help|hostname] [--bin BIN] [--project P] [--execute] [--json]"
|
|
3105
|
+
},
|
|
3106
|
+
"tab": {
|
|
3107
|
+
"overview": "Aperçu",
|
|
3108
|
+
"containers": "Conteneurs",
|
|
3109
|
+
"images": "Images Docker",
|
|
3110
|
+
"compose": "Compose",
|
|
3111
|
+
"volumes": "Volumes",
|
|
3112
|
+
"networks": "Réseaux",
|
|
3113
|
+
"prune": "Nettoyer",
|
|
3114
|
+
"settings": "Paramètres",
|
|
3115
|
+
"about": "À propos"
|
|
3116
|
+
},
|
|
3117
|
+
"col": {
|
|
3118
|
+
"engine": "Moteur",
|
|
3119
|
+
"containers": "Conteneurs",
|
|
3120
|
+
"version": "Version du moteur",
|
|
3121
|
+
"dataRoot": "Répertoire de données",
|
|
3122
|
+
"disk": "Disque",
|
|
3123
|
+
"validators": "Piles validateur",
|
|
3124
|
+
"name": "Nom",
|
|
3125
|
+
"image": "Image du conteneur",
|
|
3126
|
+
"status": "État",
|
|
3127
|
+
"ports": "Ports publiés",
|
|
3128
|
+
"managed": "Géré par le panneau",
|
|
3129
|
+
"size": "Taille",
|
|
3130
|
+
"driver": "Pilote",
|
|
3131
|
+
"type": "Genre",
|
|
3132
|
+
"reclaimable": "Récupérable"
|
|
3133
|
+
},
|
|
3134
|
+
"state": {
|
|
3135
|
+
"up": "Actif",
|
|
3136
|
+
"down": "Arrêté",
|
|
3137
|
+
"running": "Running",
|
|
3138
|
+
"exited": "Exited",
|
|
3139
|
+
"restarting": "Restarting",
|
|
3140
|
+
"restartingCount": "Restarting · {{n}} times",
|
|
3141
|
+
"paused": "Paused",
|
|
3142
|
+
"created": "Created",
|
|
3143
|
+
"dead": "Dead",
|
|
3144
|
+
"removing": "Removing",
|
|
3145
|
+
"unknown": "Unknown"
|
|
3146
|
+
},
|
|
3147
|
+
"actions": {
|
|
3148
|
+
"start": "Démarrer",
|
|
3149
|
+
"stop": "Arrêter",
|
|
3150
|
+
"restart": "Redémarrer",
|
|
3151
|
+
"remove": "Supprimer",
|
|
3152
|
+
"logs": "Journaux",
|
|
3153
|
+
"inspect": "Inspecter",
|
|
3154
|
+
"exec": "Exec (version du client)",
|
|
3155
|
+
"run": "Exécuter une image",
|
|
3156
|
+
"pull": "Télécharger",
|
|
3157
|
+
"up": "Démarrer",
|
|
3158
|
+
"down": "Arrêter",
|
|
3159
|
+
"createVolume": "Créer un volume",
|
|
3160
|
+
"createNetwork": "Créer un réseau",
|
|
3161
|
+
"pruneContainers": "Nettoyer les conteneurs",
|
|
3162
|
+
"pruneImages": "Nettoyer les images",
|
|
3163
|
+
"pruneVolumes": "Nettoyer les volumes",
|
|
3164
|
+
"pruneSystem": "Nettoyage système",
|
|
3165
|
+
"startEngine": "Démarrer le moteur",
|
|
3166
|
+
"stopEngine": "Arrêter le moteur",
|
|
3167
|
+
"restartEngine": "Redémarrer le moteur",
|
|
3168
|
+
"applyDaemon": "Appliquer les paramètres du moteur"
|
|
3169
|
+
},
|
|
3170
|
+
"empty": {
|
|
3171
|
+
"containers": "Aucun conteneur",
|
|
3172
|
+
"images": "Aucune image",
|
|
3173
|
+
"compose": "Aucun projet Compose",
|
|
3174
|
+
"volumes": "Aucun volume",
|
|
3175
|
+
"networks": "Aucun réseau",
|
|
3176
|
+
"composeDesc": "Projects come from validator nodes or Compose files already on this host. This page does not accept arbitrary YAML uploads.",
|
|
3177
|
+
"composeCta": "Open validator nodes"
|
|
3178
|
+
},
|
|
3179
|
+
"logs": {
|
|
3180
|
+
"empty": "Pas encore de journaux",
|
|
3181
|
+
"follow": "Follow"
|
|
3182
|
+
},
|
|
3183
|
+
"settings": {
|
|
3184
|
+
"logMaxSize": "Taille max. des journaux de conteneur",
|
|
3185
|
+
"liveRestore": "Restauration à chaud (conserver les conteneurs si le démon redémarre)",
|
|
3186
|
+
"mirrors": "Miroirs Registry (une URL par ligne)",
|
|
3187
|
+
"insecure": "Registries non chiffrés (un hôte par ligne)"
|
|
3188
|
+
},
|
|
3189
|
+
"about": {
|
|
3190
|
+
"body": "Docker est un service hôte de premier plan sur YSK Server, comme Nginx. Installation via le panneau (Ubuntu docker.io + docker-compose-v2). Les nœuds validateurs s’exécutent en projets Compose yskval-*.",
|
|
3191
|
+
"honesty": "Les changements d’hôte nécessitent root et YSK_EXECUTE=1. Le dry-run est la valeur par défaut. Cette page n’est pas Kubernetes.",
|
|
3192
|
+
"validators": "Ouvrir les nœuds validateurs"
|
|
3193
|
+
},
|
|
3194
|
+
"alerts": {
|
|
3195
|
+
"daemonTitle": "Le démon Docker est arrêté",
|
|
3196
|
+
"daemonBody": "Docker est installé mais docker.service n’est pas actif. Les piles validateur ne peuvent pas démarrer."
|
|
3197
|
+
},
|
|
3198
|
+
"errors": {
|
|
3199
|
+
"notInstalled": "Docker n’est pas installé",
|
|
3200
|
+
"daemonDown": "Le démon Docker n’est pas actif",
|
|
3201
|
+
"needCompose": "docker compose (greffon v2) est requis",
|
|
3202
|
+
"badImage": "Référence d’image invalide",
|
|
3203
|
+
"badName": "Nom invalide",
|
|
3204
|
+
"badPort": "Publication de port invalide",
|
|
3205
|
+
"badEnv": "Variable d’environnement invalide",
|
|
3206
|
+
"badVolume": "Montage de volume invalide",
|
|
3207
|
+
"badNetwork": "Réseau invalide",
|
|
3208
|
+
"protectedNetwork": "Impossible de supprimer un réseau Docker intégré",
|
|
3209
|
+
"badRestart": "Politique de redémarrage invalide",
|
|
3210
|
+
"badPrune": "Portée de nettoyage invalide",
|
|
3211
|
+
"needPruneConfirm": "Le nettoyage de volume ou du système exige confirm=PRUNE",
|
|
3212
|
+
"badDaemon": "Paramètre du moteur invalide",
|
|
3213
|
+
"composeMissing": "Fichier Compose de ce projet introuvable",
|
|
3214
|
+
"logsFailed": "Impossible de lire les journaux du conteneur",
|
|
3215
|
+
"mutateFailed": "La commande Docker a échoué",
|
|
3216
|
+
"engineFailed": "Impossible de contrôler docker.service",
|
|
3217
|
+
"badExec": "Exec est limité aux binaires et préréglages autorisés (pas de shell, pas de TTY)",
|
|
3218
|
+
"uninstallBusy": "Arrêtez les conteneurs gérés par le panneau (y compris les piles validateur) avant de désinstaller Docker"
|
|
3219
|
+
},
|
|
3220
|
+
"notes": {
|
|
3221
|
+
"dryMutate": "Dry-run uniquement. Passez --execute et YSK_EXECUTE=1 pour modifier l’hôte.",
|
|
3222
|
+
"dryPrune": "Aperçu du nettoyage (non appliqué).",
|
|
3223
|
+
"dryEngine": "Le contrôle du moteur est un dry-run.",
|
|
3224
|
+
"dryDaemon": "Écrirait /etc/docker/daemon.json et redémarrerait docker.service.",
|
|
3225
|
+
"daemonWrote": "daemon.json écrit",
|
|
3226
|
+
"start": "Conteneur démarré",
|
|
3227
|
+
"stop": "Conteneur arrêté",
|
|
3228
|
+
"restart": "Conteneur redémarré",
|
|
3229
|
+
"remove": "Conteneur supprimé",
|
|
3230
|
+
"ran": "Conteneur démarré depuis une image",
|
|
3231
|
+
"pulled": "Image téléchargée",
|
|
3232
|
+
"exec": "Exec autorisé exécuté",
|
|
3233
|
+
"imageRemoved": "Image supprimée",
|
|
3234
|
+
"volumeCreated": "Volume créé",
|
|
3235
|
+
"volumeRemoved": "Volume supprimé",
|
|
3236
|
+
"networkCreated": "Réseau créé",
|
|
3237
|
+
"networkRemoved": "Réseau supprimé",
|
|
3238
|
+
"pruned": "Nettoyage terminé",
|
|
3239
|
+
"compose": {
|
|
3240
|
+
"up": "Projet Compose démarré",
|
|
3241
|
+
"down": "Projet Compose arrêté",
|
|
3242
|
+
"restart": "Projet Compose redémarré",
|
|
3243
|
+
"rm": "Compose project removed"
|
|
3244
|
+
},
|
|
3245
|
+
"engine": {
|
|
3246
|
+
"start": "docker.service démarré",
|
|
3247
|
+
"stop": "docker.service arrêté",
|
|
3248
|
+
"restart": "docker.service redémarré"
|
|
3249
|
+
}
|
|
3250
|
+
},
|
|
3251
|
+
"needEngineTitle": "Install Docker Engine first",
|
|
3252
|
+
"notInstalledValue": "Not installed",
|
|
3253
|
+
"nameHint": "Letters, digits, underscore, dot, hyphen (max 128)",
|
|
3254
|
+
"volPlaceholder": "my-data",
|
|
3255
|
+
"netPlaceholder": "my-net",
|
|
3256
|
+
"runPorts": "Publish ports",
|
|
3257
|
+
"runPortsHint": "host:container per line, e.g. 8080:80",
|
|
3258
|
+
"runEnv": "Environment",
|
|
3259
|
+
"runEnvHint": "KEY=value per line",
|
|
3260
|
+
"runRestart": "Restart policy",
|
|
3261
|
+
"runNetwork": "Network",
|
|
3262
|
+
"runVolumes": "Volumes",
|
|
3263
|
+
"runVolumesHint": "volume:dest per line",
|
|
3264
|
+
"runAdvancedHint": "For multi-service stacks use validator nodes or Compose files already on this host.",
|
|
3265
|
+
"daemonConfirmTitle": "Apply daemon settings?",
|
|
3266
|
+
"daemonConfirmDesc": "Writes daemon.json and restarts docker.service. All containers will be interrupted.",
|
|
3267
|
+
"ui": {
|
|
3268
|
+
"whatYouGet": "Ce que fait cette page",
|
|
3269
|
+
"whatYouGetLead": "Installez d’abord Docker Engine. Ensuite vous pouvez lancer un conteneur, tirer des images et voir les piles Compose validateur déjà sur cet hôte.",
|
|
3270
|
+
"capEngine": "Moteur",
|
|
3271
|
+
"capEngineDesc": "Installation en un clic de docker.io et docker-compose-v2. Démarrez et arrêtez docker.service ici.",
|
|
3272
|
+
"capWork": "Conteneurs et images",
|
|
3273
|
+
"capWorkDesc": "Choisissez une image courante, tirez-la, lancez-la, puis lisez les journaux ou inspectez le conteneur.",
|
|
3274
|
+
"capStacks": "Piles validateur",
|
|
3275
|
+
"capStacksDesc": "Les piles multi-services sont des projets Compose validateur (yskval-*). Cette page n’accepte pas de YAML téléversé.",
|
|
3276
|
+
"cardEngine": "Moteur",
|
|
3277
|
+
"cardDisk": "Disque",
|
|
3278
|
+
"cardWork": "Sur cet hôte",
|
|
3279
|
+
"compose": "Compose",
|
|
3280
|
+
"cgroup": "cgroup",
|
|
3281
|
+
"used": "Utilisé",
|
|
3282
|
+
"free": "Libre",
|
|
3283
|
+
"running": "En cours",
|
|
3284
|
+
"images": "Images",
|
|
3285
|
+
"volumes": "Volumes",
|
|
3286
|
+
"networks": "Réseaux",
|
|
3287
|
+
"goImages": "Images",
|
|
3288
|
+
"goValidators": "Nœuds validateur",
|
|
3289
|
+
"imagePickHint": "Choisissez une image courante. Utilisez Autre seulement pour une autre référence.",
|
|
3290
|
+
"imageCustom": "Autre",
|
|
3291
|
+
"driver": "Pilote",
|
|
3292
|
+
"driverLocalOnly": "Ce panneau crée uniquement des volumes local.",
|
|
3293
|
+
"netDefaultDriver": "Les nouveaux réseaux utilisent le pilote bridge par défaut de Docker.",
|
|
3294
|
+
"pruneWhat": "Éléments à retirer",
|
|
3295
|
+
"pruneAck": "Je comprends que les données inutilisées seront supprimées et ne pourront pas être restaurées",
|
|
3296
|
+
"pruneAckDesc": "Le nettoyage des volumes ou du système est irréversible. Les conteneurs arrêtés et les images inutilisées du périmètre choisi sont retirés.",
|
|
3297
|
+
"pruneNow": "Nettoyer maintenant",
|
|
3298
|
+
"useMirrors": "Utiliser des miroirs de registre",
|
|
3299
|
+
"useInsecure": "Autoriser les registres non chiffrés",
|
|
3300
|
+
"publishPorts": "Publier des ports sur l’hôte",
|
|
3301
|
+
"attachVolume": "Attacher un volume",
|
|
3302
|
+
"setEnv": "Définir des variables d’environnement",
|
|
3303
|
+
"defaultNet": "Par défaut",
|
|
3304
|
+
"mountPath": "Chemin de montage",
|
|
3305
|
+
"restartNo": "Jamais",
|
|
3306
|
+
"restartUnless": "Sauf arrêt",
|
|
3307
|
+
"restartAlways": "Toujours",
|
|
3308
|
+
"restartOnFail": "En cas d’échec",
|
|
3309
|
+
"needAck": "Confirmez avant de nettoyer",
|
|
3310
|
+
"scopeContainers": "Conteneurs arrêtés",
|
|
3311
|
+
"scopeImages": "Images inutilisées",
|
|
3312
|
+
"scopeVolumes": "Volumes inutilisés",
|
|
3313
|
+
"scopeBuilder": "Cache de construction",
|
|
3314
|
+
"scopeSystem": "Tout ce qui est inutilisé",
|
|
3315
|
+
"noVolumesYet": "Aucun volume — créez-en un dans l’onglet Volumes d’abord.",
|
|
3316
|
+
"customPort": "Autre port hôte",
|
|
3317
|
+
"customPortHost": "Port hôte",
|
|
3318
|
+
"customPortContainer": "Port conteneur",
|
|
3319
|
+
"pctUsed": "{{n}} % utilisé",
|
|
3320
|
+
"customPortHint": "1–65535. Example: 9090 → 80.",
|
|
3321
|
+
"pickBridge": "Bridge network"
|
|
3322
|
+
},
|
|
3323
|
+
"deleteTitle": "Delete {{id}}",
|
|
3324
|
+
"deleteDesc": "This cannot be undone.",
|
|
3325
|
+
"deleteC1": "The resource is removed from this host.",
|
|
3326
|
+
"deleteComposeVal": "This is a validator stack — the validator instance is also deleted.",
|
|
3327
|
+
"pruneTitle": "Prune Docker resources",
|
|
3328
|
+
"pruneDesc": "Type PRUNE to confirm. Unused data cannot be restored.",
|
|
3329
|
+
"pruneC1": "Unused resources in the selected scope are deleted.",
|
|
3330
|
+
"pruneC2": "Volume and system prune permanently delete unused data volumes.",
|
|
3331
|
+
"pruneC3": "Stopped containers or unused images in this scope are removed.",
|
|
3332
|
+
"df": {
|
|
3333
|
+
"images": "Images",
|
|
3334
|
+
"containers": "Containers",
|
|
3335
|
+
"volumes": "Local volumes",
|
|
3336
|
+
"builder": "Build cache",
|
|
3337
|
+
"other": "Other"
|
|
3338
|
+
},
|
|
3339
|
+
"deleteRunningWarn": "This container is still running or restarting. It will be force-removed.",
|
|
3340
|
+
"stopEngineDesc": "This stops the Docker engine and all {{n}} container(s) on this host."
|
|
2765
3341
|
},
|
|
2766
3342
|
"email": {
|
|
2767
3343
|
"title": "E-mail",
|
|
@@ -2812,7 +3388,7 @@
|
|
|
2812
3388
|
"needExecute": "Nécessite YSK_EXECUTE",
|
|
2813
3389
|
"viewQueue": "Voir la file d’attente",
|
|
2814
3390
|
"flushQueue": "Vider la file d’attente",
|
|
2815
|
-
"queueHint": "
|
|
3391
|
+
"queueHint": "File Postfix locale. La lecture est une sonde ; le vidage exige YSK_EXECUTE.",
|
|
2816
3392
|
"deleteThisId": "Supprimer cet ID",
|
|
2817
3393
|
"queueEmpty": "Aucun courrier différé",
|
|
2818
3394
|
"queueEmptyHint": "Aucun message différé",
|
|
@@ -3081,7 +3657,8 @@
|
|
|
3081
3657
|
"dmarcMissing": "DMARC manquant — fortement recommandé",
|
|
3082
3658
|
"ptrBad": "PTR (DNS inverse) manquant ou incorrect — demander au fournisseur VPS",
|
|
3083
3659
|
"port25Blocked": "Le port sortant 25 semble bloqué — demander le déblocage ou utiliser un relais SMTP",
|
|
3084
|
-
"port25Unknown": "État du port 25 inconnu — lancer le test de connectivité"
|
|
3660
|
+
"port25Unknown": "État du port 25 inconnu — lancer le test de connectivité",
|
|
3661
|
+
"dmarcUnpublished": "DMARC est généré dans le panel mais n'est pas encore publié dans le DNS public"
|
|
3085
3662
|
},
|
|
3086
3663
|
"stack": {
|
|
3087
3664
|
"tlsNote": "Certificats TLS via Let’s Encrypt pour SMTP/IMAP",
|
|
@@ -3122,7 +3699,8 @@
|
|
|
3122
3699
|
"postfixReloaded": "Postfix rechargé.",
|
|
3123
3700
|
"postfixReloadFailed": "Échec du rechargement Postfix : {{detail}}",
|
|
3124
3701
|
"dovecotApplied": "Snippet TLS Dovecot écrit et rechargement tenté.",
|
|
3125
|
-
"dovecotSkipped": "Dovecot ignoré (non installé ou doveconf indisponible)."
|
|
3702
|
+
"dovecotSkipped": "Dovecot ignoré (non installé ou doveconf indisponible).",
|
|
3703
|
+
"dovecotSslOmitted": "Le certificat de courrier est manquant ; a écrit ssl=no pour que Dovecot puisse démarrer sans les fichiers LE."
|
|
3126
3704
|
},
|
|
3127
3705
|
"policyApplySystemHint": "Cocher « appliquer au système » pour écrire les maps Postfix/Rspamd et recharger ;",
|
|
3128
3706
|
"rateLimitAppliedNote": "Limite horaire sortante et drapeau antispam appliqués (quand l’application système est activée).",
|
|
@@ -3161,11 +3739,11 @@
|
|
|
3161
3739
|
"deliverabilityDesc": "Contrôles PTR / DNS / port 25",
|
|
3162
3740
|
"dnsTodosDesc": "Copiez puis ajoutez chez votre hébergeur DNS",
|
|
3163
3741
|
"deliverabilityHonesty": "Impossible de définir le PTR ou de débloquer le port 25 pour vous",
|
|
3164
|
-
"warmupSuggest": "Suggestions de
|
|
3742
|
+
"warmupSuggest": "Suggestions de préchauffage",
|
|
3165
3743
|
"writeSsoSkeleton": "Écrire le squelette SSO Roundcube",
|
|
3166
|
-
"rateLimitPerHour": "
|
|
3167
|
-
"rateLimitGlobalHint": "
|
|
3168
|
-
"savePolicyWritten": "
|
|
3744
|
+
"rateLimitPerHour": "Plafond de messages par heure",
|
|
3745
|
+
"rateLimitGlobalHint": "Le global prend le minimum de chaque domaine",
|
|
3746
|
+
"savePolicyWritten": "Écrit uniquement dans le plan de contrôle",
|
|
3169
3747
|
"dnsblMultiIp": "RBL multi-IP",
|
|
3170
3748
|
"webmailTool": "Logiciel webmail",
|
|
3171
3749
|
"webmailToolRoundcube": "Roundcube (par défaut)",
|
|
@@ -3238,7 +3816,41 @@
|
|
|
3238
3816
|
"mailboxEmptyTitle": "Pas encore de boîtes aux lettres",
|
|
3239
3817
|
"passwordMismatch": "Les mots de passe ne correspondent pas",
|
|
3240
3818
|
"passwordTooShort": "Le mot de passe doit comporter au moins 8 caractères",
|
|
3241
|
-
"mailboxUpdateNeedField": "Définir un nouveau mot de passe ou modifier le statut"
|
|
3819
|
+
"mailboxUpdateNeedField": "Définir un nouveau mot de passe ou modifier le statut",
|
|
3820
|
+
"catchallHint": "Les parties locales inconnues vont à la boîte cible. Brouillon jusqu’à l’application.",
|
|
3821
|
+
"queueSearchPh": "Rechercher ID, expéditeur ou destinataire…",
|
|
3822
|
+
"queueId": "ID de file",
|
|
3823
|
+
"queueSender": "Expéditeur",
|
|
3824
|
+
"queueRecipients": "Destinataires",
|
|
3825
|
+
"queueSize": "Taille",
|
|
3826
|
+
"queueReason": "Raison",
|
|
3827
|
+
"queueActive": "Actif",
|
|
3828
|
+
"queueHeld": "Retenu",
|
|
3829
|
+
"queueDeferred": "Différé",
|
|
3830
|
+
"deleteQueueTitle": "Supprimer ce message en file ?",
|
|
3831
|
+
"deleteQueueDesc": "Retirer {{id}} de la file MTA locale. YSK_EXECUTE requis.",
|
|
3832
|
+
"openQueuePage": "Ouvrir la file mail",
|
|
3833
|
+
"healthUnchecked": "Pas encore vérifié",
|
|
3834
|
+
"dovecotFailedHint": "Dovecot failed. Open the Software tab for status; if the mail certificate is missing, issue it on the SSL page first.",
|
|
3835
|
+
"domainsListDesc": "Domaines de messagerie enregistrés sur cet hôte",
|
|
3836
|
+
"healthChecklist": "Liste {{score}}/100",
|
|
3837
|
+
"healthChecklistHint": "Score de liste — DNS / PTR / port 25 pas encore sondés",
|
|
3838
|
+
"healthLiveHint": "Score de sonde réelle",
|
|
3839
|
+
"installWebmailTitle": "Créer le projet de webmail partagé (première installation)",
|
|
3840
|
+
"reinstallWebmailTitle": "Reconstruire/mettre à niveau le projet webmail existant",
|
|
3841
|
+
"reinstallNeedInstall": "Installez d'abord la messagerie Web",
|
|
3842
|
+
"dovecotFailedStatus": "Le pigeonnier est {{status}}. Ouvrez l'onglet Logiciel pour le résumé de l'unité.",
|
|
3843
|
+
"mailCertMissing": "Pas de certificat pour {{hosts}}. Émettez-le sur la page SSL.",
|
|
3844
|
+
"mailCertPresent": "Un certificat de courrier est déjà émis : il ne s'agit pas d'un problème de certificat manquant.",
|
|
3845
|
+
"webmailNeedCert": "Aucun certificat pour {{host}} — émettez-le sur SSL avant de forcer HTTPS.",
|
|
3846
|
+
"flushQueueEmpty": "La file d'attente est vide",
|
|
3847
|
+
"flushQueueNeedExecute": "Le vidage de la file d'attente nécessite YSK_EXECUTE (autorisation d'exécution de l'hôte)",
|
|
3848
|
+
"healthUncheckedHint": "DNS / PTR / port 25 n’ont pas encore été sondés.",
|
|
3849
|
+
"deliverabilityScore": "Pack de délivrabilité",
|
|
3850
|
+
"opendkimNoReload": "OpenDKIM n’a pas de reload — redémarrez après un changement de clés ou de tables.",
|
|
3851
|
+
"opendkimNoReloadTitle": "systemctl reload opendkim n’est pas pris en charge sur cette pile",
|
|
3852
|
+
"tlsRequestLeFor": "Request LE for {{host}}",
|
|
3853
|
+
"deliverabilityChecks": "Checks"
|
|
3242
3854
|
},
|
|
3243
3855
|
"errors": {
|
|
3244
3856
|
"YSK_UNAUTHORIZED": "Non autorisé",
|
|
@@ -3279,7 +3891,9 @@
|
|
|
3279
3891
|
"sessionExpired": "Session expirée ; reconnectez-vous",
|
|
3280
3892
|
"sessionIdle": "Délai d'inactivité dépassé ; reconnectez-vous",
|
|
3281
3893
|
"totpNotEnabled": "La 2FA n'est pas activée",
|
|
3282
|
-
"totpSecretNoDataDir": "Le secret TOTP est chiffré mais dataDir n'est pas défini"
|
|
3894
|
+
"totpSecretNoDataDir": "Le secret TOTP est chiffré mais dataDir n'est pas défini",
|
|
3895
|
+
"mustChangePassword": "Vous devez définir un nouveau mot de passe avant de continuer",
|
|
3896
|
+
"policyNeedsOwn2fa": "Activez 2FA pour ce compte et confirmez avec un code TOTP avant d'exiger 2FA pour les autres"
|
|
3283
3897
|
},
|
|
3284
3898
|
"http": {
|
|
3285
3899
|
"notFoundRoute": "Introuvable : {{method}} {{path}}",
|
|
@@ -3289,7 +3903,8 @@
|
|
|
3289
3903
|
"unprocessable": "Requête rejetée par le serveur",
|
|
3290
3904
|
"requestFailed": "Échec de la requête ({{status}})",
|
|
3291
3905
|
"jsonInvalid": "JSON invalide",
|
|
3292
|
-
"internal": "Erreur interne"
|
|
3906
|
+
"internal": "Erreur interne",
|
|
3907
|
+
"payloadTooLarge": "Le corps de la requête est trop volumineux"
|
|
3293
3908
|
},
|
|
3294
3909
|
"YSK_HOST_BROWSE_SSRF": "Navigation d'hôte bloquée par la politique de sécurité",
|
|
3295
3910
|
"YSK_HOST_BROWSE_SESSION": "Session de navigation de l'hôte introuvable ou expirée",
|
|
@@ -3359,7 +3974,7 @@
|
|
|
3359
3974
|
"customExample15m": "Personnalisé, ex. 15m",
|
|
3360
3975
|
"customMaxretry": "Personnalisé 1–50",
|
|
3361
3976
|
"min": "{{n}} minutes",
|
|
3362
|
-
"hour": "{{n}}
|
|
3977
|
+
"hour": "{{n}} heures",
|
|
3363
3978
|
"week": "{{n}} sem",
|
|
3364
3979
|
"enableJailsHint": "Activer les jails (cocher puis appliquer) :",
|
|
3365
3980
|
"writtenOnlyMsg": "Fichier du panneau écrit (non appliqué sur l'hôte)",
|
|
@@ -3376,7 +3991,32 @@
|
|
|
3376
3991
|
"reload": "fail2ban rechargé",
|
|
3377
3992
|
"restart": "fail2ban redémarré",
|
|
3378
3993
|
"stop": "fail2ban arrêté"
|
|
3379
|
-
}
|
|
3994
|
+
},
|
|
3995
|
+
"statWhitelist": "Liste blanche",
|
|
3996
|
+
"invalidIp": "Entrez un IPv4, IPv6 ou CIDR valide.",
|
|
3997
|
+
"whitelistPendingApply": "Enregistré dans la liste des panneaux. Appuyez sur Appliquer la politique pour écrire jail.local.",
|
|
3998
|
+
"ignoreipFile": "dataDir/fail2ban/ignoreip.txt",
|
|
3999
|
+
"jailsTabHint": "Statut des prisons actives. Activez ou désactivez les prisons dans l'onglet Politique.",
|
|
4000
|
+
"colJail": "Prison",
|
|
4001
|
+
"colEnabled": "Sur",
|
|
4002
|
+
"serviceStateLine": "Unité {{unit}} · {{state}} · démarrage {{boot}}",
|
|
4003
|
+
"jail": {
|
|
4004
|
+
"sshd": "SSH force brute",
|
|
4005
|
+
"nginxHttpAuth": "Authentification HTTP Nginx",
|
|
4006
|
+
"nginxBotsearch": "Scanner Nginx / sondes de bots",
|
|
4007
|
+
"nginxBadbots": "Nginx a connu de mauvais robots",
|
|
4008
|
+
"nginxLimitReq": "Prison à limite de débit Nginx",
|
|
4009
|
+
"postfix": "Postfix mail force brute",
|
|
4010
|
+
"dovecot": "Connexion à la messagerie Dovecot",
|
|
4011
|
+
"recidive": "Récidivistes"
|
|
4012
|
+
},
|
|
4013
|
+
"cannotBanSelf": "Il s'agit de l'hôte ou de votre adresse IP de connexion : ajoutez-le à ignoreip au lieu de le bannir.",
|
|
4014
|
+
"suggestIgnoreHint": "Adresses IP d'administrateur suggérées (fichier de panneau uniquement jusqu'à ce que vous appliquiez la stratégie) :",
|
|
4015
|
+
"suggestIgnoreAdd": "Ajouter {{ip}}",
|
|
4016
|
+
"whitelistEmptyWarn": "La liste blanche est vide ; les jails peuvent vous interdire. Ajoutez votre IP de connexion avant d’appliquer ignoreip.",
|
|
4017
|
+
"suggestIgnoreLogin": "Votre IP de connexion {{ip}}",
|
|
4018
|
+
"applyIgnoreEmptyWarn": "Appliquer avec une liste blanche vide vide ignoreip",
|
|
4019
|
+
"applyIgnoreNeedConfirm": "Réécrit ignoreip du jail et recharge fail2ban"
|
|
3380
4020
|
},
|
|
3381
4021
|
"featurePage": {
|
|
3382
4022
|
"back": "Retour"
|
|
@@ -3674,18 +4314,18 @@
|
|
|
3674
4314
|
"shareTorrentFile": "Télécharger .torrent",
|
|
3675
4315
|
"shareSeedStatus": "Statut de semis",
|
|
3676
4316
|
"shareBtStats": "Statut BitTorrent",
|
|
3677
|
-
"btSeeds": "
|
|
3678
|
-
"btLeechers": "
|
|
3679
|
-
"btPeers": "
|
|
4317
|
+
"btSeeds": "Graines",
|
|
4318
|
+
"btLeechers": "Sangsues",
|
|
4319
|
+
"btPeers": "Pairs",
|
|
3680
4320
|
"btUploadSpeed": "Vitesse de téléchargement",
|
|
3681
4321
|
"btDownloadSpeed": "Vitesse de téléchargement",
|
|
3682
|
-
"btUploaded": "
|
|
3683
|
-
"btDownloaded": "
|
|
3684
|
-
"btRatio": "
|
|
3685
|
-
"btUpdatedAt": "
|
|
4322
|
+
"btUploaded": "Téléchargé",
|
|
4323
|
+
"btDownloaded": "Téléchargé",
|
|
4324
|
+
"btRatio": "Rapport",
|
|
4325
|
+
"btUpdatedAt": "Mis à jour",
|
|
3686
4326
|
"btServerStats": "Semoir de serveur",
|
|
3687
4327
|
"btClientStats": "Votre client",
|
|
3688
|
-
"btSeeding": "
|
|
4328
|
+
"btSeeding": "Semis",
|
|
3689
4329
|
"btPending": "Semis en attente",
|
|
3690
4330
|
"btStopped": "La graine s'est arrêtée",
|
|
3691
4331
|
"btError": "Erreur de graine",
|
|
@@ -3699,7 +4339,49 @@
|
|
|
3699
4339
|
"publicShareBtFailed": "Échec de WebTorrent : {{detail}}",
|
|
3700
4340
|
"publicShareBtNeedMagnet": "Pas d'URI magnétique pour ce partage",
|
|
3701
4341
|
"publicShareBtUnsupported": "Ce navigateur ne peut pas exécuter WebTorrent ; utilisez plutôt magnet ou .torrent",
|
|
3702
|
-
"btNone": "—"
|
|
4342
|
+
"btNone": "—",
|
|
4343
|
+
"uploadStatusSkipped": "Ignoré",
|
|
4344
|
+
"uploadStatusCancelled": "Annulé",
|
|
4345
|
+
"conflict": {
|
|
4346
|
+
"titleFile": "Un élément nommé « {{name}} » existe déjà",
|
|
4347
|
+
"titleFolder": "Un dossier nommé « {{name}} » existe déjà",
|
|
4348
|
+
"descFile": "Choisissez l’action. Rien n’est écrasé tant que vous ne choisissez pas Remplacer.",
|
|
4349
|
+
"descFolder": "Choisissez l’action. Fusionner conserve le dossier existant et continue avec son contenu.",
|
|
4350
|
+
"incoming": "À ajouter",
|
|
4351
|
+
"existing": "Déjà ici",
|
|
4352
|
+
"kindFile": "Fichier",
|
|
4353
|
+
"kindFolder": "Dossier",
|
|
4354
|
+
"skip": "Ignorer",
|
|
4355
|
+
"skipHint": "Ne pas ajouter cet élément",
|
|
4356
|
+
"keepBoth": "Conserver les deux",
|
|
4357
|
+
"keepBothHint": "Enregistrer l’élément entrant sous {{name}}",
|
|
4358
|
+
"replace": "Remplacer",
|
|
4359
|
+
"replaceHint": "Écraser le fichier existant. Une instantané de version est conservé si possible.",
|
|
4360
|
+
"replaceFolderHint": "Écrase les fichiers du même nom dans ce dossier. Les autres fichiers restent.",
|
|
4361
|
+
"merge": "Fusionner",
|
|
4362
|
+
"mergeHint": "Conserver le dossier existant et y ajouter les fichiers entrants",
|
|
4363
|
+
"applyAll": "Appliquer à tous les conflits restants",
|
|
4364
|
+
"applyAllHint": "Utiliser cette action pour le reste de ce dépôt ou transfert",
|
|
4365
|
+
"cancelRest": "Annuler le reste",
|
|
4366
|
+
"progress": "{{current}} sur {{total}}",
|
|
4367
|
+
"typeMismatch": "Un {{destKind}} nommé « {{name}} » est déjà ici. L’élément entrant est un {{incomingKind}}.",
|
|
4368
|
+
"skipped": "Ignoré",
|
|
4369
|
+
"cancelled": "Annulé"
|
|
4370
|
+
},
|
|
4371
|
+
"emptyTrashTitle": "Vider la poubelle ?",
|
|
4372
|
+
"emptyTrashDesc": "Chaque fichier dans la corbeille sera définitivement supprimé. Cela ne peut pas être annulé.",
|
|
4373
|
+
"purgeForeverDesc": "Ce fichier sera définitivement supprimé. Cela ne peut pas être annulé.",
|
|
4374
|
+
"webdavReissueUnchanged": "L'identifiant du jeton n'a pas changé après la réémission : l'écriture n'a peut-être pas persisté. Essayer à nouveau.",
|
|
4375
|
+
"webdavDisableFailed": "WebDAV est toujours activé après la désactivation : l'écriture n'a peut-être pas persisté. Essayer à nouveau.",
|
|
4376
|
+
"dirNamedLikeFile": "(dossier résiduel ; le nom ressemble à un fichier)",
|
|
4377
|
+
"webdavAfterEnable": "Disponible après activation de WebDAV et émission d’un jeton.",
|
|
4378
|
+
"webdavAlreadyOff": "WebDAV is already off",
|
|
4379
|
+
"deleteMore": " and {{n}} more",
|
|
4380
|
+
"unshareTitle": "Revoke this share?",
|
|
4381
|
+
"unshareDesc": "Revoke the link for {{name}} ({{url}}). The link stops working immediately.",
|
|
4382
|
+
"pillTrash": "{{count}} in trash",
|
|
4383
|
+
"pillSpace": "{{used}} used",
|
|
4384
|
+
"webdavTokenInactive": "Disabled — token #{{id}} is not active"
|
|
3703
4385
|
},
|
|
3704
4386
|
"firewall": {
|
|
3705
4387
|
"profiles": {
|
|
@@ -3732,7 +4414,7 @@
|
|
|
3732
4414
|
"notInstalled": "UFW n’est pas installé",
|
|
3733
4415
|
"toolHintPrefix": "Outils sous-jacents :",
|
|
3734
4416
|
"toolHintBody": "UFW = ports / règles permanentes · pour la réponse aux attaques et le bannissement auto, utilisez",
|
|
3735
|
-
"
|
|
4417
|
+
"toolHintfail2ban": "fail2ban = bannissements temporaires basés sur les journaux",
|
|
3736
4418
|
"executeOffHint": "Modifications système désactivées — le statut est lisible ;",
|
|
3737
4419
|
"tabs": {
|
|
3738
4420
|
"rules": "Règles",
|
|
@@ -3799,9 +4481,18 @@
|
|
|
3799
4481
|
"colService": "Service",
|
|
3800
4482
|
"colMode": "Mode",
|
|
3801
4483
|
"colPorts": "Ports",
|
|
3802
|
-
"colSync": "
|
|
3803
|
-
"synced": "
|
|
3804
|
-
"syncNow": "
|
|
4484
|
+
"colSync": "Statut",
|
|
4485
|
+
"synced": "Synchronisé",
|
|
4486
|
+
"syncNow": "Synchroniser",
|
|
4487
|
+
"disableConfirmTitle": "Désactiver UFW ?",
|
|
4488
|
+
"disableConfirmDesc": "Le pare-feu de l’hôte cessera de filtrer le trafic. Sur un réseau public, SSH et le panneau peuvent être exposés.",
|
|
4489
|
+
"disableConfirmConsequence": "Les règles d’autorisation/refus restent enregistrées mais ne s’appliquent plus tant que UFW n’est pas réactivé.",
|
|
4490
|
+
"toolHintFail2ban": "fail2ban = bannissements temporaires basés sur les journaux",
|
|
4491
|
+
"servicesUfwOff": "UFW est éteint. Cette liste représente l'exposition souhaitée, et non les règles que l'hôte applique.",
|
|
4492
|
+
"desiredOnlyUfwOff": "Souhaité : {{mode}} · UFW désactivé (non appliqué)",
|
|
4493
|
+
"syncNotApplied": "UFW désactivé · non appliqué",
|
|
4494
|
+
"defaultNotApplied": "n/a (UFW désactivé)",
|
|
4495
|
+
"ufwOffHint": "Les messages entrants par défaut ne sont pas appliqués lorsque UFW est désactivé"
|
|
3805
4496
|
},
|
|
3806
4497
|
"ftp": {
|
|
3807
4498
|
"title": "Comptes FTPS",
|
|
@@ -3936,7 +4627,22 @@
|
|
|
3936
4627
|
"sftpRegister": "Enregistrer la clé",
|
|
3937
4628
|
"sftpAddedAt": "Ajoutée {{time}}",
|
|
3938
4629
|
"sftpTechSummary": "Détails techniques (avancé)",
|
|
3939
|
-
"sftpTechNote": "Les clés sont écrites sous le chemin géré"
|
|
4630
|
+
"sftpTechNote": "Les clés sont écrites sous le chemin géré",
|
|
4631
|
+
"filterProject": "Comptes FTP de ce projet uniquement",
|
|
4632
|
+
"clearProjectFilter": "Afficher tous les comptes",
|
|
4633
|
+
"vsftpdFailedHint": "vsftpd a échoué. Ouvrez l'onglet Service (listen et Listen_ipv6 ne peuvent pas être tous les deux OUI).",
|
|
4634
|
+
"tabService": "Service",
|
|
4635
|
+
"listenConflictLive": "Live vsftpd.conf a Listen={{v4}} et Listen_ipv6={{v6}} — les deux OUI ne parviendront pas à démarrer.",
|
|
4636
|
+
"listenConflictNeedFix": "Corrigez d'abord Listen / Listen_ipv6 (ils ne peuvent pas tous les deux être OUI), puis appliquez.",
|
|
4637
|
+
"fixListenIpv4": "Utiliser uniquement IPv4 (listen=YES, Listen_ipv6=NO)",
|
|
4638
|
+
"liveFileValue": "Déposez maintenant : {{value}}",
|
|
4639
|
+
"startBlockedFailed": "Le service a échoué : appliquez une configuration valide avant de démarrer",
|
|
4640
|
+
"ftpsNeedCert": "Choisissez d'abord un domaine de certificat",
|
|
4641
|
+
"detectPublicIp": "Détecter l'adresse IP publique",
|
|
4642
|
+
"detectPublicIpTitle": "Remplissez le premier IPv4 sans bouclage de cet hôte",
|
|
4643
|
+
"pasvIpRequired": "Indiquez une IP publique PASV avant d’appliquer (NAT/cloud). Détectez ou saisissez une adresse.",
|
|
4644
|
+
"vsftpdFailedGeneric": "vsftpd failed. Open the Service tab for live settings and journal.",
|
|
4645
|
+
"stateFailed": "Failed to start"
|
|
3940
4646
|
},
|
|
3941
4647
|
"geo": {
|
|
3942
4648
|
"continents": {
|
|
@@ -4181,26 +4887,26 @@
|
|
|
4181
4887
|
"mediaNote": "Véritable navigateur : la vidéo est diffusée en streaming ; l'audio n'est pas encore ponté vers le panneau (phase 2).",
|
|
4182
4888
|
"isolationNote": "Un vrai navigateur crée un utilisateur Linux éphémère pour Chrome ; quitter la page ou le délai d'inactivité détruit cet utilisateur.",
|
|
4183
4889
|
"resumeHint": "Reprendre la session précédente ({{count}} onglets)",
|
|
4184
|
-
"resume": "
|
|
4185
|
-
"resumeDismiss": "
|
|
4890
|
+
"resume": "CV",
|
|
4891
|
+
"resumeDismiss": "Rejeter",
|
|
4186
4892
|
"resumeDone": "Reprise de la séance",
|
|
4187
4893
|
"settingsSafety": "Sécurité de la navigation",
|
|
4188
4894
|
"settingsSafetyHint": "Bloque strictement les hôtes les plus risqués ; La version décontractée permet des cibles intranet plus larges. Ne désactive pas les protections SSRF pour les métadonnées cloud.",
|
|
4189
4895
|
"safetyStrict": "Strict",
|
|
4190
4896
|
"safetyStandard": "Standard",
|
|
4191
|
-
"safetyRelaxed": "
|
|
4897
|
+
"safetyRelaxed": "Détendu",
|
|
4192
4898
|
"settingsBlockHosts": "Suffixes d'hôtes bloqués",
|
|
4193
4899
|
"settingsBlockHostsHint": "Un nom d'hôte ou un suffixe par ligne (par exemple malware.test). Les correspondances exactes et suffixes sont bloquées.",
|
|
4194
4900
|
"settingsAllowDangerousDownloads": "Autoriser les téléchargements à haut risque (exe/scripts)",
|
|
4195
4901
|
"settingsAudioBridge": "Ponter l'audio de la page vers le panneau",
|
|
4196
4902
|
"settingsAudioBridgeHint": "Diffuse l'audio Chrome de l'hôte dans ce navigateur. Certains sites nécessitent un clic pour déverrouiller la lecture.",
|
|
4197
|
-
"downloads": "
|
|
4903
|
+
"downloads": "Téléchargements",
|
|
4198
4904
|
"downloadsEmpty": "Aucun téléchargement dans cette session",
|
|
4199
|
-
"downloadReady": "
|
|
4200
|
-
"downloadBlocked": "
|
|
4201
|
-
"downloadPending": "
|
|
4202
|
-
"downloadFailed": "
|
|
4203
|
-
"downloadSave": "
|
|
4905
|
+
"downloadReady": "Prêt",
|
|
4906
|
+
"downloadBlocked": "Bloqué",
|
|
4907
|
+
"downloadPending": "En attente",
|
|
4908
|
+
"downloadFailed": "Échoué",
|
|
4909
|
+
"downloadSave": "Sauvegarder",
|
|
4204
4910
|
"audioUnlock": "Activer le son",
|
|
4205
4911
|
"audioUnlockHint": "Cliquez pour déverrouiller la lecture audio dans cet onglet",
|
|
4206
4912
|
"audioUnlocked": "Audio débloqué",
|
|
@@ -4210,12 +4916,32 @@
|
|
|
4210
4916
|
"audioNotBridged": "Audio désactivé",
|
|
4211
4917
|
"audioNotBridgedHint": "Activez le pont audio dans Paramètres pour entendre la page",
|
|
4212
4918
|
"mediaPolicyTitle": "Médias dans un vrai navigateur",
|
|
4213
|
-
"mediaVideoLabel": "
|
|
4919
|
+
"mediaVideoLabel": "Vidéo",
|
|
4214
4920
|
"mediaVideoDesc": "Rendu sur l'hôte et diffusé sous forme d'images dans le panneau.",
|
|
4215
4921
|
"mediaAudioLabel": "Audio",
|
|
4216
4922
|
"mediaAudioDesc": "Pont facultatif depuis l'hôte Chrome ; peut nécessiter un clic de déverrouillage.",
|
|
4217
|
-
"mediaPolicyLabel": "
|
|
4218
|
-
"mediaPolicyDesc": "Les téléchargements et la lecture automatique suivent les paramètres de sécurité et de téléchargement ci-dessus."
|
|
4923
|
+
"mediaPolicyLabel": "Politique",
|
|
4924
|
+
"mediaPolicyDesc": "Les téléchargements et la lecture automatique suivent les paramètres de sécurité et de téléchargement ci-dessus.",
|
|
4925
|
+
"frameBlocked": "La page n'a pas pu être affichée dans le cadre du panneau.",
|
|
4926
|
+
"historyEmpty": "Aucun historique dans cette session.",
|
|
4927
|
+
"bookmarksEmpty": "Aucun favori pour l'instant.",
|
|
4928
|
+
"closeSessionHint": "Efface les cookies pour cette session de navigation. Les signets restent.",
|
|
4929
|
+
"bookmarkAdd": "Ajouter ou supprimer un signet",
|
|
4930
|
+
"bookmarkList": "Liste de favoris",
|
|
4931
|
+
"envUnset": "pas réglé",
|
|
4932
|
+
"envPanelValue": "panneau : {{value}}",
|
|
4933
|
+
"settingsNoSandboxWarn": "Désactive le bac à sable Chromium. À utiliser uniquement dans un conteneur approuvé. S'applique à la prochaine session de navigateur réel.",
|
|
4934
|
+
"settingsDangerDlWarn": "Permet les téléchargements d'exécutables et de scripts via le navigateur hôte. Confirmez que vous en avez besoin.",
|
|
4935
|
+
"settingsDangerConfirmTitle": "Activer un paramètre de navigation à haut risque ?",
|
|
4936
|
+
"needUrl": "Saisissez une URL ci-dessus pour démarrer une session.",
|
|
4937
|
+
"envColVar": "Variable",
|
|
4938
|
+
"envColHost": "Processus hôte",
|
|
4939
|
+
"envColPanel": "Réglage du panneau",
|
|
4940
|
+
"envColEffective": "Effectif",
|
|
4941
|
+
"engineBrowserNeedChrome": "Real browser (Chrome not installed)",
|
|
4942
|
+
"egressHint": "The target site sees this server’s outbound address ({{host}}), not your laptop. Cookies stay in the server session jar.",
|
|
4943
|
+
"closeNoSession": "No session yet",
|
|
4944
|
+
"resumeHintDetail": "Resume previous session ({{count}} tabs) · {{url}} · {{when}}"
|
|
4219
4945
|
},
|
|
4220
4946
|
"listToolbar": {
|
|
4221
4947
|
"searchPlaceholder": "Rechercher…",
|
|
@@ -4227,24 +4953,30 @@
|
|
|
4227
4953
|
"activeFilters": "{{count}} filtres actifs",
|
|
4228
4954
|
"noResults": "Aucune correspondance",
|
|
4229
4955
|
"noResultsHint": "Essayez un autre mot-clé ou effacez les filtres.",
|
|
4230
|
-
"searching": "Recherche…"
|
|
4956
|
+
"searching": "Recherche…",
|
|
4957
|
+
"emptyChip": "No items in this filter"
|
|
4231
4958
|
},
|
|
4232
4959
|
"logViewer": {
|
|
4233
4960
|
"banIpTitle": "Bannir {{ip}} dans Protection"
|
|
4234
4961
|
},
|
|
4235
4962
|
"login": {
|
|
4236
|
-
"title": "
|
|
4963
|
+
"title": "Connexion à YSK Server",
|
|
4237
4964
|
"subtitle": "Console serveur",
|
|
4238
|
-
"username": "Nom d
|
|
4965
|
+
"username": "Nom d’utilisateur",
|
|
4239
4966
|
"password": "Mot de passe",
|
|
4240
4967
|
"submit": "Se connecter",
|
|
4241
|
-
"failed": "Échec de la connexion. Vérifiez le nom d
|
|
4968
|
+
"failed": "Échec de la connexion. Vérifiez le nom d’utilisateur ou le mot de passe.",
|
|
4242
4969
|
"footer": "Un produit de YSK Limited",
|
|
4243
4970
|
"totpRequired": "La 2FA est activée pour ce compte. Saisissez le code à 6 chiffres.",
|
|
4244
|
-
"totpLabel": "Code d
|
|
4245
|
-
"totpHint": "Code à 6 chiffres de votre application d
|
|
4971
|
+
"totpLabel": "Code d’authentification",
|
|
4972
|
+
"totpHint": "Code à 6 chiffres de votre application d’authentification",
|
|
4246
4973
|
"submitting": "Connexion…",
|
|
4247
|
-
"sessionExpired": "Session expirée ; reconnectez-vous"
|
|
4974
|
+
"sessionExpired": "Session expirée ; reconnectez-vous",
|
|
4975
|
+
"newPassword": "Nouveau mot de passe",
|
|
4976
|
+
"newPasswordAgain": "Confirmer le nouveau mot de passe",
|
|
4977
|
+
"changePassword": "Changer le mot de passe",
|
|
4978
|
+
"passwordMismatch": "Les mots de passe ne correspondent pas",
|
|
4979
|
+
"passwordChanged": "Mot de passe mis à jour"
|
|
4248
4980
|
},
|
|
4249
4981
|
"logs": {
|
|
4250
4982
|
"catSystem": "Fichiers système",
|
|
@@ -4371,7 +5103,7 @@
|
|
|
4371
5103
|
"logrotateLabel": "logrotation",
|
|
4372
5104
|
"srcNginx": "nginx",
|
|
4373
5105
|
"srcSsh": "chut",
|
|
4374
|
-
"
|
|
5106
|
+
"srcfail2ban": "échec2ban",
|
|
4375
5107
|
"srcAuthLog": "auth.log",
|
|
4376
5108
|
"srcNginxError": "erreur nginx",
|
|
4377
5109
|
"srcLetsEncrypt": "chiffrons",
|
|
@@ -4379,7 +5111,36 @@
|
|
|
4379
5111
|
"groupVarLog": "/var/log",
|
|
4380
5112
|
"prioErr": "euh+",
|
|
4381
5113
|
"prioWarn": "avertir+",
|
|
4382
|
-
"prioInfo": "infos+"
|
|
5114
|
+
"prioInfo": "infos+",
|
|
5115
|
+
"srcFail2ban": "échec2ban",
|
|
5116
|
+
"vacuumSize": "Limité à 500 Mo",
|
|
5117
|
+
"logrotateNoStatus": "Pas encore de fichier d'état de rotation (normal s'il n'a jamais été exécuté).",
|
|
5118
|
+
"autoVacuumOff": "Le nettoyage automatique est désactivé. Le temps n'est pas utilisé jusqu'à ce que vous l'activiez.",
|
|
5119
|
+
"aboutAllowlist": "Explore ne peut lire que les unités de journal et les chemins /var/log sur liste autorisée. Les chemins d’hôtes arbitraires ne sont pas proposés.",
|
|
5120
|
+
"aboutCustomPath": "Ajoutez un chemin personnalisé dans Paramètres (uniquement /var/log ou /run/log). Ensuite, ouvrez-le depuis Explorer.",
|
|
5121
|
+
"noRowsInWindow": "Aucun enregistrement dans cette fenêtre horaire",
|
|
5122
|
+
"showInactiveUnits": "Afficher les unités inactives",
|
|
5123
|
+
"sseNeedFollow": "Activez d'abord le suivi – SSE est uniquement destiné à la queue en direct",
|
|
5124
|
+
"vacuumNeedRetention": "Saisissez d’abord une fenêtre de conservation (ex. 14d)",
|
|
5125
|
+
"vacuumNeedConfirm": "Confirmation requise — supprime d’anciens journaux journal",
|
|
5126
|
+
"vacuumSizeNeedConfirm": "Confirmation requise — plafonne l’usage disque de journal",
|
|
5127
|
+
"vacuumSizeAlreadyBelow": "L’usage actuel est déjà sous le plafond ; généralement rien n’est supprimé.",
|
|
5128
|
+
"vacuumSizeNoopDesc": "Le journal est déjà sous 500 Mo. vacuum --size=500M s’exécute quand même et ne supprime généralement rien.",
|
|
5129
|
+
"journalDiskHint": "Usage actuel de systemd-journald (journal actif). N’inclut pas les fichiers rotés sous /var/log.",
|
|
5130
|
+
"varLogDiskHint": "Estimation de /var/log, y compris les fichiers rotés.",
|
|
5131
|
+
"queryFirst": "Interrogez d’abord",
|
|
5132
|
+
"projectSourcesTitle": "{{n}} source(s) (fichiers + journal)",
|
|
5133
|
+
"logrotatePath": "Chemin",
|
|
5134
|
+
"logrotateLast": "Dernière rotation",
|
|
5135
|
+
"logrotateExpand": "Afficher {{n}} plus",
|
|
5136
|
+
"logrotateCollapse": "Afficher moins",
|
|
5137
|
+
"logrotateVersion": "Version d'état {{v}}",
|
|
5138
|
+
"errorsWindowHint": "Recent errors from the last overview probe (not live-updating when you switch tabs)",
|
|
5139
|
+
"sourceCount": "{{shown}} shown",
|
|
5140
|
+
"sourceUnavailable": "This source has not produced a log yet",
|
|
5141
|
+
"sourceNoLog": "No log yet",
|
|
5142
|
+
"exportJsonl": "JSONL export",
|
|
5143
|
+
"sseLive": " (live stream)"
|
|
4383
5144
|
},
|
|
4384
5145
|
"metrics": {
|
|
4385
5146
|
"alert": {
|
|
@@ -4511,7 +5272,42 @@
|
|
|
4511
5272
|
"usageNoteFull": "Utilisation via du local (non estimée). Le quota est une limite souple du plan de contrôle ; un setquota dur nécessite apply-to-host.",
|
|
4512
5273
|
"sseNeedLogin": "Non connecté ; impossible d’ouvrir le SSE",
|
|
4513
5274
|
"sseSessionExpired": "Non connecté ou session expirée ; impossible d’ouvrir le SSE",
|
|
4514
|
-
"sseHttpError": "flux HTTP {{status}}"
|
|
5275
|
+
"sseHttpError": "flux HTTP {{status}}",
|
|
5276
|
+
"colFilesystem": "Système de fichiers",
|
|
5277
|
+
"colMount": "Monter",
|
|
5278
|
+
"colSize": "Taille",
|
|
5279
|
+
"colUsed": "Utilisé",
|
|
5280
|
+
"colAvail": "Disponible",
|
|
5281
|
+
"colUsePct": "Utilisé %",
|
|
5282
|
+
"colHome": "Maison",
|
|
5283
|
+
"usageNoteLink": "Quota souple du plan de contrôle. Appliquez des limites strictes dans l’onglet Isolation du projet.",
|
|
5284
|
+
"alertsBuiltinOnly": "Seuils intégrés CPU/mémoire/disque uniquement. Pas de courrier électronique, de webhook ou de canal Slack.",
|
|
5285
|
+
"lastEvaluated": "Dernière vérification",
|
|
5286
|
+
"shareNoQuotaHint": "Sans quota, la part n’est pas un pourcentage. Définissez-la dans l’onglet Isolation du projet.",
|
|
5287
|
+
"setQuotaLink": "Définir le quota",
|
|
5288
|
+
"unusualHome": "Chemin inhabituel",
|
|
5289
|
+
"unusualHomeHint": "Pas une maison de projet /home/…. L'isolement canonique est /home/ysk-server-{id}.",
|
|
5290
|
+
"protectedPid": "PID 1 / init / systemd ne peut pas être signalé depuis le panneau",
|
|
5291
|
+
"sigTermTitle": "Envoyer SIGTERM (demander au processus de quitter)",
|
|
5292
|
+
"sigKillTitle": "Envoyer SIGKILL (force kill – ne peut pas être attrapé)",
|
|
5293
|
+
"batchTerm": "TERM",
|
|
5294
|
+
"batchKill": "KILL",
|
|
5295
|
+
"rawTopLabel": "Haut brut (non traduit)",
|
|
5296
|
+
"followSseLabel": "Suivre (diffusion en direct)",
|
|
5297
|
+
"alertsReadOnly": "Seuils intégrés CPU/mémoire/disque uniquement. Pas de courrier électronique, de webhook ou de canal Slack.",
|
|
5298
|
+
"alertsGoNotifications": "Ouvrir le centre de notifications",
|
|
5299
|
+
"lastCheck": "Dernière vérification",
|
|
5300
|
+
"rawTopHint": "Sortie top(1) non traduite",
|
|
5301
|
+
"load1m": "Load 1m",
|
|
5302
|
+
"uptime": "Uptime",
|
|
5303
|
+
"filterCpu5": "≥5% CPU",
|
|
5304
|
+
"filterMem5": "≥5% memory",
|
|
5305
|
+
"signalHint": "Select a process, then send TERM or KILL.",
|
|
5306
|
+
"signalFromRow": "Select this process for TERM / KILL",
|
|
5307
|
+
"selectForSignal": "Select",
|
|
5308
|
+
"forceKillTitleNamed": "KILL PID {{pid}} ({{cmd}})?",
|
|
5309
|
+
"sendSigTitleNamed": "Send TERM to PID {{pid}} ({{cmd}})?",
|
|
5310
|
+
"controlPlaneNoSignal": "The control-plane process cannot be signalled"
|
|
4515
5311
|
},
|
|
4516
5312
|
"migrate": {
|
|
4517
5313
|
"tabInventory": "Inventaire",
|
|
@@ -4593,7 +5389,20 @@
|
|
|
4593
5389
|
"dryRunOnlyDesc": "· Inventaire + précontrôle uniquement ; pas de rsync ni d’écritures sur la cible",
|
|
4594
5390
|
"executeNote": "L’hôte nécessite YSK_EXECUTE=1 et l’API root. Après la migration, mettez à jour les DNS A/AAAA et vérifiez le pare-feu cloud + le PTR mail.",
|
|
4595
5391
|
"dnsCutover": "Basculement DNS (manuel)",
|
|
4596
|
-
"dnsCutoverDesc": "Pointez les A/AAAA de ces noms vers la nouvelle IP publique ;"
|
|
5392
|
+
"dnsCutoverDesc": "Pointez les A/AAAA de ces noms vers la nouvelle IP publique ;",
|
|
5393
|
+
"orphanHomesHint": "Restes de maisons du projet (pas dans le magasin). Supprimez-les uniquement après avoir confirmé qu'ils ne sont pas utilisés.",
|
|
5394
|
+
"orphanRemove": "Supprimer les restes de la maison",
|
|
5395
|
+
"orphanRemoveTitle": "Supprimer l'accueil du projet restant ?",
|
|
5396
|
+
"orphanRemoveDesc": "Supprimez définitivement {{path}} du disque. Ce n'est pas un projet de magasin. Nécessite YSK_EXECUTE=1.",
|
|
5397
|
+
"orphanRemovePhrase": "Saisissez DELETE pour confirmer.",
|
|
5398
|
+
"orphanRemoveNeedConfirm": "Confirmation requise",
|
|
5399
|
+
"passwordNotStored": "Password is used for this SSH session only and is not saved on disk.",
|
|
5400
|
+
"overwriteDanger": "Overwrite will replace existing YSK data on the target. This cannot be undone from the panel.",
|
|
5401
|
+
"orphanBackupFirst": "Back up first (open Backups)",
|
|
5402
|
+
"expandAllWarnings": "Show all {{n}} warnings",
|
|
5403
|
+
"collapseWarnings": "Show fewer",
|
|
5404
|
+
"inventoriedWarn": "Inventoried · {{n}} warnings",
|
|
5405
|
+
"orphanMtime": "Last modified {{at}}"
|
|
4597
5406
|
},
|
|
4598
5407
|
"multiCheck": {
|
|
4599
5408
|
"customPlaceholder": "Code personnalisé",
|
|
@@ -4648,7 +5457,7 @@
|
|
|
4648
5457
|
"rust": "Rust",
|
|
4649
5458
|
"protection": "Centre de défense",
|
|
4650
5459
|
"firewall": "Pare-feu",
|
|
4651
|
-
"fail2ban": "
|
|
5460
|
+
"fail2ban": "fail2ban",
|
|
4652
5461
|
"users": "Utilisateurs et paquets",
|
|
4653
5462
|
"services": "Services",
|
|
4654
5463
|
"metrics": "Métriques",
|
|
@@ -4670,7 +5479,9 @@
|
|
|
4670
5479
|
"runtimes": "Durées d'exécution",
|
|
4671
5480
|
"security": "Sécurité",
|
|
4672
5481
|
"system": "Système",
|
|
4673
|
-
"ai": "IA"
|
|
5482
|
+
"ai": "IA",
|
|
5483
|
+
"validators": "Validateurs",
|
|
5484
|
+
"containers": "Conteneurs"
|
|
4674
5485
|
},
|
|
4675
5486
|
"java": "Java",
|
|
4676
5487
|
"kotlin": "Kotlin",
|
|
@@ -4689,8 +5500,13 @@
|
|
|
4689
5500
|
"bookmarkPinned": "Épinglé",
|
|
4690
5501
|
"bookmarkAdded": "Épinglé sur la barre latérale",
|
|
4691
5502
|
"bookmarkRemoved": "Supprimé de la barre latérale",
|
|
4692
|
-
"btTracker": "
|
|
4693
|
-
"support": "
|
|
5503
|
+
"btTracker": "BT Tracker",
|
|
5504
|
+
"support": "Soutien",
|
|
5505
|
+
"noAccessTitle": "Accès refusé",
|
|
5506
|
+
"noAccessDesc": "Votre rôle n’inclut pas cette page. Demandez à un administrateur si vous en avez besoin.",
|
|
5507
|
+
"backToDashboard": "Retour au tableau de bord",
|
|
5508
|
+
"validators": "Validateurs (Beta)",
|
|
5509
|
+
"docker": "Docker"
|
|
4694
5510
|
},
|
|
4695
5511
|
"network": {
|
|
4696
5512
|
"title": "Interfaces réseau",
|
|
@@ -4829,10 +5645,33 @@
|
|
|
4829
5645
|
"azure_frontdoor": "Porte d'entrée azur",
|
|
4830
5646
|
"gcore": "CDN Gcore",
|
|
4831
5647
|
"custom": "Proxys personnalisés"
|
|
4832
|
-
}
|
|
5648
|
+
},
|
|
5649
|
+
"needProvider": "Choisissez un fournisseur CDN avant de récupérer sa liste IP.",
|
|
5650
|
+
"spoofWarn": "Faire confiance au mauvais CIDR permet aux clients d'usurper les en-têtes X-Forwarded-For / CDN comme adresse IP."
|
|
4833
5651
|
},
|
|
4834
5652
|
"linkUp": "En haut",
|
|
4835
|
-
"linkDown": "Vers le bas"
|
|
5653
|
+
"linkDown": "Vers le bas",
|
|
5654
|
+
"linkDownTitle": "Mettez {{name}} hors ligne",
|
|
5655
|
+
"linkDownNeedConfirm": "Tapez le nom de l'interface pour confirmer",
|
|
5656
|
+
"persistNmHint": "Persistant signifie que les modifications peuvent survivre au redémarrage via NetworkManager.",
|
|
5657
|
+
"hideRaw": "Masquer la sortie brute",
|
|
5658
|
+
"rawLoadedAt": "Chargé {{time}}",
|
|
5659
|
+
"deleteDefaultPanelWarn": "La suppression de l'itinéraire par défaut peut abandonner cette session de panneau. Tapez DEFAULT pour confirmer.",
|
|
5660
|
+
"typeDefaultToConfirm": "Tapez DEFAULT pour confirmer",
|
|
5661
|
+
"deleteDefaultNeedConfirm": "Confirmation requise — saisissez DEFAULT (peut couper ce panneau)",
|
|
5662
|
+
"deleteRouteNeedConfirm": "Confirmation requise",
|
|
5663
|
+
"nmUnavailable": "NetworkManager n'est pas en cours d'exécution — seule une route en direct peut être ajoutée",
|
|
5664
|
+
"defaultRouteDownNeedName": "Il s'agit de la sortie de route par défaut. Tapez le nom de l’interface pour confirmer – le panneau peut se déconnecter.",
|
|
5665
|
+
"linkDownDefault": "Down default route",
|
|
5666
|
+
"loopbackImmutable": "Loopback cannot be changed",
|
|
5667
|
+
"operUnknownHint": "Kernel did not report UP/DOWN (common for lo). The interface is still usable.",
|
|
5668
|
+
"statUp": "Up",
|
|
5669
|
+
"oper": {
|
|
5670
|
+
"up": "Up",
|
|
5671
|
+
"down": "Down",
|
|
5672
|
+
"unknown": "Unknown",
|
|
5673
|
+
"other": "Other"
|
|
5674
|
+
}
|
|
4836
5675
|
},
|
|
4837
5676
|
"nginx": {
|
|
4838
5677
|
"pillSites": "{{count}} site(s)",
|
|
@@ -4918,6 +5757,12 @@
|
|
|
4918
5757
|
"setIndexes": "Liste d'annuaire",
|
|
4919
5758
|
"bodyInherit": "Mondial"
|
|
4920
5759
|
},
|
|
5760
|
+
"notFound": {
|
|
5761
|
+
"title": "Page introuvable",
|
|
5762
|
+
"body": "Pas de page de panneau à {{path}}.",
|
|
5763
|
+
"hint": "Les URL inconnues ne vous renvoient plus au tableau de bord.",
|
|
5764
|
+
"home": "Tableau de bord"
|
|
5765
|
+
},
|
|
4921
5766
|
"notes": {
|
|
4922
5767
|
"notFound": "Introuvable",
|
|
4923
5768
|
"needPath": "Indiquez un chemin",
|
|
@@ -4950,16 +5795,42 @@
|
|
|
4950
5795
|
},
|
|
4951
5796
|
"ssh": {
|
|
4952
5797
|
"identityNotFound": "Identité introuvable",
|
|
4953
|
-
"registrationNotFound": "Enregistrement introuvable"
|
|
5798
|
+
"registrationNotFound": "Enregistrement introuvable",
|
|
5799
|
+
"keyOkNologin": "Key accepted. Account has no login shell (nologin) — use SFTP. Treated as PASS.",
|
|
5800
|
+
"keyOkSftp": "SFTP pwd a réussi après le refus du shell SSH."
|
|
4954
5801
|
},
|
|
4955
5802
|
"cdn": {
|
|
4956
5803
|
"siteNotFound": "Site CDN introuvable",
|
|
4957
|
-
"nodeMissing": "Le nœud n'existe pas"
|
|
5804
|
+
"nodeMissing": "Le nœud n'existe pas",
|
|
5805
|
+
"probe": {
|
|
5806
|
+
"timeout": "Délai d'expiration de la connexion après {{ms}}ms ({{detail}}). Le homologue peut être protégé par un pare-feu.",
|
|
5807
|
+
"dns": "La recherche DNS a échoué ({{detail}}).",
|
|
5808
|
+
"refused": "Connexion refusée après {{ms}}ms ({{detail}}). Port fermé ou blocage à sens unique.",
|
|
5809
|
+
"tls": "Échec de la vérification TLS ({{detail}}).",
|
|
5810
|
+
"unreach": "Hôte inaccessible après {{ms}}ms ({{detail}}).",
|
|
5811
|
+
"http": "La sonde HTTP a échoué après {{ms}}ms ({{detail}})."
|
|
5812
|
+
},
|
|
5813
|
+
"loopbackOriginRemote": "L'origine est 127.0.0.1 : il s'agit de cet hôte, et non d'un périphérique distant. Définissez une adresse IP d'origine accessible ou bind_ip.",
|
|
5814
|
+
"needSshOrFleet": "Le dispositif Edge distant a besoin d’une identité SSH sortante (ou d’un nom d’utilisateur) ou d’une session de flotte /agents. L'URL de santé à elle seule n'applique pas le transport.",
|
|
5815
|
+
"originRemoteRewrite": "Les bords distants utiliseront l'origine accessible {{url}} au lieu du bouclage.",
|
|
5816
|
+
"originRemoteUnknown": "L'origine est un bouclage et aucune adresse IP publique/LAN ou bind_ip n'est connue — apply refusera les bords distants jusqu'à ce qu'il y en ait un."
|
|
4958
5817
|
},
|
|
4959
5818
|
"backup": {
|
|
4960
5819
|
"fileNotFound": "Fichier de sauvegarde introuvable",
|
|
4961
5820
|
"resticNoPassword": "restic est activé mais le mot de passe n'est pas défini",
|
|
4962
|
-
"resticNotInPath": "restic absent du PATH"
|
|
5821
|
+
"resticNotInPath": "restic absent du PATH",
|
|
5822
|
+
"dbEnvUnreadable": "Impossible de lire .db.env ; dump SQL ignoré.",
|
|
5823
|
+
"dbEnvNoName": ".db.env n'a pas de nom de base de données ; dump SQL ignoré.",
|
|
5824
|
+
"targetOutside": "La cible de restauration doit se trouver dans le répertoire d'accueil du projet ou dans la racine des fichiers publics.",
|
|
5825
|
+
"testUnsaved": "Test des valeurs de formulaire non enregistrées (non écrites dans les paramètres).",
|
|
5826
|
+
"testIdentity": "ssh (identity) to {{spec}} ok",
|
|
5827
|
+
"sshAuthFailed": "Clé SSH ou mot de passe rejeté (publickey). Choisissez une identité sortante ou installez sshpass.",
|
|
5828
|
+
"remotePathIsFile": "Le chemin distant {{path}} est un fichier. Utilisez un répertoire.",
|
|
5829
|
+
"remoteMkdirFailed": "Impossible de créer le répertoire distant : {{detail}}",
|
|
5830
|
+
"sidecarPushed": "A également poussé le side-car SQL {{name}}",
|
|
5831
|
+
"controlPlaneDryRun": "Aperçu uniquement – rien d’écrit. Dans le panneau, utilisez Restaurer et confirmez la phrase à écrire.",
|
|
5832
|
+
"controlPlaneNeedConfirm": "La restauration complète du plan de contrôle nécessite la phrase de confirmation RESTORE-CONTROL-PLANE.",
|
|
5833
|
+
"controlPlaneRestartAfter": "Redémarrez l'API après une restauration réussie."
|
|
4963
5834
|
},
|
|
4964
5835
|
"redis": {
|
|
4965
5836
|
"cliMissing": "redis-cli n'est pas installé"
|
|
@@ -5003,7 +5874,8 @@
|
|
|
5003
5874
|
"pathOutsideSandbox": "Chemin hors bac à sable : {{target}}",
|
|
5004
5875
|
"notFoundRel": "Introuvable : {{relPath}}",
|
|
5005
5876
|
"fileNotFoundRel": "Fichier introuvable : {{relPath}}",
|
|
5006
|
-
"notFoundFrom": "Introuvable : {{fromPath}}"
|
|
5877
|
+
"notFoundFrom": "Introuvable : {{fromPath}}",
|
|
5878
|
+
"alreadyExists": "Existe déjà : {{name}}"
|
|
5007
5879
|
},
|
|
5008
5880
|
"dns": {
|
|
5009
5881
|
"needZoneServerIp": "Saisissez la zone et l'IP du serveur",
|
|
@@ -5043,7 +5915,10 @@
|
|
|
5043
5915
|
},
|
|
5044
5916
|
"db": {
|
|
5045
5917
|
"needExecuteCreate": "L'exécution hôte est désactivée ; impossible de créer la base depuis le panneau",
|
|
5046
|
-
"dryRunMysql": "dry-run : base non créée. Utiliser --execute avec YSK_EXECUTE=1 pour provisionner"
|
|
5918
|
+
"dryRunMysql": "dry-run : base non créée. Utiliser --execute avec YSK_EXECUTE=1 pour provisionner",
|
|
5919
|
+
"remoteNoCreds": "Aucun nom d'utilisateur/mot de passe stocké — TCP uniquement (l'enregistrement n'est pas une connexion).",
|
|
5920
|
+
"remoteReachable": "TCP {{host}} : {{port}} ouvert ({{ms}}ms).",
|
|
5921
|
+
"remoteUnreachable": "TCP {{host}} :{{port}} fermé ou filtré ({{ms}}ms)."
|
|
5047
5922
|
},
|
|
5048
5923
|
"net": {
|
|
5049
5924
|
"invalidIface": "Nom d'interface invalide",
|
|
@@ -5124,7 +5999,17 @@
|
|
|
5124
5999
|
"dns": "DNS",
|
|
5125
6000
|
"email": "E-mail",
|
|
5126
6001
|
"isolation": "Isolation de projet",
|
|
5127
|
-
"ops": "Opérations"
|
|
6002
|
+
"ops": "Opérations",
|
|
6003
|
+
"runtimesNode": "Noeud.js",
|
|
6004
|
+
"runtimesPhp": "PHP",
|
|
6005
|
+
"runtimesPython": "Python",
|
|
6006
|
+
"runtimesGo": "Go",
|
|
6007
|
+
"pm2": "PM2",
|
|
6008
|
+
"runtimesNodeFix": "Installer Node à partir de /runtimes/node",
|
|
6009
|
+
"runtimesPhpFix": "Installer PHP depuis /runtimes/php",
|
|
6010
|
+
"runtimesPythonFix": "Installer Python depuis /runtimes/python",
|
|
6011
|
+
"runtimesGoFix": "Installer Go à partir de /runtimes/go",
|
|
6012
|
+
"pm2Fix": "Installez PM2 à partir de la page d'exécution du nœud"
|
|
5128
6013
|
},
|
|
5129
6014
|
"needAdmin": "Autorisation administrateur requise",
|
|
5130
6015
|
"notInstalled": "Non installé",
|
|
@@ -5317,7 +6202,7 @@
|
|
|
5317
6202
|
"n0179": "Bucket/chemin S3 non configuré",
|
|
5318
6203
|
"n0180": "SFTP.ssh chown nécessite root + YSK_EXECUTE",
|
|
5319
6204
|
"n0181": "Confirmation SIGKILL Kill: true",
|
|
5320
|
-
"n0182": "SMTP
|
|
6205
|
+
"n0182": "SMTP/",
|
|
5321
6206
|
"n0183": "SPF",
|
|
5322
6207
|
"n0184": "SRV : priorité poids port cible",
|
|
5323
6208
|
"n0185": "SSH",
|
|
@@ -5397,7 +6282,7 @@
|
|
|
5397
6282
|
"n0259": "domaine",
|
|
5398
6283
|
"n0260": "domaine introuvable :",
|
|
5399
6284
|
"n0261": "dovecot reload échoué ou service absent (sieve Wrote ; reload Success)",
|
|
5400
|
-
"n0262": "
|
|
6285
|
+
"n0262": "essai de répartition de flotte (non mis en file)",
|
|
5401
6286
|
"n0263": "dry-run push pair (pas scp)",
|
|
5402
6287
|
"n0264": "dry-run install distant (pas ssh)",
|
|
5403
6288
|
"n0265": "dry-run transfert terminé ( bootstrap complet)",
|
|
@@ -5406,10 +6291,10 @@
|
|
|
5406
6291
|
"n0268": "dry-run — n'écrit pas /etc",
|
|
5407
6292
|
"n0269": "dry-run : ajoutez d'abord --execute pour appliquer ufw",
|
|
5408
6293
|
"n0270": "dry-run : inventaire + prévol OK, pas de package/transfert",
|
|
5409
|
-
"n0271": "
|
|
5410
|
-
"n0272": "
|
|
5411
|
-
"n0273": "
|
|
5412
|
-
"n0274": "
|
|
6294
|
+
"n0271": "Exécution à sec : sonde/plan uniquement. Passez --execute avec YSK_EXECUTE=1 pour effectuer le provisionnement.",
|
|
6295
|
+
"n0272": "Exécution à sec : écriture du fichier géré (dataDir). Passez --execute avec YSK_EXECUTE=1 en tant que root pour installer le système drop-in.",
|
|
6296
|
+
"n0273": "Exécution à sec : non interdite. Passez --execute avec YSK_EXECUTE=1 pour réellement interdire.",
|
|
6297
|
+
"n0274": "Exécution à sec : non interdite. Passez --execute avec YSK_EXECUTE=1 pour débloquer réellement.",
|
|
5413
6298
|
"n0275": "dryRun=true — API de modification",
|
|
5414
6299
|
"n0276": "dryRun : n'écrit pas",
|
|
5415
6300
|
"n0277": "dump écrit dans dataDir, pas de transfert",
|
|
@@ -5758,7 +6643,7 @@
|
|
|
5758
6643
|
"n0620": "démarrer processus pas processus",
|
|
5759
6644
|
"n0621": "OPcache",
|
|
5760
6645
|
"n0622": "SSL",
|
|
5761
|
-
"n0623": "",
|
|
6646
|
+
"n0623": "Actif",
|
|
5762
6647
|
"n0624": "fichier",
|
|
5763
6648
|
"n0625": "fichier",
|
|
5764
6649
|
"n0626": "nœud wsrep, HA ≥2 nœuds",
|
|
@@ -5974,7 +6859,7 @@
|
|
|
5974
6859
|
"n0836": "certificat veuillez — Échec",
|
|
5975
6860
|
"n0837": "≥ fichier",
|
|
5976
6861
|
"n0838": "paramètres conservés sauvegarde",
|
|
5977
|
-
"n0839": "
|
|
6862
|
+
"n0839": "Le succès signifie que cette cible accepte BatchMode SSH (non interactif). Il ne s’agit pas d’une concession d’accès mondial.",
|
|
5978
6863
|
"n0840": "ou 32767",
|
|
5979
6864
|
"n0841": "logiciel installé",
|
|
5980
6865
|
"n0842": "autorisation/",
|
|
@@ -6134,7 +7019,7 @@
|
|
|
6134
7019
|
"n0996": "nginx local -t OK ( conf gérée, ≠ edge appliqué)",
|
|
6135
7020
|
"n0997": "wsrep local possible, taille pas nœud",
|
|
6136
7021
|
"n0998": "ysk.json local illisible / empreinte",
|
|
6137
|
-
"n0999": "local OK
|
|
7022
|
+
"n0999": "Le nœud local est OK ; un état de santé complet nécessite une sonde par les pairs (non effectuée).",
|
|
6138
7023
|
"n1000": "nginx local — conf écrite, pas de rechargement",
|
|
6139
7024
|
"n1001": "connexion NM localeDisponible ; réussira. peut \"\" ou NetworkManager.",
|
|
6140
7025
|
"n1002": "ps localDisponible — impossible ()",
|
|
@@ -6210,7 +7095,7 @@
|
|
|
6210
7095
|
"n1070": "Écrit sur le control plane ; non appliqué sur l'hôte",
|
|
6211
7096
|
"n1071": "apt-obtenir",
|
|
6212
7097
|
"n1072": "défi d'authentification",
|
|
6213
|
-
"n1073": "
|
|
7098
|
+
"n1073": "liaison_ip",
|
|
6214
7099
|
"n1074": "dataDir — base de données mise à jour",
|
|
6215
7100
|
"n1075": "domaine vacation.sieve — ignoré par boîte aux lettres",
|
|
6216
7101
|
"n1076": "edge peut apply ( skip/drain)— conf écrite",
|
|
@@ -6730,7 +7615,7 @@
|
|
|
6730
7615
|
"n1590": "",
|
|
6731
7616
|
"n1591": "Pas root — chemins système useradd / systemd / nginx restreints",
|
|
6732
7617
|
"n1592": "sans seccomp nécessite runAsUser",
|
|
6733
|
-
"n1593": "
|
|
7618
|
+
"n1593": "Requêtes publiques / min",
|
|
6734
7619
|
"n1594": "connexion panneau ; Disponible\"\" ( )",
|
|
6735
7620
|
"n1595": "Le panneau ne s'exécute pas en tant que root",
|
|
6736
7621
|
"n1596": "Disponible apply:false",
|
|
@@ -7001,7 +7886,7 @@
|
|
|
7001
7886
|
"t0251": "{{v0}} Installation incomplète",
|
|
7002
7887
|
"t0252": "{{v0}} démarrage du service",
|
|
7003
7888
|
"t0253": "Échec du démarrage : {{v0}}",
|
|
7004
|
-
"t0254": "Prend en charge Node.js
|
|
7889
|
+
"t0254": "Prend en charge Node.js {{v0}} ; versions disponibles : {{v1}}",
|
|
7005
7890
|
"t0255": "Prend en charge PHP version {{v0}} ; Disponible : {{v1}}",
|
|
7006
7891
|
"t0256": "Prend en charge Python version {{v0}} ; Disponible : {{v1}}",
|
|
7007
7892
|
"t0257": "Prend en charge Go version {{v0}} ; Disponible : {{v1}}",
|
|
@@ -7123,12 +8008,12 @@
|
|
|
7123
8008
|
"t0373": "Isolation du projet \"{{v0}}\"",
|
|
7124
8009
|
"t0374": "vers le chemin local {{v0}}",
|
|
7125
8010
|
"t0375": "identité {{v0}} : {{v1}}",
|
|
7126
|
-
"t0376": "
|
|
7127
|
-
"t0377": "échec
|
|
7128
|
-
"t0378": "
|
|
7129
|
-
"t0379": "échec
|
|
7130
|
-
"t0380": "
|
|
7131
|
-
"t0381": "échec
|
|
8011
|
+
"t0376": "sftp (identité) vers {{v0}} réussi",
|
|
8012
|
+
"t0377": "échec sftp (identité) : {{v0}}",
|
|
8013
|
+
"t0378": "sftp vers {{v0}} réussi",
|
|
8014
|
+
"t0379": "échec sftp : {{v0}}",
|
|
8015
|
+
"t0380": "sftp vers {{v0}} réussi",
|
|
8016
|
+
"t0381": "échec sftp : {{v0}} (vous pouvez définir backup remote identityId)",
|
|
7132
8017
|
"t0382": "S3 {{v0}}",
|
|
7133
8018
|
"t0383": "échec S3 : {{v0}}",
|
|
7134
8019
|
"t0384": " : {{v0}}/{{v1}} admin 2FA activée",
|
|
@@ -7136,7 +8021,7 @@
|
|
|
7136
8021
|
"t0386": "{{v0}} CHEMIN",
|
|
7137
8022
|
"t0387": "{{v0}} introuvable",
|
|
7138
8023
|
"t0388": "Installez {{v0}} ou ajoutez-le au PATH",
|
|
7139
|
-
"t0389": "
|
|
8024
|
+
"t0389": "Versions disponibles : {{v0}}",
|
|
7140
8025
|
"t0390": "{{v0}} % ( {{v1}} Mo)",
|
|
7141
8026
|
"t0391": "{{v0}} % ({{v1}})",
|
|
7142
8027
|
"t0392": "démarrage du service {{v0}}",
|
|
@@ -7379,15 +8264,15 @@
|
|
|
7379
8264
|
"t0629": "projet {{v0}} home : {{v1}}",
|
|
7380
8265
|
"t0630": "projet {{v0}} bind_ip={{v1}} — possible ( IP )",
|
|
7381
8266
|
"t0631": "projet {{v0}} home n'est pas un chemin : {{v1}}",
|
|
7382
|
-
"t0632": "
|
|
8267
|
+
"t0632": "Accueil orphelin sur disque (aucun projet de magasin correspondant) : {{v0}}",
|
|
7383
8268
|
"t0633": "Maildir : {{v0}}",
|
|
7384
8269
|
"t0634": "{{v0}} — impossible vers la cible",
|
|
7385
8270
|
"t0635": "sondage impossible {{v0}}",
|
|
7386
8271
|
"t0636": "{{v0}} · {{v1}}",
|
|
7387
8272
|
"t0637": "projet {{v0}} · {{v1}} · DB {{v2}} · Redis {{v3}}",
|
|
7388
|
-
"t0638": "
|
|
8273
|
+
"t0638": "Installer le logiciel {{v0}} · homes {{v1}}",
|
|
7389
8274
|
"t0639": "bascule hôte {{v0}}",
|
|
7390
|
-
"t0640": "
|
|
8275
|
+
"t0640": "{{v0}} avertissement(s) — examen avant le basculement.",
|
|
7391
8276
|
"t0641": "clé {{v0}}",
|
|
7392
8277
|
"t0642": "clé impossible : {{v0}}",
|
|
7393
8278
|
"t0643": "cible : écriture authorized_keys impossible : {{v0}}",
|
|
@@ -7451,7 +8336,7 @@
|
|
|
7451
8336
|
"t0701": "CDN {{v0}}",
|
|
7452
8337
|
"t0702": "nœud origin shield inexistant : {{v0}}",
|
|
7453
8338
|
"t0703": "edges : {{v0}}",
|
|
7454
|
-
"t0704": "URL
|
|
8339
|
+
"t0704": "URL d'origine (depuis la liaison du projet) : {{v0}}",
|
|
7455
8340
|
"t0705": "mise à jour CDN {{v0}}",
|
|
7456
8341
|
"t0706": "création CDN {{v0}}",
|
|
7457
8342
|
"t0707": "origin shield : edge shield {{v0}} → {{v1}}",
|
|
@@ -7547,7 +8432,16 @@
|
|
|
7547
8432
|
"t0797": "échec du fuseau horaire : {{v0}}",
|
|
7548
8433
|
"tScoreFrom": "score={{score}} de={{from}}",
|
|
7549
8434
|
"appliedTag": " (appliqué)",
|
|
7550
|
-
"writtenTag": " (écrit seulement)"
|
|
8435
|
+
"writtenTag": " (écrit seulement)",
|
|
8436
|
+
"selfDestMissing": "Répertoire d'installation en cours introuvable (systemd ExecStart ou cli.js)",
|
|
8437
|
+
"selfDestUnwritable": "Impossible d'écrire dans le répertoire d'installation en cours {{v0}}",
|
|
8438
|
+
"selfApplied": "{{v0}} appliqué sur {{v1}}",
|
|
8439
|
+
"selfVerifyFail": "Le fichier de version ne contient pas {{v0}} après application",
|
|
8440
|
+
"selfDownloadFail": "Impossible de télécharger ou extraire le paquet officiel {{v0}} : {{v1}}",
|
|
8441
|
+
"selfOverlayFail": "Impossible d'appliquer le paquet officiel au répertoire en cours : {{v0}}",
|
|
8442
|
+
"selfUpgradeHint": "Échec de l'application du panneau. En root : curl -fsSL https://raw.githubusercontent.com/yanshekki/ysk-server/main/install.sh | bash -s -- --upgrade",
|
|
8443
|
+
"n1611": "UFW est inactif : {{n}} les règles de refus permanents sont stockées dans user.rules mais le noyau ne les applique pas.",
|
|
8444
|
+
"n1612": "UFW est inactif. Une règle de refus serait écrite uniquement dans user.rules — le noyau ne supprimerait pas de paquets. Activez d’abord UFW. Ne s'active pas automatiquement."
|
|
7551
8445
|
},
|
|
7552
8446
|
"tpl": {
|
|
7553
8447
|
"deleted": "Supprimé {{name}}",
|
|
@@ -7610,7 +8504,7 @@
|
|
|
7610
8504
|
"noParen": "(aucun)",
|
|
7611
8505
|
"keepOldDb": "(ancienne BD conservée)",
|
|
7612
8506
|
"ufwNotDetected": "UFW non détecté sur cet hôte",
|
|
7613
|
-
"fail2banStartHint": "Démarrez-le sur la page
|
|
8507
|
+
"fail2banStartHint": "Démarrez-le sur la page fail2ban",
|
|
7614
8508
|
"hasExecuteNotRoot": "EXECUTE est activé mais le processus n'est pas root",
|
|
7615
8509
|
"notRootTarget": "Pas root (useradd/apt cibles seront bloqués)",
|
|
7616
8510
|
"reapplyDone": "étapes clés de réapplication terminées",
|
|
@@ -7777,7 +8671,10 @@
|
|
|
7777
8671
|
"accessReconnectHint": "Les clients déjà connectés doivent se reconnecter pour prendre de nouveaux itinéraires",
|
|
7778
8672
|
"ovpnNatDurable": "OpenVPN NAT/forward installé pour le redémarrage (systemd ExecStartPost).",
|
|
7779
8673
|
"clientFullTunnelProtect": "Client tunnel complet détecté (AllowedIPs 0.0.0.0/0). Protection de l'hôte appliquée afin que les réponses du panneau/SSH restent sur la carte réseau LAN.",
|
|
7780
|
-
"clientFullTunnelHint": "Astuce : pour un accès partagé uniquement, définissez AllowedIPs sur les CIDR VPN/LAN (et non 0.0.0.0/0) dans la configuration, puis reconnectez-vous."
|
|
8674
|
+
"clientFullTunnelHint": "Astuce : pour un accès partagé uniquement, définissez AllowedIPs sur les CIDR VPN/LAN (et non 0.0.0.0/0) dans la configuration, puis reconnectez-vous.",
|
|
8675
|
+
"serverStopped": "{{engine}} serveur arrêté.",
|
|
8676
|
+
"serverStopFailed": "Impossible d'arrêter le serveur {{engine}} : {{detail}}",
|
|
8677
|
+
"peersSynced": "Peer list reloaded on the running WireGuard interface."
|
|
7781
8678
|
},
|
|
7782
8679
|
"vnc": {
|
|
7783
8680
|
"needInstall": "Installer {{stack}}",
|
|
@@ -7871,7 +8768,12 @@
|
|
|
7871
8768
|
"clientDeleted": "Profil client supprimé",
|
|
7872
8769
|
"sessionStartCwd": "Échec du démarrage de VNC : répertoire de travail non accessible à l'utilisateur de la session (affichage :{{display}}). Corrigé en démarrant depuis HOME.",
|
|
7873
8770
|
"desktopRestarted": "Profil de bureau appliqué et session redémarrée ({{desktop}}). Reconnectez VNC/noVNC.",
|
|
7874
|
-
"desktopNeedsStart": "Profil de bureau {{desktop}} écrit sur xstartup. Démarrez la session pour postuler."
|
|
8771
|
+
"desktopNeedsStart": "Profil de bureau {{desktop}} écrit sur xstartup. Démarrez la session pour postuler.",
|
|
8772
|
+
"passwordNeedTiger": "vncpasswd introuvable. Installez TigerVNC (tigervnc-standalone-server) avant de définir un mot de passe.",
|
|
8773
|
+
"linuxUserRolledBack": "Suppression de l'utilisateur Linux restant {{user}} après l'échec du mot de passe VNC.",
|
|
8774
|
+
"linuxUserOrphan": "Impossible de supprimer l'utilisateur Linux restant {{user}} après l'échec du mot de passe VNC.",
|
|
8775
|
+
"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.",
|
|
8776
|
+
"userdelLeftover": "Panel account removed, but Linux user {{user}} is still on the host. Remove it from Users or the host."
|
|
7875
8777
|
},
|
|
7876
8778
|
"apache": {
|
|
7877
8779
|
"needServerName": "Nom du serveur requis",
|
|
@@ -7921,7 +8823,102 @@
|
|
|
7921
8823
|
"startedDetached": "Le travailleur détaché du tracker BT a démarré (pid {{pid}}, port {{port}})",
|
|
7922
8824
|
"runningDetached": "Tracker exécuté en tant que travailleur détaché (pid {{pid}})",
|
|
7923
8825
|
"jobQueued": "Création de torrent BT en file d'attente (partage important)",
|
|
7924
|
-
"jobRunning": "Création de torrent BT en cours d'exécution"
|
|
8826
|
+
"jobRunning": "Création de torrent BT en cours d'exécution",
|
|
8827
|
+
"libraryAdded": "Ajout de {{name}} à la bibliothèque WebTorrent",
|
|
8828
|
+
"libraryInspectFailed": "Impossible de lire ce .torrent ou cet aimant",
|
|
8829
|
+
"libraryDup": "Ce torrent est déjà dans la bibliothèque",
|
|
8830
|
+
"libraryDestBad": "Le dossier de sauvegarde n'est pas un chemin de fichiers valide",
|
|
8831
|
+
"libraryTorrentTooBig": "Le fichier .torrent fait plus de 8 Mo",
|
|
8832
|
+
"libraryNotFound": "Élément de bibliothèque introuvable",
|
|
8833
|
+
"libraryPaused": "En pause",
|
|
8834
|
+
"libraryResumed": "Reprise",
|
|
8835
|
+
"libraryRemoved": "Supprimé de la bibliothèque",
|
|
8836
|
+
"libraryFilesRemoved": "Fichiers téléchargés supprimés",
|
|
8837
|
+
"libraryRestoreDone": "Restauration de la bibliothèque : démarrée {{started}}/{{attempted}} (échec {{failed}})",
|
|
8838
|
+
"applyTrackersDone": "Application de trackers supplémentaires aux {{n}} emplacements d'annonce en direct",
|
|
8839
|
+
"libraryNeedServe": "Enregistré. Ouvrez le panneau (serveur ysk-server) pour que WebTorrent puisse télécharger ou démarrer.",
|
|
8840
|
+
"libraryDestIsFile": "Impossible de créer un dossier nommé {{name}} — un fichier portant ce nom existe déjà.",
|
|
8841
|
+
"librarySeedMissing": "Aucun fichier correspondant à créer dans ce dossier.",
|
|
8842
|
+
"libraryWaitingPeers": "En attente de pairs. Si les fichiers sont déjà sur cet hôte, ajoutez-les à nouveau et choisissez seed-existant."
|
|
8843
|
+
},
|
|
8844
|
+
"leftover": {
|
|
8845
|
+
"staleCliTitle": "CLI restante périmée",
|
|
8846
|
+
"staleCli": "CLI restante toujours présente : {{path}} (produit en cours d'exécution {{version}}). PATH peut le préférer. Supprimer avec : rm -f {{path}}",
|
|
8847
|
+
"apacheDefaultTitle": "Site par défaut restant d'Apache",
|
|
8848
|
+
"apacheDefault": "Apache 000 par défaut est toujours activé. Il s'agit du fichier stock du site — cela ne signifie pas qu'Apache écoute sur public :80 (YSK Apache est attendu sur 127.0.0.1:8080). La superposition ne le désactive pas. Appliquez Apache à partir du panneau ou de l'hébergement Apache apply --execute.",
|
|
8849
|
+
"nginxCatchAllTitle": "Nginx fourre-tout manquant",
|
|
8850
|
+
"nginxCatchAll": "ysk-000-default.conf n'est pas dans /etc/nginx/conf.d. Un SNI inconnu peut échouer. Exécutez les projets nginx-sync --execute.",
|
|
8851
|
+
"vsftpdTitle": "L'unité vsftpd a échoué",
|
|
8852
|
+
"vsftpd": "vsftpd a échoué. La superposition ne réécrit pas Listen/listen_ipv6. Appliquez FTP à partir du panneau.",
|
|
8853
|
+
"dovecotTitle": "Dovecot TLS indique un certificat manquant",
|
|
8854
|
+
"dovecot": "Dovecot ssl_cert indique qu'il manque {{path}}. La superposition ne réécrit pas ssl=no. Appliquez le courrier TLS après avoir émis le certificat ou appliquez la pile de courrier électronique.",
|
|
8855
|
+
"overlayDoesNotHeal": "La superposition de produits ne réécrit pas nginx, Apache, vsftpd ou Dovecot. Utilisez les commandes d'application répertoriées (root + YSK_EXECUTE=1).",
|
|
8856
|
+
"readinessTitle": "Restes d’hôte après superposition",
|
|
8857
|
+
"readinessClean": "Aucun défaut Apache restant, nginx fourre-tout manquant, échec de vsftpd ou CLI obsolète détecté.",
|
|
8858
|
+
"staleCliRemoved": "CLI résiduel {{path}} supprimé.",
|
|
8859
|
+
"staleCliRemoveFailed": "Impossible de supprimer le CLI résiduel {{path}} : {{detail}}",
|
|
8860
|
+
"vsftpdSslOff": "Certificat FTPS manquant : ssl_enable=NO sur vsftpd, puis redémarrage.",
|
|
8861
|
+
"dovecotSslOff": "{{path}} manquant : Dovecot en ssl=no, puis redémarrage."
|
|
8862
|
+
},
|
|
8863
|
+
"git": {
|
|
8864
|
+
"missingBin": "git n'est pas sur PATH",
|
|
8865
|
+
"auth": "L'authentification a échoué. Ajoutez une clé de déploiement ou un jeton HTTPS.",
|
|
8866
|
+
"hostkey": "La vérification de la clé de l'hôte SSH a échoué. Confirmez et épinglez la clé hôte.",
|
|
8867
|
+
"dirty": "L'arbre de travail a {{count}} changement(s) local(s). La traction est bloquée.",
|
|
8868
|
+
"diverged": "Impossible d'avancer rapidement. Réinitialisez la référence distante si vous avez l’intention de supprimer l’historique Git local.",
|
|
8869
|
+
"missingRef": "Cette branche, cette balise ou ce commit ne se trouve pas sur la télécommande.",
|
|
8870
|
+
"shallow": "Ce clone est peu profond. Récupérez l’historique complet avant d’épingler un ancien commit.",
|
|
8871
|
+
"notRepo": "app/ n'est pas encore un référentiel Git.",
|
|
8872
|
+
"unrelated": "Des histoires sans rapport. Reclonez uniquement après confirmation - les fichiers personnalisés seront perdus.",
|
|
8873
|
+
"lock": "Git index.lock est présent. Supprimez-le uniquement si aucun processus git n'est en cours d'exécution.",
|
|
8874
|
+
"disk": "Disque plein ou quota dépassé.",
|
|
8875
|
+
"timeout": "Git a expiré.",
|
|
8876
|
+
"network": "Erreur réseau lors de la conversation avec la télécommande.",
|
|
8877
|
+
"lfs": "Ce dépôt utilise Git LFS et git-lfs n'est pas disponible.",
|
|
8878
|
+
"submodule": "La mise à jour du sous-module a échoué.",
|
|
8879
|
+
"unknown": "Git a échoué. Voir le résultat de la commande.",
|
|
8880
|
+
"fetchOk": "Récupéré de l'origine.",
|
|
8881
|
+
"checkoutOk": "J'ai vérifié {{ref}}.",
|
|
8882
|
+
"resetOk": "Réinitialisez difficilement à {{ref}}.",
|
|
8883
|
+
"envRestored": "App/.env restauré à partir du plan de contrôle.",
|
|
8884
|
+
"needPinHost": "La clé d'hôte SSH n'est pas épinglée. Scannez-le et épinglez-le avant de le cloner ou de le récupérer.",
|
|
8885
|
+
"tokenSaved": "Jeton HTTPS stocké (plus jamais affiché).",
|
|
8886
|
+
"tokenCleared": "Jeton HTTPS supprimé.",
|
|
8887
|
+
"tokenInvalid": "Le jeton doit comporter au moins 8 caractères.",
|
|
8888
|
+
"deployKeyCreated": "Clé de déploiement créée. Ajoutez la clé publique sur l'hôte Git.",
|
|
8889
|
+
"deployKeyCleared": "Clé de déploiement détachée de ce projet.",
|
|
8890
|
+
"hostPinned": "Clés d'hôte SSH épinglées pour {{host}}.",
|
|
8891
|
+
"hostUnpinned": "Clés d'hôte SSH épinglées effacées.",
|
|
8892
|
+
"hostScanFailed": "ssh-keyscan n'a renvoyé aucune clé pour cet hôte.",
|
|
8893
|
+
"hookEnabled": "Le hook Git entrant est activé. Collez vous-même l'URL dans GitHub, Gitea ou GitLab.",
|
|
8894
|
+
"hookDisabled": "Le hook Git entrant est désactivé. L'URL ne sera pas synchronisée.",
|
|
8895
|
+
"hookSecretOnce": "Copiez ce secret de hook maintenant. Il n'est plus affiché.",
|
|
8896
|
+
"refsNeedUrl": "Entrez d'abord une URL Git.",
|
|
8897
|
+
"refsOk": "Chargé {{branches}} branche(s) et {{tags}} balise(s).",
|
|
8898
|
+
"refsEmpty": "La télécommande n'a annoncé aucune branche ni balise.",
|
|
8899
|
+
"diffEmpty": "Aucune différence non mise en scène (le fichier .env protégé est exclu)."
|
|
8900
|
+
},
|
|
8901
|
+
"migrate": {
|
|
8902
|
+
"orphanConfirm": "Tapez le chemin d’accès exact restant pour confirmer la suppression.",
|
|
8903
|
+
"orphanStillInStore": "Cette maison fait toujours partie d'un projet du magasin.",
|
|
8904
|
+
"orphanMissing": "Chemin pas sur le disque : {{path}}",
|
|
8905
|
+
"orphanNeedExecute": "Supprimerait les restes {{path}}. Nécessite YSK_EXECUTE=1.",
|
|
8906
|
+
"orphanRmFailed": "Impossible de supprimer la maison restante : {{detail}}",
|
|
8907
|
+
"orphanRemoved": "Suppression de la maison de projet restante {{path}}."
|
|
8908
|
+
},
|
|
8909
|
+
"defense": {
|
|
8910
|
+
"panelReqLabel": "Demandes de panel / min",
|
|
8911
|
+
"panelReqExcluded": "Trafic du panneau authentifié : affiché ici, non pris en compte dans le score de menace",
|
|
8912
|
+
"tcpOk": "TCP {{target}} accessible",
|
|
8913
|
+
"tcpFail": "TCP {{target}} a échoué",
|
|
8914
|
+
"dnsDegraded": "Chemin DNS dégradé",
|
|
8915
|
+
"reqRateHigh": "Taux de requêtes publiques {{reqs}}/min ≥ {{threshold}}",
|
|
8916
|
+
"ddosHeuristic": "Taux de requêtes publiques élevé et échec de la sonde de périphérie"
|
|
8917
|
+
},
|
|
8918
|
+
"publicFiles": {
|
|
8919
|
+
"liveConf": "Conf Nginx en service : {{path}}",
|
|
8920
|
+
"publicRoot": "Racine publique : {{path}}",
|
|
8921
|
+
"confNameStale": "Le fichier {{file}} ne correspond pas au server_name actuel {{serverName}}. Réappliquez les fichiers publics pour le renommer."
|
|
7925
8922
|
}
|
|
7926
8923
|
},
|
|
7927
8924
|
"ops": {
|
|
@@ -8123,7 +9120,12 @@
|
|
|
8123
9120
|
"httpStatus": "HTTP",
|
|
8124
9121
|
"latency": "Latence",
|
|
8125
9122
|
"error": "Erreur",
|
|
8126
|
-
"at": "Vérifié le"
|
|
9123
|
+
"at": "Vérifié le",
|
|
9124
|
+
"deployMode": "Deploy mode",
|
|
9125
|
+
"edgeKind": "Edge",
|
|
9126
|
+
"goLiveOk": "Go-live",
|
|
9127
|
+
"goLiveAt": "Go-live at",
|
|
9128
|
+
"degraded": "Degraded"
|
|
8127
9129
|
},
|
|
8128
9130
|
"railPhp": "PHP/site",
|
|
8129
9131
|
"railStatic": "Site statique",
|
|
@@ -8554,14 +9556,14 @@
|
|
|
8554
9556
|
"railNode": "Processus Node",
|
|
8555
9557
|
"runtimeName": {
|
|
8556
9558
|
"php": "PHP",
|
|
8557
|
-
"node": "
|
|
9559
|
+
"node": "Noeud.js",
|
|
8558
9560
|
"static": "Statique",
|
|
8559
9561
|
"python": "Python",
|
|
8560
|
-
"go": "
|
|
8561
|
-
"rust": "
|
|
9562
|
+
"go": "Aller",
|
|
9563
|
+
"rust": "Rouiller",
|
|
8562
9564
|
"java": "Java",
|
|
8563
9565
|
"kotlin": "Kotlin",
|
|
8564
|
-
"bun": "
|
|
9566
|
+
"bun": "Chignon"
|
|
8565
9567
|
},
|
|
8566
9568
|
"netCacheTitle": "Cache",
|
|
8567
9569
|
"logsDeepAccess": "Centre de logs · accès",
|
|
@@ -8598,16 +9600,132 @@
|
|
|
8598
9600
|
"netPublishMaint": "Entretien",
|
|
8599
9601
|
"sslNeedDomain": "Définissez un domaine avant de publier Nginx / SSL.",
|
|
8600
9602
|
"createTemplateMissing": "{{v0}} ;「— —」。",
|
|
8601
|
-
"deleteDialogDesc": "「{{
|
|
9603
|
+
"deleteDialogDesc": "「{{name}}」。。",
|
|
8602
9604
|
"deleteWillStop": "systèmed / PM2 /",
|
|
8603
9605
|
"deleteWillWeb": "Configuration Nginx、Pool PHP-FPM、Apache vhost()",
|
|
8604
9606
|
"deleteWillOs": "LinuxMaison()",
|
|
8605
9607
|
"deleteKeepOs": "AccueilLinux()",
|
|
8606
9608
|
"deleteWillDb": "…",
|
|
8607
9609
|
"deleteRemoveFilesDesc": "Annuler,",
|
|
8608
|
-
"deleteTypeNameHint": "「{{
|
|
9610
|
+
"deleteTypeNameHint": "「{{name}}」",
|
|
8609
9611
|
"deleteDnsWarn": "Zone DNS / domaine 。",
|
|
8610
|
-
"manageInNginx": "Gérer dans Nginx"
|
|
9612
|
+
"manageInNginx": "Gérer dans Nginx",
|
|
9613
|
+
"advFtpHomeApp": "Répertoire app du site",
|
|
9614
|
+
"advFtpHomeRoot": "Répertoire racine du projet",
|
|
9615
|
+
"advFtpManage": "Ouvrir la page FTP",
|
|
9616
|
+
"listDesc": "Gérer les sites sur cet hôte.",
|
|
9617
|
+
"resShell": "Coquille de connexion",
|
|
9618
|
+
"resSaveHint": "Enregistrez et appliquez les modifications au système d'exploitation en direct. Le plan de contrôle stocke uniquement le formulaire. Réappliquer utilise les dernières valeurs enregistrées.",
|
|
9619
|
+
"resBashConfirmTitle": "Autoriser les bash interactifs ?",
|
|
9620
|
+
"resBashConfirmDesc": "Cela accorde un shell de connexion interactif à l’utilisateur du projet. Confirmez uniquement si vous avez besoin de SSH ou PTY en tant qu'utilisateur.",
|
|
9621
|
+
"noPathSepHint": "Le nom ne peut pas contenir / ou \\.",
|
|
9622
|
+
"createGitHint": "Facultatif. Stocké sur le projet ; cloner à partir de l'onglet Déployer (ne clone pas lors de la création).",
|
|
9623
|
+
"gitBranch": "Bifurquer",
|
|
9624
|
+
"gitBranchHint": "Branch or tag. Empty uses the remote default. First clone is shallow (depth 1).",
|
|
9625
|
+
"gitLastRef": "Dernière synchronisation : {{branch}} @ {{commit}}",
|
|
9626
|
+
"gitConfirmTitle": "Cloner dans ce projet ?",
|
|
9627
|
+
"gitConfirmBody": "Si app/ est toujours l'espace réservé Hello World, il sera effacé, puis cloné. Les fichiers personnalisés qui ne sont pas un échafaudage YSK sont refusés.",
|
|
9628
|
+
"runtimeActual": "Binaire réel {{path}}",
|
|
9629
|
+
"gitConfirmRemoteBody": "Cela pointe l'origine vers la nouvelle URL et extrait. Des histoires sans rapport échouent ; les fichiers personnalisés ne sont pas effacés.",
|
|
9630
|
+
"runtimeFallback": "L'option {{version}} choisie n'est pas sur cet hôte. Le processus utilise {{path}}.",
|
|
9631
|
+
"gitSync": "Synchroniser",
|
|
9632
|
+
"gitFetch": "Aller chercher",
|
|
9633
|
+
"gitCheckout": "Vérifier",
|
|
9634
|
+
"gitReset": "Réinitialiser à distance",
|
|
9635
|
+
"gitDeepen": "Récupérer l'historique complet",
|
|
9636
|
+
"gitLogTitle": "Commis récents",
|
|
9637
|
+
"gitDirtyTitle": "Les modifications locales bloquent l'extraction",
|
|
9638
|
+
"gitDirtyBody": "{{count}} le(s) fichier(s) diffèrent de Git (modifications de fichiers ou application). Jetez-les ou abandonnez.",
|
|
9639
|
+
"gitDiscard": "Supprimer les fichiers locaux",
|
|
9640
|
+
"gitOpenFiles": "Ouvrir dans les fichiers",
|
|
9641
|
+
"gitNotCloned": "Non cloné",
|
|
9642
|
+
"gitClean": "Faire le ménage",
|
|
9643
|
+
"gitDirty": "Sale",
|
|
9644
|
+
"gitBehind": "Derrière {{count}}",
|
|
9645
|
+
"gitAhead": "En avant {{count}}",
|
|
9646
|
+
"gitDetached": "Épinglé",
|
|
9647
|
+
"gitShallow": "Peu profond",
|
|
9648
|
+
"gitMissing": "git manquant",
|
|
9649
|
+
"gitResetConfirmTitle": "Réinitialisation difficile à distance ?",
|
|
9650
|
+
"gitResetConfirmBody": "Cela supprime l'historique Git local et les fichiers non suivis, à l'exception de .env, puis restaure .env à partir du plan de contrôle.",
|
|
9651
|
+
"gitHeads": "Succursales distantes",
|
|
9652
|
+
"gitToken": "Jeton HTTPS",
|
|
9653
|
+
"gitTokenHint": "Personal access token. Stored encrypted; never written into the remote URL.",
|
|
9654
|
+
"gitTokenPlaceholder": "ghp_… ou glpat-…",
|
|
9655
|
+
"gitTokenSet": "Ensemble de jetons",
|
|
9656
|
+
"gitSaveToken": "Enregistrer le jeton",
|
|
9657
|
+
"gitClearToken": "Effacer le jeton",
|
|
9658
|
+
"gitDeployKey": "Déployer la clé publique",
|
|
9659
|
+
"gitDeployKeyHint": "Ajoutez-le en tant que clé de déploiement en lecture seule sur l'hôte Git.",
|
|
9660
|
+
"gitDeployKeyOn": "Clé de déploiement",
|
|
9661
|
+
"gitMakeKey": "Créer une clé de déploiement",
|
|
9662
|
+
"gitCopyPub": "Copier la clé publique",
|
|
9663
|
+
"gitClearKey": "Effacer la clé de déploiement",
|
|
9664
|
+
"gitKeyCopied": "Clé publique copiée",
|
|
9665
|
+
"gitPinHost": "Épingler la clé de l'hôte",
|
|
9666
|
+
"gitPinHostBody": "{{host}} n'est pas épinglé. Confirmez les empreintes digitales, puis épinglez avant le clonage SSH.",
|
|
9667
|
+
"gitHostUnpinned": "Clé d'hôte non épinglée",
|
|
9668
|
+
"gitHookTitle": "Inbound hook",
|
|
9669
|
+
"gitHookHint": "Paste POST /api/v1/hooks/git/<id> into GitHub / Gitea / GitLab yourself (push events). Not Slack. Secret is HMAC or X-YSK-Git-Hook.",
|
|
9670
|
+
"gitHookOn": "Hook on",
|
|
9671
|
+
"gitHookOff": "Hook off",
|
|
9672
|
+
"gitHookEnable": "Enable hook",
|
|
9673
|
+
"gitHookRotate": "Rotation secrète",
|
|
9674
|
+
"gitHookDisable": "Disable hook",
|
|
9675
|
+
"gitHookSecretOnce": "Copy this secret now — it is not stored in the page after you leave.",
|
|
9676
|
+
"gitHookCopyUrl": "Copy URL",
|
|
9677
|
+
"gitHookCopySecret": "Copier le secret",
|
|
9678
|
+
"gitHookCopied": "Copié",
|
|
9679
|
+
"gitHookSetup": "Add the webhook yourself. Payload URL = the URL above. Content type application/json. Events: push only. Secret = the one-time value.",
|
|
9680
|
+
"gitHookGithub": "GitHub: Settings → Webhooks → Add webhook. Content type application/json. Events: Just the push event. GitHub.com requires HTTPS.",
|
|
9681
|
+
"gitHookGitea": "Gitea: Settings → Webhooks → Add Webhook → Gitea. HTTP Method POST. Push events.",
|
|
9682
|
+
"gitHookGitlab": "GitLab: Settings → Webhooks. Trigger: Push events. Secret token = the hook secret (sent as X-Gitlab-Token).",
|
|
9683
|
+
"gitHookHonesty": "The host unit must have YSK_EXECUTE=1. Without it the hook answers but does not clone or deploy.",
|
|
9684
|
+
"gitHookSkipOther": "Pushes to other branches are ignored. Only the project ref syncs.",
|
|
9685
|
+
"gitAuthHttps": "Jeton HTTPS",
|
|
9686
|
+
"gitAuthSsh": "Clé de déploiement SSH",
|
|
9687
|
+
"gitLoadRefs": "Charger les branches",
|
|
9688
|
+
"gitRefDefault": "Valeur par défaut à distance",
|
|
9689
|
+
"gitRefBranches": "Succursales",
|
|
9690
|
+
"gitRefTags": "Balises",
|
|
9691
|
+
"gitRefOther": "Autre réf…",
|
|
9692
|
+
"gitRefCustom": "Commit ou ref",
|
|
9693
|
+
"gitRefsNeedUrl": "Entrez d'abord une URL.",
|
|
9694
|
+
"gitRefsNeedAuth": "Enregistrez un jeton ou déployez une clé, puis chargez des branches.",
|
|
9695
|
+
"gitRefsHint": "Chargé depuis la télécommande. Choisissez-en un – ne tapez pas.",
|
|
9696
|
+
"gitHookSetupToggle": "Comment coller ça",
|
|
9697
|
+
"gitHookOneLiner": "HMAC ou X-YSK-Git-Hook. Seule la réf. de ce projet.",
|
|
9698
|
+
"gitHookExecuteHint": "Nécessite YSK_EXECUTE=1 pour cloner ou déployer.",
|
|
9699
|
+
"gitShowKey": "Afficher la clé",
|
|
9700
|
+
"gitHideKey": "Cacher",
|
|
9701
|
+
"gitBehindShort": "↓{{count}}",
|
|
9702
|
+
"gitAheadShort": "↑{{count}}",
|
|
9703
|
+
"gitDirtyShort": "Sale · {{count}}",
|
|
9704
|
+
"gitFilesLink": "Fichiers",
|
|
9705
|
+
"gitTokenLaterHint": "Le jeton HTTPS et la profondeur de clonage sont définis dans l'onglet Déploiement du projet après la création.",
|
|
9706
|
+
"netForceHttpsOn": "HTTP sera redirigé vers HTTPS après la publication du Edge.",
|
|
9707
|
+
"netForceHttpsOff": "Aucune redirection forcée n'est stockée.",
|
|
9708
|
+
"netHttpsLiveNotForced": "Un fichier Edge existe ; HTTPS peut déjà fonctionner. Cette case force uniquement HTTP → HTTPS.",
|
|
9709
|
+
"gitSyncBlockedDirty": "La synchronisation est désactivée jusqu'à ce que les modifications locales soient ignorées (réinitialisation) ou que les fichiers correspondent à Git.",
|
|
9710
|
+
"gitViewDiff": "Voir la différence",
|
|
9711
|
+
"gitBranchAfterUrl": "Saisissez d’abord l’URL Git. Vide = branche par défaut du distant.",
|
|
9712
|
+
"gitResetNeedConfirm": "Confirmation requise — abandonne les commits locaux",
|
|
9713
|
+
"openUrlNeedDomain": "Définissez d’abord un domaine – n’ouvrez pas 127.0.0.1 dans votre navigateur",
|
|
9714
|
+
"needOsUser": "Créez d'abord l'utilisateur système dans l'onglet Isolation.",
|
|
9715
|
+
"stopTitle": "Arrêter ce projet (unité systemd et site public)",
|
|
9716
|
+
"deployTitle": "Déployer ce projet",
|
|
9717
|
+
"httpStatsHint": "À partir du journal d'accès de ce projet (dernier échantillon)",
|
|
9718
|
+
"httpStatsNone": "Aucun journal d'accès au projet pour l'instant",
|
|
9719
|
+
"statStoppedOnly": "Arrêté",
|
|
9720
|
+
"statReadyOnly": "Prêt",
|
|
9721
|
+
"netBoundCert": "Certificat lié",
|
|
9722
|
+
"netBoundCertExpiry": "expire {{at}}",
|
|
9723
|
+
"netNoBoundCert": "Aucun certificat sur disque pour ce nom d’hôte",
|
|
9724
|
+
"netForceHttpsNeedCert": "Émettez un certificat sur /ssl pour ce domaine avant de forcer HTTPS.",
|
|
9725
|
+
"goIsolation": "Open Isolation tab",
|
|
9726
|
+
"netHstsNeedHttps": "Turn on force HTTPS first",
|
|
9727
|
+
"homeMissing": "Home directory does not exist",
|
|
9728
|
+
"homeMissingHint": "Same live probe as migrate inventory — create the system user on Isolation"
|
|
8611
9729
|
},
|
|
8612
9730
|
"protection": {
|
|
8613
9731
|
"levels": {
|
|
@@ -8641,7 +9759,9 @@
|
|
|
8641
9759
|
"note": {
|
|
8642
9760
|
"notApplied": "Non appliqué sur l'hôte (nécessite root + YSK_EXECUTE=1) — enregistré dans les paramètres du panneau",
|
|
8643
9761
|
"nginxWritten": "Fichier panneau de limitation de débit Nginx écrit",
|
|
8644
|
-
"f2bWritten": "Paramètres panneau fail2ban écrits"
|
|
9762
|
+
"f2bWritten": "Paramètres panneau fail2ban écrits",
|
|
9763
|
+
"hintDropped": "Internal protection hint omitted",
|
|
9764
|
+
"nginxLimits": "Will write Nginx rate-limit snippet"
|
|
8645
9765
|
},
|
|
8646
9766
|
"rel": {
|
|
8647
9767
|
"justNow": "À l'instant",
|
|
@@ -8955,7 +10075,67 @@
|
|
|
8955
10075
|
"plusRegion": "+ région {{v}}",
|
|
8956
10076
|
"plusCity": "+ ville {{v}}",
|
|
8957
10077
|
"lastTickPrefix": "· dernier {{t}}",
|
|
8958
|
-
"nextTickPrefix": "· prochain {{t}}"
|
|
10078
|
+
"nextTickPrefix": "· prochain {{t}}",
|
|
10079
|
+
"stackApply": "Appliquer la pile de protection (UFW, fail2ban, preset)",
|
|
10080
|
+
"stackApplyDone": "Application de la pile de protection demandée",
|
|
10081
|
+
"stackApplyHint": "Cela active UFW et applique fail2ban ainsi que le préréglage suggéré. Confirmez que vous ne vous bloquerez pas hors d'un panneau distant.",
|
|
10082
|
+
"cannotBanSelf": "Impossible d’interdire {{ip}} — c’est l’hôte, votre IP de connexion ou ignoreip",
|
|
10083
|
+
"selfIp": "Cet hôte",
|
|
10084
|
+
"selfHostIp": "IP de l'hôte",
|
|
10085
|
+
"selfLoginIp": "Votre IP de connexion",
|
|
10086
|
+
"showZeroScore": "Afficher le score 0",
|
|
10087
|
+
"hideZeroScore": "Masquer le score 0",
|
|
10088
|
+
"freshnessNa": "n / A",
|
|
10089
|
+
"geoDraftOnly": "Politique désactivée — Enregistrer n’écrit qu’un brouillon. Nginx n’applique rien tant qu’elle n’est pas activée.",
|
|
10090
|
+
"selectAllCountriesWarn": "Tout sélectionner en liste de blocage ? Cela peut bloquer cet hôte et votre pays de connexion.",
|
|
10091
|
+
"badgeRecommendPreset": "Un préréglage plus fort est recommandé pour la menace actuelle",
|
|
10092
|
+
"badgeAutomationOn": "L’automatisation est activée",
|
|
10093
|
+
"badgeBanCount": "Interdictions actives",
|
|
10094
|
+
"badgeGeoOn": "La politique d’accès Geo est activée",
|
|
10095
|
+
"badgeGeoNotReady": "La base GeoIP n’est pas prête",
|
|
10096
|
+
"badgeIntelSignals": "Signaux qui ajoutent au score actuellement",
|
|
10097
|
+
"signalActive": "Actif",
|
|
10098
|
+
"signalInactive": "Inactif",
|
|
10099
|
+
"signalJails": "{{n}} prison(s)",
|
|
10100
|
+
"dbReadyHint": "Fichiers MMDB présents",
|
|
10101
|
+
"dbNotReadyHint": "Téléchargez d’abord une base GeoIP",
|
|
10102
|
+
"staleHint": "Si la dernière mise à jour réussie a plus de 7 jours",
|
|
10103
|
+
"statSuspects": "IP suspectes",
|
|
10104
|
+
"scoreBasisHint": "Le score de menace utilise le pare-feu, le volume d'interdiction fail2ban et les signaux de taux de requêtes – ce qui n'est pas le même nombre que la liste des suspects Intel.",
|
|
10105
|
+
"geoNeedDb": "Les bases de données GeoIP sont manquantes : mettez d'abord à jour les fichiers MMDB",
|
|
10106
|
+
"colHits": "Requêtes",
|
|
10107
|
+
"col429": "429",
|
|
10108
|
+
"topIpsTitle": "IP en tête",
|
|
10109
|
+
"hitsCount": "{{n}} requêtes",
|
|
10110
|
+
"sampleWindowHint": "Les comptes viennent de la fenêtre d’échantillons access + auth actuelle, pas du fichier journal complet.",
|
|
10111
|
+
"statSuspectsSplit": "{{actionable}} actionable / {{total}} listed",
|
|
10112
|
+
"suspectActionableCount": "Actionable IPs {{count}}",
|
|
10113
|
+
"uaNeedZones": "Set a Cloudflare zone first",
|
|
10114
|
+
"banConfirmTitle": "Ban {{ip}}?",
|
|
10115
|
+
"banConfirmDesc": "This IP will be blocked on the host. Confirm it is not a current panel or session address.",
|
|
10116
|
+
"ufwOff": "UFW (off)",
|
|
10117
|
+
"ufwOffHint": "UFW is not active — fail2ban is the usable target.",
|
|
10118
|
+
"whitelistSyncHint": "{{n}} panel entries · fail2ban ignoreip sync: {{sync}}",
|
|
10119
|
+
"whitelistSyncOn": "on",
|
|
10120
|
+
"whitelistSyncOff": "off (lists may differ)",
|
|
10121
|
+
"draftBadge": "Draft",
|
|
10122
|
+
"banIsSelf": "This IP matches the current panel source or this host.",
|
|
10123
|
+
"banNotSelf": "This IP is not the current panel source.",
|
|
10124
|
+
"geoSourceLocal": "Local GeoIP library (sapics + DB-IP)",
|
|
10125
|
+
"nginxPreviewHint": "Nginx snippet this preset would write (preview only):",
|
|
10126
|
+
"modeValue": {
|
|
10127
|
+
"normal": "Normal",
|
|
10128
|
+
"degraded": "Degraded",
|
|
10129
|
+
"ddos-protection": "DDoS protection",
|
|
10130
|
+
"offline": "Offline"
|
|
10131
|
+
},
|
|
10132
|
+
"wlRemovedUndo": "Removed {{ip}} from the allow list. Undo within 5 seconds.",
|
|
10133
|
+
"undo": "Undo",
|
|
10134
|
+
"banSelectedConfirmTitle": "Ban {{count}} selected IPs?",
|
|
10135
|
+
"banSelectedConfirmDesc": "These addresses will be blocked on the host: {{ips}}",
|
|
10136
|
+
"freshnessMissing": "No database",
|
|
10137
|
+
"freshnessStale": "Stale",
|
|
10138
|
+
"freshnessFresh": "Current"
|
|
8959
10139
|
},
|
|
8960
10140
|
"publicFiles": {
|
|
8961
10141
|
"notSet": "Non défini",
|
|
@@ -8987,7 +10167,20 @@
|
|
|
8987
10167
|
"diskRoot": "Racine disque",
|
|
8988
10168
|
"filesInRoot": "Entrées",
|
|
8989
10169
|
"managedConf": "Conf gérée",
|
|
8990
|
-
"systemConf": "conf.d système"
|
|
10170
|
+
"systemConf": "conf.d système",
|
|
10171
|
+
"notes": {
|
|
10172
|
+
"noManagedConf": "Aucune configuration Nginx gérée pour l'instant : cliquez sur Appliquer",
|
|
10173
|
+
"notSynced": "La configuration gérée existe mais ne se trouve pas sous /etc/nginx/conf.d — appliquez-la à nouveau en tant que root avec YSK_EXECUTE"
|
|
10174
|
+
},
|
|
10175
|
+
"autoindex": "Liste des répertoires (indexation automatique)",
|
|
10176
|
+
"liveSystemConf": "Conf système active : {{path}}",
|
|
10177
|
+
"publicRootNote": "Racine publique : {{path}}",
|
|
10178
|
+
"applyConfirmTitle": "Appliquer le site des fichiers publics ?",
|
|
10179
|
+
"applyConfirmDesc": "Écrire Nginx server_name {{name}} et recharger Nginx.",
|
|
10180
|
+
"serverNameMismatch": "La conf active est {{live}} ; le formulaire a {{draft}}. Appliquez pour remplacer.",
|
|
10181
|
+
"executeFlag": "Execute",
|
|
10182
|
+
"asRoot": "Root",
|
|
10183
|
+
"statusDraft": "Draft / not applied"
|
|
8991
10184
|
},
|
|
8992
10185
|
"rbac": {
|
|
8993
10186
|
"permissions": "Autorisations",
|
|
@@ -9071,7 +10264,13 @@
|
|
|
9071
10264
|
"auditExport": "Export d'audit",
|
|
9072
10265
|
"securityApiKeysAdmin": "Administration des clés API",
|
|
9073
10266
|
"networkBrowse": "Navigation Web via l'hôte",
|
|
9074
|
-
"networkVnc": "Bureau à distance VNC"
|
|
10267
|
+
"networkVnc": "Bureau à distance VNC",
|
|
10268
|
+
"validatorsRead": "Validateurs (lecture)",
|
|
10269
|
+
"validatorsManage": "Validateurs gérer",
|
|
10270
|
+
"validatorsWipe": "Validateurs effacer les données",
|
|
10271
|
+
"dockerRead": "Docker (lecture)",
|
|
10272
|
+
"dockerManage": "Docker gérer",
|
|
10273
|
+
"dockerWipe": "Docker supprimer / nettoyer"
|
|
9075
10274
|
},
|
|
9076
10275
|
"aboutRoles": "Rôles (valeurs d'usine)",
|
|
9077
10276
|
"aboutRolesBody": "Les rôles définissent les capacités par défaut ; les utilisateurs peuvent en remplacer certaines individuellement.",
|
|
@@ -9087,7 +10286,14 @@
|
|
|
9087
10286
|
"capabilitiesHint": "Activer/désactiver ce que ce rôle peut faire",
|
|
9088
10287
|
"enabledCount": "{{enabled}} sur {{total}} activées",
|
|
9089
10288
|
"bandAboveMax": "Au-dessus du niveau max",
|
|
9090
|
-
"dirtyHint": "Personnalisé (diffère de l'usine)"
|
|
10289
|
+
"dirtyHint": "Personnalisé (diffère de l'usine)",
|
|
10290
|
+
"unsaved": "Non enregistré",
|
|
10291
|
+
"unsavedHint": "Modifications non enregistrées sur ce rôle",
|
|
10292
|
+
"nothingToSave": "Rien à sauver",
|
|
10293
|
+
"saveRole": "Enregistrer la politique {{role}}",
|
|
10294
|
+
"discardTitle": "Supprimer la stratégie non enregistrée ?",
|
|
10295
|
+
"discardDesc": "Le changement de rôle supprime les modifications de fonctionnalités non enregistrées.",
|
|
10296
|
+
"roleUnavailable": "Not available for this role"
|
|
9091
10297
|
},
|
|
9092
10298
|
"readiness": {
|
|
9093
10299
|
"cat": {
|
|
@@ -9198,13 +10404,44 @@
|
|
|
9198
10404
|
"fixNow": "Corriger maintenant",
|
|
9199
10405
|
"fixFailed": "Échec de la correction",
|
|
9200
10406
|
"fixDone": "Permissions dataDir renforcées (chmod 750)",
|
|
9201
|
-
"fixDoneWebUi": "Interface Web compilée / installée"
|
|
10407
|
+
"fixDoneWebUi": "Interface Web compilée / installée",
|
|
10408
|
+
"rootLabel": "Superutilisateur",
|
|
10409
|
+
"exportStarted": "Téléchargement {{name}}",
|
|
10410
|
+
"blockersHint": "Les bloqueurs sont le sous-ensemble critique de Manquants — pas des contrôles en plus.",
|
|
10411
|
+
"techDetails": "Détails techniques",
|
|
10412
|
+
"missingOwner": "Aucun propriétaire de panel attribué (attribution de quota de package)",
|
|
10413
|
+
"notOsProvisioned": "Utilisateur/domicile du système d'exploitation non encore provisionné",
|
|
10414
|
+
"ondrejNone": "Aucune source PHP ondrej Launchpad détectée",
|
|
10415
|
+
"ondrejFound": "Sources ondrej/php héritées trouvées en conflit avec packages.sury.org : {{paths}}",
|
|
10416
|
+
"ondrejTitle": "PHP apt source (ondrej résiduel)",
|
|
10417
|
+
"systemctlActive": "Le service est en cours d'exécution",
|
|
10418
|
+
"systemctlStatus": "Statut du service : {{status}}",
|
|
10419
|
+
"binInPath": "{{bin}} dans CHEMIN",
|
|
10420
|
+
"leftoverApache": "Site par défaut restant d'Apache",
|
|
10421
|
+
"leftoverVsftpd": "L'unité vsftpd a échoué",
|
|
10422
|
+
"leftoverCli": "CLI restante périmée",
|
|
10423
|
+
"leftoverNginx": "Nginx fourre-tout manquant",
|
|
10424
|
+
"leftoverDovecot": "Dovecot TLS indique un certificat manquant",
|
|
10425
|
+
"leftoverOther": "Restes d’hôte",
|
|
10426
|
+
"leftoverApply": "Les restes s'appliquent",
|
|
10427
|
+
"isolationOwnerDegrades": "L'absence de Owner_user_id affecte l'attribution du quota de package : le statut est dégradé, pas prêt.",
|
|
10428
|
+
"totalChecks": "All checks",
|
|
10429
|
+
"totalChecksHint": "Ready + degraded + missing = this total. Blockers are the critical missing subset.",
|
|
10430
|
+
"requireAdminTotp": "require admin 2FA policy",
|
|
10431
|
+
"listenBind": "listen address",
|
|
10432
|
+
"item": {
|
|
10433
|
+
"admin2fa": "Admin two-factor"
|
|
10434
|
+
},
|
|
10435
|
+
"dataDirPerms": "panel data-directory permissions",
|
|
10436
|
+
"mode750": "mode 750",
|
|
10437
|
+
"gateBlocked": "Not passed · {{n}} missing",
|
|
10438
|
+
"isolationPendingOs": "Same as project status: OS user pending. Open Isolation to provision the system user and home."
|
|
9202
10439
|
},
|
|
9203
10440
|
"redis": {
|
|
9204
10441
|
"neverExpire": "N'expire jamais",
|
|
9205
10442
|
"ttlSeconds": "{{ttl}}s",
|
|
9206
10443
|
"ttlMinutes": "{{n}} minutes",
|
|
9207
|
-
"ttlHours": "{{n}}
|
|
10444
|
+
"ttlHours": "{{n}} heures",
|
|
9208
10445
|
"ttlDays": "{{n}} j",
|
|
9209
10446
|
"typeString": "Chaîne",
|
|
9210
10447
|
"typeHash": "Hacher",
|
|
@@ -9266,7 +10503,25 @@
|
|
|
9266
10503
|
"pickKey": "Sélectionnez une clé à gauche pour afficher le contenu.",
|
|
9267
10504
|
"ttlPrefix": "TTL : {{ttl}}",
|
|
9268
10505
|
"writeLiveHint": "Écrit dans Redis en direct ; impossible d'annuler en un clic depuis le panneau.",
|
|
9269
|
-
"refPath": "Réf. : {{path}}"
|
|
10506
|
+
"refPath": "Réf. : {{path}}",
|
|
10507
|
+
"dbEmptyMark": " · vide",
|
|
10508
|
+
"noRequirepass": "Le mode protégé est actif, mais requirepass est vide ou non lu — pas de mot de passe.",
|
|
10509
|
+
"setRequirepass": "Définir le mot de passe",
|
|
10510
|
+
"rdbOnlyLossHint": "AOF désactivé et RDB activé. Un redémarrage ou un plantage peut perdre des écritures récentes.",
|
|
10511
|
+
"dirDataContainer": "/données (conteneur)",
|
|
10512
|
+
"dirHostDefault": "/var/lib/redis",
|
|
10513
|
+
"dirDefaultInstance": "/var/lib/redis/default",
|
|
10514
|
+
"dirDataWarn": "/data est généralement un chemin de conteneur ; ce panneau ne peut pas confirmer son existence.",
|
|
10515
|
+
"saveOff": "Désactiver les instantanés (non recommandé)",
|
|
10516
|
+
"saveOffWarn": "Une chaîne de sauvegarde vide désactive les instantanés RDB. Un crash peut perdre toutes les données si AOF est également désactivé.",
|
|
10517
|
+
"dirMoveWarn": "Changer de répertoire ne déplace pas dump.rdb / AOF. Le prochain démarrage utilise le nouveau chemin tel quel.",
|
|
10518
|
+
"passwordUnset": "Non défini sur le service",
|
|
10519
|
+
"passwordSetHidden": "Ensemble (non illustré)",
|
|
10520
|
+
"scanHint": "Uses SCAN, not KEYS. Returns at most {{n}} keys — avoid * on huge databases.",
|
|
10521
|
+
"scanCapped": "Showing the first {{n}} matches.",
|
|
10522
|
+
"dbOptionKeys": "DB {{i}} · {{n}} keys",
|
|
10523
|
+
"dbOptionEmpty": "DB {{i}} · empty",
|
|
10524
|
+
"insecureShort": "No password"
|
|
9270
10525
|
},
|
|
9271
10526
|
"resources": {
|
|
9272
10527
|
"created": "Créé",
|
|
@@ -9734,7 +10989,29 @@
|
|
|
9734
10989
|
"projectsCount": "Projets YSK",
|
|
9735
10990
|
"noProjects": "Aucun projet",
|
|
9736
10991
|
"noProjectsDesc": "Aucun projet node/bun dans le panneau, ou utilisateur OS non provisionné.",
|
|
9737
|
-
"pm2OnlyDesc": "Uniquement les applications démarrées avec PM2 sous l’utilisateur du panneau. Les déploiements systemd apparaissent ci-dessus."
|
|
10992
|
+
"pm2OnlyDesc": "Uniquement les applications démarrées avec PM2 sous l’utilisateur du panneau. Les déploiements systemd apparaissent ci-dessus.",
|
|
10993
|
+
"startupTitle": "Démarrer au démarrage",
|
|
10994
|
+
"startupDesc": "Enregistrez PM2 pour que les processus reviennent après le redémarrage.",
|
|
10995
|
+
"systemdActionsHint": "Les actions systemd nécessitent root et YSK_EXECUTE.",
|
|
10996
|
+
"startupOk": "Startup registered. {{notes}}",
|
|
10997
|
+
"startupFail": "Could not register startup. {{notes}}",
|
|
10998
|
+
"actionOk": "{{action}} {{name}} — {{notes}}",
|
|
10999
|
+
"actionFail": "Could not {{action}} {{name}}. {{notes}}",
|
|
11000
|
+
"startupReady": "Ready",
|
|
11001
|
+
"startupReadyYes": "Yes",
|
|
11002
|
+
"startupReadyNo": "No",
|
|
11003
|
+
"startupUnit": "Unit",
|
|
11004
|
+
"startupDump": "Dump",
|
|
11005
|
+
"startupInstall": "Install startup",
|
|
11006
|
+
"startupSave": "Save process list",
|
|
11007
|
+
"actRestart": "Restart",
|
|
11008
|
+
"actStop": "Stop",
|
|
11009
|
+
"actReload": "Reload",
|
|
11010
|
+
"pm2ActionsHint": "PM2 actions apply to the panel user’s process list only.",
|
|
11011
|
+
"noteUnparsed": "PM2 list could not be parsed (empty or unexpected output).",
|
|
11012
|
+
"notePanelUserOnly": "PM2 list is for the panel process user only.",
|
|
11013
|
+
"noteProjectUnits": "{{n}} YSK project unit(s) listed",
|
|
11014
|
+
"glossary": "PM2 = process manager; SSE = live stream."
|
|
9738
11015
|
},
|
|
9739
11016
|
"recordedInstalled": "Enregistré {{v}}",
|
|
9740
11017
|
"remoteSourceSuffix": "({{source}})",
|
|
@@ -9788,7 +11065,32 @@
|
|
|
9788
11065
|
"path": "Chemin",
|
|
9789
11066
|
"fullVersion": "Version complète",
|
|
9790
11067
|
"useListForDefaults": "Pour modifier la valeur par défaut de l'hôte ou du panneau, ou supprimer cette version, utilisez la liste ci-dessus.",
|
|
9791
|
-
"alreadyHostDefaultShort": "Défaut de l'hôte"
|
|
11068
|
+
"alreadyHostDefaultShort": "Défaut de l'hôte",
|
|
11069
|
+
"managedPathMissingTitle": "Le chemin géré {{name}} n'est pas prêt",
|
|
11070
|
+
"managedPathMissing": "{{name}} géré par YSK pour la version {{version}} n'est pas prêt. Re-sondez ou réinstallez.",
|
|
11071
|
+
"installRecordedCta": "Installation enregistrée {{v}}",
|
|
11072
|
+
"targetMissing": "Version cible non installée",
|
|
11073
|
+
"targetMissingHint": "La cible {{version}} n’est pas sur cet hôte. Liez une version installée ou installez cette version.",
|
|
11074
|
+
"needsInstall": "à installer",
|
|
11075
|
+
"needsInstallHint": "Pas sur cet hôte. Installez-le ou choisissez une version déjà présente.",
|
|
11076
|
+
"unitBytes": "octets",
|
|
11077
|
+
"headerSizeKb": "{{n}} Ko",
|
|
11078
|
+
"phpIniChipEmpty": "Non chargé — ouvrez l’onglet php.ini",
|
|
11079
|
+
"phpFpmService": "PHP-FPM",
|
|
11080
|
+
"phpFpmServiceDesc": "Démarrer, arrêter, recharger ou redémarrer l’unité PHP-FPM",
|
|
11081
|
+
"rustupDefaultMissingTitle": "Pas de chaîne d’outils rustup par défaut",
|
|
11082
|
+
"rustupDefaultMissing": "rustup n’a pas de défaut. Définissez stable dans l’onglet Logiciel.",
|
|
11083
|
+
"rustupDefaultMissingShort": "Aucune chaîne d'outils par défaut",
|
|
11084
|
+
"rustupSetDefaultHint": "Définir la chaîne d'outils par défaut",
|
|
11085
|
+
"uninstalledCountHint": "{{n}} version(s) absente(s) de cet hôte",
|
|
11086
|
+
"applyPhpVhostTitle": "Besoin de confirmation – écrit les fichiers pool/vhost",
|
|
11087
|
+
"applyPhpVhostDesc": "Écrira le pool {{pool}} et le vhost {{domain}}. Services de rechargement : {{reload}}.",
|
|
11088
|
+
"binaryPath": "Chemin du binaire",
|
|
11089
|
+
"installedLabel": "Installed",
|
|
11090
|
+
"installedHint": "Host probe result — not the control-plane record",
|
|
11091
|
+
"targetHint": "Version this page will install or pin",
|
|
11092
|
+
"rebuildFromHost": "Rebuild record from host",
|
|
11093
|
+
"rebuiltFromHost": "Record refreshed from host probe"
|
|
9792
11094
|
},
|
|
9793
11095
|
"search": {
|
|
9794
11096
|
"placeholder": "Rechercher des pages et des ressources…",
|
|
@@ -9798,20 +11100,24 @@
|
|
|
9798
11100
|
"noResults": "Aucune correspondance",
|
|
9799
11101
|
"kinds": {
|
|
9800
11102
|
"page": "Pages",
|
|
9801
|
-
"project": "
|
|
9802
|
-
"email": "
|
|
9803
|
-
"mailbox": "
|
|
11103
|
+
"project": "Projets",
|
|
11104
|
+
"email": "E-mail",
|
|
11105
|
+
"mailbox": "Boîtes aux lettres",
|
|
9804
11106
|
"ssl": "SSL",
|
|
9805
11107
|
"dns": "DNS",
|
|
9806
11108
|
"nginx": "Nginx",
|
|
9807
|
-
"share": "
|
|
11109
|
+
"share": "Actions",
|
|
9808
11110
|
"ftp": "FTP",
|
|
9809
11111
|
"mysql": "MySQL",
|
|
9810
11112
|
"postgres": "PostgreSQL",
|
|
9811
|
-
"redis": "
|
|
11113
|
+
"redis": "Rédis",
|
|
9812
11114
|
"cron": "Cron",
|
|
9813
|
-
"user": "
|
|
9814
|
-
"other": "
|
|
11115
|
+
"user": "Utilisateurs",
|
|
11116
|
+
"other": "Autre"
|
|
11117
|
+
},
|
|
11118
|
+
"alias": {
|
|
11119
|
+
"ssl": "certificat certificat certificats",
|
|
11120
|
+
"projects": "chantiers"
|
|
9815
11121
|
}
|
|
9816
11122
|
},
|
|
9817
11123
|
"security": {
|
|
@@ -9835,7 +11141,7 @@
|
|
|
9835
11141
|
"tabApiKeys": "Clés API",
|
|
9836
11142
|
"tabSsh": "SSH",
|
|
9837
11143
|
"tabApprovals": "Approbations",
|
|
9838
|
-
"tabAllowlist": "
|
|
11144
|
+
"tabAllowlist": "Outils agent",
|
|
9839
11145
|
"apiTokenOnce": "Jeton API (affiché une seule fois) :",
|
|
9840
11146
|
"copiedToken": "Jeton copié",
|
|
9841
11147
|
"totpTitle": "Double authentification (TOTP)",
|
|
@@ -9919,8 +11225,8 @@
|
|
|
9919
11225
|
"revokeAllDevices": "Révoquer tous les appareils",
|
|
9920
11226
|
"revokedAllDevices": "Tous les appareils de confiance ont été révoqués",
|
|
9921
11227
|
"export2faBackup": "Exporter la sauvegarde 2FA chiffrée",
|
|
9922
|
-
"fail2banSnippetMsg": "Extraits
|
|
9923
|
-
"
|
|
11228
|
+
"fail2banSnippetMsg": "Extraits fail2ban : {{written}} — {{notes}}",
|
|
11229
|
+
"generatefail2ban": "Générer les extraits fail2ban",
|
|
9924
11230
|
"adminPolicyTitle": "Politique 2FA admin",
|
|
9925
11231
|
"adminPolicyDesc": "",
|
|
9926
11232
|
"requireAdmin2fa": "Exiger la 2FA admin",
|
|
@@ -9940,8 +11246,8 @@
|
|
|
9940
11246
|
"apiKeysEmpty": "Aucune clé API pour l'instant",
|
|
9941
11247
|
"apiKeysEmptyHint": "Créez depuis la barre d'outils ; puis appelez l'API avec un jeton Bearer",
|
|
9942
11248
|
"approve": "Approuver",
|
|
9943
|
-
"allowlistTitle": "
|
|
9944
|
-
"allowlistEmpty": "Aucun outil
|
|
11249
|
+
"allowlistTitle": "Outils agent ({{count}})",
|
|
11250
|
+
"allowlistEmpty": "Aucun outil dans le catalogue",
|
|
9945
11251
|
"createApiKeyTitle": "Créer une clé API",
|
|
9946
11252
|
"createApiKeyDesc": "Le jeton complet n'est affiché qu'une seule fois après la création",
|
|
9947
11253
|
"createKeyBtn": "Créer la clé",
|
|
@@ -10183,7 +11489,23 @@
|
|
|
10183
11489
|
"sharePanelTitle": "Partager le secret TOTP du panneau ?",
|
|
10184
11490
|
"sharePanelDesc": "Risque élevé. Tapez SHARED pour confirmer.",
|
|
10185
11491
|
"confirmString": "Chaîne de confirmation",
|
|
10186
|
-
"enableShare": "Activer le partage"
|
|
11492
|
+
"enableShare": "Activer le partage",
|
|
11493
|
+
"invalidPub": "Collez une ligne complète de clé publique OpenSSH (ssh-ed25519 / ssh-rsa / ecdsa…).",
|
|
11494
|
+
"dryRunOk": "Aperçu terminé. Vérifiez le contenu ci-dessous.",
|
|
11495
|
+
"strictBlocked": "Le paquet ou PAM n’est pas prêt ; l’application Strict est désactivée.",
|
|
11496
|
+
"strictDryRun": "Aperçu du mode strict",
|
|
11497
|
+
"errorNoDetail": "Échec du test (aucun détail)",
|
|
11498
|
+
"privCloseWithoutAck": "Fermé. La clé privée ne sera plus affichée ; générez-en un nouveau si vous ne l’avez pas enregistré.",
|
|
11499
|
+
"loginNoProjects": "Aucun projet. Autorisez un utilisateur Linux existant (root / testeur) ci-dessous. L'écriture de /root/.ssh nécessite YSK_EXECUTE=1.",
|
|
11500
|
+
"loginLinuxHint": "Utilisé lorsqu'il n'y a pas de projet. Exemple : root ou testeur.",
|
|
11501
|
+
"pkgStatus": "Package {{status}}",
|
|
11502
|
+
"pamStatus": "PAM {{status}}",
|
|
11503
|
+
"kbdStatus": "sshd keyboard-interactive {{status}}",
|
|
11504
|
+
"light": {
|
|
11505
|
+
"green": "ok",
|
|
11506
|
+
"yellow": "check",
|
|
11507
|
+
"red": "missing"
|
|
11508
|
+
}
|
|
10187
11509
|
},
|
|
10188
11510
|
"sessionsActive": "Sessions actives",
|
|
10189
11511
|
"sessionsOther": "Autres appareils",
|
|
@@ -10206,7 +11528,50 @@
|
|
|
10206
11528
|
"revokeOthersDesc": "Cela mettra fin à {{count}} autre(s) session(s). Votre navigateur actuel reste connecté.",
|
|
10207
11529
|
"sessionRevoked": "Session déconnectée",
|
|
10208
11530
|
"mySecurityHint": "",
|
|
10209
|
-
"policyTotpHint": "Politique du site : chaque administrateur doit activer sa propre 2FA (QR individuel)"
|
|
11531
|
+
"policyTotpHint": "Politique du site : chaque administrateur doit activer sa propre 2FA (QR individuel)",
|
|
11532
|
+
"requireUser2fa": "Exiger la 2FA pour tous les utilisateurs du panneau",
|
|
11533
|
+
"generateFail2ban": "Générer les extraits fail2ban",
|
|
11534
|
+
"changePasswordTitle": "Changer le mot de passe de connexion",
|
|
11535
|
+
"currentPassword": "Mot de passe actuel",
|
|
11536
|
+
"newPassword": "Nouveau mot de passe",
|
|
11537
|
+
"confirmNewPassword": "Confirmer le nouveau mot de passe",
|
|
11538
|
+
"passwordMismatch": "Les nouveaux mots de passe ne correspondent pas.",
|
|
11539
|
+
"changePassword": "Changer le mot de passe",
|
|
11540
|
+
"passwordChanged": "Mot de passe mis à jour.",
|
|
11541
|
+
"strictNeedsEnrolled": "Au moins un administrateur doit avoir la 2FA avant d’activer Strict.",
|
|
11542
|
+
"policyTotpNeedSelf": "Activez d’abord la 2FA sur ce compte ; sinon le code de confirmation ne peut pas être saisi.",
|
|
11543
|
+
"fail2banSnippetTitle": "Extrait fail2ban",
|
|
11544
|
+
"fail2banSnippetEmpty": "Aucun extrait n’a été écrit.",
|
|
11545
|
+
"trustedDevicesTitle": "Appareils de confiance",
|
|
11546
|
+
"noTrustedDevices": "Aucun appareil de confiance.",
|
|
11547
|
+
"strictConfirmTitle": "Activer la 2FA Strict ?",
|
|
11548
|
+
"strictConfirmDesc": "Les utilisateurs sans 2FA seront refusés. Confirmez que vous avez un TOTP ou une Passkey qui fonctionne.",
|
|
11549
|
+
"revokeDevicesTitle": "Révoquer les appareils de confiance ?",
|
|
11550
|
+
"revokeDevicesDesc": "Les navigateurs mémorisés devront refaire la 2FA.",
|
|
11551
|
+
"approvalsHint": "Les approbations apparaissent lorsqu’un outil à haut risque nécessite un second opérateur. Configurez les droits dans Utilisateurs → Autorisations.",
|
|
11552
|
+
"allowlistReadonly": "Catalogue d’outils agent (lecture seule). Les capacités se règlent dans Utilisateurs → Autorisations.",
|
|
11553
|
+
"colTool": "Outil",
|
|
11554
|
+
"colAllowed": "Autorisé",
|
|
11555
|
+
"colRisk": "Risque",
|
|
11556
|
+
"colApproval": "Approbation",
|
|
11557
|
+
"risk": {
|
|
11558
|
+
"low": "Faible",
|
|
11559
|
+
"medium": "Moyen",
|
|
11560
|
+
"high": "Élevé",
|
|
11561
|
+
"critical": "Critique"
|
|
11562
|
+
},
|
|
11563
|
+
"totpStatusLoadFailed": "Impossible de charger l’état 2FA",
|
|
11564
|
+
"confirmDeleteApiKey": "Supprimer cette clé API ?",
|
|
11565
|
+
"confirmDeleteApiKeyDesc": "«{{name}}» arrêtera l'authentification. Cela ne peut pas être annulé.",
|
|
11566
|
+
"policyNoTotpHint": "This account has no 2FA yet — saving policy does not need a TOTP. Set up 2FA above if you want to require it for others.",
|
|
11567
|
+
"sessionCli": "CLI",
|
|
11568
|
+
"sessionApi": "API",
|
|
11569
|
+
"statApiSessions": "Sessions API",
|
|
11570
|
+
"revokeOtherTitle": "Déconnexion {{n}} autre(s) session(s)",
|
|
11571
|
+
"policyNeedSelf2fa": "Activez d'abord 2FA sur ce compte, puis confirmez avec un code TOTP",
|
|
11572
|
+
"revokeAllDevicesTitle": "Révoquer tous les appareils mémorisés : vous et les autres administrateurs devez à nouveau vérifier 2FA",
|
|
11573
|
+
"statSshValue": "{{keys}} keys · {{auth}} authorized",
|
|
11574
|
+
"statSshHint": "Outbound identities / authorized login keys"
|
|
10210
11575
|
},
|
|
10211
11576
|
"serviceExposure": {
|
|
10212
11577
|
"title": "Accès au réseau",
|
|
@@ -10215,8 +11580,8 @@
|
|
|
10215
11580
|
"manageDesc": "Contrôlez comment {{service}} est accessible sur le pare-feu hôte.",
|
|
10216
11581
|
"mode": "Mode d'accès",
|
|
10217
11582
|
"modePrivate": "Local uniquement",
|
|
10218
|
-
"modePublic": "
|
|
10219
|
-
"modeRestricted": "
|
|
11583
|
+
"modePublic": "Publique",
|
|
11584
|
+
"modeRestricted": "Limité",
|
|
10220
11585
|
"summaryPrivate": "Non ouvert sur le pare-feu public.",
|
|
10221
11586
|
"summaryPublic": "Ouvert · {{ports}}",
|
|
10222
11587
|
"summaryRestricted": "Restreint · {{count}} source(s)",
|
|
@@ -10224,8 +11589,8 @@
|
|
|
10224
11589
|
"outOfSync": "Désynchronisé",
|
|
10225
11590
|
"firewallOff": "Pare-feu désactivé",
|
|
10226
11591
|
"ufwMissing": "UFW non installé",
|
|
10227
|
-
"ufwInactive": "
|
|
10228
|
-
"firewallLink": "
|
|
11592
|
+
"ufwInactive": "inactif",
|
|
11593
|
+
"firewallLink": "Pare-feu",
|
|
10229
11594
|
"portsLabel": "Ports",
|
|
10230
11595
|
"allowFrom": "Sources autorisées (IP / CIDR)",
|
|
10231
11596
|
"allowCountries": "Pays autorisés (ISO)",
|
|
@@ -10237,7 +11602,19 @@
|
|
|
10237
11602
|
"restrictedNeedSource": "Ajoutez au moins un code IP/CIDR ou pays pour le mode restreint.",
|
|
10238
11603
|
"privateStartTitle": "Exposer {{service}} sur le réseau ?",
|
|
10239
11604
|
"confirmAndStart": "Confirmez et démarrez",
|
|
10240
|
-
"cloudSgNote": "Pare-feu hôte uniquement : les groupes de sécurité cloud (AWS/GCP/Azure) ne sont pas modifiés."
|
|
11605
|
+
"cloudSgNote": "Pare-feu hôte uniquement : les groupes de sécurité cloud (AWS/GCP/Azure) ne sont pas modifiés.",
|
|
11606
|
+
"modeUndecided": "Non défini",
|
|
11607
|
+
"modeLoading": "Chargement",
|
|
11608
|
+
"summaryUndecided": "Mode d'accès non confirmé (par défaut du catalogue : {{suggested}}).",
|
|
11609
|
+
"summaryNotEnforced": "Le pare-feu est désactivé : le panneau n'ouvre ni ne bloque ces ports.",
|
|
11610
|
+
"roleSmtp": "Soumission SMTP",
|
|
11611
|
+
"roleImap": "Boîte aux lettres IMAP/POP3",
|
|
11612
|
+
"serviceNotInstalled": "Ce service n'est pas installé, les règles de pare-feu ne s'appliquent donc pas.",
|
|
11613
|
+
"openButStopped": "Ports ouverts – le service ne fonctionne pas",
|
|
11614
|
+
"openNoTenants": "Ports publics sans locataires",
|
|
11615
|
+
"summaryFirewallOffOnly": "Host firewall is not enabled, so port rules are not enforced.",
|
|
11616
|
+
"modePublicLive": "Public (live bind)",
|
|
11617
|
+
"summaryPublicLive": "Listening on {{bind}} — reachable on all interfaces. Confirm access mode; this is not private."
|
|
10241
11618
|
},
|
|
10242
11619
|
"services": {
|
|
10243
11620
|
"enabledBoot": "Au démarrage",
|
|
@@ -10245,8 +11622,27 @@
|
|
|
10245
11622
|
"start": "Démarrer",
|
|
10246
11623
|
"stop": "Arrêter",
|
|
10247
11624
|
"restart": "Redémarrer",
|
|
10248
|
-
"reload": "Recharger"
|
|
10249
|
-
|
|
11625
|
+
"reload": "Recharger",
|
|
11626
|
+
"enable": "Activer au démarrage",
|
|
11627
|
+
"disable": "Désactiver au démarrage"
|
|
11628
|
+
},
|
|
11629
|
+
"lifecycleTitle": "Contrôle du service {{label}}",
|
|
11630
|
+
"startedOk": "{{label}} démarré",
|
|
11631
|
+
"stoppedOk": "{{label}} arrêté",
|
|
11632
|
+
"restartedOk": "{{label}} redémarré",
|
|
11633
|
+
"reloadedOk": "{{label}} rechargé",
|
|
11634
|
+
"stopConfirmTitle": "Arrêter {{label}} ?",
|
|
11635
|
+
"stopConfirmDesc": "{{label}} cessera d’écouter. Relancez-le depuis cette page si besoin.",
|
|
11636
|
+
"stopConfirmEdgeDesc": "Arrêter {{label}} met hors ligne les sites et le reverse proxy jusqu’au redémarrage.",
|
|
11637
|
+
"stopConfirmEdgeConsequence": "Tant que {{label}} est arrêté, cet hôte ne sert pas HTTP/HTTPS.",
|
|
11638
|
+
"stopConfirmSshdTitle": "Arrêter sshd ?",
|
|
11639
|
+
"stopConfirmSshdDesc": "Arrêter sshd coupe le SSH distant. Confirmez un accès console ou une autre voie.",
|
|
11640
|
+
"stopConfirmSshdToken": "arrête sshd",
|
|
11641
|
+
"stopConfirmSshdConsequence": "Les nouvelles sessions SSH échoueront jusqu’au démarrage de sshd depuis la console.",
|
|
11642
|
+
"stopConfirmPanelTitle": "Arrêter YSK Server ?",
|
|
11643
|
+
"stopConfirmPanelDesc": "Le panneau et l’API seront hors ligne jusqu’au démarrage de l’unité sur l’hôte.",
|
|
11644
|
+
"stopConfirmPanelToken": "arrêter le serveur Ysk",
|
|
11645
|
+
"stopConfirmPanelConsequence": "Cette session navigateur sera coupée. Démarrez l’unité via SSH ou la console hôte.",
|
|
10250
11646
|
"actionDone": "{{action}} terminé",
|
|
10251
11647
|
"runningOf": "{{running}}/{{total}} en cours",
|
|
10252
11648
|
"canMutate": "Modifiable",
|
|
@@ -10277,7 +11673,46 @@
|
|
|
10277
11673
|
"protectionDoneNote": "Sonde de protection terminée",
|
|
10278
11674
|
"probeDone": "Sonde terminée",
|
|
10279
11675
|
"runProtection": "Lancer la sonde de protection",
|
|
10280
|
-
"notProbedYet": "Pas encore sondé"
|
|
11676
|
+
"notProbedYet": "Pas encore sondé",
|
|
11677
|
+
"stopConfirmFail2banTitle": "Arrêter fail2ban ?",
|
|
11678
|
+
"stopConfirmFail2banDesc": "L'arrêt de fail2ban désactive les interdictions IP automatiques. Les sites Web et SSH continuent de fonctionner.",
|
|
11679
|
+
"stopConfirmFail2banConsequence": "Les nouveaux attaquants ne sont pas bannis tant que fail2ban n’est pas redémarré.",
|
|
11680
|
+
"installOrOpen": "Installer / ouvrir",
|
|
11681
|
+
"statusFilter": {
|
|
11682
|
+
"all": "Tous les états",
|
|
11683
|
+
"running": "En cours d'exécution",
|
|
11684
|
+
"failed": "Échoué",
|
|
11685
|
+
"missing": "Non installé"
|
|
11686
|
+
},
|
|
11687
|
+
"stopNeedConfirm": "Confirmation requise",
|
|
11688
|
+
"stopNeedConfirmPhrase": "Saisie de la phrase de confirmation requise",
|
|
11689
|
+
"enabledOk": "{{label}} activé au démarrage",
|
|
11690
|
+
"bootDisabledWarn": "{{label}} tourne mais ne démarrera pas au boot. Activez-le pour le conserver.",
|
|
11691
|
+
"bootDisabledShort": "Pas au boot",
|
|
11692
|
+
"mariadbNotInstalled": "MariaDB n’est pas installé",
|
|
11693
|
+
"mariadbNotInstalledMysqlOk": "Not installed: MariaDB (MySQL is installed)",
|
|
11694
|
+
"restartConfirmPanelTitle": "Restart YSK Server?",
|
|
11695
|
+
"restartConfirmPanelDesc": "The panel and API will drop briefly while the unit restarts.",
|
|
11696
|
+
"unitNotFound": "Unit not installed",
|
|
11697
|
+
"unitNa": "Not applicable",
|
|
11698
|
+
"unitStatic": "static",
|
|
11699
|
+
"unitIndirect": "indirect",
|
|
11700
|
+
"needRunning": "{{label}} is not running",
|
|
11701
|
+
"bootNa": "Not applicable",
|
|
11702
|
+
"permLabel": "Permission",
|
|
11703
|
+
"permCanChange": "Can change the system (superuser)",
|
|
11704
|
+
"permBlocked": "Cannot change the system",
|
|
11705
|
+
"permHint": "System change {{exec}} · Superuser {{root}}",
|
|
11706
|
+
"clusterLegend": "Planned = saved in the panel, not applied on the host.",
|
|
11707
|
+
"active": {
|
|
11708
|
+
"active": "Running",
|
|
11709
|
+
"inactive": "Stopped",
|
|
11710
|
+
"not-found": "Not installed",
|
|
11711
|
+
"failed": "Failed",
|
|
11712
|
+
"tool": "Tool",
|
|
11713
|
+
"activating": "Starting"
|
|
11714
|
+
},
|
|
11715
|
+
"sshdBootOffWarn": "sshd is not enabled on boot. After reboot this host will have no SSH rescue path."
|
|
10281
11716
|
},
|
|
10282
11717
|
"software": {
|
|
10283
11718
|
"title": "Logiciels",
|
|
@@ -10368,7 +11803,8 @@
|
|
|
10368
11803
|
"pick": "Choisir la version",
|
|
10369
11804
|
"noTarget": "Aucune cible de mise à jour",
|
|
10370
11805
|
"needRuntimePage": "Installez cette version sur la page du runtime",
|
|
10371
|
-
"noAptCandidate": "Aucune version candidate apt"
|
|
11806
|
+
"noAptCandidate": "Aucune version candidate apt",
|
|
11807
|
+
"sourceLabel": "Source"
|
|
10372
11808
|
},
|
|
10373
11809
|
"install": {
|
|
10374
11810
|
"progress": "Installation : {{list}}…",
|
|
@@ -10467,14 +11903,24 @@
|
|
|
10467
11903
|
"generic": "Les services associés peuvent s'arrêter",
|
|
10468
11904
|
"purgeData": "Les chemins de données seront supprimés",
|
|
10469
11905
|
"protectedSkipped": "Les composants protégés sont ignorés",
|
|
10470
|
-
"runtimeStack": "Toutes les versions gérées par panneau de ce runtime seront supprimées"
|
|
11906
|
+
"runtimeStack": "Toutes les versions gérées par panneau de ce runtime seront supprimées",
|
|
11907
|
+
"containers": "Les conteneurs en cours s’arrêteront",
|
|
11908
|
+
"validators": "Les piles validateur qui utilisent Docker Compose s’arrêteront"
|
|
10471
11909
|
},
|
|
10472
11910
|
"requestCancel": "Demande d'annulation",
|
|
10473
11911
|
"cancelling": "Annulation…",
|
|
10474
11912
|
"dockCancelling": "Annulation · {{title}}",
|
|
10475
11913
|
"dockCancelled": "Annulé · {{title}}",
|
|
10476
11914
|
"cancelHint": "Annulation demandée. Le client a arrêté d'écouter ; l'hôte peut terminer l'apt/l'étape en cours. Re-sondez l'état après un moment.",
|
|
10477
|
-
"cancelledToast": "Opération annulée (le client a arrêté la diffusion)"
|
|
11915
|
+
"cancelledToast": "Opération annulée (le client a arrêté la diffusion)",
|
|
11916
|
+
"kindApply": "Appliquer",
|
|
11917
|
+
"kindScan": "Balayage",
|
|
11918
|
+
"kindDeploy": "Déployer",
|
|
11919
|
+
"kindRuntime": "Durée d'exécution",
|
|
11920
|
+
"jobDone": "Terminé · {{title}}",
|
|
11921
|
+
"jobFailed": "Échec · {{title}}",
|
|
11922
|
+
"uninstallUfwWarn": "Retirer UFW laisse cet hôte sans le pare-feu de ports géré par le panneau.",
|
|
11923
|
+
"uninstallFail2banWarn": "Retirer fail2ban arrête les jails et lève les interdictions. Si vous le gardez, ajoutez votre IP de connexion à ignoreip."
|
|
10478
11924
|
},
|
|
10479
11925
|
"sqlEngineHealth": {
|
|
10480
11926
|
"finding": {
|
|
@@ -10690,7 +12136,18 @@
|
|
|
10690
12136
|
"requestDone": "Demande de certificat terminée",
|
|
10691
12137
|
"requestFailed": "La demande de certificat n’a pas abouti",
|
|
10692
12138
|
"applyFailed": "Échec de la demande",
|
|
10693
|
-
"deletedCert": "{{domain}} supprimé"
|
|
12139
|
+
"deletedCert": "{{domain}} supprimé",
|
|
12140
|
+
"uninstallCertbotWarn": "La suppression de certbot arrête le renouvellement automatique des certificats Let's Encrypt existants.",
|
|
12141
|
+
"renew": "Renouveler",
|
|
12142
|
+
"renewFor": "Renouveler Let's Encrypt pour {{domain}}",
|
|
12143
|
+
"domainRequired": "Saisissez un domaine.",
|
|
12144
|
+
"domainInvalid": "Le format du domaine n’est pas valide.",
|
|
12145
|
+
"domainKnownHint": "Choisissez un domaine projet / DNS / mail connu, ou saisissez-en un.",
|
|
12146
|
+
"deleteNeedDomain": "Supprimez ce certificat — saisissez le nom de domaine pour confirmer",
|
|
12147
|
+
"panelCertHint": "Panel HTTPS uses {{path}} (expires {{exp}}). It is not listed as a site certificate.",
|
|
12148
|
+
"openPanelTls": "Open panel HTTPS",
|
|
12149
|
+
"deleteDomain": "Delete {{domain}}",
|
|
12150
|
+
"uninstallCertbot": "Uninstall certbot (loses auto-renew)"
|
|
10694
12151
|
},
|
|
10695
12152
|
"stackWizard": {
|
|
10696
12153
|
"purgeConfirm": "Confirmer la purge ? Les chemins de données enregistrés (bases de données/courriel) seront supprimés définitivement.",
|
|
@@ -10705,39 +12162,62 @@
|
|
|
10705
12162
|
"componentsTitle": "Composants à installer",
|
|
10706
12163
|
"dryRun": "Aperçu dry-run",
|
|
10707
12164
|
"installNow": "Installer maintenant",
|
|
10708
|
-
"uninstallHint": "
|
|
12165
|
+
"uninstallHint": "Cochez les lots à retirer. Sans sélection, le retrait est impossible. Les données sont conservées par défaut.",
|
|
10709
12166
|
"dataPolicy": "Politique de données",
|
|
10710
12167
|
"keepData": "Conserver les données",
|
|
10711
12168
|
"purgeData": "Purger les données",
|
|
10712
|
-
"uninstallNow": "Désinstaller maintenant"
|
|
12169
|
+
"uninstallNow": "Désinstaller maintenant",
|
|
12170
|
+
"uninstallNeedSelect": "Sélectionnez au moins un forfait. Une sélection vide ne signifie plus tout supprimer.",
|
|
12171
|
+
"uninstallConfirmTitle": "Supprimer les groupes sélectionnés ?",
|
|
12172
|
+
"uninstallConfirmDesc": "{{count}} le ou les bundles seront supprimés. Tapez SUPPRIMER pour confirmer.",
|
|
12173
|
+
"countHint": "These counts are OS packages in the software plan — not the service-matrix units on the other tab.",
|
|
12174
|
+
"executeRoot": "System changes {{execute}} · administrator {{root}}",
|
|
12175
|
+
"manifestPlan": "Plan {{plan}} ({{bundles}})",
|
|
12176
|
+
"manifestHint": "Last chosen software plan and bundles"
|
|
10713
12177
|
},
|
|
10714
12178
|
"support": {
|
|
10715
|
-
"title": "
|
|
10716
|
-
"sub": "
|
|
10717
|
-
"creatorTitle": "
|
|
10718
|
-
"creatorBody": "YSK Server est
|
|
10719
|
-
"donateTitle": "
|
|
10720
|
-
"donateBody": "Si YSK Server vous fait gagner du temps, envisagez de
|
|
12179
|
+
"title": "Assistance",
|
|
12180
|
+
"sub": "Creator, dons et YSK Limited — produit gratuit, aide réelle",
|
|
12181
|
+
"creatorTitle": "Créateur",
|
|
12182
|
+
"creatorBody": "YSK Server est un plan de contrôle mono-hôte, gratuit et honnête, pour les opérateurs qui veulent posséder leur pile. Le projet est maintenu au grand jour ; retours et rapports de bogues le rendent plus solide.",
|
|
12183
|
+
"donateTitle": "Soutien / Don",
|
|
12184
|
+
"donateBody": "Si YSK Server vous fait gagner du temps, envisagez de parrainer le développement. Chaque contribution aide à garder le produit gratuit pour tous.",
|
|
10721
12185
|
"donateGithub": "Commanditaires GitHub",
|
|
10722
12186
|
"donateOther": "Autres façons de donner",
|
|
10723
12187
|
"yskTitle": "YSK Limited",
|
|
10724
|
-
"yskIntro": "Besoin d’une aide
|
|
10725
|
-
"yskSvc1": "
|
|
10726
|
-
"yskSvc2": "Conception de
|
|
10727
|
-
"yskSvc3": "Migration, automatisation et intégration
|
|
10728
|
-
"yskSvc4": "Réponse aux incidents et
|
|
10729
|
-
"yskNoPrice": "Aucun
|
|
12188
|
+
"yskIntro": "Besoin d’une aide concrète au-delà du panneau gratuit ? YSK Limited peut aider pour :",
|
|
12189
|
+
"yskSvc1": "Installation, durcissement et exploitation continue du serveur",
|
|
12190
|
+
"yskSvc2": "Conception de pile d’hébergement (web, mail, DNS, bases de données)",
|
|
12191
|
+
"yskSvc3": "Migration, automatisation et intégration sur mesure",
|
|
12192
|
+
"yskSvc4": "Réponse aux incidents et revues de préparation à la production",
|
|
12193
|
+
"yskNoPrice": "Aucun tarif n’est affiché ici — contactez-nous pour une discussion adaptée à votre environnement.",
|
|
10730
12194
|
"yskWebsite": "ysk.hk",
|
|
10731
|
-
"helpTitle": "
|
|
10732
|
-
"helpBody": "
|
|
10733
|
-
"docsHint": "La documentation complète se trouve dans le
|
|
12195
|
+
"helpTitle": "Un problème ?",
|
|
12196
|
+
"helpBody": "Écrivez-nous avec votre OS, le chemin du journal d’installation, et ce que vous attendiez vs ce qui s’est passé. Nous lisons chaque message.",
|
|
12197
|
+
"docsHint": "La documentation complète se trouve dans le dépôt sous",
|
|
10734
12198
|
"donateLinktree": "Linktree",
|
|
10735
|
-
"cryptoTitle": "
|
|
10736
|
-
"cryptoHint": "
|
|
10737
|
-
"cryptoNetwork": "
|
|
10738
|
-
"cryptoAddress": "
|
|
10739
|
-
"copy": "
|
|
10740
|
-
"copied": "
|
|
12199
|
+
"cryptoTitle": "Crypto / identifiants Web3",
|
|
12200
|
+
"cryptoHint": "N’envoyez que sur le réseau correspondant. Vérifiez l’adresse avant d’envoyer.",
|
|
12201
|
+
"cryptoNetwork": "Réseau",
|
|
12202
|
+
"cryptoAddress": "Adresse",
|
|
12203
|
+
"copy": "Copier",
|
|
12204
|
+
"copied": "Copié",
|
|
12205
|
+
"docsLink": "Documentation",
|
|
12206
|
+
"diagTitle": "Résumé du diagnostic",
|
|
12207
|
+
"diagBody": "Copiez la version, exécutez et hébergez les faits à coller dans un e-mail. Il ne s'agit pas d'un ensemble de journaux complet.",
|
|
12208
|
+
"diagCopy": "Copier le résumé du diagnostic",
|
|
12209
|
+
"diagCopied": "Résumé du diagnostic copié",
|
|
12210
|
+
"copyTitle": "Copier {{address}}",
|
|
12211
|
+
"diagCopyTitle": "Copier version, EXECUTE et faits hôte",
|
|
12212
|
+
"diagPreview": "Aperçu de ce qui sera copié",
|
|
12213
|
+
"diagLoading": "Chargement du diagnostic…",
|
|
12214
|
+
"diagLoadFailed": "Impossible de charger le diagnostic",
|
|
12215
|
+
"copiedAddr": "Copied {{addr}}",
|
|
12216
|
+
"diagStatus": "Status",
|
|
12217
|
+
"diagMode": "Mode",
|
|
12218
|
+
"diagProtection": "Protection",
|
|
12219
|
+
"diagHostname": "Hostname",
|
|
12220
|
+
"diagOs": "OS"
|
|
10741
12221
|
},
|
|
10742
12222
|
"system": {
|
|
10743
12223
|
"exportLoadFailed": "Échec du chargement des données d'export",
|
|
@@ -10818,7 +12298,17 @@
|
|
|
10818
12298
|
"leOk": "Certificat Let’s Encrypt obtenu pour {{domain}}",
|
|
10819
12299
|
"leFailed": "Échec de la demande de certificat : {{detail}}",
|
|
10820
12300
|
"leHint": "Vérifiez que l’enregistrement DNS A pointe ici et que le port 80 est joignable (ou que nginx sert le domaine)",
|
|
10821
|
-
"openFirewall": "Si public : autorisez le port du panneau {{port}}/tcp (Pare-feu → ouvrir le port → 9287 Panel)"
|
|
12301
|
+
"openFirewall": "Si public : autorisez le port du panneau {{port}}/tcp (Pare-feu → ouvrir le port → 9287 Panel)",
|
|
12302
|
+
"disableConfirmTitle": "Désactiver le panneau HTTPS ?",
|
|
12303
|
+
"disableConfirmDesc": "Le panneau servira HTTP. WebAuthn/Passkey cessera de fonctionner jusqu'à ce que HTTPS soit réactivé.",
|
|
12304
|
+
"disablePasskeyWarn": "Les clés d'accès enregistrées nécessitent HTTPS – elles échoueront sur HTTP.",
|
|
12305
|
+
"disableNeedConfirm": "Confirmation requise — saisissez DISABLE-HTTPS",
|
|
12306
|
+
"listenPublic": "Le panneau écoute sur une adresse publique (0.0.0.0/::). Restreindre avec un pare-feu ou lier à 127.0.0.1.",
|
|
12307
|
+
"bootstrapCert": "Il s'agit du certificat d'amorçage auto-signé — les navigateurs vous avertiront. Émettez un certificat approuvé pour le domaine du panneau.",
|
|
12308
|
+
"cliNoSocket": "La CLI n'a pas de socket HTTP actif ; serveHttps est déduit des sockets de configuration et d'écoute (ss).",
|
|
12309
|
+
"listenHost": "Adresse d'écoute",
|
|
12310
|
+
"currentHost": "Cette séance",
|
|
12311
|
+
"replaceCert": "Remplacer par un certificat de confiance"
|
|
10822
12312
|
},
|
|
10823
12313
|
"timeNtp": "Heure et NTP",
|
|
10824
12314
|
"clockStatus": "État de l’horloge système",
|
|
@@ -10923,7 +12413,21 @@
|
|
|
10923
12413
|
"exportPath": "Chemin d’export",
|
|
10924
12414
|
"mode": "Mode",
|
|
10925
12415
|
"managedConf": "Conf gérée",
|
|
10926
|
-
"dryRunFlag": "Simulation"
|
|
12416
|
+
"dryRunFlag": "Simulation",
|
|
12417
|
+
"timezoneSearch": "Filtrer les fuseaux horaires…",
|
|
12418
|
+
"resyncNtp": "Resynchroniser NTP",
|
|
12419
|
+
"storageSub": "Utilisation du disque",
|
|
12420
|
+
"syncReloadNeedConfirm": "Confirmation requise — écrit /etc/nginx/conf.d et recharge Nginx",
|
|
12421
|
+
"nginxLeftover": "Reliquat",
|
|
12422
|
+
"nginxUnused": "Inutilisé",
|
|
12423
|
+
"nginxLeftoverHint": "Conf reliquat (ex. public-files). Incluse dans la sync tant que vous n’agissez pas.",
|
|
12424
|
+
"nginxUnusedHint": "Conf stock / catch-all (000-default). Incluse dans la sync tant que vous n’agissez pas.",
|
|
12425
|
+
"powerUnlock": "Débloquez la zone dangereuse",
|
|
12426
|
+
"powerLock": "Verrouiller la zone dangereuse",
|
|
12427
|
+
"noScheduledPower": "Aucun redémarrage ou mise hors tension n'est prévu",
|
|
12428
|
+
"timezoneNow": "Host time now: {{time}} ({{tz}})",
|
|
12429
|
+
"timezoneBrowserDiff": "This host uses {{host}}; your browser uses {{browser}}. Changing timezone here changes the host clock, not the browser.",
|
|
12430
|
+
"notExported": "Not exported yet"
|
|
10927
12431
|
},
|
|
10928
12432
|
"systemd": {
|
|
10929
12433
|
"enabled": "Activé",
|
|
@@ -11017,7 +12521,9 @@
|
|
|
11017
12521
|
"aboutPolicySub": "L'écriture du modèle et l'installation système sont des étapes distinctes. Relancer après installation est une opération normale, pas une étape manquante.",
|
|
11018
12522
|
"policyInstallFull": "Installer et activer : copier vers /etc/systemd/system, daemon-reload, enable --now. Nécessite root + EXECUTE.",
|
|
11019
12523
|
"policyBlockedTitle": "Bloqué sans privilège",
|
|
11020
|
-
"policyNotEqualTitle": "Les états ne sont pas équivalents"
|
|
12524
|
+
"policyNotEqualTitle": "Les états ne sont pas équivalents",
|
|
12525
|
+
"rawStateHint": "Raw unit state in tooltip",
|
|
12526
|
+
"bootHint": "Whether the unit starts at boot"
|
|
11021
12527
|
},
|
|
11022
12528
|
"tabs": {
|
|
11023
12529
|
"scrollLeft": "Faire défiler les onglets vers la gauche",
|
|
@@ -11057,7 +12563,15 @@
|
|
|
11057
12563
|
"stepUpHint": "La connexion root exige une élévation 2FA lorsque votre compte a le TOTP activé.",
|
|
11058
12564
|
"stepUpTitle": "Confirmer le shell root",
|
|
11059
12565
|
"stepUpDesc": "Saisissez le code de votre authenticator ou un code de récupération.",
|
|
11060
|
-
"totpLabel": "Code TOTP / de récupération"
|
|
12566
|
+
"totpLabel": "Code TOTP / de récupération",
|
|
12567
|
+
"sessionStillOpen": "Un live shell est toujours connecté pendant que vous lisez cette page.",
|
|
12568
|
+
"rootConfirmTitle": "Ouvrir un shell racine ?",
|
|
12569
|
+
"rootConfirmDesc": "Cette session est un PTY racine sans restriction sur l'hôte. Les commandes sont auditées.",
|
|
12570
|
+
"rootConfirmBody": "Continuez uniquement si vous avez l'intention d'exécuter des commandes d'hôte privilégiées.",
|
|
12571
|
+
"copyAll": "Copier tout",
|
|
12572
|
+
"copyAllNeedConn": "Connectez-vous d'abord - le tampon est vide lorsqu'il est déconnecté",
|
|
12573
|
+
"groupSystem": "System",
|
|
12574
|
+
"groupProject": "Project"
|
|
11061
12575
|
},
|
|
11062
12576
|
"uiInline": {
|
|
11063
12577
|
"s27d9daa5": "durée d'exécution {{v0}} {{v1}},",
|
|
@@ -11357,9 +12871,9 @@
|
|
|
11357
12871
|
"applyPanelUpdate": "Appliquer la mise à jour du panneau",
|
|
11358
12872
|
"recheck": "Revérifier",
|
|
11359
12873
|
"aboutScope": "Portée",
|
|
11360
|
-
"aboutScopeV": "
|
|
12874
|
+
"aboutScopeV": "panneau du serveur ysk + services de catalogue + environnements d'exécution + packages apt restants",
|
|
11361
12875
|
"aboutChannel": "Canal",
|
|
11362
|
-
"aboutChannelV": "npm → GitHub
|
|
12876
|
+
"aboutChannelV": "package npm ysk-server → version GitHub → apps/server/package.json ; appliquer : npm i -g ysk-server@version ou git (YSK_SOURCE_ROOT)",
|
|
11363
12877
|
"aboutFail": "Échecs",
|
|
11364
12878
|
"aboutFailV": "Les canaux indisponibles ne sont pas signalés comme à jour ; l'application nécessite EXECUTE ; l'application git nécessite un redémarrage du service",
|
|
11365
12879
|
"jobsTitle": "Tâches planifiées",
|
|
@@ -11436,7 +12950,79 @@
|
|
|
11436
12950
|
"scanNow": "Scannez maintenant",
|
|
11437
12951
|
"viewUpgradable": "Voir évolutif",
|
|
11438
12952
|
"installElsewhere": "Pour installer des packages (Nginx, PHP, bases de données…), ouvrez la page des fonctionnalités correspondantes – pas ce hub.",
|
|
11439
|
-
"status": "Statut"
|
|
12953
|
+
"status": "Statut",
|
|
12954
|
+
"groupService": "Services",
|
|
12955
|
+
"groupRuntime": "Durées d'exécution",
|
|
12956
|
+
"groupOs": "Paquets système",
|
|
12957
|
+
"notInstalled": "Non installé",
|
|
12958
|
+
"goToPage": "Ouvrir la page",
|
|
12959
|
+
"hubHint": "Cataloguez les logiciels et les environnements d'exécution sur cet hôte. Numérisez pour actualiser.",
|
|
12960
|
+
"intervalDay": "tous les jours",
|
|
12961
|
+
"intervalDays": "tous les {{n}} jours",
|
|
12962
|
+
"intervalHour": "toutes les heures",
|
|
12963
|
+
"intervalHours": "toutes les {{n}} heures",
|
|
12964
|
+
"intervalMinutes": "toutes les {{n}} minutes",
|
|
12965
|
+
"intervalSeconds": "toutes les {{n}} secondes",
|
|
12966
|
+
"availableHint": "Packages avec un candidat plus récent du gestionnaire de packages.",
|
|
12967
|
+
"servicesHint": "Services de catalogue sur cet hôte. Ouvrez la page du service pour installer.",
|
|
12968
|
+
"runtimeHint": "Durées d'exécution sur cet hôte. Les mises à niveau de version sont effectuées sur chaque page d'exécution.",
|
|
12969
|
+
"needsReboot": "Redémarrage nécessaire",
|
|
12970
|
+
"kernelRebootWarn": "L'installation d'un nouveau noyau nécessite généralement un redémarrage avant son utilisation.",
|
|
12971
|
+
"neverRun": "pas encore couru",
|
|
12972
|
+
"scanOsvN": "Scan + OSV (premier {{n}})",
|
|
12973
|
+
"rebootNeeded": "redémarrer",
|
|
12974
|
+
"kernelRebootHint": "Les packages du noyau nécessitent un redémarrage après l'application",
|
|
12975
|
+
"needApprovalHint": "Ouvrez Disponible et filtrez les packages qui nécessitent une approbation",
|
|
12976
|
+
"applyNeedConfirm": "Ouvre une boîte de dialogue de confirmation avant d'appliquer",
|
|
12977
|
+
"probeFailed": "La sonde a échoué",
|
|
12978
|
+
"notViaApt": "Non géré par apt — aucun candidat",
|
|
12979
|
+
"noCandidate": "Aucune version candidate",
|
|
12980
|
+
"jobOpenGeo": "Page GéoIP",
|
|
12981
|
+
"job": {
|
|
12982
|
+
"protection_probe": {
|
|
12983
|
+
"name": "Sonde de protection",
|
|
12984
|
+
"hint": "Signaux de défense périodiques"
|
|
12985
|
+
},
|
|
12986
|
+
"updates_scan": {
|
|
12987
|
+
"name": "Analyse des mises à jour",
|
|
12988
|
+
"hint": "Actualiser l'inventaire des packages"
|
|
12989
|
+
},
|
|
12990
|
+
"daily_backup": {
|
|
12991
|
+
"name": "Sauvegarde quotidienne",
|
|
12992
|
+
"hint": "Sauvegarde planifiée tout"
|
|
12993
|
+
},
|
|
12994
|
+
"db_temp_expire": {
|
|
12995
|
+
"name": "Expiration des utilisateurs de base de données temporaires",
|
|
12996
|
+
"hint": "Supprimer les utilisateurs de base de données temporaires expirés"
|
|
12997
|
+
},
|
|
12998
|
+
"defense_auto_ban": {
|
|
12999
|
+
"name": "Interdiction automatique de la défense",
|
|
13000
|
+
"hint": "Appliquer une coche d'interdiction automatique"
|
|
13001
|
+
},
|
|
13002
|
+
"defense_geoip_update": {
|
|
13003
|
+
"name": "Mise à jour GeoIP",
|
|
13004
|
+
"hint": "Télécharger les bases de données GeoIP"
|
|
13005
|
+
},
|
|
13006
|
+
"log_auto_vacuum": {
|
|
13007
|
+
"name": "Aspirateur à bûches",
|
|
13008
|
+
"hint": "conservation du journal"
|
|
13009
|
+
},
|
|
13010
|
+
"email_dnsbl": {
|
|
13011
|
+
"name": "Envoyer un e-mail à DNSBL",
|
|
13012
|
+
"hint": "Vérification DNSBL par courrier"
|
|
13013
|
+
},
|
|
13014
|
+
"validators_upgrade_scan": {
|
|
13015
|
+
"name": "Validators upgrade scan",
|
|
13016
|
+
"hint": "Check validator image / binary updates"
|
|
13017
|
+
}
|
|
13018
|
+
},
|
|
13019
|
+
"applyPanelAlreadyLatest": "Déjà la dernière version du panneau",
|
|
13020
|
+
"panelRestarting": "Le panneau redémarre pour charger la nouvelle version…",
|
|
13021
|
+
"panelRestarted": "Panneau de retour · {{version}}",
|
|
13022
|
+
"panelRestartWait": "Mise à jour appliquée. Si la page ne se rafraîchit pas, rechargez dans quelques secondes.",
|
|
13023
|
+
"cveNotChecked": "Not checked",
|
|
13024
|
+
"cveLabel": "CVE",
|
|
13025
|
+
"riskUnevaluated": "Not evaluated — run Scan + OSV"
|
|
11440
13026
|
},
|
|
11441
13027
|
"users": {
|
|
11442
13028
|
"userCount": "{{count}} utilisateurs",
|
|
@@ -11558,7 +13144,291 @@
|
|
|
11558
13144
|
"securityClearTotpHint": "Nécessite une authentification renforcée",
|
|
11559
13145
|
"securityClearConfirm": "Saisissez le nom d'utilisateur pour confirmer la suppression de la 2FA",
|
|
11560
13146
|
"securityClearOk": "2FA supprimée pour {{name}}",
|
|
11561
|
-
"securitySelfNote": "Pour configurer votre propre 2FA, ouvrez Sécurité → Ma sécurité."
|
|
13147
|
+
"securitySelfNote": "Pour configurer votre propre 2FA, ouvrez Sécurité → Ma sécurité.",
|
|
13148
|
+
"cannotDeleteSelf": "Impossible de supprimer le compte actuellement connecté",
|
|
13149
|
+
"cannotModifySelf": "Impossible de suspendre ou rétrograder le compte actuellement connecté",
|
|
13150
|
+
"cannotDeleteLastAdmin": "Impossible de supprimer le dernier administrateur",
|
|
13151
|
+
"cannotDemoteLastAdmin": "Impossible de suspendre ou rétrograder le dernier administrateur",
|
|
13152
|
+
"lockSelfHint": "Ceci est le compte connecté. La suppression, la suspension et le changement de rôle sont bloqués pour éviter un verrouillage.",
|
|
13153
|
+
"lockLastAdminHint": "Ceci est le dernier administrateur. La suppression, la suspension et la rétrogradation sont bloquées.",
|
|
13154
|
+
"demoteAdminTitle": "Rétrograder cet administrateur ?",
|
|
13155
|
+
"demoteAdminDesc": "Cet utilisateur perdra l’accès administrateur complet. Confirmez qu’un autre administrateur reste.",
|
|
13156
|
+
"searchPkgPh": "Nom du package",
|
|
13157
|
+
"quotaNonNeg": "Les décomptes et les quotas ne peuvent pas être négatifs.",
|
|
13158
|
+
"diskQuotaHint": "Les préréglages sont en GiB ; la boîte personnalisée est MiB.",
|
|
13159
|
+
"bandwidthHint": "0 signifie illimité.",
|
|
13160
|
+
"impersonateHint": "Ouvre une session en tant qu'utilisateur. Utilisez le menu du compte pour quitter l’usurpation d’identité.",
|
|
13161
|
+
"operatorHighRiskHint": "Le rôle opérateur d’usine inclut des écritures à haut risque. Le restreindre n’affecte que les nouveaux comptes ; changer le défaut affecte les opérateurs existants.",
|
|
13162
|
+
"cannotImpersonateSelf": "Vous êtes déjà connecté avec ce compte",
|
|
13163
|
+
"singleAdminNo2fa": "Cet hôte a un seul administrateur et 2FA est désactivé : activez 2FA et ajoutez un administrateur de sauvegarde.",
|
|
13164
|
+
"enableAdmin2fa": "Enable admin 2FA",
|
|
13165
|
+
"addBackupAdmin": "Add a backup admin"
|
|
13166
|
+
},
|
|
13167
|
+
"validators": {
|
|
13168
|
+
"title": "Validateurs (Beta)",
|
|
13169
|
+
"subtitle": "Installez et gérez des nœuds L1 sur cet hôte. Non dépositaire — vous gardez les clés.",
|
|
13170
|
+
"beta": "Beta",
|
|
13171
|
+
"tab": {
|
|
13172
|
+
"nodes": "Nœuds",
|
|
13173
|
+
"disk": "Disque",
|
|
13174
|
+
"about": "À propos"
|
|
13175
|
+
},
|
|
13176
|
+
"empty": {
|
|
13177
|
+
"title": "Aucun nœud validateur pour l’instant",
|
|
13178
|
+
"desc": "Créez un nœud de testnet en quelques clics."
|
|
13179
|
+
},
|
|
13180
|
+
"refresh": "Actualiser",
|
|
13181
|
+
"disk": {
|
|
13182
|
+
"title": "Disque des validateurs",
|
|
13183
|
+
"root": "Répertoire de données",
|
|
13184
|
+
"free": "Libre",
|
|
13185
|
+
"used": "Utilisé",
|
|
13186
|
+
"none": "Pas encore de données d’instance",
|
|
13187
|
+
"warn": "Utilisation du disque élevée (70 %+)",
|
|
13188
|
+
"danger": "Utilisation du disque critique (85 %+)",
|
|
13189
|
+
"autoClear": "Vider automatiquement la plus grande instance arrêtée lorsque le disque est critique (désactivé par défaut)",
|
|
13190
|
+
"autoClearRisk": "Destructive: the largest stopped instance is deleted without a further prompt. Default is off. Check audit / logs after it fires.",
|
|
13191
|
+
"autoClearConfirmTitle": "Enable auto-clear?",
|
|
13192
|
+
"autoClearC1": "When disk is critical, the largest stopped instance is deleted without asking again."
|
|
13193
|
+
},
|
|
13194
|
+
"chain": {
|
|
13195
|
+
"eth": "Ethereum",
|
|
13196
|
+
"avax": "Avalanche",
|
|
13197
|
+
"near": "NEAR",
|
|
13198
|
+
"ada": "Cardano",
|
|
13199
|
+
"btc": "Bitcoin",
|
|
13200
|
+
"cosmos": "Cosmos Hub",
|
|
13201
|
+
"sui": "Sui",
|
|
13202
|
+
"aptos": "Aptos",
|
|
13203
|
+
"dot": "Polkadot",
|
|
13204
|
+
"sol": "Solana"
|
|
13205
|
+
},
|
|
13206
|
+
"network": {
|
|
13207
|
+
"hoodi": "Hoodi",
|
|
13208
|
+
"sepolia": "Sepolia",
|
|
13209
|
+
"mainnet": "Réseau principal",
|
|
13210
|
+
"fuji": "Fuji",
|
|
13211
|
+
"testnet": "Réseau de test",
|
|
13212
|
+
"preview": "Aperçu",
|
|
13213
|
+
"preprod": "Préproduction",
|
|
13214
|
+
"westend": "Westend"
|
|
13215
|
+
},
|
|
13216
|
+
"networkKind": {
|
|
13217
|
+
"testnet": "Réseau de test",
|
|
13218
|
+
"mainnet": "Réseau principal",
|
|
13219
|
+
"mixed": "Mainnet + testnet"
|
|
13220
|
+
},
|
|
13221
|
+
"profile": {
|
|
13222
|
+
"minimal": "Minimaliste",
|
|
13223
|
+
"pruned": "Pruned",
|
|
13224
|
+
"validator-ready": "Prêt validateur",
|
|
13225
|
+
"rpc": "RPC"
|
|
13226
|
+
},
|
|
13227
|
+
"col": {
|
|
13228
|
+
"id": "ID",
|
|
13229
|
+
"chain": "Chaîne",
|
|
13230
|
+
"network": "Réseau",
|
|
13231
|
+
"profile": "Profil",
|
|
13232
|
+
"status": "État",
|
|
13233
|
+
"disk": "Disque"
|
|
13234
|
+
},
|
|
13235
|
+
"cli": {
|
|
13236
|
+
"usage": "Utilisation : ysk-server validators list|chains|disk|get|status|logs|create|start|stop|restart|clear|upgrade|policy|mithril|prune|switch-network|snapshot|compose|settings [--chain C] [--network N] [--profile P] [--el EL] [--cl CL] [--data-path P] [--rpc-port N] [--id ID] [--upgrade POLICY] [--confirm TOKEN] [--execute] [--json]"
|
|
13237
|
+
},
|
|
13238
|
+
"clients": {
|
|
13239
|
+
"el": "Client d’exécution",
|
|
13240
|
+
"cl": "Client de consensus"
|
|
13241
|
+
},
|
|
13242
|
+
"mithril": {
|
|
13243
|
+
"label": "Restaurer d’abord depuis un instantané Mithril (recommandé en testnet)",
|
|
13244
|
+
"action": "Restaurer avec Mithril"
|
|
13245
|
+
},
|
|
13246
|
+
"errors": {
|
|
13247
|
+
"notFound": "Instance de validateur introuvable",
|
|
13248
|
+
"invalidId": "Identifiant d’instance invalide",
|
|
13249
|
+
"diskLow": "Pas assez d’espace disque libre pour cette chaîne, ce réseau et ce profil",
|
|
13250
|
+
"diskUnknownMainnet": "Impossible de mesurer l’espace libre ; création en réseau principal refusée",
|
|
13251
|
+
"needDocker": "Docker Compose est requis et introuvable",
|
|
13252
|
+
"composeFailed": "docker compose a échoué",
|
|
13253
|
+
"needConfirm": "Vider exige confirm=identifiant d’instance ou CLEAR",
|
|
13254
|
+
"mithrilAdaOnly": "La restauration Mithril n’est disponible que pour Cardano",
|
|
13255
|
+
"needMithrilConfirm": "Mithril exige confirm=identifiant d’instance ou MITHRIL",
|
|
13256
|
+
"mithrilBlocked": "Le docker run Mithril a été bloqué par la liste d’autorisation",
|
|
13257
|
+
"mithrilKey": "Impossible de charger la clé de vérification genesis Mithril",
|
|
13258
|
+
"mithrilFailed": "Échec du téléchargement de l’instantané Mithril",
|
|
13259
|
+
"pruneFailed": "Le nettoyage a échoué",
|
|
13260
|
+
"switchNeedStop": "Arrêtez le nœud avant de changer de réseau",
|
|
13261
|
+
"switchNeedClear": "Changer de réseau efface les données de chaîne. Confirmez avec l’identifiant d’instance ou CLEAR",
|
|
13262
|
+
"composeMissing": "Fichier Compose introuvable",
|
|
13263
|
+
"composeNotManaged": "Refus d’écrire un fichier Compose non géré par YSK",
|
|
13264
|
+
"badDataPath": "Le chemin de données doit être un répertoire absolu hors des chemins système",
|
|
13265
|
+
"portInUse": "Ce port RPC est déjà utilisé par une autre instance de validateur",
|
|
13266
|
+
"snapshotUnsupported": "Aucune source d’instantané autorisée pour cette chaîne",
|
|
13267
|
+
"snapshotLookup": "Impossible de résoudre le pointeur d’instantané officiel",
|
|
13268
|
+
"needSnapshotConfirm": "La restauration d’instantané exige confirm=identifiant d’instance ou SNAPSHOT",
|
|
13269
|
+
"snapshotBlocked": "Le docker run d’instantané a été bloqué par la liste d’autorisation",
|
|
13270
|
+
"snapshotFailed": "Échec du téléchargement ou de l’extraction de l’instantané"
|
|
13271
|
+
},
|
|
13272
|
+
"notes": {
|
|
13273
|
+
"beta": "Cette fonction est Beta. Les changements d’hôte nécessitent root et YSK_EXECUTE=1.",
|
|
13274
|
+
"noKeys": "YSK Server ne génère ni n’enregistre jamais de clés de staking.",
|
|
13275
|
+
"dockerSoon": "Install and start from this page wizard. Host changes need root and YSK_EXECUTE=1.",
|
|
13276
|
+
"dryCreate": "Spécification d’instance et compose écrits (dry-run). Passez --execute et YSK_EXECUTE=1 pour démarrer les conteneurs.",
|
|
13277
|
+
"dryStart": "Le démarrage est un dry-run. Passez --execute et YSK_EXECUTE=1.",
|
|
13278
|
+
"dryStop": "L’arrêt est un dry-run. Passez --execute et YSK_EXECUTE=1.",
|
|
13279
|
+
"dryClear": "Le vidage est un dry-run. Passez --execute et YSK_EXECUTE=1.",
|
|
13280
|
+
"created": "Nœud créé et compose démarré",
|
|
13281
|
+
"started": "Nœud démarré",
|
|
13282
|
+
"stopped": "Nœud arrêté",
|
|
13283
|
+
"cleared": "Données de chaîne vidées",
|
|
13284
|
+
"dryMithril": "La restauration Mithril est un dry-run. Passez --execute et YSK_EXECUTE=1.",
|
|
13285
|
+
"mithril": "Instantané Mithril restauré ; nœud redémarré",
|
|
13286
|
+
"dryPrune": "Le nettoyage est un dry-run. Passez --execute et YSK_EXECUTE=1.",
|
|
13287
|
+
"pruned": "Images de projet inutilisées nettoyées",
|
|
13288
|
+
"pruneProfile": "L’élagage natif du client est le profil pruned/minimal. Recréez pour le changer.",
|
|
13289
|
+
"sameNetwork": "Déjà sur ce réseau",
|
|
13290
|
+
"drySwitch": "Le changement de réseau est un dry-run.",
|
|
13291
|
+
"switched": "Réseau changé et données de chaîne vidées",
|
|
13292
|
+
"dryCompose": "Écrirait compose.yml",
|
|
13293
|
+
"composeWrote": "compose.yml écrit",
|
|
13294
|
+
"statsEmpty": "Aucun conteneur en cours d’exécution à mesurer",
|
|
13295
|
+
"autoClearNone": "Aucune instance arrêtée à vider automatiquement",
|
|
13296
|
+
"drySnapshot": "La restauration d’instantané est un dry-run. Passez --execute et YSK_EXECUTE=1.",
|
|
13297
|
+
"snapshotEthEl": "Archive EL ethPandaOps restaurée et CL réinitialisé pour le checkpoint sync",
|
|
13298
|
+
"snapshotEthCl": "Données CL réinitialisées pour le checkpoint sync officiel",
|
|
13299
|
+
"snapshotNear": "Données NEAR effacées ; compose réinitialisera avec le genesis officiel et epoch sync",
|
|
13300
|
+
"nativePrune": "Commande d’élagage native du client exécutée",
|
|
13301
|
+
"dryDelete": "Delete is dry-run. Pass --execute and YSK_EXECUTE=1.",
|
|
13302
|
+
"deleted": "Node deleted"
|
|
13303
|
+
},
|
|
13304
|
+
"create": "Créer un nœud",
|
|
13305
|
+
"wizard": {
|
|
13306
|
+
"title": "Créer un nœud",
|
|
13307
|
+
"back": "Retour",
|
|
13308
|
+
"next": "Suivant",
|
|
13309
|
+
"install": "Installer",
|
|
13310
|
+
"mainnetWarn": "Le réseau principal demande beaucoup d’espace libre (ETH souvent 800 Gio+). Le testnet est recommandé.",
|
|
13311
|
+
"mainnetAck": "Je comprends le risque disque et slashing. Continuer en réseau principal.",
|
|
13312
|
+
"heavyWarn": "Cette chaîne est lourde (gros disque et IOPS élevés). Solana en réseau principal demande généralement 2 Tio+.",
|
|
13313
|
+
"memory": "Limite mémoire (ex. 4g)",
|
|
13314
|
+
"cpus": "Limite CPU (ex. 2.0)",
|
|
13315
|
+
"dataPath": "Chemin de données (facultatif)",
|
|
13316
|
+
"rpcPort": "Port RPC (facultatif)",
|
|
13317
|
+
"stepOf": "Step {{n}} / {{total}}",
|
|
13318
|
+
"stepChain": "Chain",
|
|
13319
|
+
"stepNetwork": "Network",
|
|
13320
|
+
"stepProfile": "Profile",
|
|
13321
|
+
"stepSummary": "Summary",
|
|
13322
|
+
"needDocker": "Docker Engine is not installed. Install it first — this button stays disabled.",
|
|
13323
|
+
"diskNeed": "This profile needs about {{need}} · free {{free}}",
|
|
13324
|
+
"diskShort": "Not enough free disk for this chain / network / profile",
|
|
13325
|
+
"limitNone": "No limit",
|
|
13326
|
+
"rpcDefault": "Default",
|
|
13327
|
+
"customPath": "Use a custom data path",
|
|
13328
|
+
"installConfirmTitle": "Install this node?",
|
|
13329
|
+
"installConfirmDesc": "{{chain}} · {{network}} · {{profile}}. About {{disk}} of disk. The image pull can take a long time.",
|
|
13330
|
+
"installC1": "Several gigabytes of images may be downloaded.",
|
|
13331
|
+
"installC2": "You can cancel the panel task; already-pulled images are not deleted automatically."
|
|
13332
|
+
},
|
|
13333
|
+
"actions": {
|
|
13334
|
+
"detail": "Détails",
|
|
13335
|
+
"start": "Démarrer",
|
|
13336
|
+
"stop": "Arrêter",
|
|
13337
|
+
"restart": "Redémarrer",
|
|
13338
|
+
"clear": "Vider",
|
|
13339
|
+
"upgrade": "Mettre à jour",
|
|
13340
|
+
"clearConfirm": "Saisissez l’identifiant d’instance ou CLEAR",
|
|
13341
|
+
"prune": "Nettoyer les images",
|
|
13342
|
+
"switchNetwork": "Changer de réseau",
|
|
13343
|
+
"removeUnit": "Supprimer aussi compose / l’enregistrement d’instance",
|
|
13344
|
+
"restoreAfter": "Restaurer l’instantané après vidage",
|
|
13345
|
+
"delete": "Delete",
|
|
13346
|
+
"deleteTitle": "Delete {{id}}",
|
|
13347
|
+
"deleteDesc": "This removes the node from the panel.",
|
|
13348
|
+
"deleteC1": "Docker Compose is stopped and removed",
|
|
13349
|
+
"deleteC2": "Chain data on disk is deleted",
|
|
13350
|
+
"deleteC3": "The instance record is removed",
|
|
13351
|
+
"pruneTitle": "Prune unused images",
|
|
13352
|
+
"pruneDesc": "Type the instance id to prune unused Compose images for this node.",
|
|
13353
|
+
"pruneC1": "Unused images labelled for this Compose project are deleted.",
|
|
13354
|
+
"clearTitle": "Clear {{id}}",
|
|
13355
|
+
"clearC1": "Chain data on disk is deleted.",
|
|
13356
|
+
"clearC2": "The instance stays in the panel, stopped and empty.",
|
|
13357
|
+
"switchTitle": "Switch network",
|
|
13358
|
+
"switchC1": "The node is stopped and chain data is wiped before the new network is written."
|
|
13359
|
+
},
|
|
13360
|
+
"policy": {
|
|
13361
|
+
"label": "Politique de mise à jour",
|
|
13362
|
+
"manual": "Manuel",
|
|
13363
|
+
"notify": "Notifier",
|
|
13364
|
+
"auto-safe": "Auto (sûr)",
|
|
13365
|
+
"auto-all": "Auto (tout)"
|
|
13366
|
+
},
|
|
13367
|
+
"logs": {
|
|
13368
|
+
"empty": "Pas encore de journaux",
|
|
13369
|
+
"follow": "Suivre les journaux"
|
|
13370
|
+
},
|
|
13371
|
+
"compose": {
|
|
13372
|
+
"label": "Fichier Compose",
|
|
13373
|
+
"save": "Enregistrer compose"
|
|
13374
|
+
},
|
|
13375
|
+
"snapshot": {
|
|
13376
|
+
"action": "Restaurer l’instantané",
|
|
13377
|
+
"mithril": "Cardano utilise Mithril pour restaurer un instantané certifié.",
|
|
13378
|
+
"eth": "Ethereum en réseau principal démarre via le checkpoint sync officiel du client de consensus. L’EL continue en snap sync.",
|
|
13379
|
+
"ethEl": "Hoodi/Sepolia peuvent restaurer une archive EL ethPandaOps, puis faire un checkpoint-sync du CL.",
|
|
13380
|
+
"avax": "Avalanche utilise state-sync dans le profil compose.",
|
|
13381
|
+
"near": "Les instantanés tar NEAR gratuits officiels ont été retirés. Restaurer efface les données et utilise le genesis officiel plus epoch sync.",
|
|
13382
|
+
"none": "Aucune source d’instantané n’est configurée pour cette chaîne."
|
|
13383
|
+
},
|
|
13384
|
+
"stake": {
|
|
13385
|
+
"title": "Préparer le staking (vous gardez les clés)",
|
|
13386
|
+
"offlineKeys": "Générez les clés hors ligne. Le panneau ne les stocke jamais.",
|
|
13387
|
+
"deposit": "Terminez le dépôt / l’enregistrement sur le launchpad officiel.",
|
|
13388
|
+
"withdrawal": "Définissez vous-même les identifiants de retrait.",
|
|
13389
|
+
"monitor": "Surveillez disque, pairs et badges de mise à jour sur cette page."
|
|
13390
|
+
},
|
|
13391
|
+
"alerts": {
|
|
13392
|
+
"diskTitle": "Disque validateur critique",
|
|
13393
|
+
"diskBody": "L’espace libre du volume de données validateur est critique.",
|
|
13394
|
+
"upgradeTitle": "Mise à jour validateur disponible",
|
|
13395
|
+
"upgradeBody": "Un ou plusieurs clients de nœud ont une version épinglée plus récente.",
|
|
13396
|
+
"syncTitle": "Le nœud validateur nécessite une attention",
|
|
13397
|
+
"syncBody": "Un nœud se synchronise depuis plus de 6 heures ou a signalé une erreur.",
|
|
13398
|
+
"rollbackTitle": "Mise à jour validateur annulée",
|
|
13399
|
+
"rollbackBody": "La mise à jour de {{id}} a échoué au contrôle de santé et a été annulée."
|
|
13400
|
+
},
|
|
13401
|
+
"upgrade": {
|
|
13402
|
+
"changelog": "Journal des changements"
|
|
13403
|
+
},
|
|
13404
|
+
"readiness": {
|
|
13405
|
+
"dockerTitle": "Docker pour les nœuds validateurs",
|
|
13406
|
+
"dockerOk": "{{count}} instance(s) de validateur ; Docker est installé",
|
|
13407
|
+
"dockerMissing": "Des instances de validateur existent mais la commande docker est introuvable"
|
|
13408
|
+
},
|
|
13409
|
+
"detail": {
|
|
13410
|
+
"status": "Status",
|
|
13411
|
+
"sync": "Sync",
|
|
13412
|
+
"peers": "Peers",
|
|
13413
|
+
"version": "Version",
|
|
13414
|
+
"access": "Access",
|
|
13415
|
+
"upgrade": "Updates",
|
|
13416
|
+
"upgradeHint": "How this node tracks client versions.",
|
|
13417
|
+
"network": "Network",
|
|
13418
|
+
"networkHint": "Switching network stops the node and clears chain data. Confirm under Clear data first.",
|
|
13419
|
+
"maintain": "Maintenance",
|
|
13420
|
+
"danger": "Clear data",
|
|
13421
|
+
"dangerHint": "Type the instance id or CLEAR. This deletes chain data on disk.",
|
|
13422
|
+
"compose": "Compose",
|
|
13423
|
+
"logs": "Logs"
|
|
13424
|
+
},
|
|
13425
|
+
"state": {
|
|
13426
|
+
"unknown": "Unknown",
|
|
13427
|
+
"stopped": "Stopped",
|
|
13428
|
+
"running": "Running",
|
|
13429
|
+
"syncing": "Syncing",
|
|
13430
|
+
"error": "Error"
|
|
13431
|
+
}
|
|
11562
13432
|
},
|
|
11563
13433
|
"vnc": {
|
|
11564
13434
|
"pageDesc": "Serveur et client VNC",
|
|
@@ -11804,7 +13674,16 @@
|
|
|
11804
13674
|
"stackMissingShort": "Non installé",
|
|
11805
13675
|
"editClientTitle": "Modifier le client distant",
|
|
11806
13676
|
"editClientDesc": "Mettez à jour le chemin, les hôtes et le mot de passe stocké facultatif.",
|
|
11807
|
-
"clientUpdated": "Profil client mis à jour"
|
|
13677
|
+
"clientUpdated": "Profil client mis à jour",
|
|
13678
|
+
"rememberNeedPassword": "Entrez d'abord un mot de passe.",
|
|
13679
|
+
"settingsNeedStack": "Ces valeurs par défaut s'appliquent lorsque TigerVNC (et XFCE si sélectionné) sont installés. Installez-les d'abord dans l'onglet Installer.",
|
|
13680
|
+
"clientNeedNovnc": "Ouvrir dans le navigateur nécessite noVNC. Installez-le dans l'onglet Installer avant d'ajouter les télécommandes que vous prévoyez d'ouvrir ici.",
|
|
13681
|
+
"needXfceFirst": "Install XFCE first",
|
|
13682
|
+
"needSessionRunning": "Session is not running — start it first",
|
|
13683
|
+
"deleteKeepUserWarn": "The Linux user will stay on the host as an orphan. You must clean it up later.",
|
|
13684
|
+
"bindRfbLine": "RFB {{bind}} :{{port}}",
|
|
13685
|
+
"bindNovncLine": "noVNC 127.0.0.1:{{port}}",
|
|
13686
|
+
"bindNovncHint": "noVNC listens on localhost. The desktop is reached through this panel, not the public internet, unless RFB bind is all interfaces."
|
|
11808
13687
|
},
|
|
11809
13688
|
"vpn": {
|
|
11810
13689
|
"pageDesc": "Serveur et client VPN",
|
|
@@ -11812,7 +13691,7 @@
|
|
|
11812
13691
|
"tab": {
|
|
11813
13692
|
"wireguard": "WireGuard",
|
|
11814
13693
|
"openvpn": "OpenVPN",
|
|
11815
|
-
"outline": "
|
|
13694
|
+
"outline": "Shadowsocks",
|
|
11816
13695
|
"client": "Client local",
|
|
11817
13696
|
"software": "Logiciels",
|
|
11818
13697
|
"monitor": "Moniteur",
|
|
@@ -11935,6 +13814,21 @@
|
|
|
11935
13814
|
"lanCidrs": "Réseaux LAN",
|
|
11936
13815
|
"customCidr": "CIDR",
|
|
11937
13816
|
"addCidr": "Ajouter"
|
|
11938
|
-
}
|
|
13817
|
+
},
|
|
13818
|
+
"engineNotInstalled": "Ce moteur VPN n'est pas installé sur l'hôte.",
|
|
13819
|
+
"serverNotListening": "L'unité serveur n'est pas active. UDP/TCP {{port}} est peut-être fermé.",
|
|
13820
|
+
"installEngineFirst": "Installez d'abord le moteur VPN",
|
|
13821
|
+
"portHint": {
|
|
13822
|
+
"51820": "Port d'écoute WireGuard par défaut",
|
|
13823
|
+
"51821": "Port d'écoute WireGuard alternatif",
|
|
13824
|
+
"51822": "Deuxième port d'écoute WireGuard alternatif"
|
|
13825
|
+
},
|
|
13826
|
+
"needServerRunning": "{{engine}} is not running — apply the server first",
|
|
13827
|
+
"engineSummarySoftware": "{{installed}} installed · {{running}} running",
|
|
13828
|
+
"privateKeyOnce": "The client private key is shown only here. Download or copy it now — it cannot be recovered later.",
|
|
13829
|
+
"showPrivateKey": "Show private key",
|
|
13830
|
+
"hidePrivateKey": "Hide private key",
|
|
13831
|
+
"deletePeerTitle": "Delete peer {{name}}?",
|
|
13832
|
+
"deletePeerDesc": "Remove {{name}} ({{address}}). The client disconnects immediately and the config cannot be restored."
|
|
11939
13833
|
}
|
|
11940
13834
|
}
|