Vorschaltseite für Sprachauswahl [HTML]

M

Grand Admiral Special
Mitglied seit
22.03.2005
Beiträge
11.095
Renomée
538
Standort
P3d VIP Lounge
Moin.

Ein Kunde hat mich kürzlich darum gebeten, deren Seite ins Englische zu übersetzen. Damit bin ich nun durch und ich habe nun vor, die deutsche und englische Version parallel auf dem Server zu platzieren. Beim Aufruf der Seite möchte ich eine Auswahlmöglichkeit unterbringen, die leicht verständlich sein sollte.

Ich hatte mir nun überlegt, dass ich eine Seite zum Vorschalten erstelle, auf welcher die Auswahl für die gewünschte Sprache getroffen wird. Damit ich nicht einen leeren Screen habe, sondern der Besucher auch auf der Vorschaltseite schon weiss, dass er auf der richtigen Seite gelandet ist, dachte ich mir, dass ich einen Screenshot der originalen Seite einfach als Hintergrund setze und darauf dann die Buttons für Deutsch und Englisch setze.

Nur damit ich mich in Fachkreisen mit der Lösung nicht komplett lächerlich mache, würd ich gern mal Rücksprache mit den Kollegen hier halten. Der Kunde peilt den Unterschied sowieso nicht. Ich möchte lediglich vermeiden, dass man sich durch eine zu simple Lösung am Ende lächerlich macht. Es soll dann schon professionell wirken, aber für mich auch umsetzbar sein.

Ein paar Anregungen wären toll 8)

Damit man sich das mal bildlich vorstellen kann

.
EDIT :
.

Vielleicht wär ein Pop-Up auf der ersten Seite einfach sinniger und würde entsprechend weniger Traffic / Ladezeit verursachen....in die Richtung dachte ich.
 
hmm, pop-ups sehen immer nach Werbung aus, d.h. ein nicht kleiner Teil der Benutzer klickt sie ohne Lesen reflexartig weg und ist zudem dann noch genervt. Und je nachdem wie du das realisierst, wird es evtl. sogar durch Werbeblocker geblockt. Besser wäre eine normale Vorschaltseite.

Jedenfalls sollte da schon evtl. das Design des Firmenauftritts (Farben, gewisse geometrische Formen, evtl. Produkte der Firma als stilisierte Hintergrundsilhouette, falls sinnvoll), auf jeden Fall aber Name und Logo enthalten sein, und dann zentral die Länderauswahl. Beispiel http://www.asrock.com/ Die Idee mit dem Screenshot ist Murks, das verwirrt, bringt nichts und wirkt doof, wenn das Seitendesign mal geändert wird.

Einfacher bzw. geschickter wäre natürlich, die Spracheinstellung des Besuchers auszulesen und danach die Seite einzustellen, mit relativ leicht zu findender Umschaltmöglichkeit am Rand (oben oder unten). Fallback, d.h. falls das Auslesen nicht erfolgreich ist, wäre dann entweder English oder eine Vorschaltseite.

So eine Vorschaltseite ist ja ein minimaler Ladeaufwand, und im Hintergrund kannst Du dabei schon mal Grafiken vorladen lassen.
 
Ok, vielen Dank für die Meinung OBrian.

Ich hatte mich zwischenzeitlich auch schon nach Javascripts umgesehen und etwas rumprobiert. Je nach Browser wird der Vorgang dann auch noch unterbrochen und gefragt, ob Skripte weiter ausgeführt werden sollen. Alles in der Tat etwas nervig.

Die Lösung mit der Seite von Asrock gefällt mir sehr gut. Ich werd dann mal was Grafisches für den Hintergrund basteln :)

BG M
 
Der Browser sendet doch in der Regel die Prioritäten des Benutzers im Request-Header.

Bei mir zum Beispiel:

Code:
Accept-Language    en-us,en;q=0.8,de-de;q=0.5,de;q=0.3

Da braucht man kein Javascript oder so - einfach in der jeweiligen serverseitigen Scriptsprache (php oder was auch immer) auswerten und die entsprechende Sprache anzeigen. Und wenn der Browser halt nichts schickt einen Default. Und auf der Seite dann einfache eine Flagge mit Link auf die andere Sprache.

Edit: Simples Beispiel für eine index.php mit Weiterleitung:

PHP:
<%php
  $lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
  
  if (substr($lang, 0, 2) == 'de')
  {
    header("Location: de/index.html");
  } else {
    header("Location: en/index.html");
  }
%>
 
Zuletzt bearbeitet:
Thx !

Das sieht verständlich aus. Wo genau soll nun die Zeile untergebracht werden?

Accept-Language en-us,en;q=0.8,de-de;q=0.5,de;q=0.3
 
Ich verstehe die Frage nicht. Das Beispiel nimmt einfach immer die ersten zwei Zeichen des Accept-Language-Strings welchen der Browser schickt. Das sollte man natürlich noch verfeinern ...
 
ja, da stehen die Codes, der da oben genannte Code hat aber mit Deinem Problem nichts zu tun. Aber was er meinte: diese Zeile muß nicht "untergebracht" werden, das sendet der Browser, und der genannte php-Schnipsel liest eben davon die ersten zwei Zeichen aus und lädt dementsprechend jeweils eine andere Seite. Man könnte auch die ersten 5 auslesen, wenn man auch das Land einstellen will, z.B. deutsch-schweizerische oder österreichische Kunden auf andere Seiten als bundesdeutsche.

Natürlich muß dabei auch davon ausgegangen werden, daß nicht nur de und en-Benutzer auf die Seite kommen, d.h. wenn Du de auf deutsch.html und en auf englisch.html umgeleitet hast, muß noch alles andere auf die Fallbackseite weiterladen, d.h. entweder englisch (wie es der Code oben macht) oder eine extra Sprachauswahlseite. Ich würde nur auf englisch weiterleiten, aber im ganzen Webauftritt immer eine Sprachauswahlbox in der Ecke mitziehen. Je nachdem wieviele Sprachen Du machen willst, ist ggf switch-case besser als verschachtelte ifs. Also

PHP:
<%php
  $lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
  
  switch (substr($lang, 0, 2)) {
  case ('de') :
    header("Location: de/index.html");
    break;
  case ('en') :
    header("Location: en/index.html");
    break;
  case ('fr') :
    header("Location: fr/index.html");
    break;
  case ('pl') :
    header("Location: pl/index.html");
    break;
  default :
    header("Location: en/index.html");
    break;
  }
 
%>
 
Jo, danke für die nochmalige Erklärung ;) Als ich die Länderübersicht gesehen hab, kam auch bei mir an, dass es sich dabei um das handelt, was jeweils der Browser als Identifikation rausschickt.

Momentan bin ich etwas in Zeitnot, weshalb ich es vorerst so gemacht habe, dass erstmal zwei Sprachversionen freischalte. Oben rechts habe ich dann kleine Auswahlbuttons mit Fähnchen untergebracht, womit man notfalls selbst switchen kann, falls man es wünscht. Es kann ja immer mal sein, dass man nicht über die Startseite dort landet, sondern einem Link folgt und deshalb eine Unterseite in der falschen Sprachversion vor sich hat.

Damit hätte ich schonmal das Soll erfüllt. Eine automatische Sprachzuweisung per Ländercode, wäre sozusagen das i-Pünktchen.

Nochmals vielen Dank Euch!
 
Also mit nur die ersten zwei Zeichen auswerten kommt man natürlich nicht weit, wenn man einen Benutzer vor sich hat, welcher mehrere Sprachen eingestellt hat, wovon die erste aber nicht auf der Webseite vorgesehen ist. Also Beispielsweise hat der Benutzer die Priorität "fr;de;en", die Seite sieht nur "fr" und fällt auf "en" zurück, obwohl der Benutzer lieber "de" (was die Seite auch bietet) als "en" hätte.
 
Zurück
Oben Unten