|
|
|
|
|
LANDING_TRANSLATIONS = { |
|
'en': { |
|
|
|
'select_language': "Select language", |
|
|
|
|
|
'login': "Login", |
|
'register': "Sign Up", |
|
|
|
|
|
'email': "Email", |
|
'password': "Password", |
|
'login_button': "Login", |
|
'invalid_credentials': "Invalid credentials", |
|
|
|
|
|
'name': "Name", |
|
'lastname': "Last Name", |
|
'institution': "Institution", |
|
'current_role': "Role in your institution", |
|
'professor': "Professor", |
|
'student': "Student", |
|
'administrative': "Administrative", |
|
'institutional_email': "Institutional email", |
|
'interest_reason': "Why are you interested in trying AIdeaText?", |
|
'submit_application': "Submit application", |
|
'complete_all_fields': "Please complete all fields.", |
|
'use_institutional_email': "Please use an institutional email.", |
|
'application_sent': "Your application has been sent. We will contact you soon.", |
|
'application_error': "There was a problem sending your application. Please try again later.", |
|
|
|
|
|
'use_cases': "Use Cases", |
|
'presentation_videos': "Presentation Videos", |
|
'academic_presentations': "Academic Presentations", |
|
'event_photos': "Event Photos", |
|
'version_control': "Version Control", |
|
|
|
|
|
'select_use_case': "Select a use case in English or Spanish:", |
|
'select_presentation': "Select a presentation:", |
|
|
|
|
|
'latest_version_title': "Latest Version Updates", |
|
'version_updates': [ |
|
"Improved interface for a better user experience", |
|
"Optimization of morphosyntactic analysis", |
|
"Support for multiple languages", |
|
"New discourse analysis module", |
|
"Integrated chat system for support" |
|
] |
|
}, |
|
'es': { |
|
|
|
'select_language': "Selecciona tu idioma", |
|
|
|
|
|
'login': "Iniciar Sesión", |
|
'register': "Registrarse", |
|
|
|
|
|
'email': "Correo electrónico", |
|
'password': "Contraseña", |
|
'login_button': "Iniciar Sesión", |
|
'invalid_credentials': "Credenciales incorrectas", |
|
|
|
|
|
'name': "Nombre", |
|
'lastname': "Apellidos", |
|
'institution': "Institución", |
|
'current_role': "Rol en la institución donde labora", |
|
'professor': "Profesor", |
|
'student': "Estudiante", |
|
'administrative': "Administrativo", |
|
'institutional_email': "Correo electrónico de su institución", |
|
'interest_reason': "¿Por qué estás interesado en probar AIdeaText?", |
|
'submit_application': "Enviar solicitud", |
|
'complete_all_fields': "Por favor, completa todos los campos.", |
|
'use_institutional_email': "Por favor, utiliza un correo electrónico institucional.", |
|
'application_sent': "Tu solicitud ha sido enviada. Te contactaremos pronto.", |
|
'application_error': "Hubo un problema al enviar tu solicitud. Por favor, intenta de nuevo más tarde.", |
|
|
|
|
|
'use_cases': "Casos de uso", |
|
'presentation_videos': "Videos de presentaciones", |
|
'academic_presentations': "Ponencias académicas", |
|
'event_photos': "Fotos de eventos", |
|
'version_control': "Control de versiones", |
|
|
|
|
|
'select_use_case': "Selecciona un caso de uso en español o en inglés:", |
|
'select_presentation': "Selecciona una conferencia:", |
|
|
|
|
|
'latest_version_title': "Novedades de la versión actual", |
|
'version_updates': [ |
|
"Interfaz mejorada para una mejor experiencia de usuario", |
|
"Optimización del análisis morfosintáctico", |
|
"Soporte para múltiples idiomas", |
|
"Nuevo módulo de análisis del discurso", |
|
"Sistema de chat integrado para soporte" |
|
] |
|
}, |
|
'fr': { |
|
|
|
'select_language': "Sélectionner la langue", |
|
|
|
|
|
'login': "Se connecter", |
|
'register': "S'inscrire", |
|
|
|
|
|
'email': "E-mail", |
|
'password': "Mot de passe", |
|
'login_button': "Se connecter", |
|
'invalid_credentials': "Identifiants incorrects", |
|
|
|
|
|
'name': "Nom", |
|
'lastname': "Nom de famille", |
|
'institution': "Institution", |
|
'current_role': "Rôle dans votre institution", |
|
'professor': "Professeur", |
|
'student': "Étudiant", |
|
'administrative': "Administratif", |
|
'institutional_email': "E-mail institutionnel", |
|
'interest_reason': "Pourquoi êtes-vous intéressé à essayer AIdeaText?", |
|
'submit_application': "Soumettre la demande", |
|
'complete_all_fields': "Veuillez remplir tous les champs.", |
|
'use_institutional_email': "Veuillez utiliser un e-mail institutionnel.", |
|
'application_sent': "Votre demande a été envoyée. Nous vous contacterons bientôt.", |
|
'application_error': "Un problème est survenu lors de l'envoi de votre demande. Veuillez réessayer plus tard.", |
|
|
|
|
|
'use_cases': "Cas d'utilisation", |
|
'presentation_videos': "Vidéos de présentation", |
|
'academic_presentations': "Présentations académiques", |
|
'event_photos': "Photos d'événements", |
|
'version_control': "Contrôle de version", |
|
|
|
|
|
'select_use_case': "Sélectionnez un cas d'utilisation en français ou en anglais:", |
|
'select_presentation': "Sélectionnez une conférence:", |
|
|
|
|
|
'latest_version_title': "Mises à jour de la dernière version", |
|
'version_updates': [ |
|
"Interface améliorée pour une meilleure expérience utilisateur", |
|
"Optimisation de l'analyse morphosyntaxique", |
|
"Support pour plusieurs langues", |
|
"Nouveau module d'analyse du discours", |
|
"Système de chat intégré pour le support" |
|
] |
|
}, |
|
'pt': { |
|
|
|
'select_language': "Selecionar idioma", |
|
|
|
|
|
'login': "Entrar", |
|
'register': "Registrar-se", |
|
|
|
|
|
'email': "Email", |
|
'password': "Senha", |
|
'login_button': "Entrar", |
|
'invalid_credentials': "Credenciais inválidas", |
|
|
|
|
|
'name': "Nome", |
|
'lastname': "Sobrenome", |
|
'institution': "Instituição", |
|
'current_role': "Função na sua instituição", |
|
'professor': "Professor", |
|
'student': "Estudante", |
|
'administrative': "Administrativo", |
|
'institutional_email': "Email institucional", |
|
'interest_reason': "Por que você está interessado em experimentar o AIdeaText?", |
|
'submit_application': "Enviar solicitação", |
|
'complete_all_fields': "Por favor, preencha todos os campos.", |
|
'use_institutional_email': "Por favor, use um email institucional.", |
|
'application_sent': "Sua solicitação foi enviada. Entraremos em contato em breve.", |
|
'application_error': "Houve um problema ao enviar sua solicitação. Por favor, tente novamente mais tarde.", |
|
|
|
|
|
'use_cases': "Casos de uso", |
|
'presentation_videos': "Vídeos de apresentação", |
|
'academic_presentations': "Apresentações acadêmicas", |
|
'event_photos': "Fotos de eventos", |
|
'version_control': "Controle de versão", |
|
|
|
|
|
'select_use_case': "Selecione um caso de uso em português ou inglês:", |
|
'select_presentation': "Selecione uma conferência:", |
|
|
|
|
|
'latest_version_title': "Atualizações da versão mais recente", |
|
'version_updates': [ |
|
"Interface melhorada para uma melhor experiência do usuário", |
|
"Otimização da análise morfossintática", |
|
"Suporte para vários idiomas", |
|
"Novo módulo de análise do discurso", |
|
"Sistema de chat integrado para suporte" |
|
] |
|
} |
|
} |
|
|
|
def get_landing_translations(lang_code): |
|
""" |
|
Get translations for the landing page based on language code. |
|
|
|
Args: |
|
lang_code (str): Language code ('en', 'es', 'fr', 'pt') |
|
|
|
Returns: |
|
dict: Dictionary with translations for the landing page |
|
""" |
|
|
|
if lang_code not in LANDING_TRANSLATIONS: |
|
lang_code = 'es' |
|
|
|
return LANDING_TRANSLATIONS[lang_code] |