Seite 1 von 2

Sprachvariable mit Wert aus $config['default_lang'] bekommen

Verfasst: 31.10.2013 03:01
von LuLa
Mit

Code: Alles auswählen

$language = $user->lang['1_DAY'];
erhalte ich bei einem Benutzer, der als Sprache "English" eingestellt hat, die Zeichenkette '1 day'. Soweit klar.

Frage: wie bekomme ich, ohne die Sprache des Benutzers extra umzustellen, den Inhalt aus der deutschen common.php, nämlich '1 Tag'?'

Code: Alles auswählen

$config['default_lang']
wäre in diesem Fall 'de'. Hat jemand eine Idee?

Re: Sprachvariable mit Wert aus $config['default_lang'] beko

Verfasst: 31.10.2013 11:12
von Miriam
Was genau möchtest Du mit dem Auslesen dieser de-Variablen erreichen?

Re: Sprachvariable mit Wert aus $config['default_lang'] beko

Verfasst: 31.10.2013 12:08
von LuLa
Miriam hat geschrieben:Was genau möchtest Du mit dem Auslesen dieser de-Variablen erreichen?
Ich möchte einige Sachen in der Standardsprache des Boards ausgeben, egal welche Sprache der Benutzer für sich eingestellt hat.

Re: Sprachvariable mit Wert aus $config['default_lang'] beko

Verfasst: 31.10.2013 13:13
von Miriam
Du könntest es so machen:
  • baue eine Sprachdatei, die Du aus den Daten der nativen /de/common.php gewinnen kannst und die die Daten enthält, die Du in deutsch haben möchtest,
  • [benenne diese um] und packe sie in das Verzeichnis /language
  • pflege den Inhalt dieser neuen Datei in alle common.php der Sprachen ein, die diese Variablen benutzen sollen.
Beachte: KB:utf8bom
Leere ggf. den Cache im ACP.

Re: Sprachvariable mit Wert aus $config['default_lang'] beko

Verfasst: 31.10.2013 18:32
von LuLa
Miriam hat geschrieben:[*]pflege den Inhalt dieser neuen Datei in alle common.php der Sprachen ein, die diese Variablen benutzen sollen.
Danke für den Tipp, aber das möchte ich aus Redundanzgründen nicht so gerne tun. Gibt's da nicht eine elegantere Vorgehensweise?

Re: Sprachvariable mit Wert aus $config['default_lang'] beko

Verfasst: 31.10.2013 18:54
von BNa

Re: Sprachvariable mit Wert aus $config['default_lang'] beko

Verfasst: 31.10.2013 19:22
von LuLa
Danke!

Das ist mir aber etwas zu viel Gefummele. Ich werde es jetzt so machen:

In die neue Datei language/de/extra.php schreibe ich

Code: Alles auswählen

$lang = array_merge($lang, array(
	'1_DAY'			=> '1 Tag',
	'ETC'			=> 'Und so weiter...',
));
Später inkludiere ich diese Datei im Bedarfsfall mit

Code: Alles auswählen

include_once($phpbb_root_path . 'language/' . $config['default_lang'] . '/extra.' . $phpEx);

Re: Sprachvariable mit Wert aus $config['default_lang'] beko

Verfasst: 31.10.2013 19:42
von Miriam
aber das möchte ich aus Redundanzgründen nicht so gerne tun
Sehr guter Einwand.

Frage aus Interesse:
  • Welche genauen Redundanzen (und die aus diesen resultierenden Gründe der Ablehnung) wären das?

Re: Sprachvariable mit Wert aus $config['default_lang'] beko

Verfasst: 31.10.2013 19:55
von LuLa
Miriam hat geschrieben:Frage aus Interesse:
  • Welche genauen Redundanzen (und die aus diesen resultierenden Gründe der Ablehnung) wären das?
Ich müßte eine Sprachvariable für jede installierte Sprache anlegen, selbst wenn diese Sprache im Bedarfsfall nicht benutzt werden würde, da ja ausschließlich die Boardsprache benutzt werden soll. Die Redundanz wäre also n-1, wobei n für die Anzahl der installierten Sprachen steht.

Re: Sprachvariable mit Wert aus $config['default_lang'] beko

Verfasst: 31.10.2013 20:21
von Miriam
Dann hast Du die zugrunde liegende Idee und die von mir vorgestellte Umsetzung dieser nicht verstanden.
Es gibt genau eine zentrale Datei (in meinem Beispiel: /language/de_4_starters.php), die dann per include() in die jeweiligen Sprachen eingebunden wird.
Diese enthält die boardweit zu ersetzenden de-Sprachvariablen.

Aber Deine Lösung ist natürlich auch zielführend.