Bug 1053545

Summary: [sr] the glade2 package has Serbian translations in Latin script in the wrong directory sr@Latn, correct is sr@latin
Product: [Fedora] Fedora Reporter: Mike FABIAN <mfabian>
Component: glade2Assignee: Nils Philippsen <nphilipp>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: nphilipp
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glade2-2.12.2-18.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-01-21 12:40:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mike FABIAN 2014-01-15 12:02:53 UTC
mfabian@ari:/usr/share/locale/sr@Latn/LC_MESSAGES
$ rpm -qf glade-2.0.mo 
glade2-2.12.2-16.fc20.x86_64
mfabian@ari:/usr/share/locale/sr@Latn/LC_MESSAGES
$ 

Please move the Serbian translations in Latin script from

    /usr/share/locale/sr@Latn/LC_MESSAGES/

to

    /usr/share/locale/sr@latin/LC_MESSAGES/

Reasoning:
    
"Latn" is not the way the Latin script is spelled in glibc locales.
"Latn" is the script code according to ISO 15924

http://www.unicode.org/iso15924/iso15924-codes.html

used by CLDR and libicu.

But glibc locales spell it "latin" and "Latn" doesn’t work with gettext:

Check contents of the translation files:

    mfabian@ari:~
    $ msgunfmt /usr/share/locale/sr@Latn/LC_MESSAGES/xdg-user-dirs.mo | grep -A1 "Applications"
    msgunfmt /usr/share/locale/sr@Latn/LC_MESSAGES/xdg-user-dirs.mo | grep -A1 "Applications"
    msgid "Applications"
    msgstr "Programi"
    mfabian@ari:~
    $ msgunfmt /usr/share/locale/sr/LC_MESSAGES/xdg-user-dirs.mo | grep -A1 "Applications"
    msgunfmt /usr/share/locale/sr/LC_MESSAGES/xdg-user-dirs.mo | grep -A1 "Applications"
    msgid "Applications"
    msgstr "Програми"
    mfabian@ari:~
    $ msgunfmt /usr/share/locale/sr@latin/LC_MESSAGES/xdg-user-dirs-gtk.mo | grep -A1 "Current folder name"
    msgunfmt /usr/share/locale/sr@latin/LC_MESSAGES/xdg-user-dirs-gtk.mo | grep -A1 "Current folder name"
    msgid "Current folder name"
    msgstr "Trenutno ime"
    mfabian@ari:~
    $ msgunfmt /usr/share/locale/sr/LC_MESSAGES/xdg-user-dirs-gtk.mo | grep -A1 "Current folder name"
    msgunfmt /usr/share/locale/sr/LC_MESSAGES/xdg-user-dirs-gtk.mo | grep -A1 "Current folder name"
    msgid "Current folder name"
    msgstr "Тренутно име"
    mfabian@ari:~
    $ 

Correct.

Check whether the
/usr/share/locale/sr@latin/LC_MESSAGES/xdg-user-dirs-gtk.mo
translations can be retrieved with gettext using the @latin modifier:

    mfabian@ari:~
    $ LC_ALL=sr_RS@latin gettext -d xdg-user-dirs-gtk "Current folder name"
    LC_ALL=sr_RS@latin gettext -d xdg-user-dirs-gtk "Current folder name"
    Trenutno imemfabian@ari:~
    $ LC_ALL=sr_RS.UTF-8@latin gettext -d xdg-user-dirs-gtk "Current folder name"
    LC_ALL=sr_RS.UTF-8@latin gettext -d xdg-user-dirs-gtk "Current folder name"
    Trenutno imemfabian@ari:~
    $ LC_ALL=sr_RS.UTF-8 gettext -d xdg-user-dirs-gtk "Current folder name"
    LC_ALL=sr_RS.UTF-8 gettext -d xdg-user-dirs-gtk "Current folder name"
    Тренутно имеmfabian@ari:~
    $ 
    
Works, with @latin one gets the Serbian translation in latin script,
without @latin the Cyrillic ones.

Now check whether the /usr/share/locale/sr@Latn/LC_MESSAGES/xdg-user-dirs.mo
translations can be retrieved with gettext using the @latin or the @Latn
modifier:

    mfabian@ari:~
    $ LC_ALL=sr_RS.UTF-8@latin gettext -d xdg-user-dirs "Applications"
    LC_ALL=sr_RS.UTF-8@latin gettext -d xdg-user-dirs "Applications"
    Програмиmfabian@ari:~
    $ LC_ALL=sr_RS@latin gettext -d xdg-user-dirs "Applications"
    LC_ALL=sr_RS@latin gettext -d xdg-user-dirs "Applications"
    Програмиmfabian@ari:~
    $ 

So it doesn’t work with "@latin" because the "sr@Latn" directory is
mistakenly used, we get the fallback to Cyrillic instead.
sr_RS@latin and sr_RS.UTF-8@latin are valid locales, so if a suitable
folder containing the @latin cannot be found, gettext falls back to
the "sr" folder which exists and contains Cyrillic.

Now trying with @Latn:

    mfabian@ari:~
    $ LC_ALL=sr_RS.UTF-8@Latn gettext -d xdg-user-dirs "Applications"
    LC_ALL=sr_RS.UTF-8@Latn gettext -d xdg-user-dirs "Applications"
    Applicationsmfabian@ari:~
    $ LC_ALL=sr_RS@Latn gettext -d xdg-user-dirs "Applications"
    LC_ALL=sr_RS@Latn gettext -d xdg-user-dirs "Applications"
    Applicationsmfabian@ari:~
    $ 

We get the fallback to English beause sr_RS.UTF-8@Latn and sr_RS@Latn
are not valid glibc locales. sr_RS.UTF-8@latin and sr_RS@latin
are OK:

    mfabian@ari:~
    $ LC_ALL=sr_RS.UTF-8@latin locale charmap
    LC_ALL=sr_RS.UTF-8@latin locale charmap
    UTF-8
    mfabian@ari:~
    $ LC_ALL=sr_RS@latin locale charmap
    LC_ALL=sr_RS@latin locale charmap
    UTF-8
    mfabian@ari:~

But sr_RS.UTF-8@Latn and sr_RS@Latn are not valid:

    mfabian@ari:~
    $ LC_ALL=sr_RS.UTF-8@Latn locale charmap
    LC_ALL=sr_RS.UTF-8@Latn locale charmap
    locale: Cannot set LC_CTYPE to default locale: No such file or directory
    locale: Cannot set LC_MESSAGES to default locale: No such file or directory
    locale: Cannot set LC_ALL to default locale: No such file or directory
    ANSI_X3.4-1968
    mfabian@ari:~
    $ LC_ALL=sr_RS@Latn locale charmap
    LC_ALL=sr_RS@Latn locale charmap
    locale: Cannot set LC_CTYPE to default locale: No such file or directory
    locale: Cannot set LC_MESSAGES to default locale: No such file or directory
    locale: Cannot set LC_ALL to default locale: No such file or directory
    ANSI_X3.4-1968
    mfabian@ari:~
    $

Comment 1 Fedora Update System 2014-01-21 12:42:14 UTC
glade2-2.12.2-18.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/glade2-2.12.2-18.fc19

Comment 2 Fedora Update System 2014-01-21 12:42:22 UTC
glade2-2.12.2-18.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/glade2-2.12.2-18.fc20

Comment 3 Fedora Update System 2014-01-31 04:22:21 UTC
glade2-2.12.2-18.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 4 Fedora Update System 2014-01-31 04:24:05 UTC
glade2-2.12.2-18.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.