Logo Gaby Becker

Play Music - App - der Musicplayer für unterwegs
Locus Maps App - Offline Maps + Geocaching
WordPress App zum Blogartikel schreiben von unterwegs
IMDb Kino App für die Kinovorschau
Google Currents Feedreader für Android

Neuen Kommentar schreiben

Bild des Benutzers android_oma

Drupal 8 Mehrsprachig: den Sprachauswahl-Bug umschiffen

Sprachumschalter - Bug vorher Die Umstellung unserer Foto-Datenbank Deutschlands-Bahnhoefe.org auf Mehrsprachigkeit förderte einen putzigen Bug zu Tage. Grundsätzlich ist die Einrichtung der Mehrsprachigkeit in Drupal 8 kein Hexenwerk.

Auf Ostraining gibt es eine wirklich sehr hilfreiche Step - by - Step - Anleitung. Und dann bist Du fertig und schaust die Seite an und findest den im Screenshot angezeigten Fehler. English wird nicht, wie die anderen drei Sprachen mit nur zwei Buchstaben angezeigt, sondern im Volltext. Es ist mir nicht gelungen, den Bug über die vielfältigen Einstellungsmöglichkeiten zu fixen. Erst der Eingriff per Programmierung brachte Abhilfe. 

Auf Drupal StackExchange habe ich diese Anleitung gefunden.

/**
 * Implements hook_preprocess_block().
 */
function MYTHEME_preprocess_block(&$variables) {
     if ($variables['elements']['#id'] == 'taalkeuze') { //My sites default language is Dutch hence the id 'taalkeuze' in Dutch.
         $variables['content']['#links']['en']['title'] = 'EN';
     }
}
 

Nur konnte ich mit diesem 'taalkeuze' nix anfangen. Nach einigem zeitfressendem Suchen und Ausprobieren, bin ich dann auf die Lösung gekommen:

/**
 * Implements hook_preprocess_block().
 */
function MYTHEME_preprocess_block(&$variables) {
     if ($variables['elements']['#id'] == 'sprachumschalter') { 
         $variables['content']['#links']['en']['title'] = 'EN';
     }
}

Ich vermute, dass die #id im Englischen wieder anders heißt (Languageswitcher oder so). Den Code gebt Ihr in Eurem Theme-Ordner in das *.theme File ein, löscht den Cache und danach funktioniert es dann. Sprachumschalter-Bug nachherBei mir sah es jedenfalls danach so aus.

Bitte geben Sie Ihre E-Mail-Adresse ein. Sie wird nicht angezeigt.
@

Plain text

  • Keine HTML-Tags erlaubt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.
CAPTCHA
Dieses Captcha ist zur Identifikation, ob Du ein Mensch oder ein Spambot bist.
1 + 3 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.