mshtml: Added IOmNavigator::get_*Language implementations.
diff --git a/dlls/mshtml/omnavigator.c b/dlls/mshtml/omnavigator.c
index b4b5c15..73e55dd 100644
--- a/dlls/mshtml/omnavigator.c
+++ b/dlls/mshtml/omnavigator.c
@@ -621,25 +621,57 @@
     return *p ? S_OK : E_OUTOFMEMORY;
 }
 
+static HRESULT get_language_string(LCID lcid, BSTR *p)
+{
+    BSTR ret;
+    int len;
+
+    len = LCIDToLocaleName(lcid, NULL, 0, 0);
+    if(!len) {
+        WARN("LCIDToLocaleName failed: %u\n", GetLastError());
+        return E_FAIL;
+    }
+
+    ret = SysAllocStringLen(NULL, len-1);
+    if(!ret)
+        return E_OUTOFMEMORY;
+
+    len = LCIDToLocaleName(lcid, ret, len, 0);
+    if(!len) {
+        WARN("LCIDToLocaleName failed: %u\n", GetLastError());
+        SysFreeString(ret);
+        return E_FAIL;
+    }
+
+    *p = ret;
+    return S_OK;
+}
+
 static HRESULT WINAPI OmNavigator_get_systemLanguage(IOmNavigator *iface, BSTR *p)
 {
     OmNavigator *This = impl_from_IOmNavigator(iface);
-    FIXME("(%p)->(%p)\n", This, p);
-    return E_NOTIMPL;
+
+    TRACE("(%p)->(%p)\n", This, p);
+
+    return get_language_string(LOCALE_SYSTEM_DEFAULT, p);
 }
 
 static HRESULT WINAPI OmNavigator_get_browserLanguage(IOmNavigator *iface, BSTR *p)
 {
     OmNavigator *This = impl_from_IOmNavigator(iface);
-    FIXME("(%p)->(%p)\n", This, p);
-    return E_NOTIMPL;
+
+    TRACE("(%p)->(%p)\n", This, p);
+
+    return get_language_string(GetUserDefaultUILanguage(), p);
 }
 
 static HRESULT WINAPI OmNavigator_get_userLanguage(IOmNavigator *iface, BSTR *p)
 {
     OmNavigator *This = impl_from_IOmNavigator(iface);
-    FIXME("(%p)->(%p)\n", This, p);
-    return E_NOTIMPL;
+
+    TRACE("(%p)->(%p)\n", This, p);
+
+    return get_language_string(LOCALE_USER_DEFAULT, p);
 }
 
 static HRESULT WINAPI OmNavigator_get_platform(IOmNavigator *iface, BSTR *p)