本文只对Django中的language file部分做一说明。
1.如何创建language file?
使用
django-admin.py makemessages -l zh_CN
命令自动创建语言文件,该语言文件是.po为后缀的纯文本文件。
如果报如下错误: 需要手工在工程下 创建一个 locale 文件夹() 否则不知道往哪生成.
Error: This script should be run from the Django SVN tree or your project or app tree. If you did indeed run
or application, maybe you are just missing the conf/locale (in the django tree) or locale (for project and a
utomatically, you have to create it by hand if you want to enable i18n for your project or application.
language file的格式为:
msgid "Welcome to my site."
msgstr "欢迎光临"
其中msgid 是要转换的字符串,存在于程序源码中,所以请不要更改
msgstr是基于特定语言的对msgid 的解释,初始为空,开发者需要对msgstr做相应更改
2.编译message file。
创建language file以后,紧接着要做的是将language file编译成一种更有效的格式。可以通过 django-admin.py compilemessages 来实现。
在使用以上两个命令时,如果是在windows环境下需要特别注意,因为这两个命令使用了一个windows下默认没有安装的组件,gettext。为在windows下运行,需要下载安装gettext。具体下载以及配置方法如下:
1.在http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/下载gettext-runtime-X.zip以及gettext-tools-X.zip的最新版(注:X为版本号)
2.将上述两个文件中的bin\目录解压缩后放到同一个文件夹,比如C:\Program Files\gettext-utils
3.设置系统环境变量,在系统环境变量中增加;C:\Program Files\gettext-utils\bin(具体路径要看gettext安装路径)
注:
runnerw.exe C:\Python26\python.exe "C:\Program Files\JetBrains\PyCharm 2.0.1\helpers\pycharm\django_manage.py" makemessages -l zh_CN
processing language zh_CN
Error: errors happened while running xgettext on __init__.py
'xgettext' �����ڲ����ⲿ���Ҳ���ǿ����еij���
�������ļ���
Django language file存放结构如下:
mysite/
locale/
zh/
LC_MESSAGES/
django.po
django.mo
注:对于Localization的详细解释请参阅Django Docs,http://docs.djangoproject.com/en/dev/topics/i18n/localization/#topics-i18n-localization
转自: http://www.haogongju.net/art/1158678
分享到:
相关推荐
这里主要介绍两种关键工具:gettext和Poedit,它们在Django国际化过程中起着至关重要的作用。 **1. Gettext** Gettext是Unix/Linux系统下广泛使用的文本翻译工具,它可以帮助开发者将应用程序中的字符串提取出来,...
总之,`gettext 0.17`是实现Django应用国际化的重要工具,它简化了多语言支持的实现过程,让开发者能专注于核心功能的开发,而不用过多关心语言差异的问题。了解和熟练使用这些工具,对于开发面向全球用户的Web应用...
8. **国际化和本地化(i18n & l10n)**:Django提供了全面的国际化和本地化支持,帮助开发者构建面向全球用户的多语言应用。包括字符串翻译、日期和数字格式化等。 9. **测试(Testing)**:Django内置了强大的测试...
Django支持多语言,`django.utils.translation`和`django.conf.locale`模块提供了国际化和本地化的功能。 **10. 其他组件** Django还包括电子邮件支持(`django.core.mail`)、缓存系统(`django.core.cache`)、...
以上只是Django框架的基本介绍,实际上,Django的功能远不止这些,还包括缓存系统、国际化、电子邮件支持、管理界面等多个方面。通过深入学习和实践,开发者可以利用Django构建出复杂、高性能的Web应用。
10. **国际化与本地化**:Django内置了强大的国际化和本地化功能,可以轻松支持多语言网站。 11. **内置开发服务器**:Django自带一个轻量级的开发服务器,方便在开发阶段快速测试代码。 12. **Django管理后台...
11. **内置功能**:Django还包含许多内置功能,如缓存系统、用户认证、权限管理、电子邮件发送、国际化和本地化等。 学习Django 1.3.3的同时,可以参考官方教程,了解每个部分的具体用法和最佳实践。随着对框架的...
- **3.14 国际化与本地化**:讲述了 Django 支持多语言的能力。 - **3.15 日志记录**:介绍了 Django 的日志记录机制。 - **3.16 分页**:解释了 Django 中分页功能的实现方法。 - **3.17 迁移到 Python 3**:提供了...
12. **国际化与本地化**:Django支持多语言,可以通过设置和翻译文件实现网站内容的国际化和本地化。 13. **测试**:Django自带了测试框架,可以帮助开发者编写单元测试和集成测试,确保代码的质量。 14. **部署**...
- **国际化支持**:Django完全支持多语言应用,可以方便地进行内容的多语言翻译。 3. Django项目目录结构: - **urls.py**:定义URL路由,将URL映射到views.py中的函数或类视图。 - **views.py**:处理用户请求...
国际化和本地化(Internationalization and Localization)让Django应用可以支持多种语言,并适应不同地区用户的习惯。文档会介绍如何利用Django提供的工具来实现国际化和本地化。 6. 性能和优化 性能对于Web应用来...
7. 国际化和本地化:这部分讲述了Django如何支持多语言应用的国际化和本地化,包括“本地特色”(指本地化格式)和时区的支持。 8. 性能和优化:Django提供了很多工具和策略来优化Web应用的性能,包括Python版本...
- **使用 Django 输出 CSV**:介绍了如何使用 Django 生成 CSV 文件。 - **使用 Django 输出 PDF**:提供了输出 PDF 文件的方法。 通过以上概述可以看出,Django 1.5.3 文档覆盖了从入门到进阶的各个方面,无论是...
- **国际化与本地化**:介绍了 Django 支持多语言的能力及其配置方式。 - **日志记录**:阐述了 Django 日志系统的配置与使用方法。 - **分页**:介绍了 Django 实现分页显示数据的方法。 - **序列化**:讲解了 ...
5. **国际化和本地化**:Django提供了完善的国际化和本地化支持,可以轻松地创建多语言网站。 6. **静态文件和媒体文件管理**:Django帮助管理项目中的静态文件(如CSS、JavaScript和图片),以及用户上传的媒体...
14. **国际化与本地化**:Django支持多语言,可以方便地实现网站的国际化和本地化。 15. **社区与文档**:Django有一个庞大的开发者社区,提供了丰富的教程、插件和第三方应用,以及详尽的官方文档,帮助开发者快速...
Django还提供了许多其他核心功能,比如用户认证(3.10 User authentication in Django)、缓存框架(3.11 Django’s cache framework)、国际化和本地化(3.15 Internationalization and localization)、日志记录...
**1.10 国际化与本地化** - **多语言支持**: Django 支持多语言翻译,可以通过设置 LANGUAGE_CODE 和 LANGUAGES 来配置。 - **日期格式化**: Django 支持日期时间的本地化显示。 **1.11 Python 兼容性** - **版本...
Django支持多语言,提供了国际化(i18n)和本地化(l10n)功能,方便开发者构建面向全球用户的Web应用。 11. **Django REST framework** 若你对API开发感兴趣,Django REST framework是一个强大的工具,可以轻松...
9. **国际化和本地化(i18n & l10n)**:Django支持多语言,允许你轻松地为不同地区提供本地化内容。 10. **缓存**:Django提供多种缓存策略,包括内存缓存、数据库缓存和分布式缓存,以提高性能。 解压Django-...