From 1e8a64a65e5e08cd37a63fee3ca18c916f66d497 Mon Sep 17 00:00:00 2001 From: Chinmay Date: Fri, 5 Jul 2024 00:59:09 +0530 Subject: [PATCH 1/5] Added in_app_updater package --- .../splash/controllers/splash_controller.dart | 28 +++++++++++++++++++ pubspec.lock | 8 ++++++ 2 files changed, 36 insertions(+) diff --git a/lib/app/modules/splash/controllers/splash_controller.dart b/lib/app/modules/splash/controllers/splash_controller.dart index 05d7d5a0..7b80d05b 100644 --- a/lib/app/modules/splash/controllers/splash_controller.dart +++ b/lib/app/modules/splash/controllers/splash_controller.dart @@ -1,6 +1,10 @@ +// ignore_for_file: body_might_complete_normally_catch_error + import 'dart:io'; +import 'package:flutter/foundation.dart'; import 'package:get/get.dart'; +import 'package:in_app_update/in_app_update.dart'; import 'package:path_provider/path_provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:taskwarrior/app/models/storage.dart'; @@ -17,6 +21,7 @@ class SplashController extends GetxController { @override void onInit() async { super.onInit(); + checkForUpdate(); initBaseDir().then((_) { _checkProfiles(); profilesMap.value = _profiles.profilesMap(); @@ -100,4 +105,27 @@ class SplashController extends GetxController { Get.toNamed(Routes.ONBOARDING); } } + + Future checkForUpdate() async { + try { + AppUpdateInfo updateInfo = await InAppUpdate.checkForUpdate(); + if (updateInfo.updateAvailability == UpdateAvailability.updateAvailable) { + if (updateInfo.immediateUpdateAllowed) { + InAppUpdate.performImmediateUpdate().catchError((e) { + debugPrint(e.toString()); + }); + } else if (updateInfo.flexibleUpdateAllowed) { + InAppUpdate.startFlexibleUpdate().then((_) { + InAppUpdate.completeFlexibleUpdate().catchError((e) { + debugPrint(e.toString()); + }); + }).catchError((e) { + debugPrint(e.toString()); + }); + } + } + } catch (e) { + debugPrint(e.toString()); + } + } } diff --git a/pubspec.lock b/pubspec.lock index c8a884d7..b6a07880 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -640,6 +640,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.6.0" + in_app_update: + dependency: "direct main" + description: + name: in_app_update + sha256: "489572accaa55b51518b2d64676ca8c3c6d4c989fa53cf718001882237691a3c" + url: "https://pub.dev" + source: hosted + version: "4.2.3" intl: dependency: "direct main" description: From e13ff3d3ad77160e3e55498ae4c61b53e5870dfb Mon Sep 17 00:00:00 2001 From: Chinmay Date: Fri, 5 Jul 2024 12:14:48 +0530 Subject: [PATCH 2/5] Added await to the function --- lib/app/modules/splash/controllers/splash_controller.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/app/modules/splash/controllers/splash_controller.dart b/lib/app/modules/splash/controllers/splash_controller.dart index 7b80d05b..198443b9 100644 --- a/lib/app/modules/splash/controllers/splash_controller.dart +++ b/lib/app/modules/splash/controllers/splash_controller.dart @@ -21,7 +21,7 @@ class SplashController extends GetxController { @override void onInit() async { super.onInit(); - checkForUpdate(); + await checkForUpdate(); initBaseDir().then((_) { _checkProfiles(); profilesMap.value = _profiles.profilesMap(); From fbb468dcbdfc9ea430185943ae8814a58a31ee65 Mon Sep 17 00:00:00 2001 From: Chinmay Date: Fri, 30 Aug 2024 00:32:21 +0530 Subject: [PATCH 3/5] French spanish and bengali added --- ...ngs_page_select_the_language_trailing.dart | 8 +- lib/app/utils/language/bengali_sentences.dart | 262 ++++++++++++++++ lib/app/utils/language/french_sentences.dart | 291 ++++++++++++++++++ lib/app/utils/language/sentence_manager.dart | 10 +- lib/app/utils/language/spanish_sentences.dart | 262 ++++++++++++++++ .../utils/language/supported_language.dart | 16 + macos/Podfile.lock | 7 + 7 files changed, 854 insertions(+), 2 deletions(-) create mode 100644 lib/app/utils/language/bengali_sentences.dart create mode 100644 lib/app/utils/language/french_sentences.dart create mode 100644 lib/app/utils/language/spanish_sentences.dart diff --git a/lib/app/modules/settings/views/settings_page_select_the_language_trailing.dart b/lib/app/modules/settings/views/settings_page_select_the_language_trailing.dart index 29f59527..fc9f7b5d 100644 --- a/lib/app/modules/settings/views/settings_page_select_the_language_trailing.dart +++ b/lib/app/modules/settings/views/settings_page_select_the_language_trailing.dart @@ -36,7 +36,7 @@ class SettingsPageSelectTheLanguageTrailing extends StatelessWidget { }).toList(), dropdownColor: AppSettings.isDarkMode ? TaskWarriorColors.kprimaryBackgroundColor - : TaskWarriorColors.kLightPrimaryBackgroundColor + : TaskWarriorColors.kLightPrimaryBackgroundColor, ), ); } @@ -49,6 +49,12 @@ class SettingsPageSelectTheLanguageTrailing extends StatelessWidget { return 'Hindi'; case SupportedLanguage.marathi: return 'Marathi'; + case SupportedLanguage.french: + return 'Français'; + case SupportedLanguage.spanish: + return 'Español'; + case SupportedLanguage.bengali: + return 'বাংলা'; default: return ''; } diff --git a/lib/app/utils/language/bengali_sentences.dart b/lib/app/utils/language/bengali_sentences.dart new file mode 100644 index 00000000..382a4297 --- /dev/null +++ b/lib/app/utils/language/bengali_sentences.dart @@ -0,0 +1,262 @@ +import 'package:taskwarrior/app/utils/language/sentences.dart'; + +class BengaliSentences extends Sentences { + @override + String get helloWorld => 'হ্যালো বিশ্ব!'; + @override + String get homePageTitle => 'হোম পেজ'; + @override + String get homePageLastModified => 'শেষবার পরিবর্তিত'; + @override + String get homePageDue => 'জরুরি'; + @override + String get homePageTaskWarriorNotConfigured => 'TaskServer কনফিগার করা হয়নি'; + @override + String get homePageSetup => 'সেটআপ'; + @override + String get homePageFilter => 'ফিল্টার'; + @override + String get homePageMenu => 'মেনু'; + @override + String get homePageExitApp => 'অ্যাপ বন্ধ করুন'; + @override + String get homePageAreYouSureYouWantToExit => 'আপনি কি সত্যিই অ্যাপ বন্ধ করতে চান?'; + @override + String get homePageExit => 'বাহির যান'; + @override + String get homePageCancel => 'বাতিল করুন'; + @override + String get homePageClickOnTheBottomRightButtonToStartAddingTasks => 'টাস্ক যোগ করা শুরু করতে নিচে ডানদিকে বোতামে ক্লিক করুন'; + @override + String get homePageSearchNotFound => 'অনুসন্ধানে কিছু পাওয়া যায়নি'; + @override + String get settingsPageTitle => 'সেটিংস পেজ'; + @override + String get settingsPageSubtitle => 'আপনার পছন্দ সেট করুন'; + @override + String get settingsPageMovingDataToNewDirectory => 'নতুন ডিরেক্টরিতে ডেটা স্থানান্তর করা হচ্ছে'; + @override + String get settingsPageSyncOnStartTitle => 'অ্যাপ শুরুতে ডেটা স্বয়ংক্রিয়ভাবে সিঙ্ক করুন'; + @override + String get settingsPageSyncOnStartDescription => 'শুরুতে সিঙ্ক করুন'; + @override + String get settingsPageEnableSyncOnTaskCreateTitle => 'নতুন টাস্ক তৈরি করার সময় স্বয়ংক্রিয় সিঙ্কিং সক্ষম করুন'; + @override + String get settingsPageEnableSyncOnTaskCreateDescription => 'নতুন টাস্ক তৈরি করার সময় স্বয়ংক্রিয় সিঙ্কিং সক্ষম করুন'; + @override + String get settingsPageHighlightTaskTitle => 'শুধু 1 দিন বাকি থাকলে টাস্ক হাইলাইট করুন'; + @override + String get settingsPageHighlightTaskDescription => 'শুধু 1 দিন বাকি থাকলে টাস্ক হাইলাইট করুন'; + @override + String get settingsPageEnable24hrFormatTitle => '24 ঘণ্টার ফর্ম্যাট সক্রিয় করুন'; + @override + String get settingsPageEnable24hrFormatDescription => '24 ঘণ্টার ফর্ম্যাট সক্রিয় করুন'; + @override + String get settingsPageSelectLanguage => 'ভাষা নির্বাচন করুন'; + @override + String get settingsPageToggleNativeLanguage => 'আপনার মাতৃভাষার মধ্যে টগল করুন'; + @override + String get settingsPageSelectDirectoryTitle => 'ডিরেক্টরি নির্বাচন করুন'; + @override + String get settingsPageSelectDirectoryDescription => 'টাস্কওয়ারিয়র ডেটা যেখানে সংরক্ষিত হয় সেই ডিরেক্টরি নির্বাচন করুন\nবর্তমান ডিরেক্টরি: '; + @override + String get settingsPageChangeDirectory => 'ডিরেক্টরি পরিবর্তন করুন'; + @override + String get settingsPageSetToDefault => 'ডিফল্টে সেট করুন'; + @override + String get navDrawerProfile => 'প্রোফাইল'; + @override + String get navDrawerReports => 'রিপোর্টস'; + @override + String get navDrawerAbout => 'সম্পর্কে'; + @override + String get navDrawerSettings => 'সেটিংস'; + @override + String get navDrawerExit => 'বাহির যান'; + + @override + String get detailPageDescription => 'বর্ণনা'; + @override + String get detailPageStatus => 'অবস্থা'; + @override + String get detailPageEntry => 'এন্ট্রি'; + @override + String get detailPageModified => 'পরিবর্তিত'; + @override + String get detailPageStart => 'শুরু'; + @override + String get detailPageEnd => 'শেষ'; + @override + String get detailPageDue => 'জরুরি'; + @override + String get detailPageWait => 'অপেক্ষা করুন'; + @override + String get detailPageUntil => 'পর্যন্ত'; + @override + String get detailPagePriority => 'প্রাধান্য'; + @override + String get detailPageProject => 'প্রকল্প'; + @override + String get detailPageTags => 'ট্যাগ'; + @override + String get detailPageUrgency => 'জরুরি'; + @override + String get detailPageID => 'আইডি'; + + @override + String get filterDrawerApplyFilters => 'ফিল্টার প্রয়োগ করুন'; + @override + String get filterDrawerHideWaiting => 'অপেক্ষা লুকান'; + @override + String get filterDrawerShowWaiting => 'অপেক্ষা প্রদর্শন করুন'; + @override + String get filterDrawerPending => 'মুলতুবি'; + @override + String get filterDrawerCompleted => 'সম্পন্ন'; + @override + String get filterDrawerFilterTagBy => 'ট্যাগ দ্বারা ফিল্টার করুন'; + @override + String get filterDrawerAND => 'এবং'; + @override + String get filterDrawerOR => 'অথবা'; + @override + String get filterDrawerSortBy => 'এর দ্বারা সাজান'; + @override + String get filterDrawerCreated => 'সৃষ্ট'; + @override + String get filterDrawerModified => 'পরিবর্তিত'; + @override + String get filterDrawerStartTime => 'শুরুর সময়'; + @override + String get filterDrawerDueTill => 'জরুরি পর্যন্ত'; + @override + String get filterDrawerPriority => 'প্রাধান্য'; + @override + String get filterDrawerProject => 'প্রকল্প'; + @override + String get filterDrawerTags => 'ট্যাগস'; + @override + String get filterDrawerUrgency => 'জরুরি'; + @override + String get filterDrawerResetSort => 'সাজানো রিসেট করুন'; + @override + String get filterDrawerStatus => 'অবস্থা'; + @override + String get reportsPageTitle => 'রিপোর্টস'; + @override + String get reportsPageCompleted => 'সম্পন্ন'; + @override + String get reportsPagePending => 'মুলতুবি'; + @override + String get reportsPageTasks => 'টাস্ক'; + + @override + String get reportsPageDaily => 'দৈনিক'; + @override + String get reportsPageDailyBurnDownChart => 'দৈনিক বার্নডাউন চার্ট'; + @override + String get reportsPageDailyDayMonth => 'দিন - মাস'; + + @override + String get reportsPageWeekly => 'সাপ্তাহিক'; + @override + String get reportsPageWeeklyBurnDownChart => 'সাপ্তাহিক বার্নডাউন চার্ট'; + @override + String get reportsPageWeeklyWeeksYear => 'সপ্তাহ - বছর'; + + @override + String get reportsPageMonthly => 'মাসিক'; + @override + String get reportsPageMonthlyBurnDownChart => 'মাসিক বার্নডাউন চার্ট'; + @override + String get reportsPageMonthlyMonthYear => 'মাস - বছর'; + + @override + String get reportsPageNoTasksFound => 'কোনও টাস্ক পাওয়া যায়নি'; + @override + String get reportsPageAddTasksToSeeReports => 'রিপোর্ট দেখতে টাস্ক যোগ করুন'; + + @override + String get taskchampionTileDescription => 'TaskWarrior সিঙ্কিং CCSync বা Taskchampion সিঙ্ক সার্ভারে পরিবর্তন করুন'; + + @override + String get taskchampionTileTitle => 'Taskchampion সিঙ্ক'; + + @override + String get ccsyncCredentials => 'CCSync ক্রেডেনশিয়াল'; + + @override + String get deleteTaskConfirmation => 'টাস্ক মুছুন'; + + @override + String get deleteTaskTitle => 'সব টাস্ক মুছুন?'; + + @override + String get deleteTaskWarning => 'এই পদক্ষেপটি অপরিবর্তনীয় এবং সমস্ত স্থানীয়ভাবে সংরক্ষিত টাস্ক মুছে ফেলবে।'; + + @override + String get profilePageProfile => 'প্রোফাইল'; + @override + String get profilePageProfiles => 'প্রোফাইলস'; + @override + String get profilePageCurrentProfile => 'বর্তমান প্রোফাইল'; + @override + String get profilePageManageSelectedProfile => 'নির্বাচিত প্রোফাইল পরিচালনা করুন'; + @override + String get profilePageRenameAlias => 'অ্যালিয়াস পরিবর্তন করুন'; + + @override + String get profilePageConfigureTaskserver => 'টাস্ক সার্ভার কনফিগার করুন'; + @override + String get profilePageExportTasks => 'টাস্ক রপ্তানী করুন'; + @override + String get profilePageCopyConfigToNewProfile => 'নতুন প্রোফাইলে কনফিগারেশন কপি করুন'; + @override + String get profilePageDeleteProfile => 'প্রোফাইল মুছুন'; + @override + String get profilePageAddNewProfile => 'নতুন প্রোফাইল যোগ করুন'; + + @override + String get profilePageRenameAliasDialogueBoxTitle => 'অ্যালিয়াস পরিবর্তন করুন'; + @override + String get profilePageRenameAliasDialogueBoxNewAlias => 'নতুন অ্যালিয়াস'; + @override + String get profilePageRenameAliasDialogueBoxCancel => 'বাতিল করুন'; + @override + String get profilePageRenameAliasDialogueBoxSubmit => 'জমা দিন'; + + @override + String get profilePageExportTasksDialogueTitle => 'রপ্তানি ফরম্যাট'; + @override + String get profilePageExportTasksDialogueSubtitle => 'রপ্তানি ফরম্যাট নির্বাচন করুন'; + + @override + String get manageTaskServerPageConfigureTaskserver => 'টাস্ক সার্ভার কনফিগার করুন'; + @override + String get manageTaskServerPageConfigureTASKRC => 'TASKRC কনফিগার করুন'; + @override + String get manageTaskServerPageSetTaskRC => 'TaskRC সেট করুন'; + @override + String get manageTaskServerPageConfigureYourCertificate => 'আপনার সার্টিফিকেট কনফিগার করুন'; + @override + String get manageTaskServerPageSelectCertificate => 'সার্টিফিকেট নির্বাচন করুন'; + @override + String get manageTaskServerPageConfigureTaskserverKey => 'টাস্ক সার্ভার কনফিগার করুন কী'; + @override + String get manageTaskServerPageSelectKey => 'কী নির্বাচন করুন'; + @override + String get manageTaskServerPageConfigureServerCertificate => 'সার্ভার সার্টিফিকেট কনফিগার করুন'; + @override + String get manageTaskServerPageTaskRCFileIsVerified => 'Task RC ফাইল যাচাই করা হয়েছে'; + + @override + String get manageTaskServerPageConfigureTaskRCDialogueBoxTitle => 'TaskRC কনফিগার করুন'; + @override + String get manageTaskServerPageConfigureTaskRCDialogueBoxSubtitle => 'TaskRC সামগ্রী পেস্ট করুন বা taskrc ফাইল নির্বাচন করুন'; + @override + String get manageTaskServerPageConfigureTaskRCDialogueBoxInputFieldText => 'এখানে আপনার TaskRC সামগ্রী পেস্ট করুন'; + @override + String get manageTaskServerPageConfigureTaskRCDialogueBoxOr => 'অথবা'; + @override + String get manageTaskServerPageConfigureTaskRCDialogueBoxSelectTaskRC => 'TaskRC ফাইল নির্বাচন করুন'; +} diff --git a/lib/app/utils/language/french_sentences.dart b/lib/app/utils/language/french_sentences.dart new file mode 100644 index 00000000..be6273aa --- /dev/null +++ b/lib/app/utils/language/french_sentences.dart @@ -0,0 +1,291 @@ +import 'package:taskwarrior/app/utils/language/sentences.dart'; + +class FrenchSentences extends Sentences { + @override + String get helloWorld => 'Bonjour le monde !'; + @override + String get homePageTitle => 'Page d\'accueil'; + @override + String get homePageLastModified => 'Dernière modification'; + @override + String get homePageDue => 'Échéance'; + @override + String get homePageTaskWarriorNotConfigured => 'TaskServer non configuré'; + @override + String get homePageSetup => 'Configuration'; + @override + String get homePageFilter => 'Filtre'; + @override + String get homePageMenu => 'Menu'; + @override + String get homePageExitApp => 'Quitter l\'application'; + @override + String get homePageAreYouSureYouWantToExit => + 'Êtes-vous sûr de vouloir quitter l\'application ?'; + @override + String get homePageExit => 'Quitter'; + @override + String get homePageCancel => 'Annuler'; + @override + String get homePageClickOnTheBottomRightButtonToStartAddingTasks => + 'Cliquez sur le bouton en bas à droite pour commencer à ajouter des tâches'; + @override + String get homePageSearchNotFound => 'Aucun résultat pour la recherche'; + @override + String get settingsPageTitle => 'Page des paramètres'; + @override + String get settingsPageSubtitle => 'Configurez vos préférences'; + @override + String get settingsPageMovingDataToNewDirectory => + 'Déplacement des données vers un nouveau répertoire'; + @override + String get settingsPageSyncOnStartTitle => + 'Synchroniser les données automatiquement au démarrage'; + @override + String get settingsPageSyncOnStartDescription => 'Synchroniser au démarrage'; + @override + String get settingsPageEnableSyncOnTaskCreateTitle => + 'Activer la synchronisation automatique lors de la création de nouvelles tâches'; + @override + String get settingsPageEnableSyncOnTaskCreateDescription => + 'Activer la synchronisation automatique lors de la création de nouvelles tâches'; + @override + String get settingsPageHighlightTaskTitle => + 'Surbrillance des tâches avec 1 jour restant'; + @override + String get settingsPageHighlightTaskDescription => + 'Surbrillance des tâches avec 1 jour restant'; + @override + String get settingsPageEnable24hrFormatTitle => 'Activer le format 24 heures'; + @override + String get settingsPageEnable24hrFormatDescription => + 'Activer le format 24 heures'; + @override + String get settingsPageSelectLanguage => 'Choisir la langue'; + @override + String get settingsPageToggleNativeLanguage => + 'Basculer entre les langues natives'; + @override + String get settingsPageSelectDirectoryTitle => 'Choisir un répertoire'; + @override + String get settingsPageSelectDirectoryDescription => + 'Choisissez le répertoire où les données TaskWarrior sont stockées\nRépertoire actuel : '; + @override + String get settingsPageChangeDirectory => 'Changer de répertoire'; + @override + String get settingsPageSetToDefault => 'Définir par défaut'; + @override + String get navDrawerProfile => 'Profil'; + @override + String get navDrawerReports => 'Rapports'; + @override + String get navDrawerAbout => 'À propos'; + @override + String get navDrawerSettings => 'Paramètres'; + @override + String get navDrawerExit => 'Quitter'; + + @override + String get detailPageDescription => 'Description'; + @override + String get detailPageStatus => 'Statut'; + @override + String get detailPageEntry => 'Entrée'; + @override + String get detailPageModified => 'Modifié'; + @override + String get detailPageStart => 'Début'; + @override + String get detailPageEnd => 'Fin'; + @override + String get detailPageDue => 'Échéance'; + @override + String get detailPageWait => 'Attendre'; + @override + String get detailPageUntil => 'Jusqu\'à'; + @override + String get detailPagePriority => 'Priorité'; + @override + String get detailPageProject => 'Projet'; + @override + String get detailPageTags => 'Tags'; + @override + String get detailPageUrgency => 'Urgence'; + @override + String get detailPageID => 'ID'; + + @override + String get filterDrawerApplyFilters => 'Appliquer les filtres'; + @override + String get filterDrawerHideWaiting => 'Masquer les en attente'; + @override + String get filterDrawerShowWaiting => 'Afficher les en attente'; + @override + String get filterDrawerPending => 'En attente'; + @override + String get filterDrawerCompleted => 'Complété'; + @override + String get filterDrawerFilterTagBy => 'Filtrer par tag'; + @override + String get filterDrawerAND => 'et'; + @override + String get filterDrawerOR => 'ou'; + @override + String get filterDrawerSortBy => 'Trier par'; + @override + String get filterDrawerCreated => 'Créé'; + @override + String get filterDrawerModified => 'Modifié'; + @override + String get filterDrawerStartTime => 'Heure de début'; + @override + String get filterDrawerDueTill => 'Jusqu\'à l\'échéance'; + @override + String get filterDrawerPriority => 'Priorité'; + @override + String get filterDrawerProject => 'Projet'; + @override + String get filterDrawerTags => 'Tags'; + @override + String get filterDrawerUrgency => 'Urgence'; + @override + String get filterDrawerResetSort => 'Réinitialiser le tri'; + @override + String get filterDrawerStatus => 'Statut'; + @override + String get reportsPageTitle => 'Rapports'; + @override + String get reportsPageCompleted => 'Complété'; + @override + String get reportsPagePending => 'En attente'; + @override + String get reportsPageTasks => 'Tâches'; + + @override + String get reportsPageDaily => 'Quotidien'; + @override + String get reportsPageDailyBurnDownChart => + 'Graphique de burn down quotidien'; + @override + String get reportsPageDailyDayMonth => 'Jour - Mois'; + + @override + String get reportsPageWeekly => 'Hebdomadaire'; + @override + String get reportsPageWeeklyBurnDownChart => + 'Graphique de burn down hebdomadaire'; + @override + String get reportsPageWeeklyWeeksYear => 'Semaine - Année'; + + @override + String get reportsPageMonthly => 'Mensuel'; + @override + String get reportsPageMonthlyBurnDownChart => + 'Graphique de burn down mensuel'; + @override + String get reportsPageMonthlyMonthYear => 'Mois - Année'; + + @override + String get reportsPageNoTasksFound => 'Aucune tâche trouvée'; + @override + String get reportsPageAddTasksToSeeReports => + 'Ajoutez des tâches pour voir les rapports'; + + @override + String get taskchampionTileDescription => + 'Basculez la synchronisation de TaskWarrior vers le serveur de synchronisation CCSync ou Taskchampion'; + + @override + String get taskchampionTileTitle => 'Synchronisation Taskchampion'; + + @override + String get ccsyncCredentials => 'Identifiants CCSync'; + + @override + String get deleteTaskConfirmation => 'Supprimer la tâche'; + + @override + String get deleteTaskTitle => 'Supprimer toutes les tâches ?'; + + @override + String get deleteTaskWarning => + 'Cette action est irréversible et supprimera toutes les tâches stockées localement.'; + + @override + String get profilePageProfile => 'Profil'; + @override + String get profilePageProfiles => 'Profils'; + @override + String get profilePageCurrentProfile => 'Profil actuel'; + @override + String get profilePageManageSelectedProfile => 'Gérer le profil sélectionné'; + @override + String get profilePageRenameAlias => 'Renommer l\'alias'; + + @override + String get profilePageConfigureTaskserver => + 'Configurer le serveur de tâches'; + @override + String get profilePageExportTasks => 'Exporter les tâches'; + @override + String get profilePageCopyConfigToNewProfile => + 'Copier la configuration vers un nouveau profil'; + @override + String get profilePageDeleteProfile => 'Supprimer le profil'; + @override + String get profilePageAddNewProfile => 'Ajouter un nouveau profil'; + + @override + String get profilePageRenameAliasDialogueBoxTitle => 'Renommer l\'alias'; + @override + String get profilePageRenameAliasDialogueBoxNewAlias => 'Nouvel alias'; + @override + String get profilePageRenameAliasDialogueBoxCancel => 'Annuler'; + @override + String get profilePageRenameAliasDialogueBoxSubmit => 'Soumettre'; + @override + String get profilePageExportTasksDialogueTitle => 'Format d\'exportation'; + @override + String get profilePageExportTasksDialogueSubtitle => + 'Choisissez le format d\'exportation'; + + @override + String get manageTaskServerPageConfigureTaskserver => + 'Configurer le serveur de tâches'; + @override + String get manageTaskServerPageConfigureTASKRC => 'Configurer TASKRC'; + @override + String get manageTaskServerPageSetTaskRC => 'Définir TaskRC'; + @override + String get manageTaskServerPageConfigureYourCertificate => + 'Configurer votre certificat'; + @override + String get manageTaskServerPageSelectCertificate => + 'Sélectionner un certificat'; + @override + String get manageTaskServerPageConfigureTaskserverKey => + 'Configurer la clé du serveur de tâches'; + @override + String get manageTaskServerPageSelectKey => 'Sélectionner une clé'; + @override + String get manageTaskServerPageConfigureServerCertificate => + 'Configurer le certificat du serveur'; + @override + String get manageTaskServerPageTaskRCFileIsVerified => + 'Le fichier Task RC est vérifié'; + + @override + String get manageTaskServerPageConfigureTaskRCDialogueBoxTitle => + 'Configurer TaskRC'; + @override + String get manageTaskServerPageConfigureTaskRCDialogueBoxSubtitle => + 'Collez le contenu de TaskRC ou sélectionnez un fichier taskrc'; + @override + String get manageTaskServerPageConfigureTaskRCDialogueBoxInputFieldText => + 'Collez votre contenu TaskRC ici'; + @override + String get manageTaskServerPageConfigureTaskRCDialogueBoxOr => 'ou'; + @override + String get manageTaskServerPageConfigureTaskRCDialogueBoxSelectTaskRC => + 'Sélectionner un fichier TaskRC'; +} diff --git a/lib/app/utils/language/sentence_manager.dart b/lib/app/utils/language/sentence_manager.dart index ce6ce1d0..f651bcb4 100644 --- a/lib/app/utils/language/sentence_manager.dart +++ b/lib/app/utils/language/sentence_manager.dart @@ -1,7 +1,9 @@ - import 'package:taskwarrior/app/utils/language/english_sentences.dart'; import 'package:taskwarrior/app/utils/language/hindi_sentences.dart'; import 'package:taskwarrior/app/utils/language/marathi_sentences.dart'; +import 'package:taskwarrior/app/utils/language/french_sentences.dart'; // Import for French +import 'package:taskwarrior/app/utils/language/spanish_sentences.dart'; // Import for Spanish +import 'package:taskwarrior/app/utils/language/bengali_sentences.dart'; // Import for Bengali import 'package:taskwarrior/app/utils/language/sentences.dart'; import 'package:taskwarrior/app/utils/language/supported_language.dart'; @@ -16,6 +18,12 @@ class SentenceManager { return HindiSentences(); case SupportedLanguage.marathi: return MarathiSentences(); + case SupportedLanguage.french: + return FrenchSentences(); + case SupportedLanguage.spanish: + return SpanishSentences(); + case SupportedLanguage.bengali: + return BengaliSentences(); case SupportedLanguage.english: default: return EnglishSentences(); diff --git a/lib/app/utils/language/spanish_sentences.dart b/lib/app/utils/language/spanish_sentences.dart new file mode 100644 index 00000000..38faa351 --- /dev/null +++ b/lib/app/utils/language/spanish_sentences.dart @@ -0,0 +1,262 @@ +import 'package:taskwarrior/app/utils/language/sentences.dart'; + +class SpanishSentences extends Sentences { + @override + String get helloWorld => '¡Hola, mundo!'; + @override + String get homePageTitle => 'Página de inicio'; + @override + String get homePageLastModified => 'Última modificación'; + @override + String get homePageDue => 'Vencimiento'; + @override + String get homePageTaskWarriorNotConfigured => 'TaskServer no configurado'; + @override + String get homePageSetup => 'Configuración'; + @override + String get homePageFilter => 'Filtro'; + @override + String get homePageMenu => 'Menú'; + @override + String get homePageExitApp => 'Salir de la aplicación'; + @override + String get homePageAreYouSureYouWantToExit => '¿Estás seguro de que quieres salir de la aplicación?'; + @override + String get homePageExit => 'Salir'; + @override + String get homePageCancel => 'Cancelar'; + @override + String get homePageClickOnTheBottomRightButtonToStartAddingTasks => 'Haz clic en el botón en la parte inferior derecha para comenzar a agregar tareas'; + @override + String get homePageSearchNotFound => 'No se encontraron resultados para la búsqueda'; + @override + String get settingsPageTitle => 'Página de configuración'; + @override + String get settingsPageSubtitle => 'Configura tus preferencias'; + @override + String get settingsPageMovingDataToNewDirectory => 'Moviendo datos a un nuevo directorio'; + @override + String get settingsPageSyncOnStartTitle => 'Sincronizar datos automáticamente al inicio'; + @override + String get settingsPageSyncOnStartDescription => 'Sincronizar al iniciar'; + @override + String get settingsPageEnableSyncOnTaskCreateTitle => 'Habilitar sincronización automática al crear nuevas tareas'; + @override + String get settingsPageEnableSyncOnTaskCreateDescription => 'Habilitar sincronización automática al crear nuevas tareas'; + @override + String get settingsPageHighlightTaskTitle => 'Resaltar tareas con 1 día restante'; + @override + String get settingsPageHighlightTaskDescription => 'Resaltar tareas con 1 día restante'; + @override + String get settingsPageEnable24hrFormatTitle => 'Habilitar formato de 24 horas'; + @override + String get settingsPageEnable24hrFormatDescription => 'Habilitar formato de 24 horas'; + @override + String get settingsPageSelectLanguage => 'Seleccionar idioma'; + @override + String get settingsPageToggleNativeLanguage => 'Alternar entre idiomas nativos'; + @override + String get settingsPageSelectDirectoryTitle => 'Seleccionar directorio'; + @override + String get settingsPageSelectDirectoryDescription => 'Selecciona el directorio donde se almacenan los datos de TaskWarrior\nDirectorio actual: '; + @override + String get settingsPageChangeDirectory => 'Cambiar directorio'; + @override + String get settingsPageSetToDefault => 'Restablecer a predeterminado'; + @override + String get navDrawerProfile => 'Perfil'; + @override + String get navDrawerReports => 'Informes'; + @override + String get navDrawerAbout => 'Acerca de'; + @override + String get navDrawerSettings => 'Configuración'; + @override + String get navDrawerExit => 'Salir'; + + @override + String get detailPageDescription => 'Descripción'; + @override + String get detailPageStatus => 'Estado'; + @override + String get detailPageEntry => 'Entrada'; + @override + String get detailPageModified => 'Modificado'; + @override + String get detailPageStart => 'Inicio'; + @override + String get detailPageEnd => 'Fin'; + @override + String get detailPageDue => 'Vencimiento'; + @override + String get detailPageWait => 'Esperar'; + @override + String get detailPageUntil => 'Hasta'; + @override + String get detailPagePriority => 'Prioridad'; + @override + String get detailPageProject => 'Proyecto'; + @override + String get detailPageTags => 'Etiquetas'; + @override + String get detailPageUrgency => 'Urgencia'; + @override + String get detailPageID => 'ID'; + + @override + String get filterDrawerApplyFilters => 'Aplicar filtros'; + @override + String get filterDrawerHideWaiting => 'Ocultar pendientes'; + @override + String get filterDrawerShowWaiting => 'Mostrar pendientes'; + @override + String get filterDrawerPending => 'Pendiente'; + @override + String get filterDrawerCompleted => 'Completado'; + @override + String get filterDrawerFilterTagBy => 'Filtrar por etiqueta'; + @override + String get filterDrawerAND => 'y'; + @override + String get filterDrawerOR => 'o'; + @override + String get filterDrawerSortBy => 'Ordenar por'; + @override + String get filterDrawerCreated => 'Creado'; + @override + String get filterDrawerModified => 'Modificado'; + @override + String get filterDrawerStartTime => 'Hora de inicio'; + @override + String get filterDrawerDueTill => 'Hasta vencimiento'; + @override + String get filterDrawerPriority => 'Prioridad'; + @override + String get filterDrawerProject => 'Proyecto'; + @override + String get filterDrawerTags => 'Etiquetas'; + @override + String get filterDrawerUrgency => 'Urgencia'; + @override + String get filterDrawerResetSort => 'Restablecer orden'; + @override + String get filterDrawerStatus => 'Estado'; + @override + String get reportsPageTitle => 'Informes'; + @override + String get reportsPageCompleted => 'Completado'; + @override + String get reportsPagePending => 'Pendiente'; + @override + String get reportsPageTasks => 'Tareas'; + + @override + String get reportsPageDaily => 'Diario'; + @override + String get reportsPageDailyBurnDownChart => 'Gráfico de quema diario'; + @override + String get reportsPageDailyDayMonth => 'Día - Mes'; + + @override + String get reportsPageWeekly => 'Semanal'; + @override + String get reportsPageWeeklyBurnDownChart => 'Gráfico de quema semanal'; + @override + String get reportsPageWeeklyWeeksYear => 'Semana - Año'; + + @override + String get reportsPageMonthly => 'Mensual'; + @override + String get reportsPageMonthlyBurnDownChart => 'Gráfico de quema mensual'; + @override + String get reportsPageMonthlyMonthYear => 'Mes - Año'; + + @override + String get reportsPageNoTasksFound => 'No se encontraron tareas'; + @override + String get reportsPageAddTasksToSeeReports => 'Agrega tareas para ver informes'; + + @override + String get taskchampionTileDescription => 'Cambia la sincronización de TaskWarrior al servidor de sincronización CCSync o Taskchampion'; + + @override + String get taskchampionTileTitle => 'Sincronización Taskchampion'; + + @override + String get ccsyncCredentials => 'Credenciales de CCSync'; + + @override + String get deleteTaskConfirmation => 'Eliminar tarea'; + + @override + String get deleteTaskTitle => '¿Eliminar todas las tareas?'; + + @override + String get deleteTaskWarning => 'Esta acción es irreversible y eliminará todas las tareas almacenadas localmente.'; + + @override + String get profilePageProfile => 'Perfil'; + @override + String get profilePageProfiles => 'Perfiles'; + @override + String get profilePageCurrentProfile => 'Perfil actual'; + @override + String get profilePageManageSelectedProfile => 'Gestionar perfil seleccionado'; + @override + String get profilePageRenameAlias => 'Renombrar alias'; + + @override + String get profilePageConfigureTaskserver => 'Configurar servidor de tareas'; + @override + String get profilePageExportTasks => 'Exportar tareas'; + @override + String get profilePageCopyConfigToNewProfile => 'Copiar configuración a un nuevo perfil'; + @override + String get profilePageDeleteProfile => 'Eliminar perfil'; + @override + String get profilePageAddNewProfile => 'Agregar nuevo perfil'; + + @override + String get profilePageRenameAliasDialogueBoxTitle => 'Renombrar alias'; + @override + String get profilePageRenameAliasDialogueBoxNewAlias => 'Nuevo alias'; + @override + String get profilePageRenameAliasDialogueBoxCancel => 'Cancelar'; + @override + String get profilePageRenameAliasDialogueBoxSubmit => 'Enviar'; + + @override + String get profilePageExportTasksDialogueTitle => 'Formato de exportación'; + @override + String get profilePageExportTasksDialogueSubtitle => 'Selecciona el formato de exportación'; + + @override + String get manageTaskServerPageConfigureTaskserver => 'Configurar servidor de tareas'; + @override + String get manageTaskServerPageConfigureTASKRC => 'Configurar TASKRC'; + @override + String get manageTaskServerPageSetTaskRC => 'Establecer TaskRC'; + @override + String get manageTaskServerPageConfigureYourCertificate => 'Configura tu certificado'; + @override + String get manageTaskServerPageSelectCertificate => 'Seleccionar certificado'; + @override + String get manageTaskServerPageConfigureTaskserverKey => 'Configurar clave del servidor de tareas'; + @override + String get manageTaskServerPageSelectKey => 'Seleccionar clave'; + @override + String get manageTaskServerPageConfigureServerCertificate => 'Configurar certificado del servidor'; + @override + String get manageTaskServerPageTaskRCFileIsVerified => 'El archivo Task RC ha sido verificado'; + + @override + String get manageTaskServerPageConfigureTaskRCDialogueBoxTitle => 'Configurar TaskRC'; + @override + String get manageTaskServerPageConfigureTaskRCDialogueBoxSubtitle => 'Pega el contenido de TaskRC o selecciona un archivo taskrc'; + @override + String get manageTaskServerPageConfigureTaskRCDialogueBoxInputFieldText => 'Pega tu contenido TaskRC aquí'; + @override + String get manageTaskServerPageConfigureTaskRCDialogueBoxOr => 'o'; + @override + String get manageTaskServerPageConfigureTaskRCDialogueBoxSelectTaskRC => 'Seleccionar archivo TaskRC'; +} diff --git a/lib/app/utils/language/supported_language.dart b/lib/app/utils/language/supported_language.dart index 8ad0a877..1ec5e84a 100644 --- a/lib/app/utils/language/supported_language.dart +++ b/lib/app/utils/language/supported_language.dart @@ -2,8 +2,12 @@ enum SupportedLanguage { english, hindi, marathi, + french, + spanish, + bengali, } + extension SupportedLanguageExtension on SupportedLanguage { String get languageCode { switch (this) { @@ -13,6 +17,12 @@ extension SupportedLanguageExtension on SupportedLanguage { return 'hi'; case SupportedLanguage.marathi: return 'mr'; + case SupportedLanguage.french: + return 'fr'; + case SupportedLanguage.spanish: + return 'es'; + case SupportedLanguage.bengali: + return 'bn'; default: return ''; } @@ -26,6 +36,12 @@ extension SupportedLanguageExtension on SupportedLanguage { return SupportedLanguage.hindi; case 'mr': return SupportedLanguage.marathi; + case 'fr': + return SupportedLanguage.french; + case 'es': + return SupportedLanguage.spanish; + case 'bn': + return SupportedLanguage.bengali; default: return null; } diff --git a/macos/Podfile.lock b/macos/Podfile.lock index 1d0b75df..5d1b75ba 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -22,6 +22,9 @@ PODS: - shared_preferences_foundation (0.0.1): - Flutter - FlutterMacOS + - sqflite (0.0.3): + - Flutter + - FlutterMacOS - url_launcher_macos (0.0.1): - FlutterMacOS @@ -36,6 +39,7 @@ DEPENDENCIES: - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`) - permission_handler_apple (from `Flutter/ephemeral/.symlinks/plugins/permission_handler_apple/macos`) - shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`) + - sqflite (from `Flutter/ephemeral/.symlinks/plugins/sqflite/darwin`) - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`) SPEC REPOS: @@ -63,6 +67,8 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/permission_handler_apple/macos shared_preferences_foundation: :path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin + sqflite: + :path: Flutter/ephemeral/.symlinks/plugins/sqflite/darwin url_launcher_macos: :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos @@ -78,6 +84,7 @@ SPEC CHECKSUMS: permission_handler_apple: fa7012038b5aa4ed34436aa5aa4e943f94b32417 ReachabilitySwift: 7f151ff156cea1481a8411701195ac6a984f4979 shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126 + sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec url_launcher_macos: d2691c7dd33ed713bf3544850a623080ec693d95 PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367 From 64ecda6e0bbe88544ac17e3c075eba65f6233507 Mon Sep 17 00:00:00 2001 From: Chinmay Date: Fri, 30 Aug 2024 01:14:09 +0530 Subject: [PATCH 4/5] About page translation added --- .../about/controllers/about_controller.dart | 16 ++- .../about/views/about_page_app_bar.dart | 10 +- .../modules/about/views/about_page_body.dart | 14 ++- lib/app/modules/about/views/about_view.dart | 6 +- .../home/views/add_task_bottom_sheet.dart | 62 +++++++-- lib/app/utils/language/bengali_sentences.dart | 118 +++++++++++++----- lib/app/utils/language/english_sentences.dart | 33 +++++ lib/app/utils/language/french_sentences.dart | 34 +++++ lib/app/utils/language/hindi_sentences.dart | 34 +++++ lib/app/utils/language/marathi_sentences.dart | 34 +++++ lib/app/utils/language/sentence_manager.dart | 6 +- lib/app/utils/language/sentences.dart | 17 +++ lib/app/utils/language/spanish_sentences.dart | 117 ++++++++++++----- 13 files changed, 417 insertions(+), 84 deletions(-) diff --git a/lib/app/modules/about/controllers/about_controller.dart b/lib/app/modules/about/controllers/about_controller.dart index 3e35f687..119d4163 100644 --- a/lib/app/modules/about/controllers/about_controller.dart +++ b/lib/app/modules/about/controllers/about_controller.dart @@ -1,11 +1,17 @@ import 'package:get/get.dart'; +import 'package:taskwarrior/app/utils/language/supported_language.dart'; +import 'package:taskwarrior/app/utils/theme/app_settings.dart'; class AboutController extends GetxController { - //TODO: Implement AboutController + final Rx selectedLanguage = SupportedLanguage.english.obs; - final count = 0.obs; + @override + void onInit() { + super.onInit(); + initLanguage(); + } - - - void increment() => count.value++; + void initLanguage() { + selectedLanguage.value = AppSettings.selectedLanguage; + } } diff --git a/lib/app/modules/about/views/about_page_app_bar.dart b/lib/app/modules/about/views/about_page_app_bar.dart index 390fa2e4..9667860a 100644 --- a/lib/app/modules/about/views/about_page_app_bar.dart +++ b/lib/app/modules/about/views/about_page_app_bar.dart @@ -1,11 +1,14 @@ import 'package:flutter/material.dart'; +import 'package:taskwarrior/app/modules/about/controllers/about_controller.dart'; import 'package:taskwarrior/app/utils/constants/taskwarrior_colors.dart'; import 'package:taskwarrior/app/utils/gen/fonts.gen.dart'; +import 'package:taskwarrior/app/utils/language/sentence_manager.dart'; class AboutPageAppBar extends StatelessWidget implements PreferredSizeWidget { - const AboutPageAppBar({super.key}); + final AboutController aboutController; + const AboutPageAppBar({required this.aboutController,super.key}); @override Widget build(BuildContext context) { @@ -13,7 +16,10 @@ class AboutPageAppBar extends StatelessWidget implements PreferredSizeWidget { centerTitle: true, backgroundColor: TaskWarriorColors.kprimaryBackgroundColor, title: Text( - 'About', + SentenceManager( + currentLanguage: aboutController.selectedLanguage.value) + .sentences + .aboutPageAppBarTitle, // style: GoogleFonts.poppins(color: TaskWarriorColors.white), style: TextStyle( fontFamily: FontFamily.poppins, diff --git a/lib/app/modules/about/views/about_page_body.dart b/lib/app/modules/about/views/about_page_body.dart index e6e42368..d2497cff 100644 --- a/lib/app/modules/about/views/about_page_body.dart +++ b/lib/app/modules/about/views/about_page_body.dart @@ -3,8 +3,10 @@ import 'package:flutter_svg/flutter_svg.dart'; import 'package:get/get.dart'; import 'package:package_info_plus/package_info_plus.dart'; +import 'package:taskwarrior/app/modules/about/controllers/about_controller.dart'; import 'package:taskwarrior/app/utils/gen/assets.gen.dart'; import 'package:taskwarrior/app/utils/gen/fonts.gen.dart'; +import 'package:taskwarrior/app/utils/language/sentence_manager.dart'; import 'package:url_launcher/url_launcher.dart'; import 'package:taskwarrior/app/utils/constants/taskwarrior_colors.dart'; @@ -12,12 +14,15 @@ import 'package:taskwarrior/app/utils/constants/taskwarrior_fonts.dart'; import 'package:taskwarrior/app/utils/theme/app_settings.dart'; class AboutPageBody extends StatelessWidget { - const AboutPageBody({super.key}); + final AboutController aboutController; + const AboutPageBody({required this.aboutController, super.key}); @override Widget build(BuildContext context) { String introduction = - "This project aims to build an app for Taskwarrior. It is your task management app across all platforms. It helps you manage your tasks and filter them as per your needs."; + SentenceManager(currentLanguage: aboutController.selectedLanguage.value) + .sentences + .aboutPageProjectDescription; return Padding( padding: EdgeInsets.only( @@ -247,7 +252,10 @@ class AboutPageBody extends StatelessWidget { height: Get.height * 0.04, ), Text( - "Eager to enhance this project? Visit our GitHub repository.", + SentenceManager( + currentLanguage: aboutController.selectedLanguage.value) + .sentences + .aboutPageGitHubLink, textAlign: TextAlign.center, style: TextStyle( fontFamily: FontFamily.poppins, diff --git a/lib/app/modules/about/views/about_view.dart b/lib/app/modules/about/views/about_view.dart index b1203a44..a699ebac 100644 --- a/lib/app/modules/about/views/about_view.dart +++ b/lib/app/modules/about/views/about_view.dart @@ -14,11 +14,13 @@ class AboutView extends GetView { @override Widget build(BuildContext context) { return Scaffold( - appBar: const AboutPageAppBar(), + appBar: AboutPageAppBar(aboutController: controller,), backgroundColor: AppSettings.isDarkMode ? TaskWarriorColors.kprimaryBackgroundColor : TaskWarriorColors.white, - body: const AboutPageBody(), + body: AboutPageBody( + aboutController: controller, + ), ); } } diff --git a/lib/app/modules/home/views/add_task_bottom_sheet.dart b/lib/app/modules/home/views/add_task_bottom_sheet.dart index 13b598b1..678ff436 100644 --- a/lib/app/modules/home/views/add_task_bottom_sheet.dart +++ b/lib/app/modules/home/views/add_task_bottom_sheet.dart @@ -11,6 +11,7 @@ import 'package:taskwarrior/app/modules/home/controllers/home_controller.dart'; import 'package:taskwarrior/app/modules/home/controllers/widget.controller.dart'; import 'package:taskwarrior/app/utils/constants/taskwarrior_colors.dart'; import 'package:taskwarrior/app/utils/constants/taskwarrior_fonts.dart'; +import 'package:taskwarrior/app/utils/language/sentence_manager.dart'; import 'package:taskwarrior/app/utils/taskfunctions/taskparser.dart'; import 'package:taskwarrior/app/utils/theme/app_settings.dart'; @@ -36,7 +37,10 @@ class AddTaskBottomSheet extends StatelessWidget { : TaskWarriorColors.kLightDialogBackGroundColor, title: Center( child: Text( - 'Add Task', + SentenceManager( + currentLanguage: homeController.selectedLanguage.value) + .sentences + .addTaskTitle, style: TextStyle( color: AppSettings.isDarkMode ? TaskWarriorColors.white @@ -94,7 +98,11 @@ class AddTaskBottomSheet extends StatelessWidget { : TaskWarriorColors.black, ), decoration: InputDecoration( - hintText: 'Add tags', + hintText: SentenceManager( + currentLanguage: + homeController.selectedLanguage.value) + .sentences + .addTaskAddTags, hintStyle: TextStyle( color: AppSettings.isDarkMode ? TaskWarriorColors.white @@ -106,12 +114,11 @@ class AddTaskBottomSheet extends StatelessWidget { }, ), ), - // Replace ElevatedButton with IconButton IconButton( onPressed: () { addTag(homeController.tagcontroller.text.trim()); }, - icon: const Icon(Icons.add), // Plus icon + icon: const Icon(Icons.add), ), ], ), @@ -139,7 +146,10 @@ class AddTaskBottomSheet extends StatelessWidget { : TaskWarriorColors.black, ), decoration: InputDecoration( - hintText: 'Enter Task', + hintText: SentenceManager( + currentLanguage: homeController.selectedLanguage.value) + .sentences + .addTaskEnterTask, hintStyle: TextStyle( color: AppSettings.isDarkMode ? TaskWarriorColors.white @@ -147,14 +157,20 @@ class AddTaskBottomSheet extends StatelessWidget { ), ), validator: (name) => name != null && name.isEmpty - ? 'You cannot leave this field empty!' + ? SentenceManager( + currentLanguage: homeController.selectedLanguage.value) + .sentences + .addTaskFieldCannotBeEmpty : null, ); Widget buildDueDate(BuildContext context) => Row( children: [ Text( - "Due : ", + SentenceManager( + currentLanguage: homeController.selectedLanguage.value) + .sentences + .addTaskDue, style: GoogleFonts.poppins( color: AppSettings.isDarkMode ? TaskWarriorColors.white @@ -178,7 +194,11 @@ class AddTaskBottomSheet extends StatelessWidget { controller: TextEditingController(text: homeController.dueString.value), decoration: InputDecoration( - hintText: 'Select due date', + hintText: SentenceManager( + currentLanguage: + homeController.selectedLanguage.value) + .sentences + .addTaskTitle, hintStyle: homeController.inThePast.value ? TextStyle(color: TaskWarriorColors.red) : TextStyle( @@ -291,7 +311,11 @@ class AddTaskBottomSheet extends StatelessWidget { ScaffoldMessenger.of(context).showSnackBar(SnackBar( content: Text( - "The selected time is in the past.", + SentenceManager( + currentLanguage: + homeController.selectedLanguage.value) + .sentences + .addTaskTimeInPast, style: TextStyle( color: AppSettings.isDarkMode ? TaskWarriorColors.kprimaryTextColor @@ -324,7 +348,10 @@ class AddTaskBottomSheet extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.center, children: [ Text( - 'Priority : ', + "${SentenceManager( + currentLanguage: homeController.selectedLanguage.value) + .sentences + .addTaskPriority} :", style: GoogleFonts.poppins( fontWeight: TaskWarriorFonts.bold, color: AppSettings.isDarkMode @@ -372,7 +399,10 @@ class AddTaskBottomSheet extends StatelessWidget { BuildContext context, HomeController homeController) => TextButton( child: Text( - 'Cancel', + SentenceManager( + currentLanguage: homeController.selectedLanguage.value) + .sentences + .addTaskCancel, style: TextStyle( color: AppSettings.isDarkMode ? TaskWarriorColors.white @@ -393,7 +423,10 @@ class AddTaskBottomSheet extends StatelessWidget { Widget buildAddButton(BuildContext context) { return TextButton( child: Text( - "Add", + SentenceManager( + currentLanguage: homeController.selectedLanguage.value) + .sentences + .addTaskAdd, style: TextStyle( color: AppSettings.isDarkMode ? TaskWarriorColors.white @@ -437,7 +470,10 @@ class AddTaskBottomSheet extends StatelessWidget { ScaffoldMessenger.of(context).showSnackBar(SnackBar( content: Text( - 'Task Added Successfully. Tap to Edit', + SentenceManager( + currentLanguage: homeController.selectedLanguage.value) + .sentences + .addTaskTaskAddedSuccessfully, style: TextStyle( color: AppSettings.isDarkMode ? TaskWarriorColors.kprimaryTextColor diff --git a/lib/app/utils/language/bengali_sentences.dart b/lib/app/utils/language/bengali_sentences.dart index 382a4297..3df08fa5 100644 --- a/lib/app/utils/language/bengali_sentences.dart +++ b/lib/app/utils/language/bengali_sentences.dart @@ -20,13 +20,15 @@ class BengaliSentences extends Sentences { @override String get homePageExitApp => 'অ্যাপ বন্ধ করুন'; @override - String get homePageAreYouSureYouWantToExit => 'আপনি কি সত্যিই অ্যাপ বন্ধ করতে চান?'; + String get homePageAreYouSureYouWantToExit => + 'আপনি কি সত্যিই অ্যাপ বন্ধ করতে চান?'; @override String get homePageExit => 'বাহির যান'; @override String get homePageCancel => 'বাতিল করুন'; @override - String get homePageClickOnTheBottomRightButtonToStartAddingTasks => 'টাস্ক যোগ করা শুরু করতে নিচে ডানদিকে বোতামে ক্লিক করুন'; + String get homePageClickOnTheBottomRightButtonToStartAddingTasks => + 'টাস্ক যোগ করা শুরু করতে নিচে ডানদিকে বোতামে ক্লিক করুন'; @override String get homePageSearchNotFound => 'অনুসন্ধানে কিছু পাওয়া যায়নি'; @override @@ -34,31 +36,41 @@ class BengaliSentences extends Sentences { @override String get settingsPageSubtitle => 'আপনার পছন্দ সেট করুন'; @override - String get settingsPageMovingDataToNewDirectory => 'নতুন ডিরেক্টরিতে ডেটা স্থানান্তর করা হচ্ছে'; + String get settingsPageMovingDataToNewDirectory => + 'নতুন ডিরেক্টরিতে ডেটা স্থানান্তর করা হচ্ছে'; @override - String get settingsPageSyncOnStartTitle => 'অ্যাপ শুরুতে ডেটা স্বয়ংক্রিয়ভাবে সিঙ্ক করুন'; + String get settingsPageSyncOnStartTitle => + 'অ্যাপ শুরুতে ডেটা স্বয়ংক্রিয়ভাবে সিঙ্ক করুন'; @override String get settingsPageSyncOnStartDescription => 'শুরুতে সিঙ্ক করুন'; @override - String get settingsPageEnableSyncOnTaskCreateTitle => 'নতুন টাস্ক তৈরি করার সময় স্বয়ংক্রিয় সিঙ্কিং সক্ষম করুন'; + String get settingsPageEnableSyncOnTaskCreateTitle => + 'নতুন টাস্ক তৈরি করার সময় স্বয়ংক্রিয় সিঙ্কিং সক্ষম করুন'; @override - String get settingsPageEnableSyncOnTaskCreateDescription => 'নতুন টাস্ক তৈরি করার সময় স্বয়ংক্রিয় সিঙ্কিং সক্ষম করুন'; + String get settingsPageEnableSyncOnTaskCreateDescription => + 'নতুন টাস্ক তৈরি করার সময় স্বয়ংক্রিয় সিঙ্কিং সক্ষম করুন'; @override - String get settingsPageHighlightTaskTitle => 'শুধু 1 দিন বাকি থাকলে টাস্ক হাইলাইট করুন'; + String get settingsPageHighlightTaskTitle => + 'শুধু 1 দিন বাকি থাকলে টাস্ক হাইলাইট করুন'; @override - String get settingsPageHighlightTaskDescription => 'শুধু 1 দিন বাকি থাকলে টাস্ক হাইলাইট করুন'; + String get settingsPageHighlightTaskDescription => + 'শুধু 1 দিন বাকি থাকলে টাস্ক হাইলাইট করুন'; @override - String get settingsPageEnable24hrFormatTitle => '24 ঘণ্টার ফর্ম্যাট সক্রিয় করুন'; + String get settingsPageEnable24hrFormatTitle => + '24 ঘণ্টার ফর্ম্যাট সক্রিয় করুন'; @override - String get settingsPageEnable24hrFormatDescription => '24 ঘণ্টার ফর্ম্যাট সক্রিয় করুন'; + String get settingsPageEnable24hrFormatDescription => + '24 ঘণ্টার ফর্ম্যাট সক্রিয় করুন'; @override String get settingsPageSelectLanguage => 'ভাষা নির্বাচন করুন'; @override - String get settingsPageToggleNativeLanguage => 'আপনার মাতৃভাষার মধ্যে টগল করুন'; + String get settingsPageToggleNativeLanguage => + 'আপনার মাতৃভাষার মধ্যে টগল করুন'; @override String get settingsPageSelectDirectoryTitle => 'ডিরেক্টরি নির্বাচন করুন'; @override - String get settingsPageSelectDirectoryDescription => 'টাস্কওয়ারিয়র ডেটা যেখানে সংরক্ষিত হয় সেই ডিরেক্টরি নির্বাচন করুন\nবর্তমান ডিরেক্টরি: '; + String get settingsPageSelectDirectoryDescription => + 'টাস্কওয়ারিয়র ডেটা যেখানে সংরক্ষিত হয় সেই ডিরেক্টরি নির্বাচন করুন\nবর্তমান ডিরেক্টরি: '; @override String get settingsPageChangeDirectory => 'ডিরেক্টরি পরিবর্তন করুন'; @override @@ -177,7 +189,8 @@ class BengaliSentences extends Sentences { String get reportsPageAddTasksToSeeReports => 'রিপোর্ট দেখতে টাস্ক যোগ করুন'; @override - String get taskchampionTileDescription => 'TaskWarrior সিঙ্কিং CCSync বা Taskchampion সিঙ্ক সার্ভারে পরিবর্তন করুন'; + String get taskchampionTileDescription => + 'TaskWarrior সিঙ্কিং CCSync বা Taskchampion সিঙ্ক সার্ভারে পরিবর্তন করুন'; @override String get taskchampionTileTitle => 'Taskchampion সিঙ্ক'; @@ -192,7 +205,8 @@ class BengaliSentences extends Sentences { String get deleteTaskTitle => 'সব টাস্ক মুছুন?'; @override - String get deleteTaskWarning => 'এই পদক্ষেপটি অপরিবর্তনীয় এবং সমস্ত স্থানীয়ভাবে সংরক্ষিত টাস্ক মুছে ফেলবে।'; + String get deleteTaskWarning => + 'এই পদক্ষেপটি অপরিবর্তনীয় এবং সমস্ত স্থানীয়ভাবে সংরক্ষিত টাস্ক মুছে ফেলবে।'; @override String get profilePageProfile => 'প্রোফাইল'; @@ -201,7 +215,8 @@ class BengaliSentences extends Sentences { @override String get profilePageCurrentProfile => 'বর্তমান প্রোফাইল'; @override - String get profilePageManageSelectedProfile => 'নির্বাচিত প্রোফাইল পরিচালনা করুন'; + String get profilePageManageSelectedProfile => + 'নির্বাচিত প্রোফাইল পরিচালনা করুন'; @override String get profilePageRenameAlias => 'অ্যালিয়াস পরিবর্তন করুন'; @@ -210,14 +225,16 @@ class BengaliSentences extends Sentences { @override String get profilePageExportTasks => 'টাস্ক রপ্তানী করুন'; @override - String get profilePageCopyConfigToNewProfile => 'নতুন প্রোফাইলে কনফিগারেশন কপি করুন'; + String get profilePageCopyConfigToNewProfile => + 'নতুন প্রোফাইলে কনফিগারেশন কপি করুন'; @override String get profilePageDeleteProfile => 'প্রোফাইল মুছুন'; @override String get profilePageAddNewProfile => 'নতুন প্রোফাইল যোগ করুন'; @override - String get profilePageRenameAliasDialogueBoxTitle => 'অ্যালিয়াস পরিবর্তন করুন'; + String get profilePageRenameAliasDialogueBoxTitle => + 'অ্যালিয়াস পরিবর্তন করুন'; @override String get profilePageRenameAliasDialogueBoxNewAlias => 'নতুন অ্যালিয়াস'; @override @@ -228,35 +245,80 @@ class BengaliSentences extends Sentences { @override String get profilePageExportTasksDialogueTitle => 'রপ্তানি ফরম্যাট'; @override - String get profilePageExportTasksDialogueSubtitle => 'রপ্তানি ফরম্যাট নির্বাচন করুন'; + String get profilePageExportTasksDialogueSubtitle => + 'রপ্তানি ফরম্যাট নির্বাচন করুন'; @override - String get manageTaskServerPageConfigureTaskserver => 'টাস্ক সার্ভার কনফিগার করুন'; + String get manageTaskServerPageConfigureTaskserver => + 'টাস্ক সার্ভার কনফিগার করুন'; @override String get manageTaskServerPageConfigureTASKRC => 'TASKRC কনফিগার করুন'; @override String get manageTaskServerPageSetTaskRC => 'TaskRC সেট করুন'; @override - String get manageTaskServerPageConfigureYourCertificate => 'আপনার সার্টিফিকেট কনফিগার করুন'; + String get manageTaskServerPageConfigureYourCertificate => + 'আপনার সার্টিফিকেট কনফিগার করুন'; @override - String get manageTaskServerPageSelectCertificate => 'সার্টিফিকেট নির্বাচন করুন'; + String get manageTaskServerPageSelectCertificate => + 'সার্টিফিকেট নির্বাচন করুন'; @override - String get manageTaskServerPageConfigureTaskserverKey => 'টাস্ক সার্ভার কনফিগার করুন কী'; + String get manageTaskServerPageConfigureTaskserverKey => + 'টাস্ক সার্ভার কনফিগার করুন কী'; @override String get manageTaskServerPageSelectKey => 'কী নির্বাচন করুন'; @override - String get manageTaskServerPageConfigureServerCertificate => 'সার্ভার সার্টিফিকেট কনফিগার করুন'; + String get manageTaskServerPageConfigureServerCertificate => + 'সার্ভার সার্টিফিকেট কনফিগার করুন'; @override - String get manageTaskServerPageTaskRCFileIsVerified => 'Task RC ফাইল যাচাই করা হয়েছে'; + String get manageTaskServerPageTaskRCFileIsVerified => + 'Task RC ফাইল যাচাই করা হয়েছে'; @override - String get manageTaskServerPageConfigureTaskRCDialogueBoxTitle => 'TaskRC কনফিগার করুন'; + String get manageTaskServerPageConfigureTaskRCDialogueBoxTitle => + 'TaskRC কনফিগার করুন'; @override - String get manageTaskServerPageConfigureTaskRCDialogueBoxSubtitle => 'TaskRC সামগ্রী পেস্ট করুন বা taskrc ফাইল নির্বাচন করুন'; + String get manageTaskServerPageConfigureTaskRCDialogueBoxSubtitle => + 'TaskRC সামগ্রী পেস্ট করুন বা taskrc ফাইল নির্বাচন করুন'; @override - String get manageTaskServerPageConfigureTaskRCDialogueBoxInputFieldText => 'এখানে আপনার TaskRC সামগ্রী পেস্ট করুন'; + String get manageTaskServerPageConfigureTaskRCDialogueBoxInputFieldText => + 'এখানে আপনার TaskRC সামগ্রী পেস্ট করুন'; @override String get manageTaskServerPageConfigureTaskRCDialogueBoxOr => 'অথবা'; @override - String get manageTaskServerPageConfigureTaskRCDialogueBoxSelectTaskRC => 'TaskRC ফাইল নির্বাচন করুন'; + String get manageTaskServerPageConfigureTaskRCDialogueBoxSelectTaskRC => + 'TaskRC ফাইল নির্বাচন করুন'; + + @override + String get addTaskTitle => "কার্য যোগ করুন"; + @override + String get addTaskEnterTask => "কার্য লিখুন"; + @override + String get addTaskDue => "শেষ সময়"; + @override + String get addTaskSelectDueDate => "শেষ সময় নির্বাচন করুন"; + @override + String get addTaskPriority => "অগ্রাধিকার"; + @override + String get addTaskAddTags => "ট্যাগ যোগ করুন"; + @override + String get addTaskCancel => "বাতিল করুন"; + @override + String get addTaskAdd => "যোগ করুন"; + @override + String get addTaskTimeInPast => "নির্বাচিত সময় অতীতে রয়েছে।"; + @override + String get addTaskFieldCannotBeEmpty => + "আপনি এই ক্ষেত্রটি খালি ছেড়ে দিতে পারবেন না!"; + @override + String get addTaskTaskAddedSuccessfully => + "কর্ম সফলভাবে যোগ করা হয়েছে। সম্পাদনার জন্য ট্যাপ করুন"; + + @override + String get aboutPageGitHubLink => + "এই প্রকল্পটিকে উন্নত করতে আগ্রহী? আমাদের GitHub রিপোজিটরিতে যান।"; + @override + String get aboutPageProjectDescription => + "এই প্রকল্পের লক্ষ্য Taskwarrior-এর জন্য একটি অ্যাপ তৈরি করা। এটি আপনার সকল প্ল্যাটফর্মে একটি টাস্ক ম্যানেজমেন্ট অ্যাপ। এটি আপনাকে আপনার কাজগুলি পরিচালনা করতে এবং আপনার প্রয়োজন অনুসারে সেগুলি ফিল্টার করতে সাহায্য করে।"; + @override + String get aboutPageAppBarTitle => "সম্পর্কিত"; } diff --git a/lib/app/utils/language/english_sentences.dart b/lib/app/utils/language/english_sentences.dart index b145f6b4..4b930de0 100644 --- a/lib/app/utils/language/english_sentences.dart +++ b/lib/app/utils/language/english_sentences.dart @@ -281,4 +281,37 @@ class EnglishSentences extends Sentences { @override String get manageTaskServerPageTaskRCFileIsVerified => 'Task RC File Is Verified'; + + @override + String get addTaskTitle => "Add Task"; + @override + String get addTaskEnterTask => "Enter Task"; + @override + String get addTaskDue => "Due"; + @override + String get addTaskSelectDueDate => "Select Due Date"; + @override + String get addTaskPriority => "Priority"; + @override + String get addTaskAddTags => "Add Tags"; + @override + String get addTaskCancel => "Cancel"; + @override + String get addTaskAdd => "Add"; + @override + String get addTaskTimeInPast => "The selected time is in the past."; + @override + String get addTaskFieldCannotBeEmpty => "You cannot leave this field empty!"; + @override + String get addTaskTaskAddedSuccessfully => + "Task Added Successfully. Tap to Edit"; + + @override + String get aboutPageGitHubLink => + "Eager to enhance this project? Visit our GitHub repository."; + @override + String get aboutPageProjectDescription => + "This project aims to build an app for Taskwarrior. It is your task management app across all platforms. It helps you manage your tasks and filter them as per your needs."; + @override + String get aboutPageAppBarTitle => "About"; } diff --git a/lib/app/utils/language/french_sentences.dart b/lib/app/utils/language/french_sentences.dart index be6273aa..e54a12cd 100644 --- a/lib/app/utils/language/french_sentences.dart +++ b/lib/app/utils/language/french_sentences.dart @@ -288,4 +288,38 @@ class FrenchSentences extends Sentences { @override String get manageTaskServerPageConfigureTaskRCDialogueBoxSelectTaskRC => 'Sélectionner un fichier TaskRC'; + + @override + String get addTaskTitle => "Ajouter une tâche"; + @override + String get addTaskEnterTask => "Entrer une tâche"; + @override + String get addTaskDue => "Échéance"; + @override + String get addTaskSelectDueDate => "Sélectionner la date d'échéance"; + @override + String get addTaskPriority => "Priorité"; + @override + String get addTaskAddTags => "Ajouter des tags"; + @override + String get addTaskCancel => "Annuler"; + @override + String get addTaskAdd => "Ajouter"; + @override + String get addTaskTimeInPast => "L'heure sélectionnée est dans le passé."; + @override + String get addTaskFieldCannotBeEmpty => + "Vous ne pouvez pas laisser ce champ vide !"; + @override + String get addTaskTaskAddedSuccessfully => + "Tâche ajoutée avec succès. Appuyez pour éditer"; + + @override + String get aboutPageGitHubLink => + "Enthousiaste à l'idée d'améliorer ce projet ? Visitez notre dépôt GitHub."; + @override + String get aboutPageProjectDescription => + "Ce projet vise à créer une application pour Taskwarrior. C'est votre application de gestion des tâches sur toutes les plateformes. Elle vous aide à gérer vos tâches et à les filtrer selon vos besoins."; + @override + String get aboutPageAppBarTitle => "À propos"; } diff --git a/lib/app/utils/language/hindi_sentences.dart b/lib/app/utils/language/hindi_sentences.dart index b959254b..034f3727 100644 --- a/lib/app/utils/language/hindi_sentences.dart +++ b/lib/app/utils/language/hindi_sentences.dart @@ -285,4 +285,38 @@ class HindiSentences extends Sentences { @override String get manageTaskServerPageConfigureTaskRCDialogueBoxSelectTaskRC => 'TaskRC फ़ाइल चुनें'; + + @override + String get addTaskTitle => "कार्य जोड़ें"; + @override + String get addTaskEnterTask => "कार्य दर्ज करें"; + @override + String get addTaskDue => "देय"; + @override + String get addTaskSelectDueDate => "नियत तिथि चुनें"; + @override + String get addTaskPriority => "प्राथमिकता"; + @override + String get addTaskAddTags => "टैग जोड़ें"; + @override + String get addTaskCancel => "रद्द करें"; + @override + String get addTaskAdd => "जोड़ें"; + @override + String get addTaskTimeInPast => "चुनी गई समय अतीत में है।"; + @override + String get addTaskFieldCannotBeEmpty => + "आप इस फ़ील्ड को खाली नहीं छोड़ सकते!"; + @override + String get addTaskTaskAddedSuccessfully => + "कार्य सफलतापूर्वक जोड़ा गया। संपादित करने के लिए टैप करें"; + + @override + String get aboutPageGitHubLink => + "इस परियोजना को बढ़ाने के लिए उत्सुक हैं? हमारे GitHub रिपॉज़िटरी पर जाएं।"; + @override + String get aboutPageProjectDescription => + "यह परियोजना Taskwarrior के लिए एक ऐप बनाने का लक्ष्य रखती है। यह आपके सभी प्लेटफार्मों पर कार्य प्रबंधन ऐप है। यह आपको अपने कार्यों को प्रबंधित करने और उन्हें अपनी आवश्यकताओं के अनुसार छानने में मदद करता है।"; + @override + String get aboutPageAppBarTitle => "के बारे में"; } diff --git a/lib/app/utils/language/marathi_sentences.dart b/lib/app/utils/language/marathi_sentences.dart index 50b81c89..f5999fd7 100644 --- a/lib/app/utils/language/marathi_sentences.dart +++ b/lib/app/utils/language/marathi_sentences.dart @@ -284,4 +284,38 @@ class MarathiSentences extends Sentences { @override String get manageTaskServerPageConfigureTaskRCDialogueBoxSelectTaskRC => 'TaskRC फाइल निवडा'; + + @override + String get addTaskTitle => "काम जोडा"; + @override + String get addTaskEnterTask => "काम प्रविष्ट करा"; + @override + String get addTaskDue => "अखेर"; + @override + String get addTaskSelectDueDate => "अखेरची तारीख निवडा"; + @override + String get addTaskPriority => "प्राथमिकता"; + @override + String get addTaskAddTags => "टॅग जोडा"; + @override + String get addTaskCancel => "रद्द करा"; + @override + String get addTaskAdd => "जोडा"; + @override + String get addTaskTimeInPast => "निवडलेला वेळ भूतकाळात आहे."; + @override + String get addTaskFieldCannotBeEmpty => + "तुम्ही हा फील्ड रिकामा सोडू शकत नाही!"; + @override + String get addTaskTaskAddedSuccessfully => + "काम यशस्वीपणे जोडले गेले. संपादित करण्यासाठी टॅप करा"; + + @override + String get aboutPageGitHubLink => + "या प्रकल्पाला सुधारण्यासाठी उत्सुक आहात का? आमच्या GitHub रिपॉझिटरीला भेट द्या."; + @override + String get aboutPageProjectDescription => + "या प्रकल्पाचे उद्दिष्ट Taskwarrior साठी एक अॅप तयार करणे आहे. हे आपल्या सर्व प्लॅटफॉर्मवरील कार्य व्यवस्थापन अॅप आहे. हे आपल्याला आपल्या कार्यांचे व्यवस्थापन करण्यात आणि त्यांना आपल्या गरजेनुसार फिल्टर करण्यात मदत करते."; + @override + String get aboutPageAppBarTitle => "विषयक"; } diff --git a/lib/app/utils/language/sentence_manager.dart b/lib/app/utils/language/sentence_manager.dart index f651bcb4..4a8a10a3 100644 --- a/lib/app/utils/language/sentence_manager.dart +++ b/lib/app/utils/language/sentence_manager.dart @@ -1,9 +1,9 @@ import 'package:taskwarrior/app/utils/language/english_sentences.dart'; import 'package:taskwarrior/app/utils/language/hindi_sentences.dart'; import 'package:taskwarrior/app/utils/language/marathi_sentences.dart'; -import 'package:taskwarrior/app/utils/language/french_sentences.dart'; // Import for French -import 'package:taskwarrior/app/utils/language/spanish_sentences.dart'; // Import for Spanish -import 'package:taskwarrior/app/utils/language/bengali_sentences.dart'; // Import for Bengali +import 'package:taskwarrior/app/utils/language/french_sentences.dart'; +import 'package:taskwarrior/app/utils/language/spanish_sentences.dart'; +import 'package:taskwarrior/app/utils/language/bengali_sentences.dart'; import 'package:taskwarrior/app/utils/language/sentences.dart'; import 'package:taskwarrior/app/utils/language/supported_language.dart'; diff --git a/lib/app/utils/language/sentences.dart b/lib/app/utils/language/sentences.dart index dee2b8a2..18f58d6f 100644 --- a/lib/app/utils/language/sentences.dart +++ b/lib/app/utils/language/sentences.dart @@ -141,4 +141,21 @@ abstract class Sentences { String get manageTaskServerPageConfigureTaskRCDialogueBoxInputFieldText; String get manageTaskServerPageConfigureTaskRCDialogueBoxOr; String get manageTaskServerPageConfigureTaskRCDialogueBoxSelectTaskRC; + + String get addTaskTitle; + String get addTaskEnterTask; + String get addTaskDue; + String get addTaskSelectDueDate; + String get addTaskPriority; + String get addTaskAddTags; + String get addTaskCancel; + String get addTaskAdd; + String get addTaskTimeInPast; + String get addTaskFieldCannotBeEmpty; + String get addTaskTaskAddedSuccessfully; + + String get aboutPageGitHubLink; + String get aboutPageProjectDescription; + String get aboutPageAppBarTitle; + } diff --git a/lib/app/utils/language/spanish_sentences.dart b/lib/app/utils/language/spanish_sentences.dart index 38faa351..00b37ca1 100644 --- a/lib/app/utils/language/spanish_sentences.dart +++ b/lib/app/utils/language/spanish_sentences.dart @@ -20,45 +20,58 @@ class SpanishSentences extends Sentences { @override String get homePageExitApp => 'Salir de la aplicación'; @override - String get homePageAreYouSureYouWantToExit => '¿Estás seguro de que quieres salir de la aplicación?'; + String get homePageAreYouSureYouWantToExit => + '¿Estás seguro de que quieres salir de la aplicación?'; @override String get homePageExit => 'Salir'; @override String get homePageCancel => 'Cancelar'; @override - String get homePageClickOnTheBottomRightButtonToStartAddingTasks => 'Haz clic en el botón en la parte inferior derecha para comenzar a agregar tareas'; + String get homePageClickOnTheBottomRightButtonToStartAddingTasks => + 'Haz clic en el botón en la parte inferior derecha para comenzar a agregar tareas'; @override - String get homePageSearchNotFound => 'No se encontraron resultados para la búsqueda'; + String get homePageSearchNotFound => + 'No se encontraron resultados para la búsqueda'; @override String get settingsPageTitle => 'Página de configuración'; @override String get settingsPageSubtitle => 'Configura tus preferencias'; @override - String get settingsPageMovingDataToNewDirectory => 'Moviendo datos a un nuevo directorio'; + String get settingsPageMovingDataToNewDirectory => + 'Moviendo datos a un nuevo directorio'; @override - String get settingsPageSyncOnStartTitle => 'Sincronizar datos automáticamente al inicio'; + String get settingsPageSyncOnStartTitle => + 'Sincronizar datos automáticamente al inicio'; @override String get settingsPageSyncOnStartDescription => 'Sincronizar al iniciar'; @override - String get settingsPageEnableSyncOnTaskCreateTitle => 'Habilitar sincronización automática al crear nuevas tareas'; + String get settingsPageEnableSyncOnTaskCreateTitle => + 'Habilitar sincronización automática al crear nuevas tareas'; @override - String get settingsPageEnableSyncOnTaskCreateDescription => 'Habilitar sincronización automática al crear nuevas tareas'; + String get settingsPageEnableSyncOnTaskCreateDescription => + 'Habilitar sincronización automática al crear nuevas tareas'; @override - String get settingsPageHighlightTaskTitle => 'Resaltar tareas con 1 día restante'; + String get settingsPageHighlightTaskTitle => + 'Resaltar tareas con 1 día restante'; @override - String get settingsPageHighlightTaskDescription => 'Resaltar tareas con 1 día restante'; + String get settingsPageHighlightTaskDescription => + 'Resaltar tareas con 1 día restante'; @override - String get settingsPageEnable24hrFormatTitle => 'Habilitar formato de 24 horas'; + String get settingsPageEnable24hrFormatTitle => + 'Habilitar formato de 24 horas'; @override - String get settingsPageEnable24hrFormatDescription => 'Habilitar formato de 24 horas'; + String get settingsPageEnable24hrFormatDescription => + 'Habilitar formato de 24 horas'; @override String get settingsPageSelectLanguage => 'Seleccionar idioma'; @override - String get settingsPageToggleNativeLanguage => 'Alternar entre idiomas nativos'; + String get settingsPageToggleNativeLanguage => + 'Alternar entre idiomas nativos'; @override String get settingsPageSelectDirectoryTitle => 'Seleccionar directorio'; @override - String get settingsPageSelectDirectoryDescription => 'Selecciona el directorio donde se almacenan los datos de TaskWarrior\nDirectorio actual: '; + String get settingsPageSelectDirectoryDescription => + 'Selecciona el directorio donde se almacenan los datos de TaskWarrior\nDirectorio actual: '; @override String get settingsPageChangeDirectory => 'Cambiar directorio'; @override @@ -174,10 +187,12 @@ class SpanishSentences extends Sentences { @override String get reportsPageNoTasksFound => 'No se encontraron tareas'; @override - String get reportsPageAddTasksToSeeReports => 'Agrega tareas para ver informes'; + String get reportsPageAddTasksToSeeReports => + 'Agrega tareas para ver informes'; @override - String get taskchampionTileDescription => 'Cambia la sincronización de TaskWarrior al servidor de sincronización CCSync o Taskchampion'; + String get taskchampionTileDescription => + 'Cambia la sincronización de TaskWarrior al servidor de sincronización CCSync o Taskchampion'; @override String get taskchampionTileTitle => 'Sincronización Taskchampion'; @@ -192,7 +207,8 @@ class SpanishSentences extends Sentences { String get deleteTaskTitle => '¿Eliminar todas las tareas?'; @override - String get deleteTaskWarning => 'Esta acción es irreversible y eliminará todas las tareas almacenadas localmente.'; + String get deleteTaskWarning => + 'Esta acción es irreversible y eliminará todas las tareas almacenadas localmente.'; @override String get profilePageProfile => 'Perfil'; @@ -201,7 +217,8 @@ class SpanishSentences extends Sentences { @override String get profilePageCurrentProfile => 'Perfil actual'; @override - String get profilePageManageSelectedProfile => 'Gestionar perfil seleccionado'; + String get profilePageManageSelectedProfile => + 'Gestionar perfil seleccionado'; @override String get profilePageRenameAlias => 'Renombrar alias'; @@ -210,7 +227,8 @@ class SpanishSentences extends Sentences { @override String get profilePageExportTasks => 'Exportar tareas'; @override - String get profilePageCopyConfigToNewProfile => 'Copiar configuración a un nuevo perfil'; + String get profilePageCopyConfigToNewProfile => + 'Copiar configuración a un nuevo perfil'; @override String get profilePageDeleteProfile => 'Eliminar perfil'; @override @@ -228,35 +246,78 @@ class SpanishSentences extends Sentences { @override String get profilePageExportTasksDialogueTitle => 'Formato de exportación'; @override - String get profilePageExportTasksDialogueSubtitle => 'Selecciona el formato de exportación'; + String get profilePageExportTasksDialogueSubtitle => + 'Selecciona el formato de exportación'; @override - String get manageTaskServerPageConfigureTaskserver => 'Configurar servidor de tareas'; + String get manageTaskServerPageConfigureTaskserver => + 'Configurar servidor de tareas'; @override String get manageTaskServerPageConfigureTASKRC => 'Configurar TASKRC'; @override String get manageTaskServerPageSetTaskRC => 'Establecer TaskRC'; @override - String get manageTaskServerPageConfigureYourCertificate => 'Configura tu certificado'; + String get manageTaskServerPageConfigureYourCertificate => + 'Configura tu certificado'; @override String get manageTaskServerPageSelectCertificate => 'Seleccionar certificado'; @override - String get manageTaskServerPageConfigureTaskserverKey => 'Configurar clave del servidor de tareas'; + String get manageTaskServerPageConfigureTaskserverKey => + 'Configurar clave del servidor de tareas'; @override String get manageTaskServerPageSelectKey => 'Seleccionar clave'; @override - String get manageTaskServerPageConfigureServerCertificate => 'Configurar certificado del servidor'; + String get manageTaskServerPageConfigureServerCertificate => + 'Configurar certificado del servidor'; @override - String get manageTaskServerPageTaskRCFileIsVerified => 'El archivo Task RC ha sido verificado'; + String get manageTaskServerPageTaskRCFileIsVerified => + 'El archivo Task RC ha sido verificado'; @override - String get manageTaskServerPageConfigureTaskRCDialogueBoxTitle => 'Configurar TaskRC'; + String get manageTaskServerPageConfigureTaskRCDialogueBoxTitle => + 'Configurar TaskRC'; @override - String get manageTaskServerPageConfigureTaskRCDialogueBoxSubtitle => 'Pega el contenido de TaskRC o selecciona un archivo taskrc'; + String get manageTaskServerPageConfigureTaskRCDialogueBoxSubtitle => + 'Pega el contenido de TaskRC o selecciona un archivo taskrc'; @override - String get manageTaskServerPageConfigureTaskRCDialogueBoxInputFieldText => 'Pega tu contenido TaskRC aquí'; + String get manageTaskServerPageConfigureTaskRCDialogueBoxInputFieldText => + 'Pega tu contenido TaskRC aquí'; @override String get manageTaskServerPageConfigureTaskRCDialogueBoxOr => 'o'; @override - String get manageTaskServerPageConfigureTaskRCDialogueBoxSelectTaskRC => 'Seleccionar archivo TaskRC'; + String get manageTaskServerPageConfigureTaskRCDialogueBoxSelectTaskRC => + 'Seleccionar archivo TaskRC'; + + @override + String get addTaskTitle => "Agregar tarea"; + @override + String get addTaskEnterTask => "Ingresar tarea"; + @override + String get addTaskDue => "Vencimiento"; + @override + String get addTaskSelectDueDate => "Seleccionar fecha de vencimiento"; + @override + String get addTaskPriority => "Prioridad"; + @override + String get addTaskAddTags => "Agregar etiquetas"; + @override + String get addTaskCancel => "Cancelar"; + @override + String get addTaskAdd => "Agregar"; + @override + String get addTaskTimeInPast => "La hora seleccionada está en el pasado."; + @override + String get addTaskFieldCannotBeEmpty => "¡No puedes dejar este campo vacío!"; + @override + String get addTaskTaskAddedSuccessfully => + "Tarea añadida con éxito. Toca para editar"; + + @override + String get aboutPageGitHubLink => + "¿Desea mejorar este proyecto? Visite nuestro repositorio en GitHub."; + @override + String get aboutPageProjectDescription => + "Este proyecto tiene como objetivo construir una aplicación para Taskwarrior. Es su aplicación de gestión de tareas en todas las plataformas. Le ayuda a gestionar sus tareas y a filtrarlas según sus necesidades."; + @override + String get aboutPageAppBarTitle => "Acerca de"; } From 06abb3ea77486128f00759ab71dbe5c125281dbf Mon Sep 17 00:00:00 2001 From: Chinmay Date: Fri, 30 Aug 2024 01:22:48 +0530 Subject: [PATCH 5/5] Github tests fix --- lib/app/modules/splash/controllers/splash_controller.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/app/modules/splash/controllers/splash_controller.dart b/lib/app/modules/splash/controllers/splash_controller.dart index e9a6fcf9..ed798951 100644 --- a/lib/app/modules/splash/controllers/splash_controller.dart +++ b/lib/app/modules/splash/controllers/splash_controller.dart @@ -1,4 +1,4 @@ -// ignore_for_file: body_might_complete_normally_catch_error +// ignore_for_file: body_might_complete_normally_catch_error, depend_on_referenced_packages import 'dart:io';