Answers.Body: <p>A further requirement came up to change the Italian output (symbol moved to <em>after</em> the price rather than <em>before</em>) so I opted for a simple Twig extension:</p>
  
  <pre><code>/**
   * Wrapper for Craft's NumberFormatter-&gt;formatCurrency
   * Changes formats for French and Italian display
   *
   * @param        $value
   * @param string $currency
   *
   * @return string
   */
  public function currencyDisplay ($value, $currency = 'GBP')
  {
      $value = craft()-&gt;numberFormatter-&gt;formatCurrency($value, $currency);
      $localeId = craft()-&gt;locale-&gt;id;
  
      if ($localeId == 'fr')
      {
          $value = str_replace('£UK', '£', $value); // remove UK
      }
      else if ($localeId == 'it')
      {
          $value = str_replace('£ ', '', $value) . ' £'; // relocate sterling symbol
      }
  
      return $value;
  }
  </code></pre>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-02-24T20:27:16.070Z
Answers.LastActivityDate: 2016-02-24T20:27:16.070Z
Answers.UserDisplayName: Russ Back
Answers.Body: <p>A plugin like you mention is an option, but you should be able to use <a href="https://craftcms.com/support/static-translations" rel="nofollow">static translations</a> for this, too.  Only downside is that it would replace <em>all</em> instances of <code>£UK</code> with <code>£</code>, which may or may not be a problem.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-02-24T19:05:01.197Z
Answers.LastActivityDate: 2016-02-24T19:05:01.197Z
Answers.UserDisplayName: Brad Bell
Answers.Body: <p>I don't think you can override that, but I'm not 100% sure. But, there's always the option to run the <code>replace</code>filter on the output from <code>currency</code>:</p>
  
  <pre><code>{{ 344552.32 | currency('GBP') | replace('£UK', '£') }}
  </code></pre>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-02-24T18:50:40.510Z
Answers.LastActivityDate: 2016-02-24T18:50:40.510Z
Answers.UserDisplayName: André Elvan
Body: <p>We are using the Craft's currency filter to display localised prices <code>344552.32 | currency('GBP')</code> which works great in most instances. </p>
  
  <p>However the currency symbol for UK Sterling in the French locale file is <code>£UK</code> and the translation company we are working with are saying that we just need to output <code>£</code>.</p>
  
  <p>This is defined in the <code>currencySymbols</code> array of <code>craft/app/framework/i18n/data.fr.php</code>.</p>
  
  <p>Is there a way we can affect that at a configuration level or at runtime? If not I guess we would have to create our own filter function that wraps the core functionality and does a string replace on the output.</p>
  
Tags: <localization><configuration>
Title: Is there a way to override locale data?
ThreadText: # Is there a way to override locale data?
  
  (Asked by: username_0 on 2016-02-24)
  
  We are using the Craft's currency filter to display localised prices `344552.32 | currency('GBP')` which works great in most instances.
  
  However the currency symbol for UK Sterling in the French locale file is `£UK` and the translation company we are working with are saying that we just need to output `£`.
  
  This is defined in the `currencySymbols` array of `craft/app/framework/i18n/data.fr.php`.
  
  Is there a way we can affect that at a configuration level or at runtime? If not I guess we would have to create our own filter function that wraps the core functionality and does a string replace on the output.
  
  **Tags:** localization, configuration
  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_0 on 2016-02-24. Score: 1
  
  A further requirement came up to change the Italian output (symbol moved to *after* the price rather than *before*) so I opted for a simple Twig extension:
  
  ```
  /**
   * Wrapper for Craft's NumberFormatter->formatCurrency
   * Changes formats for French and Italian display
   *
   * @param        $value
   * @param string $currency
   *
   * @return string
   */
  public function currencyDisplay ($value, $currency = 'GBP')
  {
      $value = craft()->numberFormatter->formatCurrency($value, $currency);
      $localeId = craft()->locale->id;
  
      if ($localeId == 'fr')
      {
          $value = str_replace('£UK', '£', $value); // remove UK
      }
      else if ($localeId == 'it')
      {
          $value = str_replace('£ ', '', $value) . ' £'; // relocate sterling symbol
      }
  
      return $value;
  }
  
  ```
  
  
  ---
  
  ### Answer by username_1 on 2016-02-24. Score: 0
  
  A plugin like you mention is an option, but you should be able to use [static translations](https://craftcms.com/support/static-translations) for this, too. Only downside is that it would replace *all* instances of `£UK` with `£`, which may or may not be a problem.
  
  
  ---
  
  ### Answer by username_2 on 2016-02-24. Score: 0
  
  I don't think you can override that, but I'm not 100% sure. But, there's always the option to run the `replace`filter on the output from `currency`:
  
  ```
  {{ 344552.32 | currency('GBP') | replace('£UK', '£') }}
  
  ```
  
  
  ---
  
  