Skip to content

Commit

Permalink
feat: added about us page multi lang support
Browse files Browse the repository at this point in the history
  • Loading branch information
yeasin2002 committed Aug 20, 2024
1 parent d8af1a9 commit 22792a4
Show file tree
Hide file tree
Showing 10 changed files with 189 additions and 90 deletions.
43 changes: 43 additions & 0 deletions src/Internationalization/languages/bn.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
{
"global": {
"name": "রিমা'স ডেন্টাল"
},
"root_menu": {
"home": "হোম",
"about_us": "আমাদের সম্পর্কে",
Expand Down Expand Up @@ -54,5 +57,45 @@
}
}
}
},
"about_us": {
"AboutHero": {
"name": "রিমা'স ডেন্টাল",
"desc1": "ডেন্টার ক্লিনিক ৫ বছর ধরে উন্নত প্রযুক্তি ও অভিজ্ঞ ডেন্টিস্টদের মাধ্যমে সর্বোচ্চ মানের ব্যথামুক্ত ডেন্টাল কেয়ার প্রদান করে আসছে। আমাদের লক্ষ্য সুস্থ ও উজ্জ্বল হাসি নিশ্চিত করা।",
"desc2": "যোগাযোগের জন্য 01731-519025 বা 01533-881102 নম্বরের কল করুণ ।",
"bookAppointment": "অ্যাপয়েন্টমেন্ট বুক করুণ"
},
"aboutState": {
"satisfiedClient": "সন্তুষ্ট গ্রাহক ",
"experience": "অভিজ্ঞতা",
"expert": "ডেন্টাল বিশেষজ্ঞ"
},
"SpeechOfCEO": {
"CeoName": "ডা. শারমিন আকতার রিমা",
"speech": "রিমাস ডেন্টার ক্লিনিক ৫ বছর ধরে উচ্চ মানের ডেন্টাল কেয়ার প্রদান করে আসছে। উন্নত প্রযুক্তি এবং অভিজ্ঞ ডেন্টিস্টদের মাধ্যমে প্রতিটি রোগীর জন্য ব্যক্তিগতকৃত সেবা নিশ্চিত করা হয়। নিয়মিত ডেন্টাল চেকআপ থেকে রুট ক্যানাল থেরাপি এবং ডেন্টাল ইমপ্ল্যান্ট পর্যন্ত সব ধরনের সেবা প্রদান করা হয়। ব্যথামুক্ত এবং স্বাচ্ছন্দ্যময় চিকিৎসা প্রক্রিয়া নিশ্চিত করতে আধুনিক সরঞ্জাম ব্যবহার করা হয়। ডেন্টার ক্লিনিকের লক্ষ্য হল প্রতিটি রোগীর দাতের স্বাস্থ্য এবং সৌন্দর্য বজায় রাখা, যাতে তাদের জীবনের মান উন্নত হয় এবং তারা পান উজ্জ্বল, স্বাস্থ্যকর হাসি।"
},
"ExplainAboutService": {
"heading": "আমাদের সুবিধাসমূহ",
"desc": "রিমার ডেন্টাল ক্লিনিক প্রতিশ্রুতিবদ্ধ রোগীদের সর্বোচ্চ মানের যত্ন প্রদান করতে। আমাদের আধুনিক সুবিধাসম্পন্ন ক্লিনিক সর্বাধুনিক ডেন্টাল প্রযুক্তি এবং উন্নত সরঞ্জাম দ্বারা সজ্জিত, যা নিশ্চিত করে রোগীরা সবচেয়ে কার্যকরী এবং আরামদায়ক চিকিৎসা পান।",
"facilities": [
{
"title": "দীর্ঘমেয়াদী সংশ্লিষ্ট চিকিৎসা",
"value": "রিমার ডেন্টাল ক্লিনিকে আমরা দীর্ঘমেয়াদী সংশ্লিষ্ট চিকিৎসা প্রদানে প্রতিশ্রুতিবদ্ধ। আমাদের কেন্দ্রিয় উদ্দেশ্য হল রোগীদের ডেন্টাল স্বাস্থ্য সম্পর্কিত সমস্যা সমাধান করা, যাতে তারা প্রতিটি চিকিৎসার পরিপূর্ণ সুযোগ উপভোগ করতে পারেন।"
},
{
"title": "সম্পূর্ণ জীবাণুমুক্ত পরিবেশ",
"value": "আমাদের ক্লিনিক সর্বদা সম্পূর্ণ জীবাণুমুক্ত রাখা হয়, যা রোগীদের জন্য নিরাপদ এবং স্বাস্থ্যকর পরিবেশ নিশ্চিত করে। প্রতিটি যন্ত্র এবং সরঞ্জাম নিয়মিতভাবে জীবাণুমুক্ত করা হয়, যা সর্বোচ্চ মানের স্বাস্থ্য সুরক্ষা প্রদান করে।"
},
{
"title": "বন্ধুত্বপূর্ণ ও পেশাদার টিম",
"value": "রিমার ডেন্টালের বন্ধুত্বপূর্ণ এবং পেশাদার টিম প্রতিটি রোগীর প্রয়োজনীয়তা বুঝে সেবা প্রদান করে। তাদের যত্নশীল এবং সমব্যথী মনোভাব আপনার ডেন্টাল অভিজ্ঞতাকে করে তুলবে আরও স্বাচ্ছন্দ্যময় এবং সন্তোষজনক।"
}
]
},
"OurCommitment": {
"heading": "আপনার সুবিধার জন্য প্রতিশ্রুতিবদ্ধ",
"desc": "রিমার ডেন্টালে, আমরা বুঝি যে ডেন্টিস্টের কাছে যাওয়া কিছু লোকের জন্য উদ্বেগের কারণ হতে পারে। এই কারণেই আমরা আমাদের সমস্ত রোগীদের জন্য একটি উষ্ণ, স্বাগত, এবং আরামদায়ক পরিবেশ তৈরি করাকে আমাদের লক্ষ্য বানিয়েছি"
},
"AboutFooter": {}
}
}
42 changes: 42 additions & 0 deletions src/Internationalization/languages/en.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
{
"global": {
"name": "রিমা'স ডেন্টাল"
},
"root_menu": {
"home": "Home",
"about_us": "About us",
Expand Down Expand Up @@ -54,5 +57,44 @@
}
}
}
},
"about_us": {
"AboutHero": {
"name": "Rima's Dental",
"desc1": "Dentar Clinic has been providing top-quality, pain-free dental care for 5 years using advanced technology and experienced dentists. Our goal is to ensure a healthy and bright smile.",
"desc2": "For inquiries, call 01731-519025 or 01533-881102.",
"bookAppointment": "Book an Appointment"
},
"aboutState": {
"satisfiedClient": "Satisfied Clients",
"experience": "Experience",
"expert": "Dental Experts"
},
"SpeechOfCEO": {
"CeoName": "Dr. Sharmin Akter Rima",
"speech": "Rimas Dental Clinic has been providing high-quality dental care for 5 years. Advanced technology and experienced dentists ensure personalized care for every patient. From regular dental checkups to root canal therapy and dental implants, all types of services are offered. Modern equipment is used to ensure a pain-free and comfortable treatment process. The goal of the clinic is to maintain the dental health and beauty of each patient, enhancing their quality of life and giving them a bright, healthy smile."
},
"ExplainAboutService": {
"heading": "Our Facilities",
"desc": "Rimas Dental Clinic is committed to providing the highest quality care to patients. Our modern facility is equipped with the latest dental technology and advanced equipment, ensuring that patients receive the most effective and comfortable treatment.",
"facilities": [
{
"title": "Long-Term Comprehensive Care",
"value": "At Rimas Dental Clinic, we are committed to providing long-term comprehensive care. Our primary goal is to address patients' dental health issues so they can fully enjoy the benefits of every treatment."
},
{
"title": "Completely Sterilized Environment",
"value": "Our clinic is always kept completely sterilized, ensuring a safe and healthy environment for patients. Every instrument and piece of equipment is regularly sterilized, providing the highest standards of health protection."
},
{
"title": "Friendly and Professional Team",
"value": "The friendly and professional team at Rimas Dental understands and caters to each patient's needs. Their caring and empathetic attitude will make your dental experience more comfortable and satisfying."
}
]
},
"OurCommitment": {
"heading": "Committed to Your Comfort",
"desc": "At Rimas Dental, we understand that visiting the dentist can be a cause of anxiety for some people. That's why we aim to create a warm, welcoming, and comfortable environment for all our patients."
}
}
}
41 changes: 25 additions & 16 deletions src/app/[lang]/(front-end)/about-us/AboutFooter.tsx
Original file line number Diff line number Diff line change
@@ -1,29 +1,38 @@
import React from "react";
import Link from "next/link";
import { convertEnglishToBengaliNumber } from "@/utils";
import { getDictionary } from "@/Internationalization";

const menuItems = [
{
label: "হোম",
href: "/",
},
{
label: "আমাদের সম্পর্কে",
href: "/about-us",
},
{
label: "সার্ভিসসমূহ",
href: "/services",
},
];
interface Props {
lang: string;
}

const AboutFooter = () => {
const AboutFooter = async ({ lang, ...props }: Props) => {
const dictionary = await getDictionary(lang, "root_menu");

const menuItems = [
{
label: dictionary.home,
href: "/",
},
{
label: dictionary.about_us,
href: "/about-us",
},
{
label: dictionary.services,
href: "/services",
},
];
return (
<div>
<footer className="flex w-full shrink-0 flex-col items-center gap-2 border-t px-4 py-6 sm:flex-row md:px-6">
<p className="text-xs text-gray-500 dark:text-gray-400 2xl:text-xl">
©{convertEnglishToBengaliNumber(new Date().getFullYear().toString())}{" "}
<span>{`Rima's`} Dental. সমস্ত স্বত্ব সংরক্ষিত.</span>
<span>{`Rima's`} Dental.</span>
<span className="mx-1">
{lang === "bn" ? "সমস্ত স্বত্ব সংরক্ষিত." : "All Rights Reserved."}
</span>
</p>
<nav className="flex gap-4 sm:ml-auto sm:gap-6">
{menuItems.map((items) => (
Expand Down
20 changes: 11 additions & 9 deletions src/app/[lang]/(front-end)/about-us/AboutHero.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,30 @@ import doctorSupport from "@/assets/images/cembar-view.webp";
import React from "react";
import Image from "next/image";

export const AboutHero = () => {
interface Props extends React.ComponentPropsWithoutRef<"div"> {
dictionary: any;
}

export const AboutHero = ({ dictionary, ...props }: Props) => {
return (
<section className="w-full py-6 xl:py-32">
<div className="container px-4 md:px-6">
<div className="grid gap-6 lg:grid-cols-[1fr_400px] lg:gap-12 xl:grid-cols-[1fr_600px]">
<div className="flex flex-col justify-center space-y-4">
<div className="space-y-2">
<h1 className="my-5 text-5xl font-bold tracking-tighter sm:text-5xl xl:text-6xl/none 2xl:text-7xl">
{`রিমা'স`} ডেন্টাল
<h1 className="my-5 text-5xl font-bold tracking-tighter sm:text-5xl xl:text-6xl/none 2xl:text-7xl">
{dictionary.name}
</h1>
<p className="max-w-[600px] text-gray-500 dark:text-gray-400 md:text-xl 2xl:text-xl">
ডেন্টার ক্লিনিক ৫ বছর ধরে উন্নত প্রযুক্তি ও অভিজ্ঞ ডেন্টিস্টদের মাধ্যমে
সর্বোচ্চ মানের ব্যথামুক্ত ডেন্টাল কেয়ার প্রদান করে আসছে। আমাদের লক্ষ্য সুস্থ ও
উজ্জ্বল হাসি নিশ্চিত করা।
{dictionary.desc1}
<br />
যোগাযোগের জন্য 01731-519025 বা 01533-881102 নম্বরের কল করুণ ।
{dictionary.desc2}
</p>
</div>
<div className="flex flex-col gap-2 min-[400px]:flex-row">
<Dialog>
<DialogTrigger className="inline-flex h-10 items-center justify-center rounded-md bg-gray-900 px-8 text-sm font-medium text-gray-50 shadow transition-colors hover:bg-gray-900/90 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-gray-950 disabled:pointer-events-none disabled:opacity-50 dark:bg-gray-50 dark:text-gray-900 dark:hover:bg-gray-50/90 dark:focus-visible:ring-gray-300 2xl:text-xl 2xl:py-6">
অ্যাপয়েন্টমেন্ট বুক করুণ
<DialogTrigger className="inline-flex h-10 items-center justify-center rounded-md bg-gray-900 px-8 text-sm font-medium text-gray-50 shadow transition-colors hover:bg-gray-900/90 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-gray-950 disabled:pointer-events-none disabled:opacity-50 dark:bg-gray-50 dark:text-gray-900 dark:hover:bg-gray-50/90 dark:focus-visible:ring-gray-300 2xl:py-6 2xl:text-xl">
{dictionary.bookAppointment}
</DialogTrigger>

<DialogContent>
Expand Down
25 changes: 22 additions & 3 deletions src/app/[lang]/(front-end)/about-us/AboutState.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,30 @@
"use client";

import { aboutState } from "@/data";
import React from "react";
import CountUp from "react-countup";
interface Props extends React.ComponentProps<"div"> {}
interface Props extends React.ComponentProps<"div"> {
dictionary: any;
}

export const AboutState = ({ dictionary, ...props }: Props) => {
const aboutState = [
{
name: dictionary?.satisfiedClient,
value: 30,
duration: 20,
},
{
name: dictionary?.experience,
value: 4,
duration: 20,
},
{
name: dictionary?.expert,
value: 2,
duration: 20,
},
];

export const AboutState = ({ ...props }: Props) => {
return (
<section className="bg-gray-100 py-12 dark:bg-gray-950 md:py-16" {...props}>
<div className="container mx-auto px-4 md:px-6">
Expand Down
56 changes: 19 additions & 37 deletions src/app/[lang]/(front-end)/about-us/ExplainAboutService.tsx
Original file line number Diff line number Diff line change
@@ -1,52 +1,34 @@
import React from "react";
interface Props extends React.ComponentProps<"div"> {}
interface Props extends React.ComponentProps<"div"> {
dictionary: any;
}

export const ExplainAboutService = ({ ...props }: Props) => {
export const ExplainAboutService = ({ dictionary, ...props }: Props) => {
return (
<section className="w-full bg-gray-100 py-12 dark:bg-gray-800 md:py-24 lg:py-32">
<div className="container px-4 md:px-6">
<div className="flex flex-col items-center justify-center space-y-4 text-center">
<div className="space-y-2">
<h2 className="text-3xl font-bold tracking-tighter sm:text-5xl 2xl:text-6xl">
আমাদের সুবিধাসমূহ
{dictionary.heading}
</h2>
<p className="max-w-[900px] text-gray-500 dark:text-gray-400 md:text-xl/relaxed lg:text-base/relaxed xl:text-xl/relaxed 2xl:text-2xl">
রিমার ডেন্টাল ক্লিনিক প্রতিশ্রুতিবদ্ধ রোগীদের সর্বোচ্চ মানের যত্ন প্রদান করতে।
আমাদের আধুনিক সুবিধাসম্পন্ন ক্লিনিক সর্বাধুনিক ডেন্টাল প্রযুক্তি এবং উন্নত সরঞ্জাম
দ্বারা সজ্জিত, যা নিশ্চিত করে রোগীরা সবচেয়ে কার্যকরী এবং আরামদায়ক চিকিৎসা পান।
{dictionary.desc}
</p>
</div>
<div className="mx-auto grid max-w-5xl items-center gap-6 py-12 lg:grid-cols-3 lg:gap-12 ">
<div className="grid gap-1 items-center ">
<h3 className="text-lg font-bold 2xl:text-2xl">
দীর্ঘমেয়াদী সংশ্লিষ্ট চিকিৎসা
</h3>
<p className="text-sm text-gray-500 dark:text-gray-400 2xl:text-lg">
রিমার ডেন্টাল ক্লিনিকে আমরা দীর্ঘমেয়াদী সংশ্লিষ্ট চিকিৎসা প্রদানে
প্রতিশ্রুতিবদ্ধ। আমাদের কেন্দ্রিয় উদ্দেশ্য হল রোগীদের ডেন্টাল স্বাস্থ্য সম্পর্কিত
সমস্যা সমাধান করা, যাতে তারা প্রতিটি চিকিৎসার পরিপূর্ণ সুযোগ উপভোগ করতে পারেন।
</p>
</div>
<div className="grid gap-1">
<h3 className="text-lg font-bold 2xl:text-2xl">
সম্পূর্ণ জীবাণুমুক্ত পরিবেশ
</h3>
<p className="text-sm text-gray-500 dark:text-gray-400 2xl:text-lg">
আমাদের ক্লিনিক সর্বদা সম্পূর্ণ জীবাণুমুক্ত রাখা হয়, যা রোগীদের জন্য নিরাপদ এবং
স্বাস্থ্যকর পরিবেশ নিশ্চিত করে। প্রতিটি যন্ত্র এবং সরঞ্জাম নিয়মিতভাবে
জীবাণুমুক্ত করা হয়, যা সর্বোচ্চ মানের স্বাস্থ্য সুরক্ষা প্রদান করে।
</p>
</div>
<div className="grid gap-1">
<h3 className="text-lg font-bold 2xl:text-2xl">
বন্ধুত্বপূর্ণ ও পেশাদার টিম
</h3>
<p className="text-sm text-gray-500 dark:text-gray-400 2xl:text-lg">
রিমার ডেন্টালের বন্ধুত্বপূর্ণ এবং পেশাদার টিম প্রতিটি রোগীর প্রয়োজনীয়তা বুঝে
সেবা প্রদান করে। তাদের যত্নশীল এবং সমব্যথী মনোভাব আপনার ডেন্টাল অভিজ্ঞতাকে
করে তুলবে আরও স্বাচ্ছন্দ্যময় এবং সন্তোষজনক।
</p>
</div>
<div className="mx-auto grid max-w-5xl items-center gap-6 py-12 lg:grid-cols-3 lg:gap-12">
{dictionary?.facilities?.map((val: any) => {
return (
<div className="grid items-center gap-1" key={val?.title}>
<h3 className="text-lg font-bold 2xl:text-2xl">
{val?.title}
</h3>
<p className="text-sm text-gray-500 dark:text-gray-400 2xl:text-lg">
{val?.value}
</p>
</div>
);
})}
</div>
</div>
</div>
Expand Down
Loading

0 comments on commit 22792a4

Please sign in to comment.