Seite 1 von 7

wie definiere in Textblöcke in verschiedenen Sprachen?

Verfasst: 04.07.2004 18:45
von Kiss News
Hallo!
ich hätte folgende Frage: wie definiere ich einen Textblock, der dann je nach Boardsprache in der jeweiligen Sprache erscheint? Was muss ich da genau machen?

Beispiel: Ich möchte im overall_header "WILLKOMMEN AUF UNSEREM BOARD" stehen haben, wenn die Boardsprache auf deutsch gestellt ist.
Wenn die Boardsprache auf englisch gestellt ist, soll da stehen "WELCOME ON OUR BOARD". Ich denke, ich muss diesen Textbloch in so einer Klammer definieren, etwa {Begruessung}, diesen irgendwo (wohl in der dazugehörigen PHP Datei page_header.php?) definieren, und die Übersetzung davon in die lang_main schreiben. Ist das so ungefähr richtig? Aber wie geht das genau (in der Dokumentation habe ich das leider nicht gefunden)? Könnte mir das bitte jemand anhand dieses Beispiels erklären? Danke!

Verfasst: 04.07.2004 19:59
von Markus67
Hi ...

So wie du es beschrieben hast funktioniert es auch :-)

overall_header.tpl

Code: Alles auswählen

{Willkommensnachricht}
page_header.php

suche:

Code: Alles auswählen

	'PRIVMSG_IMG' => $icon_pm,
danach einfügen:

Code: Alles auswählen

	'Willkommensnachricht' => $willkommensnachricht,
language-Dateien - lang_main.php ...

suche:
davor einfügen:

Code: Alles auswählen

$lang['Willkommensnachricht'] = 'Hier kommt deine Nachricht rein.';
das gleiche noch für Englisch bzw. jede andere Sprache ...

Markus

Verfasst: 04.07.2004 20:13
von Dennis63

Code: Alles auswählen

   'Willkommensnachricht' => $willkommensnachricht,
Ich will Markus' Wort nicht in Frage stellen, aber ich glaube, daß es so sein müßte:

Code: Alles auswählen

   'Willkommensnachricht' => $lang['Willkommensnachricht'],
Aber wie gesagt, ich "glaube" es nur, da ich persönlich mein Forum nur einsprachig laufen habe und daher direkt in's Template schreiben kann.

Grüße
Dennis

Verfasst: 12.09.2004 13:18
von Kettu
Ich hab's auf Dennis' Art gemacht und das funktioniert bei mir. :)

Was mich mal interessieren würde, funktioniert das auch beim Board Message XXL Mod? Also sprich, dass ich dort nur ein {Meldung1} eingebe und dann je nach Sprachwahl die Meldung auf englisch oder deutsch angezeigt wird.

Edit: Ach ja, nochwas. Was ist, wenn man neue Lang_Dateien macht? Wie lässt man die auslesen?

Verfasst: 12.09.2004 16:50
von D@ve
Kettu hat geschrieben:Ich hab's auf Dennis' Art gemacht und das funktioniert bei mir. :)

Was mich mal interessieren würde, funktioniert das auch beim Board Message XXL Mod? Also sprich, dass ich dort nur ein {Meldung1} eingebe und dann je nach Sprachwahl die Meldung auf englisch oder deutsch angezeigt wird.

Edit: Ach ja, nochwas. Was ist, wenn man neue Lang_Dateien macht? Wie lässt man die auslesen?
Also im Prinzip funktioniert die von Markus/Dennis beschriebene Vorgehensweise überall.

- Man legt eine Variable in der $lang_main an
- definiert in der php-Datei im Template-assign-Var-Blocks einen Platzhalter dem man die obige Variable zuweist
- und fügt diesen Platzhalter in geschweiften Klammern im zugehörigem Template an (fast) beliebiger Stelle ein.

Will man neue lang-Dateien einbinden (was sich imho nur bei Mods mit extrem viel Text lohnt) muss man diese in den entsprechenden Dateien (vorzugsweise in der functions.php) einbinden zB.:

Code: Alles auswählen

include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_my_file.' . $phpEx);
Gruß, Dave

Verfasst: 14.09.2004 13:10
von grizzlibaer
Hi,

interessantes Thema. Ist es auch möglich wenn ich einen Beitrag verfasse solche Textblöcke zu erstellen (die dann entweder Englisch oder Deutsch ausgegeben werden)?

Was ich damit meine -->
Ich würde gerne so wie in der lang_.._main.php gleiche Texte in Englisch und Deutsch verfassen und dann im Beitrag einfach nur den "Code" eingeben und der entsprechende Sprachtext wird dann ausgegeben

Das interessiert mich deshalb, da ich eine Linkliste plane. Und die müßte auf Deutsch und Englische sein

gruß
grizzli

Verfasst: 14.09.2004 18:27
von D@ve
Nein, das geht so nicht bzw. wäre nur ein Teil. Für zweisprachige Postings müsstest Du ein neues Feld in die posting-Tabelle (vorzugsweise in der posts_text ) einfügen (gibt dazu einen gleichnamigen Hack) und das dann in Abhängigkeit von der Sprache abfragen. Die entsprechenden Variablen musst Du natürlich auch definieren...

Gruß, Dave

Verfasst: 01.10.2004 20:48
von Acid
örks, zuviele Beiträge gelöscht. :-? :wink:

www.acidjunky.de/test/add_field_to_post_141.zip ..damit kann man ein neues Feld zum Postingbereich hinzufügen.
In deinem Fall wäre wohl die optionale Dropdownvariante passend (zunächst add_field_to_post_german.txt und dann Dropdownmenü anstatt Eingabefeld.txt installieren).
Wenn das soweit funktioniert, müsste die viewtopic.php noch angepasst werden (z.B. eine Abfrage ála if info 1 und english dann so ansonsten andersherum).

Verfasst: 01.10.2004 22:13
von grizzlibaer
Hi Acid,

ich bin schon fleissig beim kopieren, wobei ich mir im moment nicht sicher bin ob ich das alles verstehe was Du da geschrieben hast.

Ich bräuchte Deine Hilfe

Code: Alles auswählen

#-----[ ÖFFNEN ]-------------------------------------------------- 
posting.php

#-----[ FINDE ]-------------------------------------------------- 
# 
# 2 occurences, FINDE both

		$subject = '';

# 
#-----[ DARUNTER EINFÜGEN ]-------------------------------------------------- 
# 
		$extra = '';
ich kann dieses 2 occurences .... nichts anfangen. Das finde ich nirgends. Ist das richtig so?

gruß
grizzli

[EDIT] öhmm, also wenn ich mir das noch länger angucke dann kann das evtl. heissen das es 2x $subject = ''; gibt und unter beiden das extra hingehört?

Ich glaub das probier ich mal

Verfasst: 01.10.2004 22:41
von Acid
Ja, genau das soll es heissen.
2 occurences, FINDE both
..wird Zeit das ich den MOD update. :o