Cum adaugi localizarea într-o aplicație Flutter?
sobes.tech AI
Răspuns de la AI
-
Adăugarea dependențelor:
În fișierul
pubspec.yaml, trebuie să adăugați dependențe pentru localizare:dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter intl: ^0.18.0 # Exemplu de versiune, poate variaApoi, rulați
flutter pub get. -
Crearea fișierelor de localizare:
Creați directoare pentru resursele de localizare, de exemplu
./lib/l10n/. În interior, creați fișiere.arbpentru fiecare limbă suportată. De exemplu, pentru engleză și rusă:app_en.arb:{ "helloWorld": "Hello World!", "@@locale": "en" }app_ru.arb:{ "helloWorld": "Привет мир!", "@@locale": "ru" } -
Configurarea generării de cod:
În fișierul
pubspec.yaml, specificați calea către fișierele.arbși configurați generarea:flutter: generate: true # Activare generare assets: - assets/... # Alte resurse l10n: arb-dir: lib/l10n # Director cu fișierele `.arb` template-arb-file: app_en.arb # Fișier `.arb` șablon output-localization-file: app_localizations.dart # Numele fișierului generatDupă salvarea
pubspec.yaml, Flutter va genera automat fișierul./lib/generated/l10n.dart(sau cel specificat înoutput-localization-file). -
Utilizarea stringurilor localizate:
În aplicație, unde doriți să folosiți stringuri localizate, importați fișierul generat:
import 'package:flutter_gen/gen_l10n/app_localizations.dart';Apoi, accesați stringul localizat prin
AppLocalizations.of(context)!:Text(AppLocalizations.of(context)!.helloWorld), -
Configurarea
MaterialAppsauCupertinoApp:În widgetul de nivel superior (de obicei
MaterialAppsauCupertinoApp), specificați suportul pentru limbi și delegații de localizare:import 'package:flutter_gen/gen_l10n/app_localizations.dart'; MaterialApp( // ... alte setări localizationsDelegates: const [ AppLocalizations.delegate, // Delegatul din fișierul generat GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, ], supportedLocales: const [ Locale('en', ''), // Engleză Locale('ru', ''), // Rusă // ... alte limbi suportate ], // ... );
Acum, aplicația va selecta automat localizarea în funcție de setările dispozitivului utilizatorului, dacă aceasta este prezentă în supportedLocales. Pentru a schimba manual localizarea, puteți folosi Locale și actualiza starea aplicației.