i18n: merge i18n comments of translatable texts correctly
authorFUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Wed, 22 Aug 2018 14:37:56 +0900
changeset 39269 d0e8933d6dad
parent 39268 0dfcc348d383
child 39270 37e56607cbb9
i18n: merge i18n comments of translatable texts correctly Before this patch, i18n comments of translatable texts are lost at creation of hg.pot file, if: - same translatable text appears multiple times, - the 1st appearance does not have i18n comment, and - any of rest has it For example, previous patch for filemerge.py adds translatable texts with i18n comments, but these comments are lost, because: - automatically added texts in docstring of internal merge tools are picked up earlier than these translatable texts, because of location in filemerge.py - but docstring has no i18n comment This patch makes addentry() of posplit merge i18n comments of later translatable texts, in order to keep them at creation of hg.pot.
i18n/posplit
--- a/i18n/posplit	Wed Aug 22 14:22:59 2018 +0900
+++ b/i18n/posplit	Wed Aug 22 14:37:56 2018 +0900
@@ -15,6 +15,14 @@
     e = cache.get(entry.msgid)
     if e:
         e.occurrences.extend(entry.occurrences)
+
+        # merge comments from entry
+        for comment in entry.comment.split('\n'):
+            if comment and comment not in e.comment:
+                if not e.comment:
+                    e.comment = comment
+                else:
+                    e.comment += '\n' + comment
     else:
         po.append(entry)
         cache[entry.msgid] = entry