Tag: 国际化

使用哪个版本的StringComparer

如果我想要一个不区分大小写的字符串键,那么在给定这些约束的情况下,我应该使用哪个版本的StringComparer: 字典中的键来自C#代码或仅用英语语言环境编写的配置文件(美国或英国) 该软件已国际化,将在不同的区域运行 我通常使用StringComparer.InvariantCultureIgnoreCase但不确定这是否是正确的情况。 这是示例代码: Dictionary stuff = new Dictionary(StringComparer.InvariantCultureIgnoreCase);

最佳实践 – 格式化多种货币

下面列出的场景的最佳做法是什么? 我们有一个应用程序,我们想支持多种货币。 该软件将尊重用户的区域设置和区域设置,以指定正确的数字格式,即$ 10,000.00或10.000,00₴等。 但是,我们希望能够根据货币ID(可能是三字母ISO4217代码)格式化不同的数字。 我们的想法是使用每种货币在数据库中存储一个表,然后请求用户选择将使用的货币符号。 然后,程序将根据区域设置/区域设置格式化所有数字,但将使用我们程序中定义的货币符号。 因此,给出以下价值和货币 10000澳元 5989.34美元 450欧元 该程序将输出 $ 10,000.00 $ 5,989.34 €450.00 或者使用区域设置将数字格式化为#####,## $结果将是; 10000,00 $ 5989,34 $ 450,00€ 尊重区域设置/区域编号格式但显示不同的货币,最佳做法是什么? 我希望这是有道理的。 使用的技术是c#.NET 2.0。

C#中的Slugify和字符音译

我正在尝试将以下slugify方法从PHP转换为C#: http ://snipplr.com/view/22741/slugify-a-string-in-php/ 编辑:为方便起见,这里是上面的代码: /** * Modifies a string to remove al non ASCII characters and spaces. */ static public function slugify($text) { // replace non letter or digits by – $text = preg_replace(‘~[^\\pL\d]+~u’, ‘-‘, $text); // trim $text = trim($text, ‘-‘); // transliterate if (function_exists(‘iconv’)) { $text = iconv(‘utf-8’, ‘us-ascii//TRANSLIT’, $text); } // lowercase […]

如何获取实际(本地化)文件夹名称?

我在c#中编写一个function,我需要列出给定目录中的所有文件/文件夹名称。 该function在EN OS上运行良好,但是当我在本地化操作系统(例如)德语上运行应用程序时,我仍然获得特殊文件夹的英文名称(程序文件而不是程序,collections夹而不是Favoriten等)。 我不认为带有Environment.SpecialFolder的Environment.GetFolderPath可以提供任何帮助,因为它与我想要的完全相反,即它给出了枚举的特殊文件夹的完整路径,而我想要给定的本地化名称路径。 我尝试过使用File,SHFileInfo,但没有用。 任何想法,我怎样才能获得操作系统中显示的文件夹名称?