Seite 1 von 1

Mehrsprachigkeit der Webseite auf das Forum übertragbar??

Verfasst: 09.12.2004 22:23
von rassehunde
Sehr geehrte Insider :),

ich betreibe eine mehrsprachige Website (noch im Aufbau). Hierbei wird per URL-Parameter ?language= und dann die vom User gewählte sprache übergeben. Was muss ich tun, damit das Forum Script diese Sprache auch für sich erkennt??

Ist es dann ausreichend, wenn ich z.B. die gesamte datei:

lang_german/lang_main.php in die entsprechende, sagern wir mal in ungarisch übersetze und dann in ein Dir lang_hungaria/ ablege??

Vielen Dank für Eure Unterstützung

Verfasst: 09.12.2004 22:54
von shwepsi
schau mal in die includes/functions.php
dort die Zeilen

Code: Alles auswählen

	if ( $userdata['user_id'] != ANONYMOUS )
	{
		if ( !empty($userdata['user_lang']))
		{
			$board_config['default_lang'] = $userdata['user_lang'];
		}

		if ( !empty($userdata['user_dateformat']) )
		{
			$board_config['default_dateformat'] = $userdata['user_dateformat'];
		}

		if ( isset($userdata['user_timezone']) )
		{
			$board_config['board_timezone'] = $userdata['user_timezone'];
		}
	}

	if ( !file_exists(@phpbb_realpath($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.'.$phpEx)) )
	{
		$board_config['default_lang'] = 'english';
	}
notfalls passt du die letzten 3 Zeilen an
erst die Variable auslesen, dann da einen switch einbauen

das Problem:
die Variable geht in dem Moment verloren wo man einen von phpBB generierten Link benutzt...

Verfasst: 09.12.2004 23:29
von rassehunde
Hallo,

da fängt es doch aber schon an: ich weiss doch gar nicht was ein "switch" ist und erkenne doch auch nicht wo ich da was machen müsste.

zweitens, die Sprache verliert sich ja nicht erst, wenn im Forum geklickt wird, sondern kommt dort zwar an, wird aber nicht erkannt, glaube ich ...

Also ich habe eine forum.php erstellt mit folgendem Inhalt:

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<?php
    // fit if nescessary:
	define( "PATH_TO_SCRIPT", "../Kalender-Oldtimer-Veranstaltungen/jax_calendar/" );
	// global variables (have to be fitted)
	require ( dirname(__FILE__) . "/".PATH_TO_SCRIPT."settings/calendar.settings.inc.php");
	// (If exists) include localization file for the favoured language
	if ( file_exists( dirname(__FILE__) . "/".PATH_TO_SCRIPT."languages/" . $language . ".inc.php" ) )
		define( "LOC_LANG", $language ); 
	else
		define( "LOC_LANG", $default_language ); 
	require_once ( dirname(__FILE__) ."/".PATH_TO_SCRIPT."languages/" . LOC_LANG . ".inc.php" );
	if (!empty( $_SERVER["PHP_SELF"] )) $PHP_SELF = $_SERVER["PHP_SELF"];
    global $loc_lang;
?>
<html>
<head>
  <link href="../vorlage/rollerstile.css" rel="stylesheet" type="text/css">
  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<?PHP
include("../meta-index.txt");
include("../meta.txt");
include("forum-head-navi.txt");
include("index.php");
include("../footer.txt");
?> 
wenn ich die vorletzte Zeile auskommentiere, ist das Layout alles so, wie es sein soll. Wenn ich die Auskommentierung wieder wegnehme, wird der Footer zwar geladen, aber völlig zerstört :(

Aber das ist noch ein anderes Problem, welches es zu lösen gilt.

Es bleibt die Frage, wie bekomme ich es hin, dass die von aussen übergebene Variable auf das Forum Anwendung findet.

Das Problem Nummer 3:

die Seite gefällt mir ja dann schon ganz gut (wenn der Footer vom Rahmen ordentlich geladen werden würde), aber wenn ich dann, egal welchen Link im Bereich des Forums klicke, springt es vollkommen aus dem PHP-Rahmenlayout.

Mal zum besseren Verständnis:

so sieht das ganze ohne Forum aus:
http://www.rassehunde.de/IWL-Roller/Forum/forum-1.php

und so dann momentan mit:
http://www.rassehunde.de/IWL-Roller/Forum/forum.php

Verfasst: 10.12.2004 07:24
von shwepsi
schau dir das mal an, damit sollte es gehen

(ist ein Mod bei dem man die Sprache als Gast wählen kann)
http://www.phpbbhacks.com/viewhack.php?id=235

Verfasst: 10.12.2004 10:23
von rassehunde
Hallo shwepsi,

nee, das ist dann wohl auch nicht das richtige, da ich hiermit, soweit ich das verstehe (kaum englishkenntnis), die Basissprache wohl eines einzelnen (oder auch mehrerer) Forums vorauswaehlen kann und diese Einstellungen nicht automatisch gewechselt werden können.

Also z.B. der User kommt mit dem Prädikat "english" von meiner Website und landet dann in der Forum-Übersicht, welche ich auf deutsch eingestellt habe. Schon hier wechselt dann die Sprache nicht auf das mitgebrachte Prädikat. Wenn dann der User auf eines der in der Übersicht vorhandenen Foren klickt, welches ich mit der Sprache ungarisch definiert habe, würde ebenfalls die Sprache nicht erkannt werden, welche er mitbrachte.

Das vorgeschlagene MODUL ist somit nicht das, welches meine Vorstellungen eines sprachlich dynamischen Forums entspricht.

Hast Du noch eine andere Idee??

Danke

Verfasst: 10.12.2004 16:13
von rassehunde
war wohl doppelt gepostet

Verfasst: 10.12.2004 17:04
von shwepsi
das ist ungefähr das was du haben willst

die Sprachen bekommst du unter phpbb.com (ungarisch? kein Problem, hullu lullu? auch nicht)

der Mod hat eine Auswahlbox oder icons (ich entsinne mich nicht mehr) und was man da wählt oder klickt ist dann standard für den User

ist nicht ganz perfekt, aber immerhin

möglichkeiten anzupassen:
in die page_header eine Abfrage einbauen wegen Sprache, wenn Sprache per ?language= übergeben dann das dem Mod mitteilen und Seite mit Sprache neuladen -> geht doch
blöd ist nur das er die Seite dann 2mal läd, aber immerhin

Verfasst: 10.12.2004 17:10
von Christian_W

Verfasst: 10.12.2004 22:07
von rassehunde
vielen Dank zunächst für Eure versuchte Hilfe, ich muss eingestehen, dass ich mich völlig überfordert und verunsichert fühle, denn ich verstehe nur sehr begrenzt english.

Meine Frage:

Findet sich hier jemand, der mir das Forum mit den offensichtlich ja vorhandenen Modulen so modelliert, wie ich es gerne hätte?

Ich müsste sonst das Projekt Stadtroller-Forum wohl ert einmal knicken...:(

Ich zeige mich natürlich erkenntlich durch eine im Rahmen gehaltene Spende an eine vom helfenden anzugebende Kontonummer :)

Danke