python提取vue文件里中文字体

本文介绍了如何使用Python和正则表达式从Vue项目文件中提取中文,以便进行多语言配置。通过遍历指定目录下的.vue文件,提取中文字符并替换为变量,最后将中文集合导出为JSON配置文件,便于应用vue-i18n进行多语言支持。
摘要由CSDN通过智能技术生成

使用python提取vue项目的中文字体,整理成多语言

由于公司项目需求,要把之前开发好的vue后台管理系统加上多语言。百度了一下,使用vue-i18n,把翻译的语言整理成变量,放到多语言配置里,非常方便。然后把vue文件里的中文提取出来,整理到多语言配置里,不能有重复的。如果手工一个一个弄的话很费时间,且容易出错,这里使用python和正则表达式提取代码文件里的中文,再替换成相应的变量。概括整个思路就是,找到指定目录下以 .vue结尾的所有文件,依次提取文件里的中文字符,以键值对的形式保存为对象:

// 多语言中文配置
const zh = {
   
  code_1: '标题',
  code_2: '菜单'
}

然后把文件里的中文替换为代码:

<div :title="$t('code_1')">
   {
   {
    $t('code_1') }} // 标题
 </div>
 let title = this.$t('code_1')
中文存在的几种情况:
// 标签内
<div> 标题 </div>
// 标签内换行的
<div>
  标题
</div>
// 标签属性
<div title="标题" title-t-t="标题"></div>
// js代码
let title = "标题"
对应提取中文的正则表达式:
// 匹配html结束标签 </ 之前的中文字符
reg_1 = '([\u4E00-\u9FA5]+\s?\w+)(?=\<\/)'
// 匹配中文字符,且前边跟随空格
reg_2 = '(?<=\s)([\u4E00-\u9FA5]+\w+)'
// 匹配带有中文的标签属性
reg_3 = '(\w+-?)+="\w*([\u4E00-\u9FA5])+.*?"' 
// 匹配js代码中中文
reg_4 = '(\"|\'|`)[\u4E00-\u9FA5]+\w+(\?|\?|\!|\!)?(\"|\'|`)'

了解到这几种情况后就开始编写代码。

第 1 步:获取目录下所有的vue文件路径
def getAllVueFile(dir_path):
  a = []   
  for root, dirs, files in os.walk(dir_path):  
    for file in files:  
      if os.path.splitext(file)[1] == '.vue':  
        a.append(os.path.join(root, file))
  return a
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值