为特定目录创建消息i18n或排除目录

j7n*_*n7k 0 python django terminal internationalization

我的网站结构如下所示:

project
--apps
----app1
----app2
--docs
--templates
----module1
----module2
----module3
Run Code Online (Sandbox Code Playgroud)

我该怎么办

django-admin.py makemessages --locale=en
Run Code Online (Sandbox Code Playgroud)

在所有的应用程序和模板目录上,但遗漏了module1和module3?

ian*_*man 5

我编写了一个简短的脚本来遍历项目目录中的文件夹,并在文件夹包含locale文件夹时创建翻译.该脚本可以轻松修改,以在需要时排除应用程序/目录

我的项目文件夹结构是

Project
--App1
----locale
--App2
----locale
--ProjectRoot - settings.py file is in ProjectRoot folder
----locale
etc
Run Code Online (Sandbox Code Playgroud)

此脚本(run_makemessages.py)位于该Project文件夹中

import os
project_root = "/path/to/your/Project"
dirs = os.listdir(project_root)
for app in dirs:
    app_path = os.path.join(project_root, app)
    locale_path = os.path.join(app_path, "locale")
    if(os.path.exists(locale_path)): #modify this condition for exclusion of specific folders
        os.chdir(app_path)
        os.system("django-admin.py makemessages -a --no-wrap")
Run Code Online (Sandbox Code Playgroud)

并调用python run_makemessages.py- 即它直接调用,不使用django-admin或manage.py