MSDN Chat - Lokalisierung und Internationalisierung

Veröffentlicht: 03. Jun 2003 | Aktualisiert: 11. Nov 2004

Von Achim Ruopp und Rainer Grau

Zusammenfassendes Transkript der Fragen und Antworten vom 16.04.2003

Wir möchten Sie darauf aufmerksam machen, dass es sich in diesem Transkript nicht um die exakten Zitate der Teilnehmer handelt. Wir haben die Kommentare im Rahmen der besseren Verständlichkeit angepasst.

* * *

Willkommen zum heutigen Chat. Das Thema dieser Chatsitzung lautet Lokalisierung und Internationalisierung. Wir stellen uns gleich mal selber vor.

AR_A: Mein Name ist Achim Ruopp und ich bin Internationaler Program Manager für Visual Studio. Ich beschäftige mich speziell damit, Lokalisierung und Internationalisierung in unserem Produkt zu ermöglichen.

RG_A: Mein Name ist Rainer Grau. Ich bin Geschäftsführer der SoUCon GmbH. Ich beschäftige mich mit dem Design und der Implementierung von mehrschichtigen internationalen Anwendungen.

F: Welche Möglichkeiten existieren bzgl. Ressourcen (DialogBoxen), Internationalisierung und Ms Pocket PC?
AR_A: Holger, die Möglichkeiten sind fast äquivalent zu denen für den Desktop. dazu hab ich vor kurzem einen Vortrag gehalten - verfügbar unter http://www.microsoft.com/globaldev/reference/presentations/unicode23/a336.ppt. Ich hoffe das hilft.
AR_A: Wenn man die eingebaute Windows Forms-Lokalisierung für den PocketPC verwendet treten manchmal Performance-Probleme auf. Die Beispielanwendung WorldClock, die in VS.NET 2003 enthalten ist zeigt Alternativen auf.

F: Sind Probleme bekannt, die beim umschalten der Sprachen im VS-Designer auftreten?
F: Konkret: Beim Verwenden von Panels und darin eingebetteten Windows-Forms-Controls tritt verstärkt das Phänomen auf, dass nach dem Umschalten der Sprache die eingefügten Dialogelemente nicht mehr an ihrem Platz bzw. in Ihrem Container sind.
AR_A: [.] Dass Dialogelemente nicht an der gleichen Stelle sind ist zu erwarten, wenn diese in einer Sprachversion eines Forms an diese Stelle bewegt wurden, aber nur dann. Andernfalls ist das ein Fehler.

F: Beim Einsatz von Panels und darin eingebetteten Windows.Forams.Controls tritt beim Wechsel der Sprache im Designer häufig das Problem auf, dass danach weder Panels noch deren Controls an der richtigen Stelle, mit der richtigen Größe bzw. im eingestellten Container erscheinen. Wie ist das zu erklären, und wie kann ich dieses Verhalten ändern?
AR_A: Das scheint ein Bug zu sein. Ich nehme an dies ist in Visual Studio.NET 2002? Wir können ja mal prüfen, ob das in Visual Studio.NET 2003 behoben ist.

F: Ja, es ist VS2002 mit .NET 1.0 SP2, ich hatte bis jetzt keine Gelegenheit das neue Studio zu testen, um zu sehen, ob dort das Problem auftritt.
AR_A: Schick mir doch eine Beschreibung des Fehlers (mailto:achimru@microsoft.com), dann probier ich's aus.

F: Das Problem tritt meist erst auf, wenn neue Controls in einen schon lokalisierten Dialog eingefügt werden.
AR_A: Das ist natürlich etwas problematisch, da der Code für die Windows Form ja der gleiche bleibt. Gibt es denn driftige Gründe neue Controls zum lokalisierten Dialog hinzuzufügen?

F: Ja, es gibt triftige Gründe. Da die Dialog erstellt werden um Einstellungen anderer Programme darzustellen, und zu verändern. Es kommt häufig vor, dass bestimmte Einstellungen nicht mehr dargestellt werden sollen, oder neue erstellt werden müssen
F: Wie wird entschieden, welche Produkte oder Inhalte lokalisiert werden und welche nicht?
RG_A: Diese Entscheidung trifft eher das Marketing als die Programmierung. Tatsache ist, dass wenn eine "Übersetzen" in eine Andere Kultur benötigt wird, dann ist alles zu übersetzen einschließlich Fehlermeldungen, Icons, etc.
RG_A: Insbesondere ist auch auf die Darstellung von Datumsformaten, Währungen etc. zu achten.

F: Kann jemand hier Fragen zum Enterprise Localization Toolkit beantworten?
AR_A: Hm, leider nicht, das kommt nicht von unserer Gruppe und ich hab es noch nicht ausprobiert. Aber ich kann gerne Fragen weiterleiten [Anm. d. Ed. http://msdn2.microsoft.com/library/Aa479334]

F: Anderes Problem, tritt sporadisch auf: Beim Öffnen eines (mehrsprachigen) Dialogs im Designer erscheint nicht der Dialog, sondern eine Fehlerseite, in der steht, dass eine Variable mehrfach bzw. nicht richtig deklariert ist. (genauen Wortlaut kann ich im Moment nicht wiedergeben). Beim öffnen der gleichen Datei auf einem Anderen Computer mit der gleichen Software tritt diese Problem nicht auf
RG_A: Dieses Problem habe auch ich bereits beobachtet und es scheint ein Bug zu sein. Meiner Erfahrung nach ist diese Problem nach einem Abmelden und wieder Anmelden an die Arbeitsstation behoben. Ein alleiniges Beenden von VS.NET genügt nicht.

F: Wird es in Zukunft eher mehr oder weniger echte mehrsprachige Produkte geben, die nicht nur eine bestimmte Sprache unterstützen? Siehe Mac OS X.
AR_A: Ja, das ist ein allgemeiner Trend bei Microsoft - speziell Windows (http://www.microsoft.com/globaldev/reference/muizone.mspx), aber auch Office etc. Auch das .NET Framework kann parallel in verschiedenen Sprachen installiert werden.

F: An wen kann man sich außerhalb dieses Forums wenden, wenn man Fragen zur Lokalisierung hat?
RG_A: Ich stehe selbstverständlich für Fragen zur Verfügung. Ich bin zu erreichen unter rainer.grau@soucon.de
AR_A: Für Anwendungen die von Ihnen erstellt wurden am besten Übersetzungsfirmen. Wir haben gerade erst ein Partnerprogramm etabliert, das dies erleichtert: http://msdn.microsoft.com/vstudio/partners/localization

F: Gibt es Möglichkeiten, die mehrsprachigen Ressourcen, in die Assemblies einzukompilieren (vgl. C++ Anwendungen), und keine Satellite-Assemblies zu verwenden?
RG_A: Das funktioniert mit dem Erstellen von Multi Module Assemblies und dem Einsatz des Assembly Linkers al.exe.
RG_A: Allerdings ist dann die Implementierung mittels ResourcesManager Objekten "von Hand" durchzuführen.
AR_A: Ja, gibt es wie Rainer schon erklärt hat. Ist aber davon abzuraten - Sprachen können nicht ohne Neukompilierung hinzugefügt/entfernt werden, es ist nicht möglich Codefehler unabhängig von den Sprachresourcen zu beheben etc.