2 Variablen zusammensetzen

exitboy

Erfahrenes Mitglied
Hallo,

ich habe mir eine Funktion geschrieben die Sprachvariablen nutzen soll.
Dazu steht in einer include datei:

z.B.
Code:
$de_weiter="continue";
$de_reset="zuruecksetzen";

zudem sind auch Sprachen wie en, tr, fr hinzukommen die dann wie folgt aussehen werden:

Code:
$fr_spielen="joue"; 
...

jetzt dachte ich mir, dann uebergibst du der Funktion einfach das Laenderkuerzel:

Code:
funktion aufrufen("de")
und kannst dann in der Funktion:

irgendwie das "de" als Teil einer Variable nutzen.
Hab mir das so vorgestellt:

Code:
$de + "weiter" = $deweiter;

wenn ich das mich echo zusammenfuege kommt nur der Text der Variable also $deweiter zum anzeigen, nicht aber der Inhalt.

Wie bekomme ich das denn hin das er mir den Variableninhalt darstellt?
Hoffe ich hab es verstaendlich rueber gebracht
 
Statt das ganze in Variablen zu speichern würde ich dir folgende Methode vorschlagen:
PHP:
$lang = array();
$lang['de']['weiter'] = 'weiter';
$lang['de']['reset'] = 'zuruecksetzen';

$lang['en']['weiter'] = 'continue';
$lang['en']['reset'] = 'reset';

$langvar = 'de'; // Aus einer session oder so
echo $lang[$langvar]['weiter'];
Möglich wäre auch für jede Sprache eine Datei anzulegen. Und diese dann über
PHP:
include( './lang/'. $langvar. '.php' );
aufrufen.
 
, danke. Auf diese Idee bin ich jetzt garnicht gekommen.
Werde ich auch so umsetzen. Dennoch interessiert mich weiterhin ob ich auch einzelne Variablen wie oben beschrieben zusammenfuegen kann um dann die zusammengefuegte und vorher definierte Variable zu nutzen.
 
Zum Beispiel so:
PHP:
$de_weiter="continue";
$de_reset="zuruecksetzen";

$lang = 'de';
$var = $lang.'_reset';

echo $$var;
 
Als Multilingualfunktion möchte ich auch nochmal gettext in den Raum werfen.

Zusammen mit den Localen hat man es so relativ einfach texte zu übersetzen oder bei größeren Websites übersetzen zu lassen.

http://de3.php.net/_
 
ein Problem hat sicher gerade eben noch ergeben:

in eine Datei function.inc.php stehen meien Funktionen. Direkt zu beginn lade ich per require die language.inc.php mit den Ubersetzungen ein, in der ich der/die/das array definiere und belege.
In der function werden dann die Variablen benoetigt, diese sind natuerlich nicht verfuegbar. Vermute es liegt an der Variablengueltigkeit. Soll ich jetzt in den Funktionen die languages jedes mal per include/require einladen oder lieber das array global machen/ oder vielleicht ist ja was anderes noch sinnvoller?
 
ich würde dir raten, sie jedes mal zu requiren/includen, denn wenn du sie global machst, meine ich(bin mir aber nicht sicher) wird das Skript unsicherer
 
Sinnvoller fände ich es aus den Funktionen eine kleine Helferklasse zu machen und die Variablen dort einmalig innerhalb der Klasse verfügbar zu machen.
 
Zurück