Flutter, I added Flutter Intl, did everything according to the instructions, but when starting there is always a red screen and an Assertion failed error:
file:/MyApp/lib/generated/l10n.dart:44:12
instance != null
“No instance of S present in the widget tree. Did you add S.delegate in localizationsDelegates?”
The relevant error-causing widget was:
NavBar navbar.dart file to which I want to transfer
I have already tried other localization methods and always have the same problem, which gives a Null value
I double-checked everything, the imports are correct everywhere, there are no errors in the code
Flutter Intl Initilialize
Create folder libgeneratedintlmessages_all.dart and intlmessages_en.dart and libgeneratedl10n.dart
libl10nintl_en.arb
{
“name_ivana”: “Ivan Ivanova”
}
``
import 'package:flutter/material.dart';
import 'package:flutter_localizati`your text`ons/flutter_localizations.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:myAppr/hive_flutter.dart';
import 'package:myApp/generated/l10n.dart';
import 'package:myApp/main_app.dart';
import 'package:myAppw/views/navigation/navbar.dart';
import 'package:myApp/views/pin_code/create_pin_code_screen.dart';
import 'package:myApp/views/pin_co`your text`de/pin_code_widget.dart';
void main() async {
await _initHive();
WidgetsFlutterBinding.ensureInitialized();
await _initSecureStorage();
//await S.load(const Locale('en'));
runApp(const MainApp());
}
Future<void> _initHive() async {
await Hive.initFlutter();
await Hive.openBox("login");
}
Future<void> _initSecureStorage() async {
FlutterSecureStorage storage = const FlutterSecureStorage();
// Проверяем наличие сохраненного пин-кода
String? savedPin = await storage.read(key: 'pin_code');
runApp(MyApp(savedPin: savedPin));
}
class MyApp extends StatefulWidget {
final String? savedPin;
const MyApp({super.key, this.savedPin});
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return MaterialApp(
localizationsDelegates: const [
// Ваш делегат локализации
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
S.delegate,
],
supportedLocales: S.delegate.supportedLocales,
debugShowCheckedModeBanner: false,
//home: widget.savedPin != null ? PinCodeWidget(savedPin: widget.savedPin!) : const CreatePinCodeScreen(),
home: Builder(
builder: (context) {
return Scaffold(
body: widget.savedPin != null
? PinCodeWidget(savedPin: widget.savedPin!)
: const CreatePinCodeScreen(),
drawer: const NavBar(),
);
},
),
);
}
}
``
Alish_ w.w is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.