Mehrsprachigkeit

Hilfe zu Modulen und Tags
Dejavu

Mehrsprachigkeit

Post by Dejavu »

Hallo,
meine nächste Webseite soll das Feature der Mehrsprachigkeit haben.

Gibt es eine Möglichkeit die Mehrsprachigkeit so zu lösen, dass man jeden Text zwischen de und eng zwitchen kann. Also wenn ich beispielsweise bei Punkt "3.1.2 Jugend" bin und ihn auf englisch ansehen will dass ich dann "3.1.2 Teens" angezeigt bekomme?

Zudem sollte die Mehrsprachigkeit von dritten sehr gut verwaltet werden können. Am besten durch eine erweiterte Eingabe Maske (wie Typo3). Also dass ich einen Text anlege und dann direkt deutsch und englisch bestimmen kann.

Bis her habe ich immer nur getrennte Mehrsprachigkeit hier gesehen, also dass 1 Baum Deutsch war der zweite Englisch ...

Grüße Dejavu
TeXnik
Forum Members
Forum Members
Posts: 132
Joined: Thu Aug 07, 2008 12:45 pm
Location: Thailand

Re: Mehrsprachigkeit

Post by TeXnik »

Hast du das MLE projekt (http://forum.cmsmadesimple.org/index.php/board,41.0.html) mal angesehen?

Das macht genau das was du willst. Der Baum wird in jeder Sprache so geführt, ist in den entsprecvhenden Sprachen noch nichts eingetragen, so wird der Inhalt der Hauptsprache eingefügt.

Ich habe damit zwei Seiten erstellt, die meist zu meiner Zufriedenheit laufen. Und wenn nicht, ist es wohl auch immer auf meine mangelnde Programmierkenntnisse zurück zu führen. Alby und Peciura sind aber sehr hilfsbereit.
Dejavu

Re: Mehrsprachigkeit

Post by Dejavu »

Vielen Dank dass ersparrt mir einige arbeit mit Typo3 ;)
owr_bgld

Re: Mehrsprachigkeit

Post by owr_bgld »

Nachdem ich persönlich kein Freund von MLE bin (du weichst doch ein wenig vom normalen Core ab) habe ich es mit einer anderen Variante gelöst:

Modul Babel http://dev.cmsmadesimple.org/project/fi ... ackage-770

Nachdem der Seitenaufbau ja in allen Sprachen gleich ist, funktioniert das einwandfrei.

Grundsätzlicher (Beispiel-)Aufbau:

1 Deutsche Startseite
1.1 Über mich
1.1.1 mehr über mich
1.2 Jugend
1.2.1 Jugend mehr darüber

2 English home
1.1 Ybout me
1.1.1 More about me
1.2 Teens
1.2.1 More about the teens

aso.

Vorteil: Du bleibst bei der originalen Installation und machst einfach einen identen Seitenaufbau für alle Sprachen. Bei Seiten die es in einer Sprache nicht gibt (z.B. 1.2.1 in Englisch) kannst du sogar einstellen, dass es dort keinen Link zur 1.2.1 in Deutsch gibt.
EDIT: Es gibt auch ein paar Einstellungen mehr ;)

Einziges, was mir bis jetzt aufgefallen ist: Bei meiner Seite hat die aktuelle Version nicht funktioniert. Aber die Version 0.3.3 funktioniert wunderbar. Auf Wunsch kann ich dir den Link zur Seite pn'nen


EDIT: Einige Argumente betreffend Core vs. MLE http://forum.cmsmadesimple.org/index.ph ... 405.0.html
Last edited by owr_bgld on Fri Jun 25, 2010 5:07 pm, edited 1 time in total.
Dejavu

Re: Mehrsprachigkeit

Post by Dejavu »

Hallo,
danke für die Tipps, jedoch stört es mich ein wenig dass 2 Menübäume gebraucht werden:

1. English
1.1. 1st page
1.2. 2nd page
1.3. 3rd page

2. Français
2.1. Page 1
2.2. Page 3
2.3. Page 2

Gibt es nicht auch eine möglichkeit dass ich mit einen Baum auskomme?
Dann würde der Punkt 1.1 1st page englisch und deutsch enthalten (2 Eingabe felder beim erstellen) und dann durch einen switcher gewechselt werden.
NaN

Re: Mehrsprachigkeit

Post by NaN »

Ich denke da zur Zeit gerade über mehrere Inhaltsblöcke nach.
D.h. für jede Sprache einen Inhaltsblock.
Im Zusammenhang mit dem AdvancedContent Modul kann man die einzelnen Sprachen im Backend beim Bearbeiten einer Seite in eigene Tabs packen.

Fiktives Beispiel:

{if $lang == 'de'}
{content block_tab="Deutsch"}
{elseif $lang== 'en'}
{content block="en" block_tab="Englisch"}
{elseif}
...
{/if}

Das einzige Problem was ich gerade habe ist, wie ich dem System sage, welche Sprache gerade ausgewählt ist.
Dazu fehlt mir einfach eine bestimmte Variable fürs Template ($lang).
Das könnte man evtl. über ein kleines Plugin oder einen UDT lösen (beim ersten Seitenaufruf einfach die Browser Sprache herausfinden und dem Template als Variable zuweisen). Anschießend muss man nur dafür sorgen, dass diese Variable irgendwie in jeden Menü-Link kommt.
(Dürfte über ein entsprechendes Menütemplate machbar sein).

D.h. je nachdem welche Sprache ausgewählt wurde, wird einfach der entsprechende Inhaltsblock angezeigt.
(Nichts anderes macht im Prinzip die MLE Version, nur dass die Inhaltsblöcke automatisch erstellt werden.)
Im Backend hat man dann nur eine Hierarchie und kann in jeder Seite alle Sprachen verwalten.
Sollte eine neue Sprache hinzukommen, muss man einfach nur einen weiteren Inhaltsblock ins Template hinzufügen.

Der gravierende Nachteil bei dieser Idee ist allerdings, je mehr Sprachen hinzukommen, desto mehr RAM wird gebraucht.
(Es werden bei jedem Seitenaufruf immer alle Sprachen geladen und lediglich bei der Ausgabe herausgefiltert.)
Last edited by NaN on Wed Jun 30, 2010 6:26 pm, edited 1 time in total.
TeXnik
Forum Members
Forum Members
Posts: 132
Joined: Thu Aug 07, 2008 12:45 pm
Location: Thailand

Re: Mehrsprachigkeit

Post by TeXnik »

owr_web wrote: Nachdem ich persönlich kein Freund von MLE bin (du weichst doch ein wenig vom normalen Core ab) habe ich es mit einer anderen Variante gelöst:

Modul Babel http://dev.cmsmadesimple.org/project/fi ... ackage-770

Nachdem der Seitenaufbau ja in allen Sprachen gleich ist, funktioniert das einwandfrei.

Grundsätzlicher (Beispiel-)Aufbau:

1 Deutsche Startseite
1.1 Über mich
1.1.1 mehr über mich
1.2 Jugend
1.2.1 Jugend mehr darüber

2 English home
1.1 Ybout me
1.1.1 More about me
1.2 Teens
1.2.1 More about the teens

Da ich kein Profi bin, ist MLE für mich ideal. Ich muß nicht auf verschiedene Strukturbäume achten, egal in welcher Sprache ich eine neue Seite einfüge, sie ist dann in jeder Sprache zum editieren verfügbar. Auch beim Übersetzen ist hilfreich, daß ich beim erstellen der Seite zwischen den Sprachen umschalten kann.
Und wenn noch keine Übersetzung vorliegt, so erscheint keine leere Seite, da der Inhalt der Hauptspracheeingefügt wird.
cyberman

Re: Mehrsprachigkeit

Post by cyberman »

NaN wrote: Das einzige Problem was ich gerade habe ist, wie ich dem System sage, welche Sprache gerade ausgewählt ist.
Lässt sich das nicht evtl. über eine kombinierte GET-/SESSION-Abfrage lösen?

http://www.webseite.de/index.php?page=foo&lang=fr

Code: Select all

{if $smarty.get.lang == 'en' || $smarty.session.lang == 'en'}
{content block="en" block_tab="Englisch"}
{elseif $smarty.get.lang == 'fr' || $smarty.session.lang == 'fr'}
{content block="fr" block_tab="French"}
{elseif}
...
{else}
{content block_tab="Deutsch"}
{/if}
Damit hättest du Deutsch auch als default-Sprache festgelegt, wenn also der lang Parameter nicht vorhanden ist  ::) . Müsstest dann nur noch den lang parameter in einer session unterbringen ...
owr_bgld

Re: Mehrsprachigkeit

Post by owr_bgld »

TeXnik wrote: Da ich kein Profi bin, ist MLE für mich ideal. Ich muß nicht auf verschiedene Strukturbäume achten, egal in welcher Sprache ich eine neue Seite einfüge, sie ist dann in jeder Sprache zum editieren verfügbar. Auch beim Übersetzen ist hilfreich, daß ich beim erstellen der Seite zwischen den Sprachen umschalten kann.
Geschmacksache imho - denn das ist das geringste Problem. Wenn ich eine Seite in einer Sprache nicht haben will, dann setz ich sie auf inaktiv. Und wenn ich die Seite in einer Sprache anlege, dann gleich bei der/den anderen weiß ich ja ohnehin noch wo sie hin muss. Und wenn ich mehrere Tabs offen hab geht das mit dem Umschalten auch recht einfach.

TeXnik wrote: Und wenn noch keine Übersetzung vorliegt, so erscheint keine leere Seite, da der Inhalt der Hauptspracheeingefügt wird.
Und genau das ist ein grober Punkt der mich persönlich stört. Denn grundsätzlich geht jemand auf die Seite (oft über Links und daher nicht unbedingt auf die Startseite) und dann auf seine Sprache, wenn die falsche angezeigt wird. Hier gefällt mir babel auch weit besser, weil ich einstellen kann - wenn die Seite nicht existiert in der anderen Sprache gehe entweder auf die Startseite oder es gibt keinen Link. Mich persönlich schrecken Seiten ab, wo eine andere Sprache angezeigt wird und dann ist der Text dort in der originalen Sprache.  Da könnte ich Wutausbrüche bekommen manchmal. Insbesondere wenn man Informationen sucht.

Aber es ist Geschmacksache was man nimmt. Nur eines darf man nicht außer Acht lassen. Die MLE-Version hat nicht die gleiche Sicherheitsstufe wie das Originale CMSms und hinkt immer hinterher. Und das ist ein gravierender Aspekt. imho
NaN

Re: Mehrsprachigkeit

Post by NaN »

cyberman wrote:
Lässt sich das nicht evtl. über eine kombinierte GET-/SESSION-Abfrage lösen?
Hm, das wäre auch eine saubere Lösung.
Nur bei pretty_urls wäre es evtl. nicht schlecht, die Sprache auch in der URL für jeden Menülink zu haben, oder?
Sodass die Links je nach Sprachwahl eben so aussehen wie bei der MLE Version: domain/de/home.htm
Weiß nicht inwiefern die Suchpäpste auf sowas stehen.
Bzw. was sie dazu sagen, wenn ein und dieselbe URL in untersciedlichen Sprachen ausgegeben werden kann.
Außerdem könnte man Backlinks von externen Seiten dann auch bei Pretty URLs direkt auf Seiten in der gewünschten Sprache setzen.

Mir fällt gerade nochwas ein. Man kann doch in den globalen Einstellungen eine Sprache fürs Backend festlegen.
Ebenso gibt es in der config.php eine Sprachoption.
Beides ist irgendwo im $gCms Objekt.
Dort ließen sich die Sprachen mit einem Plugin/UDT einfach überschreiben, sodass die vom Betrachter ausgewählte Sprache auch für alle Module etc. gelten sollte.

Wenn ich so genauer darüber nachdenke, frage ich mich, was an Mehrsprachigkeit so schwer sein soll. Sicher: die Planung etc. damit auch alle Inhalte in unterschiedlichen Sprachen dargestellt werden können, aber rein technisch sehe ich da nicht allzuviele Hürden.
Dürfte sich auch ohne MLE sowohl mit als auch ohne unterschiedliche Seitenstruktur realisieren lassen.

Einzig die Modul-Inhalte müssten, sofern vorhanden, mit Kategorien für jede Sprache auskommen.
(Also beim Gallery-Modul z.B. sehe ich da ein Problem mit der Mehrsprachigkeit.)

Oder, wenn die Module benutzerdefinierte Felder anbieten, könnte man für jede Sprache entsprechende Extra-Felder anlegen und im Template dann jeweils das Feld der jeweiligen Sprache anzeigen lassen.

Da man bei kleinen bis Mittelgroßen Projekten ja selten mehr als drei Sprachen anbietet (so zumindest meine Erfahrung) dürfte es auch mit der Idee mit den Inhaltsblöcken keine Probleme mit den Ressourcen geben.
(Bei größeren Projekten braucht man ja sowieso etwas mehr Ressourcen)
Und der reine Inhalt dürfte auch wieder nicht so viel Speicher verbrauchen, dass man bei 5 Sprachen ( = 5 etwa gleichgroße Inhaltsblöcke) plötzlich das Speicherlimit erreicht.

Also wie ich das sehe, gibt es mindestens 3 verschiedene Möglichkeiten für Mehrsprachigkeit.
MLE, unterschiedliche Seitenstruktur (mit oder ohne Babel-Modul) oder eben Inhaltsblöcke.
Müsste man einfach mal ausprobieren was einem da eher liegt bzw. wo genau überall die Vor- bzw. Nachteile liegen.
Wäre vielleicht mal interessant das alles zusammenzutragen und evtl. mal in Aktion zu zeigen.

owr_web wrote:
Mich persönlich schrecken Seiten ab, wo eine andere Sprache angezeigt wird und dann ist der Text dort in der originalen Sprache.  Da könnte ich Wutausbrüche bekommen manchmal. Insbesondere wenn man Informationen sucht.
Da wären mir aber Seiten in der original Sprache oder zumindest ein Hinweis, dass es für die ausgewählte Sprache keine Übersetzung gibt wesentlich lieber als eine leere Seite ;)
Denn sonst klick ich die Seite gleich wieder weg (ohne zu wissen, dass ich den Text auf z.B. Englisch ganz gut hätte verstehen können).
Last edited by NaN on Sat Jun 26, 2010 12:58 pm, edited 1 time in total.
owr_bgld

Re: Mehrsprachigkeit

Post by owr_bgld »

NaN wrote: Da wären mir aber Seiten in der original Sprache oder zumindest ein Hinweis, dass es für die ausgewählte Sprache keine Übersetzung gibt wesentlich lieber als eine leere Seite ;)
Denn sonst klick ich die Seite gleich wieder weg (ohne zu wissen, dass ich den Text auf z.B. Englisch ganz gut hätte verstehen können).
Das geht in Englisch vielleicht noch, wenn man englsich kann. Aber versuchs mal in anderen Sprachen. Italienisch, kroatisch, ungarisch, tschechisch ....
Aber wie gesagt - alles Geschmackssache. Der größte Hinkefuss ist für mich eindeutig, dass es nicht mehr das originale in der jeweils aktuellen Version ist.

Aber ich verfolge deine Gedankengänge mit dem AdvancedContent und Mehrsprachichkeit sehr genau. Das klingt nach mehr  ;D
TeXnik
Forum Members
Forum Members
Posts: 132
Joined: Thu Aug 07, 2008 12:45 pm
Location: Thailand

Re: Mehrsprachigkeit

Post by TeXnik »

Es hängt auch davon ab, was man mit seinen Kenntnissen bewerkstelligen kann. Das ist für mich ein Grund warum letztendlich beim MLE gelandet bin. Ja, MLE hinkt immer der Hauptversion hinterher, leider wird ja nicht wie vor langem versprochen, ab der 2er Version die Mehrsprachigkeit integriert. Dieses Feature wurde ja aus der Roadmap gestrichen. Somit hat sich für mich ein Warten auf die 2er Version nicht mehr gelohnt und ich bin dann auf MLE umgestiegen.
Wer wie ich, für sich kleine private Seiten erstellt und dann bei CMSms landet, da es einen erheblichen einfacheren Einstieg ermöglicht als andere CMS, der bringt aber meist doch nicht die nötigen Kenntnisse mit (vom Zeitaufwand mal abgesehen), um tief in die Programmierung einzusteigen.
Ja, es ist mir klar, daß CMSms den Anspruch erhebt von Profis für Profis zu sein, dennoch sollte man nicht außer Acht laßen, daß es auch bei Nicht-Profis angewendet wird. Daß dann Nicht-Profis besser mit CMSms zurecht kommen, als mit anderen Systemen, sollte vielleicht mehr als Ansporn aufgefaßt werden, denn als Hindernis.
Und auch Nicht-Profis haben Vorstellung welche Funktionalität sie auf ihren Seiten wünschen. Und hier bietet nun MLE eine Möglichkeit auf einfache Weise die Mehrsprachigkeit zu realisieren.
Von daher sehe ich es etwas weniger als eine Geschmackssache an, sondern mehr (für mich im Speziellen) als eine Sache der eigenen Fähigkeiten und des damit verbundenen Aufwandes.

Für mich persönlich ist die Anzeige eines nicht übersetzten Textes auch immer eine Mahnung nun endlich da mal ran zu gehen, was ich zugegebenermaßen schleifen lasse. Bei einer leeren Seite, würde ich noch fauler werden. Ich würde mir sogar wünschen, daß beim Erstellen einer neuen Seite, der komplette Inhalt in allen Sprachen im Editor erscheinen würde, was die Übersetzung noch weiter vereinfachen würde, da ich dann nicht mehr zwischen Sprachen hin und her schalten müßte.
Dejavu

Re: Mehrsprachigkeit

Post by Dejavu »

Hallo vielen Dank für die zahlreichen Antworten hier.

Ich habe mich für die Lösuing mit den Inhaltsblöcken entschieden und verwende die get session abfrage:

{if $smarty.get.lang == 'en' || $smarty.session.lang == 'en'}
{content block="Englisch" block_tab="Englisch"}
{else}
{content block_tab="Deutsch"}
{/if}

Jedoch stört es mich dass ich nur einen Menütitel setzten kann und nicht für jede Sprache einen seperat.
Zudem frage ich mich, wie ich die Sprache auf der Webseite wechseln kann. Derzeit wird bei mir immer Deutsch (default) ausgegeben :(
owr_bgld

Re: Mehrsprachigkeit

Post by owr_bgld »

{if $smarty.get.lang == 'en' || $smarty.session.lang == 'en'}
{content block="EnglischTitel" block_tab="Englisch"}
{else}
{title} /* ich nutze AC (noch!) nicht, aber es müsste ja eh gleich sein.
{/if}

Dann hast du den Titel auf Englisch drinnen. Oder hab ich da einen Denkfehler mit dem block_tab?

Das mit dem Problem dem Auslesen der Sprache steht (wenn ich mich nicht verzählt habe 6 Beiträge weiter oben - der letzte Satz von cyberman nach seinem Beispiel. Also funktioniert noch nicht ganz mit dem Festlegen der Sprache. Aber NaN sitzt sicher schon an der Lösung wie ich ihn hier kennengelernt habe ;D .
Dejavu

Re: Mehrsprachigkeit

Post by Dejavu »

Ich würde gerne für jede Sprache einen seperaten Menütext und Titel definieren.

Also dass ich bei den Text
"Jugend" auf Englisch im Menü und als Titel "Teens" oder einen anderen von mir definierten angezeigt bekomme :)
cyberman wrote: Damit hättest du Deutsch auch als default-Sprache festgelegt, wenn also der lang Parameter nicht vorhanden ist  ::) . Müsstest dann nur noch den lang parameter in einer session unterbringen ...
Damit kann ich leider noch nicht sehr viel anfangen :(
Last edited by Dejavu on Mon Jun 28, 2010 11:21 am, edited 1 time in total.
Post Reply

Return to “Module und Tags”