Skip to content

Commit 1476739

Browse files
bogdanpricopclaude
andcommitted
i18n: translate Deploy-to-Swarm strings into the 9 remaining locales (100% parity)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 325ad0a commit 1476739

14 files changed

Lines changed: 121 additions & 7 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
All notable changes to Docker Dash are documented here.
44

5+
## [8.20.1] - 2026-07-24 — i18n: the new Deploy-to-Swarm strings translated everywhere
6+
7+
The `pages.swarm.*` strings added in 8.20.0 shipped in English + Romanian only. They're now
8+
translated into the remaining 9 languages (de, es, fr, it, ja, ko, pt, zh, tlh), so all 11 locales
9+
are back to 100% key parity with English (1694 keys).
10+
511
## [8.20.0] - 2026-07-24 — Deploy to Swarm — promote a container or an existing stack
612

713
You can now push already-existing workloads onto a swarm without re-entering everything by hand.

docker-compose.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ services:
44
context: .
55
dockerfile: Dockerfile
66
args:
7-
APP_VERSION: "${APP_VERSION:-8.20.0}"
8-
image: docker-dash:${APP_VERSION:-8.20.0}
7+
APP_VERSION: "${APP_VERSION:-8.20.1}"
8+
image: docker-dash:${APP_VERSION:-8.20.1}
99
container_name: docker-dash
1010
restart: unless-stopped
1111
env_file:
@@ -54,7 +54,7 @@ services:
5454
dd-egress-filter:
5555
build:
5656
context: ./docker/egress-filter
57-
image: docker-dash-egress-filter:${APP_VERSION:-8.20.0}
57+
image: docker-dash-egress-filter:${APP_VERSION:-8.20.1}
5858
container_name: dd-egress-filter
5959
restart: unless-stopped
6060
# Uses the default bridge so target containers on the default bridge can

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "docker-dash",
3-
"version": "8.20.0",
3+
"version": "8.20.1",
44
"description": "Full-featured Docker management dashboard",
55
"main": "src/server.js",
66
"scripts": {

public/js/i18n/de.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1838,6 +1838,18 @@ i18n.register('de', 'DE', "Deutsch", {
18381838
relationSelf: "Eine Beziehung kann eine Entität nicht mit sich selbst verbinden.",
18391839
relationTypeInvalid: "Wählen Sie einen gültigen Beziehungstyp."
18401840
}
1841+
},
1842+
swarm: {
1843+
deployToSwarm: "In Swarm bereitstellen",
1844+
deployToSwarmContainerTitle: "Container zu einem Swarm-Service befördern",
1845+
deployToSwarmStackTitle: "Diesen Stack im Swarm bereitstellen",
1846+
derivingSpec: "Container wird analysiert…",
1847+
loadingCompose: "Compose-Datei wird geladen…",
1848+
noActiveSwarm: "Dieser Host ist kein aktiver Swarm-Manager. Initialisieren Sie hier zuerst einen Swarm (oder treten Sie einem bestehenden bei) und versuchen Sie es dann erneut.",
1849+
reviewWarningsTitle: "Vor dem Befördern prüfen",
1850+
reviewWarningsIntro: "Einige Einstellungen dieses Containers lassen sich nicht sauber auf einen Swarm-Service übertragen. Prüfen Sie diese, bevor Sie ihn erstellen:",
1851+
deriveFailed: "Container konnte nicht gelesen werden: {{message}}",
1852+
composeLoadFailed: "Compose-Datei konnte nicht geladen werden: {{message}}"
18411853
}
18421854
},
18431855
errors: {

public/js/i18n/es.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1838,6 +1838,18 @@ i18n.register('es', 'ES', "Español", {
18381838
relationSelf: "Una relación no puede conectar una entidad consigo misma.",
18391839
relationTypeInvalid: "Elija un tipo de relación válido."
18401840
}
1841+
},
1842+
swarm: {
1843+
deployToSwarm: "Desplegar en Swarm",
1844+
deployToSwarmContainerTitle: "Promover el contenedor a un servicio de Swarm",
1845+
deployToSwarmStackTitle: "Desplegar este stack en el Swarm",
1846+
derivingSpec: "Analizando el contenedor…",
1847+
loadingCompose: "Cargando el archivo compose…",
1848+
noActiveSwarm: "Este host no es un manager de Swarm activo. Inicializa un Swarm aquí (o únelo a uno existente) primero y vuelve a intentarlo.",
1849+
reviewWarningsTitle: "Revisar antes de promover",
1850+
reviewWarningsIntro: "Algunos ajustes de este contenedor no se traducen limpiamente a un servicio de Swarm. Revísalos antes de crearlo:",
1851+
deriveFailed: "No se pudo leer el contenedor: {{message}}",
1852+
composeLoadFailed: "No se pudo cargar el archivo compose: {{message}}"
18411853
}
18421854
},
18431855
errors: {

public/js/i18n/fr.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1838,6 +1838,18 @@ i18n.register('fr', 'FR', "Français", {
18381838
relationSelf: "Une relation ne peut pas connecter une entité à elle-même.",
18391839
relationTypeInvalid: "Choisissez un type de relation valide."
18401840
}
1841+
},
1842+
swarm: {
1843+
deployToSwarm: "Déployer sur le Swarm",
1844+
deployToSwarmContainerTitle: "Promouvoir le conteneur en service Swarm",
1845+
deployToSwarmStackTitle: "Déployer cette stack sur le Swarm",
1846+
derivingSpec: "Analyse du conteneur…",
1847+
loadingCompose: "Chargement du fichier compose…",
1848+
noActiveSwarm: "Cet hôte n'est pas un manager Swarm actif. Initialisez d'abord un Swarm ici (ou rejoignez-en un existant), puis réessayez.",
1849+
reviewWarningsTitle: "Vérifier avant de promouvoir",
1850+
reviewWarningsIntro: "Certains paramètres de ce conteneur ne se traduisent pas proprement en service Swarm. Vérifiez-les avant de le créer :",
1851+
deriveFailed: "Impossible de lire le conteneur : {{message}}",
1852+
composeLoadFailed: "Impossible de charger le fichier compose : {{message}}"
18411853
}
18421854
},
18431855
errors: {

public/js/i18n/it.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1838,6 +1838,18 @@ i18n.register('it', 'IT', "Italiano", {
18381838
relationSelf: "Una relazione non può collegare un'entità a se stessa.",
18391839
relationTypeInvalid: "Scegli un tipo di relazione valido."
18401840
}
1841+
},
1842+
swarm: {
1843+
deployToSwarm: "Distribuisci nello Swarm",
1844+
deployToSwarmContainerTitle: "Promuovi il container a servizio Swarm",
1845+
deployToSwarmStackTitle: "Distribuisci questo stack nello Swarm",
1846+
derivingSpec: "Analisi del container…",
1847+
loadingCompose: "Caricamento del file compose…",
1848+
noActiveSwarm: "Questo host non è un manager Swarm attivo. Inizializza prima uno Swarm qui (o uniscilo a uno esistente), poi riprova.",
1849+
reviewWarningsTitle: "Controlla prima di promuovere",
1850+
reviewWarningsIntro: "Alcune impostazioni di questo container non si traducono in modo pulito in un servizio Swarm. Controllale prima di crearlo:",
1851+
deriveFailed: "Impossibile leggere il container: {{message}}",
1852+
composeLoadFailed: "Impossibile caricare il file compose: {{message}}"
18411853
}
18421854
},
18431855
errors: {

public/js/i18n/ja.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1838,6 +1838,18 @@ i18n.register('ja', 'JP', "日本語", {
18381838
relationSelf: "関係は同一のエンティティ同士を接続できません。",
18391839
relationTypeInvalid: "有効な関係の種類を選択してください。"
18401840
}
1841+
},
1842+
swarm: {
1843+
deployToSwarm: "Swarm にデプロイ",
1844+
deployToSwarmContainerTitle: "コンテナを Swarm サービスに昇格",
1845+
deployToSwarmStackTitle: "このスタックを Swarm にデプロイ",
1846+
derivingSpec: "コンテナを解析中…",
1847+
loadingCompose: "compose ファイルを読み込み中…",
1848+
noActiveSwarm: "このホストはアクティブな Swarm マネージャーではありません。まずここで Swarm を初期化する(または既存の Swarm に参加する)してから、もう一度お試しください。",
1849+
reviewWarningsTitle: "昇格前に確認",
1850+
reviewWarningsIntro: "このコンテナの一部の設定は Swarm サービスにきれいに変換されません。作成する前に確認してください:",
1851+
deriveFailed: "コンテナを読み取れませんでした: {{message}}",
1852+
composeLoadFailed: "compose ファイルを読み込めませんでした: {{message}}"
18411853
}
18421854
},
18431855
errors: {

public/js/i18n/ko.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1838,6 +1838,18 @@ i18n.register('ko', 'KR', "한국어", {
18381838
relationSelf: "관계는 동일한 엔터티를 자기 자신과 연결할 수 없습니다.",
18391839
relationTypeInvalid: "올바른 관계 유형을 선택하세요."
18401840
}
1841+
},
1842+
swarm: {
1843+
deployToSwarm: "Swarm에 배포",
1844+
deployToSwarmContainerTitle: "컨테이너를 Swarm 서비스로 승격",
1845+
deployToSwarmStackTitle: "이 스택을 Swarm에 배포",
1846+
derivingSpec: "컨테이너 분석 중…",
1847+
loadingCompose: "compose 파일 로드 중…",
1848+
noActiveSwarm: "이 호스트는 활성 Swarm 매니저가 아닙니다. 먼저 여기에서 Swarm을 초기화하거나 기존 Swarm에 조인한 후 다시 시도하세요.",
1849+
reviewWarningsTitle: "승격 전 검토",
1850+
reviewWarningsIntro: "이 컨테이너의 일부 설정은 Swarm 서비스로 깔끔하게 변환되지 않습니다. 생성하기 전에 검토하세요:",
1851+
deriveFailed: "컨테이너를 읽을 수 없습니다: {{message}}",
1852+
composeLoadFailed: "compose 파일을 로드할 수 없습니다: {{message}}"
18411853
}
18421854
},
18431855
errors: {

0 commit comments

Comments
 (0)