language localization
This commit is contained in:
13
lib/shared/components/bloc/language/lng_bloc.dart
Normal file
13
lib/shared/components/bloc/language/lng_bloc.dart
Normal file
@@ -0,0 +1,13 @@
|
||||
import 'package:bloc/bloc.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'lng_event.dart';
|
||||
import 'lng_state.dart';
|
||||
|
||||
class LocalizationBloc extends Bloc<LocalizationEvent, LocalizationState> {
|
||||
LocalizationBloc() : super(const LocalizationState(Locale('en'))) {
|
||||
on<ChangeLanguage>((event, emit) {
|
||||
emit(LocalizationState(event.locale));
|
||||
});
|
||||
}
|
||||
}
|
||||
18
lib/shared/components/bloc/language/lng_event.dart
Normal file
18
lib/shared/components/bloc/language/lng_event.dart
Normal file
@@ -0,0 +1,18 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
abstract class LocalizationEvent extends Equatable {
|
||||
const LocalizationEvent();
|
||||
|
||||
@override
|
||||
List<Object> get props => [];
|
||||
}
|
||||
|
||||
class ChangeLanguage extends LocalizationEvent {
|
||||
final Locale locale;
|
||||
|
||||
const ChangeLanguage(this.locale);
|
||||
|
||||
@override
|
||||
List<Object> get props => [locale];
|
||||
}
|
||||
11
lib/shared/components/bloc/language/lng_state.dart
Normal file
11
lib/shared/components/bloc/language/lng_state.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class LocalizationState extends Equatable {
|
||||
final Locale locale;
|
||||
|
||||
const LocalizationState(this.locale);
|
||||
|
||||
@override
|
||||
List<Object> get props => [locale];
|
||||
}
|
||||
Reference in New Issue
Block a user