Update intl package

This commit is contained in:
anhtunz
2025-06-18 10:02:40 +07:00
parent 2d53f2cdd3
commit d7d565a36a
7 changed files with 3213 additions and 44 deletions

View File

@@ -4,11 +4,11 @@ import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:sfm_app/firebase_options.dart'; import 'firebase_options.dart';
import 'product/lang/l10n/app_localizations.dart';
import 'product/services/api_services.dart'; import 'product/services/api_services.dart';
import 'product/services/notification_services.dart';
import 'product/services/theme_services.dart'; import 'product/services/theme_services.dart';
import 'product/services/language_services.dart'; import 'product/services/language_services.dart';
import 'bloc/main_bloc.dart'; import 'bloc/main_bloc.dart';

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,783 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for English (`en`).
class AppLocalizationsEn extends AppLocalizations {
AppLocalizationsEn([String locale = 'en']) : super(locale);
@override
String get description_NOTUSE => 'This is english language in HomePage';
@override
String get home_page_name => 'Home Page';
@override
String get vietnam_language => 'Vietnamese';
@override
String get english_language => 'English';
@override
String get notification => 'Notifications:';
@override
String get profile_icon_title => 'Settings';
@override
String get log_out => 'Log out';
@override
String get log_out_content => 'Are you sure you want to log out?';
@override
String get notification_description => 'All devices are operating normally';
@override
String get button_fake_fire_message => 'False fire alarm';
@override
String get in_progress_message => 'In progress';
@override
String get smoke_detecting_message => 'Smoke detecting!';
@override
String get low_battery_message => 'Low Battery!';
@override
String get smoke_detecting_message_lowercase => 'smoke detecting!';
@override
String get disconnect_message_uppercase => 'Disconnected';
@override
String get disconnect_message_lowercase => 'disconnected';
@override
String get location_message => 'Address: ';
@override
String get confirm_fake_fire_message =>
'Are you sure the fire is a false alarm?';
@override
String get confirm_fake_fire_body =>
'Please check carefully to ensure that this is just a normal incident. The fire department will confirm that this is a false alarm!';
@override
String get confirm_fake_fire_sure_message => 'I\'\'m sure';
@override
String get let_PCCC_handle_message =>
'Let the Fire Prevention and Fighting Team handle it!';
@override
String get overview_message => 'Overview';
@override
String get total_nof_devices_message => 'Total number of devices';
@override
String get over_view_owner_devices => 'Owner Devices';
@override
String get over_view_joined_devices => 'Joined Devices';
@override
String get active_devices_message => 'Active';
@override
String get inactive_devices_message => 'Inactive';
@override
String get warning_devices_message => 'Warning';
@override
String get unused_devices_message => 'Unused';
@override
String get description_NOTUSE1 =>
'This is english language in DeviceManagerPage';
@override
String get device_manager_page_name => 'Devices Manager';
@override
String get add_device_title => 'Add new device';
@override
String get input_extID_device_input => 'Devcice ID';
@override
String get input_extID_device_hintText => 'Enter the device ID';
@override
String get input_name_device_device => 'Device Name';
@override
String get input_name_device_hintText => 'Enter the device Name';
@override
String get paginated_data_table_title => 'List of devices';
@override
String get paginated_data_table_column_action => 'Action';
@override
String get paginated_data_table_column_deviceName => 'Device name';
@override
String get paginated_data_table_column_deviceStatus => 'Status';
@override
String get paginated_data_table_column_deviceBaterry => 'Battery';
@override
String get paginated_data_table_column_deviceSignal => 'Signal';
@override
String get paginated_data_table_column_deviceTemperature => 'Temperature';
@override
String get paginated_data_table_column_deviceHump => 'Humidity';
@override
String get paginated_data_table_column_devicePower => 'Power';
@override
String get delete_device_dialog_title => 'Remove device';
@override
String get delete_device_dialog_content =>
'Are you sure you want to delete this device?';
@override
String get update_device_dialog_title => 'Update device';
@override
String get update_device_dialog_location_title => 'Device location';
@override
String get update_device_dialog_location_longitude => 'Longitude';
@override
String get update_device_dialog_location_latitude => 'Latitude';
@override
String get update_device_dialog_location_longitude_hintText =>
'Enter longitude';
@override
String get update_device_dialog_location_latitude_hintText =>
'Enter latitude';
@override
String get update_device_dialog_location_province_hintText =>
'Select Province/City';
@override
String get update_device_dialog_location_province_searchHint =>
'Find Province/City';
@override
String get update_device_dialog_location_district_hintText =>
'Select District';
@override
String get update_device_dialog_location_district_searchHint =>
'Find district';
@override
String get update_device_dialog_location_ward_hintText =>
'Select Ward/Commune';
@override
String get update_device_dialog_location_ward_searchHint =>
'Find Ward/Commune';
@override
String get update_device_dialog_maps_dialog_title => 'Update location';
@override
String get update_device_dialog_search_location_hint => 'Search Location';
@override
String get description_NOTUSE8 =>
'This is english language in MapPositionPage';
@override
String get map_your_location => 'Your Location';
@override
String get map_show_direction => 'Give directions';
@override
String get map_nearby_hospital => 'Nearby hospital';
@override
String get map_nearest_hospital => 'Nearest hospital';
@override
String get map_nearby_firestation => 'Nearby fire station';
@override
String get map_nearest_firestation => 'Nearest fire station';
@override
String get map_result => 'Result';
@override
String get map_always_opened => 'Always open';
@override
String get map_openning => 'Openning';
@override
String get map_closed => 'Closed';
@override
String get map_no_results => 'No results found';
@override
String get map_start => 'Start';
@override
String get map_destination => 'Destination';
@override
String get map_stream => 'Stream';
@override
String get description_NOTUSE2 => 'This is english language in DeviceLogPage';
@override
String get device_log_page_name => 'Devices Log';
@override
String get choose_device_dropdownButton => 'Select device';
@override
String get choose_date_start_datePicker => 'Start from';
@override
String get choose_date_end_datePicker => 'End';
@override
String get main_no_data => 'No data yet.';
@override
String get event_tag_title => 'Event';
@override
String get description_NOTUSE3 => 'This is english language in InterFamily';
@override
String get interfamily_page_name => 'InterFamily';
@override
String get my_group_title => 'My group';
@override
String get invite_group => 'Joined group';
@override
String get add_new_group => 'Add new group';
@override
String get join_group => 'Join group';
@override
String get group_name_title => 'Group Name';
@override
String get group_id_title => 'Group ID';
@override
String get add_new_user_title => 'Add user';
@override
String get share_group_title => 'Share group';
@override
String get change_group_infomation_title => 'Change Infomation';
@override
String get change_group_infomation_content => 'Change group infomation';
@override
String get delete_group_title => 'Delete group';
@override
String get delete_group_content =>
'Are you sure you want to delete this group?';
@override
String get leave_group_content =>
'Are you sure you want to leave this group?';
@override
String get dont_have_group => 'No group yet';
@override
String get dont_join_group => 'You haven\'\'t joined any groups yet.';
@override
String get description_group => 'Description';
@override
String get add_new_device_title => 'Add new device';
@override
String get approve_user => 'Approve members';
@override
String get devices_title => 'Devices';
@override
String get device_title => 'Device';
@override
String get member_title => 'Members';
@override
String get leave_group_title => 'Leave group';
@override
String get dont_have_device => 'No device yet';
@override
String get description_NOTUSE4 => 'This is english language in ProfilePage';
@override
String get profile_page_title => 'Settings Page';
@override
String get profile_change_info => 'Change information';
@override
String get profile_change_pass => 'Change password';
@override
String get profile_setting => 'Notification Setting';
@override
String get change_profile_title => 'Personal information';
@override
String get change_profile_username => 'Username: ';
@override
String get change_profile_username_hint => 'Enter username ';
@override
String get change_profile_email => 'Email: ';
@override
String get change_profile_email_hint => 'Enter email ';
@override
String get change_profile_email_not_empty => 'Email cannot be empty';
@override
String get change_profile_tel => 'Phone number: ';
@override
String get change_profile_tel_hint => 'Enter phone number';
@override
String get change_profile_tel_not_empty => 'Phone number cannot be empty';
@override
String get change_profile_address => 'Address: ';
@override
String get change_profile_address_hint => 'Enter address';
@override
String get change_profile_old_pass => 'Password: ';
@override
String get change_profile_old_pass_hint => 'Enter password';
@override
String get change_profile_old_pass_not_empty =>
'Old password cannot be empty';
@override
String get change_profile_new_pass => 'New password: ';
@override
String get change_profile_new_pass_hint => 'Enter new password';
@override
String get change_profile_new_pass_not_empty =>
'New password cannot be empty';
@override
String get change_profile_device_notification_select_all => 'Select all';
@override
String get change_profile_device_notification_deselect_all => 'Deselect all';
@override
String get description_NOTUSE5 => 'This is english language in BellPage';
@override
String get bell_page_title => 'Notifications';
@override
String get bell_page_no_items_body => 'No notifications yet';
@override
String get bell_user_uppercase => 'User';
@override
String get bell_battery_device => 'Device Battery';
@override
String get bell_user_joined_group => 'joined group';
@override
String get bell_leave_group => 'left group';
@override
String get bell_user_added_group => 'added to the group';
@override
String get bell_user_kick_group => 'removed from the group';
@override
String get bell_operate_normal => 'operating normally';
@override
String get bell_invalid_code => 'Invalid event code';
@override
String get bell_days_ago => 'days ago';
@override
String get bell_hours_ago => 'hours ago';
@override
String get bell_minutes_ago => 'minutes ago';
@override
String get bell_just_now => 'just now';
@override
String get bell_read_all => 'You have read all the notifications';
@override
String get description_NOTUSE6 =>
'This is english language in GlobalFunction';
@override
String get gf_newly_create_message => 'Newly created';
@override
String get gf_disconnect_message => 'Disconnected';
@override
String get gf_smoke_detected_message => 'Smoke detected';
@override
String get gf_no_signal_message => 'No Signal';
@override
String get gf_weak_signal_message => 'Weak Signal';
@override
String get gf_moderate_signal_message => 'Moderate signal';
@override
String get gf_good_signal_message => 'Good signal';
@override
String get gf_volt_detect_message => 'Voltage detected';
@override
String get gf_temp_detect_message => 'Temperature detected';
@override
String get gf_hum_detect_message => 'Humidity detected';
@override
String get gf_battery_detect_message => 'Battery detected';
@override
String get gf_offline_message => 'Offline';
@override
String get gf_in_firefighting_message => 'In firefighting';
@override
String get gf_device_error_message => 'Device error';
@override
String get gf_not_move_message => 'Not moved';
@override
String get gf_moving_message => 'Moved';
@override
String get gf_remove_from_base_message => 'Removed from the base';
@override
String get gf_connected_lowercase => 'connected';
@override
String get description_NOTUSE7 => 'This is english language in LoginPage';
@override
String get login_account_not_empty => 'Account cannot be empty';
@override
String get login_account_hint => 'Account';
@override
String get login_password_not_empty => 'Password cannot be empty';
@override
String get login_password_hint => 'Password';
@override
String get login_success_message => 'Login successful';
@override
String get login_incorrect_usernameOrPass => 'Incorrect account or password';
@override
String get login_button_content => 'Login';
@override
String get description_NOTUSE9 =>
'This is english language in DeviceUpdatePage';
@override
String get device_update_title => 'Update Device';
@override
String get device_update_location => 'Device Location';
@override
String get device_update_province => 'Province/City';
@override
String get device_update_district => 'District';
@override
String get device_update_ward => 'Ward/Commune';
@override
String get description_NOTUSE10 =>
'This is english language in DetailDevicePage';
@override
String get detail_device_dont_has_location_message =>
'No location information available yet';
@override
String get detail_device_volt_message => 'Measured voltage (V)';
@override
String get no_data_message => 'No data yet';
@override
String get normal_message => 'Normal';
@override
String get warning_status_message => 'Warning';
@override
String get undefine_message => 'Undefined';
@override
String get low_message_uppercase => 'Low';
@override
String get moderate_message_uppercase => 'Moderate';
@override
String get good_message_uppercase => 'Good';
@override
String get low_message_lowercase => 'low';
@override
String get moderate_message_lowercase => 'moderate';
@override
String get good_message_lowercase => 'good';
@override
String get error_message_uppercase => 'Error';
@override
String get error_message_lowercase => 'error';
@override
String get warning_message => 'Warning: ';
@override
String get loading_message => 'Loading...';
@override
String get detail_message => 'Detail';
@override
String get permission_deny_message => 'Permission Denied';
@override
String get decline_message => 'Decline';
@override
String get allow_message => 'Allow';
@override
String get add_button_content => 'Add';
@override
String get update_button_content => 'Update';
@override
String get change_button_content => 'Change';
@override
String get confirm_button_content => 'Confirm';
@override
String get delete_button_content => 'Delete';
@override
String get cancel_button_content => 'Cancel';
@override
String get find_button_content => 'Find';
@override
String get home_page_destination => 'Home';
@override
String get manager_page_destination => 'Manager';
@override
String get map_page_destination => 'Map';
@override
String get history_page_destination => 'History';
@override
String get history_page_destination_tooltip => 'Device history';
@override
String get group_page_destination => 'Group';
@override
String get group_page_destination_tooltip => 'Exchange device notifications';
@override
String get notification_enter_all_inf =>
'Please enter all the required information';
@override
String get notification_update_device_success => 'Device update successfully';
@override
String get notification_update_device_failed => 'Device update failed';
@override
String get notification_update_device_error => 'Device update Error';
@override
String get notification_cannot_find_address_from_location =>
'Can\'\'t find the location';
@override
String get notification_add_device_success => 'Device added successfully';
@override
String get notification_add_device_failed => 'Failed to add device';
@override
String get notification_create_device_success =>
'Device created successfully';
@override
String get notification_create_device_failed => 'Failed to create device';
@override
String get notification_delete_device_success =>
'Device deleted successfully';
@override
String get notification_delete_device_failed => 'Failed to delete device';
@override
String get notification_device_not_exist => 'The device does not exist';
@override
String get notification_add_group_success => 'Group created successfully';
@override
String get notification_add_group_failed => 'Failed to create group';
@override
String get notification_update_group_success => 'Group updated successfully';
@override
String get notification_update_group_failed => 'Failed to updated group';
@override
String get notification_delete_group_success => 'Group deleted successfully';
@override
String get notification_delete_group_failed => 'Failed to delete group';
@override
String get notification_leave_group_success => 'Leave group successfully';
@override
String get notification_leave_group_failed => 'Failed to leave group';
@override
String get notification_join_request_group_success =>
'Group join request successful!';
@override
String get notification_join_request_group_failed =>
'Group join request failed!';
@override
String get notification_update_profile_success =>
'Update profile successfully';
@override
String get notification_update_profile_failed => 'Failed to update profile';
@override
String get notification_update_password_success =>
'Change password successfully';
@override
String get notification_update_password_failed =>
'The old password does not match';
@override
String get notification_update_device_settings_success =>
'Device notification updated successfully';
@override
String get notification_update_device_settings_failed =>
'Failed to update device notification';
@override
String get notification_confirm_fake_fire_success =>
'Information has been updated to the Fire Station';
@override
String get notification_confirm_fake_fire_failed =>
'Failed to update confirm fake fire';
}

View File

@@ -0,0 +1,777 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Vietnamese (`vi`).
class AppLocalizationsVi extends AppLocalizations {
AppLocalizationsVi([String locale = 'vi']) : super(locale);
@override
String get description_NOTUSE => 'This is VietNam language in HomePage';
@override
String get home_page_name => 'Trang chủ';
@override
String get vietnam_language => 'Tiếng Việt';
@override
String get english_language => 'Tiếng Anh';
@override
String get notification => 'Thông báo:';
@override
String get profile_icon_title => 'Cài đặt';
@override
String get log_out => 'Đăng xuất';
@override
String get log_out_content => 'Bạn chắc chắn muốn đăng xuất?';
@override
String get notification_description =>
'Tất cả thiết bị hoạt động bình thường';
@override
String get button_fake_fire_message => 'Cháy giả?';
@override
String get in_progress_message => 'Đang xử lý';
@override
String get smoke_detecting_message => 'Phát hiện khói!';
@override
String get low_battery_message => 'Cảnh báo pin yếu!';
@override
String get smoke_detecting_message_lowercase => 'Phát hiện khói!';
@override
String get disconnect_message_uppercase => 'Mất kết nối';
@override
String get disconnect_message_lowercase => 'mất kết nối';
@override
String get location_message => 'Địa chỉ: ';
@override
String get confirm_fake_fire_message => 'Bạn chắc chắn đám cháy là cháy giả?';
@override
String get confirm_fake_fire_body =>
'Bạn hãy kiểm tra thật kỹ để chắc chắn rằng đây chỉ là sự cố bình thường. Đội PCCC sẽ xác nhận đây là đám cháy giả!';
@override
String get confirm_fake_fire_sure_message => 'Tôi chắc chắn';
@override
String get let_PCCC_handle_message => 'Hãy để Đội PCCC xử lý!';
@override
String get overview_message => 'Tổng quan';
@override
String get total_nof_devices_message => 'Tổng số';
@override
String get over_view_owner_devices => 'Thiết bị sở hữu';
@override
String get over_view_joined_devices => 'Thiết bị tham gia';
@override
String get active_devices_message => 'Bình thường';
@override
String get inactive_devices_message => 'Đang tắt';
@override
String get warning_devices_message => 'Cảnh báo';
@override
String get unused_devices_message => 'Không sử dụng';
@override
String get description_NOTUSE1 =>
'This is vietnamese language in DeviceManagerPage';
@override
String get device_manager_page_name => 'Quản lý thiết bị';
@override
String get add_device_title => 'Thêm thiết bị';
@override
String get input_extID_device_input => 'Mã thiết bị';
@override
String get input_extID_device_hintText => 'Nhập mã thiết bị';
@override
String get input_name_device_device => 'Tên thiết bị';
@override
String get input_name_device_hintText => 'Nhập tên thiết bị';
@override
String get paginated_data_table_title => 'Danh sách thiết bị';
@override
String get paginated_data_table_column_action => 'Thao tác';
@override
String get paginated_data_table_column_deviceName => 'Tên thiết bị';
@override
String get paginated_data_table_column_deviceStatus => 'Tình trạng';
@override
String get paginated_data_table_column_deviceBaterry => 'Mức pin';
@override
String get paginated_data_table_column_deviceSignal => 'Mức sóng';
@override
String get paginated_data_table_column_deviceTemperature => 'Nhiệt độ';
@override
String get paginated_data_table_column_deviceHump => 'Độ ẩm';
@override
String get paginated_data_table_column_devicePower => 'Nguồn';
@override
String get delete_device_dialog_title => 'Xóa thiết bị';
@override
String get delete_device_dialog_content =>
'Bạn có chắc chắn muốn xóa thiết bị này?';
@override
String get update_device_dialog_title => 'Sửa thiết bị';
@override
String get update_device_dialog_location_title => 'Ví trí thiết bị';
@override
String get update_device_dialog_location_longitude => 'Kinh độ';
@override
String get update_device_dialog_location_latitude => 'Vĩ độ';
@override
String get update_device_dialog_location_longitude_hintText => 'Nhập kinh độ';
@override
String get update_device_dialog_location_latitude_hintText => 'Nhập vĩ độ';
@override
String get update_device_dialog_location_province_hintText =>
'Chọn Tỉnh/Thành phố';
@override
String get update_device_dialog_location_province_searchHint =>
'Tìm Tỉnh/Thành phố';
@override
String get update_device_dialog_location_district_hintText =>
'Chọn Quận/Huyện';
@override
String get update_device_dialog_location_district_searchHint =>
'Tìm Quận/Huyện';
@override
String get update_device_dialog_location_ward_hintText => 'Chọn Phường/Xã';
@override
String get update_device_dialog_location_ward_searchHint => 'Tìm Phường/Xã';
@override
String get update_device_dialog_maps_dialog_title => 'Cập nhật vị trí';
@override
String get update_device_dialog_search_location_hint => 'Tìm kiếm địa chỉ';
@override
String get description_NOTUSE8 =>
'This is vietnamese language in MapPositionPage';
@override
String get map_your_location => 'Vị trí của bạn';
@override
String get map_show_direction => 'Chỉ đường';
@override
String get map_nearby_hospital => 'Bệnh viện gần đó';
@override
String get map_nearest_hospital => 'Bệnh viện gần nhất';
@override
String get map_nearby_firestation => 'Trạm cứu hỏa gần đó';
@override
String get map_nearest_firestation => 'Trạm cứu hỏa gần nhất';
@override
String get map_result => 'Kết quả';
@override
String get map_always_opened => 'Luôn mở cửa';
@override
String get map_openning => 'Đang mở cửa';
@override
String get map_closed => 'Đóng cửa';
@override
String get map_no_results => 'Không tìm thấy kết quả';
@override
String get map_start => 'Xuất phát';
@override
String get map_destination => 'Đích đến';
@override
String get map_stream => 'Trực tiếp';
@override
String get description_NOTUSE2 =>
'This is vietnamese language in DeviceLogPage';
@override
String get device_log_page_name => 'Lịch sử thiết bị';
@override
String get choose_device_dropdownButton => 'Chọn thiết bị';
@override
String get choose_date_start_datePicker => 'Bắt đầu từ';
@override
String get choose_date_end_datePicker => 'Kết thúc';
@override
String get main_no_data => 'Chưa có dữ liệu.';
@override
String get event_tag_title => 'Sự kiện';
@override
String get description_NOTUSE3 =>
'This is vietnamese language in InterFamily';
@override
String get interfamily_page_name => 'Liên gia';
@override
String get my_group_title => 'Nhóm của tôi';
@override
String get invite_group => 'Nhóm tham gia';
@override
String get add_new_group => 'Thêm nhóm mới';
@override
String get join_group => 'Tham gia nhóm';
@override
String get group_name_title => 'Tên nhóm';
@override
String get group_id_title => 'Mã nhóm';
@override
String get add_new_user_title => 'Thêm người dùng';
@override
String get share_group_title => 'Chia sẻ nhóm';
@override
String get change_group_infomation_title => 'Đổi thông tin';
@override
String get change_group_infomation_content => 'Chỉnh sửa thông tin nhóm';
@override
String get delete_group_title => 'Xóa nhóm';
@override
String get delete_group_content => 'Bạn chắc chắn muốn xóa nhóm này?';
@override
String get leave_group_content => 'Bạn chắc chắn muốn rời nhóm?';
@override
String get dont_have_group => 'Chưa có nhóm';
@override
String get dont_join_group => 'Bạn chưa tham gia nhóm nào';
@override
String get description_group => 'Mô tả';
@override
String get add_new_device_title => 'Thêm thiết bị mới';
@override
String get approve_user => 'Duyệt thành viên';
@override
String get devices_title => 'Thiết bị';
@override
String get device_title => 'Thiết bị';
@override
String get member_title => 'Thành viên';
@override
String get leave_group_title => 'Rời nhóm';
@override
String get dont_have_device => 'Chưa có thiết bị';
@override
String get description_NOTUSE4 =>
'This is vietnamese language in ProfilePage';
@override
String get profile_page_title => 'Cài đặt';
@override
String get profile_change_info => 'Đổi thông tin cá nhân';
@override
String get profile_change_pass => 'Đổi mật khẩu';
@override
String get profile_setting => 'Cài đặt thông báo';
@override
String get change_profile_title => 'Thông tin người dùng';
@override
String get change_profile_username => 'Tên người dùng: ';
@override
String get change_profile_username_hint => 'Nhập tên ';
@override
String get change_profile_email => 'Email: ';
@override
String get change_profile_email_hint => 'Nhập email ';
@override
String get change_profile_email_not_empty => 'Email không được để trống';
@override
String get change_profile_tel => 'Số điện thoại: ';
@override
String get change_profile_tel_hint => 'Nhập số điện thoại';
@override
String get change_profile_tel_not_empty =>
'Số điện thoại không được để trống';
@override
String get change_profile_address => 'Địa chỉ: ';
@override
String get change_profile_address_hint => 'Nhập địa chỉ';
@override
String get change_profile_old_pass => 'Mật khẩu cũ: ';
@override
String get change_profile_old_pass_hint => 'Nhập mật khẩu cũ';
@override
String get change_profile_old_pass_not_empty =>
'Mật khẩu không được để trống';
@override
String get change_profile_new_pass => 'Mật khẩu mới: ';
@override
String get change_profile_new_pass_hint => 'Nhập mật khẩu mới';
@override
String get change_profile_new_pass_not_empty =>
'Mật khẩu không được để trống';
@override
String get change_profile_device_notification_select_all => 'Chọn tất cả';
@override
String get change_profile_device_notification_deselect_all =>
'Bỏ chọn tất cả';
@override
String get description_NOTUSE5 => 'This is vietnamese language in BellPage';
@override
String get bell_page_title => 'Thông báo';
@override
String get bell_page_no_items_body => 'Chưa có thông báo';
@override
String get bell_user_uppercase => 'Người dùng';
@override
String get bell_battery_device => 'Pin thiết bị';
@override
String get bell_user_joined_group => 'đã tham gia nhóm';
@override
String get bell_leave_group => 'đã rời nhóm';
@override
String get bell_user_added_group => 'đã được thêm vào nhóm';
@override
String get bell_user_kick_group => 'đã bị xóa khỏi nhóm';
@override
String get bell_operate_normal => 'hoạt động bình thường';
@override
String get bell_invalid_code => 'Mã sự kiện không hợp lệ';
@override
String get bell_days_ago => 'ngày trước';
@override
String get bell_hours_ago => 'giờ trước';
@override
String get bell_minutes_ago => 'phút trước';
@override
String get bell_just_now => 'Vừa xong';
@override
String get bell_read_all => 'Bạn đã xem hết thông báo';
@override
String get description_NOTUSE6 =>
'This is vietnamese language in GlobalFunction';
@override
String get gf_newly_create_message => 'Mới tạo';
@override
String get gf_disconnect_message => 'Mất kết nối';
@override
String get gf_smoke_detected_message => 'Đang hoạt động';
@override
String get gf_no_signal_message => 'Không có sóng';
@override
String get gf_weak_signal_message => 'Mức sóng yếu';
@override
String get gf_moderate_signal_message => 'Mức sóng khá';
@override
String get gf_good_signal_message => 'Mức sóng tốt';
@override
String get gf_volt_detect_message => 'Có điện thế';
@override
String get gf_temp_detect_message => 'Có nhiệt độ';
@override
String get gf_hum_detect_message => 'Có độ ẩm';
@override
String get gf_battery_detect_message => 'Có mức pin';
@override
String get gf_offline_message => 'Không hoạt động';
@override
String get gf_in_firefighting_message => 'Đang chữa cháy';
@override
String get gf_device_error_message => 'Thiết bị lỗi';
@override
String get gf_not_move_message => 'Chưa di chuyển';
@override
String get gf_moving_message => 'Đã di chuyển';
@override
String get gf_remove_from_base_message => 'Bị tháo khỏi đế';
@override
String get gf_connected_lowercase => 'đã kết nối';
@override
String get description_NOTUSE7 => 'This is vietnamese language in LoginPage';
@override
String get login_account_not_empty => 'Tài khoản không được để trống';
@override
String get login_account_hint => 'Tài khoản';
@override
String get login_password_not_empty => 'Mật khẩu không được để trống';
@override
String get login_password_hint => 'Mật khẩu';
@override
String get login_success_message => 'Đăng nhập thành công';
@override
String get login_incorrect_usernameOrPass =>
'Tài khoản hoặc mật khẩu không đúng';
@override
String get login_button_content => 'Đăng nhập';
@override
String get description_NOTUSE9 =>
'This is vietnamese language in DeviceUpdatePage';
@override
String get device_update_title => 'Chỉnh sửa chi tiết thiết bị';
@override
String get device_update_location => 'Vị trí thiết bị';
@override
String get device_update_province => 'Tỉnh/Thành phố';
@override
String get device_update_district => 'Quận/Huyện';
@override
String get device_update_ward => 'Phường/Xã';
@override
String get description_NOTUSE10 =>
'This is vietnamese language in DetailDevicePage';
@override
String get detail_device_dont_has_location_message =>
'Chưa có thông tin về vị trí';
@override
String get detail_device_volt_message => 'Nguồn điện đo được (V)';
@override
String get no_data_message => 'Chưa có';
@override
String get normal_message => 'Bình thường';
@override
String get warning_status_message => 'Cảnh báo';
@override
String get undefine_message => 'Không xác định';
@override
String get low_message_uppercase => 'Yếu';
@override
String get moderate_message_uppercase => 'Khá';
@override
String get good_message_uppercase => 'Tốt';
@override
String get low_message_lowercase => 'yếu';
@override
String get moderate_message_lowercase => 'khá';
@override
String get good_message_lowercase => 'tốt';
@override
String get error_message_uppercase => 'Lỗi';
@override
String get error_message_lowercase => 'lỗi';
@override
String get warning_message => 'Cảnh báo:';
@override
String get loading_message => 'Đang tải...';
@override
String get detail_message => 'Chi tiết';
@override
String get permission_deny_message => 'Quyền bị từ chối';
@override
String get decline_message => 'TỪ CHỐI';
@override
String get allow_message => 'CHO PHÉP';
@override
String get add_button_content => 'Thêm';
@override
String get update_button_content => 'Cập nhật';
@override
String get change_button_content => 'Chỉnh sửa';
@override
String get confirm_button_content => 'Xác nhận';
@override
String get delete_button_content => 'Xóa';
@override
String get cancel_button_content => 'Hủy';
@override
String get find_button_content => 'Tìm';
@override
String get home_page_destination => 'Trang chủ';
@override
String get manager_page_destination => 'Quản lý';
@override
String get map_page_destination => 'Bản đồ';
@override
String get history_page_destination => 'Lịch sử';
@override
String get history_page_destination_tooltip => 'Lịch sử thiết bị';
@override
String get group_page_destination => 'Nhóm';
@override
String get group_page_destination_tooltip => 'Trao đổi thông báo thiết bị';
@override
String get notification_enter_all_inf => 'Vui lòng điền đầy đủ thông tin';
@override
String get notification_update_device_success =>
'Cập nhật thiết bị thành công';
@override
String get notification_update_device_failed => 'Cập nhật thiết bị thất bại';
@override
String get notification_update_device_error => 'Cập nhật lỗi';
@override
String get notification_cannot_find_address_from_location =>
'Không tìm được vị trí';
@override
String get notification_add_device_success => 'Thêm thiết bị thành công';
@override
String get notification_add_device_failed => 'Thêm thiết bị thất bại';
@override
String get notification_create_device_success => 'Tạo thiết bị thành công';
@override
String get notification_create_device_failed => 'Tạo thiết bị thất bại';
@override
String get notification_delete_device_success => 'Xóa thiết bị thành công';
@override
String get notification_delete_device_failed => 'Xóa thiết bị thất bại';
@override
String get notification_device_not_exist => 'Thiết bị không tồn tại';
@override
String get notification_add_group_success => 'Tạo nhóm thành công';
@override
String get notification_add_group_failed => 'Tạo nhóm thất bại';
@override
String get notification_update_group_success => 'Sửa nhóm thành công';
@override
String get notification_update_group_failed => 'Sửa nhóm thất bại';
@override
String get notification_delete_group_success => 'Xóa nhóm thành công';
@override
String get notification_delete_group_failed => 'Xóa nhóm thất bại';
@override
String get notification_leave_group_success => 'Rời nhóm thành công';
@override
String get notification_leave_group_failed => 'Rời nhóm thất bại';
@override
String get notification_join_request_group_success =>
'Yêu cầu tham gia nhóm thành công!';
@override
String get notification_join_request_group_failed =>
'Yêu cầu tham gia nhóm thất bại!';
@override
String get notification_update_profile_success => 'Sửa thông tin thành công';
@override
String get notification_update_profile_failed => 'Sửa thông tin thất bại';
@override
String get notification_update_password_success => 'Đổi mật khẩu thành công';
@override
String get notification_update_password_failed => 'Mật khẩu cũ không khớp';
@override
String get notification_update_device_settings_success =>
'Cập nhật thông báo cho thiết bị thành công';
@override
String get notification_update_device_settings_failed =>
'Cập nhật thông báo cho thiết bị thất bại';
@override
String get notification_confirm_fake_fire_success =>
'Đã cập nhật thông tin đến đội PCCC';
@override
String get notification_confirm_fake_fire_failed =>
'Cập nhật cháy giả thất bại';
}

View File

@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import '../cache/local_manager.dart'; import '../cache/local_manager.dart';
import '../constant/enums/local_keys_enums.dart'; import '../constant/enums/local_keys_enums.dart';
import '../constant/lang/language_constants.dart'; import '../constant/lang/language_constants.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import '../lang/l10n/app_localizations.dart';
class LanguageServices { class LanguageServices {
Future<Locale> setLocale(String languageCode) async { Future<Locale> setLocale(String languageCode) async {

View File

@@ -37,10 +37,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: async name: async
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.11.0" version: "2.13.0"
badges: badges:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -53,10 +53,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: boolean_selector name: boolean_selector
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
change_app_package_name: change_app_package_name:
dependency: "direct dev" dependency: "direct dev"
description: description:
@@ -69,10 +69,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: characters name: characters
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.0" version: "1.4.0"
checked_yaml: checked_yaml:
dependency: transitive dependency: transitive
description: description:
@@ -93,18 +93,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: clock name: clock
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.1" version: "1.1.2"
collection: collection:
dependency: transitive dependency: transitive
description: description:
name: collection name: collection
sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.19.0" version: "1.19.1"
crypto: crypto:
dependency: transitive dependency: transitive
description: description:
@@ -181,10 +181,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: fake_async name: fake_async
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.1" version: "1.3.3"
ffi: ffi:
dependency: transitive dependency: transitive
description: description:
@@ -513,10 +513,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: intl name: intl
sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.19.0" version: "0.20.2"
json_annotation: json_annotation:
dependency: transitive dependency: transitive
description: description:
@@ -529,18 +529,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker name: leak_tracker
sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "10.0.7" version: "10.0.9"
leak_tracker_flutter_testing: leak_tracker_flutter_testing:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker_flutter_testing name: leak_tracker_flutter_testing
sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.8" version: "3.0.9"
leak_tracker_testing: leak_tracker_testing:
dependency: transitive dependency: transitive
description: description:
@@ -593,10 +593,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: matcher name: matcher
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.12.16+1" version: "0.12.17"
material_color_utilities: material_color_utilities:
dependency: transitive dependency: transitive
description: description:
@@ -609,18 +609,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.15.0" version: "1.16.0"
path: path:
dependency: transitive dependency: transitive
description: description:
name: path name: path
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.9.0" version: "1.9.1"
path_provider_linux: path_provider_linux:
dependency: transitive dependency: transitive
description: description:
@@ -846,10 +846,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: source_span name: source_span
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.10.0" version: "1.10.1"
sprintf: sprintf:
dependency: transitive dependency: transitive
description: description:
@@ -862,18 +862,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: stack_trace name: stack_trace
sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.12.0" version: "1.12.1"
stream_channel: stream_channel:
dependency: transitive dependency: transitive
description: description:
name: stream_channel name: stream_channel
sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.2" version: "2.1.4"
stream_transform: stream_transform:
dependency: transitive dependency: transitive
description: description:
@@ -886,26 +886,26 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: string_scanner name: string_scanner
sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.0" version: "1.4.1"
term_glyph: term_glyph:
dependency: transitive dependency: transitive
description: description:
name: term_glyph name: term_glyph
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.2.1" version: "1.2.2"
test_api: test_api:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.3" version: "0.7.4"
timezone: timezone:
dependency: transitive dependency: transitive
description: description:
@@ -1014,10 +1014,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: vm_service name: vm_service
sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "14.3.0" version: "15.0.0"
web: web:
dependency: transitive dependency: transitive
description: description:
@@ -1059,5 +1059,5 @@ packages:
source: hosted source: hosted
version: "3.1.3" version: "3.1.3"
sdks: sdks:
dart: ">=3.6.0 <4.0.0" dart: ">=3.7.0-0 <4.0.0"
flutter: ">=3.27.0" flutter: ">=3.27.0"

View File

@@ -15,7 +15,7 @@ dependencies:
sdk: flutter sdk: flutter
cupertino_icons: ^1.0.2 cupertino_icons: ^1.0.2
shared_preferences: ^2.2.2 shared_preferences: ^2.2.2
intl: ^0.19.0 intl: ^0.20.2
firebase_core: ^3.13.0 firebase_core: ^3.13.0
firebase_messaging: ^15.2.5 firebase_messaging: ^15.2.5
flutter_local_notifications: ^17.2.4 flutter_local_notifications: ^17.2.4