Seite 1 von 13

[3.2] easy_language_change

Verfasst: 01.12.2017 20:20
von HJW
Extension-Titel: easy_language_change
Extension-Version: 1.0.2
Extension-Autor: hjw
Extension-Beschreibung: Zeigt für jede aktivierte Sprache ein Flaggen-Symbol auf der Index-Seite. Durch klicken auf die entsprechende Flagge wird die Board-Sprache geändert.

Passende Flaggen gibt es z.B. hier: http://flagpedia.net/download (small-icons)
Die Bezeichnung der Flaggen muss den Sprach-Ordnern entsprechen.

Die Flaggen müssen als .png-Datei in folgendem Ordner sein: ./ext/hjw/easylanguagechange/includes/flags

Demo: http://calendar.killifisch.info

Download der Erweiterung: http://calendar.killifisch.info/viewforum.php?f=114

Installation der Erweiterung:
Nach dem Download entpacke diese Datei und lade das Ergebnis per FTP nach root/ext hoch.
Im Administrations-Bereich unter Anpassen -> Erweiterungs-Verwaltung -> Deaktivierte Erweiterungen
in der Zeile easylanguagechange auf Aktivieren klicken.

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.

0.3.0
Fehler im Link-Aufbau beseitigt.

0.4.0
Fehler im Link-Aufbau beseitigt.

0.5.0
Die Flagge der ausgewählten Sprache wird hervorgehoben dargestellt.

0.6.0
Fehler beseitigt: Gäste mussten mehrfach auf die Flagge klicken um die Sprache umzustellen.

Re: [3.2] easy_language_change

Verfasst: 01.12.2017 22:50
von Joyce&Luna
Hallo

Ich glaube du hast den falschen Link für die Demo drin. Die Flaggen sind dort nicht vorhanden.

Anke

Re: [3.2] easy_language_change

Verfasst: 01.12.2017 23:48
von HJW
Danke,

habe ich korrigiert.

Re: [3.2] easy_language_change

Verfasst: 08.12.2017 09:49
von ZNC
Hallo HJW,

habe Deine Extension eben runter geladen und installiert, Cache geleert und hatte meine Flaggen und somit meinen Sprach-Switcher. Vielen Dank für Deine Mühen und dafür, dass diese Extension so unproblematisch zu installieren war.

Eine kleine Frage treibt mich noch um. Ich wollte die Sprachflaggen in der navbar vor der Foren-Übersicht auf gleicher Zeile haben und habe hierfür folgendes Workaround geschaffen.

1. Im phpBB/ext/hjw/easy_language_change/styles/all/template/event Verzeichnis die overall_header_head_append.html und overall_header_page_body_before.html umbenannt.

2. In der navbar_header.html nach ul-nav-breadcrumbs und vor dem span-crumb von IF U_SITE_HOME folgenden Code eingefügt:

Code: Alles auswählen

<ul id="nav-breadcrumbs" class="nav-breadcrumbs linklist navlinks" role="menubar">
	usw. ...
	<li class="breadcrumbs">
<!-- ab hier -->
		<!-- BEGIN flags -->
		<span class="crumb">
			<a href="{flags.LINK}" title="{flags.NAME}" alt="{flags.NAME}">
				<img class="flag" src="{flags.FLAG}" />
			</a>
		</span>
		<!-- END flags -->
<!-- bis hier -->
		<!-- IF U_SITE_HOME -->
		<span class="crumb" {$MICRODATA}>
			<a href="{U_SITE_HOME}" itemprop="url" data-navbar-reference="home">
				usw. ...
Gibt es ein einfacheres Workaround?

Re: [3.2] easy_language_change

Verfasst: 08.12.2017 10:45
von Mahony
Hallo
Du könntest dir dein eigenes Template-Event anlegen. Einfach direkt an der Stelle im Template, wo der Code eingefügt werden soll
<!-- EVENT mein_header_page_navbar --> einfügen und dann in der Extension die Datei entsprechend umbenennen.

Bei einem Update des Styles oder der Extension musst du dann eben die Änderung nochmal neu machen, also schön dokumentieren was du gemacht hast.

Grüße: Mahony

Re: [3.2] easy_language_change

Verfasst: 08.12.2017 13:50
von ZNC
Mahony, lieben Dank, diesen Workaround teile ich auch mal:

1. Im phpBB/ext/hjw/easy_language_change/styles/all/template/event Verzeichnis die overall_header_head_append.html und overall_header_page_body_before.html umbenannt.
2. Eine Datei namens navbar_header_easy_language_change.html (Dateiname ist frei wählbar) erstellt.
3. In diese Datei folgenden Code eingegeben:

Code: Alles auswählen

<!-- BEGIN flags -->
<span class="crumb">
	<a href="{flags.LINK}" title="{flags.NAME}" alt="{flags.NAME}">
		<img class="flag" src="{flags.FLAG}" />
	</a>
</span>
<!-- END flags -->
3. Diese Datei in das Extensionverzeichnis auf dem Server kopiert: phpBB/ext/hjw/easy_language_change/styles/all/template/event
4. In der navbar_header.html nach ul-nav-breadcrumbs und vor dem span-crumb von IF U_SITE_HOME folgenden Code eingefügt: <!-- EVENT navbar_header_easy_language_change -->(der Name des Events muß identisch mit dem Dateinamen sein).

Ich selber habe jetzt den 1. Workaround bevorzugt, da er für mich weniger Aufwand ist. Meine Styleänderungen dokumentiere ich immer Schritt für Schritt, so kann ich auch nach einem Jahr ohne Probleme alles nachvollziehen.

Re: [3.2] easy_language_change funktioniert beim Gast nur sehr bedingt?

Verfasst: 23.12.2017 08:21
von ZNC
Hallo HJW,
um eigene Fehler auszuschließen, habe ich wieder auf prosilver-Style umgeschaltet und die benutzte easy_language_change Extension gelöscht (+ Arbeitsdaten gelöscht) und neu installiert. Aber folgendes passiert:

1. Der Flaggen-Sprachschalter erscheint nur auf der "Foren-Übersicht". Somit kann ich die Sprache nur wenn ich dort bin umschalten. Ist das richtig?

2. Schaltet man nach Aufruf auf Deiner Musterseite dann auf deutsch (1. Flagge) so werden die Inhalte auf deutsch gezeigt. Ruft man dann anschließend über den "Schnellzugriff" z.B. die "Suche" auf, so ist alles wieder auf englisch. Genau das Gleiche passiert bei mir.

Mit diesen Einstellungen ist der Sprachschalter bedingt funktionell. Habe ich die Möglichkeit, Einfluß auf dieses Verhalten zu nehmen? Kann ich die Extension dazu veranlassen, auch beim Gast die Spracheinstellung zu merken?

Re: [3.2] easy_language_change

Verfasst: 23.12.2017 08:44
von HJW
Hallo,

die Umschaltung funktioniert nur korrekt wenn man angemeldet ist, ansonsten wird die Board-Einstellung genommen. Ich muss mal schauen, ob man die auch damit ändern kann.
Die Ext habe ich eigentlich für http://www.killi.org geschrieben und dort habe ich noch die quick_language von Kirk installiert. Damit das nicht zu sehr verwirrt, habe ich die eine auf den Index begrenzt und die andere auf die Beiträge.
Wenn du das ändern willst, dann lösche in der ext\hjw\easy_language_change\styles\all\template\event\overall_header_page_body_before.html die 1. und die 9. Zeile.

Re: [3.2] easy_language_change

Verfasst: 23.12.2017 09:28
von ZNC
HJW, Danke für Deine prompte Rückmeldung. Es wäre super, wenn die Problematik mit dem Gast gelöst werden könnte. Ich benutze die mitgelieferten Templates nicht, habe diese der einfachheithalber umbenannt. Denn ich platziere die Flaggen bei mir im Bereich "nav-main" Unterbereich "nav-breadcrumbs". Die Bedingung "<!-- IF S_INDEX -->" nehme ich raus. Lieben Dank.

Wo kann ich mitverfolgen, wann Du Änderungen an Deiner Extension vornimmst?

PS:
1. Auch wenn ich die Bedingung entferne, läuft es nicht rund. Beim Umstellen vergisst phpBB dann das Forum.
2. Die Flaggen verschwinden auf der FAQ-Seite.

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

Verfasst: 23.12.2017 10:57
von ZNC
Meine laienhaften Überlegungen zum eigenen Verständnis: Standardmäßig wird beim Gast die über das ACP eingestellte Sprache genommen. Wenn ich nun beim Gast eine andere Sprache einstelle, geht diese Information jedoch jedesmal nach der Umstellung verloren. Die Konsequnez ist, das beim nächsten Link wieder automatisch auf die Default-Gast-Sprache umgestellt wird.

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.

Habe mal den Sprachschalter händisch angehängt und nach meinem laienhaften Verständnis gibt es folgende Konstellationen:

A. Defaultsprache deutsch ist aktiviert, es soll auf türkisch umgestellt werden:
www. xyz .de --->>> www. xyz .de/?lang=tr
www. xyz .de/?lang=de --->>> www. xyz .de/?lang=tr
www. xyz .de/app.php/help/faq --->>> www. xyz .de/app.php/help/faq?lang=tr
www. xyz .de/viewforum.php?f=100 --->>> www. xyz .de/viewforum.php?f=100&lang=tr

B. Es ist auf türkisch umgestellt, es soll auf die Defaultsprache deutsch umgestellt werden:
www. xyz .de/?lang=tr --->>> www. xyz .de/?lang=de
www. xyz .de/app.php/help/faq?lang=tr --->>> www. xyz .de/app.php/help/faq?lang=de
www. xyz .de/viewforum.php?f=100&lang=tr --->>> www. xyz .de/viewforum.php?f=100&lang=de