TextformatterCurrency by Horst Nogajski

Locale aware currency formatter module for Processwire

TextformatterCurrency

A locale-aware currency formatter module for Processwire.

The module reads a conforming input money formatted string, splits it and formats each valid monetary amount according to the locale defined in the module settings. The module is capable of using the visiting browser's headers to determine which locale to use when formatting monetary amounts of various currencies.

Internally, the module uses PHPs Internationalization extension (intl) to do the formatting.

Input money format


The input money format is made up of any number of currency-amount pairs.

Each input money pair is made up of a currency code and an amount. These are always separated by at least one space with the code coming first. (eg. GBP 50.99 or JPY 100000.)

  • No thousands separators are allowed in the input.
  • A full-stop . character is the only acceptable decimal separator.

Each money pair is separated by a configurable character string ('|' by default.) You can change the character used to split the incoming string into currency-amount pairs in the module settings page.

Output format


Each currency-amount pair is formatted using the defined locale or that supplied by the browser and thus appears localised in the output of the formatter. If the input text has more than one currency-amount money pair then the output will join the localised outputs for each pair using the output glue string defined in the module settings.

Examples Using Module Defaults


Input GBP 50.99 | EUR 100 gives £50.99 + €100.00 when viewed in browser set to British English but gives 50,99 £GB + 100,00 € using a browser set to French.

Install and use modules at your own risk. Always have a site and database backup before installing new modules.

Twitter updates

  • This week we focus in on a new and unique Inputfield module added to the core that enables a lot of useful new input capabilities for tags, sortable multiple selection and custom user input— More
    30 April 2021
  • With more than 25 commits, ProcessWire 3.0.176 resolves lots of minor issues, adds support for multiple randomly selected read-only database connections, upgrades the tag features in the Template editor, adds a useful new Tags Inputfield, and more… More
    23 April 2021
  • This week ProcessWire (3.0.175) gained the ability to maintain separate read-only and read-write database connections to optimize scalability, cost and performance. The post covers why this can be so valuable and how to configure it in ProcessWire— More
    2 April 2021

Latest news

  • ProcessWire Weekly #364
    In the 364th issue of ProcessWire Weekly we'll introduce ProcessWire 3.0.177, check out a couple of new third party modules, and more. Read on!
    Weekly.pw / 1 May 2021
  • ProcessWire 3.0.177 core updates
    This week we focus in on a new and unique Inputfield module added to the core that enables a lot of useful new input capabilities for tags, sortable multiple selection and custom user input.
    Blog / 30 April 2021
  • Subscribe to weekly ProcessWire news

“We chose ProcessWire because of its excellent architecture, modular extensibility and the internal API. The CMS offers the necessary flexibility and performance for such a complex website like superbude.de. ProcessWire offers options that are only available for larger systems, such as Drupal, and allows a much slimmer development process.” —xport communication GmbH