i18n-extract.js 912 B

123456789101112131415161718192021222324252627
  1. #!/usr/bin/env node
  2. const sh = require('shelljs')
  3. const fs = require('fs/promises')
  4. const vars = require('./vars')
  5. const log = require('npmlog')
  6. const tempOutput = 'locale/app.new.pot'
  7. const pot = 'locale/app.pot'
  8. const tempHtml = 'locale/tmp-html'
  9. ;(async () => {
  10. sh.mkdir('-p', tempHtml)
  11. for (const plugin of vars.builtinPlugins) {
  12. log.info('extract-pug', plugin)
  13. sh.exec(`yarn pug --doctype html -s --pretty -O '{require: function(){}}' -o ${tempHtml}/${plugin} ${plugin}`, { fatal: true })
  14. log.info('extract-ts', plugin)
  15. sh.exec(`node node_modules/.bin/ngx-translate-extract -i ${plugin}/src -m -s -f pot -o ${tempOutput}`, { fatal: true })
  16. }
  17. log.info('extract-pug')
  18. sh.exec(`node node_modules/.bin/ngx-translate-extract -i ${tempHtml} -f pot -s -o ${tempOutput}`, { fatal: true })
  19. sh.rm('-r', tempHtml)
  20. await fs.rename(tempOutput, pot)
  21. })()