Flutter google неправильно размещает язык, кроме предложений

Я использую пакет Google Places. Когда я ищу местоположение, результаты отображаются на моем языке телефона по умолчанию (испанском). Когда я нажимаю на местоположение, название местоположения отображается в текстовом поле, но всегда на английском языке. Как я могу изменить язык?

Что я сделал

Prediction p = await PlacesAutocomplete.show(
                    context: context,
                    apiKey: "MY_API_KEY",
                    mode: Mode.overlay, // Mode.fullscreen
                    language: "es",
                    components: [new Component(Component.country, "es")]);
                displayPrediction(p);

Future<Null> displayPrediction(Prediction p) async {
    if (p != null) {
      // get detail (lat/lng)
      PlacesDetailsResponse detail =
          await _places.getDetailsByPlaceId(p.placeId);
      final lat = detail.result.geometry.location.lat;
      final lng = detail.result.geometry.location.lng;
      final locationName = detail.result.name;
      if (detail == null) {
        name = "";
        latitude = 0.0;
        longitude = 0.0;
      } else {
        name = locationName;
        latitude = lat;
        longitude = lng;
        searchLocationController.text = locationName;
        getLocation(lat, lng);
        print(locationName);
        print(lat);
        print(lng);
        FocusScope.of(context).requestFocus(FocusNode()); //Dismisses KEyboard
        //Camera position on new target
        mapController.animateCamera(CameraUpdate.newCameraPosition(
          CameraPosition(
            target: LatLng(
              lat,
              lng,
            ),
            zoom: 15,
          ),
        ));
      }
    }
  }

печать locationName всегда на английском языке


person Juju    schedule 15.01.2020    source источник
comment
Я удалил ваш ключ API из вашего вопроса. Не публикуйте закрытые ключи API на общедоступных сайтах и ​​убедитесь, что вы ограничиваете их использование в соответствии с developers.google.com/maps/   -  person evan    schedule 17.01.2020


Ответы (1)


https://pub.dev/packages/flutter_google_places

pubspec.yaml

зависимости: флаттер: sdk: флаттер флаттер_google_places:

const kGoogleApiKey = "API_KEY";

Prediction p = await PlacesAutocomplete.show(
                          context: context,
                          apiKey: kGoogleApiKey,
                          mode: Mode.overlay, // Mode.fullscreen
                          language: "es",
                          components: [new Component(Component.country, "es")]);
//to localize the result language apply below code to widget/component

import 'package:flutter_localizations/flutter_localizations.dart';

MaterialApp(
 localizationsDelegates: [
   // ... app-specific localization delegate[s] here
   GlobalMaterialLocalizations.delegate,
   GlobalWidgetsLocalizations.delegate,
 ],
 supportedLocales: [
    const Locale('es'), // Spanish
    // ... other locales the app supports
  ],
  // ...
)
person oetzi    schedule 15.01.2020
comment
вы должны использовать LocalizationDelegate: flutter.dev/docs/development/accessibility-and-localization / - person oetzi; 15.01.2020
comment
Через некоторое время я просто реализовал локализацию с помощью intl. Не помогло, есть еще идеи? - person Juju; 03.02.2020