问题

在客户要求下要将项目中中英文切换,英文要以英文单词首字母大写为准。可是前期开发人员并没有规范。 多以这种:

 "headerFontColor":"top font MAV Mac /MAC(V)",

存在,可是emmmmm…一个一个修改,必si。

方法 1

去看了vue-i18n 官网,找到formatter可实现。
实践:

// 实现自定义格式
class CustomFormatter {constructor (options) {}//  英文处理upperCase(text) {return text.replace(/\b([\w|']+)\b/g, function(result) {let lowText = result.toLowerCase()return lowText.replace(lowText.charAt(0), lowText.charAt(0).toUpperCase());});}interpolate (message, values) {// 返回插值数组return [ this.upperCase(message)]}
}
const i18n = new VueI18n({locale:utils.getCookie('language')?utils.getCookie('language'):'zh',formatter: new CustomFormatter(),messages:messages,
});

方法 2

使用loader。

  1. 创建文件夹rules 管理自定义的loader
  2. 在rules创建文件夹diy-loader,并在diy-loader文件夹创建index.js(编写处理文件代码)
// 获取loader 中Options 配置
let loaderUtil = require('loader-utils')function upperCase(text) {return text.replace(/\b([\w|']+)\b/g, function(result) {let lowText = result.toLowerCase()return lowText.replace(lowText.charAt(0), lowText.charAt(0).toUpperCase());});
}function upperCaseByJson(jsonData) {let keys = Object.keys(jsonData)for (let item in jsonData) {if (jsonData[item] instanceof  Object) {upperCaseByJson(jsonData[item])} else  {jsonData[item] =  upperCase(jsonData[item])}}
}module.exports = function (source) {const  options = loaderUtil.getOptions(this) || {}let  sourceJson, startVal,startTime = new Date().getTime()console.log('自定义loader source', startTime)// loader 中test 校验的文件 数据(source)if (source && source.split('=').length >= 2 ) {startVal =  source.split('=')[0]sourceJson = JSON.parse(source.split('=')[1])upperCaseByJson(sourceJson)}console.log('自定义loader source',new Date().getTime() - startTime )source =  startVal + '=' + JSON.stringify(sourceJson)return   source
}

3.在 webpack.config.js 加载自定义loader


resolveLoader: {modules: [path.resolve(__dirname,'./rules'),'node_modules' // npm 加载的loader]},module: { // 处理对应模块rules: [// 处理自定义{test: /\.en\.json$/,loader:'diy-loader',include: [path.resolve(__dirname,'./src/assets/i18n')]}]

测试。

webpack ——自定义Loader,将i18n英文单词首字母转大写相关推荐

  1. python将变量a全部变成大写字母_每天一个Python知识点:只用一招就将所有的英文单词首字母变成大写...

    摘要: 将英文单词首字母变成大写是一个古老的话题,很常用,也很简单.不过如何用更简单的方式批量完成这个工作,则有很多学问,不想来看看吗! 将英文单词首字母变成大写是非常常用的文本操作,使用capita ...

  2. Python将所有的英文单词首字母变成大写

    将英文单词首字母变成大写是非常常用的文本操作,使用capitalize方法可以将一个英文单词的首字母变成大写. 将英文单词首字母变成大写是非常常用的文本操作,使用capitalize方法可以将一个英文 ...

  3. 《Word中设置英文单词首字母不自动变为大写》

    Word中设置英文单词首字母不自动变为大写:选项->校对->自动更正选项->自动更正->句首字母大写的勾选取消.

  4. C++ 编程中常用的英文单词(首字母是O、P、R开头)

    学习编程不一定需要英语水平很高,能记住认识一些常用的英文单词也可以,有看不明白的文档资料也可以使用翻译工具,编写代码时大部分好用的IDE都是有代码提示的.本文主要介绍C++语言编程中常用的英语单词. ...

  5. C++ 编程中常用的英文单词(首字母是G、H、I开头)

    学习编程不一定需要英语水平很高,能记住认识一些常用的英文单词也可以,有看不明白的文档资料也可以使用翻译工具,编写代码时大部分好用的IDE都是有代码提示的.本文主要介绍C++语言编程中常用的英语单词. ...

  6. Java编程之英文单词首字母大写

    一.题目 输入一段英文句子,将每个单词的首字母大写再输出.示例: 输入:I am very glad to see you. 输出:I Am Very Glad To See You. 二.实验代码 ...

  7. Java 首字母转大写,StringUtils.capitalize

    ================================ ©Copyright 蕃薯耀 2022-08-31 ​​​​​​蕃薯耀的博客_CSDN博客-蕃薯耀分享,java,js领域博主 一.首 ...

  8. C语言程序——首字母变大写

    [问题描述]首字母变大写:输入一个英文句子,将每个单词的第一个字母改成大写字母. [输入形式]一个长度不超过100的英文句子 [输出形式]按照要求改写后的英文句子,每个单词的首字母大写 [样例输入]i ...

  9. 使用Python,将字符串的首字母变为大写,其余都变为小写

    利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字. 思路:使用capitalize()函数将字符串的首字母转为大写,其余变为小写 L1 = ['AdmIn','an ...

  10. 1165: 零起点学算法72——首字母变大写

    1165: 零起点学算法72--首字母变大写 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lld Submitted: 705 ...

最新文章

  1. python图像配准的原理_python利用sift和surf进行图像配准
  2. DCMTK:查询/检索服务类用户(C-FIND操作)
  3. ubuntu Linux18.10/19.10下的护眼宝
  4. centos7设置键盘类型_CentOS 7 系统区域(语言)和键盘设置
  5. [伤了昨天的心 裂成碎片和沙一起飞]五香里脊
  6. 什么是计算机网络教学反思,《计算机网络实训之常用的网络工具》教学反思
  7. [大牛就是牛]双栈排序
  8. 35. 复杂链表的复制
  9. W3CSchool CHM API 帮助文档(全)
  10. 图书信息管理系统(c语言)
  11. 金域医学与华为云联合,AI辅助宫颈癌筛查方案获得阶段性突破
  12. 牛客寒假基础集训营 | Day1 G题—eli和字符串
  13. 初学者基于paddle的计算机视觉快速上手项目
  14. 软件测试职业规划:发展方向多元化
  15. win10 64位系统 打开光盘出现339错误 缺少mscomctl.ocx组件 解决方案
  16. 油脂抵近历史高点,棕榈油认购大涨,CCS05继续向下2022.3.1
  17. 用Maven手写SpringIOC(简易版)
  18. 【素描教程】简单的素描静物步骤详…
  19. dataframe交换某两行(多行)的数据
  20. java中oops是什么意思_什么是oop思想_什么是OOPS

热门文章

  1. Spring Boot工程结构推荐
  2. 考研408(操作系统、计算机组成原理、数据结构、计算机网络)
  3. 实用工具篇--华为eNSP下载及安装
  4. 3D扫描打开眼镜定制新纪元
  5. ubuntu20.04装机教程
  6. 恩智浦imx8qxp-mek的 device Tree 结构
  7. 计算几何问题汇总--圆与矩形
  8. 微信聊天功能软件测试用例,软件测试用例实例之常见功能测试点
  9. dm9000驱动分析
  10. 【132天】尚学堂高淇Java300集视频精华笔记(67-70)