Ինչպես ավելացնել տեղայնացում 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ֆայլը: -
Լոկալիզացված տողերի օգտագործում:
Ապահովեք, որ օգտագործվող ֆայլը ներմուծեք:
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-ը և թարմացրեք ծրագրի վիճակը։