tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
1020
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Xervek Xervek ist offline Mitglied Silber
    Registriert seit
    Oct 2005
    Beiträge
    61
    Hallo,

    mal wieder nen kleines Problem. Nehmen wir mal an, wir haben ein Programm mit 3 Button. Diese 3 Buttons haben folgende Namen
    "cmd_german"; "cmd_english"; "cmd_close";

    Beim Klick auf den "German" Button möchte ich nun, dass der "cmd_close" button "Beenden" anzeigt. Beim Klick auf "cmd_english" möchte ich, dass er mir "Close" anzeigt. Theoretisch einfach, praktisch würde ich das ganze aber gerne so umsetzten, dass es 2 Sprachdateien gibt welche sich "german.lng" und english.lng" nennen. Einen Weg das ganze Auszulesen und umzusetzten habe ich bereits gefunden, ist nur irgendwie extrem, wirklich saumäßig umständlich wie ich bisher finde. Und zwar mache ich das ganze bisher so:

    Dim zeileninhalt(1 To 150) As String

    Daraufhin lasse ich die Datei auslesen und speichere den Inhalt in den Strings von 1-150. Dannach kommt beim Button beispielweise "cmd_close.caption = zeileninhalt(65)" Einmal lasse ich den Inhalt (sofern gewünscht) aus einer "german.lng" auslesen, einmal aus einer "english.lng" damit ist es mir möglich ein simples, multilinguales Programm zu schreiben.
    Nun möchte ich diese Sprachdatei aber umschreiben. Der Inhalt soll derzeit beispielweise folgender sein:

    "cmd_beenden.caption = "Beenden"". Also das in der .lng dieser Inhalt steht. Dannach im Programm einfach in einer Variable speichern und fertig. Soweit so gut, wie WENDE ich diese Variable denn nun aber an? Sicher versteht ihr aber gar nicht, was ich von euch will

    Nochmal anders, ich habe eine Variable folgenden inhalts "ger = cmd_close.caption = "Beenden"", wie kann ich das jetzt anwenden? Wenn ich einfach die Variable eintrage funktioniert das nicht, mit Load ebenfalls nicht.

    Oder besteht eventuell eine noch einfachere, zuverlässigere Möglichkeit, ein Programm mit mehreren Sprachen zu schreiben?

    Vielen Dank im Voraus!
     

  2. #2
    Avatar von wincnc
    wincnc wincnc ist offline Mitglied Platin
    Registriert seit
    Aug 2004
    Beiträge
    632
    Hallo, das macht man mit einer Resourcendatei *.res

    Die wird in das Projekt mit eingebunden.
    Ich habe Dir ein Beispielprojekt angehängt.
    Wenn Du bei den Regions- und Sprachoptionen in der Systemsteuerung die Ländereinstellung auf Englisch(USA) oder auf Französisch(Frankreich) änderst, dann ändert sich auch die Beschriftung des Buttons.
    Angehängte Dateien Angehängte Dateien
     

  3. #3
    Xervek Xervek ist offline Mitglied Silber
    Registriert seit
    Oct 2005
    Beiträge
    61
    Hallo,

    das sieht ja bereits sehr schön aus, allerdings kann man damit doch nur die Buttons selbst übersetzten, oder? Also angenommen ich habe ein Programm mit einem Label on welches ich einmal schreiben möchte

    "Hallo, lange nicht gesehen. Wie du weißt bin ich jetzt grade deutscher."
    "Hello, long time we dont see us. You know I am an english man in new york"

    Oder wird dieses Programm automatisch mit dem kompletten Inhalt übersetzt?

    Wie gesagt, ich habe in diesem Programm mehrere forms in denen ne ganze Menge Text steht welcher aus einer (zwei) Dateien ausgelesen wird und somit 2 Sprachen ermöglicht, hierbei scheint es mir so zu sein, dass es nur mit den Button funktioniert.

    Trotzdem danke für die Hilfe schon mal!
     

  4. #4
    Avatar von wincnc
    wincnc wincnc ist offline Mitglied Platin
    Registriert seit
    Aug 2004
    Beiträge
    632
    Hallo, das funktioniert genauso.
    Beispiel:
    Angehängte Dateien Angehängte Dateien
     

  5. #5
    Xervek Xervek ist offline Mitglied Silber
    Registriert seit
    Oct 2005
    Beiträge
    61
    Hallo,

    wow genau soetwas habe ich gesucht. Vielen Dank dafür. Drei Fragen habe ich jetzt aber dennoch zu dem ganzen

    Ist es möglich die .res Dateien auch in einen bestimmten Unterordner zu legen und dann auszulesen? Beispielweise habe ich mein Hauptprogramm im Root und möchte nun nen Ordner machen "language" und die .res Files da rein legen, wie lese ich diese dann aus?

    Wie binde ich diese Datei denn ein? Ich habe nichts dergleichen gefunden beim "Hinzufügen".

    Und jetzt das was ich am Wenigsten verstehe... wie bearbeite ich diese Dateien? Und wovon mache ich es aus ob ich LoadResString(1000) oder LoadResString(5000) wähle?

    Generell ist das alles was ich haben möchte nur komme ich damit grade irgendwie gar nicht zurecht.
     

  6. #6
    Avatar von wincnc
    wincnc wincnc ist offline Mitglied Platin
    Registriert seit
    Aug 2004
    Beiträge
    632
    Hallo, klicke in der IDE im Menü mal auf Add-Ins -> Add-In-Manager, wähle den
    VB 6 Resoucen-Editor aus. Bei Ladeverhalten markierst Du Laden/Entladen. Jetzt ein Klick auf OK. Im Menü Projekt -> Datei hintzufügen wählst Du die *.res Datei aus.
    Bei den Projekteigenschften hast Du jetzt einen Eintrag Verbundene Dokumente.
    Da kannst Du die *.res Datei doppelklicken und dann bearbeiten.
    Die *.res Dateien werden beim Kompilieren in der *.exe eingebunden. Die brauchst Du nicht mit Deiner Anwendung mitzugeben.
     

  7. #7
    Xervek Xervek ist offline Mitglied Silber
    Registriert seit
    Oct 2005
    Beiträge
    61
    Hallo,

    vielen Dank! Klappt wirklich wunderbar das Ganze! Vielen Dank für die nette und schnelle Hilfe.
     

  8. #8
    Avatar von mage
    mage mage ist offline Mitglied Platin
    Registriert seit
    May 2002
    Ort
    Berliner Speckgürtel
    Beiträge
    707
    Dann bitte den Thread als Erledigt markieren.
     
    Allen ist das Denken erlaubt, vielen bleibt es erspart. (Kurt Goetz)

Ähnliche Themen

  1. Wie z-index anwenden?
    Von CEZ im Forum CSS
    Antworten: 32
    Letzter Beitrag: 05.06.09, 18:04
  2. XMLTextReader wie anwenden?
    Von multitasker im Forum .NET Datenverwaltung
    Antworten: 3
    Letzter Beitrag: 25.02.09, 10:11
  3. 2 Filter anwenden
    Von c-hilgert im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 14.03.05, 13:21
  4. Tiefenschärfe anwenden
    Von deppjutie im Forum 3D Studio Max
    Antworten: 4
    Letzter Beitrag: 10.05.04, 18:45
  5. Max scripts anwenden ****
    Von lucky501 im Forum 3D Studio Max
    Antworten: 1
    Letzter Beitrag: 05.08.01, 01:57