Microsoft AppLocale
Microsoft AppLocale(常简称为Applocale或Apploc)是微软免费提供给Windows用户的工具程序,可以在以Unicode(UTF-16)为基础的Windows中执行非Unicode的应用程式,避免乱码的问题。微软强调,这个工具只是一个暂时性的解决方案,程序开发人员应以正规方式利用Microsoft Layer for Unicode来创建纯正的Unicode应用程式。
在AppLocale推出之前,要在Windows XP等以Unicode为基础的系统平台上模拟执行非Unicode应用程式所需要的语言环境时,会透过“控制台”→“区域和语言选项”→“非Unicode程序的语言”来变更系统语言变量,以将应用程式中非Unicode的文字资料转换成Unicode。但是这个方法在使用上会有限制:
- 只有系统管理员可以变更系统地区设置的值。
- 变更系统地区设置后必须重启系统才能生效。
- 一次只能变更一种系统地区设置。
因此微软设计了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在使用上为人诟病的问题主要有三:
- 造成以Windows Installer封装的安装程序在执行时出现乱码。
- 透过AppLocale执行应用程式时总是会出现提示注意事项的对话窗口。
- 不能在Windows 2000运行。
第一个问题是AppLocale会在“Windows\AppPatch”这个路径下生成一个叫做“AppLoc.tmp”的文件,而这个文件中所记录的消息会影响到Windows Installer。解决方法之一是将AppLoc.tmp的文件内容清空并设为只读。
不过头两个问题已有一个完善的非官方解决方案。网络代号为piaip的程序员林弘德对Microsoft AppLocale做了修改,并命名为“pAppLocale”(也常被称为“piaip AppLocale”)重新发布,免费提供给需要者下载。
注释
- ^ 要规避掉对操作系统的检查而在Windows 2000平台安装或直接从已安装好的电脑复制过来并不困难,但是如此并无法正常运行。
现状
2016年后,AppLocale已不再在微软官方网站提供下载,原因不明。但用户仍可在各种第三方渠道下载并使用。
外部链接
- https://web.archive.org/web/20120624231239/http://www.microsoft.com/zh-cn/download/details.aspx?id=13209 Microsoft AppLocale 实用程序官方下载页(大陆简体)
- pAppLocale下载页 (页面存档备份,存于互联网档案馆)