django fuzzy string translation not showing up

django, fuzzy, internationalization

Solution

`msgmerge` marks strings as `fuzzy` if the old catalog had a translation for a strings with a similar-looking `msgid`. It also carries over strings marked as fuzzy from an old catalog to a new one.

`msgfmt` excludes fuzzy messages from the compiled catalog, as the translations are likely incorrect. The translator should check correctness of the translation (in the case you posted, an empty string is clearly an incorrect translation), and remove the `fuzzy` mark when the translation is is verified. If you absolutely want to use fuzzy translations, pass `--use-fuzzy` to `msgfmt`:

python manage.py compilemessages --use-fuzzy

Problem

Why sometimes I get a `fuzzy` item in `django.po` language file. Actually, I have checked in my project the `fuzzy` string item is totally unique. ``` #: .\users\views.py:81 .\users\views.py:101 #, fuzzy msgid "username or email" msgstr "9988" ``` It is ok to be fuzzy but my translation of fuzzy item not showing up on the page, only English version shows up. It is totally odd.

Original source