[Gtk-sharp-list] Trying again.

Charles Iliya Krempeaux charles@reptile.ca
23 Mar 2003 11:03:45 -0800


Hello,

I don't know if there is an official .NET way of doing it.  Or
an official C# way of doing it.

But for any solution, there are the same basic things you have
to worry about.

One of those things is called internationalization.  (This is also
called "i18n".  It's called this because the word "internationalization"
starts with an "i"... has 18 letters in between... and then ends with
an "n".  It's just a quick way of writing it.)

The other issue is called localization.  (This is also called "l10n". 
It's called this because the word "localization" starts with
an "l"... has 10 letters in between... and then ends with an "n".
It's just a quick way of writing it.)

For i18n, you need to be able to first "store" data from all the 
different languages.  (For example, I need to be able to store
English text; I need to be able to store Japanese text; I need
to be able to store Farsi text; etc.)

This "storing" might take place in strings.  (Like the "string" data 
type in .NET.  I.e., System.String.)  The "storing" could also take
place in your file representations.

Fortunately, the .NET string stores UNICODE characters.  So, the .NET
string is fully capable of storing internationalized text.

Also, if you want a file format to store text in, you could always use
something based on XML.  XML has built in facilities for
internationalized text.  (Or you could just create your own, total new,
file format, and make sure to build in your own facilities for
internationalized text.)

The other part of i18n is displaying the internationalized text.  For
GNOME.NET, this is done through Pango.  To learn more about Pango,
please visit the Pango website at:

    http://www.pango.org/

We now need to have a look at l10n.  Now, for C (and C++) based GNOME
applications, the solution for l10n is based on a program called
"gettext".  (Do a search on Google for "gettext" to learn more about
it.)

The only problem with this, is that I don't think "gettext" has a C#
binding.

(Someone, with the inclination could always create a .NET binding for
GNU gettext   :-)    )

So... as far as I know, you are left creating your own solution for
l10n.  (.NET might have one built in... but if it does, I don't know
about it.)


See ya


On Sat, 2003-03-22 at 12:44, George Farris wrote:
> I asked this once before over a month ago and thought maybe someone
> might have come up with a solution by now.
> 
> Is there any way to do internationalization with C#, gtk# and glade#? 
> I'm writing a GNOME app and would like to allow this feature but none of
> the apps (mono-debugger, monodoc etc) have solutions to this problem.
> 
> Ideas anyone?  We'll have to address this issue fairly soon or people
> will come with different solutions for individual apps.
> 
> Comments?
-- 
     Charles Iliya Krempeaux, BSc
     charles@reptile.ca

________________________________________________________________________
 Reptile Consulting & Services    604-REPTILE    http://www.reptile.ca/