Archiv verlassen und diese Seite im Standarddesign anzeigen : [vB3 Hack] Sprachauswahl für Gäste
Hallo,
das vB3 ist zwar mehrsprachenfähig, aber leider lässt sich zur Zeit die Sprache nur von registrierten / eingeloggten Benutzer auswählen. Gäste bzw. nicht eingeloggte User bekommen immer die Defaultsprache angezeigt.
Mit dieser Modifikation kann man Gästen eine Sprachauswahl anbieten, so dass auch die Registrierung in der gewählten Sprache stattfindet. Desweiteren wird die gewählte Sprache während der Registrierung als Default bei dem neuen User eingestellt.
Kurz-Beschreibung
Sprachauswahl für nicht eingeloggte Benutzer
Screenshot
siehe nächstes Posting
Voraussetzung
vB3 RC1 oder höher
Natürlich mehr als eine installierte Sprache, sonst macht die Modifikation ja keinen Sinn :D
Installationsaufwand
ca. 5 Minuten
Update 05. Januar 2004 (Version 2 hinzugefügt)
Update 27. März 2004 (getestet auf vB3 Gold)
Da eine automatische Erkennung der auswählbaren Sprachen gewünscht wurde, habe ich eine zweite Version hinzugefügt.
Version 1
In dieser Version muss für jede auswählbare Sprache ein Menüeintrag manuell hinzugefügt werden
Version 2
In dieser Version wird für jede auswählbare Sprache der Menüeintrag automatisch ermittelt. Dafür muss die Funktion "Use DHTML Popup Menus" aktiviert sein. In dieser Version wird bei jedem Seitenaufruf durch einen Gast ein zusätzliches Query ausgeführt. Wer das nicht mag, nimmt bitte Version 1.
Version 2 findet Ihr in diesem Posting (http://www.vbulletin-germany.com/forum/showthread.php?s=&postid=51197#post51197)
Die Verwendung der Modifikation erfolgt wie immer natürlich auf eigene Gefahr. :)
Jörg
So sieht es aus, wenn man eine Auswahloption in die Navbar einfügt. (Beschreibung im Hack vorhanden)
Update 05. Januar 2004
Hier die Version 2 mit automatischer Erkennung der auswählbaren Sprachen.
troubadix
12.01.2004, 02:04
Schick....hast du deinen Hack sogar noch erweitert....muss
ich doch gleich mal testen.
Hallo Joerg!
Klasse Hack! Eingebaut! :)
Jetzt hab ich mal noch ne Frage. Wie kann ich den Hack zusätzlich noch in das Quicklinks - Menü einbauen, das ich also direkt von dort noch wählen kann, ob das ganze in Englisch laufen soll oder in deutsch?
Sprich bei deutscher Sprache sollte dann im Menü stehen "to English" und bei der Englischen Sprache sollte dann "to German" stehen... geht das?
Ach M@rkus.... Hab doch gar keine Zeit.. ;)
Achtung: Die folgenden Änderungen basieren auf der Gammaversion. Könnte also sein, dass Du eventuell etwas nicht findest, weil es bei RC1 oder RC2 schon anders ist.
Ausserdem gehen die Änderungen davon aus, dass Englisch bei Dir Sprach-ID 1 und Deutsch Sprach-ID 2 ist. Wenn dem nicht so ist, musst Du es anpassen.
Also here we go:
Template navbar suche
<tr><td class="thead">$vbphrase[quick_links]</td></tr>
füge darunter ein:
<if condition="$bbuserinfo[languageid]==1">
<tr><td class="vbmenu_option"><a href="changelanguage.php?$session[sessionurl]languageid=2">$vbphrase[to_otherlanguage]</a></td></tr>
<else />
<tr><td class="vbmenu_option"><a href="changelanguage.php?$session[sessionurl]languageid=1">$vbphrase[to_otherlanguage]</a></td></tr>
</if>
Füge in die Phrasengruppe Front-End Redirect Messages folgende 2 Phrasen ein:
Varname: changelanguage
Text: Forumsprache wurde geändert
Deutsch: Boardlanguage was changed
English: Forumsprache wurde geändert
Varname: nochangelanguage
Text: Language was not changed
Deutsch: Sprache wurde nicht geändert
English: Language was not changed
Füge in die Phrasengruppe Global folgende Phrase ein:
Varname: to_otherlanguage
Text: Zu Deutsch wechseln
Deutsch: Change to English
English: Zu Deutsch wechseln
Speichere die changelanguage.php aus dem Anhang im Hauptverezichnis (da wo z.B. auch index.php steht).
Das wars glaube ich..
Wenn es nicht funzt, dann melde Dich noch mal, bei mir gehts aber. Im übrigen bitte ich das unschöne PHP zu entschuldigen, aber ich habe mich noch nicht so viel mit den vB3-PHP beschäftigt, sieht also vielleicht nicht ganz so sauber aus wie es sollte.. ;)
Gruß
Jörg
Tach JoergZ,
also passt alles.. habs so eingebaut! Super Danke dir! :)
bububaer
19.01.2004, 18:36
Hallo JoergZ,
super Hack mit etwas Modifikation kann man in Kombination des Sprachwechsels für Gäste nun die Sprache per Link ändern und damit von non VB Seiten in der Gewählten Sprache aufrufen.
Super Jop.
Gruß bububaer
bububaer
21.01.2004, 22:55
Hallo JoergZ,
Ich habe Deine Beiden Hacks kombiniert dadurch ist es möglich mit nur einer Übergabe per Link im Forum die Sprache zu wechseln egal ob Gast oder Benutzer.
Bei Gästen wird ein Cokkiezusatz gesetzt bei Usern die Sprache in der Datenbank geändert.
Gruß bububaer
Hallo Joerg, ich mal wieder! :)
Was mir bei dem Hack aufgefallen ist, ist das wenn ein Gast auf meine Seite kommt, wird er automatisch ins Portal geführt. Wenn er nun dort die Sprache ändert, kommt er sofort ins Forum. Wie funzt das mit den <if> - codes, das man das so ändern kann, wenn er im Portal die sprache wechselt, auch im portal bleibt??
Hi M@rkus !
Ich hab mal schnell drübergeschaut und denke, das kannst Du nur lösen wenn Du meine Version 2 nimmst. Probiere mal folgendes:
(Ich habe das ganze aber nicht ausprobiert, weiss also nicht ob es funktioniert !)
Du musst bei der Änderung in der global.php diese Stelle
$guestlanguages = $guestlanguages . "<tr><td class=\"vbmenu_option\"><a href=\"$vboptions[forumhome].php?$session[sessionurl]guestlanguageid=$instlang[languageid]\"> $instlang[title] </a></td></tr>";
so ändernif (THIS_SCRIPT != 'xxxxxx_name_vom_protalscript_xxxxxx')
$guestlanguages = $guestlanguages . "<tr><td class=\"vbmenu_option\"><a href=\"$vboptions[forumhome].php?$session[sessionurl]guestlanguageid=$instlang[languageid]\"> $instlang[title] </a></td></tr>";
} else {
$guestlanguages = $guestlanguages . "<tr><td class=\"vbmenu_option\"><a href=\"xxxxxx_name_des_protal_php_xxxxx.php?$session[sessionurl]guestlanguageid=$instlang[languageid]\"> $instlang[title] </a></td></tr>";
}
Du musst natürlich xxxxxx_name_vom_protalscript_xxxxxx und xxxxxx_name_des_protal_php_xxxxx entsprechend abändern. Ausserdem musst Du schauen, dass im Portal-PHP folgende Zeile vorhanden ist:
define('THIS_SCRIPT', 'xxxxxxxxxxxxxx'); (xxxx kann für einen beliebigen eindeutigen Namen stehen.)
Wie gesagt, ist rein theoretisch, keine Ahnung ob es so funktioniert.
Das ganze über eine Template-Änderung zu machen ist meiner Meineung nach nicht möglich, da Du dort nicht ermitteln kannst, welche Seite aufgerufen wird.
Gruß
Jörg
Kann es sein das der Hack für Vbulletin 3.0.3 nicht mehr funktioniert :confused:
Benötige sowas dringend :/
Kann ich nicht sagen, da ich es auf 3.0.3 noch nicht installiert habe.
Aber so lange Du alle Stellen so findest, wie in der Anleitung beschrieben, sollte es eigentlich funktionieren.
Wenn ich es schaffe, werde ich es in den nächsten Tagen mal mit 3.0.3 testen.
Gruß
Jörg
Habe es getestet, die V2 funktionierte leider nicht. Dafür jedoch die V1. Kannst du mir vielleicht noch kurz sagen wie ich die Sprachwahl für registrierte User ausblenden kann, die funktioniert bei denen doch nicht.
EDIT: Habe die Lösung dafür jetzt selbst gefunden. Habe einfach die Funktion des "Registrieren" Links geklaut, der wird ja auch nur bei nicht eingeloggten Usern angezeigt.
Hm.. Also wenn Du Version 1 genau nach Anleitung installierst, dann ist der Link zur Sprachauswahl eh nur für nicht registrierte zu sehen.
Deswegen ist mir Deine Frage nicht so ganz klar im Moment..
Also bei mir war dieser Link für jeden sichtbar, auch für registrierte. Aber egal, habe das Problem ja schon gelöst :)
Super hack!
Eine frage hab ich noch:
Ich hätte gerne diese praktische Auswahl auch für registrierte User, aber da wird nur der Link angezeigt, man kann aber nichts auswählen.
Wie kann ich diese Auswahl auch für Mitglieder anzeigen lassen?
Ich hab übrigens Version 2 installiert.
Schau mal weiter vorne in diesem Thread im Posting Nr. 7 (http://www.vbulletin-germany.com/forum/showthread.php?p=53243).
Dort habe ich es beschrieben.
Gruß
Jörg
Sehr guze Idee diese Modifikation. Ich werde es einbauen und mich dann nochmal zu Wort melden. Danke
Metro Man
09.11.2004, 16:36
geht unter vb 3.0.3 auch ganz gut
Hallo, wie kann ich so einen art Stylechooser in eine vbadvanced Box einbauen für die Sprachauswahl anstatt in die Navigationsleiste?
Gute Frage :) Das hatte ich ja auch probiert, aber nicht hinbekommen. Deswegen der nicht ganz so schöne Weg über die Navi-Leiste ;)
Gruß
Jörg
Christian
10.11.2004, 02:08
Gute Frage :) Das hatte ich ja auch probiert, aber nicht hinbekommen. Deswegen der nicht ganz so schöne Weg über die Navi-Leiste ;)
Gruß
JörgEine Möglichkeit wäre:
Ansatz
<script language="JavaScript" type="text/JavaScript">
<!--
function mm_jumpmenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
<select name="nav1" onchange="mm_jumpmenu('parent',this,0)">
<option value="javascript://" >$vbphrase[guestlanguage]</option>
<option value="$vboptions[forumhome].php?$session[sessionurl]guestlanguageid=1">$vbphrase[lang01]</option>
<option value="$vboptions[forumhome].php?$session[sessionurl]guestlanguageid=2">$vbphrase[lang02]</option>
</select>
Gruss
Christian :)
knetgummi
16.01.2005, 18:33
supi, lieben dank :)
]|fre$h-LoRd|[
24.01.2005, 18:02
Hi,
erstmal muss ich sagen, toller Hack, echt. Nur habe ich ein Problem, das ganze Durcheinander hier im Thread hat mich etwas durcheinander gebracht. Ich habe VB 3.0.0 mit 2 Sprachen installiert. Ausserdem habe ich die Version 1 des Hacks eingebaut, diese funzt auch prima. Nur meine Frage, wie schaffe ich es, die Sprachwechseloption in der Navbar auch für gereggte User nutzbar zu machen?
Danke im Voraus!
|fre$h-LoRd|[']Hi,
erstmal muss ich sagen, toller Hack, echt. Nur habe ich ein Problem, das ganze Durcheinander hier im Thread hat mich etwas durcheinander gebracht. Ich habe VB 3.0.0 mit 2 Sprachen installiert. Ausserdem habe ich die Version 1 des Hacks eingebaut, diese funzt auch prima. Nur meine Frage, wie schaffe ich es, die Sprachwechseloption in der Navbar auch für gereggte User nutzbar zu machen?
Danke im Voraus!
http://www.fresh-brotherz-board.net/index.php?guestlanguageid=3
http://www.fresh-brotherz-board.net/index.php?guestlanguageid=2
http://www.fresh-brotherz-board.net/index.php?guestlanguageid=1
jenachdem welche ids die haben...
Hi Lord,
schau mal hier: http://www.vbulletin-germany.com/forum/showthread.php?p=53122
Dort ist die gleiche Frage (glaube ich), darunter habe ich beschrieben, wie Du es auch für eingeloggte User zugänglich machst.
Gruß
Jörg
]|fre$h-LoRd|[
24.01.2005, 19:48
JO, das ist schon richtig, nur möchte ich das nicht unter "Nützliche Links" stehen haben, sondern direkt in der Navbar. Wie bekomme ich DAS hin, hab gez her ne Zeit gefummelt, aber es klappt nicht.......
Also, ich habe gez einen Code in das Navbar Temp geschrieben:
</if>
<td class="vbmenu_control"><if condition="$bbuserinfo[languageid]==1">
<tr><a href="changelanguage.php?$session[sessionurl]languageid=2">$vbphrase[to_otherlanguage]</a></td>
<else />
<a href="changelanguage.php?$session[sessionurl]languageid=1">$vbphrase[to_otherlanguage]</a></td></tr>
</if>
Imo sieht es wie in Anhang 1.jpg aus, es soll aber so wie in 2.jpg aussehen:
Also einen eigenen Menüpunkt genauso wie für nicht eingeloggte ?
Schau mal hier:
http://www.vbulletin-germany.com/forum/showthread.php?p=65264
Dort ist beschrieben, wie man eigene PopUp-Menüpunkte einbaut.
Gruß
Jörg
Toll :)
Funzt das auch bei der 3.0.6.?
Gruß von
adusei
Auf 3.0.5. funktioniert es.
Ich weiß, danach hast Du nicht gefragt :p
Denke aber schon. Wenn die zu ändernden Stellen in der PHP von 3.0.6. noch genauso ausschauen wie in meiner Beschreibung, dann sollte es auch mit 3.0.6 laufen.
Gruß
Jörg
Danke, werds testen. Schöner Hack!
Toll :)
Funzt das auch bei der 3.0.6.?
Gruß von
adusei
jep, es geht auch mit der 3.0.6 (habs getestet)
der hack gefällt mir übrigens sehr gut :)
hab noch 'ne Frage:
Kann man den Hack irgenwie so umbauen, dass wenn man die Sprache wechselt nicht immer wieder auf der Hauptseite landet sondern auf der seite, die man gerade betrachtet?
Das habe ich nicht hinbekommen, sonst hätte ich es so gemacht :)
Könnte mir schon vorstellen dass es geht, aber weiss eben nicht wie.. Also versucht Dich dran.. :D
Gruß
Jörg
ProfDrSnoopy
18.09.2005, 16:30
Hi, wird es den hack auf für die 3.5 geben?
Nein, da in 3.5 die Funktion "Sprachauswahl für nicht eingeloggte User" standardmäßig enthalten ist. Die Sprache lässt sich in 3.5 genauso auswählen wie der Style (unten links über Pull-Down Menü).
So wie man hier auch zwischen "Deutsch Du" und "Deutsch Sie" wählen kann.
Gruß
Jörg
vBulletin® v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.