Mercurial > hg
changeset 20359:ff6ab0b2ebf7
i18n: posplit writes a warning for translators before rst directives
rst directives like this one have been translated:
.. note::
To help the translator include a comment before such messages.
An entry containing a rst directive now looks like this:
#. do not translate: .. note::
#: path/to/file:75
msgid = ".. note:: to think about"
msgstr = ...
author | Simon Heimberg <simohe@besonet.ch> |
---|---|
date | Mon, 03 Feb 2014 21:31:35 +0100 |
parents | 4276c906d90e |
children | 1267c1bd01f8 |
files | i18n/posplit |
diffstat | 1 files changed, 10 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/i18n/posplit Sun Nov 17 20:16:14 2013 +0100 +++ b/i18n/posplit Mon Feb 03 21:31:35 2014 +0100 @@ -5,6 +5,7 @@ # license: MIT/X11/Expat # +import re import sys import polib @@ -30,6 +31,7 @@ cache = {} entries = po[:] po[:] = [] + findd = re.compile(r' *\.\. (\w+)::') # for finding directives for entry in entries: msgids = entry.msgid.split(u'\n\n') if entry.msgstr: @@ -51,6 +53,14 @@ for msgid, msgstr in zip(msgids, msgstrs): if msgid: newentry = mkentry(entry, delta, msgid, msgstr) + mdirective = findd.match(msgid) + if mdirective: + directive = mdirective.group(1) + comment = 'do not translate: .. %s::' % directive + if not newentry.comment: + newentry.comment = comment + elif comment not in newentry.comment: + newentry.comment += '\n' + comment addentry(po, newentry, cache) delta += 2 + msgid.count('\n') po.save()