diff options
-rw-r--r-- | Makefile | 5 | ||||
-rw-r--r-- | classic.css | 4 | ||||
-rw-r--r-- | default.css | 4 | ||||
-rw-r--r-- | locale/de/dudle.po | 177 | ||||
-rw-r--r-- | print.css | 4 | ||||
-rw-r--r-- | timepollhead.rb | 34 |
6 files changed, 131 insertions, 97 deletions
@@ -23,3 +23,8 @@ locale/dudle.pot: *.rb *.cgi %.mo: %.po rmsgfmt $*.po -o $*.mo + +locale/%/dudle.po: locale/dudle.pot + msgmerge locale/$*/dudle.po locale/dudle.pot >/tmp/dudle_$*_tmp.po + mv /tmp/dudle_$*_tmp.po locale/$*/dudle.po + poedit locale/de/dudle.po diff --git a/classic.css b/classic.css index 31151f9..63fe758 100644 --- a/classic.css +++ b/classic.css @@ -60,8 +60,8 @@ th.weekday{ width: 2.5em; } -input.choosen { background-color:#0F0; } -input.navigation, input.disabled, input.choosen, input.notchoosen { +input.chosen { background-color:#0F0; } +input.navigation, input.disabled, input.chosen, input.notchosen { border-width: 1px; border-style: solid; border-color: black; diff --git a/default.css b/default.css index 677c6b0..cf22491 100644 --- a/default.css +++ b/default.css @@ -33,7 +33,7 @@ a:hover, a:active { } td.ayes, td.bmaybe, td.cno { cursor:default;} -td.ayes, td.input-ayes, input.choosen { background-color:#9C6} +td.ayes, td.input-ayes, input.chosen { background-color:#9C6} td.cno, td.input-cno { background-color:#F96 } td.bmaybe, td.input-bmaybe { background-color:#FF6} td.undecided { background-color:#DDD } @@ -59,7 +59,7 @@ td.name { background-color:#CCF; } -input.navigation, input.disabled, input.choosen, input.notchoosen { +input.navigation, input.disabled, input.chosen, input.notchosen { border-width: 1px; border-style: solid; border-color: black; diff --git a/locale/de/dudle.po b/locale/de/dudle.po index a77ff43..60b8adb 100644 --- a/locale/de/dudle.po +++ b/locale/de/dudle.po @@ -19,8 +19,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2010-01-20 16:30+0100\n" -"PO-Revision-Date: 2010-01-20 16:40+0100\n" +"POT-Creation-Date: 2010-01-20 17:55+0100\n" +"PO-Revision-Date: 2010-01-20 17:36+0100\n" "Last-Translator: Benjamin Kellermann <Benjamin.Kellermann@tu-dresden.de>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -29,85 +29,71 @@ msgstr "" "X-Poedit-Basepath: ../../\n" "X-Poedit-Language: German\n" "X-Poedit-Country: GERMANY\n" +"X-Poedit-SearchPath-0: .\n" -#: customize.cgi:31 -#: customize.rb:31 +#: customize.cgi:31 customize.rb:31 msgid "Customize Personal Settings" msgstr "Persönliche Einstellungen anpassen" -#: customize.cgi:32 -#: customize.rb:32 +#: customize.cgi:32 customize.rb:32 msgid "You need cookies enabled in order to personalize your settings." -msgstr "Ihr Browser muss cookies akzeptieren um persönliche Einstellungen dauerhaft vorzunehmen." +msgstr "" +"Ihr Browser muss cookies akzeptieren um persönliche Einstellungen dauerhaft " +"vorzunehmen." -#: customize.cgi:39 -#: customize.rb:39 +#: customize.cgi:39 customize.rb:39 msgid "Current Setting" msgstr "Momentane Einstellung" -#: customize.cgi:40 -#: customize.rb:40 -#: pollhead.rb:99 +#: customize.cgi:40 customize.rb:40 pollhead.rb:99 msgid "Description" msgstr "Beschreibung" -#: customize.cgi:57 -#: customize.rb:57 +#: customize.cgi:57 customize.rb:57 msgid "Use special characters" msgstr "Benutze spezielle Zeichen" -#: customize.cgi:57 -#: customize.rb:57 +#: customize.cgi:57 customize.rb:57 msgid "Use this option if you see the characters in the parenthesis." -msgstr "Benutzen Sie diese Einstellung, wenn Sie die Zeichen in den Klammern lesen können." +msgstr "" +"Benutzen Sie diese Einstellung, wenn Sie die Zeichen in den Klammern lesen " +"können." -#: customize.cgi:58 -#: customize.rb:58 +#: customize.cgi:58 customize.rb:58 msgid "Use only normal strings" msgstr "Benutze nur gewöhnliche Zeichen." -#: customize.cgi:58 -#: customize.rb:58 +#: customize.cgi:58 customize.rb:58 msgid "Use this option if you have problems with some characters." -msgstr "Benutzen Sie diese Einstellung, wenn Probleme mit der Darstellung einiger Zeichen auftreten." +msgstr "" +"Benutzen Sie diese Einstellung, wenn Probleme mit der Darstellung einiger " +"Zeichen auftreten." -#: customize.cgi:61 -#: customize.rb:61 +#: customize.cgi:61 customize.rb:61 msgid "Charset" msgstr "Zeichen" -#: customize.cgi:70 -#: customize.rb:70 +#: customize.cgi:70 customize.rb:70 msgid "Stylesheet" msgstr "Aussehen" -#: customize.cgi:86 -#: customize.rb:86 +#: customize.cgi:86 customize.rb:86 msgid "Default Username" msgstr "Voreingestellter Teilnehmername" -#: customize.cgi:87 -#: access_control.rb:74 -#: customize.rb:87 +#: customize.cgi:87 access_control.rb:74 customize.rb:87 msgid "Username:" msgstr "Teilnehmername:" -#: customize.cgi:111 -#: customize.rb:111 +#: customize.cgi:111 customize.rb:111 msgid "Edit" msgstr "Bearbeiten" -#: customize.cgi:121 -#: access_control.rb:121 -#: customize.rb:121 -#: poll.rb:201 +#: customize.cgi:121 access_control.rb:121 customize.rb:121 poll.rb:201 msgid "Save" msgstr "Speichern" -#: customize.cgi:124 -#: access_control.rb:117 -#: customize.rb:124 -#: delete_poll.rb:98 +#: customize.cgi:124 access_control.rb:117 customize.rb:124 delete_poll.rb:98 #: poll.rb:218 msgid "Delete" msgstr "Löschen" @@ -118,7 +104,9 @@ msgstr "Bitte geben Sie einen Titel für die Umfrage ein." #: index.cgi:51 msgid "Custom address may only contain letters, numbers, and dashes." -msgstr "Die spezielle eigene URL darf nur Buchstaben, Zahlen, Bindestrich und Unterstrich enthalten." +msgstr "" +"Die spezielle eigene URL darf nur Buchstaben, Zahlen, Bindestrich und " +"Unterstrich enthalten." #: index.cgi:53 msgid "A Poll with this address already exists." @@ -126,7 +114,8 @@ msgstr "Eine Umfrage mit dieser URL existiert bereits." #: index.cgi:72 msgid "The poll was created successfully. The link to your new poll is:" -msgstr "Die Umfrage wurde erfolgreich erstellt. Die Adresse der Umfrage lautet:" +msgstr "" +"Die Umfrage wurde erfolgreich erstellt. Die Adresse der Umfrage lautet:" #: index.cgi:79 msgid "Create New Poll" @@ -169,8 +158,12 @@ msgid "repeat" msgstr "wiederholen" #: access_control.rb:114 -msgid "You have to remove the participant user before you can remove the administrator." -msgstr "Der Benutzer „participant“ muss entfernt werden, bevor Sie den Administrator entfernen können." +msgid "" +"You have to remove the participant user before you can remove the " +"administrator." +msgstr "" +"Der Benutzer „participant“ muss entfernt werden, bevor Sie den " +"Administrator entfernen können." #: access_control.rb:139 msgid "Only letters and digits are allowed in the username." @@ -194,7 +187,9 @@ msgstr "Aktivieren" #: access_control.rb:183 msgid "will be activated when at least an admin user is configured" -msgstr "wird aktiviert, wenn ein Administrator (Benutzername: „admin“) konfiguriert wurde" +msgstr "" +"wird aktiviert, wenn ein Administrator (Benutzername: „admin“) " +"konfiguriert wurde" #: access_control.rb:185 msgid "Deactivate" @@ -205,20 +200,32 @@ msgid "activated" msgstr "aktiviert" #: access_control.rb:188 -msgid "You have to remove all users before you can deactivate the access control settings." -msgstr "Sie müssen alle Benutzer entfernen, bevor Sie die Zugriffskontrolle deaktivieren können." +msgid "" +"You have to remove all users before you can deactivate the access control " +"settings." +msgstr "" +"Sie müssen alle Benutzer entfernen, bevor Sie die Zugriffskontrolle " +"deaktivieren können." #: access_control.rb:192 -msgid "You will be asked for the password you entered here after pressing save!" -msgstr "Nach dem Speichern werden Sie nach dem Benutzernamen und diesem Passwort gefragt!" +msgid "" +"You will be asked for the password you entered here after pressing save!" +msgstr "" +"Nach dem Speichern werden Sie nach dem Benutzernamen und diesem Passwort " +"gefragt!" #: access_control.rb:195 -msgid "The user ‘admin’ has access to the vote as well as the configuration interface." -msgstr "Der Benutzer „admin“ hat sowohl zur Abstimmungs- als auch zur Konfigurationsoberfläche Zugriff." +msgid "" +"The user ‘admin’ has access to the vote as well as the configuration " +"interface." +msgstr "" +"Der Benutzer „admin“ hat sowohl zur Abstimmungs- als auch zur " +"Konfigurationsoberfläche Zugriff." #: access_control.rb:201 msgid "The user ‘participant’ has only access to the vote interface." -msgstr "Der Benutzer „participant“ hat nur zur Abstimmungsoberfläche Zugriff." +msgstr "" +"Der Benutzer „participant“ hat nur zur Abstimmungsoberfläche Zugriff." #: access_control.rb:207 msgid "Access control:" @@ -245,8 +252,14 @@ msgid "The poll was deleted successfully!" msgstr "Die Umfrage wurde erfolgreich gelöscht!" #: delete_poll.rb:40 -msgid "If this was done by accident, please contact the administrator of the system. The poll can be recovered for an indeterministic amount of time, maybe it is already to late." -msgstr "Wenn das ein Versehen war, kontaktieren Sie bitte umgehend den Administrator des Systems. Die Umfrage kann für einen unvorhersehbaren Zeitraum wiederhergestellt werden, vielleicht ist jetzt schon zu spät." +msgid "" +"If this was done by accident, please contact the administrator of the " +"system. The poll can be recovered for an indeterministic amount of time, " +"maybe it is already to late." +msgstr "" +"Wenn das ein Versehen war, kontaktieren Sie bitte umgehend den Administrator " +"des Systems. Die Umfrage kann für einen unvorhersehbaren Zeitraum " +"wiederhergestellt werden, vielleicht ist jetzt schon zu spät." #: delete_poll.rb:41 msgid "Things you can do now are" @@ -286,7 +299,8 @@ msgstr "Das Löschen der gesamten Umfrage ist unwiederrufbar!" #: delete_poll.rb:97 msgid "If you are sure in what you are doing, please type into the form" -msgstr "Wenn Sie sich sicher sind, dann geben Sie bitte nachfolgenden Satz ein:" +msgstr "" +"Wenn Sie sich sicher sind, dann geben Sie bitte nachfolgenden Satz ein:" #: delete_poll.rb:97 msgid "“" @@ -312,8 +326,7 @@ msgstr "Personalisieren" msgid "Poll" msgstr "Umfrage" -#: dudle.rb:81 -#: history.rb:35 +#: dudle.rb:81 history.rb:35 msgid "History" msgstr "Versionen" @@ -321,8 +334,7 @@ msgstr "Versionen" msgid "Edit Columns" msgstr "Bearbeite Spalten" -#: dudle.rb:85 -#: invite_participants.rb:34 +#: dudle.rb:85 invite_participants.rb:34 msgid "Invite Participants" msgstr "Teilnehmer einladen" @@ -334,18 +346,15 @@ msgstr "Zugriffskontrolle" msgid "Overview" msgstr "Übersicht" -#: dudle.rb:135 -#: dudle.rb:153 +#: dudle.rb:135 dudle.rb:153 msgid "Previous" msgstr "Zurück" -#: dudle.rb:136 -#: dudle.rb:154 +#: dudle.rb:136 dudle.rb:154 msgid "Next" msgstr "Weiter" -#: dudle.rb:137 -#: dudle.rb:155 +#: dudle.rb:137 dudle.rb:155 msgid "Finish" msgstr "Fertig" @@ -361,18 +370,15 @@ msgstr "Weiter" msgid "Add and Remove Columns" msgstr "Spalten hinzufügen oder entfernen" -#: edit_columns.rb:64 -#: edit_columns.rb:83 +#: edit_columns.rb:64 edit_columns.rb:83 msgid "Delete column" msgstr "Lösche Spalte" -#: edit_columns.rb:66 -#: edit_columns.rb:81 +#: edit_columns.rb:66 edit_columns.rb:81 msgid "Add column" msgstr "Füge Spalte hinzu" -#: edit_columns.rb:68 -#: edit_columns.rb:85 +#: edit_columns.rb:68 edit_columns.rb:85 msgid "Edit column" msgstr "Bearbeite Spalte" @@ -392,8 +398,7 @@ msgstr "Umfrage der Version" msgid "Current Poll" msgstr "Aktuelle Umfrage" -#: history.rb:32 -#: log.rb:111 +#: history.rb:32 log.rb:111 msgid "Version" msgstr "Version" @@ -485,8 +490,7 @@ msgstr "Aktualisieren" msgid "Name" msgstr "Name" -#: pollhead.rb:86 -#: timepollhead.rb:190 +#: pollhead.rb:86 timepollhead.rb:190 msgid "Last Edit" msgstr "Letzte Änderung" @@ -514,11 +518,26 @@ msgstr "Optional:" msgid "Enter a concrete value as start time." msgstr "Geben Sie eine Zeit für ein Datum ein." -#: timepollhead.rb:356 +#: timepollhead.rb:293 +msgid "Time" +msgstr "Zeit" + +#: timepollhead.rb:311 +msgid "chosen" +msgstr "gewählt" + +#: timepollhead.rb:312 +msgid "notchosen" +msgstr "nicht gewählt" + +#: timepollhead.rb:313 +msgid "past" +msgstr "vergangen" + +#: timepollhead.rb:366 msgid "Add" msgstr "Hinzufügen" -#: timepollhead.rb:357 +#: timepollhead.rb:367 msgid "e.g.: 09:30, morning, afternoon" msgstr "z.B.: 9:30, morgens, abends" - @@ -18,7 +18,7 @@ ***************************************************************************/ -td.ayes, input.choosen { background-color:#0F0; } +td.ayes, input.chosen { background-color:#0F0; } td.cno { background-color:#F00; } td.bmaybe { background-color:#FF0; } td.undecided { background-color:#DDD;color:#666 } @@ -40,7 +40,7 @@ th.weekday{ width: 2.5em; } -input.navigation, input.disabled, input.choosen, input.notchoosen { +input.navigation, input.disabled, input.chosen, input.notchosen { border-width: 1px; border-style: solid; border-color: black; diff --git a/timepollhead.rb b/timepollhead.rb index a176b4f..e1116be 100644 --- a/timepollhead.rb +++ b/timepollhead.rb @@ -100,12 +100,12 @@ class TimePollHead @data.sort.each.collect{|day| day.to_s} end - def each_time + def concrete_times h = {} @data.each{|ds| h[ds.time_to_s] = true } h.keys.compact.sort{|a,b| TimeString.new(Date.today,a) <=> TimeString.new(Date.today,b) - }.each{|k| yield(k)} + } end def date_included?(date) ret = false @@ -245,11 +245,11 @@ END } d = startdate while true do - klasse = "notchoosen" + klasse = "notchosen" varname = "new_columnname" klasse = "disabled" if d < Date.today if date_included?(d) - klasse = "choosen" + klasse = "chosen" varname = "deletecolumn" end ret += <<TD @@ -290,12 +290,13 @@ END <tr> END + ret += "<th class='invisible'></th>" head_count("%Y-%m",true).each{|title,count| year,month = title.split("-").collect{|e| e.to_i} ret += "<th colspan='#{count}'>#{Date::ABBR_MONTHNAMES[month]} #{year}</th>\n" } - ret += "</tr><tr>" + ret += "</tr><tr><th>" + _("Time") + "</th>" head_count("%Y-%m-%d",true).each{|title,count| ret += "<th>#{Date.parse(title).strftime('%a, %d')}</th>\n" @@ -306,20 +307,28 @@ END days = @data.sort.collect{|date| date.date }.uniq - each_time{|time| - ret +="<tr>\n" + chosenstr = { + "chosen" => _("chosen"), + "notchosen" => _("notchosen"), + "disabled" => _("past") + } + times = [] + (9..20).each{|i| times << "#{i.to_s.rjust(2,"0")}:00"} + times << concrete_times + times.flatten.compact.uniq.sort.each{|time| + ret +="<tr>\n<td>#{time}</td>" days.each{|day| timestamp = TimeString.new(day,time) - klasse = "notchoosen" + klasse = "notchosen" klasse = "disabled" if timestamp < TimeString.now - klasse = "choosen" if @data.include?(timestamp) + klasse = "chosen" if @data.include?(timestamp) ret += <<END <td> <form method='post' action=""> <div> <!--Timestamp: #{timestamp} --> END - if klasse == "choosen" + if klasse == "chosen" ret += "<input type='hidden' name='deletecolumn' value='#{timestamp.to_s}' />" else ret += "<input type='hidden' name='new_columnname' value='#{timestamp.date}' />" @@ -329,7 +338,8 @@ END end ret += <<END - <input title='#{timestamp}' class='#{klasse}' type='submit' name='columntime' value='#{timestamp.time_to_s}' /> + <input title='#{timestamp}' class='#{klasse}' type='submit' value='#{chosenstr[klasse]}' /> + <input type='hidden' name='columntime' value='#{timestamp.time_to_s}' /> <input type='hidden' name='add_remove_column_month' value='#{timestamp.date.strftime("%Y-%m")}' /> <input type='hidden' name='undo_revision' value='#{revision}' /> </div> @@ -340,7 +350,7 @@ END ret += "</tr>\n" } - ret += "<tr>" + ret += "<tr><td></td>" days.each{|d| ret += <<END <td> |