summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2016-05-10 19:17:28 +0200
committerSimon Rettberg2016-05-10 19:17:28 +0200
commita79bbfa1a23838b91e9a08f7014c2c7304976714 (patch)
treefafb56190707d10b01cb282bc14b99156e100dcb
parentTranslating module strings and custom sections works (diff)
downloadslx-admin-a79bbfa1a23838b91e9a08f7014c2c7304976714.tar.gz
slx-admin-a79bbfa1a23838b91e9a08f7014c2c7304976714.tar.xz
slx-admin-a79bbfa1a23838b91e9a08f7014c2c7304976714.zip
Migrated messages to modules
-rw-r--r--inc/taskmanager.inc.php8
-rw-r--r--inc/util.inc.php8
-rw-r--r--index.php2
-rw-r--r--lang/de/messages.json57
-rw-r--r--lang/en/messages.json57
-rw-r--r--lang/pt/messages.json34
-rw-r--r--modules-available/adduser/lang/de/messages.json5
-rw-r--r--modules-available/adduser/lang/en/messages.json5
-rw-r--r--modules-available/adduser/lang/pt/messages.json5
-rw-r--r--modules-available/adduser/page.inc.php2
-rw-r--r--modules-available/backup/lang/de/messages.json5
-rw-r--r--modules-available/backup/lang/en/messages.json6
-rw-r--r--modules-available/backup/lang/pt/messages.json4
-rw-r--r--modules-available/backup/page.inc.php6
-rw-r--r--modules-available/baseconfig/lang/de/messages.json3
-rw-r--r--modules-available/baseconfig/lang/en/messages.json3
-rw-r--r--modules-available/baseconfig/lang/pt/messages.json3
-rw-r--r--modules-available/baseconfig/page.inc.php4
-rw-r--r--modules-available/citymanagement/page.inc.php2
-rw-r--r--modules-available/dozmod/lang/de/messages.json4
-rw-r--r--modules-available/dozmod/lang/en/messages.json4
-rw-r--r--modules-available/dozmod/page.inc.php2
-rw-r--r--modules-available/eventlog/page.inc.php6
-rw-r--r--modules-available/imgmanagement/page.inc.php2
-rw-r--r--modules-available/internetaccess/page.inc.php4
-rw-r--r--modules-available/locations/lang/de/messages.json9
-rw-r--r--modules-available/locations/lang/en/messages.json9
-rw-r--r--modules-available/locations/page.inc.php26
-rw-r--r--modules-available/main/hooks/translation.inc.php15
-rw-r--r--modules-available/main/lang/de/global-tags.json4
-rw-r--r--modules-available/main/lang/de/messages.json12
-rw-r--r--modules-available/main/lang/en/global-tags.json4
-rw-r--r--modules-available/main/lang/en/messages.json12
-rw-r--r--modules-available/main/lang/pt/messages.json12
-rw-r--r--modules-available/minilinux/page.inc.php2
-rw-r--r--modules-available/news/lang/de/messages.json6
-rw-r--r--modules-available/news/lang/en/messages.json6
-rw-r--r--modules-available/news/lang/pt/messages.json6
-rw-r--r--modules-available/news/page.inc.php6
-rw-r--r--modules-available/serversetup/lang/de/messages.json3
-rw-r--r--modules-available/serversetup/lang/en/messages.json3
-rw-r--r--modules-available/serversetup/lang/pt/messages.json3
-rw-r--r--modules-available/serversetup/page.inc.php4
-rw-r--r--modules-available/session/lang/de/messages.json3
-rw-r--r--modules-available/session/lang/en/messages.json3
-rw-r--r--modules-available/session/lang/pt/messages.json3
-rw-r--r--modules-available/statistics/lang/de/messages.json4
-rw-r--r--modules-available/statistics/lang/de/module.json3
-rw-r--r--modules-available/statistics/lang/en/messages.json4
-rw-r--r--modules-available/statistics/lang/en/module.json3
-rw-r--r--modules-available/statistics/page.inc.php6
-rw-r--r--modules-available/support/lang/de/messages.json4
-rw-r--r--modules-available/support/lang/de/template-tags.json3
-rw-r--r--modules-available/support/lang/en/messages.json4
-rw-r--r--modules-available/support/lang/pt/messages.json4
-rw-r--r--modules-available/support/page.inc.php2
-rw-r--r--modules-available/sysconfig/addconfig.inc.php4
-rw-r--r--modules-available/sysconfig/addmodule.inc.php4
-rw-r--r--modules-available/sysconfig/addmodule_adauth.inc.php20
-rw-r--r--modules-available/sysconfig/addmodule_branding.inc.php6
-rw-r--r--modules-available/sysconfig/addmodule_custommodule.inc.php6
-rw-r--r--modules-available/sysconfig/addmodule_ldapauth.inc.php8
-rw-r--r--modules-available/sysconfig/addmodule_sshconfig.inc.php6
-rw-r--r--modules-available/sysconfig/lang/de/messages.json20
-rw-r--r--modules-available/sysconfig/lang/en/messages.json20
-rw-r--r--modules-available/sysconfig/lang/pt/messages.json12
-rw-r--r--modules-available/sysconfig/page.inc.php6
-rw-r--r--modules-available/sysconfignew/page.inc.php2
-rw-r--r--modules-available/syslog/page.inc.php6
-rw-r--r--modules-available/systemstatus/lang/de/messages.json3
-rw-r--r--modules-available/systemstatus/lang/en/messages.json3
-rw-r--r--modules-available/systemstatus/lang/pt/messages.json3
-rw-r--r--modules-available/systemstatus/page.inc.php2
-rw-r--r--modules-available/translation/lang/de/messages.json5
-rw-r--r--modules-available/translation/lang/de/template-tags.json3
-rw-r--r--modules-available/translation/lang/en/messages.json6
-rw-r--r--modules-available/translation/lang/en/template-tags.json2
-rw-r--r--modules-available/translation/lang/pt/messages.json4
-rw-r--r--modules-available/translation/page.inc.php27
-rw-r--r--modules-available/translation/templates/edit.html3
-rw-r--r--modules-available/usermanagement/page.inc.php2
-rw-r--r--modules-available/vmstore/page.inc.php8
-rw-r--r--modules-available/webinterface/page.inc.php2
83 files changed, 378 insertions, 244 deletions
diff --git a/inc/taskmanager.inc.php b/inc/taskmanager.inc.php
index 2cdaf69f..c82d2b1a 100644
--- a/inc/taskmanager.inc.php
+++ b/inc/taskmanager.inc.php
@@ -164,20 +164,20 @@ class Taskmanager
static $failure = false;
if ($task === false) {
if (!$failure) {
- Message::addError('taskmanager-error');
+ Message::addError('main.taskmanager-error');
$failure = true;
}
return;
}
if (!isset($task['statusCode'])) {
- Message::addError('taskmanager-format');
+ Message::addError('main.taskmanager-format');
return;
}
if (isset($task['data']['error'])) {
- Message::addError('task-error', $task['statusCode'] . ' (' . $task['data']['error'] . ')');
+ Message::addError('main.task-error', $task['statusCode'] . ' (' . $task['data']['error'] . ')');
return;
}
- Message::addError('task-error', $task['statusCode']);
+ Message::addError('main.task-error', $task['statusCode']);
}
/**
diff --git a/inc/util.inc.php b/inc/util.inc.php
index f951290b..5eed3ddc 100644
--- a/inc/util.inc.php
+++ b/inc/util.inc.php
@@ -98,11 +98,11 @@ SADFACE;
*/
public static function verifyToken()
{
- if (Session::get('token') === false)
+ if (Session::get('main.token') === false)
return true;
- if (isset($_REQUEST['token']) && Session::get('token') === $_REQUEST['token'])
+ if (isset($_REQUEST['main.token']) && Session::get('main.token') === $_REQUEST['main.token'])
return true;
- Message::addError('token');
+ Message::addError('main.token');
return false;
}
@@ -265,7 +265,7 @@ SADFACE;
@ob_end_clean();
$fh = @fopen($file, 'rb');
if ($fh === false) {
- Message::addError('error-read', $file);
+ Message::addError('main.error-read', $file);
return false;
}
Header('Content-Type: application/octet-stream', true);
diff --git a/index.php b/index.php
index 5ba644c4..8b27a9db 100644
--- a/index.php
+++ b/index.php
@@ -143,7 +143,7 @@ Message::renderList();
Page::render();
if (defined('CONFIG_DEBUG') && CONFIG_DEBUG) {
- Message::addWarning('debug-mode');
+ Message::addWarning('main.debug-mode');
}
if (defined('CONFIG_FOOTER')) {
diff --git a/lang/de/messages.json b/lang/de/messages.json
index 1d3a40bd..a7e81351 100644
--- a/lang/de/messages.json
+++ b/lang/de/messages.json
@@ -1,69 +1,14 @@
{
"ad-config-failed": "Wiederherstellen der Active Directory Konfiguration fehlgeschlagen",
- "added-x-entries": "Eintr\u00e4ge hinzugef\u00fcgt: {{0}}",
- "adduser-disabled": "Keine ausreichenden Rechte, um weitere Benutzer hinzuzuf\u00fcgen",
- "adduser-success": "Benutzer erfolgreich hinzugef\u00fcgt",
- "backup-failed": "Sicherung fehlgeschlagen!",
- "config-activated": "Konfiguration {{0}} wurde aktiviert",
- "config-invalid": "Konfiguration mit ID {{0}} existiert nicht",
"db-update-done": "Datenbank wurde aktualisiert",
- "debug-mode": "Der Debug-Modus ist aktiv!",
- "delete-images": "L\u00f6schung: {{0}}",
"deleted-tag": "Tag wurde entfernt",
"empty-archive": "Das Archiv enth\u00e4lt keine Dateien oder Verzeichnisse",
- "empty-field": "Ein Feld wurde nicht ausgef\u00fcllt",
"error-archive": "Korruptes Archiv oder nicht unterst\u00fctztes Format",
"error-extract": "Konnte Archiv nicht nach {{0}} entpacken - {{1}}",
"error-nodir": "Das Verzeichnis {{0}} existiert nicht.",
- "error-read": "Fehler beim Lesen von {{0}}",
"error-rename": "Konnte {{0}} nicht in {{1}} umbenennen",
- "error-write": "Fehler beim Schreiben von {{0}}",
- "i18n-empty-tag": "Ein String wurde ohne Tag \u00fcbermittelt",
- "i18n-invalid-lang": "Ung\u00fcltige Sprache: {{0}}",
- "invalid-action": "Ung\u00fcltige Aktion: {{0}}",
"invalid-file": "Die Datei {{0}} existiert nicht!",
- "invalid-filter": "Ung\u00fcltiger Filter",
- "invalid-ip": "Kein Interface ist auf die Adresse {{0}} konfiguriert",
"invalid-path": "Ung\u00fcltiger Pfad.",
- "invalid-template": "Ausgew\u00e4hlte Template ist nicht g\u00fcltig",
- "location-deleted": "Location wurde gel\u00f6scht (Locations: {{0}}, Subnets: {{1}})",
- "location-updated": "Location {{0}} wurde aktualisiert",
- "loginfail": "Benutzername oder Kennwort falsch",
- "mail-config-saved": "Mail-Konfiguration gespeichert",
- "missing-file": "Es wurde keine Datei ausgew\u00e4hlt!",
- "missing-title": "Kein Titel eingegeben",
- "module-added": "Modul erfolgreich hinzugef\u00fcgt",
- "module-deleted": "Modul {{0}} wurde gel\u00f6scht",
- "module-edited": "Modul wurde aktualisiert",
- "module-in-use": "Modul {{0}} wird noch durch Konfiguration {{1}} verwendet",
- "module-rebuild-failed": "Neubau des Moduls fehlgeschlagen",
- "module-rebuilding": "Modul wird neu generiert",
- "module-rebuilt": "Modul wurde neu generiert",
- "news-del-success": "News gel\u00f6scht",
- "news-empty": "Es wurde keine News in der Datenbank gefunden",
- "news-save-success": "News erfolgreich aktualisiert",
- "no-image": "Unter der angegebenen URL konnte kein SVG-Bild gefunden werden",
- "no-permission": "Keine ausreichenden Rechte, um auf diese Seite zuzugreifen",
- "notes-saved": "Anmerkungen gespeichert",
- "parameter-missing": "Fehlender Parameter: {{0}}",
- "password-mismatch": "Passwort und Passwortbest\u00e4tigung stimmen nicht \u00fcberein",
- "reboot-unconfirmed": "Sicherheitsabfrage zum Reboot nicht best\u00e4tigt",
"remote-parse-failed": "Parsen der empfangenen Daten fehlgeschlagen ({{0}})",
- "remote-timeout": "Konnte Ressource {{0}} nicht herunterladen ({{1}})",
- "replacing-config": "Ersetzen von Konfiguration {{0}}",
- "replacing-module": "Ersetzen von Modul {{0}}",
- "restore-done": "Wiederherstellung abgeschlossen",
- "settings-updated": "Einstellungen wurden aktualisiert",
- "subnets-created": "Subnetze angelegt: {{0}}",
- "subnets-deleted": "Subnetze gel\u00f6scht: {{0}}",
- "subnets-updated": "Subnetze aktualisiert: {{0}}",
- "task-error": "Ausf\u00fchrung fehlgeschlagen: {{0}}",
- "taskmanager-error": "Verbindung zum Taskmanager fehlgeschlagen",
- "taskmanager-format": "Taskmanager hat ung\u00fcltige Daten zur\u00fcckgeliefert",
- "token": "Ung\u00fcltiges Token. CSRF Angriff?",
- "unsuccessful-action": "Nicht erfolgreich",
- "updated-tags": "Tags wurden aktualisiert",
- "upload-complete": "Upload von {{0}} war erfolgreich",
- "upload-failed": "Upload schlug fehl: {{0}}",
- "value-invalid": "Der Wert {{1}} ist ung\u00fcltig f\u00fcr die Option {{0}} und wurde ignoriert"
+ "upload-complete": "Upload von {{0}} war erfolgreich"
} \ No newline at end of file
diff --git a/lang/en/messages.json b/lang/en/messages.json
index 7d60575d..edf07a85 100644
--- a/lang/en/messages.json
+++ b/lang/en/messages.json
@@ -1,69 +1,14 @@
{
"ad-config-failed": "Rebuilding the Active Directory configuration failed",
- "added-x-entries": "Entries added: {{0}}",
- "adduser-disabled": "Insufficient privileges to add more users",
- "adduser-success": "User successfully added",
- "backup-failed": "Backup failed!",
- "config-activated": "Configuration {{0}} has been activated",
- "config-invalid": "Configuration with id {{0}} does not exist",
"db-update-done": "Database successfully updated",
- "debug-mode": "The debug mode is active!",
- "delete-images": "Delete: {{0}}",
"deleted-tag": "Tag was successfully removed",
"empty-archive": "The archive contains no files or directories",
- "empty-field": "A field was not filled",
"error-archive": "Corrupted archive or unsupported format",
"error-extract": "Could not unpack archive {{0}} to {{1}}",
"error-nodir": "The directory {{0}} does not exist.",
- "error-read": "Error reading {{0}}",
"error-rename": "Could not rename {{0}} into {{1}}",
- "error-write": "Failed to write {{0}}",
- "i18n-empty-tag": "A string without tag was submitted",
- "i18n-invalid-lang": "Invalid language: {{0}}",
- "invalid-action": "Invalid action: {{0}}",
"invalid-file": "The file {{0}} does not exist!",
- "invalid-filter": "Invalid filter",
- "invalid-ip": "No interface is configured with the address {{0}}",
"invalid-path": "Invalid path.",
- "invalid-template": "Selected template is not valid",
- "location-deleted": "Location has been deleted (locations: {{0}}, subnets: {{1}})",
- "location-updated": "Location {{0}} has been updated",
- "loginfail": "Username or Password incorrect",
- "mail-config-saved": "Mail config saved",
- "missing-file": "There was no file selected!",
- "missing-title": "No title given",
- "module-added": "Module successfully added",
- "module-deleted": "Module {{0}} was deleted",
- "module-edited": "Module has been edited",
- "module-in-use": "Module {{0}} is still used by Configuration {{1}}",
- "module-rebuild-failed": "Rebuilding module failed",
- "module-rebuilding": "Module is rebuilding...",
- "module-rebuilt": "Module was rebuilt",
- "news-del-success": "News deleted",
- "news-empty": "There was no news found in the database",
- "news-save-success": "News updated successfully",
- "no-image": "Could not find an SVG-image at the given URL",
- "no-permission": "No sufficient privileges to access this page",
- "notes-saved": "Notes have been saved",
- "parameter-missing": "Missing parameter: {{0}}",
- "password-mismatch": "Password and password confirmation do not match",
- "reboot-unconfirmed": "Confirmation prompt to reboot not confirmed",
"remote-parse-failed": "Parsing the received data failed ({{0}})",
- "remote-timeout": "Could not download resource {{0}} ({{1}})",
- "replacing-config": "Replace config {{0}}",
- "replacing-module": "Replace module {{0}}",
- "restore-done": "Restore done",
- "settings-updated": "Settings have been updated",
- "subnets-created": "{{0}} subnet(s) created",
- "subnets-deleted": "{{0}} subnet(s) deleted",
- "subnets-updated": "{{0}} subnet(s) updated",
- "task-error": "Execution failed: {{0}}",
- "taskmanager-error": "Failed to connect to the Task Manager",
- "taskmanager-format": "Task Manager has returned invalid data",
- "token": "Invalid token. CSRF attack?",
- "unsuccessful-action": "Not successful",
- "updated-tags": "Tags have been updated",
- "upload-complete": "Upload of {{0}} was successful",
- "upload-failed": "Upload failed: {{0}}",
- "value-invalid": "The value {{1}} is invalid for option {{0}} and has been ignored"
+ "upload-complete": "Upload of {{0}} was successful"
} \ No newline at end of file
diff --git a/lang/pt/messages.json b/lang/pt/messages.json
index 290f8378..8738840f 100644
--- a/lang/pt/messages.json
+++ b/lang/pt/messages.json
@@ -1,43 +1,11 @@
{
- "adduser-disabled": "Privil\u00e9gios insuficientes para adicionar mais usu\u00e1rios",
- "adduser-success": "Usu\u00e1rio adicionado com sucesso",
- "config-activated": "Configura\u00e7\u00e3o {{0}} foi ativada",
- "config-invalid": "Configura\u00e7\u00e3o com id {{0}} n\u00e3o existe",
- "debug-mode": "O modo de depura\u00e7\u00e3o est\u00e1 ativo!",
"deleted-tag": "Tag foi removida com sucesso",
"empty-archive": "O arquivo n\u00e3o cont\u00e9m arquivos ou diret\u00f3rios",
- "empty-field": "Um campo n\u00e3o foi preenchido",
"error-archive": "Arquivo corrompido ou formato n\u00e3o suportado",
"error-extract": "N\u00e3o foi poss\u00edvel descompactar arquivo {{0}} para {{1}}",
"error-nodir": "O diret\u00f3rio {{0}} n\u00e3o existe.",
- "error-read": "Erro ao ler {{0}}",
"error-rename": "N\u00e3o foi poss\u00edvel renomear {{0}} em {{1}}",
- "error-write": "Erro ao escrever {{0}}",
- "invalid-action": "A\u00e7\u00e3o inv\u00e1lida: {{0}}",
"invalid-file": "O arquivo {{0}} n\u00e3o existe!",
- "invalid-ip": "Nenhuma interface est\u00e1 configurada com o endere\u00e7o {{0}}",
- "invalid-template": "Template selecionado n\u00e3o \u00e9 v\u00e1lido",
- "loginfail": "Nome de usu\u00e1rio ou senha incorreta",
- "missing-file": "N\u00e3o havia nenhum arquivo selecionado!",
- "module-added": "M\u00f3dulo adicionado com sucesso",
- "module-deleted": "M\u00f3dulo {{0}} foi exclu\u00eddo",
- "module-in-use": "M\u00f3dulo {{0}} ainda \u00e9 usado pela configura\u00e7\u00e3o {{1}}",
- "news-del-success": "Not\u00edcia exclu\u00edda",
- "news-empty": "N\u00e3o havia not\u00edcias no banco de dados",
- "news-save-success": "Not\u00edcia atualizada com sucesso",
- "no-permission": "N\u00e3o h\u00e1 privil\u00e9gios suficientes para acessar essa p\u00e1gina",
- "password-mismatch": "Senha e confirma\u00e7\u00e3o de senha n\u00e3o s\u00e3o iguais",
- "reboot-unconfirmed": "Confirma\u00e7\u00e3o para reinicializar n\u00e3o foi confirmada",
"remote-parse-failed": "An\u00e1lise dos dados recebidos falhou ({{0}})",
- "remote-timeout": "N\u00e3o foi poss\u00edvel baixar o recurso {{0}} ({{1}})",
- "settings-updated": "As configura\u00e7\u00f5es foram atualizadas",
- "task-error": "Falha na execu\u00e7\u00e3o: {{0}}",
- "taskmanager-error": "Falha ao conectar-se ao Gerenciador de Tarefas",
- "taskmanager-format": "Gerenciador de Tarefas retornou dados inv\u00e1lidos",
- "token": "Token inv\u00e1lido. Ataque CSRF?",
- "unsuccessful-action": "A a\u00e7\u00e3o n\u00e3o foi bem sucedida",
- "updated-tags": "Tags foram atualizadas com sucesso",
- "upload-complete": "Envio de {{0}} foi bem sucedido",
- "upload-failed": "Envio falhou: {{0}}",
- "value-invalid": "O valor {{1}} \u00e9 inv\u00e1lido para op\u00e7\u00e3o {{0}} e foi ignorado"
+ "upload-complete": "Envio de {{0}} foi bem sucedido"
} \ No newline at end of file
diff --git a/modules-available/adduser/lang/de/messages.json b/modules-available/adduser/lang/de/messages.json
new file mode 100644
index 00000000..4f62dcbf
--- /dev/null
+++ b/modules-available/adduser/lang/de/messages.json
@@ -0,0 +1,5 @@
+{
+ "password-mismatch": "Passwort und Passwortbest\u00e4tigung stimmen nicht \u00fcberein",
+ "adduser-disabled": "Keine ausreichenden Rechte, um weitere Benutzer hinzuzuf\u00fcgen",
+ "adduser-success": "Benutzer erfolgreich hinzugef\u00fcgt"
+} \ No newline at end of file
diff --git a/modules-available/adduser/lang/en/messages.json b/modules-available/adduser/lang/en/messages.json
new file mode 100644
index 00000000..3a402278
--- /dev/null
+++ b/modules-available/adduser/lang/en/messages.json
@@ -0,0 +1,5 @@
+{
+ "password-mismatch": "Password and password confirmation do not match",
+ "adduser-disabled": "Insufficient privileges to add more users",
+ "adduser-success": "User successfully added"
+} \ No newline at end of file
diff --git a/modules-available/adduser/lang/pt/messages.json b/modules-available/adduser/lang/pt/messages.json
new file mode 100644
index 00000000..1e45aee6
--- /dev/null
+++ b/modules-available/adduser/lang/pt/messages.json
@@ -0,0 +1,5 @@
+{
+ "password-mismatch": "Senha e confirma\u00e7\u00e3o de senha n\u00e3o s\u00e3o iguais",
+ "adduser-disabled": "Privil\u00e9gios insuficientes para adicionar mais usu\u00e1rios",
+ "adduser-success": "Usu\u00e1rio adicionado com sucesso"
+} \ No newline at end of file
diff --git a/modules-available/adduser/page.inc.php b/modules-available/adduser/page.inc.php
index c236cb6f..cb2987bd 100644
--- a/modules-available/adduser/page.inc.php
+++ b/modules-available/adduser/page.inc.php
@@ -10,7 +10,7 @@ class Page_AddUser extends Page
if (isset($_POST['action']) && $_POST['action'] === 'adduser') {
// Check required fields
if (empty($_POST['user']) || empty($_POST['pass1']) || empty($_POST['pass2']) || empty($_POST['fullname'])) {
- Message::addError('empty-field');
+ Message::addError('main.empty-field');
Util::redirect('?do=AddUser');
} elseif ($_POST['pass1'] !== $_POST['pass2']) {
Message::addError('password-mismatch');
diff --git a/modules-available/backup/lang/de/messages.json b/modules-available/backup/lang/de/messages.json
index a1237539..6d16f366 100644
--- a/modules-available/backup/lang/de/messages.json
+++ b/modules-available/backup/lang/de/messages.json
@@ -1,3 +1,6 @@
{
- "backup-failed": "Erstellen des Backups fehlgeschlagen"
+ "backup-failed": "Erstellen des Backups fehlgeschlagen",
+ "missing-file": "Es wurde keine Datei ausgew\u00e4hlt!",
+ "restore-done": "Wiederherstellung abgeschlossen",
+ "upload-failed": "Upload schlug fehl: {{0}}"
} \ No newline at end of file
diff --git a/modules-available/backup/lang/en/messages.json b/modules-available/backup/lang/en/messages.json
new file mode 100644
index 00000000..944cc80f
--- /dev/null
+++ b/modules-available/backup/lang/en/messages.json
@@ -0,0 +1,6 @@
+{
+ "backup-failed": "Backup failed!",
+ "missing-file": "There was no file selected!",
+ "restore-done": "Restore done",
+ "upload-failed": "Upload failed: {{0}}"
+} \ No newline at end of file
diff --git a/modules-available/backup/lang/pt/messages.json b/modules-available/backup/lang/pt/messages.json
new file mode 100644
index 00000000..a36b6c5e
--- /dev/null
+++ b/modules-available/backup/lang/pt/messages.json
@@ -0,0 +1,4 @@
+{
+ "missing-file": "N\u00e3o havia nenhum arquivo selecionado!",
+ "upload-failed": "Envio falhou: {{0}}"
+} \ No newline at end of file
diff --git a/modules-available/backup/page.inc.php b/modules-available/backup/page.inc.php
index 4095f875..9d253a1e 100644
--- a/modules-available/backup/page.inc.php
+++ b/modules-available/backup/page.inc.php
@@ -10,7 +10,7 @@ class Page_Backup extends Page
{
User::load();
if (!User::hasPermission('superadmin')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
$this->action = Request::post('action');
@@ -48,7 +48,7 @@ class Page_Backup extends Page
@ob_end_clean();
$fh = @fopen($task['data']['backupFile'], 'rb');
if ($fh === false) {
- Message::addError('error-read', $task['data']['backupFile']);
+ Message::addError('main.error-read', $task['data']['backupFile']);
Util::redirect('?do=Backup');
}
Header('Content-Type: application/octet-stream', true);
@@ -81,7 +81,7 @@ class Page_Backup extends Page
}
$tempfile = '/tmp/bwlp-' . mt_rand(1, 100000) . '-' . crc32($_SERVER['REMOTE_ADDR']) . '.tgz';
if (!move_uploaded_file($_FILES['backupfile']['tmp_name'], $tempfile)) {
- Message::addError('error-write', $tempfile);
+ Message::addError('main.error-write', $tempfile);
Util::redirect('?do=Backup');
}
// Got uploaded file, now shut down all the daemons etc.
diff --git a/modules-available/baseconfig/lang/de/messages.json b/modules-available/baseconfig/lang/de/messages.json
new file mode 100644
index 00000000..468c87b2
--- /dev/null
+++ b/modules-available/baseconfig/lang/de/messages.json
@@ -0,0 +1,3 @@
+{
+ "settings-updated": "Einstellungen wurden aktualisiert"
+} \ No newline at end of file
diff --git a/modules-available/baseconfig/lang/en/messages.json b/modules-available/baseconfig/lang/en/messages.json
new file mode 100644
index 00000000..b388e627
--- /dev/null
+++ b/modules-available/baseconfig/lang/en/messages.json
@@ -0,0 +1,3 @@
+{
+ "settings-updated": "Settings have been updated"
+} \ No newline at end of file
diff --git a/modules-available/baseconfig/lang/pt/messages.json b/modules-available/baseconfig/lang/pt/messages.json
new file mode 100644
index 00000000..f5cb96eb
--- /dev/null
+++ b/modules-available/baseconfig/lang/pt/messages.json
@@ -0,0 +1,3 @@
+{
+ "settings-updated": "As configura\u00e7\u00f5es foram atualizadas"
+} \ No newline at end of file
diff --git a/modules-available/baseconfig/page.inc.php b/modules-available/baseconfig/page.inc.php
index e741dd2e..356ee2ec 100644
--- a/modules-available/baseconfig/page.inc.php
+++ b/modules-available/baseconfig/page.inc.php
@@ -43,7 +43,7 @@ class Page_BaseConfig extends Page
// Validate data first!
$mangledValue = Validator::validate($validator, $displayValue);
if ($mangledValue === false) {
- Message::addWarning('value-invalid', $key, $displayValue);
+ Message::addWarning('main.value-invalid', $key, $displayValue);
continue;
}
// Now put into DB
@@ -66,7 +66,7 @@ class Page_BaseConfig extends Page
protected function doRender()
{
if (!User::hasPermission('superadmin')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
// Build left joins for specific settings
diff --git a/modules-available/citymanagement/page.inc.php b/modules-available/citymanagement/page.inc.php
index acc30bf9..56e25387 100644
--- a/modules-available/citymanagement/page.inc.php
+++ b/modules-available/citymanagement/page.inc.php
@@ -28,7 +28,7 @@ class Page_Citymanagement extends Page
if (!User::hasPermission('superadmin')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
diff --git a/modules-available/dozmod/lang/de/messages.json b/modules-available/dozmod/lang/de/messages.json
new file mode 100644
index 00000000..d6e39cbf
--- /dev/null
+++ b/modules-available/dozmod/lang/de/messages.json
@@ -0,0 +1,4 @@
+{
+ "delete-images": "L\u00f6schung: {{0}}",
+ "mail-config-saved": "Mail-Konfiguration gespeichert"
+} \ No newline at end of file
diff --git a/modules-available/dozmod/lang/en/messages.json b/modules-available/dozmod/lang/en/messages.json
new file mode 100644
index 00000000..a3c94a56
--- /dev/null
+++ b/modules-available/dozmod/lang/en/messages.json
@@ -0,0 +1,4 @@
+{
+ "delete-images": "Delete: {{0}}",
+ "mail-config-saved": "Mail config saved"
+} \ No newline at end of file
diff --git a/modules-available/dozmod/page.inc.php b/modules-available/dozmod/page.inc.php
index f98d8952..f0cbe3f4 100644
--- a/modules-available/dozmod/page.inc.php
+++ b/modules-available/dozmod/page.inc.php
@@ -8,7 +8,7 @@ class Page_DozMod extends Page
User::load();
if (!User::hasPermission('superadmin')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
diff --git a/modules-available/eventlog/page.inc.php b/modules-available/eventlog/page.inc.php
index 7cfc8a55..0e56c82d 100644
--- a/modules-available/eventlog/page.inc.php
+++ b/modules-available/eventlog/page.inc.php
@@ -7,7 +7,7 @@ class Page_EventLog extends Page
{
User::load();
if (!User::hasPermission('superadmin')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
User::setLastSeenEvent(Property::getLastWarningId());
@@ -24,9 +24,9 @@ class Page_EventLog extends Page
while ($row = $res->fetch(PDO::FETCH_ASSOC)) {
$day = date('d.m.Y', $row['dateline']);
if ($day === $today) {
- $day = Dictionary::translate('today');
+ $day = Dictionary::translate('lang_today');
} elseif ($day === $yesterday) {
- $day = Dictionary::translate('yesterday');
+ $day = Dictionary::translate('lang_yesterday');
}
$row['date'] = $day . date(' H:i', $row['dateline']);
$row['icon'] = $this->typeToIcon($row['logtypeid']);
diff --git a/modules-available/imgmanagement/page.inc.php b/modules-available/imgmanagement/page.inc.php
index dc19cb2a..99f1a1a3 100644
--- a/modules-available/imgmanagement/page.inc.php
+++ b/modules-available/imgmanagement/page.inc.php
@@ -12,7 +12,7 @@ class Page_Imgmanagement extends Page
User::load();
if (!User::hasPermission('baseconfig_local')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
diff --git a/modules-available/internetaccess/page.inc.php b/modules-available/internetaccess/page.inc.php
index b949be26..246d4477 100644
--- a/modules-available/internetaccess/page.inc.php
+++ b/modules-available/internetaccess/page.inc.php
@@ -7,7 +7,7 @@ class Page_InternetAccess extends Page
{
User::load();
if (!User::hasPermission('superadmin')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
if (isset($_POST['PROXY_CONF'])) {
@@ -16,7 +16,7 @@ class Page_InternetAccess extends Page
$data[$key] = Request::post($key, '');
}
if (!FileUtil::arrayToFile(CONFIG_PROXY_CONF, $data)) {
- Message::addError('error-write', CONFIG_PROXY_CONF);
+ Message::addError('main.error-write', CONFIG_PROXY_CONF);
Util::redirect();
} else {
Message::addSuccess('settings-updated');
diff --git a/modules-available/locations/lang/de/messages.json b/modules-available/locations/lang/de/messages.json
new file mode 100644
index 00000000..bef94781
--- /dev/null
+++ b/modules-available/locations/lang/de/messages.json
@@ -0,0 +1,9 @@
+{
+ "added-x-entries": "Eintr\u00e4ge hinzugef\u00fcgt: {{0}}",
+ "parameter-missing": "Fehlender Parameter: {{0}}",
+ "location-deleted": "Location wurde gel\u00f6scht (Locations: {{0}}, Subnets: {{1}})",
+ "location-updated": "Location {{0}} wurde aktualisiert",
+ "subnets-deleted": "Subnetze gel\u00f6scht: {{0}}",
+ "subnets-updated": "Subnetze aktualisiert: {{0}}",
+ "subnets-created": "Subnetze angelegt: {{0}}"
+} \ No newline at end of file
diff --git a/modules-available/locations/lang/en/messages.json b/modules-available/locations/lang/en/messages.json
new file mode 100644
index 00000000..e23f231a
--- /dev/null
+++ b/modules-available/locations/lang/en/messages.json
@@ -0,0 +1,9 @@
+{
+ "added-x-entries": "Entries added: {{0}}",
+ "parameter-missing": "Missing parameter: {{0}}",
+ "location-deleted": "Location has been deleted (locations: {{0}}, subnets: {{1}})",
+ "location-updated": "Location {{0}} has been updated",
+ "subnets-deleted": "{{0}} subnet(s) deleted",
+ "subnets-updated": "{{0}} subnet(s) updated",
+ "subnets-created": "{{0}} subnet(s) created"
+} \ No newline at end of file
diff --git a/modules-available/locations/page.inc.php b/modules-available/locations/page.inc.php
index 60af719b..8f76701a 100644
--- a/modules-available/locations/page.inc.php
+++ b/modules-available/locations/page.inc.php
@@ -13,7 +13,7 @@ class Page_Locations extends Page
{
User::load();
if (!User::hasPermission('superadmin')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
$this->action = Request::post('action');
@@ -29,7 +29,7 @@ class Page_Locations extends Page
$names = Request::post('newlocation', false);
$parents = Request::post('newparent', false);
if (!is_array($names) || !is_array($parents)) {
- Message::addError('empty-field');
+ Message::addError('main.empty-field');
Util::redirect('?do=Locations');
}
$locs = Location::getLocations();
@@ -46,7 +46,7 @@ class Page_Locations extends Page
}
}
if (!$ok) {
- Message::addWarning('value-invalid', 'parentlocationid', $parent);
+ Message::addWarning('main.value-invalid', 'parentlocationid', $parent);
continue;
}
}
@@ -72,7 +72,7 @@ class Page_Locations extends Page
$location = Database::queryFirst('SELECT locationid, parentlocationid, locationname FROM location'
. ' WHERE locationid = :lid', array('lid' => $locationId));
if ($location === false) {
- Message::addError('value-invalid', 'locationid', $locationId);
+ Message::addError('main.value-invalid', 'locationid', $locationId);
Util::redirect('?do=Locations');
}
// Delete location?
@@ -117,7 +117,7 @@ class Page_Locations extends Page
$newName = Request::post('locationname', false, 'string');
if ($newName === false || preg_match('/^\s*$/', $newName)) {
if ($newName !== false) {
- Message::addWarning('value-invalid', 'location name', $newName);
+ Message::addWarning('main.value-invalid', 'location name', $newName);
}
$newName = $location['locationname'];
}
@@ -127,12 +127,12 @@ class Page_Locations extends Page
$rows = Location::queryLocations();
$all = Location::extractIds(Location::buildTree($rows));
if (!in_array($newParent, $all) || $newParent === $locationId) {
- Message::addWarning('value-invalid', 'parent', $newParent);
+ Message::addWarning('main.value-invalid', 'parent', $newParent);
$newParent = $location['parentlocationid'];
} else {
$rows = Location::extractIds(Location::buildTree($rows, $locationId));
if (in_array($newParent, $rows)) {
- Message::addWarning('value-invalid', 'parent', $newParent);
+ Message::addWarning('main.value-invalid', 'parent', $newParent);
$newParent = $location['parentlocationid'];
}
}
@@ -181,14 +181,14 @@ class Page_Locations extends Page
$end = $ends[$key];
list($startLong, $endLong) = $this->rangeToLong($start, $end);
if ($startLong === false) {
- Message::addWarning('value-invalid', 'start addr', $start);
+ Message::addWarning('main.value-invalid', 'start addr', $start);
}
if ($endLong === false) {
- Message::addWarning('value-invalid', 'end addr', $start);
+ Message::addWarning('main.value-invalid', 'end addr', $start);
}
if ($startLong === false || $endLong === false) continue;
if ($startLong > $endLong) {
- Message::addWarning('value-invalid', 'range', $start . ' - ' . $end);
+ Message::addWarning('main.value-invalid', 'range', $start . ' - ' . $end);
continue;
}
if ($stmt->execute(array('id' => $key, 'start' => $startLong, 'end' => $endLong))) {
@@ -215,14 +215,14 @@ class Page_Locations extends Page
$end = $ends[$key];
list($startLong, $endLong) = $this->rangeToLong($start, $end);
if ($startLong === false) {
- Message::addWarning('value-invalid', 'new start addr', $start);
+ Message::addWarning('main.value-invalid', 'new start addr', $start);
}
if ($endLong === false) {
- Message::addWarning('value-invalid', 'new end addr', $start);
+ Message::addWarning('main.value-invalid', 'new end addr', $start);
}
if ($startLong === false || $endLong === false) continue;
if ($startLong > $endLong) {
- Message::addWarning('value-invalid', 'range', $start . ' - ' . $end);
+ Message::addWarning('main.value-invalid', 'range', $start . ' - ' . $end);
continue;
}
if ($stmt->execute(array('location' => $locationId, 'start' => $startLong, 'end' => $endLong))) {
diff --git a/modules-available/main/hooks/translation.inc.php b/modules-available/main/hooks/translation.inc.php
index 8c0e4b51..c831cbfd 100644
--- a/modules-available/main/hooks/translation.inc.php
+++ b/modules-available/main/hooks/translation.inc.php
@@ -6,7 +6,7 @@ $HANDLER = array();
* List of valid subsections
*/
$HANDLER['subsections'] = array(
- 'categories'
+ 'categories', 'global-tags'
);
/*
@@ -28,3 +28,16 @@ $HANDLER['grep_categories'] = function($module) {
}
return $want;
};
+
+/**
+ * Global tags.
+ * This just returns the union of global tags of all languages, as there is no
+ * way to define a definite set of required global tags.
+ */
+$HANDLER['grep_global-tags'] = function($module) {
+ $want = array();
+ foreach (Dictionary::getLanguages() as $lang) {
+ $want += Dictionary::getArray($module->getIdentifier(), 'global-tags', $lang);
+ }
+ return $want;
+};
diff --git a/modules-available/main/lang/de/global-tags.json b/modules-available/main/lang/de/global-tags.json
new file mode 100644
index 00000000..c36347fe
--- /dev/null
+++ b/modules-available/main/lang/de/global-tags.json
@@ -0,0 +1,4 @@
+{
+ "lang_today": "Heute",
+ "lang_yesterday": "Gestern"
+} \ No newline at end of file
diff --git a/modules-available/main/lang/de/messages.json b/modules-available/main/lang/de/messages.json
new file mode 100644
index 00000000..ec645d05
--- /dev/null
+++ b/modules-available/main/lang/de/messages.json
@@ -0,0 +1,12 @@
+{
+ "no-permission": "Keine ausreichenden Rechte, um auf diese Seite zuzugreifen",
+ "error-write": "Fehler beim Schreiben von {{0}}",
+ "empty-field": "Ein Feld wurde nicht ausgef\u00fcllt",
+ "value-invalid": "Der Wert {{1}} ist ung\u00fcltig f\u00fcr die Option {{0}} und wurde ignoriert",
+ "error-read": "Fehler beim Lesen von {{0}}",
+ "taskmanager-error": "Verbindung zum Taskmanager fehlgeschlagen",
+ "task-error": "Ausf\u00fchrung fehlgeschlagen: {{0}}",
+ "taskmanager-format": "Taskmanager hat ung\u00fcltige Daten zur\u00fcckgeliefert",
+ "token": "Ung\u00fcltiges Token. CSRF Angriff?",
+ "debug-mode": "Der Debug-Modus ist aktiv!"
+} \ No newline at end of file
diff --git a/modules-available/main/lang/en/global-tags.json b/modules-available/main/lang/en/global-tags.json
new file mode 100644
index 00000000..f5fbed61
--- /dev/null
+++ b/modules-available/main/lang/en/global-tags.json
@@ -0,0 +1,4 @@
+{
+ "lang_today": "Today",
+ "lang_yesterday": "Yesterday"
+} \ No newline at end of file
diff --git a/modules-available/main/lang/en/messages.json b/modules-available/main/lang/en/messages.json
new file mode 100644
index 00000000..f3e97b77
--- /dev/null
+++ b/modules-available/main/lang/en/messages.json
@@ -0,0 +1,12 @@
+{
+ "no-permission": "No sufficient privileges to access this page",
+ "error-write": "Failed to write {{0}}",
+ "empty-field": "A field was not filled",
+ "value-invalid": "The value {{1}} is invalid for option {{0}} and has been ignored",
+ "error-read": "Error reading {{0}}",
+ "taskmanager-error": "Failed to connect to the Task Manager",
+ "task-error": "Execution failed: {{0}}",
+ "taskmanager-format": "Task Manager has returned invalid data",
+ "token": "Invalid token. CSRF attack?",
+ "debug-mode": "The debug mode is active!"
+} \ No newline at end of file
diff --git a/modules-available/main/lang/pt/messages.json b/modules-available/main/lang/pt/messages.json
new file mode 100644
index 00000000..c716bcfd
--- /dev/null
+++ b/modules-available/main/lang/pt/messages.json
@@ -0,0 +1,12 @@
+{
+ "no-permission": "N\u00e3o h\u00e1 privil\u00e9gios suficientes para acessar essa p\u00e1gina",
+ "error-write": "Erro ao escrever {{0}}",
+ "empty-field": "Um campo n\u00e3o foi preenchido",
+ "value-invalid": "O valor {{1}} \u00e9 inv\u00e1lido para op\u00e7\u00e3o {{0}} e foi ignorado",
+ "error-read": "Erro ao ler {{0}}",
+ "taskmanager-error": "Falha ao conectar-se ao Gerenciador de Tarefas",
+ "task-error": "Falha na execu\u00e7\u00e3o: {{0}}",
+ "taskmanager-format": "Gerenciador de Tarefas retornou dados inv\u00e1lidos",
+ "token": "Token inv\u00e1lido. Ataque CSRF?",
+ "debug-mode": "O modo de depura\u00e7\u00e3o est\u00e1 ativo!"
+} \ No newline at end of file
diff --git a/modules-available/minilinux/page.inc.php b/modules-available/minilinux/page.inc.php
index 91be456e..a7a70d13 100644
--- a/modules-available/minilinux/page.inc.php
+++ b/modules-available/minilinux/page.inc.php
@@ -8,7 +8,7 @@ class Page_MiniLinux extends Page
User::load();
if (!User::hasPermission('superadmin')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
}
diff --git a/modules-available/news/lang/de/messages.json b/modules-available/news/lang/de/messages.json
new file mode 100644
index 00000000..ab1c01fc
--- /dev/null
+++ b/modules-available/news/lang/de/messages.json
@@ -0,0 +1,6 @@
+{
+ "invalid-action": "Ung\u00fcltige Aktion: {{0}}",
+ "news-save-success": "News erfolgreich aktualisiert",
+ "news-empty": "Es wurde keine News in der Datenbank gefunden",
+ "news-del-success": "News gel\u00f6scht"
+} \ No newline at end of file
diff --git a/modules-available/news/lang/en/messages.json b/modules-available/news/lang/en/messages.json
new file mode 100644
index 00000000..8bfd359e
--- /dev/null
+++ b/modules-available/news/lang/en/messages.json
@@ -0,0 +1,6 @@
+{
+ "invalid-action": "Invalid action: {{0}}",
+ "news-save-success": "News updated successfully",
+ "news-empty": "There was no news found in the database",
+ "news-del-success": "News deleted"
+} \ No newline at end of file
diff --git a/modules-available/news/lang/pt/messages.json b/modules-available/news/lang/pt/messages.json
new file mode 100644
index 00000000..2b562e39
--- /dev/null
+++ b/modules-available/news/lang/pt/messages.json
@@ -0,0 +1,6 @@
+{
+ "invalid-action": "A\u00e7\u00e3o inv\u00e1lida: {{0}}",
+ "news-save-success": "Not\u00edcia atualizada com sucesso",
+ "news-empty": "N\u00e3o havia not\u00edcias no banco de dados",
+ "news-del-success": "Not\u00edcia exclu\u00edda"
+} \ No newline at end of file
diff --git a/modules-available/news/page.inc.php b/modules-available/news/page.inc.php
index 9bbadc4f..0ba09fdb 100644
--- a/modules-available/news/page.inc.php
+++ b/modules-available/news/page.inc.php
@@ -29,7 +29,7 @@ class Page_News extends Page
// only admins should be able to edit news
if (!User::hasPermission('superadmin')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
@@ -139,7 +139,7 @@ class Page_News extends Page
));
return true;
} else {
- Message::addError('empty-field');
+ Message::addError('main.empty-field');
return false;
}
}
@@ -153,7 +153,7 @@ class Page_News extends Page
{
// sanity check: is newsId even numeric?
if (!is_numeric($newsId)) {
- Message::addError('value-invalid', 'newsid', $newsId);
+ Message::addError('main.value-invalid', 'newsid', $newsId);
} else {
// check passed - do delete
Database::exec("DELETE FROM news WHERE newsid = :newsid LIMIT 1", array(
diff --git a/modules-available/serversetup/lang/de/messages.json b/modules-available/serversetup/lang/de/messages.json
new file mode 100644
index 00000000..cb0b229d
--- /dev/null
+++ b/modules-available/serversetup/lang/de/messages.json
@@ -0,0 +1,3 @@
+{
+ "invalid-ip": "Kein Interface ist auf die Adresse {{0}} konfiguriert"
+} \ No newline at end of file
diff --git a/modules-available/serversetup/lang/en/messages.json b/modules-available/serversetup/lang/en/messages.json
new file mode 100644
index 00000000..d96be232
--- /dev/null
+++ b/modules-available/serversetup/lang/en/messages.json
@@ -0,0 +1,3 @@
+{
+ "invalid-ip": "No interface is configured with the address {{0}}"
+} \ No newline at end of file
diff --git a/modules-available/serversetup/lang/pt/messages.json b/modules-available/serversetup/lang/pt/messages.json
new file mode 100644
index 00000000..65745768
--- /dev/null
+++ b/modules-available/serversetup/lang/pt/messages.json
@@ -0,0 +1,3 @@
+{
+ "invalid-ip": "Nenhuma interface est\u00e1 configurada com o endere\u00e7o {{0}}"
+} \ No newline at end of file
diff --git a/modules-available/serversetup/page.inc.php b/modules-available/serversetup/page.inc.php
index 289bf3d5..c48ccd3d 100644
--- a/modules-available/serversetup/page.inc.php
+++ b/modules-available/serversetup/page.inc.php
@@ -13,7 +13,7 @@ class Page_ServerSetup extends Page
User::load();
if (!User::hasPermission('superadmin')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
@@ -147,7 +147,7 @@ class Page_ServerSetup extends Page
if ($timeout === '')
$timeout = 0;
if (!is_numeric($timeout) || $timeout < 0) {
- Message::addError('value-invalid', 'timeout', $timeout);
+ Message::addError('main.value-invalid', 'timeout', $timeout);
}
$this->currentMenu['defaultentry'] = Request::post('defaultentry', 'net');
$this->currentMenu['timeout'] = $timeout;
diff --git a/modules-available/session/lang/de/messages.json b/modules-available/session/lang/de/messages.json
new file mode 100644
index 00000000..25d12e40
--- /dev/null
+++ b/modules-available/session/lang/de/messages.json
@@ -0,0 +1,3 @@
+{
+ "loginfail": "Benutzername oder Kennwort falsch"
+} \ No newline at end of file
diff --git a/modules-available/session/lang/en/messages.json b/modules-available/session/lang/en/messages.json
new file mode 100644
index 00000000..4da881ce
--- /dev/null
+++ b/modules-available/session/lang/en/messages.json
@@ -0,0 +1,3 @@
+{
+ "loginfail": "Username or Password incorrect"
+} \ No newline at end of file
diff --git a/modules-available/session/lang/pt/messages.json b/modules-available/session/lang/pt/messages.json
new file mode 100644
index 00000000..a44742d3
--- /dev/null
+++ b/modules-available/session/lang/pt/messages.json
@@ -0,0 +1,3 @@
+{
+ "loginfail": "Nome de usu\u00e1rio ou senha incorreta"
+} \ No newline at end of file
diff --git a/modules-available/statistics/lang/de/messages.json b/modules-available/statistics/lang/de/messages.json
new file mode 100644
index 00000000..0a1be6d0
--- /dev/null
+++ b/modules-available/statistics/lang/de/messages.json
@@ -0,0 +1,4 @@
+{
+ "notes-saved": "Anmerkungen gespeichert",
+ "invalid-filter": "Ung\u00fcltiger Filter"
+} \ No newline at end of file
diff --git a/modules-available/statistics/lang/de/module.json b/modules-available/statistics/lang/de/module.json
index 85246e25..902a9573 100644
--- a/modules-available/statistics/lang/de/module.json
+++ b/modules-available/statistics/lang/de/module.json
@@ -1,4 +1,5 @@
{
"module_name": "Client-Statistiken",
- "page_title": "Client-Statistiken"
+ "page_title": "Client-Statistiken",
+ "unused": "Ungenutzt"
} \ No newline at end of file
diff --git a/modules-available/statistics/lang/en/messages.json b/modules-available/statistics/lang/en/messages.json
new file mode 100644
index 00000000..15457015
--- /dev/null
+++ b/modules-available/statistics/lang/en/messages.json
@@ -0,0 +1,4 @@
+{
+ "notes-saved": "Notes have been saved",
+ "invalid-filter": "Invalid filter"
+} \ No newline at end of file
diff --git a/modules-available/statistics/lang/en/module.json b/modules-available/statistics/lang/en/module.json
index b4c6db44..d923ce7b 100644
--- a/modules-available/statistics/lang/en/module.json
+++ b/modules-available/statistics/lang/en/module.json
@@ -1,3 +1,4 @@
{
- "module_name": "Client Statistics"
+ "module_name": "Client Statistics",
+ "unused": "Unused"
} \ No newline at end of file
diff --git a/modules-available/statistics/page.inc.php b/modules-available/statistics/page.inc.php
index faf88521..f21f0db9 100644
--- a/modules-available/statistics/page.inc.php
+++ b/modules-available/statistics/page.inc.php
@@ -16,7 +16,7 @@ class Page_Statistics extends Page
{
User::load();
if (!User::hasPermission('superadmin')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
$action = Request::post('action');
@@ -562,9 +562,9 @@ class Page_Statistics extends Page
if (substr($row['description'], -5) === 'on :0' && strpos($row['description'], 'root logged') === false) continue;
$day = date('d.m.Y', $row['dateline']);
if ($day === $today) {
- $day = Dictionary::translate('today');
+ $day = Dictionary::translate('lang_today');
} elseif ($day === $yesterday) {
- $day = Dictionary::translate('yesterday');
+ $day = Dictionary::translate('lang_yesterday');
}
$row['date'] = $day . date(' H:i', $row['dateline']);
$row['icon'] = $this->eventToIconName($row['logtypeid']);
diff --git a/modules-available/support/lang/de/messages.json b/modules-available/support/lang/de/messages.json
new file mode 100644
index 00000000..fe4a973d
--- /dev/null
+++ b/modules-available/support/lang/de/messages.json
@@ -0,0 +1,4 @@
+{
+ "news-save-success": "News erfolgreich aktualisiert",
+ "news-empty": "Es wurde keine News in der Datenbank gefunden"
+} \ No newline at end of file
diff --git a/modules-available/support/lang/de/template-tags.json b/modules-available/support/lang/de/template-tags.json
new file mode 100644
index 00000000..c44dc44f
--- /dev/null
+++ b/modules-available/support/lang/de/template-tags.json
@@ -0,0 +1,3 @@
+[
+
+] \ No newline at end of file
diff --git a/modules-available/support/lang/en/messages.json b/modules-available/support/lang/en/messages.json
new file mode 100644
index 00000000..94d198c0
--- /dev/null
+++ b/modules-available/support/lang/en/messages.json
@@ -0,0 +1,4 @@
+{
+ "news-save-success": "News updated successfully",
+ "news-empty": "There was no news found in the database"
+} \ No newline at end of file
diff --git a/modules-available/support/lang/pt/messages.json b/modules-available/support/lang/pt/messages.json
new file mode 100644
index 00000000..7420aef9
--- /dev/null
+++ b/modules-available/support/lang/pt/messages.json
@@ -0,0 +1,4 @@
+{
+ "news-save-success": "Not\u00edcia atualizada com sucesso",
+ "news-empty": "N\u00e3o havia not\u00edcias no banco de dados"
+} \ No newline at end of file
diff --git a/modules-available/support/page.inc.php b/modules-available/support/page.inc.php
index 10695969..5ad7854f 100644
--- a/modules-available/support/page.inc.php
+++ b/modules-available/support/page.inc.php
@@ -6,7 +6,7 @@ class Page_Support extends Page
protected function doPreprocess(){
User::load();
if (!User::hasPermission('superadmin')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
error_reporting(E_ALL);
diff --git a/modules-available/sysconfig/addconfig.inc.php b/modules-available/sysconfig/addconfig.inc.php
index 8203e555..34a46d52 100644
--- a/modules-available/sysconfig/addconfig.inc.php
+++ b/modules-available/sysconfig/addconfig.inc.php
@@ -41,7 +41,7 @@ abstract class AddConfig_Base
protected function tmError()
{
- Message::addError('taskmanager-error');
+ Message::addError('main.taskmanager-error');
Util::redirect('?do=SysConfig');
}
@@ -54,7 +54,7 @@ abstract class AddConfig_Base
} else {
$error = Dictionary::translate('lang_unknwonTaskManager'); // TODO: No text
}
- Message::addError('task-error', $error);
+ Message::addError('main.task-error', $error);
Util::redirect('?do=SysConfig');
}
diff --git a/modules-available/sysconfig/addmodule.inc.php b/modules-available/sysconfig/addmodule.inc.php
index bcd8e796..913a37c1 100644
--- a/modules-available/sysconfig/addmodule.inc.php
+++ b/modules-available/sysconfig/addmodule.inc.php
@@ -43,7 +43,7 @@ abstract class AddModule_Base
protected function tmError()
{
- Message::addError('taskmanager-error');
+ Message::addError('main.taskmanager-error');
Util::redirect('?do=SysConfig');
}
@@ -56,7 +56,7 @@ abstract class AddModule_Base
} else {
$error = Dictionary::translate('lang_unknwonTaskManager');
}
- Message::addError('task-error', $error);
+ Message::addError('main.task-error', $error);
Util::redirect('?do=SysConfig');
}
diff --git a/modules-available/sysconfig/addmodule_adauth.inc.php b/modules-available/sysconfig/addmodule_adauth.inc.php
index e295630c..cb7bfb4e 100644
--- a/modules-available/sysconfig/addmodule_adauth.inc.php
+++ b/modules-available/sysconfig/addmodule_adauth.inc.php
@@ -42,7 +42,7 @@ class AdAuth_CheckConnection extends AddModule_Base
$binddn = Request::post('binddn');
$ssl = Request::post('ssl', 'off') === 'on';
if (empty($this->server) || empty($binddn)) {
- Message::addError('empty-field');
+ Message::addError('main.empty-field');
AddModule_Base::setStep('AdAuth_Start'); // Continues with AdAuth_Start for render()
return;
}
@@ -108,12 +108,12 @@ class AdAuth_SelfSearch extends AddModule_Base
$bindpw = Request::post('bindpw');
$ssl = Request::post('ssl', 'off') === 'on';
if ($ssl && !Request::post('fingerprint')) {
- Message::addError('error-read', 'fingerprint');
+ Message::addError('main.error-read', 'fingerprint');
AddModule_Base::setStep('AdAuth_Start'); // Continues with AdAuth_Start for render()
return;
}
if (empty($server) || empty($binddn) || empty($port)) {
- Message::addError('empty-field');
+ Message::addError('main.empty-field');
AddModule_Base::setStep('AdAuth_Start'); // Continues with AdAuth_Start for render()
return;
}
@@ -185,12 +185,12 @@ class AdAuth_HomeAttrCheck extends AddModule_Base
$bindpw = Request::post('bindpw');
$ssl = Request::post('ssl', 'off') === 'on';
if ($ssl && !Request::post('fingerprint')) {
- Message::addError('error-read', 'fingerprint');
+ Message::addError('main.error-read', 'fingerprint');
AddModule_Base::setStep('AdAuth_Start'); // Continues with AdAuth_Start for render()
return;
}
if (empty($server) || empty($binddn) || empty($port)) {
- Message::addError('empty-field');
+ Message::addError('main.empty-field');
AddModule_Base::setStep('AdAuth_Start'); // Continues with AdAuth_Start for render()
return;
}
@@ -255,12 +255,12 @@ class AdAuth_CheckCredentials extends AddModule_Base
$bindpw = Request::post('bindpw');
$ssl = Request::post('ssl', 'off') === 'on';
if ($ssl && !Request::post('fingerprint')) {
- Message::addError('error-read', 'fingerprint');
+ Message::addError('main.error-read', 'fingerprint');
AddModule_Base::setStep('AdAuth_Start'); // Continues with AdAuth_Start for render()
return;
}
if (empty($server) || empty($binddn) || empty($port)) {
- Message::addError('empty-field');
+ Message::addError('main.empty-field');
AddModule_Base::setStep('AdAuth_Start'); // Continues with AdAuth_Start for render()
return;
}
@@ -323,13 +323,13 @@ class AdAuth_Finish extends AddModule_Base
// If no search base was given, determine it from the dn
$originalBindDn = str_replace('\\', '/', trim(Request::post('originalbinddn')));
if (!preg_match('#^([^/]+)/[^/]+$#', $originalBindDn, $out)) {
- Message::addError('value-invalid', 'binddn', $originalBindDn);
+ Message::addError('main.value-invalid', 'binddn', $originalBindDn);
Util::redirect('?do=SysConfig&action=addmodule&step=AdAuth_Start');
} // $out[1] is the domain
// Find the domain in the dn
$i = mb_stripos($binddn, '=' . $out[1] . ',');
if ($i === false) {
- Message::addError('value-invalid', 'binddn', $out[1]);
+ Message::addError('main.value-invalid', 'binddn', $out[1]);
Util::redirect('?do=SysConfig&action=addmodule&step=AdAuth_Start');
}
// Now find ',' before it so we get the key
@@ -372,7 +372,7 @@ class AdAuth_Finish extends AddModule_Base
else
$ret = $module->insert($title);
if (!$ret) {
- Message::addError('value-invalid', 'any', 'any');
+ Message::addError('main.value-invalid', 'any', 'any');
$tgz = false;
} else {
$parent = $this->stopOldInstance();
diff --git a/modules-available/sysconfig/addmodule_branding.inc.php b/modules-available/sysconfig/addmodule_branding.inc.php
index 67e20892..cb5609e6 100644
--- a/modules-available/sysconfig/addmodule_branding.inc.php
+++ b/modules-available/sysconfig/addmodule_branding.inc.php
@@ -29,7 +29,7 @@ class Branding_ProcessFile extends AddModule_Base
{
$url = Request::post('url');
if ((!isset($_FILES['file']['error']) || $_FILES['file']['error'] === UPLOAD_ERR_NO_FILE) && empty($url)) {
- Message::addError('empty-field');
+ Message::addError('main.empty-field');
Util::redirect('?do=SysConfig&action=addmodule&step=Branding_Start');
}
@@ -204,7 +204,7 @@ class Branding_Finish extends AddModule_Base
}
$tgz = Session::get('logo_tgz');
if ($tgz === false || !file_exists($tgz)) {
- Message::addError('error-read', $tgz);
+ Message::addError('main.error-read', $tgz);
Util::redirect('?do=SysConfig&action=addmodule&step=Branding_Start');
}
if ($this->edit === false)
@@ -212,7 +212,7 @@ class Branding_Finish extends AddModule_Base
else
$module = $this->edit;
if ($module === false) {
- Message::addError('error-read', 'branding.inc.php');
+ Message::addError('main.error-read', 'branding.inc.php');
Util::redirect('?do=SysConfig&action=addmodule&step=Branding_Start');
}
$module->setData('tmpFile', $tgz);
diff --git a/modules-available/sysconfig/addmodule_custommodule.inc.php b/modules-available/sysconfig/addmodule_custommodule.inc.php
index 023463f7..d08cc5fb 100644
--- a/modules-available/sysconfig/addmodule_custommodule.inc.php
+++ b/modules-available/sysconfig/addmodule_custommodule.inc.php
@@ -43,7 +43,7 @@ class CustomModule_ProcessUpload extends AddModule_Base
}
$tempfile = '/tmp/bwlp-' . mt_rand(1, 100000) . '-' . crc32($_SERVER['REMOTE_ADDR']) . '.tmp';
if (!move_uploaded_file($_FILES['modulefile']['tmp_name'], $tempfile)) {
- Message::addError('error-write', $tempfile);
+ Message::addError('main.error-write', $tempfile);
Util::redirect('?do=SysConfig');
}
$this->taskId = 'tgzmod' . mt_rand() . '-' . microtime(true);
@@ -113,7 +113,7 @@ class CustomModule_CompressModule extends AddModule_Base
$title = Request::post('title');
$tempfile = Session::get('mod_temp');
if (empty($title) || empty($tempfile) || !file_exists($tempfile)) {
- Message::addError('empty-field');
+ Message::addError('main.empty-field');
Util::redirect('?do=SysConfig&action=addmodule&step=CustomModule_Start');
}
// Recompress using task manager
@@ -138,7 +138,7 @@ class CustomModule_CompressModule extends AddModule_Base
else
$module = $this->edit;
if ($module === false) {
- Message::addError('error-read', 'custommodule.inc.php');
+ Message::addError('main.error-read', 'custommodule.inc.php');
Util::redirect('?do=SysConfig&action=addmodule&step=CustomModule_Start');
}
$module->setData('tmpFile', $destFile);
diff --git a/modules-available/sysconfig/addmodule_ldapauth.inc.php b/modules-available/sysconfig/addmodule_ldapauth.inc.php
index e17469a0..c2e4e1c2 100644
--- a/modules-available/sysconfig/addmodule_ldapauth.inc.php
+++ b/modules-available/sysconfig/addmodule_ldapauth.inc.php
@@ -38,7 +38,7 @@ class LdapAuth_CheckConnection extends AddModule_Base
$searchbase = Request::post('searchbase');
$ssl = Request::post('ssl', 'off') === 'on';
if (empty($this->server) || empty($searchbase)) {
- Message::addError('empty-field');
+ Message::addError('main.empty-field');
AddModule_Base::setStep('LdapAuth_Start'); // Continues with LdapAuth_Start for render()
return;
}
@@ -96,12 +96,12 @@ class LdapAuth_CheckCredentials extends AddModule_Base
$bindpw = Request::post('bindpw');
$ssl = Request::post('ssl', 'off') === 'on';
if ($ssl && !Request::post('fingerprint')) {
- Message::addError('error-read', 'fingerprint');
+ Message::addError('main.error-read', 'fingerprint');
AddModule_Base::setStep('LdapAuth_Start'); // Continues with LdapAuth_Start for render()
return;
}
if (empty($server) || empty($port)) {
- Message::addError('empty-field');
+ Message::addError('main.empty-field');
AddModule_Base::setStep('LdapAuth_Start'); // Continues with LdapAuth_Start for render()
return;
}
@@ -193,7 +193,7 @@ class LdapAuth_Finish extends AddModule_Base
else
$ret = $module->insert($title);
if (!$ret) {
- Message::addError('value-invalid', 'any', 'any');
+ Message::addError('main.value-invalid', 'any', 'any');
$tgz = false;
} else {
$parent = $this->stopOldInstance();
diff --git a/modules-available/sysconfig/addmodule_sshconfig.inc.php b/modules-available/sysconfig/addmodule_sshconfig.inc.php
index 5f0f7222..79857085 100644
--- a/modules-available/sysconfig/addmodule_sshconfig.inc.php
+++ b/modules-available/sysconfig/addmodule_sshconfig.inc.php
@@ -41,16 +41,16 @@ class SshConfig_Finish extends AddModule_Base
else
$module = $this->edit;
if ($module === false) {
- Message::addError('error-read', 'sshconfig.inc.php');
+ Message::addError('main.error-read', 'sshconfig.inc.php');
Util::redirect('?do=SysConfig&action=addmodule&step=SshConfig_Start');
}
$module->setData('allowPasswordLogin', Request::post('allowPasswordLogin') === 'yes');
if (!$module->setData('listenPort', Request::post('listenPort'))) {
- Message::addError('value-invalid', 'port', Request::post('listenPort'));
+ Message::addError('main.value-invalid', 'port', Request::post('listenPort'));
Util::redirect('?do=SysConfig&action=addmodule&step=SshConfig_Start');
}
if (!$module->setData('publicKey', Request::post('publicKey'))) {
- Message::addError('value-invalid', 'pubkey', Request::post('publicKey'));
+ Message::addError('main.value-invalid', 'pubkey', Request::post('publicKey'));
Util::redirect('?do=SysConfig&action=addmodule&step=SshConfig_Start');
}
if ($this->edit !== false)
diff --git a/modules-available/sysconfig/lang/de/messages.json b/modules-available/sysconfig/lang/de/messages.json
new file mode 100644
index 00000000..7993babd
--- /dev/null
+++ b/modules-available/sysconfig/lang/de/messages.json
@@ -0,0 +1,20 @@
+{
+ "invalid-action": "Ung\u00fcltige Aktion: {{0}}",
+ "missing-title": "Kein Titel eingegeben",
+ "module-edited": "Modul wurde aktualisiert",
+ "module-added": "Modul erfolgreich hinzugef\u00fcgt",
+ "replacing-config": "Ersetzen von Konfiguration {{0}}",
+ "missing-file": "Es wurde keine Datei ausgew\u00e4hlt!",
+ "unsuccessful-action": "Nicht erfolgreich",
+ "upload-failed": "Upload schlug fehl: {{0}}",
+ "remote-timeout": "Konnte Ressource {{0}} nicht herunterladen ({{1}})",
+ "no-image": "Unter der angegebenen URL konnte kein SVG-Bild gefunden werden",
+ "replacing-module": "Ersetzen von Modul {{0}}",
+ "config-invalid": "Konfiguration mit ID {{0}} existiert nicht",
+ "config-activated": "Konfiguration {{0}} wurde aktiviert",
+ "module-rebuilt": "Modul wurde neu generiert",
+ "module-rebuild-failed": "Neubau des Moduls fehlgeschlagen",
+ "module-rebuilding": "Modul wird neu generiert",
+ "module-in-use": "Modul {{0}} wird noch durch Konfiguration {{1}} verwendet",
+ "module-deleted": "Modul {{0}} wurde gel\u00f6scht"
+} \ No newline at end of file
diff --git a/modules-available/sysconfig/lang/en/messages.json b/modules-available/sysconfig/lang/en/messages.json
new file mode 100644
index 00000000..fc3c1160
--- /dev/null
+++ b/modules-available/sysconfig/lang/en/messages.json
@@ -0,0 +1,20 @@
+{
+ "invalid-action": "Invalid action: {{0}}",
+ "missing-title": "No title given",
+ "module-edited": "Module has been edited",
+ "module-added": "Module successfully added",
+ "replacing-config": "Replace config {{0}}",
+ "missing-file": "There was no file selected!",
+ "unsuccessful-action": "Not successful",
+ "upload-failed": "Upload failed: {{0}}",
+ "remote-timeout": "Could not download resource {{0}} ({{1}})",
+ "no-image": "Could not find an SVG-image at the given URL",
+ "replacing-module": "Replace module {{0}}",
+ "config-invalid": "Configuration with id {{0}} does not exist",
+ "config-activated": "Configuration {{0}} has been activated",
+ "module-rebuilt": "Module was rebuilt",
+ "module-rebuild-failed": "Rebuilding module failed",
+ "module-rebuilding": "Module is rebuilding...",
+ "module-in-use": "Module {{0}} is still used by Configuration {{1}}",
+ "module-deleted": "Module {{0}} was deleted"
+} \ No newline at end of file
diff --git a/modules-available/sysconfig/lang/pt/messages.json b/modules-available/sysconfig/lang/pt/messages.json
new file mode 100644
index 00000000..230fcb1d
--- /dev/null
+++ b/modules-available/sysconfig/lang/pt/messages.json
@@ -0,0 +1,12 @@
+{
+ "invalid-action": "A\u00e7\u00e3o inv\u00e1lida: {{0}}",
+ "module-added": "M\u00f3dulo adicionado com sucesso",
+ "missing-file": "N\u00e3o havia nenhum arquivo selecionado!",
+ "unsuccessful-action": "A a\u00e7\u00e3o n\u00e3o foi bem sucedida",
+ "upload-failed": "Envio falhou: {{0}}",
+ "remote-timeout": "N\u00e3o foi poss\u00edvel baixar o recurso {{0}} ({{1}})",
+ "config-invalid": "Configura\u00e7\u00e3o com id {{0}} n\u00e3o existe",
+ "config-activated": "Configura\u00e7\u00e3o {{0}} foi ativada",
+ "module-in-use": "M\u00f3dulo {{0}} ainda \u00e9 usado pela configura\u00e7\u00e3o {{1}}",
+ "module-deleted": "M\u00f3dulo {{0}} foi exclu\u00eddo"
+} \ No newline at end of file
diff --git a/modules-available/sysconfig/page.inc.php b/modules-available/sysconfig/page.inc.php
index 0c06e125..d4fe4a37 100644
--- a/modules-available/sysconfig/page.inc.php
+++ b/modules-available/sysconfig/page.inc.php
@@ -47,7 +47,7 @@ class Page_SysConfig extends Page
User::load();
if (!User::hasPermission('superadmin')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
@@ -273,7 +273,7 @@ class Page_SysConfig extends Page
$task = Taskmanager::waitComplete($task['id']);
}
if (!isset($task['statusCode']) || $task['statusCode'] === TASK_ERROR) {
- Message::addError('task-error', $task['data']['error']);
+ Message::addError('main.task-error', $task['data']['error']);
} elseif ($task['statusCode'] === TASK_FINISHED) {
Message::addSuccess('config-activated', $row['title']);
Event::activeConfigChanged();
@@ -321,7 +321,7 @@ class Page_SysConfig extends Page
$task = Taskmanager::waitComplete($task['id']);
}
if (!isset($task['statusCode']) || $task['statusCode'] === TASK_ERROR) {
- Message::addWarning('task-error', $task['data']['error']);
+ Message::addWarning('main.task-error', $task['data']['error']);
} elseif ($task['statusCode'] === TASK_FINISHED) {
Message::addSuccess('module-deleted', $row['title']);
}
diff --git a/modules-available/sysconfignew/page.inc.php b/modules-available/sysconfignew/page.inc.php
index 105ad6c7..44b385b6 100644
--- a/modules-available/sysconfignew/page.inc.php
+++ b/modules-available/sysconfignew/page.inc.php
@@ -10,7 +10,7 @@ class Page_SysConfigNew extends Page
protected function doPreprocess(){
User::load();
if (!User::hasPermission('baseconfig_local')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
diff --git a/modules-available/syslog/page.inc.php b/modules-available/syslog/page.inc.php
index 43a9bd28..ea73d1b9 100644
--- a/modules-available/syslog/page.inc.php
+++ b/modules-available/syslog/page.inc.php
@@ -8,7 +8,7 @@ class Page_SysLog extends Page
User::load();
if (!User::isLoggedIn()) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
}
@@ -58,9 +58,9 @@ class Page_SysLog extends Page
while ($row = $res->fetch(PDO::FETCH_ASSOC)) {
$day = date('d.m.Y', $row['dateline']);
if ($day === $today) {
- $day = Dictionary::translate('today');
+ $day = Dictionary::translate('lang_today');
} elseif ($day === $yesterday) {
- $day = Dictionary::translate('yesterday');
+ $day = Dictionary::translate('lang_yesterday');
}
$row['date'] = $day . date(' H:i', $row['dateline']);
$row['icon'] = $this->eventToIconName($row['logtypeid']);
diff --git a/modules-available/systemstatus/lang/de/messages.json b/modules-available/systemstatus/lang/de/messages.json
new file mode 100644
index 00000000..7838acfa
--- /dev/null
+++ b/modules-available/systemstatus/lang/de/messages.json
@@ -0,0 +1,3 @@
+{
+ "reboot-unconfirmed": "Sicherheitsabfrage zum Reboot nicht best\u00e4tigt"
+} \ No newline at end of file
diff --git a/modules-available/systemstatus/lang/en/messages.json b/modules-available/systemstatus/lang/en/messages.json
new file mode 100644
index 00000000..5aaf57ec
--- /dev/null
+++ b/modules-available/systemstatus/lang/en/messages.json
@@ -0,0 +1,3 @@
+{
+ "reboot-unconfirmed": "Confirmation prompt to reboot not confirmed"
+} \ No newline at end of file
diff --git a/modules-available/systemstatus/lang/pt/messages.json b/modules-available/systemstatus/lang/pt/messages.json
new file mode 100644
index 00000000..f4f0033b
--- /dev/null
+++ b/modules-available/systemstatus/lang/pt/messages.json
@@ -0,0 +1,3 @@
+{
+ "reboot-unconfirmed": "Confirma\u00e7\u00e3o para reinicializar n\u00e3o foi confirmada"
+} \ No newline at end of file
diff --git a/modules-available/systemstatus/page.inc.php b/modules-available/systemstatus/page.inc.php
index 2a5382e1..9f892957 100644
--- a/modules-available/systemstatus/page.inc.php
+++ b/modules-available/systemstatus/page.inc.php
@@ -10,7 +10,7 @@ class Page_SystemStatus extends Page
User::load();
if (!User::isLoggedIn()) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
diff --git a/modules-available/translation/lang/de/messages.json b/modules-available/translation/lang/de/messages.json
index 645d678b..dbbef6b8 100644
--- a/modules-available/translation/lang/de/messages.json
+++ b/modules-available/translation/lang/de/messages.json
@@ -1,3 +1,6 @@
{
- "i18n-invalid-lang": "Ung\u00fcltige Sprache: {{0}}"
+ "i18n-invalid-lang": "Ung\u00fcltige Sprache: {{0}}",
+ "invalid-template": "Ausgew\u00e4hlte Template ist nicht g\u00fcltig",
+ "i18n-empty-tag": "Ein String wurde ohne Tag \u00fcbermittelt",
+ "updated-tags": "Tags wurden aktualisiert"
} \ No newline at end of file
diff --git a/modules-available/translation/lang/de/template-tags.json b/modules-available/translation/lang/de/template-tags.json
index 613a8fa1..9b4da6bd 100644
--- a/modules-available/translation/lang/de/template-tags.json
+++ b/modules-available/translation/lang/de/template-tags.json
@@ -9,6 +9,8 @@
"lang_editModules": "Modul bearbeiten",
"lang_editSettings": "Einstellungstexte bearbeiten",
"lang_editTemplates": "Template-Texte bearbeiten",
+ "lang_global": "Global",
+ "lang_globalTooltip": "Dieser Tag ist global verf\u00fcgbar und braucht normalerweise nicht explizit f\u00fcr dieses Modul \u00fcbersetzt zu werden",
"lang_hint": "Hinweis",
"lang_langAdministration": "Templates",
"lang_mainHeading": "\u00dcbersetzungen verwalten",
@@ -25,6 +27,7 @@
"lang_templateHint": "Hinweis: Gelbe Linie zeigt eine \u00dcbersetzung fehlt und roten Linien zeigen ein Tag wird nicht von das Template verwendet.",
"lang_templates": "Templates",
"lang_translation": "\u00dcbersetzung",
+ "lang_translationHeading": "Verwalten der \u00dcbersetzungen",
"lang_unused": "Ungenutzt",
"lang_unusedUnreliableHint": "Die Erkennung von ungenutzten Tags bezieht nur aktivierte Module mit ein. Es k\u00f6nnte sein, dass ein ungenutzt gemeldeter Tag in einem nicht aktivierten Modul verwendet wird."
} \ No newline at end of file
diff --git a/modules-available/translation/lang/en/messages.json b/modules-available/translation/lang/en/messages.json
new file mode 100644
index 00000000..84478fe9
--- /dev/null
+++ b/modules-available/translation/lang/en/messages.json
@@ -0,0 +1,6 @@
+{
+ "i18n-invalid-lang": "Invalid language: {{0}}",
+ "invalid-template": "Selected template is not valid",
+ "i18n-empty-tag": "A string without tag was submitted",
+ "updated-tags": "Tags have been updated"
+} \ No newline at end of file
diff --git a/modules-available/translation/lang/en/template-tags.json b/modules-available/translation/lang/en/template-tags.json
index 84b3ba26..1b5e6dc8 100644
--- a/modules-available/translation/lang/en/template-tags.json
+++ b/modules-available/translation/lang/en/template-tags.json
@@ -9,6 +9,8 @@
"lang_editModules": "Edit Module Translations",
"lang_editSettings": "Edit configuration variables related strings",
"lang_editTemplates": "Edit template strings",
+ "lang_global": "Global",
+ "lang_globalTooltip": "This tag is global; usually there is no need to translate it explicitly for this module",
"lang_hint": "Notice",
"lang_langAdministration": "Templates",
"lang_mainHeading": "Translation management",
diff --git a/modules-available/translation/lang/pt/messages.json b/modules-available/translation/lang/pt/messages.json
new file mode 100644
index 00000000..c3b38952
--- /dev/null
+++ b/modules-available/translation/lang/pt/messages.json
@@ -0,0 +1,4 @@
+{
+ "invalid-template": "Template selecionado n\u00e3o \u00e9 v\u00e1lido",
+ "updated-tags": "Tags foram atualizadas com sucesso"
+} \ No newline at end of file
diff --git a/modules-available/translation/page.inc.php b/modules-available/translation/page.inc.php
index 1713efe9..f3474acd 100644
--- a/modules-available/translation/page.inc.php
+++ b/modules-available/translation/page.inc.php
@@ -82,7 +82,7 @@ class Page_Translation extends Page
User::load();
if (!User::hasPermission('superadmin')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
@@ -299,10 +299,14 @@ class Page_Translation extends Page
$data = array(
'subsection' => $subsection,
'module' => $this->module->getIdentifier(),
- 'tagcount' => count($moduleTags),
+ 'tagcount' => $moduleTags === false ? '???' : count($moduleTags),
);
foreach (Dictionary::getLanguages(true) as $lang) {
- list($missing, $unused) = $this->getModuleTranslationStatus($lang['cc'], $subsection, false, $moduleTags);
+ if ($moduleTags !== false) {
+ list($missing, $unused) = $this->getModuleTranslationStatus($lang['cc'], $subsection, false, $moduleTags);
+ } else {
+ $missing = $unused = '???';
+ }
$data['langs'][] = array(
'cc' => $lang['cc'],
'name' => $lang['name'],
@@ -446,7 +450,7 @@ class Page_Translation extends Page
private function loadUsedCustomTags($subsection)
{
if (!isset($this->customHandler['grep_'.$subsection]))
- return array();
+ return false;
return $this->customHandler['grep_'.$subsection]($this->module);
}
@@ -512,7 +516,7 @@ class Page_Translation extends Page
}
foreach (array_keys($translation) as $key) {
if(!isset($tags[$key])) {
- if (!in_array($key, $globalTranslation)) {
+ if (!isset($globalTranslation[$key])) {
$unused++;
}
} else {
@@ -779,6 +783,11 @@ class Page_Translation extends Page
// For each tag, include a translated string from another language as reference
$this->findTranslationSamples($file, $tags);
}
+ if ($file === 'template-tags' || $file === 'module') {
+ $globals = Dictionary::getArray('main', 'global-tags', $this->destLang);
+ } else {
+ $globals = array();
+ }
$tagid = 0;
foreach ($tags as &$tag) {
$tag['tagid'] = $tagid++;
@@ -786,9 +795,13 @@ class Page_Translation extends Page
// We have a list of required tags, so mark those that are missing or unused
if (!isset($tag['required'])) {
$tag['unused'] = true;
- } elseif (!isset($tag['translation'])) {
+ } elseif (!isset($tag['translation']) && !isset($globals[$tag['tag']])) {
$tag['missing'] = true;
}
+ if (isset($globals[$tag['tag']])) {
+ $tag['isglobal'] = true;
+ $tag['placeholder'] = $globals[$tag['tag']];
+ }
}
}
// Finally remove tagname from the keys so mustache will iterate over them via {{#..}}
@@ -915,7 +928,7 @@ class Page_Translation extends Page
$json = up_json_encode($data, JSON_PRETTY_PRINT); // Also for better diffability of the json files, we pretty print
//exits the function in case the action was unsuccessful
if (file_put_contents($file, $json) === false) {
- Message::addError('error-write', $file);
+ Message::addError('main.error-write', $file);
return;
}
}
diff --git a/modules-available/translation/templates/edit.html b/modules-available/translation/templates/edit.html
index 3f3e926f..af176c03 100644
--- a/modules-available/translation/templates/edit.html
+++ b/modules-available/translation/templates/edit.html
@@ -31,6 +31,9 @@
{{#missing}}
<span class="label label-warning">{{lang_missing}}</span>
{{/missing}}
+ {{#isglobal}}
+ <span class="label label-success" title="{{lang_globalTooltip}}">{{lang_global}}</span>
+ {{/isglobal}}
{{tag}}
<div class="slx-notebox">{{{notes}}}</div>
</div>
diff --git a/modules-available/usermanagement/page.inc.php b/modules-available/usermanagement/page.inc.php
index 01b5f755..34dc517f 100644
--- a/modules-available/usermanagement/page.inc.php
+++ b/modules-available/usermanagement/page.inc.php
@@ -34,7 +34,7 @@ class Page_Usermanagement extends Page
$this->deb = $_POST['userid'];
if (!User::hasPermission('superadmin')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
diff --git a/modules-available/vmstore/page.inc.php b/modules-available/vmstore/page.inc.php
index 81f92ee3..23b7375c 100644
--- a/modules-available/vmstore/page.inc.php
+++ b/modules-available/vmstore/page.inc.php
@@ -9,7 +9,7 @@ class Page_VmStore extends Page
User::load();
if (!User::hasPermission('superadmin')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
@@ -43,17 +43,17 @@ class Page_VmStore extends Page
}
$storetype = $vmstore['storetype'];
if (!in_array($storetype, array('internal', 'nfs', 'cifs'))) {
- Message::addError('value-invalid', 'type', $storetype);
+ Message::addError('main.value-invalid', 'type', $storetype);
Util::redirect('?do=VmStore');
}
// Validate syntax of nfs/cifs
if ($storetype === 'nfs' && !preg_match('#^\S+:\S+$#is', $vmstore['nfsaddr'])) {
- Message::addError('value-invalid', 'nfsaddr', $vmstore['nfsaddr']);
+ Message::addError('main.value-invalid', 'nfsaddr', $vmstore['nfsaddr']);
Util::redirect('?do=VmStore');
}
$vmstore['cifsaddr'] = str_replace('\\', '/', $vmstore['cifsaddr']);
if ($storetype === 'cifs' && !preg_match('#^//\S+/.+$#is', $vmstore['cifsaddr'])) {
- Message::addError('value-invalid', 'nfsaddr', $vmstore['nfsaddr']);
+ Message::addError('main.value-invalid', 'nfsaddr', $vmstore['nfsaddr']);
Util::redirect('?do=VmStore');
}
$this->mountTask = Trigger::mount($vmstore);
diff --git a/modules-available/webinterface/page.inc.php b/modules-available/webinterface/page.inc.php
index c301dec9..b6502e35 100644
--- a/modules-available/webinterface/page.inc.php
+++ b/modules-available/webinterface/page.inc.php
@@ -7,7 +7,7 @@ class Page_WebInterface extends Page
{
User::load();
if (!User::hasPermission('superadmin')) {
- Message::addError('no-permission');
+ Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
switch (Request::post('action')) {