Linuchs: Mehrsprachige website, aber wie?

Beitrag lesen

Moin,

Ich möchte für ein zweisprachiges Orchester einen Internetseite gestalten. Diese soll es in zwei Varianten geben: deutsch, ungarisch. Wie macht man das am effizientesten?

Eine Seite? Und dafür (wie diskutiert) ein CMS mit Einarbeitungs- und Folgeproblemen ?

Ich habe eine ganz einfache PHP-Lösung. Ich nehme eine ganz normale HTML-Seite in einer PHP Datei und schreibe die Sprachen nacheinander in dieser Form:

<p>###deutsche Sprache###english language###Nederlandse taal###</p>

Lediglich die Bereiche mit den Sprachen werden jeweils in ein php-Kommando eingebettet:

<? zeig_lg( "<p>###deutsche Sprache###english language###Nederlandse taal###</p>" ); ?>

Daraus wird ein Array, auf Platz 0 ist immer deutsch, Platz 1 english usw:

function zeig_lg( $zeile )
{
  global $lg_ndx;
  // 2011-02-17 PRO ZEILE EINMAL: SPRACHEN-AUSWAHL
  if ( strpos( 'x'.$zeile, '###' ))
  {
    $arr_lg = explode( '###', $zeile );
    $zeile  = $arr_lg[0].$arr_lg[$lg_ndx].$arr_lg[count($arr_lg)-1];
  }
  echo $zeile;
}

Bleibt nur noch, die Sprache festzulegen. Vorrang hat der Parameter lg beim Aufruf des PHP Programms, sonst wird die Browser-Sprache genommen:

$bia_lg      =( $_REQUEST['lg'] ) ? $_REQUEST['lg'] : strtolower( $_SERVER['HTTP_ACCEPT_LANGUAGE'] );
$arr_bia_lg  = explode( ',', $bia_lg ); // ru,en;q=0.9,es;q=0.8,de;q=0.7
if ( $arr_bia_lg[0] ) $bia_lg = $arr_bia_lg[0];

// Sprach-Index bestimmen
     if ( $bia_lg == 'de' )            { $lg_ndx = 1; }
else if ( $bia_lg == 'en' )            { $lg_ndx = 2; }
else if ( $bia_lg == 'nl' )            { $lg_ndx = 3; }
// meine Seiten laufen unter drei Domains: example.de, example.eu und example.com
// falls sowas reinkommt wie jp nimm de für example.de, sonst en
else if ( strpos( $bia_domain, '.de' )){ $lg_ndx = 1; }
else                                   { $lg_ndx = 2; }

Und schon fertig. Hier zu sehen: http://remso.eu/_text/news.php?lg=nl

Linuchs