From 054933b280af32a49e7c35026ed9026db03f96cb Mon Sep 17 00:00:00 2001 From: hussam al-habibeh Date: Sun, 21 Jun 2020 09:14:08 +0300 Subject: [PATCH] Translation stage four --- lib/config/localized_values.dart | 42 ++++++++++- lib/screens/dashboard_screen.dart | 17 +++-- lib/screens/patients/patients_screen.dart | 71 +++++++++++++------ .../profile/insurance_approvals_screen.dart | 26 +++++-- .../profile/refer_patient_screen.dart | 36 ++++++---- lib/util/translations_delegate_base.dart | 35 ++++++++- .../profile/profile_medical_info_widget.dart | 2 +- lib/widgets/shared/bottom_nav_bar.dart | 9 +-- 8 files changed, 179 insertions(+), 59 deletions(-) diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart index f483a042..07a61e2f 100644 --- a/lib/config/localized_values.dart +++ b/lib/config/localized_values.dart @@ -6,7 +6,7 @@ const Map> localizedValues = { 'lanArabic': {'en': 'العربية', 'ar': 'العربية'}, 'doctorReply': {'en': 'Doctor Reply', 'ar': 'رد الطبيب'}, 'time': {'en': 'Time', 'ar': 'الوقت'}, - 'fileNo': {'en': 'File No', 'ar': 'رقم الملف'}, + 'fileNo': {'en': 'File No:', 'ar': 'رقم الملف:'}, 'mobileNo': {'en': 'Mobile No', 'ar': 'رقم الموبايل'}, 'messagesScreenToolbarTitle': {'en': 'Messages', 'ar': 'الرسائل'}, 'mySchedule': {'en': 'My Schedule', 'ar': 'جدولي'}, @@ -157,4 +157,44 @@ const Map> localizedValues = { 'en': 'Please enter the code', 'ar': 'الرجاء ادخال الرمز' }, + 'youDon\'tHaveAnyPatient': { + 'en': 'You don\'t have any patient', + 'ar': 'ليس لديك اي مرضى' + }, + 'age': {'en': 'Age', 'ar': 'العمر'}, + 'today': {'en': 'Today', 'ar': 'اليوم'}, + 'yesterday': {'en': 'Yesterday', 'ar': 'الأمس'}, + 'tomorrow': {'en': 'Tomorrow', 'ar': 'الغد'}, + 'nextWeek': {'en': 'Next Week', 'ar': 'الاسبوع القادم'}, + 'all': {'en': 'All', 'ar': 'الجميع'}, + 'errorNoInsuranceApprovals': { + 'en': 'You don\'t have any Insurance Approvals', + 'ar': 'ليس لديك اي موفقات تأمين' + }, + 'searchInsuranceApprovals': { + 'en': 'Search InsuranceApprovals', + 'ar': 'بحث عن موافقات التأمين' + }, + 'status': {'en': 'STATUS', 'ar': 'الحالة'}, + 'expiryDate': {'en': 'EXPIRY DATE', 'ar': 'تاريخ الانتهاء'}, + 'producerName': {'en': 'PRODUCER NAME', 'ar': 'اسم المنتج'}, + 'receiptOn': {'en': 'RECEIPT ON', 'ar': 'تاريخ الاستلام'}, + 'approvalNo': {'en': 'Approval No:', 'ar': 'رقم الموافقة:'}, + 'doctor': {'en': 'Doctor', 'ar': 'الدكتور'}, + 'ext': {'en': 'Ext#', 'ar': 'رقم التحويلة'}, + 'veryUrgent': {'en': 'Very Urgent', 'ar': 'عاجل جدا'}, + 'urgent': {'en': 'Urgent', 'ar': 'عاجل'}, + 'routine': {'en': 'Routine', 'ar': 'روتيني'}, + 'send': {'en': 'Send', 'ar': 'ارسال'}, + 'referralFrequency': {'en': 'Referral Frequency:', 'ar': 'تواتر الحالة:'}, + 'clinicalDetailsAndRemarks': { + 'en': 'Clinical Details and Remarks', + 'ar': 'التفاصيل السرسرية والملاحظات' + }, + 'remarks': {'en': 'Remarks', 'ar': 'ملاحظات'}, + 'pleaseFill': { + 'en': 'Please fill all fields..!', + 'ar': 'الرجاء ملأ جميع الحقول..!' + }, + 'replay2': {'en': 'Replay', 'ar': 'رد الطبيب'}, }; diff --git a/lib/screens/dashboard_screen.dart b/lib/screens/dashboard_screen.dart index f09ba102..f8c91d80 100644 --- a/lib/screens/dashboard_screen.dart +++ b/lib/screens/dashboard_screen.dart @@ -146,10 +146,11 @@ class _DashboardScreenState extends State { CrossAxisAlignment.stretch, children: [ Expanded( - child: DashboardItemTexts( - TranslationBase.of(context).arrived, - "23", - )), + child: DashboardItemTexts( + TranslationBase.of(context).arrived, + "23", + ), + ), Expanded( child: DashboardItemTexts( TranslationBase.of(context) @@ -235,7 +236,7 @@ class _DashboardScreenState extends State { child: new DashboardItemIconText( widget.iconURL + 'in_patient_white.svg', "23", - "In-Patient", + TranslationBase.of(context).outPatients, showBorder: true, backgroundColor: Colors.red[900], iconColor: Colors.white), @@ -245,7 +246,7 @@ class _DashboardScreenState extends State { child: new DashboardItemIconText( widget.iconURL + 'operations.svg', "23", - TranslationBase.of(context).operations, + TranslationBase.of(context).inPatient, showBorder: true, backgroundColor: Colors.red[900], )), @@ -503,7 +504,7 @@ class _DashboardScreenState extends State { } changeClinic(clinicId, BuildContext context) async { - Navigator.pop(context); + Navigator.pop(context); changeIsLoading(true); Map profile = await sharedPref.getObj(DOCTOR_PROFILE); DoctorProfileModel doctorProfile = new DoctorProfileModel.fromJson(profile); @@ -517,10 +518,8 @@ class _DashboardScreenState extends State { // authProvider.getDocProfiles(docInfo) authProvider.getDocProfiles(docInfo.toJson()).then((res) async { - changeIsLoading(false); sharedPref.setObj(DOCTOR_PROFILE, res['DoctorProfileList'][0]); - }).catchError((err) { changeIsLoading(false); helpers.showErrorToast(err); diff --git a/lib/screens/patients/patients_screen.dart b/lib/screens/patients/patients_screen.dart index f0a543f2..0012cb7b 100644 --- a/lib/screens/patients/patients_screen.dart +++ b/lib/screens/patients/patients_screen.dart @@ -30,6 +30,7 @@ import 'package:hexcolor/hexcolor.dart'; import '../../widgets/shared/app_scaffold_widget.dart'; import '../../widgets/shared/card_with_bg_widget.dart'; import 'package:doctor_app_flutter/config/config.dart'; +import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; class PatientsScreen extends StatefulWidget { @override @@ -53,7 +54,7 @@ class _PatientsScreenState extends State { final String assetName = 'assets/image.svg'; // List _locations = ['Today', 'Old Date', 'YESTERDAY']; - List _locations = ['All','Today', 'Tomorrow', 'Next Week']; + List _locations = ['All', 'Today', 'Tomorrow', 'Next Week']; int _activeLocation = 0; bool _isInit = true; @@ -268,22 +269,22 @@ class _PatientsScreenState extends State { if ((currentTime.year == checkedTime.year) && (currentTime.month == checkedTime.month) && (currentTime.day == checkedTime.day)) { - return "Today"; + return TranslationBase.of(context).today; } else if ((currentTime.year == checkedTime.year) && (currentTime.month == checkedTime.month)) { if ((currentTime.day - checkedTime.day) == 1) { - return "YESTERDAY"; + return TranslationBase.of(context).yesterday; } else if ((currentTime.day - checkedTime.day) == -1) { - return "Tomorrow"; + return TranslationBase.of(context).tomorrow; } if ((currentTime.day - checkedTime.day) <= -2) { - return "Next Week"; + return TranslationBase.of(context).nextWeek; } else { - return "All"; + return TranslationBase.of(context).all; } } - return "All"; + return TranslationBase.of(context).all; } /* @@ -305,7 +306,8 @@ class _PatientsScreenState extends State { : _isError ? DrAppEmbeddedError(error: error) : litems == null - ? DrAppEmbeddedError(error: 'You don\'t have any patient') + ? DrAppEmbeddedError( + error: TranslationBase.of(context).youDontHaveAnyPatient) : Container( child: ListView( scrollDirection: Axis.vertical, @@ -348,7 +350,9 @@ class _PatientsScreenState extends State { this.searchData(str); }, decoration: buildInputDecoration( - context, 'Search '), + context, + TranslationBase.of(context) + .search), ), ), SizedBox( @@ -384,28 +388,49 @@ class _PatientsScreenState extends State { mainAxisAlignment: MainAxisAlignment .start, - children: [ + children: < + Widget>[ Container( - decoration: BoxDecoration( + decoration: + BoxDecoration( gradient: LinearGradient( - begin: Alignment(-1, -1), - end: Alignment(1, 1), + begin: Alignment( + -1, + -1), + end: Alignment( + 1, + 1), colors: [ Colors.grey[100], Colors.grey[200], ]), boxShadow: [ BoxShadow( - color: Color.fromRGBO(0, 0, 0, 0.08), - offset: Offset(0.0, 5.0), - blurRadius: 16.0) + color: Color.fromRGBO( + 0, + 0, + 0, + 0.08), + offset: Offset(0.0, + 5.0), + blurRadius: + 16.0) ], - borderRadius: BorderRadius.all(Radius.circular(50.0)), + borderRadius: + BorderRadius.all( + Radius.circular(50.0)), ), width: 80, height: 80, - child: Icon(item.genderDescription == "Male" ? DoctorApp.male : DoctorApp.femaleicon,size: 80,)), - + child: Icon( + item.genderDescription == + "Male" + ? DoctorApp + .male + : DoctorApp + .femaleicon, + size: 80, + )), ], ), SizedBox( @@ -435,7 +460,9 @@ class _PatientsScreenState extends State { height: 8, ), AppText( - "File Number:" + + TranslationBase.of( + context) + .fileNo + item.patientId .toString(), fontSize: 2.0 * @@ -453,7 +480,9 @@ class _PatientsScreenState extends State { // height: 8, // ), AppText( - "Age:" + + TranslationBase.of( + context) + .age + item.age .toString(), fontSize: 2.0 * diff --git a/lib/screens/patients/profile/insurance_approvals_screen.dart b/lib/screens/patients/profile/insurance_approvals_screen.dart index c4dba964..7338b2d5 100644 --- a/lib/screens/patients/profile/insurance_approvals_screen.dart +++ b/lib/screens/patients/profile/insurance_approvals_screen.dart @@ -85,7 +85,8 @@ class _InsuranceApprovalsState extends State { ? DrAppEmbeddedError(error: patientsProv.error) : patientsProv.insuranceApporvalsList == null ? DrAppEmbeddedError( - error: 'You don\'t have any Insurance Approvals') + error: + TranslationBase.of(context).errorNoInsuranceApprovals) : Column( children: [ Container( @@ -97,7 +98,9 @@ class _InsuranceApprovalsState extends State { this.searchData(str); }, decoration: buildInputDecoration( - context, 'Search Insurance Approvals'), + context, + TranslationBase.of(context) + .searchInsuranceApprovals), ), ), Expanded( @@ -231,7 +234,8 @@ class _InsuranceApprovalsState extends State { marginBottom: 2, ), AppText( - "Approval No:", + TranslationBase.of(context) + .approvalNo, color: Colors.white, fontSize: 16, marginTop: 2, @@ -249,7 +253,9 @@ class _InsuranceApprovalsState extends State { .start, children: [ AppText( - "PRODUCER NAME", + TranslationBase.of( + context) + .producerName, fontSize: 10, color: Colors.white, @@ -291,7 +297,9 @@ class _InsuranceApprovalsState extends State { .start, children: [ AppText( - "STATUS", + TranslationBase.of( + context) + .status, fontSize: 10, color: Colors.white, @@ -329,7 +337,9 @@ class _InsuranceApprovalsState extends State { .start, children: [ AppText( - "RECEIPT ON", + TranslationBase.of( + context) + .receiptOn, fontSize: 10, color: Colors.white, @@ -372,7 +382,9 @@ class _InsuranceApprovalsState extends State { .start, children: [ AppText( - "EXPIRY DATE", + TranslationBase.of( + context) + .expiryDate, fontSize: 10, color: Colors.white, diff --git a/lib/screens/patients/profile/refer_patient_screen.dart b/lib/screens/patients/profile/refer_patient_screen.dart index 1da89f97..e12a9240 100644 --- a/lib/screens/patients/profile/refer_patient_screen.dart +++ b/lib/screens/patients/profile/refer_patient_screen.dart @@ -16,6 +16,7 @@ import '../../../widgets/shared/app_scaffold_widget.dart'; import '../../../widgets/shared/app_texts_widget.dart'; import '../../../widgets/shared/dr_app_circular_progress_Indeicator.dart'; import '../../../util/extenstions.dart'; +import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; DrAppSharedPreferances sharedPref = new DrAppSharedPreferances(); @@ -48,8 +49,7 @@ class _ReferPatientState extends State { String _selectedDoctor; String _selectedReferralFrequancy; - List _priorities = ['Very Urgent', 'Urgent', 'Routine']; - int _activePriority = 2; + int _activePriority = 1; FocusNode myFocusNode; @@ -69,7 +69,7 @@ class _ReferPatientState extends State { @override Widget build(BuildContext context) { return AppScaffold( - appBarTitle: "Refer Patient", + appBarTitle: TranslationBase.of(context).myReferralPatient, body: patientsProv.isLoading ? DrAppCircularProgressIndeicator() : patientsProv.isError @@ -82,7 +82,7 @@ class _ReferPatientState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText( - "Clinic", + TranslationBase.of(context).clinic, fontSize: 18, fontWeight: FontWeight.bold, marginLeft: 15, @@ -166,7 +166,7 @@ class _ReferPatientState extends State { ), //--------------------------------------------------------------------// AppText( - "Doctor", + TranslationBase.of(context).doctor, fontSize: 18, fontWeight: FontWeight.bold, marginLeft: 15, @@ -246,7 +246,7 @@ class _ReferPatientState extends State { ), ), //-----------------------------/// AppText( - "Ext#", + TranslationBase.of(context).ext, fontSize: 18, fontWeight: FontWeight.bold, marginLeft: 15, @@ -255,7 +255,7 @@ class _ReferPatientState extends State { Padding( padding: const EdgeInsets.all(10.0), child: AppTextFormField( - hintText: "Ext#", + hintText: TranslationBase.of(context).ext, controller: _extController, inputFormatter: ONLY_NUMBERS, textInputType: TextInputType.number, @@ -263,7 +263,7 @@ class _ReferPatientState extends State { ), ), AppText( - "Priority", + TranslationBase.of(context).priority, fontSize: 18, fontWeight: FontWeight.bold, marginLeft: 15, @@ -273,14 +273,15 @@ class _ReferPatientState extends State { priorityBar(context), AppText( - "Replay Before: " + getPriority(), + TranslationBase.of(context).referralFrequency + + getPriority(), fontWeight: FontWeight.bold, marginLeft: 15, marginTop: 15, ), AppText( - "Referral Frequency", + TranslationBase.of(context).referralFrequency, fontSize: 18, fontWeight: FontWeight.bold, marginLeft: 15, @@ -338,7 +339,7 @@ class _ReferPatientState extends State { _selectedReferralFrequancy)); freqId = freqInfo['ParameterCode'] .toString(); - myFocusNode.requestFocus(); + myFocusNode.requestFocus(); }) }, items: patientsProv @@ -359,7 +360,7 @@ class _ReferPatientState extends State { ), ), AppText( - "Clinical Details and Remarks", + TranslationBase.of(context).clinicDetailsandRemarks, fontSize: 18, fontWeight: FontWeight.bold, marginLeft: 15, @@ -368,7 +369,7 @@ class _ReferPatientState extends State { Padding( padding: const EdgeInsets.all(10.0), child: AppTextFormField( - hintText: "Remarks", + hintText: TranslationBase.of(context).remarks, focusNode: myFocusNode, controller: _remarksController, inputFormatter: ONLY_LETTERS, @@ -381,7 +382,7 @@ class _ReferPatientState extends State { child: Column( children: [ AppText( - "Please fill all fields..!", + TranslationBase.of(context).pleaseFill, color: Colors.red, fontWeight: FontWeight.bold, margin: 10, @@ -389,7 +390,7 @@ class _ReferPatientState extends State { isValid == null ? false : !isValid, ), AppButton( - title: "Send", + title: TranslationBase.of(context).send, color: Color(PRIMARY_COLOR), onPressed: () => {referToDoctor(context)}, ) @@ -402,6 +403,11 @@ class _ReferPatientState extends State { } Widget priorityBar(BuildContext _context) { + List _priorities = [ + TranslationBase.of(context).veryUrgent, + TranslationBase.of(context).urgent, + TranslationBase.of(context).routine, + ]; return Container( height: MediaQuery.of(context).size.height * 0.065, width: SizeConfig.screenWidth * 0.9, diff --git a/lib/util/translations_delegate_base.dart b/lib/util/translations_delegate_base.dart index c1544b97..64f302b2 100644 --- a/lib/util/translations_delegate_base.dart +++ b/lib/util/translations_delegate_base.dart @@ -68,7 +68,7 @@ class TranslationBase { String get radiology => localizedValues['radiology'][locale.languageCode]; String get referral => localizedValues['referral'][locale.languageCode]; String get inPatient => localizedValues['inPatient'][locale.languageCode]; - String get operations => localizedValues['inPatient'][locale.languageCode]; + String get operations => localizedValues['operations'][locale.languageCode]; String get patientServices => localizedValues['patientServices'][locale.languageCode]; String get searchMedicine => @@ -179,6 +179,39 @@ class TranslationBase { String get smsBy => localizedValues['smsBy'][locale.languageCode]; String get pleaseEnterTheCode => localizedValues['pleaseEnterTheCode'][locale.languageCode]; + String get youDontHaveAnyPatient => + localizedValues['youDon\'tHaveAnyPatient'][locale.languageCode]; + + String get age => localizedValues['age'][locale.languageCode]; + String get today => localizedValues['today'][locale.languageCode]; + String get tomorrow => localizedValues['tomorrow'][locale.languageCode]; + String get all => localizedValues['all'][locale.languageCode]; + String get nextWeek => localizedValues['nextWeek'][locale.languageCode]; + String get yesterday => localizedValues['yesterday'][locale.languageCode]; + String get errorNoInsuranceApprovals => + localizedValues['errorNoInsuranceApprovals'][locale.languageCode]; + String get searchInsuranceApprovals => + localizedValues['searchInsuranceApprovals'][locale.languageCode]; + String get status => localizedValues['status'][locale.languageCode]; + String get expiryDate => localizedValues['expiryDate'][locale.languageCode]; + String get producerName => + localizedValues['producerName'][locale.languageCode]; + String get receiptOn => localizedValues['receiptOn'][locale.languageCode]; + String get approvalNo => localizedValues['approvalNo'][locale.languageCode]; + String get doctor => localizedValues['doctor'][locale.languageCode]; + String get ext => localizedValues['ext'][locale.languageCode]; + String get veryUrgent => localizedValues['veryUrgent'][locale.languageCode]; + String get urgent => localizedValues['urgent'][locale.languageCode]; + String get routine => localizedValues['routine'][locale.languageCode]; + String get send => localizedValues['send'][locale.languageCode]; + String get referralFrequency => + localizedValues['referralFrequency'][locale.languageCode]; + String get clinicalDetailsAndRemarks => + localizedValues['clinicalDetailsAndRemarks'][locale.languageCode]; + String get remarks => localizedValues['remarks'][locale.languageCode]; + String get pleaseFill => localizedValues['pleaseFill'][locale.languageCode]; + String get replay2 => localizedValues['replay2'][locale.languageCode]; + String get outPatient => localizedValues['outPatient'][locale.languageCode]; } class TranslationBaseDelegate extends LocalizationsDelegate { diff --git a/lib/widgets/patients/profile/profile_medical_info_widget.dart b/lib/widgets/patients/profile/profile_medical_info_widget.dart index d3034c86..b37a360f 100644 --- a/lib/widgets/patients/profile/profile_medical_info_widget.dart +++ b/lib/widgets/patients/profile/profile_medical_info_widget.dart @@ -76,7 +76,7 @@ class ProfileMedicalInfoWidget extends StatelessWidget { key: key, patient: patient, route: REFER_PATIENT, - name: 'Refer Patient', + name: TranslationBase.of(context).myReferralPatient, icon: 'note.png')), Visibility( visible: selectedPatientType != 0 && selectedPatientType != 5, diff --git a/lib/widgets/shared/bottom_nav_bar.dart b/lib/widgets/shared/bottom_nav_bar.dart index f2fd66cc..ca31f2bf 100644 --- a/lib/widgets/shared/bottom_nav_bar.dart +++ b/lib/widgets/shared/bottom_nav_bar.dart @@ -3,6 +3,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'bottom_navigation_item.dart'; +import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; class BottomNavBar extends StatefulWidget { final ValueChanged changeIndex; @@ -41,7 +42,7 @@ class _BottomNavBarState extends State { changeIndex: _changeIndex, index: _index, currentIndex: 0, - name: 'HOME', + name: TranslationBase.of(context).home, ), BottomNavigationItem( icon: DoctorApp.message_icon, @@ -49,7 +50,7 @@ class _BottomNavBarState extends State { changeIndex: _changeIndex, index: _index, currentIndex: 1, - name: 'REPLAY', + name: TranslationBase.of(context).replay2, ), BottomNavigationItem( icon: DoctorApp.schedule_icon, @@ -57,7 +58,7 @@ class _BottomNavBarState extends State { changeIndex: _changeIndex, index: _index, currentIndex: 2, - name: 'SCHEDULE', + name: TranslationBase.of(context).mySchedule, ), BottomNavigationItem( icon: DoctorApp.menu_icon, @@ -65,7 +66,7 @@ class _BottomNavBarState extends State { changeIndex: _changeIndex, index: _index, currentIndex: 3, - name: 'SERVICES', + name: TranslationBase.of(context).services, ) ], ),