Telas de login e dashboard de estudante feito
This commit is contained in:
116
lib/l10n/app_en.arb
Normal file
116
lib/l10n/app_en.arb
Normal file
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"@@locale": "en",
|
||||
"@@last_modified": "2024-05-06T21:26:00.000Z",
|
||||
"appTitle": "AI Study Assistant",
|
||||
"@appTitle": {
|
||||
"description": "Title of the application"
|
||||
},
|
||||
"schoolName": "Escola Profissional de Vila do Conde",
|
||||
"@schoolName": {
|
||||
"description": "Name of the school"
|
||||
},
|
||||
"welcomeBack": "Welcome Back",
|
||||
"@welcomeBack": {
|
||||
"description": "Welcome back message on login screen"
|
||||
},
|
||||
"signInToContinue": "Sign in to continue learning",
|
||||
"@signInToContinue": {
|
||||
"description": "Subtitle on login screen"
|
||||
},
|
||||
"email": "Email",
|
||||
"@email": {
|
||||
"description": "Email field label"
|
||||
},
|
||||
"password": "Password",
|
||||
"@password": {
|
||||
"description": "Password field label"
|
||||
},
|
||||
"enterYourEmail": "Enter your email",
|
||||
"@enterYourEmail": {
|
||||
"description": "Email field hint"
|
||||
},
|
||||
"enterYourPassword": "Enter your password",
|
||||
"@enterYourPassword": {
|
||||
"description": "Password field hint"
|
||||
},
|
||||
"signIn": "Sign In",
|
||||
"@signIn": {
|
||||
"description": "Sign in button text"
|
||||
},
|
||||
"dontHaveAccount": "Don't have an account? ",
|
||||
"@dontHaveAccount": {
|
||||
"description": "Sign up prompt text"
|
||||
},
|
||||
"signUp": "Sign Up",
|
||||
"@signUp": {
|
||||
"description": "Sign up link text"
|
||||
},
|
||||
"createAccount": "Create Account",
|
||||
"@createAccount": {
|
||||
"description": "Create account title"
|
||||
},
|
||||
"joinOurCommunity": "Join our learning community",
|
||||
"@joinOurCommunity": {
|
||||
"description": "Sign up subtitle"
|
||||
},
|
||||
"confirmPassword": "Confirm Password",
|
||||
"@confirmPassword": {
|
||||
"description": "Confirm password field label"
|
||||
},
|
||||
"confirmYourPassword": "Confirm your password",
|
||||
"@confirmYourPassword": {
|
||||
"description": "Confirm password field hint"
|
||||
},
|
||||
"signUpButton": "Sign Up",
|
||||
"@signUpButton": {
|
||||
"description": "Sign up button text"
|
||||
},
|
||||
"alreadyHaveAccount": "Already have an account? ",
|
||||
"@alreadyHaveAccount": {
|
||||
"description": "Login prompt text"
|
||||
},
|
||||
"login": "Login",
|
||||
"@login": {
|
||||
"description": "Login link text"
|
||||
},
|
||||
"studentDashboard": "Student Dashboard",
|
||||
"@studentDashboard": {
|
||||
"description": "Student dashboard title"
|
||||
},
|
||||
"teacherDashboard": "Teacher Dashboard",
|
||||
"@teacherDashboard": {
|
||||
"description": "Teacher dashboard title"
|
||||
},
|
||||
"aiTutor": "AI Tutor",
|
||||
"@aiTutor": {
|
||||
"description": "AI Tutor title"
|
||||
},
|
||||
"quizzes": "Quizzes",
|
||||
"@quizzes": {
|
||||
"description": "Quizzes title"
|
||||
},
|
||||
"profile": "Profile",
|
||||
"@profile": {
|
||||
"description": "Profile title"
|
||||
},
|
||||
"pageNotFound": "Page Not Found",
|
||||
"@pageNotFound": {
|
||||
"description": "Page not found title"
|
||||
},
|
||||
"loading": "Loading...",
|
||||
"@loading": {
|
||||
"description": "Loading message"
|
||||
},
|
||||
"error": {
|
||||
"pleaseEnterEmail": "Please enter your email",
|
||||
"pleaseEnterValidEmail": "Please enter a valid email",
|
||||
"pleaseEnterPassword": "Please enter your password",
|
||||
"passwordTooShort": "Password must be at least 6 characters",
|
||||
"passwordsDoNotMatch": "Passwords do not match",
|
||||
"loginFailed": "Login failed",
|
||||
"signupFailed": "Sign up failed"
|
||||
},
|
||||
"@@error": {
|
||||
"description": "Error messages"
|
||||
}
|
||||
}
|
||||
82
lib/l10n/app_localizations.dart
Normal file
82
lib/l10n/app_localizations.dart
Normal file
@@ -0,0 +1,82 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class AppLocalizations {
|
||||
final Locale locale;
|
||||
|
||||
AppLocalizations(this.locale);
|
||||
|
||||
static AppLocalizations? of(BuildContext context) {
|
||||
return Localizations.of<AppLocalizations>(context, AppLocalizations);
|
||||
}
|
||||
|
||||
static const LocalizationsDelegate<AppLocalizations> delegate =
|
||||
_AppLocalizationsDelegate();
|
||||
|
||||
static const List<Locale> supportedLocales = [
|
||||
Locale('pt', 'PT'), // Portuguese (Portugal)
|
||||
Locale('en', 'US'), // English (United States)
|
||||
];
|
||||
|
||||
static const Locale fallbackLocale = Locale('pt', 'PT');
|
||||
|
||||
// App
|
||||
String get appTitle => 'Assistente de Estudo IA';
|
||||
String get schoolName => 'Escola Profissional de Vila do Conde';
|
||||
|
||||
// Login
|
||||
String get welcomeBack => 'Bem-vindo de volta';
|
||||
String get signInToContinue => 'Inicie sessão para continuar a aprender';
|
||||
String get email => 'Email';
|
||||
String get password => 'Palavra-passe';
|
||||
String get enterYourEmail => 'Introduza o seu email';
|
||||
String get enterYourPassword => 'Introduza a sua palavra-passe';
|
||||
String get signIn => 'Iniciar Sessão';
|
||||
String get dontHaveAccount => 'Não tem uma conta? ';
|
||||
String get signUp => 'Registar-se';
|
||||
|
||||
// Sign Up
|
||||
String get createAccount => 'Criar Conta';
|
||||
String get joinOurCommunity => 'Junte-se à nossa comunidade de aprendizagem';
|
||||
String get confirmPassword => 'Confirmar palavra-passe';
|
||||
String get confirmYourPassword => 'Confirme a sua palavra-passe';
|
||||
String get signUpButton => 'Registar';
|
||||
String get alreadyHaveAccount => 'Já tem uma conta? ';
|
||||
String get login => 'Iniciar Sessão';
|
||||
|
||||
// Dashboard
|
||||
String get studentDashboard => 'Painel do Aluno';
|
||||
String get teacherDashboard => 'Painel do Professor';
|
||||
String get aiTutor => 'Tutor IA';
|
||||
String get quizzes => 'Questionários';
|
||||
String get profile => 'Perfil';
|
||||
|
||||
// General
|
||||
String get pageNotFound => 'Página Não Encontrada';
|
||||
String get loading => 'A carregar...';
|
||||
|
||||
// Error messages
|
||||
String get pleaseEnterEmail => 'Por favor, introduza o seu email';
|
||||
String get pleaseEnterValidEmail => 'Por favor, introduza um email válido';
|
||||
String get pleaseEnterPassword => 'Por favor, introduza a sua palavra-passe';
|
||||
String get passwordTooShort => 'A palavra-passe deve ter pelo menos 6 caracteres';
|
||||
String get passwordsDoNotMatch => 'As palavras-passe não coincidem';
|
||||
String get loginFailed => 'Falha no início de sessão';
|
||||
String get signupFailed => 'Falha no registo';
|
||||
}
|
||||
|
||||
class _AppLocalizationsDelegate extends LocalizationsDelegate<AppLocalizations> {
|
||||
const _AppLocalizationsDelegate();
|
||||
|
||||
@override
|
||||
bool isSupported(Locale locale) {
|
||||
return ['pt', 'en'].contains(locale.languageCode);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<AppLocalizations> load(Locale locale) async {
|
||||
return AppLocalizations(locale);
|
||||
}
|
||||
|
||||
@override
|
||||
bool shouldReload(LocalizationsDelegate<AppLocalizations> old) => false;
|
||||
}
|
||||
116
lib/l10n/app_pt.arb
Normal file
116
lib/l10n/app_pt.arb
Normal file
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"@@locale": "pt",
|
||||
"@@last_modified": "2024-05-06T21:26:00.000Z",
|
||||
"appTitle": "Assistente de Estudo IA",
|
||||
"@appTitle": {
|
||||
"description": "Title of the application"
|
||||
},
|
||||
"schoolName": "Escola Profissional de Vila do Conde",
|
||||
"@schoolName": {
|
||||
"description": "Name of the school"
|
||||
},
|
||||
"welcomeBack": "Bem-vindo de volta",
|
||||
"@welcomeBack": {
|
||||
"description": "Welcome back message on login screen"
|
||||
},
|
||||
"signInToContinue": "Inicie sessão para continuar a aprender",
|
||||
"@signInToContinue": {
|
||||
"description": "Subtitle on login screen"
|
||||
},
|
||||
"email": "Email",
|
||||
"@email": {
|
||||
"description": "Email field label"
|
||||
},
|
||||
"password": "Palavra-passe",
|
||||
"@password": {
|
||||
"description": "Password field label"
|
||||
},
|
||||
"enterYourEmail": "Introduza o seu email",
|
||||
"@enterYourEmail": {
|
||||
"description": "Email field hint"
|
||||
},
|
||||
"enterYourPassword": "Introduza a sua palavra-passe",
|
||||
"@enterYourPassword": {
|
||||
"description": "Password field hint"
|
||||
},
|
||||
"signIn": "Iniciar Sessão",
|
||||
"@signIn": {
|
||||
"description": "Sign in button text"
|
||||
},
|
||||
"dontHaveAccount": "Não tem uma conta? ",
|
||||
"@dontHaveAccount": {
|
||||
"description": "Sign up prompt text"
|
||||
},
|
||||
"signUp": "Registar-se",
|
||||
"@signUp": {
|
||||
"description": "Sign up link text"
|
||||
},
|
||||
"createAccount": "Criar Conta",
|
||||
"@createAccount": {
|
||||
"description": "Create account title"
|
||||
},
|
||||
"joinOurCommunity": "Junte-se à nossa comunidade de aprendizagem",
|
||||
"@joinOurCommunity": {
|
||||
"description": "Sign up subtitle"
|
||||
},
|
||||
"confirmPassword": "Confirmar palavra-passe",
|
||||
"@confirmPassword": {
|
||||
"description": "Confirm password field label"
|
||||
},
|
||||
"confirmYourPassword": "Confirme a sua palavra-passe",
|
||||
"@confirmYourPassword": {
|
||||
"description": "Confirm password field hint"
|
||||
},
|
||||
"signUpButton": "Registar",
|
||||
"@signUpButton": {
|
||||
"description": "Sign up button text"
|
||||
},
|
||||
"alreadyHaveAccount": "Já tem uma conta? ",
|
||||
"@alreadyHaveAccount": {
|
||||
"description": "Login prompt text"
|
||||
},
|
||||
"login": "Iniciar Sessão",
|
||||
"@login": {
|
||||
"description": "Login link text"
|
||||
},
|
||||
"studentDashboard": "Painel do Aluno",
|
||||
"@studentDashboard": {
|
||||
"description": "Student dashboard title"
|
||||
},
|
||||
"teacherDashboard": "Painel do Professor",
|
||||
"@teacherDashboard": {
|
||||
"description": "Teacher dashboard title"
|
||||
},
|
||||
"aiTutor": "Tutor IA",
|
||||
"@aiTutor": {
|
||||
"description": "AI Tutor title"
|
||||
},
|
||||
"quizzes": "Questionários",
|
||||
"@quizzes": {
|
||||
"description": "Quizzes title"
|
||||
},
|
||||
"profile": "Perfil",
|
||||
"@profile": {
|
||||
"description": "Profile title"
|
||||
},
|
||||
"pageNotFound": "Página Não Encontrada",
|
||||
"@pageNotFound": {
|
||||
"description": "Page not found title"
|
||||
},
|
||||
"loading": "A carregar...",
|
||||
"@loading": {
|
||||
"description": "Loading message"
|
||||
},
|
||||
"error": {
|
||||
"pleaseEnterEmail": "Por favor, introduza o seu email",
|
||||
"pleaseEnterValidEmail": "Por favor, introduza um email válido",
|
||||
"pleaseEnterPassword": "Por favor, introduza a sua palavra-passe",
|
||||
"passwordTooShort": "A palavra-passe deve ter pelo menos 6 caracteres",
|
||||
"passwordsDoNotMatch": "As palavras-passe não coincidem",
|
||||
"loginFailed": "Falha no início de sessão",
|
||||
"signupFailed": "Falha no registo"
|
||||
},
|
||||
"@@error": {
|
||||
"description": "Error messages"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user