# HG changeset patch # User FUJIWARA Katsunori # Date 2018-08-22 05:37:56 # Node ID d0e8933d6dade35408a505c858511f6db77c3b42 # Parent 0dfcc348d38342879581badab8afbfab815310c4 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. diff --git a/i18n/posplit b/i18n/posplit --- a/i18n/posplit +++ b/i18n/posplit @@ -15,6 +15,14 @@ def addentry(po, entry, cache): 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