sp -> sr@cyrylic

Jakub Bogusz qboosh w pld.org.pl
Śro, 21 Maj 2003, 12:00:58 CEST


On Wed, May 21, 2003 at 11:24:46AM +0200, Artur Flinta wrote:
> Dnia 2003.05.20 21:52, Jakub Bogusz napisał(a):
> >jest nieobsługiwane)... może chce Ci się ich zapytać? :)
> 
> No to się zapytałem, ponizej jest log z irca. Narazie przypomina to 
> walkę z wiatrakami. Nie wiem teraz czy robić dalej patche na resztę 
> programów :
> [aflinta w warp aflinta]$ locate sr w Latn |grep usr |wc -l
>      26
> to ok 24 patchy, czy też męczyć to na liście gnome (której) czy 
> faktycznie glibc powinno zmienić konwencję?
> 
> 				Artur
> 
> [10:51] < aflinta> Why in gnome locales we have sr w Latn?
> [10:52] < aflinta> There is no sr w Latn in glibc locales
> [10:52] < mitr> aflinta: Because in Serbian, both latin and cyrrilic is 
> used, and this is the best known way to represent the difference.
> [10:52] < aflinta> In glibc sr is for serbian (latin) and sr w cyrillic 
> for cyrillic
> [10:52] < aflinta> mitr: ok, but thi is incompatuible with glibc
> [10:53] < mitr> aflinta: not really, you can use sr w cyrillic for one 
> and sr w Latn for the other.
> [10:54] < aflinta> mitr: but in glibc sr w Latn will be ignored and used 
> then C will be used instead, cause sr w Latn is unknown
> [10:55] < mitr> aflinta: When faced with aa_bb w cc, programs are 
> supposed to try aa_bb w cc, aa_bb, aa, in that order

Programy mogą sobie próbować, ale setlocale(LC_ALL,"") im nie pozwoli.
W glibc 2.2.5 jeszcze działało tak jak pisze:

$ locale -a | grep ^sr
sr_YU
sr_YU w cyrillic
$ LC_ALL=sr_YU w Latn strace -e trace=open,access gettext -d libc ''
[...]
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
open("/usr/lib/locale/sr_YU+Latn/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/sr_YU w Latn/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/sr w Latn/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/sr+Latn/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/sr_YU/LC_IDENTIFICATION", O_RDONLY) = 3
[...]
open("/usr/share/locale/sr_YU+Latn/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/sr_YU w Latn/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/sr w Latn/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/sr+Latn/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/sr_YU/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/sr/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)

Ale w 2.3.2 już nie:

$ locale -a | grep ^sr
sr_YU
sr_YU.iso88592
sr_YU.iso88595 w cyrillic
sr_YU w cyrillic
$ LC_ALL=sr_YU w Latn strace -e trace=open,access gettext -d libc ''
[...]
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
open("/usr/lib/locale/sr_YU w Latn/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/sr w Latn/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/sr_YU/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/sr/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
$

I tyle. Dany "modifier" nie obsługiwany => używana jest lokalizacja C.
Czyli mając glibc 2.3.x i GNOME2 bez łat nie da się używać wersji
z alfabetem łacińskim... chyba że GNOME w ogóle olewa locale w glibc
i używa plików *.mo po swojemu??

> [10:56] < mitr> aflinta: see
> http://mail.gnome.org/archives/gnome-i18n/2003-May/msg00116.html and 
> following

Ugh, to dotyczy też plików .desktop :/

> [11:01] < aflinta> mitr: ok, but when sr in glibc is in latin, sr in 
> gnome is cyrillic
> [11:01] < mitr> aflinta: Cyrillic is the official script
> [11:02] < aflinta> mitr: in my opinion the better way is to rename (in 
> gnome) sr -> sr w cyrillic and sr w Latn -> sr
> [11:02] < aflinta> mitr: and then will be full compatybuility with glibc
> [11:03] < mitr> aflinta: IMHO glibc should be changed, but I've got 
> nothing to do with Serbian l10n. I'm sure they will have to solved it 
> somehow though.
> [11:04] < aflinta> mitr: in one I agree, gnome schema of naming locales 
> is better than this in glibc, but I don't think that glibc will change 
> this
> [11:05] < mitr> aflinta: There don't seem to bee any Serbian 
> translation on the TP, KDE translation is reportedly also not much, so 
> these may very well be first efforts to solve this problem.
> [11:06] < aflinta> mitr: I know that there are no translations, but 
> "order must be" as germans says ;)
> [11:07] < mitr> aflinta: that's why it should be fixed.
> [11:07] < mitr> (glibc should be fixed)
> [11:07] < aflinta> mitr: :))

Mogliby najpierw przeforsować zmianę w glibc... gdyby została
zaakceptowana, moglibyśmy zmienić nasze glibc nawet przed wydaniem
oficjalnej wersji i nie męczyć się z tymi poprawkami w całym GNOME.


-- 
Jakub Bogusz    http://cyber.cs.net.pl/~qboosh/



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