Skip to content

Commit 909d157

Browse files
committed
added new bottom sheet to i18n
1 parent e8bfddb commit 909d157

File tree

11 files changed

+256
-23
lines changed

11 files changed

+256
-23
lines changed

lib/app/modules/home/views/add_task_bottom_sheet_new.dart

Lines changed: 38 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,11 @@ class AddTaskBottomSheet extends StatelessWidget {
4545
onPressed: () {
4646
Get.back();
4747
},
48-
child: const Text("Cancel"),
48+
child: Text(SentenceManager(
49+
currentLanguage:
50+
homeController.selectedLanguage.value)
51+
.sentences
52+
.cancel),
4953
),
5054
Text(
5155
SentenceManager(
@@ -66,7 +70,11 @@ class AddTaskBottomSheet extends StatelessWidget {
6670
onSaveButtonClicked(context);
6771
}
6872
},
69-
child: const Text("Save"),
73+
child: Text(SentenceManager(
74+
currentLanguage:
75+
homeController.selectedLanguage.value)
76+
.sentences
77+
.save),
7078
),
7179
],
7280
),
@@ -80,10 +88,18 @@ class AddTaskBottomSheet extends StatelessWidget {
8088
child: TextFormField(
8189
controller: homeController.namecontroller,
8290
validator: (value) => value!.isEmpty
83-
? "Description cannot be empty"
91+
? SentenceManager(
92+
currentLanguage:
93+
homeController.selectedLanguage.value)
94+
.sentences
95+
.descriprtionCannotBeEmpty
8496
: null,
85-
decoration: const InputDecoration(
86-
labelText: 'Enter Task Description',
97+
decoration: InputDecoration(
98+
labelText: SentenceManager(
99+
currentLanguage:
100+
homeController.selectedLanguage.value)
101+
.sentences
102+
.enterTaskDescription,
87103
border: OutlineInputBorder(),
88104
),
89105
),
@@ -168,15 +184,21 @@ class AddTaskBottomSheet extends StatelessWidget {
168184
(context, textEditingController, focusNode, onFieldSubmitted) =>
169185
TextFormField(
170186
controller: textEditingController,
171-
decoration: const InputDecoration(
172-
labelText: 'Project',
187+
decoration: InputDecoration(
188+
labelText: SentenceManager(
189+
currentLanguage: homeController.selectedLanguage.value)
190+
.sentences
191+
.enterProject,
173192
border: OutlineInputBorder(),
174193
),
175194
onChanged: (value) => homeController.projectcontroller.text = value,
176195
focusNode: focusNode,
177196
validator: (value) {
178197
if (value != null && value.contains(" ")) {
179-
return "Can not have Whitespace";
198+
return SentenceManager(
199+
currentLanguage: homeController.selectedLanguage.value)
200+
.sentences
201+
.canNotHaveWhiteSpace;
180202
}
181203
return null;
182204
},
@@ -208,7 +230,10 @@ class AddTaskBottomSheet extends StatelessWidget {
208230
.priority.value), // Display the selected priority
209231
),
210232
decoration: InputDecoration(
211-
labelText: 'Priority',
233+
labelText: SentenceManager(
234+
currentLanguage: homeController.selectedLanguage.value)
235+
.sentences
236+
.priority,
212237
border: const OutlineInputBorder(),
213238
suffixIcon: Padding(
214239
padding: const EdgeInsets.only(right: 8.0),
@@ -304,7 +329,10 @@ class AddTaskBottomSheet extends StatelessWidget {
304329
homeController.projectcontroller.text = '';
305330
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
306331
content: Text(
307-
'Task Added Successfully!',
332+
SentenceManager(
333+
currentLanguage: homeController.selectedLanguage.value)
334+
.sentences
335+
.addTaskTaskAddedSuccessfully,
308336
style: TextStyle(
309337
color: AppSettings.isDarkMode
310338
? TaskWarriorColors.kprimaryTextColor

lib/app/utils/add_task_dialogue/date_picker_input.dart

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import 'package:flutter/material.dart';
2+
import 'package:taskwarrior/app/utils/app_settings/app_settings.dart';
3+
import 'package:taskwarrior/app/utils/language/sentence_manager.dart';
24
import 'package:taskwarrior/app/utils/taskfunctions/add_task_dialog_utils.dart';
35
import 'package:taskwarrior/app/utils/themes/theme_extension.dart';
46

@@ -51,12 +53,12 @@ class _AddTaskDatePickerInputState extends State<AddTaskDatePickerInput> {
5153
bool isNextDateSelected = _selectedDates[getNextIndex()] != null;
5254
bool isPreviousDateSelected = _selectedDates[getPreviousIndex()] != null;
5355
String nextDateText = isNextDateSelected
54-
? "Change ${dateLabels[getNextIndex()]} Date"
55-
: "Add ${dateLabels[getNextIndex()]} Date";
56+
? "${SentenceManager(currentLanguage: AppSettings.selectedLanguage).sentences.change} ${dateLabels[getNextIndex()]} ${SentenceManager(currentLanguage: AppSettings.selectedLanguage).sentences.date}"
57+
: "${SentenceManager(currentLanguage: AppSettings.selectedLanguage).sentences.add} ${dateLabels[getNextIndex()]} ${SentenceManager(currentLanguage: AppSettings.selectedLanguage).sentences.date}";
5658

5759
String prevDateText = isPreviousDateSelected
58-
? "Change ${dateLabels[getPreviousIndex()]} Date"
59-
: "Add ${dateLabels[getPreviousIndex()]} Date";
60+
? "${SentenceManager(currentLanguage: AppSettings.selectedLanguage).sentences.change} ${dateLabels[getPreviousIndex()]} ${SentenceManager(currentLanguage: AppSettings.selectedLanguage).sentences.date}"
61+
: "${SentenceManager(currentLanguage: AppSettings.selectedLanguage).sentences.add} ${dateLabels[getPreviousIndex()]} ${SentenceManager(currentLanguage: AppSettings.selectedLanguage).sentences.date}";
6062
return Column(
6163
mainAxisSize: MainAxisSize.min,
6264
children: [
@@ -127,8 +129,10 @@ class _AddTaskDatePickerInputState extends State<AddTaskDatePickerInput> {
127129
return TextFormField(
128130
controller: _controllers[forIndex],
129131
decoration: InputDecoration(
130-
labelText: '${dateLabels[forIndex]} Date',
131-
hintText: 'Select a ${dateLabels[forIndex]}',
132+
labelText:
133+
'${dateLabels[forIndex]} ${SentenceManager(currentLanguage: AppSettings.selectedLanguage).sentences.date}',
134+
hintText:
135+
'${SentenceManager(currentLanguage: AppSettings.selectedLanguage).sentences.select} ${dateLabels[forIndex]}',
132136
suffixIcon: const Icon(Icons.calendar_today),
133137
border: const OutlineInputBorder(),
134138
),
@@ -165,7 +169,7 @@ class _AddTaskDatePickerInputState extends State<AddTaskDatePickerInput> {
165169
DateTime? dt = _selectedDates[i];
166170
String? label = dateLabels[i];
167171
if (dt != null && dt.isBefore(DateTime.now())) {
168-
return "$label date cannot be in the past";
172+
return "$label ${SentenceManager(currentLanguage: AppSettings.selectedLanguage).sentences.dateCanNotBeInPast}";
169173
}
170174
}
171175
return null;

lib/app/utils/add_task_dialogue/tags_input.dart

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import 'package:flutter/material.dart';
2+
import 'package:taskwarrior/app/utils/app_settings/app_settings.dart';
3+
import 'package:taskwarrior/app/utils/language/sentence_manager.dart';
24
import 'package:textfield_tags/textfield_tags.dart';
35

46
class AddTaskTagsInput extends StatefulWidget {
@@ -80,10 +82,22 @@ class _AddTaskTagsInputState extends State<AddTaskTagsInput> {
8082
if (tags.contains(tag)) {
8183
stringTagController.onTagRemoved(tag);
8284
stringTagController.onTagSubmitted(tag);
83-
return "Tag already exists";
85+
return SentenceManager(
86+
currentLanguage: SentenceManager(
87+
currentLanguage: AppSettings.selectedLanguage)
88+
.currentLanguage)
89+
.sentences
90+
.tagAlreadyExists;
8491
}
8592
for (String tag in tags) {
86-
if (tag.contains(" ")) return "Tag should not contain spaces";
93+
if (tag.contains(" ")) {
94+
return SentenceManager(
95+
currentLanguage: SentenceManager(
96+
currentLanguage: AppSettings.selectedLanguage)
97+
.currentLanguage)
98+
.sentences
99+
.tagShouldNotContainSpaces;
100+
}
87101
}
88102
return null;
89103
},
@@ -92,7 +106,12 @@ class _AddTaskTagsInputState extends State<AddTaskTagsInput> {
92106
controller: inputFieldValues.textEditingController,
93107
focusNode: inputFieldValues.focusNode,
94108
decoration: InputDecoration(
95-
labelText: "Enter tags",
109+
labelText: SentenceManager(
110+
currentLanguage: SentenceManager(
111+
currentLanguage: AppSettings.selectedLanguage)
112+
.currentLanguage)
113+
.sentences
114+
.addTaskAddTags,
96115
border: const OutlineInputBorder(),
97116
prefixIconConstraints: BoxConstraints(
98117
maxWidth:

lib/app/utils/language/bengali_sentences.dart

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -606,4 +606,30 @@ class BengaliSentences extends Sentences {
606606

607607
@override
608608
String get tourTaskServerTaskRC => "আপনার TaskRC ফাইল সেট করুন";
609+
@override
610+
String get descriprtionCannotBeEmpty => "বর্ণনা খালি হতে পারে না";
611+
@override
612+
String get enterTaskDescription => "টাস্কের বর্ণনা লিখুন";
613+
@override
614+
String get canNotHaveWhiteSpace => "সাদা স্থান থাকতে পারে না";
615+
@override
616+
String get high => "উচ্চ";
617+
@override
618+
String get medium => "মধ্যম";
619+
@override
620+
String get low => "নিম্ন";
621+
@override
622+
String get priority => "অগ্রাধিকার";
623+
@override
624+
String get tagAlreadyExists => "ট্যাগ ইতিমধ্যে বিদ্যমান";
625+
@override
626+
String get tagShouldNotContainSpaces => "ট্যাগে স্পেস থাকা উচিত নয়";
627+
@override
628+
String get date => "তারিখ";
629+
@override
630+
String get add => "যোগ করুন";
631+
@override
632+
String get change => "পরিবর্তন করুন";
633+
@override
634+
String get dateCanNotBeInPast => "তারিখ অতীতে থাকতে পারে না";
609635
}

lib/app/utils/language/english_sentences.dart

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -594,4 +594,31 @@ class EnglishSentences extends Sentences {
594594
@override
595595
String get tourDetailsPriority =>
596596
"This is the priority of the Tasks \n L -> Low \n M -> Medium \n H -> Hard";
597+
// Dialogue for adding new task
598+
@override
599+
String get descriprtionCannotBeEmpty => "Description cannot be empty";
600+
@override
601+
String get enterTaskDescription => "Enter Task Description";
602+
@override
603+
String get canNotHaveWhiteSpace => "Can not have white space";
604+
@override
605+
String get high => "High";
606+
@override
607+
String get medium => "Medium";
608+
@override
609+
String get low => "Low";
610+
@override
611+
String get priority => "Priority";
612+
@override
613+
String get tagAlreadyExists => "Tag already exists";
614+
@override
615+
String get tagShouldNotContainSpaces => "Tag should not contain spaces";
616+
@override
617+
String get date => "Date";
618+
@override
619+
String get add => "Add";
620+
@override
621+
String get change => "Change";
622+
@override
623+
String get dateCanNotBeInPast => "Date can not be in past";
597624
}

lib/app/utils/language/french_sentences.dart

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -617,4 +617,32 @@ class FrenchSentences extends Sentences {
617617
@override
618618
String get tourFilterTagUnion =>
619619
"Basculer entre les types d'union de balises ET et OU";
620+
@override
621+
String get descriprtionCannotBeEmpty =>
622+
"La description ne peut pas être vide";
623+
@override
624+
String get enterTaskDescription => "Entrez la description de la tâche";
625+
@override
626+
String get canNotHaveWhiteSpace => "Ne peut pas contenir d'espaces blancs";
627+
@override
628+
String get high => "Élevée";
629+
@override
630+
String get medium => "Moyenne";
631+
@override
632+
String get low => "Faible";
633+
@override
634+
String get priority => "Priorité";
635+
@override
636+
String get tagAlreadyExists => "Le tag existe déjà";
637+
@override
638+
String get tagShouldNotContainSpaces =>
639+
"Le tag ne doit pas contenir d'espaces";
640+
@override
641+
String get date => "Date";
642+
@override
643+
String get add => "Ajouter";
644+
@override
645+
String get change => "Changer";
646+
@override
647+
String get dateCanNotBeInPast => "La date ne peut pas être dans le passé";
620648
}

lib/app/utils/language/hindi_sentences.dart

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -583,4 +583,30 @@ class HindiSentences extends Sentences {
583583
@override
584584
String get tourTaskServerRootCert =>
585585
"इसी तरह नामित फ़ाइल चुनें, जैसे letsencrypt_root_cert.pem";
586+
@override
587+
String get descriprtionCannotBeEmpty => "विवरण खाली नहीं हो सकता";
588+
@override
589+
String get enterTaskDescription => "कार्य विवरण दर्ज करें";
590+
@override
591+
String get canNotHaveWhiteSpace => "सफेद स्थान नहीं हो सकता";
592+
@override
593+
String get high => "उच्च";
594+
@override
595+
String get medium => "मध्यम";
596+
@override
597+
String get low => "निम्न";
598+
@override
599+
String get priority => "प्राथमिकता";
600+
@override
601+
String get tagAlreadyExists => "टैग पहले से मौजूद है";
602+
@override
603+
String get tagShouldNotContainSpaces => "टैग में स्पेस नहीं होना चाहिए";
604+
@override
605+
String get date => "तारीख";
606+
@override
607+
String get add => "जोड़ें";
608+
@override
609+
String get change => "बदलें";
610+
@override
611+
String get dateCanNotBeInPast => "तारीख अतीत में नहीं हो सकती";
586612
}

lib/app/utils/language/marathi_sentences.dart

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -606,4 +606,30 @@ class MarathiSentences extends Sentences {
606606
@override
607607
String get tourTaskServerTaskRC =>
608608
"येथे taskrc नावाची फाईल निवडा किंवा तिची सामग्री पेस्ट करा";
609+
@override
610+
String get descriprtionCannotBeEmpty => "वर्णन रिक्त असू शकत नाही";
611+
@override
612+
String get enterTaskDescription => "कार्याचे वर्णन प्रविष्ट करा";
613+
@override
614+
String get canNotHaveWhiteSpace => "रिक्त जागा असू शकत नाही";
615+
@override
616+
String get high => "उच्च";
617+
@override
618+
String get medium => "मध्यम";
619+
@override
620+
String get low => "कमी";
621+
@override
622+
String get priority => "प्राधान्य";
623+
@override
624+
String get tagAlreadyExists => "टॅग आधीच अस्तित्वात आहे";
625+
@override
626+
String get tagShouldNotContainSpaces => "टॅगमध्ये रिक्त जागा असू शकत नाही";
627+
@override
628+
String get date => 'तारीख';
629+
@override
630+
String get add => 'जोडा';
631+
@override
632+
String get change => 'बदल';
633+
@override
634+
String get dateCanNotBeInPast => "तारीख भूतकाळात असू शकत नाही";
609635
}

lib/app/utils/language/sentences.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,4 +317,18 @@ abstract class Sentences {
317317
String get tourDetailsUntil;
318318
String get tourDetailsPriority;
319319

320+
// Dialogue for adding new task
321+
String get descriprtionCannotBeEmpty;
322+
String get enterTaskDescription;
323+
String get canNotHaveWhiteSpace;
324+
String get high;
325+
String get medium;
326+
String get low;
327+
String get priority;
328+
String get tagAlreadyExists;
329+
String get tagShouldNotContainSpaces;
330+
String get date;
331+
String get add;
332+
String get change;
333+
String get dateCanNotBeInPast;
320334
}

lib/app/utils/language/spanish_sentences.dart

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -608,4 +608,31 @@ class SpanishSentences extends Sentences {
608608
@override
609609
String get tourDetailsPriority =>
610610
"Esta es la prioridad de las tareas\nL -> Baja\nM -> Media\nH -> Alta";
611+
@override
612+
String get descriprtionCannotBeEmpty => "La descripción no puede estar vacía";
613+
@override
614+
String get enterTaskDescription => "Ingresar descripción de la tarea";
615+
@override
616+
String get canNotHaveWhiteSpace => "No puede tener espacios en blanco";
617+
@override
618+
String get high => "Alta";
619+
@override
620+
String get medium => "Media";
621+
@override
622+
String get low => "Baja";
623+
@override
624+
String get priority => "Prioridad";
625+
@override
626+
String get tagAlreadyExists => "¡La etiqueta ya existe!";
627+
@override
628+
String get tagShouldNotContainSpaces =>
629+
"¡La etiqueta no debe contener espacios!";
630+
@override
631+
String get date => "Fecha";
632+
@override
633+
String get add => "Agregar";
634+
@override
635+
String get change => "Cambiar";
636+
@override
637+
String get dateCanNotBeInPast => "La fecha no puede estar en el pasado";
611638
}

0 commit comments

Comments
 (0)