wiki:MapGuideRfc18

MapGuide RFC 18 - Localization

This page contains a change request (RFC) for the MapGuide Open Source project. More MapGuide RFCs can be found on the RFCs page.

Status

RFC Template Version(1.0)
Submission DateMarch 7, 2007
Last ModifiedBruce Dechant Timestamp?
AuthorBruce Dechant
RFC Statusadopted
Implementation StatusCompleted
Proposed Milestone1.2
Assigned PSC guide(s)Bruce Dechant
Voting HistoryMarch 7, 2007
+1Bruce, Tom
+0Jason, Andy
-0
-1

Overview

The MapGuide server currently uses the "C" locale when it starts which is not very useful for end users that are running MapGuide in a non-English environment as this is a very restrictive locale.

Motivation

The reason for adding better localization support is for better support of end-users that are not using English. This will allow sorting and using of Upper/Lower? string functions on non-English data.

Proposed Solution

Add a new server configuration property "Locale" that can be set to whatever locale the end users wants. If this new property is blank or does not exist in the serverconfig.ini file then the server will default to the system locale.

The following is the format used for the Locale property:

lang[_country_region[.code_page]]

Note: The values you can specify for the locale are platform specific.

Windows Examples:

  • English
  • English_United States
  • English_United States.1252
  • French_France.1252

Linux Examples:

  • en_US
  • en_US.iso88591
  • en_US.iso885915
  • en_US.utf8
  • en_ZA
  • en_ZA.iso88591

Please see the platform developer documentation for the setlocale() API for more information on the locale examples.

For more information on Windows: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_language_strings.asp

For more information on Linux: http://linux.about.com/library/cmd/blcmdl3_setlocale.htm

Implications

The following setlocale() API categories will be set to the locale specified in the server configuration "Locale" property:

  • LC_COLLATE
  • LC_CTYPE
  • LC_MONETARY
  • LC_TIME

Note: The category LC_NUMERIC is already using the "C" locale and will not be changed.

The current server configuration property "DefaultLocale" will be renamed to reflect what the property really does. The proposed new name is "DefaultMessageLocale" because the property is only for the locale of messages returned to clients that have not specified their locale themselves. The format for this property will remain the same, ie: ISO639-1 name.

Backwards compatibility is partially maintained because if the user is already using "DefaultLocale" with a value of "en" for English messages the new "DefaultMessageLocale" has a value of "en" by default. However, if they have changed to some other value they will be affected and will need to update their configuration.

Test Plan

Run unit tests on English and non-English locales.

Funding/Resources?

Autodesk to provide resources / funding.

Last modified 11 years ago Last modified on Apr 20, 2007 3:03:01 PM