UNPKG

vue-fantable

Version:
42 lines (34 loc) 861 B
import locale from '@P/ve-locale/ve-locale.js' function isFunction(val) { return typeof val === 'function' } /** * @createLocale * @desc create namespace by comp name * @param {string} compName * @return {function} */ export function createLocale(compName) { return createI18N(compName) } /** * @createI18N * @desc create i18n * @param {string} compName * @return {array<function>} */ export function createI18N(compName) { return function (path, ...args) { let result = '' const messages = locale.getMessage() if (messages[compName]) { const message = messages[compName][path] result = isFunction(message) ? message(...args) : message } else { console.error( `can't find ${compName} in ${JSON.stringify(messages)}`, ) } return result } }