Compare commits

..

129 Commits

Author SHA1 Message Date
bed3fe71f6 Try to fix crlf issue on Windows 2025-03-29 15:56:13 +08:00
34c5fa37b9 Change to package-lock.json 2025-03-29 15:49:52 +08:00
1e83d78c28 Switch back to npm 2025-03-29 15:46:05 +08:00
cdf13cebd0 Update node requirement 2025-03-29 15:24:55 +08:00
71e773ae9f Fix: configs.content syntax not supported despite being valid in Docker Compose 2.23.1+ (#740)
Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
2025-03-29 15:17:25 +08:00
74e9efd471 Update dependencies 2025-03-29 15:14:25 +08:00
d451e06e84 Update dependencies 2025-01-04 18:14:17 +08:00
a65a9f5549 fix bug 176: preserve YAML comments when reordering items by matching… (#685) 2024-12-31 15:43:17 +08:00
9b73e44cd9 Remove useless scrollbar (#642) 2024-12-31 15:41:15 +08:00
81818a19d1 Update dependencies 2024-12-26 16:22:24 +08:00
1372bd2ce1 Remove the tsx workaround as it had been fixed in upstream 2024-12-26 16:22:08 +08:00
01906205f0 1.5.x (#636) 2024-10-14 14:20:34 +08:00
28337c5430 Add ARMv7 for CI 2024-10-14 14:14:52 +08:00
5baf48db63 Also update ci's node version to 22 2024-10-14 00:53:24 +08:00
b2c8fdab75 Add Translation keys (#506) 2024-10-14 00:51:59 +08:00
e12525fa42 Pin node-pty-prebuilt-multiarch 2024-10-13 21:11:38 +08:00
3e3f67c6b7 Update css for terminal 2024-10-13 21:11:20 +08:00
020faa49d2 Merge branch 'master' into 1.5.X 2024-10-13 20:43:58 +08:00
df95d7ce9d Translations update from Kuma Weblate (#396) 2024-10-13 20:41:38 +08:00
7a2524c542 Translated using Weblate (Hungarian)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/hu/
2024-10-13 12:40:45 +00:00
6ceaa70cdd Translated using Weblate (German)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/de/
2024-10-13 12:40:45 +00:00
caea8996da Translated using Weblate (Hungarian)
Currently translated at 99.1% (113 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/hu/
2024-10-13 12:40:45 +00:00
39e3d5a07c Translated using Weblate (Ukrainian)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/uk/
2024-10-13 12:40:45 +00:00
723afb5bc2 Translated using Weblate (Italian)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/it/
2024-10-13 12:40:45 +00:00
3b3b3a7940 Translated using Weblate (Belarusian)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/be/
2024-10-13 12:40:45 +00:00
f9309a0650 Added translation using Weblate (Belarusian) 2024-10-13 12:40:45 +00:00
54c2be7abe Translated using Weblate (Dutch)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/nl/
2024-10-13 12:40:45 +00:00
48db1c73a8 Translated using Weblate (Polish)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/pl/
2024-10-13 12:40:45 +00:00
88f696d9b1 Translated using Weblate (Slovenian)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/sl/
2024-10-13 12:40:45 +00:00
f80cfca64b Translated using Weblate (Catalan)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/ca/
2024-10-13 12:40:45 +00:00
1ddd70791a Translated using Weblate (Turkish)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/tr/
2024-10-13 12:40:45 +00:00
5f01347d2f Translated using Weblate (Arabic)
Currently translated at 96.4% (110 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/ar/
2024-10-13 12:40:45 +00:00
04c9a8669d Translated using Weblate (Hungarian)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/hu/
2024-10-13 12:40:45 +00:00
91b7c18c52 Translated using Weblate (Spanish)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/es/
2024-10-13 12:40:45 +00:00
9cef4ad9ee Translated using Weblate (Irish)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/ga/
2024-10-13 12:40:45 +00:00
e7dd099f17 Added translation using Weblate (Irish) 2024-10-13 12:40:45 +00:00
d27fd2919b Translated using Weblate (Danish)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/da/
2024-10-13 12:40:45 +00:00
e2f5796470 Translated using Weblate (Portuguese)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/pt/
2024-10-13 12:40:45 +00:00
88f26f53c5 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/pt_BR/
2024-10-13 12:40:45 +00:00
ccd9d96227 Translated using Weblate (Thai)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/th/
2024-10-13 12:40:45 +00:00
a8dcfe4ccd Translated using Weblate (Norwegian Bokmål)
Currently translated at 27.1% (31 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/nb_NO/
2024-10-13 12:40:45 +00:00
941ec0056a Translated using Weblate (Indonesian)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/id/
2024-10-13 12:40:45 +00:00
1bb6f2532c Translated using Weblate (Thai)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/th/
2024-10-13 12:40:45 +00:00
6fb24adc66 Translated using Weblate (Swedish)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/sv/
2024-10-13 12:40:45 +00:00
c4fe952121 Translated using Weblate (Arabic)
Currently translated at 92.9% (106 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/ar/
2024-10-13 12:40:45 +00:00
59bfe79c40 Added translation using Weblate (Norwegian Bokmål) 2024-10-13 12:40:45 +00:00
9e89f49e38 Fixed: An agent do not disconnect correctly after removed (#617) 2024-10-13 20:40:40 +08:00
19beb02b1e Update to Node.js 22 from 18, as the upstream cpu 100% issues has been fixed. 2024-10-13 20:36:04 +08:00
9dd68372c2 Update dependencies 2024-10-13 20:20:47 +08:00
109222f024 fix default compose version obsolete (#507) 2024-05-01 11:20:13 +08:00
5ad42a6dab docker compose version is obsolete (#473) 2024-04-20 12:47:20 +08:00
74c8baef93 Update json-yaml-validate to latest version (#446) 2024-03-13 16:28:02 +08:00
c7ea2f9ee9 Added Irish language (#425) 2024-02-12 13:08:14 +08:00
4a9173f5dc Update to 1.4.2 2024-01-22 00:54:58 +08:00
3d641090c0 Translations update from Kuma Weblate (#381) 2024-01-22 00:52:35 +08:00
32527100a0 Translated using Weblate (Japanese)
Currently translated at 95.6% (109 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/ja/
2024-01-21 16:51:02 +00:00
30c69583a7 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/zh_Hans/
2024-01-21 16:51:02 +00:00
69cbe16745 Translated using Weblate (Korean)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/ko/
2024-01-21 16:51:01 +00:00
f5df9a777c Translated using Weblate (Urdu)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/ur/
2024-01-19 18:56:15 +00:00
c33a469972 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/uk/
2024-01-18 18:16:31 +00:00
f667467091 Translated using Weblate (Russian)
Currently translated at 96.4% (110 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/ru/
2024-01-18 18:16:31 +00:00
2ff27b4073 Translated using Weblate (French)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/fr/
2024-01-18 18:16:28 +00:00
8ad6702932 Translated using Weblate (German)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/de/
2024-01-18 18:16:28 +00:00
6a7d7b5e43 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (114 of 114 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/bg/
2024-01-18 18:16:28 +00:00
66747b7a73 Workaround fix for tsx issue (#380) 2024-01-19 02:13:43 +08:00
051cc11eaa Add translate key (#368) 2024-01-18 03:36:28 +08:00
2e22f95720 Translations update from Kuma Weblate (#376) 2024-01-18 03:15:12 +08:00
4d10dc75a7 Translated using Weblate (Catalan)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/ca/
2024-01-17 19:14:48 +00:00
af2d40eeac Added translation using Weblate (Catalan) 2024-01-17 19:14:48 +00:00
5420c73960 Update i18n.ts with catalan language (#377) 2024-01-18 03:14:43 +08:00
2e6e2bda38 fix placeholder (#342) 2024-01-14 04:56:55 +08:00
36c3f01d00 Add Hungarian (#344) 2024-01-14 04:56:43 +08:00
7e05f51676 Translations update from Kuma Weblate (#340) 2024-01-14 04:56:30 +08:00
f9baa9180f Translated using Weblate (Indonesian)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/id/
2024-01-13 03:56:14 +00:00
3204020749 Translated using Weblate (Danish)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/da/
2024-01-10 22:56:14 +00:00
6d8487c879 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/zh_Hans/
2024-01-10 22:56:14 +00:00
cb72629596 Translated using Weblate (Polish)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/pl/
2024-01-10 22:56:14 +00:00
658c2828e2 Translated using Weblate (Hungarian)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/hu/
2024-01-08 21:56:14 +00:00
22b9f04426 Translated using Weblate (Turkish)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/tr/
2024-01-08 21:56:14 +00:00
0992408fa0 Translated using Weblate (Italian)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/it/
2024-01-08 21:56:14 +00:00
a24b2199fa Added translation using Weblate (Hungarian) 2024-01-06 17:08:13 +00:00
b7b1708696 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/vi/
2024-01-04 14:56:14 +00:00
17566fcd95 [README.md] Fix star badge 2024-01-04 03:12:43 +08:00
ec6bdea711 Fix the remote url is undefined (#338) 2024-01-04 00:43:39 +08:00
f8ad8c45fd Update to 1.4.0 2024-01-03 20:16:04 +08:00
c239f40acc Translations update from Kuma Weblate (#324) 2024-01-03 19:58:50 +08:00
8efa58e0d0 Translated using Weblate (Chinese (Simplified))
Currently translated at 88.4% (100 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/zh_Hans/
2024-01-03 11:22:49 +00:00
dbbefa6c09 Translated using Weblate (Dutch)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/nl/
2024-01-02 18:01:29 +00:00
a253f8ab25 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/vi/
2024-01-02 18:01:29 +00:00
701b0158b1 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/vi/
2024-01-02 18:01:29 +00:00
c94eb4805d Added translation using Weblate (Vietnamese) 2024-01-02 18:01:29 +00:00
4670121dfa Translated using Weblate (Chinese (Traditional))
Currently translated at 90.2% (102 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/zh_Hant/
2024-01-02 18:01:29 +00:00
9d5d062420 Translated using Weblate (Chinese (Traditional))
Currently translated at 88.4% (100 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/zh_Hant/
2024-01-02 18:01:29 +00:00
21f7a677a3 Translated using Weblate (German)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/de/
2024-01-02 18:01:29 +00:00
25026b1ed5 Translated using Weblate (Russian)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/ru/
2024-01-02 18:01:29 +00:00
afe433dbfa Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/pt_BR/
2024-01-02 18:01:29 +00:00
480c498974 Translated using Weblate (German)
Currently translated at 99.1% (112 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/de/
2024-01-02 18:01:29 +00:00
8fe75feb69 Translated using Weblate (German)
Currently translated at 99.1% (112 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/de/
2024-01-02 18:01:29 +00:00
17046b500b Translated using Weblate (Ukrainian)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/uk/
2024-01-02 18:01:29 +00:00
75ff8e1d5c Translated using Weblate (Swedish)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/sv/
2024-01-02 18:01:29 +00:00
660da44938 Translated using Weblate (Korean)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/ko/
2024-01-02 18:01:29 +00:00
193f975c4c Translated using Weblate (French)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/fr/
2024-01-02 18:01:29 +00:00
7f1b03edab Translated using Weblate (Spanish)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/es/
2024-01-02 18:01:29 +00:00
900ab8978f Translated using Weblate (Bulgarian)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/bg/
2024-01-02 18:01:29 +00:00
11e71f373d Translated using Weblate (Japanese)
Currently translated at 82.3% (93 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/ja/
2024-01-02 18:01:29 +00:00
8bd432a4b6 Translated using Weblate (Chinese (Traditional))
Currently translated at 88.4% (100 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/zh_Hant/
2024-01-02 18:01:29 +00:00
7795bcab03 Translated using Weblate (Chinese (Simplified))
Currently translated at 87.6% (99 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/zh_Hans/
2024-01-02 18:01:29 +00:00
3ad7302e03 Translated using Weblate (Indonesian)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/id/
2024-01-02 18:01:29 +00:00
3140947174 Translated using Weblate (Portuguese)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/pt/
2024-01-02 18:01:29 +00:00
2c7b938f69 Translated using Weblate (French)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/fr/
2024-01-02 18:01:29 +00:00
d3a595b02f Translated using Weblate (German)
Currently translated at 89.3% (101 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/de/
2024-01-02 18:01:29 +00:00
4b93794cda Translated using Weblate (English)
Currently translated at 100.0% (113 of 113 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/en/
2024-01-02 18:01:29 +00:00
8b8a9d0f1f Also apply the final release to the beta tag and the nightly tag 2024-01-03 02:01:17 +08:00
d4546e1a85 Added Vietnamese language (#332) 2024-01-02 03:45:37 +08:00
b8cff4cc51 Fix the hostname for the current agent 2023-12-30 19:31:23 +08:00
cc02eee50c [README.md] Add links to badges 2023-12-27 18:23:27 +08:00
5578f28456 Update to 1.4.0-beta.0 2023-12-26 19:45:15 +08:00
11f9302e62 Add Bahasa Indonesia to the list 2023-12-26 19:43:33 +08:00
012f7f1116 Translations update from Kuma Weblate (#318) 2023-12-26 19:41:39 +08:00
ea2b02587b Translated using Weblate (Russian)
Currently translated at 100.0% (101 of 101 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/ru/
2023-12-26 11:36:55 +00:00
91ba7761f9 Translated using Weblate (Indonesian)
Currently translated at 100.0% (101 of 101 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/id/
2023-12-26 11:36:55 +00:00
91b3165ea8 Translated using Weblate (Danish)
Currently translated at 100.0% (101 of 101 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/da/
2023-12-26 11:36:55 +00:00
f621d9c4c3 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (101 of 101 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/uk/
2023-12-26 11:36:55 +00:00
3e486008bb Translated using Weblate (Swedish)
Currently translated at 100.0% (101 of 101 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/sv/
2023-12-26 11:36:55 +00:00
4049ae22f0 Translated using Weblate (Slovenian)
Currently translated at 100.0% (101 of 101 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/sl/
2023-12-26 11:36:55 +00:00
df58de180e Translated using Weblate (Spanish)
Currently translated at 100.0% (101 of 101 strings)

Translation: Dockge/dockge
Translate-URL: https://weblate.kuma.pet/projects/dockge/dockge/es/
2023-12-26 11:36:55 +00:00
07e259db5c Added translation using Weblate (Indonesian) 2023-12-26 11:36:55 +00:00
1b84531b31 Update README.md 2023-12-26 04:14:23 +08:00
de2de0573b Multiple Dockge instances (#200) 2023-12-26 04:12:44 +08:00
58 changed files with 11861 additions and 5934 deletions

View File

@ -14,50 +14,31 @@ jobs:
ci: ci:
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, windows-latest, macos-latest, ARM64] os: [ubuntu-latest, windows-latest, macos-latest, ARM, ARM64]
node: [18.17.1] # Can be changed node: [22] # Can be changed
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Checkout Code - name: Checkout Code
run: | # Mainly for Windows
git config --global core.autocrlf false
git config --global core.eol lf
uses: actions/checkout@v4 uses: actions/checkout@v4
- run: git config --global core.autocrlf false # Mainly for Windows
- uses: actions/checkout@v3
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v3 uses: actions/setup-node@v3
with: with:
node-version: ${{matrix.node}} node-version: ${{matrix.node}}
- uses: pnpm/action-setup@v2
name: Install pnpm
with:
version: 8
run_install: false
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies - name: Install dependencies
run: pnpm install run: npm install
- name: Lint - name: Lint
run: pnpm run lint run: npm run lint
- name: Check Typescript - name: Check Typescript
run: pnpm run check-ts run: npm run check-ts
- name: Build - name: Build
run: pnpm run build:frontend run: npm run build:frontend
# more things can be add later like tests etc.. # more things can be add later like tests etc..

View File

@ -16,27 +16,5 @@ jobs:
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
name: Install pnpm
with:
version: 8
run_install: false
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install
- name: Close Incorrect Issue - name: Close Incorrect Issue
run: node extra/close-incorrect-issue.js ${{ secrets.GITHUB_TOKEN }} ${{ github.event.issue.number }} ${{ github.event.issue.user.login }} run: node extra/close-incorrect-issue.js ${{ secrets.GITHUB_TOKEN }} ${{ github.event.issue.number }} ${{ github.event.issue.user.login }}

View File

@ -17,11 +17,11 @@ jobs:
json-yaml-validate: json-yaml-validate:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: json-yaml-validate - name: json-yaml-validate
id: json-yaml-validate id: json-yaml-validate
uses: GrantBirki/json-yaml-validate@v1.3.0 uses: GrantBirki/json-yaml-validate@v2.6.1
with: with:
comment: "false" # enable comment mode comment: "false" # enable comment mode
exclude_file: ".github/config/exclude.txt" # gitignore style file for exclusions exclude_file: ".github/config/exclude.txt" # gitignore style file for exclusions

View File

@ -58,8 +58,7 @@ I personally do not like something that requires so many configurations before y
## Tools ## Tools
- [`Node.js`](https://nodejs.org/) >= 20 - [`Node.js`](https://nodejs.org/) >= 22.14.0
- [`pnpm`](https://pnpm.io/)
- [`git`](https://git-scm.com/) - [`git`](https://git-scm.com/)
- IDE that supports [`ESLint`](https://eslint.org/) and EditorConfig (I am using [`IntelliJ IDEA`](https://www.jetbrains.com/idea/)) - IDE that supports [`ESLint`](https://eslint.org/) and EditorConfig (I am using [`IntelliJ IDEA`](https://www.jetbrains.com/idea/))
- A SQLite GUI tool (f.ex. [`SQLite Expert Personal`](https://www.sqliteexpert.com/download.html) or [`DBeaver Community`](https://dbeaver.io/download/)) - A SQLite GUI tool (f.ex. [`SQLite Expert Personal`](https://www.sqliteexpert.com/download.html) or [`DBeaver Community`](https://dbeaver.io/download/))
@ -67,14 +66,14 @@ I personally do not like something that requires so many configurations before y
## Install Dependencies for Development ## Install Dependencies for Development
```bash ```bash
pnpm install npm install
``` ```
## Dev Server ## Dev Server
``` ```
pnpm run dev:frontend npm run dev:frontend
pnpm run dev:backend npm run dev:backend
``` ```
## Backend Dev Server ## Backend Dev Server
@ -94,7 +93,7 @@ You can use Vue.js devtools Chrome extension for debugging.
### Build the frontend ### Build the frontend
```bash ```bash
pnpm run build npm run build
``` ```
## Database Migration ## Database Migration
@ -117,7 +116,7 @@ Both frontend and backend share the same package.json. However, the frontend dep
Should only be done by the maintainer. Should only be done by the maintainer.
```bash ```bash
pnpm update npm update
```` ````
It should update the patch release version only. It should update the patch release version only.

View File

@ -6,7 +6,7 @@
A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager. A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager.
![GitHub Repo stars](https://img.shields.io/github/stars/louislam/dockge?logo=github) ![Docker Pulls](https://img.shields.io/docker/pulls/louislam/dockge?logo=docker) ![Docker Image Version (latest semver)](https://img.shields.io/docker/v/louislam/dockge/latest?label=docker%20image%20ver.) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/louislam/dockge/master?logo=github) [![GitHub Repo stars](https://img.shields.io/github/stars/louislam/dockge?logo=github&style=flat)](https://github.com/louislam/dockge) [![Docker Pulls](https://img.shields.io/docker/pulls/louislam/dockge?logo=docker)](https://hub.docker.com/r/louislam/dockge/tags) [![Docker Image Version (latest semver)](https://img.shields.io/docker/v/louislam/dockge/latest?label=docker%20image%20ver.)](https://hub.docker.com/r/louislam/dockge/tags) [![GitHub last commit (branch)](https://img.shields.io/github/last-commit/louislam/dockge/master?logo=github)](https://github.com/louislam/dockge/commits/master/)
<img src="https://github.com/louislam/dockge/assets/1336778/26a583e1-ecb1-4a8d-aedf-76157d714ad7" width="900" alt="" /> <img src="https://github.com/louislam/dockge/assets/1336778/26a583e1-ecb1-4a8d-aedf-76157d714ad7" width="900" alt="" />
@ -22,7 +22,9 @@ View Video: https://youtu.be/AWAlOQeNpgU?t=48
- 🕷️ (1.4.0 🆕) Multiple agents support - You can manage multiple stacks from different Docker hosts in one single interface - 🕷️ (1.4.0 🆕) Multiple agents support - You can manage multiple stacks from different Docker hosts in one single interface
- 🏪 Convert `docker run ...` commands into `compose.yaml` - 🏪 Convert `docker run ...` commands into `compose.yaml`
- 📙 File based structure - Dockge won't kidnap your compose files, they are stored on your drive as usual. You can interact with them using normal `docker compose` commands - 📙 File based structure - Dockge won't kidnap your compose files, they are stored on your drive as usual. You can interact with them using normal `docker compose` commands
<img src="https://github.com/louislam/dockge/assets/1336778/cc071864-592e-4909-b73a-343a57494002" width=300 />
<img src="https://github.com/louislam/dockge/assets/1336778/cc071864-592e-4909-b73a-343a57494002" width=300 />
- 🚄 Reactive - Everything is just responsive. Progress (Pull/Up/Down) and terminal output are in real-time - 🚄 Reactive - Everything is just responsive. Progress (Pull/Up/Down) and terminal output are in real-time
- 🐣 Easy-to-use & fancy UI - If you love Uptime Kuma's UI/UX, you will love this one too - 🐣 Easy-to-use & fancy UI - If you love Uptime Kuma's UI/UX, you will love this one too

View File

@ -98,6 +98,8 @@ export class AgentManager {
if (bean) { if (bean) {
await R.trash(bean); await R.trash(bean);
let endpoint = bean.endpoint; let endpoint = bean.endpoint;
this.disconnect(endpoint);
this.sendAgentList();
delete this.agentSocketList[endpoint]; delete this.agentSocketList[endpoint];
} else { } else {
throw new Error("Agent not found"); throw new Error("Agent not found");

View File

@ -17,6 +17,7 @@ export class DockerSocketHandler extends AgentSocketHandler {
callbackResult({ callbackResult({
ok: true, ok: true,
msg: "Deployed", msg: "Deployed",
msgi18n: true,
}, callback); }, callback);
stack.joinCombinedTerminal(socket); stack.joinCombinedTerminal(socket);
} catch (e) { } catch (e) {
@ -30,7 +31,8 @@ export class DockerSocketHandler extends AgentSocketHandler {
await this.saveStack(server, name, composeYAML, composeENV, isAdd); await this.saveStack(server, name, composeYAML, composeENV, isAdd);
callbackResult({ callbackResult({
ok: true, ok: true,
"msg": "Saved" msg: "Saved",
msgi18n: true,
}, callback); }, callback);
server.sendStackList(); server.sendStackList();
} catch (e) { } catch (e) {
@ -56,7 +58,8 @@ export class DockerSocketHandler extends AgentSocketHandler {
server.sendStackList(); server.sendStackList();
callbackResult({ callbackResult({
ok: true, ok: true,
msg: "Deleted" msg: "Deleted",
msgi18n: true,
}, callback); }, callback);
} catch (e) { } catch (e) {
@ -94,7 +97,8 @@ export class DockerSocketHandler extends AgentSocketHandler {
server.sendStackList(); server.sendStackList();
callbackResult({ callbackResult({
ok: true, ok: true,
msg: "Updated" msg: "Updated",
msgi18n: true,
}, callback); }, callback);
} catch (e) { } catch (e) {
callbackError(e, callback); callbackError(e, callback);
@ -114,7 +118,8 @@ export class DockerSocketHandler extends AgentSocketHandler {
await stack.start(socket); await stack.start(socket);
callbackResult({ callbackResult({
ok: true, ok: true,
msg: "Started" msg: "Started",
msgi18n: true,
}, callback); }, callback);
server.sendStackList(); server.sendStackList();
@ -138,7 +143,8 @@ export class DockerSocketHandler extends AgentSocketHandler {
await stack.stop(socket); await stack.stop(socket);
callbackResult({ callbackResult({
ok: true, ok: true,
msg: "Stopped" msg: "Stopped",
msgi18n: true,
}, callback); }, callback);
server.sendStackList(); server.sendStackList();
} catch (e) { } catch (e) {
@ -159,7 +165,8 @@ export class DockerSocketHandler extends AgentSocketHandler {
await stack.restart(socket); await stack.restart(socket);
callbackResult({ callbackResult({
ok: true, ok: true,
msg: "Restarted" msg: "Restarted",
msgi18n: true,
}, callback); }, callback);
server.sendStackList(); server.sendStackList();
} catch (e) { } catch (e) {
@ -180,7 +187,8 @@ export class DockerSocketHandler extends AgentSocketHandler {
await stack.update(socket); await stack.update(socket);
callbackResult({ callbackResult({
ok: true, ok: true,
msg: "Updated" msg: "Updated",
msgi18n: true,
}, callback); }, callback);
server.sendStackList(); server.sendStackList();
} catch (e) { } catch (e) {
@ -201,7 +209,8 @@ export class DockerSocketHandler extends AgentSocketHandler {
await stack.down(socket); await stack.down(socket);
callbackResult({ callbackResult({
ok: true, ok: true,
msg: "Downed" msg: "Downed",
msgi18n: true,
}, callback); }, callback);
server.sendStackList(); server.sendStackList();
} catch (e) { } catch (e) {

View File

@ -236,42 +236,63 @@ export function copyYAMLComments(doc : Document, src : Document) {
/** /**
* Copy yaml comments from srcItems to items * Copy yaml comments from srcItems to items
* Typescript is super annoying here, so I have to use any here * Attempts to preserve comments by matching content rather than just array indices
* TODO: Since comments are belong to the array index, the comments will be lost if the order of the items is changed or removed or added.
*/ */
// eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any
function copyYAMLCommentsItems(items : any, srcItems : any) { function copyYAMLCommentsItems(items: any, srcItems: any) {
if (!items || !srcItems) { if (!items || !srcItems) {
return; return;
} }
// First pass - try to match items by their content
for (let i = 0; i < items.length; i++) { for (let i = 0; i < items.length; i++) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any
const item : any = items[i]; const item: any = items[i];
// Try to find matching source item by content
// eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any
const srcItem : any = srcItems[i]; const srcIndex = srcItems.findIndex((srcItem: any) =>
JSON.stringify(srcItem.value) === JSON.stringify(item.value) &&
JSON.stringify(srcItem.key) === JSON.stringify(item.key)
);
if (!srcItem) { if (srcIndex !== -1) {
continue; // eslint-disable-next-line @typescript-eslint/no-explicit-any
} const srcItem: any = srcItems[srcIndex];
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const nextSrcItem: any = srcItems[srcIndex + 1];
if (item.key && srcItem.key) { if (item.key && srcItem.key) {
item.key.comment = srcItem.key.comment; item.key.comment = srcItem.key.comment;
item.key.commentBefore = srcItem.key.commentBefore; item.key.commentBefore = srcItem.key.commentBefore;
} }
if (srcItem.comment) { if (srcItem.comment) {
item.comment = srcItem.comment; item.comment = srcItem.comment;
} }
if (item.value && srcItem.value) { // Handle comments between array items
if (typeof item.value === "object" && typeof srcItem.value === "object") { if (nextSrcItem && nextSrcItem.commentBefore) {
item.value.comment = srcItem.value.comment; if (items[i + 1]) {
item.value.commentBefore = srcItem.value.commentBefore; items[i + 1].commentBefore = nextSrcItem.commentBefore;
}
}
if (item.value.items && srcItem.value.items) { // Handle trailing comments after array items
copyYAMLCommentsItems(item.value.items, srcItem.value.items); if (srcItem.value && srcItem.value.comment) {
if (item.value) {
item.value.comment = srcItem.value.comment;
}
}
if (item.value && srcItem.value) {
if (typeof item.value === "object" && typeof srcItem.value === "object") {
item.value.comment = srcItem.value.comment;
item.value.commentBefore = srcItem.value.commentBefore;
if (item.value.items && srcItem.value.items) {
copyYAMLCommentsItems(item.value.items, srcItem.value.items);
}
} }
} }
} }

View File

@ -1,4 +1,3 @@
version: "3.8"
services: services:
dockge: dockge:
image: louislam/dockge:1 image: louislam/dockge:1

View File

@ -1,7 +1,4 @@
# Due to the bug of #145, Node.js's version cannot be changed, unless upstream is fixed. FROM node:22-bookworm-slim
FROM node:18.17.1-bookworm-slim
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN apt update && apt install --yes --no-install-recommends \ RUN apt update && apt install --yes --no-install-recommends \
curl \ curl \
ca-certificates \ ca-certificates \
@ -20,5 +17,4 @@ RUN apt update && apt install --yes --no-install-recommends \
docker-ce-cli \ docker-ce-cli \
docker-compose-plugin \ docker-compose-plugin \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
&& npm install pnpm -g \ && npm install -g tsx
&& pnpm install -g tsx

View File

@ -9,8 +9,8 @@ FROM louislam/dockge:build-healthcheck AS build_healthcheck
FROM louislam/dockge:base AS build FROM louislam/dockge:base AS build
WORKDIR /app WORKDIR /app
COPY --chown=node:node ./package.json ./package.json COPY --chown=node:node ./package.json ./package.json
COPY --chown=node:node ./pnpm-lock.yaml ./pnpm-lock.yaml COPY --chown=node:node ./package-lock.json ./package-lock.json
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile RUN npm ci
############################################ ############################################
# ⭐ Main Image # ⭐ Main Image
@ -22,6 +22,13 @@ COPY --from=build /app/node_modules /app/node_modules
COPY --chown=node:node . . COPY --chown=node:node . .
RUN mkdir ./data RUN mkdir ./data
# It is just for safe, as by default, it is disabled in the latest Node.js now.
# Read more:
# - https://github.com/sagemathinc/cocalc/issues/6963
# - https://github.com/microsoft/node-pty/issues/630#issuecomment-1987212447
ENV UV_USE_IO_URING=0
VOLUME /app/data VOLUME /app/data
EXPOSE 5001 EXPOSE 5001
HEALTHCHECK --interval=60s --timeout=30s --start-period=60s --retries=5 CMD extra/healthcheck HEALTHCHECK --interval=60s --timeout=30s --start-period=60s --retries=5 CMD extra/healthcheck
@ -32,4 +39,4 @@ CMD ["tsx", "./backend/index.ts"]
# Mark as Nightly # Mark as Nightly
############################################ ############################################
FROM release AS nightly FROM release AS nightly
RUN pnpm run mark-as-nightly RUN npm run mark-as-nightly

View File

@ -1,4 +1,3 @@
version: "3.8"
services: services:
mariadb: mariadb:
image: mariadb:latest image: mariadb:latest

View File

@ -1,4 +1,3 @@
version: '3.8'
services: services:
nginx-proxy-manager: nginx-proxy-manager:
image: 'jc21/nginx-proxy-manager:latest' image: 'jc21/nginx-proxy-manager:latest'

View File

@ -1,4 +1,3 @@
version: '3.8'
services: services:
uptime-kuma: uptime-kuma:
image: louislam/uptime-kuma:1 image: louislam/uptime-kuma:1

View File

@ -11,7 +11,7 @@
<button class="btn btn-normal btn-sm mt-3" @click="addField">{{ $t("addListItem", [ displayName ]) }}</button> <button class="btn btn-normal btn-sm mt-3" @click="addField">{{ $t("addListItem", [ displayName ]) }}</button>
</div> </div>
<div v-else> <div v-else>
Long syntax is not supported here. Please use the YAML editor. {{ $t("LongSyntaxNotSupported") }}
</div> </div>
</div> </div>
</template> </template>

View File

@ -4,7 +4,7 @@
<ul v-if="isArrayInited" class="list-group"> <ul v-if="isArrayInited" class="list-group">
<li v-for="(value, index) in array" :key="index" class="list-group-item"> <li v-for="(value, index) in array" :key="index" class="list-group-item">
<select v-model="array[index]" class="no-bg domain-input"> <select v-model="array[index]" class="no-bg domain-input">
<option value="">Select a network...</option> <option value="">{{ $t(`Select a network...`) }}</option>
<option v-for="option in options" :key="option" :value="option">{{ option }}</option> <option v-for="option in options" :key="option" :value="option">{{ option }}</option>
</select> </select>

View File

@ -116,7 +116,7 @@
</label> </label>
<div v-if="networkList.length === 0 && service.networks && service.networks.length > 0" class="text-warning mb-3"> <div v-if="networkList.length === 0 && service.networks && service.networks.length > 0" class="text-warning mb-3">
No networks available. You need to add internal networks or enable external networks in the right side first. {{ $t("NoNetworksAvailable") }}
</div> </div>
<ArraySelect name="networks" :display-name="$t('network')" placeholder="Network Name" :options="networkList" /> <ArraySelect name="networks" :display-name="$t('network')" placeholder="Network Name" :options="networkList" />
@ -127,7 +127,7 @@
<label class="form-label"> <label class="form-label">
{{ $t("dependsOn") }} {{ $t("dependsOn") }}
</label> </label>
<ArrayInput name="depends_on" :display-name="$t('dependsOn')" placeholder="Container Name" /> <ArrayInput name="depends_on" :display-name="$t('dependsOn')" :placeholder="$t(`containerName`)" />
</div> </div>
</div> </div>
</transition> </transition>
@ -274,7 +274,12 @@ export default defineComponent({
}, },
methods: { methods: {
parsePort(port) { parsePort(port) {
return parseDockerPort(port, this.stack.primaryHostname); if (this.stack.endpoint) {
return parseDockerPort(port, this.stack.primaryHostname);
} else {
let hostname = this.$root.info.primaryHostname || location.hostname;
return parseDockerPort(port, hostname);
}
}, },
remove() { remove() {
delete this.jsonObject.services[this.name]; delete this.jsonObject.services[this.name];

View File

@ -3,7 +3,7 @@
<h5>{{ $t("Internal Networks") }}</h5> <h5>{{ $t("Internal Networks") }}</h5>
<ul class="list-group"> <ul class="list-group">
<li v-for="(networkRow, index) in networkList" :key="index" class="list-group-item"> <li v-for="(networkRow, index) in networkList" :key="index" class="list-group-item">
<input v-model="networkRow.key" type="text" class="no-bg domain-input" placeholder="Network name..." /> <input v-model="networkRow.key" type="text" class="no-bg domain-input" :placeholder="$t(`Network name...`)" />
<font-awesome-icon icon="times" class="action remove ms-2 me-3 text-danger" @click="remove(index)" /> <font-awesome-icon icon="times" class="action remove ms-2 me-3 text-danger" @click="remove(index)" />
</li> </li>
</ul> </ul>

View File

@ -247,13 +247,12 @@ export default {
<style scoped lang="scss"> <style scoped lang="scss">
.main-terminal { .main-terminal {
height: 100%; height: 100%;
overflow-x: scroll;
} }
</style> </style>
<style lang="scss"> <style lang="scss">
.terminal { .terminal {
padding: 10px 15px; background-color: black !important;
height: 100%; height: 100%;
} }
</style> </style>

View File

@ -47,7 +47,7 @@
<input <input
v-model="settings.primaryHostname" v-model="settings.primaryHostname"
class="form-control" class="form-control"
placeholder="(Unset: Follow current hostname)" :placeholder="$t(`CurrentHostname`)"
/> />
<button class="btn btn-outline-primary" type="button" @click="autoGetPrimaryHostname"> <button class="btn btn-outline-primary" type="button" @click="autoGetPrimaryHostname">
{{ $t("autoGet") }} {{ $t("autoGet") }}

View File

@ -27,6 +27,11 @@ const languageList = {
"ja": "日本語", "ja": "日本語",
"nl": "Nederlands", "nl": "Nederlands",
"ro": "Română", "ro": "Română",
"id": "Bahasa Indonesia (Indonesian)",
"vi": "Tiếng Việt",
"hu": "Magyar",
"ca": "Català",
"ga": "Gaeilge",
}; };
let messages = { let messages = {

View File

@ -35,7 +35,7 @@
"restartPolicyAlways": "دائماً", "restartPolicyAlways": "دائماً",
"restartPolicyOnFailure": "عند الفشل", "restartPolicyOnFailure": "عند الفشل",
"restartPolicyNo": "لا", "restartPolicyNo": "لا",
"environmentVariable": "متغير البيئة | متغيرات البيئة", "environmentVariable": "متغير | متغيرات",
"restartPolicy": "سياسة إعادة التشغيل", "restartPolicy": "سياسة إعادة التشغيل",
"containerName": "اسم الحاوية", "containerName": "اسم الحاوية",
"port": "منفذ | منافذ", "port": "منفذ | منافذ",
@ -98,5 +98,16 @@
"url": "رابط | روابط", "url": "رابط | روابط",
"extra": "إضافات", "extra": "إضافات",
"reverseProxyMsg1": "هل تستدخم خادم عكسي؟", "reverseProxyMsg1": "هل تستدخم خادم عكسي؟",
"connecting...": "جاري الاتصال بخادم المقبس…" "connecting...": "جاري الاتصال بخادم المقبس…",
"newUpdate": "تحديث جديد",
"currentEndpoint": "السياق: الوكيل الحالي",
"dockgeURL": "رابط Dockge (مثلا http://127.0.0.1:5001)",
"agentOnline": "متصل",
"agentOffline": "غير متصل",
"connecting": "جاري الإتصال",
"connect": "ارتبط",
"dockgeAgent": "سيرفر Dockge",
"removeAgent": "حذف الوكيل",
"removeAgentMsg": "هل انت متأكد من حذف هذا الوكيل؟",
"LongSyntaxNotSupported": "كتابة النصوص المدعومة غير المدعومة هنا. الرجاء استخدام محرر YAML."
} }

116
frontend/src/lang/be.json Normal file
View File

@ -0,0 +1,116 @@
{
"active": "акт.",
"LongSyntaxNotSupported": "Доўгі сінтаксіс тут не падтрымліваецца. Выкарыстоўвайце рэдактар YAML.",
"removeAgentMsg": "Вы ўпэўнены, што хочаце выдаліць гэтага агента?",
"languageName": "Беларуская",
"Create your admin account": "Стварыце ўліковы запіс адміністратара",
"authIncorrectCreds": "Няправільны лагін ці пароль.",
"PasswordsDoNotMatch": "Паролі не супадаюць.",
"Repeat Password": "Паўтарыце пароль",
"Create": "Стварыць",
"signedInDisp": "Аўтарызаваны як {0}",
"signedInDispDisabled": "Аўтарызацыя выключана.",
"home": "Галоўная",
"console": "Кансоль",
"registry": "Рэестр (Registry)",
"compose": "Compose",
"addFirstStackMsg": "Стварыце свой першы стэк!",
"stackName": "Назва стэка",
"deployStack": "Разгарнуць",
"deleteStack": "Выдаліць",
"stopStack": "Спыніць",
"restartStack": "Перазапусціць",
"updateStack": "Абнавіць",
"startStack": "Запусціць",
"downStack": "Спыніць і дэактываваць",
"editStack": "Рэдагаваць",
"discardStack": "Скасаваць",
"saveStackDraft": "Захаваць",
"notAvailableShort": "Н/Д",
"deleteStackMsg": "Вы ўпэўнены, што хочаце выдаліць гэты стэк?",
"stackNotManagedByDockgeMsg": "Дадзены стэк не кіруецца Dockge.",
"primaryHostname": "Імя хоста",
"general": "Агульныя",
"container": "Кантэйнер | Кантэйнеры",
"scanFolder": "Сканаваць папку стэкаў",
"dockerImage": "Вобраз",
"restartPolicyUnlessStopped": "Пакуль не будзе спынены",
"restartPolicyAlways": "Заўсёды",
"restartPolicyOnFailure": "Пры падзенні",
"restartPolicyNo": "Ніколі",
"environmentVariable": "Зменная асяроддзя | Зменныя асяроддзя",
"restartPolicy": "Палітыка рэстарту",
"containerName": "Імя кантэйнера",
"port": "Порт | Порты",
"volume": "Сховішча | Сховішчы",
"network": "Сетка | Сеткі",
"dependsOn": "Залежнасць кантэйнера | Залежнасці кантэйнера",
"addListItem": "Дадаць {0}",
"deleteContainer": "Выдаліць",
"addContainer": "Дадаць кантэйнер",
"addNetwork": "Дадаць сетку",
"disableauth.message1": "Вы ўпэўнены, што хочаце <strong>адключыць аўтэнтыфікацыю</strong>?",
"Show update if available": "Паказаць абнаўленне, калі яно даступна",
"Also check beta release": "Атрымліваць бэта-версіі",
"disableauth.message2": "Гэта прызначана для сцэнарыяў, <strong>калі вы збіраецеся выкарыстоўваць староннюю аўтэнтыфікацыю</strong> перад Dockge, напрыклад, Cloudflare Access, Authelia або іншыя механізмы аўтэнтыфікацыі.",
"passwordNotMatchMsg": "Паўторны пароль не супадае.",
"autoGet": "Аўта",
"add": "Дадаць",
"Edit": "Змяніць",
"applyToYAML": "Ужыць да YAML",
"createExternalNetwork": "Стварыць",
"addInternalNetwork": "Дадаць",
"Save": "Захаваць",
"Language": "Мова",
"Current User": "Бягучы карыстальнік",
"Change Password": "Змяніць пароль",
"Current Password": "Бягучы пароль",
"New Password": "Новы пароль",
"Repeat New Password": "Паўтарыце новы пароль",
"Update Password": "Абнавіць пароль",
"Advanced": "Пашыраныя",
"Please use this option carefully!": "Выкарыстоўвайце гэтую опцыю асцярожна!",
"Enable Auth": "Уключыць аўтэнтыфікацыю",
"Disable Auth": "Адключыць аўтэнтыфікацыю",
"I understand, please disable": "Я разумею, адключыце",
"Leave": "Пакінуць",
"Frontend Version": "Версія знешняга інтэрфейсу",
"Check Update On GitHub": "Праверыць абнаўленні на GitHub",
"Remember me": "Запомніць мяне",
"Login": "Лагін",
"Username": "Імя карыстальніка",
"Password": "Пароль",
"Settings": "Налады",
"Logout": "Выйсці",
"Lowercase only": "Толькі ніжні рэгістр",
"Convert to Compose": "Пераўтварыць у Compose",
"Docker Run": "Docker Run",
"exited": "спын.",
"inactive": "неакт.",
"Appearance": "Знешні выгляд",
"Security": "Бяспека",
"About": "Аб праграме",
"Allowed commands:": "Дазволеныя каманды:",
"Internal Networks": "Унутраныя сеткі",
"External Networks": "Знешнія сеткі",
"No External Networks": "Няма знешніх сетак",
"reverseProxyMsg1": "Выкарыстоўваеце зваротны проксі?",
"reverseProxyMsg2": "Праверце, як наладзіць яго для WebSocket",
"Cannot connect to the socket server.": "Не ўдалося падключыцца да сокет-сервера.",
"reconnecting...": "Перападключэнне…",
"connecting...": "Падключэнне да сокет-сервера…",
"url": "URL-адрас | URL-адрасы",
"extra": "Дадаткова",
"newUpdate": "Даступна абнаўленне",
"dockgeAgent": "Агент Dockge | Агенты Dockge",
"currentEndpoint": "Бягучы",
"dockgeURL": "URL-адрас Dockge (напрыклад: http://127.0.0.1:5001)",
"agentOnline": "У сетцы",
"agentOffline": "Не ў сетцы",
"connecting": "Падключэнне",
"connect": "Падключыць",
"addAgent": "Дадаць Агента",
"agentAddedSuccessfully": "Агент паспяхова дададзены.",
"agentRemovedSuccessfully": "Агент паспяхова выдалены.",
"removeAgent": "Выдаліць агента"
}

View File

@ -92,11 +92,25 @@
"External Networks": "Външни мрежи", "External Networks": "Външни мрежи",
"No External Networks": "Не са налични външни мрежи", "No External Networks": "Не са налични външни мрежи",
"reverseProxyMsg2": "Проверете как да го конфигурирате за WebSocket", "reverseProxyMsg2": "Проверете как да го конфигурирате за WebSocket",
"downStack": "Спри и изключи", "downStack": "Спри & Неактивен",
"reverseProxyMsg1": "Използвате ревърс прокси?", "reverseProxyMsg1": "Използвате ревърс прокси?",
"Cannot connect to the socket server.": "Не може да се свърже със сокет сървъра.", "Cannot connect to the socket server.": "Не може да се свърже със сокет сървъра.",
"url": "URL адрес | URL адреси", "url": "URL адрес | URL адреси",
"extra": "Допълнително", "extra": "Допълнително",
"reconnecting...": "Повторно свързване…", "reconnecting...": "Повторно свързване…",
"connecting...": "Свързване със сокет сървъра…" "connecting...": "Свързване със сокет сървъра…",
"newUpdate": "Нова актуализация",
"currentEndpoint": "Текущ",
"dockgeURL": "Dockge URL адрес (напр. http://127.0.0.1:5001)",
"agentOnline": "Онлайн",
"agentOffline": "Офлайн",
"connect": "Свържи",
"addAgent": "Добави агент",
"agentAddedSuccessfully": "Агентът е добавен успешно.",
"removeAgent": "Премахни агент",
"removeAgentMsg": "Сигурни ли сте, че желаете да премахнете този агент?",
"dockgeAgent": "Dockge агент | Dockge агенти",
"connecting": "Свързване",
"agentRemovedSuccessfully": "Агентът е премахнат успешно.",
"LongSyntaxNotSupported": "Дългият синтаксис не се поддържа тук. Моля, използвайте YAML редактора."
} }

116
frontend/src/lang/ca.json Normal file
View File

@ -0,0 +1,116 @@
{
"Create your admin account": "Crea el teu compte d'administrador",
"Repeat Password": "Repeteix la contrasenya",
"Create": "Crea",
"signedInDisp": "S'ha iniciat sessió com a {0}",
"home": "Inici",
"console": "Consola",
"registry": "Registre",
"compose": "Compondre",
"addFirstStackMsg": "Compondre la teva primera pila!",
"stackName": "Nom de la pila",
"deployStack": "Desplegar",
"deleteStack": "Eliminar",
"stopStack": "Aturar",
"restartStack": "Reiniciar",
"updateStack": "Actualitzar",
"startStack": "Inicia",
"downStack": "Atura i inactiva",
"languageName": "Català",
"authIncorrectCreds": "Usuari o contrasenya incorrecte.",
"PasswordsDoNotMatch": "Les contrasenyes no coincideixen.",
"signedInDispDisabled": "Autenticació deshabilitada.",
"discardStack": "Descartar",
"saveStackDraft": "Guardar",
"notAvailableShort": "N/D",
"primaryHostname": "Nom del host primari",
"general": "General",
"container": "Contenidor | Contenidors",
"scanFolder": "Escaneja la carpeta de piles",
"dockerImage": "Imatge",
"restartPolicyAlways": "Sempre",
"restartPolicyOnFailure": "En cas de fallada",
"restartPolicyNo": "No",
"environmentVariable": "Variable d'entorn | Variables d'entorn",
"restartPolicy": "Política de reinici",
"containerName": "Nom del contenidor",
"port": "Port | Ports",
"volume": "Volum | Volums",
"network": "Xarxa | Xarxes",
"addListItem": "Afegir {0}",
"deleteContainer": "Eliminar",
"addContainer": "Afegir contenidor",
"addNetwork": "Afegir xarxa",
"passwordNotMatchMsg": "La contrasenya repetida no coincideix.",
"autoGet": "Obtenir automàticament",
"add": "Afegir",
"Edit": "Editar",
"applyToYAML": "Aplicar a YAML",
"createExternalNetwork": "Crear",
"addInternalNetwork": "Afegir",
"Save": "Guardar",
"Language": "Idioma",
"Current User": "Usuari actual",
"Change Password": "Canviar la contrasenya",
"Current Password": "Contrasenya actual",
"New Password": "Nova contrasenya",
"stackNotManagedByDockgeMsg": "Aquesta pila no està gestionada per Dockge.",
"Update Password": "Actualitzar contrasenya",
"Advanced": "Avançat",
"Disable Auth": "Deshabilitar autenticació",
"Leave": "Sortir",
"Frontend Version": "Versió del frontend",
"Check Update On GitHub": "Comprova les actualitzacions a GitHub",
"Show update if available": "Mostra si hi ha disponible una nova actualització",
"Also check beta release": "Comprovar també la versió beta",
"Remember me": "Recorda'm",
"Login": "Inici de sesió",
"Username": "Usuari",
"Settings": "Configuració",
"Logout": "Tanca sessió",
"Lowercase only": "Només minúscules",
"Convert to Compose": "Convertir a Compose",
"Docker Run": "Executar Docker",
"active": "actiu",
"exited": "finalitzat",
"inactive": "inactiu",
"Appearance": "Aparença",
"Security": "Seguretat",
"About": "Sobre",
"Allowed commands:": "Comandes permeses:",
"Internal Networks": "Xarxes internes",
"External Networks": "Xarxes externes",
"No External Networks": "No hi ha xarxes externes",
"reverseProxyMsg1": "Estàs fent servir un proxy invers?",
"reverseProxyMsg2": "Comproveu com configurar-lo per a WebSocket",
"Cannot connect to the socket server.": "No es pot connectar al servidor del socket.",
"reconnecting...": "S'està tornant a connectar…",
"connecting...": "S'està connectant al servidor del socket…",
"url": "URL | URLs",
"extra": "Extra",
"newUpdate": "Nova actualització",
"dockgeAgent": "Agent Dockge | Agents Dockge",
"currentEndpoint": "Actual",
"dockgeURL": "URL de Dockge (ex. http://127.0.0.1:5001)",
"agentOnline": "En línia",
"agentOffline": "Fora de línia",
"connecting": "Connectant",
"connect": "Connectar",
"addAgent": "Afegir agent",
"agentAddedSuccessfully": "Agent afegit correctament.",
"agentRemovedSuccessfully": "Agent eliminat correctament.",
"removeAgent": "Eliminar agent",
"removeAgentMsg": "Esteu segur que voleu eliminar aquest agent?",
"editStack": "Editar",
"deleteStackMsg": "Estàs segur que vols eliminar aquesta pila?",
"restartPolicyUnlessStopped": "A menys que s'aturi",
"dependsOn": "Dependència del contenidor | Dependències del contenidor",
"disableauth.message1": "Esteu segur que voleu <strong>desactivar l'autenticació</strong>?",
"disableauth.message2": "Està dissenyat per a escenaris <strong>on voleu implementar l'autenticació de tercers</strong> per davant de Dockge, com ara Cloudflare Access, Authelia o altres mecanismes d'autenticació.",
"Repeat New Password": "Repetiu la nova contrasenya",
"Please use this option carefully!": "Si us plau, utilitzeu aquesta opció amb cura!",
"Enable Auth": "Habilitar autenticació",
"I understand, please disable": "Ho entenc, si us plau deshabilita",
"Password": "Contrasenya",
"LongSyntaxNotSupported": "La sintaxi llarga no està suportada aquí. Si us plau, fes servir l'editor YAML."
}

View File

@ -1,32 +1,32 @@
{ {
"languageName": "Dansk", "languageName": "Dansk",
"authIncorrectCreds": "Forkert brugernavn eller adgangskode.", "authIncorrectCreds": "Forkert brugernavn eller adgangskode.",
"PasswordsDoNotMatch": "Adgangskode stemmer ikke overens.", "PasswordsDoNotMatch": "Adgangskoder stemmer ikke overens.",
"Repeat Password": "Gentag adgangskode", "Repeat Password": "Gentag adgangskode",
"Create": "Opret", "Create": "Opret",
"signedInDisp": "Logget ind som {0}", "signedInDisp": "Logget ind som {0}",
"signedInDispDisabled": "Auth Deaktiveret.", "signedInDispDisabled": "Godkendelse deaktiveret.",
"home": "Hjem", "home": "Hjem",
"console": "Konsol", "console": "Konsol",
"registry": "Registry", "registry": "Register",
"compose": "Compose", "compose": "Komponer",
"stackName": "Stack-navn", "stackName": "Stak-navn",
"deployStack": "Udrulle", "deployStack": "Udrulle",
"deleteStack": "Slet", "deleteStack": "Slet",
"stopStack": "Stop", "stopStack": "Stop",
"restartStack": "Genstart", "restartStack": "Genstart",
"updateStack": "Opdatere", "updateStack": "Opdater",
"startStack": "Start", "startStack": "Start",
"downStack": "Stop & Sluk", "downStack": "Stop & Deaktiver",
"editStack": "Editere", "editStack": "Rediger",
"discardStack": "Annuller", "discardStack": "Kassér",
"saveStackDraft": "Gem", "saveStackDraft": "Gem",
"notAvailableShort": "Ugyldig", "notAvailableShort": "N/A",
"stackNotManagedByDockgeMsg": "Denne stack administreres ikke af Dockge.", "stackNotManagedByDockgeMsg": "Denne stak administreres ikke af Dockge.",
"primaryHostname": "Primært værtsnavn", "primaryHostname": "Primært værtsnavn",
"general": "Generelt", "general": "Generelt",
"container": "Container | Containere", "container": "Container | Containere",
"scanFolder": "Scan Stack-mappe", "scanFolder": "Scan Stak-mappe",
"dockerImage": "Billede", "dockerImage": "Billede",
"restartPolicyUnlessStopped": "Medmindre stoppet", "restartPolicyUnlessStopped": "Medmindre stoppet",
"restartPolicyAlways": "Altid", "restartPolicyAlways": "Altid",
@ -37,7 +37,7 @@
"port": "Port | Porte", "port": "Port | Porte",
"volume": "Volumen | Voluminer", "volume": "Volumen | Voluminer",
"network": "Netværk | Netværker", "network": "Netværk | Netværker",
"dependsOn": "Container Dependency | Container Dependencies", "dependsOn": "Containerafhængighed | Containerafhængigheder",
"addListItem": "Tilføj {0}", "addListItem": "Tilføj {0}",
"deleteContainer": "Slet", "deleteContainer": "Slet",
"addNetwork": "Tilføj Netværk", "addNetwork": "Tilføj Netværk",
@ -46,7 +46,7 @@
"add": "Tilføj", "add": "Tilføj",
"Edit": "Redigere", "Edit": "Redigere",
"applyToYAML": "Anvend til YAML", "applyToYAML": "Anvend til YAML",
"createExternalNetwork": "Skabe", "createExternalNetwork": "Skab",
"addInternalNetwork": "Tilføj", "addInternalNetwork": "Tilføj",
"Save": "Gem", "Save": "Gem",
"Language": "Sprog", "Language": "Sprog",
@ -58,11 +58,11 @@
"Update Password": "Opdater adgangskode", "Update Password": "Opdater adgangskode",
"Advanced": "Avanceret", "Advanced": "Avanceret",
"Please use this option carefully!": "Brug venligst denne indstilling forsigtigt!", "Please use this option carefully!": "Brug venligst denne indstilling forsigtigt!",
"Enable Auth": "Aktiver Auth", "Enable Auth": "Aktiver godkændelse",
"Disable Auth": "Deaktiver Auth", "Disable Auth": "Deaktiver godkændelse",
"I understand, please disable": "Jeg forstår, venligst deaktiver", "I understand, please disable": "Jeg forstår, venligst deaktiver",
"Leave": "Forlad", "Leave": "Forlad",
"Frontend Version": "Frontend Version", "Frontend Version": "Version",
"Check Update On GitHub": "Tjek opdatering på GitHub", "Check Update On GitHub": "Tjek opdatering på GitHub",
"Also check beta release": "Tjek også betaversionen", "Also check beta release": "Tjek også betaversionen",
"Remember me": "Husk mig", "Remember me": "Husk mig",
@ -91,12 +91,26 @@
"url": "URL | URL'er", "url": "URL | URL'er",
"extra": "Ekstra", "extra": "Ekstra",
"Create your admin account": "Opret din administratorkonto", "Create your admin account": "Opret din administratorkonto",
"addFirstStackMsg": "Compose din første stack!", "addFirstStackMsg": "Komponer din første stak!",
"deleteStackMsg": "Er du sikker på, at du vil slette denne stack?", "deleteStackMsg": "Er du sikker på, at du vil slette denne stak?",
"environmentVariable": "Miljøvariabel | miljøvariabler", "environmentVariable": "Miljøvariabel | miljøvariabler",
"addContainer": "Tilføj Container", "addContainer": "Tilføj Container",
"disableauth.message1": "Er du sikker på, at du vil <strong>deaktivere godkendelse</strong>?", "disableauth.message1": "Er du sikker på, at du vil <strong>deaktivere godkendelse</strong>?",
"disableauth.message2": "Det er designet til scenarier <strong>hvor du har til hensigt at implementere tredjepartsgodkendelse</strong> foran Dockge såsom Cloudflare Access, Authelia eller andre godkendelsesmekanismer.", "disableauth.message2": "Det er designet til scenarier <strong>hvor du har til hensigt at implementere tredjepartsgodkendelse</strong> foran Dockge såsom Cloudflare Access, Authelia eller andre godkendelsesmekanismer.",
"Show update if available": "Vis opdatering, hvis tilgængelig", "Show update if available": "Vis opdatering, hvis tilgængelig",
"Lowercase only": "Kun små bogstaver" "Lowercase only": "Kun små bogstaver",
"newUpdate": "Ny Opdatering",
"dockgeAgent": "Dockge Agent | Dockge Agenter",
"currentEndpoint": "Nuværende",
"dockgeURL": "Dockge URL (f.eks. http://127.0.0.1:5001)",
"agentOnline": "Online",
"agentOffline": "Offline",
"connecting": "Tilslutter",
"connect": "Tilslut",
"addAgent": "Tilføj agent",
"agentAddedSuccessfully": "Agent succesfuld tilføjet.",
"agentRemovedSuccessfully": "Agent succesfuld fjernet.",
"removeAgent": "Fjern agent",
"removeAgentMsg": "Er du sikker på at du vil fjerne denne agent?",
"LongSyntaxNotSupported": "Langt syntaks er ikke understøttet her. Forsøg venligst med YAML-editoren."
} }

View File

@ -94,9 +94,23 @@
"Cannot connect to the socket server.": "Keine Verbindung zum Socket Server.", "Cannot connect to the socket server.": "Keine Verbindung zum Socket Server.",
"reverseProxyMsg1": "Wird ein Reverse Proxy genutzt?", "reverseProxyMsg1": "Wird ein Reverse Proxy genutzt?",
"reconnecting...": "Erneuter Verbindungsaufbau…", "reconnecting...": "Erneuter Verbindungsaufbau…",
"downStack": "Stoppen & Aus", "downStack": "Stoppen & Deaktivieren",
"extra": "Extra", "extra": "Extra",
"url": "URL / URLs", "url": "URL / URLs",
"reverseProxyMsg2": "Lerne wie dieser für WebSockets zu konfigurieren ist.", "reverseProxyMsg2": "Lerne wie dieser für WebSockets zu konfigurieren ist.",
"connecting...": "Verbindungsaufbau zum Socket Server…" "connecting...": "Verbindungsaufbau zum Socket Server…",
"newUpdate": "Neues Update",
"dockgeAgent": "Dockge Agent | Dockge Agenten",
"currentEndpoint": "Aktuell",
"dockgeURL": "Dockge URL (z. B. http://127.0.0.1:5001)",
"agentOnline": "Online",
"agentOffline": "Offline",
"connecting": "Verbinden",
"connect": "Verbinden",
"addAgent": "Agent Hinzufügen",
"agentAddedSuccessfully": "Agent erfolgreich hinzugefügt.",
"agentRemovedSuccessfully": "Agent erfolgreich entfernt.",
"removeAgent": "Agent Entfernen",
"removeAgentMsg": "Bist Du sicher, dass Du diesen Agent entfernen möchtest?",
"LongSyntaxNotSupported": "Lange Syntax wird nicht unterstützt. Bitte verwende den YAML-Editor."
} }

View File

@ -19,7 +19,7 @@
"restartStack": "Restart", "restartStack": "Restart",
"updateStack": "Update", "updateStack": "Update",
"startStack": "Start", "startStack": "Start",
"downStack": "Stop & Down", "downStack": "Stop & Inactive",
"editStack": "Edit", "editStack": "Edit",
"discardStack": "Discard", "discardStack": "Discard",
"saveStackDraft": "Save", "saveStackDraft": "Save",
@ -95,6 +95,7 @@
"reverseProxyMsg1": "Using a Reverse Proxy?", "reverseProxyMsg1": "Using a Reverse Proxy?",
"reverseProxyMsg2": "Check how to config it for WebSocket", "reverseProxyMsg2": "Check how to config it for WebSocket",
"Cannot connect to the socket server.": "Cannot connect to the socket server.", "Cannot connect to the socket server.": "Cannot connect to the socket server.",
"Lost connection to the socket server. Reconnecting...": "Lost connection to the socket server. Reconnecting...",
"reconnecting...": "Reconnecting…", "reconnecting...": "Reconnecting…",
"connecting...": "Connecting to the socket server…", "connecting...": "Connecting to the socket server…",
"url": "URL | URLs", "url": "URL | URLs",
@ -111,5 +112,21 @@
"agentAddedSuccessfully": "Agent added successfully.", "agentAddedSuccessfully": "Agent added successfully.",
"agentRemovedSuccessfully": "Agent removed successfully.", "agentRemovedSuccessfully": "Agent removed successfully.",
"removeAgent": "Remove Agent", "removeAgent": "Remove Agent",
"removeAgentMsg": "Are you sure you want to remove this agent?" "removeAgentMsg": "Are you sure you want to remove this agent?",
"LongSyntaxNotSupported": "Long syntax is not supported here. Please use the YAML editor.",
"Saved": "Saved",
"Deployed": "Deployed",
"Deleted": "Deleted",
"Updated": "Updated",
"Started": "Started",
"Stopped": "Stopped",
"Restarted": "Restarted",
"Downed": "Downed",
"Switch to sh": "Switch to sh",
"terminal": "Terminal",
"CurrentHostname": "(Unset: Follow current hostname)",
"New Container Name...": "New Container Name...",
"Network name...": "Network name...",
"Select a network...": "Select a network...",
"NoNetworksAvailable": "No networks available. You need to add internal networks or enable external networks in the right side first."
} }

View File

@ -1,5 +1,5 @@
{ {
"languageName": "Español", "languageName": "Inglés",
"Create your admin account": "Crea tu cuenta de administrador", "Create your admin account": "Crea tu cuenta de administrador",
"authIncorrectCreds": "Nombre de usuario o contraseña incorrectos.", "authIncorrectCreds": "Nombre de usuario o contraseña incorrectos.",
"PasswordsDoNotMatch": "Las contraseñas no coinciden.", "PasswordsDoNotMatch": "Las contraseñas no coinciden.",
@ -12,7 +12,7 @@
"registry": "Registro", "registry": "Registro",
"compose": "Componer", "compose": "Componer",
"addFirstStackMsg": "¡Compón tu primera pila!", "addFirstStackMsg": "¡Compón tu primera pila!",
"stackName" : "Nombre de la Pila", "stackName": "Nombre de la Pila",
"deployStack": "Desplegar", "deployStack": "Desplegar",
"deleteStack": "Eliminar", "deleteStack": "Eliminar",
"stopStack": "Detener", "stopStack": "Detener",
@ -22,7 +22,7 @@
"editStack": "Editar", "editStack": "Editar",
"discardStack": "Descartar", "discardStack": "Descartar",
"saveStackDraft": "Guardar", "saveStackDraft": "Guardar",
"notAvailableShort" : "N/D", "notAvailableShort": "N/D",
"deleteStackMsg": "¿Estás seguro de que quieres eliminar esta pila?", "deleteStackMsg": "¿Estás seguro de que quieres eliminar esta pila?",
"stackNotManagedByDockgeMsg": "Esta pila no está gestionada por Dockge.", "stackNotManagedByDockgeMsg": "Esta pila no está gestionada por Dockge.",
"primaryHostname": "Nombre de Host Primario", "primaryHostname": "Nombre de Host Primario",
@ -90,5 +90,27 @@
"Allowed commands:": "Comandos permitidos:", "Allowed commands:": "Comandos permitidos:",
"Internal Networks": "Redes Internas", "Internal Networks": "Redes Internas",
"External Networks": "Redes Externas", "External Networks": "Redes Externas",
"No External Networks": "Sin Redes Externas" "No External Networks": "Sin Redes Externas",
"reverseProxyMsg1": "¿Usando un proxy inverso?",
"reverseProxyMsg2": "Compruebe cómo configurarlo para WebSocket",
"newUpdate": "Nueva actualización",
"downStack": "Detener y desactivar",
"Cannot connect to the socket server.": "No se puede conectar al servidor del socket.",
"reconnecting...": "Reconectando…",
"connecting...": "Conectando al servidor del socket…",
"url": "Dirección URL | Direcciones URLs",
"extra": "Addicional",
"currentEndpoint": "Corriente",
"dockgeURL": "URL de Dockge (ej. http://127.0.0.1:5001)",
"agentOnline": "Conectado",
"agentOffline": "Desconectado",
"connect": "Conectar",
"addAgent": "Añadir Agente",
"agentAddedSuccessfully": "Agente añadido satisfactoriamente.",
"removeAgent": "Remover Agente",
"removeAgentMsg": "Estás seguro que deseas remover este agente?",
"dockgeAgent": "Agentes Dockge",
"connecting": "Conectando",
"agentRemovedSuccessfully": "Agente removido satisfactoriamente.",
"LongSyntaxNotSupported": "Aquí no hay soporte para la sintaxis larga. Por favor use el editor de YAML."
} }

View File

@ -95,9 +95,22 @@
"connecting...": "Connexion au serveur socket…", "connecting...": "Connexion au serveur socket…",
"url": "URL | URLs", "url": "URL | URLs",
"extra": "Supplémentaire", "extra": "Supplémentaire",
"downStack": "Arrêter et désactiver", "downStack": "Arrêtez et rendre inactif",
"reverseProxyMsg1": "Utilisez vous un proxy inverse ?", "reverseProxyMsg1": "Utilisez vous un proxy inverse ?",
"Cannot connect to the socket server.": "Impossible de se connecter au serveur socket.", "Cannot connect to the socket server.": "Impossible de se connecter au serveur socket.",
"reconnecting...": "Reconnexion…", "reconnecting...": "Reconnexion…",
"newUpdate": "Nouvelle mise à jour" "newUpdate": "Nouvelle mise à jour",
"dockgeURL": "URL de Dockge (e.g. http://127.0.0.1:5001)",
"agentOnline": "En ligne",
"agentOffline": "Hors ligne",
"connecting": "Connexion",
"addAgent": "Ajouter un agent",
"agentAddedSuccessfully": "Agent ajouté avec succès.",
"agentRemovedSuccessfully": "Agent supprimé avec succès.",
"removeAgent": "Supprimer l'agent",
"dockgeAgent": "Dockge Agent | Dockge Agents",
"currentEndpoint": "Actuel",
"connect": "Connecter",
"removeAgentMsg": "Êtes-vous sûr de vouloir supprimer cet agent ?",
"LongSyntaxNotSupported": "La syntaxe longue n'est pas prise en charge ici. Veuillez utiliser l'éditeur YAML."
} }

116
frontend/src/lang/ga.json Normal file
View File

@ -0,0 +1,116 @@
{
"Create your admin account": "Cruthaigh do chuntas riaracháin",
"authIncorrectCreds": "Ainm úsáideora nó pasfhocal mícheart.",
"PasswordsDoNotMatch": "Níl na pasfhocail comhthráthacha.",
"Repeat Password": "Athscríobh an Pasfhocal",
"Create": "Cruthaigh",
"signedInDisp": "Sínithe isteach mar {0}",
"languageName": "Gaeilge",
"console": "Consól",
"registry": "Clárlann",
"compose": "Scríobh",
"stackName": "Ainm an Staca",
"deployStack": "Deighil",
"deleteStack": "Scrios",
"stopStack": "Stad",
"restartStack": "Atosaigh",
"updateStack": "Nuashonraigh",
"startStack": "Tosaigh",
"downStack": "Stad & Neamhghníomhach",
"editStack": "Cuir in Eagar",
"discardStack": "Caith amach",
"saveStackDraft": "Sábháil",
"deleteStackMsg": "An bhfuil tú cinnte go bhfuil tú ag iarraidh an staca seo a scriosadh?",
"primaryHostname": "Príomhainm óstáin",
"general": "Ginearálta",
"container": "Coimeádán | Coimeádáin",
"scanFolder": "Scanáil Fillteáin na dStacanna",
"dockerImage": "Íomha",
"restartPolicyUnlessStopped": "Mura Stadfar",
"restartPolicyAlways": "I gcónaí",
"restartPolicyOnFailure": "Ar theip",
"restartPolicyNo": "Níl",
"environmentVariable": "Athróg Timpeallacht | Athróga Timpeallacht",
"restartPolicy": "Polasaí Atosaigh",
"port": "Port | Portanna",
"volume": "Toirt | Toirteanna",
"network": "Líonra | Líonraí",
"dependsOn": "Spleáchas Coimeádán | Spleáchais Coimeádán",
"addListItem": "Cuir {0}",
"deleteContainer": "Scrios",
"addContainer": "Cuir Coimeádán leis",
"addNetwork": "Cuir Líonra leis",
"add": "Cuir",
"Edit": "Cuir in eagar",
"applyToYAML": "Déan iarratas ar YAML",
"createExternalNetwork": "Cruthaigh",
"disableauth.message1": "An bhfuil tú cinnte gur mhaith leat <strong>fíordheimhniú a dhíchumasú</strong>?",
"passwordNotMatchMsg": "Ní hionann an pasfhocal athfhillteach.",
"autoGet": "Faigh Uathoibríoch",
"addInternalNetwork": "Cuir",
"Save": "Sábháil",
"Language": "Teanga",
"Current User": "Úsáideoir Reatha",
"New Password": "Pasfhocal Nua",
"Current Password": "Pasfhocal Reatha",
"Change Password": "Athraigh do Phasfhocal",
"Repeat New Password": "Déan Pasfhocal Nua arís",
"Update Password": "Nuashonraigh Pasfhocal",
"Advanced": "Ardleibhéal",
"Please use this option carefully!": "Bain úsáid as an rogha seo go cúramach, le do thoil!",
"Enable Auth": "Cumasaigh Auth",
"Disable Auth": "Auth dhíchumasú",
"I understand, please disable": "Tuigim, le do thoil, múch",
"Leave": "Fág",
"Frontend Version": "Leagan Frontend",
"Check Update On GitHub": "Seiceáil an Nuashonrú ar GitHub",
"Show update if available": "Taispeáin an Nuashonrú más ar fáil",
"Also check beta release": "Seiceáil an scaoileadh beta freisin",
"Remember me": "Cuimhnigh orm",
"Login": "Logáil isteach",
"Username": "Ainm úsáideora",
"Password": "Pasfhocal",
"Logout": "Logáil Amach",
"Lowercase only": "Cás íochtair amháin",
"Convert to Compose": "Tiontaigh go Compóidh",
"Docker Run": "Docker Rith",
"exited": "scoir",
"inactive": "neamhghníomhach",
"Appearance": "Dealramh",
"Security": "Slándáil",
"About": "Maidir le",
"Allowed commands:": "Orduithe ceadaithe:",
"Internal Networks": "Líonraí Inmheánacha",
"External Networks": "Líonraí Seachtracha",
"No External Networks": "Gan Líonraí Seachtracha",
"reverseProxyMsg1": "Ag Úsáid Seachfhreastalaí Réabhlóideach?",
"reverseProxyMsg2": "Seiceáil conas é a shocraigh don WebSocket",
"Cannot connect to the socket server.": "Ní féidir ceangal a dhéanamh leis an freastalaí soicéad.",
"reconnecting...": "Ag athcheangal…",
"connecting...": "Ag nascadh leis an freastalaí soicéad…",
"url": "URL | URLanna",
"extra": "Breise",
"newUpdate": "Nuashonrú Nua",
"dockgeAgent": "Aighne Dockge | Aighnithe Dockge",
"currentEndpoint": "Reatha",
"dockgeURL": "Dockge URL (e.g. http://127.0.0.1:5001)",
"agentOnline": "Ar Líne",
"agentOffline": "As Líne",
"connecting": "Ag Nascadh",
"connect": "Ceangail",
"addAgent": "Cuir Aighne",
"agentAddedSuccessfully": "Aighne curtha leis go rathúil.",
"agentRemovedSuccessfully": "Aighne bhaint as go rathúil.",
"removeAgent": "Bain Aighne",
"removeAgentMsg": "An bhfuil tú cinnte gur mhaith leat an t-aighne seo a bhaint?",
"LongSyntaxNotSupported": "Ní thacaítear leis an níochán fada anseo. Úsáid an Eagarthóir YAML, le do thoil.",
"signedInDispDisabled": "Auth Díchumasaithe.",
"home": "Abhaile",
"addFirstStackMsg": "Scríobh do chéad stac!",
"notAvailableShort": "Níl ar Fáil",
"stackNotManagedByDockgeMsg": "Ní bhainistítear an staca seo ag Dockge.",
"containerName": "Ainm na gCoimeádán",
"disableauth.message2": "Tá sé deartha do chúinsí <strong>ina bhfuil sé beartaithe agat tríú páirtí athbhreithniú a chur i bhfeidhm</strong> os comhair Dockge cosúil le Rochtain Cloudflare, Authelia nó múnlaí deimhniú eile.",
"Settings": "Socruithe",
"active": "gníomhach"
}

116
frontend/src/lang/hu.json Normal file
View File

@ -0,0 +1,116 @@
{
"languageName": "Angol",
"Repeat Password": "Jelszó Ismétlése",
"Create": "Létrehozás",
"signedInDisp": "Bejelentkezve {0}-ként",
"home": "Főképernyő",
"registry": "Bejegyzések",
"compose": "Összeállít",
"addFirstStackMsg": "Állítsd össze az első stack-odat!",
"stackName": "Stack Neve",
"deployStack": "Telepítés",
"deleteStack": "Törlés",
"stopStack": "Leállítás",
"restartStack": "Újraindítás",
"downStack": "Leállítva",
"editStack": "Szerkesztés",
"discardStack": "Eldobás",
"saveStackDraft": "Mentés",
"notAvailableShort": "N/A",
"stackNotManagedByDockgeMsg": "Ez a stack nem a Dockge kezelése alatt áll.",
"primaryHostname": "Elsődleges Gazdagépnév",
"general": "Általános",
"container": "Konténer | Konténerek",
"scanFolder": "Stack Mappa Beolvasása",
"dockerImage": "Applikáció-kép",
"restartPolicyNo": "Nem",
"environmentVariable": "Környezeti Változó | Környezeti Változók",
"containerName": "Konténer Neve",
"port": "Port | Portok",
"volume": "Tárhely | Tárhelyek",
"network": "Hálózat | Hálózatok",
"addListItem": "{0} Hozzáadása",
"deleteContainer": "Törlés",
"addContainer": "Konténer Hozzáadása",
"addNetwork": "Hálózat Hozzáadása",
"add": "Hozzáadás",
"Edit": "Szerkesztés",
"applyToYAML": "Alkalmazás YAML Formátumba",
"addInternalNetwork": "Hozzáadás",
"Save": "Mentés",
"Language": "Nyelv",
"Current User": "Jelenlegi Felhasználó",
"Change Password": "Jelszó Módosítása",
"Current Password": "Jelenlegi Jelszó",
"New Password": "Új Jelszó",
"Update Password": "Jelszó Cserélése",
"Advanced": "Fejlett",
"Enable Auth": "Hitelesítés Bekapcsolása",
"Disable Auth": "Hitelesítés Kikapcsolása",
"I understand, please disable": "Megértetten, kapcsolja ki",
"Leave": "Kilépés",
"Frontend Version": "Frontend Verzió",
"Also check beta release": "Béta kiadás is",
"Remember me": "Emlékezz rám",
"Login": "Belépés",
"Username": "Felhasználónév",
"Password": "Jelszó",
"Settings": "Beállítások",
"Convert to Compose": "Átalakítás Compose-ra",
"Docker Run": "Docker Futtatása",
"active": "aktív",
"inactive": "inaktív",
"Appearance": "Megjelenés",
"Security": "Biztonság",
"Allowed commands:": "Megengedett parancsok:",
"Internal Networks": "Belső Hálózatok",
"External Networks": "Kölső Hálózatok",
"No External Networks": "Nincs Külső Hálózat",
"reverseProxyMsg1": "Proxy-t használ?",
"reverseProxyMsg2": "Javasolt WebSocket konfiguráció megtekintése",
"reconnecting...": "Újracsatlakozás…",
"extra": "Extra",
"newUpdate": "Új Frissítés",
"currentEndpoint": "Jelenlegi",
"agentOnline": "Online",
"dockgeAgent": "Dockge Felügyelő | Dockge Felügyelők",
"agentOffline": "Offline",
"connecting": "Csatlakozás",
"connect": "Csatlakozás",
"agentAddedSuccessfully": "Felügyelő hozzáadva.",
"agentRemovedSuccessfully": "Felügyelő törölve.",
"removeAgent": "Felügyelő Törlése",
"addAgent": "Felügyelő Hozzáadása",
"removeAgentMsg": "Biztos hogy törli ezt a Felügyelőt?",
"Create your admin account": "Adminisztrátor felhasználó létrehozása",
"authIncorrectCreds": "Helytelen felhasználónév vagy jelszó.",
"PasswordsDoNotMatch": "Jelszavak nem eggyeznek.",
"signedInDispDisabled": "Hitelesítés Kikapcsolva.",
"console": "Konzol",
"updateStack": "Frissítés",
"startStack": "Indítás",
"deleteStackMsg": "Biztos hogy törli ezt a stack-ot?",
"restartPolicyUnlessStopped": "Ha Nincs Leállítva",
"restartPolicyAlways": "Mindig",
"restartPolicyOnFailure": "Hibába Futáskor",
"restartPolicy": "Újraindítási Elv",
"dependsOn": "Konténer Függés | Konténer Függései",
"disableauth.message1": "Biztos hogy szeretné a <strong>hitelesítést kikapcsolni</strong>?",
"disableauth.message2": "Olyan esetekre ahol <strong>harmadfél általi hitelesítést szeretne alkalmazni</strong> a Dockge elött, mint például Cloudflare Access, Authelia vagy egyéb hitelesítő program.",
"passwordNotMatchMsg": "Az ismételt jelszó nem eggyezik.",
"autoGet": "Automatikus Megszerzés",
"createExternalNetwork": "Készítés",
"Repeat New Password": "Új Jelszó Megerősítése",
"Please use this option carefully!": "Ezt a lehetőséget használja óvatosan!",
"Check Update On GitHub": "Fríssítés Keresése Github-on",
"Show update if available": "Elérhető frissítések megjelenítése",
"Logout": "Kilépés",
"Lowercase only": "Csak kisbetűvel",
"exited": "végzett",
"About": "Az Alkalmazásról",
"Cannot connect to the socket server.": "A Socket csatlakozás nem elérhető.",
"connecting...": "Csatlakozás a socket szerver-hez…",
"url": "URL | URL-ek",
"dockgeURL": "Dockge URL (pl. http://127.0.0.1:5001)",
"LongSyntaxNotSupported": "A hosszú szintaxis itt nem támogatott. Használja a YAML szerkesztőt."
}

116
frontend/src/lang/id.json Normal file
View File

@ -0,0 +1,116 @@
{
"Create your admin account": "Buat akun admin Anda",
"PasswordsDoNotMatch": "Kata sandi tidak sama.",
"Repeat Password": "Ulangi Kata Sandi",
"Create": "Buat",
"signedInDisp": "Masuk sebagai {0}",
"signedInDispDisabled": "Otentikasi Dinonaktifkan.",
"home": "Beranda",
"console": "Konsol",
"registry": "Registri",
"compose": "Menyusun",
"addFirstStackMsg": "Buat tumpukan pertama Anda!",
"stackName": "Nama Tumpukan",
"deployStack": "Terapkan",
"stopStack": "Hentikan",
"restartStack": "Mulai ulang",
"updateStack": "Pembaruan",
"downStack": "Hentikan & Tidak aktif",
"editStack": "Sunting",
"discardStack": "Buang",
"saveStackDraft": "Simpan",
"notAvailableShort": "T/A",
"stackNotManagedByDockgeMsg": "Tumpukan ini tidak dikelola oleh Dockge.",
"primaryHostname": "Nama Host Utama",
"general": "Umum",
"container": "Kontainer | Wadah",
"scanFolder": "Pindai Folder Tumpukan",
"restartPolicyUnlessStopped": "Kecuali Dihentikan",
"restartPolicyAlways": "Selalu",
"restartPolicyNo": "Tidak",
"environmentVariable": "Variabel Lingkungan | Variabel Lingkungan",
"dockerImage": "Image",
"startStack": "Mulai",
"restartPolicy": "Kebijakan Mulai Ulang",
"containerName": "Nama Kontainer",
"network": "Jaringan",
"dependsOn": "Ketergantungan Kontainer",
"addListItem": "Tambah {0}",
"deleteContainer": "Hapus",
"addContainer": "Tambah Kontainer",
"addNetwork": "Tambah Jaringan",
"disableauth.message1": "Apakah Anda yakin untuk <strong>mematikan otentikasi</strong>?",
"passwordNotMatchMsg": "Kata sandi berulang tidak cocok.",
"autoGet": "Otomatis Dapatkan",
"add": "Tambah",
"Edit": "Sunting",
"port": "Port",
"volume": "Volume",
"createExternalNetwork": "Buat",
"addInternalNetwork": "Tambah",
"Save": "Simpan",
"Language": "Bahasa",
"Change Password": "Ubah Kata Sandi",
"Current Password": "Ubah Kata Sandi",
"New Password": "Kata Sandi Baru",
"Repeat New Password": "Ulangi Kata Sandi",
"Update Password": "Perbarui Kata Sandi",
"Advanced": "Lanjutan",
"Enable Auth": "Hidupkan Otentikasi",
"Disable Auth": "Matikan Otentikasi",
"I understand, please disable": "Saya mengerti, tolong nonaktifkan",
"Leave": "Pergi",
"Frontend Version": "Versi Antarmuka",
"Check Update On GitHub": "Cek pembaruan di Github",
"Show update if available": "Tampilkan pembaruan jika tersedia",
"Remember me": "Ingat saya",
"Login": "Masuk",
"Username": "Nama Pengguna",
"Password": "Kata Sandi",
"Settings": "Pengaturan",
"Logout": "Keluar",
"Lowercase only": "Huruf kecil saja",
"Convert to Compose": "Ubah ke Tumpukan",
"active": "aktif",
"exited": "keluar",
"inactive": "nonaktif",
"Appearance": "Tampilan",
"Security": "Keamanan",
"About": "Tentang",
"Internal Networks": "Jaringan internal",
"External Networks": "Jaringan eksternal",
"No External Networks": "Tanpa Jaringan Eksternal",
"reverseProxyMsg1": "Menggunakan Reverse Proxy ?",
"Cannot connect to the socket server.": "Tidak bisa terhubung dengan server socket.",
"reconnecting...": "Menghubungkan kembali…",
"connecting...": "Menyambungkan ke server socket…",
"url": "TAUTAN",
"extra": "Ekstra",
"Docker Run": "Jalankan Docker",
"newUpdate": "Pembaruan Baru",
"languageName": "Bahasa Indonesia (Indonesian)",
"authIncorrectCreds": "Nama pengguna atau sandi salah.",
"deleteStack": "Hapus",
"deleteStackMsg": "Apakah Anda yakin Anda ingin menghapus tumpukan ini ?",
"restartPolicyOnFailure": "Ketika Gagal",
"disableauth.message2": "Ini dirancang untuk skenario <strong>di mana Anda bermaksud untuk mengimplementasikan otentikasi pihak ketiga</strong> di depan Dockge seperti Cloudflare Access, Authelia, atau mekanisme otentikasi lainnya.",
"applyToYAML": "Aplikasikan ke YAML",
"Current User": "Pengguna Saat Ini",
"Please use this option carefully!": "Mohon berhati - hati menggunakan opsi ini!",
"Also check beta release": "Juga cek keluaran beta",
"Allowed commands:": "Perintah yang diperbolehkan:",
"reverseProxyMsg2": "Lihat cara mengonfigurasinya untuk WebSocket",
"dockgeURL": "Alamat Dockge (cth. http://127.0.0.1:5001)",
"connecting": "Menghubungkan",
"addAgent": "Tambah Agen",
"agentAddedSuccessfully": "Agen sukses ditambahkan.",
"agentRemovedSuccessfully": "Agen sukses dihapus.",
"removeAgent": "Hapus Agen",
"connect": "Hubungkan",
"dockgeAgent": "Agen Dockge",
"currentEndpoint": "Sekarang",
"agentOnline": "Terhubung",
"agentOffline": "Terputus",
"removeAgentMsg": "Apakah anda yakin untuk menghapus agen ini?",
"LongSyntaxNotSupported": "Sintaks yang panjang tidak didukung di sini. Silakan gunakan editor YAML."
}

View File

@ -19,7 +19,7 @@
"restartStack": "Riavvia", "restartStack": "Riavvia",
"updateStack": "Aggiorna", "updateStack": "Aggiorna",
"startStack": "Avvia", "startStack": "Avvia",
"downStack": "Stop & Down", "downStack": "Stop & Inattivo",
"editStack": "Modifica", "editStack": "Modifica",
"discardStack": "Annulla", "discardStack": "Annulla",
"saveStackDraft": "Salva", "saveStackDraft": "Salva",
@ -92,11 +92,25 @@
"Internal Networks": "Reti interne", "Internal Networks": "Reti interne",
"External Networks": "Reti esterne", "External Networks": "Reti esterne",
"No External Networks": "Nessuna rete esterna", "No External Networks": "Nessuna rete esterna",
"reverseProxyMsg1": "Utilizzando un proxy inverso?", "reverseProxyMsg1": "Stai usando Reverse Proxy?",
"reverseProxyMsg2": "Controlla come configurarlo per WebSocket", "reverseProxyMsg2": "Verifica come configurarlo per il WebSocket",
"Cannot connect to the socket server.": "Impossibile connettersi al server socket.", "Cannot connect to the socket server.": "impossibile collegarsi al socket server",
"connecting...": "Connessione al server socket…", "connecting...": "connettendosi al socket server…",
"extra": "Extra", "extra": "Extra",
"reconnecting...": "Riconnessione…", "reconnecting...": "Riconnessione…",
"url": "Indirizzo | Indirizzi" "url": "URL | URLs",
"newUpdate": "Nuovo aggiornamento",
"dockgeAgent": "Agente Dockge | Agenti Dockge",
"currentEndpoint": "Corrente",
"agentOnline": "Online",
"agentOffline": "Offline",
"connecting": "In connessione",
"connect": "Connetti",
"dockgeURL": "Dockge URL (ad esempio http://127.0.0.1:5001)",
"agentRemovedSuccessfully": "Agente rimosso con successo.",
"removeAgent": "Rimuovi Agente",
"removeAgentMsg": "Sei sicuro di voler rimuovere questo agente?",
"addAgent": "Aggungi Agente",
"agentAddedSuccessfully": "Agente aggiunto correttamente.",
"LongSyntaxNotSupported": "La sintassi lunga non è supportata qui. Utilizzare l'editor YAML."
} }

View File

@ -34,7 +34,7 @@
"primaryHostname": "主ホスト名", "primaryHostname": "主ホスト名",
"container": "コンテナ", "container": "コンテナ",
"dependsOn": "コンテナ依存関係", "dependsOn": "コンテナ依存関係",
"downStack": "停止して削除", "downStack": "停止して非アクティブ化",
"notAvailableShort": "N/A", "notAvailableShort": "N/A",
"restartPolicyUnlessStopped": "手動で停止されるまで", "restartPolicyUnlessStopped": "手動で停止されるまで",
"restartPolicyAlways": "常時", "restartPolicyAlways": "常時",
@ -94,5 +94,18 @@
"I understand, please disable": "理解しました。無効化してください", "I understand, please disable": "理解しました。無効化してください",
"Lowercase only": "小文字のみ", "Lowercase only": "小文字のみ",
"reverseProxyMsg1": "リバースプロキシを使用していますか?", "reverseProxyMsg1": "リバースプロキシを使用していますか?",
"connecting...": "ソケットサーバーに接続中…" "connecting...": "ソケットサーバーに接続中…",
"newUpdate": "新しいバージョン",
"dockgeAgent": "Dockge エージェント",
"dockgeURL": "DockgeのURL (例: http://127.0.0.1:5001)",
"agentOnline": "オンライン",
"agentOffline": "オフライン",
"connecting": "接続中",
"connect": "接続",
"addAgent": "エージェントを追加",
"agentAddedSuccessfully": "エージェントが正常に追加されました。",
"agentRemovedSuccessfully": "エージェントは正常に削除されました。",
"removeAgent": "エージェントを削除",
"removeAgentMsg": "本当にこのエージェントを削除しますか?",
"url": "URL | URL"
} }

View File

@ -92,11 +92,25 @@
"External Networks": "외부 네트워크", "External Networks": "외부 네트워크",
"No External Networks": "외부 네트워크 없음", "No External Networks": "외부 네트워크 없음",
"reverseProxyMsg2": "여기서 WebSocket을 위한 설정을 확인해 보세요", "reverseProxyMsg2": "여기서 WebSocket을 위한 설정을 확인해 보세요",
"downStack": "정지 & Down", "downStack": "정지 & 비활성화",
"reverseProxyMsg1": "리버스 프록시를 사용하고 계신가요?", "reverseProxyMsg1": "리버스 프록시를 사용하고 계신가요?",
"Cannot connect to the socket server.": "소켓 서버에 연결하지 못했습니다.", "Cannot connect to the socket server.": "소켓 서버에 연결하지 못했습니다.",
"connecting...": "소켓 서버에 연결하는 중…", "connecting...": "소켓 서버에 연결하는 중…",
"extra": "기타", "extra": "기타",
"url": "URL | URL", "url": "URL | URL",
"reconnecting...": "재연결 중…" "reconnecting...": "재연결 중…",
"newUpdate": "새 업데이트",
"dockgeURL": "Dockge URL (예. http://127.0.0.1:5001)",
"agentOnline": "온라인",
"agentOffline": "오프라인",
"connect": "연결",
"addAgent": "에이전트 추가",
"agentAddedSuccessfully": "에이전트를 성공적으로 추가했습니다.",
"removeAgent": "에이전트 삭제",
"removeAgentMsg": "정말로 이 에이전트를 삭제하시겠습니까?",
"dockgeAgent": "Dockge 에이전트",
"currentEndpoint": "현재",
"connecting": "연결 중",
"agentRemovedSuccessfully": "에이전트를 성공적으로 삭제했습니다.",
"LongSyntaxNotSupported": "긴 문법은 여기서 지원되지 않습니다. YAML 에디터를 사용하세요."
} }

View File

@ -0,0 +1,34 @@
{
"Create your admin account": "Lag din administrator konto",
"authIncorrectCreds": "Brukernavn eller passord stemmer ikke.",
"PasswordsDoNotMatch": "Passord stemmer ikke.",
"Repeat Password": "Gjenta passord",
"Create": "Lag",
"signedInDisp": "Logg in som {0}",
"signedInDispDisabled": "Auth deaktivert.",
"home": "Hjem",
"console": "Konsoll",
"registry": "Register",
"compose": "Skriv",
"addFirstStackMsg": "Lag din første stack!",
"stackName": "Navn på stack",
"deployStack": "Utplassere",
"deleteStack": "Slett",
"stopStack": "Stoppe",
"restartStack": "Omstart",
"updateStack": "Oppdater",
"downStack": "Stop & Inaktiver",
"editStack": "Rediger",
"discardStack": "Kast",
"saveStackDraft": "Lagre",
"notAvailableShort": "N/A",
"deleteStackMsg": "Er du sikker på at du vil slette denne stacken?",
"stackNotManagedByDockgeMsg": "Denne stacken er ikke styrt av Dockge.",
"primaryHostname": "Primært vertsnavn",
"general": "Generell",
"container": "Container | Containers",
"scanFolder": "Skann Stacks mappe",
"dockerImage": "Bilde",
"languageName": "Engelsk",
"startStack": "Start"
}

View File

@ -1,14 +1,14 @@
{ {
"languageName": "Nederlands", "languageName": "Nederlands",
"authIncorrectCreds": "Onjuiste gebruikersnaam of wachtwoord.", "authIncorrectCreds": "Onjuiste gebruikersnaam of wachtwoord.",
"PasswordsDoNotMatch": "Paswoorden komen niet overeen.", "PasswordsDoNotMatch": "Wachtwoorden komen niet overeen.",
"Repeat Password": "Herhaal wachtwoord", "Repeat Password": "Herhaal wachtwoord",
"Create": "Aanmaken", "Create": "Aanmaken",
"signedInDisp": "Ingelogd als {0}", "signedInDisp": "Ingelogd als {0}",
"home": "Startpagina", "home": "Home",
"console": "Console", "console": "Console",
"registry": "Register", "registry": "Register",
"compose": "Samenstellen", "compose": "Nieuwe stack",
"stackName": "Stack naam", "stackName": "Stack naam",
"deployStack": "Opzetten", "deployStack": "Opzetten",
"deleteStack": "Verwijder", "deleteStack": "Verwijder",
@ -16,11 +16,11 @@
"restartStack": "Herstart", "restartStack": "Herstart",
"updateStack": "Update", "updateStack": "Update",
"startStack": "Start", "startStack": "Start",
"downStack": "Stop & Down", "downStack": "Stop & Afsluiten",
"editStack": "Bewerken", "editStack": "Bewerken",
"discardStack": "Verwijderen", "discardStack": "Verwijderen",
"saveStackDraft": "Opslaan", "saveStackDraft": "Opslaan",
"notAvailableShort": "NVT", "notAvailableShort": "n.v.t.",
"stackNotManagedByDockgeMsg": "Deze stack wordt niet beheerd door Dockge.", "stackNotManagedByDockgeMsg": "Deze stack wordt niet beheerd door Dockge.",
"primaryHostname": "Primaire hostnaam", "primaryHostname": "Primaire hostnaam",
"general": "Algemeen", "general": "Algemeen",
@ -83,9 +83,9 @@
"reverseProxyMsg1": "Reverse proxy in gebruik?", "reverseProxyMsg1": "Reverse proxy in gebruik?",
"reverseProxyMsg2": "Controleer hoe te configureren voor WebSocket", "reverseProxyMsg2": "Controleer hoe te configureren voor WebSocket",
"Cannot connect to the socket server.": "Kan geen verbinding maken met de socket server.", "Cannot connect to the socket server.": "Kan geen verbinding maken met de socket server.",
"reconnecting...": "Herverbinden...", "reconnecting...": "Herverbinden",
"connecting...": "Verbinden met de socket server...", "connecting...": "Verbinden met de socket server",
"url": "Url(s)", "url": "Adres(sen)",
"extra": "Extra", "extra": "Extra",
"Create your admin account": "Creëer je beheerders-account", "Create your admin account": "Creëer je beheerders-account",
"addFirstStackMsg": "Maak je eerste stack!", "addFirstStackMsg": "Maak je eerste stack!",
@ -98,5 +98,19 @@
"Please use this option carefully!": "Wees voorzichtig met deze optie!", "Please use this option carefully!": "Wees voorzichtig met deze optie!",
"Also check beta release": "Controleer ook op beta releases", "Also check beta release": "Controleer ook op beta releases",
"Convert to Compose": "Converteer naar compose", "Convert to Compose": "Converteer naar compose",
"External Networks": "Externe netwerken" "External Networks": "Externe netwerken",
"newUpdate": "Nieuwe update",
"dockgeAgent": "Dockge Agent | Dockge Agenten",
"currentEndpoint": "Huidige",
"dockgeURL": "Dockge Adres (bijv. http://127.0.0.1:5001)",
"agentOnline": "Online",
"agentOffline": "Offline",
"connecting": "Verbinden",
"connect": "Verbind",
"addAgent": "Agent toevoegen",
"agentAddedSuccessfully": "Agent toegevoegd.",
"agentRemovedSuccessfully": "Agent verwijderd.",
"removeAgent": "Verwijder agent",
"removeAgentMsg": "Weet je zeker dat je deze agent wilt verwijderen?",
"LongSyntaxNotSupported": "Lange syntax wordt hier niet ondersteund. Gebruik de YAML editor."
} }

View File

@ -12,7 +12,7 @@
"registry": "Rejestr", "registry": "Rejestr",
"compose": "Stwórz", "compose": "Stwórz",
"addFirstStackMsg": "Stwórz swój pierwszy stos!", "addFirstStackMsg": "Stwórz swój pierwszy stos!",
"stackName" : "Nazwa stosu", "stackName": "Nazwa stosu",
"deployStack": "Wdroż", "deployStack": "Wdroż",
"deleteStack": "Usuń", "deleteStack": "Usuń",
"stopStack": "Zatrzymaj", "stopStack": "Zatrzymaj",
@ -22,7 +22,7 @@
"editStack": "Edytuj", "editStack": "Edytuj",
"discardStack": "Odrzuć", "discardStack": "Odrzuć",
"saveStackDraft": "Zapisz", "saveStackDraft": "Zapisz",
"notAvailableShort" : "N/A", "notAvailableShort": "N/A",
"deleteStackMsg": "Czy na pewno chcesz usunąć ten stos?", "deleteStackMsg": "Czy na pewno chcesz usunąć ten stos?",
"stackNotManagedByDockgeMsg": "Ten stos nie jest zarządzany przez Dockge.", "stackNotManagedByDockgeMsg": "Ten stos nie jest zarządzany przez Dockge.",
"primaryHostname": "Podstawowa nazwa hosta", "primaryHostname": "Podstawowa nazwa hosta",
@ -90,5 +90,27 @@
"Allowed commands:": "Dozwolone polecenia:", "Allowed commands:": "Dozwolone polecenia:",
"Internal Networks": "Sieci wewnętrzne", "Internal Networks": "Sieci wewnętrzne",
"External Networks": "Sieci zewnętrzne", "External Networks": "Sieci zewnętrzne",
"No External Networks": "Brak sieci zewnętrznych" "No External Networks": "Brak sieci zewnętrznych",
"newUpdate": "Nowa Aktualizacja",
"dockgeAgent": "Agent Dockge | Agenci Dockge",
"currentEndpoint": "Obecny",
"connecting": "Łączenie",
"connect": "Połącz",
"addAgent": "Dodaj Agenta",
"agentAddedSuccessfully": "Agent pomyślnie dodany.",
"agentRemovedSuccessfully": "Agent pomyślnie usunięty.",
"removeAgent": "Usuń Agenta",
"removeAgentMsg": "Czy na pewno usunąć tego Agenta?",
"dockgeURL": "Dockge URL (e.g. http://127.0.0.1:5001)",
"agentOnline": "Online",
"agentOffline": "Offline",
"downStack": "Zatrzymaj i Dezaktywuj",
"reverseProxyMsg1": "Używasz Serwer Proxy?",
"reverseProxyMsg2": "Sprawdź w jaki sposób skonfigurować dla WebSocketów",
"Cannot connect to the socket server.": "Brak połączenia z socket serwera.",
"connecting...": "Łączenie z socketem serwera…",
"extra": "Ekstra",
"url": "URL | URLe",
"reconnecting...": "Wznawianie połączenia…",
"LongSyntaxNotSupported": "Nieobsługiwana składnia. Użyj edytora YAML."
} }

View File

@ -92,11 +92,25 @@
"External Networks": "Redes externas", "External Networks": "Redes externas",
"No External Networks": "Sem redes externas", "No External Networks": "Sem redes externas",
"reverseProxyMsg2": "Veja como configurar para WebSocket", "reverseProxyMsg2": "Veja como configurar para WebSocket",
"downStack": "Parar & Encerrar", "downStack": "Parar & Inativar",
"reverseProxyMsg1": "Utiliza proxy reverso?", "reverseProxyMsg1": "Utiliza proxy reverso?",
"Cannot connect to the socket server.": "Não é possível conectar ao socket server.", "Cannot connect to the socket server.": "Não é possível conectar ao socket server.",
"connecting...": "Conectando ao socket server…", "connecting...": "Conectando ao socket server…",
"url": "URL | URLs", "url": "URL | URLs",
"extra": "Extra", "extra": "Extra",
"reconnecting...": "Reconectando…" "reconnecting...": "Reconectando…",
"newUpdate": "Nova Atualização",
"dockgeAgent": "Agente Dockge | Agentes Dockge",
"currentEndpoint": "Atual",
"dockgeURL": "Dockge URL (ex. http://127.0.0.1:5001)",
"agentOnline": "Online",
"agentOffline": "Offline",
"connecting": "Conectando",
"connect": "Conectar",
"addAgent": "Adicionar agente",
"agentAddedSuccessfully": "Agente adicionado com sucesso.",
"agentRemovedSuccessfully": "Agente removido com sucesso.",
"removeAgent": "Remover Agente",
"removeAgentMsg": "Tem certeza de que deseja remover este agente?",
"LongSyntaxNotSupported": "Sintaxe longa não é suportada aqui. Por favor, use o editor de YAML."
} }

View File

@ -12,7 +12,7 @@
"registry": "Registro", "registry": "Registro",
"compose": "Compor", "compose": "Compor",
"addFirstStackMsg": "Componha sua primeira pilha!", "addFirstStackMsg": "Componha sua primeira pilha!",
"stackName" : "Nome da Pilha", "stackName": "Nome da Pilha",
"deployStack": "Implantar", "deployStack": "Implantar",
"deleteStack": "Excluir", "deleteStack": "Excluir",
"stopStack": "Parar", "stopStack": "Parar",
@ -22,7 +22,7 @@
"editStack": "Editar", "editStack": "Editar",
"discardStack": "Descartar", "discardStack": "Descartar",
"saveStackDraft": "Salvar", "saveStackDraft": "Salvar",
"notAvailableShort" : "N/D", "notAvailableShort": "N/D",
"deleteStackMsg": "Tem certeza de que deseja excluir esta pilha?", "deleteStackMsg": "Tem certeza de que deseja excluir esta pilha?",
"stackNotManagedByDockgeMsg": "Esta pilha não é gerenciada pelo Dockge.", "stackNotManagedByDockgeMsg": "Esta pilha não é gerenciada pelo Dockge.",
"primaryHostname": "Nome do Host Primário", "primaryHostname": "Nome do Host Primário",
@ -90,5 +90,27 @@
"Allowed commands:": "Comandos permitidos:", "Allowed commands:": "Comandos permitidos:",
"Internal Networks": "Redes Internas", "Internal Networks": "Redes Internas",
"External Networks": "Redes Externas", "External Networks": "Redes Externas",
"No External Networks": "Sem Redes Externas" "No External Networks": "Sem Redes Externas",
"newUpdate": "Nova Atualização",
"currentEndpoint": "Atual",
"dockgeURL": "Dockge URL (e.g. http://127.0.0.1:5001)",
"agentOnline": "Online",
"agentOffline": "Offline",
"connecting": "Conectando",
"addAgent": "Adicionar Agente",
"agentAddedSuccessfully": "Agente adicionado com sucesso.",
"agentRemovedSuccessfully": "Agente removido com sucesso.",
"removeAgent": "Remover Agente",
"downStack": "Parar & Desativar",
"dockgeAgent": "Dockge Agente | Dockge Agentes",
"connect": "Conectar",
"removeAgentMsg": "Tem certeza de que deseja remover este agente?",
"reverseProxyMsg1": "Usando um Proxy Reverso?",
"reverseProxyMsg2": "Verifique para configurá-lo como WebSocket",
"Cannot connect to the socket server.": "Não é possível se conectar ao servidor socket.",
"url": "URL | URL's",
"extra": "Extra",
"reconnecting...": "Reconectando…",
"connecting...": "Conectando ao servidor de socket…",
"LongSyntaxNotSupported": "Sintaxes longas não são suportadas aqui. Por favor, utilize um editor YAML."
} }

View File

@ -1,8 +1,8 @@
{ {
"languageName": "Русский", "languageName": "Русский",
"Create your admin account": "Создайте учетку администратора", "Create your admin account": "Создайте учетную запись администратора",
"authIncorrectCreds": "Неверный логин или пароль.", "authIncorrectCreds": "Неверный логин или пароль.",
"PasswordsDoNotMatch": "Пароль не совпадает.", "PasswordsDoNotMatch": "Пароли не совпадают.",
"Repeat Password": "Повторите пароль", "Repeat Password": "Повторите пароль",
"Create": "Создать", "Create": "Создать",
"signedInDisp": "Авторизован как {0}", "signedInDisp": "Авторизован как {0}",
@ -10,7 +10,7 @@
"home": "Главная", "home": "Главная",
"console": "Консоль", "console": "Консоль",
"registry": "Реестр (Registry)", "registry": "Реестр (Registry)",
"compose": "Составить (Compose)", "compose": "Compose",
"addFirstStackMsg": "Создайте свой первый стек!", "addFirstStackMsg": "Создайте свой первый стек!",
"stackName": "Имя стека", "stackName": "Имя стека",
"deployStack": "Развернуть", "deployStack": "Развернуть",
@ -24,9 +24,9 @@
"saveStackDraft": "Сохранить", "saveStackDraft": "Сохранить",
"notAvailableShort": "Н/Д", "notAvailableShort": "Н/Д",
"deleteStackMsg": "Вы уверены что хотите удалить этот стек?", "deleteStackMsg": "Вы уверены что хотите удалить этот стек?",
"stackNotManagedByDockgeMsg": "Данный стек не обслуживается Dockge.", "stackNotManagedByDockgeMsg": "Данный стек не управляется Dockge.",
"primaryHostname": "Имя хоста", "primaryHostname": "Имя хоста",
"general": "Главное", "general": "Основные",
"container": "Контейнер | Контейнеры", "container": "Контейнер | Контейнеры",
"scanFolder": "Сканировать папку стеков", "scanFolder": "Сканировать папку стеков",
"dockerImage": "Образ", "dockerImage": "Образ",
@ -43,12 +43,12 @@
"dependsOn": "Зависимость контейнера | Зависимости контейнера", "dependsOn": "Зависимость контейнера | Зависимости контейнера",
"addListItem": "Добавить {0}", "addListItem": "Добавить {0}",
"deleteContainer": "Удалить", "deleteContainer": "Удалить",
"addContainer": "Добавить Контейнер", "addContainer": "Добавить контейнер",
"addNetwork": "Добавить Сеть", "addNetwork": "Добавить сеть",
"disableauth.message1": "Вы уверены что хотите <strong>выключить авторизацию</strong>?", "disableauth.message1": "Вы уверены что хотите <strong>отключить аутентификацию</strong>?",
"disableauth.message2": "Он предназначен для сценариев, <strong>где вы собираетесь реализовать стороннюю аутентификацию</strong> перед Dockge, например Cloudflare Access, Authelia или другие механизмы аутентификации.", "disableauth.message2": "Это предназначено для сценариев, <strong>когда Вы собираетесь использовать стороннюю аутентификацию</strong> перед Dockge, например Cloudflare Access, Authelia или другие механизмы аутентификации.",
"passwordNotMatchMsg": "Повторный пароль не совпадает.", "passwordNotMatchMsg": "Повторный пароль не совпадает.",
"autoGet": "Auto Get", "autoGet": "Авто",
"add": "Добавить", "add": "Добавить",
"Edit": "Изменить", "Edit": "Изменить",
"applyToYAML": "Применить к YAML", "applyToYAML": "Применить к YAML",
@ -62,16 +62,16 @@
"New Password": "Новый пароль", "New Password": "Новый пароль",
"Repeat New Password": "Повторите новый пароль", "Repeat New Password": "Повторите новый пароль",
"Update Password": "Обновить пароль", "Update Password": "Обновить пароль",
"Advanced": "Продвинутые опции", "Advanced": "Расширенные",
"Please use this option carefully!": "Пожалуйста, используйте эту опцию осторожно!", "Please use this option carefully!": "Пожалуйста, используйте эту опцию осторожно!",
"Enable Auth": "Включить аутентификацию", "Enable Auth": "Включить аутентификацию",
"Disable Auth": "Отключить аутентификацию", "Disable Auth": "Отключить аутентификацию",
"I understand, please disable": "Я понимаю, пожалуйста, отключите", "I understand, please disable": "Я понимаю, пожалуйста, отключите",
"Leave": "Покинуть", "Leave": "Покинуть",
"Frontend Version": "Версия внешнего интерфейса", "Frontend Version": "Версия внешнего интерфейса",
"Check Update On GitHub": "Проверьте обновление на GitHub", "Check Update On GitHub": "Проверить обновления на GitHub",
"Show update if available": "Показать обновление, если оно доступно", "Show update if available": "Показать обновление, если оно доступно",
"Also check beta release": "Также проверьте бета-версию", "Also check beta release": "Получать бета-версии",
"Remember me": "Запомнить меня", "Remember me": "Запомнить меня",
"Login": "Логин", "Login": "Логин",
"Username": "Имя пользователя", "Username": "Имя пользователя",
@ -80,10 +80,10 @@
"Logout": "Выйти", "Logout": "Выйти",
"Lowercase only": "Только нижний регистр", "Lowercase only": "Только нижний регистр",
"Convert to Compose": "Преобразовать в Compose", "Convert to Compose": "Преобразовать в Compose",
"Docker Run": "Запустить Docker", "Docker Run": "Docker Run",
"active": "активный", "active": "акт.",
"exited": "завершенный", "exited": "ост.",
"inactive": "неактинвый", "inactive": "неакт.",
"Appearance": "Внешний вид", "Appearance": "Внешний вид",
"Security": "Безопасность", "Security": "Безопасность",
"About": "О продукте", "About": "О продукте",
@ -91,12 +91,26 @@
"Internal Networks": "Внутренние сети", "Internal Networks": "Внутренние сети",
"External Networks": "Внешние сети", "External Networks": "Внешние сети",
"No External Networks": "Нет внешних сетей", "No External Networks": "Нет внешних сетей",
"downStack": "Остановить и выключить", "downStack": "Остановить и деактивировать",
"reverseProxyMsg1": "Использовать Реверс Прокси?", "reverseProxyMsg1": "Используете обратный прокси?",
"reconnecting...": "Переподключение…", "reconnecting...": "Переподключение…",
"Cannot connect to the socket server.": "Не удается подключиться к серверу сокетов.", "Cannot connect to the socket server.": "Не удается подключиться к сокет-серверу.",
"url": "URL адрес(а)", "url": "URL-адрес | URL-адреса",
"extra": "Дополнительно", "extra": "Дополнительно",
"reverseProxyMsg2": "Проверьте, как настроить его для WebSocket", "reverseProxyMsg2": "Проверьте, как настроить его для WebSocket",
"connecting...": "Подключение к серверу сокетов…" "connecting...": "Подключение к сокет-серверу…",
"newUpdate": "Доступно обновление",
"currentEndpoint": "Текущий",
"agentOnline": "В сети",
"agentOffline": "Не в сети",
"connecting": "Подключение",
"connect": "Подключить",
"addAgent": "Добавить Агента",
"agentAddedSuccessfully": "Агент успешно добавлен.",
"removeAgent": "Удалить агента",
"removeAgentMsg": "Вы уверены, что хотите удалить этого агента?",
"dockgeAgent": "Агент Dockge | Агенты Dockge",
"dockgeURL": "URL-адрес Dockge (например: http://127.0.0.1:5001)",
"agentRemovedSuccessfully": "Агент успешно удален.",
"LongSyntaxNotSupported": "Длинный синтаксис здесь не поддерживается. Пожалуйста, используйте редактор YAML."
} }

View File

@ -91,9 +91,26 @@
"Internal Networks": "Notranja omrežja", "Internal Networks": "Notranja omrežja",
"External Networks": "Zunanja omrežja", "External Networks": "Zunanja omrežja",
"No External Networks": "Ni zunanjih omrežij", "No External Networks": "Ni zunanjih omrežij",
"downStack": "Ustavi & Odstrani", "downStack": "Ustavi & Deaktiviraj",
"connecting...": "Povezovanje s strežnikom…", "connecting...": "Povezovanje s strežnikom…",
"reverseProxyMsg1": "Uporabljate obratni proxy?", "reverseProxyMsg1": "Uporabljate obratni proxy?",
"extra": "Dodatno", "extra": "Dodatno",
"reconnecting...": "Ponovna povezava …" "reconnecting...": "Ponovna povezava …",
"newUpdate": "Nova posodobitev",
"reverseProxyMsg2": "Preverite, kako ga konfigurirati za WebSocket",
"Cannot connect to the socket server.": "Ni mogoče vzpostaviti povezave s strežnikom vtičnic.",
"url": "URL | URL-ji",
"currentEndpoint": "Trenutni",
"dockgeURL": "Dockge URL (npr. http://127.0.0.1:5001)",
"agentOnline": "Aktivno",
"agentOffline": "Neaktivno",
"connecting": "Povezujem",
"connect": "Poveži",
"addAgent": "Dodaj agenta",
"dockgeAgent": "Dockge agent | Dockge agenti",
"agentAddedSuccessfully": "Agent dodan uspešno.",
"agentRemovedSuccessfully": "Agent uspešno odstranjen.",
"removeAgent": "Odstrani agent",
"removeAgentMsg": "Ali ste prepričani, da želite odstraniti agenta?",
"LongSyntaxNotSupported": "Long syntax-a ni podprta tukaj. Prosim uporabite YAML urejevalnik."
} }

View File

@ -19,7 +19,7 @@
"restartStack": "Starta om", "restartStack": "Starta om",
"updateStack": "Uppdatera", "updateStack": "Uppdatera",
"startStack": "Starta", "startStack": "Starta",
"downStack": "Stoppa & Ner", "downStack": "Stoppa & Inaktivera",
"editStack": "Redigera", "editStack": "Redigera",
"discardStack": "Kasta", "discardStack": "Kasta",
"saveStackDraft": "Spara", "saveStackDraft": "Spara",
@ -98,5 +98,19 @@
"reverseProxyMsg2": "Kontrollera hur man konfigurerar webbsocket", "reverseProxyMsg2": "Kontrollera hur man konfigurerar webbsocket",
"url": "URL | URLer", "url": "URL | URLer",
"extra": "Extra", "extra": "Extra",
"reconnecting...": "Återansluter…" "reconnecting...": "Återansluter…",
"newUpdate": "Ny uppdatering",
"currentEndpoint": "Nuvarande",
"dockgeURL": "Dockge URL (ex. http://127.0.0.1:5001)",
"agentOnline": "On-line",
"agentOffline": "Off-line",
"connecting": "Ansluter",
"connect": "Ansluten",
"addAgent": "Lägg till agent",
"agentRemovedSuccessfully": "Agent borttagen.",
"removeAgent": "Ta bort agent",
"removeAgentMsg": "Är du säker att du vill ta bort denna agent?",
"dockgeAgent": "Dockge agenter | Dockge agenter",
"agentAddedSuccessfully": "Agent tillagd.",
"LongSyntaxNotSupported": "Lång syntax stöds inte här. Använd YAML-redigeraren."
} }

View File

@ -1,17 +1,17 @@
{ {
"languageName": "ไทย", "languageName": "อังกฤษ",
"Create your admin account": "สร้างบัญชีผู้ดูแลระบบของคุณ", "Create your admin account": "สร้างบัญชีผู้ดูแลระบบของคุณ",
"authIncorrectCreds": "ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง", "authIncorrectCreds": "ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง",
"PasswordsDoNotMatch": "รหัสผ่านไม่ตรงกัน", "PasswordsDoNotMatch": "รหัสผ่านไม่ตรงกัน",
"Repeat Password": "ยืนยันรหัสผ่าน", "Repeat Password": "ยืนยันรหัสผ่าน",
"Create": "สร้าง", "Create": "สร้าง",
"signedInDisp": "ลงชื่อเข้าใช้ในชื่อ {0}", "signedInDisp": "ลงชื่อเข้าใช้ในนาม {0}",
"signedInDispDisabled": "ปิดใช้งาน Auth", "signedInDispDisabled": "ปิดใช้งาน Auth",
"home": "หน้าหลักe", "home": "หน้าหลัก",
"console": "คอนโซล", "console": "คอนโซล",
"registry": "Registry", "registry": "Registry",
"compose": "Compose", "compose": "Compose",
"addFirstStackMsg": "Compose stack แรกของคุณ", "addFirstStackMsg": "Compose stack แรกของคุณ!",
"stackName": "ชื่อ Stack", "stackName": "ชื่อ Stack",
"deployStack": "ปรับใช้", "deployStack": "ปรับใช้",
"deleteStack": "ลบ", "deleteStack": "ลบ",
@ -19,7 +19,7 @@
"restartStack": "เริ่มใหม่", "restartStack": "เริ่มใหม่",
"updateStack": "อัปเดต", "updateStack": "อัปเดต",
"startStack": "เริ่มต้น", "startStack": "เริ่มต้น",
"downStack": "หยุดและปิด", "downStack": "หยุดการทำงาน",
"editStack": "แก้ไข", "editStack": "แก้ไข",
"discardStack": "ยกเลิก", "discardStack": "ยกเลิก",
"saveStackDraft": "บันทึก", "saveStackDraft": "บันทึก",
@ -98,5 +98,19 @@
"connecting...": "กำลังเชื่อมต่อกับเซิร์ฟเวอร์ socket…", "connecting...": "กำลังเชื่อมต่อกับเซิร์ฟเวอร์ socket…",
"url": "URL | URLs", "url": "URL | URLs",
"extra": "พิเศษ", "extra": "พิเศษ",
"reconnecting...": "กำลังเชื่อมต่อใหม่…" "reconnecting...": "กำลังเชื่อมต่อใหม่…",
"newUpdate": "อัปเดตใหม่",
"dockgeAgent": "เอเย่นต์ Dockge | เอเย่นต์ Dockge",
"currentEndpoint": "ปัจุบัน",
"agentOnline": "ออนไลน์",
"agentOffline": "ออฟไลน์",
"connecting": "กำลังเชื่อมต่อ",
"connect": "เชื่อมต่อ",
"addAgent": "เพิ่มเอเย่นต์",
"agentAddedSuccessfully": "เพิ่มเอเย่นต์สำเร็จ",
"agentRemovedSuccessfully": "ลบเอเย่นต์สำเร็จ",
"removeAgent": "ลบเอเย่นต์",
"removeAgentMsg": "คุณแน่ใจหรือไม่ที่จะลบเอเย่นต์นี้?",
"dockgeURL": "ลิ้งก์ Dockge (เช่น http://127.0.0.1:5001)",
"LongSyntaxNotSupported": "Syntax แบบยาสไม่รองรับที่นี่ กรุณาใช้ตัวแก้ไข YAML"
} }

View File

@ -7,22 +7,22 @@
"Create": "Oluştur", "Create": "Oluştur",
"signedInDisp": "{0} olarak oturum açıldı", "signedInDisp": "{0} olarak oturum açıldı",
"signedInDispDisabled": "Yetkilendirme Devre Dışı.", "signedInDispDisabled": "Yetkilendirme Devre Dışı.",
"home": "Anasayfa", "home": "Ana Sayfa",
"console": "Konsol", "console": "Konsol",
"registry": "Kayıt Defteri", "registry": "Kayıt Defteri",
"compose": "Compose", "compose": "Oluştur",
"addFirstStackMsg": "İlk yığınınızı oluşturun!", "addFirstStackMsg": "İlk yığınınızı oluşturun!",
"stackName": "Yığın Adı", "stackName": "Yığın Adı",
"deployStack": "Dağıtmak", "deployStack": "Dağıt",
"deleteStack": "Sil", "deleteStack": "Sil",
"stopStack": "Dudur", "stopStack": "Durdur",
"restartStack": "Yeniden Başlat", "restartStack": "Yeniden Başlat",
"updateStack": "Güncelle", "updateStack": "Güncelle",
"startStack": "Başlat", "startStack": "Başlat",
"editStack": "Düzenle", "editStack": "Düzenle",
"discardStack": "Çıkar", "discardStack": "İptal Et",
"saveStackDraft": "Kaydet", "saveStackDraft": "Kaydet",
"notAvailableShort": "N/A", "notAvailableShort": "YOK",
"deleteStackMsg": "Bu yığını silmek istediğinizden emin misiniz?", "deleteStackMsg": "Bu yığını silmek istediğinizden emin misiniz?",
"stackNotManagedByDockgeMsg": "Bu yığın Dockge tarafından yönetilmemektedir.", "stackNotManagedByDockgeMsg": "Bu yığın Dockge tarafından yönetilmemektedir.",
"primaryHostname": "Birincil Ana Bilgisayar Adı", "primaryHostname": "Birincil Ana Bilgisayar Adı",
@ -45,19 +45,19 @@
"deleteContainer": "Sil", "deleteContainer": "Sil",
"addContainer": "Konteyner Ekle", "addContainer": "Konteyner Ekle",
"addNetwork": "Ağ Ekle", "addNetwork": "Ağ Ekle",
"disableauth.message1": "<strong>Kimlik doğrulamayı devre dışı</strong> bırakmak istediğinizden emin misiniz?", "disableauth.message1": "<strong>Kimlik doğrulamayı devre dışı bırakmak</strong> istediğinizden emin misiniz?",
"disableauth.message2": "Cloudflare Access, Authelia veya diğer kimlik doğrulama mekanizmaları gibi Uptime Kuma'nın önünde <strong>üçüncü taraf kimlik doğrulaması uygulamak</strong> istediğiniz senaryolar için tasarlanmıştır.", "disableauth.message2": "Cloudflare Access, Authelia veya diğer kimlik doğrulama mekanizmaları Dockge önünde <strong>üçüncü taraf kimlik doğrulaması uygulamak</strong> istediğiniz senaryolar için tasarlanmıştır.",
"passwordNotMatchMsg": "Tekrarlanan parola eşleşmiyor.", "passwordNotMatchMsg": "Tekrarlanan parola eşleşmiyor.",
"autoGet": "Otomatik Al", "autoGet": "Otomatik Al",
"add": "Ekle", "add": "Ekle",
"Edit": "Düzenle", "Edit": "Düzenle",
"applyToYAML": "YAML'ye uygulayın", "applyToYAML": "YAML dosyasına uygula",
"createExternalNetwork": "Oluştur", "createExternalNetwork": "Oluştur",
"addInternalNetwork": "Ekle", "addInternalNetwork": "Ekle",
"Save": "Kaydet", "Save": "Kaydet",
"Language": "Dil", "Language": "Dil",
"Current User": "Mevcut Kullanıcı", "Current User": "Mevcut Kullanıcı",
"Change Password": "Mevcut Parola", "Change Password": "Parolayı Değiştir",
"Current Password": "Mevcut Parola", "Current Password": "Mevcut Parola",
"New Password": "Yeni Parola", "New Password": "Yeni Parola",
"Repeat New Password": "Yeni Parolayı Tekrarla", "Repeat New Password": "Yeni Parolayı Tekrarla",
@ -66,31 +66,31 @@
"Please use this option carefully!": "Lütfen bu seçeneği dikkatli kullanın!", "Please use this option carefully!": "Lütfen bu seçeneği dikkatli kullanın!",
"Enable Auth": "Kimlik Doğrulamayı Etkinleştir", "Enable Auth": "Kimlik Doğrulamayı Etkinleştir",
"Disable Auth": "Kimlik Doğrulamayı Devre Dışı Bırak", "Disable Auth": "Kimlik Doğrulamayı Devre Dışı Bırak",
"I understand, please disable": "Anlıyorum, lütfen devre dışı bırakın", "I understand, please disable": "Anlıyorum, lütfen devre dışı bırak",
"Leave": "Ayrıl", "Leave": "Ayrıl",
"Frontend Version": "Frontend Versiyon", "Frontend Version": "Ön Uç Sürümü",
"Check Update On GitHub": "GitHub'da Güncellemeyi Kontrol Edin", "Check Update On GitHub": "GitHub'da Güncellemeyi Kontrol Edin",
"Show update if available": "Varsa güncellemeyi göster", "Show update if available": "Varsa güncellemeyi göster",
"Also check beta release": "Ayrıca beta sürümünü kontrol edin", "Also check beta release": "Ayrıca beta sürümünü kontrol edin",
"Remember me": "Beni Hatırla", "Remember me": "Beni hatırla",
"Login": "Oturum Aç", "Login": "Oturum Aç",
"Username": "Kullanıcı Adı", "Username": "Kullanıcı Adı",
"Password": "Parola", "Password": "Parola",
"Settings": "Ayarlar", "Settings": "Ayarlar",
"Logout": "Oturumu Kapat", "Logout": "Oturumu Kapat",
"Lowercase only": "Yalnızca küçük harf", "Lowercase only": "Yalnızca küçük harf",
"Convert to Compose": "Compose'a Dönüştür", "Convert to Compose": "Compose dosyasına dönüştür",
"Docker Run": "Docker Run", "Docker Run": "Docker Run",
"active": "aktif", "active": "etkin",
"exited": ıkış yaptı", "exited": ıktı",
"inactive": "aktif değil", "inactive": "devre dışı",
"Appearance": "Görünüm", "Appearance": "Görünüm",
"Security": "Güvenlik", "Security": "Güvenlik",
"About": "Hakkında", "About": "Hakkında",
"Allowed commands:": "İzin verilen komutlar:", "Allowed commands:": "İzin verilen komutlar:",
"Internal Networks": "İç Ağlar", "Internal Networks": "Dahili Ağlar",
"External Networks": "Dış Ağlar", "External Networks": "Harici Ağlar",
"No External Networks": "Dış Ağ Yok", "No External Networks": "Harici Ağ Yok",
"extra": "Ekstra", "extra": "Ekstra",
"reverseProxyMsg1": "Ters Proxy mi kullanıyorsunuz?", "reverseProxyMsg1": "Ters Proxy mi kullanıyorsunuz?",
"reverseProxyMsg2": "WebSocket için nasıl yapılandırma yapılacağını kontrol edin", "reverseProxyMsg2": "WebSocket için nasıl yapılandırma yapılacağını kontrol edin",
@ -98,5 +98,19 @@
"connecting...": "Soket sunucusuna bağlanıyor…", "connecting...": "Soket sunucusuna bağlanıyor…",
"url": "URL | URLler", "url": "URL | URLler",
"Cannot connect to the socket server.": "Soket sunucusuna bağlanılamıyor.", "Cannot connect to the socket server.": "Soket sunucusuna bağlanılamıyor.",
"downStack": "Durdur & Kapat" "downStack": "Durdur ve Devre Dışı Bırak",
"newUpdate": "Yeni Güncelleme",
"dockgeAgent": "Dockge Aracısı | Dockge Aracıları",
"currentEndpoint": "Varsayılan",
"dockgeURL": "Dockge URL (ör. http://127.0.0.1:5001)",
"agentOnline": "Çevrimiçi",
"agentOffline": "Çevrimdışı",
"connecting": "Bağlanıyor",
"connect": "Bağlan",
"addAgent": "Aracı Ekle",
"agentAddedSuccessfully": "Aracı başarıyla eklendi.",
"agentRemovedSuccessfully": "Aracı başarıyla kaldırıldı.",
"removeAgent": "Aracıyı Kaldır",
"removeAgentMsg": "Bu aracıyı kaldırmak istediğinize emin misiniz?",
"LongSyntaxNotSupported": "Uzun syntax burada desteklenmiyor. Lütfen YAML editörünü kullanın."
} }

View File

@ -80,7 +80,7 @@
"Logout": "Вийти", "Logout": "Вийти",
"Lowercase only": "Тільки нижній регістр", "Lowercase only": "Тільки нижній регістр",
"Convert to Compose": "Конвертувати в Compose", "Convert to Compose": "Конвертувати в Compose",
"Docker Run": "Запустити Docker", "Docker Run": "Docker Run",
"active": "активно", "active": "активно",
"exited": "завершено", "exited": "завершено",
"inactive": "неактивно", "inactive": "неактивно",
@ -98,5 +98,19 @@
"connecting...": "Підключення до сервера сокетів…", "connecting...": "Підключення до сервера сокетів…",
"url": "URL-адреса | URL-адреси", "url": "URL-адреса | URL-адреси",
"reverseProxyMsg2": "Перевірте, як налаштувати його для WebSocket", "reverseProxyMsg2": "Перевірте, як налаштувати його для WebSocket",
"extra": "Додатково" "extra": "Додатково",
"newUpdate": "Оновлення",
"currentEndpoint": "Поточний",
"agentOnline": "Онлайн",
"agentOffline": "Офлайн",
"connecting": "Підключення",
"connect": "Підключитися",
"addAgent": "Додати агент",
"removeAgent": "Видалити агент",
"dockgeAgent": "Dockge-агент | Dockge-агенти",
"dockgeURL": "Dockge URL (напр. http://127.0.0.1:5001)",
"agentRemovedSuccessfully": "Агент успішно видалено.",
"agentAddedSuccessfully": "Агент успішно додано.",
"removeAgentMsg": "Ви впевнені, що хочете видалити цей агент?",
"LongSyntaxNotSupported": "Довгий синтаксис тут не підтримується. Будь ласка, використовуйте редактор YAML."
} }

View File

@ -97,6 +97,20 @@
"connecting...": "ساکٹ سرور سے منسلک ہو رہا ہے…", "connecting...": "ساکٹ سرور سے منسلک ہو رہا ہے…",
"url": "یو آر ایل | یو آر ایل", "url": "یو آر ایل | یو آر ایل",
"extra": "اضافی", "extra": "اضافی",
"downStack": "اسٹاپ اینڈ ڈاؤن", "downStack": "روکیں اور غیر فعال",
"reverseProxyMsg2": "اسے WebSocket کے لیے ترتیب دینے کا طریقہ چیک کریں" "reverseProxyMsg2": "اسے WebSocket کے لیے ترتیب دینے کا طریقہ چیک کریں",
"newUpdate": "نئی تازہ کاری",
"dockgeAgent": "ڈاکج ایجنٹ | ڈاکج ایجنٹس",
"currentEndpoint": "کرنٹ",
"dockgeURL": "Dockge URL (جیسے http://127.0.0.1:5001)",
"agentOnline": "آن لائن",
"agentOffline": "آف لائن",
"connecting": "جڑ رہا ہے",
"connect": "جڑیں",
"addAgent": "ایجنٹ شامل کریں",
"agentAddedSuccessfully": "ایجنٹ کامیابی کے ساتھ شامل ہو گیا۔",
"agentRemovedSuccessfully": "ایجنٹ کو کامیابی سے ہٹا دیا گیا۔",
"removeAgent": "ایجنٹ کو ہٹا دیں",
"removeAgentMsg": "کیا آپ واقعی اس ایجنٹ کو ہٹانا چاہتے ہیں؟",
"LongSyntaxNotSupported": "لمبا نحو یہاں تعاون یافتہ نہیں ہے۔ براہ کرم YAML ایڈیٹر استعمال کریں۔"
} }

115
frontend/src/lang/vi.json Normal file
View File

@ -0,0 +1,115 @@
{
"authIncorrectCreds": "Sai tên người dùng hoặc mật khẩu.",
"PasswordsDoNotMatch": "Mật khẩu không khớp.",
"Repeat Password": "Lặp Lại Mật Khẩu",
"Create": "Tạo",
"signedInDisp": "Đã đăng nhập với tư cách {0}",
"home": "Trang chủ",
"console": "Console",
"compose": "Compose",
"registry": "Registry",
"stackName": "Tên Stack",
"deployStack": "Triển khai",
"deleteStack": "Xoá",
"stopStack": "Dừng",
"restartStack": "Khởi động lại",
"signedInDispDisabled": "Đã Tắt Xác Thực Đăng Nhập.",
"startStack": "Bắt đầu",
"downStack": "Dừng & Ngưng hoạt động",
"editStack": "Chỉnh sửa",
"saveStackDraft": "Lưu",
"notAvailableShort": "N/A",
"deleteStackMsg": "Bạn có chắc chắn muốn xoá stack này?",
"primaryHostname": "Tên Host Chính",
"scanFolder": "Quét Thư Mục Stack",
"restartPolicyAlways": "Luôn Luôn",
"restartPolicyOnFailure": "Khi Có Lỗi",
"restartPolicyNo": "Không",
"environmentVariable": "Biến Môi Trường | Các Biến Môi Trường",
"restartPolicy": "Chính Sách Khởi Động Lại",
"containerName": "Tên Container",
"port": "Cổng | Cổng",
"addListItem": "Thêm {0}",
"deleteContainer": "Xoá",
"addContainer": "Thêm Container",
"addNetwork": "Thêm Mạng",
"passwordNotMatchMsg": "Mật khẩu nhập lại không khớp.",
"autoGet": "Tự Động Lấy",
"add": "Thêm",
"Edit": "Chỉnh sửa",
"applyToYAML": "Áp dụng cho YAML",
"createExternalNetwork": "Tạo",
"addInternalNetwork": "Thêm",
"Save": "Lưu",
"Language": "Ngôn ngữ",
"Current User": "Người Dùng Hiện Tại",
"Change Password": "Đổi Mật Khẩu",
"Current Password": "Mật Khẩu Hiện Tại",
"New Password": "Mật Khẩu Mới",
"Repeat New Password": "Nhập Lại Mật Khẩu Mới",
"Update Password": "Cập Nhật Mật Khẩu",
"Advanced": "Nâng cao",
"Please use this option carefully!": "Vui lòng sử dụng tuỳ chọn này cẩn thận!",
"Enable Auth": "Kích Hoạt Xác Thực Đăng Nhập",
"Disable Auth": "Vô Hiệu Xác Thực Đăng Nhập",
"I understand, please disable": "Tôi hiểu, vui lòng vô hiệu",
"Leave": "Rời",
"Frontend Version": "Phiên Bản Giao Diện Người Dùng",
"Check Update On GitHub": "Kiểm Tra Cập Nhật Trên Github",
"Also check beta release": "Kiểm tra cả bản phát hành beta",
"Remember me": "Ghi nhớ tôi",
"Login": "Đăng nhập",
"Username": "Tên người dùng",
"Password": "Mật khẩu",
"Settings": "Cài đặt",
"Logout": "Đăng xuất",
"Lowercase only": "Chỉ viết thường",
"Convert to Compose": "Chuyển đổi sang Compose",
"Docker Run": "Chạy Docker",
"active": "hoạt động",
"exited": "đã thoát",
"inactive": "không hoạt động",
"Security": "Bảo Mật",
"Appearance": "Giao Diện",
"About": "Về",
"Allowed commands:": "Các lệnh được cho phép:",
"Internal Networks": "Mạng Nội Bộ",
"External Networks": "Mạng Ngoại Vi",
"No External Networks": "Không Có Mạng Ngoại Vi",
"reverseProxyMsg1": "Đang sử dụng Reverse Proxy?",
"reverseProxyMsg2": "Xem cách để cấu hình nó cho WebSocket",
"Cannot connect to the socket server.": "Không thể kết nối tới máy chủ socket.",
"reconnecting...": "Đang kết nối lại…",
"connecting...": "Đang kết nối tới máy chủ socket…",
"url": "URL",
"extra": "Bổ sung",
"newUpdate": "Cập Nhật Mới",
"dockgeAgent": "Dockge Agent",
"currentEndpoint": "Đang sử dụng",
"dockgeURL": "URL của Dockge (v.d. http://127.0.0.1:5001)",
"agentOnline": "Trực tuyến",
"agentOffline": "Ngoại tuyến",
"connecting": "Đang kết nối",
"connect": "Kết nối",
"addAgent": "Thêm Agent",
"agentAddedSuccessfully": "Agent đã được thêm thành công.",
"agentRemovedSuccessfully": "Agent đã được xoá thành công.",
"removeAgent": "Xoá Agent",
"removeAgentMsg": "Bạn có chắc chắn muốn xoá agent này?",
"languageName": "Tiếng Việt",
"Create your admin account": "Tạo tài khoản admin của bạn",
"addFirstStackMsg": "Tạo stack đầu tiên của bạn!",
"volume": "Volume | Volume",
"updateStack": "Cập nhật",
"network": "Mạng | Mạng",
"discardStack": "Huỷ",
"stackNotManagedByDockgeMsg": "Stack này không được quản lý bởi Dockge.",
"dependsOn": "Container Phụ Thuộc | Các Container Phụ Thuộc",
"general": "Tổng Quan",
"disableauth.message1": "Bạn có chắc chắn muốn <strong>tắt xác thực đăng nhập</strong>?",
"container": "Container",
"disableauth.message2": "Nó được thiết kế trong hoàn cảnh <strong>mà bạn dự định triển khai xác thực đăng nhập bên thứ ba</strong> trước Dockge như là Cloudflare Access, Authelia hay các phương thức xác minh đăng nhập khác.",
"dockerImage": "Image",
"Show update if available": "Hiển thị cập nhật nếu có",
"restartPolicyUnlessStopped": "Trừ Khi Dừng Lại"
}

View File

@ -98,5 +98,19 @@
"Cannot connect to the socket server.": "无法连接到socket服务器。", "Cannot connect to the socket server.": "无法连接到socket服务器。",
"url": "网址 | 网址", "url": "网址 | 网址",
"extra": "额外", "extra": "额外",
"downStack": "停止并删除" "downStack": "停止并置于非活动状态",
"newUpdate": "新版本",
"dockgeURL": "Dockge地址 (例如 http://127.0.0.1:5001)",
"agentOnline": "在线",
"agentOffline": "离线",
"connecting": "连接中",
"connect": "连接",
"dockgeAgent": "Dockge代理",
"currentEndpoint": "当前",
"addAgent": "添加代理",
"agentRemovedSuccessfully": "代理移除成功。",
"removeAgent": "移除代理",
"removeAgentMsg": "您确定要移除此代理?",
"agentAddedSuccessfully": "代理添加成功。",
"LongSyntaxNotSupported": "此处不支持Long syntax请使用YAML编辑器。"
} }

View File

@ -1,5 +1,5 @@
{ {
"languageName": "繁體中文(台灣)", "languageName": "繁體中文 (台灣)",
"Create your admin account": "建立您的管理員帳號", "Create your admin account": "建立您的管理員帳號",
"authIncorrectCreds": "使用者名稱或密碼錯誤。", "authIncorrectCreds": "使用者名稱或密碼錯誤。",
"PasswordsDoNotMatch": "兩次輸入的密碼不一致。", "PasswordsDoNotMatch": "兩次輸入的密碼不一致。",
@ -91,12 +91,14 @@
"Internal Networks": "內部網路", "Internal Networks": "內部網路",
"External Networks": "外部網路", "External Networks": "外部網路",
"No External Networks": "無外部網路", "No External Networks": "無外部網路",
"downStack": "停止", "downStack": "停止及未啟動化",
"reverseProxyMsg1": "在使用反向代理嗎?", "reverseProxyMsg1": "在使用反向代理嗎?",
"reverseProxyMsg2": "點擊這裡了解如何為 WebSocket 配置反向代理", "reverseProxyMsg2": "點擊這裡了解如何為 WebSocket 配置反向代理",
"Cannot connect to the socket server.": "無法連接到 Socket 伺服器。", "Cannot connect to the socket server.": "無法連接到 Socket 伺服器。",
"reconnecting...": "重新連線中…", "reconnecting...": "重新連線中…",
"connecting...": "連線至 Socket 伺服器中…", "connecting...": "連線至 Socket 伺服器中…",
"url": "網址 | 網址", "url": "網址 | 網址",
"extra": "額外" "extra": "額外",
"newUpdate": "新版本",
"currentEndpoint": "目前"
} }

View File

@ -203,7 +203,7 @@ export default defineComponent({
socket.on("disconnect", () => { socket.on("disconnect", () => {
console.log("disconnect"); console.log("disconnect");
this.socketIO.connectionErrorMsg = "Lost connection to the socket server. Reconnecting..."; this.socketIO.connectionErrorMsg = `${this.$t("Lost connection to the socket server. Reconnecting...")}`;
this.socketIO.connected = false; this.socketIO.connected = false;
}); });

View File

@ -1,7 +1,7 @@
<template> <template>
<transition name="slide-fade" appear> <transition name="slide-fade" appear>
<div> <div>
<h1 v-if="isAdd" class="mb-3">Compose</h1> <h1 v-if="isAdd" class="mb-3">{{$t("compose")}}</h1>
<h1 v-else class="mb-3"> <h1 v-else class="mb-3">
<Uptime :stack="globalStack" :pill="true" /> {{ stack.name }} <Uptime :stack="globalStack" :pill="true" /> {{ stack.name }}
<span v-if="$root.agentCount > 1" class="agent-name"> <span v-if="$root.agentCount > 1" class="agent-name">
@ -112,7 +112,7 @@
<div v-if="isEditMode" class="input-group mb-3"> <div v-if="isEditMode" class="input-group mb-3">
<input <input
v-model="newContainerName" v-model="newContainerName"
placeholder="New Container Name..." :placeholder="$t(`New Container Name...`)"
class="form-control" class="form-control"
@keyup.enter="addContainer" @keyup.enter="addContainer"
/> />
@ -150,7 +150,7 @@
<!-- Combined Terminal Output --> <!-- Combined Terminal Output -->
<div v-show="!isEditMode"> <div v-show="!isEditMode">
<h4 class="mb-3">Terminal</h4> <h4 class="mb-3">{{$t("terminal")}}</h4>
<Terminal <Terminal
ref="combinedTerminal" ref="combinedTerminal"
class="mb-3 terminal" class="mb-3 terminal"
@ -158,7 +158,7 @@
:endpoint="endpoint" :endpoint="endpoint"
:rows="combinedTerminalRows" :rows="combinedTerminalRows"
:cols="combinedTerminalCols" :cols="combinedTerminalCols"
style="height: 350px;" style="height: 315px;"
></Terminal> ></Terminal>
</div> </div>
</div> </div>
@ -258,7 +258,7 @@ import { BModal } from "bootstrap-vue-next";
import NetworkInput from "../components/NetworkInput.vue"; import NetworkInput from "../components/NetworkInput.vue";
import dotenv from "dotenv"; import dotenv from "dotenv";
const template = `version: "3.8" const template = `
services: services:
nginx: nginx:
image: nginx:latest image: nginx:latest

View File

@ -1,10 +1,10 @@
<template> <template>
<transition name="slide-fade" appear> <transition name="slide-fade" appear>
<div> <div>
<h1 class="mb-3">Terminal - {{ serviceName }} ({{ stackName }})</h1> <h1 class="mb-3">{{$t("terminal")}} - {{ serviceName }} ({{ stackName }})</h1>
<div class="mb-3"> <div class="mb-3">
<router-link :to="sh" class="btn btn-normal me-2">Switch to sh</router-link> <router-link :to="sh" class="btn btn-normal me-2">{{ $t("Switch to sh") }}</router-link>
</div> </div>
<Terminal class="terminal" :rows="20" mode="interactive" :name="terminalName" :stack-name="stackName" :service-name="serviceName" :shell="shell" :endpoint="endpoint"></Terminal> <Terminal class="terminal" :rows="20" mode="interactive" :name="terminalName" :stack-name="stackName" :service-name="serviceName" :shell="shell" :endpoint="endpoint"></Terminal>

View File

@ -36,7 +36,7 @@ textarea.form-control {
} }
::placeholder { ::placeholder {
color: $dark-font-color3 !important; color: $dark-font-color3;
} }
.incident a, .incident a,
@ -422,9 +422,8 @@ optgroup {
// Floating Label // Floating Label
.form-floating > .form-control:focus ~ label::after, .form-floating > .form-control:not(:placeholder-shown) ~ label::after, .form-floating > .form-control-plaintext ~ label::after, .form-floating > .form-select ~ label::after { .form-floating > .form-control:focus ~ label::after, .form-floating > .form-control:not(:placeholder-shown) ~ label::after, .form-floating > .form-control-plaintext ~ label::after, .form-floating > .form-select ~ label::after {
background-color: transparent; background-color: transparent;
} }
.form-floating > label { .form-floating > label {
.dark & { .dark & {
color: $dark-font-color3 !important; color: $dark-font-color3 !important;
@ -657,13 +656,6 @@ $shadow-box-padding: 20px;
} }
} }
.main-terminal {
.xterm-viewport {
border-radius: 10px;
background-color: $dark-bg !important;
}
}
code { code {
padding: .2em .4em; padding: .2em .4em;
margin: 0; margin: 0;

10520
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,25 +1,25 @@
{ {
"name": "dockge", "name": "dockge",
"version": "1.3.5", "version": "1.4.2",
"type": "module", "type": "module",
"engines": { "engines": {
"node": ">= 18.0.0 && <= 18.17.1" "node": ">= 22.14.0"
}, },
"scripts": { "scripts": {
"fmt": "eslint \"**/*.{ts,vue}\" --fix", "fmt": "eslint \"**/*.{ts,vue}\" --fix",
"lint": "eslint \"**/*.{ts,vue}\"", "lint": "eslint \"**/*.{ts,vue}\"",
"check-ts": "tsc --noEmit", "check-ts": "tsc --noEmit",
"start": "tsx ./backend/index.ts", "start": "tsx ./backend/index.ts",
"dev": "concurrently -k -r \"wait-on tcp:5000 && pnpm run dev:backend \" \"pnpm run dev:frontend\"", "dev": "concurrently -k -r \"wait-on tcp:5000 && npm run dev:backend \" \"npm run dev:frontend\"",
"dev:backend": "cross-env NODE_ENV=development tsx watch --inspect ./backend/index.ts", "dev:backend": "cross-env NODE_ENV=development tsx watch --inspect ./backend/index.ts",
"dev:frontend": "cross-env NODE_ENV=development vite --host --config ./frontend/vite.config.ts", "dev:frontend": "cross-env NODE_ENV=development vite --host --config ./frontend/vite.config.ts",
"release-final": "tsx ./extra/test-docker.ts && tsx extra/update-version.ts && pnpm run build:frontend && npm run build:docker", "release-final": "tsx ./extra/test-docker.ts && tsx extra/update-version.ts && npm run build:frontend && npm run build:docker",
"release-beta": "tsx ./extra/test-docker.ts && tsx extra/update-version.ts && pnpm run build:frontend && npm run build:docker-beta", "release-beta": "tsx ./extra/test-docker.ts && tsx extra/update-version.ts && npm run build:frontend && npm run build:docker-beta",
"build:frontend": "vite build --config ./frontend/vite.config.ts", "build:frontend": "vite build --config ./frontend/vite.config.ts",
"build:docker-base": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/dockge:base -f ./docker/Base.Dockerfile . --push", "build:docker-base": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/dockge:base -f ./docker/Base.Dockerfile . --push",
"build:docker": "node ./extra/env2arg.js docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/dockge:latest -t louislam/dockge:1 -t louislam/dockge:$VERSION --target release -f ./docker/Dockerfile . --push", "build:docker": "node ./extra/env2arg.js docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/dockge:latest -t louislam/dockge:1 -t louislam/dockge:$VERSION -t louislam/dockge:beta -t louislam/dockge:nightly --target release -f ./docker/Dockerfile . --push",
"build:docker-beta": "node ./extra/env2arg.js docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/dockge:beta -t louislam/dockge:$VERSION --target release -f ./docker/Dockerfile . --push", "build:docker-beta": "node ./extra/env2arg.js docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/dockge:beta -t louislam/dockge:$VERSION --target release -f ./docker/Dockerfile . --push",
"build:docker-nightly": "pnpm run build:frontend && docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/dockge:nightly --target nightly -f ./docker/Dockerfile . --push", "build:docker-nightly": "npm run build:frontend && docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/dockge:nightly --target nightly -f ./docker/Dockerfile . --push",
"build:healthcheck": "docker buildx build -f docker/BuildHealthCheck.Dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/dockge:build-healthcheck . --push", "build:healthcheck": "docker buildx build -f docker/BuildHealthCheck.Dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/dockge:build-healthcheck . --push",
"start-docker": "docker run --rm -p 5001:5001 --name dockge louislam/dockge:latest", "start-docker": "docker run --rm -p 5001:5001 --name dockge louislam/dockge:latest",
"mark-as-nightly": "tsx ./extra/mark-as-nightly.ts", "mark-as-nightly": "tsx ./extra/mark-as-nightly.ts",
@ -27,39 +27,39 @@
"reset-password": "tsx ./extra/reset-password.ts" "reset-password": "tsx ./extra/reset-password.ts"
}, },
"dependencies": { "dependencies": {
"@homebridge/node-pty-prebuilt-multiarch": "~0.11.12", "@homebridge/node-pty-prebuilt-multiarch": "0.11.14",
"@inventage/envsubst": "^0.16.0", "@inventage/envsubst": "^0.16.0",
"@louislam/sqlite3": "~15.1.6", "@louislam/sqlite3": "~15.1.6",
"bcryptjs": "~2.4.3", "bcryptjs": "~2.4.3",
"check-password-strength": "~2.0.7", "check-password-strength": "~2.0.10",
"command-exists": "~1.2.9", "command-exists": "~1.2.9",
"compare-versions": "~6.1.0", "compare-versions": "~6.1.1",
"composerize": "~1.4.1", "composerize": "~1.7.1",
"croner": "~7.0.5", "croner": "~8.1.2",
"dayjs": "~1.11.10", "dayjs": "~1.11.13",
"dotenv": "~16.3.1", "dotenv": "~16.3.2",
"express": "~4.18.2", "express": "~4.21.2",
"express-static-gzip": "~2.1.7", "express-static-gzip": "~2.1.8",
"http-graceful-shutdown": "~3.1.13", "http-graceful-shutdown": "~3.1.14",
"jsonwebtoken": "~9.0.2", "jsonwebtoken": "~9.0.2",
"jwt-decode": "~3.1.2", "jwt-decode": "~3.1.2",
"knex": "~2.5.1", "knex": "~2.5.1",
"limiter-es6-compat": "~2.1.2", "limiter-es6-compat": "~2.1.2",
"mysql2": "~3.6.5", "mysql2": "~3.12.0",
"promisify-child-process": "~4.1.2", "promisify-child-process": "~4.1.2",
"redbean-node": "~0.3.3", "redbean-node": "~0.3.3",
"semver": "^7.5.4", "semver": "^7.7.1",
"socket.io": "~4.7.2", "socket.io": "~4.8.1",
"socket.io-client": "~4.7.2", "socket.io-client": "~4.8.1",
"timezones-list": "~3.0.2", "timezones-list": "~3.0.3",
"ts-command-line-args": "~2.5.1", "ts-command-line-args": "~2.5.1",
"tsx": "~4.6.2", "tsx": "~4.19.3",
"type-fest": "~4.3.3", "type-fest": "~4.3.3",
"yaml": "~2.3.4" "yaml": "~2.3.4"
}, },
"devDependencies": { "devDependencies": {
"@actions/github": "^6.0.0", "@actions/github": "^6.0.0",
"@fontsource/jetbrains-mono": "^5.0.18", "@fontsource/jetbrains-mono": "^5.2.5",
"@fortawesome/fontawesome-svg-core": "6.4.2", "@fortawesome/fontawesome-svg-core": "6.4.2",
"@fortawesome/free-regular-svg-icons": "6.4.2", "@fortawesome/free-regular-svg-icons": "6.4.2",
"@fortawesome/free-solid-svg-icons": "6.4.2", "@fortawesome/free-solid-svg-icons": "6.4.2",
@ -68,8 +68,8 @@
"@types/bootstrap": "~5.2.10", "@types/bootstrap": "~5.2.10",
"@types/command-exists": "~1.2.3", "@types/command-exists": "~1.2.3",
"@types/express": "~4.17.21", "@types/express": "~4.17.21",
"@types/jsonwebtoken": "~9.0.5", "@types/jsonwebtoken": "~9.0.9",
"@types/semver": "^7.5.6", "@types/semver": "^7.7.0",
"@typescript-eslint/eslint-plugin": "~6.8.0", "@typescript-eslint/eslint-plugin": "~6.8.0",
"@typescript-eslint/parser": "~6.8.0", "@typescript-eslint/parser": "~6.8.0",
"@vitejs/plugin-vue": "~4.5.2", "@vitejs/plugin-vue": "~4.5.2",
@ -81,19 +81,19 @@
"cross-env": "~7.0.3", "cross-env": "~7.0.3",
"eslint": "~8.50.0", "eslint": "~8.50.0",
"eslint-plugin-jsdoc": "~46.8.2", "eslint-plugin-jsdoc": "~46.8.2",
"eslint-plugin-vue": "~9.17.0", "eslint-plugin-vue": "~9.32.0",
"prismjs": "~1.29.0", "prismjs": "~1.30.0",
"sass": "~1.68.0", "sass": "~1.68.0",
"typescript": "~5.2.2", "typescript": "~5.2.2",
"unplugin-vue-components": "~0.25.2", "unplugin-vue-components": "~0.25.2",
"vite": "~5.0.10", "vite": "~5.4.15",
"vite-plugin-compression": "~0.5.1", "vite-plugin-compression": "~0.5.1",
"vue": "~3.3.13", "vue": "~3.5.13",
"vue-eslint-parser": "~9.3.2", "vue-eslint-parser": "~9.3.2",
"vue-i18n": "~9.5.0", "vue-i18n": "~10.0.6",
"vue-prism-editor": "2.0.0-alpha.2", "vue-prism-editor": "2.0.0-alpha.2",
"vue-qrcode": "~2.2.0", "vue-qrcode": "~2.2.2",
"vue-router": "~4.2.5", "vue-router": "~4.5.0",
"vue-toastification": "2.0.0-rc.5", "vue-toastification": "2.0.0-rc.5",
"wait-on": "^7.2.0", "wait-on": "^7.2.0",
"xterm-addon-web-links": "~0.9.0" "xterm-addon-web-links": "~0.9.0"

5649
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff