როგორ დავამატოთ ლოკალიზაცია 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 და განაახლეთ აპლიკაციის მდგომარეობა.