[Mono-bugs] [Bug 420468] New: Mono supports a reduced set of locales compared to Linux/ Unix systems

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Aug 26 15:05:16 EDT 2008


           Summary: Mono supports a reduced set of locales compared to
                    Linux/Unix systems
           Product: Mono: Runtime
           Version: SVN
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: misc
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: jordimash at gmail.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---

Mono supports a reduced set of locales compared to Linux

* The problem

The .Net framework builds its locale support on top of CultureInfo class. Mono
uses a set of hardcoded locales in the runtime to provide this support.

The problem is that the locales supported officially by Microsoft and by the
Mono runtime and are smaller set compared to the ones that Linux supports.

For example, languages like Occitan, Bosnian or Breton are not supported.
Neither combinations of supported languages in other regions, for example ca_AD
(Catalan language in Andorra). The list of non-supported locales is long.

* The impact

The problem is that applications build with Mono when running on Linux machines
on these not supported locales do NOT work well.

For example, if you run Banshee, F-Spot or Tomboy they always show the dates
and numbers formated for the invariant locale instead of using the user locale.
For example, in Occitan (French) or Catalan (Andorra) locales use European date
formatting but you get American date formatting. Same for numbers. This really
breaks the locale support at application level for many users.

All of these locales that are well supported in GNOME. Mono applications are
the only ones not supporting them correctly in GNOME.

* Solutions

Here are some proposed solutions:

1) Modify locales.c in the runtime to call localeconv Posix function when
running on Linux to build a .Net locale from the Posix locale when the user's
locale cannot be found in the internal runtime table. The problem is that the
date and formatting information exposed by Posix is incomplete compared to the
one needed by the .Net Framework. 

2) Extend the locales supported in Mono in all platforms using the Common
Locale Data Repository (http://unicode.org/cldr/).

I will be in favour of option 2).

* Final note

I noticed this problem when people using gbrainy were complain that the
decimals separators were not shown properly for their languages. Linux is well
know for having a very good support for minor languages and cultures. Do not
make people developing desktop applications to lose this fantastic support.



Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.

More information about the mono-bugs mailing list