Welcome, Guest. Please login or register.
Did you miss your activation email?
May 26, 2012, 04:42:24 AM

Login with username, password and session length
Search:     Advanced search
Wollen Sie dem WebsiteBaker Team beitreten?
Nähere Informationen finden Sie unter hier und auf unserer neuen Webseite.
155533 Posts in 21713 Topics by 7739 Members
Latest Member: audillino
* Home Help Search Login Register
Pages: [1]   Go Down
Print
Author Topic: Textbausteine als Variable für mehrere Sprachen anlegen  (Read 477 times)
Chaploo
Guest
« on: February 23, 2010, 09:07:26 PM »

Hallo zusammen,

ich hoffe, ich bin nicht nur zu blöd zum Suchen, aber ich hab bisher nix dazu gefunden:

Wie kann ich einen eigenen Textbaustein als Variable in die index.php meines templates einbauen, so dass auf den jeweiligen Seiten die richtige Übersetzung angezeigt wird?
Dazu muss ich vermutlich in den languagae-Dateien jeweils einen Eintrag vornehmen, aber wie muss der aussehen, und wie rufe ich den in der index.php auf?

Also zum Beispiel, ich möchte, dass auf der Startseite jeder Sprache Willkommen steht, z. B. so:

Code:
<div id="content"><h1>(Text:Willkommen)</h1><?php page_content(); ?></div>

Nun müsste statt (Text:Willkommen) sicherlich irgendwie die Variable aufgerufen werden, und in der de.php und en.php müsste es einen Eintrag dazu geben, oder?

Grüße
Jochen
Logged
doc
Guest
« Reply #1 on: February 23, 2010, 09:16:02 PM »

Hi,

sind es nur wenige sprachabhängige Ausgaben, kann man das über ein Array innerhalb der Template "index.php" lösen: Array anlegen und LANGUAGE Konstante (nachfolgender Code nicht getestet):

Code:
<?php
// Array anlegen
$myLang = array(
  
'DE' => array('TXT_WELCOME' => 'Willkommen'),
  
'EN' => array('TXT_WELCOME' => 'Welcome')
);

// gewählte Sprache ermitteln:
$tempLang = isset($myLang[LANGUAGE]) ? LANGUAGE 'EN';

// Ausgabe einer sprachabhängigen Nachricht
echo $myLang[$tempLang]['TXT_WELCOME'];
?>


Auch möglich, fürs Template eigene Sprachdateien mitzuliefern, ähnlich wie bei der Mehrsprachigkeit der Module, wie u.a. hier beschrieben. Die Sprachdatei dann über die "index.php" des Templates einbinden.

Alternativ Einträge in die WB Sprachdateien hinzufügen (/languages/XX.php ...). Ich würde die erste Variante wählen, da bei zweiter nach WB-Update die "manuellen" Anpassungen überschrieben werden.

Doc
« Last Edit: February 23, 2010, 09:24:31 PM by doc » Logged
Chaploo
Guest
« Reply #2 on: February 23, 2010, 09:40:29 PM »

Vielen Dank, das war der entscheidende Denkanstoß!

Ich habs jetzt mal mit der ganz vereinfachten Variante probiert und

<?php echo $TEXT['WELCOME']; ?>

in die index.php eingetragen und die Einträge

$TEXT['WELCOME'] = 'Willkommen'; in die de.php und
$TEXT['WELCOME'] = 'Welcome'; in die en.php von WB geschrieben, und es klappt wie gewünscht!

Voraussetzung natürlich, dass die jeweiligen Sprachseiten die richtige Sprache zugewiesen bekommen haben. Und natürlich mit dem Nachteil, dass bei einem Update die Sprachfiles manuell nachgetragen werden müssen, da hast du natürlich recht.

Danke nochmal & Grüße
Jochen
Logged
Pages: [1]   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!