From 9edfbcdc93ba6f6ab119657bfe00f32da1fcbaff Mon Sep 17 00:00:00 2001 From: Tiago Yamamoto Date: Mon, 15 Dec 2025 10:04:08 -0300 Subject: [PATCH] =?UTF-8?q?fix(i18n):=20=F0=9F=8C=8D=20home=20page=20now?= =?UTF-8?q?=20uses=20translations=20properly?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/app/page.tsx | 42 ++++++++++--------- frontend/src/i18n/en.json | 76 ++++++++++++----------------------- frontend/src/i18n/es.json | 78 ++++++++++++------------------------ frontend/src/i18n/pt-BR.json | 76 ++++++++++++----------------------- 4 files changed, 98 insertions(+), 174 deletions(-) diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx index 5ac65b4..b92f738 100644 --- a/frontend/src/app/page.tsx +++ b/frontend/src/app/page.tsx @@ -11,11 +11,13 @@ import { FileText, CheckCircle, ArrowRight, Building2, Users } from "lucide-reac import Link from "next/link" import { motion } from "framer-motion" import Image from "next/image" +import { useTranslation } from "@/lib/i18n" import { useState, useEffect } from "react" import type { Job } from "@/lib/types" export default function HomePage() { + const { t } = useTranslation() const [featuredJobs, setFeaturedJobs] = useState([]) const [loading, setLoading] = useState(true) @@ -70,7 +72,7 @@ export default function HomePage() { transition={{ duration: 0.5 }} className="text-4xl sm:text-5xl lg:text-6xl font-bold text-balance mb-6" > - Encontre o emprego certo, de forma simples + {t('home.hero.title')} - Conectamos candidatos e empresas de forma rápida e direta + {t('home.hero.subtitle')} @@ -125,8 +127,8 @@ export default function HomePage() {
-

Vagas em Destaque

-

Oportunidades selecionadas para você

+

{t('home.featured.title')}

+

{t('home.featured.subtitle')}

@@ -146,7 +148,7 @@ export default function HomePage() {
@@ -161,8 +163,8 @@ export default function HomePage() {
-

Como Funciona?

-

Três passos simples para sua próxima oportunidade

+

{t('home.howItWorks.title')}

+

{t('home.howItWorks.subtitle')}

@@ -176,8 +178,8 @@ export default function HomePage() {
-

1. Cadastre-se

-

Crie seu perfil gratuitamente em poucos minutos

+

{t('home.howItWorks.step1.title')}

+

{t('home.howItWorks.step1.description')}

-

2. Envie seu currículo

-

Adicione suas experiências e habilidades

+

{t('home.howItWorks.step2.title')}

+

{t('home.howItWorks.step2.description')}

-

3. Seja encontrado

-

Receba ofertas de empresas interessadas

+

{t('home.howItWorks.step3.title')}

+

{t('home.howItWorks.step3.description')}

@@ -215,8 +217,8 @@ export default function HomePage() {
-

O que nossos usuários dizem?

-

Histórias de sucesso de quem encontrou sua oportunidade

+

{t('home.testimonials.title')}

+

{t('home.testimonials.subtitle')}

@@ -253,14 +255,14 @@ export default function HomePage() {
{/* Text Content */} -

Pronto para começar?

+

{t('home.cta.title')}

- Crie seu perfil gratuito e comece a receber ofertas de emprego hoje mesmo! + {t('home.cta.subtitle')}

diff --git a/frontend/src/i18n/en.json b/frontend/src/i18n/en.json index a43c108..a3c2689 100644 --- a/frontend/src/i18n/en.json +++ b/frontend/src/i18n/en.json @@ -8,8 +8,10 @@ }, "home": { "hero": { - "title": "Find your next opportunity", - "subtitle": "6 jobs available at the best companies" + "title": "Find the right job, the simple way", + "subtitle": "Connecting candidates and companies quickly and directly", + "searchJobs": "Search jobs", + "imCompany": "I'm a company" }, "featured": { "title": "Featured Jobs", @@ -17,64 +19,36 @@ "viewAll": "View all jobs" }, "howItWorks": { - "title": "How it works", + "title": "How it works?", "subtitle": "Three simple steps to your next opportunity", - "step1": { - "title": "Browse Jobs", - "description": "Explore hundreds of opportunities from top companies" - }, - "step2": { - "title": "Apply Easily", - "description": "One-click applications with your profile" - }, - "step3": { - "title": "Get Hired", - "description": "Land your dream job and start your new journey" - } + "step1": { "title": "1. Sign up", "description": "Create your free profile in just a few minutes" }, + "step2": { "title": "2. Send your resume", "description": "Add your experiences and skills" }, + "step3": { "title": "3. Get found", "description": "Receive offers from interested companies" } + }, + "testimonials": { + "title": "What our users say?", + "subtitle": "Success stories from those who found their opportunity" + }, + "cta": { + "title": "Ready to start?", + "subtitle": "Create your free profile and start receiving job offers today!", + "button": "Create free profile" } }, "jobs": { "title": "Find your next opportunity", "subtitle": "{count} jobs available at the best companies", "search": "Search jobs by title, company...", - "filters": { - "all": "All", - "onsite": "On-site", - "hybrid": "Hybrid", - "remote": "Remote", - "workMode": "Work Mode" - }, - "card": { - "viewDetails": "View details", - "apply": "Apply now", - "perMonth": "/month", - "postedAgo": "Posted {time} ago" - }, - "pagination": { - "previous": "Previous", - "next": "Next", - "showing": "Showing {from} to {to} of {total} jobs" - } - }, - "workMode": { - "onsite": "On-site", - "hybrid": "Hybrid", - "remote": "Remote" + "filters": { "all": "All", "onsite": "On-site", "hybrid": "Hybrid", "remote": "Remote", "workMode": "Work Mode" }, + "card": { "viewDetails": "View details", "apply": "Apply now", "perMonth": "/month", "postedAgo": "Posted {time} ago" }, + "pagination": { "previous": "Previous", "next": "Next", "showing": "Showing {from} to {to} of {total} jobs" } }, + "workMode": { "onsite": "On-site", "hybrid": "Hybrid", "remote": "Remote" }, "footer": { - "company": "Company", - "about": "About", - "careers": "Careers", - "jobsByTech": "Jobs by Technology", - "legal": "Legal", - "privacy": "Privacy Policy", - "terms": "Terms of Use", + "company": "Company", "about": "About", "careers": "Careers", + "jobsByTech": "Jobs by Technology", "legal": "Legal", + "privacy": "Privacy Policy", "terms": "Terms of Use", "copyright": "© {year} GoHorse Jobs. All rights reserved." }, - "common": { - "loading": "Loading...", - "error": "Error", - "retry": "Retry", - "noResults": "No results found" - } + "common": { "loading": "Loading...", "error": "Error", "retry": "Retry", "noResults": "No results found" } } diff --git a/frontend/src/i18n/es.json b/frontend/src/i18n/es.json index 5a0c8fe..2040e2a 100644 --- a/frontend/src/i18n/es.json +++ b/frontend/src/i18n/es.json @@ -8,8 +8,10 @@ }, "home": { "hero": { - "title": "Encuentra tu próxima oportunidad", - "subtitle": "6 empleos disponibles en las mejores empresas" + "title": "Encuentra el empleo correcto, de forma sencilla", + "subtitle": "Conectamos candidatos y empresas de forma rápida y directa", + "searchJobs": "Buscar empleos", + "imCompany": "Soy empresa" }, "featured": { "title": "Empleos Destacados", @@ -17,64 +19,36 @@ "viewAll": "Ver todos los empleos" }, "howItWorks": { - "title": "Cómo funciona", - "subtitle": "Tres pasos simples para tu próxima oportunidad", - "step1": { - "title": "Buscar Empleos", - "description": "Explora cientos de oportunidades en las mejores empresas" - }, - "step2": { - "title": "Postúlate Fácil", - "description": "Postulaciones con un clic usando tu perfil" - }, - "step3": { - "title": "Consigue el Trabajo", - "description": "Obtén el trabajo de tus sueños y comienza tu nueva jornada" - } + "title": "¿Cómo funciona?", + "subtitle": "Tres pasos sencillos para tu próxima oportunidad", + "step1": { "title": "1. Regístrate", "description": "Crea tu perfil gratis en pocos minutos" }, + "step2": { "title": "2. Envía tu currículum", "description": "Agrega tus experiencias y habilidades" }, + "step3": { "title": "3. Sé encontrado", "description": "Recibe ofertas de empresas interesadas" } + }, + "testimonials": { + "title": "¿Qué dicen nuestros usuarios?", + "subtitle": "Historias de éxito de quienes encontraron su oportunidad" + }, + "cta": { + "title": "¿Listo para empezar?", + "subtitle": "¡Crea tu perfil gratis y comienza a recibir ofertas de empleo hoy!", + "button": "Crear perfil gratis" } }, "jobs": { "title": "Encuentra tu próxima oportunidad", "subtitle": "{count} empleos disponibles en las mejores empresas", "search": "Buscar empleos por título, empresa...", - "filters": { - "all": "Todos", - "onsite": "Presencial", - "hybrid": "Híbrido", - "remote": "Remoto", - "workMode": "Modalidad" - }, - "card": { - "viewDetails": "Ver detalles", - "apply": "Postularse", - "perMonth": "/mes", - "postedAgo": "Publicado hace {time}" - }, - "pagination": { - "previous": "Anterior", - "next": "Siguiente", - "showing": "Mostrando {from} a {to} de {total} empleos" - } - }, - "workMode": { - "onsite": "Presencial", - "hybrid": "Híbrido", - "remote": "Remoto" + "filters": { "all": "Todos", "onsite": "Presencial", "hybrid": "Híbrido", "remote": "Remoto", "workMode": "Modalidad" }, + "card": { "viewDetails": "Ver detalles", "apply": "Postularse", "perMonth": "/mes", "postedAgo": "Publicado hace {time}" }, + "pagination": { "previous": "Anterior", "next": "Siguiente", "showing": "Mostrando {from} a {to} de {total} empleos" } }, + "workMode": { "onsite": "Presencial", "hybrid": "Híbrido", "remote": "Remoto" }, "footer": { - "company": "Empresa", - "about": "Sobre", - "careers": "Carreras", - "jobsByTech": "Empleos por Tecnología", - "legal": "Legal", - "privacy": "Política de Privacidad", - "terms": "Términos de Uso", + "company": "Empresa", "about": "Sobre", "careers": "Carreras", + "jobsByTech": "Empleos por Tecnología", "legal": "Legal", + "privacy": "Política de Privacidad", "terms": "Términos de Uso", "copyright": "© {year} GoHorse Jobs. Todos los derechos reservados." }, - "common": { - "loading": "Cargando...", - "error": "Error", - "retry": "Reintentar", - "noResults": "No se encontraron resultados" - } + "common": { "loading": "Cargando...", "error": "Error", "retry": "Reintentar", "noResults": "No se encontraron resultados" } } diff --git a/frontend/src/i18n/pt-BR.json b/frontend/src/i18n/pt-BR.json index 8184e75..3702a38 100644 --- a/frontend/src/i18n/pt-BR.json +++ b/frontend/src/i18n/pt-BR.json @@ -8,8 +8,10 @@ }, "home": { "hero": { - "title": "Encontre sua próxima oportunidade", - "subtitle": "6 vagas disponíveis nas melhores empresas" + "title": "Encontre o emprego certo, de forma simples", + "subtitle": "Conectamos candidatos e empresas de forma rápida e direta", + "searchJobs": "Procurar vagas", + "imCompany": "Sou empresa" }, "featured": { "title": "Vagas em Destaque", @@ -17,64 +19,36 @@ "viewAll": "Ver todas as vagas" }, "howItWorks": { - "title": "Como Funciona", + "title": "Como Funciona?", "subtitle": "Três passos simples para sua próxima oportunidade", - "step1": { - "title": "Buscar Vagas", - "description": "Explore centenas de oportunidades nas melhores empresas" - }, - "step2": { - "title": "Candidate-se Fácil", - "description": "Candidatura com um clique usando seu perfil" - }, - "step3": { - "title": "Seja Contratado", - "description": "Conquiste o trabalho dos seus sonhos e comece sua nova jornada" - } + "step1": { "title": "1. Cadastre-se", "description": "Crie seu perfil gratuitamente em poucos minutos" }, + "step2": { "title": "2. Envie seu currículo", "description": "Adicione suas experiências e habilidades" }, + "step3": { "title": "3. Seja encontrado", "description": "Receba ofertas de empresas interessadas" } + }, + "testimonials": { + "title": "O que nossos usuários dizem?", + "subtitle": "Histórias de sucesso de quem encontrou sua oportunidade" + }, + "cta": { + "title": "Pronto para começar?", + "subtitle": "Crie seu perfil gratuito e comece a receber ofertas de emprego hoje mesmo!", + "button": "Criar perfil gratuito" } }, "jobs": { "title": "Encontre sua próxima oportunidade", "subtitle": "{count} vagas disponíveis nas melhores empresas", "search": "Buscar vagas por título, empresa...", - "filters": { - "all": "Todas", - "onsite": "Presencial", - "hybrid": "Híbrido", - "remote": "Remoto", - "workMode": "Modalidade" - }, - "card": { - "viewDetails": "Ver detalhes", - "apply": "Candidatar-se", - "perMonth": "/mês", - "postedAgo": "Publicada há {time}" - }, - "pagination": { - "previous": "Anterior", - "next": "Próximo", - "showing": "Mostrando {from} a {to} de {total} vagas" - } - }, - "workMode": { - "onsite": "Presencial", - "hybrid": "Híbrido", - "remote": "Remoto" + "filters": { "all": "Todas", "onsite": "Presencial", "hybrid": "Híbrido", "remote": "Remoto", "workMode": "Modalidade" }, + "card": { "viewDetails": "Ver detalhes", "apply": "Candidatar-se", "perMonth": "/mês", "postedAgo": "Publicada há {time}" }, + "pagination": { "previous": "Anterior", "next": "Próximo", "showing": "Mostrando {from} a {to} de {total} vagas" } }, + "workMode": { "onsite": "Presencial", "hybrid": "Híbrido", "remote": "Remoto" }, "footer": { - "company": "Empresa", - "about": "Sobre", - "careers": "Carreiras", - "jobsByTech": "Vagas por Tecnologia", - "legal": "Legal", - "privacy": "Política de Privacidade", - "terms": "Termos de Uso", + "company": "Empresa", "about": "Sobre", "careers": "Carreiras", + "jobsByTech": "Vagas por Tecnologia", "legal": "Legal", + "privacy": "Política de Privacidade", "terms": "Termos de Uso", "copyright": "© {year} GoHorse Jobs. Todos os direitos reservados." }, - "common": { - "loading": "Carregando...", - "error": "Erro", - "retry": "Tentar novamente", - "noResults": "Nenhum resultado encontrado" - } + "common": { "loading": "Carregando...", "error": "Erro", "retry": "Tentar novamente", "noResults": "Nenhum resultado encontrado" } }