Patchwork [1,of,2,STABLE] i18n: do not abuse msgstr of "DEPRECATED" to check for bad translation

login
register
mail settings
Submitter Yuya Nishihara
Date Nov. 3, 2015, 2:58 p.m.
Message ID <179436b029f4d59c4437.1446562739@mimosa>
Download mbox | patch
Permalink /patch/11273/
State Accepted
Headers show

Comments

Yuya Nishihara - Nov. 3, 2015, 2:58 p.m.
# HG changeset patch
# User Yuya Nishihara <yuya@tcha.org>
# Date 1446557966 -32400
#      Tue Nov 03 22:39:26 2015 +0900
# Branch stable
# Node ID 179436b029f4d59c4437280bb2ddf4b2dbe7c029
# Parent  58b7f3e93bbab749ab16c09df12aae5ba7880708
i18n: do not abuse msgstr of "DEPRECATED" to check for bad translation

Because 44cc9f63a2f1 requires the msgstr of "(DEPRECATED)", old *.po files
must be blamed. Using "DEPRECATED" would just hide the error.

For example, "LANG=da_DK.UTF-8 hg help serve" fails to hide deprecated
options right now, but check-translation.py couldn't detect it because
da.po has outdated translation of "DEPRECATED".
Matt Mackall - Nov. 3, 2015, 7:53 p.m.
On Tue, 2015-11-03 at 23:59 +0900, Yuya Nishihara wrote:
> # HG changeset patch
> # User Yuya Nishihara <yuya@tcha.org>
> # Date 1446558297 -32400
> #      Tue Nov 03 22:44:57 2015 +0900
> # Branch stable
> # Node ID 051e334eac65bdf40dce11458da3ae858ed36bab
> # Parent  179436b029f4d59c4437280bb2ddf4b2dbe7c029
> i18n: make sure to include translation of (DEPRECATED)

Queued for stable, thanks.

-- 
Mathematics is the supreme nostalgia of our time.

Patch

diff --git a/i18n/check-translation.py b/i18n/check-translation.py
--- a/i18n/check-translation.py
+++ b/i18n/check-translation.py
@@ -71,9 +71,7 @@  def promptchoice(pe):
 deprecatedpe = None
 @scanner()
 def deprecatedsetup(pofile):
-    pes = [p for p in pofile
-           if ((p.msgid == 'DEPRECATED' or p.msgid == '(DEPRECATED)') and
-               p.msgstr)]
+    pes = [p for p in pofile if p.msgid == '(DEPRECATED)' and p.msgstr]
     if len(pes):
         global deprecatedpe
         deprecatedpe = pes[0]
@@ -82,8 +80,8 @@  def deprecatedsetup(pofile):
 def deprecated(pe):
     """Check for DEPRECATED
     >>> ped = polib.POEntry(
-    ...     msgid = 'DEPRECATED',
-    ...     msgstr= 'DETACERPED')
+    ...     msgid = '(DEPRECATED)',
+    ...     msgstr= '(DETACERPED)')
     >>> deprecatedsetup([ped])
     >>> pe = polib.POEntry(
     ...     msgid = 'Something (DEPRECATED)',