summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xTools/i18n/pygettext.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/Tools/i18n/pygettext.py b/Tools/i18n/pygettext.py
index 804c98c..14a83b4 100755
--- a/Tools/i18n/pygettext.py
+++ b/Tools/i18n/pygettext.py
@@ -325,7 +325,17 @@ class TokenEater:
# The time stamp in the header doesn't have the same format as that
# generated by xgettext...
print >> fp, pot_header % {'time': timestamp, 'version': __version__}
+ # Sort the entries. First sort each particular entry's keys, then
+ # sort all the entries by their first item.
+ reverse = {}
for k, v in self.__messages.items():
+ keys = v.keys()
+ keys.sort()
+ reverse[tuple(keys)] = (k, v)
+ rkeys = reverse.keys()
+ rkeys.sort()
+ for rkey in rkeys:
+ k, v = reverse[rkey]
# If the entry was gleaned out of a docstring, then add a comment
# stating so. This is to aid translators who may wish to skip
# translating some unimportant docstrings.