`
brucewei777
  • 浏览: 84943 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Django项目的国际化(i18n)

阅读更多
    最近在搞django项目的国际化,综合了多家的帖子,才算搞成功,所以,若有人发觉什么地方在别的地方也出现了,不要惊讶。
    创建一个i18ntest的项目,底下又建了个ajax的app。和许多文章说的一样,settings.py的设置一定要更改
引用

USE_I18N = True #本来就有,确保为True
'django.middleware.locale.LocaleMiddleware',#注意与别的中间件的顺序,要在AuthenticationMiddleware前面。


我本来在ajax底下建了locale目录,然后用django-admin.py makemessage -l zh_CN,产生.po文件,用poedit编辑,保存,得到.mo文件。启动服务,结果语言包就是应用不了,跟了一下,发现用的是django自带的语言包,而没用我编辑的。想想可能是路径有问题。

就把locale目录拷贝到i18ntest底下,一运行,呵呵,搞定。

期间还有别的错误,例如_()这个函数不识别,解决方法是安装三个包
引用

gettext-tools-0.17.zip
gettext-runtime-0.17.zip
libiconv-1.9.1.bin.woe32.zip

把他们解压缩到同一个目录下,并加入环境变量,再在views.py里加入一条
from django.utils.translation import ugettext as _


Django1.8.x在这方面有些变动,参考:
引用

After update django to 1.8.x, when run the project, one warning message is displayed:

/usr/local/lib/python2.7/dist-packages/django/utils/translation/__init__.py:146: RemovedInDjango19Warning: The use of the language code 'zh-cn' is deprecated. Please use the 'zh-hans' translation instead.

To fix this:

    First go to project setting file, change 'zh-cn' to 'zh-hans'
    Second, rename the 'zh-CN' folder in locale to 'zh-Hans'
    Run django-admin makemessages and django-admin compilemessages if necessary
    Go to your template, in the language toggle form, change language input value to zh-hans
分享到:
评论

相关推荐

    Python库 | django_i18n_utils-1.3.0-py27-none-any.whl

    1. 提供工具和辅助函数,简化Django项目的国际化设置和配置。 2. 可能有方便的翻译字符串管理工具,帮助开发者管理和提取项目中的翻译字符串。 3. 可能包含自动化处理,例如自动检测和生成翻译文件(如.po和.mo文件...

    django国际化document

    在开发多语言网站时,Django 提供了强大的国际化(i18n,internationalization)和本地化(l10n,localization)支持,帮助开发者轻松地处理各种语言环境下的内容展示。 **一、Django 国际化流程** 1. **设置启用...

    django_i18n_example:Django i18n示例项目-解释如何使用Django翻译

    该项目是有关如何使用Django项目进行国际化(i18n)的教程。 它包含以下Django示例: python代码中的翻译 Django模板中的翻译 Javascript中的翻译 有关更多详细信息,请查看全文: 要求 Python 3+ Django的 文字 ...

    django-i18nfield:将国际化字符串存储在Django模型中并提供完整格式支持

    Django的I18nFields 这是在存储多语言内容的另一种方法。 与 , 或之类的其他选项,它不需要数据库表,并且您可以重新配置可用的语言,而无需对数据库架构进行任何更改。 在constrast到 ,它不是具体到PostgreSQL。 ...

    django国际化工具gettext和poedit

    1. **启用国际化**:在Django项目的设置文件`settings.py`中,需要启用`USE_I18N = True`和`USE_L10N = True`。 2. **字符串标记**:在Django的视图、模型、模板等代码中,使用`_()`函数或`gettext`函数将需要翻译的...

    zunui-i18n.zip

    【ZUNUI汉化脚本】是针对ZUN UI界面进行本地化(L10n)和国际化(i18n)的工具包,主要目的是为了让ZUN UI适应不同的语言环境,提供多语言支持。"zunui-i18n.zip"这个压缩包包含了实现这一目标的关键文件,使用者...

    gettext 0.17 django国际化工具

    6. **配置Django**:在项目的`settings.py`中启用`USE_I18N = True`和`USE_L10N = True`,并设置`LOCALE_PATHS`来指定翻译文件的路径。 7. **切换语言**:在视图函数或模板中,可以通过`django.utils.translation....

    Django项目框架源码

    10. **国际化和本地化(i18n/l10n)**:Django支持多语言内容,允许开发者为不同的地区提供本地化的用户体验。 通过分析和学习【Django项目框架源码】中的文件,你可以逐步掌握Django的核心概念和技术,从而能更...

    Python基于Django实现的多语言项目代码数量统计并可视化项目源代码+数据库

    Django通过i18n(internationalization)和l10n(localization)支持多种语言,允许开发者为不同地区和语言的用户提供定制的界面。这包括翻译模板、管理静态文件以及配置URL结构等。 接下来,代码数量统计部分可能...

    django-rosetta:Rosetta是Django应用程序,可简化Django项目的翻译过程

    **django-rosetta** 是一个针对 **Django** 框架的开源工具,它的主要目的是简化Django项目中的多语言支持(国际化,简称 **i18n**)过程。这个工具通过提供一个友好的Web界面,使得开发者可以方便地进行翻译工作,...

    django python

    2. Internationalization and localization(国际化和本地化):Django支持国际化(i18n)和本地化(l10n),方便开发者创建支持多种语言的应用程序。 3. Performance and optimization(性能和优化):Django提供...

    django4.0官方中文文档

    8. **国际化和本地化(i18n & l10n)**:Django提供了全面的国际化和本地化支持,帮助开发者构建面向全球用户的多语言应用。包括字符串翻译、日期和数字格式化等。 9. **测试(Testing)**:Django内置了强大的测试...

    django课件和代码

    Django支持多语言,提供了国际化(i18n)和本地化(l10n)功能,方便开发者构建面向全球用户的Web应用。 11. **Django REST framework** 若你对API开发感兴趣,Django REST framework是一个强大的工具,可以轻松...

    PyPI 官网下载 | django-rosetta-0.6.8.zip

    在Django中,国际化(i18n)和本地化(l10n)是两个关键概念。国际化是指设计和构建应用时,使其能够适应不同地区的语言和文化习俗,而本地化则是将应用翻译成特定地区的语言。Django内置了强大的国际化功能,包括...

    django2.0英文版

    通过国际化(i18n)和本地化(l10n)支持,开发者可以轻松地将网站翻译成不同的语言,同时处理不同地区的日期、时间和其他区域特定的格式。 10. 性能和优化(Performance and optimization) Django提供了多种性能...

    Django开发文档

    Django支持多语言,提供国际化(i18n)和本地化(l10n)功能,帮助开发者创建面向全球用户的网站。 ### 十一、静态文件与媒体文件 静态文件(如CSS、JavaScript、图片)由Django管理,而媒体文件(用户上传的文件...

    Django Documentation.pdf

    国际化(i18n)和本地化(l10n)是Django用来支持多语言网站的机制。文档中说明了如何让应用程序支持多种语言,如何进行翻译,以及如何处理不同地区的文化差异。 ### 性能优化(Performance and Optimization) ...

    django 资料

    5. **国际化和本地化**:Django内置了i18n和l10n功能,支持多语言和时区处理,便于构建全球化应用。 6. **静态文件管理和部署**:Django能自动收集和处理项目的静态文件(如CSS、JavaScript),并在部署时进行优化...

    Django速查卡

    模板中还包含了对国际化(i18n)的支持,如 `blocktrans` 标签用于在模板中进行翻译,`{% get_available_languages as LANGUAGES %}` 获取所有可用的语言,而 `trans` 标签用于翻译指定的字符串。 除了模板标签,...

Global site tag (gtag.js) - Google Analytics