Locale Emulator 使用教程不改系统区域给单个软件开日文环境【免费下载链接】Locale-EmulatorYet Another System Region and Language Simulator项目地址: https://gitcode.com/gh_mirrors/lo/Locale-EmulatorLocale Emulator 是一个 Windows 系统区域与语言模拟器System Region and Language Simulator它让指定的 32 位程序以日文、韩文、繁体中文等区域环境运行而你的系统设置一个字节都不用动。玩日文游戏、测多语言兼容性、或者要同时开两个不同语言环境的软件用得上。从克隆到第一次右键运行4 步走通获取与构建git clone https://gitcode.com/gh_mirrors/lo/Locale-Emulator用 Visual Studio2015/2017打开仓库根目录的LocaleEmulator.sln执行 Build。构建不会一步到位核心库LoaderDll.dll和LocaleEmulator.dll来自另一个仓库 Locale-Emulator-Core需要单独构建后把这两个 dll 拷进本项目的输出目录README 的 Build 一节有完整说明。注册右键菜单以管理员身份运行构建产物里的LEInstaller.exe。它会调用 LEInstaller/ShellExtensionManager.cs 把扩展写进注册表Software\Classes\*\shellex\ContextMenuHandlers完成后重启资源管理器或注销一次。创建第一个配置运行LEGUI.exe主窗口提供 Location区域、Timezone时区、RedirectRegistry注册表重定向、IsAdvancedRedirection高级重定向、RunAsAdmin 等勾选项。保存后配置以 XML 形式写入程序目录的LEConfig.xml之后你改了文件右键菜单的列表会直接跟着变。首次运行时该文件会自动生成预置两个日文 ProfileRun in Japanese和Run in Japanese (Admin)。第一次运行对着任意 32 位 exe 右键菜单里会多出几项图标颜色就是命令类型紫色按你保存的 Profile 运行-runas Guid 程序路径黄色用默认配置直接跑-run 程序路径灰色管理当前程序的独立配置生成一份程序.exe.le.config放在 exe 旁边蓝色打开全局配置管理器-global选紫色项点一下程序就带着目标语言的代码页和区域 ID 启动了。亮点都藏在右键菜单和并行运行里图标颜色不是装饰是快捷入口。给游戏建一个 ja-JP 配置、给财务软件建一个 ko-KR 配置两边可以各开一个窗口同时跑每个进程拿到的是自己那份 LCID 和代码页互不串门。以前想切换语言得改系统区域再注销现在就是右键两下。命令行党直接用 LEProc/Program.cs 里的 LEProc.exe四种用法-run 路径、-runas Guid 路径、-manage 路径、-global。不带参数直接运行会弹用法说明框按 CtrlC 就能把整段说明复制到剪贴板。原理速览它到底改了哪些东西从 Profile 读出 Location换算成 ANSI/OEM 代码页、LCID、默认字符集ja-JP 对应 932/Shift-JIS/0x411。把这些参数和注册表重定向条目拼成一个二进制数据块LEProc/LoaderWrapper.cs。调 LoaderDll 的LeCreateProcess创建目标进程数据块随进程注入。进程内部拦截取区域信息的 API 和注册表读操作返回目标语言的值系统注册表本身不动。默认重定向 4 个 HKLM 代码页键高级模式再拦 4 个 HKCU UI 语言键LEProc/RegistryEntriesLoader.cs。注意只对 32 位程序生效64 位 exe 会被明确拒绝。避坑指南3 个高频报错的解法右键菜单不出现现象对着 exe 右键没有 Locale Emulator 菜单。原因多半是 64 位程序。LEContextMenuHandler/FileContextMenuExt.cs 里PEFileReader.GetPEType判断到 X64 直接返回失败这是设计如此不是安装坏了。解法换该软件的 32 位版本如果是安装问题重新以管理员运行 LEInstaller 并注销。提示 Some of the core Dlls are missing现象点击运行后弹错说 LoaderDll.dll 或 LocaleEmulator.dll 缺失。原因杀毒软件把这两个 dll 隔离了LEProc 启动时会检查见 LEProc/Program.cs。解法把这两个 dll 加进杀软白名单恢复被隔离的文件后重新安装。程序能跑但个别文字还是乱码现象主界面正常某些弹窗或字体仍显示方块。原因系统里没装对应语言的字体或程序读的是 UI 语言缓存键。解法安装目标语言字体包在配置里勾上高级重定向IsAdvancedRedirection多拦截 4 个 HKCU 键。项目地图6 个模块各管什么模块职责LEGUI/WPF 图形界面管理全局与单应用配置翻译在LEGUI/Lang/24 种语言LEProc/命令行入口与执行核心含注册表重定向器LEContextMenuHandler/右键菜单 Shell 扩展翻译在LEContextMenuHandler/Lang/LEInstaller/注册/注销 Shell 扩展LEUpdater/后台自动更新LECommonLibrary/共享库LEConfig 读写、Profile 结构、PE 类型识别想参与的话最快的入口是翻译改LEGUI/Lang/DefaultLanguage.xaml或LEContextMenuHandler/Lang/DefaultLanguage.xml译成新语言后提 pull request。下一步先把上面 4 步走完对着一个日文程序的 32 位 exe 右键一次看看紫图标下你的第一个 Profile。【免费下载链接】Locale-EmulatorYet Another System Region and Language Simulator项目地址: https://gitcode.com/gh_mirrors/lo/Locale-Emulator创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考