National Language Support Policy on Open32
Open32 utilizes ULS information to large extent because OS/2's country information is too short for WIN95's locale support. For some information in WIN95 locale information which fits OS/2 country information, Open32 retrieves it by calling DOS API, but for much other information, Open32 retrieves it by calling ULS API. For Unicode support, Open32 also utilizes ULS functions. Therefore, ULS is a prerequisite feature for the National Language Support of Open32.
As described above, the language/locale information is a property of a thread but can be treated as a property of a process, because there's no API to change thread's locale on Windows 95. So, Open32 manages locale information per process.
Of course, ULS locale information is not 100% enough for WIN95's locale emulation. Such information is kept as a table in Open32. But utilizing ULS information as much as possible, we can minimize the size of the locale information table prepared inside Open32.