76 Nachrichten unter 21 Themen von 33 Mitgliedern
[SilverStripe Roadmap][Changelog]

Sprachen switchen

Seite: 1 1050 mal gelesen
  • crashT
    Community Member
    19 Beiträge

    Sprachen switchen

    Hallo, ... ich bin in Bezug auf Silverstripe ziemlich frisch am Start und habe leichte Probleme durch diverse Sachen durchzusteigen.
    So z. B. auch bei der Einrichtung der Mehrsprachigkeit in SS. Ich habe dazu folgende Anweisung gefunden http://doc.silverstripe.com/doku.php?id=multilingualcontent, mein Problem ist, das ich schon bei Configuration aussteige.

    Wo soll denn z. B. dieser Code hin?

    class Page extends SiteTree {
    static $extensions = array(
    "Translatable"
    );
    }

    Und dann erst alles was danach kommt? Wo muss ich denn die Codezeilen unter Usage verwenden? Kann mir das bitte mal jemand ein wenig ausdeutschen? Vielen Dank!

    VG Marco

    alles ist gut, so lange es gut ist.

  • Chuckgyver
    Chuckgyver Community Member
    6 Beiträge

    Re: Sprachen switchen

    class Page extends SiteTree {
    static $extensions = array(
    "Translatable"
    );
    }

    gehört in mysite/page.php

    im config.php
    Object::add_extension('SiteTree', 'Translatable');
    und, wenn die standardsprache de_DE sein soll:
    Translatable::set_default_locale(<locale>);

    danach ein /dev/build/?flush=1

    dann sollte man im Admin, Seiten in mehreren Sprachen gestalten können.

    Zum umswitchen der Sprache auf einer Seite, z.b. im template ein Link zur homeseite zu den anderen Sprachen herstellen.
    Damit die Seite dann auch die dazugehörige Locale kennt, im page.php den Controller um

    public function init() {
    parent::init();
    if($this->dataRecord->hasExtension('Translatable')) {
    i18n::set_locale($this->dataRecord->Locale);}
    erweitern/abändern. (Für die richtige Sprache bei <% _t() %> in den templates)
  • crashT
    Community Member
    19 Beiträge

    Re: Sprachen switchen

    @Chuckgyver

    vielen Dank, ... werde ich gleich erst mal umsetzen - ist doch irgendwie gleich viel weniger kompliziert?! Super!

    Sooo, ...

    bei

    Translatable::set_default_locale(<locale>);

    bekomme ich einen Parse Error

    und bei den Links zu den anderen Sprachen häng ich noch ein wenig, ... wie muss das href denn da Beispielsweise aussehen?

    alles ist gut, so lange es gut ist.

  • Chuckgyver
    Chuckgyver Community Member
    6 Beiträge

    Re: Sprachen switchen

    grml .. copy&paste ....
    Statt locale, den langen Ländercode z.b. 'de_DE' , 'en_US' usw.

    Nachdem dann eine Seite in einer Anderen Seite angelegt wurde, sieht man dann unter Metadaten dann die url. Im Normalfall wird die URL in anderen Sprachen um -$Zahl erweitert. Also wenn die URL händisch nicht umbenannt wurde, dann müsst für die zweite Sprache die URL der homeseite ..../home-2 sein.

    im template dann, nen platz suchen und z.b. mit einem Bildchen verlinken <a href="/home-2"><img src="..../Britische Flagge.jpg" alt="British Flag" title="English"></a>

    oder mit
    <a href="$get_homepage_urlsegment_by_locale(de_DE)"> <img ... ></a>
  • crashT
    Community Member
    19 Beiträge

    Re: Sprachen switchen

    Vielen Dank, ich habs mir schon irgendwie gedacht, konnte es allerdings nicht kontrollieren, da ich den Hinweis von dir mit dem Link noch nicht hatte. Du hast mich ein ganzes Stück weiter gebracht, ... also noch mal DANKE!

    alles ist gut, so lange es gut ist.

Zur Zeit online: Zur Zeit ist leider niemand online.

Wir begrüßen unsere neuen Mitglieder: saerdna