Flutter tətbiqinə lokalizasiya necə əlavə edilir?
sobes.tech Süni İntellekt
AI-dan cavab
-
Asılılıqları əlavə etmək:
pubspec.yamlfaylında lokalizasiya üçün asılılıqları əlavə etməlisiniz:dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter intl: ^0.18.0 # Nümunə versiya, fərqli ola bilərSonra
flutter pub getəmri ilə yükləyin. -
Lokalizasiya fayllarını yaratmaq:
Lokalizasiya resursları üçün qovluqlar yaradın, məsələn
./lib/l10n/. İçində, hər dəstəklənən dil üçün.arbfayllar yaradın. Məsələn, ingilis və rus dilləri üçün:app_en.arb:{ "helloWorld": "Hello World!", "@@locale": "en" }app_ru.arb:{ "helloWorld": "Привет мир!", "@@locale": "ru" } -
Kod nəsilini konfiqurasiya etmək:
pubspec.yamlfaylında.arbfayllarının yolunu göstərin və nəsil üçün konfiqurasiya edin:flutter: generate: true # Nəsil aktivləşdirilir assets: - assets/... # Digər aktivləriniz l10n: arb-dir: lib/l10n # `.arb` fayllarının yerləşdiyi qovluq template-arb-file: app_en.arb # Nümunə `.arb` faylı output-localization-file: app_localizations.dart # Yaranan faylın adıpubspec.yamlyadda saxlandıqdan sonra, Flutter avtomatik olaraq./lib/generated/l10n.dart(və yaoutput-localization-filedə göstərilən) faylı yaradacaq. -
Lokalizasiya olunmuş sətirlərin istifadəsi:
Tətbiqdə, lokalizasiya olunmuş sətirləri istifadə etmək istədiyiniz yerdə, yaradılmış faylı idxal edin:
import 'package:flutter_gen/gen_l10n/app_localizations.dart';Sonra,
AppLocalizations.of(context)!vasitəsilə lokalizasiya olunmuş sətirə müraciət edin:Text(AppLocalizations.of(context)!.helloWorld), -
MaterialAppvə yaCupertinoApp-in konfiqurasiyası:Yuxarı səviyyəli widgetdə (adətən
MaterialAppvə yaCupertinoApp) dilləri dəstəkləmək və lokalizasiya delegatlarını göstərin:import 'package:flutter_gen/gen_l10n/app_localizations.dart'; MaterialApp( // ... digər tənzimləmələr localizationsDelegates: const [ AppLocalizations.delegate, // Yaradılmış fayldan delegat GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, ], supportedLocales: const [ Locale('en', ''), // İngilis Locale('ru', ''), // Rus // ... digər dəstəklənən dillər ], // ... );
İndi tətbiq istifadəçinin cihaz parametrlərinə əsasən avtomatik olaraq lokalizasiya seçəcək, əgər supportedLocales-dədirsə. Lokalizasiya əl ilə dəyişdirmək üçün Locale istifadə edə və tətbiqin vəziyyətini yeniləyə bilərsiniz.