Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Mehrsprachige Menüpunkte in Drupal 8

Eingetragen von DrupalFan (1646)
am 26.05.2016 - 12:13 Uhr in
  • Allgemeines zu Drupal

In Drupal 6 war es möglich, ein Menü zu erstellen, welches sowohl deutsche als auch Menüpunkte einer zweiten Sprache im gleichen Menü enthalten hat.

Auf einer zweisprachigen Seite musste man also nur ein Menü erstellen und dieses enthielt auch die Menüpunkte der zweiten Sprache. Angezeigt wurden jeweils nur die Menüpunkte der richtigen Sprache, je nachdem auf welcher Einzelseite in welcher Sprache man sich gerade befand.

Jetzt in Drupal 8 wurde zwar die Mehrsprachigkeit von Drupal super ausgebaut und alles ist in den Core gewandert und es soll auch viel einfacher sein, aber dieser Punkt scheint zu fehlen:

Ich nehme an, dass es keine Möglichkeit gibt, in einem Menü einzelne Menüpunkt einer anderen/zweiten Sprache zum Menü hinzuzufügen, um ein zweisprachiges Menü (Menüpunkte) zu haben, welches immer korrekt nur jene Menüpunkte anzeigt zu der aktuellen Sprache der Einzelseite.

Es gibt zwar folgende Möglichkeiten in Drupal 8:
- Blocklayout ... Block übersetzen ... anscheinend wird hier nur der Titel des Bocks übersetzt und dann der Blocktitel immer automatisch in der korrekten Sprache angezeigt. Aber das brauche ich nicht, wiel ich keine Blocktitel anzeige.

- Menüs ... Menü übersetzen .... auch ein Menü kann man übersetzen, aber anscheinend wie beim Block wird hier nur der Menütitel übersetzt, detto wie oben.

Man kann auch in den Bockeinstellungen festlegen, dass ein Block nur in einer bestimmten Sprache angezeigt werden kann uns so kann man für jede Sprache ein einges Menü für diese Sprache erstellen.

Das ist zwar eine Lösung, aber damit ein Nachteil im Vergleich zu Drupal 6. Es ist nicht so tragisch, aber bei einem Upgrade von Drupal 6 nach Drupal 8 bedeutet dies, dass man alle mehrsprachigen Menüs neu erstellen muss.

Stimmt das, oder gibt es noch irgend eine andere Lösung. Nach diesem Artikel hier von Gábor Hojtsy anscheinend nicht.
Danke.

‹ View erkennt pathauto Pfade nicht [gelöst] Search: Metatag mit noindex ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Deine alte Lösung beruhte auf

Eingetragen von wla (9461)
am 27.05.2016 - 12:17 Uhr

Deine alte Lösung beruhte auf der "content translation". Bei D 7 wurde die "Entity translation" bereits empfohlen und bei D 8 ist es heute die einzige Möglichkeit. In der alten Lösung hatte jeder Node eine andere NID ja nach Sprache und deshalb mußte man extra Menüs und auch extra Taxonomien je Sprache haben. Heute bleibt die Nod-ID und die Felder des Nodes werden übersetzt und also hat man auch das Menühandling dem angepaßt. Die Menüpunkte sollen in allen Sprachen vorhanden sein und die angezeigten Texte werden übersetzt. Daß also ein Menüpunkt nur in einer Sprache vorhanden ist, ist so nicht mehr vorgesehen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke und Detailfrage

Eingetragen von DrupalFan (1646)
am 27.05.2016 - 17:35 Uhr

Danke für die ausführliche Infos.

Zitat:

Die Menüpunkte sollen in allen Sprachen vorhanden sein und die angezeigten Texte werden übersetzt. Daß also ein Menüpunkt nur in einer Sprache vorhanden ist, ist so nicht mehr vorgesehen.

Hier ist nicht ganz klar, was das genau in der Praxis bedeutet:
Lege ein Menü "menu1" an.
Füge 10 Menüpunkte hinzu in Deutsch.

Jetzt wie geht es weiter, wenn ich diese 10 Menüpunkt auch in "Sprache 2" benötige?

1) Kann man zum menu1 weitere 10 Menüpunkte in "Sprache 2" hinzufügen, so dass man am Ende nur ein Menü hat, welches für beide Sprachen korrekt die Menüpunkt anzeigt? Hier habe ich keine Möglichkeit gefunden, Menüpunkt einer Sprache zuzuordnen in Drupal 8.

2) Oder muss man zusätzlich ein Menü menu2 erstellen, wo man die weiteren 10 Menüpunkte in "Sprache 2" anlegt. Man hat also am Ende zwei Menüs, welche über die Blocksteuerung dann eben jeder nur in der korrekten Sprache angezeigt wird. Diese Einstellungsmöglichkeit gibt es in Drupal 8. Dies bedeutet allerdings, dass man bei einem Upgrade von Drupal 6 nach Drupal 8 das bisherige eine Menü mit 20 Menüpunkten in 2 Sprachen in zwei Menüs mit je 10 Menüpunkten abändern muss.

Was trifft zu, 1 oder 2?
Danke.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es trifft die Nummer 1 zu.

Eingetragen von wla (9461)
am 28.05.2016 - 14:19 Uhr

Es trifft die Nummer 1 zu. Ich habe es eben mal ausprobiert, da ich in Drupal 8 auch noch nicht sehr bewandert bin. Du definierst weitere Sprachen und sagst anschließend, was in weitere Sprachen zu übersetzen ist. Für das Menü ist das Custom Menü Links. Dann findest Du bei den Menüpunkten für selbst angelegte Einträge einen übersetzen Tab, über den Du die Übersetzungen eingeben kannst. Menüpunkte, die aus dem System oder von Views kommen, muß Du dort auf die Übersetzung kommen. Wie genau habe ich jetzt noch nicht auf die Schnelle gefunden.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Verwirrung ist perfekt - wie vorgehen?

Eingetragen von DrupalFan (1646)
am 28.05.2016 - 19:10 Uhr

Okay, neu ist jetzt sozusagen, dass man unter
/admin/config/regional/content-language
einstellen kann, was übersetzt werden können soll.

Aktiviert man Custom menu link, wie von Dir vorgeschlagen, kann man plötzlich beides:
- einem Menü einen Menüpunkt in der zweiten Sprache hinzufügen
- einen bestehenden Menüpunkt übersetzen
(beides hat unterschiedliche Auswirkungen).

Welches der beiden Methoden verwendet man denn nun jetzt, wobei die erste vorerst mal nicht funktioniert hat.

Man kann also Menüpunkte übersetzen und Menüpunkte einer Sprache zuordnen. Was wendet man jetzt an, wenn man einfach nichts anderes will, als eine Drupal 8 Site mit Seiten (page) inklusive Menüpunkten in Deutsch und der 2. Sprache zu erstellen.

Und sobald das klappt, stellt sich die Frage, wie denn nun die Vorgangsweise ist, wenn man nicht von einer neuen Drupal 8 - Installation ausgeht, sondern von einem Upgrade von Drupal 6 nach D8. In dem Fall werden die Inhalte nämlich nach dem Migrate/Upgrade andere in Drupal 8 angelegt, als sie benötigt werden: Für jede zweisprachige Seite wird ein Node in Deutsch und ein Node in der 2. Sprache angelegt (mit eigener NID), weil dies in Drupal 6 damals so war.

Wie macht man aus dem riesigen Durcheinander nun eine funktionierende zweisprachige Seite?
(Eigentlich sollte das der Upgrade-Prozess alles automatisch machen, aber ich weiß, das ist noch jung und es wird noch nicht alles unterstütz, vielleicht funktioniert das in einem Jahr perfekt, derzeit nicht).

  • Anmelden oder Registrieren um Kommentare zu schreiben

In Drupal 6 wurden die Nodes,

Eingetragen von wla (9461)
am 28.05.2016 - 19:30 Uhr

In Drupal 6 wurden die Nodes, die Übersetzungen von einander waren, über das Feld tid (Translation-ID) in der Node-Tabelle gekoppelt. Darauf basierend ließe sich mit eigener Programmierung die Inhalte beider Nodes in Drupal 8 in einem zusammenführen. Ob Migration das je perfekt können wird, wage ich aber nicht vorherzusagen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Weder 1 noch 2

Eingetragen von wbue (234)
am 30.05.2016 - 13:17 Uhr

Du legst ein Menü an. Das definiert die Struktur und welcher Content (nid) hinter dem Menüpunkt steckt. Das ist in jeder Sprache immer der selbe (nicht der gleiche!) Content. Verwirrt?

In Drupal 8 werden keine Inhalte mehr übersetzt (also neue Entities erzeugt) sondern Felder. Das gilt für Menüs ebenso wie für Taxonomie und Entities (also auch Content). Willst du also Menüs übersetzen, musst du die Felder in dem Menü übersetzen. Da bleibt also nur der Linktext der angezeigt wird. Du musst aber immer erst die Felder, die übersetzt werden sollen, für die Übersetzung freischalten. Die Übersetzungen der Felder werden dann in der entsprechenden Sprache angezeigt (und was nicht übersetzt ist, wird in der Ausgangssprache angezeigt).

Es bleibt dir aber unbenommen, ein englisches Menü, ein deutsches Menü oder ein französisches Menü mit unterschiedlichen Strukturen zu erfassen und ebenso Beiträge in Englisch, in Deutsch oder in Französisch zu erstellen. Nur haben diese Beiträge keinen Bezug untereinander (wie in D7).

Warum muss man Felder für die Übersetzung freischalten? Stell dir vor, du hast einen Beitragstyp mit Bildern, z.B. der Abbildung eines Buches. Der Beitrag soll dieses Buch beschreiben. Möchtest du in der deutschen Übersetzung die Abbildung des englischen Buches zeigen? Wohl kaum, also ist in diesem Beitragstyp das Bild "übersetzbar". Hast du aber einen Beitragstyp mit Bild, der z.B. Naturaufnahmen zeigt und beschreibt, ist eine "Übersetzung" des Bildes wenig sinnvoll.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Übersetzung fehlt, aber Menüpunkt in anderer Sprache erscheint

Eingetragen von layer (9)
am 02.09.2017 - 22:46 Uhr

Ich mache gerade die Erfahrung, dass es mit der Übersetzung der Menü-Punkte in Drupal 8 nicht gerade einfach ist, oder ich mache etwas falsch...

So wie es bei mir aussieht, reicht es nicht, bei der Übersetzung eines Inhaltes (zumindest bei der "Einfachen Seite") einen Menüpunkt in der jeweiligen Sprache zu erstellen.
Man muß danach noch unter "admin/structure/menu/manage/main" auf das "Bearbeiten" dieses Menüpunktes gehen und dort in allen Sprachen unter "Übersetzung" das Kästchen bei "Diese Übersetzung ist veröffentlicht" aktivieren. Und das auch in der Standardsprache, in der der Inhalt zuerst erstellt wurde. Obwohl der entsprechende Menüpunkt bereits zu sehen ist.

Was ich bis jetzt noch nicht geschafft habe, das ist die Menüpunkte bei fehlenden Übersetzungen zu verstecken. Ich arbeite mit drei Sprachen. Deutsch ist Standard. Für einen in Deutsch erstellten Inhalt habe ich die Übersetzung nur in einer Sprache gemacht und in dieser Sprache sowie in Deutsch wird der Menüpunkt korrekt angezeigt. Wenn ich aber die Webseite auf die dritte Sprache umschalte, für die noch keine Übersetzung vorhanden ist, verschwindet der entsprechende Menüpunkt nicht, sondern wird in Deutsch angezeigt. Wenn ich dann auf diesen deutschen Menüpunkt klicke, erscheint der entsprechende Inhalt in Deutsch, dabei bleibt aber diese dritte Sprache auf der Webseite aktiv (Name der Website bleibt in der dritten Sprache und in dem URL-Feld bleibt der Sprachkürzel zu sehen).

Soll das so sein? Bei Drupal 6 verschwinden die Menüpunkte, wenn die Übersetzung nicht vorhanden ist.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Drupal 8 und Mehrsprachikeit

Eingetragen von caw (2762)
am 03.09.2017 - 05:41 Uhr

Drupal 8 und Mehrsprachikeit ist auch ziemlich bescheiden...
Beim alten Prinzip hast du keine Zusammenhänge mehr zwischen der deutschen und der englischen Übersetzung (also wenn du beispielsweise das Sprachfähnchen bei Impressumm auf Englisch umstellst ist dort nicht das englische zu sehen)
Beim neuen Prinzip legt Drupal 8 komischerweise aber auch eine zweite Seite an, aber mit der selben ID! Solltest du da z.B. eine englische Übersetzung löschen ist auf die deutsche Seite weg!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Tag 7 Stunden
  • Hey danke
    vor 2 Tagen 2 Stunden
  • Update: jetzt gibt's ein
    vor 2 Tagen 20 Stunden
  • Hallo, im Prinzip habe ich
    vor 1 Woche 5 Stunden
  • Da scheint die Terminologie
    vor 1 Woche 9 Stunden
  • Kannst doch auch alles direkt
    vor 1 Woche 4 Tagen
  • In der entsprechenden View
    vor 1 Woche 4 Tagen
  • Dazu müsstest Du vermutlich
    vor 1 Woche 4 Tagen
  • gelöst
    vor 4 Wochen 1 Tag
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 17 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association