diff --git a/common/translations-cli/program.js b/common/translations-cli/program.js index 7233641b7..24e4b287a 100644 --- a/common/translations-cli/program.js +++ b/common/translations-cli/program.js @@ -160,4 +160,31 @@ program } }); +program + .command('sort') + .description('Sort translation files by keys') + .action(() => { + try { + const languages = getAllNonDefaultLanguages(); + for (const language of languages) { + const filePath = `./translations/${language}.json`; + const content = fs.readFileSync(filePath, 'utf-8'); + const translations = JSON.parse(content); + const sortedTranslations = {}; + Object.keys(translations) + .sort() + .forEach(key => { + // @ts-ignore + sortedTranslations[key] = translations[key]; + }); + fs.writeFileSync(filePath, JSON.stringify(sortedTranslations, null, 2), 'utf-8'); + console.log(`Sorted translations for language: ${language}`); + } + } catch (error) { + console.error(error); + console.error('Error during sort:', error.message); + process.exit(1); + } + }); + module.exports = { program }; diff --git a/package.json b/package.json index db3bf2df9..77c7af6d4 100644 --- a/package.json +++ b/package.json @@ -74,6 +74,7 @@ "translations:add-missing": "node common/translations-cli/index.js add-missing", "translations:remove-unused": "node common/translations-cli/index.js remove-unused", "translations:check": "node common/translations-cli/index.js check", + "translations:sort": "node common/translations-cli/index.js sort", "errors": "node common/assign-dbgm-codes.mjs ." }, "dependencies": { diff --git a/translations/cs.json b/translations/cs.json index 76011b1cc..62a37d4be 100644 --- a/translations/cs.json +++ b/translations/cs.json @@ -3,7 +3,6 @@ "app.loading_plugin": "Načítám plugin {plugin} ...", "app.preparingPlugins": "Příprava pluginů...", "app.starting": "Spouštění DbGate", - "connection.authToken": "Autorizační token", "chart.detect": "Rozpoznat graf", "chart.open": "Otevřít graf", "clipboard.SQLInsert": "SQL INSERT příkazy", @@ -340,6 +339,7 @@ "connection.allowedDatabasesRegex": "Regulární výraz pro povolené databáze", "connection.askPassword": "Neukládat, ptát se na heslo", "connection.askUser": "Neukládat, ptát se na přihlašovací jméno a heslo", + "connection.authToken": "Autorizační token", "connection.authentication": "Autentizace", "connection.autoDetectNatMap": "Automatická detekce NAT mapy (použijte pro Redis Cluster v Docker síti)", "connection.chooseType": "Vyberte typ", @@ -904,4 +904,4 @@ "widget.tablesViewsFunctions": "Tabulky, pohledy, funkce", "widgets.managePlugins": "Spravovat pluginy", "widgets.viewApplicationLogs": "Zobrazit aplikační logy" -} +} \ No newline at end of file diff --git a/translations/de.json b/translations/de.json index 7ad1a3c43..d4fa7d254 100644 --- a/translations/de.json +++ b/translations/de.json @@ -3,7 +3,6 @@ "app.loading_plugin": "Lade Plugin {plugin} ...", "app.preparingPlugins": "Bereite Plugins vor ...", "app.starting": "Starte DbGate", - "connection.authToken": "Auth-Token", "chart.detect": "Diagramm erkennen", "chart.open": "Diagramm öffnen", "clipboard.SQLInsert": "SQL INSERTs", @@ -340,6 +339,7 @@ "connection.allowedDatabasesRegex": "Regulärer Ausdruck für erlaubte Datenbanken", "connection.askPassword": "Nicht speichern, nach Passwort fragen", "connection.askUser": "Nicht speichern, nach Benutzername und Passwort fragen", + "connection.authToken": "Auth-Token", "connection.authentication": "Authentifizierung", "connection.autoDetectNatMap": "NAT-Zuordnung automatisch erkennen (für Redis-Cluster in Docker-Netzwerk verwenden)", "connection.chooseType": "Typ auswählen", diff --git a/translations/es.json b/translations/es.json index 05aca1440..21b901836 100644 --- a/translations/es.json +++ b/translations/es.json @@ -3,7 +3,6 @@ "app.loading_plugin": "Cargando plugin {plugin} ...", "app.preparingPlugins": "Preparando plugins ...", "app.starting": "Iniciando DbGate", - "connection.authToken": "Token de autenticación", "chart.detect": "Detectar gráfico", "chart.open": "Abrir gráfico", "clipboard.SQLInsert": "SQL INSERTs", @@ -340,6 +339,7 @@ "connection.allowedDatabasesRegex": "Expresión regular de bases de datos permitidas", "connection.askPassword": "No guardar, preguntar por contraseña", "connection.askUser": "No guardar, preguntar por usuario y contraseña", + "connection.authToken": "Token de autenticación", "connection.authentication": "Autenticación", "connection.autoDetectNatMap": "Detectar automáticamente mapa NAT (usar para clúster de Redis en red Docker)", "connection.chooseType": "Elegir tipo", diff --git a/translations/fr.json b/translations/fr.json index d36fe591e..b0606ce54 100644 --- a/translations/fr.json +++ b/translations/fr.json @@ -3,7 +3,6 @@ "app.loading_plugin": "Chargement du plugin {plugin}...", "app.preparingPlugins": "Préparation des plugins...", "app.starting": "Démarrage de DbGate", - "connection.authToken": "Jeton d'authentification", "chart.detect": "Détecter le graphique", "chart.open": "Ouvrir le graphique", "clipboard.SQLInsert": "INSERT SQL", @@ -340,6 +339,7 @@ "connection.allowedDatabasesRegex": "Expression régulière des bases de données autorisées", "connection.askPassword": "Ne pas enregistrer, demander le mot de passe", "connection.askUser": "Ne pas enregistrer, demander l'identifiant et le mot de passe", + "connection.authToken": "Jeton d'authentification", "connection.authentication": "Authentification", "connection.autoDetectNatMap": "Détection automatique de la carte NAT (utiliser pour Redis Cluster dans un réseau Docker)", "connection.chooseType": "Choisir le type", diff --git a/translations/sk.json b/translations/sk.json index 032088af4..a6a668122 100644 --- a/translations/sk.json +++ b/translations/sk.json @@ -3,7 +3,6 @@ "app.loading_plugin": "Načítavam plugin {plugin} ...", "app.preparingPlugins": "Príprava pluginov...", "app.starting": "Spúšťam DbGate", - "connection.authToken": "Autentifikačný token", "chart.detect": "Rozpoznať graf", "chart.open": "Otvoriť graf", "clipboard.SQLInsert": "SQL INSERT príkazy", @@ -340,6 +339,7 @@ "connection.allowedDatabasesRegex": "Regulárny výraz pre povolené databázy", "connection.askPassword": "Neukladať, pýtať sa na heslo", "connection.askUser": "Neukladať, pýtať sa na prihlasovacie údaje a heslo", + "connection.authToken": "Autentifikačný token", "connection.authentication": "Autentizácia", "connection.autoDetectNatMap": "Automatická detekcia NAT mapy (použite pre Redis Cluster v Docker sieti)", "connection.chooseType": "Vyberte typ", diff --git a/translations/zh.json b/translations/zh.json index 36165dec2..167556d14 100644 --- a/translations/zh.json +++ b/translations/zh.json @@ -3,7 +3,6 @@ "app.loading_plugin": "正在加载插件 {plugin} ...", "app.preparingPlugins": "正在准备插件 ...", "app.starting": "正在启动 DbGate", - "connection.authToken": "认证令牌", "chart.detect": "检测图表", "chart.open": "打开图表", "clipboard.SQLInsert": "SQL INSERT 语句", @@ -340,6 +339,7 @@ "connection.allowedDatabasesRegex": "允许的数据库正则表达式", "connection.askPassword": "不保存,询问密码", "connection.askUser": "不保存,询问登录名和密码", + "connection.authToken": "认证令牌", "connection.authentication": "身份验证", "connection.autoDetectNatMap": "自动检测 NAT 映射(用于 Docker 网络中的 Redis 集群)", "connection.chooseType": "选择类型",