RG-3443 Экран настроек локализации

This commit is contained in:
Ivan Murashov
2017-09-20 18:54:39 +03:00
parent a56839dca4
commit 912aa2248f
6 changed files with 49 additions and 29 deletions

View File

@@ -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