From d7d565a36aa9245a1e972aef6bbf02f498525145 Mon Sep 17 00:00:00 2001 From: anhtunz Date: Wed, 18 Jun 2025 10:02:40 +0700 Subject: [PATCH] Update intl package --- lib/main.dart | 6 +- lib/product/lang/l10n/app_localizations.dart | 1609 +++++++++++++++++ .../lang/l10n/app_localizations_en.dart | 783 ++++++++ .../lang/l10n/app_localizations_vi.dart | 777 ++++++++ lib/product/services/language_services.dart | 2 +- pubspec.lock | 78 +- pubspec.yaml | 2 +- 7 files changed, 3213 insertions(+), 44 deletions(-) create mode 100644 lib/product/lang/l10n/app_localizations.dart create mode 100644 lib/product/lang/l10n/app_localizations_en.dart create mode 100644 lib/product/lang/l10n/app_localizations_vi.dart diff --git a/lib/main.dart b/lib/main.dart index e356485..a2e5c2d 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -4,11 +4,11 @@ import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter/foundation.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: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/notification_services.dart'; import 'product/services/theme_services.dart'; import 'product/services/language_services.dart'; import 'bloc/main_bloc.dart'; diff --git a/lib/product/lang/l10n/app_localizations.dart b/lib/product/lang/l10n/app_localizations.dart new file mode 100644 index 0000000..f53b39d --- /dev/null +++ b/lib/product/lang/l10n/app_localizations.dart @@ -0,0 +1,1609 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_localizations/flutter_localizations.dart'; +import 'package:intl/intl.dart' as intl; + +import 'app_localizations_en.dart'; +import 'app_localizations_vi.dart'; + +// ignore_for_file: type=lint + +/// Callers can lookup localized strings with an instance of AppLocalizations +/// returned by `AppLocalizations.of(context)`. +/// +/// Applications need to include `AppLocalizations.delegate()` in their app's +/// `localizationDelegates` list, and the locales they support in the app's +/// `supportedLocales` list. For example: +/// +/// ```dart +/// import 'l10n/app_localizations.dart'; +/// +/// return MaterialApp( +/// localizationsDelegates: AppLocalizations.localizationsDelegates, +/// supportedLocales: AppLocalizations.supportedLocales, +/// home: MyApplicationHome(), +/// ); +/// ``` +/// +/// ## Update pubspec.yaml +/// +/// Please make sure to update your pubspec.yaml to include the following +/// packages: +/// +/// ```yaml +/// dependencies: +/// # Internationalization support. +/// flutter_localizations: +/// sdk: flutter +/// intl: any # Use the pinned version from flutter_localizations +/// +/// # Rest of dependencies +/// ``` +/// +/// ## iOS Applications +/// +/// iOS applications define key application metadata, including supported +/// locales, in an Info.plist file that is built into the application bundle. +/// To configure the locales supported by your app, you’ll need to edit this +/// file. +/// +/// First, open your project’s ios/Runner.xcworkspace Xcode workspace file. +/// Then, in the Project Navigator, open the Info.plist file under the Runner +/// project’s Runner folder. +/// +/// Next, select the Information Property List item, select Add Item from the +/// Editor menu, then select Localizations from the pop-up menu. +/// +/// Select and expand the newly-created Localizations item then, for each +/// locale your application supports, add a new item and select the locale +/// you wish to add from the pop-up menu in the Value field. This list should +/// be consistent with the languages listed in the AppLocalizations.supportedLocales +/// property. +abstract class AppLocalizations { + AppLocalizations(String locale) + : localeName = intl.Intl.canonicalizedLocale(locale.toString()); + + final String localeName; + + static AppLocalizations? of(BuildContext context) { + return Localizations.of(context, AppLocalizations); + } + + static const LocalizationsDelegate delegate = + _AppLocalizationsDelegate(); + + /// A list of this localizations delegate along with the default localizations + /// delegates. + /// + /// Returns a list of localizations delegates containing this delegate along with + /// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, + /// and GlobalWidgetsLocalizations.delegate. + /// + /// Additional delegates can be added by appending to this list in + /// MaterialApp. This list does not have to be used at all if a custom list + /// of delegates is preferred or required. + static const List> localizationsDelegates = + >[ + delegate, + GlobalMaterialLocalizations.delegate, + GlobalCupertinoLocalizations.delegate, + GlobalWidgetsLocalizations.delegate, + ]; + + /// A list of this localizations delegate's supported locales. + static const List supportedLocales = [ + Locale('en'), + Locale('vi') + ]; + + /// No description provided for @description_NOTUSE. + /// + /// In en, this message translates to: + /// **'This is english language in HomePage'** + String get description_NOTUSE; + + /// No description provided for @home_page_name. + /// + /// In en, this message translates to: + /// **'Home Page'** + String get home_page_name; + + /// No description provided for @vietnam_language. + /// + /// In en, this message translates to: + /// **'Vietnamese'** + String get vietnam_language; + + /// No description provided for @english_language. + /// + /// In en, this message translates to: + /// **'English'** + String get english_language; + + /// No description provided for @notification. + /// + /// In en, this message translates to: + /// **'Notifications:'** + String get notification; + + /// No description provided for @profile_icon_title. + /// + /// In en, this message translates to: + /// **'Settings'** + String get profile_icon_title; + + /// No description provided for @log_out. + /// + /// In en, this message translates to: + /// **'Log out'** + String get log_out; + + /// No description provided for @log_out_content. + /// + /// In en, this message translates to: + /// **'Are you sure you want to log out?'** + String get log_out_content; + + /// No description provided for @notification_description. + /// + /// In en, this message translates to: + /// **'All devices are operating normally'** + String get notification_description; + + /// No description provided for @button_fake_fire_message. + /// + /// In en, this message translates to: + /// **'False fire alarm'** + String get button_fake_fire_message; + + /// No description provided for @in_progress_message. + /// + /// In en, this message translates to: + /// **'In progress'** + String get in_progress_message; + + /// No description provided for @smoke_detecting_message. + /// + /// In en, this message translates to: + /// **'Smoke detecting!'** + String get smoke_detecting_message; + + /// No description provided for @low_battery_message. + /// + /// In en, this message translates to: + /// **'Low Battery!'** + String get low_battery_message; + + /// No description provided for @smoke_detecting_message_lowercase. + /// + /// In en, this message translates to: + /// **'smoke detecting!'** + String get smoke_detecting_message_lowercase; + + /// No description provided for @disconnect_message_uppercase. + /// + /// In en, this message translates to: + /// **'Disconnected'** + String get disconnect_message_uppercase; + + /// No description provided for @disconnect_message_lowercase. + /// + /// In en, this message translates to: + /// **'disconnected'** + String get disconnect_message_lowercase; + + /// No description provided for @location_message. + /// + /// In en, this message translates to: + /// **'Address: '** + String get location_message; + + /// No description provided for @confirm_fake_fire_message. + /// + /// In en, this message translates to: + /// **'Are you sure the fire is a false alarm?'** + String get confirm_fake_fire_message; + + /// No description provided for @confirm_fake_fire_body. + /// + /// In en, this message translates to: + /// **'Please check carefully to ensure that this is just a normal incident. The fire department will confirm that this is a false alarm!'** + String get confirm_fake_fire_body; + + /// No description provided for @confirm_fake_fire_sure_message. + /// + /// In en, this message translates to: + /// **'I\'\'m sure'** + String get confirm_fake_fire_sure_message; + + /// No description provided for @let_PCCC_handle_message. + /// + /// In en, this message translates to: + /// **'Let the Fire Prevention and Fighting Team handle it!'** + String get let_PCCC_handle_message; + + /// No description provided for @overview_message. + /// + /// In en, this message translates to: + /// **'Overview'** + String get overview_message; + + /// No description provided for @total_nof_devices_message. + /// + /// In en, this message translates to: + /// **'Total number of devices'** + String get total_nof_devices_message; + + /// No description provided for @over_view_owner_devices. + /// + /// In en, this message translates to: + /// **'Owner Devices'** + String get over_view_owner_devices; + + /// No description provided for @over_view_joined_devices. + /// + /// In en, this message translates to: + /// **'Joined Devices'** + String get over_view_joined_devices; + + /// No description provided for @active_devices_message. + /// + /// In en, this message translates to: + /// **'Active'** + String get active_devices_message; + + /// No description provided for @inactive_devices_message. + /// + /// In en, this message translates to: + /// **'Inactive'** + String get inactive_devices_message; + + /// No description provided for @warning_devices_message. + /// + /// In en, this message translates to: + /// **'Warning'** + String get warning_devices_message; + + /// No description provided for @unused_devices_message. + /// + /// In en, this message translates to: + /// **'Unused'** + String get unused_devices_message; + + /// No description provided for @description_NOTUSE1. + /// + /// In en, this message translates to: + /// **'This is english language in DeviceManagerPage'** + String get description_NOTUSE1; + + /// No description provided for @device_manager_page_name. + /// + /// In en, this message translates to: + /// **'Devices Manager'** + String get device_manager_page_name; + + /// No description provided for @add_device_title. + /// + /// In en, this message translates to: + /// **'Add new device'** + String get add_device_title; + + /// No description provided for @input_extID_device_input. + /// + /// In en, this message translates to: + /// **'Devcice ID'** + String get input_extID_device_input; + + /// No description provided for @input_extID_device_hintText. + /// + /// In en, this message translates to: + /// **'Enter the device ID'** + String get input_extID_device_hintText; + + /// No description provided for @input_name_device_device. + /// + /// In en, this message translates to: + /// **'Device Name'** + String get input_name_device_device; + + /// No description provided for @input_name_device_hintText. + /// + /// In en, this message translates to: + /// **'Enter the device Name'** + String get input_name_device_hintText; + + /// No description provided for @paginated_data_table_title. + /// + /// In en, this message translates to: + /// **'List of devices'** + String get paginated_data_table_title; + + /// No description provided for @paginated_data_table_column_action. + /// + /// In en, this message translates to: + /// **'Action'** + String get paginated_data_table_column_action; + + /// No description provided for @paginated_data_table_column_deviceName. + /// + /// In en, this message translates to: + /// **'Device name'** + String get paginated_data_table_column_deviceName; + + /// No description provided for @paginated_data_table_column_deviceStatus. + /// + /// In en, this message translates to: + /// **'Status'** + String get paginated_data_table_column_deviceStatus; + + /// No description provided for @paginated_data_table_column_deviceBaterry. + /// + /// In en, this message translates to: + /// **'Battery'** + String get paginated_data_table_column_deviceBaterry; + + /// No description provided for @paginated_data_table_column_deviceSignal. + /// + /// In en, this message translates to: + /// **'Signal'** + String get paginated_data_table_column_deviceSignal; + + /// No description provided for @paginated_data_table_column_deviceTemperature. + /// + /// In en, this message translates to: + /// **'Temperature'** + String get paginated_data_table_column_deviceTemperature; + + /// No description provided for @paginated_data_table_column_deviceHump. + /// + /// In en, this message translates to: + /// **'Humidity'** + String get paginated_data_table_column_deviceHump; + + /// No description provided for @paginated_data_table_column_devicePower. + /// + /// In en, this message translates to: + /// **'Power'** + String get paginated_data_table_column_devicePower; + + /// No description provided for @delete_device_dialog_title. + /// + /// In en, this message translates to: + /// **'Remove device'** + String get delete_device_dialog_title; + + /// No description provided for @delete_device_dialog_content. + /// + /// In en, this message translates to: + /// **'Are you sure you want to delete this device?'** + String get delete_device_dialog_content; + + /// No description provided for @update_device_dialog_title. + /// + /// In en, this message translates to: + /// **'Update device'** + String get update_device_dialog_title; + + /// No description provided for @update_device_dialog_location_title. + /// + /// In en, this message translates to: + /// **'Device location'** + String get update_device_dialog_location_title; + + /// No description provided for @update_device_dialog_location_longitude. + /// + /// In en, this message translates to: + /// **'Longitude'** + String get update_device_dialog_location_longitude; + + /// No description provided for @update_device_dialog_location_latitude. + /// + /// In en, this message translates to: + /// **'Latitude'** + String get update_device_dialog_location_latitude; + + /// No description provided for @update_device_dialog_location_longitude_hintText. + /// + /// In en, this message translates to: + /// **'Enter longitude'** + String get update_device_dialog_location_longitude_hintText; + + /// No description provided for @update_device_dialog_location_latitude_hintText. + /// + /// In en, this message translates to: + /// **'Enter latitude'** + String get update_device_dialog_location_latitude_hintText; + + /// No description provided for @update_device_dialog_location_province_hintText. + /// + /// In en, this message translates to: + /// **'Select Province/City'** + String get update_device_dialog_location_province_hintText; + + /// No description provided for @update_device_dialog_location_province_searchHint. + /// + /// In en, this message translates to: + /// **'Find Province/City'** + String get update_device_dialog_location_province_searchHint; + + /// No description provided for @update_device_dialog_location_district_hintText. + /// + /// In en, this message translates to: + /// **'Select District'** + String get update_device_dialog_location_district_hintText; + + /// No description provided for @update_device_dialog_location_district_searchHint. + /// + /// In en, this message translates to: + /// **'Find district'** + String get update_device_dialog_location_district_searchHint; + + /// No description provided for @update_device_dialog_location_ward_hintText. + /// + /// In en, this message translates to: + /// **'Select Ward/Commune'** + String get update_device_dialog_location_ward_hintText; + + /// No description provided for @update_device_dialog_location_ward_searchHint. + /// + /// In en, this message translates to: + /// **'Find Ward/Commune'** + String get update_device_dialog_location_ward_searchHint; + + /// No description provided for @update_device_dialog_maps_dialog_title. + /// + /// In en, this message translates to: + /// **'Update location'** + String get update_device_dialog_maps_dialog_title; + + /// No description provided for @update_device_dialog_search_location_hint. + /// + /// In en, this message translates to: + /// **'Search Location'** + String get update_device_dialog_search_location_hint; + + /// No description provided for @description_NOTUSE8. + /// + /// In en, this message translates to: + /// **'This is english language in MapPositionPage'** + String get description_NOTUSE8; + + /// No description provided for @map_your_location. + /// + /// In en, this message translates to: + /// **'Your Location'** + String get map_your_location; + + /// No description provided for @map_show_direction. + /// + /// In en, this message translates to: + /// **'Give directions'** + String get map_show_direction; + + /// No description provided for @map_nearby_hospital. + /// + /// In en, this message translates to: + /// **'Nearby hospital'** + String get map_nearby_hospital; + + /// No description provided for @map_nearest_hospital. + /// + /// In en, this message translates to: + /// **'Nearest hospital'** + String get map_nearest_hospital; + + /// No description provided for @map_nearby_firestation. + /// + /// In en, this message translates to: + /// **'Nearby fire station'** + String get map_nearby_firestation; + + /// No description provided for @map_nearest_firestation. + /// + /// In en, this message translates to: + /// **'Nearest fire station'** + String get map_nearest_firestation; + + /// No description provided for @map_result. + /// + /// In en, this message translates to: + /// **'Result'** + String get map_result; + + /// No description provided for @map_always_opened. + /// + /// In en, this message translates to: + /// **'Always open'** + String get map_always_opened; + + /// No description provided for @map_openning. + /// + /// In en, this message translates to: + /// **'Openning'** + String get map_openning; + + /// No description provided for @map_closed. + /// + /// In en, this message translates to: + /// **'Closed'** + String get map_closed; + + /// No description provided for @map_no_results. + /// + /// In en, this message translates to: + /// **'No results found'** + String get map_no_results; + + /// No description provided for @map_start. + /// + /// In en, this message translates to: + /// **'Start'** + String get map_start; + + /// No description provided for @map_destination. + /// + /// In en, this message translates to: + /// **'Destination'** + String get map_destination; + + /// No description provided for @map_stream. + /// + /// In en, this message translates to: + /// **'Stream'** + String get map_stream; + + /// No description provided for @description_NOTUSE2. + /// + /// In en, this message translates to: + /// **'This is english language in DeviceLogPage'** + String get description_NOTUSE2; + + /// No description provided for @device_log_page_name. + /// + /// In en, this message translates to: + /// **'Devices Log'** + String get device_log_page_name; + + /// No description provided for @choose_device_dropdownButton. + /// + /// In en, this message translates to: + /// **'Select device'** + String get choose_device_dropdownButton; + + /// No description provided for @choose_date_start_datePicker. + /// + /// In en, this message translates to: + /// **'Start from'** + String get choose_date_start_datePicker; + + /// No description provided for @choose_date_end_datePicker. + /// + /// In en, this message translates to: + /// **'End'** + String get choose_date_end_datePicker; + + /// No description provided for @main_no_data. + /// + /// In en, this message translates to: + /// **'No data yet.'** + String get main_no_data; + + /// No description provided for @event_tag_title. + /// + /// In en, this message translates to: + /// **'Event'** + String get event_tag_title; + + /// No description provided for @description_NOTUSE3. + /// + /// In en, this message translates to: + /// **'This is english language in InterFamily'** + String get description_NOTUSE3; + + /// No description provided for @interfamily_page_name. + /// + /// In en, this message translates to: + /// **'InterFamily'** + String get interfamily_page_name; + + /// No description provided for @my_group_title. + /// + /// In en, this message translates to: + /// **'My group'** + String get my_group_title; + + /// No description provided for @invite_group. + /// + /// In en, this message translates to: + /// **'Joined group'** + String get invite_group; + + /// No description provided for @add_new_group. + /// + /// In en, this message translates to: + /// **'Add new group'** + String get add_new_group; + + /// No description provided for @join_group. + /// + /// In en, this message translates to: + /// **'Join group'** + String get join_group; + + /// No description provided for @group_name_title. + /// + /// In en, this message translates to: + /// **'Group Name'** + String get group_name_title; + + /// No description provided for @group_id_title. + /// + /// In en, this message translates to: + /// **'Group ID'** + String get group_id_title; + + /// No description provided for @add_new_user_title. + /// + /// In en, this message translates to: + /// **'Add user'** + String get add_new_user_title; + + /// No description provided for @share_group_title. + /// + /// In en, this message translates to: + /// **'Share group'** + String get share_group_title; + + /// No description provided for @change_group_infomation_title. + /// + /// In en, this message translates to: + /// **'Change Infomation'** + String get change_group_infomation_title; + + /// No description provided for @change_group_infomation_content. + /// + /// In en, this message translates to: + /// **'Change group infomation'** + String get change_group_infomation_content; + + /// No description provided for @delete_group_title. + /// + /// In en, this message translates to: + /// **'Delete group'** + String get delete_group_title; + + /// No description provided for @delete_group_content. + /// + /// In en, this message translates to: + /// **'Are you sure you want to delete this group?'** + String get delete_group_content; + + /// No description provided for @leave_group_content. + /// + /// In en, this message translates to: + /// **'Are you sure you want to leave this group?'** + String get leave_group_content; + + /// No description provided for @dont_have_group. + /// + /// In en, this message translates to: + /// **'No group yet'** + String get dont_have_group; + + /// No description provided for @dont_join_group. + /// + /// In en, this message translates to: + /// **'You haven\'\'t joined any groups yet.'** + String get dont_join_group; + + /// No description provided for @description_group. + /// + /// In en, this message translates to: + /// **'Description'** + String get description_group; + + /// No description provided for @add_new_device_title. + /// + /// In en, this message translates to: + /// **'Add new device'** + String get add_new_device_title; + + /// No description provided for @approve_user. + /// + /// In en, this message translates to: + /// **'Approve members'** + String get approve_user; + + /// No description provided for @devices_title. + /// + /// In en, this message translates to: + /// **'Devices'** + String get devices_title; + + /// No description provided for @device_title. + /// + /// In en, this message translates to: + /// **'Device'** + String get device_title; + + /// No description provided for @member_title. + /// + /// In en, this message translates to: + /// **'Members'** + String get member_title; + + /// No description provided for @leave_group_title. + /// + /// In en, this message translates to: + /// **'Leave group'** + String get leave_group_title; + + /// No description provided for @dont_have_device. + /// + /// In en, this message translates to: + /// **'No device yet'** + String get dont_have_device; + + /// No description provided for @description_NOTUSE4. + /// + /// In en, this message translates to: + /// **'This is english language in ProfilePage'** + String get description_NOTUSE4; + + /// No description provided for @profile_page_title. + /// + /// In en, this message translates to: + /// **'Settings Page'** + String get profile_page_title; + + /// No description provided for @profile_change_info. + /// + /// In en, this message translates to: + /// **'Change information'** + String get profile_change_info; + + /// No description provided for @profile_change_pass. + /// + /// In en, this message translates to: + /// **'Change password'** + String get profile_change_pass; + + /// No description provided for @profile_setting. + /// + /// In en, this message translates to: + /// **'Notification Setting'** + String get profile_setting; + + /// No description provided for @change_profile_title. + /// + /// In en, this message translates to: + /// **'Personal information'** + String get change_profile_title; + + /// No description provided for @change_profile_username. + /// + /// In en, this message translates to: + /// **'Username: '** + String get change_profile_username; + + /// No description provided for @change_profile_username_hint. + /// + /// In en, this message translates to: + /// **'Enter username '** + String get change_profile_username_hint; + + /// No description provided for @change_profile_email. + /// + /// In en, this message translates to: + /// **'Email: '** + String get change_profile_email; + + /// No description provided for @change_profile_email_hint. + /// + /// In en, this message translates to: + /// **'Enter email '** + String get change_profile_email_hint; + + /// No description provided for @change_profile_email_not_empty. + /// + /// In en, this message translates to: + /// **'Email cannot be empty'** + String get change_profile_email_not_empty; + + /// No description provided for @change_profile_tel. + /// + /// In en, this message translates to: + /// **'Phone number: '** + String get change_profile_tel; + + /// No description provided for @change_profile_tel_hint. + /// + /// In en, this message translates to: + /// **'Enter phone number'** + String get change_profile_tel_hint; + + /// No description provided for @change_profile_tel_not_empty. + /// + /// In en, this message translates to: + /// **'Phone number cannot be empty'** + String get change_profile_tel_not_empty; + + /// No description provided for @change_profile_address. + /// + /// In en, this message translates to: + /// **'Address: '** + String get change_profile_address; + + /// No description provided for @change_profile_address_hint. + /// + /// In en, this message translates to: + /// **'Enter address'** + String get change_profile_address_hint; + + /// No description provided for @change_profile_old_pass. + /// + /// In en, this message translates to: + /// **'Password: '** + String get change_profile_old_pass; + + /// No description provided for @change_profile_old_pass_hint. + /// + /// In en, this message translates to: + /// **'Enter password'** + String get change_profile_old_pass_hint; + + /// No description provided for @change_profile_old_pass_not_empty. + /// + /// In en, this message translates to: + /// **'Old password cannot be empty'** + String get change_profile_old_pass_not_empty; + + /// No description provided for @change_profile_new_pass. + /// + /// In en, this message translates to: + /// **'New password: '** + String get change_profile_new_pass; + + /// No description provided for @change_profile_new_pass_hint. + /// + /// In en, this message translates to: + /// **'Enter new password'** + String get change_profile_new_pass_hint; + + /// No description provided for @change_profile_new_pass_not_empty. + /// + /// In en, this message translates to: + /// **'New password cannot be empty'** + String get change_profile_new_pass_not_empty; + + /// No description provided for @change_profile_device_notification_select_all. + /// + /// In en, this message translates to: + /// **'Select all'** + String get change_profile_device_notification_select_all; + + /// No description provided for @change_profile_device_notification_deselect_all. + /// + /// In en, this message translates to: + /// **'Deselect all'** + String get change_profile_device_notification_deselect_all; + + /// No description provided for @description_NOTUSE5. + /// + /// In en, this message translates to: + /// **'This is english language in BellPage'** + String get description_NOTUSE5; + + /// No description provided for @bell_page_title. + /// + /// In en, this message translates to: + /// **'Notifications'** + String get bell_page_title; + + /// No description provided for @bell_page_no_items_body. + /// + /// In en, this message translates to: + /// **'No notifications yet'** + String get bell_page_no_items_body; + + /// No description provided for @bell_user_uppercase. + /// + /// In en, this message translates to: + /// **'User'** + String get bell_user_uppercase; + + /// No description provided for @bell_battery_device. + /// + /// In en, this message translates to: + /// **'Device Battery'** + String get bell_battery_device; + + /// No description provided for @bell_user_joined_group. + /// + /// In en, this message translates to: + /// **'joined group'** + String get bell_user_joined_group; + + /// No description provided for @bell_leave_group. + /// + /// In en, this message translates to: + /// **'left group'** + String get bell_leave_group; + + /// No description provided for @bell_user_added_group. + /// + /// In en, this message translates to: + /// **'added to the group'** + String get bell_user_added_group; + + /// No description provided for @bell_user_kick_group. + /// + /// In en, this message translates to: + /// **'removed from the group'** + String get bell_user_kick_group; + + /// No description provided for @bell_operate_normal. + /// + /// In en, this message translates to: + /// **'operating normally'** + String get bell_operate_normal; + + /// No description provided for @bell_invalid_code. + /// + /// In en, this message translates to: + /// **'Invalid event code'** + String get bell_invalid_code; + + /// No description provided for @bell_days_ago. + /// + /// In en, this message translates to: + /// **'days ago'** + String get bell_days_ago; + + /// No description provided for @bell_hours_ago. + /// + /// In en, this message translates to: + /// **'hours ago'** + String get bell_hours_ago; + + /// No description provided for @bell_minutes_ago. + /// + /// In en, this message translates to: + /// **'minutes ago'** + String get bell_minutes_ago; + + /// No description provided for @bell_just_now. + /// + /// In en, this message translates to: + /// **'just now'** + String get bell_just_now; + + /// No description provided for @bell_read_all. + /// + /// In en, this message translates to: + /// **'You have read all the notifications'** + String get bell_read_all; + + /// No description provided for @description_NOTUSE6. + /// + /// In en, this message translates to: + /// **'This is english language in GlobalFunction'** + String get description_NOTUSE6; + + /// No description provided for @gf_newly_create_message. + /// + /// In en, this message translates to: + /// **'Newly created'** + String get gf_newly_create_message; + + /// No description provided for @gf_disconnect_message. + /// + /// In en, this message translates to: + /// **'Disconnected'** + String get gf_disconnect_message; + + /// No description provided for @gf_smoke_detected_message. + /// + /// In en, this message translates to: + /// **'Smoke detected'** + String get gf_smoke_detected_message; + + /// No description provided for @gf_no_signal_message. + /// + /// In en, this message translates to: + /// **'No Signal'** + String get gf_no_signal_message; + + /// No description provided for @gf_weak_signal_message. + /// + /// In en, this message translates to: + /// **'Weak Signal'** + String get gf_weak_signal_message; + + /// No description provided for @gf_moderate_signal_message. + /// + /// In en, this message translates to: + /// **'Moderate signal'** + String get gf_moderate_signal_message; + + /// No description provided for @gf_good_signal_message. + /// + /// In en, this message translates to: + /// **'Good signal'** + String get gf_good_signal_message; + + /// No description provided for @gf_volt_detect_message. + /// + /// In en, this message translates to: + /// **'Voltage detected'** + String get gf_volt_detect_message; + + /// No description provided for @gf_temp_detect_message. + /// + /// In en, this message translates to: + /// **'Temperature detected'** + String get gf_temp_detect_message; + + /// No description provided for @gf_hum_detect_message. + /// + /// In en, this message translates to: + /// **'Humidity detected'** + String get gf_hum_detect_message; + + /// No description provided for @gf_battery_detect_message. + /// + /// In en, this message translates to: + /// **'Battery detected'** + String get gf_battery_detect_message; + + /// No description provided for @gf_offline_message. + /// + /// In en, this message translates to: + /// **'Offline'** + String get gf_offline_message; + + /// No description provided for @gf_in_firefighting_message. + /// + /// In en, this message translates to: + /// **'In firefighting'** + String get gf_in_firefighting_message; + + /// No description provided for @gf_device_error_message. + /// + /// In en, this message translates to: + /// **'Device error'** + String get gf_device_error_message; + + /// No description provided for @gf_not_move_message. + /// + /// In en, this message translates to: + /// **'Not moved'** + String get gf_not_move_message; + + /// No description provided for @gf_moving_message. + /// + /// In en, this message translates to: + /// **'Moved'** + String get gf_moving_message; + + /// No description provided for @gf_remove_from_base_message. + /// + /// In en, this message translates to: + /// **'Removed from the base'** + String get gf_remove_from_base_message; + + /// No description provided for @gf_connected_lowercase. + /// + /// In en, this message translates to: + /// **'connected'** + String get gf_connected_lowercase; + + /// No description provided for @description_NOTUSE7. + /// + /// In en, this message translates to: + /// **'This is english language in LoginPage'** + String get description_NOTUSE7; + + /// No description provided for @login_account_not_empty. + /// + /// In en, this message translates to: + /// **'Account cannot be empty'** + String get login_account_not_empty; + + /// No description provided for @login_account_hint. + /// + /// In en, this message translates to: + /// **'Account'** + String get login_account_hint; + + /// No description provided for @login_password_not_empty. + /// + /// In en, this message translates to: + /// **'Password cannot be empty'** + String get login_password_not_empty; + + /// No description provided for @login_password_hint. + /// + /// In en, this message translates to: + /// **'Password'** + String get login_password_hint; + + /// No description provided for @login_success_message. + /// + /// In en, this message translates to: + /// **'Login successful'** + String get login_success_message; + + /// No description provided for @login_incorrect_usernameOrPass. + /// + /// In en, this message translates to: + /// **'Incorrect account or password'** + String get login_incorrect_usernameOrPass; + + /// No description provided for @login_button_content. + /// + /// In en, this message translates to: + /// **'Login'** + String get login_button_content; + + /// No description provided for @description_NOTUSE9. + /// + /// In en, this message translates to: + /// **'This is english language in DeviceUpdatePage'** + String get description_NOTUSE9; + + /// No description provided for @device_update_title. + /// + /// In en, this message translates to: + /// **'Update Device'** + String get device_update_title; + + /// No description provided for @device_update_location. + /// + /// In en, this message translates to: + /// **'Device Location'** + String get device_update_location; + + /// No description provided for @device_update_province. + /// + /// In en, this message translates to: + /// **'Province/City'** + String get device_update_province; + + /// No description provided for @device_update_district. + /// + /// In en, this message translates to: + /// **'District'** + String get device_update_district; + + /// No description provided for @device_update_ward. + /// + /// In en, this message translates to: + /// **'Ward/Commune'** + String get device_update_ward; + + /// No description provided for @description_NOTUSE10. + /// + /// In en, this message translates to: + /// **'This is english language in DetailDevicePage'** + String get description_NOTUSE10; + + /// No description provided for @detail_device_dont_has_location_message. + /// + /// In en, this message translates to: + /// **'No location information available yet'** + String get detail_device_dont_has_location_message; + + /// No description provided for @detail_device_volt_message. + /// + /// In en, this message translates to: + /// **'Measured voltage (V)'** + String get detail_device_volt_message; + + /// No description provided for @no_data_message. + /// + /// In en, this message translates to: + /// **'No data yet'** + String get no_data_message; + + /// No description provided for @normal_message. + /// + /// In en, this message translates to: + /// **'Normal'** + String get normal_message; + + /// No description provided for @warning_status_message. + /// + /// In en, this message translates to: + /// **'Warning'** + String get warning_status_message; + + /// No description provided for @undefine_message. + /// + /// In en, this message translates to: + /// **'Undefined'** + String get undefine_message; + + /// No description provided for @low_message_uppercase. + /// + /// In en, this message translates to: + /// **'Low'** + String get low_message_uppercase; + + /// No description provided for @moderate_message_uppercase. + /// + /// In en, this message translates to: + /// **'Moderate'** + String get moderate_message_uppercase; + + /// No description provided for @good_message_uppercase. + /// + /// In en, this message translates to: + /// **'Good'** + String get good_message_uppercase; + + /// No description provided for @low_message_lowercase. + /// + /// In en, this message translates to: + /// **'low'** + String get low_message_lowercase; + + /// No description provided for @moderate_message_lowercase. + /// + /// In en, this message translates to: + /// **'moderate'** + String get moderate_message_lowercase; + + /// No description provided for @good_message_lowercase. + /// + /// In en, this message translates to: + /// **'good'** + String get good_message_lowercase; + + /// No description provided for @error_message_uppercase. + /// + /// In en, this message translates to: + /// **'Error'** + String get error_message_uppercase; + + /// No description provided for @error_message_lowercase. + /// + /// In en, this message translates to: + /// **'error'** + String get error_message_lowercase; + + /// No description provided for @warning_message. + /// + /// In en, this message translates to: + /// **'Warning: '** + String get warning_message; + + /// No description provided for @loading_message. + /// + /// In en, this message translates to: + /// **'Loading...'** + String get loading_message; + + /// No description provided for @detail_message. + /// + /// In en, this message translates to: + /// **'Detail'** + String get detail_message; + + /// No description provided for @permission_deny_message. + /// + /// In en, this message translates to: + /// **'Permission Denied'** + String get permission_deny_message; + + /// No description provided for @decline_message. + /// + /// In en, this message translates to: + /// **'Decline'** + String get decline_message; + + /// No description provided for @allow_message. + /// + /// In en, this message translates to: + /// **'Allow'** + String get allow_message; + + /// No description provided for @add_button_content. + /// + /// In en, this message translates to: + /// **'Add'** + String get add_button_content; + + /// No description provided for @update_button_content. + /// + /// In en, this message translates to: + /// **'Update'** + String get update_button_content; + + /// No description provided for @change_button_content. + /// + /// In en, this message translates to: + /// **'Change'** + String get change_button_content; + + /// No description provided for @confirm_button_content. + /// + /// In en, this message translates to: + /// **'Confirm'** + String get confirm_button_content; + + /// No description provided for @delete_button_content. + /// + /// In en, this message translates to: + /// **'Delete'** + String get delete_button_content; + + /// No description provided for @cancel_button_content. + /// + /// In en, this message translates to: + /// **'Cancel'** + String get cancel_button_content; + + /// No description provided for @find_button_content. + /// + /// In en, this message translates to: + /// **'Find'** + String get find_button_content; + + /// No description provided for @home_page_destination. + /// + /// In en, this message translates to: + /// **'Home'** + String get home_page_destination; + + /// No description provided for @manager_page_destination. + /// + /// In en, this message translates to: + /// **'Manager'** + String get manager_page_destination; + + /// No description provided for @map_page_destination. + /// + /// In en, this message translates to: + /// **'Map'** + String get map_page_destination; + + /// No description provided for @history_page_destination. + /// + /// In en, this message translates to: + /// **'History'** + String get history_page_destination; + + /// No description provided for @history_page_destination_tooltip. + /// + /// In en, this message translates to: + /// **'Device history'** + String get history_page_destination_tooltip; + + /// No description provided for @group_page_destination. + /// + /// In en, this message translates to: + /// **'Group'** + String get group_page_destination; + + /// No description provided for @group_page_destination_tooltip. + /// + /// In en, this message translates to: + /// **'Exchange device notifications'** + String get group_page_destination_tooltip; + + /// No description provided for @notification_enter_all_inf. + /// + /// In en, this message translates to: + /// **'Please enter all the required information'** + String get notification_enter_all_inf; + + /// No description provided for @notification_update_device_success. + /// + /// In en, this message translates to: + /// **'Device update successfully'** + String get notification_update_device_success; + + /// No description provided for @notification_update_device_failed. + /// + /// In en, this message translates to: + /// **'Device update failed'** + String get notification_update_device_failed; + + /// No description provided for @notification_update_device_error. + /// + /// In en, this message translates to: + /// **'Device update Error'** + String get notification_update_device_error; + + /// No description provided for @notification_cannot_find_address_from_location. + /// + /// In en, this message translates to: + /// **'Can\'\'t find the location'** + String get notification_cannot_find_address_from_location; + + /// No description provided for @notification_add_device_success. + /// + /// In en, this message translates to: + /// **'Device added successfully'** + String get notification_add_device_success; + + /// No description provided for @notification_add_device_failed. + /// + /// In en, this message translates to: + /// **'Failed to add device'** + String get notification_add_device_failed; + + /// No description provided for @notification_create_device_success. + /// + /// In en, this message translates to: + /// **'Device created successfully'** + String get notification_create_device_success; + + /// No description provided for @notification_create_device_failed. + /// + /// In en, this message translates to: + /// **'Failed to create device'** + String get notification_create_device_failed; + + /// No description provided for @notification_delete_device_success. + /// + /// In en, this message translates to: + /// **'Device deleted successfully'** + String get notification_delete_device_success; + + /// No description provided for @notification_delete_device_failed. + /// + /// In en, this message translates to: + /// **'Failed to delete device'** + String get notification_delete_device_failed; + + /// No description provided for @notification_device_not_exist. + /// + /// In en, this message translates to: + /// **'The device does not exist'** + String get notification_device_not_exist; + + /// No description provided for @notification_add_group_success. + /// + /// In en, this message translates to: + /// **'Group created successfully'** + String get notification_add_group_success; + + /// No description provided for @notification_add_group_failed. + /// + /// In en, this message translates to: + /// **'Failed to create group'** + String get notification_add_group_failed; + + /// No description provided for @notification_update_group_success. + /// + /// In en, this message translates to: + /// **'Group updated successfully'** + String get notification_update_group_success; + + /// No description provided for @notification_update_group_failed. + /// + /// In en, this message translates to: + /// **'Failed to updated group'** + String get notification_update_group_failed; + + /// No description provided for @notification_delete_group_success. + /// + /// In en, this message translates to: + /// **'Group deleted successfully'** + String get notification_delete_group_success; + + /// No description provided for @notification_delete_group_failed. + /// + /// In en, this message translates to: + /// **'Failed to delete group'** + String get notification_delete_group_failed; + + /// No description provided for @notification_leave_group_success. + /// + /// In en, this message translates to: + /// **'Leave group successfully'** + String get notification_leave_group_success; + + /// No description provided for @notification_leave_group_failed. + /// + /// In en, this message translates to: + /// **'Failed to leave group'** + String get notification_leave_group_failed; + + /// No description provided for @notification_join_request_group_success. + /// + /// In en, this message translates to: + /// **'Group join request successful!'** + String get notification_join_request_group_success; + + /// No description provided for @notification_join_request_group_failed. + /// + /// In en, this message translates to: + /// **'Group join request failed!'** + String get notification_join_request_group_failed; + + /// No description provided for @notification_update_profile_success. + /// + /// In en, this message translates to: + /// **'Update profile successfully'** + String get notification_update_profile_success; + + /// No description provided for @notification_update_profile_failed. + /// + /// In en, this message translates to: + /// **'Failed to update profile'** + String get notification_update_profile_failed; + + /// No description provided for @notification_update_password_success. + /// + /// In en, this message translates to: + /// **'Change password successfully'** + String get notification_update_password_success; + + /// No description provided for @notification_update_password_failed. + /// + /// In en, this message translates to: + /// **'The old password does not match'** + String get notification_update_password_failed; + + /// No description provided for @notification_update_device_settings_success. + /// + /// In en, this message translates to: + /// **'Device notification updated successfully'** + String get notification_update_device_settings_success; + + /// No description provided for @notification_update_device_settings_failed. + /// + /// In en, this message translates to: + /// **'Failed to update device notification'** + String get notification_update_device_settings_failed; + + /// No description provided for @notification_confirm_fake_fire_success. + /// + /// In en, this message translates to: + /// **'Information has been updated to the Fire Station'** + String get notification_confirm_fake_fire_success; + + /// No description provided for @notification_confirm_fake_fire_failed. + /// + /// In en, this message translates to: + /// **'Failed to update confirm fake fire'** + String get notification_confirm_fake_fire_failed; +} + +class _AppLocalizationsDelegate + extends LocalizationsDelegate { + const _AppLocalizationsDelegate(); + + @override + Future load(Locale locale) { + return SynchronousFuture(lookupAppLocalizations(locale)); + } + + @override + bool isSupported(Locale locale) => + ['en', 'vi'].contains(locale.languageCode); + + @override + bool shouldReload(_AppLocalizationsDelegate old) => false; +} + +AppLocalizations lookupAppLocalizations(Locale locale) { + // Lookup logic when only language code is specified. + switch (locale.languageCode) { + case 'en': + return AppLocalizationsEn(); + case 'vi': + return AppLocalizationsVi(); + } + + throw FlutterError( + 'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely ' + 'an issue with the localizations generation tool. Please file an issue ' + 'on GitHub with a reproducible sample app and the gen-l10n configuration ' + 'that was used.'); +} diff --git a/lib/product/lang/l10n/app_localizations_en.dart b/lib/product/lang/l10n/app_localizations_en.dart new file mode 100644 index 0000000..3b9eccf --- /dev/null +++ b/lib/product/lang/l10n/app_localizations_en.dart @@ -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'; +} diff --git a/lib/product/lang/l10n/app_localizations_vi.dart b/lib/product/lang/l10n/app_localizations_vi.dart new file mode 100644 index 0000000..aad4525 --- /dev/null +++ b/lib/product/lang/l10n/app_localizations_vi.dart @@ -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'; +} diff --git a/lib/product/services/language_services.dart b/lib/product/services/language_services.dart index 6f88622..9718b20 100644 --- a/lib/product/services/language_services.dart +++ b/lib/product/services/language_services.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import '../cache/local_manager.dart'; import '../constant/enums/local_keys_enums.dart'; import '../constant/lang/language_constants.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; +import '../lang/l10n/app_localizations.dart'; class LanguageServices { Future setLocale(String languageCode) async { diff --git a/pubspec.lock b/pubspec.lock index 8221f83..8f13221 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -37,10 +37,10 @@ packages: dependency: transitive description: name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" url: "https://pub.dev" source: hosted - version: "2.11.0" + version: "2.13.0" badges: dependency: "direct main" description: @@ -53,10 +53,10 @@ packages: dependency: transitive description: name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" change_app_package_name: dependency: "direct dev" description: @@ -69,10 +69,10 @@ packages: dependency: transitive description: name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.0" checked_yaml: dependency: transitive description: @@ -93,18 +93,18 @@ packages: dependency: transitive description: name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" collection: dependency: transitive description: name: collection - sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" url: "https://pub.dev" source: hosted - version: "1.19.0" + version: "1.19.1" crypto: dependency: transitive description: @@ -181,10 +181,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.3.3" ffi: dependency: transitive description: @@ -513,10 +513,10 @@ packages: dependency: "direct main" description: name: intl - sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf + sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" url: "https://pub.dev" source: hosted - version: "0.19.0" + version: "0.20.2" json_annotation: dependency: transitive description: @@ -529,18 +529,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" + sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" url: "https://pub.dev" source: hosted - version: "10.0.7" + version: "10.0.9" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" + sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 url: "https://pub.dev" source: hosted - version: "3.0.8" + version: "3.0.9" leak_tracker_testing: dependency: transitive description: @@ -593,10 +593,10 @@ packages: dependency: transitive description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.17" material_color_utilities: dependency: transitive description: @@ -609,18 +609,18 @@ packages: dependency: transitive description: name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c url: "https://pub.dev" source: hosted - version: "1.15.0" + version: "1.16.0" path: dependency: transitive description: name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" path_provider_linux: dependency: transitive description: @@ -846,10 +846,10 @@ packages: dependency: transitive description: name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.10.1" sprintf: dependency: transitive description: @@ -862,18 +862,18 @@ packages: dependency: transitive description: name: stack_trace - sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.12.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" stream_transform: dependency: transitive description: @@ -886,26 +886,26 @@ packages: dependency: transitive description: name: string_scanner - sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.1" term_glyph: dependency: transitive description: name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" test_api: dependency: transitive description: name: test_api - sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" + sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd url: "https://pub.dev" source: hosted - version: "0.7.3" + version: "0.7.4" timezone: dependency: transitive description: @@ -1014,10 +1014,10 @@ packages: dependency: transitive description: name: vm_service - sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 url: "https://pub.dev" source: hosted - version: "14.3.0" + version: "15.0.0" web: dependency: transitive description: @@ -1059,5 +1059,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.6.0 <4.0.0" + dart: ">=3.7.0-0 <4.0.0" flutter: ">=3.27.0" diff --git a/pubspec.yaml b/pubspec.yaml index bd866b3..36f3276 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,7 @@ dependencies: sdk: flutter cupertino_icons: ^1.0.2 shared_preferences: ^2.2.2 - intl: ^0.19.0 + intl: ^0.20.2 firebase_core: ^3.13.0 firebase_messaging: ^15.2.5 flutter_local_notifications: ^17.2.4