xml 对t的ns解析
This commit is contained in:
parent
905aea17a8
commit
3d237b42e1
|
|
@ -80,6 +80,11 @@ const isDynamicSrc = (src) => /\{\{/.test(src);
|
||||||
const oakMessage = 'oak-message';
|
const oakMessage = 'oak-message';
|
||||||
const oakRegex = /(\/*[a-zA-Z0-9_-])*\/app\/|(\\*[a-zA-Z0-9_-])*\\app\\/;
|
const oakRegex = /(\/*[a-zA-Z0-9_-])*\/app\/|(\\*[a-zA-Z0-9_-])*\\app\\/;
|
||||||
const localRegex = /(\/*[a-zA-Z0-9_-])*\/src+\/|(\\*[a-zA-Z0-9_-])*\\src+\\/;
|
const localRegex = /(\/*[a-zA-Z0-9_-])*\/src+\/|(\\*[a-zA-Z0-9_-])*\\src+\\/;
|
||||||
|
const oakPagesOrComponentsRegex =
|
||||||
|
/(\/*[a-zA-Z0-9_-])*\/app\/(pages|components)\/|(\\*[a-zA-Z0-9_-])*\\app\\(pages|components)\\/;
|
||||||
|
const localPagesOrComponentsRegex =
|
||||||
|
/(\/*[a-zA-Z0-9_-])*\/src\/(pages|components)+\/|(\\*[a-zA-Z0-9_-])*\\src\/(pages|components)+\\/;
|
||||||
|
|
||||||
const TranslationFunction = 't';
|
const TranslationFunction = 't';
|
||||||
const I18nModuleName = 'i18n';
|
const I18nModuleName = 'i18n';
|
||||||
const CURRENT_LOCALE_KEY = '$_locale';
|
const CURRENT_LOCALE_KEY = '$_locale';
|
||||||
|
|
@ -261,22 +266,43 @@ module.exports = async function (content) {
|
||||||
if (node.nodeType === node.TEXT_NODE) {
|
if (node.nodeType === node.TEXT_NODE) {
|
||||||
// 处理i18n 把t()转成i18n.t()
|
// 处理i18n 把t()转成i18n.t()
|
||||||
if (existsT(node.nodeValue)) {
|
if (existsT(node.nodeValue)) {
|
||||||
const val = replaceT(node.nodeValue);
|
const p = replaceDoubleSlash(resourcePath)
|
||||||
|
.replace(oakPagesOrComponentsRegex, '')
|
||||||
|
.replace(localPagesOrComponentsRegex, '');
|
||||||
|
const eP = p.substring(0, p.lastIndexOf('/'));
|
||||||
|
const ns = eP
|
||||||
|
.split('/')
|
||||||
|
.filter((ele) => !!ele)
|
||||||
|
.join('-');
|
||||||
|
const val = replaceT(node.nodeValue); // {{i18n.t()}}
|
||||||
const valArr = val.split('}}');
|
const valArr = val.split('}}');
|
||||||
let newVal = '';
|
let newVal = '';
|
||||||
valArr.forEach((ele, index) => {
|
valArr.forEach((ele, index) => {
|
||||||
if (existsT(ele)) {
|
if (existsT(ele)) {
|
||||||
const head = ele.substring(0, ele.indexOf(')'));
|
const head = ele.substring(0, ele.indexOf("i18n.t(") + 7);
|
||||||
|
let argsStr = ele.substring(ele.indexOf('i18n.t(') + 7);
|
||||||
|
argsStr = argsStr.substring(0, argsStr.indexOf(')'));
|
||||||
const end = ele.substring(ele.indexOf(')'));
|
const end = ele.substring(ele.indexOf(')'));
|
||||||
|
const arguments = argsStr.split(',').filter(ele2 => !!ele2);
|
||||||
|
arguments &&
|
||||||
|
arguments.forEach((nodeVal, index) => {
|
||||||
|
if (index === 0 && nodeVal.indexOf(':') === -1) {
|
||||||
|
arguments.splice(
|
||||||
|
index,
|
||||||
|
1,
|
||||||
|
`'${ns}:' + ` + nodeVal
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
newVal +=
|
newVal +=
|
||||||
head +
|
head +
|
||||||
|
arguments.join(',') +
|
||||||
`,${CURRENT_LOCALE_KEY},${CURRENT_LOCALE_DATA} || ''` +
|
`,${CURRENT_LOCALE_KEY},${CURRENT_LOCALE_DATA} || ''` +
|
||||||
end +
|
end +
|
||||||
'}}';
|
'}}';
|
||||||
} else if (ele && ele.indexOf("{{") !== -1) {
|
} else if (ele && ele.indexOf('{{') !== -1) {
|
||||||
newVal += ele + '}}';
|
newVal += ele + '}}';
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
newVal += ele;
|
newVal += ele;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue