summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lang/dictionary.json117
-rw-r--r--lang/lang.sql95
-rw-r--r--modules/baseconfig.inc.php2
-rw-r--r--modules/systemstatus.inc.php2
4 files changed, 213 insertions, 3 deletions
diff --git a/lang/dictionary.json b/lang/dictionary.json
index 46146284..b93fd231 100644
--- a/lang/dictionary.json
+++ b/lang/dictionary.json
@@ -24,11 +24,51 @@
"german": "Hinzufügen",
"portuguese": "Adicionar"
},
+ "lang_addCustomModule": {
+ "english": "Add Custom Module",
+ "german": "Eigenes Modul hinzufügen",
+ "portuguese": "Adicionar Módulo Customizado"
+ },
+ "lang_addCustomModuleInfo": {
+ "english": "With an extended module it is possible to add any files to the basic system that uses this module, for example to use specific configuration files, which can not be created with one of the other Wizards. Adding an Extended module usually requires at least basic knowledge of the Linux system.",
+ "german": "Mit einem Erweiterten Modul ist es möglich, beliebige Dateien zum Grundsystem hinzuzufügen Nutzen Sie dieses Modul, um z.B. spezielle Konfigurationsdateien auf den Client PCs zu verwenden, die sich nicht mit einem der anderen Wizards erstellen lässt. Das Hinzufügen eines Erweiterten Moduls erfordert in der Regel zumindest grundlegende Systemkenntnisse im Linuxbereich.",
+ "portuguese": "Com um módulo estendido, é possível adicionar os arquivos para o sistema básico que usa este módulo, por exemplo, para usar arquivos de configuração específicas, que não podem ser criados com um dos outros assistentes. Adicionar um módulo estendido normalmente exige pelo menos um conhecimento básico do sistema Linux."
+ },
+ "lang_adAuthentication": {
+ "english": "Active Directory Authentication",
+ "german": "Active Directory Authentifizierung",
+ "portuguese": "Autenticação do Active Directory"
+ },
+ "lang_adModule": {
+ "english": "This module makes possible the application to the client PCs with the user accounts of an Active Directory. Depending on the configuration, the use of a user directory on the client is possible.",
+ "german": "Mit diesem Modul ist die Anmeldung an den Client PCs mit den Benutzerkonten eines Active Directory möglich. Je nach Konfiguration ist auch die Nutzung eines Benutzerverzeichnisses auf dem Client möglich.",
+ "portuguese": "Este módulo possibilita a aplicação para os computadores clientes com as contas de usuário de um Active Directory. Dependendo da configuração, o uso de um diretório de usuário no cliente é possível."
+ },
"lang_adStarted": {
"english": "The AD-proxy is now configured and started ...",
"german": "Der AD-Proxy wird nun konfiguriert und gestartet...",
"portuguese": "O AD-proxy está configurado e começou ..."
},
+ "lang_adText1": {
+ "english": "To set up user authentication through Active Directory, a dedicated user is required in AD next to the address of the server, which is addressed by the AD.",
+ "german": "Zum Einrichten der Benutzerauthentifizierung über ein Active Directory wird neben der Adresse des anzusprechenden Servers ein dedizierter Benutzer im AD benötigt, über welchen das AD angesprochen wird.",
+ "portuguese": "Para configurar a autenticação de usuário por meio do Active Directory, um usuário dedicado é necessário no AD próximo ao endereço do servidor, que é endereçado pelo AD."
+ },
+ "lang_adText2": {
+ "english": "This user does not need special rights, you can follow this user to evade security and the rights to log on. The user only needs to have sufficient permissions to perform an LDAP Bind on AD, and search for users.",
+ "german": "Dieser Benutzer benötigt keine besonderen Rechte, Sie können diesem Benutzer zur Sicherheit auch die Rechte zum Anmelden entziehen. Der Benutzer muss lediglich ausreichende Berechtigungen haben, um einen LDAP-Bind am AD durchzuführen, und nach Benutzern zu suchen.",
+ "portuguese": "Este usuário não precisa de direitos especiais, você pode seguir este usuário para escapar da segurança e dos direitos para fazer logon. O usuário só precisa ter permissões suficientes para executar a ligação LDAP no AD, e procurar por usuários."
+ },
+ "lang_adText3": {
+ "english": "Next the distinguished name of the user must be specified. You can determine this by dsquery command line program on a domain controller as the following call:",
+ "german": "Im Folgenden muss der Distinguished Name des Benutzers angegeben werden. Diesen können Sie ermitteln, indem Sie das Kommandozeilenprogramm dsquery auf einem Domain Controller wie folgt aufrufen:",
+ "portuguese": "A seguir o nome distinto do usuário deve ser especificado. Você pode determinar isso pelo programa de linha de comando dsquery em um controlador de domínio como a seguinte chamada:"
+ },
+ "lang_adText4": {
+ "english": "After entering all required data in the next step, it checks whether communication is possible with the AD.",
+ "german": "Im Folgenden muss der Distinguished Name des Benutzers angegeben werden. Diesen können Sie ermitteln, indem Sie das Kommandozeilenprogramm dsquery auf einem Domain Controller wie folgt aufrufen:",
+ "portuguese": "Depois de inserir todos os dados necessários na próxima etapa, ela verifica se a comunicação é possível com o AD."
+ },
"lang_addressConfiguration": {
"english": "Address Configuration",
"german": "Adresskonfiguration",
@@ -39,6 +79,11 @@
"german": "Achtung!",
"portuguese": "Atenção!"
},
+ "lang_authentication": {
+ "english": "Authentication",
+ "german": "Authentifizierung",
+ "portuguese": "Autenticação"
+ },
"lang_availableMemoryError": {
"english": "Error when determining the available memory on the system partition!",
"german": "Fehler beim Ermitteln des verfügbaren Speichers auf der Systempartition!",
@@ -69,6 +114,11 @@
"german": "Basiskonfiguration",
"portuguese": "Configuração Básica"
},
+ "lang_bindDN": {
+ "english": "Bind DN",
+ "german": "Bind DN",
+ "portuguese": "Vincular DN"
+ },
"lang_bootAddress": {
"english": "Boot Address of the Server",
"german": "Boot-Adresse des Servers",
@@ -119,6 +169,11 @@
"german": "Kapazität",
"portuguese": "Capacidade"
},
+ "lang_checkFileContent": {
+ "english": "Here you have the possibility to check the contents of the archive again.",
+ "german": "Hier haben Sie die Möglichkeit, den Inhalt des Archivs noch einmal zu überprüfen.",
+ "portuguese": "Aqui você tem a possibilidade de verificar o conteúdo do arquivo novamente."
+ },
"lang_chooseIP": {
"english": "Please select the IP address that the client server will use to boot.",
"german": "Bitte wählen Sie die IP-Adresse, über die der Server von den Clients zum Booten angesprochen werden soll.",
@@ -224,11 +279,26 @@
"german": "Benutzer anlegen",
"portuguese": "Criar Usuário"
},
+ "lang_customModuleInfo1": {
+ "english": "About a custom module, it is possible to add arbitrary files to a Linux system that is booted clients. For this purpose, an archive can be uploaded using a file system structure that is extracted in this form 1:1 in the booted Linux.",
+ "german": "Über ein benutzerdefiniertes Modul ist es möglich, beliebige Dateien zum Linux-Grundsystem, das auf den Clients gebootet wird, hinzuzufügen. Dazu kann ein Archiv mit einer Dateisystemstruktur hochgeladen werden, die in dieser Form 1:1 in das gebootete Linux extrahiert wird.",
+ "portuguese": "Sobre um módulo personalizado, é possível adicionar arquivos arbitrários para um sistema Linux que é inicializado clientes. Para isso, um arquivo pode ser carregado através de uma estrutura do sistema de arquivos que é extraído desta forma 1:1 no Linux inicializado."
+ },
+ "lang_customModuleInfo2": {
+ "english": "Example: If the uploaded archive is the file etc/example.conf, this file will be located as /etc/example.conf to a booted client.",
+ "german": "Beispiel: Enthält das hochgeladene Archiv eine Datei etc/beispiel.conf, so wird auf einem gebooteten Client diese Datei als /etc/beispiel.conf zu finden sein.",
+ "portuguese": "Exemplo: Se o arquivo enviado for etc/examplo.conf, este arquivo estará localizado em /etc/examplo.conf para um cliente inicializado."
+ },
"lang_date": {
"english": "Date",
"german": "Datum",
"portuguese": "Data"
},
+ "lang_days": {
+ "english": "Day(s)",
+ "german": "Tage(s)",
+ "portuguese": "Dia(s)"
+ },
"lang_delete": {
"english": "Delete",
"german": "Löschen",
@@ -259,6 +329,11 @@
"german": "Beispiel",
"portuguese": "Por Exemplo"
},
+ "lang_file": {
+ "english": "File",
+ "german": "Archiv",
+ "portuguese": "Arquivo"
+ },
"lang_filter": {
"english": "Filter",
"german": "Filter",
@@ -304,6 +379,11 @@
"german": "Über eine Systemkonfiguration wird die grundlegende Lokalisierung des bwLehrpool-Systems durchgeführt. Dazu gehören Aspekte wie das Authentifizierungsverfahren für Benutzer (z.B. Active Directory, LDAP), Druckerkonfiguration, Home-Verzeichnisse, etc. Eine Systemkonfiguration setzt sich aus einem oder mehreren Konfigurationsmodulen zusammen, welche im unteren Bereich dieser Seite verwaltet werden können.",
"portuguese": "A localização fundamental do sistema bwLehrpool é feita através de uma configuração de sistema. Isso inclui aspectos como o método de autenticação de usuários (por exemplo, Diretório Ativo, LDAP), configuração de impressora, diretórios home, etc. Uma configuração de sistema é composta por um ou mais módulo de configuração, que podem ser gerenciados na parte inferior da página."
},
+ "lang_hours": {
+ "english": "Hour(s)",
+ "german": "Stunde(n)",
+ "portuguese": "Hora(s)"
+ },
"lang_iAmSure": {
"english": "Yes, I am sure",
"german": "Ja, ich bin sicher",
@@ -372,7 +452,7 @@
"lang_menuCustomHint1": {
"english": "Here you have the opportunity to add your own menu code to the displayed PXE menu, eg to refer to other PXE server. The format corresponds to the syslinux menu format.",
"german": "Hier haben Sie die Möglichkeit, eigenen Menü-Code zum angezeigten PXE-Menü hinzuzufügen, um z.B. auf weitere PXE-Server zu verweisen. Das Format entspricht dem syslinux Menüformat.",
- "portuguese": "Aqui você tem a oportunidade de adicionar seu próprio código de menu para o menu PXE exibido, por exemplo, para se referir a outro servidor PXE. O formato corresponde ao formato de menu syslinux."
+ "portuguese": "Aqui você tem a oportunidade de adicionar seu pModul hinzufügenróprio código de menu para o menu PXE exibido, por exemplo, para se referir a outro servidor PXE. O formato corresponde ao formato de menu syslinux."
},
"lang_menuCustomHint2": {
"english": "You can create one or more entries. If you want to create an entry that starts automatically when the user makes a selection, assign as",
@@ -529,6 +609,11 @@
"german": "Speichern",
"portuguese": "Salvar"
},
+ "lang_searchBase": {
+ "english": "Search Base",
+ "german": "Suchbasis",
+ "portuguese": "Base de Pesquisa"
+ },
"lang_seconds": {
"english": "Seconds",
"german": "Sekunden",
@@ -569,6 +654,11 @@
"german": "Speicherplatz",
"portuguese": "Espaço"
},
+ "lang_supportedFiles": {
+ "english": "Supported File Formats",
+ "german": "Unterstützte Archivformate",
+ "portuguese": "Formatos de Arquivos Suportados"
+ },
"lang_system": {
"english": "System",
"german": "System",
@@ -634,6 +724,11 @@
"german": "Gesamt",
"portuguese": "Total"
},
+ "lang_unknwonTaskManager": {
+ "english": "Unknown Task Manager error",
+ "german": "Unbekannter Taskmanager-Fehler",
+ "portuguese": "Erro desconhecido do Gerenciador de Tarefas"
+ },
"lang_update": {
"english": "Update",
"german": "Aktualisieren",
@@ -649,6 +744,26 @@
"german": "OS Uptime",
"portuguese": "Tempo de Atividade do SO"
},
+ "lang_userDirectory": {
+ "english": "User Directory",
+ "german": "Benutzerverzeichnis",
+ "portuguese": "Diretório de Usuário"
+ },
+ "lang_userDirectoryInfo1": {
+ "english": "Optional: If the clients should embed a separate directory (home directory, user directory) from a server for the user, please enter here the format in UNC notation, eg",
+ "german": "Optionale Angabe: Wenn die Clients für die Benutzer ein eigenes Verzeichnis (Homeverzeichnis, Benutzerverzeichnis) von einem Server einbinden sollen, geben Sie bitte hier das Format in UNC-Notation an, also z.B. ",
+ "portuguese": "Opcional: Se os clientes devem incorporar um diretório separado (diretório home, diretório de usuário) de um servidor para o usuário, digite aqui o formato em notação UNC, por exemplo,"
+ },
+ "lang_userDirectoryInfo2": {
+ "english": "%s is a placeholder for the user's login name.",
+ "german": "%s ist dabei ein Platzhalter für den Login-Namen des Benutzers.",
+ "portuguese": "%s é um marcador para o nome de login do usuário."
+ },
+ "lang_userDirectoryInfo3": {
+ "english": "The directory is loaded with the same credentials that the user specifies when login. (That is no Kerberos support, etc.)",
+ "german": "Das Verzeichnis wird mit den gleichen Zugangsdaten eingebunden, die der Benutzer beim Login angibt. (D.h. kein Kerberos Support o.ä.)",
+ "portuguese": "O diretório é carregado com as mesmas credenciais que o usuário especifica quando entra. (Isto é, não há suporte Kerberos, etc)"
+ },
"lang_username": {
"english": "Username",
"german": "Benutzerkennung",
diff --git a/lang/lang.sql b/lang/lang.sql
new file mode 100644
index 00000000..32192294
--- /dev/null
+++ b/lang/lang.sql
@@ -0,0 +1,95 @@
+ALTER TABLE cat_setting ADD COLUMN english varchar(250);
+ALTER TABLE cat_setting ADD COLUMN german varchar(250);
+ALTER TABLE cat_setting ADD COLUMN portuguese varchar(250);
+
+UPDATE cat_setting SET english='Uncategorized', german='Unkategorisiert', portuguese='Sem Categoria' WHERE catid=0;
+UPDATE cat_setting SET english='Inactivity and Shutdown', german='Inaktivität und Abschaltung', portuguese='Inatividade e Desligamento' WHERE catid=1;
+UPDATE cat_setting SET english='Internet Access', german='Internetzugriff', portuguese='Acesso à Internet' WHERE catid=2;
+UPDATE cat_setting SET english='Time Synchronization', german='Zeitsynchronisation', portuguese='Sincronização de Tempo' WHERE catid=3;
+UPDATE cat_setting SET english='Basic System', german='Grundsystem', portuguese='Sistema Básico' WHERE catid=4;
+
+ALTER TABLE setting ADD COLUMN english text;
+ALTER TABLE setting ADD COLUMN german text;
+ALTER TABLE setting ADD COLUMN portuguese text;
+
+UPDATE setting SET english='To load addons. There currently only vmware is available.', german='Zu ladende Addons. Zur Zeit steht nur vmware zur Verfügung.', portuguese='Para carregar addons. Atualmente apenas o vmware está disponível.' WHERE setting='SLX_ADDONS';
+
+UPDATE setting SET english='Determines whether logins and logouts of the users should be reported to the satellite.
+*yes* = login with user ID
+*anonymous* = anonymous login
+*no* = no login', german='Legt fest, ob Logins und Logouts der Benutzer an den Satelliten gemeldet werden sollen.
+*yes* = Mit Benutzerkennung loggen
+*anonymous* = Anonym loggen
+*no* = Nicht loggen', portuguese='Determina se logins e logouts dos usuários devem ser reportados ao satélite.
+*yes* = Login com ID de usuário
+*anonymous* = login anônimo
+*no* = sem login' WHERE setting='SLX_REMOTE_LOG_SESSIONS';
+
+UPDATE setting SET english='Time /in seconds/, in which a user session may remain without action before it is terminated.
+Leave field blank to disable the function.', german='Zeit /in Sekunden/, die eine Benutzersitzung ohne Aktion sein darf, bevor sie beendet wird.
+Feld leer lassen, um die Funktion zu deaktivieren.', portuguese='Hora /em segundos/, em que uma sessão de usuário pode permanecer sem ação antes de ser encerrada.
+Deixe o campo em branco para desativar a função.' WHERE setting='SLX_LOGOUT_TIMEOUT';
+
+UPDATE setting SET english='Fixed time to turn off the computer, even if there is a user active.
+Several times can be specified, separated by spaces.', german='Feste Uhrzeit, zu der sich die Rechner ausschalten, auch wenn noch ein Benutzer aktiv ist.
+Mehrere Zeitpunkte können durch Leerzeichen getrennt angegeben werden.', portuguese='Horário fixo para desligar o computador, até mesmo caso tenha um usuário ativo.
+Múltiplos horários podem ser especificados, separados por espaços.' WHERE setting='SLX_SHUTDOWN_SCHEDULE';
+
+UPDATE setting SET english='Time in seconds after which a computer is switched off, if no user is logged on.
+Leave blank to disable the function.', german='Zeit in Sekunden, nach dem ein Rechner abgeschaltet wird, sofern kein Benutzer angemeldet ist.
+Feld leer lassen, um die Funktion zu deaktivieren.', portuguese='Tempo em segundos no qual um computador é desligado, caso não tenha um usuário logado.
+Deixar em branco para desabilitar a função.' WHERE setting='SLX_SHUTDOWN_TIMEOUT';
+
+UPDATE setting SET english='DNS domain in which the client integrate, provided the DHCP server does not specifies such.', german='DNS-Domäne, in die sich die Clients eingliedern, sofern der DHCP Server keine solche vorgibt.', portuguese='Domínio DNS no qual o cliente se integra, desde que o servidor DHCP não especifique tal.' WHERE setting='SLX_NET_DOMAIN';
+
+UPDATE setting SET english='Address or addresses ranges in which the proxy server is not used (for example the address range of the device). Valid entries are individual IP addresses and IP ranges in CIDR notation (for example 1.2.0.0/16). Multiple selections can be separated by spaces.', german='Adressen bzw. Adressbereiche, für die der Proxyserver nicht verwendet werden soll (z.B. der Adressbereich der Einrichtung). Gültige Angaben sind einzelne IP-Adressen, sowie IP-Bereiche in CIDR-Notation (z.B. 1.2.0.0/16). Mehrere Angaben können durch Leerzeichen getrennt werden.', portuguese='Intervalos de endereços em que o servidor proxy não é usado (por exemplo, o intervalo de endereço do dispositivo). As entradas válidas são endereços IP individuais e intervalos de IP em notação CIDR (por exemplo 1.2.0.0/16). Seleções múltiplas podem ser separadas por espaços.' WHERE setting='SLX_PROXY_BLACKLIST';
+
+UPDATE setting SET english='The address to use for the proxy server.', german='Die Adresse des zu verwendenden Proxy Servers.', portuguese='O endereço de servidor proxy a ser usado.' WHERE setting='SLX_PROXY_IP';
+
+UPDATE setting SET english='Determines whether a proxy server is required to access the Internet.
+*off* = do not use a Proxy.
+*on* = Always use proxy.
+*auto* = Only use proxy when the client PC is in a private address space.', german='Legt fest, ob zum Zugriff aufs Internet ein Proxy-Server benötigt wird.
+*off* = keinen Proxy benutzen.
+*on* = Proxy immer benutzen.
+*auto* = Proxy nur benutzen, wenn sich der Client-PC in einem privaten Adressbereich befindet.', portuguese='Determina se um servidor proxy é necessário para acessar a Internet.
+*off* = não utilizar proxy.
+*on* = sempre utilizar proxy.
+*auto* = apenas utilizar proxy quando o PC cliente estiver em um espaço de endereço privado.' WHERE setting='SLX_PROXY_MODE';
+
+UPDATE setting SET english='The port to use for the proxy server.', german='Der Port des zu verwendenden Proxy Servers.', portuguese='A porta a ser utilizada pelo servidor proxy.' WHERE setting='SLX_PROXY_PORT';
+
+UPDATE setting SET english='Type of the proxy.
+*socks4*, *socks5*,
+*http-connect* (HTTP proxy with support from the CONNECT method),
+*http-relay* (Classic HTTP proxy)', german='Art des Proxys.
+*socks4*, *socks5*,
+*http-connect* (HTTP Proxy mit Unterstützung der CONNECT-Methode),
+*http-relay* (Klassischer HTTP Proxy)', portuguese='Tipo do proxy.
+*socks4*, *socks5*,
+*http-connect* (Proxy HTTP com suporte ao método CONNECT),
+*http-relay* (Clássico proxy HTTP)' WHERE setting='SLX_PROXY_TYPE';
+
+UPDATE setting SET english='Specifies whether and how the internal clock of the computer should be set in relation to the system time of the /MiniLinux/.
+*off* = The internal clock of the computer is not changed.
+*local* = The internal clock is set to local time. Preferably if, for example, there is still a native Windows installation available on the PC.
+*utc* = The internal clock is set to the /Coordinated Universal Time/. This is the most common setup in a pure Linux environment.', german='Legt fest, ob und wie die interne Uhr des Rechners im Bezug auf die Systemzeit des /MiniLinux/ gesetzt werden soll.
+*off* = Die interne Uhr des Rechners wird nicht verändert.
+*local* = Die interne Uhr wird auf die Lokalzeit gesetzt. Bevorzugt wenn z.B. noch eine native Windows-Installation auf dem PC vorhanden ist.
+*utc* = Die interne Uhr wird auf die /Koordinierte Weltzeit/ gesetzt. Dies ist die gängige Einstellung in einem reinen Linux-Umfeld.', portuguese='Especifica se e como o relógio interno do computador deve ser definido em relação ao horário do sistema do /MiniLinux/.
+*off* = O relógio interno do computador não é alterado.
+*local* = O relógio interno está definido para a hora local. De preferência se, por exemplo, ainda existe uma instalação Windows nativo disponível no PC.
+*utc* = O relógio interno é definido para o /Tempo Universal Coordenado/. Esta é a configuração mais comum em um ambiente puramente Linux' WHERE setting='SLX_BIOS_CLOCK';
+
+UPDATE setting SET english='Address of the NTP time server. Multiple servers can be specified separated by spaces.
+The servers are queried in sequence until a responding server is found.', german='Adresse des NTP-Zeitservers. Es können mehrere Server mit Leerzeichen getrennt angegeben werden.
+Die Server werden der Reihe nach angefragt, bis ein antwortender Server gefunden wird.', portuguese='Endereço do servidor de horário NTP. Vários servidores podem ser especificados separados por espaços.
+Os servidores são consultados em seqüência até que um servidor respondendo for encontrado.' WHERE setting='SLX_NTP_SERVER';
+
+UPDATE setting SET english='The root password of the basic system. Only required for diagnostic purposes on the client.
+Leave field blank to disallow root logins.
+/Hint/: The password is encrypted with $6$ hash, so it is no longer readable after saving!', german='Das root-Passwort des Grundsystems. Wird nur für Diagnosezwecke am Client benötigt.
+Feld leer lassen, um root-Logins zu verbieten.
+/Hinweis/: Das Passwort wird crypt $6$ gehasht, daher wir das Passwort nach dem Speichern nicht mehr lesbar sein!', portuguese='A senha root do sistema base. Exigido somente para fins de diagnóstico no cliente.
+Deixar campo em branco para não permitir login com root.
+/Dica/: A senha é criptografada com hash $6$, então se torna ilegível após ser salva!' WHERE setting='SLX_ROOT_PASS';
diff --git a/modules/baseconfig.inc.php b/modules/baseconfig.inc.php
index 7d586ef3..6f82caa9 100644
--- a/modules/baseconfig.inc.php
+++ b/modules/baseconfig.inc.php
@@ -75,7 +75,7 @@ class Page_BaseConfig extends Page
}
// List global config option
$settings = array();
- $res = Database::simpleQuery('SELECT cat_setting.name AS category_name, setting.setting, setting.defaultvalue, setting.permissions, setting.description, tbl.value
+ $res = Database::simpleQuery('SELECT cat_setting.' . LANG . ' AS category_name, setting.setting, setting.defaultvalue, setting.permissions, setting.' . LANG . ' AS description, tbl.value
FROM setting
INNER JOIN cat_setting USING (catid)
LEFT JOIN setting_global AS tbl USING (setting)
diff --git a/modules/systemstatus.inc.php b/modules/systemstatus.inc.php
index 8f3d8322..8bc68d66 100644
--- a/modules/systemstatus.inc.php
+++ b/modules/systemstatus.inc.php
@@ -148,7 +148,7 @@ class Page_SystemStatus extends Page
'uptime' => '???'
);
if (preg_match('/^(\d+)\D/', $uptime, $out)) {
- $data['uptime'] = floor($out[1] / 86400) . ' Tag(e), ' . floor(($out[1] % 86400) / 3600) . ' Stunde(n)'; // TODO: i18n
+ $data['uptime'] = floor($out[1] / 86400) . ' ' . Dictionary::translate('lang_days') . ', ' . floor(($out[1] % 86400) / 3600) . ' ' . Dictionary::translate('lang_hours'); // TODO: i18n
}
if (preg_match('/\bMemTotal:\s+(\d+)\s.*\bMemFree:\s+(\d+)\s.*\bBuffers:\s+(\d+)\s.*\bCached:\s+(\d+)\s.*\bSwapTotal:\s+(\d+)\s.*\bSwapFree:\s+(\d+)\s/s', $memInfo, $out)) {
$data['memTotal'] = Util::readableFileSize($out[1] * 1024);