Hallo alle zusammen, ich benötige ein paar Denkanstösse zu folgendem Problem: Ich hab eine WindowsForms Anwendung da sind ein Haufen von Labels,DomainUpDowns,Tabcontrols usw.. gefüllt mit Strings(Deutsch). Ich will jetzt im Menü eine Sprachauswahl bereitstellen die mir alle Objekte mit der Sprache Englisch füllt. Mein Gefühl sagt mir das das nicht so einfach wird. Hat jemand ein paar Gedanken,Links zu diesem Thema damit mir die Realisierung leichter fällt? Danke
Möglichkeiten zum Ablegen der Texte: 1. hardcodiert im Sourcecode 2. Resourcen-Datei 3. kleine Datenbank 4. XML-Datei Ich nutze oft eine kleine Access-Datenbank für meine Daten. Da bietet es sich an dort auch die Texte mit abzulegen. Ich habe auch schon mit XML-Dateien gearbeitet, die dann von einem Kunden später selbst mit anderen Sprachen erweitert werden konnte. Der Vorteil von XML gegenüber einer DB ist, man hat keine Vorgaben bzgl. der Textfeldgröße und spart dadurch Speicherplatz sowie Ärger wenn das Feld der DB zu klein demonsioniert wurde. Mit Resourcen-Dateien hab ich bis jetzt nur Bilder verwaltet. Zur Textverwaltung kann ich nichts sagen. Du musst überelgen, wie viel Text du hast und wie oft du diesen Updaten willst. Text direkt im Code ist wahrscheinlich die schnellste Variante, man erspart sich das Einlesen aus einer Datei oder Datenbank. Sowie die Arbeit erstmal alles zu erstellen usw. Viele Wege führen zum fertigen Programm MfG Terry
Hallo. Das klingt nach einer recht interresanten Aufgabe. Ich denke nicht, das es da etwas gibt, das Dir Deine Steuerelemente automatisch umbenennt. Bleibt vielleicht nur der manuelle Weg?! Du gehst Deine Steuerelemente einzeln durch und beschriftest sie um. Um die Sache handlicher und übersichtlicher zu machen bietet es sich an, eine Liste anzulegen wo zu jedem Steuerelement ein paar Daten hinterlegt werden. z.B.: - ZielAttribut (Caption oder Text, kann ja auch schon ein Handle sein) - deutsches Wort - englisches Wort Viel Spaß dabei!
Hier ein beispiel um zur laufzeit umzustellen. http://dzaebel.net/LocalizeRuntime.htm Schau dir auch mal an wie man das ganze in Visual Studio macht. Form auswählen eigenschaften und dan ->Localizable auf true Dann entsprechende ->Language auswählen. Erzeugt dann für jede Sprache eine .resx Datei Damit wird auch die Form für die entsprechende Sprache angepasst, z.b. Steuerelementepositionen usw. Da sich bei einigen Strings, doch mal, die Länge deutlich unterscheiden kann.
Florian hat Recht, VS bietet dir da eine wunderbar einfache Möglichkeit. Da brauchst du definitiv nichts eigenes zu programmieren und schon gar keine Datenbak nutzen!
Hallo, danke nochmals an alle für die Vorschläge. Das hier hat geholfen: http://dzaebel.net/LocalizeRuntime.htm
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.