visual tutorial studio para descargar curso caracteristicas c# android resources xamarin cultureinfo

c# - studio - xamarin tutorial



cambiando cultureinfo en android usando xamarin y c# (3)

Estoy llamando a un método personalizado para cambiar dinámicamente el cultureinfo actual a francés "fr"

De esta manera, pero después de llamar a ese método, mi aplicación de Android todavía usa la cultura predeterminada que es ''en'', pero en el modo de depuración la cultura parece estar bien. Mi carpeta está bien. Tengo ambos y los valores de cadena están configurados. carpeta: resource / values ​​/ strings.xml, resource / values-fr / strings.xml.

¿Debo volver a cargar mi contenido o algo así? ¿Qué extraño aquí?

private void SetLocal(string lang) { System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(lang); System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(lang); }


No puedo probarlo ahora, pero prueba esto:

Resources.Configuration.Locale = new Locale(lang); Resources.UpdateConfiguration(Resources.Configuration, Resources.DisplayMetrics);


Sé que es un poco tarde para responder a esta pregunta, pero encontré la solución. Prueba esto, funciona para mí:

string cultureName = "fr-FR"; var locale = new Java.Util.Locale(cultureName); Java.Util.Locale.Default = locale; var config = new Android.Content.Res.Configuration { Locale = locale }; BaseContext.Resources.UpdateConfiguration(config, BaseContext.Resources.DisplayMetrics);


Todo esto en la actividad principal

using System.Threading; using System.Globalization; void SetLocale() { CultureInfo ci = new CultureInfo("es-US"); Thread.CurrentThread.CurrentCulture = ci; Thread.CurrentThread.CurrentUICulture = ci; Console.WriteLine("CurrentCulture set: " + ci.Name); }