gettext.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import Ember from 'ember';
  2. var registerHelper = Ember.HTMLBars.registerHelper;
  3. var makeBoundHelper = Ember.HTMLBars.makeBoundHelper;
  4. registerHelper('gettext', makeBoundHelper(function(args, kwargs) {
  5. var msgid = args[0];
  6. if (Object.getOwnPropertyNames(kwargs).length > 0) {
  7. return interpolate(gettext(msgid), kwargs, true);
  8. } else {
  9. return gettext(msgid);
  10. }
  11. }));
  12. registerHelper('ngettext', makeBoundHelper(function(args, kwargs) {
  13. var singular = args[0];
  14. var plural = args[1];
  15. var count = args[2];
  16. kwargs.count = count;
  17. return interpolate(ngettext(singular, plural, count), kwargs, true);
  18. }));
  19. registerHelper('gettext_noop', makeBoundHelper(function(args, kwargs) {
  20. var msgid = args[0];
  21. if (Object.getOwnPropertyNames(kwargs).length > 0) {
  22. return interpolate(gettext_noop(msgid), kwargs, true);
  23. } else {
  24. return gettext_noop(msgid);
  25. }
  26. }));
  27. registerHelper('pgettext', makeBoundHelper(function(args, kwargs) {
  28. var context = args[0];
  29. var msgid = args[1];
  30. if (Object.getOwnPropertyNames(kwargs).length > 0) {
  31. return interpolate(pgettext(context, msgid), kwargs, true);
  32. } else {
  33. return pgettext(context, msgid);
  34. }
  35. }));
  36. registerHelper('npgettext', makeBoundHelper(function(args, kwargs) {
  37. var context = args[0];
  38. var singular = args[1];
  39. var plural = args[2];
  40. var count = args[3];
  41. kwargs.count = count;
  42. return interpolate(npgettext(context, singular, plural, count), kwargs, true);
  43. }));