Skip to content

Instantly share code, notes, and snippets.

@kronnect
Last active August 29, 2015 14:21
Show Gist options
  • Save kronnect/b533e6b4f44f965331de to your computer and use it in GitHub Desktop.
Save kronnect/b533e6b4f44f965331de to your computer and use it in GitHub Desktop.
Workaround for getting the local currency symbol in Mono 2.x
/// <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 "€";
}
}
@kronnect
Copy link
Author

Mind that it defaults to $ for English (no £ for UK).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment