Hi, In FPC the locale information is all hard-coded for Linux and other Unix based systems. We don't all live in the USA. ;-) This is very annoying. I also know we may not use glibc calls in FPC to get the locale information, because glibc is not always available on systems other than Linux.
Today I found the following on my Linux system which could possibly solve this issues. Could other Linux distros and Unix users (*BSD, etc) confirm if they also have the following directory? Under Ubuntu 7.10 I have the follow directory: /usr/share/i18n/locales/ Inside that directory are files like en_GB, en_US, es_ES, de_DE etc.... They are plain text files that should be fairly easy to parse and extract the locale information. Couldn't we use that to populate the locale information inside FPC, without the need of glibc? For example, here are some of the content of the en_ZA (English South Africa) file: -------------[ en_ZA ]-------------------- <....snip....> LC_MONETARY % ISO 4217 Currency and fund codes % http://www.bsi-global.com/Technical+Information/Publications/_Publications/tig90.xalter % "ZAR " int_curr_symbol "<U005A><U0041><U0052><U0020>" % "R" currency_symbol "<U0052>" % "." mon_decimal_point "<U002E>" % "," mon_thousands_sep "<U002C>" mon_grouping 3;3 positive_sign "" % "-" negative_sign "<U002D>" int_frac_digits 2 frac_digits 2 p_cs_precedes 1 p_sep_by_space 0 n_cs_precedes 1 n_sep_by_space 0 p_sign_posn 1 n_sign_posn 1 END LC_MONETARY LC_NUMERIC % "." decimal_point "<U002E>" % "," thousands_sep "<U002C>" grouping 3;3 END LC_NUMERIC LC_TIME % abday - The abbreviations for the week days: % - Sun, Mon, Tue, Wed, Thu, Fri, Sat abday "<U0053><U0075><U006E>";"<U004D><U006F><U006E>";/ "<U0054><U0075><U0065>";"<U0057><U0065><U0064>";/ "<U0054><U0068><U0075>";"<U0046><U0072><U0069>";/ "<U0053><U0061><U0074>" <...snip...> % Date representation to be referenced by the "%x" field descriptor - % "%d/%m/%Y", day/month/year as decimal numbers (01/01/2000). d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0059>" <...snip...> first_weekday 1 END LC_TIME LC_PAPER <...snip...> END LC_PAPER LC_TELEPHONE <...snip...> END LC_TELEPHONE ----------------[ end ]--------------------- Regards, - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/mailman/listinfo/fpc-devel
