préstamo - C#bibliotecas para la internacionalización?
programa en c# para una biblioteca (7)
Eche un vistazo a http://www.microsoft.com/globaldev/getwr/dotneti18n.mspx
y http://www.dotneti18n.com/
¿Qué bibliotecas hay para escribir aplicaciones internacionalizadas de C #?
Funcionalidades típicas que deberían estar contenidas en la biblioteca:
- Validación de datos específicos del país (por ejemplo, números de IVA, números de teléfono, direcciones, ...)
- Validación de coordenadas bancarias y financieras (por ejemplo, números de tarjetas de crédito, IBAN, ...)
- Funcionalidades específicas del lenguaje (por ejemplo, números para palabras a números, resumen, ...)
- Filtrado de contenido específico del idioma (por ejemplo, filtrado de malas palabras ...)
Un ejemplo de tales bibliotecas en Perl sería la sección de internacionalización / configuración regional de CPAN.
¿Qué soluciones de C # están disponibles?
Nota: No estoy buscando una introducción al espacio de nombres System.Globalization :)
Nota 2: ¿Debo aclarar que no hay opciones disponibles? ¿Alguien está interesado en unir fuerzas y crear una?
Nota 3: Editar para que la pregunta aparezca en la página principal con la esperanza de obtener más respuestas. Esta no es una pregunta tan difícil, ¿cómo es posible que Stackers no lo haga nunca?
Cadena para numerar y viceversa puede ser de la siguiente manera:
culture = new CultureInfo(locale);
int number = Convert.ToInt32(myString, culture.NumberFormat);
string str= Convert.ToString(myNumber, culture.NumberFormat);
En cuanto a verificar VATS y direcciones, me interesa saber que, hasta ahora, no he encontrado nada útil.
Primera biblioteca encontrada: NUtility (Licencia MIT)
NUtility actualmente tiene clases que proporcionan una capa de abstracción de base de datos, procesamiento de línea de comando y funcionalidad de validación y conversión, que incluye: procesamiento de línea de comandos; validación de tarjeta de crédito; validación de la dirección de correo electrónico; Validación de la dirección IP; Validación del código postal del Reino Unido; Soundex, codificación ampliada de Soundex y metafonía; Codificación ROT13; codificación de alfabeto fonético; y conversiones métrico-imperiales.
No diría que nadie lo hace, pero no conozco ninguna herramienta genérica que se pueda usar para cada proyecto. Mantener una base de datos con toda la información que está buscando sería un proyecto épico. Parece que lo que estás buscando no es una biblioteca específica de C #, sino más bien una colección de información en línea de la que puedes extraer. Si pudieras encontrar un repositorio de malas palabras en varios idiomas (por ejemplo), sería trivial para ti usar esto en C #. Creo que será imposible encontrar una solución que envuelva todos sus requisitos en un ensamblaje fácil de usar.
No es exactamente una "biblioteca", per se, pero en realidad me encontré con un gran servicio (por pago), por una empresa llamada E4X (ex cliente mío).
Lo que ofrecen es la localización completa de su sitio de comercio electrónico, incluidas las traducciones de idiomas, los intercambios de divisas, la facturación local y el manejo de las transacciones financieras, incluidos los impuestos específicos de la región, etc., y más. Incluso se ocupan de la logística del envío físico ...
Vale la pena investigar, para un negocio de comercio electrónico. Hazles saber que te envié ... ;-)
Un proyecto que está trabajando hacia una base de datos de conocimiento de globalización, internacionalización y localización es el Repositorio de Datos Locales Comunes de Unicode , basado en el antiguo proyecto de ICU en IBM.
Como es una base de datos de datos XML, no contiene ningún código .NET específico, pero como un cuerpo de conocimiento es muy bueno.
Solo un subconjunto pequeño está en el framework .NET. Microsoft no se ha acercado a ninguna de las cosas complementarias, como formatos de código postal, ortografía numérica (para cantidades de verificación / verificación), etc. También se incluyen los nombres de zona horaria estándar (de la distribución Olson / tz ), etc., con asignaciones a los nombres específicos de Windows. Algunos de los comportamientos específicos de la ubicación jerárquica también tienen un mejor soporte.
Ese es un gran esfuerzo. Comencemos con un problema simple: números de teléfono. Libphonenumber La biblioteca de Google en http://code.google.com/p/libphonenumber/ tiene un puerto C # en https://bitbucket.org/pmezard/libphonenumber-csharp con notas en http://blog.thekieners.com/2011 / 06/06 / using-googles-libphonenumber-in-microsoft-net-with-c / . Parece ser una buena biblioteca para manejar números tanto estadounidenses como internacionales.