es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La localización no funciona en algunos proyectos.

Estoy intentando hacer mi proyecto multilingüe. Para hacer esto, creé archivos de recursos para inglés y otros idiomas, por ejemplo:

langu.resx
langu.uk-UA.resx

En algunos de mis proyectos, todo funciona bien. Pero en algunos proyectos no quiero cambiar el idioma.

Con esto, System.Threading.Thread.CurrentThread.CurrentUICulture devuelve la cultura correcta.

Intenté cambiar el idioma en el programa con el siguiente código:

ResourceManager RM = new ResourceManager("PasteCurb.Properties.Lang.langu", Assembly.GetExecutingAssembly());

string day = RM.GetString("btnApplyText");

CultureInfo ci = new CultureInfo("uk-UA");

string dayrr = RM.GetString("btnApplyText", ci);

Sin embargo, en la variable dayrr, obtengo el valor en inglés en lugar de ucraniano.

¿Alguien tiene alguna idea?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que has creado correctamente los archivos de recursos para los idiomas inglés y ucraniano, lo cual es un buen comienzo. Sin embargo, parece que el problema puede estar en la forma en que estás recuperando las cadenas de los archivos de recursos.

    Según el código que proporcionaste, parece que estás intentando recuperar la cadena localizada para el botón “btnApplyText” utilizando el método ResourceManager.GetString(). Estás pasando la información cultural “uk-UA” como segundo parámetro al método, lo cual es correcto.

    Sin embargo, no está claro cuál es el valor de la propiedad “langu” en tu Program.cs (o dondequiera que tengas este código). Es posible que necesites especificar un nombre de recurso completamente calificado que incluya el archivo de recursos de cadena específico del idioma (por ejemplo, “MiNamespace.MiArchivoDeRecursos.uk-UA.resx”) en lugar de solo “PasteCurb.Properties.Lang.langu”.

    Otra cosa a tener en cuenta es que la información cultural puede verse anulada por otras configuraciones de tu aplicación o sistema. Puedes verificar la información cultural real que se está utilizando en tu hilo examinando la propiedad CurrentUICulture como mencionaste.

    En general, hay varias cosas diferentes que podrían estar causando el problema que estás experimentando. Puede ser útil proporcionar más detalles sobre tu aplicación y cómo estás implementando la localización (por ejemplo, WinForms, WPF, ASP.NET, etc.) para obtener una respuesta más específica.

Comments are closed.