热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

vuei18n极速解决方案vueswifti18n(vscode插件)

Vuei18n契子Vue国际化非常的繁琐:将所有出现的要国际化的汉字复制取名配置在vuejs文件中找到汉字位置,区分是在template中标签的label或者其他property中

Vue i18n

vue i18n 极速解决方案vue-swift-i18n(vscode插件) vue i18n 极速解决方案vue-swift-i18n(vscode插件) vue i18n 极速解决方案vue-swift-i18n(vscode插件) vue i18n 极速解决方案vue-swift-i18n(vscode插件) vue i18n 极速解决方案vue-swift-i18n(vscode插件)

契子

Vue国际化非常的繁琐:

  • 将所有出现的要国际化的汉字复制取名配置
  • 在vue/js文件中找到汉字位置,区分是在template中标签的label或者其他property中,或者{{}}script,又或者script中的,手动将一层一层的国际化key拷贝,粘贴。
  • 就算是相同的汉子,由于在vue中的语法不同,需要重复的拷贝,粘贴
  • 碰到一堆汉字拼接的简直要了老命/(ㄒoㄒ)/~~

快速开始

  1. 安装
    (商店搜索vue-swift-i18n,或者ctrl+p,输入ext install RichieChoo.vue-swift-i18n
  2. 使用,见下图:
    vue i18n 极速解决方案vue-swift-i18n(vscode插件)

功能

  1. 检测vue/js中的需要国际化的汉字,自动生成json文件,
  2. 根据json文件检测vue/js,检测汉字,自动替换成步骤1生成的json 的key
  3. 检测vue/js文件中的已替换的key,展示对应汉字提示弹窗
  4. xxx.json文件中,生成扁平化的locales的xxx_flat.json文件,方便取值复制
  5. 在vue/js中提供,提供t,tt,ttt代码提示

设计

vue i18n 极速解决方案vue-swift-i18n(vscode插件)

详述

约定:汉字汉字开头的连续非空字符串

一、Json生成,更新(Ctrl+Alt+U)

  1. 汉字检索原则
  • 位于中的汉字,如汉字123
  • 位于中的标签属性的汉字,如
  • 位于中的{{}}之间的汉字,如{{test ? "汉字" : "中文" }}
  • 位于中的""之间的汉字,''之间的汉字
  • 过滤单行注释
  1. 生成更新Json路径配置
  2. 生成更新原则
  • 当json为空或者文件不存在,将检测的汉字当做value,将[modulePrefix].[parents(level读取)].[当前vue文件名字]+唯一Id当做key,存储在json中
  • 当json文件不为空,执行智能替换
    备注:主要是防止国际化后,执行JSON生成命令误操作,会导致json数据为空或错误
  • 智能替换:
    i. 相同val时,新的key,val替换原来的key,val
    ii. 不同val时,保存新增key,val和原有的key,val

二、国际化替换(Ctrl+Alt+I)

  1. 替换原则
  • 汉字检索原则1,汉字123替换为 {{$t('unique-key')}}
  • 汉字检索原则2,title="汉字" 替换为 :title="$t('unique-key')"
  • 汉字检索原则3,汉字替换为 $t('unique-key')
  • 汉字检索原则4,汉字替换为 this.$t('unique-key')
  1. 相关正则,见传送门
  2. 替换依据Json,

三、国际化提示(Ctrl+Alt+O)

  1. 提示原则
  • 正则:/(?<=\$t\(["'])[^'"]+/gm 匹配已替换的字符串
  • 用新生成的唯一key而不是json的key来标识,为了防止json中的key被使用多次
  1. 提示依据Json

四、Json扁平处理

  1. 扁平化原则:
  • 将所有的有value的key的所有父对象和key用.连接
  • Json扁平处理没有提供快捷键,通过右键文件夹或者json文件来执行命令
  1. 扁平依据选中json,生成/更新xxx_flat.json与json文件路径同级

五、路径及JSON

根目录:认定当前项目package.json为根目录
当前文件:执行Json生成等命令所在的文件

  1. 路径
  • 默认路径:[根目录]/src/locales/zh-cn.json 为默认json路径
  • 提供字符串配置项:Default Locales Path,如"test",则对应的json路径:[根目录]/``test/zh-cn.json
  1. json文件的属性名及value
  • 默认:[当前文件的父文件夹名].[当前文件名(无后缀)]
  • 提供数字层级配置项:Parent Dir Level,如3则代表属性名头部添加取3层父文件夹名
  • 提供字符串配置项:**Module Prefix Fo Update JSON**,如 “sdm-ui”,会把“sdm-ui"添加到父文件夹名之前
  • 其他配置项:
    • Not Alert Before Update I18n,默认提示,若为true则会直接更新json不弹窗提醒
    • Do Not Disturb,默认false,若为true则会关闭任何命令提醒
    • I18n Value Hover,默认true,开启悬浮提示框功能

六、代码提示

  1. 汉字检索原则1,tt 替换为 {{$t('剪切板内容')}}
  2. 汉字检索原则2,t 替换为 $t('剪切板内容'),需手动加
  3. 汉字检索原则3,t 替换为 $t('剪切板内容')
  4. 汉字检索原则4,ttt 替换为 this.$t('剪切板内容')

文档及帮助

内容 文档及帮助
插件hello-world [传送门]
插件发布流程(官方) [传送门]
vscode插件官方实例 [传送门]
如何检测vue文件 [传送门]
vscode API [传送门]
vscode开发(中文) [传送门]
webstorm配置ide的live template [传送门]

其他推荐

  1. vscode正则 [\u4e00-\u9fa5] 查找汉字
  2. vscode插件expand-region来扩展选择,方便选中复制

TODO

  • 国际化json文件名可配置
  • 悬浮展示i18n value,跳转json文件
  • 通过项目配置文件获取配置 settings,其中项目配置文件优先级最高(richierc.json)
  • 增加puidType配置,默认使用short类型(12位),提供long类型(24位),生成唯一key
  • 使用 JSON AST 代替 RegExp 优化跳转体验
  • 增加 webview 展示替换更新等提醒界面
  • 使用 JS AST 替换正则替换,优化中英文匹配
  • 支持 JS I18n 文件写入与读取

赞赏

如果插件给您带来边里,欢迎star或插件赞赏哦
vue i18n 极速解决方案vue-swift-i18n(vscode插件)


推荐阅读
  • 利用树莓派畅享落网电台音乐体验
    最近重新拾起了闲置已久的树莓派,这台小巧的开发板已经沉寂了半年多。上个月闲暇时间较多,我决定将其重新启用。恰逢落网电台进行了改版,回忆起之前在树莓派论坛上看到有人用它来播放豆瓣音乐,便萌生了同样的想法。通过一番调试,终于实现了在树莓派上流畅播放落网电台音乐的功能,带来了全新的音乐享受体验。 ... [详细]
  • Node.js 配置文件管理方法详解与最佳实践
    本文详细介绍了 Node.js 中配置文件管理的方法与最佳实践,涵盖常见的配置文件格式及其优缺点,并提供了多种实用技巧和示例代码,帮助开发者高效地管理和维护项目配置,具有较高的参考价值。 ... [详细]
  • 如何高效启动大数据应用之旅?
    在前一篇文章中,我探讨了大数据的定义及其与数据挖掘的区别。本文将重点介绍如何高效启动大数据应用项目,涵盖关键步骤和最佳实践,帮助读者快速踏上大数据之旅。 ... [详细]
  • 在GitHub上克隆vue-element-admin项目时遇到依赖安装错误
    在 GitHub 上克隆 vue-element-admin 项目后,使用 `npm install` 安装依赖时遇到了未知的 Git 错误。具体错误信息为 `npm ERR! code 128`,提示命令执行失败。这可能是由于网络问题、Git 配置不正确或某些依赖包的仓库地址无效导致的。建议检查网络连接、更新 Git 版本并确保所有依赖项的 URL 正确无误。 ... [详细]
  • 通过 NuGet 获取最新版本的 Rafy 框架及其详细文档
    为了帮助开发者更便捷地使用Rafy领域实体框架,我们已将最新版的Rafy框架程序集上传至nuget.org,并同步发布了最新版本的Rafy SDK至Visual Studio。此外,我们还提供了详尽的文档和示例,以确保开发者能够快速上手并充分利用该框架的强大功能。 ... [详细]
  • 掌握PHP编程必备知识与技巧——全面教程在当今的PHP开发中,了解并运用最新的技术和最佳实践至关重要。本教程将详细介绍PHP编程的核心知识与实用技巧。首先,确保你正在使用PHP 5.3或更高版本,最好是最新版本,以充分利用其性能优化和新特性。此外,我们还将探讨代码结构、安全性和性能优化等方面的内容,帮助你成为一名更高效的PHP开发者。 ... [详细]
  • Hadoop 2.6 主要由 HDFS 和 YARN 两大部分组成,其中 YARN 包含了运行在 ResourceManager 的 JVM 中的组件以及在 NodeManager 中运行的部分。本文深入探讨了 Hadoop 2.6 日志文件的解析方法,并详细介绍了 MapReduce 日志管理的最佳实践,旨在帮助用户更好地理解和优化日志处理流程,提高系统运维效率。 ... [详细]
  • 基于域名、端口和IP的虚拟主机构建方案
    本文探讨了在单台物理服务器上构建多个Web站点的虚拟主机方案,详细介绍了三种主要的虚拟主机类型:基于域名、基于IP地址和基于端口的虚拟主机。每种类型的实现方式及其优缺点均进行了深入分析,为实际应用提供了全面的技术指导。 ... [详细]
  • 优化升级版数据采集与赋值方法,专为前文内容设计
    在前一篇文章中,方法的局限性主要体现在需要传递参数,并且参数数量受限。当页面布局与所需参数不匹配时,该方法将无法正常工作。为此,我们推出了优化升级版1.1,旨在解决这些问题并提高灵活性和适用性。 ... [详细]
  • 本文介绍了如何通过掌握 IScroll 技巧来实现流畅的上拉加载和下拉刷新功能。首先,需要按正确的顺序引入相关文件:1. Zepto;2. iScroll.js;3. scroll-probe.js。此外,还提供了完整的代码示例,可在 GitHub 仓库中查看。通过这些步骤,开发者可以轻松实现高效、流畅的滚动效果,提升用户体验。 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • 掌握PHP框架开发与应用的核心知识点:构建高效PHP框架所需的技术与能力综述
    掌握PHP框架开发与应用的核心知识点对于构建高效PHP框架至关重要。本文综述了开发PHP框架所需的关键技术和能力,包括但不限于对PHP语言的深入理解、设计模式的应用、数据库操作、安全性措施以及性能优化等方面。对于初学者而言,熟悉主流框架如Laravel、Symfony等的实际应用场景,有助于更好地理解和掌握自定义框架开发的精髓。 ... [详细]
  • 本文探讨了在当前正则表达式中支持空格字符的方法。作者尝试在正则表达式中允许空白字符,但遇到了一些问题,导致该表达式无法正确识别空格。文章详细分析了问题的原因,并提出了解决方案,旨在提高正则表达式的灵活性和实用性。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 本文作为“实现简易版Spring系列”的第五篇,继前文深入探讨了Spring框架的核心技术之一——控制反转(IoC)之后,将重点转向另一个关键技术——面向切面编程(AOP)。对于使用Spring框架进行开发的开发者来说,AOP是一个不可或缺的概念。了解AOP的背景及其基本原理,对于掌握这一技术至关重要。本文将通过具体示例,详细解析AOP的实现机制,帮助读者更好地理解和应用这一技术。 ... [详细]
author-avatar
曼珠沙華的朦朧_759
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有