En este caso en vez de [_ ] hay que usar la macro _( ) para encerrar la cadena a traducir,
Por ejemplo : printf("hello world");
Se debe escribir printf(_("hello world"));
En C/C++ no hay la casuística de tcl debida a la sustitución, y los parámetros se escriben de la forma deseada después de la cadena de formato:
Por ejemplo: printf("User %s running %i threads",username,nproc);
Se debe escribir printf(_("User %s running %i threads"),username,nproc);
Como en tcl, se debe prestar atención a no tratar de traducir las palabras clave, "includes" del programa, etc.
Para incluir la macro _( ) en cualquier proyecto, sin arrastrar otras declaraciones de funciones no deseadas, se ha aislado del fichero "Main.h" a un nuevo fichero de cabecera, llamado "Trad.h"
Como alternativa a Msgcat se barajó la opción de usar gettext, pero se descartó por varios inconvenientes: - Es originario de plataformas UNIX, hay que retocarlo para Windows. - Solo sirve para los ficheros C/C++, pero no para ficheros tcl. - Tiene un programa de extracción de cadenas pero sólo para C/C++, no para tcl. - Msgcat sirve para tcl y C/C++, y viene incluido de serie con tcl (con lo que garantiza un mantenimiento)
Go to the first, previous, next, last section, table of contents.