mark translateable strings with gettext

This commit is contained in:
Dietmar Maurer 2011-11-22 09:18:56 +01:00
parent 660fe2aeb3
commit 50c1c8a5da
23 changed files with 1182 additions and 187 deletions

342
po/de.po

@ -5,9 +5,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: pve-manager 2\n"
"POT-Creation-Date: Mon Nov 21 12:40:32 2011\n"
"PO-Revision-Date: 2011-11-21 07:01+0100\n"
"Project-Id-Version: pve-manager 2.0\n"
"Report-Msgid-Bugs-To: <support@proxmox.com>\n"
"POT-Creation-Date: Tue Nov 22 13:57:09 2011\n"
"PO-Revision-Date: 2011-11-22 13:57+0100\n"
"Last-Translator: Proxmox Support Team <support@proxmox.com>\n"
"Language-Team: German\n"
"Language: de\n"
@ -16,6 +17,110 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../www/manager/Utils.js:60
msgid "Allowed characters"
msgstr "Erlaubte Zeichen"
#: ../www/manager/qemu/Config.js:80 ../www/manager/openvz/Config.js:72
msgid ""
"Are you sure you want to remove VM {0}? This will permanently erase all VM "
"data."
msgstr ""
"Sind Sie sicher dass Sie VM {0} entfernen wollen? Damit löschen Sie alle "
"Daten der VM."
#: ../www/manager/dc/Config.js:49
msgid "Authentication"
msgstr "Authentifikation"
#: ../www/manager/dc/Config.js:24 ../www/manager/qemu/Config.js:131
#: ../www/manager/openvz/Config.js:140
msgid "Backup"
msgstr "Backup"
#: ../www/manager/panel/StatusPanel.js:41
msgid "Cluster log"
msgstr "Cluster log"
#: ../www/manager/qemu/CmdMenu.js:41 ../www/manager/button/Button.js:40
#: ../www/manager/VNCConsole.js:240 ../www/manager/VNCConsole.js:257
#: ../www/manager/VNCConsole.js:269 ../www/manager/VNCConsole.js:281
#: ../www/manager/VNCConsole.js:376 ../www/manager/VNCConsole.js:388
#: ../www/manager/openvz/CmdMenu.js:41
msgid "Confirm"
msgstr "Bestätigung"
#: ../www/manager/Utils.js:276 ../www/manager/Utils.js:327
#: ../www/manager/Utils.js:329 ../www/manager/Utils.js:331
#: ../www/manager/Utils.js:333
msgid "Connection error"
msgstr "Verbindungsfehler"
#: ../www/manager/qemu/Config.js:94 ../www/manager/qemu/CmdMenu.js:51
#: ../www/manager/VNCConsole.js:310 ../www/manager/VNCConsole.js:411
#: ../www/manager/openvz/Config.js:86 ../www/manager/openvz/CmdMenu.js:51
msgid "Console"
msgstr "Konsole"
#: ../www/manager/openvz/Config.js:96
msgid "Container {0} on node {1}"
msgstr "Container {0} auf Knoten {1}"
#: ../www/manager/storage/Browser.js:30
msgid "Content"
msgstr "Inhalt"
#: ../www/manager/Workspace.js:333
msgid "Create CT"
msgstr "Erstelle CT"
#: ../www/manager/Workspace.js:322
msgid "Create VM"
msgstr "Erstelle VM"
#: ../www/manager/tree/ResourceTree.js:185 ../www/manager/dc/Config.js:9
msgid "Datacenter"
msgstr "Rechenzentrum"
#: ../www/manager/Utils.js:546
msgid "Default"
msgstr "Standardeinstellung"
#: ../www/manager/node/Tasks.js:136 ../www/manager/dc/Tasks.js:91
msgid "Description"
msgstr "Beschreibung"
#: ../www/manager/qemu/Config.js:64 ../www/manager/VNCConsole.js:256
msgid "Do you really want to reset VM {0}?"
msgstr "Möchten Sie VM {0} wirklich zurücksetzen (reset)?"
#: ../www/manager/node/Config.js:32
msgid "Do you really want to restart node {0}?"
msgstr "Möchten Sie Knoten {0} wirklich neu starten?"
#: ../www/manager/qemu/Config.js:72 ../www/manager/qemu/CmdMenu.js:40
#: ../www/manager/VNCConsole.js:268 ../www/manager/VNCConsole.js:387
#: ../www/manager/openvz/Config.js:52 ../www/manager/openvz/CmdMenu.js:40
msgid "Do you really want to shutdown VM {0}?"
msgstr "Möchten Sie VM {0} wirklich herunterfahren?"
#: ../www/manager/node/Config.js:40
msgid "Do you really want to shutdown node {0}?"
msgstr "Möchten Sie Knoten {0} wirklich herunterfahren?"
#: ../www/manager/qemu/Config.js:44 ../www/manager/VNCConsole.js:239
#: ../www/manager/VNCConsole.js:375 ../www/manager/openvz/Config.js:44
msgid "Do you really want to stop VM {0}?"
msgstr "Möchten Sie VM {0} wirklich stoppen?"
#: ../www/manager/VNCConsole.js:280
msgid "Do you really want to suspend VM {0}?"
msgstr "Möchten Sie VM {0} wirklich aussetzen (suspend)?"
#: ../www/manager/node/Tasks.js:118 ../www/manager/dc/Tasks.js:69
msgid "End Time"
msgstr "Endzeit"
#: ../www/manager/window/LoginWindow.js:88
msgid "Enter your password"
msgstr "Bitte geben Sie Ihr Passwort ein"
@ -24,6 +129,32 @@ msgstr "Bitte geben Sie Ihr Passwort ein"
msgid "Enter your user name"
msgstr "Bitte geben Sie Ihren Benutzernamen ein"
#: ../www/manager/Utils.js:33 ../www/manager/Utils.js:40
#: ../www/manager/Utils.js:65
msgid "Example"
msgstr "Beispiel"
#: ../www/manager/form/ViewSelector.js:15
msgid "Folder View"
msgstr "Ordner Ansicht"
#: ../www/manager/Utils.js:273
msgid "Form fields may not be submitted with invalid values"
msgstr "Formularfelder müssen gültige Werte haben"
#: ../www/manager/Utils.js:45 ../www/manager/Utils.js:50
#: ../www/manager/Utils.js:55
msgid "Format"
msgstr "Format"
#: ../www/manager/dc/Config.js:34
msgid "Groups"
msgstr "Gruppen"
#: ../www/manager/qemu/Config.js:116
msgid "Hardware"
msgstr "Hardware"
#: ../www/manager/window/LoginWindow.js:103
msgid "Language"
msgstr "Sprache"
@ -32,18 +163,221 @@ msgstr "Sprache"
msgid "Login"
msgstr "Anmelden"
#: ../www/manager/Workspace.js:308
msgid "Logout"
msgstr "Logout"
#: ../www/manager/dc/Log.js:76
msgid "Message"
msgstr "Meldung"
#: ../www/manager/qemu/Config.js:51 ../www/manager/openvz/Config.js:59
msgid "Migrate"
msgstr "Migration"
#: ../www/manager/qemu/Config.js:126
msgid "Monitor"
msgstr "Monitor"
#: ../www/manager/node/Config.js:76 ../www/manager/openvz/Config.js:113
msgid "Network"
msgstr "Netzwerk"
#: ../www/manager/Utils.js:545
msgid "No"
msgstr "Nein"
#: ../www/manager/node/Config.js:60 ../www/manager/node/Tasks.js:126
#: ../www/manager/dc/Tasks.js:81 ../www/manager/dc/Log.js:50
msgid "Node"
msgstr "Knoten"
#: ../www/manager/tree/ResourceTree.js:13
msgid "Node list"
msgstr "Knotenliste"
#: ../www/manager/node/Tasks.js:94
msgid "Only Errors"
msgstr "Nur Fehler"
#: ../www/manager/tree/ResourceTree.js:25
msgid "OpenVZ containers"
msgstr "OpenVZ Container"
#: ../www/manager/dc/Config.js:14 ../www/manager/qemu/Config.js:121
#: ../www/manager/openvz/Config.js:123
msgid "Options"
msgstr "Optionen"
#: ../www/manager/window/LoginWindow.js:86
msgid "Password"
msgstr "Passwort"
#: ../www/manager/dc/Config.js:39 ../www/manager/storage/Browser.js:34
#: ../www/manager/qemu/Config.js:136 ../www/manager/openvz/Config.js:145
msgid "Permissions"
msgstr "Rechte"
#: ../www/manager/Utils.js:294
msgid "Please wait..."
msgstr "Bitte warten..."
#: ../www/manager/window/LoginWindow.js:44
msgid "Proxmox VE Login"
msgstr "Proxmox VE Anmeldung"
#: ../www/manager/qemu/Config.js:71
#: ../www/manager/VNCConsole.js:297 ../www/manager/VNCConsole.js:398
#: ../www/manager/VNCConsole.js:448
msgid "Refresh"
msgstr "Aktualisieren"
#: ../www/manager/VNCConsole.js:304 ../www/manager/VNCConsole.js:405
#: ../www/manager/VNCConsole.js:455
msgid "Reload"
msgstr "Neu laden"
#: ../www/manager/qemu/Config.js:79 ../www/manager/openvz/Config.js:71
msgid "Remove"
msgstr "Entfernen"
#: ../www/manager/qemu/Config.js:63 ../www/manager/VNCConsole.js:254
msgid "Reset"
msgstr "Reset"
#: ../www/manager/openvz/Config.js:108
msgid "Resources"
msgstr "Ressourcen"
#: ../www/manager/node/Config.js:31
msgid "Restart"
msgstr "Restart"
#: ../www/manager/VNCConsole.js:290
msgid "Resume"
msgstr "Resume"
#: ../www/manager/dc/Config.js:44
msgid "Roles"
msgstr "Rollen"
#: ../www/manager/grid/ResourceGrid.js:177
#: ../www/manager/grid/ResourceGrid.js:181
msgid "Search"
msgstr "Suche"
#: ../www/manager/form/ViewSelector.js:11
msgid "Server View"
msgstr "Server Ansicht"
#: ../www/manager/dc/Log.js:55
msgid "Service"
msgstr "Service"
#: ../www/manager/node/Config.js:71
msgid "Services"
msgstr "Services"
#: ../www/manager/dc/Log.js:70
msgid "Severity"
msgstr "Schwere"
#: ../www/manager/node/Config.js:47 ../www/manager/VNCConsole.js:459
msgid "Shell"
msgstr "Shell"
#: ../www/manager/node/Config.js:39 ../www/manager/qemu/Config.js:71
#: ../www/manager/qemu/CmdMenu.js:37 ../www/manager/VNCConsole.js:266
#: ../www/manager/VNCConsole.js:385 ../www/manager/openvz/Config.js:51
#: ../www/manager/openvz/CmdMenu.js:37
msgid "Shutdown"
msgstr "Herunterfahren"
#: ../www/manager/qemu/Config.js:36 ../www/manager/qemu/CmdMenu.js:30
#: ../www/manager/VNCConsole.js:231 ../www/manager/VNCConsole.js:367
#: ../www/manager/openvz/Config.js:36 ../www/manager/openvz/CmdMenu.js:30
msgid "Start"
msgstr "Start"
#: ../www/manager/node/Tasks.js:110 ../www/manager/dc/Tasks.js:61
msgid "Start Time"
msgstr "Startzeit"
#: ../www/manager/node/Tasks.js:142 ../www/manager/dc/Tasks.js:97
msgid "Status"
msgstr "Status"
#: ../www/manager/qemu/Config.js:43 ../www/manager/VNCConsole.js:237
#: ../www/manager/VNCConsole.js:373 ../www/manager/openvz/Config.js:43
msgid "Stop"
msgstr "Stop"
#: ../www/manager/dc/Config.js:19
msgid "Storage"
msgstr "Speicher"
#: ../www/manager/form/ViewSelector.js:19
msgid "Storage View"
msgstr "Speicher Ansicht"
#: ../www/manager/tree/ResourceTree.js:17
msgid "Storage list"
msgstr "Speicherliste"
#: ../www/manager/storage/Browser.js:19
msgid "Storage {0} on node {1}"
msgstr "Speicher {0} auf Knoten {1}"
#: ../www/manager/Utils.js:247
msgid "Successful"
msgstr "Erfolgreich"
#: ../www/manager/node/Config.js:66 ../www/manager/storage/Browser.js:24
#: ../www/manager/qemu/Config.js:111 ../www/manager/openvz/Config.js:103
msgid "Summary"
msgstr "Übersicht"
#: ../www/manager/VNCConsole.js:278
msgid "Suspend"
msgstr "Suspend"
#: ../www/manager/panel/StatusPanel.js:36
msgid "Tasks"
msgstr "Tasks"
#: ../www/manager/node/Config.js:86 ../www/manager/dc/Log.js:42
msgid "Time"
msgstr "Zeit"
#: ../www/manager/Utils.js:250
msgid "Unknown error"
msgstr "Unbekannter Fehler"
#: ../www/manager/node/Tasks.js:82 ../www/manager/node/Tasks.js:131
#: ../www/manager/dc/Tasks.js:86 ../www/manager/dc/Log.js:65
#: ../www/manager/window/LoginWindow.js:63
msgid "User name"
msgstr "Benutzername"
#: ../www/manager/dc/Config.js:29
msgid "Users"
msgstr "Benutzer"
#: ../www/manager/node/Tasks.js:57
msgid "View"
msgstr "Anzeigen"
#: ../www/manager/qemu/Config.js:104
msgid "Virtual machine {0} on node {1}"
msgstr "Virtuelle Maschine {0} auf Knoten {1}"
#: ../www/manager/tree/ResourceTree.js:21
msgid "Virtual machines"
msgstr "Virtuelle Maschinen"
#: ../www/manager/Utils.js:544
msgid "Yes"
msgstr "Ja"
#: ../www/manager/Workspace.js:211
msgid "You are logged in as {0}"
msgstr "Sie sind angemeldet als {0}"

342
po/fr.po

@ -1,13 +1,14 @@
# French translations for pve-manager package.
# Copyright (C) 2011 Proxmox Server Solutions GmbH
# Copyright (C) 20011 Proxmox Server Solutions GmbH
# This file is distributed under the same license as the pve-manager package.
# Proxmox Support Team <support@proxmox.com>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: pve-manager 2\n"
"POT-Creation-Date: Mon Nov 21 12:40:32 2011\n"
"PO-Revision-Date: 2011-11-21 12:22+0100\n"
"Project-Id-Version: pve-manager 2.0\n"
"Report-Msgid-Bugs-To: <support@proxmox.com>\n"
"POT-Creation-Date: Tue Nov 22 13:57:09 2011\n"
"PO-Revision-Date: 2011-11-22 09:15+0100\n"
"Last-Translator: Proxmox Support Team <support@proxmox.com>\n"
"Language-Team: French\n"
"Language: fr\n"
@ -16,6 +17,108 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: ../www/manager/Utils.js:60
msgid "Allowed characters"
msgstr ""
#: ../www/manager/qemu/Config.js:80 ../www/manager/openvz/Config.js:72
msgid ""
"Are you sure you want to remove VM {0}? This will permanently erase all VM "
"data."
msgstr ""
#: ../www/manager/dc/Config.js:49
msgid "Authentication"
msgstr ""
#: ../www/manager/dc/Config.js:24 ../www/manager/qemu/Config.js:131
#: ../www/manager/openvz/Config.js:140
msgid "Backup"
msgstr ""
#: ../www/manager/panel/StatusPanel.js:41
msgid "Cluster log"
msgstr ""
#: ../www/manager/qemu/CmdMenu.js:41 ../www/manager/button/Button.js:40
#: ../www/manager/VNCConsole.js:240 ../www/manager/VNCConsole.js:257
#: ../www/manager/VNCConsole.js:269 ../www/manager/VNCConsole.js:281
#: ../www/manager/VNCConsole.js:376 ../www/manager/VNCConsole.js:388
#: ../www/manager/openvz/CmdMenu.js:41
msgid "Confirm"
msgstr ""
#: ../www/manager/Utils.js:276 ../www/manager/Utils.js:327
#: ../www/manager/Utils.js:329 ../www/manager/Utils.js:331
#: ../www/manager/Utils.js:333
msgid "Connection error"
msgstr ""
#: ../www/manager/qemu/Config.js:94 ../www/manager/qemu/CmdMenu.js:51
#: ../www/manager/VNCConsole.js:310 ../www/manager/VNCConsole.js:411
#: ../www/manager/openvz/Config.js:86 ../www/manager/openvz/CmdMenu.js:51
msgid "Console"
msgstr ""
#: ../www/manager/openvz/Config.js:96
msgid "Container {0} on node {1}"
msgstr ""
#: ../www/manager/storage/Browser.js:30
msgid "Content"
msgstr ""
#: ../www/manager/Workspace.js:333
msgid "Create CT"
msgstr ""
#: ../www/manager/Workspace.js:322
msgid "Create VM"
msgstr ""
#: ../www/manager/tree/ResourceTree.js:185 ../www/manager/dc/Config.js:9
msgid "Datacenter"
msgstr ""
#: ../www/manager/Utils.js:546
msgid "Default"
msgstr ""
#: ../www/manager/node/Tasks.js:136 ../www/manager/dc/Tasks.js:91
msgid "Description"
msgstr ""
#: ../www/manager/qemu/Config.js:64 ../www/manager/VNCConsole.js:256
msgid "Do you really want to reset VM {0}?"
msgstr ""
#: ../www/manager/node/Config.js:32
msgid "Do you really want to restart node {0}?"
msgstr ""
#: ../www/manager/qemu/Config.js:72 ../www/manager/qemu/CmdMenu.js:40
#: ../www/manager/VNCConsole.js:268 ../www/manager/VNCConsole.js:387
#: ../www/manager/openvz/Config.js:52 ../www/manager/openvz/CmdMenu.js:40
msgid "Do you really want to shutdown VM {0}?"
msgstr ""
#: ../www/manager/node/Config.js:40
msgid "Do you really want to shutdown node {0}?"
msgstr ""
#: ../www/manager/qemu/Config.js:44 ../www/manager/VNCConsole.js:239
#: ../www/manager/VNCConsole.js:375 ../www/manager/openvz/Config.js:44
msgid "Do you really want to stop VM {0}?"
msgstr ""
#: ../www/manager/VNCConsole.js:280
msgid "Do you really want to suspend VM {0}?"
msgstr ""
#: ../www/manager/node/Tasks.js:118 ../www/manager/dc/Tasks.js:69
msgid "End Time"
msgstr ""
#: ../www/manager/window/LoginWindow.js:88
msgid "Enter your password"
msgstr ""
@ -24,6 +127,32 @@ msgstr ""
msgid "Enter your user name"
msgstr ""
#: ../www/manager/Utils.js:33 ../www/manager/Utils.js:40
#: ../www/manager/Utils.js:65
msgid "Example"
msgstr ""
#: ../www/manager/form/ViewSelector.js:15
msgid "Folder View"
msgstr ""
#: ../www/manager/Utils.js:273
msgid "Form fields may not be submitted with invalid values"
msgstr ""
#: ../www/manager/Utils.js:45 ../www/manager/Utils.js:50
#: ../www/manager/Utils.js:55
msgid "Format"
msgstr ""
#: ../www/manager/dc/Config.js:34
msgid "Groups"
msgstr ""
#: ../www/manager/qemu/Config.js:116
msgid "Hardware"
msgstr ""
#: ../www/manager/window/LoginWindow.js:103
msgid "Language"
msgstr ""
@ -32,18 +161,221 @@ msgstr ""
msgid "Login"
msgstr ""
#: ../www/manager/Workspace.js:308
msgid "Logout"
msgstr ""
#: ../www/manager/dc/Log.js:76
msgid "Message"
msgstr ""
#: ../www/manager/qemu/Config.js:51 ../www/manager/openvz/Config.js:59
msgid "Migrate"
msgstr ""
#: ../www/manager/qemu/Config.js:126
msgid "Monitor"
msgstr ""
#: ../www/manager/node/Config.js:76 ../www/manager/openvz/Config.js:113
msgid "Network"
msgstr ""
#: ../www/manager/Utils.js:545
msgid "No"
msgstr ""
#: ../www/manager/node/Config.js:60 ../www/manager/node/Tasks.js:126
#: ../www/manager/dc/Tasks.js:81 ../www/manager/dc/Log.js:50
msgid "Node"
msgstr ""
#: ../www/manager/tree/ResourceTree.js:13
msgid "Node list"
msgstr ""
#: ../www/manager/node/Tasks.js:94
msgid "Only Errors"
msgstr ""
#: ../www/manager/tree/ResourceTree.js:25
msgid "OpenVZ containers"
msgstr ""
#: ../www/manager/dc/Config.js:14 ../www/manager/qemu/Config.js:121
#: ../www/manager/openvz/Config.js:123
msgid "Options"
msgstr ""
#: ../www/manager/window/LoginWindow.js:86
msgid "Password"
msgstr ""
#: ../www/manager/dc/Config.js:39 ../www/manager/storage/Browser.js:34
#: ../www/manager/qemu/Config.js:136 ../www/manager/openvz/Config.js:145
msgid "Permissions"
msgstr ""
#: ../www/manager/Utils.js:294
msgid "Please wait..."
msgstr ""
#: ../www/manager/window/LoginWindow.js:44
msgid "Proxmox VE Login"
msgstr ""
#: ../www/manager/qemu/Config.js:71
#: ../www/manager/VNCConsole.js:297 ../www/manager/VNCConsole.js:398
#: ../www/manager/VNCConsole.js:448
msgid "Refresh"
msgstr ""
#: ../www/manager/VNCConsole.js:304 ../www/manager/VNCConsole.js:405
#: ../www/manager/VNCConsole.js:455
msgid "Reload"
msgstr ""
#: ../www/manager/qemu/Config.js:79 ../www/manager/openvz/Config.js:71
msgid "Remove"
msgstr ""
#: ../www/manager/qemu/Config.js:63 ../www/manager/VNCConsole.js:254
msgid "Reset"
msgstr ""
#: ../www/manager/openvz/Config.js:108
msgid "Resources"
msgstr ""
#: ../www/manager/node/Config.js:31
msgid "Restart"
msgstr ""
#: ../www/manager/VNCConsole.js:290
msgid "Resume"
msgstr ""
#: ../www/manager/dc/Config.js:44
msgid "Roles"
msgstr ""
#: ../www/manager/grid/ResourceGrid.js:177
#: ../www/manager/grid/ResourceGrid.js:181
msgid "Search"
msgstr ""
#: ../www/manager/form/ViewSelector.js:11
msgid "Server View"
msgstr ""
#: ../www/manager/dc/Log.js:55
msgid "Service"
msgstr ""
#: ../www/manager/node/Config.js:71
msgid "Services"
msgstr ""
#: ../www/manager/dc/Log.js:70
msgid "Severity"
msgstr ""
#: ../www/manager/node/Config.js:47 ../www/manager/VNCConsole.js:459
msgid "Shell"
msgstr ""
#: ../www/manager/node/Config.js:39 ../www/manager/qemu/Config.js:71
#: ../www/manager/qemu/CmdMenu.js:37 ../www/manager/VNCConsole.js:266
#: ../www/manager/VNCConsole.js:385 ../www/manager/openvz/Config.js:51
#: ../www/manager/openvz/CmdMenu.js:37
msgid "Shutdown"
msgstr ""
#: ../www/manager/qemu/Config.js:36 ../www/manager/qemu/CmdMenu.js:30
#: ../www/manager/VNCConsole.js:231 ../www/manager/VNCConsole.js:367
#: ../www/manager/openvz/Config.js:36 ../www/manager/openvz/CmdMenu.js:30
msgid "Start"
msgstr ""
#: ../www/manager/node/Tasks.js:110 ../www/manager/dc/Tasks.js:61
msgid "Start Time"
msgstr ""
#: ../www/manager/node/Tasks.js:142 ../www/manager/dc/Tasks.js:97
msgid "Status"
msgstr ""
#: ../www/manager/qemu/Config.js:43 ../www/manager/VNCConsole.js:237
#: ../www/manager/VNCConsole.js:373 ../www/manager/openvz/Config.js:43
msgid "Stop"
msgstr ""
#: ../www/manager/dc/Config.js:19
msgid "Storage"
msgstr ""
#: ../www/manager/form/ViewSelector.js:19
msgid "Storage View"
msgstr ""
#: ../www/manager/tree/ResourceTree.js:17
msgid "Storage list"
msgstr ""
#: ../www/manager/storage/Browser.js:19
msgid "Storage {0} on node {1}"
msgstr ""
#: ../www/manager/Utils.js:247
msgid "Successful"
msgstr ""
#: ../www/manager/node/Config.js:66 ../www/manager/storage/Browser.js:24
#: ../www/manager/qemu/Config.js:111 ../www/manager/openvz/Config.js:103
msgid "Summary"
msgstr ""
#: ../www/manager/VNCConsole.js:278
msgid "Suspend"
msgstr ""
#: ../www/manager/panel/StatusPanel.js:36
msgid "Tasks"
msgstr ""
#: ../www/manager/node/Config.js:86 ../www/manager/dc/Log.js:42
msgid "Time"
msgstr ""
#: ../www/manager/Utils.js:250
msgid "Unknown error"
msgstr ""
#: ../www/manager/node/Tasks.js:82 ../www/manager/node/Tasks.js:131
#: ../www/manager/dc/Tasks.js:86 ../www/manager/dc/Log.js:65
#: ../www/manager/window/LoginWindow.js:63
msgid "User name"
msgstr ""
#: ../www/manager/dc/Config.js:29
msgid "Users"
msgstr ""
#: ../www/manager/node/Tasks.js:57
msgid "View"
msgstr ""
#: ../www/manager/qemu/Config.js:104
msgid "Virtual machine {0} on node {1}"
msgstr ""
#: ../www/manager/tree/ResourceTree.js:21
msgid "Virtual machines"
msgstr ""
#: ../www/manager/Utils.js:544
msgid "Yes"
msgstr ""
#: ../www/manager/Workspace.js:211
msgid "You are logged in as {0}"
msgstr ""

@ -1,18 +1,109 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2011 Proxmox Server Solutions GmbH
# Copyright (C) 20011 Proxmox Server Solutions GmbH
# This file is distributed under the same license as the pve-manager package.
# Proxmox Support Team <support@proxmox.com>, 2011.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: pve-manager 2\n"
"POT-Creation-Date: Mon Nov 21 12:40:32 2011\n"
"Project-Id-Version: pve-manager 2.0\n"
"Report-Msgid-Bugs-To: <support@proxmox.com>\n"
"POT-Creation-Date: Tue Nov 22 13:57:09 2011\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <support@proxmox.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../www/manager/Utils.js:60
msgid "Allowed characters"
msgstr ""
#: ../www/manager/qemu/Config.js:80 ../www/manager/openvz/Config.js:72
msgid "Are you sure you want to remove VM {0}? This will permanently erase all VM data."
msgstr ""
#: ../www/manager/dc/Config.js:49
msgid "Authentication"
msgstr ""
#: ../www/manager/dc/Config.js:24 ../www/manager/qemu/Config.js:131 ../www/manager/openvz/Config.js:140
msgid "Backup"
msgstr ""
#: ../www/manager/panel/StatusPanel.js:41
msgid "Cluster log"
msgstr ""
#: ../www/manager/qemu/CmdMenu.js:41 ../www/manager/button/Button.js:40 ../www/manager/VNCConsole.js:240 ../www/manager/VNCConsole.js:257 ../www/manager/VNCConsole.js:269 ../www/manager/VNCConsole.js:281 ../www/manager/VNCConsole.js:376 ../www/manager/VNCConsole.js:388 ../www/manager/openvz/CmdMenu.js:41
msgid "Confirm"
msgstr ""
#: ../www/manager/Utils.js:276 ../www/manager/Utils.js:327 ../www/manager/Utils.js:329 ../www/manager/Utils.js:331 ../www/manager/Utils.js:333
msgid "Connection error"
msgstr ""
#: ../www/manager/qemu/Config.js:94 ../www/manager/qemu/CmdMenu.js:51 ../www/manager/VNCConsole.js:310 ../www/manager/VNCConsole.js:411 ../www/manager/openvz/Config.js:86 ../www/manager/openvz/CmdMenu.js:51
msgid "Console"
msgstr ""
#: ../www/manager/openvz/Config.js:96
msgid "Container {0} on node {1}"
msgstr ""
#: ../www/manager/storage/Browser.js:30
msgid "Content"
msgstr ""
#: ../www/manager/Workspace.js:333
msgid "Create CT"
msgstr ""
#: ../www/manager/Workspace.js:322
msgid "Create VM"
msgstr ""
#: ../www/manager/tree/ResourceTree.js:185 ../www/manager/dc/Config.js:9
msgid "Datacenter"
msgstr ""
#: ../www/manager/Utils.js:546
msgid "Default"
msgstr ""
#: ../www/manager/node/Tasks.js:136 ../www/manager/dc/Tasks.js:91
msgid "Description"
msgstr ""
#: ../www/manager/qemu/Config.js:64 ../www/manager/VNCConsole.js:256
msgid "Do you really want to reset VM {0}?"
msgstr ""
#: ../www/manager/node/Config.js:32
msgid "Do you really want to restart node {0}?"
msgstr ""
#: ../www/manager/qemu/Config.js:72 ../www/manager/qemu/CmdMenu.js:40 ../www/manager/VNCConsole.js:268 ../www/manager/VNCConsole.js:387 ../www/manager/openvz/Config.js:52 ../www/manager/openvz/CmdMenu.js:40
msgid "Do you really want to shutdown VM {0}?"
msgstr ""
#: ../www/manager/node/Config.js:40
msgid "Do you really want to shutdown node {0}?"
msgstr ""
#: ../www/manager/qemu/Config.js:44 ../www/manager/VNCConsole.js:239 ../www/manager/VNCConsole.js:375 ../www/manager/openvz/Config.js:44
msgid "Do you really want to stop VM {0}?"
msgstr ""
#: ../www/manager/VNCConsole.js:280
msgid "Do you really want to suspend VM {0}?"
msgstr ""
#: ../www/manager/node/Tasks.js:118 ../www/manager/dc/Tasks.js:69
msgid "End Time"
msgstr ""
#: ../www/manager/window/LoginWindow.js:88
msgid "Enter your password"
msgstr ""
@ -21,6 +112,30 @@ msgstr ""
msgid "Enter your user name"
msgstr ""
#: ../www/manager/Utils.js:33 ../www/manager/Utils.js:40 ../www/manager/Utils.js:65
msgid "Example"
msgstr ""
#: ../www/manager/form/ViewSelector.js:15
msgid "Folder View"
msgstr ""
#: ../www/manager/Utils.js:273
msgid "Form fields may not be submitted with invalid values"
msgstr ""
#: ../www/manager/Utils.js:45 ../www/manager/Utils.js:50 ../www/manager/Utils.js:55
msgid "Format"
msgstr ""
#: ../www/manager/dc/Config.js:34
msgid "Groups"
msgstr ""
#: ../www/manager/qemu/Config.js:116
msgid "Hardware"
msgstr ""
#: ../www/manager/window/LoginWindow.js:103
msgid "Language"
msgstr ""
@ -29,18 +144,207 @@ msgstr ""
msgid "Login"
msgstr ""
#: ../www/manager/Workspace.js:308
msgid "Logout"
msgstr ""
#: ../www/manager/dc/Log.js:76
msgid "Message"
msgstr ""
#: ../www/manager/qemu/Config.js:51 ../www/manager/openvz/Config.js:59
msgid "Migrate"
msgstr ""
#: ../www/manager/qemu/Config.js:126
msgid "Monitor"
msgstr ""
#: ../www/manager/node/Config.js:76 ../www/manager/openvz/Config.js:113
msgid "Network"
msgstr ""
#: ../www/manager/Utils.js:545
msgid "No"
msgstr ""
#: ../www/manager/node/Config.js:60 ../www/manager/node/Tasks.js:126 ../www/manager/dc/Tasks.js:81 ../www/manager/dc/Log.js:50
msgid "Node"
msgstr ""
#: ../www/manager/tree/ResourceTree.js:13
msgid "Node list"
msgstr ""
#: ../www/manager/node/Tasks.js:94
msgid "Only Errors"
msgstr ""
#: ../www/manager/tree/ResourceTree.js:25
msgid "OpenVZ containers"
msgstr ""
#: ../www/manager/dc/Config.js:14 ../www/manager/qemu/Config.js:121 ../www/manager/openvz/Config.js:123
msgid "Options"
msgstr ""
#: ../www/manager/window/LoginWindow.js:86
msgid "Password"
msgstr ""
#: ../www/manager/dc/Config.js:39 ../www/manager/storage/Browser.js:34 ../www/manager/qemu/Config.js:136 ../www/manager/openvz/Config.js:145
msgid "Permissions"
msgstr ""
#: ../www/manager/Utils.js:294
msgid "Please wait..."
msgstr ""
#: ../www/manager/window/LoginWindow.js:44
msgid "Proxmox VE Login"
msgstr ""
#: ../www/manager/qemu/Config.js:71
#: ../www/manager/VNCConsole.js:297 ../www/manager/VNCConsole.js:398 ../www/manager/VNCConsole.js:448
msgid "Refresh"
msgstr ""
#: ../www/manager/VNCConsole.js:304 ../www/manager/VNCConsole.js:405 ../www/manager/VNCConsole.js:455
msgid "Reload"
msgstr ""
#: ../www/manager/qemu/Config.js:79 ../www/manager/openvz/Config.js:71
msgid "Remove"
msgstr ""
#: ../www/manager/qemu/Config.js:63 ../www/manager/VNCConsole.js:254
msgid "Reset"
msgstr ""
#: ../www/manager/openvz/Config.js:108
msgid "Resources"
msgstr ""
#: ../www/manager/node/Config.js:31
msgid "Restart"
msgstr ""
#: ../www/manager/VNCConsole.js:290
msgid "Resume"
msgstr ""
#: ../www/manager/dc/Config.js:44
msgid "Roles"
msgstr ""
#: ../www/manager/grid/ResourceGrid.js:177 ../www/manager/grid/ResourceGrid.js:181
msgid "Search"
msgstr ""
#: ../www/manager/form/ViewSelector.js:11
msgid "Server View"
msgstr ""
#: ../www/manager/dc/Log.js:55
msgid "Service"
msgstr ""
#: ../www/manager/node/Config.js:71
msgid "Services"
msgstr ""
#: ../www/manager/dc/Log.js:70
msgid "Severity"
msgstr ""
#: ../www/manager/node/Config.js:47 ../www/manager/VNCConsole.js:459
msgid "Shell"
msgstr ""
#: ../www/manager/node/Config.js:39 ../www/manager/qemu/Config.js:71 ../www/manager/qemu/CmdMenu.js:37 ../www/manager/VNCConsole.js:266 ../www/manager/VNCConsole.js:385 ../www/manager/openvz/Config.js:51 ../www/manager/openvz/CmdMenu.js:37
msgid "Shutdown"
msgstr ""
#: ../www/manager/window/LoginWindow.js:63
#: ../www/manager/qemu/Config.js:36 ../www/manager/qemu/CmdMenu.js:30 ../www/manager/VNCConsole.js:231 ../www/manager/VNCConsole.js:367 ../www/manager/openvz/Config.js:36 ../www/manager/openvz/CmdMenu.js:30
msgid "Start"
msgstr ""
#: ../www/manager/node/Tasks.js:110 ../www/manager/dc/Tasks.js:61
msgid "Start Time"
msgstr ""
#: ../www/manager/node/Tasks.js:142 ../www/manager/dc/Tasks.js:97
msgid "Status"
msgstr ""
#: ../www/manager/qemu/Config.js:43 ../www/manager/VNCConsole.js:237 ../www/manager/VNCConsole.js:373 ../www/manager/openvz/Config.js:43
msgid "Stop"
msgstr ""
#: ../www/manager/dc/Config.js:19
msgid "Storage"
msgstr ""
#: ../www/manager/form/ViewSelector.js:19
msgid "Storage View"
msgstr ""
#: ../www/manager/tree/ResourceTree.js:17
msgid "Storage list"
msgstr ""
#: ../www/manager/storage/Browser.js:19
msgid "Storage {0} on node {1}"
msgstr ""
#: ../www/manager/Utils.js:247
msgid "Successful"
msgstr ""
#: ../www/manager/node/Config.js:66 ../www/manager/storage/Browser.js:24 ../www/manager/qemu/Config.js:111 ../www/manager/openvz/Config.js:103
msgid "Summary"
msgstr ""
#: ../www/manager/VNCConsole.js:278
msgid "Suspend"
msgstr ""
#: ../www/manager/panel/StatusPanel.js:36
msgid "Tasks"
msgstr ""
#: ../www/manager/node/Config.js:86 ../www/manager/dc/Log.js:42
msgid "Time"
msgstr ""
#: ../www/manager/Utils.js:250
msgid "Unknown error"
msgstr ""
#: ../www/manager/node/Tasks.js:82 ../www/manager/node/Tasks.js:131 ../www/manager/dc/Tasks.js:86 ../www/manager/dc/Log.js:65 ../www/manager/window/LoginWindow.js:63
msgid "User name"
msgstr ""
#: ../www/manager/dc/Config.js:29
msgid "Users"
msgstr ""
#: ../www/manager/node/Tasks.js:57
msgid "View"
msgstr ""
#: ../www/manager/qemu/Config.js:104
msgid "Virtual machine {0} on node {1}"
msgstr ""
#: ../www/manager/tree/ResourceTree.js:21
msgid "Virtual machines"
msgstr ""
#: ../www/manager/Utils.js:544
msgid "Yes"
msgstr ""
#: ../www/manager/Workspace.js:211
msgid "You are logged in as {0}"
msgstr ""

@ -3,6 +3,7 @@
use strict;
use Locale::PO;
use JSON;
use Encode;
# current limits:
# - we do not support plural. forms
@ -29,18 +30,30 @@ sub fnv31a {
return $hval & 0x7fffffff;
}
my $aref = Locale::PO->load_file_asarray($filename);
my $href = Locale::PO->load_file_ashash($filename);
my $catalog;
foreach my $po (@$aref) {
my $qmsgid = $po->msgid;
my $charset;
my $hpo = $href->{'""'} || die "no header";
my $header = $hpo->dequote($hpo->msgstr);
if ($header =~ m|\\nContent-Type:\s+text/plain;\s+charset=(\S+)\\n|im) {
$charset = $1;
} else {
die "unable to get charset\n" if !$charset;
}
foreach my $k (keys %$href) {
my $po = $href->{$k};
my $qmsgid = decode($charset, $po->msgid);
my $msgid = $po->dequote($qmsgid);
my $qmsgstr = decode($charset, $po->msgstr);
my $msgstr = $po->dequote($qmsgstr);
next if !length($msgid); # skip header
my $qmsgstr = $po->msgstr;
my $msgstr = $po->dequote($qmsgstr);
my $digest = fnv31a($msgid);
die "duplicate digest" if $catalog->{$digest};
@ -49,6 +62,9 @@ foreach my $po (@$aref) {
# later, we can add plural forms to the array
}
#use Data::Dumper;
#print STDERR Dumper(encode_json({test => decode('UTF-8', "müssen")}));
my $json = encode_json($catalog);
print <<__EOD
@ -74,7 +90,7 @@ function gettext(buf) {
if (!data) {
return buf;
}
return data[0];
return data[0] || buf;
}
__EOD

@ -30,39 +30,39 @@ Ext.apply(Ext.form.field.VTypes, {
IPAddress: function(v) {
return (/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/).test(v);
},
IPAddressText: 'Must be a numeric IP address',
IPAddressText: gettext('Example') + ': 192.168.1.1',
IPAddressMask: /[\d\.]/i,
MacAddress: function(v) {
return (/^([a-fA-F0-9]{2}:){5}[a-fA-F0-9]{2}$/).test(v);
},
MacAddressMask: /[a-fA-F0-9:]/,
MacAddressText: 'Must be a valid MAC address (example: "01:23:45:67:89:ab")',
MacAddressText: gettext('Example') + ': 01:23:45:67:89:ab',
BridgeName: function(v) {
return (/^vmbr\d{1,4}$/).test(v);
},
BridgeNameText: 'Allowable bridge names: vmbr<b>N</b>, where 0 <= <b>N</b> <= 9999',
BridgeNameText: gettext('Format') + ': vmbr<b>N</b>, where 0 <= <b>N</b> <= 9999',
BondName: function(v) {
return (/^bond\d{1,4}$/).test(v);
},
BondNameText: 'Allowable bond names: bond<b>N</b>, where 0 <= <b>N</b> <= 9999',
BondNameText: gettext('Format') + ': bond<b>N</b>, where 0 <= <b>N</b> <= 9999',
QemuStartDate: function(v) {
return (/^(now|\d{4}-\d{1,2}-\d{1,2}(T\d{1,2}:\d{1,2}:\d{1,2})?)$/).test(v);
},
QemuStartDateText: 'Valid format for date are: "now" or "2006-06-17T16:01:21" or "2006-06-17"',
QemuStartDateText: gettext('Format') + ': "now" or "2006-06-17T16:01:21" or "2006-06-17"',
StorageId: function(v) {
return (/^[a-z][a-z0-9\-\_\.]*[a-z0-9]$/i).test(v);
},
StorageIdText: "ID contains illegal characters (allowed characters: 'a-z', '0-9', '-', '_' and '.')",
StorageIdText: gettext("Allowed characters") + ": 'a-z', '0-9', '-', '_', '.'",
HttpProxy: function(v) {
return (/^http:\/\/.*$/).test(v);
},
HttpProxyText: "Must confirm to schema 'http://.*' (example: 'http://username:password@host:port/')"
HttpProxyText: gettext('Example') + ": http://username:password&#64;host:port/"
});
// we dont want that a displayfield set the form dirty flag!
@ -244,10 +244,10 @@ Ext.define('PVE.Utils', { statics: {
},
extractRequestError: function(result, verbose) {
var msg = 'Successful';
var msg = gettext('Successful');
if (!result.success) {
msg = "Unknown error";
msg = gettext("Unknown error");
if (result.message) {
msg = result.message;
if (result.status) {
@ -270,10 +270,10 @@ Ext.define('PVE.Utils', { statics: {
var msg;
switch (action.failureType) {
case Ext.form.action.Action.CLIENT_INVALID:
msg = 'Form fields may not be submitted with invalid values';
msg = gettext('Form fields may not be submitted with invalid values');
break;
case Ext.form.action.Action.CONNECT_FAILURE:
msg = 'Connect failure';
msg = gettext('Connection error');
var resp = action.response;
if (resp.status && resp.statusText) {
msg += " " + resp.status + ": " + resp.statusText;
@ -291,7 +291,7 @@ Ext.define('PVE.Utils', { statics: {
API2Request: function(reqOpts) {
var newopts = Ext.apply({
waitMsg: 'Please wait...'
waitMsg: gettext('Please wait...')
}, reqOpts);
if (!newopts.url.match(/^\/api2/)) {
@ -324,13 +324,13 @@ Ext.define('PVE.Utils', { statics: {
try {
response.result = Ext.decode(response.responseText);
} catch(e) {}
var msg = "Connection error - server offline?";
var msg = gettext('Connection error') + ' - server offline?';
if (response.aborted) {
msg = 'Transaction aborted.';
msg = gettext('Connection error') + ' - aborted.';
} else if (response.timedout) {
msg = 'Communication failure: Timeout.';
msg = gettext('Connection error') + ' - Timeout.';
} else if (response.status && response.statusText) {
msg = 'Connection error ' + response.status + ': ' + response.statusText;
msg = gettext('Connection error') + ' ' + response.status + ': ' + response.statusText;
}
response.htmlStatus = msg;
Ext.callback(callbackFn, options.scope, [options, false, response]);
@ -541,19 +541,23 @@ Ext.define('PVE.Utils', { statics: {
}
},
yesText: gettext('Yes'),
noText: gettext('No'),
defaultText: gettext('Default'),
format_boolean_with_default: function(value) {
if (Ext.isDefined(value) && value !== '') {
return value ? 'Yes' : 'No';
return value ? PVE.Utils.yesText : PVE.Utils.noText;
}
return 'Default';
return PVE.Utils.defaultText;
},
format_boolean: function(value) {
return value ? 'Yes' : 'No';
return value ? PVE.Utils.yesText : PVE.Utils.noText;
},
format_neg_boolean: function(value) {
return !value ? 'Yes' : 'No';
return !value ? PVE.Utils.yesText : PVE.Utils.noText;
},
format_content_types: function(value) {

@ -228,16 +228,16 @@ Ext.define('PVE.KVMConsole', {
var tbar = [
{
text: 'Start',
text: gettext('Start'),
handler: function() {
vm_command("start", {}, 1);
}
},
{
text: 'Stop',
text: gettext('Stop'),
handler: function() {
var msg = "Do you really want to stop the VM?";
Ext.Msg.confirm('Confirm', msg, function(btn) {
var msg = Ext.String.format(gettext("Do you really want to stop VM {0}?"), me.vmid);
Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
if (btn !== 'yes') {
return;
}
@ -251,10 +251,10 @@ Ext.define('PVE.KVMConsole', {
vmid: me.vmid
},
{
text: 'Reset',
text: gettext('Reset'),
handler: function() {
var msg = "Do you really want to reset the VM?";
Ext.Msg.confirm('Confirm', msg, function(btn) {
var msg = Ext.String.format(gettext("Do you really want to reset VM {0}?"), me.vmid);
Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
if (btn !== 'yes') {
return;
}
@ -263,10 +263,10 @@ Ext.define('PVE.KVMConsole', {
}
},
{
text: 'Shutdown',
text: gettext('Shutdown'),
handler: function() {
var msg = "Do you really want to shutdown the VM?";
Ext.Msg.confirm('Confirm', msg, function(btn) {
var msg = Ext.String.format(gettext("Do you really want to shutdown VM {0}?"), me.vmid);
Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
if (btn !== 'yes') {
return;
}
@ -275,10 +275,10 @@ Ext.define('PVE.KVMConsole', {
}
},
{
text: 'Suspend',
text: gettext('Suspend'),
handler: function() {
var msg = "Do you really want to suspend the VM?";
Ext.Msg.confirm('Confirm', msg, function(btn) {
var msg = Ext.String.format(gettext("Do you really want to suspend VM {0}?"), me.vmid);
Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
if (btn !== 'yes') {
return;
}
@ -287,27 +287,27 @@ Ext.define('PVE.KVMConsole', {
}
},
{
text: 'Resume',
text: gettext('Resume'),
handler: function() {
vm_command("resume");
}
},
'->',
{
text: 'Refresh',
text: gettext('Refresh'),
handler: function() {
var applet = Ext.getDom(me.appletID);
applet.sendRefreshRequest();
}
},
{
text: 'Reload',
text: gettext('Reload'),
handler: function () {
me.reloadApplet();
}
},
{
text: 'Console',
text: gettext('Console'),
handler: function() {
var url = Ext.urlEncode({
console: 'kvm',
@ -364,16 +364,16 @@ Ext.define('PVE.OpenVZConsole', {
var tbar = [
{
text: 'Start',
text: gettext('Start'),
handler: function() {
vm_command("start", {}, 1);
}
},
{
text: 'Stop',
text: gettext('Stop'),
handler: function() {
var msg = "Do you really want to stop the VM?";
Ext.Msg.confirm('Confirm', msg, function(btn) {
var msg = Ext.String.format(gettext("Do you really want to stop VM {0}?"), me.vmid);
Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
if (btn !== 'yes') {
return;
}
@ -382,10 +382,10 @@ Ext.define('PVE.OpenVZConsole', {
}
},
{
text: 'Shutdown',
text: gettext('Shutdown'),
handler: function() {
var msg = "Do you really want to shutdown the VM?";
Ext.Msg.confirm('Confirm', msg, function(btn) {
var msg = Ext.String.format(gettext("Do you really want to shutdown VM {0}?"), me.vmid);
Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
if (btn !== 'yes') {
return;
}
@ -395,20 +395,20 @@ Ext.define('PVE.OpenVZConsole', {
},
'->',
{
text: 'Refresh',
text: gettext('Refresh'),
handler: function() {
var applet = Ext.getDom(me.appletID);
applet.sendRefreshRequest();
}
},
{
text: 'Reload',
text: gettext('Reload'),
handler: function () {
me.reloadApplet();
}
},
{
text: 'Console',
text: gettext('Console'),
handler: function() {
var url = Ext.urlEncode({
console: 'openvz',
@ -445,18 +445,18 @@ Ext.define('PVE.Shell', {
var tbar = [
'->',
{
text: 'Refresh',
text: gettext('Refresh'),
handler: function() {
var applet = Ext.getDom(me.appletID);
applet.sendRefreshRequest();
}
},
{
text: 'Reload',
text: gettext('Reload'),
handler: function () { me.reloadApplet(); }
},
{
text: 'Shell',
text: gettext('Shell'),
handler: function() {
var url = Ext.urlEncode({
console: 'shell',

@ -208,7 +208,8 @@ Ext.define('PVE.StdWorkspace', {
var ui = me.query('#userinfo')[0];
if (PVE.UserName) {
ui.update('<div class="x-unselectable" style="white-space:nowrap;">You are logged in as "' + PVE.UserName + '"</div>');
var msg = Ext.String.format(gettext("You are logged in as {0}"), "'" + PVE.UserName + "'");
ui.update('<div class="x-unselectable" style="white-space:nowrap;">' + msg + '</div>');
} else {
ui.update('');
}
@ -304,7 +305,7 @@ Ext.define('PVE.StdWorkspace', {
margins: '3 5 0 0',
xtype: 'button',
baseCls: 'x-btn',
text: "Logout",
text: gettext("Logout"),
handler: function() {
PVE.data.ResourceStore.stopUpdate();
me.showLogin();
@ -318,7 +319,7 @@ Ext.define('PVE.StdWorkspace', {
margins: '3 5 0 0',
xtype: 'button',
baseCls: 'x-btn',
text: "Create VM",
text: gettext("Create VM"),
handler: function() {
var wiz = Ext.create('PVE.qemu.CreateWizard', {});
wiz.show();
@ -329,7 +330,7 @@ Ext.define('PVE.StdWorkspace', {
margins: '3 5 0 0',
xtype: 'button',
baseCls: 'x-btn',
text: "Create CT",
text: gettext("Create CT"),
handler: function() {
var wiz = Ext.create('PVE.openvz.CreateWizard', {});
wiz.show();

@ -37,7 +37,7 @@ Ext.define('PVE.button.Button', {
if (Ext.isFunction(me.confirmMsg)) {
msg = me.confirmMsg(rec);
}
Ext.Msg.confirm('Confirmation', msg, function(btn) {
Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
if (btn !== 'yes') {
return;
}

@ -6,47 +6,47 @@ Ext.define('PVE.dc.Config', {
var me = this;
Ext.apply(me, {
title: "Datacenter",
title: gettext("Datacenter"),
hstateid: 'dctab',
items: [
{
xtype: 'pveDcOptionView',
title: 'Options',
title: gettext('Options'),
itemId: 'options'
},
{
xtype: 'pveStorageView',
title: 'Storage',
title: gettext('Storage'),
itemId: 'storage'
},
{
xtype: 'pveDcBackupView',
title: 'Backup',
title: gettext('Backup'),
itemId: 'backup'
},
{
xtype: 'pveUserView',
title: 'Users',
title: gettext('Users'),
itemId: 'users'
},
{
xtype: 'pveGroupView',
title: 'Groups',
title: gettext('Groups'),
itemId: 'groups'
},
{
xtype: 'pveACLView',
title: 'Permissions',
title: gettext('Permissions'),
itemId: 'permissions'
},
{
xtype: 'pveRoleView',
title: 'Roles',
title: gettext('Roles'),
itemId: 'roles'
},
{
xtype: 'pveAuthView',
title: 'Authentication',
title: gettext('Authentication'),
itemId: 'domains'
}
]

@ -39,7 +39,7 @@ Ext.define('PVE.dc.Log', {
sortableColumns: false,
columns: [
{
header: "Start Time",
header: gettext("Time"),
dataIndex: 'time',
width: 100,
renderer: function(value) {
@ -47,12 +47,12 @@ Ext.define('PVE.dc.Log', {
}
},
{
header: "Node",
header: gettext("Node"),
dataIndex: 'node',
width: 100
},
{
header: "Tag",
header: gettext("Service"),
dataIndex: 'tag',
width: 100
},
@ -62,18 +62,18 @@ Ext.define('PVE.dc.Log', {
width: 100
},
{
header: "User",
header: gettext("User name"),
dataIndex: 'user',
width: 150
},
{
header: "Severity",
header: gettext("Severity"),
dataIndex: 'pri',
renderer: PVE.Utils.render_serverity,
width: 100
},
{
header: "Message",
header: gettext("Message"),
dataIndex: 'msg',
flex: 1
}

@ -58,7 +58,7 @@ Ext.define('PVE.dc.Tasks', {
sortableColumns: false,
columns: [
{
header: "Start Time",
header: gettext("Start Time"),
dataIndex: 'starttime',
width: 100,
renderer: function(value) {
@ -66,7 +66,7 @@ Ext.define('PVE.dc.Tasks', {
}
},
{
header: "End Time",
header: gettext("End Time"),
dataIndex: 'endtime',
width: 100,
renderer: function(value, metaData, record) {
@ -78,23 +78,23 @@ Ext.define('PVE.dc.Tasks', {
}
},
{
header: "Node",
header: gettext("Node"),
dataIndex: 'node',
width: 100
},
{
header: "User",
header: gettext("User name"),
dataIndex: 'user',
width: 150
},
{
header: "Description",
header: gettext("Description"),
dataIndex: 'upid',
flex: 1,
renderer: PVE.Utils.render_upid
},
{
header: "Status",
header: gettext("Status"),
dataIndex: 'status',
width: 200,
renderer: function(value, metaData, record) {

@ -8,15 +8,15 @@ Ext.define('PVE.form.ViewSelector', {
var default_views = {
server: {
text: 'Server View',
text: gettext('Server View'),
groups: ['node']
},
folder: {
text: 'Folder View',
text: gettext('Folder View'),
groups: ['type']
},
storage: {
text: 'Storage View',
text: gettext('Storage View'),
groups: ['node'],
filterfn: function(node) {
return node.data.type === 'storage';

@ -174,11 +174,11 @@ Ext.define('PVE.grid.ResourceGrid', {
};
Ext.apply(me, {
title: 'Search',
title: gettext('Search'),
store: store,
tbar: [
'->',
'Search:', ' ',
gettext('Search') + ':', ' ',
{
xtype: 'textfield',
width: 200,

@ -12,14 +12,13 @@ use PVE::REST;
sub send_output {
my ($r, $data) = @_;
my $encdata = encode('UTF-8', $data);
$r->no_cache (1);
my $x = length ($encdata);
my $x = length ($data);
$r->content_type ("text/html;charset=UTF-8");
$r->headers_out->set ("Content-length", "$x");
$r->headers_out->set ("Pragma", "no-cache");
$r->print ($encdata);
$r->print ($data);
}
# NOTE: Requests to this page are not authenticated

@ -27,24 +27,24 @@ Ext.define('PVE.node.Config', {
});
};
var rebootBtn = Ext.create('PVE.button.Button', {
text: 'Reboot',
confirmMsg: "Do you really want to reboot node '" + nodename + "'?",
var restartBtn = Ext.create('PVE.button.Button', {
text: gettext('Restart'),
confirmMsg: Ext.String.format(gettext("Do you really want to restart node {0}?"), nodename),
handler: function() {
node_command('reboot');
}
});
var shutdownBtn = Ext.create('PVE.button.Button', {
text: 'Shutdown',
confirmMsg: "Do you really want to shutdown node '" + nodename + "'?",
text: gettext('Shutdown'),
confirmMsg: Ext.String.format(gettext("Do you really want to shutdown node {0}?"), nodename),
handler: function() {
node_command('shutdown');
}
});
var shellBtn = Ext.create('Ext.Button', {
text: 'Shell',
text: gettext('Shell'),
handler: function() {
var url = Ext.urlEncode({
console: 'shell',
@ -57,23 +57,23 @@ Ext.define('PVE.node.Config', {
});
Ext.apply(me, {
title: "Node '" + nodename + "'",
title: gettext('Node') + " '" + nodename + "'",
hstateid: 'nodetab',
defaults: { statusStore: me.statusStore },
tbar: [ rebootBtn, shutdownBtn, shellBtn ],
tbar: [ restartBtn, shutdownBtn, shellBtn ],
items: [
{
title: 'Summary',
title: gettext('Summary'),
itemId: 'summary',
xtype: 'pveNodeSummary'
},
{
title: 'Services',
title: gettext('Services'),
itemId: 'services',
xtype: 'pveNodeServiceView'
},
{
title: 'Network',
title: gettext('Network'),
itemId: 'network',
xtype: 'pveNodeNetworkView'
},
@ -83,7 +83,7 @@ Ext.define('PVE.node.Config', {
xtype: 'pveNodeDNSView'
},
{
title: 'Time',
title: gettext('Time'),
itemId: 'time',
xtype: 'pveNodeTimeView'
},
@ -112,7 +112,7 @@ Ext.define('PVE.node.Config', {
var uptimerec = s.data.get('uptime');
var uptime = uptimerec ? uptimerec.data.value : false;
rebootBtn.setDisabled(!uptime);
restartBtn.setDisabled(!uptime);
shutdownBtn.setDisabled(!uptime);
shellBtn.setDisabled(!uptime);
});

@ -54,7 +54,7 @@ Ext.define('PVE.node.Tasks', {
};
var view_btn = new Ext.Button({
text: 'View',
text: gettext('View'),
disabled: true,
handler: run_task_viewer
});
@ -79,7 +79,7 @@ Ext.define('PVE.node.Tasks', {
}
},
tbar: [
view_btn, '->', 'User:', ' ',
view_btn, '->', gettext('User name') +':', ' ',
{
xtype: 'textfield',
width: 200,
@ -91,7 +91,7 @@ Ext.define('PVE.node.Tasks', {
reload_task.delay(500);
}
}
}, ' ', 'Only Errors:', ' ',
}, ' ', gettext('Only Errors') + ':', ' ',
{
xtype: 'checkbox',
hideLabel: true,
@ -107,34 +107,40 @@ Ext.define('PVE.node.Tasks', {
sortableColumns: false,
columns: [
{
header: "Start Time", dataIndex: 'starttime',
header: gettext("Start Time"),
dataIndex: 'starttime',
width: 100,
renderer: function(value) {
return Ext.Date.format(value, "M d H:i:s");
}
},
{
header: "End Time", dataIndex: 'endtime',
header: gettext("End Time"),
dataIndex: 'endtime',
width: 100,
renderer: function(value, metaData, record) {
return Ext.Date.format(value,"M d H:i:s");
}
},
{
header: "Node", dataIndex: 'node',
header: gettext("Node"),
dataIndex: 'node',
width: 100
},
{
header: "User", dataIndex: 'user',
header: gettext("User name"),
dataIndex: 'user',
width: 150
},
{
header: "Description", dataIndex: 'upid',
header: gettext("Description"),
dataIndex: 'upid',
flex: 1,
renderer: PVE.Utils.render_upid
},
{
header: "Status", dataIndex: 'status',
header: gettext("Status"),
dataIndex: 'status',
width: 200,
renderer: function(value, metaData, record) {
if (value == 'OK') {

@ -27,18 +27,18 @@ Ext.define('PVE.openvz.CmdMenu', {
me.items = [
{
text: 'Start',
text: gettext('Start'),
icon: '/pve2/images/start.png',
handler: function() {
vm_command('start');
}
},
{
text: 'Shutdown',
text: gettext('Shutdown'),
icon: '/pve2/images/stop.png',
handler: function() {
var msg = "Do you really want to shutdown the VM?";
Ext.Msg.confirm('Confirmation', msg, function(btn) {
var msg = Ext.String.format(gettext("Do you really want to shutdown VM {0}?"), me.vmid);
Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
if (btn !== 'yes') {
return;
}
@ -48,7 +48,7 @@ Ext.define('PVE.openvz.CmdMenu', {
}
},
{
text: 'Console',
text: gettext('Console'),
icon: '/pve2/images/display.png',
handler: function() {
PVE.Utils.openConoleWindow('openvz', me.vmid, me.nodename);

@ -33,30 +33,30 @@ Ext.define('PVE.openvz.Config', {
};
var startBtn = Ext.create('Ext.Button', {
text: 'Start',
text: gettext('Start'),
handler: function() {
vm_command('start');
}
});
var stopBtn = Ext.create('PVE.button.Button', {
text: 'Stop',
confirmMsg: "Do you really want to stop the VM?",
text: gettext('Stop'),
confirmMsg: Ext.String.format(gettext("Do you really want to stop VM {0}?"), vmid),
handler: function() {
vm_command("stop", { fast: 1 });
}
});
var shutdownBtn = Ext.create('PVE.button.Button', {
text: 'Shutdown',
confirmMsg: "Do you really want to shutdown the VM?",
text: gettext('Shutdown'),
confirmMsg: Ext.String.format(gettext("Do you really want to shutdown VM {0}?"), vmid),
handler: function() {
vm_command('stop');
}
});
var migrateBtn = Ext.create('Ext.Button', {
text: 'Migrate',
text: gettext('Migrate'),
handler: function() {
var win = Ext.create('PVE.window.Migrate', {
vmtype: 'openvz',
@ -68,9 +68,8 @@ Ext.define('PVE.openvz.Config', {
});
var removeBtn = Ext.create('PVE.button.Button', {
text: 'Remove',
confirmMsg: 'Are you sure you want to remove VM ' +
vmid + '? This will permanently erase all VM data.',
text: gettext('Remove'),
confirmMsg: Ext.String.format(gettext('Are you sure you want to remove VM {0}? This will permanently erase all VM data.'), vmid),
handler: function() {
PVE.Utils.API2Request({
url: '/nodes/' + nodename + '/openvz/' + vmid,
@ -84,34 +83,34 @@ Ext.define('PVE.openvz.Config', {
});
var consoleBtn = Ext.create('Ext.Button', {
text: 'Console',
text: gettext('Console'),
handler: function() {
PVE.Utils.openConoleWindow('openvz', vmid, nodename);
}
});
var vmname = me.pveSelNode.data.name;
var descr = vmname ? " '" + vmname + "'" : '';
var descr = vmid + " (" + (vmname ? "'" + vmname + "' " : "'CT " + vmid + "'") + ")";
Ext.apply(me, {
title: "OpenVZ container " + vmid + descr +
" on node '" + nodename + "'",
title: Ext.String.format(gettext("Container {0} on node {1}"), descr, "'" + nodename + "'"),
hstateid: 'ovztab',
tbar: [ startBtn, stopBtn, shutdownBtn, migrateBtn,
removeBtn, consoleBtn ],
defaults: { statusStore: me.statusStore },
items: [
{
title: 'Summary',
title: gettext('Summary'),
xtype: 'pveOpenVZSummary',
itemId: 'summary'
},
{
title: 'Ressources',
itemId: 'ressources',
title: gettext('Resources'),
itemId: 'resources',
xtype: 'pveOpenVZRessourceView'
},
{
title: 'Network',
title: gettext('Network'),
itemId: 'network',
xtype: 'pveOpenVZNetworkView'
},
@ -121,7 +120,7 @@ Ext.define('PVE.openvz.Config', {
xtype: 'pveOpenVZDNS'
},
{
title: 'Options',
title: gettext('Options'),
itemId: 'options',
xtype: 'pveOpenVZOptions'
},
@ -138,12 +137,12 @@ Ext.define('PVE.openvz.Config', {
url: '/api2/extjs/nodes/' + nodename + '/openvz/' + vmid + '/initlog'
},
{
title: gettext('Backup'),
xtype: 'pveBackupView',
title: 'Backup',
itemId: 'backup'
},
{
title: 'Permissions',
title: gettext('Permissions'),
itemId: 'permissions',
html: 'permissions ' + vmid
}

@ -33,12 +33,12 @@ Ext.define('PVE.panel.StatusPanel', {
items: [
{
itemId: 'tasks',
title: 'Recent tasks',
title: gettext('Tasks'),
xtype: 'pveClusterTasks'
},
{
itemId: 'clog',
title: 'Cluster log',
title: gettext('Cluster log'),
xtype: 'pveClusterLog'
}
]

@ -27,18 +27,18 @@ Ext.define('PVE.qemu.CmdMenu', {
me.items = [
{
text: 'Start',
text: gettext('Start'),
icon: '/pve2/images/start.png',
handler: function() {
vm_command('start');
}
},
{
text: 'Shutdown',
text: gettext('Shutdown'),
icon: '/pve2/images/stop.png',
handler: function() {
var msg = "Do you really want to shutdown the VM?";
Ext.Msg.confirm('Confirmation', msg, function(btn) {
var msg = Ext.String.format(gettext("Do you really want to shutdown VM {0}?"), me.vmid);
Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
if (btn !== 'yes') {
return;
}
@ -48,7 +48,7 @@ Ext.define('PVE.qemu.CmdMenu', {
}
},
{
text: 'Console',
text: gettext('Console'),
icon: '/pve2/images/display.png',
handler: function() {
PVE.Utils.openConoleWindow('kvm', me.vmid, me.nodename);

@ -33,22 +33,22 @@ Ext.define('PVE.qemu.Config', {
};
var startBtn = Ext.create('Ext.Button', {
text: 'Start',
text: gettext('Start'),
handler: function() {
vm_command('start');
}
});
var stopBtn = Ext.create('PVE.button.Button', {
text: 'Stop',
confirmMsg: "Do you really want to stop the VM?",
text: gettext('Stop'),
confirmMsg: Ext.String.format(gettext("Do you really want to stop VM {0}?"), vmid),
handler: function() {
vm_command("stop", { timeout: 30 });
}
});
var migrateBtn = Ext.create('Ext.Button', {
text: 'Migrate',
text: gettext('Migrate'),
handler: function() {
var win = Ext.create('PVE.window.Migrate', {
vmtype: 'qemu',
@ -60,8 +60,8 @@ Ext.define('PVE.qemu.Config', {
});
var resetBtn = Ext.create('PVE.button.Button', {
text: 'Reset',
confirmMsg: "Do you really want to reset the VM?",
text: gettext('Reset'),
confirmMsg: Ext.String.format(gettext("Do you really want to reset VM {0}?"), vmid),
handler: function() {
vm_command("reset");
}
@ -69,16 +69,15 @@ Ext.define('PVE.qemu.Config', {
var shutdownBtn = Ext.create('PVE.button.Button', {
text: gettext('Shutdown'),
confirmMsg: "Do you really want to shutdown the VM?",
confirmMsg: Ext.String.format(gettext("Do you really want to shutdown VM {0}?"), vmid),
handler: function() {
vm_command('shutdown', { timeout: 30 });
}
});
var removeBtn = Ext.create('PVE.button.Button', {
text: 'Remove',
confirmMsg: 'Are you sure you want to remove VM ' +
vmid + '? This will permanently erase all VM data.',
text: gettext('Remove'),
confirmMsg: Ext.String.format(gettext('Are you sure you want to remove VM {0}? This will permanently erase all VM data.'), vmid),
handler: function() {
PVE.Utils.API2Request({
url: '/nodes/' + nodename + '/qemu/' + vmid,
@ -92,49 +91,49 @@ Ext.define('PVE.qemu.Config', {
});
var consoleBtn = Ext.create('Ext.Button', {
text: 'Console',
text: gettext('Console'),
handler: function() {
PVE.Utils.openConoleWindow('kvm', vmid, nodename);
}
});
var vmname = me.pveSelNode.data.name;
var descr = vmname ? "'" + vmname + "' " : '';
var descr = vmid + " (" + (vmname ? "'" + vmname + "' " : "'VM " + vmid + "'") + ")";
Ext.apply(me, {
title: "Virtual machine " + descr + "'KVM " + vmid +
"' on node '" + nodename + "'",
title: Ext.String.format(gettext("Virtual machine {0} on node {1}"), descr, "'" + nodename + "'"),
hstateid: 'kvmtab',
tbar: [ startBtn, stopBtn, resetBtn, shutdownBtn,
migrateBtn, removeBtn, consoleBtn ],
defaults: { statusStore: me.statusStore },
items: [
{
title: 'Summary',
title: gettext('Summary'),
xtype: 'pveQemuSummary',
itemId: 'summary'
},
{
title: 'Hardware',
title: gettext('Hardware'),
itemId: 'hardware',
xtype: 'PVE.qemu.HardwareView'
},
{
title: 'Options',
title: gettext('Options'),
itemId: 'options',
xtype: 'PVE.qemu.Options'
},
{
title: 'Monitor',
title: gettext('Monitor'),
itemId: 'monitor',
xtype: 'pveQemuMonitor'
},
{
title: gettext('Backup'),
xtype: 'pveBackupView',
title: 'Backup',
itemId: 'backup'
},
{
title: 'Permissions',
title: gettext('Permissions'),
itemId: 'permissions',
html: 'permissions ' + vmid
}

@ -16,21 +16,22 @@ Ext.define('PVE.storage.Browser', {
}
Ext.apply(me, {
title: "Storage '" + storeid + "'" + "' on node '" + nodename + "'",
title: Ext.String.format(gettext("Storage {0} on node {1}"),
"'" + storeid + "'", "'" + nodename + "'"),
hstateid: 'storagetab',
items: [
{
title: 'Summary',
title: gettext('Summary'),
xtype: 'pveStorageSummary',
itemId: 'summary'
},
{
xtype: 'pveStorageContentView',
title: 'Content',
title: gettext('Content'),
itemId: 'content'
},
{
title: 'Permissions',
title: gettext('Permissions'),
itemId: 'permissions',
html: 'Permissions '
}

@ -10,19 +10,19 @@ Ext.define('PVE.tree.ResourceTree', {
typeDefaults: {
node: {
iconCls: 'x-tree-node-server',
text: 'Node list'
text: gettext('Node list')
},
storage: {
iconCls: 'x-tree-node-harddisk',
text: 'Storage list'
text: gettext('Storage list')
},
qemu: {
iconCls: 'x-tree-node-computer',
text: 'Virtual machines'
text: gettext('Virtual machines')
},
openvz: {
iconCls: 'x-tree-node-openvz',
text: 'OpenVZ containers'
text: gettext('OpenVZ containers')
}
}
},
@ -182,7 +182,7 @@ Ext.define('PVE.tree.ResourceTree', {
root: {
expanded: true,
id: 'root',
text: "Datacenter"
text: gettext('Datacenter')
}
});