Kā pievienot lokalizāciju Flutter lietotnei?
sobes.tech AI
Atbilde no AI
-
Pievienot atkarības:
Failā
pubspec.yamljāpieņem atkarības lokalizācijai:dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter intl: ^0.18.0 # Piemēra versija, var atšķirtiesTad izpildiet
flutter pub get. -
Izveidot lokalizācijas failus:
Izveidojiet resursu katalogus, piemēram,
./lib/l10n/. Iekšā izveidojiet.arbfailus katrai atbalstītajai valodai. Piemēram, angļu un krievu:app_en.arb:{ "helloWorld": "Hello World!", "@@locale": "en" }app_ru.arb:{ "helloWorld": "Привет мир!", "@@locale": "ru" } -
Koda ģenerēšanas iestatījumi:
Failā
pubspec.yamlnorādiet ceļu uz lokalizācijas failiem un konfigurējiet.arbģenerēšanu:flutter: generate: true # Ieslēgt ģenerēšanu assets: - assets/... # Jūsu citi aktīvi l10n: arb-dir: lib/l10n # Katalogs ar `.arb` failiem template-arb-file: app_en.arb # Šablona `.arb` fails output-localization-file: app_localizations.dart # Ģenerētā faila nosaukumsSaglabājot
pubspec.yaml, Flutter automātiski ģenerēs failu./lib/generated/l10n.dart(vai pēcoutput-localization-file). -
Lokalizēto rindu izmantošana:
Projektā, kur nepieciešams izmantot lokalizētas rindas, importējiet ģenerēto failu:
import 'package:flutter_gen/gen_l10n/app_localizations.dart';Tad piekļūstiet lokalizētajai rindai caur
AppLocalizations.of(context)!:Text(AppLocalizations.of(context)!.helloWorld), -
MaterialAppvaiCupertinoAppkonfigurācija:Augšējā līmeņa widgetā (parasti
MaterialAppvaiCupertinoApp) norādiet atbalstītās valodas un lokalizācijas delegātus:import 'package:flutter_gen/gen_l10n/app_localizations.dart'; MaterialApp( // ... citas konfigurācijas localizationsDelegates: const [ AppLocalizations.delegate, // No ģenerētā faila GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, ], supportedLocales: const [ Locale('en', ''), // Angļu Locale('ru', ''), // Krievu // ... citas atbalstītās valodas ], // ... );
Tagad lietojumprogramma automātiski izvēlēsies lokalizāciju atkarībā no lietotāja ierīces iestatījumiem, ja tā ir iekļauta supportedLocales. Lai manuāli mainītu lokalizāciju, var izmantot Locale un atjaunināt lietojumprogrammas stāvokli.