Nicht, wenn du rein im Template bleiben willst. Für jeden Benutzer werden die sprachspezifischen Variablen zu Beginn eines phpBB-Scriptes geladen, entweder aus der Sprachangabe im Profil oder, wenn angegeben, aus der Angabe in der Variable
lang
. Wenn du zweisprachige Ausgaben haben willst, kannst du nicht einfach im template zwischen den Sprachen umschalten, sondern müsstest dann ein separates Script erstellen, dass den jeweils anderen Sprachsatz einliest. Dadurch wird aber der normale Sprachsatz überschrieben (jede Sprachvariable ist ja ein benannter Eintrag im Array
$lang
, also hier
$lang['TERMS_USE']
) - also musst du tricksen. Grob im Pseudocode (ungetestet, nur als Idee):
Code: Alles auswählen
// andere Sprache laden
$user->user_lang = "andere Sprache";
$user->add_lang('common');
// gewünschte Variable sichern
$temp_terms_use_andere_sprache = $user->lang['TERMS_USE'];
// ursprüngliche Sprache laden
$user->user_lang = "ursprüngliche Sprache";
$user->add_lang('common');
// Sprachvariable zum aktuellen Spracharray hinzufügen
$user->lang = array_merge($user->lang, array('TERMS_USE_OTHER_LANGUAGE' => $temp_terms_use_andere_sprache));
Alternativ (vielleicht auch die sauberste Variante) bastelst du dir eine Extension, die je ein Language-File
de/termuse
(mit dem türkischen Wort) und
tr/termuse
(mit dem deutschen Wort) als Variable
TERMS_USE_OTHER_LANGUAGE
enthält , lädst diese Extension z.B. im
core.user_setup_after - der Listener enthält dann nur das Laden der Sprachdatei (
add_lang('termuse')
).
Im Template sprichst dann in beiden Fällen die
TERMS_USE_OTHER_LANGUAGE
an:
Code: Alles auswählen
<a href="{{ U_TERMS_USE }}&lang={% if S_USER_LANG == 'tr' %}de{% else %}tr{% endif %}" title="{{ lang('TERMS_USE_OTHER_LANGUAGE') }}" role="menuitem">
<span>{{ lang('TERMS_USE_OTHER_LANGUAGE') }}</span>
</a>
Für deinen Anwendungsfall (weil du ja "nur" auf die Nutzungsbedingungen in der jeweils anderen Sprache verlinken willst) ist es sicher einfacher, das eine Wort in beiden Sprachen in das Template hineinzuschreiben