Internationalisierung

Hallo Experten,

es geht um das Thema Internationalisierung. Bisher habe ich das folgendermaßen gelöst:

Die Texte sind in einem Dictionary gespeichert.
Die Sprache des Benutzers ist in der Session gespeichert.
Auf jeder ASP-Seite werden die benötigten Texte für alle Sprachen definiert:


Dim dL
Set dL = CreateObject(„Scripting.Dictionary“)

dL.Add „de_1“,"-- Bitte auswählen --"
dL.Add „en_1“,"-- Please select --"

und so ausgegeben:



Jetzt soll aber bald Französisch als dritte Sprache hinzukommen. Da es nicht erwünscht ist, alle
ASP-Seiten dafür bearbeiten (lassen) zu müssen, möchte ich die Mehrsprachigkeit anders regeln.
Also nicht mehr auf jeder ASP-Seite. Die Texte in die Datenbank zu packen kommt auch nicht in Frage.
Hab ich schon ausprobiert - ist viel zu langsam.

Was gibt es sonst noch für Möglichkeiten (evtl. Texte in Textdatei, die dann included wird?).
Über Anregungen würde ich mich freuen.

Grüße, piranja

hallo piranja,

ich glaube ehrlich gesagt nicht, das die seite mit datenbank-anbindung wesentlich langsamer wird…

ausser natürlich, an der datenbank ist was faul(tabellendesign, keys, views…etc)

asp.net ist doch angeblich viel schneller als herkömliches asp – schonmal daran gedacht?

ICH würde je nach auswahl die sprache in einem steuerelement speichern(wie label), da sich die session irgendwann „verliert“ und jede stelle mit text in deinen seiten in einer datenbank ablegen. je nach auswahl frage ich dann die db nach dem jeweiligen text.

bei einer halbwegs gut designten tabelle(z.b. eindeutige zugriffs und sprachs-id) sollte der zugriff ratzi-fatzi erfolgen.

die von dir angedachte version mit textdateien ist meiner meinung nach auf jeden fall langsamer

viele grüße

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich hatte einmal ein Projekt mit Deutsch / Englisch / Französisch und Spanisch, es handelte sich hierbei um Datenblätter mit Angaben und Beschreibungen sowie eMail Formulare. Das habe ich (2000/2001) alles in eine Tabelle mit einem keyword Index gepackt und dann die Formulare nur mit den keywords ausgefüllt und je nach Sprache dann die Einträge aus der Tabelle geholt und das Formular übersetzt.
Gehostet wurde die Site bei Schlund + Partner und ich konnte keine Geschwindigkeitseinbussen feststellen.
Mein damaliger Chef hat zwar den Vorschlag gemacht, ein CMS zu erstellen mit dessen Hilfe dann HTML-Seiten generiert und dargestellt werden, was bei wenig zu änderden Texten / Seiten / Informationen sicherlich auch eine gute Möglichkeit wäre, da die Datenbank nur der Generierung belastet werden würde.

Hallo zusammen, vielen Dank für eure Antworten.
Ich mach’s jetzt wie gehabt, als Scripting.Dictionary, allerdings alle Texte des Projekts auf einer (Include-)Seite pro Sprache.
Funktioniert prima, ist sehr schnell und die Texte sind trotzdem separat, vom Code getrennt, pflegbar.
LG, piranja

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]