From 81038b787d01669de81c04447bb11be6c1fcd5f3 Mon Sep 17 00:00:00 2001 From: cialloo Date: Tue, 23 Jul 2024 22:58:36 +0800 Subject: [PATCH] feat: choose language --- lib/l10n/app_en.arb | 3 ++- lib/l10n/app_zh.arb | 3 ++- lib/setting_page.dart | 41 +++++++++++++++++++++++++---------------- 3 files changed, 29 insertions(+), 18 deletions(-) diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 5ea7b1e..edd23d3 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -19,5 +19,6 @@ "disconnect": "Disconnect", "use": "Use It", "configNameComment": "Write a name for this config", - "showWindow": "Show Window" + "showWindow": "Show Window", + "chooseLanguage": "Choose Language" } \ No newline at end of file diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index e0a17f0..b99d2ee 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -19,5 +19,6 @@ "disconnect": "断开连接", "use": "使用", "configNameComment": "给这个配置备注一个名字", - "showWindow": "显示主面板" + "showWindow": "显示主面板", + "chooseLanguage": "选择语言" } \ No newline at end of file diff --git a/lib/setting_page.dart b/lib/setting_page.dart index 202976c..17f39b5 100644 --- a/lib/setting_page.dart +++ b/lib/setting_page.dart @@ -31,22 +31,31 @@ class _SettingPageState extends State { ), ], ), - DropdownButton( - value: Localizations.localeOf(context), - items: - AppLocalizations.supportedLocales.map>( - (e) { - return DropdownMenuItem( - value: e, - child: Text(e.toString()), - ); - }, - ).toList(), - onChanged: (value) { - setState(() { - MainApp.of(context).changeLocale(value!); - }); - }, + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text(AppLocalizations.of(context)!.chooseLanguage), + const SizedBox( + width: 10, + ), + DropdownButton( + value: Localizations.localeOf(context), + items: AppLocalizations.supportedLocales + .map>( + (e) { + return DropdownMenuItem( + value: e, + child: Text(e.toString() == 'en' ? 'English' : '中文'), + ); + }, + ).toList(), + onChanged: (value) { + setState(() { + MainApp.of(context).changeLocale(value!); + }); + }, + ), + ], ), ElevatedButton( onPressed: () {