chore: add useTranslate

This commit is contained in:
chenjiahan 2020-12-06 16:55:16 +08:00
parent 8875143d1c
commit dea44580df
3 changed files with 16 additions and 4 deletions

View File

@ -0,0 +1,8 @@
import { getCurrentInstance } from 'vue';
import { noop } from '../utils';
import { createTranslate } from '../utils/create/translate';
export function useTranslate() {
const { name } = getCurrentInstance()!.type;
return name ? createTranslate(name) : noop;
}

View File

@ -1,8 +1,12 @@
import { createBEM } from './bem';
import { createComponent } from './component';
import { createI18N } from './i18n';
import { createTranslate } from './translate';
export function createNamespace(name: string) {
name = 'van-' + name;
return [createComponent(name), createBEM(name), createI18N(name)] as const;
return [
createComponent(name),
createBEM(name),
createTranslate(name),
] as const;
}

View File

@ -2,7 +2,7 @@ import { get, isFunction } from '../base';
import { camelize } from '../format/string';
import locale from '../../locale';
export function createI18N(name: string) {
export function createTranslate(name: string) {
const prefix = camelize(name) + '.';
return function (path: string, ...args: any[]): string {
@ -13,4 +13,4 @@ export function createI18N(name: string) {
};
}
export type Translate = ReturnType<typeof createI18N>;
export type Translate = ReturnType<typeof createTranslate>;