Bug 1053550 - [sr] the kexec-tools package has Serbian translations in Latin script in the wrong directory sr@Latn, correct is sr@latin
Summary: [sr] the kexec-tools package has Serbian translations in Latin script in the ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: kexec-tools
Version: 25
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Tong Li
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-01-15 12:12 UTC by Mike FABIAN
Modified: 2017-03-17 03:29 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2017-03-17 03:29:07 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
serbian-is-shown-in-cyrillic-instead-of-latin.png (72.48 KB, image/png)
2016-11-06 08:59 UTC, Mike FABIAN
no flags Details

Description Mike FABIAN 2014-01-15 12:12:07 UTC
mfabian@ari:/usr/share/locale/sr@Latn/LC_MESSAGES
$ rpm -qf kexec-tools.mo 
kexec-tools-2.0.4-18.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 3 Mike FABIAN 2015-04-20 14:27:01 UTC
The problem still exists in 
Fedora-Live-Workstation-x86_64-22_Beta-3.iso

[mfabian@Fedora-Live-Workstation-x86_64-2 LC_MESSAGES]$ rpm -q kexec-tools
kexec-tools-2.0.8-8.fc22.x86_64
[mfabian@Fedora-Live-Workstation-x86_64-2 LC_MESSAGES]$ rpm -q kexec-tools-anaconda-addon
kexec-tools-anaconda-addon-2.0.8-8.fc22.x86_64
[mfabian@Fedora-Live-Workstation-x86_64-2 LC_MESSAGES]$ rpm -qf kdump-anaconda-addon.mo 
kexec-tools-anaconda-addon-2.0.8-8.fc22.x86_64
[mfabian@Fedora-Live-Workstation-x86_64-2 LC_MESSAGES]$

Comment 4 Mike FABIAN 2015-04-20 14:27:52 UTC
[mfabian@Fedora-Live-Workstation-x86_64-2 LC_MESSAGES]$ rpm -qf /usr/share/locale/sr@Latn/LC_MESSAGES/kdump-anaconda-addon.mo 
kexec-tools-anaconda-addon-2.0.8-8.fc22.x86_64
[mfabian@Fedora-Live-Workstation-x86_64-2 LC_MESSAGES]$

Comment 5 Fedora End Of Life 2015-05-29 10:30:43 UTC
This message is a reminder that Fedora 20 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 20. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '20'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 20 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 6 Mike FABIAN 2015-06-02 05:24:26 UTC
The problem still exists in the released version of Fedora 22:

mfabian@ari:~
$ ls /usr/share/locale/sr@Latn/LC_MESSAGES/kdump-anaconda-addon.mo
/usr/share/locale/sr@Latn/LC_MESSAGES/kdump-anaconda-addon.mo
mfabian@ari:~
$ rpm -qf /usr/share/locale/sr@Latn/LC_MESSAGES/kdump-anaconda-addon.mo
kexec-tools-anaconda-addon-2.0.8-8.fc22.x86_64
mfabian@ari:~
$ cat /etc/redhat-release 
Fedora release 22 (Twenty Two)
mfabian@ari:~
$

Comment 7 Fedora End Of Life 2016-07-19 10:52:51 UTC
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 8 Jan Kurik 2016-07-26 04:30:17 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 25 development cycle.
Changing version to '25'.

Comment 9 Tong Li 2016-11-04 02:51:19 UTC
Hello Mike,

I tested with Fedora-Workstation-Live-x86_64-25_Beta-1 and it seems that the issue still exists in the newest version of kdump-anaconda-addon. But since I have no idea about Serbian, I can't make sure whether moving kdump-anaconda-addon.mo from sr@Latn to sr@latin can fix it. Would you please help me to confirm this problem?

You can download the latest Fedora Live CD and append 'inst.kdump_addon=on' argument at boot menu to enable kdump addon for anaconda.

Thanks,
Tong

Comment 10 Mike FABIAN 2016-11-06 08:59:06 UTC
Created attachment 1217703 [details]
serbian-is-shown-in-cyrillic-instead-of-latin.png

I used Fedora-Workstation-Live-x86_64-25_Beta-1.1.iso for this.

You can see in the screenshot, that the button at the top left
shows "Gotovo", i.e. Serbian in Latin script.

But the description below shows Serbian in Cyrillic script, which comes
from  this file:

$ msgunfmt /usr/share/locale/sr/LC_MESSAGES/kdump-anaconda-addon.mo | less
msgid ""
msgstr ""
"Project-Id-Version: kexec-tools\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-11-12 16:19+0800\n"
"PO-Revision-Date: 2007-03-11 01:02-0000\n"
"Last-Translator: Miloš Komarčević <kmilos>\n"
"Language-Team: Serbian (sr) <fedora>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

msgid "Kdump"
msgstr "Kdump"

msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump је механизам за избачај краха језгра. У случају краха система, kdump "
"ће сакупити податке од система који  могу бити од непроцењиве помоћи у "
"одређивању узрока краха. Приметите да kdump захтева заузимање дела системске "
"меморије који неће бити доступан за другу употребу."
lines 1-26/26 (END)

It should show the translation in Latin script instead,  but it doesn’t because
it is in the wrong file, i.e. it is here:

$ msgunfmt /usr/share/locale/sr@Latn/LC_MESSAGES/kdump-anaconda-addon.mo | less
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-11-12 16:19+0800\n"
"PO-Revision-Date: 2007-03-10 08:02-0500\n"
"Last-Translator: Miloš Komarčević <kmilos>\n"
"Language-Team: Serbian (sr) <fedora>\n"
"Language: sr-Latn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"

msgid "Kdump"
msgstr "Kdump"

msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump je mehanizam za izbačaj kraha jezgra. U slučaju kraha sistema, kdump "
"će sakupiti podatke od sistema koji  mogu biti od neprocenjive pomoći u "
"određivanju uzroka kraha. Primetite da kdump zahteva zauzimanje dela "
"sistemske memorije koji neće biti dostupan za drugu upotrebu."


Note You need to log in before you can comment on or make changes to this bug.