RG-3443 Экран настроек локализации
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
import 'package:checker/base/base_screen.dart';
|
||||
import 'package:checker/base/settings_base_state.dart';
|
||||
import 'package:checker/db.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:checker/consts.dart';
|
||||
import 'package:checker/strings.dart';
|
||||
import 'package:checker/common.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
|
||||
class LanguagesScreen extends StatefulWidget {
|
||||
class LanguagesScreen extends BaseScreen {
|
||||
|
||||
final SqliteHelper helper;
|
||||
final String app;
|
||||
LanguagesScreen(helper, app) : super(helper, app);
|
||||
|
||||
LanguagesScreen(this.helper, this.app);
|
||||
@override State createState() => new LanguagesState(helper, app);
|
||||
}
|
||||
|
||||
@@ -18,10 +18,18 @@ class LanguagesState extends SettingsBaseState<LanguagesScreen> {
|
||||
|
||||
LanguagesState(SqliteHelper helper, String app) : super(helper, app);
|
||||
|
||||
List<String> languages = const ['ru', 'en', 'ua', 'es'];
|
||||
|
||||
@override
|
||||
List<String> getOptions() {
|
||||
return languages;
|
||||
|
||||
List<String> list = new List();
|
||||
|
||||
for (String code in languages) {
|
||||
list.add(getLocaleTitle(code));
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -30,8 +38,14 @@ class LanguagesState extends SettingsBaseState<LanguagesScreen> {
|
||||
}
|
||||
|
||||
@override
|
||||
void saveOption() {
|
||||
// helper.sa(languages[selectedItem]);
|
||||
saveOption() async {
|
||||
await helper.saveLocale(languages[selectedItem]);
|
||||
Intl.defaultLocale = languages[selectedItem];
|
||||
StringsLocalization.load(languages[selectedItem]).then((_) {
|
||||
setState(() {
|
||||
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
Reference in New Issue
Block a user