From 12274ad6d37f1a97ab8c430eb6946ca2ac9837bf Mon Sep 17 00:00:00 2001 From: MD Fahid Sarker <1155149075@link.cuhk.edu.hk> Date: Sun, 15 May 2022 11:32:19 +0800 Subject: [PATCH] minor bug fixes and added bn local and number and date localizations --- l10n.yaml | 2 +- lib/extensions.dart | 47 +- lib/helpers/sharedPrefHelper.dart | 36 - lib/localization/app_lamg_template.arb | 449 ------------ lib/localization/langs/app_en.arb | 457 ------------ lib/localization/supportedLangs.dart | 62 +- lib/metadata.dart | 13 +- .../adhan/widgets/AdhanDateChanger.dart | 8 +- lib/screens/feedback/feedbackTaker.dart | 55 +- .../bottomsheets/AppLanguagePicker.dart | 2 +- .../DuaTranslationLangPicker.dart | 4 +- lib/screens/settings/settingsScreen.dart | 6 +- lib/screens/welcome/welcomeScreen.dart | 3 +- lib/theme.dart | 5 +- lib/widgets/dashBoard.dart | 23 +- locals/app_lamg_template.arb | 667 ++++++++++++++++++ locals/langs/app_bn.arb | 667 ++++++++++++++++++ locals/langs/app_en.arb | 667 ++++++++++++++++++ pubspec.lock | 2 +- pubspec.yaml | 2 +- 20 files changed, 2159 insertions(+), 1018 deletions(-) delete mode 100644 lib/helpers/sharedPrefHelper.dart delete mode 100644 lib/localization/app_lamg_template.arb delete mode 100644 lib/localization/langs/app_en.arb create mode 100644 locals/app_lamg_template.arb create mode 100644 locals/langs/app_bn.arb create mode 100644 locals/langs/app_en.arb diff --git a/l10n.yaml b/l10n.yaml index cabb8f8..3148929 100644 --- a/l10n.yaml +++ b/l10n.yaml @@ -1,3 +1,3 @@ -arb-dir: lib/localization/langs +arb-dir: locals/langs template-arb-file: app_en.arb output-localization-file: app_localizations.dart \ No newline at end of file diff --git a/lib/extensions.dart b/lib/extensions.dart index 3c1a952..52a4fbe 100644 --- a/lib/extensions.dart +++ b/lib/extensions.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:flutter_gen/gen_l10n/app_localizations_en.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; +import 'package:hijri/hijri_calendar.dart'; AppLocalizationsEn get engAppLocale { return AppLocalizationsEn(); @@ -72,7 +73,7 @@ extension ContextHelper on BuildContext { } } -extension IntHelper on double { +extension DoubleHelper on double { T closestTo(List values) { T lastMin = values[0]; double lastDif = (lastMin - this).abs(); @@ -130,6 +131,13 @@ extension LocalizeHelper on AppLocalizations { ? compass_heading_north_west : compass_heading_north; } + + String getDigitFor(int i){ + assert(i >= 0 && i <= 9, "the digit must be between 0 and 9"); + return [ + zero, one,two, three, four, five, six, seven, eight, nine + ][i]; + } } extension Helper on BuildContext { @@ -202,4 +210,41 @@ extension DateHelper on DateTime { bool get isJummahToday { return weekday == 5; } + + String getHizriDateForLocale(AppLocalizations locale, {String separator = '-'}){ + final months = [ + locale.arabic_month_muharram, + locale.arabic_month_safar, + locale.arabic_month_rabi_al_awwal, + locale.arabic_month_rabi_al_thani, + locale.arabic_month_jumada_al_awwal, + locale.arabic_month_jumada_al_thani, + locale.arabic_month_rajab, + locale.arabic_month_shaban, + locale.arabic_month_ramadan, + locale.arabic_month_shawwal, + locale.arabic_month_dhu_al_qadha, + locale.arabic_month_dhu_al_hijjah]; + + final hDate = HijriCalendar.fromDate(this); + return '${hDate.hDay.localizeTo(locale)}$separator${months[hDate.hMonth]}$separator${hDate.hYear.localizeTo(locale)}'; + } } + +extension IntHelper on int{ + String localizeTo(AppLocalizations locale){ + final strNum = toString(); + var localized = ''; + for(int i = 0; i < strNum.length; i++){ + final digit = strNum[i]; + final localizedDigit = locale.getDigitFor(digit.toInt()); + localized += localizedDigit; + } + + if(locale.direction == 'rlt'){ + localized = localized.split('').reversed.join(''); + } + + return localized; + } +} \ No newline at end of file diff --git a/lib/helpers/sharedPrefHelper.dart b/lib/helpers/sharedPrefHelper.dart deleted file mode 100644 index bf01837..0000000 --- a/lib/helpers/sharedPrefHelper.dart +++ /dev/null @@ -1,36 +0,0 @@ -/* -import 'package:shared_preferences/shared_preferences.dart'; - -Future getSharedPref() async { - return SharedPreferences.getInstance(); -} - -Future sharedPref(Future Function(SharedPreferences) smth) async { - final pref = await getSharedPref(); - await smth(pref); -} - -Future getStringFromSharedPref(String key) async { - return (await getSharedPref()).getString(key); -} - -Future getIntFromSharedPref(String key) async { - return (await getSharedPref()).getInt(key); -} - -Future getBoolFromSharedPref(String key) async { - return (await getSharedPref()).getBool(key); -} - -Future setBoolToSharedPref(String key, bool value) async { - return (await getSharedPref()).setBool(key, value); -} - -Future setIntToSharedPref(String key, int value) async { - return (await getSharedPref()).setInt(key, value); -} - -Future setStringToSharedPref(String key, String value) async { - return (await getSharedPref()).setString(key, value); -} -*/ diff --git a/lib/localization/app_lamg_template.arb b/lib/localization/app_lamg_template.arb deleted file mode 100644 index ae5b548..0000000 --- a/lib/localization/app_lamg_template.arb +++ /dev/null @@ -1,449 +0,0 @@ -{ - "@__________________________________________Global_Page": { - }, - "locale": "temp", - "@locale": { - "description": "Name of Locale. eg. for English: 'en' " - }, - "direction":, - "@direction": { - "description": "Language direction - Either Left-To-Right (ltr) or Right-To-left(rtl). e.g. for English: 'ltr' " - }, - "current_lang":, - "@current_lang": { - "description": "Name of this language in its language - e.g. for English: 'English' " - }, - "hour":, - "@hour": { - "description": "The word hour (short form if possible) - e.g. for English: 'hr' " - }, - "minute":, - "@minute": { - "description": "The word form minute (short form if possible) - e.g. for English: 'min' " - }, - "close":, - "@close": { - "description": "The word Close - e.g. for English: 'Close' " - }, - "notification":, - "@notification": { - "description": "Describes a notification - e.g. for English: 'Notification' " - }, - "adhan":, - "@adhan": { - "description": "Describes a button called Adhan/Azan - e.g. for English: 'Azan' " - }, - "qibla":, - "@qibla": { - "description": "Describes a button called Qibla - e.g. for English: 'Qibla' " - }, - "dua":, - "@dua": { - "description": "Describes a button called Dua - e.g. for English: 'Dua' " - }, - "tasbih":, - "@tasbih": { - "description": "Describes a button called tasbih - e.g. for English: 'Tasbih' " - }, - "settings":, - "@settings": { - "description": "Describes a button called Settings - e.g. for English: 'Settings' " - }, - "search":, - "@search": { - "description": "Describes a button called Search - e.g. for English: 'Search' " - }, - "language":, - "@language": { - "description": "A word for Language Selection - e.g. for English: 'Language' " - }, - "app_name":, - "@app_name": { - "description": "The transliteration for Azan - e.g. for English: 'Azan' " - }, - "location":, - "@location": { - "description": "The translation of the word location - e.g. for English: 'Location' " - }, - "next":, - "@next": { - "description": "The translation of the word 'Next' - e.g. for English: 'Next' " - }, - "reset":, - "@reset": { - "description": "The translation of the word 'Reset' - e.g. for English: 'Reset' " - }, - "type":, - "@type": { - "description": "The translation for the word 'Type' - e.g. for English: 'Type', 'Type of Azan Notification'" - }, - "timing":, - "@timing": { - "description": "The translation for the word 'Timing' - e.g. for English: 'Timing', 'Timing for the Azan Notification' " - }, - "bttn_open_settings":, - "@bttn_open_settings": { - "description": "The translation for the sentence 'Open Settings' - e.g. for English: 'Open Settings' " - }, - "bttn_okay":, - "@bttn_okay": { - "description": "The translation for the word 'okay' - e.g. for English: 'Okay' " - }, - "bttn_remind_me_later":, - "@bttn_remind_me_later": { - "description": "The translation for the sentence 'Remind me later' - e.g. for English: 'Remind Me Later'" - }, - "bttn_never_ask_again":, - "@bttn_never_ask_again": { - "description": "The translation for the sentence 'Never Ask me Again' - e.g. for English: 'Never Ask Again' " - }, - "finding":, - "@finding": { - "description": "An indicator to indication the app is finding the location - e.g. for English: 'Finding...' " - }, - "error_occured":, - "@error_occured": { - "description": "An indicator to indicate an error has occurred - e.g. for English: 'Error Occured' " - }, - "no_location_available":, - "@no_location_available": { - "description": "An Indicator to indicate no location is currently available - e.g. for English: 'No Location Available' " - }, - "tap_to_update":, - "@tap_to_update": { - "description": "A button to which updates content on tap - e.g. for English: 'Tap to update' " - }, - "default_mode":, - "@default_mode": { - "description": "A Button to change the setting to factory mode - e.g. for English: 'Default' " - }, - "preview_of_font":, - "@preview_of_font": { - "description": "Preview of the font size - e.g. for English 'Preview Of Other Font sizes'" - }, - "share_app":, - "@share_app": { - "description": "Share the app - e.g. for English: 'Share with friend' " - }, - "about":, - "@about": { - "description": "About panel - e.g. for English: 'About'" - }, - "try_again":, - "@try_again": { - "description": "A button to try again - e.g. for English: 'Try Again' " - }, - "@__________________________________________Welcome_page": { - }, - "location_privacy_short":, - "@location_privacy_short": { - "description": "A short description of the location privacy policy - e.g. For English: 'Minimal Azan is privacy focused. Your location is stored on your device locally.' " - }, - "location_required":, - "@location_required": { - "description": "A translation for the word 'Location Required' - - e.g. for English: 'Location Required' " - }, - "location_found":, - "@location_found": { - "description": "A translation for the word 'Location Found' - e.g. for English: 'Location Found'" - }, - "permission_denied":, - "@permission_denied": { - "description": "A translation for the word 'Permission Denied' - e.g. for English: 'Permission Denied'" - }, - "location_permission_request_short":, - "@location_permission_request_short": { - "description": "A short description explaining why the location is required - e.g. for English: 'Your location is needed to calculate the time of adhan, display the Qibla Compass and Show Nearby Mosques' " - }, - "@__________________________________________Adhan_Page": { - }, - "adhan_fajr":, - "@adhan_fajr": { - "description": "A word for 'Fajr' in its language - e.g. for English: 'Fajr'" - }, - "adhan_sunrise":, - "@adhan_sunrise": { - "description": "A word for sunrise in its language - e.g. for English: 'Sunrise' " - }, - "adhan_dhuhr":, - "@adhan_dhuhr": { - "description": "A word for Dhuhr in its language - e.g. for English: 'Dhuhr' " - }, - "adhan_jummah":, - "@adhan_jummah": { - "description": "A word for 'Jummah' in its language - e.g. for English: 'Jummah' " - }, - "adhan_asr":, - "@adhan_asr": { - "description": "A word for 'Asr' in its language - e.g. for English: 'Asr' " - }, - "adhan_magrib":, - "@adhan_magrib": { - "description": "A word for 'Magrib' in its language - e.g. for English: 'Magrib' " - }, - "adhan_isha":, - "@adhan_isha": { - "description": "A word for 'Isha' in its language - e.g. for English: 'Isha' " - }, - "adhan_midnight":, - "@adhan_midnight": { - "description": "A word for 'Midnight' in its language - e.g. for English: 'Midnight' " - }, - "adhan_third_night":, - "@adhan_third_night": { - "description": "A word for 'Last Third Night' in its language - e.g. for English: 'Last Third Night' " - }, - "inexact_notify":, - "@inexact_notify": { - "description": "A sentence for weather the notification be exact or delayed or early - e.g. for English: 'Early/Delayed Notification'" - }, - "notify_me_before":, - "@notify_me_before": { - "description": "Describes when the notification should be sent early - e.g. for English: 'Notify me {min} minutes before azan time'", - "placeholders": { - "min": { - "type": "String", - "example": "12" - } - } - }, - "notify_me_after":, - "@notify_me_after": { - "description": "Describes when the notification should be sent later - e.g. for English: 'Notify me {min} minutes after azan time'", - "placeholders": { - "min": { - "type": "String", - "example": "12" - } - } - }, - "silent_adhan":, - "@silent_adhan": { - "description": "No notification should be sent - e.g. for English: 'Silent' " - }, - "notification_only":, - "@notification_only": { - "description": "Only send the notification with default sound - e.g. for English: 'Notification Only'" - }, - "ringtone":, - "@ringtone": { - "description": "Play the ringtone during notification - e.g. for English: 'Ringtone''" - }, - "adhan_mecca":, - "@adhan_mecca": { - "description": "Play the Azan of Mecca during notification - e.g. for English: 'Azan Mecca'" - }, - "adhan_medina":, - "@adhan_medina": { - "description": "Play the azan of medina during notification - e.g. for English: 'Azan Medina'" - }, - "alarm":, - "@alarm": { - "description": "Play the alarm during notification - e.g. for English: 'Alarm'" - }, - "@__________________________________________Settings_Page": { - }, - "global":, - "@global": { - "description": "The category global settings i.e. that applies to the entire app - e.g. for English: 'Global'" - }, - "click_to_change":, - "@click_to_change": { - "description": "The user can change a settings by tapping a Button - e.g. for English: 'Click to change' " - }, - "madhab":, - "@madhab": { - "description": "Select a madhab for asr time - e.g. for English: 'Madhab' " - }, - "hanafi_madhab":, - "@hanafi_madhab": { - "description": "The transliteration of Hanafi madhab - e.g. for English: 'Hanafi Madhab' " - }, - "shafi_madhab":, - "@shafi_madhab": { - "description": "The transliteration of the Shafii Madhab - e.g. for English: 'Shafi madhab' " - }, - "hanafi_asr_desc":, - "@hanafi_asr_desc": { - "description": "The descrion of the change of selecting hanafi madhab - e.g. for English: 'Later Asr Time'" - }, - "shafi_asr_desc":, - "@shafi_asr_desc": { - "description": "The description of the change of selecting the shafi madhab - e.g. for English: 'Early Asr Time' " - }, - "persistent_notify":, - "@persistent_notify": { - "description": "will the notification be persistent? - e.g. for English: 'Persistent Notification'" - }, - "persistent_notify_desc":, - "@persistent_notify_desc": { - "description": "Description for the notification be persistent - e.g. for English: 'Show the Azan notification all the time'" - }, - "theme":, - "@theme": { - "description": "Settings for the theme - e.g. for English: 'Theme' " - }, - "always_dark":, - "@always_dark": { - "description": "Always show the dark-mode irrespective of the device theme - e.g. for English: 'Always Dark'" - }, - "always_light":, - "@always_light": { - "description": "Always show the light-mode irrespective of the device theme - e.g. for English: 'Always Dark'" - }, - "follow_system":, - "@follow_system": { - "description": "Follow the system for theme - e.g. for English: 'Follow System' " - }, - "calc_method":, - "@calc_method": { - "description": "Calculation method of the Azan times - e.g. for English: 'Calculation Method' " - }, - "high_lat_rule":, - "@high_lat_rule": { - "description": "Rules for high latitude for azan time calculation - e.g. for English: 'High Lat Rules' " - }, - "adhan_visibility":, - "@adhan_visibility": { - "description": "Visibility of some azan times - e.g. for English: 'Azan Visibility' " - }, - "adhan_manual_correction":, - "@adhan_manual_correction": { - "description": "Manual Correction for some azan times - e.g. for English: 'Manual Corrections'" - }, - "support_dev":, - "@support_dev": { - "description": "Category of supporting development - e.g. for English: 'Support Development'" - }, - "rate_on_play_store":, - "@rate_on_play_store": { - "description": "Button to rate on play store - e.g. for English: 'Rate on Play Store' " - }, - "rate_on_play_store_desc":, - "@rate_on_play_store_desc": { - "description": "Description of the rate button - e.g. for English: 'That would motivate us a lot.'" - }, - "help_us_translate":, - "@help_us_translate": { - "description": "A button for user to translate the app - e.g. for English: 'Help us translate'" - }, - "help_us_translate_desc":, - "@help_us_translate_desc": { - "description": "Description for the help_us_translate button - e.g. for English: 'Don't see your language? Help us translate the app features and dua for a particular language.'" - }, - "github_ripo":, - "@github_ripo": { - "description": "A button to go to the github repo - e.g. for English: 'Github Repository' " - }, - "github_ripo_desc":, - "@github_ripo_desc": { - "description": "Description for the github repo - e.g. for English: 'If you know flutter development, join us in this journey of Fi-Sabilillah.'" - }, - "report_bug":, - "@report_bug": { - "description": "A button to report a bug to the development team - e.g. for English: 'Report a bug'" - }, - "report_bug_desc":, - "@report_bug_desc": { - "description": "Description of the report_bug button - e.g. for English: 'Sorry, you had to face it. You can either report a problem in github or through email. Zajakallah for the information.'" - }, - "make_dua":, - "@make_dua": { - "description": "A button asking for dua - e.g. for English: 'Make dua for us' " - }, - "make_dua_desc":, - "@make_dua_desc": { - "description": " Description of the dua button - Simply translate the english dua - e.g. for English: 'Abu Darda reported: The Messenger of Allah, peace and blessings be upon him, said, “No Muslim servant supplicates for his brother behind his back but that the angel says: And for you the same.”' " - }, - "make_dua_action":, - "@make_dua_action": { - "description": "Action for make dua - e.g. for English: 'May Allah reward you with something good :-)'" - }, - "request_a_feature":, - "@request_a_feature": { - "description": "Button for requesting a new feature - e.g. for English: 'Request a feature'" - }, - "request_a_feature_desc":, - "@request_a_feature_desc": { - "description": "Description for the request button - e.g. for English: 'Need additional feature or dua? Suggest it to us'" - }, - "show_translation":, - "@show_translation": { - "description": "Show translation of the duas - e.g. for English: 'Show Translation' " - }, - "show_transliteration":, - "@show_transliteration": { - "description": "Show transliteration of the duas - e.g. for English: 'Show Transliteration' " - }, - "translation_lang":, - "@translation_lang": { - "description": "Option to choose a translation language - e.g. for English: 'Translation Language' " - }, - "disable_battery_optimization":, - "@disable_battery_optimization": { - "description": "Disable battery optimization for better notification - e.g. for English: 'Disable Battery Optimization' " - }, - "disable_battery_optimization_desc":, - "@disable_battery_optimization_desc": { - "description": "Description for battery_optimizatio_disable - e.g. for English: 'Please disable the battery optimization feature so that you don't miss any notifications!' " - }, - "arabic_font_size": , - "@arabic_font_size": { - "description": "Arabic font size selector - e.g for English: 'Arabic Font Selector'" - }, - "other_font_size":, - "@other_font_size": { - "description": "Other (translation/transliteration) font size selector - e.g for English: 'Other Font Selector'" - }, - "@__________________________________________Dua_Page": { - }, - "favs":, - "@favs": { - "description": "Favourites button 'Favourites' " - }, - "add_to_fav":, - "@add_to_fav": { - "description": "A button to add duas to favourites - e.g. for English: 'Add to Favourite' " - }, - "add_to_fav_action":, - "@add_to_fav_action": { - "description": "An action when add duas to favourites - e.g. for English: 'Added to Favourite' " - }, - "remove_from_fav":, - "@remove_from_fav": { - "description": "A button to remove dua from favourites - e.g. for English: 'Remove from Favourites' " - }, - "remove_from_fav_action":, - "@remove_from_fav_action": { - "description": "An action when remove dua from favourites - e.g. for English: 'Removed from Favourites' " - }, - "report_an_error":, - "@report_an_error": { - "description": "Report an error in the dua - e.g. for English: 'Report an error' " - }, - "copy_dua":, - "@copy_dua": { - "description": "A button to copy the entire dua - e.g. for English: 'Copy Dua' " - }, - "copy_dua_action":, - "@copy_dua_action": { - "description": "Action for copying dua 'Copied to clipboard!' " - }, - "@__________________________________________Qibla_page": {}, - "you_are_facing": , - "@you_are_facing": { - "description": "A translation of the sentence - 'You are facing' as in You are facing the qibla" - }, - - "compass_heading_north": , - "compass_heading_north_east": , - "compass_heading_east": , - "compass_heading_south_east": , - "compass_heading_south": , - "compass_heading_south_west": , - "compass_heading_west": , - "compass_heading_north_west": , - "@compass_headings": { - "description": "headings of compass - Translation" - } -} \ No newline at end of file diff --git a/lib/localization/langs/app_en.arb b/lib/localization/langs/app_en.arb deleted file mode 100644 index ae2b03c..0000000 --- a/lib/localization/langs/app_en.arb +++ /dev/null @@ -1,457 +0,0 @@ -{ - "@__________________________________________Global_Page": { - }, - "locale": "en", - "@locale": { - "description": "Name of Locale. eg. for English: 'en' " - }, - "direction": "ltr", - "@direction": { - "description": "Language direction - Either Left-To-Right (ltr) or Right-To-left(rtl). e.g. for English: 'ltr' " - }, - "current_lang": "English", - "@current_lang": { - "description": "Name of this language in its language - e.g. for English: 'English' " - }, - "hour": "hr", - "@hour": { - "description": "The word hour (short form if possible) - e.g. for English: 'hr' " - }, - "minute": "min", - "@minute": { - "description": "The word form minute (short form if possible) - e.g. for English: 'min' " - }, - "close": "Close", - "@close": { - "description": "The word Close - e.g. for English: 'Close' " - }, - "notification": "Notification", - "@notification": { - "description": "Describes a notification - e.g. for English: 'Notification' " - }, - "adhan": "Azan", - "@adhan": { - "description": "Describes a button called Adhan/Azan - e.g. for English: 'Azan' " - }, - "qibla": "Qibla", - "@qibla": { - "description": "Describes a button called Qibla - e.g. for English: 'Qibla' " - }, - "dua": "Dua", - "@dua": { - "description": "Describes a button called Dua - e.g. for English: 'Dua' " - }, - "tasbih": "Tasbih", - "@tasbih": { - "description": "Describes a button called tasbih - e.g. for English: 'Tasbih' " - }, - "settings": "Settings", - "@settings": { - "description": "Describes a button called Settings - e.g. for English: 'Settings' " - }, - "search": "Search", - "@search": { - "description": "Describes a button called Search - e.g. for English: 'Search' " - }, - "language": "Language", - "@language": { - "description": "A word for Language Selection - e.g. for English: 'Language' " - }, - "app_name": "Azan", - "@app_name": { - "description": "The transliteration for Azan - e.g. for English: 'Azan' " - }, - "location": "Location", - "@location": { - "description": "The translation of the word location - e.g. for English: 'Location' " - }, - "next": "Next", - "@next": { - "description": "The translation of the word 'Next' - e.g. for English: 'Next' " - }, - "reset": "Reset", - "@reset": { - "description": "The translation of the word 'Reset' - e.g. for English: 'Reset' " - }, - "type": "Type", - "@type": { - "description": "The translation for the word 'Type' - e.g. for English: 'Type', 'Type of Azan Notification'" - }, - "timing": "Timing", - "@timing": { - "description": "The translation for the word 'Timing' - e.g. for English: 'Timing', 'Timing for the Azan Notification' " - }, - "bttn_open_settings": "Open Settings", - "@bttn_open_settings": { - "description": "The translation for the sentence 'Open Settings' - e.g. for English: 'Open Settings' " - }, - "bttn_okay": "Okay", - "@bttn_okay": { - "description": "The translation for the word 'okay' - e.g. for English: 'Okay' " - }, - "bttn_remind_me_later": "Remind me later", - "@bttn_remind_me_later": { - "description": "The translation for the sentence 'Remind me later' - e.g. for English: 'Remind Me Later'" - }, - "bttn_never_ask_again": "Never Ask Again", - "@bttn_never_ask_again": { - "description": "The translation for the sentence 'Never Ask me Again' - e.g. for English: 'Never Ask Again' " - }, - "finding": "Finding...", - "@finding": { - "description": "An indicator to indication the app is finding the location - e.g. for English: 'Finding...' " - }, - "error_occured": "Error Occurred", - "@error_occured": { - "description": "An indicator to indicate an error has occurred - e.g. for English: 'Error Occured' " - }, - "no_location_available": "No Location Available", - "@no_location_available": { - "description": "An Indicator to indicate no location is currently available - e.g. for English: 'No Location Available' " - }, - "tap_to_update": "Tap to update", - "@tap_to_update": { - "description": "A button to which updates content on tap - e.g. for English: 'Tap to update' " - }, - "default_mode": "Default", - "@default_mode": { - "description": "A Button to change the setting to factory mode - e.g. for English: 'Default' " - }, - - "preview_of_font": "Preview Of Other Font Sizes", - "@preview_of_font": { - "description": "Preview of the font size - e.g. for English 'Preview Of Other Font sizes'" - }, - - "share_app": "Share with Friend", - "@share_app": { - "description": "Share the app - e.g. for English: 'Share with friend' " - }, - "about": "About", - "@about": { - "description": "About panel - e.g. for English: 'About'" - }, - "try_again": "Try Again", - "@try_again": { - "description": "A button to try again - e.g. for English: 'Try Again' " - }, - - - "@__________________________________________Welcome_page": { - }, - "location_privacy_short": "Minimal Azan is privacy focused. Your location is stored on your device locally.", - "@location_privacy_short": { - "description": "A short description of the location privacy policy - e.g. For English: 'Minimal Azan is privacy focused. Your location is stored on your device locally.' " - }, - "location_required": "Location Required", - "@location_required": { - "description": "A translation for the word 'Location Required' - - e.g. for English: 'Location Required' " - }, - "location_found": "Location Found", - "@location_found": { - "description": "A translation for the word 'Location Found' - e.g. for English: 'Location Found'" - }, - "permission_denied": "Permission Denied", - "@permission_denied": { - "description": "A translation for the word 'Permission Denied' - e.g. for English: 'Permission Denied'" - }, - "location_permission_request_short": "Your location is needed to calculate the time of adhan, display the Qibla Compass and Show Nearby Mosques", - "@location_permission_request_short": { - "description": "A short description explaining why the location is required - e.g. for English: 'Your location is needed to calculate the time of adhan, display the Qibla Compass and Show Nearby Mosques' " - }, - "@__________________________________________Adhan_Page": { - }, - "adhan_fajr":"Fajr", - "@adhan_fajr": { - "description": "A word for 'Fajr' in its language - e.g. for English: 'Fajr'" - }, - "adhan_sunrise": "Sunrise", - "@adhan_sunrise": { - "description": "A word for sunrise in its language - e.g. for English: 'Sunrise' " - }, - "adhan_dhuhr": "Dhuhr", - "@adhan_dhuhr": { - "description": "A word for Dhuhr in its language - e.g. for English: 'Dhuhr' " - }, - "adhan_jummah": "Jummah", - "@adhan_jummah": { - "description": "A word for 'Jummah' in its language - e.g. for English: 'Jummah' " - }, - "adhan_asr": "Asr", - "@adhan_asr": { - "description": "A word for 'Asr' in its language - e.g. for English: 'Asr' " - }, - "adhan_magrib": "Magrib", - "@adhan_magrib": { - "description": "A word for 'Magrib' in its language - e.g. for English: 'Magrib' " - }, - "adhan_isha": "Isha", - "@adhan_isha": { - "description": "A word for 'Isha' in its language - e.g. for English: 'Isha' " - }, - "adhan_midnight": "Midnight", - "@adhan_midnight": { - "description": "A word for 'Midnight' in its language - e.g. for English: 'Midnight' " - }, - "adhan_third_night": "Last Third Night", - "@adhan_third_night": { - "description": "A word for 'Last Third Night' in its language - e.g. for English: 'Last Third Night' " - }, - "inexact_notify": "Early/Delayed Notification", - "@inexact_notify": { - "description": "A sentence for weather the notification be exact or delayed or early - e.g. for English: 'Early/Delayed Notification'" - }, - "notify_me_before":"Notify me {min} minutes before azan time", - "@notify_me_before": { - "description": "Describes when the notification should be sent early - e.g. for English: 'Notify me {min} minutes before azan time'", - "placeholders": { - "min": { - "type": "String", - "example": "12" - } - } - }, - "notify_me_after":"Notify me {min} minutes after azan time", - "@notify_me_after": { - "description": "Describes when the notification should be sent later - e.g. for English: 'Notify me {min} minutes after azan time'", - "placeholders": { - "min": { - "type": "String", - "example": "12" - } - } - }, - "silent_adhan":"Silent", - "@silent_adhan": { - "description": "No notification should be sent - e.g. for English: 'Silent' " - }, - "notification_only": "Notification Only", - "@notification_only": { - "description": "Only send the notification with default sound - e.g. for English: 'Notification Only'" - }, - "ringtone": "Ringtone", - "@ringtone": { - "description": "Play the ringtone during notification - e.g. for English: 'Ringtone''" - }, - "adhan_mecca": "Azan Mecca", - "@adhan_mecca": { - "description": "Play the Azan of Mecca during notification - e.g. for English: 'Azan Mecca'" - }, - "adhan_medina": "Azan Medina", - "@adhan_medina": { - "description": "Play the azan of medina during notification - e.g. for English: 'Azan Medina'" - }, - "alarm": "Alarm", - "@alarm": { - "description": "Play the alarm during notification - e.g. for English: 'Alarm'" - }, - "@__________________________________________Settings_Page": { - }, - "global": "Global", - "@global": { - "description": "The category global settings i.e. that applies to the entire app - e.g. for English: 'Global'" - }, - "click_to_change": "Click to Change", - "@click_to_change": { - "description": "The user can change a settings by tapping a Button - e.g. for English: 'Click to change' " - }, - "madhab": "Madhab", - "@madhab": { - "description": "Select a madhab for asr time - e.g. for English: 'Madhab' " - }, - "hanafi_madhab": "Hanafi Madhab", - "@hanafi_madhab": { - "description": "The transliteration of Hanafi madhab - e.g. for English: 'Hanafi Madhab' " - }, - "shafi_madhab": "Shafi Madhab", - "@shafi_madhab": { - "description": "The transliteration of the Shafii Madhab - e.g. for English: 'Shafi madhab' " - }, - "hanafi_asr_desc": "Later Asr Time", - "@hanafi_asr_desc": { - "description": "The descrion of the change of selecting hanafi madhab - e.g. for English: 'Later Asr Time'" - }, - "shafi_asr_desc": "Early Asr Time", - "@shafi_asr_desc": { - "description": "The description of the change of selecting the shafi madhab - e.g. for English: 'Early Asr Time' " - }, - "persistent_notify": "Persistent Notification", - "@persistent_notify": { - "description": "will the notification be persistent? - e.g. for English: 'Persistent Notification'" - }, - "persistent_notify_desc": "Show Azan notification all the time", - "@persistent_notify_desc": { - "description": "Description for the notification be persistent - e.g. for English: 'Show the Azan notification all the time'" - }, - "theme": "Theme", - "@theme": { - "description": "Settings for the theme - e.g. for English: 'Theme' " - }, - "always_dark": "Always Dark", - "@always_dark": { - "description": "Always show the dark-mode irrespective of the device theme - e.g. for English: 'Always Dark'" - }, - "always_light": "Always Light", - "@always_light": { - "description": "Always show the light-mode irrespective of the device theme - e.g. for English: 'Always Dark'" - }, - "follow_system": "Follow System", - "@follow_system": { - "description": "Follow the system for theme - e.g. for English: 'Follow System' " - }, - "calc_method": "Calculation Required", - "@calc_method": { - "description": "Calculation method of the Azan times - e.g. for English: 'Calculation Method' " - }, - "high_lat_rule": "High Lat Rules", - "@high_lat_rule": { - "description": "Rules for high latitude for azan time calculation - e.g. for English: 'High Lat Rules' " - }, - "adhan_visibility": "Azan Visibility", - "@adhan_visibility": { - "description": "Visibility of some azan times - e.g. for English: 'Azan Visibility' " - }, - "adhan_manual_correction": "Manual Corrections", - "@adhan_manual_correction": { - "description": "Manual Correction for some azan times - e.g. for English: 'Manual Corrections'" - }, - "support_dev": "Support Development", - "@support_dev": { - "description": "Category of supporting development - e.g. for English: 'Support Development'" - }, - "rate_on_play_store": "Rate on play store", - "@rate_on_play_store": { - "description": "Button to rate on play store - e.g. for English: 'Rate on Play Store' " - }, - "rate_on_play_store_desc": "That would motivate us a lot", - "@rate_on_play_store_desc": { - "description": "Description of the rate button - e.g. for English: 'That would motivate us a lot.'" - }, - "help_us_translate": "Help us translate", - "@help_us_translate": { - "description": "A button for user to translate the app - e.g. for English: 'Help us translate'" - }, - "help_us_translate_desc":"Don't see your language? Help us translate the app features and dua for a particular language.", - "@help_us_translate_desc": { - "description": "Description for the help_us_translate button - e.g. for English: 'Don't see your language? Help us translate the app features and dua for a particular language.'" - }, - "github_ripo":"Github Repository", - "@github_ripo": { - "description": "A button to go to the github repo - e.g. for English: 'Github Repository' " - }, - "github_ripo_desc": "If you know flutter development, join us in this journey of Fi-Sabilillah.", - "@github_ripo_desc": { - "description": "Description for the github repo - e.g. for English: 'If you know flutter development, join us in this journey of Fi-Sabilillah.'" - }, - "report_bug": "Report a bug", - "@report_bug": { - "description": "A button to report a bug to the development team - e.g. for English: 'Report a bug'" - }, - "report_bug_desc": "Sorry, you had to face it. You can either report a problem in github or through email. Zajakallah for the information.", - "@report_bug_desc": { - "description": "Description of the report_bug button - e.g. for English: 'Sorry, you had to face it. You can either report a problem in github or through email. Zajakallah for the information.'" - }, - "make_dua": "Make dua for us", - "@make_dua": { - "description": "A button asking for dua - e.g. for English: 'Make dua for us' " - }, - "make_dua_desc":"Abu Darda reported: The Messenger of Allah, peace and blessings be upon him, said, “No Muslim servant supplicates for his brother behind his back but that the angel says: And for you the same.”", - "@make_dua_desc": { - "description": " Description of the dua button - Simply translate the english dua - e.g. for English: 'Abu Darda reported: The Messenger of Allah, peace and blessings be upon him, said, “No Muslim servant supplicates for his brother behind his back but that the angel says: And for you the same.”' " - }, - - "make_dua_action": "May Allah reward you with something good \uD83D\uDE0A", - "@make_dua_action": { - "description": "Action for make dua - e.g. for English: 'May Allah reward you with something good :-)'" - }, - "request_a_feature": "Request a feature", - "@request_a_feature": { - "description": "Button for requesting a new feature - e.g. for English: 'Request a feature'" - }, - "request_a_feature_desc": "Need additional feature or dua? Suggest it to us", - "@request_a_feature_desc": { - "description": "Description for the request button - e.g. for English: 'Need additional feature or dua? Suggest it to us'" - }, - "show_translation":"Show Translation", - "@show_translation": { - "description": "Show translation of the duas - e.g. for English: 'Show Translation' " - }, - "show_transliteration":"Show Transliteration", - "@show_transliteration": { - "description": "Show transliteration of the duas - e.g. for English: 'Show Transliteration' " - }, - "translation_lang": "Translation Language", - "@translation_lang": { - "description": "Option to choose a translation language - e.g. for English: 'Translation Language' " - }, - "disable_battery_optimization": "Disable Battery Optimization", - "@disable_battery_optimization": { - "description": "Disable battery optimization for better notification - e.g. for English: 'Disable Battery Optimization' " - }, - "disable_battery_optimization_desc": "Please disable the battery optimization feature so that you don't miss any notifications!", - "@disable_battery_optimization_desc": { - "description": "Description for battery_optimizatio_disable - e.g. for English: 'Please disable the battery optimization feature so that you don't miss any notifications!' " - }, - "arabic_font_size": "Arabic font size", - "@arabic_font_size": { - "description": "Arabic font size selector - e.g for English: 'Arabic Font Selector'" - }, - - "other_font_size": "Other font size", - "@other_font_size": { - "description": "Other (translation/transliteration) font size selector - e.g for English: 'Other Font Selector'" - }, - - "@__________________________________________Dua_Page": { - }, - "favs": "Favourites", - "@favs": { - "description": "Favourites button 'Favourites' " - }, - "add_to_fav": "Add to Favourite", - "@add_to_fav": { - "description": "A button to add duas to favourites - e.g. for English: 'Add to Favourite' " - }, - "add_to_fav_action": "Added to Favourite", - "@add_to_fav_action": { - "description": "An action when add duas to favourites - e.g. for English: 'Added to Favourite' " - }, - "remove_from_fav": "Remove from Favourites", - "@remove_from_fav": { - "description": "A button to remove dua from favourites - e.g. for English: 'Remove from Favourites' " - }, - "remove_from_fav_action": "Removed from Favourites", - "@remove_from_fav_action": { - "description": "An action when remove dua from favourites - e.g. for English: 'Removed from Favourites' " - }, - "report_an_error": "Report an error", - "@report_an_error": { - "description": "Report an error in the dua - e.g. for English: 'Report an error' " - }, - "copy_dua": "Copy Dua", - "@copy_dua": { - "description": "A button to copy the entire dua - e.g. for English: 'Copy Dua' " - }, - "copy_dua_action": "Copied to clipboard!", - "@copy_dua_action": { - "description": "Action for copying dua 'Copied to clipboard!' " - }, - - "@__________________________________________Qibla_page": {}, - "you_are_facing": "You are facing", - "@you_are_facing": { - "description": "A translation of the sentence - 'You are facing' as in You are facing the qibla" - }, - - "compass_heading_north": "North", - "compass_heading_north_east": "North-East", - "compass_heading_east": "East", - "compass_heading_south_east": "South-East", - "compass_heading_south": "South", - "compass_heading_south_west": "South-West", - "compass_heading_west": "West", - "compass_heading_north_west": "North-West", - "@compass_headings": { - "description": "headings of compass - Translation" - } -} \ No newline at end of file diff --git a/lib/localization/supportedLangs.dart b/lib/localization/supportedLangs.dart index 4bcc333..ffb2406 100644 --- a/lib/localization/supportedLangs.dart +++ b/lib/localization/supportedLangs.dart @@ -2,50 +2,42 @@ import 'package:flutter/material.dart'; import 'package:minimal_adhan/extensions.dart'; import 'package:minimal_adhan/metadata.dart'; -String? getFont(String locale) { - if (locale == 'en') { - return null; - } else if (locale == 'bn') { - return 'BalooDa2'; - } else if (locale == 'ar') { - return 'Lateef'; - } else { - throw Exception('Locale Not Supported'); - } -} + TextTheme getTextTheme(BuildContext context, String locale) { if (locale == 'en') { return context.textTheme; } else if (locale == 'bn') { - return context.textTheme.copyWith( - headline1: context.textTheme.headline1?.copyWith(height: 1.0), - headline3: context.textTheme.headline3?.copyWith(height: 1.5), - headline5: context.textTheme.headline5?.copyWith( - height: 1.5, - ), - headline6: context.textTheme.headline6?.copyWith( - height: 1, - ), - ).apply(fontFamily: getFont(locale)); - } else if(locale == 'ar'){ - return context.textTheme.copyWith( - headline1: context.textTheme.headline1?.copyWith(height: 1.0), - headline5: context.textTheme.headline5?.copyWith( - height: 1.0, - ), - headline6: context.textTheme.headline6?.copyWith( - height: 1.5, - ), - ).apply(fontFamily: 'Lateef'); - }else { + return context.textTheme + .copyWith( + headline1: context.textTheme.headline1?.copyWith(height: 1.0), + headline3: context.textTheme.headline3?.copyWith(height: 1.5), + headline5: context.textTheme.headline5?.copyWith( + height: 1.5, + ), + headline6: context.textTheme.headline6?.copyWith( + height: 1, + ), + ) + .apply(fontFamily: AppLocale.of(locale).fontFamily); + } else if (locale == 'ar') { + return context.textTheme + .copyWith( + headline1: context.textTheme.headline1?.copyWith(height: 1.0), + headline5: context.textTheme.headline5?.copyWith( + height: 1.0, + ), + headline6: context.textTheme.headline6?.copyWith( + height: 1.5, + ), + ) + .apply(fontFamily: 'Lateef'); + } else { throw Exception('Locale Not supported!'); } } -AppLocale getAppLocaleOf (String code){ - return supportedAppLangs.firstWhere((element) => element.languageCode == code); -} + /* Object getSupportedLangInfo(String locale, String key) { diff --git a/lib/metadata.dart b/lib/metadata.dart index 1ac4d27..18dff99 100644 --- a/lib/metadata.dart +++ b/lib/metadata.dart @@ -5,14 +5,21 @@ const TOTAL_INSPIRATIONS = 3; class AppLocale extends Locale { final String lang; + final bool duaAvailable; + final String? fontFamily; - const AppLocale(String code, this.lang) : super(code); + static AppLocale of(String code) { + return supportedAppLangs + .firstWhere((element) => element.languageCode == code); + } + + const AppLocale(String code, this.lang, {required this.duaAvailable, this.fontFamily}) : super(code); } const supportedAppLangs = [ - AppLocale('en', 'English'), + AppLocale('en', 'English', duaAvailable: true), //AppLocale('ar', '(Beta) عربى'), - //AppLocale('bn', 'বাংলা (Beta)') + AppLocale('bn', 'বাংলা (Beta)', duaAvailable: false, fontFamily: "BalooDa2") ]; diff --git a/lib/screens/adhan/widgets/AdhanDateChanger.dart b/lib/screens/adhan/widgets/AdhanDateChanger.dart index 6120e16..5cf6e94 100644 --- a/lib/screens/adhan/widgets/AdhanDateChanger.dart +++ b/lib/screens/adhan/widgets/AdhanDateChanger.dart @@ -72,8 +72,7 @@ class AdhanDateChanger extends StatelessWidget { ), _CustomDivider(width: context.width * (context.isLargeScreen ? 0.3 : 0.5),), Text( - DateFormat(getArabicDate(adhanProvider.currentDate)) - .format(adhanProvider.currentDate), + adhanProvider.currentDate.getHizriDateForLocale(context.appLocale), style: const TextStyle(color: Colors.white), ) ], @@ -100,11 +99,6 @@ class AdhanDateChanger extends StatelessWidget { ); } - String getArabicDate(DateTime date) { - HijriCalendar.setLocal('ar'); - final hDate = HijriCalendar.fromDate(date); - return '${hDate.hDay}-${hDate.getShortMonthName()}-${hDate.hYear}'; - } } class _CustomDivider extends StatelessWidget { diff --git a/lib/screens/feedback/feedbackTaker.dart b/lib/screens/feedback/feedbackTaker.dart index 0a85d51..8233cc7 100644 --- a/lib/screens/feedback/feedbackTaker.dart +++ b/lib/screens/feedback/feedbackTaker.dart @@ -1,26 +1,57 @@ import 'package:flutter/material.dart'; +import 'package:minimal_adhan/widgets/loading.dart'; import 'package:url_launcher/url_launcher.dart'; import 'package:webview_flutter/webview_flutter.dart'; +import 'package:minimal_adhan/extensions.dart'; -class FeedbackTaker extends StatelessWidget { +class FeedbackTaker extends StatefulWidget { final String url; final String title; const FeedbackTaker(this.title, this.url); + @override + State createState() => _FeedbackTakerState(); +} + +class _FeedbackTakerState extends State { + bool loading = true; + bool error = false; + @override Widget build(BuildContext context) { return Scaffold( - appBar: AppBar( - elevation: 0, - title: Text(title), - actions: [ - IconButton(onPressed: ()=>launchUrl(Uri.parse(url)), icon: const Icon(Icons.open_in_new)) - ], - ), - body: WebView( - initialUrl: url, - javascriptMode: JavascriptMode.unrestricted, - )); + appBar: AppBar( + elevation: 0, + title: Text(widget.title), + actions: [ + IconButton( + onPressed: () => launchUrl(Uri.parse(widget.url)), + icon: const Icon(Icons.open_in_new)) + ], + ), + body: error + ? Center( + child: Text( + context.appLocale.error_occured, + style: context.textTheme.headline1 + ?.copyWith(color: Colors.red, fontSize: context.textTheme.headline3?.fontSize), + ), + ) + : Stack( + children: [ + WebView( + initialUrl: widget.url, + javascriptMode: JavascriptMode.unrestricted, + onPageFinished: (_) => setState(() { + loading = false; + }), + onWebResourceError: (_) => setState(() { + error = true; + }), + ), + if (loading) const Loading(), + ], + )); } } diff --git a/lib/screens/settings/bottomsheets/AppLanguagePicker.dart b/lib/screens/settings/bottomsheets/AppLanguagePicker.dart index dd4f9c5..e2c54fd 100644 --- a/lib/screens/settings/bottomsheets/AppLanguagePicker.dart +++ b/lib/screens/settings/bottomsheets/AppLanguagePicker.dart @@ -20,7 +20,7 @@ class AppLanguagePicker extends StatelessWidget { subtitles: [], selected: (i) => globalConfig.locale == supportedAppLangs[i].languageCode, onChoosen: (i) => globalConfig.changeGlobalLocale( - supportedAppLangs[i].lang, + supportedAppLangs[i].languageCode, duaDependency, locationProvider, ), diff --git a/lib/screens/settings/bottomsheets/DuaTranslationLangPicker.dart b/lib/screens/settings/bottomsheets/DuaTranslationLangPicker.dart index 7780a8e..0f1f84e 100644 --- a/lib/screens/settings/bottomsheets/DuaTranslationLangPicker.dart +++ b/lib/screens/settings/bottomsheets/DuaTranslationLangPicker.dart @@ -15,8 +15,8 @@ class DuaTranslationLangPicker extends StatelessWidget { context: context, title: appLocale.translation_lang, titles: [ - appLocale.language, - ...supportedAppLangs.map((e) => e.lang).toList() + appLocale.primary_language, + ...supportedAppLangs.where((element) => element.duaAvailable).map((e) => e.lang).toList() ], subtitles: [], selected: (i) => i > 0 diff --git a/lib/screens/settings/settingsScreen.dart b/lib/screens/settings/settingsScreen.dart index efdce76..e0a92c9 100644 --- a/lib/screens/settings/settingsScreen.dart +++ b/lib/screens/settings/settingsScreen.dart @@ -220,17 +220,17 @@ class SettingsScreen extends StatelessWidget { if (duaDependency.showTranslation) SettingsClickable( onClick: () => - buildBottomSheet(DuaTranslationLangPicker(), context), + buildBottomSheet(ChangeNotifierProvider.value(value: duaDependency, child: DuaTranslationLangPicker(),), context), title: appLocale.translation_lang, subtitle: duaDependency.sameAsPrimaryLang - ? appLocale.language + ? appLocale.primary_language : supportedAppLangs .firstWhere( (element) => element.languageCode == duaDependency.translationLang, ) - .languageCode, + .lang, leading: Icon( Icons.language, color: context.primaryColor, diff --git a/lib/screens/welcome/welcomeScreen.dart b/lib/screens/welcome/welcomeScreen.dart index 3d95d25..f6e3518 100644 --- a/lib/screens/welcome/welcomeScreen.dart +++ b/lib/screens/welcome/welcomeScreen.dart @@ -5,6 +5,7 @@ import 'package:lottie/lottie.dart'; import 'package:minimal_adhan/extensions.dart'; import 'package:minimal_adhan/helpers/gps_location_helper.dart'; import 'package:minimal_adhan/localization/supportedLangs.dart'; +import 'package:minimal_adhan/metadata.dart'; import 'package:minimal_adhan/prviders/dependencies/AdhanDependencyProvider.dart'; import 'package:minimal_adhan/prviders/dependencies/GlobalDependencyProvider.dart'; import 'package:minimal_adhan/prviders/locationProvider.dart'; @@ -96,7 +97,7 @@ class _WelcomeScreenState extends State { onPressed: () { buildBottomSheet(AppLanguagePicker(), context); }, - child: Text(getAppLocaleOf(context.appLocale.locale).lang), + child: Text(AppLocale.of(context.appLocale.locale).lang), ), ], ), diff --git a/lib/theme.dart b/lib/theme.dart index a5c5559..87eac7d 100644 --- a/lib/theme.dart +++ b/lib/theme.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:minimal_adhan/extensions.dart'; import 'package:minimal_adhan/localization/supportedLangs.dart'; +import 'package:minimal_adhan/metadata.dart'; import 'package:minimal_adhan/prviders/dependencies/GlobalDependencyProvider.dart'; @@ -35,7 +36,7 @@ ThemeData getLightTheme( systemOverlayStyle: SystemUiOverlayStyle.dark.copyWith(statusBarColor: Colors.transparent),), cardColor: Colors.white, brightness: Brightness.light, - fontFamily: getFont(globalDependency.locale), + fontFamily: AppLocale.of(globalDependency.locale).fontFamily, textTheme: getTextTheme(context, globalDependency.locale), colorScheme: const ColorScheme.light( primary: Colors.teal, @@ -55,7 +56,7 @@ ThemeData getDarkTheme( systemOverlayStyle: SystemUiOverlayStyle.light .copyWith(statusBarColor: Colors.transparent), ), - fontFamily: getFont(globalDependency.locale), + fontFamily: AppLocale.of(globalDependency.locale).fontFamily, textTheme: getTextTheme(context, globalDependency.locale).apply( bodyColor: Colors.white, displayColor: Colors.white70, diff --git a/lib/widgets/dashBoard.dart b/lib/widgets/dashBoard.dart index c8a087c..84ac971 100644 --- a/lib/widgets/dashBoard.dart +++ b/lib/widgets/dashBoard.dart @@ -69,12 +69,22 @@ class DashBoard extends StatelessWidget { width: 8, ), Expanded( - child: AutoSizeText( - currentAdhan.title, - style: context.textTheme.headline2 - ?.copyWith(color: context.theme.colorScheme.onBackground), - maxLines: 2, - ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + AutoSizeText( + currentAdhan.title, + style: context.textTheme.headline2 + ?.copyWith(color: context.theme.colorScheme.onBackground), + maxLines: 2, + ), + Text( + '${currentAdhan.formattedStartTime} - ${currentAdhan.formattedEndTime}', + style: context.textTheme.headline6 + ?.copyWith(color: context.theme.colorScheme.onBackground), + ), + ], + ) ) ], ) @@ -83,6 +93,7 @@ class DashBoard extends StatelessWidget { appLocale.adhan, style: context.textTheme.headline2?.copyWith(color: context.theme.colorScheme.onBackground), ), + SizedBox(height: 16,), if (nextAdhan != null) Text( '${appLocale.next}: ${nextAdhan.title} (${nextAdhan.formattedStartTime} - ${nextAdhan.formattedEndTime})', diff --git a/locals/app_lamg_template.arb b/locals/app_lamg_template.arb new file mode 100644 index 0000000..6f43fef --- /dev/null +++ b/locals/app_lamg_template.arb @@ -0,0 +1,667 @@ +{ + "@__________________________________________Global_Page": { + }, + "locale": "", + "@locale": { + "description": "Name of Locale.", + "eg_english": "en" + }, + "direction": "", + "@direction": { + "description": "Language direction - Either Left-To-Right (ltr) or Right-To-left(rtl).", + "eg_english": "ltr" + }, + "current_lang": "", + "@current_lang": { + "description": "Name of this language in its language", + "eg_english": "English" + }, + "one": "", + "@one": { + "description": "Translation of the digit 1", + "eg_english": "1" + }, + "two": "", + "@two": { + "description": "Translation of the digit 2", + "eg_english": "2" + }, + "three": "", + "@three": { + "description": "Translation of the digit 3", + "eg_english": "3" + }, + "four": "", + "@four": { + "description": "Translation of the digit 4", + "eg_english": "4" + }, + "five": "", + "@five": { + "description": "Translation of the digit 5", + "eg_english": "5" + }, + "six": "", + "@six": { + "description": "Translation of the digit 6", + "eg_english": "6" + }, + "seven": "", + "@seven": { + "description": "Translation of the digit 7", + "eg_english": "7" + }, + "eight": "", + "@eight": { + "description": "Translation of the digit 8", + "eg_english": "8" + }, + "nine": "", + "@nine": { + "description": "Translation of the digit 9", + "eg_english": "9" + }, + "zero": "", + "@zero": { + "description": "Translation of the digit 0", + "eg_english": "0" + }, + "arabic_month_muharram": "", + "@arabic_month_muharram": { + "description": "Transliteration of the arabic month Muharram", + "eg_english": "Muharram" + }, + "arabic_month_safar": "", + "@arabic_month_safar": { + "description": "Transliteration of the arabic month Safar", + "eg_english": "Safar" + }, + "arabic_month_rabi_al_awwal": "", + "@arabic_month_rabi_al_awwal": { + "description": "Transliteration of the arabic month Rabi al-Awwal", + "eg_english": "Rabi al-Awwal" + }, + "arabic_month_rabi_al_thani": "", + "@arabic_month_rabi_al_thani": { + "description": "Transliteration of the arabic month Rabi al-Thani", + "eg_english": "Rabi al-Thani" + }, + "arabic_month_jumada_al_awwal": "", + "@arabic_month_jumada_al_awwal": { + "description": "Transliteration of the arabic month Jumada al-Awwal", + "eg_english": "Jumada al-Awwal" + }, + "arabic_month_jumada_al_thani": "", + "@arabic_month_jumada_al_thani": { + "description": "Transliteration of the arabic month Jumada al-Thani", + "eg_english": "Jumada al-Thani" + }, + "arabic_month_rajab": "", + "@arabic_month_rajab": { + "description": "Transliteration of the arabic month Rajab", + "eg_english": "Rajab" + }, + "arabic_month_shaban": "", + "@arabic_month_shaban": { + "description": "Transliteration of the arabic month Shaban", + "eg_english": "Shaban" + }, + "arabic_month_ramadan": "", + "@arabic_month_ramadan": { + "description": "Transliteration of the arabic month Ramadan", + "eg_english": "Ramadan" + }, + "arabic_month_shawwal": "", + "@arabic_month_shawwal": { + "description": "Transliteration of the arabic month Shawwal", + "eg_english": "Shawwal" + }, + "arabic_month_dhu_al_qadha": "", + "@arabic_month_dhu_al_qadha": { + "description": "Transliteration of the arabic month Dhu al-Qadah", + "eg_english": "Dhu al-Qadah" + }, + "arabic_month_dhu_al_hijjah": "", + "@arabic_month_dhu_al_hijjah": { + "description": "Transliteration of the arabic month Dhu al-Hijjah", + "eg_english": "Dhu al-Hijjah" + }, + "hour": "", + "@hour": { + "description": "The word hour (short form if possible) - e.g. for English: 'hr' ", + "eg_english": "hr" + }, + "minute": "", + "@minute": { + "description": "The word form minute (short form if possible) - e.g. for English: 'min' ", + "eg_english": "min" + }, + "close": "", + "@close": { + "description": "The word Close - e.g. for English: 'Close' ", + "eg_english": "CLose" + }, + "notification": "", + "@notification": { + "description": "Describes a notification - e.g. for English: 'Notification' ", + "eg_english": "Notification" + }, + "adhan": "", + "@adhan": { + "description": "Describes a button called Adhan/Azan - e.g. for English: 'Azan' ", + "eg_english": "Azan" + }, + "qibla": "", + "@qibla": { + "description": "Describes a button called Qibla - e.g. for English: 'Qibla' ", + "eg_english": "Qibla" + }, + "dua": "", + "@dua": { + "description": "Describes a button called Dua - e.g. for English: 'Dua' ", + "eg_english": "Dua" + }, + "tasbih": "", + "@tasbih": { + "description": "Describes a button called tasbih - e.g. for English: 'Tasbih' ", + "eg_english": "Tasbih" + }, + "settings": "", + "@settings": { + "description": "Describes a button called Settings ", + "eg_english": "Settings" + }, + "search": "", + "@search": { + "description": "Describes a button called Search ", + "eg_english": "Search" + }, + "language": "", + "@language": { + "description": "A word for Language Selection ", + "eg_english": "Language" + }, + "app_name": "", + "@app_name": { + "description": "The transliteration for Azan ", + "eg_english": "Azan" + }, + "location": "", + "@location": { + "description": "The translation of the word location ", + "eg_english": "Location" + }, + "next": "", + "@next": { + "description": "The translation of the word 'Next' ", + "eg_english": "Next" + }, + "reset": "", + "@reset": { + "description": "The translation of the word 'Reset' ", + "eg_english": "Reset" + }, + "type": "", + "@type": { + "description": "The translation for the word 'Type' - e.g. for English: ", + "eg_english": "'Type' - 'Type of Azan Notification'" + }, + "timing": "", + "@timing": { + "description": "The translation for the word 'Timing' - e.g. for English: ", + "eg_english": "'Timing', 'Timing for the Azan Notification'" + }, + "bttn_open_settings": "", + "@bttn_open_settings": { + "description": "The translation for the sentence 'Open Settings' ", + "eg_english": "Open Settings" + }, + "bttn_okay": "", + "@bttn_okay": { + "description": "The translation for the word 'okay' ", + "eg_english": "Okay" + }, + "bttn_remind_me_later": "", + "@bttn_remind_me_later": { + "description": "The translation for the sentence 'Remind me later' ", + "eg_english": "Remind Me Later" + }, + "bttn_never_ask_again": "", + "@bttn_never_ask_again": { + "description": "The translation for the sentence 'Never Ask me Again' ", + "eg_english": "Never Ask Again" + }, + "finding": "", + "@finding": { + "description": "An indicator to indication the app is finding the location ", + "eg_english": "Finding..." + }, + "error_occured": "", + "@error_occured": { + "description": "An indicator to indicate an error has occurred ", + "eg_english": "Error Occured" + }, + "no_location_available": "", + "@no_location_available": { + "description": "An Indicator to indicate no location is currently available ", + "eg_english": "No Location Available" + }, + "tap_to_update": "", + "@tap_to_update": { + "description": "A button to which updates content on tap ", + "eg_english": "Tap to update" + }, + "default_mode": "", + "@default_mode": { + "description": "A Button to change the setting to factory mode ", + "eg_english": "Default" + }, + "preview_of_font": "", + "@preview_of_font": { + "description": "Preview of the font size - e.g. for English ''", + "eg_english": "Preview Of Other Font sizes" + }, + "share_app": "", + "@share_app": { + "description": "Share the app ", + "eg_english": "Share with friends" + }, + "about": "", + "@about": { + "description": "About panel - e.g. for English: 'About'", + "eg_english": "About" + }, + "try_again": "", + "@try_again": { + "description": "A button to try again ", + "eg_english": "Try Again" + }, + "@__________________________________________Welcome_page": { + }, + "location_privacy_short": "", + "@location_privacy_short": { + "description": "A short description of the location privacy policy ", + "eg_english": "Azan is privacy focused. Your location is stored on your device locally." + }, + "location_required": "", + "@location_required": { + "description": "A translation for the word 'Location Required' - ", + "eg_english": "Location Required" + }, + "location_found": "", + "@location_found": { + "description": "A translation for the word 'Location Found' ", + "eg_english": "Location Found" + }, + "permission_denied": "", + "@permission_denied": { + "description": "A translation for the word 'Permission Denied' ", + "eg_english": "Permission Denied" + }, + "location_permission_request_short": "", + "@location_permission_request_short": { + "description": "A short description explaining why the location is required ", + "eg_english": "Your location is needed to calculate the time of azan, display the Qibla Compass and Show Nearby Mosques" + }, + "@__________________________________________Adhan_Page": { + }, + "adhan_fajr": "", + "@adhan_fajr": { + "description": "A word for 'Fajr' in its language ", + "eg_english": "Fajr" + }, + "adhan_sunrise": "", + "@adhan_sunrise": { + "description": "A word for sunrise in its language ", + "eg_english": "Sunrise" + }, + "adhan_dhuhr": "", + "@adhan_dhuhr": { + "description": "A word for Dhuhr in its language ", + "eg_english": "Dhuhr" + }, + "adhan_jummah": "", + "@adhan_jummah": { + "description": "A word for 'Jummah' in its language ", + "eg_english": "Jummah" + }, + "adhan_asr": "", + "@adhan_asr": { + "description": "A word for 'Asr' in its language ", + "eg_english": "Asr" + }, + "adhan_magrib": "", + "@adhan_magrib": { + "description": "A word for 'Magrib' in its language ", + "eg_english": "Magrib" + }, + "adhan_isha": "", + "@adhan_isha": { + "description": "A word for 'Isha' in its language ", + "eg_english": "Isha" + }, + "adhan_midnight": "", + "@adhan_midnight": { + "description": "A word for 'Midnight' in its language ", + "eg_english": "Midnight" + }, + "adhan_third_night": "", + "@adhan_third_night": { + "description": "A word for 'Last Third Night' in its language ", + "eg_english": "Last Third Night" + }, + "inexact_notify": "", + "@inexact_notify": { + "description": "A sentence for weather the notification be exact or delayed or early ", + "eg_english": "Early/Delayed Notification" + }, + "notify_me_before": "", + "@notify_me_before": { + "description": "Describes when the notification should be sent early ", + "placeholders": { + "min": { + "type": "", + "example": "12" + } + }, + "eg_english": "Notify me {min} minutes before azan time" + }, + "notify_me_after": "", + "@notify_me_after": { + "description": "Describes when the notification should be sent later ", + "placeholders": { + "min": { + "type": "", + "example": "12" + } + }, + "eg_english": "Notify me {min} minutes after azan time" + }, + "silent_adhan": "", + "@silent_adhan": { + "description": "No notification should be sent - e.g. for English: '' ", + "eg_english": "Silent" + }, + "notification_only": "", + "@notification_only": { + "description": "Only send the notification with default sound ", + "eg_english": "Notification Only" + }, + "ringtone": "", + "@ringtone": { + "description": "Play the ringtone during notification '", + "eg_english": "Ringtone" + }, + "adhan_mecca": "", + "@adhan_mecca": { + "description": "Play the Azan of Mecca during notification ", + "eg_english": "Azan Mecca" + }, + "adhan_medina": "", + "@adhan_medina": { + "description": "Play the azan of medina during notification ", + "eg_english": "Azan Medina" + }, + "alarm": "", + "@alarm": { + "description": "Play the alarm during notification ", + "eg_english": "Alarm" + }, + "@__________________________________________Settings_Page": { + }, + "global": "", + "@global": { + "description": "The category global settings i.e. that applies to the entire app ", + "eg_english": "Global" + }, + "click_to_change": "", + "@click_to_change": { + "description": "The user can change a settings by tapping a Button ", + "eg_english": "Click to change" + }, + "madhab": "", + "@madhab": { + "description": "Select a madhab for asr time ", + "eg_english": "Madhab" + }, + "hanafi_madhab": "", + "@hanafi_madhab": { + "description": "The transliteration of Hanafi madhab ", + "eg_english": "Hanafi Madhab" + }, + "shafi_madhab": "", + "@shafi_madhab": { + "description": "The transliteration of the Shafii Madhab ", + "eg_english": "Shafi madhab" + }, + "hanafi_asr_desc": "", + "@hanafi_asr_desc": { + "description": "The descrion of the change of selecting hanafi madhab ", + "eg_english": "Later Asr Time" + }, + "shafi_asr_desc": "", + "@shafi_asr_desc": { + "description": "The description of the change of selecting the shafi madhab ", + "eg_english": "Early Asr Time" + }, + "persistent_notify": "", + "@persistent_notify": { + "description": "will the notification be persistent? ", + "eg_english": "Persistent Notification" + }, + "persistent_notify_desc": "", + "@persistent_notify_desc": { + "description": "Description for the notification be persistent ", + "eg_english": "Show the Azan notification all the time" + }, + "theme": "", + "@theme": { + "description": "Settings for the theme ", + "eg_english": "Theme" + }, + "always_dark": "", + "@always_dark": { + "description": "Always show the dark-mode irrespective of the device theme ", + "eg_english": "Always Dark" + }, + "always_light": "", + "@always_light": { + "description": "Always show the light-mode irrespective of the device theme ", + "eg_english": "Always Light" + }, + "follow_system": "", + "@follow_system": { + "description": "Follow the system for theme ", + "eg_english": "Follow System" + }, + "calc_method": "", + "@calc_method": { + "description": "Calculation method of the Azan times ", + "eg_english": "Calculation Method" + }, + "high_lat_rule": "", + "@high_lat_rule": { + "description": "Rules for high latitude for azan time calculation ", + "eg_english": "High Lat Rules" + }, + "adhan_visibility": "", + "@adhan_visibility": { + "description": "Visibility of some azan times ", + "eg_english": "Azan Visibility" + }, + "adhan_manual_correction": "", + "@adhan_manual_correction": { + "description": "Manual Correction for some azan times ", + "eg_english": "Manual Corrections" + }, + "support_dev": "", + "@support_dev": { + "description": "Category of supporting development ", + "eg_english": "Support Development" + }, + "rate_on_play_store": "", + "@rate_on_play_store": { + "description": "Button to rate on play store ", + "eg_english": "Rate on Play Store" + }, + "rate_on_play_store_desc": "", + "@rate_on_play_store_desc": { + "description": "Description of the rate button ", + "eg_english": "That would motivate us a lot." + }, + "help_us_translate": "", + "@help_us_translate": { + "description": "A button for user to translate the app ", + "eg_english": "Help us translate" + }, + "help_us_translate_desc": "", + "@help_us_translate_desc": { + "description": "Description for the help_us_translate button ", + "eg_english": "Don't see your language? Help us translate the app features and dua for a particular language." + }, + "github_ripo": "", + "@github_ripo": { + "description": "A button to go to the github repo ", + "eg_english": "Github Repository" + }, + "github_ripo_desc": "", + "@github_ripo_desc": { + "description": "Description for the github repo ", + "eg_english": "Knows Flutter Development?, join us in this journey of Fi-Sabilillah or give us a star to motivate us." + }, + "report_bug": "", + "@report_bug": { + "description": "A button to report a bug to the development team ", + "eg_english": "Report a bug" + }, + "report_bug_desc": "", + "@report_bug_desc": { + "description": "Description of the report_bug button ", + "eg_english": "Sorry, you had to face it. You can either report a problem in github or through email. Zajakallah for the information." + }, + "make_dua": "", + "@make_dua": { + "description": "A button asking for dua ", + "eg_english": "Make dua for us" + }, + "make_dua_desc": "", + "@make_dua_desc": { + "description": " Description of the dua button - Simply translate the english dua ", + "eg_english": "Abu Darda reported: The Messenger of Allah, peace and blessings be upon him, said, “No Muslim servant supplicates for his brother behind his back but that the angel says: And for you the same.”" + }, + "make_dua_action": "", + "@make_dua_action": { + "description": "Action for make dua ", + "eg_english": "May Allah reward you with something good :-)" + }, + "request_a_feature": "", + "@request_a_feature": { + "description": "Button for requesting a new feature ", + "eg_english": "Request a feature" + }, + "request_a_feature_desc": "", + "@request_a_feature_desc": { + "description": "Description for the request button ", + "eg_english": "Need additional feature or dua? Suggest it to us" + }, + "show_translation": "", + "@show_translation": { + "description": "Show translation of the duas ", + "eg_english": "Show Translation" + }, + "show_transliteration": "", + "@show_transliteration": { + "description": "Show transliteration of the duas ", + "eg_english": "Show Transliteration" + }, + "translation_lang": "", + "@translation_lang": { + "description": "Option to choose a translation language ", + "eg_english": "Translation Language" + }, + "disable_battery_optimization": "", + "@disable_battery_optimization": { + "description": "Disable battery optimization for better notification ", + "eg_english": "Disable Battery Optimization" + }, + "disable_battery_optimization_desc": "", + "@disable_battery_optimization_desc": { + "description": "Description for battery_optimization_disable ", + "eg_english": "Please disable the battery optimization feature so that you don't miss any notifications!" + }, + "arabic_font_size": "", + "@arabic_font_size": { + "description": "Arabic font size selector - e.g for English: ''", + "eg_english": "Arabic Font Selector" + }, + "other_font_size": "", + "@other_font_size": { + "description": "Other (translation/transliteration) font size selector - e.g for English: ''", + "eg_english": "Other Font Selector" + }, + "primary_language": "", + "@primary_language": { + "description": "Primary language of the dua", + "eg_english": "Primary Language" + }, + + "@__________________________________________Dua_Page": { + }, + "favs": "", + "@favs": { + "description": "Favourites button '' ", + "eg_english": "Favourites" + }, + "add_to_fav": "", + "@add_to_fav": { + "description": "A button to add duas to favourites ", + "eg_english": "Add to Favourite" + }, + "add_to_fav_action": "", + "@add_to_fav_action": { + "description": "An action when add duas to favourites ", + "eg_english": "Added to Favourite" + }, + "remove_from_fav": "", + "@remove_from_fav": { + "description": "A button to remove dua from favourites ", + "eg_english": "Remove from Favourites" + }, + "remove_from_fav_action": "", + "@remove_from_fav_action": { + "description": "An action when remove dua from favourites ", + "eg_english": "Removed from Favourites" + }, + "report_an_error": "", + "@report_an_error": { + "description": "Report an error in the dua ", + "eg_english": "Report an error" + }, + "copy_dua": "", + "@copy_dua": { + "description": "A button to copy the entire dua ", + "eg_english": "Copy Dua" + }, + "copy_dua_action": "", + "@copy_dua_action": { + "description": "Action for copying dua '' ", + "eg_english": "Copied to clipboard!" + }, + "@__________________________________________Qibla_page": {}, + "you_are_facing": "", + "@you_are_facing": { + "description": "A translation of the sentence", + "eg_english": "You are facing" + }, + "compass_heading_north": "", + "compass_heading_north_east": "", + "compass_heading_east": "", + "compass_heading_south_east": "", + "compass_heading_south": "", + "compass_heading_south_west": "", + "compass_heading_west": "", + "compass_heading_north_west": "", + "@compass_headings": { + "description": "headings of compass - Translation" + } +} \ No newline at end of file diff --git a/locals/langs/app_bn.arb b/locals/langs/app_bn.arb new file mode 100644 index 0000000..e13f87b --- /dev/null +++ b/locals/langs/app_bn.arb @@ -0,0 +1,667 @@ +{ + "@__________________________________________Global_Page": { + }, + "locale": "bn", + "@locale": { + "description": "Name of Locale.", + "eg_english": "en" + }, + "direction": "ltr", + "@direction": { + "description": "Language direction - Either Left-To-Right (ltr) or Right-To-left(rtl).", + "eg_english": "ltr" + }, + "current_lang": "বাংলা", + "@current_lang": { + "description": "Name of this language in its language", + "eg_english": "English" + }, + "one": "১", + "@one": { + "description": "Translation of the digit 1", + "eg_english": "1" + }, + "two": "২", + "@two": { + "description": "Translation of the digit 2", + "eg_english": "2" + }, + "three": "৩", + "@three": { + "description": "Translation of the digit 3", + "eg_english": "3" + }, + "four": "৪", + "@four": { + "description": "Translation of the digit 4", + "eg_english": "4" + }, + "five": "৫", + "@five": { + "description": "Translation of the digit 5", + "eg_english": "5" + }, + "six": "৬", + "@six": { + "description": "Translation of the digit 6", + "eg_english": "6" + }, + "seven": "৭", + "@seven": { + "description": "Translation of the digit 7", + "eg_english": "7" + }, + "eight": "৮", + "@eight": { + "description": "Translation of the digit 8", + "eg_english": "8" + }, + "nine": "৯", + "@nine": { + "description": "Translation of the digit 9", + "eg_english": "9" + }, + "zero": "০", + "@zero": { + "description": "Translation of the digit 0", + "eg_english": "0" + }, + "arabic_month_muharram": "", + "@arabic_month_muharram": { + "description": "Transliteration of the arabic month Muharram", + "eg_english": "Muharram" + }, + "arabic_month_safar": "", + "@arabic_month_safar": { + "description": "Transliteration of the arabic month Safar", + "eg_english": "Safar" + }, + "arabic_month_rabi_al_awwal": "", + "@arabic_month_rabi_al_awwal": { + "description": "Transliteration of the arabic month Rabi al-Awwal", + "eg_english": "Rabi al-Awwal" + }, + "arabic_month_rabi_al_thani": "", + "@arabic_month_rabi_al_thani": { + "description": "Transliteration of the arabic month Rabi al-Thani", + "eg_english": "Rabi al-Thani" + }, + "arabic_month_jumada_al_awwal": "", + "@arabic_month_jumada_al_awwal": { + "description": "Transliteration of the arabic month Jumada al-Awwal", + "eg_english": "Jumada al-Awwal" + }, + "arabic_month_jumada_al_thani": "", + "@arabic_month_jumada_al_thani": { + "description": "Transliteration of the arabic month Jumada al-Thani", + "eg_english": "Jumada al-Thani" + }, + "arabic_month_rajab": "", + "@arabic_month_rajab": { + "description": "Transliteration of the arabic month Rajab", + "eg_english": "Rajab" + }, + "arabic_month_shaban": "", + "@arabic_month_shaban": { + "description": "Transliteration of the arabic month Shaban", + "eg_english": "Shaban" + }, + "arabic_month_ramadan": "", + "@arabic_month_ramadan": { + "description": "Transliteration of the arabic month Ramadan", + "eg_english": "Ramadan" + }, + "arabic_month_shawwal": "", + "@arabic_month_shawwal": { + "description": "Transliteration of the arabic month Shawwal", + "eg_english": "Shawwal" + }, + "arabic_month_dhu_al_qadha": "", + "@arabic_month_dhu_al_qadha": { + "description": "Transliteration of the arabic month Dhu al-Qadah", + "eg_english": "Dhu al-Qadah" + }, + "arabic_month_dhu_al_hijjah": "", + "@arabic_month_dhu_al_hijjah": { + "description": "Transliteration of the arabic month Dhu al-Hijjah", + "eg_english": "Dhu al-Hijjah" + }, + "hour": "", + "@hour": { + "description": "The word hour (short form if possible) - e.g. for English: 'hr' ", + "eg_english": "hr" + }, + "minute": "", + "@minute": { + "description": "The word form minute (short form if possible) - e.g. for English: 'min' ", + "eg_english": "min" + }, + "close": "", + "@close": { + "description": "The word Close - e.g. for English: 'Close' ", + "eg_english": "CLose" + }, + "notification": "", + "@notification": { + "description": "Describes a notification - e.g. for English: 'Notification' ", + "eg_english": "Notification" + }, + "adhan": "", + "@adhan": { + "description": "Describes a button called Adhan/Azan - e.g. for English: 'Azan' ", + "eg_english": "Azan" + }, + "qibla": "", + "@qibla": { + "description": "Describes a button called Qibla - e.g. for English: 'Qibla' ", + "eg_english": "Qibla" + }, + "dua": "", + "@dua": { + "description": "Describes a button called Dua - e.g. for English: 'Dua' ", + "eg_english": "Dua" + }, + "tasbih": "", + "@tasbih": { + "description": "Describes a button called tasbih - e.g. for English: 'Tasbih' ", + "eg_english": "Tasbih" + }, + "settings": "", + "@settings": { + "description": "Describes a button called Settings ", + "eg_english": "Settings" + }, + "search": "", + "@search": { + "description": "Describes a button called Search ", + "eg_english": "Search" + }, + "language": "", + "@language": { + "description": "A word for Language Selection ", + "eg_english": "Language" + }, + "app_name": "", + "@app_name": { + "description": "The transliteration for Azan ", + "eg_english": "Azan" + }, + "location": "", + "@location": { + "description": "The translation of the word location ", + "eg_english": "Location" + }, + "next": "", + "@next": { + "description": "The translation of the word 'Next' ", + "eg_english": "Next" + }, + "reset": "", + "@reset": { + "description": "The translation of the word 'Reset' ", + "eg_english": "Reset" + }, + "type": "", + "@type": { + "description": "The translation for the word 'Type' - e.g. for English: ", + "eg_english": "'Type' - 'Type of Azan Notification'" + }, + "timing": "", + "@timing": { + "description": "The translation for the word 'Timing' - e.g. for English: ", + "eg_english": "'Timing', 'Timing for the Azan Notification'" + }, + "bttn_open_settings": "", + "@bttn_open_settings": { + "description": "The translation for the sentence 'Open Settings' ", + "eg_english": "Open Settings" + }, + "bttn_okay": "", + "@bttn_okay": { + "description": "The translation for the word 'okay' ", + "eg_english": "Okay" + }, + "bttn_remind_me_later": "", + "@bttn_remind_me_later": { + "description": "The translation for the sentence 'Remind me later' ", + "eg_english": "Remind Me Later" + }, + "bttn_never_ask_again": "", + "@bttn_never_ask_again": { + "description": "The translation for the sentence 'Never Ask me Again' ", + "eg_english": "Never Ask Again" + }, + "finding": "", + "@finding": { + "description": "An indicator to indication the app is finding the location ", + "eg_english": "Finding..." + }, + "error_occured": "", + "@error_occured": { + "description": "An indicator to indicate an error has occurred ", + "eg_english": "Error Occured" + }, + "no_location_available": "", + "@no_location_available": { + "description": "An Indicator to indicate no location is currently available ", + "eg_english": "No Location Available" + }, + "tap_to_update": "", + "@tap_to_update": { + "description": "A button to which updates content on tap ", + "eg_english": "Tap to update" + }, + "default_mode": "", + "@default_mode": { + "description": "A Button to change the setting to factory mode ", + "eg_english": "Default" + }, + "preview_of_font": "", + "@preview_of_font": { + "description": "Preview of the font size - e.g. for English ''", + "eg_english": "Preview Of Other Font sizes" + }, + "share_app": "", + "@share_app": { + "description": "Share the app ", + "eg_english": "Share with friends" + }, + "about": "", + "@about": { + "description": "About panel - e.g. for English: 'About'", + "eg_english": "About" + }, + "try_again": "", + "@try_again": { + "description": "A button to try again ", + "eg_english": "Try Again" + }, + "@__________________________________________Welcome_page": { + }, + "location_privacy_short": "", + "@location_privacy_short": { + "description": "A short description of the location privacy policy ", + "eg_english": "Azan is privacy focused. Your location is stored on your device locally." + }, + "location_required": "", + "@location_required": { + "description": "A translation for the word 'Location Required' - ", + "eg_english": "Location Required" + }, + "location_found": "", + "@location_found": { + "description": "A translation for the word 'Location Found' ", + "eg_english": "Location Found" + }, + "permission_denied": "", + "@permission_denied": { + "description": "A translation for the word 'Permission Denied' ", + "eg_english": "Permission Denied" + }, + "location_permission_request_short": "", + "@location_permission_request_short": { + "description": "A short description explaining why the location is required ", + "eg_english": "Your location is needed to calculate the time of azan, display the Qibla Compass and Show Nearby Mosques" + }, + "@__________________________________________Adhan_Page": { + }, + "adhan_fajr": "", + "@adhan_fajr": { + "description": "A word for 'Fajr' in its language ", + "eg_english": "Fajr" + }, + "adhan_sunrise": "", + "@adhan_sunrise": { + "description": "A word for sunrise in its language ", + "eg_english": "Sunrise" + }, + "adhan_dhuhr": "", + "@adhan_dhuhr": { + "description": "A word for Dhuhr in its language ", + "eg_english": "Dhuhr" + }, + "adhan_jummah": "", + "@adhan_jummah": { + "description": "A word for 'Jummah' in its language ", + "eg_english": "Jummah" + }, + "adhan_asr": "", + "@adhan_asr": { + "description": "A word for 'Asr' in its language ", + "eg_english": "Asr" + }, + "adhan_magrib": "", + "@adhan_magrib": { + "description": "A word for 'Magrib' in its language ", + "eg_english": "Magrib" + }, + "adhan_isha": "", + "@adhan_isha": { + "description": "A word for 'Isha' in its language ", + "eg_english": "Isha" + }, + "adhan_midnight": "", + "@adhan_midnight": { + "description": "A word for 'Midnight' in its language ", + "eg_english": "Midnight" + }, + "adhan_third_night": "", + "@adhan_third_night": { + "description": "A word for 'Last Third Night' in its language ", + "eg_english": "Last Third Night" + }, + "inexact_notify": "", + "@inexact_notify": { + "description": "A sentence for weather the notification be exact or delayed or early ", + "eg_english": "Early/Delayed Notification" + }, + "notify_me_before": "", + "@notify_me_before": { + "description": "Describes when the notification should be sent early ", + "placeholders": { + "min": { + "type": "", + "example": "12" + } + }, + "eg_english": "Notify me {min} minutes before azan time" + }, + "notify_me_after": "", + "@notify_me_after": { + "description": "Describes when the notification should be sent later ", + "placeholders": { + "min": { + "type": "", + "example": "12" + } + }, + "eg_english": "Notify me {min} minutes after azan time" + }, + "silent_adhan": "", + "@silent_adhan": { + "description": "No notification should be sent - e.g. for English: '' ", + "eg_english": "Silent" + }, + "notification_only": "", + "@notification_only": { + "description": "Only send the notification with default sound ", + "eg_english": "Notification Only" + }, + "ringtone": "", + "@ringtone": { + "description": "Play the ringtone during notification '", + "eg_english": "Ringtone" + }, + "adhan_mecca": "", + "@adhan_mecca": { + "description": "Play the Azan of Mecca during notification ", + "eg_english": "Azan Mecca" + }, + "adhan_medina": "", + "@adhan_medina": { + "description": "Play the azan of medina during notification ", + "eg_english": "Azan Medina" + }, + "alarm": "", + "@alarm": { + "description": "Play the alarm during notification ", + "eg_english": "Alarm" + }, + "@__________________________________________Settings_Page": { + }, + "global": "", + "@global": { + "description": "The category global settings i.e. that applies to the entire app ", + "eg_english": "Global" + }, + "click_to_change": "", + "@click_to_change": { + "description": "The user can change a settings by tapping a Button ", + "eg_english": "Click to change" + }, + "madhab": "", + "@madhab": { + "description": "Select a madhab for asr time ", + "eg_english": "Madhab" + }, + "hanafi_madhab": "", + "@hanafi_madhab": { + "description": "The transliteration of Hanafi madhab ", + "eg_english": "Hanafi Madhab" + }, + "shafi_madhab": "", + "@shafi_madhab": { + "description": "The transliteration of the Shafii Madhab ", + "eg_english": "Shafi madhab" + }, + "hanafi_asr_desc": "", + "@hanafi_asr_desc": { + "description": "The descrion of the change of selecting hanafi madhab ", + "eg_english": "Later Asr Time" + }, + "shafi_asr_desc": "", + "@shafi_asr_desc": { + "description": "The description of the change of selecting the shafi madhab ", + "eg_english": "Early Asr Time" + }, + "persistent_notify": "", + "@persistent_notify": { + "description": "will the notification be persistent? ", + "eg_english": "Persistent Notification" + }, + "persistent_notify_desc": "", + "@persistent_notify_desc": { + "description": "Description for the notification be persistent ", + "eg_english": "Show the Azan notification all the time" + }, + "theme": "", + "@theme": { + "description": "Settings for the theme ", + "eg_english": "Theme" + }, + "always_dark": "", + "@always_dark": { + "description": "Always show the dark-mode irrespective of the device theme ", + "eg_english": "Always Dark" + }, + "always_light": "", + "@always_light": { + "description": "Always show the light-mode irrespective of the device theme ", + "eg_english": "Always Light" + }, + "follow_system": "", + "@follow_system": { + "description": "Follow the system for theme ", + "eg_english": "Follow System" + }, + "calc_method": "", + "@calc_method": { + "description": "Calculation method of the Azan times ", + "eg_english": "Calculation Method" + }, + "high_lat_rule": "", + "@high_lat_rule": { + "description": "Rules for high latitude for azan time calculation ", + "eg_english": "High Lat Rules" + }, + "adhan_visibility": "", + "@adhan_visibility": { + "description": "Visibility of some azan times ", + "eg_english": "Azan Visibility" + }, + "adhan_manual_correction": "", + "@adhan_manual_correction": { + "description": "Manual Correction for some azan times ", + "eg_english": "Manual Corrections" + }, + "support_dev": "", + "@support_dev": { + "description": "Category of supporting development ", + "eg_english": "Support Development" + }, + "rate_on_play_store": "", + "@rate_on_play_store": { + "description": "Button to rate on play store ", + "eg_english": "Rate on Play Store" + }, + "rate_on_play_store_desc": "", + "@rate_on_play_store_desc": { + "description": "Description of the rate button ", + "eg_english": "That would motivate us a lot." + }, + "help_us_translate": "", + "@help_us_translate": { + "description": "A button for user to translate the app ", + "eg_english": "Help us translate" + }, + "help_us_translate_desc": "", + "@help_us_translate_desc": { + "description": "Description for the help_us_translate button ", + "eg_english": "Don't see your language? Help us translate the app features and dua for a particular language." + }, + "github_ripo": "", + "@github_ripo": { + "description": "A button to go to the github repo ", + "eg_english": "Github Repository" + }, + "github_ripo_desc": "", + "@github_ripo_desc": { + "description": "Description for the github repo ", + "eg_english": "Knows Flutter Development?, join us in this journey of Fi-Sabilillah or give us a star to motivate us." + }, + "report_bug": "", + "@report_bug": { + "description": "A button to report a bug to the development team ", + "eg_english": "Report a bug" + }, + "report_bug_desc": "", + "@report_bug_desc": { + "description": "Description of the report_bug button ", + "eg_english": "Sorry, you had to face it. You can either report a problem in github or through email. Zajakallah for the information." + }, + "make_dua": "", + "@make_dua": { + "description": "A button asking for dua ", + "eg_english": "Make dua for us" + }, + "make_dua_desc": "", + "@make_dua_desc": { + "description": " Description of the dua button - Simply translate the english dua ", + "eg_english": "Abu Darda reported: The Messenger of Allah, peace and blessings be upon him, said, “No Muslim servant supplicates for his brother behind his back but that the angel says: And for you the same.”" + }, + "make_dua_action": "", + "@make_dua_action": { + "description": "Action for make dua ", + "eg_english": "May Allah reward you with something good :-)" + }, + "request_a_feature": "", + "@request_a_feature": { + "description": "Button for requesting a new feature ", + "eg_english": "Request a feature" + }, + "request_a_feature_desc": "", + "@request_a_feature_desc": { + "description": "Description for the request button ", + "eg_english": "Need additional feature or dua? Suggest it to us" + }, + "show_translation": "", + "@show_translation": { + "description": "Show translation of the duas ", + "eg_english": "Show Translation" + }, + "show_transliteration": "", + "@show_transliteration": { + "description": "Show transliteration of the duas ", + "eg_english": "Show Transliteration" + }, + "translation_lang": "", + "@translation_lang": { + "description": "Option to choose a translation language ", + "eg_english": "Translation Language" + }, + "disable_battery_optimization": "", + "@disable_battery_optimization": { + "description": "Disable battery optimization for better notification ", + "eg_english": "Disable Battery Optimization" + }, + "disable_battery_optimization_desc": "", + "@disable_battery_optimization_desc": { + "description": "Description for battery_optimization_disable ", + "eg_english": "Please disable the battery optimization feature so that you don't miss any notifications!" + }, + "arabic_font_size": "", + "@arabic_font_size": { + "description": "Arabic font size selector - e.g for English: ''", + "eg_english": "Arabic Font Selector" + }, + "other_font_size": "", + "@other_font_size": { + "description": "Other (translation/transliteration) font size selector - e.g for English: ''", + "eg_english": "Other Font Selector" + }, + "primary_language": "", + "@primary_language": { + "description": "Primary language of the dua", + "eg_english": "Primary Language" + }, + + "@__________________________________________Dua_Page": { + }, + "favs": "", + "@favs": { + "description": "Favourites button '' ", + "eg_english": "Favourites" + }, + "add_to_fav": "", + "@add_to_fav": { + "description": "A button to add duas to favourites ", + "eg_english": "Add to Favourite" + }, + "add_to_fav_action": "", + "@add_to_fav_action": { + "description": "An action when add duas to favourites ", + "eg_english": "Added to Favourite" + }, + "remove_from_fav": "", + "@remove_from_fav": { + "description": "A button to remove dua from favourites ", + "eg_english": "Remove from Favourites" + }, + "remove_from_fav_action": "", + "@remove_from_fav_action": { + "description": "An action when remove dua from favourites ", + "eg_english": "Removed from Favourites" + }, + "report_an_error": "", + "@report_an_error": { + "description": "Report an error in the dua ", + "eg_english": "Report an error" + }, + "copy_dua": "", + "@copy_dua": { + "description": "A button to copy the entire dua ", + "eg_english": "Copy Dua" + }, + "copy_dua_action": "", + "@copy_dua_action": { + "description": "Action for copying dua '' ", + "eg_english": "Copied to clipboard!" + }, + "@__________________________________________Qibla_page": {}, + "you_are_facing": "", + "@you_are_facing": { + "description": "A translation of the sentence", + "eg_english": "You are facing" + }, + "compass_heading_north": "", + "compass_heading_north_east": "", + "compass_heading_east": "", + "compass_heading_south_east": "", + "compass_heading_south": "", + "compass_heading_south_west": "", + "compass_heading_west": "", + "compass_heading_north_west": "", + "@compass_headings": { + "description": "headings of compass - Translation" + } +} \ No newline at end of file diff --git a/locals/langs/app_en.arb b/locals/langs/app_en.arb new file mode 100644 index 0000000..18cdc08 --- /dev/null +++ b/locals/langs/app_en.arb @@ -0,0 +1,667 @@ +{ + "@__________________________________________Global_Page": { + }, + "locale": "en", + "@locale": { + "description": "Name of Locale.", + "eg_english": "en" + }, + "direction": "ltr", + "@direction": { + "description": "Language direction - Either Left-To-Right (ltr) or Right-To-left(rtl).", + "eg_english": "ltr" + }, + "current_lang": "English", + "@current_lang": { + "description": "Name of this language in its language", + "eg_english": "English" + }, + "one": "1", + "@one": { + "description": "Translation of the digit 1", + "eg_english": "1" + }, + "two": "2", + "@two": { + "description": "Translation of the digit 2", + "eg_english": "2" + }, + "three": "3", + "@three": { + "description": "Translation of the digit 3", + "eg_english": "3" + }, + "four": "4", + "@four": { + "description": "Translation of the digit 4", + "eg_english": "4" + }, + "five": "5", + "@five": { + "description": "Translation of the digit 5", + "eg_english": "5" + }, + "six": "6", + "@six": { + "description": "Translation of the digit 6", + "eg_english": "6" + }, + "seven": "7", + "@seven": { + "description": "Translation of the digit 7", + "eg_english": "7" + }, + "eight": "8", + "@eight": { + "description": "Translation of the digit 8", + "eg_english": "8" + }, + "nine": "9", + "@nine": { + "description": "Translation of the digit 9", + "eg_english": "9" + }, + "zero": "0", + "@zero": { + "description": "Translation of the digit 0", + "eg_english": "0" + }, + "arabic_month_muharram": "Muharram", + "@arabic_month_muharram": { + "description": "Transliteration of the arabic month Muharram", + "eg_english": "Muharram" + }, + "arabic_month_safar": "Safar", + "@arabic_month_safar": { + "description": "Transliteration of the arabic month Safar", + "eg_english": "Safar" + }, + "arabic_month_rabi_al_awwal": "Rabi al-Awwal", + "@arabic_month_rabi_al_awwal": { + "description": "Transliteration of the arabic month Rabi al-Awwal", + "eg_english": "Rabi al-Awwal" + }, + "arabic_month_rabi_al_thani": "Rabi al-Thani", + "@arabic_month_rabi_al_thani": { + "description": "Transliteration of the arabic month Rabi al-Thani", + "eg_english": "Rabi al-Thani" + }, + "arabic_month_jumada_al_awwal": "Jumada al-Awwal", + "@arabic_month_jumada_al_awwal": { + "description": "Transliteration of the arabic month Jumada al-Awwal", + "eg_english": "Jumada al-Awwal" + }, + "arabic_month_jumada_al_thani": "Jumada al-Thani", + "@arabic_month_jumada_al_thani": { + "description": "Transliteration of the arabic month Jumada al-Thani", + "eg_english": "Jumada al-Thani" + }, + "arabic_month_rajab": "Rajab", + "@arabic_month_rajab": { + "description": "Transliteration of the arabic month Rajab", + "eg_english": "Rajab" + }, + "arabic_month_shaban": "Shaban", + "@arabic_month_shaban": { + "description": "Transliteration of the arabic month Shaban", + "eg_english": "Shaban" + }, + "arabic_month_ramadan": "Ramadan", + "@arabic_month_ramadan": { + "description": "Transliteration of the arabic month Ramadan", + "eg_english": "Ramadan" + }, + "arabic_month_shawwal": "Shawwal", + "@arabic_month_shawwal": { + "description": "Transliteration of the arabic month Shawwal", + "eg_english": "Shawwal" + }, + "arabic_month_dhu_al_qadha": "Dhu al-Qadah", + "@arabic_month_dhu_al_qadha": { + "description": "Transliteration of the arabic month Dhu al-Qadah", + "eg_english": "Dhu al-Qadah" + }, + "arabic_month_dhu_al_hijjah": "Dhu al-Hijjah", + "@arabic_month_dhu_al_hijjah": { + "description": "Transliteration of the arabic month Dhu al-Hijjah", + "eg_english": "Dhu al-Hijjah" + }, + "hour": "hr", + "@hour": { + "description": "The word hour (short form if possible) - e.g. for English: 'hr' ", + "eg_english": "hr" + }, + "minute": "min", + "@minute": { + "description": "The word form minute (short form if possible) - e.g. for English: 'min' ", + "eg_english": "min" + }, + "close": "Close", + "@close": { + "description": "The word Close - e.g. for English: 'Close' ", + "eg_english": "CLose" + }, + "notification": "Notification", + "@notification": { + "description": "Describes a notification - e.g. for English: 'Notification' ", + "eg_english": "Notification" + }, + "adhan": "Azan", + "@adhan": { + "description": "Describes a button called Adhan/Azan - e.g. for English: 'Azan' ", + "eg_english": "Azan" + }, + "qibla": "Qibla", + "@qibla": { + "description": "Describes a button called Qibla - e.g. for English: 'Qibla' ", + "eg_english": "Qibla" + }, + "dua": "Dua", + "@dua": { + "description": "Describes a button called Dua - e.g. for English: 'Dua' ", + "eg_english": "Dua" + }, + "tasbih": "Tasbih", + "@tasbih": { + "description": "Describes a button called tasbih - e.g. for English: 'Tasbih' ", + "eg_english": "Tasbih" + }, + "settings": "Settings", + "@settings": { + "description": "Describes a button called Settings ", + "eg_english": "Settings" + }, + "search": "Search", + "@search": { + "description": "Describes a button called Search ", + "eg_english": "Search" + }, + "language": "Language", + "@language": { + "description": "A word for Language Selection ", + "eg_english": "Language" + }, + "app_name": "Azan", + "@app_name": { + "description": "The transliteration for Azan ", + "eg_english": "Azan" + }, + "location": "Location", + "@location": { + "description": "The translation of the word location ", + "eg_english": "Location" + }, + "next": "Next", + "@next": { + "description": "The translation of the word 'Next' ", + "eg_english": "Next" + }, + "reset": "Reset", + "@reset": { + "description": "The translation of the word 'Reset' ", + "eg_english": "Reset" + }, + "type": "Type", + "@type": { + "description": "The translation for the word 'Type' - e.g. for English: ", + "eg_english": "'Type' - 'Type of Azan Notification'" + }, + "timing": "Timing", + "@timing": { + "description": "The translation for the word 'Timing' - e.g. for English: ", + "eg_english": "'Timing', 'Timing for the Azan Notification'" + }, + "bttn_open_settings": "Open Settings", + "@bttn_open_settings": { + "description": "The translation for the sentence 'Open Settings' ", + "eg_english": "Open Settings" + }, + "bttn_okay": "Okay", + "@bttn_okay": { + "description": "The translation for the word 'okay' ", + "eg_english": "Okay" + }, + "bttn_remind_me_later": "Remind me later", + "@bttn_remind_me_later": { + "description": "The translation for the sentence 'Remind me later' ", + "eg_english": "Remind Me Later" + }, + "bttn_never_ask_again": "Never Ask Again", + "@bttn_never_ask_again": { + "description": "The translation for the sentence 'Never Ask me Again' ", + "eg_english": "Never Ask Again" + }, + "finding": "Finding...", + "@finding": { + "description": "An indicator to indication the app is finding the location ", + "eg_english": "Finding..." + }, + "error_occured": "Error Occurred", + "@error_occured": { + "description": "An indicator to indicate an error has occurred ", + "eg_english": "Error Occured" + }, + "no_location_available": "No Location Available", + "@no_location_available": { + "description": "An Indicator to indicate no location is currently available ", + "eg_english": "No Location Available" + }, + "tap_to_update": "Tap to update", + "@tap_to_update": { + "description": "A button to which updates content on tap ", + "eg_english": "Tap to update" + }, + "default_mode": "Default", + "@default_mode": { + "description": "A Button to change the setting to factory mode ", + "eg_english": "Default" + }, + "preview_of_font": "Preview Of Other Font Sizes", + "@preview_of_font": { + "description": "Preview of the font size - e.g. for English ''", + "eg_english": "Preview Of Other Font sizes" + }, + "share_app": "Share with Friends", + "@share_app": { + "description": "Share the app ", + "eg_english": "Share with friends" + }, + "about": "About", + "@about": { + "description": "About panel - e.g. for English: 'About'", + "eg_english": "About" + }, + "try_again": "Try Again", + "@try_again": { + "description": "A button to try again ", + "eg_english": "Try Again" + }, + "@__________________________________________Welcome_page": { + }, + "location_privacy_short": "Azan is privacy focused. Your location is stored on your device locally.", + "@location_privacy_short": { + "description": "A short description of the location privacy policy ", + "eg_english": "Azan is privacy focused. Your location is stored on your device locally." + }, + "location_required": "Location Required", + "@location_required": { + "description": "A translation for the word 'Location Required' - ", + "eg_english": "Location Required" + }, + "location_found": "Location Found", + "@location_found": { + "description": "A translation for the word 'Location Found' ", + "eg_english": "Location Found" + }, + "permission_denied": "Permission Denied", + "@permission_denied": { + "description": "A translation for the word 'Permission Denied' ", + "eg_english": "Permission Denied" + }, + "location_permission_request_short": "Your location is needed to calculate the time of azan, display the Qibla Compass and Show Nearby Mosques", + "@location_permission_request_short": { + "description": "A short description explaining why the location is required ", + "eg_english": "Your location is needed to calculate the time of azan, display the Qibla Compass and Show Nearby Mosques" + }, + "@__________________________________________Adhan_Page": { + }, + "adhan_fajr": "Fajr", + "@adhan_fajr": { + "description": "A word for 'Fajr' in its language ", + "eg_english": "Fajr" + }, + "adhan_sunrise": "Sunrise", + "@adhan_sunrise": { + "description": "A word for sunrise in its language ", + "eg_english": "Sunrise" + }, + "adhan_dhuhr": "Dhuhr", + "@adhan_dhuhr": { + "description": "A word for Dhuhr in its language ", + "eg_english": "Dhuhr" + }, + "adhan_jummah": "Jummah", + "@adhan_jummah": { + "description": "A word for 'Jummah' in its language ", + "eg_english": "Jummah" + }, + "adhan_asr": "Asr", + "@adhan_asr": { + "description": "A word for 'Asr' in its language ", + "eg_english": "Asr" + }, + "adhan_magrib": "Magrib", + "@adhan_magrib": { + "description": "A word for 'Magrib' in its language ", + "eg_english": "Magrib" + }, + "adhan_isha": "Isha", + "@adhan_isha": { + "description": "A word for 'Isha' in its language ", + "eg_english": "Isha" + }, + "adhan_midnight": "Midnight", + "@adhan_midnight": { + "description": "A word for 'Midnight' in its language ", + "eg_english": "Midnight" + }, + "adhan_third_night": "Last Third Night", + "@adhan_third_night": { + "description": "A word for 'Last Third Night' in its language ", + "eg_english": "Last Third Night" + }, + "inexact_notify": "Early/Delayed Notification", + "@inexact_notify": { + "description": "A sentence for weather the notification be exact or delayed or early ", + "eg_english": "Early/Delayed Notification" + }, + "notify_me_before": "Notify me {min} minutes before azan time", + "@notify_me_before": { + "description": "Describes when the notification should be sent early ", + "placeholders": { + "min": { + "type": "String", + "example": "12" + } + }, + "eg_english": "Notify me {min} minutes before azan time" + }, + "notify_me_after": "Notify me {min} minutes after azan time", + "@notify_me_after": { + "description": "Describes when the notification should be sent later ", + "placeholders": { + "min": { + "type": "String", + "example": "12" + } + }, + "eg_english": "Notify me {min} minutes after azan time" + }, + "silent_adhan": "Silent", + "@silent_adhan": { + "description": "No notification should be sent - e.g. for English: '' ", + "eg_english": "Silent" + }, + "notification_only": "Notification Only", + "@notification_only": { + "description": "Only send the notification with default sound ", + "eg_english": "Notification Only" + }, + "ringtone": "Ringtone", + "@ringtone": { + "description": "Play the ringtone during notification '", + "eg_english": "Ringtone" + }, + "adhan_mecca": "Azan Mecca", + "@adhan_mecca": { + "description": "Play the Azan of Mecca during notification ", + "eg_english": "Azan Mecca" + }, + "adhan_medina": "Azan Medina", + "@adhan_medina": { + "description": "Play the azan of medina during notification ", + "eg_english": "Azan Medina" + }, + "alarm": "Alarm", + "@alarm": { + "description": "Play the alarm during notification ", + "eg_english": "Alarm" + }, + "@__________________________________________Settings_Page": { + }, + "global": "Global", + "@global": { + "description": "The category global settings i.e. that applies to the entire app ", + "eg_english": "Global" + }, + "click_to_change": "Click to Change", + "@click_to_change": { + "description": "The user can change a settings by tapping a Button ", + "eg_english": "Click to change" + }, + "madhab": "Madhab", + "@madhab": { + "description": "Select a madhab for asr time ", + "eg_english": "Madhab" + }, + "hanafi_madhab": "Hanafi Madhab", + "@hanafi_madhab": { + "description": "The transliteration of Hanafi madhab ", + "eg_english": "Hanafi Madhab" + }, + "shafi_madhab": "Shafi Madhab", + "@shafi_madhab": { + "description": "The transliteration of the Shafii Madhab ", + "eg_english": "Shafi madhab" + }, + "hanafi_asr_desc": "Later Asr Time", + "@hanafi_asr_desc": { + "description": "The descrion of the change of selecting hanafi madhab ", + "eg_english": "Later Asr Time" + }, + "shafi_asr_desc": "Early Asr Time", + "@shafi_asr_desc": { + "description": "The description of the change of selecting the shafi madhab ", + "eg_english": "Early Asr Time" + }, + "persistent_notify": "Persistent Notification", + "@persistent_notify": { + "description": "will the notification be persistent? ", + "eg_english": "Persistent Notification" + }, + "persistent_notify_desc": "Show Azan notification all the time", + "@persistent_notify_desc": { + "description": "Description for the notification be persistent ", + "eg_english": "Show the Azan notification all the time" + }, + "theme": "Theme", + "@theme": { + "description": "Settings for the theme ", + "eg_english": "Theme" + }, + "always_dark": "Always Dark", + "@always_dark": { + "description": "Always show the dark-mode irrespective of the device theme ", + "eg_english": "Always Dark" + }, + "always_light": "Always Light", + "@always_light": { + "description": "Always show the light-mode irrespective of the device theme ", + "eg_english": "Always Light" + }, + "follow_system": "Follow System", + "@follow_system": { + "description": "Follow the system for theme ", + "eg_english": "Follow System" + }, + "calc_method": "Calculation Required", + "@calc_method": { + "description": "Calculation method of the Azan times ", + "eg_english": "Calculation Method" + }, + "high_lat_rule": "High Lat Rules", + "@high_lat_rule": { + "description": "Rules for high latitude for azan time calculation ", + "eg_english": "High Lat Rules" + }, + "adhan_visibility": "Azan Visibility", + "@adhan_visibility": { + "description": "Visibility of some azan times ", + "eg_english": "Azan Visibility" + }, + "adhan_manual_correction": "Manual Corrections", + "@adhan_manual_correction": { + "description": "Manual Correction for some azan times ", + "eg_english": "Manual Corrections" + }, + "support_dev": "Support Development", + "@support_dev": { + "description": "Category of supporting development ", + "eg_english": "Support Development" + }, + "rate_on_play_store": "Rate on play store", + "@rate_on_play_store": { + "description": "Button to rate on play store ", + "eg_english": "Rate on Play Store" + }, + "rate_on_play_store_desc": "That would motivate us a lot", + "@rate_on_play_store_desc": { + "description": "Description of the rate button ", + "eg_english": "That would motivate us a lot." + }, + "help_us_translate": "Help us translate", + "@help_us_translate": { + "description": "A button for user to translate the app ", + "eg_english": "Help us translate" + }, + "help_us_translate_desc": "Don't see your language? Help us translate the app features and dua for a particular language.", + "@help_us_translate_desc": { + "description": "Description for the help_us_translate button ", + "eg_english": "Don't see your language? Help us translate the app features and dua for a particular language." + }, + "github_ripo": "Github Repository", + "@github_ripo": { + "description": "A button to go to the github repo ", + "eg_english": "Github Repository" + }, + "github_ripo_desc": "Knows Flutter Development?, join us in this journey of Fi-Sabilillah or give us a star to motivate us.", + "@github_ripo_desc": { + "description": "Description for the github repo ", + "eg_english": "Knows Flutter Development?, join us in this journey of Fi-Sabilillah or give us a star to motivate us." + }, + "report_bug": "Report a bug", + "@report_bug": { + "description": "A button to report a bug to the development team ", + "eg_english": "Report a bug" + }, + "report_bug_desc": "Sorry, you had to face it. You can either report a problem in github or through email. Zajakallah for the information.", + "@report_bug_desc": { + "description": "Description of the report_bug button ", + "eg_english": "Sorry, you had to face it. You can either report a problem in github or through email. Zajakallah for the information." + }, + "make_dua": "Make dua for us", + "@make_dua": { + "description": "A button asking for dua ", + "eg_english": "Make dua for us" + }, + "make_dua_desc": "Abu Darda reported: The Messenger of Allah, peace and blessings be upon him, said, “No Muslim servant supplicates for his brother behind his back but that the angel says: And for you the same.”", + "@make_dua_desc": { + "description": " Description of the dua button - Simply translate the english dua ", + "eg_english": "Abu Darda reported: The Messenger of Allah, peace and blessings be upon him, said, “No Muslim servant supplicates for his brother behind his back but that the angel says: And for you the same.”" + }, + "make_dua_action": "May Allah reward you with something good \uD83D\uDE0A", + "@make_dua_action": { + "description": "Action for make dua ", + "eg_english": "May Allah reward you with something good :-)" + }, + "request_a_feature": "Request a feature", + "@request_a_feature": { + "description": "Button for requesting a new feature ", + "eg_english": "Request a feature" + }, + "request_a_feature_desc": "Need additional feature or dua? Suggest it to us", + "@request_a_feature_desc": { + "description": "Description for the request button ", + "eg_english": "Need additional feature or dua? Suggest it to us" + }, + "show_translation": "Show Translation", + "@show_translation": { + "description": "Show translation of the duas ", + "eg_english": "Show Translation" + }, + "show_transliteration": "Show Transliteration", + "@show_transliteration": { + "description": "Show transliteration of the duas ", + "eg_english": "Show Transliteration" + }, + "translation_lang": "Translation Language", + "@translation_lang": { + "description": "Option to choose a translation language ", + "eg_english": "Translation Language" + }, + "disable_battery_optimization": "Disable Battery Optimization", + "@disable_battery_optimization": { + "description": "Disable battery optimization for better notification ", + "eg_english": "Disable Battery Optimization" + }, + "disable_battery_optimization_desc": "Please disable the battery optimization feature so that you don't miss any notifications!", + "@disable_battery_optimization_desc": { + "description": "Description for battery_optimization_disable ", + "eg_english": "Please disable the battery optimization feature so that you don't miss any notifications!" + }, + "arabic_font_size": "Arabic font size", + "@arabic_font_size": { + "description": "Arabic font size selector - e.g for English: ''", + "eg_english": "Arabic Font Selector" + }, + "other_font_size": "Other font size", + "@other_font_size": { + "description": "Other (translation/transliteration) font size selector - e.g for English: ''", + "eg_english": "Other Font Selector" + }, + "primary_language": "Primary Language", + "@primary_language": { + "description": "Primary language of the dua", + "eg_english": "Primary Language" + }, + "@__________________________________________Dua_Page": { + }, + "favs": "Favourites", + "@favs": { + "description": "Favourites button '' ", + "eg_english": "Favourites" + }, + "add_to_fav": "Add to Favourite", + "@add_to_fav": { + "description": "A button to add duas to favourites ", + "eg_english": "Add to Favourite" + }, + "add_to_fav_action": "Added to Favourite", + "@add_to_fav_action": { + "description": "An action when add duas to favourites ", + "eg_english": "Added to Favourite" + }, + "remove_from_fav": "Remove from Favourites", + "@remove_from_fav": { + "description": "A button to remove dua from favourites ", + "eg_english": "Remove from Favourites" + }, + "remove_from_fav_action": "Removed from Favourites", + "@remove_from_fav_action": { + "description": "An action when remove dua from favourites ", + "eg_english": "Removed from Favourites" + }, + "report_an_error": "Report an error", + "@report_an_error": { + "description": "Report an error in the dua ", + "eg_english": "Report an error" + }, + "copy_dua": "Copy Dua", + "@copy_dua": { + "description": "A button to copy the entire dua ", + "eg_english": "Copy Dua" + }, + "copy_dua_action": "Copied to clipboard!", + "@copy_dua_action": { + "description": "Action for copying dua '' ", + "eg_english": "Copied to clipboard!" + }, + + "@__________________________________________Qibla_page": {}, + "you_are_facing": "You are facing", + "@you_are_facing": { + "description": "A translation of the sentence", + "eg_english": "You are facing" + }, + "compass_heading_north": "North", + "compass_heading_north_east": "North-East", + "compass_heading_east": "East", + "compass_heading_south_east": "South-East", + "compass_heading_south": "South", + "compass_heading_south_west": "South-West", + "compass_heading_west": "West", + "compass_heading_north_west": "North-West", + "@compass_headings": { + "description": "headings of compass - Translation" + } +} \ No newline at end of file diff --git a/pubspec.lock b/pubspec.lock index fea4a78..26b8cf7 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -203,7 +203,7 @@ packages: name: flutter_local_notifications url: "https://pub.dartlang.org" source: hosted - version: "9.5.2" + version: "9.5.3+1" flutter_local_notifications_linux: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index fb983fb..20454a5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -87,7 +87,7 @@ flutter: - assets/ - assets/screen_icons/ - assets/adhan_times/ - - lib/localization/langs/ + - locals/langs/