3 # Copyright 2023 Paul Hänsch
5 # Permission to use, copy, modify, and/or distribute this software for any
6 # purpose with or without fee is hereby granted, provided that the above
7 # copyright notice and this permission notice appear in all copies.
9 # THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
12 # SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15 # IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 export LC_TIME=de_DE.UTF-8
21 'Page names containing newline character are not allowed') printf 'Seitennamen mit Zeilenumbruch sind nicht erlaubt';;
22 'Page names starting with "#" are not allowed') printf 'Seitennamen dürfen nicht mit "#" anfangen';;
23 'Formdata invalid') printf 'Formulardaten ungültig';;
24 'Page name required') printf 'Seitenname erforderlich';;
25 'Page exists already') printf 'Seite existiert schon';;
26 "You don't have permission to write to this page") printf 'Keine Berechtigung auf diese Seite zu schreiben';;
27 'Unable to lock page for editing') printf 'Kann Seite nicht zum bearbeiten sperren';;
28 'TRANSLATION NOT FOUND') printf 'Übersetzung nicht gefunden';;
29 'The presented URL schema cannot be handled') printf 'Das angegeben URL Schema kann nicht verarbeitet werden';;
30 'missing') printf 'fehlt';;
31 'outdated') printf 'veraltet';;
32 'current') printf 'aktuell';;
33 'View') printf 'Anzeigen';;
34 'Edit') printf 'Bearbeiten';;
35 'Attachments') printf 'Anhänge';;
36 'Revisions') printf 'Revisionen';;
37 'Rename') printf 'Umbenennen';;
38 'Move') printf 'Verschieben';;
39 'Delete') printf 'Löschen';;
40 'Update') printf 'Aktualisieren';;
41 'Cancel') printf 'Abbrechen';;
42 'Editor') printf 'Editor';;
43 'Syntax') printf 'Syntax';;
44 'page name') printf 'Seitenname';;
45 'Upload') printf 'Hochladen';;
46 'Move To:') printf 'Verschieben nach:';;
47 'Latest changes to the original language page') printf 'Letzte Änderungen der originalsprachlichen Seite';;
48 'GIT is not available to handle revisioning.') printf 'GIT steht nicht zur Verfügung um Revisionierung zu handhaben';;
49 '(never edited)') printf '(nie bearbeitet)';;
50 "Attachment rename") printf "Anhänge umbenennen";;
51 "Errors:") printf "Fehler:";;
52 "Files could not be renamed") printf "Dateien konnten nicht umbenannt werden";;
53 "Files were renamed") printf "Dateien wurden umbenannt";;
55 "Some files could not be renamed") printf "Einige Dateien konnten nicht umbenannt werden";;
56 "Successfully renamed:") printf "Erfolgreich umbenannt:";;
57 "A location of that name already exists.") printf "Ein Ort mit diesem Namen existiert bereits.";;
58 "A page of that name already exists at the given location.") printf "Eine Seite mit diesem namen gibt es schon am angegebenen Ort.";;
59 "The given location does not exist.") printf "Den angegebenen Ort gibt es nicht.";;
60 "Missing parameters.") printf "Fehlende Parameter.";;
61 "Pages deleted:") printf "Seiten gelöscht:";;
62 "Search results") printf "Suchergebnisse";;
63 "Search") printf "Suche";;
64 *) printf %s\\n "$*";;
70 user_register_email() { # TRANSLATION
71 "$SENDMAIL" -t -f "$MAILFROM" <<-EOF
74 Subject: Ihre Benutzeranmeldung für ${HTTP_HOST%:*}
76 Jemand hat versucht ein Benutzerkonto mit dieser Email-Adresse zu erstellen.
78 Sie können Ihr Benutzerkonto aktivieren, indem Sie auf diesen Link klicken:
80 ${SCHEMA}://${HTTP_HOST}${_BASE}${PATH_INFO}?user_confirm=${uid}+$(session_mac "$uid")
82 Der Registrierungslink wird nach $((USER_CONFIRMEXPIRE / 3600)) Stunden ungültig.
84 Falls Sie kein Konto bei ${HTTP_HOST%:*} beantragt haben, hat wahrscheinlich
85 jemand anderes versehentlich Ihre Emain-Adresse dort eingegeben. In diesem Fall
86 ignorieren Sie bitte diese Email und wir löschen Ihre Email-Adresse in den
87 nächsten Tagen aus unserer Datenbank.
89 Dies ist eine automatische Email. Eine direkte Antwort wird nicht empfangen.
91 Automat zur Kontenregistrierung.
94 user_invite_email(){ # TRANSLATION
95 "$SENDMAIL" -t -f "$MAILFROM" <<-EOF
98 Subject: Sie wurden zu ${HTTP_HOST%:*} eingeladen
100 ${USER_NAME:-Jemand} hat eine Einladung an diese Email-Adresse ausgesprochen.
104 Sie können Ihr Benutzerkonto aktivieren, indem Sie auf diesen Link klicken:
106 ${SCHEMA}://${HTTP_HOST}${_BASE}${PATH_INFO}?user_confirm=${uid}+$(session_mac "$uid")
108 Der Registrierungslink wird nach $((USER_CONFIRMEXPIRE / 3600)) Stunden ungültig.
110 Falls Sie nicht wissen worum es hier geht, hat wahrscheinlich jemand anderes
111 versehentlich Ihre Emain-Adresse dort eingegeben. In diesem Fall ignorieren
112 Sie bitte diese Email und wir löschen Ihre Email-Adresse in den nächsten
113 Tagen aus unserer Datenbank.
115 Dies ist eine automatische Email. Eine direkte Antwort wird nicht empfangen.
117 Automat zur Kontenregistrierung.
120 w_user_register_disabled(){ # TRANSLATION
122 [div #user_register .disabled
123 Die Registrierung von Benutzerkonten ist deaktiviert.
127 w_user_register_sendmail(){ # TRANSLATION
129 [form #user_register .registeremail method=POST
130 [p Wir schicken eine Aktivierungsmail an Ihre Email-Adresse.
131 Sie können mit der Registierung fortfahren, sobald Sie den
132 Aktivierungslink in dieser Email anklicken.]
133 [input type=email name=email placeholder="Email Adresse"]
134 [submit "action" "user_register" Registrieren]
138 w_user_register_direct(){ # TRANSLATION
140 [form #user_register .registername method=POST
141 [input name=uname placeholder="Benutzername wählen" tooltip="Ihr Benutzername darf jedes Zeichen, außer dem @-Zeichen enthalten. Er muss mindestens drei Zeichen lang sein und mit einem Buchstaben anfangen." pattern="^\[\\\\p{L}\]\[\\\\p{L}0-9 -~\]{2,127}$" autocomplete=off]
142 [input type=password name=pw placeholder="Passwort wählen" pattern=".{6,}"]
143 [input type=password name=pwconfirm placeholder="Passwort bestätigen" pattern=".{6,}"]
144 [submit "action" "user_register" Registrieren]
148 w_user_confirm_proceed(){ # TRANSLATION
150 [form #user_confirm method=POST
151 [input type=hidden name=uid value="${uid}"]
152 [input type=hidden name=signature value="${signature}"]
153 $([ "$EMAIL" != '\' ] && printf \
154 '[input disabled=disabled value="%s" placeholder="Email Adresse"]' "$(UNSTRING "$EMAIL" |HTML)"
156 [input name=uname placeholder="Benutzername wählen" tooltip="Ihr Benutzername darf jedes Zeichen, außer dem @-Zeichen enthalten. Er muss mindestens drei Zeichen lang sein und mit einem Buchstaben anfangen." pattern="^\[\\\\p{L}\]\[\\\\p{L}0-9 -~\]{2,127}$" autocomplete=off]
157 [input type=password name=pw placeholder="Passwort wählen" pattern=".{6,}"]
158 [input type=password name=pwconfirm placeholder="Passwort bestätigen" pattern=".{6,}"]
159 [submit "action" "user_confirm" Registrierung Abschließen]
163 w_user_confirm_expired(){ # TRANSLATION
165 [div #user_confirm .expired
166 [p Diser Aktivierungslink ist nicht mehr gültig.]
170 w_user_confirm_invalid(){ # TRANSLATION
172 [div #user_confirm .invalid
173 [p Dieser Aktivierungslink ist ungültig. Stellen Sie sicher, dass Sie den gesamten Aktivierungslink aus Ihrer Email kopiert haben und achten Sie darauf, keine Zeilenumbrüche mit zu kopieren.]
177 w_user_invite_email(){ # TRANSLATION
179 [form #user_invite method=POST
180 [input placeholder="Email-Empfänger" name=email autocomplete=off]
181 [textarea name="message" placeholder="Nachricht an Empfänger" . ]
182 [submit "action" "user_invite" Einladung Senden]
186 w_user_invite_link(){ # TRANSLATION
188 [div #user_invite .link
189 [p Ein anonymes Benutzerkonto wurde angelegt. Schicken Sie den folgenden Link an den vorgesehene Person, so dass sie ihr Benutzerkonto annehmen kann. Der Link ist für $((USER_CONFIRMEXPIRE / 3600)) Stunden gültig.]
190 [a href="$(HTML "$invlink")" . $(HTML "$invlink")]
192 [p [a href="#" . Ein weiteres Konto anlegen]]
196 w_user_invite_deny(){ # TRANSLATION
198 [div #user_invite .notallowed
199 Nur angemeldete Benutzer können einen Einladungslink an Andere versenden.
203 w_user_login_logon(){ # TRANSLATION
205 [form #user_login .login method=POST
206 [input name=uname placeholder="Benutzername oder Email-Adresse"]
207 [input type=password name=pw placeholder="Passwort"]
208 [submit "action" "user_login" Anmelden]
212 w_user_login_logoff(){ # TRANSLATION
214 [form #user_login .logout method=POST
215 [p Logged in as [span . $(HTML ${USER_NAME})]]
216 [submit "action" "user_logout" Abmelden]
221 l10n_immutablepage(){ #TRANSLATION
223 <h1>Unveränderliche Seite</h1>
224 Dies ist eine Kernseite des Wikisystems. Name und Ort können nicht verändert werden.
225 Sie können jedoch den Inhalt der Seite ändern und Sie können ACLs nutzen um die Seite zu verstecken.
228 l10n_movepage(){ # TRANSLATION
230 <h1>Seite verschieben</h1>
231 <p class="pageid">$(HTML "${page}")</p>
232 <input list="locations" autocomplete="off" name="newlocation" value="$(HTML "$location")" placeholder="Neuer Ort">
234 <li>Eine Seite mit dem selben Namen darf nicht schon vorhanden sein.</li>
235 <li>Sie müssen die Berechtigung haben, Seiten an diesem Ort anzulegen.</li>
236 <li>Alle Unterseiten werden unter dem neuen Pfad verfügbar gemacht.</li>
237 <li>Unterseiten werden unter ihrem aktuellen Pfad nicht mehr verfügbar sein.</li>
239 <button type=submit name=action value=move>Verschieben</button>
240 <button type=submit name=action value=cancel>Abbrechen</button>
243 l10n_renamepage(){ # TRANSLATION
245 <h1>Seite Umbenennen</h1>
246 <p class="pageid">$(HTML "${page}")</p>
247 <input autocomplete="off" name="newname" value="$(HTML "$name")" placeholder="Neuer Name">
249 <li>Eine Seite mit dem neuen Namen darf nicht schon vorhanden sein.</li>
250 <li>Sie müssen die Berechtigung haben, Seiten an diesem Ort anzulegen.</li>
251 <li>Alle Unterseiten werden unter dem neuen Pfad verfügbar gemacht.</li>
252 <li>Unterseiten werden unter ihrem aktuellen Pfad nicht mehr verfügbar sein.</li>
254 <button type=submit name=action value=rename>Umbenennen</button>
255 <button type=submit name=action value=cancel>Abbrechen</button>
258 l10n_deletepage(){ # TRANSLATION
260 <h1>Seite Löschen</h1>
261 <p class="pageid">$(HTML "${page}")</p>
262 <p>Diese Seite und all ihre Anhänge werden gelöscht.</p>
263 <input type=checkbox name=delete_subpages value=true id=delsub><label for=delsub>Unterseiten löschen</label>
266 [ "$REV_PAGES" = true ] \
267 && printf ' <li>Vergangene Revisionen der Seitentextes (einschließlich der aktuellen) bleiben verfügbar und können wiederhergestellt werden.</li>'
268 [ "$REV_PAGES" = true -a "$REV_ATTACHMENTS" = true ] \
269 && printf ' <li>Anhänge können ebenfalls wiederhergestellt werden.</li>' \
270 || printf ' <li>Anhänge werden vollständig gelöscht und können nicht wiederhergestellt werden.</li>'
272 <li class="delsub">Unterseiten sind nicht betroffen und bleiben normal verfügbar.</li>
274 <button type=submit name=action value=delete>Löschen</button>
275 <button type=submit name=action value=cancel>Abbrechen</button>