ALLES ÜBER go_language UND WIE ES AUF WEBSITES EINGESETZT WIRD

Untersuchte Extension

go_language

Allgemeines

Diese Erweiterung muss realurl, static_info_tables und t3skin installiert haben.

ACHTUNG:

realurl muss vor go_language innerhalb der Erweiterungsliste installiert werden ($TYPO3_CONF_VARS['EXT']['extList'] und $TYPO3_CONF_VARS['EXT']['extList_FE'])


Konfigurationsparameter

Diese Erweiterung sucht in der Datenbank nach Spracheinträgen in sys_languages kombiniert sie mit static_languages und sets:

  • die Sprache getVar (definiert im realurl config array ['pagePath']['languageGetVar'] oder default 'L')

  • und die folgenden Konfigurationsparameter:

    • config.linkVars = L({Liste der Zahlen aus aktivierten Sprachen z.B. 0|1|3|7}))

      • Hiermit wird definiert, welche Werte für die Sprache get var erlaubt sind.
    • config.sys_language_uid = die uid der gewählten sys_language

    • config.language = static_languages.lg_typo3 { ODER Kleinbuchstaben( static_languages.lg_iso_2 ) } }

      • Dies ist die TYPO3-interne Sprachzeichenfolge, die für LL-Dateien verwendet wird
    • config.htmlTag_langKey = Kleinbuchstaben( static_languages.lg_iso_2)

      • Der Sprachschlüssel, der in der HTML-Ausgabe verwendet wird (z.B. <html xml:lang="de" lang="de">)
    • config.locale_all = statische_Sprachen.lg_collate_locale

      • Dies ist die lokale Zeichenkette, die in php für Funktionen wie strtoupper() oder date() verwendet wird. Siehe Linux-Konsolenbefehl locale -a
    • config.sys_language_mode = $extensionConfig['sys_language_mode']]

    • config.sys_language_overlay = $extensionConfig['sys_language_overlay']]


Einstellungen

Die folgenden Einstellungen müssen vorgenommen werden, um den automatischen Satz der vorherigen Parameter zu verwenden:

typo3conf/realurl_conf.php:

Dies ist KEINE vollständige realurl-Konfiguration. Dies sind nur die Parameter, die von go_language benötigt werden

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array(
    _DEFAULT' => array(()
        pagePath' => array(()
            languageGetVar' => 'L',
        ),
        preVars' => Array ("preVars")
            0 => Array (
                GETvar' => 'L',
                userFunc' => 'tx_golanguage->getRealurlLanguagePrevar',
            ),
        ),
    ),
);

typo3conf/localconf_global.php:

$GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf'][$_EXTKEY] = array(

        // Der ISO-Code aus der Standardsprache (um die Informationen aus statischen_Info_Tabellen zu erhalten und sie in der config.language zu definieren)
    defaultLanguageIsoCode' => 'DE',

        // Der Titel für die Standardsprache.
    defaultLanguageTitle' => 'Deutsch',

        // Der Flagname, der für die Standardsprache angezeigt werden soll. Dies darf nur der Dateiname ohne Erweiterung sein. Es wird im Backend und Frontend angezeigt, übernommen aus sysext t3skin
    defaultLanguageFlag' => 'de',

        // Ist die Standardsprache im Menü deaktiviert?
    defaultLanguageDisabledInMenu' => 0,

        // Ist die Standardsprache als get var in realurl kodiert (Das Deaktivieren der Kodierung funktioniert nur mit einer benutzerdefinierten gehackten tx_realurl-Klasse, Patch wird an realurl-Entwickler übermittelt!)
    defaultLanguageRealurlEncode' => 1,

        // Umleiten auf die bevorzugte Browsersprache, wenn nichts eingestellt ist (funktioniert nur, wenn'defaultLanguageRealurlEncode' oder'defaultLanguageDisabledInMenu' eingestellt ist!)
    RedirectToPreferredBrowserLanguage' => 1,

        // Standard Umleitungssprache (UID), wenn keine Browsersprache gefunden wurde.
    RedirectDefaultUid' => 0,

        // config.sys_language_mode, siehe typo3-Dokumentation
    sys_language_mode' =>'content_fallback',

        // config.sys_language_mode, siehe typo3-Dokumentation
    sys_language_overlay' =>'hideNonTranslated',
);

EXT:go_language/ext_localconf.php:

$TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_fe.php']['checkAlternativeIdMethods-PostProc']['tx_golanguage'] =
    tx_golanguage->setPreferredBrowserLanguage';

$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tsparser.php']['preParseFunc']['getLanguageTSConfig'] =
    tx_golanguage->getLanguageTSConfig';

$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tstemplate.php']['includeStaticTypoScriptSourcesAtEnd']['getTSConfigLinkVars'] =
    tx_golanguage->getTSConfigLinkVars';

Frontend

Diese Erweiterung hat eine Frontend-Plugin-Klasse ('piMenu/class.tx_golanguage_piMenu.php'), die ein durch Typoscript definiertes Sprachmenü erstellt:

    // Kopieren der Plugin-Konfiguration in ein Typoscript-Objekt
lib.languageMenu < plugin.tx_golanguage_piMenu

    // Definieren Sie, ob die aktuelle Sprache im Menü angezeigt werden soll
lib.languageMenu.actualLanguage.show = 1

    // Definiere, ob die aktuelle Sprache im Menü verlinkt werden soll (funktioniert nur, wenn sie angezeigt wird)
lib.languageMenu.actualLanguage.link = 1

    // Definieren Sie eine CSS-Klasse für die Sprachlinks
lib.languageMenu.linkClass = Sprach-Link

    // Definieren Sie das Ziel für die Sprachlinks
lib.languageMenu.linkTarget = _self

    // Sollte jeder Sprachlink eine eigene css-ID haben? (id sieht aus wie `'language-['flag' |'text']-link-{ID}`)
lib.languageMenu.setLinkId = 1

    // Definiere einen Menüteiler. Der Wert wird getrimmt, es sei denn, er beginnt ein Ende mit einem Rohr |
lib.languageMenu.menuDivider = | | | | | | |

    // Die Sortierung des Menüs, die zulässigen Werte sind uid (Standard) und title
lib.languageMenu.sorting = Titel

    // die Sortierrichtung des Menüs, auf TRUE gesetzt, um die Sortierung umzukehren
lib.languageMenu.sortingDesc = 1

    // Stellen Sie dies so ein, dass der ISO-Code der Sprache anstelle des lokalen Namens verwendet wird
lib.languageMenu.useIsoAsTitle = 1

    // setze dies, um den Titel zu transformieren (zulässige Werte: Groß- und Kleinschreibung)
lib.languageMenu.transformTitle = Großschreibung

    // Stellen Sie dies so ein, dass Sie ein Flaggenmenü anstelle eines Textmenüs verwenden
lib.languageMenu.useFlags = 1

    // setze dies, um den Titel zu einem Flag-Menü hinzuzufügen (erfordert lib.languageMenu.useFlags = 1)
lib.languageMenu.useFlags.addTitle = 1

    // Setzt einen alternativen Pfad zu den Flags. Löst das Präfix "EXT:", sonst relativ zur PATH_site.
    // Die Flags müssen den gleichen Namen haben wie der Standard aus t3skin. Für jedes nicht gefundene Flag wird der Standard verwendet.
lib.languageMenu.alternateFlagPath = fileadmin/templates/images/images/

    // Definiere eine CSS-Klasse für die Sprachkennzeichen (wenn useFlags = 1)
lib.languageMenu.imageClass = Sprach-Flagge

    // Sollte jedes Sprachkennzeichen eine eigene css-ID haben? (id sieht aus wie `'language-flagg-image-{ID}`)
lib.languageMenu.setImageId = 1

    // stellt das Sprachmenü als Auswahlfeld mit On-Change-Funktion dar
    // Dies setzt automatisch lib.languageMenu.actualLanguage.show = 1, lib.languageMenu.useFlags = 0 und lib.languageMenu.menuDivider = EMPTY
lib.languageMenu.renderSelectBox = 1

    // macht das Plugin <div> auch wenn das Sprachmenü leer ist
lib.languageMenu.alwaysRenderPluginDiv = 1

realurl

ACHTUNG:

Ich musste einen echten Hack machen, um die Funktionalität zu haben, die ich für unsere Zwecke benötigte. Der folgende Patch muss installiert werden, wenn eine neue Version von realurl installiert wird:

realurl patch

diff --git a/typo3/ext/realurl/class.tx_realurl.php b/typo3/ext/realurl/class.tx_realurl.php
index faa5304..b58aeb2 100644
--- a/typo3/ext/realurl/class.tx_realurl.php
+++ b/typo3/ext/realurl/class.tx_realurl.php
@@ -684,8 +684,12 @@ Klasse tx_realurl {
                                );
                                $prevVal = $GETvarVal;
                                $GETvarVal = t3lib_div::callUserFunction($setup['userFunc'], $params, $this);
-                               $pathParts[] = rawurlencode($GETvarVal);
-                               $this->cHashParameter[$GETvar] = $prevVal;
+ [ × × × × × × × × × × × × × × × × × × × × ($GETvarVal ===== NULL) {
+ [ × × × × × × × × × × × × × × × × × × $this->rebuildCHash |= $parameterSet;

+ $pathParts[] = rawurlencode($GETvarVal);
+ $this->cHashParameter[$GETvar] = $prevVal;

                            elseif (is_array($setup['lookUpTable']]))) {
                                $prevVal = $GETvarVal;
                                $GETvarVal = $this->lookUpTranslation($setup['lookUpTable'], $GETvarVal);

Benötigen Sie schnelle Hilfe mit dieser Extension? Unser Team von erfahrenen TYPO3-Entwicklern löst Probleme unkompliziert und zum Stundensatz.

Verteilung:GO_LANGUAGE ist auf

0.02 % aller TYPO3 installiert.

  • 0.04 % aller TYPO3 8.7.x Installationen installiert
  • 0.03 % aller TYPO3 7.6.x Installationen installiert
  • 0.04 % aller TYPO3 6.2.x Installationen installiert

Aktualität:GO_LANGUAGE ist auf dem neusten Stand (v.unknown) bei

100 % aller TYPO3 Installationen

  • 0 % aller TYPO3 9.5.x Installationen
  • 0 % aller TYPO3 9.3.x Installationen
  • 0 % aller TYPO3 9.2.x Installationen
  • 0.04 % aller TYPO3 8.7.x Installationen
  • 0.03 % aller TYPO3 7.6.x Installationen
  • 0 % aller TYPO3 7.5.x Installationen
  • 0 % aller TYPO3 7.4.x Installationen
  • 0 % aller TYPO3 7.3.x Installationen
  • 0 % aller TYPO3 7.2.x Installationen
  • 0 % aller TYPO3 7.1.x Installationen
  • 0 % aller TYPO3 7.0.x Installationen
  • 0.04 % aller TYPO3 6.2.x Installationen
  • 0 % aller TYPO3 6.1.x Installationen
  • 0 % aller TYPO3 6.0.x Installationen
  • 0 % aller TYPO3 5.0.x Installationen
  • 0 % aller TYPO3 4.7.x Installationen
  • 0 % aller TYPO3 4.6.x Installationen
  • 0 % aller TYPO3 4.5.x Installationen
  • 0 % aller TYPO3 4.4.x Installationen
  • 0 % aller TYPO3 4.3.x Installationen
  • 0 % aller TYPO3 4.2.x Installationen
  • 0 % aller TYPO3 4.1.x Installationen
  • 0 % aller TYPO3 4.0.x Installationen
  • 0 % aller TYPO3 3.5.x Installationen

PHP Version:GO_LANGUAGE wird benutzt mit

  • 33.33 % PHP/5.6
  • 66.67 % PHP/5.5

responsive - image 4

Gosign-Responsive Index: TYPO3 Installationen nutzen GO_LANGUAGE zu

  • 86 % wenn der Gosign-Responsive-Index zwischen 80 % und 100 % ist
  • 14 % wenn der Gosign-Responsive-Index zwischen 60 % und 80 % ist
  • 0 % wenn der Gosign-Responsive-Index zwischen 40 % und 60 % ist
  • 0 % wenn der Gosign-Responsive-Index zwischen 20 % und 40 % ist
  • 0 % wenn der Gosign-Responsive-Index zwischen 0 % und 20 % ist

speed test - image 5

Pagespeed: TYPO3 Installationen nutzen GO_LANGUAGE zu

  • 0 % wenn der Pagespeed zwischen 80 % und 100 % ist
  • 14 % wenn der Pagespeed zwischen 60 % und 80 % ist
  • 0 % wenn der Pagespeed zwischen 40 % und 60 % ist
  • 43 % wenn der Pagespeed zwischen 20 % und 40 % ist
  • 86 % wenn der Pagespeed zwischen 0 % und 20 % ist

Ran an die Resultate – unser Newsletter für Sie!

Damit Sie gleich Wind davon bekommen, wenn wir in unserem Magazin zu neuen Erkenntnissen kommen.