El texto del menu de pvbrowser se puede cambiar a un idioma distinto mediante el archivo INI "~/.pvbrz". Si prefieres no usar caracteres latinos y usar por ejemplo caracteres chinos o arabicos, configura "codec=utf8 ## Unicode, 8-bit" en el archivo INI. Luego puedes usar estos caracteres en el archivo INI y en tu código fuente. Para usar UTF-8 en Linux debes definirlo en tu ~/.bashrc o en tu perfil de sistema.
Ejemplo:
export LC_ALL=de_DE.utf8 export LANG=de_DE.utf8 export LANGUAGE=de_DE.utf8
Puedes encontrar los locales instalados usando el siguiente comando:
locale -a
Para usar UTF-8 bajo Windows necesitas Visual Studio .Net. Allí debes incluir y configurar el locale.
<locale.h> ... setlocale(LC_ALL,"de_DE.utf8");
Hasta el momento no esta probado ni implementado completamente por que sólo tenemos MSDEV 6.0. Pero es posible usarlo con un pvserver corriendo bajo Linux desde un cliente Windows.
Mientras corre pvbrowser puedes cambiar desde un idioma a otro, si lo programas adecuadamente en tu pvserver. Existe un "#define DEFAULT_LANGUAGE 0" en processviewserver.h. Ahora debes definir en ( pvapp.h):
#define GERMAN_LANGUAGE DEFAULT_LANGUAGE+1 #define FRENCH_LANGUAGE DEFAULT_LANGUAGE+2 #define SPANISH_LANGUAGE DEFAULT_LANGUAGE+3 #define ITALIAN_LANGUAGE DEFAULT_LANGUAGE+4 #define CHINESE_LANGUAGE DEFAULT_LANGUAGE+5 ...
Ahora configura el parámetro de idioma en "PARAM *p a tu idioma (permie al usuario elegir su propio idioma)"
p->language = GERMAN_LANGUAGE; // the default is: p->language = DEFAULT_LANGUAGE;
Dentro de "slotInit" escribe y reemplaza todo el texto de todos los objetos al nuevo idioma.
static int slotInit(PARAM *p, DATA *d) { if(p == NULL || d == NULL) return -1; switch(p->language) { case GERMAN_LANGUAGE: pvPrintf(p,idOfAnObject,"%s","Dies ist der deutsche Text"); break; case FRENCH_LANGUAGE: break; case SPANISH_LANGUAGE: break; case ITALIAN_LANGUAGE: break; case CHINESE_LANGUAGE: break; default: // nothing todo, because generated_defineMask has already set the text break; } return 0; }