Multilanguage-Site mit einem Template

Hier bekommst Du deutschsprachigen Support. Keine Fehlermeldungen oder Erweiterungswünsche bitte!
nameless1
Posts: 878
Joined: Sun 27. Apr 2008, 23:22

Re: Multilanguage-Site mit einem Template

Post by nameless1 »

photojo wrote:Warum wird

Code: Select all

[en]This is English[/en][de]Das ist Deutsch[/de]
nicht gerendert?!
lang_replace.php nicht vorhanden?
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Multilanguage-Site mit einem Template

Post by Oliver Georgi »

wenn man sich hieran hält, sollte es sauber gehen:
https://github.com/slackero/phpwcms-ext ... uageSwitch
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
Old Boy
Posts: 1203
Joined: Fri 23. Nov 2012, 13:52

Re: Multilanguage-Site mit einem Template

Post by Old Boy »

Auch ich muss bestätigen, dass die Umschaltung per [de]DEUTSCH[/de][en]ENGLISH[/en] auch bei mir momentan NICHT funktioniert !

Es wird grundsätzlich die Sprache angezeigt, die in der Datei lang_replace.php voreingestellt ist!

Code: Select all

$language_default			    = 'de';
Versuch unter der Überschrift Sprachumschaltung im Haupt-Template: http://2014.pepes-sandbox.de/de/index.html
Last edited by Old Boy on Tue 2. Feb 2016, 12:48, edited 1 time in total.
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Multilanguage-Site mit einem Template

Post by Oliver Georgi »

naja, dann halt noch mal von GitHub laden.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
Old Boy
Posts: 1203
Joined: Fri 23. Nov 2012, 13:52

Re: Multilanguage-Site mit einem Template

Post by Old Boy »

Melde jehorsamst: "Jetz jeeht et widda!" :D
Dieter:Bahr
Posts: 71
Joined: Tue 28. Feb 2017, 11:18

Re: Multilanguage-Site mit einem Template

Post by Dieter:Bahr »

Hallo,
versuche das gerade mit der Version 1.9.2 und bekomme es nicht hin :-(

lang_replace.php vorhanden in frontend_render
lang.init.php vorhanden in frontend_init.

Wenn ich mich recht erinnere, war es doch so …

[DE] Deutscher Text [/DE] [EN] Englischer Text [/EN]

Und wenn man nun in der conf.inc.php umschaltet, ändert sich die Sprache
conf.inc.php

$phpwcms['DOCTYPE_LANG'] = 'en'; //by default same as $phpwcms['default_lang'], but can be injected by whatever you like
$phpwcms['default_lang'] = 'en'; //default language

$phpwcms['allow_ext_init'] = 1; //allow including of custom external scripts at frontend initialization
$phpwcms['allow_ext_render'] = 1; //allow including of custom external scripts at frontend rendering


Wäre für Unterstützung Dankbar
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Multilanguage-Site mit einem Template

Post by Oliver Georgi »

Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
Dieter:Bahr
Posts: 71
Joined: Tue 28. Feb 2017, 11:18

Re: Multilanguage-Site mit einem Template

Post by Dieter:Bahr »

Hallo Oliver, erst mal Danke für die schnelle Reaktion!

Ich dachte ich kann im einem Artikel [DE]deutsch[/DE][EN]englisch[/EN] verwenden. Bilde mir ein, das das auch mal geklappt hatte.
Kann mich aber beim besten Willen nicht mehr erinnern wie das ging.

Wenn ich das richtig verstehe, muss ich die gesamte Seitenstruktur bei 2 Sprachen 2 mal anlegen. Bei drei Sprachen 3 mal usw.
Wie schalte ich dann zwischen den Sprachen um? Steh etwas auf dem Schlauch.

Muss ich dann die ganze Seite mehrmals machen? Würde ja keinen Sinn machen, denn dann kann man ja gleich 3 Seiten in 3 Sprachen
machen ....

Sorry, könnte mir das vielleicht jemand etwas genauer erklären?
Ich benötige eine Seite in 3 Sprachen und am Besten mit einem Schalter und Landeserkennung wenn das realisierbar ist.

Vielen Dank bereits im voraus ....
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Multilanguage-Site mit einem Template

Post by Oliver Georgi »

Guck mal, hier ist doch alles beschrieben – erst mal so umsetzen, dann verstehst Du das auch:
https://github.com/slackero/phpwcms-ext ... h#replacer

Du kannst natürlich auch alles per [DE]Bla[/DE][EN]Blubb[/EN] im gleichen Baum halten. Ich persönlich mag das nicht. Geht sicher gut für wenig Inhalt, sonst aber eher nicht zu empfehlen. Üblicherweise wechselt kein Besucher zwischen den Sprachen hin und her. Macht eher ein Redakteur aus Bequemlichkeit.

Statische Inhalte (wie im Impressum oder so) realisiere ich üblicherweise per @@Ersetzer@@.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
Dieter:Bahr
Posts: 71
Joined: Tue 28. Feb 2017, 11:18

Re: Multilanguage-Site mit einem Template

Post by Dieter:Bahr »

Also, hab jetzt eine völlig neue Seite zum Testen gemacht. Ver. 1.9.2
lang_replace.php & lang.init.php vorhanden
Struktur wie beschrieben
ID 0 = home
ID 1 = English Seitenebenen-Name @@Englisch@@
ID 2 = Deutsch Seitenebenen-Name @@Deutsch@@

Es wird auch in die de.php geschrieben!

Hab einen Artikel angelegt mit WYSIWYG HTML mit Inhalt rein um zu sehn was passiert

[de]Deutsch[/de]
[en]Deutsch[/en]

{lang} {SWITCH_LANG} (Hab ich auch extra nochmal in ein reines html wegen der Formatierung unter WYSIWYG)

Angezeigt bekomme ich immer nur DEUTSCH, auch wenn meine IP z.B. Canada ist (sollte dann nicht ein englisches Menü angezeigt werden?)
Und mit dem REPLACER passiert garnichts! Ich komm echt nicht drauf wo mein Fehler liegt. Sorry!!
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Multilanguage-Site mit einem Template

Post by Oliver Georgi »

Du hast einen grundsätzlichen Denkfehler.

Solange Dein Browser auf Deutsch eingestellt ist, ist der Standard Deutsch. Es ist keine Geolokation enthalten.

Die Sprachzuordnung erfolgt über den Seitenbaum und das zugehörige Sprachalias. Wenn also Deutsch erkannt wird, wird in den passenden Sprachzweig verzweigt. Dabei ist wichtig, dass das Home-Alias (oberstes Level der Sprache) für Deutsch dann "de" ist, für English "en" usw.

Wenn Du das in einer Seite halten willst, muss die Sprachwahl zusätzlich an ein Sessionvariable gebunden werden,. die sofern gesetzt bei Seitenaufruf die aktuelle Sprache wieder setzt. Das tut diese Lösung erst mal nicht.

Siehe z.B. https://www.bauhaus-dessau.de/de/index.html
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
Dieter:Bahr
Posts: 71
Joined: Tue 28. Feb 2017, 11:18

Re: Multilanguage-Site mit einem Template

Post by Dieter:Bahr »

Nachdem mein Denkfehler beseitigt wurde, meine Frage zum Menü, und würde mich über HILFE / ERKLÄRUNG sehr freuen!

Was mache ich, das immer nur das entsprechende Menü der jeweiligen Sprache angezeigt wird und nicht alle drei, ohne
drei templates zu benutzen??

NAV_LIST_UL:B,0,10,active li-Klasse-active1 |nav navbar-nav navbar-right ul-klasse | sub_level1 |sub_level2 | sub_level3 |, | a-Klasse-active ,,0,,


DANKE
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Multilanguage-Site mit einem Template

Post by Oliver Georgi »

Code: Select all

[LEVEL1_ID]{NAV_LIST_UL: B , {LEVEL1_ID} , 10 , active li-Klasse-active1 | nav navbar-nav navbar-right ul-klasse | sub_level1 |sub_level2 | sub_level3 | , | a-Klasse-active , , 0 , , }[/LEVEL1_ID]
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
Dieter:Bahr
Posts: 71
Joined: Tue 28. Feb 2017, 11:18

Re: Multilanguage-Site mit einem Template

Post by Dieter:Bahr »

Danke erst mal für den Hinweis bezüglich des Replacers für das Menü!

So, nachdem meine "GRUNDSÄTZLICHEN DENKFEHLER“ von einem sehr sehr netten Herren, der sich
echt prima mit dem System aus kennt, aber schon lange nichts mehr damit macht :-(, beseitigt wurden,
hab ich mir gedacht, ich schreib, meine Erfahrungen mit Multilinguale mal hier in den POST, damit wenn
das vielleicht nochmal jemand sucht und so „Grundsätzliche Denkfehler“ hat wie ich, dann ungefähr weiß wie das geht.

Schade, das es mittlerweile keine Dokumentation mehr zum PHPWCMS gibt, so wie früher, als ich meine
Ersten Berührungen mit dem System hatte

Was braucht man um mit Phpwcms eine Multilinguale Seite aufzubauen? Hmmm

template/inc_script/frontend_render/lang_replace.php (ist im Phpwcms unter disabled enthalten)

template/inc_script/frontend_init/lang.init.php.php
template/inc_script/frontend_render/lang.render.php

Warum auch immer die zwei Dateien nicht im Standard Phpwcms enthalten sind …? Die beiden findet man auf Github im phpwcms-extended

Was machen diese denn so?

Ohne die lang.render.php nützt einem auch die Erklärung über Replacer auf Github (https://github.com/slackero/phpwcms-ext ... h#replacer) nix, denn da kann man
Eintragen was und wo man will, es wird nix ersetzt, nur ein Text draus gemacht.
Hat man die am richtigen Platz, dann geht das auch mit dem Language_Switch {SWITCH_LANG}
Der produziert nämlich ein Menü um zwischen den Sprachen umzuschalten, allerdings nur ein z.B. de en it fr
Will man da was anderes stehen haben, muss man das in der lang.render.php ab Zeile 54 ändern. Dann ist das
Auch ne prima Sache!!!

Der Replacer {lang} macht nix bei mir, warum auch immer.

Die lang_replacer.php sorgt dafür, das, wenn man ein Wort oder einen Text in die Schweineöhrchen setzt @@TEXT@@
Dieser im Verzeichnis template/templete_lang in die Datei de.php eingetragen wird. Ändert man dort nun z.b. was, landet das
Dann entsprechend je nach Browsereinstellung da wo vorher in den Schweineöhrchen was anderes stand :-) Prima
Ob die für sonst noch was gut ist, hab ich noch nicht raus gefunden …
Ach ja, ich glaub die braucht man auch für das [DE]Bla Bla Deutsch[/DE] [EN]Bla Bla english[/EN] (kann man z.B. in Artikel
schreiben/platzieren

Die lang.init.php.php ist für den auf Github erklärten Seitenbaum zuständig ….
Ich bin auch mit dieser Erklärung nicht wirklich dahinter gestiegen.
Es hat sich zwar was getan, aber das war nicht zu 100% wirklich zielführend.

Nachdem ich das dann mit dem Baum nach etwas rumprobieren und nochmaligem Nachfragen hier (2Stunden) hin
bekommen habe tat sich schon mal was.

Was mich am meisten irritiert hatte, war, das ich die Erklärung mit dem Baum so verstanden hatte, das ich auf jeden Fall eine
komplett neue Seite aufbauen muß um das zu realisieren …
MUSS MAN ABBA NICHT
Einfach in der lang.init.php.php ab Zeile 22 die jeweilige ID für die entsprechende Sprache eintragen und schon geht das!
(Steht leider auch nirgends …. Oder ich konnte es nicht finden)

Ach ja, in der conf.inc.php muss man auch noch was ändern, sonst geht da auch nix. Wenn man nicht weiß, wo der in der
Erklärung auf Github beschriebene $phpwcms['allowed_lang‘] sich befindet, kommt man auch nicht zu 100% an sein Ziel.
Hab hier mal deutsch/englisch und italienisch eingetragen, weil das is ja was ICH brauche $phpwcms['allowed_lang'] = array('de','en','it');
Die default language auf ‚de‘ für deutsch … prima
Die angegebenen Dinge findet man übrigens in der conf.inc.php im Verzeichnis include/config

Das Menü:
Verwendet man NAV_LIST_UL, muss das dann im Template so aus sehen, zumindest bei mir, denn ohne das "P" wird mir der jeweilige
Link zur Startseite der jeweiligen Sprache nicht angezeigt

{NAV_LIST_UL:PB,{LEVEL1_ID},10,active li-Klasse-active1 |nav navbar-nav navbar-right ul-klasse | sub_level1 |sub_level2 | sub_level3 |, | a-Klasse-active ,,0,,}

Hoffe es hilft dem nächsten Suchenden weiter, und ich hab nicht irgendwas vergessen :-)

Ansonsten, in diesem Sinne "ein schönes Wochenende!"
Dieter:Bahr
Posts: 71
Joined: Tue 28. Feb 2017, 11:18

Multilanguage-Site mit einem Template

Post by Dieter:Bahr »

So, soweit hab ich das Ganze ja verstanden, ABER, welches Problem ich jetzt noch habe:

- Nutzung eines Templates

im Footer hab ich Links zu z.B. Impressum usw.
Die hab ich, da es sich um eine Menüsturktur handelt, mit { NAV_LIST_UL: F,12,1, ,|a-active }
gemacht. Folge ist, das diese ja den deutschen Link enthalten. z.b. "de/impressum"
Beim Umschalten auf englisch, wird ja nicht der eigentliche Link geändert. Der müsste ja in der Englischen Version
"en/impressum" sein.

Ist das mit einem einzigen Template möglich? die Englische Struktur wäre ja eine andere ID. In meinem Fall 86.

DANKE FÜR ERKLÄRUNG / HILFE
Post Reply