first
This commit is contained in:
36
lib/controller/local/local_controller.dart
Normal file
36
lib/controller/local/local_controller.dart
Normal file
@@ -0,0 +1,36 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
import '../../constant/box_name.dart';
|
||||
import '../../main.dart';
|
||||
import '../themes/themes.dart';
|
||||
|
||||
class LocaleController extends GetxController {
|
||||
Locale? language;
|
||||
|
||||
ThemeData appTheme = themeEnglish;
|
||||
|
||||
changeLang(String langcode) {
|
||||
Locale locale = Locale(langcode);
|
||||
box.write(BoxName.lang, langcode);
|
||||
appTheme = langcode == "ar" ? themeArabic : themeEnglish;
|
||||
Get.changeTheme(appTheme);
|
||||
Get.updateLocale(locale);
|
||||
update();
|
||||
}
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
if (box.read(BoxName.lang) == "ar") {
|
||||
language = const Locale("ar");
|
||||
appTheme = themeArabic;
|
||||
} else if (box.read(BoxName.lang) == "en") {
|
||||
language = const Locale("en");
|
||||
appTheme = themeEnglish;
|
||||
} else {
|
||||
language = Locale(Get.deviceLocale!.languageCode);
|
||||
appTheme = themeEnglish;
|
||||
}
|
||||
super.onInit();
|
||||
}
|
||||
}
|
||||
16
lib/controller/local/translations.dart
Normal file
16
lib/controller/local/translations.dart
Normal file
@@ -0,0 +1,16 @@
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class MyTranslation extends Translations {
|
||||
@override
|
||||
Map<String, Map<String, String>> get keys => {
|
||||
"ar": {
|
||||
"Choose Language": "اختر اللغة",
|
||||
},
|
||||
"en": {
|
||||
"Choose Language": "Choose Language",
|
||||
},
|
||||
"tr": {
|
||||
"Choose Language": "Dil seç",
|
||||
},
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user