【发布时间】:2012-08-27 16:24:27
【问题描述】:
在网站上搜索后,我发布了这个问题。我知道默认情况下程序集是“文化中立的”这一事实,并且可以创建具有文化特定信息的只有资源(没有代码)的附属程序集,并将它们放在与文化名称相同的文件夹中(即 en-us) .但问题是,什么是文化?一些具体的现实例子会有所帮助。
【问题讨论】:
标签: .net-assembly culture satellite
在网站上搜索后,我发布了这个问题。我知道默认情况下程序集是“文化中立的”这一事实,并且可以创建具有文化特定信息的只有资源(没有代码)的附属程序集,并将它们放在与文化名称相同的文件夹中(即 en-us) .但问题是,什么是文化?一些具体的现实例子会有所帮助。
【问题讨论】:
标签: .net-assembly culture satellite
根据 MSDN,这包括诸如 the names for the culture, the writing system, the calendar used, and formatting for dates and sort strings 之类的内容。
对于翻译来说,最重要的方面是语言和方言的结合。这是一个很好的list of examples。
例如,考虑英国英语 (en-GB) 与美国英语 (en-US) 与加拿大英语 (en-CA) 与澳大利亚英语 (en-AU) 与至少十种其他英语方言存在(我不骗你/请参阅我链接的列表)。然后,比较和对比他们说俄语(ru-RU)。除了语言上的差异外,基数指示符、数字分组、日期(MDY vs DMY)等也有不同的符号......
【讨论】:
很多东西 dd/mm/yyyy 而不是 mm/dd/yyy
1.500,00 欧元而不是 1,500.00 美元
这是从左到右或从右到左的排序顺序。
基本上,文化是抽象所有这些真正令人恼火的问题的方式,所以你只剩下我们必须处理的两个主要问题
使用已安装的文化,而不必知道它是什么
例如DateTime.Now.ToString("d");
无论如何都要使用这种特定的文化。
DateTime.Now.ToString("d",_currentUser.Culture);
.net 最有价值的部分之一。曾经是一场彻头彻尾的噩梦。
【讨论】: