Seite 1 von 2

Englisch <=> Deutsch Auswahl

Verfasst: 10.01.2009 14:01
von Malak
Hiho Community,
da ich mein Forum gerne für englischsprachige und deutschprachige user zur verfügung stellen möchte, wollte ich mal fragen
ob es da irgendwas gibt, womit ich dem user z.B. bei betreten des forums eine auswahl möglichkeit anbieten kann in welcher landesprache er die menüs
und buttons haben möchte.
So dass, es auch den englischen nutzern leichter fällt, den weg zur anmeldung zu finden, weil jetzt im moment
die forenstandard sprache auf deutsch eingestellt ist.
Gibt es da nen mod für oder kann man da irgendetwas einstellen?

thx schonmal ;)

Re: Englisch <=> Deutsch Auswahl

Verfasst: 10.01.2009 15:18
von IceD
gibt da son Mod, bei dem automatisch die Sprache eingestellt wird, wenn vorhanden, die auch der Browser hat. Keine Ahnnung, obs funktioniert und das ist, was du suchst.

Re: Englisch <=> Deutsch Auswahl

Verfasst: 10.01.2009 15:28
von Malak
wo gibts den denn bzw. wie heißt der?

Re: Englisch <=> Deutsch Auswahl

Verfasst: 10.01.2009 18:16
von IceD
hab den Entrag auf phpBB.com nicht mehr gefunden, deshalb dieser Link: http://www.martin-truckenbrodt.com/cgi/ ... f=25&t=147

Re: Englisch <=> Deutsch Auswahl

Verfasst: 10.01.2009 21:04
von Malak
funzt der denn auch auf phpbb3 0.4.?

hab mal auf nem testboard des installiert nur irgendwie funzte das da nciht:

http://www.legendsoftw.piranho.de

Re: Englisch <=> Deutsch Auswahl

Verfasst: 10.01.2009 22:00
von Helmut
Hallo Malak,

schaue dir das hier mal an, damit lässt sich die Sprache sowohl für Gäste als auch für eingeloggte User umschalten. Ich habe das in mein Testforum eingebaut, es funktioniert sehr gut.

Gruß Helmut

Re: Englisch <=> Deutsch Auswahl

Verfasst: 11.01.2009 13:26
von Malak
geht der mod denn nur bei den standard templates und styles oder funzt der auch mit selbsgemachten?

ich hab auch hier vergeblich nach diesen codes gesucht:

Code: Alles auswählen

if ($this->data['user_id'] != ANONYMOUS)
		{
			$this->lang_name = (file_exists($phpbb_root_path . 'language/' . $this->data['user_lang'] . "/common.$phpEx")) ? $this->data['user_lang'] : basename($config['default_lang']);
			$this->lang_path = $phpbb_root_path . 'language/' . $this->lang_name . '/';

			$this->date_format = $this->data['user_dateformat'];
			$this->timezone = $this->data['user_timezone'] * 3600;
			$this->dst = $this->data['user_dst'] * 3600;
		}
		else
		{
			$this->lang_name = basename($config['default_lang']);
			$this->lang_path = $phpbb_root_path . 'language/' . $this->lang_name . '/';
			$this->date_format = $config['default_dateformat'];
			$this->timezone = $config['board_timezone'] * 3600;
			$this->dst = $config['board_dst'] * 3600;

			/**
			* If a guest user is surfing, we try to guess his/her language first by obtaining the browser language
			* If re-enabled we need to make sure only those languages installed are checked
			* Commented out so we do not loose the code.

			if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
			{
				$accept_lang_ary = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);

				foreach ($accept_lang_ary as $accept_lang)
				{
					// Set correct format ... guess full xx_YY form
					$accept_lang = substr($accept_lang, 0, 2) . '_' . strtoupper(substr($accept_lang, 3, 2));
					$accept_lang = basename($accept_lang);

					if (file_exists($phpbb_root_path . 'language/' . $accept_lang . "/common.$phpEx"))
					{
						$this->lang_name = $config['default_lang'] = $accept_lang;
						$this->lang_path = $phpbb_root_path . 'language/' . $accept_lang . '/';
						break;
					}
					else
					{
						// No match on xx_YY so try xx
						$accept_lang = substr($accept_lang, 0, 2);
						$accept_lang = basename($accept_lang);

						if (file_exists($phpbb_root_path . 'language/' . $accept_lang . "/common.$phpEx"))
						{
							$this->lang_name = $config['default_lang'] = $accept_lang;
							$this->lang_path = $phpbb_root_path . 'language/' . $accept_lang . '/';
							break;
						}
					}
				}
			}
			*/
		}
die anderen beiden waren da nur dieser nicht.
hab phpbb3 0.4 also kann das sein das die mod nur mit 0.3 funzt?

Re: Englisch <=> Deutsch Auswahl

Verfasst: 11.01.2009 16:36
von Helmut
Hallo Malak,

der Mod funktioniert auch mit 3.0.4 und ist im wesentlichen unabhängig vom verwendeten Template, da die wichtigsten Änderungen nur in der sessions.php und functions.php stattfinden. Für die Anzeige bearbeitest du nur die overall_header.html. Ich haben den Mod von sending lang per post for guests und changing user_lang per post von MartinTruckenbrodt eingebaut und zusätzlich den Mod Country Flags 1.0.0. Dann habe ich noch ein paar weitere Änderungen vorgenommen, wie ab hier zu lesen ist.

Der von die gepostete Code Teil ist in der session.php etwas unterhalb von * Setup basic user-specific items (style, language, ...) schon vorhanden, aber teilweise auskommentiert, da er sich auf den Teil mit der Spracherkennung vom Browser befasst. Ich würde das nicht über den Browser machen, sondern die Sprachauswahl dem User überlassen.

Gruß Helmut

Re: Englisch <=> Deutsch Auswahl

Verfasst: 11.01.2009 20:33
von Malak
das heißt das ich den teil von mir auch nichtmehr mit dem aus dem mod nichtmehr ersetzen muss oder?

PS: bin zur zeit nochn ziemlicher neuling in sachen "modding" ;)

Re: Englisch <=> Deutsch Auswahl

Verfasst: 12.01.2009 19:23
von Malak
also das was zum teil auskommentiert ist, brauch ich dann auch ncihtmehr veränder oder?
Das andere reicht dann oder wie?
Und wenn der Browser z.B. Belgisch ist was wird dem User dann angeizegt, weil ich hab ja nur die 2 Deutschen und 1 Englisches sprachpaket auf
dem Board.