Django 已翻译成我的语言,但我不喜欢某些翻译的短语(个人喜好)。
所以我设置了
locale
文件夹并运行python manage.py makemessages -l fa_IR
,我得到了文件django.po
,但是当我打开它时,我发现已经翻译并包含在Django中的短语不在那里。
所以看起来我必须编辑(例如)
\venv\Lib\site-packages\django\contrib\auth\locale\fa\LC_MESSAGES\django.po
但是如果我更新这个项目的 Django 包,我所有的编辑都会丢失,对吧?或者有一种方法可以将所有短语放在我的locale\django.po
中并再次翻译它们?
我面临的另一个挑战是内置模型的一些权限没有标记为翻译。那么我是否必须将它们全部子类化并自己添加翻译?
要翻译 Django 中任何模型的数据 - 您应该使用外部库。 例如 - 我创建了 Django-TOF。我还在我的库中添加了动态翻译静态文本。
在您的情况下,可能您会重复makemessages:
https://docs.djangoproject.com/en/5.0/ref/django-admin/#django-admin-makemessages
makemessages 之后,检查您要翻译的翻译。 完成compilemessages后: https://docs.djangoproject.com/en/5.0/ref/django-admin/#compilemessages
之后 - 运行服务器。都应该翻译。 如果某些内容未翻译 - 您不会将此文本标记为可翻译文本。