Kuidas lisada Flutter rakendusse lokaliseerimine?
sobes.tech AI
Vastus AI-lt
-
Lisanduste sõltuvused:
Failis
pubspec.yamltuleb lisada lokaliseerimise sõltuvused:dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter intl: ^0.18.0 # Näidaversioon, võib erinedaSeejärel käivitage
flutter pub get. -
Lokaliseerimisdokumentide loomine:
Looge ressurside jaoks kaustad, näiteks
./lib/l10n/. Sees looge.arbfailid iga toetatud keele jaoks. Näiteks inglise ja vene keele jaoks:app_en.arb:{ "helloWorld": "Hello World!", "@@locale": "en" }app_ru.arb:{ "helloWorld": "Привет мир!", "@@locale": "ru" } -
Koodi generatsiooni seadistamine:
Failis
pubspec.yamlmäärake tee lokaliseerimisfailidele ja seadistage.arbgeneratsioon:flutter: generate: true # Lülita sisse generatsioon assets: - assets/... # Teie muud ressursid l10n: arb-dir: lib/l10n # Kaust `.arb` failide jaoks template-arb-file: app_en.arb # Mall `.arb` fail output-localization-file: app_localizations.dart # Genereeritud faili nimiPärast
pubspec.yamlsalvestamist Flutter automaatselt genereerib faili./lib/generated/l10n.dart(või vastavaltoutput-localization-file). -
Lokaliseeritud stringide kasutamine:
Rakenduses, kus on vaja kasutada lokaliseeritud stringe, importige genereeritud fail:
import 'package:flutter_gen/gen_l10n/app_localizations.dart';Seejärel pääsege ligi lokaliseeritud stringile
AppLocalizations.of(context)!kaudu:Text(AppLocalizations.of(context)!.helloWorld), -
MaterialAppvõiCupertinoAppseadistamine:Kõrgema taseme vidjetis (tavaliselt
MaterialAppvõiCupertinoApp) määrake toetatud keeled ja lokaliseerimise delegaadid:import 'package:flutter_gen/gen_l10n/app_localizations.dart'; MaterialApp( // ... muud seaded localizationsDelegates: const [ AppLocalizations.delegate, // Genereeritud failist GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, ], supportedLocales: const [ Locale('en', ''), // Inglise Locale('ru', ''), // Vene // ... teised toetatud keeled ], // ... );
Nüüd valib rakendus automaatselt lokaliseerimise vastavalt kasutaja seadistustele, kui see on supportedLocales-s olemas. Manuaalseks muutmiseks kasutage Locale ja värskendage rakenduse olekut.