Problem with sr and sr@Latn



I've done a clean install of Gnome 2.4rc1 a couple of days back, and only then I noticed a problem with "sr" and "sr Latn" getting mixed up in .desktop files.

On either desktop or on the panel, whenever I add a .desktop file to it, only the latter language is used.

So, if I have eg.

Name[sr]=Terminal
Name[sr Latn]=Another terminal

if I use "sr_CS.UTF-8" or "sr_CS" (created from the file at srpski.org/ locale/sr_CS) as my LC_ALL setting, I still get the title "Another terminal" on my desktop, or for the launcher in the panel.

If however, I turn them around to be in the following order:

Name[sr Latn]=Another terminal
Name[sr]=Terminal

I get "Terminal" as the title. But, if I set my locale now to "sr_CS Latn", what happens is that I see "Terminal", instead of "Another terminal". So, the problem is obviously that somehow the latter setting is always used, meaning that "@Latn" is silently stripped and ignored, thereby anyone can override the other.

I've looked at gnome-desktop/libgnome-desktop/gnome-desktop-item.c where the "whacking" of modifier part is done. I've tried removing both occurences and recompiling and installing gnome-desktop, but that didn't help. At the moment, I am stuck here.

If I knew where the problem actually was, I'd file a bug at Bugzilla.

Another symptom is that if I use sr_CS Latn encoding, I get the top menu in cyrillic, items in Applications menu are correct (latin script), and items in Actions menu are incorrect (cyrillic script). All of this seems to be part of the same problem.

Also, if I "add a launcher from menu" to the panel, one of the translations gets lost, and if eg. the original .desktop file had

Name[sr]=Terminal
Name[sr Latn]=Another terminal

the resulting .desktop file in ~/.gnome2/panel2.d/default/launchers/ will have only one:
Name[sr]=Another terminal

I was not able to find any other code that actually cares about the '@', but I may have grepped for the wrong thing. Or perhaps, I'd need to recompile everything else besides gnome-desktop to make it work?

If not anything else, I surely hope that someone can at least point me to the right place to look at.

Yeah, I know that I should have tried a clean (without my configuration leftovers) install a way back, so I would have noticed that earlier.


Btw, while looking into issue, I've found out that both libbonobo and libgnome contain exactly the same (apart from indentation) function explode_locale that parses the locale name -- I am not sure if this can be put into one and used in the other, but just in case it was left by accident, I thought I'd mention it (though, I *can* see a reason not to put it in only one place, if we consider it "private", and don't want to make it accessible through interface of the library).


Cheers,
Danilo



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]