Localización de su aplicación de LabVIEW a diferentes idiomas

Actualizado el Jun 3, 2021

Ambiente

Software

  • LabVIEW

Este artículo es parte de una serie sobre prácticas y herramientas de ingeniería de software para el desarrollo de grandes aplicaciones en LabVIEW.
Haga clic aquí para ver la lista de otros artículos


Este documento describe los cuatro pasos para localizar fácilmente cualquier aplicación de LabVIEW en un idioma diferente.

No necesita tener una versión de LabVIEW en un idioma específico, como francés, alemán o japonés, para poder ingresar texto de visualización en ese idioma. LabVIEW admite caracteres de byte simple y doble, pero no admite scripts bidireccionales (como árabe o hebreo).

Si desea mostrar texto en juegos de caracteres de varios bytes (como japonés, chino o coreano) en LabVIEW, solo necesita un sistema operativo del idioma apropiado o un sistema operativo habilitado para MBCS con un Editor de métodos de entrada (IME) para el idioma correspondiente. Además, existen varios kits de idiomas disponibles comercialmente que puede agregar al sistema operativo.

Localizar los strings del panel frontal (interfaz de usuario)

Para localizar su panel frontal, necesita internacionalizar su código, extraer los strings del VI en un archivo de texto, traducir este archivo de texto e importar los strings de VI localizadas en el VI.

Internacionaliza tu código

Primero, necesita internacionalizar su código (diagramas). Si bien LabVIEW ya proporciona varias características sensibles a la configuración regional (incluidos formatos de fecha/hora, símbolos de moneda, separadores decimales, etc.), es posible que deba internacionalizar otras partes de su código.

En general, necesita transformar cualquier constante de string codificado en el diagrama en controles de string(con valores predeterminados) en el panel frontal. Otra técnica útil es mover todas sus constantes de cadena (que necesitan ser localizadas) en variables globales. Idealmente, este paso debería ser parte de su proceso de desarrollo, pero puede actualizar fácilmente su aplicación si es necesario.

Si está utilizando mapas de bits, debería considerar utilizar el control de imagen para cargar los mapas de bits de forma dinámica. Esto facilita el mantenimiento del VI, porque no tendrá que copiar y pegar los mapas de bits localizados cada vez que modifique su aplicación.

Nota: Puede localizar la mayoría de los controles e indicadores de la interfaz de usuario, excepto los controles de enumeración, porque los strings que componen la lista de enumeración definen estrictamente su tipo de datos. Siempre que no sea necesario un control de enumeración, utilice un control de anillo en su lugar.

Nota: Preste atención a las estructuras de casos con un selector de strings. Pueden dificultar la internacionalización de su aplicación.
 

Extraiga los strings de VI en un archivo de texto

Desde el panel frontal del VI desde el cual desea exportar strings, seleccione el elemento de menú Proyecto >> Exportar strings de VI. Esto generará un archivo de texto que contiene todas los strings de VI. En LabVIEW 5.x, este archivo de texto contiene solo strings del panel frontal.
 

Traducir este archivo de texto

El archivo de texto que exporta tiene una estructura similar a XML. (Actualmente LabVIEW no proporciona un analizador que le permita extraer solo los strings traducibles. Esto sería útil para búsquedas automatizadas de diccionarios).

Cuando exporta sus strings, LabVIEW genera automáticamente subtítulos para cada control e indicador del panel frontal. Los subtítulos, a diferencia de las etiquetas, proporcionan solo un nombre textual para un objeto del panel frontal y le permiten localizar su interfaz de usuario. Las etiquetas se propagan en el diagrama a través de los cables y se utilizan cuando se hace referencia a un terminal específico en un VI. Por tanto, no conviene localizar las etiquetas.

Para obtener más información sobre la estructura del archivo de texto exportado, consulte el enlace relacionado G Programming Reference Manual.

Con este archivo de texto, puede localizar lo siguiente:

  • Títulos de ventanas y descripciones de VI
  • Leyendas y descripciones de objetos del panel frontal
  • Etiquetas libres
  • Datos predeterminados (para varios controles/indicadores, incluidos strings, tablas, nombres de ruta y datos predeterminados de matriz)
  • Datos privados (nombres de elementos del cuadro de lista, encabezados de filas y columnas de la tabla, nombres de gráficos y nombres de cursores de gráficos)
 

Importar los strings de VI localizadas en el VI

Una vez que haya traducido el archivo de texto, desde el panel frontal del VI al que desea importar strings, seleccione el elemento de menú Proyecto >> Importar strings de VI. Esta operación importa los strings localizadas a sus VI y muestra títulos en lugar de etiquetas en todos los objetos del panel frontal. Recuerde que si modifica el VI más tarde, los stringsexportadas también pueden cambiar. Importar un archivo de texto antiguo exportado en un VI modificado puede resultar en errores. El proceso de importación de strings crea un archivo de registro con una lista de los errores que ocurrieron durante la operación.

Cuando importa strings, la alineación de las etiquetas de propiedad con respecto a sus correspondientes objetos del panel frontal también afecta la posición resultante del título. Si se cumplen TODAS las condiciones siguientes, la posición resultante del título es indeterminada después de importar strings:

  1. El ancho de la etiqueta o título antes de la traducción es más estrecho que el ancho del propio objeto del panel frontal.
  2. La etiqueta no está alineada con su posición predeterminada (por ejemplo, la posición de la etiqueta cuando coloca por primera vez un control o indicador en el panel frontal).
  3. La cadena de caracteres traducida, cuando se importa, es más ancha que el ancho del propio objeto del panel frontal.


La condición 3 ocurre comúnmente cuando traduce palabras del inglés al francés o al alemán. Las palabnras en alemán pueden ser entre un 50% y un 100% más largas que las palabras en inglés. El remedio es asegurarse de alinear las etiquetas o leyendas de sus controles e indicadores en sus posiciones predeterminadas.

Además, asegúrese de dejar suficiente espacio para la expansión de los subtítulos. Como se mencionó anteriormente, las palabras de idiomas extranjeros pueden ser más largas que las palabras en inglés. Si no tiene esto en cuenta, es posible que vea subtítulos superpuestos con otros objetos y subtítulos como resultado de la importación de strings. Esto podría dificultar la lectura de los subtítulos.
 

Localizar menús en tiempo de ejecución (si corresponde)

La función LabVIEW Export Strings no exporta strings en archivos de menú de tiempo de ejecución, pero puede cambiar la asociación entre un VI y su archivo de menú de tiempo de ejecución (.rtm) .

Para localizar una aplicación que utiliza menús en tiempo de ejecución, puede realizar una de las siguientes acciones:

  • Puede crear todos sus menús dinámicamente, utilizando las funciones de Control de aplicaciones >> Menús. Deberá almacenar sus strings en un control del panel frontal, como una matriz de strings , para poder exportarlas fácilmente.
  • Puede crear archivos .rtm separados para cada idioma. Cuando exporta strings de un VI, una de las piezas de información que se exporta es el nombre del archivo .rtm asociado con el VI. Por lo tanto, si tiene varios archivos de strings exportados, cada uno puede hacer referencia al archivo .rtm apropiado para ese idioma.

Nota: No puede cambiar los nombres de los menús incorporados de LabVIEW. Por ejemplo, no puede cambiar el nombre de Archivo >> Abrir a otra cosa. En la versión japonesa de LabVIEW, los elementos del menú de la aplicación usarán automáticamente los nombres localizados de esos elementos del menú integrados. Sin embargo, esto causa un problema si desea hacer menús en español. Debe usar menús en inglés o crear elementos de menú de usuario (que puede traducir) y usar los métodos del servidor VI para invocar operaciones particulares en LabVIEW.
 

Use mapas de bits localizados (si corresponde)

Si necesita localizar mapas de bits, puede considerar usar el control de imagen para cargar dinámicamente el mapa de bits apropiado en tiempo de ejecución. De lo contrario, tendrá que pegar los mapas de bits localizados cada vez que desee modificar sus VI originales.
 

Utilice un entorno de LabVIEW o Run-Time Engine localizado

Para tener menús localizados y recursos de LabVIEW para su aplicación, puede:

  • Obtener una versión localizada de LabVIEW (inglés, francés, alemán o japonés) y ejecutar su aplicación (.LLB) en el entorno de LabVIEW localizado, o
  • Crear un ejecutable y utilizar diferentes versiones de idioma del Run-Time Engine. Existen versiones localizadas de Run-Time Engine en francés, alemán y japonés. A partir de LabVIEW versión 5.1, LabVIEW Run-Time Engine (LVRT.DLL) está separado del programa ejecutable en sí.


Nota: En LabVIEW 8.2 y posteriores, LabVIEW Run-Time Engine es multilingüe, por lo que no tiene que incluir múltiples versiones de él con una aplicación, biblioteca compartida o instalador para poder usar texto localizado.

Para cambiar de una interfaz de inglés a una de francés, reemplace LVRT.DLL en inglés por el LVRT.DLL del idioma correspondiente. Para crear ejecutables de aplicaciones independientes, no necesita comprar una versión de idioma específico de LabVIEW Application Builder. Puede construir su ejecutable con la versión en inglés del LabVIEW Application Builder e instalar su ejecutable en una máquina con sistema operativo en francés con el Run-Time Engine en francés.

Nota: Para los cuadros de diálogo estándar, LabVIEW usa strings (como Abrir, Cerrar, Guardar, etc.) que son específicos del sistema operativo. Algunos diálogos contienen strings específicos de LabVIEW (por ejemplo, Select Cur Dir), que LabVIEW muestra en francés, alemán o japonés, según la configuración regional del sistema operativo, y en inglés para otros países.

Nota: Los strings en los menús (como Archivo, Editar, Proyecto, Ayuda, etc.) y los menús emergentes dependen de la versión del LabVIEW Run-Time Engine que esté usando con el ejecutable. Si utiliza el Run-Time Engine en inglés, los menús siempre aparecen en inglés, independientemente del idioma de su sistema operativo. Las versiones localizadas de Run-Time Engine están disponibles en francés, alemán y japonés en el sitio de soporte de NI.