Bug 1265371 - pofilter endwhitespace tests fail for many language translations in subscription-manager-1.15
pofilter endwhitespace tests fail for many language translations in subscript...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: subscription-manager (Show other bugs)
7.2
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Chris Rog
John Sefler
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-09-22 15:11 EDT by John Sefler
Modified: 2015-11-19 06:51 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-11-19 06:51:03 EST
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)

  None (edit)
Description John Sefler 2015-09-22 15:11:45 EDT
Description of problem:
For many of the language translations in https://translate.zanata.org/zanata/iteration/view/subscription-manager/1.15.X the same whitespace at the end of the translated msgstr has not been maintained.  For example...

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Environment: "
msgstr "ପରିବେଶ:"

Notice that the msgid has trailing whitespace, but the msgstr does not.
While this seems trivial, it affects textural formatting that was intentionally programmed by the subscription-manager development team.

Version-Release number of selected component (if applicable):
[root@jsefler-7 ~]# rpm -q subscription-manager
subscription-manager-1.15.9-11.git.0.ca4dfaa.el7.x86_64

How reproducible:


Steps to Reproduce:
Use the pofilter startwhitespace tool from http://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/pofilter.html


[root@jsefler-7 ~]# msgunfmt --no-wrap /usr/share/locale/ja/LC_MESSAGES/rhsm.mo >> /usr/share/locale/ja/LC_MESSAGES/rhsm.po
[root@jsefler-7 ~]# pofilter --gnome -t endwhitespace /usr/share/locale/ja/LC_MESSAGES/rhsm.po
processing 1 files...
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-09-02 14:20-0400\n"
"PO-Revision-Date: 2015-09-18 03:46-0400\n"
"Last-Translator: noriko <noriko@fedoraproject.org>\n"
"Language-Team: Japanese\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0\n"
"X-Generator: Zanata 3.7.1\n"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "<b>Choose the specific contract to use:</b>"
msgstr "<b>使用する特定コントラクトの選択:</b> "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "<b>HTTP Proxy</b>"
msgstr "<b>HTTP プロキシー</b> "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "<b>Subscription:</b>"
msgstr "<b>サブスクリプション:</b> "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "<b>Total Contracts:</b>"
msgstr "<b>コントラクト合計:</b> "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Contract Selection"
msgstr "コントラクトの選択 "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Could not read legacy proxy settings.  "
msgstr "レガシープロキシー設定を読み取りできません。"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Could not remove system entitlement on legacy server.  "
msgstr "レガシーサーバーにあるシステムのエンタイトルメントを削除できませんでした。"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Could not retrieve system migration data from legacy server.  "
msgstr "レガシーサーバーからシステム移行データを取得できませんでした。"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Date entered is invalid. Date should be in YYYY-MM-DD format (example: "
msgstr "入力した日付は無効です。日付は YYYY-MM-DD の形式にしてください(例えば:"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Environment: "
msgstr "環境:"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Error parsing baseurl:"
msgstr "ベース url のパーシング中にエラー: "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Invalid date format. Please re-enter a valid date. Example: "
msgstr "無効な日付形式です。有効な日付を再入力してください。例えば:"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Org: "
msgstr "組織:"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Organization: "
msgstr "組織:"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Password:"
msgstr "パスワード: "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Problem encountered getting the list of subscribed channels.  "
msgstr "サブスクライブしたチャンネル一覧の取得時に問題が発生しました。"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Product "
msgstr "製品"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Proxy P_assword:"
msgstr "プロキシー パスワード(_A): "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Proxy _Username:"
msgstr "プロキシー ユーザー名(_U): "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Stack "
msgstr "スタック"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Stack of %s and %s others"
msgstr "多数の %s とその他に %s "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Subscription "
msgstr "サブスクリプション"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "The system has been registered with ID: %s "
msgstr "このシステムは次の ID で登録されました: %s"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "This system appears to already be registered to Satellite 6."
msgstr "このシステムはすでに Satellite 6 に登録されているようです。 "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Unable to authenticate to legacy server.  "
msgstr "レガシーサーバーへの認証ができません。"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Unable to connect to certificate server: %s.  "
msgstr "証明書サーバーに接続できません: %s。 "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Unable to unregister system from legacy server.  "
msgstr "レガシーサーバーからシステムを登録解除できません。"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Use Au_thentication with HTTP Proxy:"
msgstr "HTTP プロキシーで認証を使用(_T) "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "You do not have access to system %s.  "
msgstr "システム %s へのアクセス権がありません。"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "_Close"
msgstr "閉じる(_C) "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "<b>Choose the specific contract to use:</b>"
msgstr "<b>使用する特定コントラクトの選択:</b> "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "<b>HTTP Proxy</b>"
msgstr "<b>HTTP プロキシー</b> "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "<b>Subscription:</b>"
msgstr "<b>サブスクリプション:</b> "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "<b>Total Contracts:</b>"
msgstr "<b>コントラクト合計:</b> "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Contract Selection"
msgstr "コントラクトの選択 "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Could not read legacy proxy settings.  "
msgstr "レガシープロキシー設定を読み取りできません。"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Could not remove system entitlement on legacy server.  "
msgstr "レガシーサーバーにあるシステムのエンタイトルメントを削除できませんでした。"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Could not retrieve system migration data from legacy server.  "
msgstr "レガシーサーバーからシステム移行データを取得できませんでした。"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Date entered is invalid. Date should be in YYYY-MM-DD format (example: "
msgstr "入力した日付は無効です。日付は YYYY-MM-DD の形式にしてください(例えば:"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Environment: "
msgstr "環境:"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Error parsing baseurl:"
msgstr "ベース url のパーシング中にエラー: "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Invalid date format. Please re-enter a valid date. Example: "
msgstr "無効な日付形式です。有効な日付を再入力してください。例えば:"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Org: "
msgstr "組織:"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Organization: "
msgstr "組織:"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Password:"
msgstr "パスワード: "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Problem encountered getting the list of subscribed channels.  "
msgstr "サブスクライブしたチャンネル一覧の取得時に問題が発生しました。"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Product "
msgstr "製品"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Proxy P_assword:"
msgstr "プロキシー パスワード(_A): "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Proxy _Username:"
msgstr "プロキシー ユーザー名(_U): "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Stack "
msgstr "スタック"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Stack of %s and %s others"
msgstr "多数の %s とその他に %s "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Subscription "
msgstr "サブスクリプション"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "The system has been registered with ID: %s "
msgstr "このシステムは次の ID で登録されました: %s"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "This system appears to already be registered to Satellite 6."
msgstr "このシステムはすでに Satellite 6 に登録されているようです。 "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Unable to authenticate to legacy server.  "
msgstr "レガシーサーバーへの認証ができません。"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Unable to connect to certificate server: %s.  "
msgstr "証明書サーバーに接続できません: %s。 "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Unable to unregister system from legacy server.  "
msgstr "レガシーサーバーからシステムを登録解除できません。"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Use Au_thentication with HTTP Proxy:"
msgstr "HTTP プロキシーで認証を使用(_T) "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "You do not have access to system %s.  "
msgstr "システム %s へのアクセス権がありません。"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "_Close"
msgstr "閉じる(_C) "
[###########################################] 100%




Actual results:
above you's see several test failures for LANG=ja_JP.utf-8
Comment 3 John Sefler 2015-09-23 14:28:26 EDT
almost Done... I've made my first pass at manually fixing most langs in Zanata project subscription-manager/1.15.X for trailing whitespace.  There are still many failures in Korean to be fixed.
Comment 4 Chris Rog 2015-09-28 10:41:15 EDT
The resolution for this is peculiar. Due to the differences in translation states between our current upstream master and the intended release for RHEL 7.2, this has two different commits:

RHEL 7.2:
commit ca643f7a62599e64eea851d8322812d104195628
Author: Chris Rog <crog@redhat.com>
Date:   Fri Sep 25 10:12:48 2015 -0400

    1265347, 1265371: Updated translations with whitespace corrections


Upstream master:
commit 989ea32a96e64feaa7b7197b9eb136d4c49e55ca
Author: Chris Rog <crog@redhat.com>
Date:   Wed Sep 23 16:10:12 2015 -0400

    1265347, 1265371: Added translation updates and corrections from 1.15.X
    
    - Updated the .po files to inclued the translation updates and corrections
      made in the 1.15.X branch
Comment 6 John Sefler 2015-09-29 15:24:08 EDT
Testing Version....
[root@jsefler-7 ~]# rpm -q subscription-manager
subscription-manager-1.15.9-12.el7.x86_64

Here's a summary of the LANG (ko ml ta_IN) translations that are still failing...

[root@jsefler-7 ~]# pofilter -t endwhitespace /usr/share/locale/ko/LC_MESSAGES/rhsm.po | grep -A3 pofilter
processing 1 files...
[###########################################] 100%
# (pofilter) endwhitespace: Different whitespace at the end
msgid "System '%s' successfully registered.\n"
msgstr "시스템 '%s'이 성공적으로 등록되었습니다. \n"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Unable to find file \"%s\" in manifest."
msgstr "매니페스트에서 파일 \"%s\"를 찾을 수 없습니다. "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "service level to follow when attaching subscriptions, for no service level use --servicelevel=\"\""
msgstr "서브스크립션을 첨부할 때 따라야 할 서비스 레벨, 서비스 레벨이 없는 경우 --servicelevel=\"\" 사용 "


[root@jsefler-7 ~]# pofilter -t endwhitespace /usr/share/locale/ta_IN/LC_MESSAGES/rhsm.po | grep -A3 pofilter
processing 1 files...
[###########################################] 100%
# (pofilter) endwhitespace: Different whitespace at the end
msgid "Proxy _Username:"
msgstr "பதிலாள் பயனர்பெயர் (_U): "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Remove"
msgstr "நீக்கவும் "


[root@jsefler-7 ~]# pofilter -t endwhitespace /usr/share/locale/ml/LC_MESSAGES/rhsm.po | grep -A3 pofilter
processing 1 files...
[###########################################] 100%
# (pofilter) endwhitespace: Different whitespace at the end
msgid "%%prog %s [OPTIONS]"
msgstr "%%prog %s [ഐച്ഛികങ്ങള്‍] "

# (pofilter) endwhitespace: Different whitespace at the end
msgid "%%prog %s [OPTIONS] "
msgstr "%%prog %s [ഐച്ഛികങ്ങള്‍]"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Product "
msgstr "പ്രൊഡക്ട്"

# (pofilter) endwhitespace: Different whitespace at the end
msgid "Subscription "
msgstr "സബ്സ്ക്രിപ്ഷന്‍"
Comment 7 Chris Snyder 2015-09-30 12:37:05 EDT
Please retest against snap 4
Comment 8 John Sefler 2015-10-01 15:48:10 EDT
Verifying Version...
[root@jsefler-7 ~]# rpm -q subscription-manager
subscription-manager-1.15.9-13.el7.x86_64

[root@jsefler-7 ~]# for F in $(rpm -ql subscription-manager | grep rhsm.mo); do echo ""; echo $F; msgunfmt --no-wrap $F >> $F.po; pofilter -t endwhitespace $F.po; done;

/usr/share/locale/as/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/bn_IN/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/de_DE/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/es_ES/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/fr/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/gu/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/hi/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/it/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/ja/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/kn/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/ko/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/ml/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/mr/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/or/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/pa/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/pt_BR/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/ru/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/ta_IN/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/te/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/zh_CN/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%

/usr/share/locale/zh_TW/LC_MESSAGES/rhsm.mo
processing 1 files...
[###########################################] 100%



VERIFIED: all translations in all translated LANGs pass the endwhitespace test
Comment 9 errata-xmlrpc 2015-11-19 06:51:03 EST
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-2122.html

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