[GRASS-dev] Re: [GRASS-user] Set language in Linux

Glynn Clements glynn at gclements.plus.com
Wed Feb 3 17:02:52 EST 2010


Markus Neteler wrote:

> > I'm getting an error, that before I was getting:
> > GRASS 6.4.0svn (North-Carolina):~ >
> > (process:4282): Gdk-WARNING **: locale not supported by C library
> > (process:4282): Gtk-WARNING **: Locale not supported by C library.
> > Using the fallback 'C' locale.
> > But it works at least for wxpython translations. Grassmods no.
> > Regarding .UTF-8 and without .UTF-8, it was the same. I thought that this
> > error had something to do wuth UTF-8 but no.
> 
> The problem will be the mixture of encodings:

No it won't. GNU msgfmt always uses UTF-8 in the .mo files, and
converts to the locale's encoding automatically (so that you don't
need separate .mo files for e.g. LANG=es and LANG=es.UTF-8).

> grasslibs_es.po:"Content-Type: text/plain; charset=ISO-8859-1\n"
> grassmods_es.po:"Content-Type: text/plain; charset=ISO-8859-1\n"
> grasstcl_es.po:"Content-Type: text/plain; charset=UTF-8\n"
> grasswxpy_es.po:"Content-Type: text/plain; charset=UTF-8\n"
> 
> @dev: To which encoding should we consolidate this mix?

ISO-8859-1.

This doesn't have any effect upon the resulting .mo file, but it
ensures that the files don't contain any characters outside of the
Latin-1 repertoire. This may be significant as we get more Windows
users, as Microsoft tries quite hard to ensure that data gets infected
with Windows-specific extensions.

It also ensures that the file remains editable on as many systems as
possible. Supporting arbitrary unibyte encodings is almost as
straightforward as supporting ASCII; supporting multi-byte encodings
or wide characters is somewhat harder (more work and more platform
dependencies).

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-dev mailing list