diff --git a/l10n.yaml b/l10n.yaml new file mode 100644 index 0000000..4e6692e --- /dev/null +++ b/l10n.yaml @@ -0,0 +1,3 @@ +arb-dir: lib/l10n +template-arb-file: app_en.arb +output-localization-file: app_localizations.dart \ No newline at end of file diff --git a/lib/Components/saveNote.dart b/lib/Components/saveNote.dart index db67365..ea9ab11 100644 --- a/lib/Components/saveNote.dart +++ b/lib/Components/saveNote.dart @@ -1,12 +1,10 @@ import 'package:flutter/material.dart'; import '../Services/textnoteservice.dart'; -import 'package:untitled3/Services/textnoteservice.dart'; final saveNoteScaffoldKey = GlobalKey(); /// Save Note page class SaveNote extends StatefulWidget { - @override SaveNoteState createState() => SaveNoteState(); } diff --git a/lib/Screens/HomeScreen.dart b/lib/Screens/HomeScreen.dart index 6f59c0e..5558eef 100644 --- a/lib/Screens/HomeScreen.dart +++ b/lib/Screens/HomeScreen.dart @@ -1,10 +1,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import '../Components/Speech.dart'; -import 'Setting.dart'; import 'package:untitled3/Model/recordnote.dart'; - class HomeScreen extends StatefulWidget { @override _HomeScreenState createState() => _HomeScreenState(); @@ -13,7 +10,6 @@ class HomeScreen extends StatefulWidget { class _HomeScreenState extends State { int _selectedIndex = 0; - void _onItemTapped(int index) { setState(() { _selectedIndex = index; @@ -25,10 +21,7 @@ class _HomeScreenState extends State { @override Widget build(BuildContext context) { return Scaffold( - - body: SpeechScreen(), - + body: SpeechScreen(), ); - } } diff --git a/lib/Screens/Main.dart b/lib/Screens/Main.dart index 25d1a32..30c61a0 100644 --- a/lib/Screens/Main.dart +++ b/lib/Screens/Main.dart @@ -7,6 +7,7 @@ import 'HomeScreen.dart'; import 'NotificationScreen.dart'; import 'Menu.dart'; import '../Utility/Constant.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; /// This is the stateful widget that the main application instantiates. class MainNavigator extends StatefulWidget { @@ -47,11 +48,10 @@ class _MainNavigatorState extends State { //TODO: make sure index is less than length of array List screenNames = [ - SCREEN_NAMES.MENU, - SCREEN_NAMES.NOTE, - SCREEN_NAMES.NOTIFICATION, - SCREEN_NAMES.HOME, - + AppLocalizations.of(context)!.menuScreenName, + AppLocalizations.of(context)!.notesScreenName, + AppLocalizations.of(context)!.notificationsScreenName, + AppLocalizations.of(context)!.homeScreenName, ]; _setScreenName(screenNames[index]); @@ -59,12 +59,12 @@ class _MainNavigatorState extends State { Widget _pickScreen(String name, index){ - if(name == SCREEN_NAMES.SETTING){ + if(name == AppLocalizations.of(context)!.settingScreenName){ return Setting(); } /** * TODO: Uncomment for calendar - * if(name == SCREEN_NAMES.CALENDAR){ + * if(name == AppLocalizations.of(context)!.calendarScreenName){ return Calendar(); }*/ @@ -80,7 +80,7 @@ class _MainNavigatorState extends State { leading: IconButton( onPressed: () { - _setScreenName(SCREEN_NAMES.SETTING); + _setScreenName(AppLocalizations.of(context)!.settingScreenName); }, icon: Icon( Icons.settings, @@ -128,21 +128,21 @@ class _MainNavigatorState extends State { Icons.home, size: 40, ), - title: Text('Menu'), + title: Text(AppLocalizations.of(context)!.menuScreenName), ), BottomNavigationBarItem( icon: Icon( Icons.event_note_sharp, size: 40, ), - title: Text('Notes'), + title: Text(AppLocalizations.of(context)!.notesScreenName), ), BottomNavigationBarItem( icon: Icon( Icons.notifications, size: 40, ), - title: Text('Notification'), + title: Text(AppLocalizations.of(context)!.notificationsScreenName), ), BottomNavigationBarItem( icon: Image.asset( diff --git a/lib/Utility/Constant.dart b/lib/Utility/Constant.dart index 72c0560..a6e4b8d 100644 --- a/lib/Utility/Constant.dart +++ b/lib/Utility/Constant.dart @@ -1,9 +1,12 @@ - class SCREEN_NAMES { - static final String MENU = "MENU"; - static final String NOTE = "NOTE"; - static final String HOME = "HOME"; - static final String NOTIFICATION = "NOTIFICATION"; - static final String SETTING = "SETTING"; - static final String CALENDAR = "CALENDAR"; +import 'dart:ui'; +import 'package:flutter_localizations/flutter_localizations.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; - } \ No newline at end of file + const SUPPORTED_LOCALES = [Locale('en', 'US'), Locale('es', 'US')]; + +const LOCALIZATION_DELEGATES = [ + AppLocalizations.delegate, + GlobalMaterialLocalizations.delegate, + GlobalWidgetsLocalizations.delegate, + GlobalCupertinoLocalizations.delegate, +]; \ No newline at end of file diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb new file mode 100644 index 0000000..2abb284 --- /dev/null +++ b/lib/l10n/app_en.arb @@ -0,0 +1,9 @@ +{ + "homeScreenName": "Home", + "menuScreenName": "Menu", + "notesScreenName": "Notes", + "notificationsScreenName": "Notifications", + "settingScreenName": "Setting", + "calendarScreenName": "Calendar", + "micButton": "Mic" +} \ No newline at end of file diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb new file mode 100644 index 0000000..8db3cbc --- /dev/null +++ b/lib/l10n/app_es.arb @@ -0,0 +1,9 @@ +{ + "homeScreenName": "Casa", + "menuScreenName": "Menu", + "notesScreenName": "Notas", + "notificationsScreenName": "Notificaciones", + "settingScreenName": "Setting", + "calendarScreenName": "Calendar", + "micButton": "Mic" +} \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index 6f2a792..dc9d528 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,33 +1,33 @@ +// Official import 'package:flutter/material.dart'; -import 'package:untitled3/Screens/Home.dart'; + +// Internal import 'package:untitled3/Screens/Setting.dart'; import 'package:untitled3/Components/saveNote.dart'; import 'package:untitled3/Screens/Note.dart'; import 'package:untitled3/Components/notedetails.dart'; import 'Screens/Main.dart'; +import 'Utility/Constant.dart'; - -void main(){ +void main() { runApp(MyApp()); } -class MyApp extends StatelessWidget{ - +class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, home: MainNavigator(), - + localizationsDelegates: LOCALIZATION_DELEGATES, + supportedLocales: SUPPORTED_LOCALES, routes: { '/save-note': (context) => SaveNote(), - '/view-notes': (context) => ViewNotes(), - '/note-details' :(context) => NoteDetails(), - '/Setting' :(context) => Setting(), + '/note-details': (context) => NoteDetails(), + '/Setting': (context) => Setting(), }, - ); } } diff --git a/pubspec.yaml b/pubspec.yaml index 677ff2f..51bbc66 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -23,6 +23,8 @@ environment: dependencies: flutter: sdk: flutter + flutter_localizations: + sdk: flutter speech_to_text: ^5.0.0 highlight_text: ^1.1.0 avatar_glow: ^2.0.1 @@ -66,6 +68,7 @@ flutter_icons: # The following section is specific to Flutter. flutter: + generate: true # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in