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 *) printf %s\\n "$*";;
61 user_register_email() { # TRANSLATION
62 "$SENDMAIL" -t -f "$MAILFROM" <<-EOF
65 Subject: Ihre Benutzeranmeldung für ${HTTP_HOST%:*}
67 Jemand hat versucht ein Benutzerkonto mit dieser Email-Adresse zu erstellen.
69 Sie können Ihr Benutzerkonto aktivieren, indem Sie auf diesen Link klicken:
71 ${SCHEMA}://${HTTP_HOST}${_BASE}${PATH_INFO}?user_confirm=${uid}+$(session_mac "$uid")
73 Der Registrierungslink wird nach $((USER_CONFIRMEXPIRE / 3600)) Stunden ungültig.
75 Falls Sie kein Konto bei ${HTTP_HOST%:*} beantragt haben, hat wahrscheinlich
76 jemand anderes versehentlich Ihre Emain-Adresse dort eingegeben. In diesem Fall
77 ignorieren Sie bitte diese Email und wir löschen Ihre Email-Adresse in den
78 nächsten Tagen aus unserer Datenbank.
80 Dies ist eine automatische Email. Eine direkte Antwort wird nicht empfangen.
82 Automat zur Kontenregistrierung.
85 user_invite_email(){ # TRANSLATION
86 "$SENDMAIL" -t -f "$MAILFROM" <<-EOF
89 Subject: Sie wurden zu ${HTTP_HOST%:*} eingeladen
91 ${USER_NAME:-Jemand} hat eine Einladung an diese Email-Adresse ausgesprochen.
95 Sie können Ihr Benutzerkonto aktivieren, indem Sie auf diesen Link klicken:
97 ${SCHEMA}://${HTTP_HOST}${_BASE}${PATH_INFO}?user_confirm=${uid}+$(session_mac "$uid")
99 Der Registrierungslink wird nach $((USER_CONFIRMEXPIRE / 3600)) Stunden ungültig.
101 Falls Sie nicht wissen worum es hier geht, hat wahrscheinlich jemand anderes
102 versehentlich Ihre Emain-Adresse dort eingegeben. In diesem Fall ignorieren
103 Sie bitte diese Email und wir löschen Ihre Email-Adresse in den nächsten
104 Tagen aus unserer Datenbank.
106 Dies ist eine automatische Email. Eine direkte Antwort wird nicht empfangen.
108 Automat zur Kontenregistrierung.
111 w_user_register_disabled(){ # TRANSLATION
113 [div #user_register .disabled
114 Die Registrierung von Benutzerkonten ist deaktiviert.
118 w_user_register_sendmail(){ # TRANSLATION
120 [form #user_register .registeremail method=POST
121 [p Wir schicken eine Aktivierungsmail an Ihre Email-Adresse.
122 Sie können mit der Registierung fortfahren, sobald Sie den
123 Aktivierungslink in dieser Email anklicken.]
124 [input type=email name=email placeholder="Email Adresse"]
125 [submit "action" "user_register" Registrieren]
129 w_user_register_direct(){ # TRANSLATION
131 [form #user_register .registername method=POST
132 [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]
133 [input type=password name=pw placeholder="Passwort wählen" pattern=".{6,}"]
134 [input type=password name=pwconfirm placeholder="Passwort bestätigen" pattern=".{6,}"]
135 [submit "action" "user_register" Registrieren]
139 w_user_confirm_proceed(){ # TRANSLATION
141 [form #user_confirm method=POST
142 [input type=hidden name=uid value="${uid}"]
143 [input type=hidden name=signature value="${signature}"]
144 $([ "$EMAIL" != '\' ] && printf \
145 '[input disabled=disabled value="%s" placeholder="Email Adresse"]' "$(UNSTRING "$EMAIL" |HTML)"
147 [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]
148 [input type=password name=pw placeholder="Passwort wählen" pattern=".{6,}"]
149 [input type=password name=pwconfirm placeholder="Passwort bestätigen" pattern=".{6,}"]
150 [submit "action" "user_confirm" Registrierung Abschließen]
154 w_user_confirm_expired(){ # TRANSLATION
156 [div #user_confirm .expired
157 [p Diser Aktivierungslink ist nicht mehr gültig.]
161 w_user_confirm_invalid(){ # TRANSLATION
163 [div #user_confirm .invalid
164 [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.]
168 w_user_invite_email(){ # TRANSLATION
170 [form #user_invite method=POST
171 [input placeholder="Email-Empfänger" name=email autocomplete=off]
172 [textarea name="message" placeholder="Nachricht an Empfänger" . ]
173 [submit "action" "user_invite" Einladung Senden]
177 w_user_invite_link(){ # TRANSLATION
179 [div #user_invite .link
180 [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.]
181 [a href="$(HTML "$invlink")" . $(HTML "$invlink")]
183 [p [a href="#" . Ein weiteres Konto anlegen]]
187 w_user_invite_deny(){ # TRANSLATION
189 [div #user_invite .notallowed
190 Nur angemeldete Benutzer können einen Einladungslink an Andere versenden.
194 w_user_login_logon(){ # TRANSLATION
196 [form #user_login .login method=POST
197 [input name=uname placeholder="Benutzername oder Email-Adresse" autocomplete=off]
198 [input type=password name=pw placeholder="Passwort"]
199 [submit "action" "user_login" Anmelden]
203 w_user_login_logoff(){ # TRANSLATION
205 [form #user_login .logout method=POST
206 [p Logged in as [span . $(HTML ${USER_NAME})]]
207 [submit "action" "user_logout" Abmelden]
212 l10n_immutablepage(){ #TRANSLATION
214 <h1>Unveränderliche Seite</h1>
215 Dies ist eine Kernseite des Wikisystems. Name und Ort können nicht verändert werden.
216 Sie können jedoch den Inhalt der Seite ändern und Sie können ACLs nutzen um die Seite zu verstecken.
219 l10n_movepage(){ # TRANSLATION
221 <h1>Seite verschieben</h1>
222 <p class="pageid">$(HTML "${page}")</p>
223 <input name="newlocation" value="$(HTML "$location")" placeholder="Neuer Ort">
225 <li>Eine Seite mit dem selben Namen darf nicht schon vorhanden sein.</li>
226 <li>Sie müssen die Berechtigung haben, Seiten an diesem Ort anzulegen.</li>
227 <li>Alle Unterseiten werden unter dem neuen Pfad verfügbar gemacht.</li>
228 <li>Unterseiten werden unter ihrem aktuellen Pfad nicht mehr verfügbar sein.</li>
230 <button type=submit name=action value=move>Verschieben</button>
231 <button type=submit name=action value=cancel>Abbrechen</button>
234 l10n_renamepage(){ # TRANSLATION
236 <h1>Seite Umbenennen</h1>
237 <p class="pageid">$(HTML "${page}")</p>
238 <input name="newname" value="$(HTML "$name")" placeholder="Neuer Name">
240 <li>Eine Seite mit dem neuen Namen darf nicht schon vorhanden sein.</li>
241 <li>Sie müssen die Berechtigung haben, Seiten an diesem Ort anzulegen.</li>
242 <li>Alle Unterseiten werden unter dem neuen Pfad verfügbar gemacht.</li>
243 <li>Unterseiten werden unter ihrem aktuellen Pfad nicht mehr verfügbar sein.</li>
245 <button type=submit name=action value=rename>Umbenennen</button>
246 <button type=submit name=action value=cancel>Abbrechen</button>
249 l10n_deletepage(){ # TRANSLATION
251 <h1>Seite Löschen</h1>
252 <p class="pageid">$(HTML "${page}")</p>
253 <p>Diese Seite und all ihre Anhänge werden gelöscht.</p>
255 <li>Vergangene Revisionen der Seitentextes (einschließlich der aktuellen) bleiben verfügbar und können wiederhergestellt werden.</li>
256 <li>Anhänge werden vollständig gelöscht und können nicht wiederhergestellt werden.</li>
257 <li>Unterseiten sind nicht betroffen und bleiben normal verfügbar.</li>
259 <button type=submit name=action value=delete>Löschen</button>
260 <button type=submit name=action value=cancel>Abbrechen</button>