1
0
Fork 0
freesewing/plugins/plugin-i18n/src/index.mjs

29 lines
877 B
JavaScript
Raw Normal View History

import { name, version } from '../data.mjs'
2018-08-28 07:28:21 +02:00
2022-08-28 12:44:22 +02:00
export const plugin = {
name,
version,
2018-08-28 07:28:21 +02:00
hooks: {
insertText: (locale, text, t, pattern) => {
if (t instanceof Function) return t(text, locale)
else if (typeof t[locale] === 'object') return t[locale][text] || text
else {
const msg =
"No translation method or object was passed to the i18n plugin. This plugin won't do anything without that"
if (pattern?.store?.log?.warn) {
if (!pattern.store.get(['plugins', 'plugin-i18n', 'missingMethodWarning'])) {
pattern.store.set(['plugins', 'plugin-i18n', 'missingMethodWarning'], true)
pattern.store.log.warn(msg)
}
} else console.log(msg)
2019-08-03 15:03:33 +02:00
return text
}
2021-04-24 10:16:31 +02:00
},
},
2019-08-03 15:03:33 +02:00
}
2022-08-28 12:44:22 +02:00
// More specifically named exports
export const i18nPlugin = plugin
export const pluginI18n = plugin