(no title)
emergie | 5 years ago
['en-US','en-IE','en-GB','en-ZA','en-AU','de-DE','es-ES','nl-NL','pl-PL','ru-RU','cs-CZ','sv-SE','fi-FI','lv-LV']
.forEach(lang => console.log(lang + ': ' + new Number('1.23').toLocaleString(lang)))
en-US: 1.23
en-IE: 1.23
en-GB: 1.23
en-ZA: 1,23
en-AU: 1.23
de-DE: 1,23
es-ES: 1,23
nl-NL: 1,23
pl-PL: 1,23
ru-RU: 1,23
cs-CZ: 1,23
sv-SE: 1,23
fi-FI: 1,23
lv-LV: 1,23
sequoia|5 years ago
My goal isn't to be prescriptive, it's to reduce the likelihood confusion on the part of the reader. Writing in English then formatting numbers in a continental style is more confusing than writing in English and formatting numbers in the English style (obscure English locales with relatively minuscule numbers of users notwithstanding).
I've lived in Germany so it was easy for me to understand that €4,00 probably meant €4.00 given the context, but if I were unfamiliar with this style of formatting (as many American's may be), I might reasonably assume that the error was not a comma where there should be a dot, but a missing 0, making the cost €4,000/mo.
If it's your view that writing in English & formatting numbers non-English is more clear than matching the formatting to the language, I'm very interested in hearing that argument.
EDIT: I understand what you mean better now, you're figuring "Price in Euro = European target market." I didn't get that–I assumed the vendor is open to markets worldwide and charges in Euros because that's the vendor's home currency.