[Fedora-trans-ar] Re: coflicting declaration in qlocale.html
Munzir Taha
munzirtaha at newhorizons.com.sa
Fri Mar 25 22:40:49 UTC 2005
On Friday 25 March 2005 20:02, Dimitri wrote:
> Hi,
>
> > It's also mentinoned there:
> > "It is initialized with a country/language pair in its constructor..."
> > Shouldn't this better be:
> > "It is initialized with a language/country pair in its constructor..."?
>
> Yes, that would be better.
>
> > Also in that same page:
> > void setDefault ( const QLocale & locale )
> > ...
> > QLocale::setDefault(QLocale::Hebrew, QLocale::Israel);
> >
> > I believe
> > setDefault needs a 'const QLocale&' not a 'QLocale::Language,
> > QLocale::Country', am I wrong?
>
> That's true, but a QLocale is implicitly constructed from the
> language/country pair:
> http://doc.trolltech.com/4.0/qlocale.html#QLocale.3
I will the explanation to you but if I call it like in the doc example it will
generate an error of:
error: no matching function for call to
`QLocale::setDefault(QLocale::Language, QLocale::Country)'
/usr/local/qt-new/include/QtCore/qlocale.h:472: note: candidates are: static
void QLocale::setDefault(const QLocale&)
make: *** [qlocale.o] Error 1
>
> > Finally, it's also mentioned that:
> > "If a QLocale object is constructed with the default constructor, it will
> > use the default locale's settings"
> >
> > I thought the default locale should be that stored on LC_ALL, but calling
> > LC_ALL=xx ./myapp seems to ignore it, am I missing something?
>
> What is the actual value of 'xx'? To get the list of supported locales:
> locale -a
I tried LC_ALL=en_US
> For example on a Fedora Core 3 system LC_ALL usually needs to be set to
> a language/country pair:
Then I would consider this a bug in es locale in Fedora. For Arabic it works
properly (without the country part) with my Fedora 3 installation
# LC_ALL=ar date
س مار 26 01:38:25 AST 2005
> $ export LC_ALL=es
> $ date
> Fri Mar 25 11:11:11 CET 2005
> $
# uname -a
Linux localhost 2.6.10-1mdk #1 Fri Jan 14 14:31:03 CET 2005 i686 AMD
Athlon(tm) 64 Processor 3200+ unknown GNU/Linux
# locale
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_NUMERIC=ar_SA.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE=en_US.UTF-8
LC_MONETARY=ar_SA.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=ar_SA.UTF-8
LC_NAME=ar_SA.UTF-8
LC_ADDRESS=ar_SA.UTF-8
LC_TELEPHONE=ar_SA.UTF-8
LC_MEASUREMENT=ar_SA.UTF-8
LC_IDENTIFICATION=ar_SA.UTF-8
LC_ALL=
With
QLocale ar;
QString s1 = ar.toString(1.571429E+07, 'e');
QLabel *label = new QLabel(s1);
label->show();
Calling this code with LC_ALL=en, LC_ALL=en_US, and LC_ALL=en_US.UTF-8, all
still give the same result => an Arabic localazied numbers!
Calling with LC_NUMERIC=en_US.UTF-8 did the trick but I understand that LC_ALL
should overwrite LC_NUMERIC.
--
Munzir Taha PGP Key available
gpg --recv-keys --keyserver www.mandrakesecure.net F0671821
Telecommunications and Electronics Engineer
Mandrake Club Member
Maintainer of the OpenBugs project page at
http://www.arabic-fedora.org/munzir/OpenBugs.html
Maintainer of Fedora Arabic Translation Project
https://listman.redhat.com/mailman/listinfo/fedora-trans-ar
CIW Designer, ICDL, MOUS, Linux+, LPI 101
New Horizons CLC, Riyadh, SA
More information about the Fedora-trans-ar
mailing list