Browse Source

move images, css and js scripts for the mumble app into a media dir (like the admin), language update

Natenom/support-murmur-13-1446181288462
Michael Ziegler 14 years ago
parent
commit
cef594efb9
  1. 505
      pyweb/mumble/locale/de/LC_MESSAGES/django.po
  2. 173
      pyweb/mumble/locale/de/LC_MESSAGES/djangojs.po
  3. 0
      pyweb/mumble/media/css/style.css
  4. 0
      pyweb/mumble/media/img/authenticated.png
  5. 0
      pyweb/mumble/media/img/channel.png
  6. 0
      pyweb/mumble/media/img/channel_linked.png
  7. 0
      pyweb/mumble/media/img/comment.png
  8. 0
      pyweb/mumble/media/img/comment_seen.png
  9. 0
      pyweb/mumble/media/img/deafened_self.png
  10. 0
      pyweb/mumble/media/img/deafened_server.png
  11. 0
      pyweb/mumble/media/img/knoten_h.png
  12. 0
      pyweb/mumble/media/img/knoten_h_trans.png
  13. 0
      pyweb/mumble/media/img/knoten_v.png
  14. 0
      pyweb/mumble/media/img/knoten_v_trans.png
  15. 0
      pyweb/mumble/media/img/linie_h.png
  16. 0
      pyweb/mumble/media/img/linie_h_trans.png
  17. 0
      pyweb/mumble/media/img/linie_v.png
  18. 0
      pyweb/mumble/media/img/linie_v_trans.png
  19. 0
      pyweb/mumble/media/img/mumble.16x16.png
  20. 0
      pyweb/mumble/media/img/mumble.64x64.png
  21. 0
      pyweb/mumble/media/img/muted_self.png
  22. 0
      pyweb/mumble/media/img/muted_server.png
  23. 0
      pyweb/mumble/media/img/muted_suppressed.png
  24. 0
      pyweb/mumble/media/img/priority_speaker.png
  25. 0
      pyweb/mumble/media/img/talking_off.png
  26. 0
      pyweb/mumble/media/img/talking_on.png
  27. 0
      pyweb/mumble/media/js/buttoniframewindow.js
  28. 24
      pyweb/mumble/media/js/channelviewer.js
  29. 0
      pyweb/mumble/media/js/loginout_buttons.js
  30. 0
      pyweb/mumble/media/js/logviewer.js
  31. 0
      pyweb/mumble/media/js/rendermumbleserver.js
  32. 0
      pyweb/mumble/media/js/usereditor.js
  33. 13
      pyweb/mumble/templates/mumble/mumble.html
  34. 19
      pyweb/mumble/urls.py
  35. 4
      pyweb/processors.py
  36. 3
      pyweb/settings.py
  37. 4
      pyweb/templates/index.html

505
pyweb/mumble/locale/de/LC_MESSAGES/django.po

@ -16,7 +16,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Mumble-Django v0.8\n" "Project-Id-Version: Mumble-Django v0.8\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-05-02 14:31+0200\n"
"POT-Creation-Date: 2010-08-04 20:58+0200\n"
"PO-Revision-Date: 2010-05-02 14:31\n" "PO-Revision-Date: 2010-05-02 14:31\n"
"Last-Translator: <de@de.de>\n" "Last-Translator: <de@de.de>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -28,15 +28,15 @@ msgstr ""
msgid "Master is running" msgid "Master is running"
msgstr "Serverprozess läuft" msgstr "Serverprozess läuft"
#: admin.py:43 templates/mumble/mumble.html:33
#: admin.py:43
msgid "Server version" msgid "Server version"
msgstr "Serverversion" msgstr "Serverversion"
#: admin.py:67 models.py:204 templates/mumble/mumble.html:28
#: admin.py:67 models.py:189
msgid "Server Address" msgid "Server Address"
msgstr "Serveradresse" msgstr "Serveradresse"
#: admin.py:74 models.py:207
#: admin.py:74 models.py:192
msgid "Server Port" msgid "Server Port"
msgstr "Serverport" msgstr "Serverport"
@ -68,53 +68,58 @@ msgstr "Nein"
msgid "Public" msgid "Public"
msgstr "Öffentlich" msgstr "Öffentlich"
#: admin.py:140 models.py:702 templates/mumble/mumble.html:235
#: admin.py:140 models.py:686
msgid "Admin on root channel" msgid "Admin on root channel"
msgstr "Admin im Wurzelkanal" msgstr "Admin im Wurzelkanal"
#: forms.py:84
#: forms.py:112
msgid "Password required to join. Leave empty for public servers." msgid "Password required to join. Leave empty for public servers."
msgstr "" msgstr ""
"Passwort was zum Verbinden benötigt wird. Lasse es leer, wenn der Server " "Passwort was zum Verbinden benötigt wird. Lasse es leer, wenn der Server "
"öffentlich sein soll." "öffentlich sein soll."
#: forms.py:87
#: forms.py:115
msgid "If on, IP adresses of the clients are not logged." msgid "If on, IP adresses of the clients are not logged."
msgstr "" msgstr ""
"Wenn das an ist werden IP-Adressen der Clients nicht ins Log geschrieben." "Wenn das an ist werden IP-Adressen der Clients nicht ins Log geschrieben."
#: forms.py:143
#: forms.py:174
#, python-format #, python-format
msgid "" msgid ""
"Port number %(portno)d is not within the allowed range %(minrange)d - %"
"(maxrange)d"
"Port number %(portno)d is not within the allowed range %(minrange)d - "
"%(maxrange)d"
msgstr "Portnummer %(portno)d liegt nicht in %(minrange)d - %(maxrange)d" msgstr "Portnummer %(portno)d liegt nicht in %(minrange)d - %(maxrange)d"
#: forms.py:153
#: forms.py:184
msgid "Default config" msgid "Default config"
msgstr "Standard-Einstellungen" msgstr "Standard-Einstellungen"
#: forms.py:166 templates/mumble/offline.html:12
#: forms.py:198 templates/mumble/offline.html:12
msgid "This server is currently offline." msgid "This server is currently offline."
msgstr "Dieser Server ist im Moment nicht erreichbar." msgstr "Dieser Server ist im Moment nicht erreichbar."
#: forms.py:191
#: forms.py:207
#, fuzzy
msgid "Password"
msgstr "Serverpasswort"
#: forms.py:244
msgid "That name is forbidden by the server." msgid "That name is forbidden by the server."
msgstr "Dieser Name wird vom Server nicht erlaubt." msgstr "Dieser Name wird vom Server nicht erlaubt."
#: forms.py:194 models.py:654
#: forms.py:247 models.py:638
msgid "Another player already registered that name." msgid "Another player already registered that name."
msgstr "Ein anderer Spieler hat sich unter diesem Namen bereits registriert." msgstr "Ein anderer Spieler hat sich unter diesem Namen bereits registriert."
#: forms.py:202 forms.py:308 models.py:656
#: forms.py:255 forms.py:377 models.py:640
msgid "Cannot register player without a password!" msgid "Cannot register player without a password!"
msgstr "Kann Account nicht ohne Passwort registrieren!" msgstr "Kann Account nicht ohne Passwort registrieren!"
#: forms.py:214 models.py:221
#: forms.py:267 models.py:206
msgid "Server Password" msgid "Server Password"
msgstr "Serverpasswort" msgstr "Serverpasswort"
#: forms.py:215
#: forms.py:268
msgid "" msgid ""
"This server is private and protected mode is active. Please enter the server " "This server is private and protected mode is active. Please enter the server "
"password." "password."
@ -122,15 +127,15 @@ msgstr ""
"Dieser Server ist privat und der Registrierungsschutz ist aktiv. Bitte gib " "Dieser Server ist privat und der Registrierungsschutz ist aktiv. Bitte gib "
"das Serverpasswort ein." "das Serverpasswort ein."
#: forms.py:223 forms.py:275
#: forms.py:284 forms.py:344
msgid "The password you entered is incorrect." msgid "The password you entered is incorrect."
msgstr "Das eingegebene Passwort ist falsch" msgstr "Das eingegebene Passwort ist falsch"
#: forms.py:238
#: forms.py:299
msgid "Link account" msgid "Link account"
msgstr "Accounts verknüpfen" msgstr "Accounts verknüpfen"
#: forms.py:239
#: forms.py:300
msgid "" msgid ""
"The account already exists and belongs to me, just link it instead of " "The account already exists and belongs to me, just link it instead of "
"creating." "creating."
@ -138,32 +143,31 @@ msgstr ""
"Dieser Account existiert bereits und gehört mir. Verknüpfe die Konten nur, " "Dieser Account existiert bereits und gehört mir. Verknüpfe die Konten nur, "
"anstatt ein neues zu erstellen." "anstatt ein neues zu erstellen."
#: forms.py:256
#: forms.py:325
msgid "No such user found." msgid "No such user found."
msgstr "Benutzer nicht gefunden." msgstr "Benutzer nicht gefunden."
#: forms.py:291
#: forms.py:360
msgid "That account belongs to someone else." msgid "That account belongs to someone else."
msgstr "Dieser Account gehört jemand anderem." msgstr "Dieser Account gehört jemand anderem."
#: forms.py:294
#: forms.py:363
msgid "Linking Admin accounts is not allowed." msgid "Linking Admin accounts is not allowed."
msgstr "Admin-Accounts zu verknüpfen ist nicht erlaubt." msgstr "Admin-Accounts zu verknüpfen ist nicht erlaubt."
#: forms.py:323
#: forms.py:392
msgid "Use my Gravatar as my Texture" msgid "Use my Gravatar as my Texture"
msgstr "Gravatar als Textur verwenden" msgstr "Gravatar als Textur verwenden"
#: forms.py:324 templates/mumble/mumble.html:65
#: templates/mumble/mumble.html.py:160 templates/mumble/mumble.html:290
#: forms.py:393
msgid "User Texture" msgid "User Texture"
msgstr "Benutzertextur" msgstr "Benutzertextur"
#: models.py:84
#: models.py:69
msgid "DBus or ICE base" msgid "DBus or ICE base"
msgstr "DBus- oder ICE-String" msgstr "DBus- oder ICE-String"
#: models.py:85
#: models.py:70
msgid "" msgid ""
"Examples: 'net.sourceforge.mumble.murmur' for DBus or 'Meta:tcp -h 127.0.0.1 " "Examples: 'net.sourceforge.mumble.murmur' for DBus or 'Meta:tcp -h 127.0.0.1 "
"-p 6502' for Ice." "-p 6502' for Ice."
@ -171,27 +175,27 @@ msgstr ""
"Beispiele: 'net.sourceforge.mumble.murmur' für DBus oder 'Meta:tcp -h " "Beispiele: 'net.sourceforge.mumble.murmur' für DBus oder 'Meta:tcp -h "
"127.0.0.1 -p 6502' für Ice." "127.0.0.1 -p 6502' für Ice."
#: models.py:86
#: models.py:71
msgid "Ice Secret" msgid "Ice Secret"
msgstr "Ice-Passwort" msgstr "Ice-Passwort"
#: models.py:89 models.py:201
#: models.py:74 models.py:186
msgid "Mumble Server" msgid "Mumble Server"
msgstr "Mumble-Server" msgstr "Mumble-Server"
#: models.py:90
#: models.py:75
msgid "Mumble Servers" msgid "Mumble Servers"
msgstr "Mumble-Server" msgstr "Mumble-Server"
#: models.py:202
#: models.py:187
msgid "Server Name" msgid "Server Name"
msgstr "Servername" msgstr "Servername"
#: models.py:203
#: models.py:188
msgid "Server ID" msgid "Server ID"
msgstr "Server-ID" msgstr "Server-ID"
#: models.py:205
#: models.py:190
msgid "" msgid ""
"Hostname or IP address to bind to. You should use a hostname here, because " "Hostname or IP address to bind to. You should use a hostname here, because "
"it will appear on the global server list." "it will appear on the global server list."
@ -200,17 +204,17 @@ msgstr ""
"solltest einen Hostname verwenden, da dieses Feld in der globalen " "solltest einen Hostname verwenden, da dieses Feld in der globalen "
"Serverliste erscheint." "Serverliste erscheint."
#: models.py:208
#: models.py:193
msgid "Port number to bind to. Leave empty to auto assign one." msgid "Port number to bind to. Leave empty to auto assign one."
msgstr "" msgstr ""
"Portnummer auf die gebunden werden soll. Lasse das Feld leer um automatisch " "Portnummer auf die gebunden werden soll. Lasse das Feld leer um automatisch "
"eine zuzuweisen." "eine zuzuweisen."
#: models.py:209
#: models.py:194
msgid "Server Display Address" msgid "Server Display Address"
msgstr "Angezeigte Adresse" msgstr "Angezeigte Adresse"
#: models.py:210
#: models.py:195
msgid "" msgid ""
"This field is only relevant if you are located behind a NAT, and names the " "This field is only relevant if you are located behind a NAT, and names the "
"Hostname or IP address to use in the Channel Viewer and for the global " "Hostname or IP address to use in the Channel Viewer and for the global "
@ -223,364 +227,323 @@ msgstr ""
"leer, werden die Angaben Addresse und Port stattdessen benutzt. Wenn die " "leer, werden die Angaben Addresse und Port stattdessen benutzt. Wenn die "
"Ports identisch sind, kannst du den Port hier weglassen." "Ports identisch sind, kannst du den Port hier weglassen."
#: models.py:216
#: models.py:201
msgid "Superuser Password" msgid "Superuser Password"
msgstr "SuperUser-Passwort" msgstr "SuperUser-Passwort"
#: models.py:219
#: models.py:204
msgid "Website URL" msgid "Website URL"
msgstr "URL der Webseite" msgstr "URL der Webseite"
#: models.py:220
#: models.py:205
msgid "Welcome Message" msgid "Welcome Message"
msgstr "Willkommensnachricht" msgstr "Willkommensnachricht"
#: models.py:222
#: models.py:207
msgid "Max. Users" msgid "Max. Users"
msgstr "Max. Benutzer" msgstr "Max. Benutzer"
#: models.py:223
#: models.py:208
msgid "Bandwidth [Bps]" msgid "Bandwidth [Bps]"
msgstr "Bandbreite [Bps]" msgstr "Bandbreite [Bps]"
#: models.py:224
#: models.py:209
msgid "SSL Certificate" msgid "SSL Certificate"
msgstr "SSL-Zertifikat" msgstr "SSL-Zertifikat"
#: models.py:225
#: models.py:210
msgid "SSL Key" msgid "SSL Key"
msgstr "SSL-Schlüssel" msgstr "SSL-Schlüssel"
#: models.py:226
#: models.py:211
msgid "Player name regex" msgid "Player name regex"
msgstr "Regex für Spielernamen" msgstr "Regex für Spielernamen"
#: models.py:227
#: models.py:212
msgid "Channel name regex" msgid "Channel name regex"
msgstr "Regex für Channelnamen" msgstr "Regex für Channelnamen"
#: models.py:228
#: models.py:213
msgid "Default channel" msgid "Default channel"
msgstr "Standardchannel" msgstr "Standardchannel"
#: models.py:229
#: models.py:214
msgid "Timeout" msgid "Timeout"
msgstr "Timeout" msgstr "Timeout"
#: models.py:230
#: models.py:215
msgid "Maximum length of text messages"
msgstr "Maximale Länge von Textnachrichten"
#: models.py:216
msgid "Users per channel" msgid "Users per channel"
msgstr "Max. Benutzer pro Kanal" msgstr "Max. Benutzer pro Kanal"
#: models.py:232
#: models.py:218
msgid "IP Obfuscation" msgid "IP Obfuscation"
msgstr "IP-Adressen anonymisieren" msgstr "IP-Adressen anonymisieren"
#: models.py:233
#: models.py:219
msgid "Require Certificate" msgid "Require Certificate"
msgstr "SSL-Zertifikat erzwingen" msgstr "SSL-Zertifikat erzwingen"
#: models.py:234
msgid "Maximum length of text messages"
msgstr "Maximale Länge von Textnachrichten"
#: models.py:235
#: models.py:220
msgid "Allow HTML to be used in messages" msgid "Allow HTML to be used in messages"
msgstr "Erlaube HTML in Nachrichten" msgstr "Erlaube HTML in Nachrichten"
#: models.py:236
#: models.py:221
msgid "Publish this server via Bonjour" msgid "Publish this server via Bonjour"
msgstr "Server via Bonjour bekannt machen" msgstr "Server via Bonjour bekannt machen"
#: models.py:237
#: models.py:222
msgid "Boot Server when Murmur starts" msgid "Boot Server when Murmur starts"
msgstr "Instanz starten wenn Murmur startet" msgstr "Instanz starten wenn Murmur startet"
#: models.py:255 models.py:256
#: models.py:240 models.py:241
msgid "Boot Server" msgid "Boot Server"
msgstr "Server starten" msgstr "Server starten"
#: models.py:265 models.py:612
#: models.py:250 models.py:596
msgid "Server instance" msgid "Server instance"
msgstr "Serverinstanz" msgstr "Serverinstanz"
#: models.py:266
#: models.py:251
msgid "Server instances" msgid "Server instances"
msgstr "Serverinstanzen" msgstr "Serverinstanzen"
#: models.py:572 models.py:778
#: models.py:550 models.py:762
msgid "This field must not be updated once the record has been saved." msgid "This field must not be updated once the record has been saved."
msgstr "" msgstr ""
"Dieses Feld darf nicht mehr verändert werden, nachdem der Eintrag zum ersten " "Dieses Feld darf nicht mehr verändert werden, nachdem der Eintrag zum ersten "
"Mal gespeichert wurde." "Mal gespeichert wurde."
#: models.py:609
#: models.py:593
msgid "Mumble player_id" msgid "Mumble player_id"
msgstr "ID des Spielers in Murmur" msgstr "ID des Spielers in Murmur"
#: models.py:610
#: models.py:594
msgid "User name and Login" msgid "User name and Login"
msgstr "Benutzername und Login" msgstr "Benutzername und Login"
#: models.py:611
#: models.py:595
msgid "Login password" msgid "Login password"
msgstr "Passwort" msgstr "Passwort"
#: models.py:613 templates/mumble/mumble.html:305
#: models.py:597
msgid "Account owner" msgid "Account owner"
msgstr "Accountbesitzer" msgstr "Accountbesitzer"
#: models.py:615
#: models.py:599
msgid "The user's comment." msgid "The user's comment."
msgstr "Benutzer-Kommentar" msgstr "Benutzer-Kommentar"
#: models.py:616
#: models.py:600
msgid "The user's hash." msgid "The user's hash."
msgstr "Signatur des Zertifikats" msgstr "Signatur des Zertifikats"
#: models.py:625
#: models.py:609
msgid "User account" msgid "User account"
msgstr "Benutzerkonto" msgstr "Benutzerkonto"
#: models.py:626
#: models.py:610
msgid "User accounts" msgid "User accounts"
msgstr "Benutzerkonten" msgstr "Benutzerkonten"
#: models.py:633
#: models.py:617
#, python-format #, python-format
msgid "Mumble user %(mu)s on %(srv)s owned by Django user %(du)s" msgid "Mumble user %(mu)s on %(srv)s owned by Django user %(du)s"
msgstr "Benutzeraccount %(mu)s auf %(srv)s mit Besitzer %(du)s" msgstr "Benutzeraccount %(mu)s auf %(srv)s mit Besitzer %(du)s"
#: templates/mumble/list.html:20
msgid "No server instances have been configured yet."
msgstr "Es sind noch keine Serverinstanzen konfiguriert."
#: templates/mumble/mumble.html:16
msgid ""
"\n"
" <b>Hint:</b><br />\n"
" This area is used to display additional information for each channel "
"and player, but requires JavaScript to be\n"
" displayed correctly. You will not see the detail pages, but you can "
"use all links and forms\n"
" that are displayed.\n"
" "
msgstr ""
"\n"
" <b>Hinweis:</b><br />\n"
" Dieser Bereich wird genutzt um zusätzliche Informationen über jeden "
"Channel und Spieler anzuzeigen, erfordert aber JavaScript um\n"
" richtig angezeigt zu werden. Du wirst zwar die Detailseiten nicht "
"sehen, kannst aber alle sichtbaren Formulare benutzen.\n"
" "
#: templates/mumble/mumble.html:31
msgid "Website"
msgstr "Webseite"
#: templates/mumble/mumble.html:34
msgid "Minimal view"
msgstr "Minimalansicht"
#: templates/mumble/mumble.html:37
msgid "Welcome message"
msgstr "Willkommensnachricht"
#: templates/mumble/mumble.html:43
msgid "Server registration"
msgstr "Benutzerregistrierung"
#: templates/mumble/mumble.html:46
msgid "You are registered on this server"
msgstr "Du bist auf diesem Server registriert"
#: templates/mumble/mumble.html:48
msgid "You do not have an account on this server"
msgstr "Du bist auf diesem Server nicht registriert"
#: templates/mumble/mumble.html:57
#, python-format
msgid ""
"\n"
" <p>You need to be <a href=\"%(login_url)s\">logged in</a> to be able "
"to register an account on this Mumble server.</p>\n"
" "
msgstr ""
"\n"
" <p>Du musst <a href=\"%(login_url)s\">eingeloggt</a> sein um auf "
"diesem Mumble-Server einen Account registrieren zu können.</p>\n"
" "
#: templates/mumble/mumble.html:67
msgid ""
"\n"
" Sorry, due to a bug in Murmur 1.2.2, displaying and setting the "
"Texture is disabled.\n"
" "
msgstr ""
"\n"
"Entschuldigung, aufgrund eines Fehlers in Murmur 1.2.2 ist die Texturanzeige "
"sowie das Hochladen für diese Version deaktiviert."
#: templates/mumble/mumble.html:72
msgid ""
"\n"
" You can upload an image that you would like to use as your user "
"texture here.\n"
" "
msgstr ""
"\n"
"Du kannst hier ein Bild hochladen, das als deine Benutzertextur angezeigt "
"werden soll."
#: templates/mumble/mumble.html:83
msgid "Your current texture is"
msgstr "Deine momentane Textur ist diese"
#: templates/mumble/mumble.html:86
msgid "You don't currently have a texture set"
msgstr "Du hast momentan keine Textur gesetzt"
#: templates/mumble/mumble.html:90
msgid ""
"\n"
" Hint: The texture image <b>needs</b> to be 600x60 in size. If "
"you upload an image with\n"
" a different size, it will be resized accordingly.<br />\n"
" "
msgstr ""
"\n"
"Hinweis: Das Texturbild <b>muss</b> die Größe 600x60 haben. Wenn du ein Bild "
"mit einer anderen Größe hochlädst, wird es automatisch zurecht geschnitten."
"<br />"
#: templates/mumble/mumble.html:109
msgid "Server administration"
msgstr "Server-Administration"
#: templates/mumble/mumble.html:123
msgid "Player"
msgstr "Spieler"
#: templates/mumble/mumble.html:125
msgid "Online since"
msgstr "Online seit"
#: templates/mumble/mumble.html:126 templates/mumble/player.html:9
#: templates/mumble/player.html:9
msgid "Authenticated" msgid "Authenticated"
msgstr "Authentifiziert" msgstr "Authentifiziert"
#: templates/mumble/mumble.html:127 templates/mumble/mumble.html.py:142
msgid "Admin"
msgstr "Administrator"
#: templates/mumble/mumble.html:128 templates/mumble/player.html:12
#: templates/mumble/player.html:12
msgid "Muted" msgid "Muted"
msgstr "Stummgestellt" msgstr "Stummgestellt"
#: templates/mumble/mumble.html:129 templates/mumble/player.html:18
#: templates/mumble/player.html:15
msgid "Suppressed"
msgstr "Unterdrückt"
#: templates/mumble/player.html:18
msgid "Deafened" msgid "Deafened"
msgstr "Taubgestellt" msgstr "Taubgestellt"
#: templates/mumble/mumble.html:130 templates/mumble/player.html:21
#: templates/mumble/player.html:21
msgid "Muted by self" msgid "Muted by self"
msgstr "Selbst stummgestellt" msgstr "Selbst stummgestellt"
#: templates/mumble/mumble.html:131 templates/mumble/player.html:24
#: templates/mumble/player.html:24
msgid "Deafened by self" msgid "Deafened by self"
msgstr "Selbst taubgestellt" msgstr "Selbst taubgestellt"
#: templates/mumble/mumble.html:133
msgid "IP Address"
msgstr "IP-Adresse"
#: templates/mumble/mumble.html:137
msgid "User"
msgstr "Benutzer"
#: templates/mumble/mumble.html:140
msgid "Full Name"
msgstr "Vollständiger Name"
#: templates/mumble/mumble.html:143
msgid "Sign-up date"
msgstr "Datum der Anmeldung"
#: templates/mumble/mumble.html:148
msgid "User Comment"
msgstr "Benutzer-Kommentar"
#: templates/mumble/player.html:27
msgid "has a User Comment set"
msgstr "hat einen Benutzer-Kommentar gesetzt"
#: templates/mumble/mumble.html:166 templates/mumble/mumble.html.py:180
msgid "Kick user"
msgstr "Benutzer kicken"
#~ msgid "No server instances have been configured yet."
#~ msgstr "Es sind noch keine Serverinstanzen konfiguriert."
#~ msgid ""
#~ "\n"
#~ " <b>Hint:</b><br />\n"
#~ " This area is used to display additional information for each "
#~ "channel and player, but requires JavaScript to be\n"
#~ " displayed correctly. You will not see the detail pages, but you can "
#~ "use all links and forms\n"
#~ " that are displayed.\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ " <b>Hinweis:</b><br />\n"
#~ " Dieser Bereich wird genutzt um zusätzliche Informationen über jeden "
#~ "Channel und Spieler anzuzeigen, erfordert aber JavaScript um\n"
#~ " richtig angezeigt zu werden. Du wirst zwar die Detailseiten nicht "
#~ "sehen, kannst aber alle sichtbaren Formulare benutzen.\n"
#~ " "
#~ msgid "Website"
#~ msgstr "Webseite"
#~ msgid "Minimal view"
#~ msgstr "Minimalansicht"
#~ msgid "Welcome message"
#~ msgstr "Willkommensnachricht"
#~ msgid "Server registration"
#~ msgstr "Benutzerregistrierung"
#~ msgid "You are registered on this server"
#~ msgstr "Du bist auf diesem Server registriert"
#~ msgid "You do not have an account on this server"
#~ msgstr "Du bist auf diesem Server nicht registriert"
#~ msgid ""
#~ "\n"
#~ " <p>You need to be <a href=\"%(login_url)s\">logged in</a> to be "
#~ "able to register an account on this Mumble server.</p>\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ " <p>Du musst <a href=\"%(login_url)s\">eingeloggt</a> sein um auf "
#~ "diesem Mumble-Server einen Account registrieren zu können.</p>\n"
#~ " "
#~ msgid ""
#~ "\n"
#~ " Sorry, due to a bug in Murmur 1.2.2, displaying and setting the "
#~ "Texture is disabled.\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ "Entschuldigung, aufgrund eines Fehlers in Murmur 1.2.2 ist die "
#~ "Texturanzeige sowie das Hochladen für diese Version deaktiviert."
#~ msgid ""
#~ "\n"
#~ " You can upload an image that you would like to use as your "
#~ "user texture here.\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ "Du kannst hier ein Bild hochladen, das als deine Benutzertextur angezeigt "
#~ "werden soll."
#~ msgid "Your current texture is"
#~ msgstr "Deine momentane Textur ist diese"
#~ msgid "You don't currently have a texture set"
#~ msgstr "Du hast momentan keine Textur gesetzt"
#~ msgid ""
#~ "\n"
#~ " Hint: The texture image <b>needs</b> to be 600x60 in size. "
#~ "If you upload an image with\n"
#~ " a different size, it will be resized accordingly.<br />\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ "Hinweis: Das Texturbild <b>muss</b> die Größe 600x60 haben. Wenn du ein "
#~ "Bild mit einer anderen Größe hochlädst, wird es automatisch zurecht "
#~ "geschnitten.<br />"
#~ msgid "Server administration"
#~ msgstr "Server-Administration"
#~ msgid "Player"
#~ msgstr "Spieler"
#~ msgid "Online since"
#~ msgstr "Online seit"
#~ msgid "Admin"
#~ msgstr "Administrator"
#~ msgid "IP Address"
#~ msgstr "IP-Adresse"
#~ msgid "User"
#~ msgstr "Benutzer"
#~ msgid "Full Name"
#~ msgstr "Vollständiger Name"
#~ msgid "Sign-up date"
#~ msgstr "Datum der Anmeldung"
#: templates/mumble/mumble.html:172
msgid "Reason"
msgstr "Begründung"
#~ msgid "User Comment"
#~ msgstr "Benutzer-Kommentar"
#: templates/mumble/mumble.html:177
msgid "Ban user"
msgstr "Benutzer bannen"
#~ msgid "Kick user"
#~ msgstr "Benutzer kicken"
#: templates/mumble/mumble.html:187
msgid "Channel"
msgstr "Kanal"
#~ msgid "Reason"
#~ msgstr "Begründung"
#: templates/mumble/mumble.html:189
msgid "Channel ID"
msgstr "Kanal-ID"
#~ msgid "Ban user"
#~ msgstr "Benutzer bannen"
#: templates/mumble/mumble.html:191
msgid "Connect"
msgstr "Verbinden"
#~ msgid "Channel"
#~ msgstr "Kanal"
#: templates/mumble/mumble.html:194
msgid "Channel description"
msgstr "Beschreibung des Kanals"
#~ msgid "Channel ID"
#~ msgstr "Kanal-ID"
#: templates/mumble/mumble.html:241
msgid "Delete"
msgstr "Löschen"
#~ msgid "Connect"
#~ msgstr "Verbinden"
#: templates/mumble/mumble.html:277
msgid "Server Info"
msgstr "Server-Infos"
#~ msgid "Channel description"
#~ msgstr "Beschreibung des Kanals"
#: templates/mumble/mumble.html:278
msgid "Registration"
msgstr "Registrierung"
#~ msgid "Delete"
#~ msgstr "Löschen"
#: templates/mumble/mumble.html:287
msgid "Administration"
msgstr "Administration"
#~ msgid "Server Info"
#~ msgstr "Server-Infos"
#: templates/mumble/mumble.html:294
msgid "User List"
msgstr "Benutzerliste"
#~ msgid "Registration"
#~ msgstr "Registrierung"
#: templates/mumble/mumble.html:298
msgid "name"
msgstr "Name"
#~ msgid "Administration"
#~ msgstr "Administration"
#: templates/mumble/mumble.html:318
msgid "Change password"
msgstr "Passwort ändern"
#~ msgid "User List"
#~ msgstr "Benutzerliste"
#: templates/mumble/mumble.html:331
msgid "Add"
msgstr "Hinzufügen"
#~ msgid "name"
#~ msgstr "Name"
#: templates/mumble/mumble.html:343
msgid "Save"
msgstr "Speichern"
#~ msgid "Change password"
#~ msgstr "Passwort ändern"
#: templates/mumble/mumble.html:369
msgid "Resync with Murmur"
msgstr "Liste neu laden"
#~ msgid "Add"
#~ msgstr "Hinzufügen"
#: templates/mumble/player.html:15
msgid "Suppressed"
msgstr "Unterdrückt"
#~ msgid "Save"
#~ msgstr "Speichern"
#: templates/mumble/player.html:27
msgid "has a User Comment set"
msgstr "hat einen Benutzer-Kommentar gesetzt"
#~ msgid "Resync with Murmur"
#~ msgstr "Liste neu laden"

173
pyweb/mumble/locale/de/LC_MESSAGES/djangojs.po

@ -2,107 +2,200 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package. # This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-07-02 11:38+0200\n"
"POT-Creation-Date: 2010-08-04 20:28+0200\n"
"PO-Revision-Date: 2010-07-02 11:41\n" "PO-Revision-Date: 2010-07-02 11:41\n"
"Last-Translator: <diese-addy@funzt-halt.net>\n" "Last-Translator: <diese-addy@funzt-halt.net>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: \n"
"X-Translated-Using: django-rosetta 0.5.5\n" "X-Translated-Using: django-rosetta 0.5.5\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: js/mumble.js:10
#: media/js/buttoniframewindow.js:30
msgid "Open in new window"
msgstr ""
#: media/js/channelviewer.js:51
msgid "Channel Viewer" msgid "Channel Viewer"
msgstr "Serveransicht" msgstr "Serveransicht"
#: js/mumble.js:12
#: media/js/channelviewer.js:56
msgid "Loading..." msgid "Loading..."
msgstr "Lade..." msgstr "Lade..."
#: js/mumble.js:16
msgid "Refresh"
#: media/js/channelviewer.js:64
#, fuzzy
msgid "Auto-Refresh"
msgstr "Aktualisieren" msgstr "Aktualisieren"
#: js/mumble.js:95
msgid "Registration"
msgstr "Registrierung"
#: media/js/loginout_buttons.js:7
msgid "Logout"
msgstr ""
#: media/js/loginout_buttons.js:15 media/js/loginout_buttons.js.py:51
msgid "Login error"
msgstr ""
#: media/js/loginout_buttons.js:16
msgid "Unable to log out."
msgstr ""
#: media/js/loginout_buttons.js:26 media/js/loginout_buttons.js.py:31
msgid "Login"
msgstr ""
#: media/js/loginout_buttons.js:41
msgid "Submit"
msgstr ""
#: media/js/loginout_buttons.js:52
msgid "Unable to log in."
msgstr ""
#: js/mumble.js:99
#: media/js/loginout_buttons.js:63
msgid "User name" msgid "User name"
msgstr "Benutzername" msgstr "Benutzername"
#: js/mumble.js:103
#: media/js/loginout_buttons.js:67
msgid "Password" msgid "Password"
msgstr "Passwort" msgstr "Passwort"
#: js/mumble.js:108
msgid "Administration"
msgstr "Administration"
#: media/js/logviewer.js:11
msgid "Log messages"
msgstr ""
#: media/js/logviewer.js:13
msgid "Timestamp"
msgstr ""
#: media/js/logviewer.js:20
msgid "Log entry"
msgstr ""
#: media/js/logviewer.js:25
msgid "Filter"
msgstr ""
#: js/mumble.js:116
msgid "User texture"
msgstr "Benutzertextur"
#: media/js/logviewer.js:33
msgid ""
"Enter a string to filter the logs by and press Enter. To display all log "
"entries, empty this field."
msgstr ""
#: js/mumble.js:124
msgid "Texture"
msgstr "Textur"
#: media/js/logviewer.js:45
msgid "Refresh"
msgstr "Aktualisieren"
#: js/mumble.js:128
msgid "Gravatar"
msgstr "Gravatar"
#: media/js/rendermumbleserver.js:4
msgid "Server Address"
msgstr ""
#: js/mumble.js:136
msgid "Use Gravatar"
msgstr "Benutze Gravatar"
#: media/js/rendermumbleserver.js:7
msgid "Website"
msgstr ""
#: js/mumble.js:140
msgid "Upload Avatar"
msgstr "Avatar hochladen"
#: media/js/rendermumbleserver.js:11
#, perl-format
msgid "Currently, %s user is registered."
msgid_plural "Currently, %s users are registered."
msgstr[0] ""
msgstr[1] ""
#: media/js/rendermumbleserver.js:14
#, perl-format
msgid "Currently, %s user is online."
msgid_plural "Currently, %s users are online."
msgstr[0] ""
msgstr[1] ""
#: media/js/rendermumbleserver.js:17
#, perl-format
msgid "Currently, there is %s channel."
msgid_plural "Currently, there are %s channels."
msgstr[0] ""
msgstr[1] ""
#: media/js/rendermumbleserver.js:22
msgid "Switch to minimal view"
msgstr ""
#: media/js/rendermumbleserver.js:28
msgid "Welcome message"
msgstr ""
#: js/usereditor.js:33
#: media/js/usereditor.js:27
msgid "Admin on root channel" msgid "Admin on root channel"
msgstr "Admin im Wurzelkanal" msgstr "Admin im Wurzelkanal"
#: js/usereditor.js:39
#: media/js/usereditor.js:33
msgid "Delete" msgid "Delete"
msgstr "Löschen" msgstr "Löschen"
#: js/usereditor.js:62
#: media/js/usereditor.js:53
msgid "User List" msgid "User List"
msgstr "Benutzerliste" msgstr "Benutzerliste"
#: js/usereditor.js:67
#: media/js/usereditor.js:58
msgid "name" msgid "name"
msgstr "Name" msgstr "Name"
#: js/usereditor.js:74
#: media/js/usereditor.js:65
msgid "Account owner" msgid "Account owner"
msgstr "Accountbesitzer" msgstr "Accountbesitzer"
#: js/usereditor.js:86
#: media/js/usereditor.js:77
msgid "Change password" msgid "Change password"
msgstr "Passwort ändern" msgstr "Passwort ändern"
#: js/usereditor.js:100
#: media/js/usereditor.js:91
msgid "Add" msgid "Add"
msgstr "Hinzufügen" msgstr "Hinzufügen"
#: js/usereditor.js:104
#: media/js/usereditor.js:95
msgid "New User" msgid "New User"
msgstr "Neuer Benutzer" msgstr "Neuer Benutzer"
#: js/usereditor.js:112
#: media/js/usereditor.js:103
msgid "Save" msgid "Save"
msgstr "Speichern" msgstr "Speichern"
#: js/usereditor.js:138
#: media/js/usereditor.js:126
msgid "Submit error"
msgstr ""
#: media/js/usereditor.js:127
msgid "Unable to save."
msgstr ""
#: media/js/usereditor.js:135
msgid "Resync with Murmur" msgid "Resync with Murmur"
msgstr "Aktualisieren" msgstr "Aktualisieren"
#~ msgid "Registration"
#~ msgstr "Registrierung"
#~ msgid "Administration"
#~ msgstr "Administration"
#~ msgid "User texture"
#~ msgstr "Benutzertextur"
#~ msgid "Texture"
#~ msgstr "Textur"
#~ msgid "Gravatar"
#~ msgstr "Gravatar"
#~ msgid "Use Gravatar"
#~ msgstr "Benutze Gravatar"
#~ msgid "Upload Avatar"
#~ msgstr "Avatar hochladen"

0
htdocs/mumble/style.css → pyweb/mumble/media/css/style.css

0
htdocs/mumble/authenticated.png → pyweb/mumble/media/img/authenticated.png

Before

Width: 16  |  Height: 16  |  Size: 650 B

After

Width: 16  |  Height: 16  |  Size: 650 B

0
htdocs/mumble/channel.png → pyweb/mumble/media/img/channel.png

Before

Width: 16  |  Height: 16  |  Size: 710 B

After

Width: 16  |  Height: 16  |  Size: 710 B

0
htdocs/mumble/channel_linked.png → pyweb/mumble/media/img/channel_linked.png

Before

Width: 16  |  Height: 16  |  Size: 726 B

After

Width: 16  |  Height: 16  |  Size: 726 B

0
htdocs/mumble/comment.png → pyweb/mumble/media/img/comment.png

Before

Width: 16  |  Height: 16  |  Size: 630 B

After

Width: 16  |  Height: 16  |  Size: 630 B

0
htdocs/mumble/comment_seen.png → pyweb/mumble/media/img/comment_seen.png

Before

Width: 16  |  Height: 16  |  Size: 603 B

After

Width: 16  |  Height: 16  |  Size: 603 B

0
htdocs/mumble/deafened_self.png → pyweb/mumble/media/img/deafened_self.png

Before

Width: 16  |  Height: 16  |  Size: 791 B

After

Width: 16  |  Height: 16  |  Size: 791 B

0
htdocs/mumble/deafened_server.png → pyweb/mumble/media/img/deafened_server.png

Before

Width: 16  |  Height: 16  |  Size: 821 B

After

Width: 16  |  Height: 16  |  Size: 821 B

0
htdocs/mumble/knoten_h.png → pyweb/mumble/media/img/knoten_h.png

Before

Width: 20  |  Height: 20  |  Size: 192 B

After

Width: 20  |  Height: 20  |  Size: 192 B

0
htdocs/mumble/knoten_h_trans.png → pyweb/mumble/media/img/knoten_h_trans.png

Before

Width: 20  |  Height: 20  |  Size: 165 B

After

Width: 20  |  Height: 20  |  Size: 165 B

0
htdocs/mumble/knoten_v.png → pyweb/mumble/media/img/knoten_v.png

Before

Width: 20  |  Height: 20  |  Size: 231 B

After

Width: 20  |  Height: 20  |  Size: 231 B

0
htdocs/mumble/knoten_v_trans.png → pyweb/mumble/media/img/knoten_v_trans.png

Before

Width: 20  |  Height: 20  |  Size: 230 B

After

Width: 20  |  Height: 20  |  Size: 230 B

0
htdocs/mumble/linie_h.png → pyweb/mumble/media/img/linie_h.png

Before

Width: 20  |  Height: 20  |  Size: 125 B

After

Width: 20  |  Height: 20  |  Size: 125 B

0
htdocs/mumble/linie_h_trans.png → pyweb/mumble/media/img/linie_h_trans.png

Before

Width: 20  |  Height: 20  |  Size: 172 B

After

Width: 20  |  Height: 20  |  Size: 172 B

0
htdocs/mumble/linie_v.png → pyweb/mumble/media/img/linie_v.png

Before

Width: 20  |  Height: 20  |  Size: 206 B

After

Width: 20  |  Height: 20  |  Size: 206 B

0
htdocs/mumble/linie_v_trans.png → pyweb/mumble/media/img/linie_v_trans.png

Before

Width: 20  |  Height: 20  |  Size: 206 B

After

Width: 20  |  Height: 20  |  Size: 206 B

0
htdocs/mumble/mumble.16x16.png → pyweb/mumble/media/img/mumble.16x16.png

Before

Width: 16  |  Height: 16  |  Size: 297 B

After

Width: 16  |  Height: 16  |  Size: 297 B

0
htdocs/mumble/mumble.64x64.png → pyweb/mumble/media/img/mumble.64x64.png

Before

Width: 64  |  Height: 64  |  Size: 5.2 KiB

After

Width: 64  |  Height: 64  |  Size: 5.2 KiB

0
htdocs/mumble/muted_self.png → pyweb/mumble/media/img/muted_self.png

Before

Width: 16  |  Height: 16  |  Size: 814 B

After

Width: 16  |  Height: 16  |  Size: 814 B

0
htdocs/mumble/muted_server.png → pyweb/mumble/media/img/muted_server.png

Before

Width: 16  |  Height: 16  |  Size: 794 B

After

Width: 16  |  Height: 16  |  Size: 794 B

0
htdocs/mumble/muted_suppressed.png → pyweb/mumble/media/img/muted_suppressed.png

Before

Width: 16  |  Height: 16  |  Size: 812 B

After

Width: 16  |  Height: 16  |  Size: 812 B

0
htdocs/mumble/priority_speaker.png → pyweb/mumble/media/img/priority_speaker.png

Before

Width: 16  |  Height: 16  |  Size: 701 B

After

Width: 16  |  Height: 16  |  Size: 701 B

0
htdocs/mumble/talking_off.png → pyweb/mumble/media/img/talking_off.png

Before

Width: 16  |  Height: 16  |  Size: 615 B

After

Width: 16  |  Height: 16  |  Size: 615 B

0
htdocs/mumble/talking_on.png → pyweb/mumble/media/img/talking_on.png

Before

Width: 16  |  Height: 16  |  Size: 598 B

After

Width: 16  |  Height: 16  |  Size: 598 B

0
htdocs/js/buttoniframewindow.js → pyweb/mumble/media/js/buttoniframewindow.js

24
htdocs/js/channelviewer.js → pyweb/mumble/media/js/channelviewer.js

@ -7,13 +7,13 @@ Ext.ux.MumbleChannelNodeUI = Ext.extend(Ext.tree.TreeNodeUI, {
Ext.ux.MumbleUserNodeUI.superclass.renderElements.call( this, n, a, targetNode, bulkRender ); Ext.ux.MumbleUserNodeUI.superclass.renderElements.call( this, n, a, targetNode, bulkRender );
Ext.DomHelper.applyStyles( this.elNode, 'position: relative' ); Ext.DomHelper.applyStyles( this.elNode, 'position: relative' );
var tpl = new Ext.DomHelper.createTemplate( var tpl = new Ext.DomHelper.createTemplate(
'<img style="position: absolute; top: 0px; right: {pos}px;" src="/static/mumble/{icon}.png"/>'
'<img style="position: absolute; top: 0px; right: {pos}px;" src="{imageurl}/{icon}.png"/>'
); );
var icons = [] var icons = []
if( a.chandata.description != "" ) icons.push( "comment_seen" ); if( a.chandata.description != "" ) icons.push( "comment_seen" );
var pos = 8; var pos = 8;
for( var i = 0; i < icons.length; i++ ){ for( var i = 0; i < icons.length; i++ ){
tpl.append( this.elNode, {'icon': icons[i], 'pos': pos} );
tpl.append( this.elNode, {'imageurl': a.imageurl, 'icon': icons[i], 'pos': pos} );
pos += 18 pos += 18
} }
} }
@ -24,7 +24,7 @@ Ext.ux.MumbleUserNodeUI = Ext.extend(Ext.tree.TreeNodeUI, {
Ext.ux.MumbleUserNodeUI.superclass.renderElements.call( this, n, a, targetNode, bulkRender ); Ext.ux.MumbleUserNodeUI.superclass.renderElements.call( this, n, a, targetNode, bulkRender );
Ext.DomHelper.applyStyles( this.elNode, 'position: relative' ); Ext.DomHelper.applyStyles( this.elNode, 'position: relative' );
var tpl = new Ext.DomHelper.createTemplate( var tpl = new Ext.DomHelper.createTemplate(
'<img style="position: absolute; top: 0px; right: {pos}px;" src="/static/mumble/{icon}.png"/>'
'<img style="position: absolute; top: 0px; right: {pos}px;" src="{imageurl}/{icon}.png"/>'
); );
var icons = [] var icons = []
if( a.userdata.userid != 0 ) icons.push( "authenticated" ); if( a.userdata.userid != 0 ) icons.push( "authenticated" );
@ -37,7 +37,7 @@ Ext.ux.MumbleUserNodeUI = Ext.extend(Ext.tree.TreeNodeUI, {
if( a.userdata.prioritySpeaker ) icons.push( "priority_speaker" ); if( a.userdata.prioritySpeaker ) icons.push( "priority_speaker" );
var pos = 8; var pos = 8;
for( var i = 0; i < icons.length; i++ ){ for( var i = 0; i < icons.length; i++ ){
tpl.append( this.elNode, {'icon': icons[i], 'pos': pos} );
tpl.append( this.elNode, {'imageurl': a.imageurl, 'icon': icons[i], 'pos': pos} );
pos += 18 pos += 18
} }
} }
@ -132,9 +132,11 @@ Ext.extend( Ext.ux.MumbleChannelViewer, Ext.tree.TreePanel, {
text: respdata.name, text: respdata.name,
id: "mumbroot", id: "mumbroot",
leaf: false, leaf: false,
icon: '/static/mumble/mumble.16x16.png',
icon: this.imageurl+'/mumble.16x16.png',
children: [], children: [],
imageurl: this.imageurl
}; };
tree = this;
function populateNode( node, json ){ function populateNode( node, json ){
var subchan_users = 0; var subchan_users = 0;
for( var i = 0; i < json.channels.length; i++ ){ for( var i = 0; i < json.channels.length; i++ ){
@ -142,10 +144,11 @@ Ext.extend( Ext.ux.MumbleChannelViewer, Ext.tree.TreePanel, {
text: json.channels[i].name, text: json.channels[i].name,
id: ("channel_" + json.channels[i].id), id: ("channel_" + json.channels[i].id),
leaf: true, leaf: true,
icon: '/static/mumble/channel.png',
icon: tree.imageurl+'/channel.png',
children: [], children: [],
uiProvider: Ext.ux.MumbleChannelNodeUI, uiProvider: Ext.ux.MumbleChannelNodeUI,
chandata: json.channels[i]
chandata: json.channels[i],
imageurl: tree.imageurl
}; };
node.leaf = false; node.leaf = false;
node.children.push( child ); node.children.push( child );
@ -157,12 +160,13 @@ Ext.extend( Ext.ux.MumbleChannelViewer, Ext.tree.TreePanel, {
id: ("user_" + json.users[i].session), id: ("user_" + json.users[i].session),
leaf: true, leaf: true,
uiProvider: Ext.ux.MumbleUserNodeUI, uiProvider: Ext.ux.MumbleUserNodeUI,
userdata: json.users[i]
userdata: json.users[i],
imageurl: tree.imageurl
}; };
if( json.users[i].idlesecs <= this.idleInterval ) if( json.users[i].idlesecs <= this.idleInterval )
child.icon = '/static/mumble/talking_on.png';
child.icon = tree.imageurl+'/talking_on.png';
else else
child.icon = '/static/mumble/talking_off.png';
child.icon = tree.imageurl+'/talking_off.png';
node.leaf = false; node.leaf = false;
node.children.push( child ); node.children.push( child );
} }

0
htdocs/js/loginout_buttons.js → pyweb/mumble/media/js/loginout_buttons.js

0
htdocs/js/logviewer.js → pyweb/mumble/media/js/logviewer.js

0
htdocs/js/rendermumbleserver.js → pyweb/mumble/media/js/rendermumbleserver.js

0
htdocs/js/usereditor.js → pyweb/mumble/media/js/usereditor.js

13
pyweb/mumble/templates/mumble/mumble.html

@ -12,12 +12,12 @@
<script type="text/javascript" src="/mumble/forms/api.js"></script> <script type="text/javascript" src="/mumble/forms/api.js"></script>
<script type="text/javascript" src="/mumble/forms/{{ RegForm|lower }}.js"></script> <script type="text/javascript" src="/mumble/forms/{{ RegForm|lower }}.js"></script>
<script type="text/javascript" src="/mumble/forms/mumbleform.js"></script> <script type="text/javascript" src="/mumble/forms/mumbleform.js"></script>
<script type="text/javascript" src="{{ MEDIA_URL }}/js/rendermumbleserver.js"></script>
<script type="text/javascript" src="{{ MEDIA_URL }}/js/channelviewer.js"></script>
<script type="text/javascript" src="{{ MEDIA_URL }}/js/usereditor.js"></script>
<script type="text/javascript" src="{{ MEDIA_URL }}/js/logviewer.js"></script>
<script type="text/javascript" src="{{ MEDIA_URL }}/js/buttoniframewindow.js"></script>
<script type="text/javascript" src="{{ MEDIA_URL }}/js/loginout_buttons.js"></script>
<script type="text/javascript" src="{{ MUMBLE_MEDIA_PREFIX }}js/rendermumbleserver.js"></script>
<script type="text/javascript" src="{{ MUMBLE_MEDIA_PREFIX }}js/channelviewer.js"></script>
<script type="text/javascript" src="{{ MUMBLE_MEDIA_PREFIX }}js/usereditor.js"></script>
<script type="text/javascript" src="{{ MUMBLE_MEDIA_PREFIX }}js/logviewer.js"></script>
<script type="text/javascript" src="{{ MUMBLE_MEDIA_PREFIX }}js/buttoniframewindow.js"></script>
<script type="text/javascript" src="{{ MUMBLE_MEDIA_PREFIX }}js/loginout_buttons.js"></script>
<script type="text/javascript"> <script type="text/javascript">
Ext.onReady( function(){ Ext.onReady( function(){
Ext.QuickTips.init(); Ext.QuickTips.init();
@ -59,6 +59,7 @@
width: 350, width: 350,
split: true, split: true,
source_url: "{% url mumble.views.cvp_json MumbleServer.id %}", source_url: "{% url mumble.views.cvp_json MumbleServer.id %}",
imageurl: '{{MUMBLE_MEDIA_PREFIX}}/img'
}, { }, {
xtype: "tabpanel", xtype: "tabpanel",
region: "center", region: "center",

19
pyweb/mumble/urls.py

@ -15,7 +15,9 @@
* GNU General Public License for more details. * GNU General Public License for more details.
""" """
from django.conf.urls.defaults import patterns, include
from django.conf.urls.defaults import url, patterns, include
from django.conf import settings
from views import EXT_DIRECT_PROVIDER from views import EXT_DIRECT_PROVIDER
from forms import EXT_FORMS_PROVIDER from forms import EXT_FORMS_PROVIDER
@ -34,12 +36,23 @@ urlpatterns = patterns(
( r'mumbleviewer/(?P<server>\d+).xml', 'mumbleviewer_tree_xml' ), ( r'mumbleviewer/(?P<server>\d+).xml', 'mumbleviewer_tree_xml' ),
( r'mumbleviewer/(?P<server>\d+).json', 'mumbleviewer_tree_json'), ( r'mumbleviewer/(?P<server>\d+).json', 'mumbleviewer_tree_json'),
( r'mobile/(?P<server>\d+)', 'mobile_show' ),
( r'mobile/(?P<server>\d+)$', 'mobile_show' ),
( r'mobile/?$', 'mobile_mumbles' ), ( r'mobile/?$', 'mobile_mumbles' ),
( r'(?P<server>\d+).json', 'cvp_json' ), ( r'(?P<server>\d+).json', 'cvp_json' ),
( r'(?P<server>\d+).xml', 'cvp_xml' ), ( r'(?P<server>\d+).xml', 'cvp_xml' ),
( r'(?P<server>\d+)', 'show' ),
( r'(?P<server>\d+)$', 'show' ),
( r'$', 'mumbles' ), ( r'$', 'mumbles' ),
) )
if settings.DEBUG or True:
# The following is a fake, to not break old installations. You should
# really serve this stuff through the web server directly.
from os.path import join, dirname, abspath, exists
mediadir = join( dirname(abspath(__file__)), 'media' )
print mediadir
urlpatterns.insert( 1, url(r'^media/(?P<path>.*)$',
'django.views.static.serve',
{'document_root': mediadir, 'show_indexes': True} ),
)

4
pyweb/processors.py

@ -23,6 +23,10 @@ def mumble_version(request):
from mumble import version_str from mumble import version_str
return { 'CURRENTVERSION': version_str } return { 'CURRENTVERSION': version_str }
def mumble_media_prefix(request):
from django.conf import settings
return { 'MUMBLE_MEDIA_PREFIX': settings.MUMBLE_MEDIA_PREFIX }
def theme_url(request): def theme_url(request):
from django.conf import settings from django.conf import settings
if settings.THEME: if settings.THEME:

3
pyweb/settings.py

@ -176,11 +176,13 @@ MEDIA_ROOT = join( MUMBLE_DJANGO_ROOT, 'htdocs' )
# URL that handles the media served from MEDIA_ROOT. # URL that handles the media served from MEDIA_ROOT.
MEDIA_URL = MUMBLE_DJANGO_URL + 'static/' MEDIA_URL = MUMBLE_DJANGO_URL + 'static/'
## URL to static files of the currently active theme ## URL to static files of the currently active theme
THEME_URL = '%sstatic/themes/%s/' % ( MUMBLE_DJANGO_URL, THEME ) THEME_URL = '%sstatic/themes/%s/' % ( MUMBLE_DJANGO_URL, THEME )
# URL prefix for admin media -- CSS, JavaScript and images. # URL prefix for admin media -- CSS, JavaScript and images.
ADMIN_MEDIA_PREFIX = MUMBLE_DJANGO_URL + 'media/' ADMIN_MEDIA_PREFIX = MUMBLE_DJANGO_URL + 'media/'
MUMBLE_MEDIA_PREFIX = MUMBLE_DJANGO_URL + 'mumble/media/'
# URL to the login view # URL to the login view
LOGIN_URL = MUMBLE_DJANGO_URL + 'accounts/login' LOGIN_URL = MUMBLE_DJANGO_URL + 'accounts/login'
@ -241,6 +243,7 @@ TEMPLATE_CONTEXT_PROCESSORS = [
"django.core.context_processors.media", "django.core.context_processors.media",
'processors.installed_apps', 'processors.installed_apps',
'processors.mumble_version', 'processors.mumble_version',
'processors.mumble_media_prefix',
] ]
if THEME: if THEME:

4
pyweb/templates/index.html

@ -8,8 +8,8 @@
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}/ext-3.2.0/resources/css/ext-all.css" /> <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}/ext-3.2.0/resources/css/ext-all.css" />
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}/style.css" /> <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}/style.css" />
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}/templatestyle.css" /> <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}/templatestyle.css" />
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}/mumble/style.css" />
<link rel="shortcut icon" type="image/png" href="{{ MEDIA_URL }}/mumble/mumble.16x16.png" />
<link rel="stylesheet" type="text/css" href="{{ MUMBLE_MEDIA_PREFIX }}css/style.css" />
<link rel="shortcut icon" type="image/png" href="{{ MUMBLE_MEDIA_PREFIX }}img/mumble.16x16.png" />
<script type="text/javascript" src="{{ MEDIA_URL }}/ext-3.2.0/adapter/ext/ext-base-debug.js"></script> <script type="text/javascript" src="{{ MEDIA_URL }}/ext-3.2.0/adapter/ext/ext-base-debug.js"></script>
<script type="text/javascript" src="{{ MEDIA_URL }}/ext-3.2.0/ext-all-debug.js"></script> <script type="text/javascript" src="{{ MEDIA_URL }}/ext-3.2.0/ext-all-debug.js"></script>

Loading…
Cancel
Save