Mehrsprachige Anwendung

MichiStroi

Erfahrenes Mitglied
Hi!

Hat jemand Erfahrungen beim Erstellen von mehrsprachigen Anwedungen.

Ich hab mal irgendwo ein Tool gefunden, dass man in VS integrieren kann, dass das ganze unterstützt.
Gibt es Alternativen?
Kann man soetwas auch für Sharp Develop bekommen?


Danke
Michi
 
Wieso ein externes Tool? VS kann das doch von Haus aus ...

Bei den Forms Localizable auf true stellen und entsprechende Ressource-Files zur Verfügung stellen. Das sollte auch bei #Develop kein Problem darstellen.

Artikel zu diesem Thema findest Du im Web und auf der MSDN genug. Einfach nach C# und Localizable suchen ...

Kannst Dir zum Beispiel diesen Link genauer ansehen.
 
Hi!

Ich hab mir sämtliche Seiten durchgelesen...

Also ich mache ein paar Ressourcen-Dateien(wie auch immer die aussehen sollen) und gebe meinen Elementen als Text Eigenschaft eine Variable mit einem String aus der Ressource.

Ist das so korrekt?
In VS kann man doch eine Ressourcen-Datei mittels Datenbank erstellen.
Wie wird diese verwendet?

Danke
Michi
 
Hallo,

ich habe bei meiner Anwendung die Labels in eine Datenbank geschrieben (da die Anwendung mit einer Datenbank arbeitet - es wäre aber sicher auch xml möglich).
Eine Tabelle mit einem Key und je Sprache eine Spalte.
Die Spaltennamen zeige ich in der Applikation in einem Pulldown-Menü zum Ändern an.

Benötigt man eine weitere Sprache lege ich einfach eine Spalte in der Tabelle an (Spaltenname = Sprachenkürzel) und gebe die Labels ein.

Damit brauche ich nichts an der Applikation zu änderen wenn ich eine weitere Sprache benötige.

Ist vielleicht nicht der professionellste Weg aber ist leicht zu pflegen und für mich einfach zu realisieren (arbeite auch noch nicht so lange mit C#)

Kannst Dir ja mal die Lösung ansehen MyFotoAlbum

Ciao,
Thorsten
 
Hallo Thorsten!

Danke für deine Antwort!
Die Idee mit der Datenbank find ich toll! Ich verwend ja auch den selben Datenbank-Typ.

Ein paar Fragen hätt' ich da an dich...
Du verwendest im SQL-String "[Language]" in eckigen Klammern.
Was bewirkt das bei deiner Abfrage? Ist das das gleiche wie das >'< einzelne Hochkomma?


Und zu #Develop hät ich auch noch ne Frage...
Wenn ich in #Develop eine neue Form hinzufüge, fehlen (glaube ich zumindest) die Ressourcen-Einträge (zumindest bei der aktuellen Version 1.0). Wenn ich ein Projekt aus VS importiere funktionierts allerdings! Hast du da vielleicht eine Lösung für mich?

Danke
Michi
 
Hallo Michi!

Ich habe die [-Klammern verwendet weil ich bei einem SQL Probleme hatte - anscheinend hatte ein Feld oder Tabelle den gleichen Namen wie ein Schlüsselwort bei SQL - Programm stürzte immer bei EXECUTE ab. Mit den Klammern um die Feld- und Tabellennamen hatte ich keine Probleme mehr.

Ich habe nur ein Problem gehabt das vielleicht auch mit den Ressourcen zusammenhägt. Ich habe die Buttons in einer ImageList eingefügt. Die Icons sollten ja eigentlich auch als Ressource hinzugefügt werden. Wenn man den Source auf einem Win 2000 Rechner öffnete war die ImageList leer - keine Ahnung warum. Mit VS gibt's da keine Probleme. Ich lade die Icons jetzt zur Laufzeit in die ImageList. Muß aber gestehen ich hab mir das mit den Ressourcen noch nicht wirklich angeschaut!

Ciao,
Thorsten
 
Danke!

Hast du dir schon was überlegt wie du die Datenbank bei Produktupdates, Neuinstallation behalten kannst und diese nicht ersetzt wird?
Steh nämlich gerade vor diesem Problem :)

Michi
 
Hallo,

also ich würde in die Datenbank eine Tabelle einfügen in der ich alle Änderungen mit Versionsnummer protokolliere.
Beim Starten der Anwendung die Tabelle auslesen und anhand der Einträge ermitteln welche Änderungen noch nicht gemacht wurden.
(Hier kannst Du auch ermitteln ob vielleicht die Datenbank neuer als die Applikation ist)
Mit SQL Statements kannst Du dann Tabellen oder Spalten anlegen die notwendig sind oder Datenupdates durchführen.

Ciao,
Thorsten
 
Hi!

Heißt das, dass du die Datenbank nicht mitliefern sondern beim erstmaligen Ausführen der Anwendung erstellen würdest?
Ist zwar komplizierter aber machbar. Und damit fällt das mit dem Update auch weg. Ich muss nur aufpassen, dass beim deinstallieren die Db nicht gelöscht wird.

Danke!
Michi
 
Hallo,

die Basisdatenbank würde ich schon mitliefern - sonst wäre es wirklich einiges an Aufwand - ich würde nur die Änderungen programmtechnisch nachführen wenn die Datenbank von einer älteren Version vorhanden ist.
Dann musst Du bei einem Update nachsehen ob's schon eine Datenbank gibt oder nicht - wenn nicht dann die von dem Programm installieren oder wenn eine vorhanden ist dann updaten.

Ciao,
Thorsten
 
Zurück