时间:2021-05-22
最近公司准备扩张海外业务,所以要给 Django 系统添加 国际化与本土化支持。国际化一般简称i18n ,代表 Internationalization 中 i 和 n 有 18 个字母;本地化简称 L10n ,表示 Localization 中 l 和 n 中有 10 个字母。有趣的一点是,一般会用小写的 i 和大写的 L 防止混淆。
简单来说:i18n 是为国际化搭建框架,L10n 是针对不同地区的适配。举个简单的例子:
i18n:
datetime.now().strftime('%Y/%m/%d') # before i18ndatetime.now().strftime(timeformat) # after i18nL10n:
timeformat = { 'cn': '%Y/%m/%d', 'us': '%m/%d/%Y', 'fr': '%d/%m/%Y', ...}更加具体的定义可以看https://ment at or before ./path/filename.py:26.
所以我需要把 # coding: utf8 改成 # coding: utf-8 ,或者干脆删掉这行,反正 Python3 已经默认使用 utf-8 编码了。
总结
Django (和其背后的 GNU gettext) 的多语言功能非常全面,堪称博大精深,比如处理单复数的ngettext,处理多义词的pgettext。HTTP 响应中使用翻译后的文本,但是在日志中留下翻译前文本的gettext_noop。
这篇文章主要讲了我在实践中用到的功能和遇到的坑,希望可以帮助大家了解 Django 多语言的基本用法。欢迎大家评论:clap:。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Yii2简单实现多语言配置的方法,分享给大家供大家参考,具体如下:1、配置文件中添加'i18n'=>['translations'=>['*'=>
JSTL标签提供了对国际化(I18N)的支持,它可以根据发出请求的客户端地域的不同来显示不同的语言。同时还提供了格式化数据和日期的方法。实现这些功能需要I18N
一、I18nandL10ninAngularJS1.什么是I18n和L10n? 国际化(Internationalization),简称I18n,是让
在基于vue-cli项目开发过程中,多语言切换功能可使用vue-i18插件,具体实现方法如下:step1:在项目中安装vue-i18插件cnpminstallv
1.安装vue-i18n2.在main.js里面引用importVueI18nfrom'vue-i18n'Vue.use(VueI18n)3.实例化i18n,并