Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Webseite mehrsprachig gestalten (https://www.delphipraxis.net/66973-webseite-mehrsprachig-gestalten.html)

Matze 7. Apr 2006 11:15


Webseite mehrsprachig gestalten
 
Moin,

ich bin gerade dabei, eine mehrsprachige Webseite zu erstellen. Die Beschriftungen, die immer fest sind, kann ich leicht in eine php-Datei auslagern, die immer so aufgebaut ist:

Code:
$lang['wellcome'] = 'Willkommen';
$lang['firm'] = 'Firma';
Also nur als Beispiel. Je nach gewählter Sprache binde ich per include() dann die zugehörige Sprachdatei ein. So habe ich mir das zumindest vorgestellt und ich denke, das geht auch so ohne Probleme. Doch wie löst man das mit dynamischen Texten? Momentan werden diese in der Datenbank abgelegt, doch ich möchte eigentlich nicht pro Sprache eine extra Spalte anlegen. Geht das irgendwie einfacher und elegenater oder ist das bereits eine elegante Lösung?

mkinzler 7. Apr 2006 11:19

Re: Webseite mehrsprachig gestalten
 
Ich würde die Tabelle um ein weiteres Feld erweitern, dort das land ablegen, und die where-Clause der Abfrage um dieses Feld erweitern.

Matze 7. Apr 2006 13:17

Re: Webseite mehrsprachig gestalten
 
Zitat:

Zitat von mkinzler
Ich würde die Tabelle um ein weiteres Feld erweitern, dort das land ablegen, und die where-Clause der Abfrage um dieses Feld erweitern.

Hm, also dann doch eine neue Spalte. Dann werde ich das so machen, dankesehr. :)

mkinzler 7. Apr 2006 13:22

Re: Webseite mehrsprachig gestalten
 
Um eine Erweiterung der Tabelle wirst du wohl nicht herumkommen. Aber du kannst vermeiden pro Sprache ein weiteres Feld anzulegen. dafür hast du aber pro Sprache und String einen Datensatz.

Matze 7. Apr 2006 14:34

Re: Webseite mehrsprachig gestalten
 
Hi

Zitat:

Zitat von mkinzler
Aber du kannst vermeiden pro Sprache ein weiteres Feld anzulegen. dafür hast du aber pro Sprache und String einen Datensatz.

du meinst etwas wie das hier?

Code:
id |  lang | title           |  text
-------------------------------------------------------
1   |   de  | Der Titel       |   Text auf Deutsch
2   |   en  | The title       |   Text in English
Das müsste schon gehen, aber ob das nun eine so gute Lösung ist, kann ich gerade nicht beurteilen, aber schlecht wäre das sicher auch nicht. :)

mkinzler 7. Apr 2006 14:39

Re: Webseite mehrsprachig gestalten
 
Die Datensatze brauchen nur noch einen Kenner, das sie zusammengehören:

Code:
id | str | lang | title           |  text
---------------------------------------------------------
  1  |  TITLE | de  | Der Titel       |   Text auf Deutsch
  2  |  TITLE | en  | The title       |   Text in English
  3  | WELCOME | de | Willkommen      | Herlich willkommen
  4  | WELCOME | de | Welcome        | ...
SQL-Code:
Abfrage dann select tirle, text from tabelle where str = :strname and lang = :lang;

Matze 7. Apr 2006 21:03

Re: Webseite mehrsprachig gestalten
 
Moin

Danke. Also jeden String werde ich dann nicht in die DB schreiben, das wäre wohl übertrieben, aber die Texte, die dynamisch über's Adminpanel angelegt werden können, werde ich dann so verwalten. :)

3_of_8 7. Apr 2006 21:08

Re: Webseite mehrsprachig gestalten
 
Also das WoltLab Burning Book, das ja multilingual ist, macht das genauso. Optional gäbe es noch die Möglichkeit, eine PHP-Sprachdatei dynamisch zu erstellen, jedesmal wenn die Texte geändert werden.

Nicodius 7. Apr 2006 21:34

Re: Webseite mehrsprachig gestalten
 
nur nebenbei - welcome mit einem l

grüße Nico

Matze 8. Apr 2006 19:48

Re: Webseite mehrsprachig gestalten
 
Hi

@3_of_8: Danke, dann löse ich das so wie das WoltLab Burning Book. Dynamische Dateien anlegen ist erstens langsam und zweitens gefällt's mir nicht. *g*
@Nicodius: :oops: Das mache ich immer wieder falsch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:59 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz