irc
eByteNet » Forum » Programmieren » PHP & MySQL » Website zweisprachig machen
Seiten: 1

28.09.2008 um 15:02:45
dominopage


Avatar von dominopage

Registriert: 20.05.2006
eBN-Alter: 2J 7M 24T

Beiträge: 1633
Verwarnungen: 0

eBytes: 19993.7

Titel: Website zweisprachig machen
Hallo,
im Moment ist meine Website, http://startcss.net, ja nur auf Deutsch verfügbar, doch ich möchte Sie nun auch in Englisch anbieten.

Jetzt ist die Frage, wie ich das am besten machen soll. Mit den Texten gibt es kein Problem, da ich die alle aus der DB hole und da kann ich ja dann einfach eine zweite Tabelle erstellen, doch wie mache ich das mit so kleinen Sachen wie Titeln von Links, etc.?

Das ganze basiert im Moment auf einem einfach Templatesystem von mir: Ich schreibe die Sachen in Variablen und am Ende wird der HTML-Code, der in der Templatedatei steht ebenfalls in eine Variable geholt und Platzhalter werden dann durch den Inhalt der weiteren Variablen ersetzt.

Erst hatte ich die Idee das auch mit den kleinen Wörtern zu machen, doch es werden ja nicht immer alle Wörter auf jeder Seite verwendet, sodass es ziemliche Geschwindigkeitseinbußen geben würde, die gar nicht notwendig sind.

Allerdings habe ich im Moment keine Idee, wie ich das anders lösen könnte, aber vielleicht fällt euch ja noch etwas ein.

dominopage
_______________________________

Eine Signatur?
Brauche ich nicht,...
...meine Posts sind interessant genug!



Du hast sie ja doch gelesen!?

Schäme dich :roll:

Macht aber nix^^, dann kannst du auch gleich mal hier schauen
OFF Melden

28.09.2008 um 16:57:08
quark007
ModeratorenTeamLeiter

Avatar von quark007

Registriert: 23.05.2006
eBN-Alter: 2J 7M 20T

Beiträge: 1529
Verwarnungen: 0

eBytes: 37369.8

Titel: Re: Website zweisprachig machen
du könntest dir, was aber eigentlich nicht Sinn und zweck der Sache ist, ein eigenes "design" für den englischen Teil bauen. Also im Prinzip einfach alle Dateien kopieren und diese kleinen Änderungen austauschen.

eine Andere Möglichkeit wäre mit einer <!-- IF LANGUAGE = GER --&gt; Abfrage im Template die Sprache abfragen und dementsprechend dann das richtig auszugeben. Das müsstest du deiner "Template-Klasse" dann aber noch hinzufügen (hab ich auch gemacht, aber der Regex dauert ne Zeit bei mir :P )

Ne andere Idee hab ich aber sonst auch net :(
_______________________________





Zitat: kommt der Bug (Berg) zum Propheten oder umgedreht?
OFF Melden

28.09.2008 um 17:05:34
dominopage


Avatar von dominopage

Registriert: 20.05.2006
eBN-Alter: 2J 7M 24T

Beiträge: 1633
Verwarnungen: 0

eBytes: 19993.7

Titel: Re: Website zweisprachig machen
klar kann ich die ganze website nochmal machen, doch das gefällt mir nicht und verbraucht zu viel speicher, wenn vielleicht noch eine dritte sprache kommt.

mit der abfrage meinst du das so, das ich dann als kommentar in html schreibe welche möglichkeiten da stehen können und dann lasse ich die regex das so umschreiben, wie ich es brauche?!
das gefällt mir eigentlich ganz gut. mal sehen um wie viel langsamer es die seite macht.

wie machen es denn die foren usw.?

dominopage
_______________________________

Eine Signatur?
Brauche ich nicht,...
...meine Posts sind interessant genug!



Du hast sie ja doch gelesen!?

Schäme dich :roll:

Macht aber nix^^, dann kannst du auch gleich mal hier schauen
OFF Melden

.::Werbung::.

28.09.2008 um 18:09:08
raintown
Titel: Re: Website zweisprachig machen
ham die nich immer ne extra language-Datei woher se die ganzen Texte
nehmen ?

Oder sie haben eben die Templates zweisprachig ... hätte ich jetzt mal so
gesagt ohne auch nur annähernd davon ahnung zu haben ^^

grüße

28.09.2008 um 19:00:44
Asmodiel


Avatar von Asmodiel

Registriert: 26.06.2006
eBN-Alter: 2J 6M 17T

Beiträge: 656
Verwarnungen: 0

eBytes: 4342.4

Titel: Re: Website zweisprachig machen
Ich rat dir eher mal, die sprache über get zu übergeben (natürlich auch überprüfen und so)... das hatte ich mal in meiner alten homepage, das klappt :D

Und dann eben auch die Links aus der db holen je nach sprache.
Und bei den foren basiert es auf sprachdateien languages/SPRACHCODE[de/en]/language.php
und das wird dann je nach sprache abgerufen.
_______________________________

gruß!
asmodiel
OFF Melden

29.09.2008 um 21:25:08
grubi
Administrator

Avatar von grubi

Registriert: 21.05.2006
eBN-Alter: 2J 7M 23T

Beiträge: 680
Verwarnungen: 0

eBytes: 71974.3

Titel: Re: Website zweisprachig machen
Ich erklär mal kurz, wie es bei phpBB aussieht:

Dort gibt es, wie Asmodiel schon erwähnte, für jede Sprache eine oder mehrere Sprachdateien (unterteilt nach Gebieten, wie z.b. Admin, Main).
Diese Datei enthält dann ein Array mit allen Textphrasen. Über die Template-Klasse werden dann die ganzen Platzhalter im Template mit dem jeweiligen Eintrag aus dem "Spracharray" ersetzt. (Jede wird einzeln zugewiesen.)

Wie bei allen anderen Methoden lässt sich auch hier über Sinn und Unsinn disskutieren ;)
_______________________________

Ich bin "Niemand", denn "Niemand" ist perfekt ;)
OFF Melden

06.10.2008 um 19:03:15
Zelphir


Avatar von Zelphir

Registriert: 31.07.2008
eBN-Alter: 5M 10T

Beiträge: 51
Verwarnungen: 0

eBytes: 581.6

Titel: Re: Website zweisprachig machen
Wenn mans nicht ganz so kompliziert machen will, dann kann man es auch erstmal mit
JavaScript bewerkstelligen (Ja ich weiß haben nicht alle aktiviert...). So habe ich es bei meiner
Klanseite auch gemacht. Einfach eine deutsche Flagge und eine englische hinsetzen, bei Klick
soll dann der Text von den ganzen Elementen ersetzt werden. Da alles auf den Client geladen
wird geht alles super schnell und man muss nicht warten bis die Seite neu geladen wurde.

Mit GET oder POST ist die Sache schon deutlich schwieriger, weil man das dann jeds mal
abfragen muss und somit viel Code entsteht. Die Texte der anderen Sprachen sind dann auch
in der Datei in der die Texte auf Deutsch sind. Hoffe ich habe mich jetzt nicht zu unverständlich
ausgedrückt.

Mit Datenbanken kenne ich mich nicht aus, aber warum meinst du, dass du manche Begriffe
nicht brauchst und es deswegen Speicherverschwendung wäre wenn du das mit Datenbanken
machen würdest? Kann man nicht einfach alle benötigten Begriffe übersetzen und in eine
Datenbank speichern? Den Rest könnte man ja dann weglassen.
OFF Melden

06.10.2008 um 20:00:20
starthtml


Avatar von starthtml

Registriert: 05.07.2006
eBN-Alter: 2J 6M 8T

Beiträge: 1282
Verwarnungen: 0

eBytes: 1359.72

Titel: Re: Re: Website zweisprachig machen
Zitat von Zelphir:

Wenn mans nicht ganz so kompliziert machen will, dann kann man es auch erstmal mit
JavaScript bewerkstelligen (Ja ich weiß haben nicht alle aktiviert...). So habe ich es bei meiner
Klanseite auch gemacht. Einfach eine deutsche Flagge und eine englische hinsetzen, bei Klick
soll dann der Text von den ganzen Elementen ersetzt werden. Da alles auf den Client geladen
wird geht alles super schnell und man muss nicht warten bis die Seite neu geladen wurde.

Mit GET oder POST ist die Sache schon deutlich schwieriger, weil man das dann jeds mal
abfragen muss und somit viel Code entsteht. Die Texte der anderen Sprachen sind dann auch
in der Datei in der die Texte auf Deutsch sind. Hoffe ich habe mich jetzt nicht zu unverständlich
ausgedrückt.

Mit Datenbanken kenne ich mich nicht aus, aber warum meinst du, dass du manche Begriffe
nicht brauchst und es deswegen Speicherverschwendung wäre wenn du das mit Datenbanken
machen würdest? Kann man nicht einfach alle benötigten Begriffe übersetzen und in eine
Datenbank speichern? Den Rest könnte man ja dann weglassen.


Ich glaube, du hast das Problem falsch verstanden. irgendwo muss die Übersetzung ja herkommen. Da ist es egal, ob man JavaScript nimmt, oder nicht. Wenn er jetzt alle Wörter und Phrase in eine Datei schreibt, werden nicht alle davon auf jeder Seite verwendet - Speicherverschwendung ;)
Ich denke aber, dass sich das mit der Speicherverschwendung bei deiner Seite nicht so dramatisch darstellt, da sie ja doch recht klein ist im Vergleich zu andere Seiten. Wenn du da ein System zum Unterscheiden der Dateien einbauen würdest, kämst du unefähr auf's gleiche heraus, denke ich...

Simon
OFF Melden

.::Werbung::.

06.10.2008 um 20:15:48
raintown
Titel: Re: Website zweisprachig machen
was man noch machen könnte wäre doch über ne Session ? Einfach $_SESSION['lang'] und dann in der index.php ( je nachdem wie du die
Seite aufgebaut hasch ) bzw. eben oben in der jeweiligen *.php Datei
die entsprechende language.php einbinden . Natürlich brauchst du dann
noch ne *.php mit der die sprache gewerchselt werden kann , was aber
nicht das Problem sein sollte .

Dann kannst du ja mit nem Array arbeiten .
Ich denke das es weder ein großer Aufwand in der Umsetzung ist , noch
viel Speicherplatz braucht noch umständlich ist .

Oder was meint ihr ? Ist es schwachsinn mit sessions ? Habs mal mit
sessions gemacht und ich fand es echt leicht zu handhaben

20.10.2008 um 09:32:44
sim-value


Avatar von sim-value

Registriert: 15.06.2006
eBN-Alter: 2J 6M 28T

Beiträge: 594
Verwarnungen: 0

eBytes: 608.195

Titel: Re: Website zweisprachig machen
Ich denke das man sich über das Problem der speicherverschwendung getrost hinwegsetzen kann ..

Ich habe auch eine 2 Sprahige seite und ich speicher die Sprache in einem Cookie an und je nachdem welche Sprache gewählt wurde wird halt die eine oder andere Sprachdatei eingelesen ...

Mfg sim ...

PS: ich hab bei jedem Text einfach <?php echo $lang['bla']; ?>
_______________________________

DU HAST DAS SPIEL VERLOREN!!!
Klick
OFF Melden

20.10.2008 um 17:02:14
starthtml


Avatar von starthtml

Registriert: 05.07.2006
eBN-Alter: 2J 6M 8T

Beiträge: 1282
Verwarnungen: 0

eBytes: 1359.72

Titel: Re: Re: Website zweisprachig machen
Zitat von sim-value:

Ich denke das man sich über das Problem der speicherverschwendung getrost hinwegsetzen kann ..

Ich habe auch eine 2 Sprahige seite und ich speicher die Sprache in einem Cookie an und je nachdem welche Sprache gewählt wurde wird halt die eine oder andere Sprachdatei eingelesen ...

Mfg sim ...

PS: ich hab bei jedem Text einfach <?php echo $lang['bla']; ?>


So mach ich's auch, ist aber noch nicht online auf meiner Seite xD

Simon
OFF Melden


eByteNet » Forum » Programmieren » PHP & MySQL » Website zweisprachig machen
Seiten: 1

Du hast in diesem Forum keine Schreibrechte!

Computer Notdienst in Leipzig | Software Installtionsservice | Computer