Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lmislm/vue-i18n-getchinese
scan .vue, export Chinese Text Json and set $t() by Chinese key
https://github.com/lmislm/vue-i18n-getchinese
chinese-translation gettext i18n tools vue2
Last synced: about 1 month ago
JSON representation
scan .vue, export Chinese Text Json and set $t() by Chinese key
- Host: GitHub
- URL: https://github.com/lmislm/vue-i18n-getchinese
- Owner: lmislm
- Created: 2019-04-23T07:45:31.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-07-12T14:23:36.000Z (over 5 years ago)
- Last Synced: 2024-04-26T07:20:58.169Z (7 months ago)
- Topics: chinese-translation, gettext, i18n, tools, vue2
- Language: TypeScript
- Size: 98.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 说明
项目处于`dev状态`,没有完善一键运行脚本,可以提供简单的脚本思路。**用法:** 可以拷贝本项目文件中到指定项目中,然后`运行`。
scan .vue, export Chinese Text Json and set $t() by Chinese key
提取vue文件中的中文字符到一个指定的json文件格式中,并将原有的字符串加上vue-i18n的$t()或者this.$t()规则。
以中文字符作为key。
## 运行
ts-node ./src/bin/index.ts tests/
## 遗留问题:
- [ ] 文字中间有变量,如: `试用期剩余{{leftDays}}天`,被替换为`{{$t('试用期剩余')}}{{$t('天')}}`
- [ ] 文字中间有页面标签,如:`升级为正式版需保证账户余额达到{0}元,请前往账户中心充值。`,作为json文件中的key时有符号问题。
- [ ] 文字中间变量应该加转义符号,如:"当前余额不足,请联系"{0}"的超级管理员充值",应该为"当前余额不足,请联系{0}的超级管理员充值"。
- [ ] 两个文件的JSON被合并到一个文件中,导致一个文件有两个`[{}]`、`[{}]`。
- [ ] 多变量替换时,出现乱码,如:`let content = $\{this.packageName\[discount\]\},文档导出${discount * 10}折,${formatTime}到期`,被替换为`let content = this.$t('{0},文档导出{1}折,{2}到期', [this.packageName[discount],discount * 10$$%33%$$formatTime])`,应该为:`let content = this.$t('{0},文档导出{1}折,{2}到期', [this.packageName[discount],discount * 10,formatTime])`
- [ ] 变量间隔替换问题,如:`文档优惠({{discount * 10}}折):-{{(totalPrice - discountPrice) | priceFormat}}`,被替换为`{{$t('文档优惠(')}}{{$t('折):-')}}scount * 10}}折):-{{(totalPrice - discountPrice) | priceFormat}}`
- [ ] `jsx`语法不支持,如:
```javascript
renderTimeHeader (h, { column, $index }) {
// element 2.4.2不支持slot header
return (
开始日期
结束日期
)
}
```
## ToDo
- [ ] 一键脚本
- [ ] 出现国际化特征文案如`$t() `字符的不再次进行替换成`$t($t())`
- [ ] 选出迭代更新的文件
- [ ] key值转为小写填充到vue文件中# 贡献
项目核心代码来自:**https://github.com/laden666666/vue-i18n-tools**本项目只是`修复部分bug`,并进行了多文件提取中文字符串和回填字符串的`脚本化`,当初并没有考虑到fork,等到想fork再改的时候已经晚了,特此说明。
更多内容还**请关注:** https://github.com/laden666666/