Languagemenü - Flaggen oder Kürzel

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
lck
Posts: 2366
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Languagemenü - Flaggen oder Kürzel

Post by lck » Fri Jul 23, 2021 8:06 pm

Michael_G wrote:
Thu Jun 03, 2021 8:54 pm
Heutzutage soll man keine Flaggen mehr verwenden, weil diese eher Länder als Sprachen darstellen (so liest man vielerorts).
Logisch, es sind ja Länderflaggen. Aber gemeint ist eben, dass eine Flagge wie die britische den Amerikanern und Kanadiern nicht gefallen wird wie Du das in Osteuropa auch kennst, da haben manche ein schlechtes Gefühl bei einer Flagge.
Neutraler und was die echte Sprache angeht, realistischer ist die Verwendung von ISO-Code 2 oder einfach ausgeschrieben, wenn Platz ist.
Darüber habe ich mir mal Gedanken gemacht. Ich finde diese Flaggen auch nicht immer passend bzw. viele Websites verwenden nur Kürzel wie "EN", "DE" usw.

Möglichkeit 1
Man erstellt Flaggen entsprechender Größe mit den Kürzeln und liefert sie mit dem Template im Ordner ./templates/flags aus. Diese werden dann anstatt der ./userfiles/images/flags eingebunden.
Gefällt mir nicht so 👎🏻


Möglichkeit 2
Man kopiert die function languagemenu() in der tplfuncs.php, erstellt eine Benutzerdefinierte function languagemenu_custom() und platziert diese oben in der template.htm
Zusätzlich habe ich noch eine Config-Option eingebaut, die dem User ermöglicht zu wählen zwischen Sprachkürzel oder Flaggen.

template.htm unter <!DOCTYPE html> einfügen

Code: Select all

<?php
/**
 * Returns a customized language menu (letters (2 characters eg. "EN") or flags)
 */
 // Config languagemenu (show letters or flags)
$cf['language']['flags']=""; // true = show flags

function languagemenu_custom()
{
    global $pth, $cf, $sl;

    $r = XH_secondLanguages();
    array_unshift($r, $cf['language']['default']);
    $i = array_search($sl, $r);
    unset($r[$i]);

    $langNames = explode(';', $cf['language']['2nd_lang_names']);
    foreach ($langNames as $value) {
        $langName[substr($value, 0, 2)] = substr($value, 3);
    }

    $t = '';
    foreach ($r as $lang) {
        $url = $pth['folder']['base']
            . ($lang == $cf['language']['default'] ? '' : $lang . '/');
        $img = $pth['folder']['templateflags'] . $lang . '.gif';
        if (!file_exists($img)) {
            $img = $pth['folder']['flags'] . $lang . '.gif';
        }

        $title = isset($langName[$lang])
            ? $langName[$lang]
            : $lang;
			
		if (isset($cf['language']['flags'])
		&& $cf['language']['flags'] == 'true'
		) {
			$el = file_exists($img)
			? '<img src="' . $img . '" alt="' . $title . '" title="'
				. $title . '" class="flag">'
			: $title;
		$t .= '<a href="' . $url . '">' . $el . '</a> ';
		} else {
		$t .= '<a href="' . $url . '" title="'. $title . '"><span>' . $lang . '</span></a> ';
		}
    }
    return $t;
}
?>
Der Aufruf des Sprachmenüs lautet dann

Code: Select all

<?php echo languagemenu_custom();?>
oder auch

Code: Select all

<?=languagemenu_custom()?>
Packt man das noch in ein <div> mit Klasse, kann alles noch schön gestylt werden :) .

Code: Select all

<div class="languagemenu"><?=languagemenu_custom()?></div>
Beispiel: stylesheet.css

Code: Select all

.languagemenu {
	line-height: normal;
	margin: 2rem 0.5rem 1rem;
	position: relative;
	text-align: center;
}
.languagemenu a {
	display: inline-block;
}
.languagemenu a:hover {
	color: inherit;
}
.languagemenu a span {
	color: #000;
    font-size: 1.5rem;
    line-height: normal;
    padding: 0 5px;
    text-transform: uppercase;
}
.languagemenu a img.flag {
	display: block;
	height: 24px;
	padding: 6px 4px;
	width: 32px;
}
Ich denke, das sollten wir in XH 1.7.5 einbauen. Ich finde es eine nützliche Erweiterung.
Also ich mache den Daumen schon mal hoch 👍🏻, wer noch?
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

Tata
Posts: 3366
Joined: Tue May 20, 2008 5:34 am
Location: Slovakia
Contact:

Re: Languagemenü - Flaggen oder Kürzel

Post by Tata » Sat Jul 24, 2021 7:52 am

👍🏻
In config könnte es durch radio Button besorgt werden: () Flag ()ISO Code.
Wird es in 1.7.5. integriert, dann könnte die languagemenu Funktion für Template bleiben weiter so benannt, nur überschrieben nach dem radioBtnauswahl.
CMSimple.sk
It's no shame to ask for an answer if all efforts failed.
But it's awful to ask without any effort to find the answer yourself.

frase
Posts: 4120
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Languagemenü - Flaggen oder Kürzel

Post by frase » Sat Jul 24, 2021 8:04 am

👍🏻

lck
Posts: 2366
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Languagemenü - Flaggen oder Kürzel

Post by lck » Sat Jul 24, 2021 3:37 pm

Tata wrote:
Sat Jul 24, 2021 7:52 am
👍🏻
In config könnte es durch radio Button besorgt werden: () Flag ()ISO Code.
Wird es in 1.7.5. integriert, dann könnte die languagemenu Funktion für Template bleiben weiter so benannt, nur überschrieben nach dem radioBtnauswahl.
Ich habe das nun noch etwas erweitert. In der Konfiguration von XH sind jetzt unter "Sprache" 3 Optionen per Auswahlliste verfügbar, flags, shortname und longname.

Angepasst wurden hierfür unter ./cmsimple/
config.php
metaconfig.php
tplfuncs.php

und unter ./cmsimple/languages
de.php
en.php
default.php

BTW, Frage an die Cracks. Müssen die Zweitsprachenfiles außer "de.php" überhaupt alle angepasst werden? Ist ja eh alles in Englisch, da reicht doch die default.php.

Wer's mal testen will, hier der Download. Beinhaltet ein komplettes XH.

Jetzt müsste man(n) halt einen Pull-Request machen können :?
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

frase
Posts: 4120
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Languagemenü - Flaggen oder Kürzel

Post by frase » Sat Jul 24, 2021 4:27 pm

lck wrote:
Sat Jul 24, 2021 3:37 pm
Beinhaltet ein komplettes XH.
Update-Prüfung für Fa fehlgeschlagen!
Für Pagemanager_XH ist die neue Version 3.6 verfügbar!

;) Das wollte ich nur mal am Rande erwähnen. Spielt keine Rolle!

Ansonsten finde ich den Vorschlag super!

Bleibt eine Frage:
flags, shortname, longname - scheint OK
Vielleicht noch zusätzlich:
flags+shortname, flags+longname
:?:
Oder braucht das niemand?

Tata
Posts: 3366
Joined: Tue May 20, 2008 5:34 am
Location: Slovakia
Contact:

Re: Languagemenü - Flaggen oder Kürzel

Post by Tata » Sat Jul 24, 2021 5:51 pm

frase wrote:
Sat Jul 24, 2021 4:27 pm
Bleibt eine Frage:
flags, shortname, longname - scheint OK
Vielleicht noch zusätzlich:
flags+shortname, flags+longname
:?:
Oder braucht das niemand?
Ich meine, daß die, die ein Computer einschalten können, genug inteligent sind, entw. einen Flag oder Sprachkürzel zu kennen :D.
CMSimple.sk
It's no shame to ask for an answer if all efforts failed.
But it's awful to ask without any effort to find the answer yourself.

lck
Posts: 2366
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Languagemenü - Flaggen oder Kürzel

Post by lck » Sat Jul 24, 2021 9:31 pm

Tata wrote:
Sat Jul 24, 2021 5:51 pm
Ich meine, daß die, die ein Computer einschalten können, genug inteligent sind, entw. einen Flag oder Sprachkürzel zu kennen .
Eigentlich schon, da die Flaggen und Sprachkürzel auch mit einen "title" versehen sind, der beim Drüberfahren sichtbar wird. Nur, auf mobilen Geräten ist das nicht zu sehen, funktioniert das nicht.
frase wrote:
Sat Jul 24, 2021 4:27 pm
Update-Prüfung für Fa fehlgeschlagen!
Für Pagemanager_XH ist die neue Version 3.6 verfügbar!
Das wollte ich nur mal am Rande erwähnen. Spielt keine Rolle!
Ja, nicht beachten. Das ist das jungfräuliche XH 1.7.4 ohne den Fix für den Updatecheck und ohne Plugin-Updates. Bei mir unter Xampp schlagen alle fehl, nur der für den hi_updatecheck nicht.
frase wrote:
Sat Jul 24, 2021 4:27 pm
Bleibt eine Frage:
flags, shortname, longname - scheint OK
Vielleicht noch zusätzlich:
flags+shortname, flags+longname

Oder braucht das niemand?
Kann man brauchen, danke für den kleinen Stups. Ich hatte das damals bereits per jQuery im Template JekyllAndHyde umgesetzt.

So ein Dropdown-Menü wäre auch nicht schlecht, gell ;) . Aber das stelle ich mal hintenan. Das kann der Designer auch selbst gestalten, wenn man's braucht.

Neuer Download, Version 2 mit 5fach-Option (zus. flagsandshortname und flagsandlongname).

Das CSS dafür ist nur Beispielhaft (am Ende der stylesheet.css eingefügt), damit es zum Template fhs-simple-2019 passt.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

cmb
Posts: 13760
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Languagemenü - Flaggen oder Kürzel

Post by cmb » Sat Jul 24, 2021 9:40 pm

Danke, Ludwig, sehr schön! Die Anzeige als Flagge war immer schon "falsch", also bin ich sehr dafür, das in CMSimple_XH zu integrieren. Einzig die Version (1.7.5) passt mir nicht. Die sollte schon längst freigegeben sein, und wenn wir mehr dazu packen, wird es eben noch länger dauern. In diesem Fall kein echtes Problem, aber ich möchte ungern Präzedenz für weitere Features schaffen.

Statt dessen hoffe ich noch dieses Jahr auf 1.8: PHP 8.1 Unterstützung (würde mich wundern, wenn da nicht ein bisschen nachgebessert werden müsste), Anheben der PHP-Mindestversion auf 5.5 (oder 5.6 oder 7.0), und ein paar kleinere, überschaubare Features und Verbesserungen.
lck wrote:
Sat Jul 24, 2021 3:37 pm
BTW, Frage an die Cracks. Müssen die Zweitsprachenfiles außer "de.php" überhaupt alle angepasst werden? Ist ja eh alles in Englisch, da reicht doch die default.php.
Ich denke, die Sprachnamen gehören in die config.php, eben weil sie für alle Sprachen gleich sind; ansonsten müssten Anpassungen in mehreren Sprachdateien vorgenommen werden.
lck wrote:
Sat Jul 24, 2021 3:37 pm
Wer's mal testen will, hier der Download. Beinhaltet ein komplettes XH.
Der Download funktioniert bei mir im Firefox einwandfrei, aber im Chrome passiert nichts (evtl. HTTPS/Zertifikatsproblem).
frase wrote:
Sat Jul 24, 2021 4:27 pm
Oder braucht das niemand?
Im Zweifel YAGNI. Nachbessern kann man bei Bedarf immer noch.
Christoph M. Becker – Plugins for CMSimple_XH

lck
Posts: 2366
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Languagemenü - Flaggen oder Kürzel

Post by lck » Sat Jul 24, 2021 10:00 pm

cmb wrote:
Sat Jul 24, 2021 9:40 pm
Ich denke, die Sprachnamen gehören in die config.php, eben weil sie für alle Sprachen gleich sind; ansonsten müssten Anpassungen in mehreren Sprachdateien vorgenommen werden.
Aha, siehste, das wusste ich nicht.
cmb wrote:
Sat Jul 24, 2021 9:40 pm
Der Download funktioniert bei mir im Firefox einwandfrei, aber im Chrome passiert nichts (evtl. HTTPS/Zertifikatsproblem).
Hm, ich arbeite mit Chrome-Klone SWare Iron, alles ok. Ist halt bplaced spezifisch :? . Aber egal, Hauptsache du kannt's herunterladen.
cmb wrote:
Sat Jul 24, 2021 9:40 pm
Im Zweifel YAGNI. Nachbessern kann man bei Bedarf immer noch.
Jetz habe ich das schon umgesetzt (siehe oben V2), schadet nicht. Finde das auch nützlich in einem Dropdown-/Select-Menü.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

lck
Posts: 2366
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Languagemenü - Flaggen oder Kürzel

Post by lck » Sat Jul 24, 2021 10:32 pm

cmb wrote:
Sat Jul 24, 2021 9:40 pm
Ich denke, die Sprachnamen gehören in die config.php, eben weil sie für alle Sprachen gleich sind; ansonsten müssten Anpassungen in mehreren Sprachdateien vorgenommen werden.
Da habe ich und du etwas falsch verstanden. Die Sprachnamen sind/waren ja bereits in der config.php.
Mir geht es um die Hilfetexte in den Sprachdateien. Müssen alle angepasst werden oder reichen de.php und default.php?
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

Post Reply