diff --git a/.gitignore b/.gitignore index c093944..7c640e4 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,6 @@ dist .svnignore .svnexternals build -rosetta/locale/xx/LC_MESSAGES/*.mo \ No newline at end of file +rosetta/locale/xx/LC_MESSAGES/*.mo +/.settings +/.project diff --git a/rosetta/views.py b/rosetta/views.py index 7c82e33..3bd2169 100644 --- a/rosetta/views.py +++ b/rosetta/views.py @@ -57,7 +57,11 @@ def home(request): if rosetta_i18n_write: rosetta_i18n_pofile = pofile(rosetta_i18n_fn, wrapwidth=rosetta_settings.POFILE_WRAP_WIDTH) for entry in rosetta_i18n_pofile: - entry.md5hash = hashlib.md5(entry.msgid.encode("utf8") + entry.msgstr.encode("utf8")).hexdigest() + entry.md5hash = hashlib.md5( + entry.msgid.encode("utf8") + + entry.msgstr.encode("utf8") + + (entry.msgctxt and entry.msgctxt.encode("utf8") or "") + ).hexdigest() else: rosetta_i18n_pofile = storage.get('rosetta_i18n_pofile') @@ -348,7 +352,11 @@ def lang_sel(request, langid, idx): storage.set('rosetta_i18n_fn', file_) po = pofile(file_) for entry in po: - entry.md5hash = hashlib.md5(entry.msgid.encode("utf8") + entry.msgstr.encode("utf8")).hexdigest() + entry.md5hash = hashlib.md5( + entry.msgid.encode("utf8") + + entry.msgstr.encode("utf8") + + (entry.msgctxt and entry.msgctxt.encode("utf8") or "") + ).hexdigest() storage.set('rosetta_i18n_pofile', po) try: