Index: src/ch/UpdateHeaders.cpp
===================================================================
diff -u -N -r50007f112b77cba170e6c427fee5428bda2d9dc5 -rd0cfddc68b5ec4dc4e9b73b6f87aa97995c7cc54
--- src/ch/UpdateHeaders.cpp	(.../UpdateHeaders.cpp)	(revision 50007f112b77cba170e6c427fee5428bda2d9dc5)
+++ src/ch/UpdateHeaders.cpp	(.../UpdateHeaders.cpp)	(revision d0cfddc68b5ec4dc4e9b73b6f87aa97995c7cc54)
@@ -22,12 +22,13 @@
 #include <boost\lexical_cast.hpp>
 #include <string>
 #include "..\common\version.h"
+#include <boost/algorithm/string.hpp>
 
 UpdateHeaders::UpdateHeaders()
 {
 }
 
-std::wstring UpdateHeaders::GetUserAgent()
+std::wstring UpdateHeaders::GetUserAgent(const std::wstring& wstrLanguagePath, UpdateVersionInfo::EVersionType eUpdateChannel)
 {
 	std::wstring wstrUserAgent(PRODUCT_FULL_VERSION_T);
 	wstrUserAgent += L" (" +
@@ -36,20 +37,17 @@
 		boost::lexical_cast<std::wstring>(PRODUCT_VERSION3) + L"." +
 		boost::lexical_cast<std::wstring>(PRODUCT_VERSION4) + L")";
 
+	wstrUserAgent += L"; " + ParseLanguagePath(wstrLanguagePath);
 	wstrUserAgent += L"; " + m_tWindowsVersion.GetWindowsVersion();
 	wstrUserAgent += L"; " + m_tWindowsVersion.GetCpuArch();
+	wstrUserAgent += L"; " + GetUpdateChannel(eUpdateChannel);
 
 	return wstrUserAgent;
 }
 
 std::wstring UpdateHeaders::GetHeaders(const std::wstring& wstrLanguagePath, UpdateVersionInfo::EVersionType eUpdateChannel)
 {
-	std::wstring wstrLanguage;
-	size_t stPos = wstrLanguagePath.rfind(L'\\');
-	if(stPos != std::wstring::npos)
-		wstrLanguage = wstrLanguagePath.substr(stPos + 1);
-	else
-		wstrLanguage = L"unknown";
+	std::wstring wstrLanguage = ParseLanguagePath(wstrLanguagePath);
 
 	std::wstring wstrHeaders;
 
@@ -80,6 +78,20 @@
 	return wstrHeaders;
 }
 
+std::wstring UpdateHeaders::ParseLanguagePath(const std::wstring &wstrLanguagePath)
+{
+	std::wstring wstrLanguage;
+	size_t stPos = wstrLanguagePath.rfind(L'\\');
+	if(stPos != std::wstring::npos)
+		wstrLanguage = wstrLanguagePath.substr(stPos + 1);
+	else
+		wstrLanguage = L"unknown";
+
+	boost::ireplace_all(wstrLanguage, L".lng", L"");
+
+	return wstrLanguage;
+}
+
 std::wstring UpdateHeaders::GetUpdateChannel(UpdateVersionInfo::EVersionType eUpdateChannel)
 {
 	switch(eUpdateChannel)