Observations / questions about v6.02

All announcements, questions and issues related to the TsiLang Components Suite.
Post Reply
Paul Zip
Posts: 20
Joined: Wed Jul 26, 2006 2:58 pm

Observations / questions about v6.02

Post by Paul Zip »

Hello

I have been tasked to review tsicomponents as one of a short-listed solutions to the globalisation of our enterprise products. I have been looking at the v 6.02 demo. I think it is a good product but have the following observations / questions. If possible, can you offer comments / solutions to these please? :

1. I'd like to always exclude blank strings and blank hints etc. as a policy from translations, but have to do this manually for every form in the tsiExpert. One of our projects has over 600 forms, and as such this is a long and tedious process. We use form inheritance, so can it not be made an Option of siLang so that I can set it in an ascendent form so it propogates to all forms?

2. If I add a tsiLangRT component to a base form, so that all descendents also have it, every time I open a form for translation in TsiLangExpert I get "Only one TsiCustomLang component per Form / Datamodule allowed!" message, this dialog needs an "OK All" button so that if I am opening a batch of say 200 forms to add base entries in an SIL file I don't have to keep OK-ing everything. Or better still, stop trying to insert a new tsiLang control.

3. How would we allow for collaborative translations. E.g. Some of our apps are huge and our users have different roles utilising different day to day form. They'd want to translate them as they use a form, so that each user can do a form or part of a form? How would we prevent
users changing the same file at the same time?

4. Is it possible to allow callbacks for loading and saving stringID and its translations, so that developers can add methods like saving or loading from a DB? I know you say it is possible using the stream methods, but we don't want to save the data as a BLOB / CLOB.

5. Importing resource strings dialog where you select which strings to include, takes forever. On one demo I had 1037 strings and it took about 6 minutes to execute "Check All". Perhaps it is repainting listview
after every check box select? Whatever is causing this, needs to be looked at as it makes the process very cumbersome.

6. If I import resourcestrings to a dfm which has a lang component which points to a SIL file, why doesn't it insert into SIL file instead? I don't want it put into the dfm as it slows the loading down, and our Users will be performing the translations via a SIL file anyway.

7. Does the tsiLang expert only display forms / Datamodules that are in the dpr file? Some of our forms call other sub forms, so are not needed to be included in dpr, but these do not appear in the expert and there seems to be no way to add them?

8. The multi-select of one some of your dialogs is buggy / ultra slow.

Thanks
Paul
isiticov
Site Admin
Posts: 2383
Joined: Thu Nov 21, 2002 3:17 pm

Re: Observations / questions about v6.02

Post by isiticov »

Hello,
Paul Zip wrote: 1. I'd like to always exclude blank strings and blank hints etc. as a policy from translations, but have to do this manually for every form in the tsiExpert. One of our projects has over 600 forms, and as such this is a long and tedious process. We use form inheritance, so can it not be made an Option of siLang so that I can set it in an ascendent form so it propogates to all forms?
We will try to implement such option in TsiLang in next version.
2. If I add a tsiLangRT component to a base form, so that all descendents also have it, every time I open a form for translation in TsiLangExpert I get "Only one TsiCustomLang component per Form / Datamodule allowed!" message, this dialog needs an "OK All" button so that if I am opening a batch of say 200 forms to add base entries in an SIL file I don't have to keep OK-ing everything. Or better still, stop trying to insert a new tsiLang control.
In most cases TsiLang Expert recognizes that there is already TsiLang component on the form. We will improve this as well.
3. How would we allow for collaborative translations. E.g. Some of our apps are huge and our users have different roles utilising different day to day form. They'd want to translate them as they use a form, so that each user can do a form or part of a form? How would we prevent
users changing the same file at the same time?
Actually, you can use separate SIL/SIB (SIB is recommended) file for each form and realize some algorithm allowing/preventing editing of particular file if it is edited by other user.
4. Is it possible to allow callbacks for loading and saving stringID and its translations, so that developers can add methods like saving or loading from a DB? I know you say it is possible using the stream methods, but we don't want to save the data as a BLOB / CLOB.
TsiLang stores user-defined strings at run-time in protected field of type TsiStringsCollection (class of TCollection) with items as following:

Code: Select all

  TsiStringsCollectionItem = class(TCollectionItem)
  public
    property Values: TStrings;
    property ID: string;
  end;
With a little access hacking you will be able to access to this field and as result to load/save these strings as you would need.
5. Importing resource strings dialog where you select which strings to include, takes forever. On one demo I had 1037 strings and it took about 6 minutes to execute "Check All". Perhaps it is repainting listview
after every check box select? Whatever is causing this, needs to be looked at as it makes the process very cumbersome.
It is strange behavior, because on our side 1070 items were checked in few seconds.
6. If I import resourcestrings to a dfm which has a lang component which points to a SIL file, why doesn't it insert into SIL file instead? I don't want it put into the dfm as it slows the loading down, and our Users will be performing the translations via a SIL file anyway.
This needs to be done manually, since SIL file defined as StorageFile used only at run-time.
7. Does the tsiLang expert only display forms / Datamodules that are in the dpr file? Some of our forms call other sub forms, so are not needed to be included in dpr, but these do not appear in the expert and there seems to be no way to add them?
Yes, TsiLang Expert displays only modules from the current project. But you can still open forms that are not in project and manually place components on them and translate them directly using components bypassing Expert.
8. The multi-select of one some of your dialogs is buggy / ultra slow.
Could you please describe a little bit detailed what kind of dialog? This will help us to improve it.

Thank you for your comments and suggestions!
Best regards,
Igor Siticov.
Paul Zip
Posts: 20
Joined: Wed Jul 26, 2006 2:58 pm

Observations / questions about v6.02

Post by Paul Zip »

Hello

I've noticed some other issues.

1. I had a form with a memo on which had some lines of English in it. I am using tsiLangRT component with languages French and English (default). I built SIL file with tsiLang Expert. Then I changed contents of memo completely and built exe. When I ran the app it showed old English contents. Surely it should show new memo contents, even if I haven't built it into SIL file? i.e. Load DFM's contents until I switch languages? This one concerns me.

2. Another bug is the expert getting the wrong entry for exclusions. It happens all the time. e.g I have 26 labels, I was working on "Captions", select label 10, right click "exclude", expert highlights label 16. Tried another label to exclude, label 12 expert jumps to wrong label 18. Seems to be jumps forward 6 entries. This has caused me to accidentally exclude the wrong item.

3.
Quote:
8. The multi-select of one some of your dialogs is buggy / ultra slow.

Could you please describe a little bit detailed what kind of dialog? This will help us to improve it.
I was talking about the dialogs with found string const. I now realise the multi select stays selected until you deselect. It looked like it was a repaint issue. It would be really useful to us users to have a cancel selection option!

Paul
isiticov
Site Admin
Posts: 2383
Joined: Thu Nov 21, 2002 3:17 pm

Re: Observations / questions about v6.02

Post by isiticov »

Hello,
Paul Zip wrote: 1. I had a form with a memo on which had some lines of English in it. I am using tsiLangRT component with languages French and English (default). I built SIL file with tsiLang Expert. Then I changed contents of memo completely and built exe. When I ran the app it showed old English contents. Surely it should show new memo contents, even if I haven't built it into SIL file? i.e. Load DFM's contents until I switch languages? This one concerns me.
If you load SIL file then it will replace new values with value from SIL file. If you need to load SIL file but still use values originally stored in DFM for English language then you can do the following:
0. Be sure to have English language active.
1. Load SIL file "manually" using LoadAllFromFileDNC() method. This method will load translations but won't change (update) UI elements after loading.
2. After loading call BuildList method. This will update English values with the values currently presented in UI controls.
3. After this changing language will keep DFM values for English and use SIL file values for other language.
2. Another bug is the expert getting the wrong entry for exclusions. It happens all the time. e.g I have 26 labels, I was working on "Captions", select label 10, right click "exclude", expert highlights label 16. Tried another label to exclude, label 12 expert jumps to wrong label 18. Seems to be jumps forward 6 entries. This has caused me to accidentally exclude the wrong item.
Yes, this bug was fixed and will be released in next update. Registered users of "source code" editions can use fix described at http://www.sicomponents.com/forum/viewt ... =2130#2130
I was talking about the dialogs with found string const. I now realise the multi select stays selected until you deselect. It looked like it was a repaint issue. It would be really useful to us users to have a cancel selection option!
We will add this option. Thank you.
Best regards,
Igor Siticov.
Post Reply