Ergebnis 1 bis 22 von 22

Thema: Automatische rtl-Detection funktioniert nicht

  1. #1
    Contao-Fan Avatar von ph!L
    Registriert seit
    04.11.2009.
    Ort
    Internet
    Beiträge
    402

    Standard Automatische rtl-Detection funktioniert nicht

    Hallo Gemeinde,

    gemäß dem Ticket https://github.com/contao/core/issues/7171 und der Release Note https://contao.org/de/changelog/versions/3.4.html sollte seit Contao 3.4 ein dir="rtl" an das Body angehangen werden, wenn es sich um eine RTL-Sprache handelt.

    Nun habe ich einen neuen Seitenbaum mit hebräischer Sprache gebaut, sehe aber kein dir-Attribut.

    Andere Einstellungsmöglichkeiten gibt es ja in Contao nicht. Ist das ein Bug?

    Was läuft da schief?!

    Besten Dank im Voraus,

    Philipp

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Die hebräische Sprache existiert im Core nicht, hast du da eigene Übersetzungen bereitgestellt? Wenn ja, dann fehlt dir noch
    PHP-Code:
    $GLOBALS['TL_LANG']['MSC']['textDirection'] = 'rtl'
    Die einzige Sprache im Core wo das gesetzt ist, ist Farsi.

    Falls du eine komplette Übersetzung für Hebräisch hast, könntest du die auf Transifex bereitstellen.

  3. #3
    Contao-Nutzer Avatar von mschindler
    Registriert seit
    25.08.2011.
    Ort
    Bad Feilnbach
    Beiträge
    191
    Partner-ID
    7698

    Standard

    Hallo zusammen,
    ich hänge mich an das Thema dran, da ich für ein Projekt auch einen Seitenbaum auf arabisch (ar) umsetze.
    Für den Seitenbaum habe ich in der dcaconfig eine IF-Abfrage rein gesetzt die mir das RTL in den TAG HTML auslöst.
    <html lang="ar" dir="rtl">

    Wie löst ihr das?

    Viele Grüße

    Markus
    Contao Partner aus Rosenheim und München
    codesache.de
    ---
    Mitglied der Contao Community Bayern
    Aktuelle Termine zur Contao Community Bayern: contao-bayern.de

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Siehe meinen Post vor deinem...

  5. #5
    Contao-Fan Avatar von ph!L
    Registriert seit
    04.11.2009.
    Ort
    Internet
    Beiträge
    402

    Standard

    Ich verstehe noch nicht ganz, was die Sprache des Cores damit zu tun hat, ob im Frontend das rtl gesetzt wird.
    Die rtl Schriften sind ja klar definiert, da könnte man doch im Core ne simple Abfrage machen?!

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Zitat Zitat von ph!L Beitrag anzeigen
    Die rtl Schriften sind ja klar definiert, da könnte man doch im Core ne simple Abfrage machen?!
    Genau diese Abfrage gibt es ja bereits . Siehe https://github.com/contao/core/blob/....php#L144-L148

    Wie gesagt wird diese Variable in den Core Sprachen momentan nur für Farsi gesetzt.

  7. #7
    Contao-Nutzer Avatar von mschindler
    Registriert seit
    25.08.2011.
    Ort
    Bad Feilnbach
    Beiträge
    191
    Partner-ID
    7698

    Standard

    Hier mal mein Ansatz, da ich leider keine Infos im www gfunden habe.

    In die dcaconfig.php folgendes.

    PHP-Code:
    // AR -----------------------------------------
    if ($GLOBALS['TL_LANGUAGE'] == 'ar') {
     
    $GLOBALS['TL_LANG']['MSC']['textDirection'] = 'rtl';  
    // end AR 
    Der Seitenbaum für arabisch hat als ISO Code ar bekommen.

    In der fe_page setze ich noch zusätzlich eine CSS Klasse wie folgt.

    <body id="top" class="language-<?= $this->language ?> ...

    Da das meine erste Seite ist die ich mit RTL umsetze, ist der Workflow noch nicht optimal.
    Ich hätte eigentlich vermutet, das man im Seitenbaum die Schreibrichtung einstellen kann.
    Contao Partner aus Rosenheim und München
    codesache.de
    ---
    Mitglied der Contao Community Bayern
    Aktuelle Termine zur Contao Community Bayern: contao-bayern.de

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Zitat Zitat von mschindler Beitrag anzeigen
    In die dcaconfig.php folgendes.

    PHP-Code:
    // AR -----------------------------------------
    if ($GLOBALS['TL_LANGUAGE'] == 'ar') {
     
    $GLOBALS['TL_LANG']['MSC']['textDirection'] = 'rtl';  
    // end AR 
    Das solltest du in die langconfig.php geben, nicht die dcaconfig.php. Macht zwar keinen großen Unterschied, aber so wäre es sauberer.


    Zitat Zitat von mschindler Beitrag anzeigen
    Ich hätte eigentlich vermutet, das man im Seitenbaum die Schreibrichtung einstellen kann.
    Wie schon erwähnt wird die Schreibrichtung über die Übersetzungen geregelt. Ist die Schreibrichtung in einer vorhandenen Übersetzung des Cores falsch drin, sollte das vielleicht auf GitHub gemeldet werden. (Übersetzungen werden zwar prinzipiell über Transifex verwaltet - aber ich denke man sollte sich hier nicht auf die Übersetzungsarbeit auf Transifex verlassen müssen.)

  9. #9
    Contao-Nutzer Avatar von mschindler
    Registriert seit
    25.08.2011.
    Ort
    Bad Feilnbach
    Beiträge
    191
    Partner-ID
    7698

    Standard

    Danke für den Tipp!
    In der langconfig.php hatte ich schon andere Übersetzungen eingetragen.

    In welcher Datei oder Konfiguration wird die Schreibrichtung definiert, oder was löst die aus?

    Aus meiner Sicht würde es eher Sinn machen, die Einstellung am Seitenbaum als Option anzuschalten, das macht die Liste der Konfiguration dann aber wieder länger.

    Für mich passt der Ansatz jetzt erst mal. Jetzt geht's ans CSS - Texte macht der Kunde ;-)
    Contao Partner aus Rosenheim und München
    codesache.de
    ---
    Mitglied der Contao Community Bayern
    Aktuelle Termine zur Contao Community Bayern: contao-bayern.de

  10. #10
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Zitat Zitat von mschindler Beitrag anzeigen
    In welcher Datei oder Konfiguration wird die Schreibrichtung definiert, oder was löst die aus?
    Die ist in den Übersetzungen definiert.


    Zitat Zitat von mschindler Beitrag anzeigen
    Aus meiner Sicht würde es eher Sinn machen, die Einstellung am Seitenbaum als Option anzuschalten, das macht die Liste der Konfiguration dann aber wieder länger.
    Naja, die Schreib/Leserichtung ist ja für jede Sprache fix, oder nicht?

  11. #11
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Zitat Zitat von mschindler Beitrag anzeigen
    In der fe_page setze ich noch zusätzlich eine CSS Klasse wie folgt.

    <body id="top" class="language-<?= $this->language ?> ...
    Das brauchst du eigentlich nicht, denn die Sprache hast du ja bereits im <html> Tag drin.

  12. #12
    Contao-Fan Avatar von ph!L
    Registriert seit
    04.11.2009.
    Ort
    Internet
    Beiträge
    402

    Standard

    Dadurch, dass für jede Sprache fest definiert ist, ob sie ltr oder rtl ist, dachte ich wäre das irgendwo in Contao schon hinterlegt.
    Nur weil mein Frontend in arabisch angeboten wird, muss das ja nicht im Backend der Fall sein. Ich würde es also von den Übersetzungen unabhängig machen.

    Aber die Lösung von mschindler scheint ja dann korrekt zu sein.

    Könntest Du dies gleich mal für alle rtl Sprachen definieren, so dass man sich das selbst ins betroffene Projekt reinkopieren kann?

    So wie ich das sehe betrifft das insgesamt folgende Sprachen (als ISO 639-1 Kürzel)

    ar (Arabic)
    dv (Dhivehi/Maldivian)
    he (Hebrew)
    ku (Kurdish)
    fa (Persian / Farsi)
    ur (Urdu)

    Zu meiner Überraschung kann chinesisch und japanisch auf ltr laufen, da sind die Sprachen wohl sehr flexibel.

    Quellen: https://www.andiamo.co.uk/resources/...left-languages, https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes, https://en.wikipedia.org/wiki/Right-to-left

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Zitat Zitat von ph!L Beitrag anzeigen
    Dadurch, dass für jede Sprache fest definiert ist, ob sie ltr oder rtl ist, dachte ich wäre das irgendwo in Contao schon hinterlegt.
    Ja, in den Übersetzungen.


    Zitat Zitat von ph!L Beitrag anzeigen
    Nur weil mein Frontend in arabisch angeboten wird, muss das ja nicht im Backend der Fall sein. Ich würde es also von den Übersetzungen unabhängig machen.
    Die Übersetzungen sind ja nicht nur für das Backend.


    Problem ist natürlich, dass nicht für alle RTL Sprachen auch tatsächlich Übersetzungen existieren. Wenn man also im Frontend eine Sprache benutzt, die eigentlich RTL braucht, wofür aber keine Übersetzung in Contao existiert, muss man diese Definition immer manuell einfügen.

  14. #14
    Contao-Fan Avatar von ph!L
    Registriert seit
    04.11.2009.
    Ort
    Internet
    Beiträge
    402

    Standard

    Ach so. Das heißt typische Phrasen wie "Weiterlesen" die im Frontend vorkommen sind auch Teil der Übersetzung? Dann ist es natürlich logischer.

    Und Hebräisch ist dann also tatsächlich noch nicht übersetzt worden? Dachte, das wäre häufiger anzutreffen als Urdu

  15. #15
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Den Übersetzungsstand siehst du auf https://www.transifex.com/contao/contao/

    Alle Sprachen, die zu einem gewissen Prozentsatz übersetzt wurden, werden in die Distribution übernommen.

  16. #16
    Contao-Fan Avatar von ph!L
    Registriert seit
    04.11.2009.
    Ort
    Internet
    Beiträge
    402

    Standard

    Wow, das sind ja echt massen an Strings.
    Danke für die Info!

  17. #17
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Zitat Zitat von ph!L Beitrag anzeigen
    Ach so. Das heißt typische Phrasen wie "Weiterlesen" die im Frontend vorkommen sind auch Teil der Übersetzung?
    Natürlich, das kommt ja nicht aus dem Nichts

  18. #18
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.742
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wie ist das eigentlich bei transifex, kann ich da über login mit beispielsweise meinem github.account an solchen Bereichen mitarbeiten oder benötige ich dafür ein eigenen kostenpflichtigen Account.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  19. #19
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Kostenpflichtigen Account brauchst du nicht. Du musst nur für das Projekt und die jeweilige Sprache freigeschalten werden.

  20. #20
    Contao-Nutzer Avatar von mschindler
    Registriert seit
    25.08.2011.
    Ort
    Bad Feilnbach
    Beiträge
    191
    Partner-ID
    7698

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Das brauchst du eigentlich nicht, denn die Sprache hast du ja bereits im <html> Tag drin.
    Ist mir bewusst, aber ich wollte es einheitlich im Body drinnen haben um / wenn / falls besser mit anderen css Klassen zu mixen.
    Contao Partner aus Rosenheim und München
    codesache.de
    ---
    Mitglied der Contao Community Bayern
    Aktuelle Termine zur Contao Community Bayern: contao-bayern.de

  21. #21
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.280

    Standard

    Servus beisammen,

    das Thema arabische Sprache ist jetzt auch bei mir aufgeschlagen

    Im fe_page steht:

    Code:
    <html lang="<?= $this->language ?>"<?php if ($this->isRTL): ?> dir="rtl"<?php endif; ?>>
    Wie trigger ich das denn? Finde keine Einstellung im Layout etc.

    VG

  22. #22
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Das wird über Übersetzungen geregelt. Siehe die restlichen Posts in diesem Thread.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •