重新翻译Django

问题描述 投票:0回答:1

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
1个回答
0
投票

要翻译 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

之后 - 运行服务器。都应该翻译。 如果某些内容未翻译 - 您不会将此文本标记为可翻译文本。

© www.soinside.com 2019 - 2024. All rights reserved.