When I run manage.py makemessages
I found some messages which were in the .po
file like this:
msgid "Example"
msgstr "Example"
Transformed to this, after I ran the command:
#~ msgid "Example"
#~ msgstr "Example"
#~
means? Since the translation of those messages doesn't work anymore, I suppose it is a comment.#~
ing") pre-existing messages in the translation file?gettext_lazy is a callable within the django. utils. translation module of the Django project.
Use the function django. utils. translation. gettext_noop() to mark a string as a translation string without translating it.
Finally, we add Locale_paths which is folder inside our app created by django-admin startapp. 4) Make sure you create this folder structure under app's directory. folder structure. This way Django will know where to place generated .po files for each language. PO file is a portable object file, which is text-based.
Django will comment-out all messages that are no longer in your code. It won't remove them, so you won't lose it, but that way this messages won't end up in compiled .mo file.
I was facing a similar problem with 3rd party apps. makemessages did not include them in the .po file and when adding them manually makemessages was commenting them out next time.
In my case I had the virtual env symlinked into the project folder. To make makemessages see those 3rd party apps I had to add -s
./manage.py makemessages -a -s -l de -i faker -i openid -i gunicorn
At the same time I want to exclude some apps from translations with -i
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With