csharp-resxresourcemanager

Simplifica la traducción con ficheros Resx con ResXResourceManager en C#

ResXResourceManager es una herramienta para la gestión de archivos de recursos .resx en aplicaciones .NET.

Esta biblioteca facilita la localización y globalización de aplicaciones al proporcionar una interfaz intuitiva para manejar cadenas de texto y otros recursos que deben ser traducidos a múltiples idiomas.

  • Interfaz de usuario intuitiva: Ofrece una interfaz gráfica fácil de usar para gestionar archivos .resx.
  • Soporte para múltiples idiomas: Facilita la adición y edición de traducciones para múltiples idiomas.
  • Integración con Visual Studio: Se integra perfectamente con Visual Studio, permitiendo una gestión eficiente de recursos directamente desde el entorno de desarrollo.
  • Detección de recursos sin usar: Identifica y ayuda a eliminar recursos que no están siendo utilizados en el código.
  • Importación y exportación: Permite la importación y exportación de recursos a y desde archivos CSV para facilitar el trabajo con traductores.

Instalación de ResXResourceManager

Para empezar a usar ResXResourceManager, puedes instalarlo como una extensión de Visual Studio o utilizarlo como una herramienta independiente. Para instalarlo como una extensión de Visual Studio, sigue estos pasos:

  1. Abre Visual Studio.
  2. Navega a Extensions > Manage Extensions.
  3. Busca “ResX Resource Manager”.
  4. Haz clic en Download y sigue las instrucciones para completar la instalación.

Uso de ResXResourceManager

Crear y gestionar recursos

Para empezar a utilizar ResXResourceManager, abre la herramienta desde el menú Tools en Visual Studio. A continuación, abre un proyecto que contenga archivos .resx. ResXResourceManager escaneará automáticamente el proyecto y mostrará todos los recursos disponibles.

Desde esta ventana podemos añadir o editar fácilmente los recursos en distintos idiomas.

resxresourcemanager

Importar y exportar recursos

Para facilitar la colaboración con traductores, ResXResourceManager permite importar y exportar recursos desde y hacia archivos CSV.

Ejemplo de uso en código C#

Una vez que los recursos han sido gestionados con ResXResourceManager, se pueden utilizar en el código C# de la siguiente manera:

Definir recursos en .resx

Imaginemos que tenemos un archivo de recursos Resources.resx con las siguientes claves y valores:

  • Greeting : Hello, World! (en inglés)
  • Greeting : Hola, Mundo! (en español)

Utilizar recursos en el código

Para utilizar estos recursos en tu aplicación, puedes hacer lo siguiente:

using System;
using System.Globalization;
using System.Threading;
using System.Resources;

class Program
{
    static void Main()
    {
        // Establecer el idioma a español
        Thread.CurrentThread.CurrentUICulture = new CultureInfo("es");

        // Cargar el archivo de recursos
        ResourceManager rm = new ResourceManager("Namespace.Resources", typeof(Program).Assembly);

        // Obtener el valor del recurso
        string greeting = rm.GetString("Greeting");

        Console.WriteLine(greeting); // Salida: Hola, Mundo!
    }
}

En este ejemplo, cambiamos el idioma de la interfaz de usuario a español (es) y cargamos el recurso Greeting desde el archivo Resources.resx.

Detección de recursos sin usar

Para mantener el proyecto limpio y evitar la inclusión de recursos innecesarios, ResXResourceManager puede detectar recursos que no están siendo utilizados en el código.

  1. Abre ResXResourceManager.
  2. Navega a la pestaña Unused.
  3. Revisa la lista de recursos sin usar.
  4. Elimina los recursos innecesarios según sea necesario.