locale-utils.js 702 B

12345678910111213141516171819202122232425262728293031323334
  1. const fs = require('fs');
  2. const helpers = require('./helpers');
  3. /**
  4. * List locales dirents
  5. */
  6. function listLocaleDirents() {
  7. const allDirents = fs.readdirSync(helpers.root('resource/locales'), { withFileTypes: true });
  8. return allDirents
  9. .filter(dirent => dirent.isDirectory());
  10. }
  11. /**
  12. * List locales aliases
  13. */
  14. function listLocaleMetadatas() {
  15. return listLocaleDirents()
  16. .map(dir => dir.name)
  17. .map(localeDirName => require(`../../../resource/locales/${localeDirName}/meta.json`));
  18. }
  19. /**
  20. * List locales IDs (=subdir names)
  21. */
  22. function listLocaleIds() {
  23. return listLocaleMetadatas()
  24. .map(meta => meta.id);
  25. }
  26. module.exports = {
  27. listLocaleMetadatas,
  28. listLocaleIds,
  29. };