home page about and 4 card section language updated
This commit is contained in:
parent
1494e376c2
commit
47d20d5f26
@ -38,9 +38,9 @@ const Services = [
|
||||
{
|
||||
Id: '1',
|
||||
sImgS: sImgS1,
|
||||
sTitle: 'Family Immigration',
|
||||
sTitle: 'familyImmigration.sTitle',
|
||||
slug: 'family-immigration',
|
||||
description: 'Reunite with loved ones via green cards, fiancé visas, and petitions from filing to processing.',
|
||||
description: 'familyImmigration.description',
|
||||
des3: 'One way to categorize the activities is in terms of the professional’s area of expertise such as competitive analysis, corporate strategy the activities',
|
||||
iconImg: iconImg1,
|
||||
ssImg1: sSingleimg1,
|
||||
@ -49,9 +49,9 @@ const Services = [
|
||||
{
|
||||
Id: '2',
|
||||
sImgS: sImgS2,
|
||||
sTitle: 'Employment Visas',
|
||||
sTitle: 'employmentVisas.sTitle',
|
||||
slug: 'employment-visas',
|
||||
description: 'Build your U.S. career with H-1B, L-1, O-1, EB visas, expert support for professionals, investors.',
|
||||
description: 'employmentVisas.description',
|
||||
des2: 'Lacus, etiam sed est eu tempus need Temer diam congue laoret .',
|
||||
des3: 'One way to categorize the activities is in terms of the professional’s area of expertise such as competitive analysis, corporate strategy the activities',
|
||||
iconImg: iconImg2,
|
||||
@ -61,9 +61,9 @@ const Services = [
|
||||
{
|
||||
Id: '3',
|
||||
sImgS: sImgS3,
|
||||
sTitle: 'Deportation Defense',
|
||||
sTitle: 'deportationDefense.sTitle',
|
||||
slug: 'deportation-defense',
|
||||
description: 'Protect your stay with removal cancellation, asylum claims, and strong representation.',
|
||||
description: 'deportationDefense.description',
|
||||
des2: 'Lacus, etiam sed est eu tempus need Temer diam congue laoret .',
|
||||
des3: 'One way to categorize the activities is in terms of the professional’s area of expertise such as competitive analysis, corporate strategy the activities',
|
||||
iconImg: iconImg3,
|
||||
@ -73,9 +73,9 @@ const Services = [
|
||||
{
|
||||
Id: '4',
|
||||
sImgS: sImgS4,
|
||||
sTitle: 'Citizenship Services',
|
||||
sTitle: 'citizenship.sTitle',
|
||||
slug: 'citizenship-services',
|
||||
description: 'Achieve citizenship with naturalization help, test, and guidance on residency requirements.',
|
||||
description: 'citizenship.description',
|
||||
des2: 'Lacus, etiam sed est eu tempus need Temer diam congue laoret .',
|
||||
des3: 'One way to categorize the activities is in terms of the professional’s area of expertise such as competitive analysis, corporate strategy the activities',
|
||||
iconImg: iconImg4,
|
||||
|
||||
@ -6,7 +6,7 @@ import Link from 'next/link'
|
||||
import SectionTitle from "../SectionTitle/SectionTitle";
|
||||
import Services from '../../api/service'
|
||||
import Image from "next/image";
|
||||
|
||||
import { useTranslation } from 'next-i18next';
|
||||
|
||||
const settings = {
|
||||
dots: true,
|
||||
@ -65,6 +65,8 @@ const ClickHandler = () => {
|
||||
}
|
||||
|
||||
const Features = (props) => {
|
||||
const { t } = useTranslation('home4Card');
|
||||
|
||||
return (
|
||||
<section className={`wpo-service-section section-padding ${props.sClass}`}>
|
||||
<div className="container">
|
||||
@ -75,21 +77,21 @@ const Features = (props) => {
|
||||
<div className="grid" key={srv}>
|
||||
<div className="wpo-service-item">
|
||||
<div className="wpo-service-text">
|
||||
|
||||
<div className="service-icon">
|
||||
|
||||
<div className="service-icon">
|
||||
<Image
|
||||
src={service.iconImg}
|
||||
alt={service.sTitle}
|
||||
alt={t(service.sTitle)}
|
||||
width={50}
|
||||
height={50}
|
||||
/>
|
||||
</div>
|
||||
{/* <h2><Link onClick={ClickHandler} href={'/service-single/[slug]'} as={`/service-single/${service.slug}`}>{service.sTitle}</Link></h2> */}
|
||||
<h2 className="text-white">{service.sTitle}</h2>
|
||||
<h2 className="text-white">{t(service.sTitle)}</h2>
|
||||
<p>
|
||||
{service.description.length > 100
|
||||
? service.description.slice(0, 100) + "..."
|
||||
: service.description}
|
||||
{t(service.description).length > 100
|
||||
? t(service.description).slice(0, 100) + "..."
|
||||
: t(service.description)}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,9 +1,16 @@
|
||||
import React from 'react'
|
||||
import sign from '/public/images/signeture.png'
|
||||
import React from 'react';
|
||||
import sign from '/public/images/signeture.png';
|
||||
import Image from 'next/image';
|
||||
import Link from 'next/link';
|
||||
import { useTranslation } from 'next-i18next';
|
||||
|
||||
const About = (props) => {
|
||||
const { t } = useTranslation('(home)/homeAbout');
|
||||
|
||||
// Ensure paragraphs is an array to avoid runtime errors
|
||||
const paragraphs = t('paragraphs', { returnObjects: true });
|
||||
const paragraphList = Array.isArray(paragraphs) ? paragraphs : [];
|
||||
|
||||
return (
|
||||
<section className={`wpo-about-section section-padding ${props.abClass}`}>
|
||||
<div className="container">
|
||||
@ -11,44 +18,7 @@ const About = (props) => {
|
||||
<div className="row align-items-center">
|
||||
<div className="col-lg-6 col-md-12 col-12 order-2 order-lg-1">
|
||||
<div className="wpo-about-img">
|
||||
<Image src={props.introImg} alt="" />
|
||||
{/* <div className="wpo-about-img-text">
|
||||
<h4>1998</h4>
|
||||
|
||||
<div className="rotate-text">
|
||||
<span>W</span>
|
||||
<span>e</span>
|
||||
<span>A</span>
|
||||
<span>r</span>
|
||||
<span>e</span>
|
||||
<span>W</span>
|
||||
<span>o</span>
|
||||
<span>r</span>
|
||||
<span>k</span>
|
||||
<span>i</span>
|
||||
<span>n</span>
|
||||
<span>g</span>
|
||||
<span>F</span>
|
||||
<span>o</span>
|
||||
<span>r</span>
|
||||
<span>Y</span>
|
||||
<span>o</span>
|
||||
<span>u</span>
|
||||
<span>S</span>
|
||||
<span>i</span>
|
||||
<span>n</span>
|
||||
<span>c</span>
|
||||
<span>e</span>
|
||||
</div>
|
||||
<div className="dots">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</div>
|
||||
<div className="border-shape-1"></div>
|
||||
<div className="border-shape-2"></div>
|
||||
<div className="border-shape-3"></div>
|
||||
</div> */}
|
||||
<Image src={props.introImg} alt="About image" />
|
||||
<div className="about-shape">
|
||||
<div className="shape-1"></div>
|
||||
<div className="shape-2"></div>
|
||||
@ -57,22 +27,25 @@ const About = (props) => {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="col-lg-6 col-md-12 col-12 order-1 order-lg-2 mb-5">
|
||||
<div className="wpo-about-text">
|
||||
<div className="wpo-section-title">
|
||||
<span>Expert Immigration Guidance</span>
|
||||
<h2>We Turn Immigration Challenges Into Success Stories</h2>
|
||||
<span>{t('expertGuidance')}</span>
|
||||
<h2>{t('mainTitle')}</h2>
|
||||
</div>
|
||||
<p>Every immigration case tells a unique story of hope, determination, and the pursuit of the American dream. At Janahan law, we understand that behind every petition, application, and legal document is a real person with real dreams.</p>
|
||||
<p>Our comprehensive approach combines decades of legal expertise with genuine care for our clients' futures. Whether you're seeking to reunite with family, advance your career, or find safety and protection in America, we provide the skilled advocacy and personal attention your case deserves.
|
||||
</p>
|
||||
<p>
|
||||
From the initial consultation through the final approval, we stand with you every step of the way, ensuring no detail is overlooked and no opportunity is missed.
|
||||
</p>
|
||||
|
||||
{paragraphList.map((para, index) => (
|
||||
<p key={index}>{para}</p>
|
||||
))}
|
||||
|
||||
<div className="quote">
|
||||
<p>“We believe every family deserves the chance to stay together, every professional deserves to pursue their career, and every person deserves safety and opportunity.”</p>
|
||||
<p>{t('quote')}</p>
|
||||
</div>
|
||||
{/* <div className="wpo-about-left-info">
|
||||
|
||||
{/* Optional signature block */}
|
||||
{/*
|
||||
<div className="wpo-about-left-info">
|
||||
<div className="wpo-about-left-inner">
|
||||
<div className="wpo-about-left-text">
|
||||
<h5>Robert Willum</h5>
|
||||
@ -80,14 +53,14 @@ const About = (props) => {
|
||||
</div>
|
||||
</div>
|
||||
<div className="signeture">
|
||||
<Image src={sign} alt="" />
|
||||
<Image src={sign} alt="Signature" />
|
||||
</div>
|
||||
</div> */}
|
||||
</div>
|
||||
*/}
|
||||
|
||||
<div className="close-form mt-5">
|
||||
<Link className="theme-btn" href="/about"><span className="text">Know More</span>
|
||||
{/* <span className="mobile">
|
||||
<i className="fi flaticon-charity"></i>
|
||||
</span> */}
|
||||
<Link className="theme-btn" href="/about">
|
||||
<span className="text">{t('buttonText')}</span>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
@ -96,7 +69,7 @@ const About = (props) => {
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
)
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export default About;
|
||||
export default About;
|
||||
|
||||
@ -4,7 +4,7 @@ module.exports = {
|
||||
locales: ['en', 'es'],
|
||||
localeDetection: false,
|
||||
},
|
||||
ns: ['common', 'menu', 'homeHero'],
|
||||
ns: ['common', 'menu', 'homeHero', 'home4Card'],
|
||||
defaultNS: 'common',
|
||||
// localePath: './public/locales',
|
||||
};
|
||||
@ -18,5 +18,5 @@ module.exports = {
|
||||
// Vidhya
|
||||
|
||||
|
||||
// Alagu Raj
|
||||
// Alagu Raj - 'home4card', '(home)/homeAbout'
|
||||
|
||||
|
||||
@ -40,7 +40,7 @@ export default HomePage;
|
||||
export async function getStaticProps({ locale }) {
|
||||
return {
|
||||
props: {
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'homeHero'])), // Add 'home', 'footer', etc. if needed
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'homeHero', 'home4Card', '(home)/homeAbout'])), // Add 'home', 'footer', etc. if needed
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
11
public/locales/en/(home)/homeAbout.json
Normal file
11
public/locales/en/(home)/homeAbout.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"expertGuidance": "Expert Immigration Guidance",
|
||||
"mainTitle": "We Turn Immigration Challenges Into Success Stories",
|
||||
"paragraphs": [
|
||||
"Every immigration case tells a unique story of hope, determination, and the pursuit of the American dream. At Janahan law, we understand that behind every petition, application, and legal document is a real person with real dreams.",
|
||||
"Our comprehensive approach combines decades of legal expertise with genuine care for our clients' futures. Whether you're seeking to reunite with family, advance your career, or find safety and protection in America, we provide the skilled advocacy and personal attention your case deserves.",
|
||||
"From the initial consultation through the final approval, we stand with you every step of the way, ensuring no detail is overlooked and no opportunity is missed."
|
||||
],
|
||||
"quote": "“We believe every family deserves the chance to stay together, every professional deserves to pursue their career, and every person deserves safety and opportunity.”",
|
||||
"buttonText": "Know More"
|
||||
}
|
||||
18
public/locales/en/home4Card.json
Normal file
18
public/locales/en/home4Card.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"familyImmigration": {
|
||||
"sTitle": "Family Immigration",
|
||||
"description": "Reunite with loved ones via green cards, fiancé visas, and petitions from filing to processing."
|
||||
},
|
||||
"employmentVisas": {
|
||||
"sTitle": "Employment Visas",
|
||||
"description": "Build your U.S. career with H-1B, L-1, O-1, EB visas, expert support for professionals, investors."
|
||||
},
|
||||
"deportationDefense": {
|
||||
"sTitle": "Deportation Defense",
|
||||
"description": "Protect your stay with removal cancellation, asylum claims, and strong representation."
|
||||
},
|
||||
"citizenship": {
|
||||
"sTitle": "Citizenship Services",
|
||||
"description": "Achieve citizenship with naturalization help, test, and guidance on residency requirements."
|
||||
}
|
||||
}
|
||||
11
public/locales/es/(home)/homeAbout.json
Normal file
11
public/locales/es/(home)/homeAbout.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"expertGuidance": "Guía Experta en Inmigración",
|
||||
"mainTitle": "Convertimos los desafíos de inmigración en historias de éxito",
|
||||
"paragraphs": [
|
||||
"Cada caso de inmigración cuenta una historia única de esperanza, determinación y la búsqueda del sueño americano. En Janahan law, entendemos que detrás de cada petición, solicitud y documento legal hay una persona real con sueños reales.",
|
||||
"Nuestro enfoque integral combina décadas de experiencia legal con un cuidado genuino por el futuro de nuestros clientes. Ya sea que busque reunirse con su familia, avanzar en su carrera o encontrar seguridad y protección en Estados Unidos, ofrecemos la defensa experta y la atención personal que su caso merece.",
|
||||
"Desde la consulta inicial hasta la aprobación final, estamos con usted en cada paso del camino, asegurándonos de que ningún detalle se pase por alto y ninguna oportunidad se pierda."
|
||||
],
|
||||
"quote": "“Creemos que cada familia merece la oportunidad de permanecer unida, cada profesional merece perseguir su carrera y cada persona merece seguridad y oportunidad.”",
|
||||
"buttonText": "Saber más"
|
||||
}
|
||||
18
public/locales/es/home4Card.json
Normal file
18
public/locales/es/home4Card.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"familyImmigration": {
|
||||
"sTitle": "Inmigración Familiar",
|
||||
"description": "Reúnase con sus seres queridos mediante tarjetas verdes, visas de prometido y peticiones."
|
||||
},
|
||||
"employmentVisas": {
|
||||
"sTitle": "Visas de Trabajo",
|
||||
"description": "Desarrolle su carrera en EE.UU. con visas H-1B, L-1, O-1, EB y apoyo experto."
|
||||
},
|
||||
"deportationDefense": {
|
||||
"sTitle": "Defensa Contra Deportación",
|
||||
"description": "Proteja su estadía con cancelación de remoción, solicitudes de asilo y representación legal."
|
||||
},
|
||||
"citizenship": {
|
||||
"sTitle": "Servicios de Ciudadanía",
|
||||
"description": "Logre la ciudadanía con ayuda en naturalización, pruebas y requisitos de residencia."
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user