mikrocontroller.net

Forum: PC-Programmierung C# App. Sprache umstellen


Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Terry (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Herbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Rinde (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke nochmals an alle für die Vorschläge.

Das hier hat geholfen:

http://dzaebel.net/LocalizeRuntime.htm

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.