!XBOARD, (ArgIniType) SCP_NAMES },
{ "themeNames", ArgString, (void *) &appData.themeNames, TRUE, (ArgIniType) "native -upf false -ub false -ubt false -pid \"\"\n" },
{ "engineList", ArgFilename, (void *) &engineListFile, TRUE, (ArgIniType) "" },
+ { "languageDir", ArgFilename, (void *) &appData.languageDir, !XBOARD, (ArgIniType) "" },
{ "addMasterOption", ArgMaster, NULL, FALSE, INVALID },
{ "installEngine", ArgInstall, (void *) &firstChessProgramNames, FALSE, (ArgIniType) "" },
{ "installTheme", ArgInstall, (void *) &appData.themeNames, FALSE, (ArgIniType) "" },
languageBuf[--i] = k;\r
\r
\r
+\r
}\r
i++;\r
}\r
TranslateMenus(int addLanguage)\r
{\r
int i;\r
+ char buf[MSG_SIZ];\r
WIN32_FIND_DATA fileData;\r
HANDLE hFind;\r
#define IDM_English 1970\r
}\r
\r
if(!addLanguage) return;\r
- if((hFind = FindFirstFile("*.LNG", &fileData)) != INVALID_HANDLE_VALUE) {\r
+ snprintf(buf, MSG_SIZ, "%s%s*.LNG", appData.languageDir, *appData.languageDir ? "\\" : "");\r
+ if((hFind = FindFirstFile(buf, &fileData)) != INVALID_HANDLE_VALUE) {\r
HMENU mainMenu = GetMenu(hwndMain);\r
HMENU subMenu = GetSubMenu(mainMenu, GetMenuItemCount(mainMenu)-1);\r
AppendMenu(subMenu, MF_SEPARATOR, (UINT_PTR) 0, NULL);\r
do {\r
char *p, *q = fileData.cFileName;\r
int checkFlag = MF_UNCHECKED;\r
- languageFile[i] = strdup(q);\r
+ snprintf(buf, MSG_SIZ, "%s%s%s", appData.languageDir, *appData.languageDir ? "\\" : "", q);\r
+ languageFile[i] = strdup(buf);\r
if(barbaric && !strcmp(oldLanguage, q)) {\r
checkFlag = MF_CHECKED;\r
lastChecked = IDM_English + i + 1;\r