Bug 1305340 - DNF message "Upgrading" at Zanata translation defect. is this Present Progressive ? or , is Gerund? Grammar problem.
Summary: DNF message "Upgrading" at Zanata translation defect. is this Present Progre...
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: dnf (Show other bugs)
(Show other bugs)
Version: 28
Hardware: Unspecified Unspecified
low
unspecified
Target Milestone: ---
Assignee: rpm-software-management
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Keywords: i18n, Translation, Triaged
Depends On:
Blocks: 1546484
TreeView+ depends on / blocked
 
Reported: 2016-02-07 10:42 UTC by ooyama yosiyuki
Modified: 2018-10-24 20:06 UTC (History)
6 users (show)

Fixed In Version: dnf-4.0.4-1.fc29
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2018-10-24 20:06:27 UTC
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

Description ooyama yosiyuki 2016-02-07 10:42:28 UTC
Description of problem:  

DNF Massage translation defect. The message "Upgrading" in DNF is Present participle or Gerund.

When I translate DNF message from English to Japanese at Zanata, the "Upgrading" is used as Present participle. But at another scene ,"Upgrading" is used as Gerund.

In English language grammar, the word of Present participle is same string to Gerund.
But in Japanese grammar, It is not same string. 
In the Japanese language grammar, the word of Present participle string is different from Gerund string.

Therefore, It is different mean between Present participle and Gerund. But both scene come from at same message of Zanata message ID.

In Japanese Zanata,  both scene message ID is 
#28; Refs: ../dnf/yum/rpmtrans.py:129 ../dnf/cli/output.py:1005

At my Japanese language, If I translate as Present participle, then at another scean which "Upgrading" is used as Gerund the sentence will cause inconsistent. If I translate as Gerund, then at another scean the another sentence Which "Upgrading" is used as Present participle will cause inconsistent.


Therefore, at the time of the translation, I can not distinguish the difference of meaning in Japanese. Therefore, the sentence will cause inconsistent.

Please split "Upgrading" message ID to two message IDs.
One ID is to as Present participle, another ID is to as Gerund.

and "Downloading" message string, There is a similar problem,too.
Please split this message ID to two IDs. too.


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 ooyama yosiyuki 2016-02-07 10:53:32 UTC
In addition to the above, 
"Installing" string, There is similar grammar problem, too.
Please split this message ID to two IDs. too.

And "Reinstalling" string, There is similar grammar problem, too.
Please split this message ID to two IDs. too.

Comment 2 ooyama yosiyuki 2016-02-08 06:19:13 UTC
And "Removing" string, There is similar grammar problem, too.
Please split this message ID to two IDs. too.

Comment 3 Honza Silhan 2016-02-08 13:13:31 UTC
Would just splitting fix the problem? How can translator of eng string know which tense it should be? Can you please propose your solution via pull request [1]? I though about renaming "Installing" and so on in transaction summary to "To be installed", etc. But then the wording would be too complicated.

[1] https://github.com/rpm-software-management/dnf

Comment 4 ooyama yosiyuki 2016-02-09 03:28:15 UTC
The reason that I have reported to this bugzilla is,
Because I was redirected from the DNF official bug-report link "https://github.com/rpm-software-management/dnf/wiki/Bug-Reporting".

In this DNF official page, The link message "File a bug with" in the chapter "New feature request" redirects me to this Red-Hat Bugzilla page.

Comment 5 ooyama yosiyuki 2016-02-09 03:41:46 UTC
Already I have reported this problem to Fedora-translation Japanese-team. 
And I was suggested by a team member to report this bug to DNF Official Site etc.

https://lists.fedoraproject.org/archives/list/trans-ja@lists.fedoraproject.org/thread/UMV5B3SQSMH7LTXE36D53QWLSPIAGZ27/

Therefore , I looked at DNF official Website.
And I was redirected from DNF Website to RedHat Bugzilla here.

Comment 6 ooyama yosiyuki 2016-02-09 04:01:34 UTC
Sorry, mistake in writing.

redirected ->  transferred

That is, I was transferred from DNF site to this Bugzilla page.

Comment 7 ooyama yosiyuki 2016-02-10 03:01:24 UTC
Thank you, Mr.Jan Silhan.

Is your suggestion about "To be installed" is alike next example ?

(example)
================================================================================
 Package                   Arch   Version                         Repository
                                                                           Size
================================================================================
To be Installed:
 kernel                    x86_64 4.3.5-300.fc23                  updates  53 k
 kernel-core               x86_64 4.3.5-300.fc23                  updates  20 M
 kernel-modules            x86_64 4.3.5-300.fc23                  updates  18 M
To be Upgraded:
 createrepo_c              x86_64 0.10.0-2.fc23                   updates  76 k
 createrepo_c-libs         x86_64 0.10.0-2.fc23                   updates  95 k

Transaction Summary
================================================================================
(/example)

and

(example)
Transaction test succeeded.
Running transaction
  Upgrading   : selinux-policy-3.13.1-158.4.fc23.noarch                    1/55 
  Upgrading   : linux-firmware-20160204-61.git91d5dd13.fc23.noarch         2/55 
  Installing  : kernel-core-4.3.5-300.fc23.x86_64                          3/55 
  Installing  : kernel-modules-4.3.5-300.fc23.x86_64                       4/55  
(/example)

If the thing that you say is alike this example, I agree your idea.

By the way, Sorry, now I don't know How to use GitHub. because I have never used GitHub and Pull-Request.

Comment 8 Fedora Admin XMLRPC Client 2016-07-08 09:39:24 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 9 Fedora End Of Life 2016-11-24 15:26:15 UTC
This message is a reminder that Fedora 23 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 23. 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 '23'.

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 23 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 10 Fedora End Of Life 2017-02-28 09:53:54 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle.
Changing version to '26'.

Comment 11 Jens Petersen 2018-01-03 08:07:34 UTC
Is this still relevant?

Comment 12 noriko 2018-02-20 13:49:15 UTC
Honza and Jens
It seems still the problem exists. I see that the problem is simply reuse of particular strings, and that it can possibly be resolved to stop reuse those strings.
Can you check them?

Comment 13 Piotr Drąg 2018-02-20 15:04:53 UTC
Last I heard (https://bugzilla.redhat.com/show_bug.cgi?id=1302935#c17), DNF couldn’t use context to disambiguate strings.

Comment 14 noriko 2018-02-22 06:06:38 UTC
Piotr, thanks for the comment. It seems similar problem with different string of Polish.
I will restate here the strings below which this bug reporter filed against for Japanese.

Upgrading
#28; Refs: ../dnf/yum/rpmtrans.py:129 ../dnf/cli/output.py:1005
Downloading
#23; Refs: ../dnf/yum/rpmtrans.py:124 ../dnf/cli/output.py:1008
Installing
#429; Refs: ../dnf/cli/output.py:1079,../dnf/yum/rpmtrans.py:125
Reinstalling
#431; Refs: ../dnf/cli/output.py:1081,../dnf/yum/rpmtrans.py:127
Removing
#435; Refs: ../dnf/cli/output.py:1085

Could you please not use the above for both 'verbal noun' string and 'present progressive' string? Those should be split. I would like to suggest below if possible.

For 'verbal noun' string
Upgrade, Download, Install, Reinstall and Remove

For 'present progressive' string
Upgrading, Downloading, Installing, Reinstalling and Removing

Comment 15 Rafal Luzynski 2018-02-24 10:34:18 UTC
(In reply to Piotr Drąg from comment #13)
> Last I heard (https://bugzilla.redhat.com/show_bug.cgi?id=1302935#c17), DNF
> couldn’t use context to disambiguate strings.

That’s not quite true:

1. True, Python core library does not provide a translation with context but it’s easy to implement. Here is an example: https://github.com/abrt/gnome-abrt/commit/15f1c9a

2. Bug 1302935 is fixed, how did they do it?

Comment 16 Piotr Drąg 2018-02-24 18:53:35 UTC
(In reply to Rafal Luzynski from comment #15)
> That’s not quite true:
> 
> 1. True, Python core library does not provide a translation with context but
> it’s easy to implement. Here is an example:
> https://github.com/abrt/gnome-abrt/commit/15f1c9a
> 

That’s interesting. I would love it if DNF could do the same.

> 2. Bug 1302935 is fixed, how did they do it?

https://bugzilla.redhat.com/show_bug.cgi?id=1302935#c15 is still how DNF looks like.

Comment 17 noriko 2018-08-10 07:51:56 UTC
We are in F29 cycle, any plan to fix?

Comment 18 Rafal Luzynski 2018-08-11 21:54:47 UTC
I would be happy to fix it but the only problem is lack of time. Is there an upstream ticket opened for this? Can anybody fix it already using my hints provided in comment 15?

Comment 19 Rafal Luzynski 2018-09-10 22:40:46 UTC
I have started working on this. My work is not yet finished but it is already possible to preview what changes would be in the *.po files. Here are some excerpts for Czech, Japanese, and Polish languages.

=========================================================================

diff --git a/po/cs.po b/po/cs.po
index 5ed5274d..439cc809 100644
--- a/po/cs.po
+++ b/po/cs.po
-#: ../dnf/cli/output.py:1072 ../dnf/transaction.py:78
+#. Translators: This is for a single package currently being downgraded.
+#: ../dnf/transaction.py:79
+#, fuzzy
+msgctxt "currently"
+msgid "Downgrading"
+msgstr "Snížení verze"
+
+#. Traslators: This is for a list of packages to be downgraded.
+#: ../dnf/cli/output.py:1078
+#, fuzzy
+msgctxt "summary"
 msgid "Downgrading"
 msgstr "Snížení verze"
 
@@ -1100,15 +1110,25 @@ msgstr "Instalované balíčky %s%s nejsou dostupné"
 msgid "Installed size: %s"
 msgstr "Velikost po nainstalování: %s"
 
-#: ../dnf/cli/output.py:1063 ../dnf/transaction.py:80
+#. Translators: This is for a single package currently being installed.
+#: ../dnf/transaction.py:82
+#, fuzzy
+msgctxt "currently"
 msgid "Installing"
 msgstr "K instalaci"
 
-#: ../dnf/cli/output.py:1067
+#. Traslators: This is for a list of packages to be installed.
+#: ../dnf/cli/output.py:1065
+#, fuzzy
+msgctxt "summary"
+msgid "Installing"
+msgstr "K instalaci"
+
-#: ../dnf/cli/output.py:1065 ../dnf/transaction.py:83
+#. Translators: This is for a single package currently being reinstalled.
+#: ../dnf/transaction.py:86
+#, fuzzy
+msgctxt "currently"
+msgid "Reinstalling"
+msgstr "K přeinstalování"
+
+#. Traslators: This is for a list of packages to be reinstalled.
+#: ../dnf/cli/output.py:1069
+#, fuzzy
+msgctxt "summary"
 msgid "Reinstalling"
 msgstr "K přeinstalování"
 
-#: ../dnf/cli/output.py:1064 ../dnf/transaction.py:87
+#. Translators: This is for a single package currently being upgraded.
+#: ../dnf/transaction.py:91
+#, fuzzy
+msgctxt "currently"
 msgid "Upgrading"
 msgstr "K aktualizaci"
 
-#: ../dnf/cli/output.py:1743 ../dnf/cli/output.py:1745
+#. Traslators: This is for a list of packages to be upgraded.
+#: ../dnf/cli/output.py:1067
+#, fuzzy
+msgctxt "summary"
+msgid "Upgrading"
+msgstr "K aktualizaci"
+

diff --git a/po/ja.po b/po/ja.po
index a5bf54de..ebd680e8 100644
--- a/po/ja.po
+++ b/po/ja.po
-#: ../dnf/cli/output.py:1072 ../dnf/transaction.py:78
+#. Translators: This is for a single package currently being downgraded.
+#: ../dnf/transaction.py:79
+#, fuzzy
+msgctxt "currently"
+msgid "Downgrading"
+msgstr "ダウングレード"
+
+#. Traslators: This is for a list of packages to be downgraded.
+#: ../dnf/cli/output.py:1078
+#, fuzzy
+msgctxt "summary"
 msgid "Downgrading"
 msgstr "ダウングレード"
 
@@ -1075,15 +1085,25 @@ msgstr "インストール済みパッケージ %s%s は利用できません。
 msgid "Installed size: %s"
 msgstr "パッケージ展開後のサイズ: %s"
 
-#: ../dnf/cli/output.py:1063 ../dnf/transaction.py:80
+#. Translators: This is for a single package currently being installed.
+#: ../dnf/transaction.py:82
+#, fuzzy
+msgctxt "currently"
 msgid "Installing"
 msgstr "インストール"
 
-#: ../dnf/cli/output.py:1067
+#. Traslators: This is for a list of packages to be installed.
+#: ../dnf/cli/output.py:1065
+#, fuzzy
+msgctxt "summary"
+msgid "Installing"
+msgstr "インストール"
+
-#: ../dnf/cli/output.py:1065 ../dnf/transaction.py:83
+#. Translators: This is for a single package currently being reinstalled.
+#: ../dnf/transaction.py:86
+#, fuzzy
+msgctxt "currently"
+msgid "Reinstalling"
+msgstr "再インストール"
+
+#. Traslators: This is for a list of packages to be reinstalled.
+#: ../dnf/cli/output.py:1069
+#, fuzzy
+msgctxt "summary"
 msgid "Reinstalling"
 msgstr "再インストール"
 
-#: ../dnf/cli/output.py:1064 ../dnf/transaction.py:87
+#. Translators: This is for a single package currently being upgraded.
+#: ../dnf/transaction.py:91
+#, fuzzy
+msgctxt "currently"
 msgid "Upgrading"
 msgstr "アップグレード"
 
-#: ../dnf/cli/output.py:1743 ../dnf/cli/output.py:1745
+#. Traslators: This is for a list of packages to be upgraded.
+#: ../dnf/cli/output.py:1067
+#, fuzzy
+msgctxt "summary"
+msgid "Upgrading"
+msgstr "アップグレード"
+
+#: ../dnf/cli/output.py:1749 ../dnf/cli/output.py:1751
 msgid "User           :"
 msgstr "ユーザー            :"
 
diff --git a/po/pl.po b/po/pl.po
index 1288c95c..c106be23 100644
--- a/po/pl.po
+++ b/po/pl.po
-#: ../dnf/cli/output.py:1072 ../dnf/transaction.py:78
+#. Translators: This is for a single package currently being downgraded.
+#: ../dnf/transaction.py:79
+#, fuzzy
+msgctxt "currently"
+msgid "Downgrading"
+msgstr "Instalowanie poprzedniej wersji"
+
+#. Traslators: This is for a list of packages to be downgraded.
+#: ../dnf/cli/output.py:1078
+#, fuzzy
+msgctxt "summary"
 msgid "Downgrading"
 msgstr "Instalowanie poprzedniej wersji"
 
@@ -1108,15 +1118,25 @@ msgstr "Zainstalowany pakiet %s%s jest niedostępny."
 msgid "Installed size: %s"
 msgstr "Rozmiar po zainstalowaniu: %s"
 
-#: ../dnf/cli/output.py:1063 ../dnf/transaction.py:80
+#. Translators: This is for a single package currently being installed.
+#: ../dnf/transaction.py:82
+#, fuzzy
+msgctxt "currently"
 msgid "Installing"
 msgstr "Instalowanie"
 
-#: ../dnf/cli/output.py:1067
+#. Traslators: This is for a list of packages to be installed.
+#: ../dnf/cli/output.py:1065
+#, fuzzy
+msgctxt "summary"
+msgid "Installing"
+msgstr "Instalowanie"
+
-#: ../dnf/cli/output.py:1065 ../dnf/transaction.py:83
+#. Translators: This is for a single package currently being reinstalled.
+#: ../dnf/transaction.py:86
+#, fuzzy
+msgctxt "currently"
+msgid "Reinstalling"
+msgstr "Ponowne instalowanie"
+
+#. Traslators: This is for a list of packages to be reinstalled.
+#: ../dnf/cli/output.py:1069
+#, fuzzy
+msgctxt "summary"
 msgid "Reinstalling"
 msgstr "Ponowne instalowanie"
 
-#: ../dnf/cli/output.py:1064 ../dnf/transaction.py:87
+#. Translators: This is for a single package currently being upgraded.
+#: ../dnf/transaction.py:91
+#, fuzzy
+msgctxt "currently"
 msgid "Upgrading"
 msgstr "Aktualizowanie"
 
-#: ../dnf/cli/output.py:1743 ../dnf/cli/output.py:1745
+#. Traslators: This is for a list of packages to be upgraded.
+#: ../dnf/cli/output.py:1067
+#, fuzzy
+msgctxt "summary"
+msgid "Upgrading"
+msgstr "Aktualizowanie"
+

=========================================================================

Would anything like that be helpful?

Comment 20 Rafal Luzynski 2018-09-13 10:52:52 UTC
I've just made a pull request:

https://github.com/rpm-software-management/dnf/pull/1201

but few more things are confusing for me.

1. There is another message: 'Obsoleting' which appears 3 times. Should it be disambiguated? Should it have 2 different translations or 3? If 2, which are the same?

2. There is a message 'Erasing' and has a comment: "TODO: 'Removing'?" Does it mean that the original author would like to use the word 'Removing' but has not used to avoid ambiguity with 'Removing'? Now it is possible to use 'Removing' everywhere.

Note that 'Downloading' appears only once now and therefore is not ambiguous.

Comment 21 Piotr Drąg 2018-09-13 15:50:43 UTC
Thanks for working on this, Rafal! If it gets accepted, can we extend it to fix also these (there may be more)?

https://bugzilla.redhat.com/show_bug.cgi?id=1302935#c15
https://bugzilla.redhat.com/show_bug.cgi?id=1585509
https://github.com/rpm-software-management/dnf/pull/792#issuecomment-297131137

Comment 22 Rafal Luzynski 2018-09-13 22:46:09 UTC
(In reply to Piotr Drąg from comment #21)
> Thanks for working on this, Rafal! If it gets accepted, can we extend it to
> fix also these (there may be more)?
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=1302935#c15

I'd like to take a closer look at this issue. Possible answers:

1. Not directly because it needs plurals with contexts. But it will be easy to implement following the same pattern.
2. Possibly it is incorrect to use plurals at all in this context and therefore the issue will disappear (or will be reduced to a simple disambiguation).

> https://bugzilla.redhat.com/show_bug.cgi?id=1585509

I was not aware of this. Probably yes, easily.

> https://github.com/rpm-software-management/dnf/pull/792#issuecomment-
> 297131137

I was not aware of this, either. I think that disambiguation will be helpful but more work will be needed for that issue.

BTW, there were some problems in my pull request as spotted by the DNF Bot but I've resolved them. Any feedback from human reviewers?

Comment 23 Rafal Luzynski 2018-09-25 21:06:37 UTC
This bug has been fixed upstream and the updated dnf.pot file has been pushed to Zanata today. Translators, please update your translations. Most likely it will be fixed in 3.6.1 or 3.6.2 release. However, I don't know which versions of Fedora will receive this update.

Comment 24 noriko 2018-10-07 02:26:03 UTC
Thank you Rafal,
I updated Japanese, and sent the mail asking other language teams to give an update.

Comment 25 Rafal Luzynski 2018-10-09 08:59:46 UTC
dnf 3.6.1 containing this fix in software but not in translations has just arrived to Fedora 29.  As some translations including Japanese have been fixed in Zanata after the release, maintainers please:

* pull the translations from Zanata,
* make a bugfix release,
* push it to Fedora 29 and Rawhide,
* mark this bug as fixed.

BTW, this means that translations in the most up-to-date release are incomplete now.


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