mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
fixed language switching issue
This commit is contained in:
parent
835a64ca75
commit
d7b936a017
@ -90,9 +90,9 @@
|
||||
"inlineCode": "内联代码",
|
||||
"quote": "块引用"
|
||||
},
|
||||
"tooltip":{
|
||||
"lightMode" : "切换到灯光模式",
|
||||
"darkMode" : "切换到暗模式"
|
||||
"tooltip": {
|
||||
"lightMode": "切换到灯光模式",
|
||||
"darkMode": "切换到暗模式"
|
||||
},
|
||||
"contactsPage": {
|
||||
"title": "联系人",
|
||||
@ -127,5 +127,16 @@
|
||||
"instruction3": "进入下面的链接,然后输入上面的代码:",
|
||||
"instruction4": "完成注册后,点击下面的按钮:"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": "设置",
|
||||
"menu": {
|
||||
"appearance": "外观",
|
||||
"language": "语言"
|
||||
},
|
||||
"appearance": {
|
||||
"lightLabel": "日间模式",
|
||||
"darkLabel": "夜间模式"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -66,18 +66,23 @@ class ApplicationWidget extends StatelessWidget {
|
||||
(value) => value.language,
|
||||
);
|
||||
|
||||
return Provider.value(
|
||||
value: theme,
|
||||
child: MaterialApp(
|
||||
builder: overlayManagerBuilder(),
|
||||
debugShowCheckedModeBanner: false,
|
||||
theme: theme.themeData,
|
||||
localizationsDelegates: context.localizationDelegates,
|
||||
supportedLocales: context.supportedLocales,
|
||||
locale: localeFromLanguageName(language),
|
||||
navigatorKey: AppGlobals.rootNavKey,
|
||||
home: child,
|
||||
),
|
||||
return MultiProvider(
|
||||
providers: [
|
||||
Provider.value(value: theme),
|
||||
Provider.value(value: language),
|
||||
],
|
||||
builder: (context, _) {
|
||||
return MaterialApp(
|
||||
builder: overlayManagerBuilder(),
|
||||
debugShowCheckedModeBanner: false,
|
||||
theme: theme.themeData,
|
||||
localizationsDelegates: context.localizationDelegates,
|
||||
supportedLocales: context.supportedLocales,
|
||||
locale: localeFromLanguageName(language),
|
||||
navigatorKey: AppGlobals.rootNavKey,
|
||||
home: child,
|
||||
);
|
||||
},
|
||||
);
|
||||
},
|
||||
);
|
||||
|
@ -4,6 +4,7 @@ import 'package:flowy_infra/theme.dart';
|
||||
import 'package:flowy_infra/language.dart';
|
||||
import 'package:flowy_sdk/protobuf/flowy-user-data-model/user_setting.pb.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
|
||||
class AppearanceSettingModel extends ChangeNotifier with EquatableMixin {
|
||||
AppearanceSettings setting;
|
||||
@ -37,12 +38,12 @@ class AppearanceSettingModel extends ChangeNotifier with EquatableMixin {
|
||||
}
|
||||
}
|
||||
|
||||
void setLanguage(AppLanguage language) {
|
||||
void setLanguage(BuildContext context, AppLanguage language) {
|
||||
String languageString = stringFromLanguageName(language);
|
||||
|
||||
if (setting.language != languageString) {
|
||||
context.setLocale(localeFromLanguageName(language));
|
||||
_language = language;
|
||||
print('language changed to $languageString');
|
||||
setting.language = languageString;
|
||||
notifyListeners();
|
||||
save();
|
||||
|
@ -39,7 +39,7 @@ class _LanguageSelectorDropdownState extends State<LanguageSelectorDropdown> {
|
||||
value: context.read<AppearanceSettingModel>().language,
|
||||
onChanged: (val) {
|
||||
setState(() {
|
||||
context.read<AppearanceSettingModel>().setLanguage(val!);
|
||||
context.read<AppearanceSettingModel>().setLanguage(context, val!);
|
||||
});
|
||||
},
|
||||
items: AppLanguage.values.map((language) {
|
||||
|
@ -33,5 +33,12 @@
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
<key>CFBundleLocalizations</key>
|
||||
<array>
|
||||
<string>en</string>
|
||||
<string>fr</string>
|
||||
<string>it</string>
|
||||
<string>zh</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
Loading…
x
Reference in New Issue
Block a user