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.
--- 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