diff --git a/README_API_GUIDE.md b/README_API_GUIDE.md
index 773491b33edac889f88073ce3cac5735f5c355f8..b19fd6809e106f91d468b2407b9105a194775e7e 100644
--- a/README_API_GUIDE.md
+++ b/README_API_GUIDE.md
@@ -63,7 +63,7 @@ The [Google Places Search API](https://developers.google.com/places/web-service/
 * **Quota**: 50,0000 requests/day (Windows app), 125,000 requests/year (non-Windows app)
 * **Region**: world
 * **SSL support**: no
-* **Languages**: ?
+* **Languages**: The preferred language of address elements in the result. Language code must be provided according to RFC 4647 standard.
 * **Documentation**: http://msdn.microsoft.com/en-us/library/ff701715.aspx
 * **Terms of Service**: http://www.microsoft.com/maps/product/terms.html
 * **Limitations**: No country codes or state names. Must be used on "public-facing, non-password protected web sites," "in conjunction with Bing Maps or an application that integrates Bing Maps."
diff --git a/lib/geocoder/lookups/bing.rb b/lib/geocoder/lookups/bing.rb
index 53894c2ff498a606a4aafc2e84d7e4a8f0d23fa4..c2d0edcfc236aba73569679669a839e97f8df89a 100644
--- a/lib/geocoder/lookups/bing.rb
+++ b/lib/geocoder/lookups/bing.rb
@@ -53,7 +53,8 @@ module Geocoder::Lookup
 
     def query_url_params(query)
       {
-        key: configuration.api_key
+        key: configuration.api_key,
+        language: (query.language || configuration.language)
       }.merge(super)
     end
 
diff --git a/lib/geocoder/lookups/here.rb b/lib/geocoder/lookups/here.rb
index f99eaee81a62596169cb16ad055ab6a894e57e46..420c6e34c752efffc62e37493ab40bb9a66e27f0 100644
--- a/lib/geocoder/lookups/here.rb
+++ b/lib/geocoder/lookups/here.rb
@@ -30,19 +30,20 @@ module Geocoder::Lookup
 
     def query_url_params(query)
       options = {
-        :gen=>4,
-        :app_id=>api_key,
-        :app_code=>api_code
+        gen: 4,
+        app_id: api_key,
+        app_code: api_code,
+        language: (query.language || configuration.language)
       }
 
       if query.reverse_geocode?
         super.merge(options).merge(
-          :prox=>query.sanitized_text,
-          :mode=>:retrieveAddresses
+          prox: query.sanitized_text,
+          mode: :retrieveAddresses
         )
       else
         super.merge(options).merge(
-          :searchtext=>query.sanitized_text
+          searchtext: query.sanitized_text
         )
       end
     end
diff --git a/test/unit/lookup_test.rb b/test/unit/lookup_test.rb
index e98f883cbfc7afa18f32404a11954b9f978e6bfb..d2ba813a0e6158aedc1b6597b541982b600ceeb7 100644
--- a/test/unit/lookup_test.rb
+++ b/test/unit/lookup_test.rb
@@ -56,8 +56,10 @@ class LookupTest < GeocoderTestCase
   end
 
   {
+    :bing => :language,
     :google => :language,
     :google_premier => :language,
+    :here => :language,
     :nominatim => :"accept-language",
     :yandex => :plng
   }.each do |l,p|