Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.81 KB | None | 0 0
  1. // gulpfile.js
  2. let path = require('path')
  3. let gulp = require('gulp')
  4. let cleanCSS = require('gulp-clean-css')
  5. let cssWrap = require('gulp-css-wrap')
  6. let replace = require('gulp-replace');
  7. let cn = require('./i18n/src/cn');
  8.  
  9. gulp.task('css-wrap', function () {
  10. return gulp.src(path.resolve('./theme/default/index.css'))
  11. /* 找需要添加命名空间的css文件,支持正则表达式 */
  12. .pipe(cssWrap({
  13. selector: '.theme-default' /* 添加的命名空间 */
  14. }))
  15. .pipe(cleanCSS())
  16. .pipe(gulp.dest('src/assets/css/theme/default')) /* 存放的目录 */
  17. })
  18.  
  19. // custom match
  20. gulp.task('i18n', function(){
  21. gulp.src(path.resolve('./src/layout/sysadminLayout.js'))
  22. .pipe(replace(/'[\u4e00-\u9fa5]+/g, function(match) {
  23. let template;
  24. for (let key in cn) {
  25. let value = cn[key]
  26. if(value == match) { template = key }
  27. }
  28. if (template) {
  29. let str = `i18n.t('${template}')`
  30. console.log(`i18n: ${template}`)
  31. return str
  32. } else {
  33. return match
  34. }
  35. }))
  36. .pipe(gulp.dest('i18n/dest'));
  37. });
  38.  
  39. // l for layout match
  40. gulp.task('i18n-l', function(){
  41. gulp.src(path.resolve('./src/components/base/service-log.vue'))
  42. .pipe(replace(/["][\u4e00-\u9fa5]+["]/g, function(match) {
  43. let template;
  44. let tmp = match.split('"').join('');
  45. for (let key in cn) {
  46. let value = cn[key]
  47. if(value == tmp) { template = key }
  48. }
  49. if (template) {
  50. let str = `"$t('${template}')"`
  51. console.log(`"$t('${template}')"`)
  52. return str
  53. } else {
  54. return match
  55. }
  56. }))
  57. .pipe(gulp.dest('i18n/dest/components/base'));
  58. });
  59.  
  60. // t for template match
  61. gulp.task('i18n-t', function(){
  62. gulp.src(path.resolve('./src/components/base/service-log.vue'))
  63. .pipe(replace(/[>][\u4e00-\u9fa5]+[<]/g, function(match) {
  64. let template;
  65. let tmp = match.split('>').pop().split('<')[0];
  66. for (let key in cn) {
  67. let value = cn[key]
  68. if(value == tmp) { template = key }
  69. }
  70. if (template) {
  71. // let str = `i18n.t('${template}')`
  72. let str = `>{{ $t('${template}') }}<`
  73. console.log(`i18n: ${template}`)
  74. return str
  75. } else {
  76. return match
  77. }
  78. }))
  79. .pipe(gulp.dest('i18n/dest/components/base'));
  80. });
  81.  
  82. // g for globally match
  83. gulp.task('i18n-g', function(){
  84. gulp.src(path.resolve('./src/base/sockjsMsg.js'))
  85. .pipe(replace(/[\u4e00-\u9fa5]+/g, function(match) {
  86. console.log(`Matched: ${match}`)
  87. for (let key in cn) {
  88. let value = cn[key]
  89. if(value == match) {
  90. console.log(`Existed: ${value}`)
  91. break;
  92. }
  93. }
  94. console.log('\n')
  95. }))
  96. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement