Frage

Ich habe mehrere große MFC-Anwendungen hier bekam und sie in ein anderes Format konvertieren ist indiskutabel. Wir in andere Märkte erweitert, und möchten die Apps machen in anderen Sprachen und Kulturen zu arbeiten.

Bisher habe ich gelegentliche Hinweise gefunden, was mit Visual C ++ Version 6, mit einer Erwähnung zu tun, die späteren Versionen von MFC zusätzlichen relevanten Funktionen. MSDN Suche gibt mir Anweisungen, wie die Anwendungen in Unicode zu konvertieren, die wir bereits getan haben. Ich fand nichts auf MSDN, wie Sprachen machen mehrsprachig, wenn sie in Unicode sind, nur ein paar ältere Sachen mit Google, und ein Buch über die Internationalisierung mit VC ++ 6. (Wir verwenden Visual Studio 2008 jetzt auf XP und Vista.)

Ich mache keine Ansprüche für die Stärke meines Google-fu, und würden uns freuen, um die Dinge zu richten ich verpasst habe.

Ist es sinnvoll, die Methoden der VC ++ 6, zu verwenden, oder soll ich später Eigenschaften?

Wenn ich Funktionen später als verwenden sollten, wo kann ich einen Hinweis auf sie finden?

Gibt es etwas, was ich über andere Sorge sollte als die Lokalisierungs-Einstellungen, alle Strings auf Ressourcen umzuwandeln und Duplizieren von Ressourcen in verschiedenen Sprachen?

kann ich mehr Dinge über .NET Internationalisierung finden, aber ich bin unerfahren in .NET. Was werde ich dort finden, das ist für VC ++ und MFC?

Edit: Ich lief in Schwierigkeiten versucht, Unicode-Strings in die String Tabelle Ressource zu setzen. (Soweit ich das beurteilen kann, müssen Unicode-Strings in der RC-Datei mit einem Texteditor, in L „0x0034“ Formular eingegeben werden. Ich habe keine Ressourcen-Editor Weg gefunden, das zu tun.) Irgendwelche Tipps dazu? Jede andere Ressource, die ich in VS2008 mit VC ++ und MFC verwenden kann?

Edit: Jemand auf einem Microsoft-Forum vorgeschlagen, dass ich die beanstandete RC-Datei in Notepad öffnen und es in Unicode speichern. Leider scheint dies nicht die Dialoge zu beheben, obwohl der String in Japanisch zu funktionieren scheint.

War es hilfreich?

Lösung

Es gibt viel mehr als nur übersetzen „Strings“, um eine Anwendung zu internationalisieren.

Die meisten Ihrer UI müssen aktualisiert werden, berücksichtigen die unterschiedlichen Textlängen und Sprachausrichtung (Sache Hebräisch, Chinesisch, Arabisch, ...)

Einige Bilder werden auch eine andere Kultur geändert werden müssen, um passen (ich leider kein Beispiel habe dafür), entweder die figurative unterschiedlich ist oder die Farben nicht passen lokale Spezifikationen.

Wir haben ein Tool verwenden wie appTranslator uns helfen, die kosmetische Lokalisierung zu tun (UI Neuformatierung) verwenden und einen professionellen technischen Übersetzer für die Saiten.

Andere Tipps

Sie können auch eine Ressource nur DLL erstellen

Siehe Wie Lokalisierte Ressourcen-DLLs für MFC-Anwendung , um weitere Informationen zu erstellen.

Sie können Ihre Anwendung mit den folgenden Möglichkeiten internationalisieren.

Nachdem Sie die Anwendung in Unicode konvertiert (Sie bereits getan haben) und alle Saiten sollten von String-Tabelle geladen werden.

  1. Für jede Sprache müssen Sie die Zeichenfolge-Tabelle ändern und kompilieren

  2. Eine weitere Möglichkeit ist es, eine XML-Datei zu erhalten, die alle Fäden in dem lokalisierten Format enthält. Laden Sie die xml und Strings abhängig von der Sprache.

Hier ist ein Codeproject Artikel von mir, die sehr „Codierung effiziente Methode“ beschreiben Strings aus der Stringtabelle (erforderlich für übersetzbare Texte) zu ziehen: http://www.codeproject.com/KB/string/stringtable.aspx

Hier ist eine andere Klasse, die Ihre Anwendung die richtige Sprache der Benutzeroberfläche wählen helfen. Es hilft Ihnen auch eine Sprachauswahlmenü zu erstellen: http://www.codeproject.com/KB/locale/LanguageMenu.aspx

Last but not least, appTranslator ist ein Werkzeug, das Sie die Benutzeroberfläche Ihrer App hilft zu übersetzen, erkennen, welche Änderungen wurden in Ressourcen seit der letzten Version gemacht, erstellen übersetzt exe oder Ressourcen-DLLs und vieles mehr: http://www.apptranslator.com

(Anmerkung:. Ich bin der Autor von appTranslator)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top