locale_en.js 859 B

1234567891011121314151617181920212223242526
  1. import { Grammar } from '../../rule_engine/grammar.js';
  2. import { createLocale } from '../locale.js';
  3. import { nestingToString } from '../locale_util.js';
  4. import { NUMBERS } from '../numbers/numbers_en.js';
  5. import * as tr from '../transformers.js';
  6. let locale = null;
  7. export function en() {
  8. if (!locale) {
  9. locale = create();
  10. }
  11. return locale;
  12. }
  13. function create() {
  14. const loc = createLocale();
  15. loc.NUMBERS = NUMBERS;
  16. loc.FUNCTIONS.radicalNestDepth = nestingToString;
  17. loc.FUNCTIONS.plural = (unit) => {
  18. return /.*s$/.test(unit) ? unit : unit + 's';
  19. };
  20. loc.ALPHABETS.combiner = tr.Combiners.prefixCombiner;
  21. loc.ALPHABETS.digitTrans.default = NUMBERS.numberToWords;
  22. loc.CORRECTIONS.article = (name) => {
  23. return Grammar.getInstance().getParameter('noArticle') ? '' : name;
  24. };
  25. return loc;
  26. }