Łata na QT - obsługa locale

Jacek Konieczny jajcus w pld.org.pl
Wto, 1 Lip 2003, 20:26:11 CEST


On Tue, Jul 01, 2003 at 08:01:15PM +0200, Michal Kochanowicz wrote:
> On Tue, Jul 01, 2003 at 07:42:52PM +0200, Jacek Konieczny wrote:
> > Jest w CVS: qt-charset.patch
> Niestety nie nakłada się a ja go nie rozumiem. Z pobieżnego przejrzenia
> nie widzę tam żadnego odwołaia do LC_MESSAGES - w jakim języku miałbym
> komunikaty, gdyby ten patch nałożyć, przy takich ustawieniach:
[...]
> LANG=pl_PL
> LC_MESSAGES=en_US

Chyba jednak mój patch nie zupełnie to robi. On poprawiał ustawienia
kodowania znaków. Qt kiedyś (podejżewam że dalej to robi, pewnie w
głópszy sposób) zamiast pobierać nazwę kodowania z systemu (funkcją
nl_langinfo()) parsowało w dziwny sposób zmienne środowiska LANG i
LC_MESSAGES (chyba LC_CTYPE nawet nie tykało). Przez to gdy LANG nie
było ustawione, tylko LC_CTYPE na pl_PL, to nie było polskich literek.

Ale podejżewam że tutaj sytuacja jest podobna. Każdy normalny program
robi: setlocale(LC_MESSAGES,NULL) aby otrzymać locale jakie ma być
używane do wyświetlania komunikatów. Ewentualnie może obciąć część po
"_" i nic więcej. A jak znam idiotów z trolltech, to czytają kilka
zmiennych środowiska (niekoniecznie właściwych) i na ich podstawie
cośtam ustawiają. A poprawka to pewnie zamiana ich kilkudziesięciu lini
kodu na jedno wywołanie setlocale(). Ale ja nie mam zamiaru znowu przy
tym dłubać. A jak ktoś się za to weźmie, to niech sprawdzi jak wygląda
sprawa z kodowaniem znaków i LC_CTYPE (to co robił mój patch).

Pozdrowienia,
        Jacek



Więcej informacji o liście dyskusyjnej pld-devel-pl