boCMS - Dokumentation

5.6. Sprachdateien
Für die Unterstützung von Sprachdateien, die momentan entwickelt wird, gibt es ein Tool, das die Erstellung neuer Languagepacks erleichtert.

Der Editor befindet sich im Ordner "/lang" und heißt "editor.php".

Für die Bearbeitung der Sprachdateien muss man als Administrator eingeloggt sein. Im Script selbst sind zwei Variablen definiert, über die man die Erstellung der Sprachdateien steuert.

// Von welcher Sprache moechten Sie übersetzen? 
// Sprachdateien müssen existieren!
$eingabeSprache="Deutsch";

// In welche Sprache moechten Sie übersetzen:
// Keine Sonderzeichen, keine Leerzeichen und
// auch keine Umlaute benutzen!
$ausgabeSprache="Franz";

Natürlich können Sie die Sprachdateien auch von Hand mittels Texteditor erstellen. Dieses Tool stellt nur eine kleine Hilfe dar, da es auch anzeigt, welche Variablen einer Sprachdatei noch nicht übersetzt wurden.

Damit die Änderungen gespeichert werden können, müssen die Dateien im Ordner "lang" auf die Rechte 0777 gesetzt werden, damit ein Schreibzugriff gewährleistet ist.

Benutzung
Überall dort, wo in boCMS die Variablen $language[...] und $baseLanguage[...] vorkommen, wird die Sprachunterstützung anhand der Sprachdateien aktiviert.
Bei $language ist für jede einzelne Script-Datei eine eigene Sprachdatei vorhanden. In $baseLanguage sind Wörter definiert, die häufiger vorkommen.
Beispiel: In der Datei module/news.php wird $language['Alle'] eingebunden. Der hinterlegte Text, der dann angezeigt wird, steht in lang/Deutsch/module/news.txt hinter "Alle==...".

Alle Wörter von $baseLanguage sind in der Datei lang/Deutsch/dienste/basis/basis.txt zusammengefasst und können dort editiert werden.

Im obigen Beispiel bin ich davon ausgegangen, dass das deutsche Sprachpaket editiert wird. Sie können den Ordner "Deutsch" natürlich entsprechend mit anderen vorhandenen Sprachpaketen austauschen.

Unterstützung
Vorerst werden nur die Module in Sprachdateien gepackt, die von Benutzern zugänglich sind. Ggf. folgt später noch eine Übersetzung des Adminmenüs und der Zusatzmodule (Kleinanzeigen, Subdomainservice,...)

Zusatzmodule im Loginbereich
Ab boCMS 1.5 können die Links, die automatisch im Loginbereich auf Zusatzmodule gesetzt sind, lokalisiert werden. Im "./dienste/"-Verzeichnis befindet sich eine «modulname».txt. In dieser sind Zeilenweise die möglichen Links definiert. Die Links für den Loginbereich tragen das Präfix "user":
user|Forum|?seite=...&modul=...|../gfx/icons/user_edit.png|Boardprofil ändern|Deutsch|
user|Board|?seite=...&modul=...|../gfx/icons/user_edit.png|Change board profile|English|
Im letzten Feld ist die Sprache angegeben, im vorletzten die Linkbeschreibung. Fehlt die Sprach-Angabe, so wird der Link bei jeder möglichen Sprachwahl angezeigt!

Navigationsgruppen
Sobald eine weitere Sprache hinzugefügt wurde, können in den Navigationsgruppen für diese Sprachen Linktitel definiert werden. Es erscheinen weitere Linkboxen mit dem entsprechenden Sprachen-Titel.

Wechseln der Sprache
Um die Standardsprache zu setzen, muss im Adminpanel » Seiten » Sprachen die gewünschte Sprache gesetzt werden.

Um dem Benutzer die Sprachwahl zu ermöglichen, setzen Sie bitte im Adminpanel » Navigationen » Link hinzufügen einen Link auf das Modul "sprache".

Editierung der Sprachdateien
Eine Änderung der originalen Sprachdateien ist nicht empfehlenswert: Bei einem Update gehen Ihre Änderungen verloren. Falls Sie die Sprachdateien einer neueren boCMS nicht hochladen, damit Ihre Änderungen beibehalten bleiben, gehen Ihnen höchstwahrscheinlich neue Sprachvariablen verloren (es erscheinen Buttons ohne Text usw).
Daher sollten Sie das originale Sprachpaket duplizieren und nur die Kopie editieren (z.B. Deutsch_Eigen). Wenn Sie dann das Sprachpaket einer neueren boCMS Version hochladen, können Sie über den o.g. Editor fehlende Sprachvariablen in Ihr Paket nachtragen und Ihre Änderungen bleiben erhalten.

Wechseln der Sprache per Link
Das direkte Ändern der Sprache ist per Link möglich:

http://www.domain.tld/?seite=sprache&sprache=1&action=set&modul=1
http://www.domain.tld/?seite=sprache&sprache=2&action=set&modul=1

Die fettgedruckten Abschnitte müssen entsprechend angepasst werden. Die Sprache mit der ID 1 ist in der Standardkonfiguration "Deutsch", 2 ist "Englisch".

Wechseln der Sprache und des Templates
Häufig kommt mit einer anderen Sprache auch der Wunsch nach einem anderen Template. So können u.a. auch unterschiedliche Navigationsgruppen genutzt werden (zum Beispiel eine Navigationsgruppe mit deutschsprachigen und eine mit englischsprachigen Links).

Dazu ist es notwendig, die Sprache und das Template zu ändern. Dies ist per Link möglich:

http://www.domain.tld/?seite=sprache&sprache=1&action=set&modul=1&template_last=Template1
http://www.domain.tld/?seite=sprache&sprache=2&action=set&modul=1&template_last=Template2

Die fettgedruckten Abschnitte müssen entsprechend angepasst werden. Die Sprache mit der ID 1 ist in der Standardkonfiguration "Deutsch", 2 ist "Englisch". Entsprechend muss "Template1" mit deutschsprachigen Navigationsgruppen versehen sein und "Template2" entsprechend mit englischen Links.

Wie kann ich eine Inhaltsseite automatisch in mehreren Sprachen anbieten?
Beim Anlegen einer Seite können Sie einen Seitennamen und eine Sprache auswählen. So können Sie zum Beispiel einmal das "Impressum" auf Deutsch und einmal auf Englisch erstellen.
Der Aufruf der Seite erfolgt dann wie gewohnt über den Parameter "?seite=impressum". Abhängig von der Sprachauswahl kommt dann entweder die deutsche oder die englische Version der Seite.

« Zurück