Einrichten der Sprachen unter Joomla

Installation weiterer Sprachen unter Joomla:

  1. Hauptmenü > Erweiterungen > Sprachen: Hier rechts oben den Button [Sprachen installieren] klicken, und aus der erscheinenden Liste die Wunschsprachen auswählen und über den [Installieren]-Button oben rechts hinzufügen.
  2. Hauptmenü > Erweiterungen > Sprachen: über den Registerreiter Inhalt die Content-Sprachen aktivieren, veröffentlichen und konfigurieren. Wichtig: In der Liste müssen die absofort zu verwendenden Sprachen aktiviert (veröffentlicht) sein (gründes Häkchen). I.d.R. ist die Zugriffsebene für die Sprachen nicht gesetzt. Das lässt sich nur bewirken, wenn man die jeweilige Sprache anklickt und im Sprach-Dialog "Inhaltssprache bearbeiten" wenigstens einmal speichert. Dann wird als Zugriffsebene public (öffentlich) übernommen, oder eben eine andere falls gewünscht einstellen.
  3. Wichtig: In genau diesem gleichen Dialog werden für die Seite die verschiedenen Meta-Beschreibungen und Meta-Keywords hinterlegt. Diesem sollten für die Suchmaschinen hier sauber gepflegt werden!
  4. Damit Joomla korrekt die Mehrsprachigkeit unterstützt, muss das Joomla-System-Spach-Plugin aktiviert werden: Hauptmenü > Erweiterungen > Plugins: Filter "Sprachen", Auswahl in der Liste "System - Sprachenfilter" und aktivieren. Hier kann eingestellt werden, ob für die Sprachauswahl die Browsereinstellung genutzt werden soll, oder die Seiteneinstellung. I.d.R. verwendet man die Browsereinstellung wenn man dem Userwunsch entsprechen will. Manchmal kann man aber auch erzwingen wollen, dass das Projekt/die Seite die Sprache vorgibt/erzwingt. Weitere Einstellmöglichkeiten in diesem Plugin sind zu beachten.
  5. Mitunter braucht man spezielle Sprachkürzel (Tags) z.B. wenn man für Kanadisch-Französische Seiten under Deutsch-Österreichische oder Deutsch-Schweizerische Seiten Inhalte anbieten muss. Dann muss dem System z.B. fr-CA, de-AT, de-CH bekannt gemacht werden. Das kann man im System-Plugin "Sprachenkürzel" eintragen. Das Sprachkürzel-Plugin zu aktivieren, macht aber nur Sinn, wenn man überhaupt einen davon umdefinieren will, was außer bei o.g. Ausnahmen kaum der Fall sein sollte.



Besonders beachten: Für jgerman muss als Sprachkonstant de-DE verwendet werden. Demgegenüber sind de-AT und de-CH andere Sprach-Tags und müssen entspr. separate eingerichtet werden.

Installation und Einrichten von jDiction

Auf der Seite von jDiction gibt es eine gute Dokumentation über Installation, Konfiguration und Nutzung. Deshalb wird hier nicht darauf nicht dedailiert eingegangen, sondern nur Besonderheiten besprochen.

Der Download der Erweiterung jDiction kann hier erfolgen.

Die Installation erfolgt wie üblich über den Joomla-Installer. Sollte es beim ersten Aufruf zu einem Fehler kommen (z.B. weisse Seite) dann muss zunächst das System-Plugin von jDiction aktiviert werden (Haupmenü > Erweiterungen > Plugins: Liste per Filter mit "jDiction" einschränken und das Plugin mit grünen-Publish-Häkchen versehen.

Wenn die Komponent aufgerufen wird, kann man über den Registerreiter "Überprüfung" der Funktionsstatus von jDiction abgefragt werden. Hier erhält man Hinweise auf noch vorhandene Einschränkungen, die entspr. bearbeitet werden sollten.

Bei der Einrichtung von jDiction sind folgende Dinge wichtig:

  • Das System-Plugin jDiction muss aktiviert sein und auch das System - Sprachfilter
  • jDiction kommt mit einem eigenen Datenbank-Treiber/-Typ (jDiction_MySQLi) der statt MySQL oder MySQLi in der Joomla-Server-Konfiguration zu wählen ist. Nur dann funktioniert die Sprachumsetzung sauber. Falls man mal eine Restore eines Projektes machen muss, ist das speziell zu beachten, denn z.B. das Akeeba-Restore (ANGIE) kennt diese Datenbankeinstellung nicht.

Das Modul zu Sprachauswahl

Das jDiction-Paket kommt mit einem Modul jdlanguage, über welches man im Frontend eine Sprachauswahl anbieten kann. Diese muss entspr. in eine Modulposition platziert und veröffentlicht werden. Alternativ kann man aber auch das in der Joomla-Core-Installtion schon vorhandene Sprachauswahlmodul verwenden, je nach Geschmack und benötigten Funktionsumfang speziell bei der Darstellung der Sprachauswahl.

Sprachen pflegen

... folgt irgendwann 

Installation und Einrichtung FaLang

Speziell dann, wenn man in früheren Projekten JoomFish als Sprachkomponenten verwendet hat, welches für Joomla 3 nicht supportet wird, ist eine Migration der Übersetzungsdaten von JoomFish ins neue Joomla wünschenswert. jDiction bietet diese Möglichkeit nicht an. Jedoch gibt es für die Übersetzungskomponente FaLang, welche sich ein wenig als Nachfolger von JoomFish versteht, eine zusätzliche Komponente Fish2FaLang mit der die Datenübernahme aus JoomFish vorgenommen werden kann. Die hierfür fälligen 60,00€ sind bei dem gesparten Zeitaufwand für Sprachmigrationen ein guter Preis. Ich habe diese Komponente im Liveeinsatz verwenden müssen und durfte feststellen, dass diese gute Arbeit hierbei leistet.

Obwohl ich in der Regel jDiction bevorzuge, weil es nach meiner Auffassung für Kunden die Datenpflege leichter ist, verwende ich bei migrierten Projekten FaLang und bin auch damit sehr zufrieden. Ein weiterer Vorteil von FaLang ist, dass die Datenpflege nach dem gleichen Konzept erfolgt wie bei JoomFish und somit für Kunden, die die Arbeit mit JoomFish gewöhnt sind, der Umstieg zu dieser Komponente leichter fällt.



Multi-Domain-/-Sprach-Projekte mit automatischer Umschaltung

  • Joomla-System-PlugIn: Multi-language Parked Domain (von web-expert.gr)
  • Joomla-System-PlugIn: LanguageDomains (von YIREO), ist kostenlos verfügbar
    • Den Joomla-Sprachfilter unbedingt deaktivieren, denn das übernimmt das Plugin selbst. Beide aktiv führt zu Problemen!
    • Unter J!2.5 den System-Cache deaktivieren, weil sonst alle Sprach die gleichen Cache-Inhalte verwenden, was zu Störungen führt (Unter J!3 ist die Cachenutzung kein Problem). Der Betrieb mit Cache kann getestet werden und funktionieren, dabei ist aber unbedingt eine höhere Reihenfolgepriorität für das Cache-Plugin zu setzen, so dass das Cache-Plugin erst nach dem LanguageDomain-Plugin ausgeführt wird. Dann sollte der J!Cache auch noch über den Manager geleert werden!
    • Die Browser-Cookies löschen!
    • Wenn eine SEF-Adressen-Umsetzung erfolgt, dann muss das LanguageDomains-Plugin nach dem SEF-Plugin (System - Umleitung / redirect) eingeordnet werden, also nach diesem ausgeführt werden!

Möglichkeit per .htaccess auf ein Sprach-Variante weiterzuleiten

RewriteCond %{HTTP_HOST} ^(www\.)?meine-domain\.com [NC]
RewriteRule ^/(.*) /en/$1 [L]

RewriteCond %{HTTP_HOST} ^(www\.)?meine-domain\.fr [NC]
RewriteRule ^/(.*) /fr/$1 [L]

RewriteCond %{HTTP_HOST} ^(www\.)?meine-domain\.de [NC]
RewriteRule ^/(.*) /de/$1 [L]

RewriteCond %{HTTP_HOST} ^(www\.)?meine-domain\.at [NC]
RewriteRule ^/(.*) /at/$1 [L]

Je nach Domain wird automatisch auf die zugehörige Sprachversion der Seite umgeleitet.

 

Joomla-Sprachkürzel in der Adresse unterdrücken

Wenn man nun das Projekt wie oben beschrieben in der Form betreibt, dass es für jede Sprache eine eigene Domain-Variante gibt, dann ist es eigentlich nicht mehr notwendig zudem in der Adresse das Sprachkürzel wie es von Joomla autom. erzeugt werden kann auszugeben. Natürlich sollte man die Unterdrückung des Sprachkürzels gut abwägen, denn bei der Regionalisierung der Websites auch durch die Suchmaschinen ist das Kürzel nicht ganz uninteressant. Damit ist es für die Suchmaschinen noch mal etwas sicherer dem Suchenden gleich die für ihn korrekte Sprachversion Ihrer Website anzubieten. Ganz besonders wichtig ist es z.B. wenn Sie nicht in jedem Fall eine Top-Level-Domain mit Ländercode (country-code-Domains) oder gar IDN-Domains verwenden, sondern evtl. teilweise Adressen mit .com oder .net etc. also alle sogenannten generischen Domains, die ja keine Information über die Sprache der Seite liefern.

Nun denn, wer es trotzdem unterdrücken will, das geht recht einfach:
Dazu geht man im Joomla-Backend in die Module-Verwaltung und sucht sich dort das Modul System-Sprachenfilter. Hier gibt es eine Option URL-Sprachkürzel entfernen. Diese setzen Sie auf Ja und schon sind die Sprachkürzel aus der URi verschwunden.

 

Diverse nützliche Links zum Thema Domain/Sprach-Umschaltung

http://stackoverflow.com/questions/13846373/same-htacces-multiple-parked-domains-same-root-folder-redirect-to-languag