@localazy/strapi-plugin
Version:
The official Strapi Plugin by Localazy.
62 lines (61 loc) • 1.39 kB
JavaScript
const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;
const htmlEntities = {
"&": "&",
"&": "&",
"<": "<",
"<": "<",
">": ">",
">": ">",
"'": "'",
"'": "'",
""": '"',
""": '"',
" ": " ",
" ": " ",
"©": "©",
"©": "©",
"®": "®",
"®": "®",
"…": "…",
"…": "…",
"/": "/",
"/": "/"
};
const unescapeHtmlEntity = (m) => htmlEntities[m];
const unescape = (text) => text.replace(matchHtmlEntity, unescapeHtmlEntity);
let defaultOptions = {
bindI18n: "languageChanged",
bindI18nStore: "",
transEmptyNodeValue: "",
transSupportBasicHtmlNodes: true,
transWrapTextNodes: "",
transKeepBasicHtmlNodesFor: ["br", "strong", "i", "p"],
useSuspense: true,
unescape
};
const setDefaults = (options = {}) => {
defaultOptions = {
...defaultOptions,
...options
};
};
const getDefaults = () => defaultOptions;
let i18nInstance;
const setI18n = (instance) => {
i18nInstance = instance;
};
const getI18n = () => i18nInstance;
const initReactI18next = {
type: "3rdParty",
init(instance) {
setDefaults(instance.options.react);
setI18n(instance);
}
};
export {
getDefaults as a,
setI18n as b,
getI18n as g,
initReactI18next as i,
setDefaults as s
};