我老是在想:为什么Microsoft公司的软件产品安装目录下,经常会看到一些数字命名的文件夹呢,例如”1033″这样的。它具体代表什么意思呢?
我想,这位读者很有可能来自美国,因为1033是”英语(美国)”的语言标识,它本身是10机制,转为对应的16进制是0x0409。所以,你可能还会看到一些以0404命名的文件夹。有一些应用程序使用16进制格式的代码,另一些则使用10进制的格式。如果你想查看一个完整的语言标识列表,可以移步MSDN文档,里面详细列出了所有可用的语言标识,包括对应的16进制值和10进制值。
一个语言标识的组成格式为:主语言ID + 1024 * 次语言ID。举个例子,瑞士德语的语言标识为:LANG_GERMAN + 1024 * SUBLANG_GERMAN_SWISS = 7 + 1024 * 2 = 2055。那么,为什么一些应用程序会在语言编码后面创建一个文件夹呢?许多Microsoft公司从产品会支持多语言用户界面。这意味着,相同的应用程序可以展示多个语言的用户界面。比如,Office和Windows就是这些应用程序中最大的两个例子。语言相关的资源需要被划分到其对应的文件夹中,这样它们才不会互相冲突。
为了好玩,我还特地在我工作的电脑上安装了瑞典语言包,这样一来,所有的字符串,包括那些错误字符串,都变成了瑞典语。
虽然,目前我做的还是一个小玩具,但是通过将不同的语言字符串保存在资源中,也基本实现了对中英文用户界面的支持,也算是一个小成就吧。
Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。本文来自:《What are these directories called 0409 and 1033?》