# xupefei/Locale-Emulator

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/xupefei-locale-emulator).**

11,301 stars · 814 forks · C# · lgpl-3.0 · archived

## Links

- GitHub: https://github.com/xupefei/Locale-Emulator
- Homepage: https://pooi.moe/Locale-Emulator/
- awesome-repositories: https://awesome-repositories.com/repository/xupefei-locale-emulator.md

## Description

Locale-Emulator is an application compatibility layer designed to run software within specific regional and timezone environments. It functions as a regional environment simulator, allowing users to execute programs with custom locale settings to resolve compatibility issues often found in legacy software.

The tool operates by intercepting system calls and redirecting requests for locale-specific information, such as character encoding and regional data. By utilizing a translation layer between Unicode and legacy character sets, it ensures that applications relying on older code pages can render text correctly without requiring modifications to the host system's global configuration.

The software provides a virtualized environment for registry queries and system interactions, enabling the execution of non-Unicode applications on modern operating systems. This capability supports global software localization testing and the maintenance of legacy systems that would otherwise encounter display errors or crashes due to mismatched regional settings.

## Tags

### Operating Systems & Systems Programming

- [Compatibility Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/legacy-system-preservation/compatibility-layers.md) — Acts as an application compatibility layer that intercepts system calls to simulate regional settings for non-Unicode software.
- [Legacy Compatibility Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/display-windowing/tiling-window-managers/legacy-compatibility-layers.md) — Provides infrastructure for running legacy applications within modern environments by simulating specific regional settings. ([source](https://xupefei.github.io/Locale-Emulator/))

### Testing & Quality Assurance

- [Locale and Timezone Emulators](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/browser-ui-interaction/browser-environment-emulation/locale-and-timezone-emulators.md) — Provides a tool for running legacy applications in specific regional environments to resolve character encoding and non-Unicode compatibility issues.

### Software Engineering & Architecture

- [Regional Simulators](https://awesome-repositories.com/f/software-engineering-architecture/deterministic-simulation-environments/regional-simulators.md) — Executes programs with custom locale and timezone configurations to ensure correct display of non-Unicode text.

### DevOps & Infrastructure

- [Legacy Environment Simulators](https://awesome-repositories.com/f/devops-infrastructure/execution-environments/legacy-runtime-simulators/legacy-environment-simulators.md) — Launches programs that rely on legacy code pages by simulating the required environment to prevent crashes or garbled text.

### User Interface & Experience

- [Translation Layers](https://awesome-repositories.com/f/user-interface-experience/character-encoding-support/unicode-version-providers/translation-layers.md) — Maps legacy character encoding requests to modern Unicode standards to ensure proper text rendering in non-Unicode software environments.
- [API Interception Hooks](https://awesome-repositories.com/f/user-interface-experience/font-rasterizers/api-interception-hooks.md) — Hooks core Windows API functions to return spoofed regional data and character encoding information to the executing application.
- [Process Injection Modules](https://awesome-repositories.com/f/user-interface-experience/dynamic-ui-injection/process-injection-modules.md) — Intercepts system calls by injecting dynamic libraries into target processes to redirect locale-specific information requests.

### System Administration & Monitoring

- [Virtualised Registry Overlays](https://awesome-repositories.com/f/system-administration-monitoring/system-registry-managers/virtualised-registry-overlays.md) — Redirects registry queries to a simulated hive to present custom locale settings without modifying the actual system configuration.
