Website zweisprachig aufsetzen

Veröffentlicht in Processwire | 29.11.2021

Folgende Core-Module installieren:

  • Language Support
  • LanguageSupportFields
  • LanguageSupportPageNames
  • LanguageTabs
  • FieldtypePageTitleLanguage
  • FieldtypeTextareaLanguage
  • FieldtypeTextLanguage

Module - Konfigurieren:

ProcessLanguage?

Zweisprachigkeit answitchen und im Frontend ausgeben:

                <nav id="languages" class="uk-margin-right">
                    <ul id="lang-switcher">
                        <?php
                        // remember what language is set to
                        $savedLanguage = $user->language;

                        foreach($languages as $language) {

                          // if user is already viewing the page in this language, skip it
                          // if($language->id == $savedLanguage->id) continue;

                          // if this page isn't viewable (active) for the language, skip it
                          // if(!$page->viewable($language)) continue;

                          // set the user's language, so that the $page->url and any other
                          // fields we access from it will be reflective of the $language
                          $user->language = $language;

                          // output a link to this page in the other language
                          if($language->name == 'englisch'){
                            echo "<li class='uk-inline-block uk-margin-small-left'><a href='$page->url'><img src='".$config->urls->templates."img/en.png' alt='".$language->title."' /></a></li>";
                          }else{
                            echo "<li class='uk-inline-block uk-margin-small-left'><a href='$page->url'><img src='".$config->urls->templates."img/de.png' alt='".$language->title."' /></a></li>";
                          }
                        }
                        // restore the original language setting
                        $user->language = $savedLanguage;
                        ?>
                    </ul>
                </nav>

Damit der lang-switcher funktioniert:

Backend - Startseite - Einstellungen - Name:

"" für deutsch (also leer)

"en" für englisch usw.