23 Stimmen

C#-Bibliotheken für die Internationalisierung?

Welche Bibliotheken gibt es, um internationalisierte C#-Anwendungen zu schreiben?

Typische Funktionalitäten, die in der Bibliothek enthalten sein sollten:

  • Validierung von länderspezifischen Daten (z. B. Mehrwertsteuernummern, Telefonnummern, Adressen,...)
  • Validierung von Bank- und Finanzdaten (z.B. Kreditkartennummern, IBAN,...)
  • Sprachspezifische Funktionalitäten (z.B. Zahlen zu Wörtern zu Zahlen, zusammenfassen,...)
  • Sprachspezifische Inhaltsfilterung (z. B. Filterung von Schimpfwörtern...)

Ein Beispiel für solche Bibliotheken in Perl wäre die Abschnitt Internationalisierung/Lokalisierung von CPAN.

Welche C#-Lösungen gibt es?


Hinweis: Ich bin nicht auf der Suche nach einer Einführung in den System.Globalization-Namespace :)


Anmerkung 2: Sollte ich davon ausgehen, dass keine Optionen verfügbar sind? Ist jemand daran interessiert, seine Kräfte zu bündeln und eine zu schaffen?


Anmerkung 3: Bearbeiten, damit die Frage auf der ersten Seite erscheint, in der Hoffnung auf mehr Antworten. Das ist keine so schwierige Frage, wie ist es möglich, dass Stacker nie i18n machen?

0 Stimmen

Ich schätze, i18n ist eine Art Tabuthema - jeder verwendet seinen eigenen Lösungsansatz (und manchmal nimmt es die hässliche Form an, für jede Sprache/Kultur/Land völlig neue Websites zu erstellen).

0 Stimmen

Allein für das Filtern von Schimpfwörtern könnte man Teams für jede Region und Sprache in Vollzeit beschäftigen.

0 Stimmen

Interessant. Ich habe gerade den Validierungsaspekt dieses Problems mit meinem Kollegen besprochen. Dann kehrte ich an meinen PC zurück und 15 Sekunden später sah ich diese Frage :)

4voto

devstuff Punkte 8197

Ein Projekt, das auf eine Datenbank für Globalisierungs-, Internationalisierungs- und Lokalisierungswissen hinarbeitet, ist das Unicode Common Locale Data Repository auf der Grundlage des alten ICU-Projekts von IBM.

Da es sich um eine Datenbank mit XML-Daten handelt, enthält sie keinen .NET-spezifischen Code, aber als Wissensfundus ist sie sehr gut.

Nur eine kleine Teilmenge ist im .NET-Framework enthalten. Microsoft hat sich nicht an die zusätzlichen Dinge herangewagt, wie Postleitzahlenformate, Schreibweise von Zahlen (für Scheckbeträge) usw. Standard-Zeitzonennamen (aus dem Olson/tz Verteilung), usw. sind ebenfalls enthalten, mit Zuordnungen zu den Windows-spezifischen Namen. Einige der hierarchischen lokalspezifischen Verhaltensweisen werden ebenfalls besser unterstützt.

0 Stimmen

Es ist nicht nur keine Bibliothek, sondern das meiste ist bereits im .net-Stack enthalten.

2voto

Sklivvz Punkte 29602

Erste gefundene Bibliothek: NUtility (MIT-Lizenz)

NUtility verfügt derzeit über Klassen, die eine Datenbankabstraktionsschicht, eine Befehlszeilenverarbeitung sowie Validierungs- und Konvertierungsfunktionen bereitstellen. Dazu gehören: Befehlszeilenverarbeitung, Kreditkartenvalidierung, Validierung von E-Mail-Adressen, IP-Adressen, Validierung von Postleitzahlen im Vereinigten Königreich, Soundex-, erweiterte Soundex- und Metaphonenkodierung, ROT13-Kodierung, phonetisch-alphabetische Kodierung und metrisch-imperiale Konvertierungen.

2voto

Jon Tackabury Punkte 44954

Ich würde nicht sagen, dass niemand i18n macht, aber ich kenne keine generischen Tools, die für jedes Projekt verwendet werden können. Die Pflege einer Datenbank mit all den Informationen, die Sie suchen, wäre ein episches Projekt. Es hört sich so an, als ob Sie nicht nach einer spezifischen C#-Bibliothek suchen, sondern eher nach einer Online-Informationssammlung, aus der Sie schöpfen können. Wenn Sie in der Lage wären, eine Sammlung von Schimpfwörtern in verschiedenen Sprachen (zum Beispiel) zu finden, wäre es für Sie trivial, diese in C# zu verwenden. Ich denke, dass es unmöglich sein wird, eine Lösung zu finden, die alle Ihre Anforderungen in einer einfach zu verwendenden Baugruppe zusammenfasst.

1 Stimmen

Beispiele für Dinge, die ich in der Bibliothek erwarten würde: Validierung von Telefonnummern, Adressformat, Postleitzahl, SSN (oder Äquivalent), Bankkontonummern; Namensformatierung; Feiertagskalender; eine Währungsklasse; länderspezifische Klassen, z. B. in Großbritannien können Sie eine Adresse von einer Postleitzahl ableiten; usw...

1voto

Rik Punkte 27644

0 Stimmen

Ich kenne System.Globalization bereits recht gut. Meine Frage war aber eine andere. Trotzdem vielen Dank.

1voto

Carra Punkte 17220

Die Umwandlung einer Zeichenkette in eine Zahl und umgekehrt kann wie folgt durchgeführt werden:

   culture = new CultureInfo(locale);
   int number = Convert.ToInt32(myString, culture.NumberFormat);
   string str= Convert.ToString(myNumber, culture.NumberFormat);

Was die Überprüfung von VATS und Adressen angeht, so bin ich auch daran interessiert, habe aber bisher noch nichts Nützliches gefunden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X