Where to place currency symbol when localizing and what to do with odd symbols

  • Is there a suggested, single location to place the currency symbol every time for any given locale?

    For example, always on the left with a space before the amount like this:

    R 10.00
    $ 10.00
    € 10.00
    ¥ 10.00
    

    Is this acceptable even in instances when the currency symbol is usually placed to the right of the amount, or should you keep track of the placement per locale?

    Also, what is the best way to handle currencies with odd unicode characters when you plan on targeting devices that don't support the displaying of these characters? Do you default to using the three letter international code? If you do then do you still obey left-or-right placement or can you place all on the left?

    +1 very good question. Sometimes currency symbols are not the best choice but ISO currency codes are. Think of US $ vs. Canada $, or even a foreign exchange case between the two :-)

  • msanford

    msanford Correct answer

    9 years ago

    If you're going to bother localizing your interface, you might as well do it fully and respect the language or region's common practices.

    As you mention localization, I assume this means that you will change the placement of the currency symbol based on the locale setting of the user's interface, rather than the locale of the currency symbol used.

    Take French1, example:

    1. French places the currency symbol after the amount (to maintain uniformity with the rest of the metric measures, 2 $ as 2 km).
    2. Similarly, French uses , as a decimal and space as a thousands separator (1 000,59 $)

    So, if you're localizing the interface for a French user, you would display 100 ¥; 10,00 R; 10,00 €.

    Programatically, this is not difficult to achieve; see Stack Overflow's Localization tag and Programming's Localization tag and numerous resources for your development language of choice already on the internet.

    {1} Source: I'm French-Canadian and my example localizes for fr_CA.

    I don't know about French Canadians, but the European French will in some circumstances insert the unit in place of the decimal separator, eg. 2€50. It is true that 2,50€ will also be understood, but the former is more prevalent in my experience. This was also true when the currency was the franc (F).

    @Phong +1 Great observation! `fr_CA` does not do that, but it's a great example of a pitfall of looking only to a language when localizing (as you also have to adapt to the environment in which the language is used).

    @msanford Just as a side note: For Yen (JPY; ¥) there are no fractions/decimals of a ¥

    @greenforest I didn't realize that! Thanks for the information.

    @msanford what about `en_FR`?? A French user, who understands English, but he is used to see the currency format as `10,00 ¥`

License under CC-BY-SA with attribution


Content dated before 7/24/2021 11:53 AM