locale_af.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.af = af;
  4. const grammar_js_1 = require("../../rule_engine/grammar.js");
  5. const locale_util_js_1 = require("../locale_util.js");
  6. const locale_js_1 = require("../locale.js");
  7. const numbers_af_js_1 = require("../numbers/numbers_af.js");
  8. const tr = require("../transformers.js");
  9. const germanPostfixCombiner = function (letter, font, cap) {
  10. letter = !cap ? letter : cap + ' ' + letter;
  11. return font ? letter + ' ' + font : letter;
  12. };
  13. let locale = null;
  14. function af() {
  15. if (!locale) {
  16. locale = create();
  17. }
  18. return locale;
  19. }
  20. function create() {
  21. const loc = (0, locale_js_1.createLocale)();
  22. loc.NUMBERS = numbers_af_js_1.NUMBERS;
  23. loc.COMBINERS['germanPostfix'] = germanPostfixCombiner;
  24. loc.FUNCTIONS.radicalNestDepth = locale_util_js_1.nestingToString;
  25. loc.FUNCTIONS.plural = (unit) => {
  26. return /.*s$/.test(unit) ? unit : unit + 's';
  27. };
  28. loc.FUNCTIONS.fontRegexp = function (font) {
  29. return new RegExp('((^' + font + ' )|( ' + font + '$))');
  30. };
  31. loc.ALPHABETS.combiner = tr.Combiners.prefixCombiner;
  32. loc.ALPHABETS.digitTrans.default = numbers_af_js_1.NUMBERS.numberToWords;
  33. loc.CORRECTIONS.article = (name) => {
  34. return grammar_js_1.Grammar.getInstance().getParameter('noArticle') ? '' : name;
  35. };
  36. return loc;
  37. }