thread current brasil .net localization internationalization

.net - brasil - ¿Debo configurar Thread.CurrentThread.CurrentUICulture=Thread.CurrentThread.CurrentCulture de forma predeterminada en mi aplicación?



system.globalization.cultureinfo c# (2)

Sam, no te metas con eso a menos que estés realmente seguro de lo que estás haciendo.

Asumiré que estamos hablando de WinForms aquí. El marco recoge la mejor configuración del sistema (según la configuración del usuario). De su pregunta, podría ser más un problema de prueba. Regularmente agrego un código después de #if DEPURAR para elegir una configuración regional para fines de prueba.

Mi propio caso en este punto: mi configuración regional es holandesa (nl-NL) pero normalmente ejecuto versiones en inglés de Windows. Si reemplaza la CurrentUICulture obtendría la versión holandesa (si está disponible) que generalmente está bien. Pero sé por experiencia que algunos controles / complementos permanecerán en inglés (incluidos los cuadros de ShowMessage y los cuadros de diálogo estándar). La combinación es fea.

Pero también considere el caso cuando no agrega satélites que coincidan con CurrentCulture. El sistema recurriría al valor predeterminado en su programa, mientras que la cultura de UI de los usuarios podría ser una mejor opción. No conozco todas las reglas de respaldo, pero probablemente pueda obtener algo similar a:

El usuario ejecuta la configuración fr-CA en las ventanas fr-FR. Tu programa vuelve a ser en-US, usuario n''est pas happy.

Mi consejo:

  • hacer algunas pruebas de campo
  • si construye la anulación, use un interruptor en app.config

Tengo una aplicación que es para un mercado global y necesita ser localizable. Durante el desarrollo tuve algunos problemas en el sentido de que mis ensamblajes satelitales nunca parecían ser recogidos, incluso cuando cambié mi configuración regional. Después de algunas investigaciones ahora entiendo por qué esto es y pude probar estableciendo CurrentUICulture en el código y verificando que todo funcionó como se esperaba.

Ahora se trata de empaquetar la aplicación para su lanzamiento y no estoy seguro si la configuración de Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture para el hilo actual cuando se inicia mi aplicación es una buena idea. En el lado positivo, mi aplicación será localizable cambiando la configuración regional (si esto es una ventaja), pero me preocupa que pueda haber inconvenientes imprevistos en esto. Uno que inmediatamente me viene a la mente es que, aunque lo que he hecho está muy bien para mi hilo, no se aplicará (de lo que entiendo por leer aquí y alrededor) a ningún hilo creado por mi aplicación (a menos Configuré CurrentUICulture en esos también) o peor por cualquier componente que use que pueda crear sus propios hilos.

¿Podría haber otros problemas? ¿Está configurando las CurrentCultures como el mismo que es una práctica estándar o algo que está mal visto?

Me gustaría contar con toda la información sobre los altibajos de esto antes de tomar una decisión.

Gracias

Sam


Pregunta anterior, pero algunos comentarios de un usuario y desarrollador:

  • Soy noruego, pero tengo un sistema operativo en inglés por una razón. Odio cuando las aplicaciones aparecen en noruego solo porque mis configuraciones regionales son noruegas.
  • He usado el Thread.CurrentThread.CurrentCulture antes, y aunque parece funcionar bien al principio ... de repente tienes algo que dispara un nuevo hilo ... (pasé bastante tiempo averiguando por qué obtuve el formato correcto de los números) en mi aplicación, pero no en mis informes, por ejemplo)