Am Dienstag, den 12.12.2006, 23:09 +0100 schrieb Mattias Gaertner:
> This has already been started some time ago. Search for {$IFDEF
> TRANSLATESTRING} in the lazarus code.
> The code is in a very early state, although the author Vasily
> Volchenko
> said, he already used it.
> It has the clever idea to hook into TReader/TWriter, so that everytime
> the .lfm file is changed the .lrt file is updated and the strings are
> translated on creation at runtime. This reduces the overhead. Although
> the current implementation need some optimizations to make use of
> these
> advantages. 

Very Good idea by Vasily. I checked his code but i didn't understand
everything he has done there. 
Isnt he working on it any more ?


My approach would be like this:
- 1. Locate available Resource-Strings
- 2. Scanning the Application ContainerClasses TForm, TDataModule and
the included Tcomponents which has TTranslateString Properties by RTTI
- 3. Generating an XML - File with these ResourceStrings, Components and
properties (with optional context comments for the Translators, etc)
- 4. Translating the XML-File in other Languages
- 5. Provide a funktion or a mechanism to Translate the Forms,
Datamodules by reading back the Properies of the translated xml-files.

I would prefere XML because of the ability to have a hirarchical
structure similar to the Component.owner structure.

But there are the issues of the overhead and Performance.
Another Problem would appear if the component-names change or adding new
Components, removing Components in further versions of the Application. 
Therefore I thought it would be better to have it integrated inside of
the IDE to make it easier for developers to keep the XML-Files up to
date.




_________________________________________________________________
     To unsubscribe: mail [EMAIL PROTECTED] with
                "unsubscribe" as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to