[Lazarus-es] (sin asunto)
hfiandor
hfiandor en ceniai.inf.cu
Mie Jun 1 06:53:17 CEST 2016
Estimado Cuello:
Muchas gracias por su respuesta.
A continuación le copio mi .lpr
program Contratos;
{Version 10}
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, sqlite3laz, uSeleccion, upassword_1, ulicencia, uPortada,
uLecturaEscritura, uFinal, uanimador, udm, ufondo, uvarios, uvariables,
uFecha, uAreaEjecutiva, uactividades, uactivas, uClientes, uNegocios,
uTerminados, uServicios, uNSA_x_Area, uNoComenzados, uNegSerAct, uTerAuxiliar,
uNSAAuxiliar, uNegAuxiliar, uAuxiliar_2, uAuxiliar_1, uvales_insmed_aux,
uvales_InsMed, uHacerListado_insmed_aux, uInsertarEjecutadas,
uhacerlistado_NSA_aux, uestadocuenta_2, uEC_auxiliar, uVerFacturas_1;
{$R *.res}
begin
TranslateLCL;
RequireDerivedFormResource := True;
Application.Initialize;
Application.CreateForm(TfDM, fDM);
Application.CreateForm(Tffondo, ffondo);
Application.Run;
end.
Como puede observer, escribo al inicio del begin … end la sentencia “TranslateLCL”, cuyo procedure está en una unit (uVarios) que uso para los procedure comunes, y que transcribo a continuación:
procedure TranslateLCL;
var
PODirectory, Lang, FallbackLang: String;
begin
//PODirectory:='e:\lazarus\lcl\languages\';
PODirectory:='d:\lazarus\lcl\languages\';
Lang:='es';
FallbackLang:='';
LCLGetLanguageIDs(Lang,FallbackLang); // in unit LCLProc
Translations.TranslateUnitResourceStrings('LCLStrConsts',
PODirectory+'lclstrconsts.%s.po',Lang,FallbackLang);
// ... add here a TranslateUnitResourceStrings call for every po file ...
TranslateUnitResourceStrings('LCLStrConsts','languages/lclstrconsts.%s.po','es','');
TranslateUnitResourceStrings('Lr_const','languages/lr_const.%s.po','es','');
end;
He añadido las dos últimas líneas, y al compilar, compiló bien, sin “quejarse”. Cuando no las tenía, compilaba igual y parece que trabajaba bien, en mi PC.
En esta unit uVarios si se llama a la unit Translation como verá
uses
SysUtils, Classes,{Graphics,} Controls, {Forms,} Math,
Dialogs, Buttons, uvariables, {printers,}
translations, LCLProc;
Al llevar el .exe para otra máquina, allí no está el PODirectory:='d:\lazarus\lcl\languages\'; y por tanto, no puede hacer este procedure.
Ya investigué y la unit translations pertenece a un paquete. No se recomienda incorporarla como una unit independiene al Proyecto (Ctrl+F11).
Si no entendí mal, lo que usted me sugiere es escribir “a mano” la palabra “Translations” en el uses del .lpr, pudiera ser después de “Forms”, por ejemplo.
Para que en otra máquina esto se lea, tendría que copiar la unit Translations en la PC del cliente. Cierto o no?
¿Sería necesario incluir las dos líneas
TranslateUnitResourceStrings('LCLStrConsts','languages/lclstrconsts.%s.po','es','');
TranslateUnitResourceStrings('Lr_const','languages/lr_const.%s.po','es','');
en el begin … end del .lpr?
Espero me perdone mi torpeza, pero es la primera vez que hago algo con esto.
Saludos
Ing. Héctor F. Fiandor Rosario
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20160601/b12492fd/attachment.html>
More information about the Lazarus-es
mailing list