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

зависимости: flutter: sdk: flutter flutter_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