Do multilanguage application

Sean Kelly sean at invisibleduck.org
Sun Aug 14 09:31:24 PDT 2011


For serious i18n work I'd use ICU. I believe Mango even has a wrapper for some of it. 

Sent from my iPhone

On Aug 14, 2011, at 8:50 AM, Johannes Pfau <spam at example.com> wrote:

> Jacob Carlborg wrote:
>> On 2011-08-12 23:02, bioinfornatics wrote:
>>> Dear,
>>> I would like to know how do a multilanguage application. It seem it
>>> is possible by using flag -J but they are no document for this
>>> feature. link givent in this page
>>> http://www.digitalmars.com/d/2.0/dmd-linux.html seem to be wrong
>>> 
>>> if you can do a little example, will be nice
>>> 
>>> thanks
>>> 
>>> kind regards
>> 
>> It's fairly simple. You just need a file containing keys and values. 
>> This file can be read either at compile time or runtime. Read the file 
>> into an associative array and when you need a piece of text translated 
>> just pass the key to a function which retries the corresponding value 
>> from the associative array.
> 
> I think the std.string functions tr, translate, maketrans are meant to
> do that.
> But there's a lot more to proper i18n and even for translation a simple
> key/value table isn't perfect.
> gettext for example also handles plural forms and context information.
> (A translation might be different depending on it's context.)
> 
> Implementing all this stuff can get quite difficult, just have a look
> at the plural formulas for different languages:
> http://translate.sourceforge.net/wiki/l10n/pluralforms
> 
>> 
>> You could take a look at how internalization is don in Ruby on Rails, 
>> this can be applied to D as well:
>> http://guides.rubyonrails.org/i18n.html
>> 
> 
> 
> -- 
> Johannes Pfau
> 


More information about the Digitalmars-d mailing list