locale_fr.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.fr = fr;
  4. const grammar_js_1 = require("../../rule_engine/grammar.js");
  5. const locale_js_1 = require("../locale.js");
  6. const locale_util_js_1 = require("../locale_util.js");
  7. const numbers_fr_js_1 = require("../numbers/numbers_fr.js");
  8. const transformers_js_1 = require("../transformers.js");
  9. let locale = null;
  10. function fr() {
  11. if (!locale) {
  12. locale = create();
  13. }
  14. return locale;
  15. }
  16. function create() {
  17. const loc = (0, locale_js_1.createLocale)();
  18. loc.NUMBERS = numbers_fr_js_1.NUMBERS;
  19. loc.FUNCTIONS.radicalNestDepth = locale_util_js_1.nestingToString;
  20. loc.FUNCTIONS.combineRootIndex = locale_util_js_1.combinePostfixIndex;
  21. loc.FUNCTIONS.combineNestedFraction = (a, b, c) => c.replace(/ $/g, '') + b + a;
  22. loc.FUNCTIONS.combineNestedRadical = (a, _b, c) => c + ' ' + a;
  23. loc.FUNCTIONS.fontRegexp = (font) => RegExp(' (en |)' + font + '$');
  24. loc.FUNCTIONS.plural = (unit) => {
  25. return /.*s$/.test(unit) ? unit : unit + 's';
  26. };
  27. loc.CORRECTIONS.article = (name) => {
  28. return grammar_js_1.Grammar.getInstance().getParameter('noArticle') ? '' : name;
  29. };
  30. loc.ALPHABETS.combiner = transformers_js_1.Combiners.romanceCombiner;
  31. loc.SUBISO = {
  32. default: 'fr',
  33. current: 'fr',
  34. all: ['fr', 'be', 'ch']
  35. };
  36. return loc;
  37. }