Estoy trabajando en una aplicación SL5 con C# y estoy buscando internacionalizarla. Encontré lo siguiente para establecer la cultura de UI:Cómo configurar Silverlight CurrentUICulture/CurrentCulture correctamente?
var culture = new CultureInfo(Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName);
Thread.CurrentThread.CurrentUICulture = culture;
Thread.CurrentThread.CurrentCulture = culture;
Algunos controles como DatePicker parecen recoger esto. Si formateo cualquier fecha y hora usando la cadena de formato 'd', igual obtengo el formato predeterminado "M/dd/aaaa".
Exactamente cómo SL interpreta la cultura y cómo puedo configurarla correctamente para toda la aplicación?
Gracias
UPDATE:
encontrado la respuesta:
En primer lugar, establecer los cultivos apropiados en el Application_Startup:
var culture = new CultureInfo("nl-BE");
Thread.CurrentThread.CurrentUICulture = culture;
Thread.CurrentThread.CurrentCulture = culture;
El elemento clave sin embargo es agregue lo siguiente para forzar la cultura/idioma de RootVisual:
var root = RootVisual as Page;
if (root != null)
{
root.Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name);
}
En primer lugar, gracias por la respuesta rápida. En SL5, parece que no existe el método 'OverrideMetadata'. CurrentCulture tampoco contiene una propiedad 'IetfLanguageTag' ... – rumblefx0
Me pusiste en la dirección correcta, ¡gracias! – rumblefx0
Parece que lo tienes ordenado. Actualicé mi respuesta con la información que encontraste. – eandersson