didi / di18n

一种自动转换、基于配置的前端国际化方案
310 stars 49 forks source link

vue 嵌套的template种的文字无法翻译 #8

Open bobroccoddup opened 4 years ago

bobroccoddup commented 4 years ago

比如

<template>
    <template>
        这里的文字无法翻译
    </template>
</template>
yshaojun commented 4 years ago

收到,我们看下如何处理这种情况哈

AndsteLyc commented 3 years ago

大兄弟,这个问题你是怎么解决的。。。

huipengli commented 6 months ago

解析的时候可以先把这个template 全部替换成一个自定义标签 const code = source.replaceAll('<template', '<custom-template').replaceAll('', ''); 解析完在替换回去就可以了 const code = source.replaceAll('<custom-template', '<template').replaceAll('', '');

jsm1003 commented 6 months ago

解析的时候可以先把这个template 全部替换成一个自定义标签 const code = source.replaceAll('<template', '<custom-template').replaceAll('', ''); 解析完在替换回去就可以了 const code = source.replaceAll('<custom-template', '<template').replaceAll('', '');

@huipengli 感觉你用这个库用的还挺多的🤣

andiShan11 commented 6 months ago

解析的时候可以先把这个template 全部替换成一个自定义标签 const code = source.replaceAll('<template', '<custom-template').replaceAll('', ''); 解析完在替换回去就可以了 const code = source.replaceAll('<custom-template', '<template').replaceAll('', '');

最外层的template还是得保留 是么 我试了一下是这样的

jsm1003 commented 6 months ago

解析的时候可以先把这个template 全部替换成一个自定义标签 const code = source.replaceAll('<template', '<custom-template').replaceAll('', ''); 解析完在替换回去就可以了 const code = source.replaceAll('<custom-template', '<template').replaceAll('', '');

最外层的template还是得保留 是么 我试了一下是这样的

@andiShan11 嗯,最外层的 template 需要保留

huipengli commented 6 months ago

解析的时候可以先把这个template 全部替换成一个自定义标签 const code = source.replaceAll('<template', '<custom-template').replaceAll('', ''); 解析完在替换回去就可以了 const code = source.replaceAll('<custom-template', '<template').replaceAll('', '');

最外层的template还是得保留 是么 我试了一下是这样的

@andiShan11 嗯,最外层的 template 需要保留

const sfc = compiler.parseComponent(sourcecode); const { template, script, styles, scriptSetup } = sfc; // 这里的template代码 已经把最外层的template标签去掉了

huipengli commented 6 months ago

解析的时候可以先把这个template 全部替换成一个自定义标签 const code = source.replaceAll('<template', '<custom-template').replaceAll('', ''); 解析完在替换回去就可以了 const code = source.replaceAll('<custom-template', '<template').replaceAll('', '');

@huipengli 感觉你用这个库用的还挺多的🤣

// 是的这个用起来还挺方便 不用自己写这些{{}}了 哈哈

andiShan11 commented 6 months ago

解析的时候可以先把这个template 全部替换成一个自定义标签 const code = source.replaceAll('<template', '<custom-template').replaceAll('', ''); 解析完在替换回去就可以了 const code = source.replaceAll('<custom-template', '<template').replaceAll('', '');

最外层的template还是得保留 是么 我试了一下是这样的

@andiShan11 嗯,最外层的 template 需要保留

const sfc = compiler.parseComponent(sourcecode); const { template, script, styles, scriptSetup } = sfc; // 这里的template代码 已经把最外层的template标签去掉了

嗯 是的 下午调试时看到了