[3.2] easy_language_change

In diesem Forum können Extension-Autoren ihre Extensions vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
HJW
Mitglied
Beiträge: 961
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: [3.2] easy_language_change

Beitragvon HJW » 23.12.2017 22:21

Hallo,

so wie ich das sehe geht das nicht so einfach, es sei denn, du hast nur einen Gast, dann könnte man die Bordeinstellung ändern lassen. Ansonsten würde ja jeder Gast auch die Einstellung ändern. Es ist übrigens egal welche Sprache du dem Gastkonto zuweist, es wird immer die Bordeinstellung genommen.
Man müsste die Spracheinstellung in einem Cookie festlegen und dort auslesen. Aber das könnte ziemlich umfangreich werden. Mir reicht die Ext so wie sie ist.

ZNC
Mitglied
Beiträge: 229
Registriert: 21.05.2014 13:48
Wohnort: Köln

Re: [3.2] easy_language_change

Beitragvon ZNC » 24.12.2017 07:54

Ich danke Dir Hermann Joseph.
Der, die, das, wer, wie. was ... wer nicht fragt bleibt dumm. :D

Benutzeravatar
gn#36
Administrator
Administrator
Beiträge: 9257
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: [3.2] easy_language_change

Beitragvon gn#36 » 25.12.2017 01:57

Prinzipiell könntest du für Gäste:
  1. Einen Cookie anlegen, in dem die Sprache gespeichert wird, der herangezogen wird, wenn er existiert. Ist in meinen Augen eine ziemlich einfache Lösung, denn den Cookie kannst du direkt auslesen, einziger Nachteil ist, dass das einen zusätzlichen Cookie für Gäste produziert, den man in seinen Datenschutzangeben angeben muss. Ohne Cookies funktioniert das ganze leider nicht.
  2. Immer die jeweils aktuelle Sprache an die URL anhängen. Weil es eine zentrale Stelle gibt, durch die alle generierten Links innerhalb des Forums laufen, an der z.B. auch die Session ID an die URL gehängt wird, kannst du sicherstellen, dass das bei sämtlichen auto-generierten Links ankommt. Ist aber nicht für Verlinkungen im Forum hilfreich. Event: core.append_sid (includes/functions.php)
  3. Die Sprachinfo in der Session Tabelle in der Datenbank speichern. Dann kümmert sich phpBB um die Session und du kommst auch bei Gästen an die Info ran. Nachteil ist der erhöhte Implementierungsaufwand durch die zusätzliche DB Spalte.

Cookies schreiben und auslesen ist eigentlich nicht riesig aufwändig. Das Auslesen funktioniert das genau so als würdest du einen URL Parameter auslesen, du musst nur mit angeben, ob es sich um einen Cookie handeln soll (siehe z.B. die Beschreibung der Funktion request_var). In der phpbb/session.php, d.h. im session Objekt gibt es eine set_cookie Funktion mit der du den Cookie schreiben kannst. $user erbt das Session Objekt, d.h. ein Cookie lässt sich ganz einfach per $user->set_cookie(...) setzen.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.

ZNC
Mitglied
Beiträge: 229
Registriert: 21.05.2014 13:48
Wohnort: Köln

Re: [3.2] easy_language_change: Auswahl der Sprache durch den Gast-User

Beitragvon ZNC » 25.12.2017 07:45

Ja, so wie unter 1. habe ich es mir auch gedacht:
ZNC hat geschrieben:Irgendwo muß die Sprachauswahl des Gastes gemerkt werden. In der Datenank geht es nicht, da es nur einen Gast-User gibt. Vielleicht muß diese Einstellung in ein Cookie ausgelagert werden, damit diese im Zugriff bleibt.

Im nächsten Schritt muß seitens phpBB differenziert werden, ob ich einen eingeloggten User habe oder jemand als Gast die Seiten besucht. Wenn es ein Gast ist, so muß geprüft werden, ob eine Sprachauswahl durch den Gast getroffen wurde.
Wenn nein, so werden alle Links in der im ACP eingestellten Defaultsprache generiert.
Wenn ja, so werden alle Links in der im Cookie eingestellten Sprache generiert.


So wie ich Hermann Josef verstanden habe, wird er keine weiteren Änderungen an seiner Extension vornehmen. Ich selber bin nicht in der Lage, eine Extension zu schreiben, da ich nur rudimentär php verstehe. Die Hilfestellung, die ich bräuchte, würde mir keiner geben - leider.

Hätte ich ein stark fluktuiertes Forum, so hätte ich definitv nicht 3.2 eingesetzt. Die MOD "quicklanguage" machte aus einer einsprachigen phpBB eine zumindestens von den phpBB Funktionen her mehrsprachig ausgerichtete super Software, das hat mir auch gereicht. Jetzt muß ich mich auf eine Sprache einschiessen.

Habe zwar Sprachschalter, die aber z.B. bei dem Registrierungsprozeß gar nicht funktionieren, wenn der sich neu anzumeldende Gast für die andere Sprache entscheiden muß, da er sonst nur Bahnhof verstünde. Auf der anderen Seite brauche ich aus gesetzlichen Gründen heraus das Impressum, die Datenschutzerklärung und die Nutzungsbedingungen auch in deutsch. Ich frage mich, gibt es überhaupt 3.2 Foren, die einen mehrsprachigen Zugang benötigen und wie haben sie dies gelöst?
Der, die, das, wer, wie. was ... wer nicht fragt bleibt dumm. :D

HJW
Mitglied
Beiträge: 961
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: [3.2] easy_language_change

Beitragvon HJW » 25.12.2017 11:19

Hallo,

Ich bin dabei. Es soll so werden, dass Gäste die Seite in der bevorzugten Browsersprache (falls installiert) angezeigt werden.

ZNC
Mitglied
Beiträge: 229
Registriert: 21.05.2014 13:48
Wohnort: Köln

Re: [3.2] easy_language_change

Beitragvon ZNC » 25.12.2017 12:18

Suuuuppperr :D

Wie kann ich helfen?
Der, die, das, wer, wie. was ... wer nicht fragt bleibt dumm. :D

HJW
Mitglied
Beiträge: 961
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: [3.2] easy_language_change

Beitragvon HJW » 31.12.2017 18:20

ZNC hat geschrieben:Suuuuppperr :D

Wie kann ich helfen?

http://calendar.zoo-am-ring.de/viewtopic.php?t=88

0.2.0
Gästen wird die Seite in der bevorzugten Browser-Sprache (falls installiert) angezeigt. Außerdem können diese auch ihre Board-Sprache einstellen.


Indem du das mal testest.
Du solltest aber bei dir auch die Änderung durchführen, die ich in der ./ext/hjw/easy_language_change/styles/all/template/event/overall_header_page_body_before.html gemacht habe. Es gibt sonst ein Konflikt mit der Sprachauswahl bei der Registrierung und wahrscheinlich auch im persönlichen Bereich.

ZNC
Mitglied
Beiträge: 229
Registriert: 21.05.2014 13:48
Wohnort: Köln

Re: [3.2] easy_language_change

Beitragvon ZNC » 02.01.2018 07:45

Teste ich gerne. Habe morgen wieder Zeit. (hat sich erledigt: Wo kann ich es runter laden?)

Habs kurz angetestet:

Hatte die Extension zuerst deinstalliert und gelöscht, war ein Fehler, da flags nicht vorhanden sind. Jetzt bin ich hingegangen und habe die vorherige Version deaktiviert, die Arbeitsdaten gelöscht und anschließend von Deiner Seite: Zoo am Ring die Version "easy_language_change 0.2.0.zip" drüber installiert.

Soll ich meine Testergebnisse hierüber mitteilen oder lieber per PN?

Mir ist folgendes aufgefallen:
In dem Forum ist die Standardsprache "türkisch", angezeigt wird mir aber "deutsch" für den Gast.


Ich vermute, dass Du mit Cookies arbeitest? Stelle ich mir den Algorithmus so richtig vor?
1. Frage: Username = Anonymous?

1.1 Nein = angemeldeter User: aus der Tabelle "users" die vom User eingestellte Sprache verwenden.

1.2. Ja = Gastuser = Cookie-Language-Variable gesetzt?
1.2.1 Ja = Language-Variable im Cookie vorhanden: aus dem Cookie die vom Gast eingestellte Sprache verwenden.
1.2.2 Nein = Nein, Language-Variable im Cookie nicht gesetzt: aus der Tabelle "???" die Standard-Sprache der Board-Einstellungen verwenden.
Der, die, das, wer, wie. was ... wer nicht fragt bleibt dumm. :D

HJW
Mitglied
Beiträge: 961
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: [3.2] easy_language_change

Beitragvon HJW » 02.01.2018 21:06

Hallo,

soweit korrekt, bis auf diesen Punkt:

ZNC hat geschrieben:1.2.2 Nein = Nein, Language-Variable im Cookie nicht gesetzt: aus der Tabelle "???" die Standard-Sprache der Board-Einstellungen verwenden.


In dem Fall wird die Browsereinstellung des Nutzers ausgelesen in der eingestellten Wertigkeit. Die am höchsten bewertete Sprache, die auch installiert ist, wird angezeigt und im Cookie gesetzt. Wenn deine bevorzugte Sprache im Browser also türkisch ist und türkisch im Board installiert ist, sollte das Board in türkisch angezeigt werden. Man kann dann als Gast aber auch wieder die Sprache ändern.

ZNC
Mitglied
Beiträge: 229
Registriert: 21.05.2014 13:48
Wohnort: Köln

Re: [3.2] easy_language_change

Beitragvon ZNC » 03.01.2018 07:20

Wann greift denn die in
Lehrling hat geschrieben:der Tabelle phpbb_config unter default_lang.
nachgehaltene Default-Sprache? Ich würde diese eher bevorzugen als die Browserspracheinstellung. Im Forum gibt es zwei Sprachen "deutsch" + "türkisch", wobei türkisch die Voreinstellung ist. Was passiert, wenn jemand mit Browsersprache "spanisch" die Seite aufruft? Oder nur die türkische Spracheinstellung von Windows verwendet, aber die Browsersprache englisch ist und nur bei den Suchmaschinen die jeweilige Sprache eingestellt wird?
Der, die, das, wer, wie. was ... wer nicht fragt bleibt dumm. :D


Zurück zu „Extensions in Entwicklung“