2008-09-12 7 views

Antwort

0

würde ich vorschlagen:

  1. Legen Sie alle Strings entweder in der Datenbank oder Ressourcendateien.
  2. Lassen Sie zusätzlichen Platz für übersetzten Text, da einige (z. B. Deutsch) sind mehr wörtlich.
23

Ein paar Dinge, die ich gelernt habe:

  • Absolut und brutal die Anzahl der Bilder minimieren Sie die Text enthalten. Dadurch wird Ihr Leben um eine Milliarde Prozent einfacher, da Sie nicht für jede schwierige Sprache einen neuen Bildersatz benötigen.

  • Seien Sie vorsichtig bei der CSS-Positionierung, die darauf beruht, dass die Dinge immer die gleiche Größe haben. Wenn diese Dinge Text enthalten, werden sie nicht bleiben die gleiche Größe, und Sie müssen dann gehen Sie zurück und beheben Sie Ihre Entwürfe.

  • Wenn Sie Zeichentypen in Ihren SQL-Tabellen verwenden, stellen Sie sicher, dass alle, die internationale Eingaben erhalten können, Unicode sind (nchar, nvarchar, ntext). In diesem Fall würde ich nur die Unicode-Versionen standardisieren.

  • Wenn Sie SQL-Abfragen dynamisch erstellen, stellen Sie sicher, dass Sie das Präfix N vor jedem zitierten Text einfügen, wenn die Wahrscheinlichkeit besteht, dass der Text Unicode ist. Wenn Sie Müll in eine SQL-Tabelle schreiben, prüfen Sie, ob das da ist.

  • Stellen Sie sicher, dass alle Ihre Webseiten definitiv angeben, dass sie im Unicode-Format vorliegen. Siehe den oben erwähnten Artikel von Joel.

  • Sie werden für dieses Projekt viel Ressourcendateien verwenden. Das ist gut - ASP.NET 2.0 bietet dafür eine große Unterstützung. Sie sollten sich den Ordner App_LocalResources und App_GlobalResources sowie GetLocalResourceObject, GetGlobalResourceObject und das Konzept von meta: resourceKey ansehen. Kapitel 30 von Professional ASP.NET 2.0 hat diesbezüglich einige großartige Inhalte. Die Version 3.5 des Buches mag auch dort gute Inhalte haben, aber ich besitze sie nicht.

  • Denken Sie über Schriftarten nach. Viele der Standardschriftarten, die Sie möglicherweise verwenden möchten, sind nicht Unicode-fähig. Ich hatte immer Glück mit Arial Unicode MS, MS Gothic, MS Mincho. Ich bin mir nicht sicher, wie plattformübergreifend das ist. Beachten Sie außerdem, dass nicht alle Zeichensätze die gesamte Unicode-Zeichendefinition unterstützen. Wieder testen, testen, testen.

  • Beginnen Sie jetzt darüber nachzudenken, wie Sie Übersetzungen in dieses System bekommen. Sprechen Sie mit Ihrem Übersetzungsdienstleister darüber, wie Daten für die Übersetzung ausgetauscht werden sollen. Denken Sie darüber nach, dass Sie mit Ihren lokalen Ressourcendateien wahrscheinlich einige häufig verwendete Strings über das System wiederholen. Normieren Sie diese in globale Ressourcendateien oder haben Sie eine Art Datenbankschicht, auf der nur eine Kopie jedes verwendeten Textes generiert wird. In unserem letzten Projekt verwendeten wir Ressourcendateien, die aus einer Datenbanktabelle generiert wurden, die alle Übersetzungen und die ursprüngliche englische Version der Ressourcendateien enthielt.

  • Test. Generell werde ich auf Deutsch, Polnisch und einer asiatischen Sprache (Japanisch, Chinesisch, Koreanisch) testen. Deutsch und Polnisch sind wortwörtlich und fast garantiert, Textbereiche zu strecken, asiatische Sprachen verwenden einen völlig anderen Zeichensatz, der Ihre Unicode-Unterstützung testet.

+0

Für den letzten Punkt könnte man Pseudolokalisierung (http://en.wikipedia.org/wiki/Pseudolokalisierung) in Betracht ziehen. Scott Hanselman entwickelte ein Tool (http://www.hanselman.com/blog/PsuedoInternationalizationAndYourASPNETApplication.aspx), das eine Pseudo-Ressourcendatei generiert. – gsk

2

Dies ist ein schweres Problem. Ich lebe in Kanada, also ist Mehrsprachigkeit ein großes Problem. In all den Jahren, in denen ich Softwareentwicklung gemacht habe, habe ich nie eine Lösung gesehen, die mir gefallen hat. Ich habe viele Lösungen gesehen, die funktionierten und die Arbeit erledigt haben, aber sie haben sich immer wie ein großer Klotz angefühlt. Ich würde mit @harriyott gehen und sicherstellen, dass keiner Ihrer Strings tatsächlich Code ist. Eine Ressourcendatei funktioniert gut für Desktop-Anwendungen. In ASP.Net würde ich jedoch empfehlen, die Datenbank zu verwenden. @ John Christensen hat auch einige gute Hinweise.

1

ich den folgenden Code Projekt Artikel lesen ernsthaft in Erwägung ziehen würde:

Globalization and localization demystified in ASP.NET 2.0

Es umfasst alles von Kulturen und Locales, die Einstellung der Threads aktuellen Kultur, Ressourcendateien, Kodierungen, nennen Sie es!

Und natürlich ist es mit schönen Bildern und Beispielen geladen :-). Viel Glück!

Verwandte Themen