如何解决创建本地化的Django应用并使用其他应用中的本地化
我有以下问题:
我创建了一个Django应用( app1 ),然后将其安装在另一个应用( app2 )中。现在,我正在尝试使网站国际化,但是我希望能够使用已安装的应用程序翻译,甚至无法编译它们。
一些有用的信息:
APP 1
.
├── MANIFEST.in
├── app1
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── __init__.py
│ ├── locale/
│ │ ├── en-us
│ │ │ └── LC_MESSAGES
│ │ │ └── django.po
│ │ ├── es
│ │ │ └── LC_MESSAGES
│ │ │ └── django.po
│ │ └── pr
│ │ └── LC_MESSAGES
│ │ └── django.po
│ ├── migrations/
│ ├── models.py
│ ├── settings.py
│ ├── static/
│ ├── templates
│ ├── tests.py
│ ├── urls.py
│ ├── utils.py
│ └── views.py
└── setup.py
APP 2(已安装APP 1的那个)
├── app2/
│ ├── locale/
│ │ ├── en-us/
│ │ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ │ ├── es/
│ │ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ │ └── pr/
│ │ └── LC_MESSAGES
│ │ ├── django.mo
│ │ └── django.po
INSTALLED_APPS = [
'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','app1.apps.App1SiteConfig','app2.apps.App2SiteConfig',]
LANGUAGE_CODE = 'es'
LANGUAGES = (
('en-us',_('English')),('es',_('Spanish')),('pt',_('Portuguese'))
)
LOCALE_PATHS = (
os.path.join(BASE_DIR,"app2","locale"),)
基本上,所需的TODO是:
- 从 App1 编译.mo文件
- 使用 App1 转换(它具有自己的模板和模型,因此理想情况下将在其中使用)
我不想要的东西:
- 从 App2 的django-admin编译 App1 .mo,然后在那里进行翻译。
谢谢!
解决方法
好吧..最终我设法用自己的方式解决了这个问题。
激活virtualenv后,我将其移至 App1 目录并执行django-admin compilemessages
,. mo文件已在正确的路径(app1/locale/<lang>/LC_MESSAGES/django.mo
)中创建,他们能够可以从网站上使用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。