跳转到内容

Microsoft AppLocale

本页使用了标题或全文手工转换
维基百科,自由的百科全书
Microsoft AppLocale运行于Windows 7

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

在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已不再在微软官方网站提供下载,原因不明。但用户仍可在各种第三方渠道下载并使用。

外部链接