diff --git a/i18n/de.po b/i18n/de.po
index a85dab8a1..a1e580db7 100644
--- a/i18n/de.po
+++ b/i18n/de.po
@@ -3,495 +3,574 @@
# This file was translated from CodingTeam at .
msgid ""
msgstr ""
-"Project-Id-Version: Movim \n"
-"PO-Revision-Date: 2011-08-12 16:13:00\n"
+"Project-Id-Version: Movim\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-04-02 21:07+0200\n"
+"PO-Revision-Date: 2012-05-09 12:18+0000\n"
+"Last-Translator: Kilian Holzinger \n"
+"Language-Team: LANGUAGE \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-11 22:28+0000\n"
+"X-Generator: Launchpad (build 15225)\n"
#: ../init.php:7
msgid "MOVIM - Test Client"
msgstr "MOVIM – Test-Instanz"
-#: ../system/Controller/ControllerMain.php:40
-#: ../system/Controller/ControllerMain.php:59
-msgid "%s - Welcome to Movim"
-msgstr "%s – Willkommen bei Movim"
-
-#: ../system/Controller/ControllerMain.php:42
-#: ../system/Controller/ControllerMain.php:61
-#: ../system/Controller/ControllerMain.php:91
-#: ../system/Controller/ControllerMain.php:107
-msgid "Home"
-msgstr "Start"
-
-#: ../system/Controller/ControllerMain.php:43
-#: ../system/Controller/ControllerMain.php:71
-#: ../system/Controller/ControllerMain.php:92
-msgid "Configuration"
-msgstr "Einstellungen"
+#: ../install/part1.php:59
+msgid "PHP version mismatch. Movim requires PHP 5.3 minimum."
+msgstr ""
+"Die installierte PHP Version stimmt nicht. Movim benötigt mindestens PHP 5.3."
-#: ../system/Widget/widgets/Logout/Logout.php:49
-msgid "Logout"
-msgstr "Abmelden"
+#: ../install/part1.php:59
+msgid "Actual version : "
+msgstr "Aktuelle Version : "
-#: ../system/Controller/ControllerMain.php:89
-msgid "%s - Configuration"
-msgstr "%s – Einstellungen"
+#: ../install/part1.php:60
+msgid "Update your PHP version or contact your server administrator"
+msgstr "Aktualisiere PHP oder melde dich beim Administrator"
-#: ../system/Controller/ControllerMain.php:105
-msgid "%s - Account Creation"
-msgstr "%s – Registrieren"
+#: ../install/part1.php:63 ../install/part1.php:67 ../install/part1.php:71
+#: ../install/part1.php:89
+#, php-format
+msgid "Movim requires the %s extension."
+msgstr "Movim benötigt die Erweiterung: %s"
-#: ../system/Controller/ControllerMain.php:123
-msgid "%s - Login to Movim"
-msgstr "%s – Anmelden"
+#: ../install/part1.php:64
+#, php-format
+msgid "Install %s and %s packages"
+msgstr "Installieren Sie %s und %s Pakete"
-#: ../system/Controller/ControllerMain.php:126
-msgid "Account Creation"
-msgstr "Registrieren"
+#: ../install/part1.php:68 ../install/part1.php:72
+#, php-format
+msgid "Install the %s package"
+msgstr "Installiere %s"
-#: ../system/Controller/ControllerMain.php:136
-msgid "My address"
-msgstr "Adresse"
+#: ../install/part1.php:75
+msgid "Movim's folder must be writable."
+msgstr "Das Movim Verzeichnis muß Schreibrechte besitzen."
-#: ../system/Controller/ControllerMain.php:137
-msgid "Password"
-msgstr "Passwort"
+#: ../install/part1.php:76
+msgid "Enable read and write rights on Movim's root folder"
+msgstr ""
+"Bitte setzte Lese- und Schreibrechte in dem Ordner, wohin du Movim entpackt "
+"hast."
-#: ../system/Controller/ControllerMain.php:138
-msgid "Come in!"
-msgstr "Komm‘ herein!"
+#: ../install/part1.php:88
+msgid "or"
+msgstr "oder"
-#: ../lib/GetConf.php:2
-#: ../lib/GetConf.php:45
-#~ msgid "Error: Cannot load element value'%s'"
-#~ msgstr "Fehler: Elementwert »%s« konnte nicht geladen werden"
+#: ../install/part1.php:140 ../install/part1.php:150 ../install/part2.php:188
+msgid "Movim Installer"
+msgstr "Movim Installer"
-#: ../lib/GetConf.php:139
-#~ msgid "Error: Cannot load file '%s'"
-#~ msgstr "Fehler: Datei »%s« konnte nicht geladen werden"
+#: ../install/part1.php:140
+msgid "Compatibility Test"
+msgstr "Kompatibilitätsprüfung"
-#: ../lib/WidgetWrapper.php:98
-#~ msgid "Error: Requested widget '%s' doesn't exist."
-#~ msgstr "Fehler: Angefordertes Widget »%s« ist nicht vorhanden."
+#: ../install/part1.php:141
+msgid ""
+"The following requirements were not met. Please make sure they are all "
+"satisfied in order to install Movim."
+msgstr ""
+"Die folgenden Voraussetzungen sind nicht erfüllt. Behebe die Mängel um Movim "
+"installieren zu können."
-#: ../system/User.php:67
-msgid "Wrong password"
-msgstr "Passwort falsch"
+#: ../install/part1.php:220
+msgid "XMPP Connection Preferences"
+msgstr "XMPP Verbindungseinstellungen"
-#: ../lib/Widget.php:69
-#~ msgid "This is a sample widget."
-#~ msgstr "Dies ist ein Beispiel-Widget"
+#: ../install/part1.php:233
+msgid "BOSH Connection Preferences"
+msgstr "BOSH Verbindungseinstellungen"
-#: ../lib/XMPPConnect.php:147
-#~ msgid "Error: jid `%s' is incorrect"
-#~ msgstr "Fehler: Falsche jid »%s«"
+#: ../install/part1.php:237
+msgid "The Bosh configuration is invalid"
+msgstr "Die Einstellungen für BOSH sind nicht in Ordnung"
-#: ../lib/widgets/Account/Account.php:3
-#: ../lib/widgets/Account/Account.php:34
-#~ msgid "Jabber Account"
-#~ msgstr "Jabber-Konto"
+#: ../install/part1.php:259
+msgid "Proxy Preferences"
+msgstr "Proxy-Server Einstellungen"
-#: ../system/Widget/widgets/Config/Config.php:74
-msgid "Submit"
-msgstr "Übernehmen"
+#: ../install/part1.php:284
+msgid "The Database configuration is invalid"
+msgstr "Die Datenbankkonfiguration ist ungültig"
-#: ../system/Widget/widgets/Config/Config.php:75
-msgid "Reset"
-msgstr "Zurücksetzen"
+#: ../install/part2.php:99 ../install/part2.php:103 ../install/part2.php:107
+#, php-format
+msgid "Couldn't create directory '%s'."
+msgstr "Verzeichnis '%s' konnte nicht erstellt werden!"
-#: ../system/Widget/widgets/Chat/Chat.php:86
-#~ msgid "Send"
-#~ msgstr "Absenden"
+#: ../install/part2.php:136
+#, php-format
+msgid "Couldn't create configuration file '%s'."
+msgstr "Die Konfigurationsdatei '%s' konnte nicht erstellt werden!"
-#: ../system/Widget/widgets/Config/Config.php:45
-msgid "Language"
-msgstr "Sprache"
+#: ../install/part2.php:188
+msgid "Success !"
+msgstr "Erfolgreich !"
-#: ../lib/widgets/Config.php:45
-#~ msgid "Full Name"
-#~ msgstr "Name"
+#: ../install/part2.php:191
+msgid "Valid Bosh"
+msgstr "BOSH ist in Ordnung"
-#: ../system/Widget/widgets/Config/Config.php:60
-msgid "BOSH Connection Prefrences"
-msgstr "Verbindungseinstellungen"
-
-#: ../lib/Dispatcher.php:9
-#: ../lib/widgets/Config/Config.php:59
-#~ msgid "Changing these data can be dangerous and may compromise the connection to the XMPP server"
-#~ msgstr "Eine Änderung dieser Daten kann gefährlich sein und die Verbindung zum XMPP-Server behindern."
-
-#: ../install.php:13
-#: ../system/Widget/widgets/Config/Config.php:63
-msgid "Bosh Host"
-msgstr "Server"
-
-#: ../install.php:14
-#: ../system/Widget/widgets/Config/Config.php:67
-msgid "Bosh Suffix"
-msgstr "Suffix"
-
-#: ../install.php:14
-#: ../system/Widget/widgets/Config/Config.php:70
-msgid "Bosh Port"
-msgstr "Port"
-
-#: ../lib/widgets/Config/Config.php:76
-#~ msgid "error: "
-#~ msgstr "Fehler:"
-
-#: ../system/Widget/widgets/Friends/Friends.php:151
-#~ msgid "Contacts"
-#~ msgstr "Freunde"
-
-#: ../system/Conf2.php:9
-#: ../system/Conf2.php:14
-#: ../system/Conf2.php:142
-#: ../system/Conf.php:8
-#: ../system/Conf.php:13
-#: ../system/Conf.php:135
-msgid "Couldn't create file %s"
-msgstr "Die folgende Datei konnte nicht erstellt werden: %s"
-
-#: ../system/Conf2.php:14
-#: ../system/Conf.php:137
-msgid "Couldn't create configuration files."
-msgstr "Die Konfigurationsdateien konnten nicht erstellt werden."
-
-#: ../lib/XMPPConnect.php:98
-#~ msgid "Error: User not logged in."
-#~ msgstr "Fehler: Der Benutzer ist nicht angemeldet."
-
-#: ../lib/XMPPConnect.php:102
-#~ msgid "Error: JID not provided."
-#~ msgstr "Fehler: Die JID ist nicht bekannt."
-
-#: ../lib/XMPPConnect.php:117
-#~ msgid "Error: jid '%s' is incorrect"
-#~ msgstr "Fehler: Die JID "%s" ist nicht korrekt."
-
-#: ../system/Widget/widgets/Profile/Profile.php:34
-msgid "Chat"
-msgstr "Tchat"
+#: ../install/part2.php:192
+msgid "Database Detected"
+msgstr "Datenbank Erkannt"
-#: ../system/Widget/widgets/Chat/Chat.php:155
-msgid "Message"
-msgstr "Nachricht"
+#: ../install/part2.php:193
+msgid "Database Movim schema installed"
+msgstr "Das Datenbank-Schema Movim ist installiert"
-#: ../system/Widget/widgets/Chat/Chat.php:85
-#~ msgid "To"
-#~ msgstr "An"
+#: ../install/part2.php:196
+#, php-format
+msgid "You can now access your shiny Movim instance %sJump In !%s"
+msgstr ""
+"Du kannst jetzt deine nagelneue Movim-Instanz betreten. %sAuf geht's!%s"
-#: ../system/Widget/widgets/Friendinfos/Friendinfos.php:51
-#: ../system/Widget/widgets/Profile/Profile.php:48
-msgid "Your avatar"
-msgstr "Dein Profilbild"
+#: ../install/part2.php:197 ../system/Widget/widgets/Login/Login.php:87
+#, php-format
+msgid "Please remove the %s folder in order to complete the installation"
+msgstr "Bitte entfernen Sie den %s Ordner um die Installation abzuschließen"
-#: ../lib/widgets/Friends/Friends.php:111
-#~ msgid "Refresh vCard"
-#~ msgstr "Die vCard aktualisieren"
+#: ../system/Conf.php:38
+#, php-format
+msgid "Cannot load element value'%s'"
+msgstr "Konnte das Element mit dem Wert '%s' nicht laden."
-#: ../lib/widgets/Friends/Friends.php:116
-#~ msgid "Online"
-#~ msgstr "Online"
+#: ../system/Conf.php:49
+#, php-format
+msgid "Cannot load file '%s'"
+msgstr "Die Datei '%s' kann nicht gelesen werden."
-#: ../lib/widgets/Friends/Friends.php:117
-#~ msgid "Offline"
-#~ msgstr "Offline"
+#: ../system/Jabber.php:107
+msgid "User not logged in."
+msgstr "Nicht angemeldet!"
-#: ../lib/widgets/Friends/Friends.php:118
-#~ msgid "Hidden"
-#~ msgstr "Versteckt"
+#: ../system/Jabber.php:111
+msgid "JID not provided."
+msgstr "Die JID wurde nicht übermittelt"
-#: ../system/Widget/widgets/Profile/Profile.php:36
-msgid "Away"
-msgstr "Abwesend"
+#: ../system/Jabber.php:135
+#, php-format
+msgid "jid '%s' is incorrect"
+msgstr "Die JID '%s' ist inkorrekt."
-#: ../lib/widgets/Friends/Friends.php:120
-#~ msgid "Do Not Disturb"
-#~ msgstr "Nicht stören"
+#: ../system/Jabber.php:145 ../system/Widget/widgets/Login/Login.php:117
+msgid "Connecting..."
+msgstr "Verbindung wird aufgebaut ..."
-#: ../lib/widgets/Friends/Friends.php:124
-#~ msgid "Refresh Roster"
-#~ msgstr "Roster aktualisieren"
+#: ../system/Logger.php:27
+#, php-format
+msgid "Cannot open log file '%s'"
+msgstr "Die Logdatei '%s' konnte nicht geöffnet werden."
-#: ../system/Widget/widgets/Log/Log.php:33
-msgid "Debug console"
-msgstr "Debug Konsole"
+#: ../system/MovimException.php:15
+#, php-format
+msgid "Error: %s"
+msgstr "Fehler: %s"
-#: ../install.php:17
-msgid "PHP version mismatch. Movim requires PHP 5.3 minimum."
-msgstr "Die installierte PHP Version stimmt nicht. Movim benötigt mindestens PHP 5.3."
+#: ../system/User.php:68
+msgid "Wrong password"
+msgstr "Passwort falsch"
-#: ../install.php:2
-#: ../install.php:23
-msgid "Movim requires the %s extension."
-msgstr "Movim benötigt die Erweiterung: %s"
+#: ../system/Utils.php:117
+msgid "Today"
+msgstr "Heute"
-#: ../install.php:26
-msgid "Movim's folder must be writable."
-msgstr "Das Movim Verzeichnis muß Schreibrechte besitzen."
+#: ../system/Utils.php:119
+msgid "Tomorrow"
+msgstr "Morgen"
-#: ../install.php:121
-msgid "Movim Installer"
-msgstr "Movim Installer"
+#: ../system/Utils.php:121
+msgid "Yesterday"
+msgstr "Gestern"
-#: ../install.php:125
-msgid "Theme"
-msgstr "Aussehen"
+#: ../system/Utils.php:127
+msgid "day"
+msgstr "Tag"
-#: ../install.php:126
-msgid "Default language"
-msgstr "Standard Sprache"
+#: ../system/Utils.php:130
+#, php-format
+msgid " %d days ago"
+msgstr " vor %d Tagen"
-#: ../install.php:127
-msgid "Bosh cookie's expiration (s)"
-msgstr "Der Bosh-Cookie ist abgelaufen."
+#: ../system/Controller/ControllerMain.php:40
+#: ../system/Controller/ControllerMain.php:59
+#, php-format
+msgid "%s - Welcome to Movim"
+msgstr "%s – Willkommen bei Movim"
-#: ../install.php:128
-msgid "Bosh cookie's path"
-msgstr "Der Pfad des Bosh-Cookies"
+#: ../system/Controller/ControllerMain.php:41
+#: ../system/Controller/ControllerMain.php:60
+#: ../system/Controller/ControllerMain.php:94
+#: ../system/Controller/ControllerMain.php:113
+#: ../system/Controller/ControllerMain.php:129
+#: ../system/Controller/ControllerMain.php:148
+msgid "Home"
+msgstr "Start"
-#: ../install.php:129
-msgid "Bosh cookie's domain"
-msgstr "Die Bosh-Cookie-Domain"
+#: ../system/Controller/ControllerMain.php:42
+#: ../system/Controller/ControllerMain.php:74
+#: ../system/Controller/ControllerMain.php:95
+#: ../system/Controller/ControllerMain.php:114
+#: ../system/Widget/widgets/ContactCard/ContactCard.php:143
+#: ../system/Widget/widgets/Vcard/Vcard.php:134
+msgid "Profile"
+msgstr "Profil"
-#: ../install.php:131
-msgid "Use HTTPS for Bosh"
-msgstr "Verwende HTTPS für Bosh"
+#: ../system/Controller/ControllerMain.php:43
+#: ../system/Controller/ControllerMain.php:75
+#: ../system/Controller/ControllerMain.php:96
+#: ../system/Controller/ControllerMain.php:115
+msgid "Configuration"
+msgstr "Einstellungen"
-#: ../install.php:133
-msgid "Use only HTTP for Bosh"
-msgstr "Nur HTTP für Bosh verwenden"
+#: ../system/Controller/ControllerMain.php:93
+#, php-format
+msgid "%s - Configuration"
+msgstr "%s – Einstellungen"
-#: ../install.php:135
-msgid "Log verbosity"
-msgstr "Informationsgehalt des Logs"
+#: ../system/Controller/ControllerMain.php:112
+#, php-format
+msgid "%s - Profile"
+msgstr "%s - Profil"
-#: ../install.php:136
-msgid "Allow account creation"
-msgstr "Erlaube die Registrierung von neuen Profilen"
+#: ../system/Controller/ControllerMain.php:127
+#, php-format
+msgid "%s - Account Creation"
+msgstr "%s – Registrieren"
-#: ../install.php:139
-#~ msgid "Bosh server"
-#~ msgstr ""
+#: ../system/Controller/ControllerMain.php:130
+#: ../system/Controller/ControllerMain.php:150
+msgid "Account Creation"
+msgstr "Registrieren"
-#: ../install.php:140
-#~ msgid "Bosh suffix"
-#~ msgstr ""
+#: ../system/Controller/ControllerMain.php:146
+#, php-format
+msgid "%s - Login to Movim"
+msgstr "%s – Anmelden"
-#: ../install.php:143
-msgid "Storage
"
-msgstr "Speicherung
"
+#: ../system/Widget/widgets/Account/Account.php:169
+msgid "Some data are missing !"
+msgstr "Es fehlen Daten"
-#: ../install.php:19
-#: ../install.php:19
-#: ../install.php:201
-msgid "Couldn't create directory '%s'."
-msgstr "Verzeichnis '%s' konnte nicht erstellt werden!"
+#: ../system/Widget/widgets/Account/Account.php:175
+msgid "Wrong ID"
+msgstr "Falsche ID"
-#: ../install.php:225
-msgid "Couldn't create configuration file '%s'."
-msgstr "Die Konfigurationsdatei '%s' konnte nicht erstellt werden!"
+#: ../system/Widget/widgets/Account/Account.php:181
+msgid "You entered different passwords"
+msgstr "Die Passwörter stimmen nicht überein"
-#: ../install.php:248
-msgid "Compatibility Test"
-msgstr "Kompatibilitätsprüfung"
+#: ../system/Widget/widgets/Account/Account.php:187
+msgid "Invalid name"
+msgstr "Unzulässiger Name"
-#: ../install.php:249
-msgid "The following requirements were not met. Please make sure they are all satisfied in order to install Movim."
-msgstr "Die folgenden Voraussetzungen sind nicht erfüllt. Behebe die Mängel um Movim installieren zu können."
+#: ../system/Widget/widgets/Account/Account.php:193
+msgid "Username already taken"
+msgstr "Benutzername bereits vergeben"
-#: ../install.php:262
-msgid "Movim is installed!"
-msgstr "Movim wurde erfolgreich installiert."
+#: ../system/Widget/widgets/Account/Account.php:199
+msgid "Could not connect to the XMPP server"
+msgstr "Eine Verbindung zum XMPP-Server war nicht möglich"
-#: ../install.php:263
-msgid "You can now access your shiny %sMovim instance%s"
-msgstr "Du kannst jetzt auf deine nagelneue Movim-Instanz %sMovim instance%s zugreifen."
+#: ../system/Widget/widgets/Account/Account.php:205
+msgid "Could not communicate with the XMPP server"
+msgstr "Konnte nicht mit dem XMPP kommunizieren."
-#: ../system/Cache.php:168
-msgid "Couldn't open cache. Please contact the administrator."
-msgstr "Cache kann nicht geöffnet werden. Wende dich an den Administrator"
+#: ../system/Widget/widgets/Account/Account.php:211
+msgid "Unknown error"
+msgstr "Unbekannter Fehler."
-#: ../system/Conf2.php:3
-#: ../system/Conf2.php:5
-#: ../system/Conf.php:24
-#: ../system/Conf.php:48
-msgid "Cannot load element value'%s'"
+#: ../system/Widget/widgets/Account/Account.php:226
+msgid ""
+"Firstly fill in this blank with a brand new account ID, this address will "
+"follow you on all the Movim network !"
msgstr ""
+"Zunächst füll bitte dieses freie Feld mit einer nagelneuen Adresse aus. "
+"Diese begleitet dich überall im Movim Netzwerk."
-#: ../system/Conf2.php:15
-#: ../system/Conf.php:174
-msgid "Cannot load file '%s'"
-msgstr "Die Datei '%s' kann nicht gelesen werden."
-
-#: ../system/Jabber.php:110
-msgid "User not logged in."
-msgstr "Nicht angemeldet!"
+#: ../system/Widget/widgets/Account/Account.php:226
+msgid "Only alphanumerics elements are authorized"
+msgstr "Es sind nur Buchstaben und Zahlen zugelassen."
-#: ../system/Jabber.php:114
-msgid "JID not provided."
-msgstr "Die JID wurde nicht übermittelt"
-
-#: ../system/Jabber.php:133
-msgid "jid '%s' is incorrect"
-msgstr "Die JID '%s' ist inkorrekt."
+#: ../system/Widget/widgets/Account/Account.php:230
+#: ../system/Widget/widgets/Login/Login.php:113
+msgid "My address"
+msgstr "Adresse"
-#: ../system/MovimException.php:15
-msgid "Error: %s"
-msgstr "Fehler: %s"
+#: ../system/Widget/widgets/Account/Account.php:241
+msgid "Make sure your password is safe :"
+msgstr "Wäle ein sicheres Passwort"
-#: ../system/Controller/ControllerMain.php:130
-#: ../system/Widget/widgets/Config/Config.php:61
-msgid "Changing these data can be dangerous and may compromise the connection to the Jabber server"
-msgstr "Das Ändern dieser Daten ist eventuell gefährlich und kann die Verbindung zum Jabber-Server kompromitieren"
+#: ../system/Widget/widgets/Account/Account.php:241
+msgid "A capital letter, a digit and a special character are recommended"
+msgstr ""
+"Mindestens jeweils ein Großbuchstabe, eine Ziffer und ein Sonderzeichen "
+"werden empfohlen."
-#: ../system/Widget/widgets/Friendinfos/Friendinfos.php:39
-#~ msgid "Firstname"
-#~ msgstr ""
+#: ../system/Widget/widgets/Account/Account.php:241
+msgid "8 characters"
+msgstr "8 Buchstaben"
-#: ../system/Widget/widgets/Friendinfos/Friendinfos.php:40
-#~ msgid "Family name"
-#~ msgstr ""
+#: ../system/Widget/widgets/Account/Account.php:241
+msgid "Example :"
+msgstr "Beispiel:"
-#: ../system/Widget/widgets/Friendvcard/Friendvcard.php:48
-msgid "Nickname"
-msgstr "Benutzername"
+#: ../system/Widget/widgets/Account/Account.php:243
+#: ../system/Widget/widgets/Login/Login.php:115
+msgid "Password"
+msgstr "Passwort"
-#: ../system/Widget/widgets/Friendinfos/Friendinfos.php:42
-#~ msgid "Name given"
-#~ msgstr ""
+#: ../system/Widget/widgets/Account/Account.php:252
+msgid "Same here !"
+msgstr "Das gleiche hier."
-#: ../system/Widget/widgets/Friendinfos/Friendinfos.php:68
-#: ../system/Widget/widgets/Friendvcard/Friendvcard.php:54
-msgid "Website"
-msgstr "Website"
+#: ../system/Widget/widgets/Account/Account.php:254
+msgid "Retype"
+msgstr "Nochmal"
-#: ../system/Widget/widgets/Friendinfos/Friendinfos.php:45
-#~ msgid "About me"
-#~ msgstr ""
+#: ../system/Widget/widgets/Account/Account.php:263
+msgid "Pseudo"
+msgstr "Pseudo"
-#: ../system/Widget/widgets/Friendinfos/Friendinfos.php:62
-#~ msgid "Contact informations"
-#~ msgstr ""
+#: ../system/Widget/widgets/Account/Account.php:271
+msgid "Create"
+msgstr "Anlegen"
-#: ../system/Widget/widgets/Profile/Profile.php:87
-#~ msgid "Status"
-#~ msgstr ""
+#: ../system/Widget/widgets/Chat/Chat.php:50
+#: ../system/Widget/widgets/Logout/Logout.php:79
+msgid "Online"
+msgstr "Verbunden"
-#: ../system/Widget/widgets/Wall/Wall.php:35
-#~ msgid "This is my custom Wall widget."
-#~ msgstr ""
+#: ../system/Widget/widgets/Chat/Chat.php:51
+#: ../system/Widget/widgets/Logout/Logout.php:80
+msgid "Away"
+msgstr "Abwesend"
-#: ../system/Conf.php:14
-#: ../system/Conf.php:152
-msgid "Couldn't save img file %s"
-msgstr "Konnte die Bilddatei %s nicht speichern."
+#: ../system/Widget/widgets/Chat/Chat.php:52
+#: ../system/Widget/widgets/Logout/Logout.php:81
+msgid "Do Not Disturb"
+msgstr "Bitte nicht stören"
-#: ../system/Logger.php:27
-msgid "Cannot open log file '%s'"
-msgstr "Die Logdatei '%s' konnte nicht geöffnet werden."
+#: ../system/Widget/widgets/Chat/Chat.php:53
+#: ../system/Widget/widgets/Logout/Logout.php:82
+msgid "Extended Away"
+msgstr "Länger abwesend"
-#: ../system/Widget/widgets/Chat/Chat.php:120
-msgid "Composing"
-msgstr "Stelle zusammen"
+#: ../system/Widget/widgets/Chat/Chat.php:54
+msgid "Offline"
+msgstr "Nicht verbunden"
-#: ../system/Widget/widgets/Chat/Chat.php:134
-msgid "Paused"
-msgstr "Pausiert"
+#: ../system/Widget/widgets/Chat/Chat.php:232
+msgid "Composing..."
+msgstr "Baue Dinge zusammen..."
-#: ../system/Widget/widgets/Friendinfos/Friendinfos.php:70
-msgid "Date of birth"
-msgstr "Geburtsdatum"
+#: ../system/Widget/widgets/Config/Config.php:45
+msgid "Language"
+msgstr "Sprache"
-#: ../system/Widget/widgets/Friendinfos/Friendinfos.php:80
-msgid "Refresh the data"
-msgstr "Aktualisiere die Daten."
+#: ../system/Widget/widgets/Config/Config.php:59
+#: ../system/Widget/widgets/Feed/Feed.php:145
+#: ../system/Widget/widgets/Vcard/Vcard.php:111
+msgid "Submit"
+msgstr "Übernehmen"
-#: ../system/Widget/widgets/Friendinfos/Friendinfos.php:89
-msgid "Hye, I'm on Movim !"
-msgstr "Hallo, ich bin bei Movim!"
+#: ../system/Widget/widgets/Config/Config.php:60
+#: ../system/Widget/widgets/Vcard/Vcard.php:112
+msgid "Reset"
+msgstr "Zurücksetzen"
-#: ../system/Widget/widgets/Friendinfos/Friendinfos.php:130
+#: ../system/Widget/widgets/ContactCard/ContactCard.php:61
msgid "Remove this contact"
msgstr "Kontakt löschen"
-#: ../system/Widget/widgets/Friendvcard/Friendvcard.php:45
+#: ../system/Widget/widgets/ContactCard/ContactCard.php:75
+msgid "No"
+msgstr "Nein"
+
+#: ../system/Widget/widgets/ContactCard/ContactCard.php:88
+msgid "Yes"
+msgstr "Ja"
+
+#: ../system/Widget/widgets/ContactCard/ContactCard.php:100
+msgid "Chat"
+msgstr "Chat"
+
+#: ../system/Widget/widgets/ContactCard/ContactCard.php:108
+#: ../system/Widget/widgets/Vcard/Vcard.php:67
msgid "General Informations"
msgstr "Allgemeine Angaben"
-#: ../system/Widget/widgets/Friendvcard/Friendvcard.php:47
+#: ../system/Widget/widgets/ContactCard/ContactCard.php:110
+#: ../system/Widget/widgets/Vcard/Vcard.php:69
msgid "Name"
msgstr "Name"
-#: ../system/Widget/widgets/Friendvcard/Friendvcard.php:49
-msgid "Adress"
+#: ../system/Widget/widgets/ContactCard/ContactCard.php:111
+#: ../system/Widget/widgets/Vcard/Vcard.php:72
+msgid "Nickname"
+msgstr "Benutzername"
+
+#: ../system/Widget/widgets/ContactCard/ContactCard.php:112
+msgid "Address"
msgstr "Adresse"
-#: ../system/Widget/widgets/Friendvcard/Friendvcard.php:50
+#: ../system/Widget/widgets/ContactCard/ContactCard.php:114
+#: ../system/Widget/widgets/Vcard/Vcard.php:75
msgid "Date of Birth"
msgstr "Geburtsdatum"
-#: ../system/Widget/widgets/Friendvcard/Friendvcard.php:55
+#: ../system/Widget/widgets/ContactCard/ContactCard.php:118
+#: ../system/Widget/widgets/Vcard/Vcard.php:80
+msgid "Website"
+msgstr "Website"
+
+#: ../system/Widget/widgets/ContactCard/ContactCard.php:119
+#: ../system/Widget/widgets/Vcard/Vcard.php:85
msgid "Avatar"
msgstr "Benutzerbild"
-#: ../system/Widget/widgets/Friendvcard/Friendvcard.php:58
+#: ../system/Widget/widgets/ContactCard/ContactCard.php:122
+#: ../system/Widget/widgets/Vcard/Vcard.php:92
msgid "About Me"
-msgstr "Über mich"
+msgstr "Persönliche Angaben"
-#: ../system/Widget/widgets/Friendvcard/Friendvcard.php:141
-msgid "Profile"
-msgstr "Profil"
+#: ../system/Widget/widgets/Feed/Feed.php:44
+msgid "Loading your feed ..."
+msgstr "Lade ihr Feed ..."
+
+#: ../system/Widget/widgets/Feed/Feed.php:55
+msgid "Get older posts"
+msgstr "ältere Beiträge"
+
+#: ../system/Widget/widgets/Feed/Feed.php:87
+msgid "Me"
+msgstr "Mich"
+
+#: ../system/Widget/widgets/Feed/Feed.php:93
+msgid "Get the comments"
+msgstr "Kommentare anzeigen"
+
+#: ../system/Widget/widgets/Feed/Feed.php:100
+msgid "Your feed cannot be loaded."
+msgstr "Ihr Feed kann nicht geladen werden."
+
+#: ../system/Widget/widgets/Feed/Feed.php:133
+#: ../system/Widget/widgets/Wall/Wall.php:102
+msgid "Feed"
+msgstr "Meldungen"
+
+#: ../system/Widget/widgets/Feed/Feed.php:141
+msgid "What's new ?"
+msgstr "Was ist neu ?"
+
+#: ../system/Widget/widgets/Feed/Feed.php:160
+msgid "All"
+msgstr "Alle"
+
+#: ../system/Widget/widgets/Feed/Feed.php:161
+msgid "My Posts"
+msgstr "Meine Beiträge"
+
+#: ../system/Widget/widgets/Feed/Feed.php:174
+msgid "Create the feed"
+msgstr ""
+
+#: ../system/Widget/widgets/Login/Login.php:34
+msgid "Wrong username"
+msgstr "Falscher Benutzername"
+
+#: ../system/Widget/widgets/Login/Login.php:40
+msgid "Invalid JID"
+msgstr "Ungültige Jabber-ID"
+
+#: ../system/Widget/widgets/Login/Login.php:46
+msgid "The XMPP authentification failed"
+msgstr "Die XMPP-Authentifizierung ist fehlgeschlagen."
+
+#: ../system/Widget/widgets/Login/Login.php:52
+msgid "The current BOSH URL in invalid"
+msgstr "Die aktuelle BOSH-URL ist ungültig"
-#: ../system/Widget/widgets/Notifs/Notifs.php:39
+#: ../system/Widget/widgets/Login/Login.php:58
+msgid "Internal server error"
+msgstr "Interner Server-Fehler"
+
+#: ../system/Widget/widgets/Login/Login.php:64
+msgid "Session error"
+msgstr "Sitzungsfehler"
+
+#: ../system/Widget/widgets/Login/Login.php:70
+msgid "Account successfully created"
+msgstr "Das Konto wurde erfolgreich angelegt."
+
+#: ../system/Widget/widgets/Login/Login.php:78
+msgid "Your web browser is too old to use with Movim."
+msgstr "Dein Webbrowser ist zu alt für Movim."
+
+#: ../system/Widget/widgets/Login/Login.php:117
+msgid "Come in!"
+msgstr "Komm‘ herein!"
+
+#: ../system/Widget/widgets/Login/Login.php:124
+#, php-format
+msgid "This server host %s accounts"
+msgstr "Auf diesem Server befinden sich %s Benutzerkonten"
+
+#: ../system/Widget/widgets/Log/Log.php:33
+msgid "Debug console"
+msgstr "Debug Konsole"
+
+#: ../system/Widget/widgets/Logout/Logout.php:83
+msgid "Logout"
+msgstr "Abmelden"
+
+#: ../system/Widget/widgets/Notifs/Notifs.php:45
msgid "wants to talk with you"
msgstr "will mit dir sprechen"
-#: ../system/Widget/widgets/Notifs/Notifs.php:41
+#: ../system/Widget/widgets/Notifs/Notifs.php:47
msgid "Accept"
msgstr "Fertig"
-#: ../system/Widget/widgets/Notifs/Notifs.php:42
-#: ../system/Widget/widgets/Notifs/Notifs.php:98
+#: ../system/Widget/widgets/Notifs/Notifs.php:48
+#: ../system/Widget/widgets/Notifs/Notifs.php:100
msgid "Validate"
msgstr "Überprüfe"
-#: ../system/Widget/widgets/Notifs/Notifs.php:43
+#: ../system/Widget/widgets/Notifs/Notifs.php:49
msgid "Decline"
msgstr "Ablehnen"
-#: ../system/Widget/widgets/Notifs/Notifs.php:97
+#: ../system/Widget/widgets/Notifs/Notifs.php:99
msgid "Alias"
msgstr "Alias"
-#: ../system/Widget/widgets/Notifs/Notifs.php:99
+#: ../system/Widget/widgets/Notifs/Notifs.php:101
msgid "Add a contact"
msgstr "Füge einen Kontakt hinzu"
-#: ../system/Widget/widgets/Profile/Profile.php:35
-msgid "Do not disturb"
-msgstr "Bitte nicht stören."
-
-#: ../system/Widget/widgets/Profile/Profile.php:37
-msgid "Away for a long time"
-msgstr "Abwesend für längere Zeit"
+#: ../system/Widget/widgets/Roster/Roster.php:107
+msgid "Show All"
+msgstr "Alle anzeigen"
-#: ../system/Widget/widgets/Wall/Wall.php:44
-msgid "Get the comments"
-msgstr "Kommentare anzeigen"
+#: ../system/Widget/widgets/Vcard/Vcard.php:54
+msgid "Create my vCard"
+msgstr ""
-#: ../system/Widget/widgets/Wall/Wall.php:51
-msgid "Contact's feed cannot be loaded."
-msgstr "Die Meldungen dieses KOntaktes können nicht geladen werden."
+#: ../system/Widget/widgets/Vcard/Vcard.php:111
+msgid "Submitting"
+msgstr ""
-#: ../system/Widget/widgets/Wall/Wall.php:69
-msgid "Feed"
-msgstr "Meldungen"
+#: ../system/Widget/widgets/Wall/Wall.php:63
+#: ../system/Widget/widgets/Wall/Wall.php:109
+msgid "Follow"
+msgstr "Folgen"
-#: ../system/Widget/widgets/Wall/Wall.php:73
+#: ../system/Widget/widgets/Wall/Wall.php:122
msgid "Loading the contact feed ..."
msgstr "Lade die Meldungen..."
-
diff --git a/install/part2.php b/install/part2.php
index 0f9dad22a..b52d9d0c7 100644
--- a/install/part2.php
+++ b/install/part2.php
@@ -158,6 +158,9 @@ if(isset($_POST['install'])) {
// We create correctly the tables
global $sdb;
+ $caps = new Caps();
+ $sdb->create($caps);
+
$contact = new Contact();
$sdb->create($contact);
diff --git a/loader.php b/loader.php
index c5363cc75..93d425a2a 100644
--- a/loader.php
+++ b/loader.php
@@ -17,6 +17,7 @@ require_once(LIB_PATH . "Lang/i18n.php");
require_once(LIB_PATH . "Datajar/loader.php");
load_datajar(array('sqlite'));
+require_once(LIB_PATH . "Datas/Caps.php");
require_once(LIB_PATH . "Datas/ConfVar.php");
require_once(LIB_PATH . "Datas/Contact.php");
require_once(LIB_PATH . "Datas/Presence.php");
diff --git a/system/Datas/Caps.php b/system/Datas/Caps.php
new file mode 100644
index 000000000..d1f6fd7ff
--- /dev/null
+++ b/system/Datas/Caps.php
@@ -0,0 +1,44 @@
+node = DatajarType::varchar(256);
+ $this->category = DatajarType::varchar(128);
+ $this->type = DatajarType::varchar(128);
+ $this->name = DatajarType::varchar(128);
+ $this->features = DatajarType::text();
+ }
+
+ public function setCaps($query) {
+ $this->node->setval($query['@attributes']['node']);
+ $this->category->setval($query['identity']['@attributes']['category']);
+ $this->type->setval($query['identity']['@attributes']['type']);
+ $this->name->setval($query['identity']['@attributes']['name']);
+ $this->features->setval(serialize($query['feature']));
+ }
+
+ public function getData($data) {
+ return $this->$data->getval();
+ }
+}
+
+class CapsHandler {
+ private $instance;
+
+ public function __construct() {
+ $this->instance = new Caps();
+ }
+
+ public function get($node) {
+ global $sdb;
+ $user = new User();
+ $sdb->load($this->instance, array('node' => $node));
+ return $this->instance;
+ }
+}
diff --git a/system/Datas/Presence.php b/system/Datas/Presence.php
index 086416fb4..276a52dbc 100644
--- a/system/Datas/Presence.php
+++ b/system/Datas/Presence.php
@@ -9,6 +9,9 @@ class Presence extends DatajarBase {
protected $priority;
protected $status;
+ protected $node;
+ protected $ver;
+
protected function type_init() {
$this->key = DatajarType::varchar(128);
$this->jid = DatajarType::varchar(128);
@@ -17,6 +20,9 @@ class Presence extends DatajarBase {
$this->presence = DatajarType::int();
$this->priority = DatajarType::int();
$this->status = DatajarType::text();
+
+ $this->node = DatajarType::varchar(128);
+ $this->ver = DatajarType::varchar(128);
}
public function setPresence($array) {
@@ -28,6 +34,9 @@ class Presence extends DatajarBase {
$this->ressource->setval($ressource);
$this->status->setval($array['status']);
+ $this->node->setval($array['c']['@attributes']['node']);
+ $this->ver->setval($array['c']['@attributes']['ver']);
+
$this->priority->setval($array['priority']);
if($array['@attributes']['type'] == 'error') {
@@ -62,14 +71,18 @@ class Presence extends DatajarBase {
$arr['presence_txt'] = $txt[$this->presence->getval()];
$arr['priority'] = $this->priority->getval();
$arr['status'] = $this->status->getval();
+ $arr['node'] = $this->node->getval();
+ $arr['ver'] = $this->ver->getval();
return $arr;
}
}
class PresenceHandler {
+ private $instance;
+
public function __contruct() {
-
+ $this->instance = new Presence();
}
static public function getPresence($jid, $one = false, $ressource = false) {
diff --git a/system/Jabber.php b/system/Jabber.php
index a15b9d632..aa5d32075 100644
--- a/system/Jabber.php
+++ b/system/Jabber.php
@@ -77,7 +77,6 @@ class Jabber
// Connect-Disconnect
$this->jaxl->addPlugin('jaxl_post_auth', array(&$this, 'postAuth'));
$this->jaxl->addPlugin('jaxl_post_auth_failure', array(&$this, 'postAuthFailure'));
- //$this->jaxl->addPlugin('jaxl_post_roster_update', array(&$this, 'postRosterUpdate'));
$this->jaxl->addPlugin('jaxl_post_disconnect', array(&$this, 'postDisconnect'));
$this->jaxl->addPlugin('jaxl_get_auth_mech', array(&$this, 'postAuthMech'));
@@ -144,6 +143,15 @@ class Jabber
self::setStatus(t('Connecting...'), false, false, true);
}
+
+ /**
+ * postAuth
+ *
+ * @return void
+ */
+ public function postAuth() {
+
+ }
/**
* postAuthFailure
@@ -256,7 +264,7 @@ class Jabber
*/
public function getIq($payload) {
$payload = $payload['movim'];
-
+
global $sdb;
$evt = new Event();
@@ -284,11 +292,23 @@ class Jabber
$evt->runEvent('vcard', $contact);
}
}
-
+
+ elseif($payload['@attributes']['xmlns'] == 'http://jabber.org/protocol/disco#info') {
+ global $sdb;
+
+ $c = new CapsHandler();
+ $caps = $c->get($payload['query']['@attributes']['node']);
+ $caps->setCaps($payload['query']);
+
+ $sdb->save($caps);
+ }
+
// Roster case
elseif($payload['@attributes']['xmlns'] == 'jabber:iq:roster') {
- if($payload['@attributes']['type'] == "result") {
- global $sdb;
+ global $sdb;
+
+ // If we got the full roster list
+ if($payload['@attributes']['type'] == 'result') {
foreach($payload['query']['item'] as $item) {
// If we've got only one item in the roster we use it as the only one
@@ -302,8 +322,23 @@ class Jabber
}
$evt->runEvent('roster', $payload);
- } elseif($payload['type'] == "set") {
- $this->getRosterList();
+ }
+ // If we got only one item
+ elseif($payload['@attributes']['type'] == "set") {
+ $c = new ContactHandler();
+
+ $item = $payload['query']['item'];
+ $contact = $c->get($item['@attributes']['jid']);
+
+ if($item['@attributes']['subscription'] == 'remove') {
+ //$sdb->delete($contact);
+ $evt->runEvent('contactremove', $item['@attributes']['jid']);
+ }
+ elseif(in_array($item['@attributes']['subscription'], array('from', 'to', 'both'))) {
+ $contact->setContactRosterItem($item);
+ $sdb->save($contact);
+ $evt->runEvent('contactadd', $item['@attributes']['jid']);
+ }
}
}
elseif(isset($payload['pubsub']) && !(isset($payload['error']))) {
@@ -377,15 +412,13 @@ class Jabber
if($payload['offline'] != JAXL0203::$ns && $payload['type'] == 'chat') { // reject offline message
- if($payload['chatState'] == 'active' && $payload['body'] == NULL) {
+ if($payload['chatState'] == 'active' && $payload['body'] == NULL)
$evt->runEvent('incomeactive', $payload);
- }
- elseif($payload['chatState'] == 'composing') {
+ elseif($payload['chatState'] == 'composing')
$evt->runEvent('composing', $payload);
- }
- elseif($payload['chatState'] == 'paused') {
+ elseif($payload['chatState'] == 'paused')
$evt->runEvent('paused', $payload);
- }
+
else {
global $sdb;
$m = new Message();
@@ -432,28 +465,35 @@ class Jabber
$evt = new Event();
foreach($payloads as $payload) {
+
$payload = $payload['movim'];
+ movim_log($payload);
if($payload['@attributes']['type'] == 'subscribe') {
$evt->runEvent('subscribe', $payload);
- } elseif($payload['@attributes']['type'] == 'result') {
-
- } elseif(in_array($payload['@attributes']['type'], array('available', 'unavailable', '', 'error'))) {
+ }
+ else {
// We update the presences
list($jid, $ressource) = explode('/',$payload['@attributes']['from']);
- // We ask for the entity-capabilities
- if(isset($payload['c'])) {
- $this->jaxl->JAXL0030(
- 'discoInfo',
- $payload['@attributes']['from'],
- $this->jaxl->jid,
- false,
- $payload['c']['@attributes']['node'].'#'.$payload['c']['@attributes']['ver']
- );
+ // We ask for the entity-capabilities and we prevent to ask our own capabilities
+ if(isset($payload['c']) && $jid != $this->getCleanJid()) {
+ $c = new CapsHandler();
+ $caps = $c->get($payload['c']['@attributes']['node'].'#'.$payload['c']['@attributes']['ver']);
+
+ // We ask for the caps only if we haven't found it in the database
+ if($caps->getData('category') == null) {
+ $this->jaxl->JAXL0030(
+ 'discoInfo',
+ $payload['@attributes']['from'],
+ $this->getCleanJid(),
+ false,
+ $payload['c']['@attributes']['node'].'#'.$payload['c']['@attributes']['ver']
+ );
+ }
}
-
- $presence = $sdb->select('Presence', array(
+
+ $presence = $sdb->select('Presence', array(
'key' => $this->getCleanJid(),
'jid' => $jid,
'ressource' => $ressource
@@ -483,11 +523,6 @@ class Jabber
$evt->runEvent('incomingemptybody', 'ping');
}
- /*public function postRosterUpdate($payload) {
- $evt = new Event();
- $evt->runEvent('rosterreceived', $payload);
- }*/
-
/**
* Ask for a vCard
*
@@ -573,10 +608,7 @@ class Jabber
*/
public function discover($jid = false)
{
- //$this->jaxl->JAXL0030('discoInfo', $jid, $this->jaxl->jid, false, false);
- //$this->jaxl->JAXL0030('discoItems', $jid, $this->jaxl->jid, false, false);mov
$this->jaxl->JAXL0277('getItems', 'edhelas@jappix.com');
- //psgxs.linkmauve.fr
}
public function discoNodes($pod)
diff --git a/system/Widget/widgets/ContactCard/ContactCard.php b/system/Widget/widgets/ContactCard/ContactCard.php
index 99ea2ba4d..c157f9b6f 100644
--- a/system/Widget/widgets/ContactCard/ContactCard.php
+++ b/system/Widget/widgets/ContactCard/ContactCard.php
@@ -131,6 +131,31 @@ class ContactCard extends WidgetBase
$html .= '
';
+
+ if($presence['node'] != '' && $presence['ver'] != '') {
+ $clienttype =
+ array(
+ 'bot' => t('Bot'),
+ 'pc' => t('Desktop'),
+ 'phone' => t('Phone')
+ );
+
+ $c = new CapsHandler();
+ $caps = $c->get($presence['node'].'#'.$presence['ver']);
+
+ $html .='
+ ';
+ }
+
return $html;
}
diff --git a/system/Widget/widgets/Logout/Logout.php b/system/Widget/widgets/Logout/Logout.php
index 021e24b9b..176d9be45 100644
--- a/system/Widget/widgets/Logout/Logout.php
+++ b/system/Widget/widgets/Logout/Logout.php
@@ -101,7 +101,7 @@ class Logout extends WidgetBase
';
$presence = Cache::c('presence');
if($presence['boot'])
- $html .= '';
+ $html .= '';
return $html;
}
diff --git a/system/Widget/widgets/Roster/Roster.php b/system/Widget/widgets/Roster/Roster.php
index 4e02fabf2..ee4911d27 100644
--- a/system/Widget/widgets/Roster/Roster.php
+++ b/system/Widget/widgets/Roster/Roster.php
@@ -27,6 +27,8 @@ class Roster extends WidgetBase
$this->addcss('roster.css');
$this->addjs('roster.js');
$this->registerEvent('roster', 'onRoster');
+ $this->registerEvent('contactadd', 'onRoster');
+ $this->registerEvent('contactremove', 'onRoster');
$this->registerEvent('presence', 'onPresence');
$this->registerEvent('vcard', 'onVcard');
}