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.
19 'Page names containing newline character are not allowed') printf 'Seitennamen mit Zeilenumbruch sind nicht erlaubt';;
20 'Page names starting with "#" are not allowed') printf 'Seitennamen dürfen nicht mit "#" anfangen';;
21 'Formdata invalid') printf 'Formulardaten ungültig';;
22 'Page name required') printf 'Seitenname erforderlich';;
23 'Page exists already') printf 'Seite existiert schon';;
24 "You don't have permission to write to this page") printf 'Keine Berechtigung auf diese Seite zu schreiben';;
25 'Unable to lock page for editing') printf 'Kann Seite nicht zum bearbeiten sperren';;
26 'TRANSLATION NOT FOUND') printf 'Übersetzung nicht gefunden';;
27 'The presented URL schema cannot be handled') printf 'Das angegeben URL Schema kann nicht verarbeitet werden';;
28 'missing') printf 'fehlt';;
29 'outdated') printf 'veraltet';;
30 'current') printf 'aktuell';;
31 'View') printf 'Anzeigen';;
32 'Edit') printf 'Bearbeiten';;
33 'Attachments') printf 'Anhänge';;
34 'Revisions') printf 'Revisionen';;
35 'Rename') printf 'Umbenennen';;
36 'Move') printf 'Verschieben';;
37 'Delete') printf 'Löschen';;
38 'Update') printf 'Aktualisieren';;
39 'Cancel') printf 'Abbrechen';;
40 'Editor') printf 'Editor';;
41 'Syntax') printf 'Syntax';;
42 'page name') printf 'Seitenname';;
43 'Upload') printf 'Hochladen';;
44 'Move To:') printf 'Verschieben nach:';;
45 'Latest changes to the original language page') printf 'Letzte Änderungen der originalsprachlichen Seite';;
46 'GIT is not available to handle revisioning.') printf 'GIT steht nicht zur Verfügung um Revisionierung zu handhaben';;
47 '(never edited)') printf '(nie bearbeitet)';;
48 "Attachment rename") printf "Anhänge umbenennen";;
49 "Errors:") printf "Fehler:";;
50 "Files could not be renamed") printf "Dateien konnten nicht umbenannt werden";;
51 "Files were renamed") printf "Dateien wurden umbenannt";;
53 "Some files could not be renamed") printf "Einige Dateien konnten nicht umbenannt werden";;
54 "Successfully renamed:") printf "Erfolgreich umbenannt:";;
55 "A location of that name already exists.") printf "Ein Ort mit diesem Namen existiert bereits.";;
56 "A page of that name already exists at the given location.") printf "Eine Seite mit diesem namen gibt es schon am angegebenen Ort.";;
57 "The given location does not exist.") printf "Den angegebenen Ort gibt es nicht.";;
58 "Missing parameters.") printf "Fehlende Parameter.";;
59 "Pages deleted:") printf "Seiten gelöscht:";;
60 "Search results") printf "Suchergebnisse";;
61 "Search") printf "Suche";;
62 *) printf %s\\n "$*";;
68 user_register_email() { # TRANSLATION
69 "$SENDMAIL" -t -f "$MAILFROM" <<-EOF
72 Subject: Ihre Benutzeranmeldung für ${HTTP_HOST%:*}
74 Jemand hat versucht ein Benutzerkonto mit dieser Email-Adresse zu erstellen.
76 Sie können Ihr Benutzerkonto aktivieren, indem Sie auf diesen Link klicken:
78 ${SCHEMA}://${HTTP_HOST}${_BASE}${PATH_INFO}?user_confirm=${uid}+$(session_mac "$uid")
80 Der Registrierungslink wird nach $((USER_CONFIRMEXPIRE / 3600)) Stunden ungültig.
82 Falls Sie kein Konto bei ${HTTP_HOST%:*} beantragt haben, hat wahrscheinlich
83 jemand anderes versehentlich Ihre Emain-Adresse dort eingegeben. In diesem Fall
84 ignorieren Sie bitte diese Email und wir löschen Ihre Email-Adresse in den
85 nächsten Tagen aus unserer Datenbank.
87 Dies ist eine automatische Email. Eine direkte Antwort wird nicht empfangen.
89 Automat zur Kontenregistrierung.
92 user_invite_email(){ # TRANSLATION
93 "$SENDMAIL" -t -f "$MAILFROM" <<-EOF
96 Subject: Sie wurden zu ${HTTP_HOST%:*} eingeladen
98 ${USER_NAME:-Jemand} hat eine Einladung an diese Email-Adresse ausgesprochen.
102 Sie können Ihr Benutzerkonto aktivieren, indem Sie auf diesen Link klicken:
104 ${SCHEMA}://${HTTP_HOST}${_BASE}${PATH_INFO}?user_confirm=${uid}+$(session_mac "$uid")
106 Der Registrierungslink wird nach $((USER_CONFIRMEXPIRE / 3600)) Stunden ungültig.
108 Falls Sie nicht wissen worum es hier geht, hat wahrscheinlich jemand anderes
109 versehentlich Ihre Emain-Adresse dort eingegeben. In diesem Fall ignorieren
110 Sie bitte diese Email und wir löschen Ihre Email-Adresse in den nächsten
111 Tagen aus unserer Datenbank.
113 Dies ist eine automatische Email. Eine direkte Antwort wird nicht empfangen.
115 Automat zur Kontenregistrierung.
118 w_user_register_disabled(){ # TRANSLATION
120 [div #user_register .disabled
121 Die Registrierung von Benutzerkonten ist deaktiviert.
125 w_user_register_sendmail(){ # TRANSLATION
127 [form #user_register .registeremail method=POST
128 [p Wir schicken eine Aktivierungsmail an Ihre Email-Adresse.
129 Sie können mit der Registierung fortfahren, sobald Sie den
130 Aktivierungslink in dieser Email anklicken.]
131 [input type=email name=email placeholder="Email Adresse"]
132 [submit "action" "user_register" Registrieren]
136 w_user_register_direct(){ # TRANSLATION
138 [form #user_register .registername method=POST
139 [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]
140 [input type=password name=pw placeholder="Passwort wählen" pattern=".{6,}"]
141 [input type=password name=pwconfirm placeholder="Passwort bestätigen" pattern=".{6,}"]
142 [submit "action" "user_register" Registrieren]
146 w_user_confirm_proceed(){ # TRANSLATION
148 [form #user_confirm method=POST
149 [input type=hidden name=uid value="${uid}"]
150 [input type=hidden name=signature value="${signature}"]
151 $([ "$EMAIL" != '\' ] && printf \
152 '[input disabled=disabled value="%s" placeholder="Email Adresse"]' "$(UNSTRING "$EMAIL" |HTML)"
154 [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]
155 [input type=password name=pw placeholder="Passwort wählen" pattern=".{6,}"]
156 [input type=password name=pwconfirm placeholder="Passwort bestätigen" pattern=".{6,}"]
157 [submit "action" "user_confirm" Registrierung Abschließen]
161 w_user_confirm_expired(){ # TRANSLATION
163 [div #user_confirm .expired
164 [p Diser Aktivierungslink ist nicht mehr gültig.]
168 w_user_confirm_invalid(){ # TRANSLATION
170 [div #user_confirm .invalid
171 [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.]
175 w_user_invite_email(){ # TRANSLATION
177 [form #user_invite method=POST
178 [input placeholder="Email-Empfänger" name=email autocomplete=off]
179 [textarea name="message" placeholder="Nachricht an Empfänger" . ]
180 [submit "action" "user_invite" Einladung Senden]
184 w_user_invite_link(){ # TRANSLATION
186 [div #user_invite .link
187 [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.]
188 [a href="$(HTML "$invlink")" . $(HTML "$invlink")]
190 [p [a href="#" . Ein weiteres Konto anlegen]]
194 w_user_invite_deny(){ # TRANSLATION
196 [div #user_invite .notallowed
197 Nur angemeldete Benutzer können einen Einladungslink an Andere versenden.
201 w_user_login_logon(){ # TRANSLATION
203 [form #user_login .login method=POST
204 [input name=uname placeholder="Benutzername oder Email-Adresse" autocomplete=off]
205 [input type=password name=pw placeholder="Passwort"]
206 [submit "action" "user_login" Anmelden]
210 w_user_login_logoff(){ # TRANSLATION
212 [form #user_login .logout method=POST
213 [p Logged in as [span . $(HTML ${USER_NAME})]]
214 [submit "action" "user_logout" Abmelden]
219 l10n_immutablepage(){ #TRANSLATION
221 <h1>Unveränderliche Seite</h1>
222 Dies ist eine Kernseite des Wikisystems. Name und Ort können nicht verändert werden.
223 Sie können jedoch den Inhalt der Seite ändern und Sie können ACLs nutzen um die Seite zu verstecken.
226 l10n_movepage(){ # TRANSLATION
228 <h1>Seite verschieben</h1>
229 <p class="pageid">$(HTML "${page}")</p>
230 <input list="locations" autocomplete="off" name="newlocation" value="$(HTML "$location")" placeholder="Neuer Ort">
232 <li>Eine Seite mit dem selben Namen darf nicht schon vorhanden sein.</li>
233 <li>Sie müssen die Berechtigung haben, Seiten an diesem Ort anzulegen.</li>
234 <li>Alle Unterseiten werden unter dem neuen Pfad verfügbar gemacht.</li>
235 <li>Unterseiten werden unter ihrem aktuellen Pfad nicht mehr verfügbar sein.</li>
237 <button type=submit name=action value=move>Verschieben</button>
238 <button type=submit name=action value=cancel>Abbrechen</button>
241 l10n_renamepage(){ # TRANSLATION
243 <h1>Seite Umbenennen</h1>
244 <p class="pageid">$(HTML "${page}")</p>
245 <input autocomplete="off" name="newname" value="$(HTML "$name")" placeholder="Neuer Name">
247 <li>Eine Seite mit dem neuen Namen darf nicht schon vorhanden sein.</li>
248 <li>Sie müssen die Berechtigung haben, Seiten an diesem Ort anzulegen.</li>
249 <li>Alle Unterseiten werden unter dem neuen Pfad verfügbar gemacht.</li>
250 <li>Unterseiten werden unter ihrem aktuellen Pfad nicht mehr verfügbar sein.</li>
252 <button type=submit name=action value=rename>Umbenennen</button>
253 <button type=submit name=action value=cancel>Abbrechen</button>
256 l10n_deletepage(){ # TRANSLATION
258 <h1>Seite Löschen</h1>
259 <p class="pageid">$(HTML "${page}")</p>
260 <p>Diese Seite und all ihre Anhänge werden gelöscht.</p>
261 <input type=checkbox name=delete_subpages value=true id=delsub><label for=delsub>Unterseiten löschen</label>
264 [ "$REV_PAGES" = true ] \
265 && printf ' <li>Vergangene Revisionen der Seitentextes (einschließlich der aktuellen) bleiben verfügbar und können wiederhergestellt werden.</li>'
266 [ "$REV_PAGES" = true -a "$REV_ATTACHMENTS" = true ] \
267 && printf ' <li>Anhänge können ebenfalls wiederhergestellt werden.</li>' \
268 || printf ' <li>Anhänge werden vollständig gelöscht und können nicht wiederhergestellt werden.</li>'
270 <li class="delsub">Unterseiten sind nicht betroffen und bleiben normal verfügbar.</li>
272 <button type=submit name=action value=delete>Löschen</button>
273 <button type=submit name=action value=cancel>Abbrechen</button>