Skip to content

日期库 dayutsIntl

dayutsIntl 是日期库的国际化管理器,负责语言包的注册与全局默认语言的切换。库内置 en(默认)与 zh-cn 两套语言包,除通过 dayutsIntl 管理外,也可在创建实例时用第三个参数临时指定语言,或用 Dayuts.locale() 为单个实例切换语言。

typescript
import { dayutsIntl } from '@/uni_modules/sinle-ui'

DayutsIntl

全局单例 dayutsIntlDayutsIntl 类的实例。

属性

名称类型只读描述
localeString全局默认语言名,读取当前语言,赋值即切换全局语言

说明:localeDayutsIntl 的读/写属性。读取返回当前默认语言(初始为 'en');赋值时若该语言已注册则切换为默认语言,若未注册则打印警告并列出已注册语言、不生效。

方法

名称参数返回值描述
use(locale: DayutsLocale)DayutsIntl注册一个语言包,返回自身以支持链式调用
set(name: string, locale: DayutsLocale)Void以指定名称注册一个语言包
has(name: string)Boolean判断指定语言是否已注册

dayutsIntl.use()

注册语言包

注册一个 DayutsLocale 语言包,以该语言包的 name 字段作为注册名,返回 dayutsIntl 自身以便链式调用。注册后可通过 locale 赋值或 locale() 使用。

属性

名称类型必备默认值描述
localeDayutsLocale-语言包对象,含 name 及各文案字段

返回值

类型必备描述
DayutsIntl返回自身(支持链式调用)

示例

typescript
dayutsIntl.use({
	name: 'zh-tw',
	weekdays: ['星期日', ...],
	months: [...],
	ordinal: (n: number, period: string): string => `${n}日`
} as DayutsLocale)

dayutsIntl.set()

按名称注册语言包

以显式传入的名称注册一个语言包(name 参数不必与语言包内 name 字段一致)。

属性

名称类型必备默认值描述
nameString-注册使用的语言名
localeDayutsLocale-语言包对象

返回值

示例

typescript
dayutsIntl.set('zh-tw', zhTwLocale)

dayutsIntl.has()

判断语言是否已注册

判断指定语言名是否已在 dayutsIntl 中注册。

属性

名称类型必备默认值描述
nameString-语言名

返回值

类型必备描述
Boolean已注册返回 true,否则 false

示例

typescript
dayutsIntl.has('en')      // true
dayutsIntl.has('zh-cn')   // true
dayutsIntl.has('ja')      // false

dayutsIntl.locale(属性)

切换全局默认语言

读取当前默认语言,或通过赋值切换默认语言。仅当目标语言已注册时切换生效。

示例

typescript
dayutsIntl.locale            // "en"(初始)
dayutsIntl.locale = 'zh-cn'  // 切换全局默认语言为中文
dayuts('2024-05-20').format('YYYY年M月D日')  // "2024年5月20日"

内置语言包

语言名说明
en英文(默认语言)
zh-cn简体中文

使用 MIT 协议