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

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.