Board index » delphi » Multi lingual software???

Multi lingual software???

You have found one of the great features we have in our MultLang
package. However, using our package you don't even have to write the
code to do it, just drop our component on your forms and your on your
way to start localizing right away.

What's more, well it doesn't use the BDE so you can even produce
applications not dependant on the language driver of the BDE, and
truly produce Multi Language applications. You can even add languages
without Delphi involved, perhaps you want the customer to be able to
translate your compiled binaries for you/him in your own software
without Delphi. This is all possible with our MultLang 1.x package.

I think you would love to have a look at our visual IDE property
browser and be able to translate almost any properties of your
components, forms and even common dialogs either at design-time or at
run-time.

Support for all script variations available worldwide since you can
change fonts and other resources attached to visual components. That
mean support for Far East, European and many other scripts.

We have just recently published information for some of our newly
coming packages as well as fully working trial downloadable packages.
Of course our packages works with all Delphi versions and even
C++Builder if you want to integrate your project across theese.

Please visit:
http://www.lingscape.com/

Surf around, and don't forget to download the trial packages.

Patrik Wang
Lingscape

 

Re:Multi lingual software???


Ryan,

what you think is OK and it's already done by several people/companies, like,
say, Innoview http://www.innoview.fi , or Peter Tiemann's MLang component
http://www.preview.org

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Hope That Helps
Nikolai Sklobovsky,
Programmer-analyst,
Retail Technologies International, Inc.
email: ni...@retailrpo.com
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Re:Multi lingual software???


Patrik Wang <pw...@lingscape.com> wrote in article
<34734325.165981...@news.algonet.se>...

Quote
> You have found one of the great features we have in our MultLang
> package. However, using our package you don't even have to write the

but does your package support input methods of its own (eg entering chinese
and displaying without any chinese windows (or a system like richwin?)
i suppose not..
what i am interesting (if you have any information on it.) is the API
routines that hook font output (so i can install routines
to output chinese and japanese DBCS truetype fonts.. and input methods..
basically i want to be able to make something like
richwin and the like.. i have thought out and am capible of such a project
but need to 'tech' docs on that.
thanks

Re:Multi lingual software???


On 20 Nov 1997 20:37:42 GMT, "karl prosser" <klu...@xtra.co.nz> wrote:

Quote

>Patrik Wang <pw...@lingscape.com> wrote in article
><34734325.165981...@news.algonet.se>...
>> You have found one of the great features we have in our MultLang
>> package. However, using our package you don't even have to write the

>but does your package support input methods of its own (eg entering chinese
>and displaying without any chinese windows (or a system like richwin?)
>i suppose not..
>what i am interesting (if you have any information on it.) is the API
>routines that hook font output (so i can install routines
>to output chinese and japanese DBCS truetype fonts.. and input methods..
>basically i want to be able to make something like
>richwin and the like.. i have thought out and am capible of such a project
>but need to 'tech' docs on that.
>thanks

The MultLang package doesn't provide you with translations or IME's it
defines and organizes what you want to translate. However, it supports
all scripts even DBCS for storage and to switch at run-time, with
correct appearance on screen. This is because it also possible to
choose font and charset for many components using MultLang. But if you
want IME support and other features like sorting etc. in all the VCL
of Delphi, I suggest you to use Japanese Delphi which has support for
this built in.

Another very good source on this issue is the book 'Developing
International Software' by Nadine Kano from Microsoft Press. It shows
off all necessary API functions and techniques in a DBCS context.

We are also developing a VCL Suite for Unicode that is a complement to
the MultLang package, which already have it's own IME and full support
for All Windows version currently available, for both input and
output. It even contains Multi Lingual Database support which can
switch sort index and store any Unicode character. Though it is not
downloadable yet you can join mailing lists and read more about it on
our Web site: http://www.lingscape.com/
The key concept with the VCL Suite for Unicode is that you can apply
it on any Delphi version but be able to produce one code binary that
supports all scripts in any Windows language version. It is possible
to run a DBCS enabled application under an American Windows version
with all support for IME and other things.

Regards

Patrik Wang
Lingscape

Re:Multi lingual software???


Quote
Invent Engineering <halt...@ozonline.com.au> wrote:
>I'm writing software that is going to be distributed around the world
>and I
>want to implement user selectable languages. The only way I've thought
>of so
>far that seems at all elegant is to build a database of strings
>contained in the
>application referenced by language.
>When a user selects a language (from a list generated by querying the
>database) then
>the program goes thru each component (perhaps using the Components array
>on
>the main form) doing a lookup for the components caption property ( or
>appropriate)
>and language as given by the user.
>If no replacement string exists then no change is made, but if one is
>found the
>caption is set to the new string.
>This way I can distribute English versions of our software without a
>language
>database. And I can either distribute other versions with a single
>language database
>or a multiple one. Either way the software doesn't care.
>Any thoughts on this matter? This is the most elegant way that I've been
>able to
>come up with so far. This would also allow partial databases, where
>perhaps
>translations wern't available for all application text. Thus some
>English would
>be replaced and some wouldn't
>I'm after suggestions before I go through and develop a database and
>build it into
>the software....no mean feat I assure you!!

I'm using TMultLang from Lingscape. With this component the
application can support as many languages as needed, and it also
gives you the possibility to switch between them on the fly.

It's easy to use, flexible and powerful. Highly recommended!

You can download a trial version from Lingscaps home page at
http://www.lingscape.com/

Fredrik Nordbakke
FNProgramvare - Shareware to CATalog your collection
http://www.prodat.no/fnp/eng/

Re:Multi lingual software???


Quote
Nikolai Sklobovsky wrote:
> Ryan,

> what you think is OK and it's already done by several
> people/companies, like,
> say, Innoview http://www.innoview.fi , or Peter Tiemann's MLang
> component
> http://www.preview.org

Ok. I realize that there are commercial packages out there to do exactly
what
I want, but what I 'm concerned about is what support they have for
custom components. My software uses a large variety of custom components

that I've written myself some of which have multiple strings to be
changed. There
isn't any uniform way to change the strings on them.

    This is the reason that I'm looking at writing my own system.

    But if these commercial packages allow you to specify how to modify
the strings
of custom components ( remember I want run time selectable) then perhaps

that is the way to go...

    Any further info on this would be greatly appreciated.

Ryan Ruckley
Software Engineer
Invent Engineering

Re:Multi lingual software???


On 19 Nov 97 09:34:38 GMT, "Craig van Nieuwkerk"

Quote
<crai...@melbpc.org.au> wrote:
>Normally you would use a resource file instead of a database to store the
>strings. What you have to do is ensure all strings come from a resource
>file and can be changed by some ifdef's. This can be a pain. There are some
>third party programs that scan your programs for text messages and will
>convert them to another language.

I thought the general method was to create a constant for each
language that you wanted to support and then number the strings
accordingly. In other words...

Const
   English = 1;
   Spanish = 2;
   French = 3;

All the English strings are from 1000-1999, all the Spanish are from
2000-2999 and all the French are from 3000-3999.

Use the constant with LoadStr to determine the correct string to load.

  If code page says English it would be...

    LoadStr(1000 * 1)

  For Spanish is would be...

    LoadStr(2000 * 1)

And so on down the line...

JE McTaggart

Re:Multi lingual software???


Hi Ryan,

Well, here is an other localization tool: http://www.helicon.co.at/translator3

You did not write if you use Delphi 3. Delphi 3 has built-in localization
support and our tool makes it easier to use it. Here is a brief description
about how D3-localization works. The .exe file contains the original
resources, usually english forms and strings, seperate <project>.<lang-abbr>
files contains the localized resources. If you declare strings with
"resourcestring" Delphi creates a .DRC file which is a resource-sourcefile.
You can translate this file and compile it to a res file. Then translate all
.DFM files. Create a library-project with the same name as your .exe file, but
with the language-abbr. as extension, e.g. project.de for the german resource
library. Link all resources to the resource library and ship it with your
application. As I've already said: Our tool helps to use this localization
technique. You can translate each property stored in a .DFM and you can
translate each string declared using resourcestring, including the
resourcestrings in the VCL.

Regards,
Andreas Prucha
helicon software development

In article <347A4701.3A477...@ozonline.com.au>, Invent Engineering

Quote
<halt...@ozonline.com.au> wrote:
>Nikolai Sklobovsky wrote:

>> Ryan,

>> what you think is OK and it's already done by several
>> people/companies, like,
>> say, Innoview http://www.innoview.fi , or Peter Tiemann's MLang
>> component
>> http://www.preview.org

>Ok. I realize that there are commercial packages out there to do exactly
>what
>I want, but what I 'm concerned about is what support they have for
>custom components. My software uses a large variety of custom components

>that I've written myself some of which have multiple strings to be
>changed. There
>isn't any uniform way to change the strings on them.

>    This is the reason that I'm looking at writing my own system.

>    But if these commercial packages allow you to specify how to modify
>the strings
>of custom components ( remember I want run time selectable) then perhaps

>that is the way to go...

>    Any further info on this would be greatly appreciated.

>Ryan Ruckley
>Software Engineer
>Invent Engineering

Re:Multi lingual software???


Quote
t...@ria.net wrote:

> On 19 Nov 97 09:34:38 GMT, "Craig van Nieuwkerk"
> <crai...@melbpc.org.au> wrote:

> >Normally you would use a resource file instead of a database to store the
> >strings. What you have to do is ensure all strings come from a resource
> >file and can be changed by some ifdef's. This can be a pain. There are some
> >third party programs that scan your programs for text messages and will
> >convert them to another language.

> I thought the general method was to create a constant for each
> language that you wanted to support and then number the strings
> accordingly. In other words...

> Const
>    English = 1;
>    Spanish = 2;
>    French = 3;

> All the English strings are from 1000-1999, all the Spanish are from
> 2000-2999 and all the French are from 3000-3999.

> Use the constant with LoadStr to determine the correct string to load.

>   If code page says English it would be...

>     LoadStr(1000 * 1)

>   For Spanish is would be...

>     LoadStr(2000 * 1)

> And so on down the line...

> JE McTaggart

Hi,
Or why not creating arrays of constants and use each element for each
language. E.g. English = 0, German = 1 and French = 2
And than use a variable to set the language and call a method you make
to translate the forms labels and stuff with the variable as element
number. For example: frmMain.Caption := LANG_FrmMainCaption[nLanguage];

Just a thought....
I've made a whole application like this (with three languages) and I
think it works just fine.

I have also made a function to translate constants used in messages with
different parameters. For the different languages, the parameter values
are placed differently and with this function I can find the placeholder
in the constant and replace it with the parameter value.

LANG_ExitApp := 'Exit #1';
E.g MessageBox(Translate(LANG_ExitApp, Application.Title), 'Info',
MB_OK);

Bad example, but what the hell... I think you understand.

-Jorgen

Re:Multi lingual software???


Quote
Andreas Prucha wrote:
> Hi Ryan,

> You did not write if you use Delphi 3.

Unfortunately I use Delphi 2.0 which might be half my problem. I haven't
been
using Delphi all that long so I'm assuming that any new components that
I design still have their strings put into resources so this method that
you
(and several others) mentioned should still work.

Ill have to do some more investigating to see if this is the case so
that I can use the resources and not have to do the string replacement
each time the program is run.

Ryan Ruckley
Software Engineer
Invent Engineering

Re:Multi lingual software???


Dear Ryan Ruckley:

Developing software for international markets involves managing
of two major tasks: the software developing and the maintenance
of languages. To make the software internationalization effective
the language maintenance plays a crucial role in the whole project.

Invent Engineering <halt...@ozonline.com.au> wrote in article
<3470D7E0.F6DDA...@ozonline.com.au>...

Quote
> I'm writing software that is going to be distributed around the world
> and I
> want to implement user selectable languages. The only way I've thought
> of so
> far that seems at all elegant is to build a database of strings
> contained in the
> application referenced by language.
[Lines removed]
> Ryan Ruckley
> Software Developer
> Invent Engineering

I agree that an elegant solution involves implementation of a database,
which
contains the translations. This makes it possible to keep the
multilinguality
apart from the programming. The more there are additional languages the
more time is saved.

This kind of approach is offered by Innoview Multilanguage. It keeps the
developing work apart from multilinguality. It consists of easy-to-use
components, and a powerful Dictionary Editor utility.

The translation information is kept either in an external Database,
textfile,
Unicode text file or on a Dictionary Server. Or you can embed the
translations into
the EXE-file. This means that you are able to create one-file multilingual
executables!

The components ensure that the development is fast and painless. Using
them you ensure that the progarms are not only translated but they are
localized.
E.g., Your program was written to use kilometres, Multilanguage ensures
that
they will ve shown as miles in US! Middle East langauges are written from
right
to left, Multilanguage realigns the visual elements on the from to meet
these changes.
Far Eastern symbols need more space than European character sets,
Multilanguage
resizes the forms, in order make the form easy to read.

With Dictionary Editor you edit the strings for foreign languages. It
automatically
extracts the strings and string-type properties from the program source.
Then
the strings have just to be translated. The utility is easy to use - even
for a person
that never has written a single line of code.

For further information, please visit:
http://www.innoview-data.com/multilanguage/
Don't forget to download the evaluation version of Multilanguage.

Erik Lindberg
Innoview Data Technologies

Re:Multi lingual software???


In article <3483795A.F5D51...@ozonline.com.au>, halt...@ozonline.com.au
says...

Quote
>Unfortunately I use Delphi 2.0 which might be half my problem. I haven't
>been
>using Delphi all that long so I'm assuming that any new components that
>I design still have their strings put into resources so this method that
>you
>(and several others) mentioned should still work.

>Ill have to do some more investigating to see if this is the case so
>that I can use the resources and not have to do the string replacement
>each time the program is run.

I've been using the TMultlang component and can reccommend it. It scans
through your project, collecting all bits of text( captions, lines in
 memos, hints, menu items etc) and can save them out as a text file which
you can then send out to your tame translator.

Have a look at http://www.lingscape.com for their web page.

They aren't paying me to say this, I'm just a happy customer.

Other Threads