Używam Google Place API do automatycznego uzupełniania nazw miast wpisywanych przez użytkowników (strona internetowa). Interfejs API jest ładowany, przekazując język (pt-BR) jako parametr, a pole tekstowe jest poprawnie wypełniane po portugalsku, ale po wykonaniu metody getPlace() zwraca wyniki (kraj i poziom_administracyjny_1) w języku angielskim.Google Place API w języku portugalskim
Nie jestem pewien, czy problemem jest Google API, ich tłumaczenie na portugalski lub coś, co przegapiłem. Próbowałem załadować go przechodząc przez hiszpański (es), angielski (en) i włoski (it) jako parametr języka i działa zgodnie z oczekiwaniami.
Oto jak wczytuję:
<script src="https://maps.googleapis.com/maps/api/js?key=[myapikey]&signed_in=true&libraries=places&callback=initAutocomplete&language=pt-BR" async defer></script>
... i jak ja dostaję wyniki na podstawie kodu Sample Google:
// Get the place details from the autocomplete object.
var place = autocomplete.getPlace();
Używam również odwrotnego geokodowania API przekazanie identyfikatora place_id i problemu jest taki sam (kod C#).
var apikey = "[myserverapikey]";
var requestUri = string.Format("https://maps.googleapis.com/maps/api/geocode/json?place_id={0}&key={1}", place_id, apikey);
var idiomas = new string[] {"pt-BR", "es", "en-us", "it"};
string responseContent = string.Empty;
foreach (var idioma in idiomas)
{
HttpWebRequest request = WebRequest.Create(requestUri) as HttpWebRequest;
request.Headers.Add(HttpRequestHeader.AcceptLanguage, idioma);
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
StreamReader reader = new StreamReader(response.GetResponseStream());
var jsontext = reader.ReadToEnd().Trim();
responseContent += jsontext;
var json = JsonConvert.DeserializeObject<GoogleGeoCodeResponse>(jsontext);
}
return Json(responseContent, JsonRequestBehavior.AllowGet);
Sprawdziłem dokumentację i PT-BR rozwiązywane są: Google API Supported Languages
Duplikat adresu http://stackoverflow.com/questions/27567757/inconsistent-language-in-google-place-details-api – aergistal
Połączona odpowiedź mówi, że występuje ona, gdy tłumaczenie jest niedostępne, ale nie jest to moja sprawa, ponieważ pole tekstowe jest poprawnie wypełniane w pt-BR. To dziwne, ale możliwe, w zależności od struktury danych Google. –