更新控制页多语言

This commit is contained in:
wyf
2025-08-08 10:22:51 +08:00
parent 88a03a361c
commit 48d8645fd9
15 changed files with 51 additions and 29 deletions

View File

@@ -1,3 +1,3 @@
[
"assets/miniapp/mhtControl_1.0.49.zip"
"assets/miniapp/mhtControl_1.0.54.zip"
]

View File

@@ -546,8 +546,8 @@
"正在打开微信客服...": "Opening WeChat Support...",
"起床时间:": "Wake Up:",
"入睡时间:": "Sleep Time",
"入睡时间": "Sleep Onset Time",
"起床时间": "起床时间",
"入睡时间": "Sleep Time",
"起床时间": "Wake Time",
"次": "Times",
"次/分": "times/min",
"毫秒": "ms",
@@ -597,5 +597,6 @@
"去查看": "View now",
"正常值": "range:",
"绑定设备": "Bind Device",
"设备分享提醒": "Device Sharing Alert","生命体征":"Vital signs"
"设备分享提醒": "Device Sharing Alert","生命体征":"Vital signs",
"无报告":"none"
}

View File

@@ -593,5 +593,6 @@
"该设备的历史数据将被清除": "该设备的历史数据将被清除","有一条新的设备分享消息":"有一条新的设备分享消息","去查看":"去查看",
"正常值":"正常值:",
"绑定设备":"绑定设备",
"设备分享提醒":"设备分享提醒","生命体征":"生命体征"
"设备分享提醒":"设备分享提醒","生命体征":"生命体征",
"无报告":"无报告"
}

View File

@@ -596,5 +596,6 @@
"正常值": "正常值:",
"绑定设备": "绑定设备",
"设备分享提醒": "設備分享提醒",
"生命体征": "生命體徵"
"生命体征": "生命體徵",
"无报告":"无报告"
}

View File

@@ -34,7 +34,7 @@ class _SleepCalendarWidgetState extends State<SleepCalendarWidget> {
CalendarController calendarController = Get.find();
RxMap sleepDate = <dynamic, dynamic>{}.obs;
RxList showLabel = <dynamic>[
{"level": 5, "name": "无报告", "color": "#9E9E9E"}
{"level": 5, "name": "无报告".tr, "color": "#9E9E9E"}
].obs;
// @override
// void initState() {
@@ -149,7 +149,7 @@ class _SleepCalendarWidgetState extends State<SleepCalendarWidget> {
),
),
Obx(() => Text(
'${calendarController.displayedMonth.value.year}${calendarController.displayedMonth.value.month}',
'${calendarController.displayedMonth.value.year}/${calendarController.displayedMonth.value.month}',
style: TextStyle(
color: Colors.white,
fontSize: 30.rpx,

View File

@@ -19,9 +19,7 @@ import 'package:vbvs_app/common/util/CheckNetwork.dart';
import 'package:vbvs_app/common/util/CommonVariables.dart';
import 'package:vbvs_app/common/util/Dio.dart';
import 'package:vbvs_app/common/util/FitTool.dart';
import 'package:vbvs_app/common/util/MyUtils.dart';
import 'package:vbvs_app/common/util/requestWithLog.dart';
import 'package:vbvs_app/component/tool/TopSlideNotification.dart';
import 'package:vbvs_app/controller/date/CalendarController.dart';
import 'package:vbvs_app/controller/device/blueteeth_bind_controller.dart';
import 'package:vbvs_app/controller/device/body_device_controller.dart';

View File

@@ -5,6 +5,7 @@ import 'package:ef/ef.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:vbvs_app/common/util/CommonVariables.dart';
import 'package:vbvs_app/common/util/MyUtils.dart';
import 'package:vbvs_app/component/NullDataComponentWidget.dart';
import 'package:vbvs_app/component/tool/TopSlideNotification.dart';
import 'package:vbvs_app/controller/mh_controller/mh_language_controller.dart';
@@ -195,6 +196,9 @@ class _HomePageState extends State<MainPageBBottomChange>
UserInfoController userInfoController = Get.find();
WebviewTestController webviewTestController = Get.find();
if (index == 2) {
WebviewTestController webviewTestController = Get.find();
webviewTestController.web.jsbridge?.dart
.switchLanguage(mhLanguageController.selectLanguage.value!.language_code);
await webviewTestController.web.jsbridge?.dart.pageActive(true);
//激活websocket
edm.EasyDartModule.websocket.sendData(jsonEncode(WebSocketMessage(

View File

@@ -12,6 +12,7 @@ import 'package:vbvs_app/enum/APPPackageType.dart';
import 'package:vbvs_app/language/AppLanguage.dart';
import 'package:vbvs_app/pages/device_bind/componnet/FancyCircleCheckbox.dart';
import 'package:vbvs_app/pages/mh_page/homepage/controller/mht_home_controller.dart';
import 'package:vbvs_app/pages/mh_page/test/WebviewTestModel.dart';
class LanguagePage extends StatefulWidget {
const LanguagePage({super.key});
@@ -33,7 +34,6 @@ class _LanguagePageState extends State<LanguagePage> {
Widget build(BuildContext context) {
return LayoutBuilder(
builder: (context, bodySize) => GestureDetector(
// onTap: () => FocusScope.of(context).unfocus(),,
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
@@ -147,8 +147,17 @@ class _LanguagePageState extends State<LanguagePage> {
try {
// ef.kv.set("language",
// language.language_code);
ef.kvdb.write("mht/language",
await ef.kvdb.write(
"mht/language",
language.language_code);
//todo 通知语言
WebviewTestController
webviewTestController =
Get.find();
webviewTestController
.web.jsbridge?.dart
.switchLanguage(language
.language_code);
} catch (e) {
print(e);
}
@@ -192,7 +201,6 @@ class _LanguagePageState extends State<LanguagePage> {
lang.selected = (lang ==
language); // 根据选择更新状态
}
await AppLanguage().loadLanguage(
language
.language_code,
@@ -222,6 +230,15 @@ class _LanguagePageState extends State<LanguagePage> {
"mht/language",
language
.language_code);
//todo 通知语言
WebviewTestController
webviewTestController =
Get.find();
webviewTestController
.web.jsbridge?.dart
.switchLanguage(language
.language_code);
} catch (e) {
print(e);
}
@@ -239,15 +256,6 @@ class _LanguagePageState extends State<LanguagePage> {
);
}),
),
// ClickableContainer(
// backgroundColor: Colors.transparent, // 容器背景色
// highlightColor: themeController
// .currentColor.sc21, // 点击时的背景色
// padding: EdgeInsetsDirectional.fromSTEB(
// 40.rpx, 0.rpx, 40.rpx, 0.rpx),
// onTap: () {},
// child: Container(),
// ),
]
.divide(SizedBox(height: 0.rpx))
.addToStart(SizedBox(height: 30.rpx))

View File

@@ -278,8 +278,8 @@ class _BluetoothPageState extends State<BluetoothPage> {
"/mhtWifiAfterPage",
arguments: obsData,
),
// _buildMenuButton(
// context, '睡眠习惯', "/sleepHabitPage"),
_buildMenuButton(
context, '睡眠习惯', "/sleepHabitPage"),
_buildMenuButton(
context, '分享设备'.tr, "/deviceSharePage",
arguments: obsData),
@@ -447,6 +447,7 @@ class _BluetoothPageState extends State<BluetoothPage> {
onTap(); // 自定义点击逻辑优先执行
} else if (path?.isNotEmpty == true) {
if (path == "/sleepHabitPage") {
Get.back();
WebviewTestController webviewTestController = Get.find();
webviewTestController.web.jsbridge?.dart.toSleepHabit();
return;

View File

@@ -151,7 +151,8 @@ class DeviceInfoWidget extends GetView {
try {
WebviewTestController webviewTestController =
Get.find();
webviewTestController.web.jsbridge?.dart
.switchLanguage(mhLanguageController.selectLanguage.value!.language_code);
webviewTestController.web.jsbridge?.dart
.pageActive(false);
// await Future.delayed(Duration(seconds: 1));

View File

@@ -4,6 +4,7 @@ import 'package:flutterflow_ui/flutterflow_ui.dart';
import 'package:vbvs_app/common/color/appConstants.dart';
import 'package:vbvs_app/common/util/DailyLogUtils.dart';
import 'package:vbvs_app/common/util/FitTool.dart';
import 'package:vbvs_app/common/util/MyUtils.dart';
import 'package:vbvs_app/component/tool/CustomCard.dart';
import 'package:vbvs_app/component/tool/TopSlideNotification.dart';
import 'package:vbvs_app/pages/main_bottom/component/main_page_b_bottom_change.dart';
@@ -85,7 +86,11 @@ class _HomeDeviceStausWidgetState extends State<HomeDeviceStausWidget> {
onTap: () async {
try {
var device = widget.deviceStatus;
WebviewTestController webviewTestController = Get.find();
webviewTestController.web.jsbridge?.dart.switchLanguage(
mhLanguageController
.selectLanguage.value!.language_code);
webviewTestController.web.jsbridge?.dart
.pageActive(false);
await Future.delayed(Duration(seconds: 1));

View File

@@ -98,7 +98,7 @@ class _SnoreViewWidgetWidgetState extends State<BreathePauseNewWidget> {
Container(
child: Text(
// "呼吸暂停监测介绍。",
"呼吸暂停监测是指用户在睡眠过程中产生的呼吸暂停的图表说明。",
"呼吸暂停监测是指用户在睡眠过程中产生的呼吸暂停的图表说明。".tr,
style: TextStyle(
fontSize: 26.rpx,
color: Colors.black,

View File

@@ -128,7 +128,7 @@ class _SnoreViewWidgetWidgetState extends State<SnoreViewWidgetWidget> {
Container(
child: Text(
// "打鼾监测介绍。",
"打鼾监测是指用户在睡眠过程中打鼾频次的图表说明。",
"打鼾监测是指用户在睡眠过程中打鼾频次的图表说明。".tr,
style: TextStyle(
fontSize: 26.rpx,
color: Colors.black,

View File

@@ -89,6 +89,7 @@ dev_dependencies:
build_runner: ^2.4.6
json_serializable: ^6.8.0
dependency_overrides:
http_parser: ^4.1.0
collection: ^1.19.0
@@ -98,6 +99,7 @@ dependency_overrides:
geolocator_android: 4.4.1
geocoding: 4.0.0
fluwx: 5.5.2
font_awesome_flutter: 10.5.0
flutter:
uses-material-design: true