La solución a este problema es traducir dichos recursos externos al español. Afortunadamente la LCL y algunos paquetes adicionales como por ejemplo LazReport, ya están traducidos y solo necesitamos usar dicha traducción en la aplicación. En general, necesitamos la traducción de todos los recursos externos que la aplicación use.
Aunque este tema esta relacionado con el de hacer disponible la aplicación en diversos idiomas, en esta ocasión nos enfocaremos solamente en traducir los recursos restantes al español. Esto se hace con el siguiente procedimiento:
1. Crear un directorio llamado languages en el mismo lugar donde se encuentre el archivo de proyecto.
2. Copiar al directorio languages los archivos .po correspondientes a los recursos externos necesarios. Para la LCL necesitamos el archivo lazarus/lcl/languages/lclstrconst.es.po, para LazReport el archivo necesario es lazarus/components/lazreport/source/languages/lr_consts.es.po y así de forma similar para los demás recursos que nuestra aplicación use.
3. Añadir a la sección uses del código fuente del proyecto (Menú Proyecto->Ver Código Fuente) la unidad translations. Por ejemplo:
{ you can add units after this }
,translations;
4. Antes de inicializar la aplicación, efectuar la traducción de los recursos externos mediante algo como esto:
Con esto, la aplicación estará traducida "correctamente", hago énfasis en ésta palabra pues si usted llegara a encontrar algún punto donde la traducción no sea ideal, no dude en hacerlo saber a los desarrolladores, su aportación puede ayudar a mejorar el proyecto.
begin
...
TranslateUnitResourceStrings('LCLStrConsts','languages/lclstrconsts.%s.po','es','');
TranslateUnitResourceStrings('Lr_const','languages/lr_const.%s.po','es','');
// etc.
Application.Initialize;
...