# 国际化(i18n)

包图网

Day.js 完美支持国际化。

但除非手动加载,多国语言默认是不会被打包到工程里的。

您可以加载多个其他语言并自由切换。

支持的语言列表

我们还根目录提供了 locale.json (opens new window) 文件,包含所有支持的语言列表。

语言包配置的具体细节以及如何更新或自定义语言都可以查看 自定义 中的内容。

欢迎给我们提交 Pull Request 来增加新的语言。

# 在NodeJS中加载语言配置

按需加载语言文件。

require('dayjs/locale/de')
// import 'dayjs/locale/de' // ES 2015 

dayjs.locale('de') // use locale globally
dayjs().locale('de').format() // use locale in a specific instance

您还可以加载并获取语言配置对象方便后面使用。

var locale_de = require('dayjs/locale/de')
// import locale_de from 'dayjs/locale/de'  // ES 2015 

# 在浏览器中加载语言配置

按需加载语言文件。

<script src="path/to/dayjs/locale/de"></script>
<script>
  dayjs.locale('de') // use locale globally
  dayjs().locale('de').format() // use locale in a specific instance
</script>

获取语言对象方便后面使用。

<script src="path/to/dayjs/locale/de"></script>
<!-- Load locale as window.dayjs_locale_NAME -->
<script>
var customLocale = window.dayjs_locale_zh_cn // zh-cn -> zh_cn
</script>

可以通过 CDN 加载 Day.js.

<!-- CDN example (unpkg) -->
<script src="https://unpkg.com/dayjs@1.8.21/dayjs.min.js"></script>
<script src="https://unpkg.com/dayjs@1.8.21/locale/zh-cn.js"></script>
<script>dayjs.locale('zh-cn')</script>

# 改变全局语言配置

默认情况下,Day.js 只内置了 English 的语言配置。 您可以按需加载其他本地化语言配置。

require('dayjs/locale/zh-cn')

当加载了一个语言配置之后,它就是可用的状态了。 要改变全局语言配置,只需调用 dayjs.locale 并传入一个已经加载的语言配置的名称。

更改全局的语言配置并不会影响之前存在的实例。

dayjs.locale('zh-cn') // use loaded locale globally
dayjs.locale('en') // switch back to default English locale globally

# 改变当前语言配置

当操作多个 Day.js 实例并想格式化显示为不同语言的文字时,全局的语言配置可能会出现问题。

用法与 dayjs#locale 一致,但只会修改当前实例的语言配置。

require('dayjs/locale/de')
dayjs().locale('de').format() // 局部修改语言配置

# 检查当前语言配置

返回当前 Day.js 实例的语言配置。

dayjs.locale() // 'en'

# 列出当前语言的月份和周

获取当前语言配置的全部月份和星期列表。

注意

此功能依赖 LocaleData 插件

dayjs.extend(localeData)

dayjs.weekdays()
dayjs.weekdaysShort()
dayjs.weekdaysMin()
dayjs.monthsShort()
dayjs.months() // e.g. return [ 'January','February','March','April','May',
// 'June','July','August','September','October','November','December' ]

# 获取语言配置的属性

你可以通过调用 dayjs.localeData() 来获得当前全局语言配置的属性,或 dayjs().localeData() 获取当前 Day.js 对象的。

注意

此功能依赖 LocaleData 插件

dayjs.extend(localeData)

globalLocaleData = dayjs.localeData()
globalLocaleData.firstDayOfWeek()
globalLocaleData.months()
globalLocaleData.monthsShort()
globalLocaleData.weekdays()
globalLocaleData.weekdaysShort()
globalLocaleData.weekdaysMin()

globalLocaleData.months(dayjs())
globalLocaleData.monthsShort(dayjs())
globalLocaleData.weekdays(dayjs())
globalLocaleData.weekdaysShort(dayjs())
globalLocaleData.weekdaysMin(dayjs())

instanceLocaleData = dayjs().localeData()
instanceLocaleData.firstDayOfWeek()
instanceLocaleData.months()
instanceLocaleData.monthsShort()
instanceLocaleData.weekdays()
instanceLocaleData.weekdaysShort()
instanceLocaleData.weekdaysMin()
Last Updated: 11/12/2024, 11:44:06 PM