137 Nachrichten unter 42 Themen von 49 Mitgliedern
[SilverStripe Roadmap][Changelog]

Security/login LoginPage immer auf deutsch

Seite: 1 , 2 1672 mal gelesen
  • Lukin
    Lukin Community Member
    60 Beiträge

    Security/login LoginPage immer auf deutsch

    HI,

    ich habe meine Seite mal auf Mehrsprachigkeit umgerüstet.

    Frunktioniert soweit Prima.

    Einziges Problem bisher ist, dass der LogIn Screen(www.dieseite.de/Security/login?locale=en_GB)
    immer auf deutsch kommt. Die Menüs ändern sich, aber im content-Bereich, sprich dem Formular ist alles auf deusch.

    Interessant wäre auch zu wissen, wo und wie diese Seite generiert wird. Sie hat ja keine template-datei soweit ich das sehe.
    edit: Sie hat eine Template-Datei-> sapphire/templates/Includes/Form.ss hilft mir aber auch nicht weiter



    Version: SS 2.4.1

    Gruß und Dank

    Lukin
  • Izeroy
    Community Member
    211 Beiträge

    Re: Security/login LoginPage immer auf deutsch

    Hallo Lukin,
    ausserdem wird das Formular in der Datei /sapphire/security/MemberLoginForm.php generiert. Vielleicht hilft dir das weiter, hab dies bisher nicht benötigt werde, aber gleich mal schauen ob ich die Seite auf einer Testoberfläche in andere Sprachen kriege.


    Greetz
    Ben

    Weitere Fragen?! Meld dich einfach! MSN: benjamin.buessenschuett@hotmail.de ICQ: 354 848 193 Webseite: www.silverstripe-hilfe.de

  • Lukin
    Lukin Community Member
    60 Beiträge

    Re: Security/login LoginPage immer auf deutsch

    Hi Izeroy,

    jau, soweit bin ich jetz auch.

    Ich hab die Klasse sogar erweitert, damit man nach dem Login als FrontEnd-User direkt weitergeleitet wird.
    Stand nur etwas auf dem Schlauch.

    Vielleicht liegt da schon der Hund begraben,.. dass durch die Vererbung die Sprache wieder auf default springt,...

    Wäre mal interessant ob es mit der MemberLoginForm-Klasse funktioniert.

    Danke schon mal für's checken


    edit: Ich hab grad nochmal auf MeberLoginForm umgestellt,... leider keine Besserung
  • Lukin
    Lukin Community Member
    60 Beiträge

    Re: Security/login LoginPage immer auf deutsch

    Es hat was mit der i18n::set_locale('en_GB'); zu tun.

    So bringt er mir die englische Version,

    wenn ich deutsch als default nehme die deutsche....
  • Izeroy
    Community Member
    211 Beiträge

    Re: Security/login LoginPage immer auf deutsch

    Hallo Lukin,
    genau, dass hab ich auch gerade herausgefunden. Schnelle und einfache Lösung.
    dies muss dann in die _config.php:

    if(isset($_GET['locale'])) $locale = $_GET['locale'];
    else $locale = 'de_DE';
    i18n::set_locale($locale);


    Dort würde ich aber noch eine Prüfung machen ob die "Locale" auch verwendet werden darf.

    Beispiel:


    $localeArray = array('de_DE', 'en_GB', 'fr_FR'):
    if(isset($_GET['locale']) && in_array($_GET['locale'], $localeArray)) $locale = $_GET['locale'];
    else $locale = 'de_DE';
    i18n::set_locale($locale);


    Greetz
    Ben

    Weitere Fragen?! Meld dich einfach! MSN: benjamin.buessenschuett@hotmail.de ICQ: 354 848 193 Webseite: www.silverstripe-hilfe.de

  • Lukin
    Lukin Community Member
    60 Beiträge

    Re: Security/login LoginPage immer auf deutsch

    muchas gracias,

    das tut's ;)
  • Lukin
    Lukin Community Member
    60 Beiträge

    Re: Security/login LoginPage immer auf deutsch

    wenn ich den Standardadmin auf deutsch umstelle, sehe ich keine benutzer mehr unter security.

    Wenn ich einen neuen anlege das Selbe....

    an advice??

    danke schonmal
  • Lukin
    Lukin Community Member
    60 Beiträge

    Re: Security/login LoginPage immer auf deutsch

    Hab's..


    inder sapphire\security\Group.php scheint einer bischen geschludert zu haben.

    original Zeile 57:


    new TabSet("Root",
                new Tab(_t('SecurityAdmin.MEMBERS', 'Members'),
                   new TextField("Title", $this->fieldLabel('Title')),
                   $memberList = new MemberTableField(
                      $this,
                       'Members',
                      $this,
                      null,
                      false
                   )
                ),



    muss heißen:


    new TabSet("Root",
                new Tab(_t('SecurityAdmin.MEMBERS', 'Members'),
                   new TextField("Title", $this->fieldLabel('Title')),
                   $memberList = new MemberTableField(
                      $this,
                      _t('SecurityAdmin.MEMBERS', 'Members'),
                      $this,
                      null,
                      false
                   )
                ),

Zur Zeit online: Zur Zeit ist leider niemand online.

Wir begrüßen unsere neuen Mitglieder: saerdna