HP Prime - Programación multilenguaje [STRINGFROMID]

STRINGFROMID es un comando que devuelve las cadenas integradas en la calculadora HP Prime mediante el ingreso de un ID, existen muchos valores y estos varían de acuerdo al idioma de la calculadora, siendo muy util para programación multilenguaje.


Crear programas multilenguaje
STRINGFROMID( ) - HP Prime

Algo que puede causar dolores de cabeza al momento de crear programas multilenguajes es la traducción y su adecuada contextualización, este trabajo hasta puede resultar algo nuevo en muchos sentidos. Un punto ya conocido es que la calculadora es multilenguaje, en todas sus versiones - firmwares (2~ 2.5% del tamaño total es texto consultable con este comando, y un porcentaje más alto es el contenido multilenguaje de la Ayuda), por lo tanto posee cada texto mostrado para cada idioma.

El comando STRINGFROMID permite acceder a las cadenas integradas (textos de interfaz) de la calculadora HP Prime, favoreciendo enormemente la creación de un programa que soporte el idioma actual de la calculadora.

 

Es posible beneficiarnos con la reducción del tamaño del programa en una cierta proporción debido a la omisión de cadenas, podemos beneficiarnos aún más con ello creando bucles que recorran una lista de indices o crear una subfunción con un nombre más corto.


De esta manera crear programas en múltiples idiomas puede resultar menos problemático. ¡Eso sí! necesitaremos revisar tranquilamente el contenido del comando STRINGFROMID e identificar el ID que nos sea útil, recordando que el número de cadenas integradas irá lógicamente en aumento a medida que nuevas funciones sean agregadas a la calculadora a lo largo.

Teniendo esto en cuenta es posible que las versiones anteriores no puedan acceder a ciertos ID, por lo que debemos controlar su uso con IFERR y terminar la ejecucción de nuestro programa sin antes mostrar un aviso como: "Es muy recomendable actualizar el firmware de tu calculadora para que el programa funciones correctamente". También existe la opción de hacerle la prueba inicial de igualdad o de prueba del máximo ID usado, de esta manera la recomendación será mostrada al inicio de la ejecucción y evitar problemas con los usuarios por su avance perdido en nuestro programa.

Como aporte final y motivo de esta publicación, se adjunta las cadenas integradas del comando en los 8 lenguajes soportados hasta ahora en el firmware 11226, siendo el ID máximo igual a 2996. Es posible descargar los archivos o simplemente hacerle una consulta con Ctrl+F para agilizar la búsqueda. Algunos caracteres no son mostrados correctamente debido a que son de uso privado (solo interpretables en HP Prime), por lo que será necesario realizar la consulta en la calculadora para visualizar el caracter correcto.

Los caracteres privados que no se muestran correctamente en estos archivos son solo 6 hasta ahora:




STRINGFROMID - Detalles
STRINGFROMID_Language.txt | 58 ~ 71 KB | 2016 12 08 | Firmware 11226



CÓDIGO DE EXTRACCIÓN
Generando archivos de aplicación .txt con codificación Unicode

EXPORT STRINGFROMID_TXT
BEGIN

  LOCAL Tx,x,Nmb="STRINGFROMID_"+Language+".txt";

  DelAFiles(Nmb);
  AFilesB(Nmb,0):={255,254};

  IFERR
    FOR x:=0 TO 9^9 DO
      Tx:=x+"\t"+STRINGFROMID(x)+"\r\n";
      LOCAL y,Nvo={};
      FOR y:=1 TO DIM(Tx) DO
        Nvo(0):=Tx(y);
        Nvo(0):=BITSR(Tx(y),8)
      END;
      AFilesB(Nmb,AFilesB(Nmb)):=Nvo
    END
  THEN STRINGFROMID(1680) END

END;




Language:= 1 English





Language:= 2 中文 (简体)





Language:= 3 Français





Language:= 4 Deutsch





Language:= 5 Español





Language:= 6 Nerderlands





Language:= 7 Português





Language:= 8 日本語





ANIMACIÓN EXTRA - STRINGFROMID



Comentarios

Lo más visto

Matriz (Tipo) - HP Prime