Hmm.. this isn't really a Unicode question. You might want to post this question over on the i18n programming list '[EMAIL PROTECTED]' or on the locales list at '[EMAIL PROTECTED]'.

You don't say what your programming or operating environments are. There are two possibilities here.

If you want to use your existing software to display currencies as the Euro instead of pounds, you can generally either set the display settings (Windows Regional options control panel) for currency to "look like" the Euro. Or you can set (on Unix systems) the LC_MONETARY locale variable to some locale that uses the Euro with English-like formatting. A few systems actually provide a specialized variant locale for [EMAIL PROTECTED] for this purpose. A few provide an [EMAIL PROTECTED], which won't be helpful to you because of differences in the separators used in the two locales.

You can also compile your own locale tables on Unix. Read the man pages on locale.

If you are writing your own software, then it really isn't that hard. Some programming environments, such as Java, provide either a separate Currency class with the ability to create specific display-time formats that take both the currency and the display locale into account. Others require you to create a formatter to convert the value into a string for display.

In fact, when working with currency it is important to associate which currency you mean with the value. You may experience problems if you create a data field for "value" and format it according to the machine's runtime locale. The runtime locale can imply a certain default currency, as you note, but "default" does not mean "only". Consider:

<value>123.45</value>

Not right:

en_GB: £123,45
en_US: $123.45
de_DE: €123,45
ja_JP: ¥123

Most commonly the ISO4217 currency code is associated with a value to create a data structure that is specific:

<value>
  <amount>123.45</amount>
  <currency>EUR</currency>
</value>

en_GB: €123,45
en_US: €123.45
de_DE: €123,45
ja_JP: €123.45

Getting the formatting right is a matter of accessing the formatting fucctions of your programming API correctly. Most programming environments provide a way to format a value using separate locale rules (for grouping and decimal separators) and currency.

More information about what you're trying to do would help in recommending a solution.

Best Regards,

Addison

--
Addison P. Phillips
Director, Globalization Architecture
webMethods, Inc.

+1 408.962.5487  mailto:[EMAIL PROTECTED]
-------------------------------------------
Internationalization is an architecture. It is not a feature.

Chair, W3C I18N WG Web Services Task Force
http://www.w3.org/International/ws





Reply via email to