Python 更改django中特定语言代码的一些默认单词

Python 更改django中特定语言代码的一些默认单词,python,django,Python,Django,我正试图改变一些翻译得不好的波斯语单词。我已经搜索了这个问题,但找不到任何关于它的文章。我只更改了语言代码,我不想要两种语言的网站您可以在项目或应用程序中创建一个区域设置目录 然后将目录添加到settings.py中的(): import os # Build paths inside the project like this: os.path.join(BASE_DIR, ...) PROJECT_APP_PATH = os.path.dirname(os.path.abspath(_

我正试图改变一些翻译得不好的波斯语单词。我已经搜索了这个问题,但找不到任何关于它的文章。我只更改了语言代码,我不想要两种语言的网站

您可以在项目或应用程序中创建一个区域设置目录

然后将目录添加到
settings.py中的():

import os
  
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
PROJECT_APP_PATH = os.path.dirname(os.path.abspath(__file__))
PROJECT_APP = os.path.basename(PROJECT_APP_PATH)
BASE_DIR = os.path.dirname(PROJECT_APP_PATH)

LOCALE_PATHS = [
    os.path.join(BASE_DIR, 'locale'),
]
然后运行命令
makemessages

python manage.py makemessages -l fa
它在目录locale/fa/LC\u MESSAGES中创建(或更新)一个消息文件。在de示例中,文件将是locale/fa/LC_MESSAGES/django.po

现在,您可以编辑任意字符串的翻译

例如:打开locale/fa/LC_MESSAGES/django.po并添加所需的:

此命令运行所有可用的.po文件,并创建.mo文件,这些文件是为gettext使用而优化的二进制文件


有关更多信息,请查看

谢谢您的回答。有一个问题,它对django不起作用allauth@KuroshGhanizadeh,我在我的项目中使用了太多的django allauth。它工作得很好!您试图翻译什么字符串?@KuroshGhanizadeh,您还可以覆盖项目的django allauth模板。只包括:
templates/account/signup.html
templates/socialaccount/signup.html
是的,我想我应该覆盖模板
msgid "No fields changed."
msgstr "فیلدی تغییر نیافته است." # Override it to desired translation

msgid "None"
msgstr "هیچ" # Override it to desired translation
python manage.py compilemessages