One more thing, the second version distinguishes upper and lower case but it doesn't consider locale. I don't know the proper way to handle this in Python, so I recommend calling my script this way and let the system handle sorting (it would be called from some Makefile anyway):
$ set LC_ALL=C; ./translators.py | sort
That makes the uppercase and sorting code redundant, so the last part can be simplified:
# remove unwanted entries del credits["FIRST AUTHOR <EMAIL@...181...>"]
for key in credits: credits[key] = list(credits[key]) credits[key].sort() print key + ", " + ", ".join(credits[key]) + "."
Let me know what you think and whether we should use this for Inkscape TRANSLATORS.
Regards, ~~helix84