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 *) printf %s\\n "$*";;
65 user_register_email() { # TRANSLATION
66 "$SENDMAIL" -t -f "$MAILFROM" <<-EOF
69 Subject: Ihre Benutzeranmeldung für ${HTTP_HOST%:*}
71 Jemand hat versucht ein Benutzerkonto mit dieser Email-Adresse zu erstellen.
73 Sie können Ihr Benutzerkonto aktivieren, indem Sie auf diesen Link klicken:
75 ${SCHEMA}://${HTTP_HOST}${_BASE}${PATH_INFO}?user_confirm=${uid}+$(session_mac "$uid")
77 Der Registrierungslink wird nach $((USER_CONFIRMEXPIRE / 3600)) Stunden ungültig.
79 Falls Sie kein Konto bei ${HTTP_HOST%:*} beantragt haben, hat wahrscheinlich
80 jemand anderes versehentlich Ihre Emain-Adresse dort eingegeben. In diesem Fall
81 ignorieren Sie bitte diese Email und wir löschen Ihre Email-Adresse in den
82 nächsten Tagen aus unserer Datenbank.
84 Dies ist eine automatische Email. Eine direkte Antwort wird nicht empfangen.
86 Automat zur Kontenregistrierung.
89 user_invite_email(){ # TRANSLATION
90 "$SENDMAIL" -t -f "$MAILFROM" <<-EOF
93 Subject: Sie wurden zu ${HTTP_HOST%:*} eingeladen
95 ${USER_NAME:-Jemand} hat eine Einladung an diese Email-Adresse ausgesprochen.
99 Sie können Ihr Benutzerkonto aktivieren, indem Sie auf diesen Link klicken:
101 ${SCHEMA}://${HTTP_HOST}${_BASE}${PATH_INFO}?user_confirm=${uid}+$(session_mac "$uid")
103 Der Registrierungslink wird nach $((USER_CONFIRMEXPIRE / 3600)) Stunden ungültig.
105 Falls Sie nicht wissen worum es hier geht, hat wahrscheinlich jemand anderes
106 versehentlich Ihre Emain-Adresse dort eingegeben. In diesem Fall ignorieren
107 Sie bitte diese Email und wir löschen Ihre Email-Adresse in den nächsten
108 Tagen aus unserer Datenbank.
110 Dies ist eine automatische Email. Eine direkte Antwort wird nicht empfangen.
112 Automat zur Kontenregistrierung.
115 w_user_register_disabled(){ # TRANSLATION
117 [div #user_register .disabled
118 Die Registrierung von Benutzerkonten ist deaktiviert.
122 w_user_register_sendmail(){ # TRANSLATION
124 [form #user_register .registeremail method=POST
125 [p Wir schicken eine Aktivierungsmail an Ihre Email-Adresse.
126 Sie können mit der Registierung fortfahren, sobald Sie den
127 Aktivierungslink in dieser Email anklicken.]
128 [input type=email name=email placeholder="Email Adresse"]
129 [submit "action" "user_register" Registrieren]
133 w_user_register_direct(){ # TRANSLATION
135 [form #user_register .registername method=POST
136 [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]
137 [input type=password name=pw placeholder="Passwort wählen" pattern=".{6,}"]
138 [input type=password name=pwconfirm placeholder="Passwort bestätigen" pattern=".{6,}"]
139 [submit "action" "user_register" Registrieren]
143 w_user_confirm_proceed(){ # TRANSLATION
145 [form #user_confirm method=POST
146 [input type=hidden name=uid value="${uid}"]
147 [input type=hidden name=signature value="${signature}"]
148 $([ "$EMAIL" != '\' ] && printf \
149 '[input disabled=disabled value="%s" placeholder="Email Adresse"]' "$(UNSTRING "$EMAIL" |HTML)"
151 [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]
152 [input type=password name=pw placeholder="Passwort wählen" pattern=".{6,}"]
153 [input type=password name=pwconfirm placeholder="Passwort bestätigen" pattern=".{6,}"]
154 [submit "action" "user_confirm" Registrierung Abschließen]
158 w_user_confirm_expired(){ # TRANSLATION
160 [div #user_confirm .expired
161 [p Diser Aktivierungslink ist nicht mehr gültig.]
165 w_user_confirm_invalid(){ # TRANSLATION
167 [div #user_confirm .invalid
168 [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.]
172 w_user_invite_email(){ # TRANSLATION
174 [form #user_invite method=POST
175 [input placeholder="Email-Empfänger" name=email autocomplete=off]
176 [textarea name="message" placeholder="Nachricht an Empfänger" . ]
177 [submit "action" "user_invite" Einladung Senden]
181 w_user_invite_link(){ # TRANSLATION
183 [div #user_invite .link
184 [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.]
185 [a href="$(HTML "$invlink")" . $(HTML "$invlink")]
187 [p [a href="#" . Ein weiteres Konto anlegen]]
191 w_user_invite_deny(){ # TRANSLATION
193 [div #user_invite .notallowed
194 Nur angemeldete Benutzer können einen Einladungslink an Andere versenden.
198 w_user_login_logon(){ # TRANSLATION
200 [form #user_login .login method=POST
201 [input name=uname placeholder="Benutzername oder Email-Adresse" autocomplete=off]
202 [input type=password name=pw placeholder="Passwort"]
203 [submit "action" "user_login" Anmelden]
207 w_user_login_logoff(){ # TRANSLATION
209 [form #user_login .logout method=POST
210 [p Logged in as [span . $(HTML ${USER_NAME})]]
211 [submit "action" "user_logout" Abmelden]
216 l10n_immutablepage(){ #TRANSLATION
218 <h1>Unveränderliche Seite</h1>
219 Dies ist eine Kernseite des Wikisystems. Name und Ort können nicht verändert werden.
220 Sie können jedoch den Inhalt der Seite ändern und Sie können ACLs nutzen um die Seite zu verstecken.
223 l10n_movepage(){ # TRANSLATION
225 <h1>Seite verschieben</h1>
226 <p class="pageid">$(HTML "${page}")</p>
227 <input name="newlocation" value="$(HTML "$location")" placeholder="Neuer Ort">
229 <li>Eine Seite mit dem selben Namen darf nicht schon vorhanden sein.</li>
230 <li>Sie müssen die Berechtigung haben, Seiten an diesem Ort anzulegen.</li>
231 <li>Alle Unterseiten werden unter dem neuen Pfad verfügbar gemacht.</li>
232 <li>Unterseiten werden unter ihrem aktuellen Pfad nicht mehr verfügbar sein.</li>
234 <button type=submit name=action value=move>Verschieben</button>
235 <button type=submit name=action value=cancel>Abbrechen</button>
238 l10n_renamepage(){ # TRANSLATION
240 <h1>Seite Umbenennen</h1>
241 <p class="pageid">$(HTML "${page}")</p>
242 <input name="newname" value="$(HTML "$name")" placeholder="Neuer Name">
244 <li>Eine Seite mit dem neuen Namen darf nicht schon vorhanden sein.</li>
245 <li>Sie müssen die Berechtigung haben, Seiten an diesem Ort anzulegen.</li>
246 <li>Alle Unterseiten werden unter dem neuen Pfad verfügbar gemacht.</li>
247 <li>Unterseiten werden unter ihrem aktuellen Pfad nicht mehr verfügbar sein.</li>
249 <button type=submit name=action value=rename>Umbenennen</button>
250 <button type=submit name=action value=cancel>Abbrechen</button>
253 l10n_deletepage(){ # TRANSLATION
255 <h1>Seite Löschen</h1>
256 <p class="pageid">$(HTML "${page}")</p>
257 <p>Diese Seite und all ihre Anhänge werden gelöscht.</p>
259 <li>Vergangene Revisionen der Seitentextes (einschließlich der aktuellen) bleiben verfügbar und können wiederhergestellt werden.</li>
260 <li>Anhänge werden vollständig gelöscht und können nicht wiederhergestellt werden.</li>
261 <li>Unterseiten sind nicht betroffen und bleiben normal verfügbar.</li>
263 <button type=submit name=action value=delete>Löschen</button>
264 <button type=submit name=action value=cancel>Abbrechen</button>