From 49a5f6b1d8b252e9110fa34a482d9c1f0fed2785 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 21 Sep 2021 16:38:42 -0400 Subject: [PATCH 1/2] language translations to spanish start --- l10n.yaml | 3 +++ lib/Components/saveNote.dart | 2 -- lib/Screens/HomeScreen.dart | 1 - lib/Screens/Main.dart | 10 +++++----- lib/Utility/Constant.dart | 17 +++++++++++++++-- lib/l10n/app_en.arb | 18 ++++++++++++++++++ lib/l10n/app_es.arb | 6 ++++++ lib/main.dart | 20 ++++++++++---------- pubspec.yaml | 3 +++ 9 files changed, 60 insertions(+), 20 deletions(-) create mode 100644 l10n.yaml create mode 100644 lib/l10n/app_en.arb create mode 100644 lib/l10n/app_es.arb 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 4560709..c5011d1 100644 --- a/lib/Components/saveNote.dart +++ b/lib/Components/saveNote.dart @@ -1,7 +1,5 @@ import 'package:flutter/material.dart'; -import 'textnoteservice.dart'; import 'package:untitled3/Services/textnoteservice.dart'; -import 'package:untitled3/Screens/Bottom_bar.dart'; import 'package:untitled3/Screens/Setting.dart'; final saveNoteScaffoldKey = GlobalKey(); diff --git a/lib/Screens/HomeScreen.dart b/lib/Screens/HomeScreen.dart index 6a569a8..189d64c 100644 --- a/lib/Screens/HomeScreen.dart +++ b/lib/Screens/HomeScreen.dart @@ -1,6 +1,5 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:untitled3/Component/Speech.dart'; import 'Setting.dart'; import 'package:untitled3/Model/recordnote.dart'; diff --git a/lib/Screens/Main.dart b/lib/Screens/Main.dart index 25d1a32..2a0d2a0 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]); diff --git a/lib/Utility/Constant.dart b/lib/Utility/Constant.dart index 72c0560..d89e700 100644 --- a/lib/Utility/Constant.dart +++ b/lib/Utility/Constant.dart @@ -1,4 +1,8 @@ - class SCREEN_NAMES { +import 'dart:ui'; +import 'package:flutter_localizations/flutter_localizations.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; + +class SCREEN_NAMES { static final String MENU = "MENU"; static final String NOTE = "NOTE"; static final String HOME = "HOME"; @@ -6,4 +10,13 @@ static final String SETTING = "SETTING"; static final String CALENDAR = "CALENDAR"; - } \ 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..f727172 --- /dev/null +++ b/lib/l10n/app_en.arb @@ -0,0 +1,18 @@ +{ + "homeScreenName": "Home", + "menuScreenName": "Menu", + "notesScreenName": "Notes", + "notificationsScreenName": "Notifications", + "@MenuScreenName": { + "description": "Screen Name for Menu" + }, + "@HomeScreenName": { + "description": "Screen Name for Home" + }, + "@NotesScreenName": { + "description": "Screen Name for Notes" + }, + "@NotificationsScreenName": { + "description": "Screen Name for Notifications" + } +} \ 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..5993e63 --- /dev/null +++ b/lib/l10n/app_es.arb @@ -0,0 +1,6 @@ +{ + "homeScreenName": "Casa", + "menuScreenName": "Menu", + "notesScreenName": "Notas", + "notificationsScreenName": "Notificaciones" +} \ 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 From 2cccb34a824d3a6e34a116c7ef4b7d3cc2fd1244 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 22 Sep 2021 08:54:20 -0400 Subject: [PATCH 2/2] more translations --- lib/Screens/Main.dart | 12 ++++++------ lib/Utility/Constant.dart | 10 ---------- lib/l10n/app_en.arb | 15 +++------------ lib/l10n/app_es.arb | 5 ++++- 4 files changed, 13 insertions(+), 29 deletions(-) diff --git a/lib/Screens/Main.dart b/lib/Screens/Main.dart index 2a0d2a0..30c61a0 100644 --- a/lib/Screens/Main.dart +++ b/lib/Screens/Main.dart @@ -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 d89e700..a6e4b8d 100644 --- a/lib/Utility/Constant.dart +++ b/lib/Utility/Constant.dart @@ -2,16 +2,6 @@ import 'dart:ui'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -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"; - - } - const SUPPORTED_LOCALES = [Locale('en', 'US'), Locale('es', 'US')]; const LOCALIZATION_DELEGATES = [ diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index f727172..2abb284 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -3,16 +3,7 @@ "menuScreenName": "Menu", "notesScreenName": "Notes", "notificationsScreenName": "Notifications", - "@MenuScreenName": { - "description": "Screen Name for Menu" - }, - "@HomeScreenName": { - "description": "Screen Name for Home" - }, - "@NotesScreenName": { - "description": "Screen Name for Notes" - }, - "@NotificationsScreenName": { - "description": "Screen Name for 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 index 5993e63..8db3cbc 100644 --- a/lib/l10n/app_es.arb +++ b/lib/l10n/app_es.arb @@ -2,5 +2,8 @@ "homeScreenName": "Casa", "menuScreenName": "Menu", "notesScreenName": "Notas", - "notificationsScreenName": "Notificaciones" + "notificationsScreenName": "Notificaciones", + "settingScreenName": "Setting", + "calendarScreenName": "Calendar", + "micButton": "Mic" } \ No newline at end of file