wie definiere in Textblöcke in verschiedenen Sprachen?

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Kiss News
Mitglied
Beiträge: 1640
Registriert: 31.05.2004 02:04
Wohnort: Österreich
Kontaktdaten:

wie definiere in Textblöcke in verschiedenen Sprachen?

Beitrag 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!
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag 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
Dennis63
Ehemaliges Teammitglied
Beiträge: 2597
Registriert: 02.07.2003 18:46

Beitrag 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
Benutzeravatar
Kettu
Mitglied
Beiträge: 99
Registriert: 25.02.2003 16:36

Beitrag 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?
Es ist schon über so viele Dinge Gras gewachsen, dass man keiner Wiese mehr trauen kann! 8)
--------
Nutzer von phpBB 2.0.4 und 2.0.11
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag 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
There are only 10 types of people in the world: Those who understand binary, and those who don't
Benutzeravatar
grizzlibaer
Mitglied
Beiträge: 446
Registriert: 04.08.2004 23:17

Beitrag 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
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag 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
There are only 10 types of people in the world: Those who understand binary, and those who don't
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag 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).
Benutzeravatar
grizzlibaer
Mitglied
Beiträge: 446
Registriert: 04.08.2004 23:17

Beitrag 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
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Ja, genau das soll es heissen.
2 occurences, FINDE both
..wird Zeit das ich den MOD update. :o
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“