Mehrsprachigkeit

Kalma

Erfahrenes Mitglied
Hallo,

ich würde gern wissen, wie ich am Besten Sprachwechsel realisiere:


- Umfang der Seite ist ziemlich groß, eine ziemliche Community. Leider ist ein CMS nicht passend..

- Sprachen, vorerst zwar Deutsch, aber ich denke einen Sprachwechsel schonmal zu implementieren wäre nicht schlecht.


Bis jetzt habe ich Inhalte in der Datenbank gespeichert und die dann halt ausgelesen.
Das erscheint mir jedoch ein bisschen langsam.

Zweite Möglichkeit, die ich kenne:
Jedes Template 2mal speichern, einmal als Englisch, einmal als Deutsch.
Erscheint mir aber noch ungünstiger da ich alles 2 mal speichern muss.


Welche Ideen habt ihr?

Danke
David
 
Hey,


Wieso ist ein CMS ungeeignet?
Und was für eine Software nutzt du denn?

Die meisten Foren sind multilingual :P


Und auf was soll sich deine Mehrsprachigkeit jetzt geziehen?
Aufs Design/Template oder den Inhalt?

bo
 
Oh, verzeihung: Natürlich auf den Inhalt!

Ein CMS ist wegen der Struktur die unsere Seite aufweist nicht möglich, habe schon vieles probiert, aber nichts passt wirklich.


Momentan programmieren wir selber in:
- HTML, PHP, MySQL Datenbanken Ajax/Javascript
 
Ja,

damit es trotzdem noch leicht zu administrieren ist,
würde ich sowohl den deutschen als auch englischen Text in der
Datenbank abspeichern.

Dies ermöglicht dir das Bearbeiten des Textes vom Webinterface;
wenn du den Text in einer PHP/HTML Datei änderst ( ist unsicher etc.) benötigst du Zugriff auf diese Datei (z.B. ftp) ...


Und dann brauchst du noch ein "Language" Switcher :P
Sobald dein Besucher auf die dt. Flagge klickt, speicherst du ein Cookie ( bzw. ändert sich ein Attribut im Benutzerprofil) und dann lässt du automatisch alle dt. Deutsche ausgeben.


bo
 
Also auch einzelne Wörter, wie z.B.: bei einem Registrierungsformular die Werte die man eingeben soll? "Benutzername" "Passwort" zu "Nickname" "Password" und so weiter?



Kann man die Browsersprache eigentlich feststellen und so automatisch Englisch oder Deutsch machen?
 
Das mit der eingestellten Browsersprache kann ich dir nicht sagen,
aber ich würde dies event. für realistisch halten.


Bei vielen CMS sind diese einzelnen Begriffe ( wie z.B. für die Registrierung) fest in Dateien eingeschrieben und mit Constanten belegt.


bo
 
[...]
Kann man die Browsersprache eigentlich feststellen und so automatisch Englisch oder Deutsch machen?

Das mit der eingestellten Browsersprache kann ich dir nicht sagen,
aber ich würde dies event. für realistisch halten.
[...]

Das Erkennen der Browsersprache geht relativ einfach über den UserAgent, welcher allerdings auch nicht immer mitgeschickt wird. Wäre quasi ein "Zuckerl" für manche User, dass die Webseite dann automatisch Englisch ist ;)

Hier noch ein paar Links zu dem Thema:
http://de.wikipedia.org/wiki/User_Agent
http://www.php.de/php-einsteiger/212-user-agent-erkennen.html#post1470

Gruß
BK
 
Hatte mir überlegt:

bei der .com Domain ist direkt englisch und bei .de ist halt deutsch.

Obwohl das auch irgendwie ja doof ist..

Naja, ist ja erstmal nebensächlich.



Bei vielen CMS sind diese einzelnen Begriffe ( wie z.B. für die Registrierung) fest in Dateien eingeschrieben und mit Constanten belegt.

Also z.b. eine Sprachdatei?
Wie sieht so eine Constante dann aus?
PHP:
define('NICKNAME_DE', 'Benutzername');
define('NICKNAME_EN', 'Nickname');

Oder wie?



Gibts da irgendwie besondere Tips, bis wie lang man Texte/Wörter abspeichern sollte?
 
Ih! PHP-Sprachdateien mit define.

Dynamische Lösungen von schnell nach langsam (ohne Cache):
- gettext ist eine Möglichkeit,
- php-gettext gäbe es wenn du die Erweiterung gettext nicht hast.
- Datenbank mit Sprachen, komfortabel aber langsam

Aber alles wird gleich schnell wenn nur der Cache genutzt wird. Das heißt, einmal übersetzen lassen und irgendwo ablegen. Bei dem MVC-Pattern legt man den beim Model ab.
 
Die gettext Variante sieht sehr gut aus!


Ist es einfacher, vorher mehrsprachigkeit einzubauen?
Oder ist es relativ unaufwändig nachher auf 2 oder mehrsprachigkeit umzurüsten?!


Da wir wahrscheinlich schon mit der deutschen Seite genug zu tun haben werden ;)
 
Zurück