Page 1 of 1

SIB files ignore form caption

Posted: Thu Jan 09, 2003 10:37 pm
by bitberry
To avoid a performance problem on Win98 I was recommended to use SIB files instead of SIL files. To convert my existing SIL files to SIB files I do the following in SILEditor:

1) Create new SIL file
2) Merge with existing SIL file
3) Export to CSV
4) Create new SIB
5) Import CSV file
6) Save SIB file

When I use the new SIB file *no* form caption is translated although the translation is in the file.

Please let me know how to fix this - I need to release new translated versions of my product asap as it's almost useless on some win98 PCs as it is now.

Regards,
Brian

Posted: Fri Jan 10, 2003 8:22 am
by isiticov
There was a bug in SICOMP.PAS file which will be fixed in next release. In case you need it fixed now you may modify source as following:
in SICOMP.PAS line#5221 insert the following code:

if ST in [stCaptions, stHints, stFonts, stCharsets] then
for J := 1 to Lst1.Count - 1 do
if AnsiPos(AComp.Owner.ClassName + char(AComp.LangDelim), Lst1[J]) = 1 then
begin
Lst1.Move(J, 0);
Break;
end;

And re-build the TsiLang package.
Hope this helps.

Posted: Fri Jan 10, 2003 9:04 pm
by bitberry
Igor,

it doesn't seem to work :(

for ST := Low(TStringsType) to High(TStringsType) do
begin
Lst := SI.GetPropListByType(ST);
Lst1 := AComp.GetPropListByType(ST);
if (Lst1 <> nil) and (Lst <> nil) then
Lst1.Assign(Lst);

(*FIX INSERTED HERE*)
if ST in [stCaptions, stHints, stFonts, stCharsets] then
for J := 1 to Lst1.Count - 1 do
if AnsiPos(AComp.Owner.ClassName + char(AComp.LangDelim), Lst1[J]) = 1 then
begin
Lst1.Move(J, 0);
Break;
end;

end;


Brian