Language Editor

LangEditor es una pequeña herramienta que hemos creado para poder crear archivos de idioma multilingüe de manera muy sencilla, y que son fáciles de accesar por la aplicación destino.


LangEditor permite que cualquiera pueda enriquecer, corregir o traducir las lineas de texto, lo que lo hace particularmente útil para proyectos open source que suelen contar con la colaboración de los usuarios. Al final de este artículo, incluiremos un enlace para descargar tanto el código fuente como los ejecutables ya compilados.

Como el objeto de este blog no es este programa, solo explicaremos como se usa esta herramienta, sin entrar en detalles acerca de su programación (Si lo desea, puede ver el código fuente descargándolo al final de este artículo).

LangEditor nos permite crear archivos de cadenas de texto con una estructura conocida, que nos permitirán después acceder a ellos de manera rápida y eficiente.


Esta es la pantalla de inicio; al crear un archivo nuevo, nos preguntara cual es el idioma por defecto del programa (english por defecto)



Y eso es todo! Ya podemos empezar a trabajar en un archivo de texto para usos multilingues para nuestros programas. Esta es la pantalla tipica cuando se empieza un nuevo archivo, y una explicacion del uso de los controles.


1- Crear un nuevo archivo de texto multilingue (ATM).
2- Cargar un ATM previamente creado.
3- Guardar el archivo actual en disco, especificando nombre, extension y carpeta. El archivo creado por defecto nuevo se llama 'untitled.hlp'
4- Linea de idiomas; se muestran los distintos idiomas que incluira el archivo. Haciendo doble click sobre el nombre de algun idioma se puede cambiar su nombre.
5- Visualizacion de las lineas para ver comodamente y poder seleccionar las lineas que queremos editar.
6- Añade una nueva linea al archivo en todos los idiomas ya existentes.
7- Añade un nuevo idioma, preguntando primero el nombre del mismo. Notese que al añadir un nuevo idioma, este se creara con tantas lineas como tenga en ese momento el idioma por defecto.
8- Eliminar el idioma seleccionado por completo; el idioma por defecto no se puede eliminar. Esta opcion eliminara una columna completa.
9- Eliminara la ultima linea (siempre la ultima, no la seleccionada) de todos los idiomas. No se permiten eliminar lineas alternas ya que esto podria traer como resultados malos resultados en el proyecto final.
10- Aqui es donde podemos visualizar y editar el texto de la linea en el que queramos trabajar.
11- Informacion del idioma y el numero de linea que estamos visualizando en el recuadro numero 10.
12- Longitud en caracteres del texto que estamos editando. El maximo es 255. Si necesitamos textos mas largos, deberemos usar multiples lineas.
13- Guardar el texto del recuadro en la posicion indicada (tambien se puede usar F2 para esto). Esto solo lo reemplazara en la memoria; para guardarlo en disco, debemos usar la opcion de guardar archivo.
14- Titulo del programa seguido del nombre del archivo que estamos editanto.

Como se ve, el funcionamiento del programa es muy sencillo, facil de manejar e intuitivo. Cuando guardamos el archivo al disco, son archivos typed de cadenas de caracteres almacenados asi, linea a linea:

1era linea: contiene EN NUMERO, la cantidad de idiomas diferentes que hay en el archivo.
2da linea hasta X linea: contiene, en cada linea, el nombre de cada idioma secuencialmente. Como el primer numero nos indico cuantos idiomas hay, sabemos cuantas lineas tenemos que leer para obtener el nombre de cada uno.
En adelante: las lineas de cada idioma conscecutivas, empezando con el idioma por defecto, siguiendo con el segundo, etc. Al momento de acceder esta informacion desde nuestra aplicacion, podemos saber cuantas lineas de texto hay en el archivo con la siguiente formula:
lineas = [total de lineas en el archivo (filesize) - 1 (donde se guarda el numero con la cantidad de idiomas) - cantidad de idiomas ] / cantidad de idiomas.

Usemos un ejemplo para visualizar todo esto:


Este archivo creara el siguiente orden de cadenas de texto:

2 (numero de idiomas)
English (nombre del idioma por defecto)
Español
Hello
Bye
Hola
Adios

Aplicado a la formula anterior tenemos:
lineas = [7 (filesize) - 1 - 2 (cantidad de idiomas)] / 2 (cantidad de idiomas)
lineas = 4 / 2 = 2

Lo bueno de todo esto es que podemos usar un TStringList para almacenar todas las lineas de texto al iniciar nuestros programas y acceder a ellas facilmente, asi como cambiar de idioma y muchas cosas mas, SIN NECESIDAD de alterar el codigo fuente continuamente.

En vista de que estaremos programando una aplicacion con amplios usos criptograficos, podemos añadirle una funcion para que verifique la autenticidad de los archivos... pero eso es algo que haremos mas adelante.

Aqui estan los enlaces de descarga:

Codigo fuente:

Binarios:

Comentarios

Entradas populares de este blog

Funcionamiento interno

Como funciona una criptomoneda?

Año nuevo, nuevo nombre