mirror of
https://github.com/UNITRONIX/BetterDesk.git
synced 2026-09-10 09:35:39 +00:00
cff7176ac1
Enhanced localization files for various languages (ar, cs, da, de, en, es, fi, hi, hu, id, it, ja, ko, nb, nl, pl, pt) by adding new UI elements and confirmation prompts. This update improves user experience by providing consistent messaging across different languages for settings search, connection strategies, and user authentication options.
153 lines
7.8 KiB
JavaScript
153 lines
7.8 KiB
JavaScript
#!/usr/bin/env node
|
||
'use strict';
|
||
|
||
/**
|
||
* One-shot patch: add settings.ui.* and settings.confirm.* to all locale files.
|
||
* Run: node scripts/patch-settings-ui-i18n.js
|
||
*/
|
||
|
||
const fs = require('fs');
|
||
const path = require('path');
|
||
|
||
const langDir = path.join(__dirname, '..', 'lang');
|
||
const enPath = path.join(langDir, 'en.json');
|
||
const en = JSON.parse(fs.readFileSync(enPath, 'utf8'));
|
||
|
||
const ui = en.settings.ui;
|
||
const confirm = en.settings.confirm;
|
||
|
||
const translations = {
|
||
pl: {
|
||
ui: {
|
||
search_placeholder: 'Szukaj w ustawieniach…',
|
||
search_results: '{count} pasujących sekcji',
|
||
auth_sub_enrollment: 'Rejestracja',
|
||
auth_sub_ldap: 'LDAP / AD',
|
||
auth_sub_oidc: 'OIDC / SSO',
|
||
branding_rdclient: 'RdClient',
|
||
connection_p2p_hint: 'Najpierw połączenie P2P; przełączenie na relay, gdy P2P nie działa.',
|
||
connection_relay_hint: 'Cały ruch klientów przez serwer relay.'
|
||
},
|
||
confirm: {
|
||
connection_mode_title: 'Zapisać strategię połączenia?',
|
||
connection_mode: 'Zastosować nową strategię połączenia dla klientów RustDesk?',
|
||
connection_restart_title: 'Zapisać i zrestartować serwer?',
|
||
connection_restart: 'Zapisać ustawienia połączenia i zrestartować serwer BetterDesk? Aktywne sesje mogą się na chwilę rozłączyć.',
|
||
enrollment_mode_title: 'Zmienić tryb rejestracji?',
|
||
enrollment_mode: 'Przełączyć rejestrację na „{mode}”? Wpływa na sposób rejestracji nowych klientów RustDesk.',
|
||
ldap_enable_title: 'Włączyć LDAP?',
|
||
ldap_enable: 'Włączyć logowanie LDAP / Active Directory? Użytkownicy konsoli mogą uwierzytelniać się w katalogu.',
|
||
ldap_save_title: 'Zapisać ustawienia LDAP?',
|
||
ldap_save: 'Zapisać konfigurację LDAP? Błędne ustawienia mogą zablokować logowanie przez katalog.',
|
||
oidc_enable_title: 'Włączyć SSO?',
|
||
oidc_enable: 'Włączyć logowanie OIDC / SSO? Użytkownicy mogą logować się przez dostawcę tożsamości.',
|
||
oidc_save_title: 'Zapisać ustawienia SSO?',
|
||
oidc_save: 'Zapisać konfigurację OIDC / SSO? Błędne ustawienia mogą zablokować logowanie SSO.',
|
||
smtp_save_title: 'Zapisać ustawienia SMTP?',
|
||
smtp_save: 'Zapisać konfigurację SMTP? Alerty i powiadomienia będą wysyłane przez ten serwer poczty.',
|
||
backup_restore_title: 'Przywrócić kopię zapasową?',
|
||
backup_restore: 'Przywrócić z tego pliku kopii? Wybrane dane zostaną zastąpione.',
|
||
tutorials_reset_title: 'Resetować samouczki?',
|
||
tutorials_reset: 'Resetować postęp wszystkich samouczków? Wskazówki pojawią się ponownie na każdej stronie.',
|
||
advanced_save_title: 'Zapisać plik konfiguracji?',
|
||
advanced_restart_after_title: 'Zrestartować usługę?',
|
||
advanced_restart_title: 'Zrestartować usługę?',
|
||
advanced_discard_title: 'Odrzucić zmiany?'
|
||
}
|
||
},
|
||
de: {
|
||
ui: {
|
||
search_placeholder: 'Einstellungen durchsuchen…',
|
||
search_results: '{count} passende Bereiche',
|
||
auth_sub_enrollment: 'Registrierung',
|
||
auth_sub_ldap: 'LDAP / AD',
|
||
auth_sub_oidc: 'OIDC / SSO',
|
||
branding_rdclient: 'RdClient',
|
||
connection_p2p_hint: 'Zuerst direkte P2P-Verbindung; Relay bei P2P-Fehler.',
|
||
connection_relay_hint: 'Gesamten Client-Traffic über den Relay-Server leiten.'
|
||
},
|
||
confirm: {
|
||
connection_mode_title: 'Verbindungsstrategie speichern?',
|
||
connection_mode: 'Neue Verbindungsstrategie für RustDesk-Clients anwenden?',
|
||
connection_restart_title: 'Speichern und Server neu starten?',
|
||
connection_restart: 'Verbindungseinstellungen speichern und BetterDesk-Server neu starten? Aktive Sitzungen können kurz getrennt werden.',
|
||
enrollment_mode_title: 'Registrierungsmodus ändern?',
|
||
enrollment_mode: 'Registrierung auf „{mode}“ umschalten? Betrifft die Registrierung neuer RustDesk-Clients.',
|
||
ldap_enable_title: 'LDAP aktivieren?',
|
||
ldap_enable: 'LDAP-/Active-Directory-Anmeldung aktivieren?',
|
||
ldap_save_title: 'LDAP-Einstellungen speichern?',
|
||
ldap_save: 'LDAP-Konfiguration speichern? Falsche Einstellungen können die Anmeldung blockieren.',
|
||
oidc_enable_title: 'SSO aktivieren?',
|
||
oidc_enable: 'OIDC-/SSO-Anmeldung aktivieren?',
|
||
oidc_save_title: 'SSO-Einstellungen speichern?',
|
||
oidc_save: 'OIDC-/SSO-Konfiguration speichern?',
|
||
smtp_save_title: 'SMTP-Einstellungen speichern?',
|
||
smtp_save: 'SMTP-Konfiguration speichern? Warnungen nutzen diesen Mailserver.',
|
||
backup_restore_title: 'Backup wiederherstellen?',
|
||
backup_restore: 'Aus dieser Backup-Datei wiederherstellen? Ausgewählte Daten werden überschrieben.',
|
||
tutorials_reset_title: 'Tutorials zurücksetzen?',
|
||
tutorials_reset: 'Gesamten Tutorial-Fortschritt zurücksetzen?',
|
||
advanced_save_title: 'Konfigurationsdatei speichern?',
|
||
advanced_restart_after_title: 'Dienst neu starten?',
|
||
advanced_restart_title: 'Dienst neu starten?',
|
||
advanced_discard_title: 'Änderungen verwerfen?'
|
||
}
|
||
},
|
||
fr: {
|
||
ui: {
|
||
search_placeholder: 'Rechercher dans les paramètres…',
|
||
search_results: '{count} sections correspondantes',
|
||
auth_sub_enrollment: 'Enregistrement',
|
||
auth_sub_ldap: 'LDAP / AD',
|
||
auth_sub_oidc: 'OIDC / SSO',
|
||
branding_rdclient: 'RdClient',
|
||
connection_p2p_hint: 'Connexion P2P directe en priorité ; relais si P2P échoue.',
|
||
connection_relay_hint: 'Tout le trafic client via le serveur relais.'
|
||
},
|
||
confirm: {
|
||
connection_mode_title: 'Enregistrer la stratégie de connexion ?',
|
||
connection_mode: 'Appliquer la nouvelle stratégie pour les clients RustDesk ?',
|
||
connection_restart_title: 'Enregistrer et redémarrer le serveur ?',
|
||
connection_restart: 'Enregistrer et redémarrer le serveur BetterDesk ? Les sessions actives peuvent être coupées brièvement.',
|
||
enrollment_mode_title: 'Changer le mode d’enregistrement ?',
|
||
enrollment_mode: 'Passer l’enregistrement à « {mode} » ? Cela affecte l’inscription des nouveaux clients RustDesk.',
|
||
ldap_enable_title: 'Activer LDAP ?',
|
||
ldap_enable: 'Activer la connexion LDAP / Active Directory ?',
|
||
ldap_save_title: 'Enregistrer les paramètres LDAP ?',
|
||
ldap_save: 'Enregistrer la configuration LDAP ? Des erreurs peuvent bloquer la connexion.',
|
||
oidc_enable_title: 'Activer le SSO ?',
|
||
oidc_enable: 'Activer la connexion OIDC / SSO ?',
|
||
oidc_save_title: 'Enregistrer les paramètres SSO ?',
|
||
oidc_save: 'Enregistrer la configuration OIDC / SSO ?',
|
||
smtp_save_title: 'Enregistrer les paramètres SMTP ?',
|
||
smtp_save: 'Enregistrer la configuration SMTP ? Les alertes utiliseront ce serveur mail.',
|
||
backup_restore_title: 'Restaurer la sauvegarde ?',
|
||
backup_restore: 'Restaurer depuis ce fichier ? Les données sélectionnées seront remplacées.',
|
||
tutorials_reset_title: 'Réinitialiser les tutoriels ?',
|
||
tutorials_reset: 'Réinitialiser la progression de tous les tutoriels ?',
|
||
advanced_save_title: 'Enregistrer le fichier de configuration ?',
|
||
advanced_restart_after_title: 'Redémarrer le service ?',
|
||
advanced_restart_title: 'Redémarrer le service ?',
|
||
advanced_discard_title: 'Abandonner les modifications ?'
|
||
}
|
||
}
|
||
};
|
||
|
||
const files = fs.readdirSync(langDir).filter((f) => f.endsWith('.json') && f !== 'en.json');
|
||
|
||
for (const file of files) {
|
||
const locale = file.replace('.json', '');
|
||
const filePath = path.join(langDir, file);
|
||
const data = JSON.parse(fs.readFileSync(filePath, 'utf8'));
|
||
if (!data.settings) continue;
|
||
|
||
const pack = translations[locale] || { ui: ui, confirm: confirm };
|
||
data.settings.ui = { ...ui, ...(pack.ui || {}) };
|
||
data.settings.confirm = { ...confirm, ...(pack.confirm || {}) };
|
||
|
||
fs.writeFileSync(filePath, JSON.stringify(data, null, 2) + '\n', 'utf8');
|
||
console.log('Patched', file);
|
||
}
|
||
|
||
console.log('Done.');
|