Recent Changes - Search:

PmWiki (deutsch) für die Liste aller Seiten


Englisch:

PmWiki

pmwiki.org

edit SideBar

https://www.jetphotos.com/photographer/598301 https://www.jetphotos.com/photographer/598304 https://www.jetphotos.com/photographer/598305 https://www.jetphotos.com/photographer/598307 https://www.jetphotos.com/photographer/598310 https://www.jetphotos.com/photographer/598312 https://www.jetphotos.com/photographer/598317 https://www.jetphotos.com/photographer/598318 https://www.jetphotos.com/photographer/598320 https://www.jetphotos.com/photographer/598321 https://www.jetphotos.com/photographer/598322 https://www.jetphotos.com/photographer/598324 https://www.jetphotos.com/photographer/598328 https://www.jetphotos.com/photographer/598340 https://www.jetphotos.com/photographer/598341 https://www.jetphotos.com/photographer/598346 https://www.jetphotos.com/photographer/598349 https://www.jetphotos.com/photographer/598357 https://www.jetphotos.com/photographer/598366 https://www.jetphotos.com/photographer/598372 https://www.jetphotos.com/photographer/598374 https://www.jetphotos.com/photographer/598378 https://www.jetphotos.com/photographer/600028 https://www.jetphotos.com/photographer/600031 https://www.jetphotos.com/photographer/600032 https://www.jetphotos.com/photographer/600034 https://www.jetphotos.com/photographer/600036 https://www.jetphotos.com/photographer/600037 https://www.jetphotos.com/photographer/600039 https://www.jetphotos.com/photographer/600041 https://www.jetphotos.com/photographer/600042 https://www.jetphotos.com/photographer/600045 https://www.jetphotos.com/photographer/600046 https://www.jetphotos.com/photographer/600047 https://www.jetphotos.com/photographer/600048 https://www.jetphotos.com/photographer/600050 https://www.jetphotos.com/photographer/600051 https://www.jetphotos.com/photographer/600052 https://www.jetphotos.com/photographer/600053 https://www.jetphotos.com/photographer/600055 https://www.jetphotos.com/photographer/600057 https://www.jetphotos.com/photographer/600641 https://www.jetphotos.com/photographer/600644 https://www.jetphotos.com/photographer/600645 https://www.jetphotos.com/photographer/600646 https://www.jetphotos.com/photographer/602231 https://www.jetphotos.com/photographer/602240 https://www.jetphotos.com/photographer/602244 https://www.jetphotos.com/photographer/602247 https://www.jetphotos.com/photographer/602261 https://www.jetphotos.com/photographer/602265 https://www.jetphotos.com/photographer/602279 https://www.jetphotos.com/photographer/602307 https://www.jetphotos.com/photographer/602315 https://www.jetphotos.com/photographer/602323 https://www.jetphotos.com/photographer/602340 https://www.jetphotos.com/photographer/602346 https://www.jetphotos.com/photographer/602741 https://www.jetphotos.com/photographer/602743 https://www.jetphotos.com/photographer/602744 https://www.jetphotos.com/photographer/602745 https://www.jetphotos.com/photographer/602746 https://www.jetphotos.com/photographer/602748 https://www.jetphotos.com/photographer/602749 https://www.jetphotos.com/photographer/602750 https://www.jetphotos.com/photographer/602757 https://www.jetphotos.com/photographer/602758 https://www.jetphotos.com/photographer/602762 https://www.jetphotos.com/photographer/602763 https://www.jetphotos.com/photographer/602764 https://www.jetphotos.com/photographer/602769 https://www.jetphotos.com/photographer/602770 https://www.jetphotos.com/photographer/602772 https://www.jetphotos.com/photographer/602773 https://www.jetphotos.com/photographer/602774 https://www.jetphotos.com/photographer/602775 https://www.jetphotos.com/photographer/601186 https://www.jetphotos.com/photographer/601188 https://www.jetphotos.com/photographer/601189 https://www.jetphotos.com/photographer/601191 https://www.jetphotos.com/photographer/601192 https://www.jetphotos.com/photographer/601194 https://www.jetphotos.com/photographer/601196 https://www.jetphotos.com/photographer/601197 https://www.jetphotos.com/photographer/601248 https://www.jetphotos.com/photographer/601249 https://www.jetphotos.com/photographer/601250 https://www.jetphotos.com/photographer/601251 https://www.jetphotos.com/photographer/601252 https://www.jetphotos.com/photographer/601254 https://www.jetphotos.com/photographer/601255 https://www.jetphotos.com/photographer/601256 https://www.jetphotos.com/photographer/601258 https://www.jetphotos.com/photographer/601260 https://www.jetphotos.com/photographer/601261 https://www.jetphotos.com/photographer/601263 https://www.jetphotos.com/photographer/601264 https://www.jetphotos.com/photographer/601265 https://www.jetphotos.com/photographer/601266 https://www.jetphotos.com/photographer/601267 https://www.jetphotos.com/photographer/601268 https://www.jetphotos.com/photographer/601269 https://www.jetphotos.com/photographer/601270 https://www.jetphotos.com/photographer/601272 https://www.jetphotos.com/photographer/601273 https://www.jetphotos.com/photographer/602779 https://www.jetphotos.com/photographer/602780 https://www.jetphotos.com/photographer/602781 https://www.jetphotos.com/photographer/602782 https://www.jetphotos.com/photographer/600111 https://www.jetphotos.com/photographer/600112 https://www.jetphotos.com/photographer/600148 https://www.jetphotos.com/photographer/600151 https://www.jetphotos.com/photographer/600155 https://www.jetphotos.com/photographer/600157 https://www.jetphotos.com/photographer/600159 https://www.jetphotos.com/photographer/600161 https://www.jetphotos.com/photographer/600163 https://www.jetphotos.com/photographer/600647 https://www.jetphotos.com/photographer/600648 https://www.jetphotos.com/photographer/600649 https://www.jetphotos.com/photographer/600650 https://www.jetphotos.com/photographer/602889 https://www.jetphotos.com/photographer/602890 https://www.jetphotos.com/photographer/602891 https://www.jetphotos.com/photographer/602895 https://www.jetphotos.com/photographer/602897 https://www.jetphotos.com/photographer/602900 https://www.jetphotos.com/photographer/602904 https://www.jetphotos.com/photographer/602907 https://www.jetphotos.com/photographer/602913 https://www.jetphotos.com/photographer/602916 https://www.jetphotos.com/photographer/602918 https://www.jetphotos.com/photographer/602922 https://www.jetphotos.com/photographer/602923 https://www.jetphotos.com/photographer/602925 https://www.jetphotos.com/photographer/602926 https://www.jetphotos.com/photographer/600534 https://www.jetphotos.com/photographer/600535 https://www.jetphotos.com/photographer/600536 https://www.jetphotos.com/photographer/600538 https://www.jetphotos.com/photographer/600539 https://www.jetphotos.com/photographer/600540 https://www.jetphotos.com/photographer/600542 https://www.jetphotos.com/photographer/600543 https://www.jetphotos.com/photographer/600544 https://www.jetphotos.com/photographer/600547 https://www.jetphotos.com/photographer/600548 https://www.jetphotos.com/photographer/600549 https://www.jetphotos.com/photographer/600550 https://www.jetphotos.com/photographer/600552 https://www.jetphotos.com/photographer/600553 https://www.jetphotos.com/photographer/600555 https://www.jetphotos.com/photographer/600558 https://www.jetphotos.com/photographer/600565 https://www.jetphotos.com/photographer/600566 https://www.jetphotos.com/photographer/600567 https://www.jetphotos.com/photographer/600568 https://www.jetphotos.com/photographer/600571 https://www.jetphotos.com/photographer/600573 https://www.jetphotos.com/photographer/600575 https://www.jetphotos.com/photographer/600576 https://www.jetphotos.com/photographer/600577 https://www.jetphotos.com/photographer/600578 https://www.jetphotos.com/photographer/600666 https://www.jetphotos.com/photographer/600668 https://www.jetphotos.com/photographer/600669 https://www.jetphotos.com/photographer/600670 https://www.jetphotos.com/photographer/602963 https://www.jetphotos.com/photographer/601276 https://www.jetphotos.com/photographer/601280 https://www.jetphotos.com/photographer/601281 https://www.jetphotos.com/photographer/601284 https://www.jetphotos.com/photographer/601285 https://www.jetphotos.com/photographer/601286 https://www.jetphotos.com/photographer/601287 https://www.jetphotos.com/photographer/601288 https://www.jetphotos.com/photographer/601291 https://www.jetphotos.com/photographer/601293 https://www.jetphotos.com/photographer/602776 https://www.jetphotos.com/photographer/602777 https://www.jetphotos.com/photographer/602955 https://www.jetphotos.com/photographer/602956 https://www.jetphotos.com/photographer/602957 https://www.jetphotos.com/photographer/602959 https://www.jetphotos.com/photographer/602960 https://www.jetphotos.com/photographer/602961

Internationalisierungen

für die Liste aller Seiten

Administratoren

PmWiki unterstützt die Internationalisierung von Netzseiten, erlaubt etwa Buchstaben mit Akzenten oder Umlauten in Seitennamen und bietet fast vollständige Anpassungsmöglichkeiten für PmWiki-Meldungen. Die meisten Anpassungen werden von PmWiki mittels der Funktion XLPage() zu Verfügung gestellt, die einen Satz von Übersetzungsvariablen aus einer Wikiseite lädt, üblicherweise XLPage genannt, die Seite kann aber beliebig umbenannt werden.

Der Rest dieser Seite widmet sich der Installation, Konfiguration und dem Gebrauch der Unterstützung anderer Sprachen. Wenn Sie nach Werkzeugen und Hilfe suchen, um PmWiki in Ihrer Sprache zu lokalisieren oder wie Sie die vorhandene Übersetzung verbessern können, beginnen Sie mit der Seite Lokalisierung – dem Übersetzungsportal (auf englisch).

Laden von Übersetzungs-Seiten

Seiten in vielen anderen Sprachen, darunter Französisch, Deutsch, Holländisch und Spanisch, werden in der pmwiki.com-Website bereits bereitgestellt und gepflegt. Sie können ein Archiv dieser Übersetzungen von https://www.pmwiki.org/pub/pmwiki/i18n/ herunterladen. Entpacken Sie einfach das(die) Archiv(e) in das Verzeichnis, das Ihre pmwiki.php-Installation enthält. Jedes Archiv enthält eine Reihe von Dateien, die im wikilib.d/-Verzeichnis gespeichert werden, sowie einige spezielle Skripten für Übersetzungen, die andere Zeichensätze als iso-8859-1 (standardmäßig von PmWiki verwendet) benutzen. Sie können auch den Zeichensatz UTF-8 benutzen.

Für eine deutsche Installation reicht es, die Dateien PmwikiDe.* in das Verzeichnis wikilib.d zu entpacken und hochzuladen.

Nach dem Installieren der Übersetzungs-Seiten aktivieren Sie eine bestimmte Sprache, indem Sie einen Aufruf von XLPage() in Ihre config.php einfügen. Beispielsweise erfolgt das Auswählen der deutschsprachigen Meldungen mittels

include_once("scripts/xlpage-utf-8.php"); # optional
XLPage('de','PmWikiDe.XLPage');

Diese Anweisung lädt die deutschen Übersetzungen ('de') von der Seite PmWikiDe.XLPage. Die "include once"-Zeile wird empfohlen, wenn Sie ein neues Wiki aufsetzen und sie sollte vor der XLPage-Zeile stehen. Für Sprachen mit anderen Alphabeten als dem lateinischen ist die "include once"-Zeile zwingend nötig. Diese Zeilen sollten nahe dem Beginn der config.php-Datei stehen, aber nach jeglicher Setzung von $WikiDir und $WikiLibDirs (wenn Sie eine solche Setzung haben) .

Es ist problemlos möglich, mehrere Übersetzungsseiten zu laden. Wenn Sie also eigene Übersetzungen nutzen wollen, ohne die aus dem i18n-Archiv zu verändern, erzeugen Sie einfach eine neue Seite (siehe unten) und laden sie. Ihre eigenen Übersetzungen müssen zuerst geladen werden, um Vorrang zu haben:

XLPage('de','PmWikiDe.XLPageLokal');  # meine eigenen Übersetzungen
XLPage('de','PmWikiDe.XLPage');       # aus i18n.tgz

Wenn Sie beabsichtigen, in Ihrem Wiki mehrere Sprachversionen anzubieten und Wikigruppen zur Auswahl der Sprache verwenden wollen, benötigen Sie etwas Kode in der Anpassungsdatei der Gruppe (siehe Individuelle Einstellungen pro Gruppe). Wenn Ihr Wiki z. B. deutsche und englische Bereiche enthält und die deutschen Seiten in der Gruppe De sind, können Sie eine Datei De.php im Verzeichnis local/ mit folgendem Inhalt erstellen:

<?php if (!defined('PmWiki')) exit();
# wechsle zu deutschen Meldungen
XLPage('de','PmWikiDe.XLPage');

Es bietet sich in diesem Fall an, auch eine Datei PmWikiDe.php gleichen Inhalts zu erstellen, um auch beim Zugriff auf die deutsche Dokumentation von PmWiki die deutsche Oberfläche von PmWiki zu bekommen. En.php ist in diesem Fall – für den englischen Teil – nicht nötig, da Englisch die Standardsprache ist.

Als Alternative zur Anpassungsdatei "pro Gruppe" ist auch folgender Kode in der config.php-Datei möglich, der testet, ob eine XLPage in der Gruppe der angeforderten Seite ist und sie dann lädt (gilt für jede Sprache):

$xlpage = FmtPageName('$Group.XLPage', $pagename);
if (PageExists($xlpage)) XLPage($xlpage, $xlpage);

Danach müssen Sie alle relevanten XLPage-Seiten in jede Gruppe kopieren, die die entsprechende Sprachunterstützung haben soll.

Ein anderer (fortschrittlicher) Weg wäre, das folgende Skript in die config.php-Datei einzufügen. Es fragt vom Webserver die Header ab, die vom Browser des Benutzers gesendet wurden, und wählt eine Sprache aus.

    
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
switch ($lang){
   case "es":
      XLPage('es','PmWikiEs.XLPage');
      break;
   case "en":
      XLPage('en','PmWikiEn.XLPage');
      break;
   default:
      XLPage('en','PmWikiEn.XLPage');
      break;
}

Siehe auch (englisch)

Neue Übersetzungen erstellen

Wenn für die von Ihnen gewünschte Sprache keine Übersetzungsseiten existieren, ist es einfach, selbst welche zu erstellen! Eine XLPage-Übersetzungsdatei ist eine Datei, die einfach Zeilen der folgenden Form enthält:

'Ausdruck' => 'übersetzter Ausdruck',

Dabei ist "Ausdruck" eine internationalisierte Phrase (durch $[Ausdruck] gekennzeichnet) in PmWiki's $...Fmt-Variablen und "übersetzter Ausdruck" ist das, was in Ihrer speziellen Sprache auf den Bildschirm kommt. Beispielsweise wandelt die Zeile (in PmWikiDe.XLPage)

'Search' => 'Suchen',

"$[Search]" bei der Ausgabe in "Suchen" um. Die Datei Lokalisation:XLPageVorlage ist ein guter Ausgangspunkt, um eine neue XLPage-Datei zu erstellen und hat die meisten der PmWiki-Phrasen bereits aufgelistet. Beachten Sie, dass der Übersetzungsmechanismus nur Phrasen übersetzt, die in den $...Fmt-Ausdrücken (der verschiedenen .php-Skripten) als übersetzbar gekennzeichnet sind – es werden keine Wörter übersetzt, die in den Wiki-Formatierungsanweisungen auftauchen.

Wenn Sie neue Versionen von PmWiki-Seiten in anderen Sprachen erstellen, erwägen Sie bitte, sie zu der originalen PmWiki-Site hinzuzufügen, sodass sie mittels der i18n-Archive auch anderen zugänglich gemacht werden! Sie sollten auf jeden Fall das Lokalisationsportal aufsuchen, um weitere Informationen für eine effektive Internationalisierung von PmWiki zu erhalten.

Anmerkung: Der Ausdruck "i18n" wird üblicherweise als Abkürzung für das englische Wort "internationalization" verwendet. Die Abkürzung kommt daher, dass zwischen dem ersten "i" und dem abschließenden "n" in "internationalization" genau 18 Buchstaben stehen – und nur wenige PC-Nutzer all diese 18 Buchstaben extra tippen wollen.

Sonderzeichen in WikiLinks ermöglichen

Um Sonderzeichen wie zum Beispiel deutsche Umlaute in WikiLinks zu ermöglichen, muss die "locale"-Einstellung des Servers richtig eingestellt werden, damit PmWiki die passende Zeichensatzdefinition verwendet.

Falls das wegen beschränktem Zugriff auf die Serverkonfiguration (Hosting) nicht möglich ist, kann PmWiki so eingestellt werden, dass eine bestimmte "locale"-Einstellung aus den XLPage Optionen verwendet wird (siehe XLPageTemplate).

Für deutsche Umlaute ist zum Beispiel erforderlich:

  • 'Locale' => 'deu', ← für Windows-Server, siehe Language strings
  • 'Locale' => 'de_DE', ← für Linux-Server; für die UTF-8-Dekodierung müssen Sie eventuell bei einigen Installationen 'de_DE.utf8' oder 'de_DE.UTF-8' setzen.

Hinweis: Die erforderliche "locale" Einstellung kann vom Betriebssystem und der spezifischen Installation abhängen.

FAQ

Wenn mein Wiki internationalisiert ist durch die config.php, wie kehre ich für eine bestimmte Gruppe zu Englisch zurück?

Benutzen Sie $XLLangs = array('en'); in der Anpassungsdatei der Gruppe (<gruppenname>.php, siehe Individuelle Einstellungen pro Gruppe).

Wenn mein Wiki in Englisch ist und ich nur eine Seite oder eine Gruppe auf Spanisch haben will, schreibe ich dann XLPage('es','PmWikiEs.XLPage'); in die Gruppen- oder Seitenkonfigurationsdatei?

Ja, das ist gewöhnlich die beste Methode. Wenn Sie das mit vielen verteilten Seiten tun oder mit mehreren Sprachen, finden Sie es vielleicht leichter zu verwalten, wenn Sie die Übersetzungen alle in config.php laden wie hier:

    XLPage('es','PmWikiEs.XLPage');
    XLPage('fr','PmWikiFr.XLPage');
    XLPage('ru','PmWikiRu.XLPage');
    $XLLangs = array('en');

In der Gruppen- oder Seitenkonfigurationsdatei müssen sie dann nur $XLLangs = array('es'); schreiben, um die Sprache einzustellen, die benutzt werden soll (in diesem Beispiel Spanisch).

Anmerkung: Obwohl diese Methode leichter zu verwalten ist, ist sie etwas langsamer, weil jedes Mal alle Übersetzungstabellen für jedes Seitenansehen geladen werden, auch wenn sie nicht gebraucht werden.

Wofür steht der erste Parameter in dieser Funktion? Wie wird er benutzt?

Der XLPage-Mechanismus erlaubt mehrere Übersetzungssätze zu laden, der erste Parameter dient dazu, diesen Satz zu bestimmen.

Angenommen, ich will zum Beispiel Übersetzungen für normales Französisch und kanadisches Französisch haben. Anstatt zwei ganz und gar getrennte Sätze von Seiten zu verwalten, kann ich dies tun:

    XLPage('fr', 'PmWikiFr.XLPage');
    XLPage('fr-ca', 'PmWikiFrCa.XLPage');

PmWikiFr.XLPage würde die ganzen Standardfranzösisch-Übersetzungen enthalten, wohingegen PmWikiFrCA.XLPage nur die kanada-spezifischen Übersetzungen enthalten muss – d. h. jene, die sich von denen aus der französischen Seite unterscheiden.

Der erste Parameter unterscheidet die zwei Sätze der Übersetzungen. Zusätzlich kann ein config.php-Skript die $XLLangs-Variable benutzen, um die Reihenfolge der Übersetzungen einzustellen, wenn es also eine Gruppe oder Seite gibt, wo ich nur die Standardfranzösisch-Übersetzung haben möchte, setze ich:

$XLLangs = array('fr', 'en');

und PmWiki nutzt nur die 'fr'- und 'en'- Übersetzungen (in dieser Reihenfolge), egal, wie viele Übersetzungen mit XLPage() geladen worden sind.

Wie kann ich eine Übersetzung für einen individuellen String in einer PHP-Datei hinzufügen?

Benutzen Sie die XLSDV()-Funktion, um eine Übersetzung für einen bestimmten (englischen) String zu liefern. Zum Beispiel hiermit

XLSDV('nl', array('my English expression'=>'mijn Nederlandse uitdrukking'));

in der config.php-Datei wird jedes Vorkommen des Variablenausdrucks $[my English expression] im Wikiquelltext im Standardkontext (englisch) als my English expression ausgegeben, aber als mijn Nederlandse uitdrukking in niederländischem (nl) Kontext, z. B. wenn XLPage('nl',...) für jene Seite in der config.php-Datei oder einem Kochbuchrezept aufgerufen worden ist.

Wenn Sie eine Übersetzung in einer PHP-Datei erhalten wollen, benutzen Sie die XL()-Funktion:

$local_string = XL("my English expression");

Aber seien Sie auf der Hut: Die XLPage()-Funktion benutzt intern auch die XLDV()-Funktion für ihre Übersetzungspaare und nur die erste Definition wird akzeptiert. Wenn daher die niederländische XLPage bereits einen Übersetzung für ihren String wie

'my English expression' => 'bla bla',

besitzt und Sie wollen den überschreiben, müssen sie Ihr XLDV('nl', ...) vor dem Aufruf vom korrespondierenden XLPage('nl',...) benutzen. Andernfalls, durch Benutzen von XLSDV() nach XLPage() – z. B. innerhalb eine Rezeptes, das später in der config.php-Datei geladen wird – wird ihre Übersetzung nur funktionieren, solange niemand 'my English expression' in jener XLPage definiert.

für die Liste aller Seiten


Übersetzung von PmWiki.Internationalizations,   Originalseite auf PmWikiDe.Internationalizations   —   Backlinks

Zuletzt geändert:   PmWikiDe.Internationalizationsam 20.12.2022
 PmWiki.Internationalizationsam 19.12.2022
Edit - History - Print - Recent Changes - Search
Page last modified on December 20, 2022, at 08:22 AM