Last active
August 29, 2015 14:21
-
-
Save kronnect/b533e6b4f44f965331de to your computer and use it in GitHub Desktop.
Workaround for getting the local currency symbol in Mono 2.x
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// <summary> | |
/// Gets the local currency symbol based on system language. Due to a bug in Mono 2.x, string.Format("c") will not recognize regional currency info and defaults to EN-US ($). | |
/// Contact: [email protected] | |
/// </summary> | |
/// <seealso href="http://www.xe.com/symbols.php"/> | |
/// <permission href="https://creativecommons.org/licenses/by/2.0/" /> | |
/// <returns>The local currency symbol.</returns> | |
public static string GetLocalCurrencySymbol() { | |
Hashtable symbols = new Hashtable(); | |
symbols[SystemLanguage.Afrikaans] = "R"; | |
symbols[SystemLanguage.Arabic] = "د.إ."; | |
symbols[SystemLanguage.Chinese] = "¥"; | |
symbols[SystemLanguage.ChineseSimplified] = "¥"; | |
symbols[SystemLanguage.ChineseTraditional] = "¥"; | |
symbols[SystemLanguage.English] = "$"; | |
symbols[SystemLanguage.Faroese] = "kr"; | |
symbols[SystemLanguage.Hebrew] = "₪"; | |
symbols[SystemLanguage.Icelandic] = "kr"; | |
symbols[SystemLanguage.Indonesian] = "Rp"; | |
symbols[SystemLanguage.Japanese] = "¥"; | |
symbols[SystemLanguage.Korean] = "₩"; | |
symbols[SystemLanguage.Latvian] = "Ls"; | |
symbols[SystemLanguage.Lithuanian] = "Lt"; | |
symbols[SystemLanguage.Norwegian] = "kr"; | |
symbols[SystemLanguage.Polish] = "zł"; | |
symbols[SystemLanguage.Romanian] = "lei"; | |
symbols[SystemLanguage.Russian] = "руб"; | |
symbols[SystemLanguage.SerboCroatian] = "Дин."; | |
symbols[SystemLanguage.Slovak] = "Sk"; | |
symbols[SystemLanguage.Slovenian] = "SlT"; | |
symbols[SystemLanguage.Swedish] = "kr"; | |
symbols[SystemLanguage.Thai] = "฿"; | |
symbols[SystemLanguage.Turkish] = "₤"; | |
symbols[SystemLanguage.Ukrainian] = "₴"; | |
symbols[SystemLanguage.Vietnamese] = "₫"; | |
symbols[SystemLanguage.Unknown] = ""; | |
SystemLanguage currentLanguage = Application.systemLanguage; | |
if (symbols.ContainsKey(currentLanguage)) { | |
return (string)symbols[currentLanguage]; | |
} else { | |
return "€"; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Mind that it defaults to $ for English (no £ for UK).