Flutter колдонмосуна жергиликтөштүрүүнү кантип кошуу керек?
sobes.tech AI
AIден жооп
-
Тәуелділіктерді қосу:
pubspec.yamlфайлына локализация үшін тәуелділіктерді қосу керек:dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter intl: ^0.18.0 # Мисал версия, айырмашылығы болушу мүмкүнАндан кийин
flutter pub getкомандасын иштетүү. -
Локализация файлдарын түзүү:
Ресурс үчүн каталогдорду түзүңүз, мисалы
./lib/l10n/. Ичине ар бир колдоого алынган тил үчүн.arbфайлдарын түзүңүз. Мисалы, англис жана орус тилдери үчүн:app_en.arb:{ "helloWorld": "Hello World!", "@@locale": "en" }app_ru.arb:{ "helloWorld": "Привет мир!", "@@locale": "ru" } -
Кодту генерациялоо жөндөөлөрү:
pubspec.yamlфайлына локализация файлдарына жолду көрсөтүңүз жана.arbгенерациясын конфигурациялаңыз:flutter: generate: true # Генерацияны активдештирүү assets: - assets/... # Башка активдериңиз l10n: arb-dir: lib/l10n # `.arb` файлдар жайгашкан каталог template-arb-file: app_en.arb # Үлгү `.arb` файлы output-localization-file: app_localizations.dart # Генерацияланган файлдын атыpubspec.yamlфайлын сактагандан кийин, Flutter автоматтык түрдө./lib/generated/l10n.dartфайлын (жеoutput-localization-fileкөрсөтүлгөндөй) түзөт. -
Локализацияланган саптарды колдонуу:
Колдонмоңузда локализацияланган саптарды колдонуу үчүн, генерацияланган файлды импорттоо:
import 'package:flutter_gen/gen_l10n/app_localizations.dart';Андан соң,
AppLocalizations.of(context)!аркылуу локализацияланган сапка кайрылыңыз:Text(AppLocalizations.of(context)!.helloWorld), -
MaterialAppжеCupertinoAppнастройкалоо:Жогорку деңгээлдеги виджетте (жалпысынан
MaterialAppжеCupertinoApp) тилдердин колдоосун жана локализация делегаттарын көрсөтүңүз:import 'package:flutter_gen/gen_l10n/app_localizations.dart'; MaterialApp( // ... башка настройкалар localizationsDelegates: const [ AppLocalizations.delegate, // Генерацияланган файлдан делегат GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, ], supportedLocales: const [ Locale('en', ''), // Англис тили Locale('ru', ''), // Рус тили // ... башка колдоого алынган тилдер ], // ... );
Эми колдонмо автоматтык түрдө колдонуучу түзмөктүн жөндөөлөрүнө ылайык локализацияны тандайт, эгер ал supportedLocales тизмесинде болсо. Кол менен өзгөртүү үчүн Locale колдонуп, программаны жаңыртыңыз.