更新法语语言包

This commit is contained in:
wyf
2026-01-31 14:43:47 +08:00
parent 2aedbb3d74
commit 97ffc1220d
48 changed files with 1608 additions and 1837 deletions

View File

@@ -1022,6 +1022,10 @@ class MHTLoginPage extends GetView<MHTLoginController> {
letterSpacing:
0,
),
maxLines: 1,
overflow:
TextOverflow
.ellipsis,
),
),
),
@@ -1134,6 +1138,10 @@ class MHTLoginPage extends GetView<MHTLoginController> {
letterSpacing:
0,
),
maxLines: 1,
overflow:
TextOverflow
.ellipsis,
),
),
),
@@ -1992,7 +2000,10 @@ class MHTLoginPage extends GetView<MHTLoginController> {
mainAxisSize: MainAxisSize.max,
mainAxisAlignment:
MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment
.start, // 改为顶部对齐
children: [
// 左边的选择框 - 保持不变
Align(
alignment:
AlignmentDirectional(0, 0),
@@ -2008,190 +2019,138 @@ class MHTLoginPage extends GetView<MHTLoginController> {
AlignmentDirectional(
0, 0),
child: Theme(
data: ThemeData(
checkboxTheme:
CheckboxThemeData(
visualDensity:
VisualDensity
.compact,
materialTapTargetSize:
MaterialTapTargetSize
.shrinkWrap,
shape:
RoundedRectangleBorder(
borderRadius:
BorderRadius
.circular(
64),
),
data: ThemeData(
checkboxTheme:
CheckboxThemeData(
visualDensity:
VisualDensity
.compact,
materialTapTargetSize:
MaterialTapTargetSize
.shrinkWrap,
shape:
RoundedRectangleBorder(
borderRadius:
BorderRadius
.circular(
64),
),
unselectedWidgetColor:
Color(0xFFD3D3D3),
),
child: Obx(
() => Checkbox(
value: registerController
unselectedWidgetColor:
Color(0xFFD3D3D3),
),
child: Obx(
() => Checkbox(
value: registerController
.model
.register_agree ??
false,
onChanged:
(newValue) async {
registerController
.model
.register_agree ??
false,
onChanged:
(newValue) async {
registerController
.model
.register_agree =
newValue;
controller
.updateAll();
registerController
.updateAll();
// 获取设备信息,需要用户点击确认隐私协议与用户协议选择框时才能获取
// if (newValue ==
// true) {
// Deviceconfig
// .initPlatformState();
// }
},
side: BorderSide(
width: 1.5,
color:
Colors.white,
),
activeColor:
stringToColor(
"#84F5FF"),
checkColor:
stringToColor(
"#011D33"),
.register_agree =
newValue;
controller
.updateAll();
registerController
.updateAll();
},
side: BorderSide(
width: 1.5,
color: Colors.white,
),
)),
activeColor:
stringToColor(
"#84F5FF"),
checkColor:
stringToColor(
"#011D33"),
),
),
),
),
),
),
),
Flexible(
child: Padding(
padding: EdgeInsetsDirectional
.fromSTEB(0, 0, 0, 0),
child: Container(
width:
MediaQuery.sizeOf(context)
.width *
0.622,
height:
MediaQuery.sizeOf(context)
.height *
1,
constraints: BoxConstraints(
minWidth: 466,
minHeight: 30,
),
decoration: BoxDecoration(),
child: Container(
width: 100,
height: 100,
decoration: BoxDecoration(),
child: Row(
mainAxisSize:
MainAxisSize.max,
children: [
Align(
alignment:
AlignmentDirectional(
0, 0),
child: Text(
'我已阅读并同意'.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color:
Colors.white,
fontSize: 23.rpx,
letterSpacing: 0,
),
),
),
Align(
alignment:
AlignmentDirectional(
0, 0),
child: InkWell(
onTap: () {
Get.toNamed(
"/userPolicyPageNew",
arguments:
getPrivacy(
2));
},
child: Text(
'《用户协议》'.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color:
stringToColor(
"FF9F66"),
fontSize:
23.rpx,
letterSpacing:
0,
),
),
),
),
Align(
alignment:
AlignmentDirectional(
0, 0),
child: Text(
''.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color:
Colors.white,
fontSize: 23.rpx,
letterSpacing: 0,
),
),
),
Align(
alignment:
AlignmentDirectional(
0, 0),
child: InkWell(
onTap: () {
Get.toNamed(
"/privacyPolicyPageNew",
arguments:
getPrivacy(
1));
},
child: Text(
'《隐私协议》'.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color:
stringToColor(
"FF9F66"),
fontSize:
23.rpx,
letterSpacing:
0,
),
),
),
),
],
// 右边的文字部分 - 修改这里
SizedBox(width: 8), // 添加一些间距
Expanded(
// 使用 Expanded 而不是 Flexible
child: Container(
decoration: BoxDecoration(),
child: Wrap(
// 使用 Wrap 替代 Row实现自动换行
spacing: 0, // 文字之间的水平间距
runSpacing: 0, // 行之间的垂直间距
children: [
Text(
'我已阅读并同意'.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color: Colors.white,
fontSize: 23.rpx,
letterSpacing: 0,
),
),
),
InkWell(
onTap: () {
Get.toNamed(
"/userPolicyPageNew",
arguments:
getPrivacy(2));
},
child: Text(
'《用户协议》'.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color: stringToColor(
"FF9F66"),
fontSize: 23.rpx,
letterSpacing: 0,
),
),
),
Text(
''.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color: Colors.white,
fontSize: 23.rpx,
letterSpacing: 0,
),
),
InkWell(
onTap: () {
Get.toNamed(
"/privacyPolicyPageNew",
arguments:
getPrivacy(1));
},
child: Text(
'《隐私协议》'.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color: stringToColor(
"FF9F66"),
fontSize: 23.rpx,
letterSpacing: 0,
),
),
),
],
),
),
),
],
),
),
),
),
Obx(() {
@@ -2229,7 +2188,7 @@ class MHTLoginPage extends GetView<MHTLoginController> {
.fromSTEB(
0, 0, 0, 0),
child: Container(
width: 36,
width: 44,
height: 36,
decoration:
BoxDecoration(),
@@ -2247,44 +2206,26 @@ class MHTLoginPage extends GetView<MHTLoginController> {
context)
.width *
0.622,
height: MediaQuery.sizeOf(
context)
.height *
1,
// constraints:
// BoxConstraints(
// minWidth: 466,
// minHeight: 30,
// ),
decoration:
BoxDecoration(),
child: Container(
// width: 100,
// height: 100,
decoration:
BoxDecoration(),
child: Row(
mainAxisSize:
MainAxisSize.max,
child: Wrap(
// 将 Row 改为 Wrap实现自动换行
children: [
Align(
alignment:
AlignmentDirectional(
0, 0),
child: Text(
'注:首次登录会自动创建账号'
.tr,
style:
TextStyle(
fontFamily:
'Readex Pro',
color: stringToColor(
"#FFFFFF"),
fontSize:
23.rpx,
letterSpacing:
0,
),
Text(
'注:首次登录会自动创建账号'
.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color: stringToColor(
"#FFFFFF"),
fontSize:
23.rpx,
letterSpacing:
0,
),
),
],
@@ -2371,17 +2312,17 @@ class MHTLoginPage extends GetView<MHTLoginController> {
child: Text.rich(
TextSpan(
children: [
TextSpan(
text: "还没有账号?".tr,
style: TextStyle(
color: Colors
.white, // 设置"还没有账号?"为白色
fontFamily:
'Readex Pro',
fontSize: AppFontsize
.small_text_size,
),
),
// TextSpan(
// text: "还没有账号?".tr,
// style: TextStyle(
// color: Colors
// .white, // 设置"还没有账号?"为白色
// fontFamily:
// 'Readex Pro',
// fontSize: AppFontsize
// .small_text_size,
// ),
// ),
TextSpan(
text: '前往注册'.tr,
style: TextStyle(

View File

@@ -826,11 +826,206 @@ class RegisterPage extends GetView<MHTRegisterController> {
minHeight: 30,
),
decoration: BoxDecoration(),
// child: Row(
// mainAxisSize: MainAxisSize.max,
// mainAxisAlignment:
// MainAxisAlignment.start,
// children: [
// Align(
// alignment:
// AlignmentDirectional(0, 0),
// child: Padding(
// padding: EdgeInsetsDirectional
// .fromSTEB(0, 3, 0, 0),
// child: Container(
// width: 36,
// height: 36,
// decoration: BoxDecoration(),
// child: Align(
// alignment:
// AlignmentDirectional(
// 0, 0),
// child: Theme(
// data: ThemeData(
// checkboxTheme:
// CheckboxThemeData(
// visualDensity:
// VisualDensity
// .compact,
// materialTapTargetSize:
// MaterialTapTargetSize
// .shrinkWrap,
// shape:
// RoundedRectangleBorder(
// borderRadius:
// BorderRadius
// .circular(
// 64),
// ),
// ),
// unselectedWidgetColor:
// Color(0xFFD3D3D3),
// ),
// child: Obx(
// () => Checkbox(
// value: controller
// .model
// .register_agree ??
// false,
// onChanged:
// (newValue) async {
// controller.model
// .register_agree =
// newValue;
// controller
// .updateAll();
// },
// side: BorderSide(
// width: 1.5,
// color: Colors.white,
// ),
// activeColor:
// const Color(
// 0xFF84F5FF),
// checkColor:
// Color(0xFF003058),
// visualDensity:
// VisualDensity(
// horizontal:
// -4.0,
// vertical:
// -4.0),
// ),
// )),
// ),
// ),
// ),
// ),
// Flexible(
// child: Padding(
// padding: EdgeInsetsDirectional
// .fromSTEB(0, 0, 0, 0),
// child: Container(
// width:
// MediaQuery.sizeOf(context)
// .width *
// 0.622,
// height:
// MediaQuery.sizeOf(context)
// .height *
// 1,
// constraints: BoxConstraints(
// minWidth: 466,
// minHeight: 30,
// ),
// decoration: BoxDecoration(),
// child: Container(
// width: 100,
// height: 100,
// decoration: BoxDecoration(),
// child: Row(
// mainAxisSize:
// MainAxisSize.max,
// children: [
// Align(
// alignment:
// AlignmentDirectional(
// 0, 0),
// child: Text(
// '我已阅读并同意'.tr,
// style: TextStyle(
// fontFamily:
// 'Readex Pro',
// color: Colors.white,
// fontSize: 12,
// letterSpacing: 0,
// ),
// ),
// ),
// Align(
// alignment:
// AlignmentDirectional(
// 0, 0),
// child: InkWell(
// onTap: () {
// Get.toNamed(
// "/userPolicyPageNew",
// arguments:
// getPrivacy(
// 2));
// },
// child: Text(
// '《用户协议》'.tr,
// style: TextStyle(
// fontFamily:
// 'Readex Pro',
// color:
// stringToColor(
// "FF9F66"),
// fontSize: 12,
// letterSpacing: 0,
// ),
// ),
// ),
// ),
// Align(
// alignment:
// AlignmentDirectional(
// 0, 0),
// child: Text(
// '与'.tr,
// style: TextStyle(
// fontFamily:
// 'Readex Pro',
// color: Colors.white,
// fontSize: 12,
// letterSpacing: 0,
// ),
// ),
// ),
// Align(
// alignment:
// AlignmentDirectional(
// 0, 0),
// child: InkWell(
// onTap: () {
// Get.toNamed(
// "/privacyPolicyPageNew",
// arguments:
// getPrivacy(
// 1));
// },
// child: Text(
// '《隐私协议》'.tr,
// style: TextStyle(
// fontFamily:
// 'Readex Pro',
// color:
// stringToColor(
// "FF9F66"),
// fontSize: 12,
// letterSpacing: 0,
// ),
// ),
// ),
// ),
// ],
// ),
// ),
// ),
// ),
// ),
// ],
// ),
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment:
MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment
.start, // 添加这个,让文字与选择框顶部对齐
children: [
// 左边的选择框 - 保持不变
Align(
alignment:
AlignmentDirectional(0, 0),
@@ -846,173 +1041,133 @@ class RegisterPage extends GetView<MHTRegisterController> {
AlignmentDirectional(
0, 0),
child: Theme(
data: ThemeData(
checkboxTheme:
CheckboxThemeData(
visualDensity:
VisualDensity
.compact,
materialTapTargetSize:
MaterialTapTargetSize
.shrinkWrap,
shape:
RoundedRectangleBorder(
borderRadius:
BorderRadius
.circular(
64),
),
data: ThemeData(
checkboxTheme:
CheckboxThemeData(
visualDensity:
VisualDensity
.compact,
materialTapTargetSize:
MaterialTapTargetSize
.shrinkWrap,
shape:
RoundedRectangleBorder(
borderRadius:
BorderRadius
.circular(64),
),
unselectedWidgetColor:
Color(0xFFD3D3D3),
),
child: Obx(
() => Checkbox(
value: controller
.model
.register_agree ??
false,
onChanged:
(newValue) async {
controller.model
.register_agree =
newValue;
controller
.updateAll();
},
side: BorderSide(
width: 1.5,
color: Colors.white,
),
activeColor:
const Color(
0xFF84F5FF),
checkColor:
Color(0xFF003058),
visualDensity:
VisualDensity(
horizontal:
-4.0,
vertical:
-4.0),
unselectedWidgetColor:
Color(0xFFD3D3D3),
),
child: Obx(
() => Checkbox(
value: controller.model
.register_agree ??
false,
onChanged:
(newValue) async {
controller.model
.register_agree =
newValue;
controller
.updateAll();
},
side: BorderSide(
width: 1.5,
color: Colors.white,
),
)),
activeColor:
const Color(
0xFF84F5FF),
checkColor:
Color(0xFF003058),
visualDensity:
VisualDensity(
horizontal: -4.0,
vertical: -4.0,
),
),
),
),
),
),
),
),
Flexible(
child: Padding(
padding: EdgeInsetsDirectional
.fromSTEB(0, 0, 0, 0),
child: Container(
width:
MediaQuery.sizeOf(context)
.width *
0.622,
height:
MediaQuery.sizeOf(context)
.height *
1,
constraints: BoxConstraints(
minWidth: 466,
minHeight: 30,
),
decoration: BoxDecoration(),
child: Container(
width: 100,
height: 100,
decoration: BoxDecoration(),
child: Row(
mainAxisSize:
MainAxisSize.max,
children: [
Align(
alignment:
AlignmentDirectional(
0, 0),
child: Text(
'我已阅读并同意'.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color: Colors.white,
fontSize: 12,
letterSpacing: 0,
),
),
),
Align(
alignment:
AlignmentDirectional(
0, 0),
child: InkWell(
onTap: () {
Get.toNamed(
"/userPolicyPageNew",
arguments:
getPrivacy(
2));
},
child: Text(
'《用户协议》'.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color:
stringToColor(
"FF9F66"),
fontSize: 12,
letterSpacing: 0,
),
),
),
),
Align(
alignment:
AlignmentDirectional(
0, 0),
child: Text(
''.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color: Colors.white,
fontSize: 12,
letterSpacing: 0,
),
),
),
Align(
alignment:
AlignmentDirectional(
0, 0),
child: InkWell(
onTap: () {
Get.toNamed(
"/privacyPolicyPageNew",
arguments:
getPrivacy(
1));
},
child: Text(
'《隐私协议》'.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color:
stringToColor(
"FF9F66"),
fontSize: 12,
letterSpacing: 0,
),
),
),
),
],
SizedBox(width: 8), // 添加间距
// 右边的文字部分 - 修改这里
Expanded(
// 使用 Expanded 替代 Flexible
child: Container(
decoration: BoxDecoration(),
child: Wrap(
// 将 Row 改为 Wrap实现自动换行
spacing: 4, // 文字之间的水平间距
runSpacing: 0, // 行之间的垂直间距
alignment:
WrapAlignment.start, // 左对齐
crossAxisAlignment:
WrapCrossAlignment
.center, // 垂直居中
children: [
Text(
'我已阅读并同意'.tr,
style: TextStyle(
fontFamily: 'Readex Pro',
color: Colors.white,
fontSize: 12,
letterSpacing: 0,
),
),
),
InkWell(
onTap: () {
Get.toNamed(
"/userPolicyPageNew",
arguments:
getPrivacy(2));
},
child: Text(
'《用户协议》'.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color: stringToColor(
"FF9F66"),
fontSize: 12,
letterSpacing: 0,
),
),
),
Text(
''.tr,
style: TextStyle(
fontFamily: 'Readex Pro',
color: Colors.white,
fontSize: 12,
letterSpacing: 0,
),
),
InkWell(
onTap: () {
Get.toNamed(
"/privacyPolicyPageNew",
arguments:
getPrivacy(1));
},
child: Text(
'《隐私协议》'.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color: stringToColor(
"FF9F66"),
fontSize: 12,
letterSpacing: 0,
),
),
),
],
),
),
),

View File

@@ -125,29 +125,37 @@ class UpdatePasswordPage extends GetView<UpdatePasswordController> {
child: Row(
mainAxisSize: MainAxisSize.max,
children: [
Container(
constraints: BoxConstraints(
minWidth: 158
.rpx, // 设置最小宽度为 100
),
child: Align(
alignment:
AlignmentDirectional(
-1, 0),
child: Text(
'输入手机号码'.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color: Colors.white,
fontSize: AppFontsize
.normal_text_size,
letterSpacing: 0,
Flexible(
flex: 1,
child: Container(
constraints:
BoxConstraints(
minWidth: 158
.rpx, // 设置最小宽度为 100
),
child: Align(
alignment:
AlignmentDirectional(
-1, 0),
child: Text(
'输入手机号码'.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color: Colors.white,
fontSize: AppFontsize
.normal_text_size,
letterSpacing: 0,
),
maxLines: 2,
overflow: TextOverflow
.ellipsis,
),
),
),
),
Flexible(
flex: 2,
child: Container(
width: MediaQuery.sizeOf(
context)
@@ -264,29 +272,37 @@ class UpdatePasswordPage extends GetView<UpdatePasswordController> {
child: Row(
mainAxisSize: MainAxisSize.max,
children: [
Container(
constraints: BoxConstraints(
minWidth: 158
.rpx, // 设置最小宽度为 100
),
child: Align(
alignment:
AlignmentDirectional(
-1, 0),
child: Text(
'输入验证码'.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color: Colors.white,
fontSize: AppFontsize
.normal_text_size,
letterSpacing: 0,
Flexible(
flex: 1,
child: Container(
constraints:
BoxConstraints(
minWidth: 158
.rpx, // 设置最小宽度为 100
),
child: Align(
alignment:
AlignmentDirectional(
-1, 0),
child: Text(
'输入验证码'.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color: Colors.white,
fontSize: AppFontsize
.normal_text_size,
letterSpacing: 0,
),
maxLines: 2,
overflow: TextOverflow
.ellipsis,
),
),
),
),
Flexible(
flex: 2,
child: Container(
width: MediaQuery.sizeOf(
context)
@@ -483,6 +499,10 @@ class UpdatePasswordPage extends GetView<UpdatePasswordController> {
letterSpacing:
0,
),
maxLines:
1,
overflow:
TextOverflow.ellipsis,
),
);
}),
@@ -500,30 +520,37 @@ class UpdatePasswordPage extends GetView<UpdatePasswordController> {
Row(
mainAxisSize: MainAxisSize.max,
children: [
Container(
constraints: BoxConstraints(
Flexible(
flex: 1,
child: Container(
constraints: BoxConstraints(
minWidth: 158.rpx,
maxWidth:
158.rpx // 设置最小宽度为 100
),
child: Align(
alignment:
AlignmentDirectional(
-1, 0),
child: Text(
'输入新密码'.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color: Colors.white,
fontSize: AppFontsize
.normal_text_size,
letterSpacing: 0,
// maxWidth: 158
// .rpx // 设置最小宽度为 100
),
child: Align(
alignment:
AlignmentDirectional(
-1, 0),
child: Text(
'输入新密码'.tr,
style: TextStyle(
fontFamily:
'Readex Pro',
color: Colors.white,
fontSize: AppFontsize
.normal_text_size,
letterSpacing: 0,
),
maxLines: 2,
overflow: TextOverflow
.ellipsis,
),
),
),
),
Flexible(
flex: 2,
child: Container(
width: MediaQuery.sizeOf(
context)
@@ -665,31 +692,37 @@ class UpdatePasswordPage extends GetView<UpdatePasswordController> {
Row(
mainAxisSize: MainAxisSize.max,
children: [
Container(
constraints: BoxConstraints(
Flexible(
flex: 1,
child: Container(
constraints: BoxConstraints(
minWidth: 158.rpx,
maxWidth:
158.rpx // 设置最小宽度为 100
),
child: Align(
alignment:
AlignmentDirectional(
-1, 0),
child: Text(
'确认新密码'.tr,
maxLines: 2,
style: TextStyle(
fontFamily:
'Readex Pro',
color: Colors.white,
fontSize: AppFontsize
.normal_text_size,
letterSpacing: 0,
// maxWidth: 158
// .rpx // 设置最小宽度为 100
),
child: Align(
alignment:
AlignmentDirectional(
-1, 0),
child: Text(
'确认新密码'.tr,
maxLines: 2,
style: TextStyle(
fontFamily:
'Readex Pro',
color: Colors.white,
fontSize: AppFontsize
.normal_text_size,
letterSpacing: 0,
),
overflow: TextOverflow
.ellipsis,
),
),
),
),
Flexible(
flex: 2,
child: Container(
width: MediaQuery.sizeOf(
context)