Skip to content

Commit

Permalink
fix(i18n): locale
Browse files Browse the repository at this point in the history
use new locale code
  • Loading branch information
Xmarmalade committed Jul 21, 2023
1 parent f4140d6 commit a30deaf
Show file tree
Hide file tree
Showing 7 changed files with 77 additions and 75 deletions.
3 changes: 2 additions & 1 deletion lib/i18n/strings_en.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@
"logs": "Logs"
},
"languageSettings": {
"language": "Language"
"language": "Language",
"system":"System"
},
"button": {
"ok": "OK",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@
"logs": "日志"
},
"languageSettings": {
"language": "语言"
"language": "语言",
"system":"跟随系统"
},
"button": {
"ok": "确认",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,28 @@
"alistOperation": {
"startAlist": "啟動",
"endAlist": "關閉",
"openGUI": "打開 GUI",
"getAdmin": "管理員信息",
"getVersion": "版本信息"
"openGUI": "開啟 GUI",
"getAdmin": "管理員資訊",
"getVersion": "版本資訊"
},
"firstLaunch": {
"intro": "歡迎使用 Alist Helper讓我們開始吧",
"about": "點擊此處了解更多關於 Alist Helper 的信息!",
"chooseTheme": "首先讓我們在這裡選擇您喜歡的主題",
"chooseDirectory": "第二步您需要一個 alist 並告訴 alist helper 它在哪裡",
"getAlist": "如果您還沒有 alist請在這裡獲取"
"intro": "歡迎使用 Alist Helper,讓我們開始吧!",
"about": "點擊此處瞭解更多關於 Alist Helper 的資訊!",
"chooseTheme": "首先,讓我們在這裡選擇您喜歡的主題!",
"chooseDirectory": "第二步,您需要一個 alist 並告訴 alist helper 它在哪裡!",
"getAlist": "如果您還沒有 alist,請在這裡獲取!"
},
"tabs": {
"home": "首頁",
"settings": "設置"
"settings": "設定"
},
"home": {
"options": "選項",
"logs": "日誌"
"logs": "日志"
},
"languageSettings": {
"language": "語言"
"language": "語言",
"system": "跟隨系統"
},
"button": {
"ok": "確認",
Expand All @@ -32,18 +33,18 @@
"no": "",
"select": "選擇",
"edit": "編輯",
"save": "保存",
"save": "儲存",
"upgrade": "升級"
},
"tray": {
"open": "開啟",
"hide": "隱藏",
"quit": "退出",
"quit": "結束",
"startAlist": "啟動 Alist 服務",
"endAlist": "關閉 Alist 服務",
"tooltip": "Alist Helper",
"workingTooltip": "Alist Helper (Alist 執行中)"
},
},
"settings": {
"interfaceSettings": {
"title": "介面",
Expand All @@ -54,20 +55,20 @@
"alistHelperSettings": {
"title": "Alist Helper 選項",
"saveWindowPlacement": {
"title": "保存 Alist Helper 窗口位置",
"description": "這將允許 Alist Helper 保存窗口位置"
"title": "儲存 Alist Helper 視窗位置",
"description": "這將允許 Alist Helper 儲存視窗位置"
},
"minimizeToTray": {
"title": "允許 Alist Helper 最小化到托盤",
"description": "這將允許 Alist Helper 最小化到托盤"
"title": "允許 Alist Helper 最小化到託盤",
"description": "這將允許 Alist Helper 最小化到託盤"
},
"autoStart": {
"title": "允許自動啟動",
"description": "這將允許 Alist Helper 自動啟動。"
},
"autoStartLaunchMinimized": {
"title": "允許靜音自動啟動",
"description": "這將允許 Alist Helper 靜音自動啟動"
"title": "允許靜默自動啟動",
"description": "這將允許 Alist Helper 靜默自動啟動"
}
},
"alistSettings": {
Expand All @@ -77,29 +78,29 @@
"description": "這將在 Alist Helper 啟動時自動啟動 alist。"
},
"autoStartLaunchMinimized": {
"title": "允許靜音自動啟動",
"description": "這將允許 Alist Helper 靜音自動啟動"
"title": "允許靜默自動啟動",
"description": "這將允許 Alist Helper 靜默自動啟動"
},
"workingDirectory": {
"title": "工作目錄",
"description": "設置工作目錄",
"hint": "這是一個目錄,不是文件!",
"chooseFrom": "從以下選擇...",
"notFound": "目錄中找不到 alist 可执行程序",
"found": "找到 alist 可执行程序"
"description": "設定工作目錄",
"hint": "這是一個目錄,不是檔案!",
"chooseFrom": "選擇目錄",
"notFound": "目錄中找不到 alist 程式",
"found": "找到 alist 程式"
},
"argumentsList": {
"title": "啟動引數列表",
"description": "編輯 alist.exe 的啟動引數",
"editArguments": "編輯引數",
"addArgument": "添加引數"
"title": "啟動參數列表",
"description": "編輯 alist 的啟動參數",
"editArguments": "編輯參數",
"addArgument": "新增參數"
},
"proxy": {
"title": "HTTP 代理",
"description": "設置 HTTP 代理",
"hint": "若留空則不啟用 HTTP 代理",
"success": "已設置 HTTP 代理",
"error": "無效的 HTTP 代理"
"title": "Http 代理",
"description": "設定 Http 代理",
"hint": "如果留空, 將不會啟用 Http 代理",
"success": "Http 代理位址已設定",
"error": "非法的 Http 代理位址"
}
},
"others": {
Expand All @@ -111,17 +112,17 @@
"upgrade": {
"clickToCheck": "點擊檢查更新",
"checkFirst": "請先檢查更新",
"canUpgrade": "發現新版本您想升級嗎",
"canUpgrade": "發現新版本,您想升級嗎?",
"noUpgrade": "您正在使用最新版本。",
"upgrade": "升級",
"alistVersion": {
"title": "Alist 版本",
"currentVersion": "當前 Alist 版本",
"currentVersion": "目前 Alist 版本",
"latestVersion": "最新 Alist 版本"
},
"alistHelperVersion": {
"title": "Alist Helper 版本",
"currentVersion": "當前 Alist Helper 版本",
"currentVersion": "目前 Alist Helper 版本",
"latestVersion": "最新 Alist Helper 版本"
}
}
Expand Down
5 changes: 4 additions & 1 deletion lib/provider/alist_provider.dart
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,14 @@ class AlistNotifier extends StateNotifier<AlistState> {
String port = text.split('@')[1].trim().split(':')[1].trim();
String url = 'http://localhost:$port';
state = state.copyWith(url: url);
state = state.copyWith(isRunning: true);
}
}



Future<void> startAlist() async {
state = state.copyWith(isRunning: true);
//state = state.copyWith(isRunning: true);
final Map<String, String> envVars = Map.from(Platform.environment);
if (proxy != '') {
envVars['http_proxy'] = proxy;
Expand Down
10 changes: 5 additions & 5 deletions lib/provider/persistence_provider.dart
Original file line number Diff line number Diff line change
Expand Up @@ -49,14 +49,13 @@ class PersistenceService {
LocaleSettings.setLocaleRaw(persistedLocale);
}

if (prefs.getString(_version) == null || prefs.getString(_version) != currentAlistHelperVersion) {
if (prefs.getString(_version) == null ||
prefs.getString(_version) != currentAlistHelperVersion) {
await prefs.setString(_version, currentAlistHelperVersion);
}
return PersistenceService._(prefs);
}



String getAlistHelperVersion() {
return _prefs.getString(_version) ?? currentAlistHelperVersion;
}
Expand Down Expand Up @@ -153,12 +152,13 @@ class PersistenceService {
await _prefs.setInt(_themeColor, themeColor.value);
}

AppLocale? getLocale() {
AppLocale? getLocale() {
final value = _prefs.getString(_localeKey);
if (value == null) {
return null;
}
return AppLocale.values.firstWhereOrNull((locale) => locale.languageTag == value);
return AppLocale.values
.firstWhereOrNull((locale) => locale.languageTag == value);
}

Future<void> setLocale(AppLocale? locale) async {
Expand Down
28 changes: 9 additions & 19 deletions lib/widgets/pages/debug_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,40 +6,30 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';


class DebugPage extends ConsumerWidget {
const DebugPage({super.key});

@override
Widget build(BuildContext context, WidgetRef ref) {
final appArguments = ref.watch(appArgumentsProvider);
//DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();

return Scaffold(
appBar: AppBar(
title: const Text('Debug'),
),
body: ListView(
padding: const EdgeInsets.all(20),
children: [
DebugEntry(name: 'Debug Mode', value: kDebugMode.toString()),
DebugEntry(
name: 'Debug Mode',
value: kDebugMode.toString(),
),
DebugEntry(
name: 'App Arguments',
value: appArguments.isEmpty ? null : appArguments.join(' '),
),
DebugEntry(
name: 'Dart SDK Version',
value: Platform.version,
),
DebugEntry(
name: 'Platform',
value: Platform.operatingSystem,
),
name: 'App Arguments',
value: appArguments.isEmpty ? null : appArguments.join(' ')),
DebugEntry(name: 'Dart SDK Version', value: Platform.version),
DebugEntry(name: 'Platform', value: Platform.operatingSystem),
DebugEntry(
name: 'Platform Version',
value: Platform.operatingSystemVersion,
),
name: 'Platform Version', value: Platform.operatingSystemVersion),

],
),
);
Expand Down
24 changes: 15 additions & 9 deletions lib/widgets/pages/language_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,11 @@ class LanguagePage extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final t = Translations.of(context);

final activeLocale = ref.watch(settingsProvider.select((s) => s.locale));

return Scaffold(
appBar: AppBar(
//title: Text(t.settings.lang),
title: Text(t.languageSettings.language,
style: const TextStyle(fontWeight: FontWeight.bold))),
body: Center(
Expand All @@ -21,28 +22,33 @@ class LanguagePage extends ConsumerWidget {
child: ListView(
padding: const EdgeInsets.symmetric(horizontal: 15, vertical: 20),
children: [
...[
...AppLocale.values,
].map((locale) {
...[null, ...AppLocale.values].map((locale) {
return ListTile(
onTap: () async {
await ref.watch(settingsProvider.notifier).setLocale(locale);
await ref.read(settingsProvider.notifier).setLocale(locale);
if (locale == null) {
LocaleSettings.useDeviceLocale();
} else {
LocaleSettings.setLocale(locale);
}
},
title: Row(
children: [
Flexible(
child:
Text(locale.humanName),
child: Text(
locale?.humanName ?? t.languageSettings.system),
),
if (locale == activeLocale) ...[
const SizedBox(width: 10),
const Icon(Icons.check_circle, color: Colors.green),
const Icon(
Icons.check_circle,
color: Colors.green,
),
],
],
),
);
}),
})
],
),
),
Expand Down

0 comments on commit a30deaf

Please # to comment.