Skip to content

Commit cb93c5e

Browse files
committed
feat: automatic english to chinese translation
1 parent d2fe5f6 commit cb93c5e

35 files changed

+724
-368
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
*.swp
66
.DS_Store
77
.atom/
8+
.build/
89
.buildlog/
910
.history
1011
.svn/
12+
.swiftpm/
1113
migrate_working_dir/
1214

1315
# IntelliJ related

android/app/.cxx/Debug/6s61131q/arm64-v8a/configure_fingerprint.bin

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,27 @@ C/C++ Structured Loga
22
_
33
]/Users/quantum/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txtC
44
A
5-
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ����2� �����2g
5+
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ����2� �����2g
66
e
7-
c/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/additional_project_files.txt  ����2  ����2d
7+
c/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/additional_project_files.txt  ����2  ����2d
88
b
9-
`/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/android_gradle_build.json  ����2� �����2i
9+
`/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/android_gradle_build.json  ����2� �����2i
1010
g
11-
e/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/android_gradle_build_mini.json  ����2� �����2V
11+
e/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/android_gradle_build_mini.json  ����2� �����2V
1212
T
13-
R/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/build.ninja  ����2�� ՛���2Z
13+
R/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/build.ninja  ����2�� ՛���2Z
1414
X
15-
V/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/build.ninja.txt  ����2_
15+
V/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/build.ninja.txt  ����2_
1616
]
17-
[/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/build_file_index.txt  ����2] �����2`
17+
[/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/build_file_index.txt  ����2] �����2`
1818
^
19-
\/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/compile_commands.json  ����2 d
19+
\/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/compile_commands.json  ����2 d
2020
b
21-
`/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/compile_commands.json.bin  ����2
21+
`/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/compile_commands.json.bin  ����2
2222
j
2323
h
24-
f/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/metadata_generation_command.txt  ����2 � �����2]
24+
f/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/metadata_generation_command.txt  ����2 � �����2]
2525
[
26-
Y/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/prefab_config.json  ����2 ( �����2b
26+
Y/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/prefab_config.json  ����2 ( �����2b
2727
`
28-
^/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/symbol_folder_index.txt  ����2U �����2
28+
^/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/arm64-v8a/symbol_folder_index.txt  ����2U �����2

android/app/.cxx/Debug/6s61131q/armeabi-v7a/configure_fingerprint.bin

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,27 @@ C/C++ Structured Loga
22
_
33
]/Users/quantum/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txtC
44
A
5-
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ����2� �����2i
5+
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ����2� �����2i
66
g
7-
e/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/additional_project_files.txt  ����2  �����2f
7+
e/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/additional_project_files.txt  ����2  �����2f
88
d
9-
b/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/android_gradle_build.json  ����2� �����2k
9+
b/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/android_gradle_build.json  ����2� �����2k
1010
i
11-
g/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/android_gradle_build_mini.json  ����2� �����2X
11+
g/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/android_gradle_build_mini.json  ����2� �����2X
1212
V
13-
T/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/build.ninja  ����2�� �����2\
13+
T/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/build.ninja  ����2�� �����2\
1414
Z
15-
X/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/build.ninja.txt  ����2a
15+
X/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/build.ninja.txt  ����2a
1616
_
17-
]/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/build_file_index.txt  ����2] �����2b
17+
]/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/build_file_index.txt  ����2] �����2b
1818
`
19-
^/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/compile_commands.json  ����2 f
19+
^/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/compile_commands.json  ����2 f
2020
d
21-
b/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/compile_commands.json.bin  ����2
21+
b/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/compile_commands.json.bin  ����2
2222
l
2323
j
24-
h/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/metadata_generation_command.txt  ����2 � �����2_
24+
h/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/metadata_generation_command.txt  ����2 � �����2_
2525
]
26-
[/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/prefab_config.json  ����2 ( �����2d
26+
[/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/prefab_config.json  ����2 ( �����2d
2727
b
28-
`/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/symbol_folder_index.txt  ����2W �����2
28+
`/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/armeabi-v7a/symbol_folder_index.txt  ����2W �����2

android/app/.cxx/Debug/6s61131q/x86/configure_fingerprint.bin

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,27 @@ C/C++ Structured Loga
22
_
33
]/Users/quantum/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txtC
44
A
5-
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ƾ��2� �����2a
5+
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  �����2� �����2a
66
_
7-
]/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/additional_project_files.txt  ƾ��2  �����2^
7+
]/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/additional_project_files.txt  �����2  �����2^
88
\
9-
Z/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/android_gradle_build.json  ƾ��2� �����2c
9+
Z/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/android_gradle_build.json  �����2� �����2c
1010
a
11-
_/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/android_gradle_build_mini.json  ƾ��2� �����2P
11+
_/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/android_gradle_build_mini.json  �����2� �����2P
1212
N
13-
L/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/build.ninja  ƾ��2�� �����2T
13+
L/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/build.ninja  �����2�� �����2T
1414
R
15-
P/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/build.ninja.txt  ƾ��2Y
15+
P/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/build.ninja.txt  �����2Y
1616
W
17-
U/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/build_file_index.txt  ƾ��2] �����2Z
17+
U/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/build_file_index.txt  �����2] �����2Z
1818
X
19-
V/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/compile_commands.json  ƾ��2 ^
19+
V/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/compile_commands.json  �����2 ^
2020
\
21-
Z/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/compile_commands.json.bin  ƾ��2
21+
Z/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/compile_commands.json.bin  �����2
2222
d
2323
b
24-
`/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/metadata_generation_command.txt  ƾ��2 � �����2W
24+
`/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/metadata_generation_command.txt  �����2 � �����2W
2525
U
26-
S/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/prefab_config.json  ƾ��2 ( �����2\
26+
S/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/prefab_config.json  �����2 ( �����2\
2727
Z
28-
X/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/symbol_folder_index.txt  ƾ��2O �����2
28+
X/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86/symbol_folder_index.txt  �����2O �����2

android/app/.cxx/Debug/6s61131q/x86_64/configure_fingerprint.bin

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,27 @@ C/C++ Structured Loga
22
_
33
]/Users/quantum/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txtC
44
A
5-
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  �2� �����2d
5+
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  �����2� �����2d
66
b
7-
`/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/additional_project_files.txt  �2  �����2a
7+
`/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/additional_project_files.txt  �����2  �����2a
88
_
9-
]/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/android_gradle_build.json  �2� �����2f
9+
]/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/android_gradle_build.json  �����2� �����2f
1010
d
11-
b/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/android_gradle_build_mini.json  �2� �����2S
11+
b/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/android_gradle_build_mini.json  �����2� �����2S
1212
Q
13-
O/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/build.ninja  �2�� �����2W
13+
O/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/build.ninja  �����2�� �����2W
1414
U
15-
S/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/build.ninja.txt  �2\
15+
S/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/build.ninja.txt  �����2\
1616
Z
17-
X/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/build_file_index.txt  �2] �����2]
17+
X/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/build_file_index.txt  �����2] �����2]
1818
[
19-
Y/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/compile_commands.json  �2 a
19+
Y/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/compile_commands.json  �����2 a
2020
_
21-
]/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/compile_commands.json.bin  �2
21+
]/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/compile_commands.json.bin  �����2
2222
g
2323
e
24-
c/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/metadata_generation_command.txt  �2 � �����2Z
24+
c/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/metadata_generation_command.txt  �����2 � �����2Z
2525
X
26-
V/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/prefab_config.json  �2 ( �����2_
26+
V/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/prefab_config.json  �����2 ( �����2_
2727
]
28-
[/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/symbol_folder_index.txt  �2R �����2
28+
[/Users/quantum/Projects/qack/android/app/.cxx/Debug/6s61131q/x86_64/symbol_folder_index.txt  �����2R �����2

build.yaml

Whitespace-only changes.

lib/app/view/app.dart

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,36 +4,58 @@ import 'package:flutter_secure_storage/flutter_secure_storage.dart';
44
import 'package:qack/gen/fonts.gen.dart';
55
import 'package:qack/l10n/l10n.dart';
66
import 'package:qack/layout/device_info_setter.dart';
7+
import 'package:qack/presentation/home/bloc/home_bloc.dart';
8+
import 'package:qack/presentation/home/repositories/repositories.dart';
79
import 'package:qack/presentation/landing/components/cubit/bottom_navigation_bar_cubit.dart';
810
import 'package:qack/presentation/landing/view/landing_page.dart';
911
import 'package:qack/presentation/settings/bloc/settings_bloc.dart';
1012
import 'package:qack/presentation/settings/respository/settings_repository.dart';
1113

1214
class App extends StatelessWidget {
13-
const App({required this.secureStorage, super.key});
15+
const App({
16+
required this.secureStorage,
17+
required this.settingsBloc,
18+
super.key,
19+
});
1420
final FlutterSecureStorage secureStorage;
21+
final SettingsBloc settingsBloc;
1522

1623
@override
1724
Widget build(BuildContext context) {
1825
return MultiRepositoryProvider(
1926
providers: [
20-
RepositoryProvider.value(
21-
value: SettingsRepository(
27+
RepositoryProvider(
28+
create: (context) => SettingsRepository(
2229
storage: secureStorage,
2330
),
2431
),
32+
RepositoryProvider(
33+
create: (context) => HomeRepository(storage: secureStorage),
34+
),
2535
],
26-
child: MultiBlocProvider(
27-
providers: [
28-
BlocProvider(
29-
create: (context) => SettingsBloc(
30-
settingsRepository: context.read<SettingsRepository>(),
31-
),
36+
child: _App(settingsBloc: settingsBloc),
37+
);
38+
}
39+
}
40+
41+
class _App extends StatelessWidget {
42+
const _App({required this.settingsBloc});
43+
final SettingsBloc settingsBloc;
44+
45+
@override
46+
Widget build(BuildContext context) {
47+
return MultiBlocProvider(
48+
providers: [
49+
BlocProvider(create: (context) => settingsBloc),
50+
BlocProvider(
51+
create: (context) => HomeBloc(
52+
homeRepository: context.read<HomeRepository>(),
53+
settingsBloc: settingsBloc,
3254
),
33-
BlocProvider(create: (context) => BottomNavigationBarCubit()),
34-
],
35-
child: const AppView(),
36-
),
55+
),
56+
BlocProvider(create: (context) => BottomNavigationBarCubit()),
57+
],
58+
child: const AppView(),
3759
);
3860
}
3961
}

lib/bootstrap.dart

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ import 'package:flutter/widgets.dart';
66
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
77
import 'package:get_it/get_it.dart';
88
import 'package:http_client/http_client.dart';
9+
import 'package:qack/constants/key_name_constants.dart';
10+
import 'package:qack/presentation/settings/bloc/settings_bloc.dart';
11+
import 'package:qack/presentation/settings/respository/settings_repository.dart';
12+
import 'package:sentry_flutter/sentry_flutter.dart';
913

1014
class AppBlocObserver extends BlocObserver {
1115
const AppBlocObserver();
@@ -26,8 +30,10 @@ class AppBlocObserver extends BlocObserver {
2630
Future<void> bootstrap(
2731
FutureOr<Widget> Function(
2832
FlutterSecureStorage secureStorage,
33+
SettingsBloc settingsBloc,
2934
) builder,
3035
) async {
36+
SentryWidgetsFlutterBinding.ensureInitialized();
3137
FlutterError.onError = (details) {
3238
// TODO: Add Sentry error reporting
3339
/*
@@ -46,10 +52,25 @@ Future<void> bootstrap(
4652
// Initialize secure storage
4753
const secureStorage = FlutterSecureStorage();
4854

55+
// Create a random salt if it doesn't exist.
56+
final salt = await secureStorage.read(key: KeyNameConstants.md5Salt);
57+
if (salt == null || salt.isEmpty) {
58+
// Create a random salt and store it in secure storage
59+
await secureStorage.write(
60+
key: KeyNameConstants.md5Salt,
61+
value: DateTime.now().millisecondsSinceEpoch.toString(),
62+
);
63+
}
64+
65+
// Initialize settings bloc
66+
final settingsBloc = SettingsBloc(
67+
settingsRepository: SettingsRepository(storage: secureStorage),
68+
);
69+
4970
// Initialize HTTP repository
5071
GetIt.instance.registerLazySingleton<Http>(Http.new);
5172

5273
Bloc.observer = const AppBlocObserver();
5374

54-
runApp(await builder(secureStorage));
75+
runApp(await builder(secureStorage, settingsBloc));
5576
}

lib/constants/key_name_constants.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
abstract class KeyNameConstants {
22
const KeyNameConstants();
33

4+
static const String md5Salt = 'md5Salt';
5+
46
static const String translator = 'translator_details';
57
static const String google = 'google';
68
static const String baiduAppID = 'baiduAppID';

lib/constants/link_constants.dart

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,10 @@ abstract class LinkConstants {
99

1010
/// Translation Endpoint for the DeepL API
1111
static const String deeplTranslateUrl = '$deepLBaseUrl/translate';
12+
13+
/// Base URL for the Baidu Translate API
14+
static const String baiduTranslateBaseUrl = 'https://api.fanyi.baidu.com/api';
15+
16+
/// Translation Endpoint for the Baidu Translate API
17+
static const String baiduTranslateTranslationUrl= '$baiduTranslateBaseUrl/trans/vip/translate';
1218
}

0 commit comments

Comments
 (0)