Microsoft AppLocale

Microsoft AppLocale(常简称为ApplocaleApploc)是微软免费提供给Windows使用者的工具程式,可以在以UnicodeUTF-16)为基础的Windows中执行非Unicode的应用程式,避免乱码的问题。微软强调,这个工具只是一个暂时性的解决方案,程式开发人员应以正规方式利用Microsoft Layer for Unicode来建立纯正的Unicode应用程式。

Microsoft AppLocale运行于Windows 7

在AppLocale推出之前,要在Windows XP等以Unicode为基础的系统平台上模拟执行非Unicode应用程式所需要的语言环境时,会透过“控制台”→“地区及语言选项”→“非Unicode程式的语言”来变更系统语言变数,以将应用程式中非Unicode的文字资料转换成Unicode。但是这个方法在使用上会有限制:

  1. 只有系统管理员可以变更系统地区设定的值。
  2. 变更系统地区设定后必须重新启动系统才能生效。
  3. 一次只能变更一种系统地区设定。

因此微软设计了AppLocale这个工具程式来模拟对应的系统地区设定,以便在各种字码页与Unicode之间进行转换。

AppLocale的设计是以Windows XP中所引进的最新应用程式相容性技术为基础,因此AppLocale只能安装在Windows XP及之后的作业系统上,例如Windows Server 2003。而Windows 9x系列因为非Unicode基础的先天设计限制,所以注定不可能使用AppLocale。不过Windows XP前一版的Windows 2000因为也是以Unicode为基础的系统平台,所以据说有骇客透过一些高明的技巧成功地让AppLocale在Windows 2000上运行[1]

缺失与不便

AppLocale在使用上为人诟病的问题主要有三:

  1. 造成以Windows Installer封装的安装程式在执行时出现乱码
  2. 透过AppLocale执行应用程式时总是会出现提示注意事项的对话视窗。
  3. 不能在Windows 2000运行。

第一个问题是AppLocale会在“Windows\AppPatch”这个路径下生成一个叫做“AppLoc.tmp”的档案,而这个档案中所记录的讯息会影响到Windows Installer。解决方法之一是将AppLoc.tmp的档案内容清空并设为唯读

不过头两个问题已有一个完善的非官方解决方案。网路代号为piaip的程式设计师林弘德对Microsoft AppLocale做了修改,并命名为“pAppLocale”(也常被称为“piaip AppLocale”)重新发布,免费提供给需要者下载。

注释

  1. ^ 要规避掉对作业系统的检查而在Windows 2000平台安装或直接从已安装好的电脑复制过来并不困难,但是如此并无法正常运行。

现状

2016年后,AppLocale已不再在微软官方网站提供下载,原因不明。但用户仍可在各种第三方渠道下载并使用。

外部链接