He presentado una solicitud en Microsoft Connect sobre el formato de las fechas ("DateTime Formatting should caluclate the correct suffix for the day"). Básicamente, quería tener un código de cadena de formato para agregar el sufijo al número del día. Por lo tanto, "1 de enero" se formateará "1 de enero" y "2 de enero" formateó "2 de enero", etc.¿Debería Microsoft evitar la implementación de una función en .Net simplemente porque la internacionalización es demasiado difícil?
Esto es bastante fácil de hacer para el caso inglés; sin embargo, Microsoft rechazó la idea con el argumento de que lo haría ser demasiado duro para internacionalizarse.
Me preguntaba si la gente está de acuerdo en que es razonable que Microsoft dificulte la vida de los programadores que escriben únicamente para un mercado inglés, simplemente porque no pueden atender el mercado no inglés.
Edit: Ok, acepto el argumento de que hay un marco para hacer lo que quieran. Estaba pidiendo más por un sentido ideológico. También recuerde que existe una alternativa fácil para las culturas no inglesas, que es no agregar nada, lo que hace que las personas no estén peor de lo que están ahora.
Editar 2: Para mí esto es más que una hora de trabajo. Tengo que apoyar código que se ve algo como esto:
DateTime minDate = new DateTime(2003, 12, 10);
string errorMessage = ValidationMessageResource.DateTooEarly;
Console.WriteLine(String.Format(errorMessage, minDate));
tengo ningún control sobre el contenido del archivo de recursos y la cadena de recursos es a menudo algo como esto "La fecha no debe ser antes de {0: D}". Para hacer esto, necesitaría implementar mi propia clase IFormatProvider, que debería admitir todas las cadenas de formato diferentes que acepta el formateador de Microsoft. Microsoft no parece haber dado una manera fácil de extender su formateador a través de la herencia.
Aparte de tiempo, dinero y esfuerzo, por supuesto;) Véase la segunda edición en mi puesto de por qué No creo que esto sea trivial para mí implementar. –