diff --git a/modules/services/taginfo.js b/modules/services/taginfo.js index 524f833d3..7ab7834f3 100644 --- a/modules/services/taginfo.js +++ b/modules/services/taginfo.js @@ -6,6 +6,7 @@ import _omit from 'lodash-es/omit'; import { json as d3_json } from 'd3-request'; import { utilQsString } from '../util'; +import { currentLocale } from '../util/locale'; var apibase = 'https://taginfo.openstreetmap.org/api/4/', @@ -189,7 +190,7 @@ export default { // Fetch popular keys. We'll exclude these from `values` // lookups because they stress taginfo, and they aren't likely // to yield meaningful autocomplete results.. see #3955 - var params = { rp: 100, sortname: 'values_all', sortorder: 'desc', page: 1, debounce: false }; + var params = { rp: 100, sortname: 'values_all', sortorder: 'desc', page: 1, debounce: false, lang: currentLocale }; this.keys(params, function(err, data) { if (err) return; data.forEach(function(d) { @@ -209,7 +210,7 @@ export default { keys: function(params, callback) { var doRequest = params.debounce ? debouncedRequest : request; params = clean(setSort(params)); - params = _extend({ rp: 10, sortname: 'count_all', sortorder: 'desc', page: 1 }, params); + params = _extend({ rp: 10, sortname: 'count_all', sortorder: 'desc', page: 1, lang: currentLocale }, params); var url = apibase + 'keys/all?' + utilQsString(params); doRequest(url, params, false, callback, function(err, d) { @@ -228,7 +229,7 @@ export default { multikeys: function(params, callback) { var doRequest = params.debounce ? debouncedRequest : request; params = clean(setSort(params)); - params = _extend({ rp: 25, sortname: 'count_all', sortorder: 'desc', page: 1 }, params); + params = _extend({ rp: 25, sortname: 'count_all', sortorder: 'desc', page: 1, lang: currentLocale }, params); var prefix = params.query; var url = apibase + 'keys/all?' + utilQsString(params); @@ -255,7 +256,7 @@ export default { var doRequest = params.debounce ? debouncedRequest : request; params = clean(setSort(setFilter(params))); - params = _extend({ rp: 25, sortname: 'count_all', sortorder: 'desc', page: 1 }, params); + params = _extend({ rp: 25, sortname: 'count_all', sortorder: 'desc', page: 1, lang: currentLocale }, params); var url = apibase + 'key/values?' + utilQsString(params); doRequest(url, params, false, callback, function(err, d) { @@ -282,7 +283,7 @@ export default { var doRequest = params.debounce ? debouncedRequest : request; var geometry = params.geometry; params = clean(setSortMembers(params)); - params = _extend({ rp: 25, sortname: 'count_all_members', sortorder: 'desc', page: 1 }, params); + params = _extend({ rp: 25, sortname: 'count_all_members', sortorder: 'desc', page: 1, lang: currentLocale }, params); var url = apibase + 'relation/roles?' + utilQsString(params); doRequest(url, params, true, callback, function(err, d) { diff --git a/test/spec/services/taginfo.js b/test/spec/services/taginfo.js index 266fdf754..6f310e3bc 100644 --- a/test/spec/services/taginfo.js +++ b/test/spec/services/taginfo.js @@ -46,7 +46,7 @@ describe('iD.serviceTaginfo', function() { server.respond(); expect(query(server.requests[0].url)).to.eql( - {query: 'amen', page: '1', rp: '10', sortname: 'count_all', sortorder: 'desc'} + {query: 'amen', page: '1', rp: '10', sortname: 'count_all', sortorder: 'desc', lang: 'en'} ); expect(callback).to.have.been.calledWith( null, [{'title':'amenity', 'value':'amenity'}] @@ -131,7 +131,7 @@ describe('iD.serviceTaginfo', function() { server.respond(); expect(query(server.requests[0].url)).to.eql( - {query: 'recycling:', page: '1', rp: '25', sortname: 'count_all', sortorder: 'desc'} + {query: 'recycling:', page: '1', rp: '25', sortname: 'count_all', sortorder: 'desc', lang: 'en'} ); expect(callback).to.have.been.calledWith( null, [{'title':'recycling:glass', 'value':'recycling:glass'}] @@ -183,7 +183,7 @@ describe('iD.serviceTaginfo', function() { server.respond(); expect(query(server.requests[0].url)).to.eql( - {key: 'amenity', query: 'par', page: '1', rp: '25', sortname: 'count_all', sortorder: 'desc'} + {key: 'amenity', query: 'par', page: '1', rp: '25', sortname: 'count_all', sortorder: 'desc', lang: 'en'} ); expect(callback).to.have.been.calledWith( null, [{'value':'parking','title':'A place for parking cars'}] @@ -321,7 +321,7 @@ describe('iD.serviceTaginfo', function() { server.respond(); expect(query(server.requests[0].url)).to.eql( - {rtype: 'route', query: 's', page: '1', rp: '25', sortname: 'count_relation_members', sortorder: 'desc'} + {rtype: 'route', query: 's', page: '1', rp: '25', sortname: 'count_relation_members', sortorder: 'desc', lang: 'en'} ); expect(callback).to.have.been.calledWith(null, [ {'value': 'stop', 'title': 'stop'},