SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: diego.martinez en Miércoles 8 de Julio de 2009, 14:55

Título: Sugerencias para Multilenguaje
Publicado por: diego.martinez en Miércoles 8 de Julio de 2009, 14:55
Buenas:

estoy programando el interfaz de un dispositivo electronico (un estilo a un movil) y bueno, tengo menues, botones, labels... etc.
El interfaz esta bastante bien hecho, pero me ha surgido duda de diseño a la hora de implementar el multilenguaje.

Mi idea , por ahora, es crear una clase de strings especiales, que miren una variable global para saber el idioma en el que esta el equipo, y que automaticamente cambien su puntero a uno diferente aplicando un offset definido por el idioma seleccionado.

Entonces, durante el codigo habria que ir usando los strings por una referencia y luego definir en un .h/.cpp los arrays de strings con sus numeros de referencia.
Encuentro bastante engorroso la forma de implementar esto y no tengo muy claro si es una buena solución, como soleis hacer el multilenguaje? como veis esta solución?

gracias por cualquier idea!  :good:

PD: es un programa embebido en un microcontrolador, asi que no puedo usar resources como se usaria en visual studio.
Título: Re: Sugerencias para Multilenguaje
Publicado por: Eternal Idol en Miércoles 8 de Julio de 2009, 15:05
Algo simple podria ser un array grande (puede ser dinamico llegado el caso):

Código: C++
  1. #include <stdio.h>
  2.  
  3. typedef enum idiomas
  4. {
  5.   english,
  6.   spanish,
  7.   idiomasTotal
  8. };
  9.  
  10. typedef enum cadenas
  11. {
  12.   error,
  13.   info,
  14.   saludo,
  15.   cadenasTotal
  16. };
  17.  
  18. char *cadenas_multi[idiomasTotal][cadenasTotal] =
  19. {
  20.   {"error", "information", "welcome to"},
  21.   {"error", "informacion", "bienvenido a"},
  22. };
  23.  
  24. void main()
  25. {
  26.   idiomas idioma = english;
  27.   printf("%srn", cadenas_multi[idioma][info]);
  28.   idioma = spanish;
  29.   printf("%srn", cadenas_multi[idioma][saludo]);
  30. }
  31.  
Título: Re: Sugerencias para Multilenguaje
Publicado por: diego.martinez en Viernes 10 de Julio de 2009, 09:13
ok gracias!  :good:
Título: Re: Sugerencias para Multilenguaje
Publicado por: Eternal Idol en Lunes 13 de Julio de 2009, 17:27
De nadas  B)