Number to Words and licencing

Geert Janssens janssens-geert at
Sun Nov 3 05:32:18 EST 2013

On Saturday 02 November 2013 14:55:34 John Ralls wrote:
> On Nov 2, 2013, at 1:37 PM, Thomas Troesch <ttroesch at> wrote:
> > John:
> > 
> > Thank you for your thoughtful response.
> > 
> > I had looked at ICU only for the purpose of number to words
> > translation.  I just now took the time to review the scope of what
> > it addresses, and I see how big a task it would be to incorporate
> > ICU in general.  It seems to have clear advantages, but its much
> > more work than I can, or probably should, do.  I'm not really
> > familiar with NLS issues.  I took my very first look at a .po file
> > just to get an idea about how things work now.
> > 
> > I'm focused on NLS for printing checks, and all I know about it is
> > from .  Do you think it would
> > be at all practical to consider developing plug-ins for number to
> > words based on locale settings?  Developing translations would be a
> > very different process, but may be sufficiently interesting for
> > some people.
> Thomas,
> The po files go with gettext. That’s the bit I’d leave alone, as I
> explained in my previous letter. If you leave that out and
> concentrate on formatting it becomes substantially less involved, but
> the implementor would need to have some understanding of how both
> libc and ICU work to be sure of doing it right.
> As for the plugin, what’s wrong with the current number_to_words()?
> It’s already localized via gettext. What would you do differently?
The issue is that numbers are not translatable by simply translating the 
digits. Each language has slightly different rules to form larger 

Take for example the number 95. In English: ninety five, relatively 
straight forward.

In Dutch however this becomes "vijfennegentig" (which litterally 
translated in English would be "five and ninety".

In French it gets even more odd: "quatre-vingt quinze", which litterally 
translates as "four-twenty fifteen".

And that's only three languages that I know. I'm sure many other 
languages have still different ways to form larger numbers. These 
oddities in languages can't be covered in only with gettext as far as I 
know, or you will have to add quite a lot of individual numbers to 


More information about the gnucash-devel mailing list