| MetMedic eMule cleanup eMule Light
|
Cleanup patch 2 - dynamically loaded languages[Patch date 2003-06-05 19:30]
For this end, I created a subdirectory, "lang", under emule source directory. Another logical place for this directory could be beside emule source directory, as stringtables are rarely changed by modders, so they really don't need to distribute the language library with the source code package. In the new language directory, I placed all stringtable projects and resources, as well as language library project. To emule solution I added the language library project only - otherwise it'd be cluttered by a very large number of projects and resource files. Also, that's the only language project that produces external code emule project depends on - the language library itself. This dependency was brought to solution dependencies. It's adviced that you first build the language solution, thus producing all language dll's, and then build emule solution. You only need to build the language solution once if you don't change it, and can copy the directory as is, with all compiled files to under another emule solution if you so wish. eMule solution will build release and debug versions of the language library as needed. Now that all stringtable resources have been moved, of course the string identifiers
had to be removed from Changes in code were pretty straightforward: In emule.h, added include, a new member In emule.cpp, added initialization of In In Preferences.cpp, removed implementation of method In In In In After that, global search and replace There is absolutely no point in providing a changed files package or a patch, as that global search & replace touched nearly all files anyway. I did have trouble with Galician (gl_ES), with the language showing as "Greek" in language selection. As VS documentation notes this locale as "Windows XP", I guess it's not and won't be supported in Win2k or any other Windows version before XP. Adding a runtime check for OS version might be a good idea. |