fix: 補充翻譯(註冊Error)

This commit is contained in:
JingChiang
2024-11-10 14:50:34 +08:00
parent 4c8d789a86
commit f4d0243de0
6 changed files with 178 additions and 12 deletions

View File

@@ -6,6 +6,8 @@ import 'package:mailer/mailer.dart';
import 'package:mailer/smtp_server.dart'; import 'package:mailer/smtp_server.dart';
import 'package:validators/validators.dart' as validator; import 'package:validators/validators.dart' as validator;
import 'generated/l10n.dart';
void main() { void main() {
runApp(MaterialApp( runApp(MaterialApp(
home: RegisterPage(), home: RegisterPage(),
@@ -105,12 +107,12 @@ class _RegisterPageState extends State<RegisterPage> {
final email = _emailController.text; final email = _emailController.text;
if (email.isEmpty) { if (email.isEmpty) {
ScaffoldMessenger.of(context).showSnackBar( ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('請輸入電子信箱地址')), SnackBar(content: Text(S.of(context).register_error_email_empty)),
); );
return; return;
} else if (!validator.isEmail(email)) { } else if (!validator.isEmail(email)) {
ScaffoldMessenger.of(context).showSnackBar( ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('請輸入正確的電子信箱')), SnackBar(content: Text(S.of(context).register_error_email_invalid)),
); );
_emailFocusNode.requestFocus(); _emailFocusNode.requestFocus();
return; return;
@@ -129,7 +131,7 @@ class _RegisterPageState extends State<RegisterPage> {
if (name == '') { if (name == '') {
ScaffoldMessenger.of(context).showSnackBar( ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('用戶姓名不可為空')), SnackBar(content: Text(S.of(context).register_error_username_empty)),
); );
_nameFocusNode.requestFocus(); _nameFocusNode.requestFocus();
return false; return false;
@@ -137,7 +139,7 @@ class _RegisterPageState extends State<RegisterPage> {
if (email == '') { if (email == '') {
ScaffoldMessenger.of(context).showSnackBar( ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('電子信箱不可為空')), SnackBar(content: Text(S.of(context).register_error_email_empty)),
); );
_emailFocusNode.requestFocus(); _emailFocusNode.requestFocus();
return false; return false;
@@ -145,7 +147,7 @@ class _RegisterPageState extends State<RegisterPage> {
if (password == '') { if (password == '') {
ScaffoldMessenger.of(context).showSnackBar( ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('密碼不可為空')), SnackBar(content: Text(S.of(context).register_error_password_empty)),
); );
_passwordFocusNode.requestFocus(); _passwordFocusNode.requestFocus();
return false; return false;
@@ -153,14 +155,14 @@ class _RegisterPageState extends State<RegisterPage> {
if (_generatedCode == ''){ if (_generatedCode == ''){
ScaffoldMessenger.of(context).showSnackBar( ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('請先發送驗證碼')), SnackBar(content: Text(S.of(context).register_error_verificationCode_not_send)),
); );
return false; return false;
} }
if (code == '' || code != _generatedCode) { if (code == '' || code != _generatedCode) {
ScaffoldMessenger.of(context).showSnackBar( ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('驗證碼錯誤')), SnackBar(content: Text(S.of(context).register_error_verificationCode_not_match)),
); );
_codeFocusNode.requestFocus(); _codeFocusNode.requestFocus();
return false; return false;
@@ -189,7 +191,7 @@ class _RegisterPageState extends State<RegisterPage> {
if (result.rows.isNotEmpty) { if (result.rows.isNotEmpty) {
ScaffoldMessenger.of(context).showSnackBar( ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('註冊失敗:電子信箱或帳號名稱已被使用,請嘗試更換或登入')), SnackBar(content: Text(S.of(context).register_error_usernameOrEmail_exist)),
); );
} else { } else {
await conn.execute( await conn.execute(
@@ -197,7 +199,7 @@ class _RegisterPageState extends State<RegisterPage> {
{'name': name, 'email': email, 'password': password}, {'name': name, 'email': email, 'password': password},
); );
ScaffoldMessenger.of(context).showSnackBar( ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('註冊成功!')), SnackBar(content: Text(S.of(context).register_success)),
); );
Navigator.pushReplacement( Navigator.pushReplacement(
@@ -214,7 +216,7 @@ class _RegisterPageState extends State<RegisterPage> {
} catch (e) { } catch (e) {
print('資料庫錯誤: $e'); print('資料庫錯誤: $e');
ScaffoldMessenger.of(context).showSnackBar( ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('註冊失敗:系統錯誤')), SnackBar(content: Text(S.of(context).register_error_server_error)),
); );
} finally { } finally {
await conn.close(); await conn.close();
@@ -375,7 +377,7 @@ class VerifyPage extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Text('註冊成功'), title: Text(S.of(context).register_success),
), ),
body: Center( body: Center(
child: Column( child: Column(
@@ -388,7 +390,7 @@ class VerifyPage extends StatelessWidget {
// 返回登入頁面 // 返回登入頁面
Navigator.pop(context); Navigator.pop(context);
}, },
child: Text('返回登入頁面'), child: Text(S.of(context).register_turn_back),
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: Color(0xFF4FC3F7), backgroundColor: Color(0xFF4FC3F7),
padding: EdgeInsets.symmetric(horizontal: 30, vertical: 15), padding: EdgeInsets.symmetric(horizontal: 30, vertical: 15),

View File

@@ -75,6 +75,29 @@ class MessageLookup extends MessageLookupByLibrary {
"phone": MessageLookupByLibrary.simpleMessage("Phone Number"), "phone": MessageLookupByLibrary.simpleMessage("Phone Number"),
"realtime_video": MessageLookupByLibrary.simpleMessage("Live View"), "realtime_video": MessageLookupByLibrary.simpleMessage("Live View"),
"register_button": MessageLookupByLibrary.simpleMessage("Register"), "register_button": MessageLookupByLibrary.simpleMessage("Register"),
"register_error_email_empty":
MessageLookupByLibrary.simpleMessage("Please enter your email"),
"register_error_email_invalid":
MessageLookupByLibrary.simpleMessage("Please enter a valid email"),
"register_error_password_empty":
MessageLookupByLibrary.simpleMessage("Please enter your password"),
"register_error_server_error": MessageLookupByLibrary.simpleMessage(
"Register Failed: Server error, please try again later"),
"register_error_usernameOrEmail_exist":
MessageLookupByLibrary.simpleMessage(
"Username or email already exists, please try again"),
"register_error_username_empty":
MessageLookupByLibrary.simpleMessage("Please enter your username"),
"register_error_verificationCode_not_match":
MessageLookupByLibrary.simpleMessage(
"Verification code does not match"),
"register_error_verificationCode_not_send":
MessageLookupByLibrary.simpleMessage(
"Please send the verification code first"),
"register_success":
MessageLookupByLibrary.simpleMessage("Register Success"),
"register_turn_back":
MessageLookupByLibrary.simpleMessage("Return to Login Page"),
"save": MessageLookupByLibrary.simpleMessage("Save"), "save": MessageLookupByLibrary.simpleMessage("Save"),
"switch_camera": MessageLookupByLibrary.simpleMessage("Switch View") "switch_camera": MessageLookupByLibrary.simpleMessage("Switch View")
}; };

View File

@@ -70,6 +70,24 @@ class MessageLookup extends MessageLookupByLibrary {
"phone": MessageLookupByLibrary.simpleMessage("電話"), "phone": MessageLookupByLibrary.simpleMessage("電話"),
"realtime_video": MessageLookupByLibrary.simpleMessage("即時畫面"), "realtime_video": MessageLookupByLibrary.simpleMessage("即時畫面"),
"register_button": MessageLookupByLibrary.simpleMessage("立即註冊"), "register_button": MessageLookupByLibrary.simpleMessage("立即註冊"),
"register_error_email_empty":
MessageLookupByLibrary.simpleMessage("電子信箱不可為空"),
"register_error_email_invalid":
MessageLookupByLibrary.simpleMessage("請輸入有效的電子信箱地址"),
"register_error_password_empty":
MessageLookupByLibrary.simpleMessage("密碼不可為空"),
"register_error_server_error":
MessageLookupByLibrary.simpleMessage("註冊失敗:系統錯誤"),
"register_error_usernameOrEmail_exist":
MessageLookupByLibrary.simpleMessage("註冊失敗:電子信箱或帳號名稱已被使用,請嘗試更換或登入"),
"register_error_username_empty":
MessageLookupByLibrary.simpleMessage("用戶姓名不可為空"),
"register_error_verificationCode_not_match":
MessageLookupByLibrary.simpleMessage("驗證碼錯誤"),
"register_error_verificationCode_not_send":
MessageLookupByLibrary.simpleMessage("請先發送驗證碼"),
"register_success": MessageLookupByLibrary.simpleMessage("註冊成功"),
"register_turn_back": MessageLookupByLibrary.simpleMessage("返回登入頁面"),
"save": MessageLookupByLibrary.simpleMessage("儲存變更"), "save": MessageLookupByLibrary.simpleMessage("儲存變更"),
"switch_camera": MessageLookupByLibrary.simpleMessage("切換畫面") "switch_camera": MessageLookupByLibrary.simpleMessage("切換畫面")
}; };

View File

@@ -110,6 +110,106 @@ class S {
); );
} }
/// `Please enter your email`
String get register_error_email_empty {
return Intl.message(
'Please enter your email',
name: 'register_error_email_empty',
desc: '',
args: [],
);
}
/// `Please enter a valid email`
String get register_error_email_invalid {
return Intl.message(
'Please enter a valid email',
name: 'register_error_email_invalid',
desc: '',
args: [],
);
}
/// `Please enter your username`
String get register_error_username_empty {
return Intl.message(
'Please enter your username',
name: 'register_error_username_empty',
desc: '',
args: [],
);
}
/// `Please enter your password`
String get register_error_password_empty {
return Intl.message(
'Please enter your password',
name: 'register_error_password_empty',
desc: '',
args: [],
);
}
/// `Please send the verification code first`
String get register_error_verificationCode_not_send {
return Intl.message(
'Please send the verification code first',
name: 'register_error_verificationCode_not_send',
desc: '',
args: [],
);
}
/// `Verification code does not match`
String get register_error_verificationCode_not_match {
return Intl.message(
'Verification code does not match',
name: 'register_error_verificationCode_not_match',
desc: '',
args: [],
);
}
/// `Username or email already exists, please try again`
String get register_error_usernameOrEmail_exist {
return Intl.message(
'Username or email already exists, please try again',
name: 'register_error_usernameOrEmail_exist',
desc: '',
args: [],
);
}
/// `Register Failed: Server error, please try again later`
String get register_error_server_error {
return Intl.message(
'Register Failed: Server error, please try again later',
name: 'register_error_server_error',
desc: '',
args: [],
);
}
/// `Register Success`
String get register_success {
return Intl.message(
'Register Success',
name: 'register_success',
desc: '',
args: [],
);
}
/// `Return to Login Page`
String get register_turn_back {
return Intl.message(
'Return to Login Page',
name: 'register_turn_back',
desc: '',
args: [],
);
}
/// `Live View` /// `Live View`
String get realtime_video { String get realtime_video {
return Intl.message( return Intl.message(

View File

@@ -5,6 +5,18 @@
"logout_button": "Logout", "logout_button": "Logout",
"register_button": "Register", "register_button": "Register",
"forgot_password": "Forgot password", "forgot_password": "Forgot password",
"register_error_email_empty": "Please enter your email",
"register_error_email_invalid": "Please enter a valid email",
"register_error_username_empty": "Please enter your username",
"register_error_password_empty": "Please enter your password",
"register_error_verificationCode_not_send": "Please send the verification code first",
"register_error_verificationCode_not_match": "Verification code does not match",
"register_error_usernameOrEmail_exist": "Username or email already exists, please try again",
"register_error_server_error": "Register Failed: Server error, please try again later",
"register_success": "Register Success",
"register_turn_back": "Return to Login Page",
"realtime_video": "Live View", "realtime_video": "Live View",
"fall_record": "Fall Record", "fall_record": "Fall Record",
"switch_camera": "Switch View", "switch_camera": "Switch View",

View File

@@ -6,6 +6,17 @@
"register_button": "立即註冊", "register_button": "立即註冊",
"forgot_password": "忘記密碼", "forgot_password": "忘記密碼",
"register_error_email_empty": "電子信箱不可為空",
"register_error_email_invalid": "請輸入有效的電子信箱地址",
"register_error_username_empty": "用戶姓名不可為空",
"register_error_password_empty": "密碼不可為空",
"register_error_verificationCode_not_send": "請先發送驗證碼",
"register_error_verificationCode_not_match": "驗證碼錯誤",
"register_error_usernameOrEmail_exist": "註冊失敗:電子信箱或帳號名稱已被使用,請嘗試更換或登入",
"register_error_server_error": "註冊失敗:系統錯誤",
"register_success": "註冊成功",
"register_turn_back": "返回登入頁面",
"realtime_video": "即時畫面", "realtime_video": "即時畫面",
"fall_record": "跌倒紀錄", "fall_record": "跌倒紀錄",
"switch_camera": "切換畫面", "switch_camera": "切換畫面",