patcher.diff

thindil, 03/14/2011 05:41 pm

Download (1.4 kB)

b/code/ryzom/tools/client/client_patcher/main.cpp Mon Mar 14 12:09:03 2011 +0100
183 183
	// check if console supports utf-8
184 184
	std::string lang = toLower(std::string(setlocale(LC_CTYPE, "")));
185 185
	useUtf8 = (lang.find("utf8") != string::npos || lang.find("utf-8") != string::npos);
186
	lang = lang.substr(0, 2);
186
	// get language code (often it comes with country code too)
187
	lang = lang.substr(0, lang.find('.'));
188
	std::string country = "";
189
	if (lang.find('_') != string::npos)
190
	{
191
		country = lang.substr(lang.find('_') + 1);
192
		lang = lang.substr(0, lang.find('_'));
193
	}
187 194

188 195
	// check if console supports colors
189 196
	std::string term = toLower(std::string(getenv("TERM") ? getenv("TERM"):""));
......
263 270
#ifdef RYZOM_SHARE_PREFIX
264 271
		CPath::addSearchPath(RYZOM_SHARE_PREFIX"/patcher", true, false);
265 272
#endif
273
		// first try find translation with country code (if we have country code)
274
		if ((!country.empty()) && (CPath::exists(lang + "_" + country + ".uxt")))
275
		{
276
			lang = lang + "_" + country + ".uxt";
277
		}
278
		// if translation file still not found, use English translation as a default
279
		if (!CPath::exists(lang + ".uxt"))
280
		{
281
			lang = "en";
282
		}
266 283
	}
267 284

268 285
 	// load translation