company web site

This commit is contained in:
Sedat ÖZTÜRK 2025-05-15 13:48:03 +03:00
parent 336986272a
commit 48ff9188cd
43 changed files with 7300 additions and 0 deletions

25
company/.gitignore vendored Normal file
View file

@ -0,0 +1,25 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
.env

1
company/README.md Normal file
View file

@ -0,0 +1 @@
# website

28
company/eslint.config.js Normal file
View file

@ -0,0 +1,28 @@
import js from '@eslint/js';
import globals from 'globals';
import reactHooks from 'eslint-plugin-react-hooks';
import reactRefresh from 'eslint-plugin-react-refresh';
import tseslint from 'typescript-eslint';
export default tseslint.config(
{ ignores: ['dist'] },
{
extends: [js.configs.recommended, ...tseslint.configs.recommended],
files: ['**/*.{ts,tsx}'],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
},
plugins: {
'react-hooks': reactHooks,
'react-refresh': reactRefresh,
},
rules: {
...reactHooks.configs.recommended.rules,
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
],
},
}
);

13
company/index.html Normal file
View file

@ -0,0 +1,13 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Sözsoft Bilişim Hizmetleri</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>

4515
company/package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

38
company/package.json Normal file
View file

@ -0,0 +1,38 @@
{
"name": "sozsoft",
"private": true,
"version": "1.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"preview": "vite preview"
},
"dependencies": {
"glob": "^10.4.5",
"lucide-react": "^0.344.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.22.2",
"react-slick": "^0.30.3",
"rimraf": "^4.4.1",
"slick-carousel": "^1.8.1"
},
"devDependencies": {
"@types/react": "^18.2.55",
"@types/react-dom": "^18.2.19",
"@types/slick-carousel": "^1.6.40",
"@typescript-eslint/eslint-plugin": "^6.21.0",
"@typescript-eslint/parser": "^6.21.0",
"@vitejs/plugin-react": "^4.2.1",
"autoprefixer": "^10.4.17",
"eslint": "^8.57.1",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.5",
"postcss": "^8.4.35",
"tailwindcss": "^3.4.1",
"typescript": "^5.2.2",
"vite": "^5.1.0"
}
}

View file

@ -0,0 +1,6 @@
export default {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};

BIN
company/public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
company/public/img/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
company/public/img/men.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

35
company/src/App.tsx Normal file
View file

@ -0,0 +1,35 @@
import React from 'react';
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
import Layout from './components/layout/Layout';
import Home from './pages/Home';
import Products from './pages/Products';
import Services from './pages/Services';
import About from './pages/About';
import Blog from './pages/Blog';
import Contact from './pages/Contact';
import Demo from './pages/Demo';
import BlogDetail from './pages/BlogDetail';
import { LanguageProvider } from './context/LanguageContext';
function App() {
return (
<LanguageProvider>
<Router>
<Layout>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/products" element={<Products />} />
<Route path="/services" element={<Services />} />
<Route path="/about" element={<About />} />
<Route path="/blog" element={<Blog />} />
<Route path="/contact" element={<Contact />} />
<Route path="/demo" element={<Demo />} />
<Route path="/blog/:id" element={<BlogDetail />} />
</Routes>
</Layout>
</Router>
</LanguageProvider>
);
}
export default App;

View file

@ -0,0 +1,27 @@
import React from 'react';
import { Link } from 'react-router-dom';
import { useLanguage } from '../../context/LanguageContext';
const CallToAction: React.FC = () => {
const { t } = useLanguage();
return (
<section className="bg-blue-600 py-16">
<div className="container mx-auto px-4">
<div className="text-center">
<h2 className="text-3xl font-bold text-white mb-4">
{t('common.getStarted')}
</h2>
<p className="text-white text-lg mb-8">
{t('common.contact')}
</p>
<Link to="/contact" className="bg-white text-blue-600 px-8 py-3 rounded-lg font-semibold hover:bg-blue-50 transition-colors">
{t('common.learnMore')}
</Link>
</div>
</div>
</section>
);
};
export default CallToAction;

View file

@ -0,0 +1,35 @@
import React from 'react';
const CaseStudies: React.FC = () => {
return (
<section className="py-16 bg-gray-50">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center">
<h2 className="text-3xl font-bold text-gray-900 sm:text-4xl">
Case Studies
</h2>
<p className="mt-4 text-lg text-gray-600">
See how we've helped businesses achieve their goals
</p>
</div>
<div className="mt-12 grid gap-8 md:grid-cols-2 lg:grid-cols-3">
{/* Placeholder for case study cards */}
<div className="bg-white rounded-lg shadow-md p-6">
<h3 className="text-xl font-semibold text-gray-900">Case Study 1</h3>
<p className="mt-2 text-gray-600">Coming soon...</p>
</div>
<div className="bg-white rounded-lg shadow-md p-6">
<h3 className="text-xl font-semibold text-gray-900">Case Study 2</h3>
<p className="mt-2 text-gray-600">Coming soon...</p>
</div>
<div className="bg-white rounded-lg shadow-md p-6">
<h3 className="text-xl font-semibold text-gray-900">Case Study 3</h3>
<p className="mt-2 text-gray-600">Coming soon...</p>
</div>
</div>
</div>
</section>
);
};
export default CaseStudies;

View file

@ -0,0 +1,64 @@
import React from 'react';
import { Shield, Zap, Users, BarChart } from 'lucide-react';
import { useLanguage } from '../../context/LanguageContext';
const Features: React.FC = () => {
const { t } = useLanguage();
const features = [
{
icon: <Shield className="w-12 h-12 text-blue-500" />,
title: t('features.reliable'),
description: t('features.reliable.desc')
},
{
icon: <Zap className="w-12 h-12 text-blue-500" />,
title: t('features.rapid'),
description: t('features.rapid.desc')
},
{
icon: <Users className="w-12 h-12 text-blue-500" />,
title: t('features.expert'),
description: t('features.expert.desc')
},
{
icon: <BarChart className="w-12 h-12 text-blue-500" />,
title: t('features.scalable'),
description: t('features.scalable.desc')
}
];
return (
<section className="py-20 bg-white">
<div className="container mx-auto px-4">
<div className="text-center mb-16">
<h2 className="text-4xl font-bold text-gray-900 mb-4">
{t('features.title')}
</h2>
<p className="text-xl text-gray-600 max-w-2xl mx-auto">
{t('features.subtitle')}
</p>
</div>
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8">
{features.map((feature, index) => (
<div
key={index}
className="p-8 bg-white rounded-xl shadow-lg hover:shadow-xl transition-shadow duration-300"
>
<div className="mb-6">{feature.icon}</div>
<h3 className="text-xl font-semibold text-gray-900 mb-4">
{feature.title}
</h3>
<p className="text-gray-600">
{feature.description}
</p>
</div>
))}
</div>
</div>
</section>
);
};
export default Features;

View file

@ -0,0 +1,69 @@
import React from 'react';
import { ArrowRight, Code, Globe2, Cpu } from 'lucide-react';
import { Link } from 'react-router-dom';
import { useLanguage } from '../../context/LanguageContext';
const Hero: React.FC = () => {
const { t } = useLanguage();
return (
<div className="relative min-h-screen">
<div className="absolute inset-0 bg-gradient-to-br from-blue-900 via-indigo-900 to-purple-900"></div>
<div className="absolute inset-0 opacity-20" style={{
backgroundImage: 'url("https://images.pexels.com/photos/3183150/pexels-photo-3183150.jpeg?auto=compress&cs=tinysrgb&w=1920")',
backgroundSize: 'cover',
backgroundPosition: 'center',
}}></div>
<div className="relative container mx-auto px-4 pt-32 pb-16">
<div className="max-w-4xl mx-auto text-center text-white">
<h1 className="text-5xl md:text-7xl font-bold mb-6 leading-tight">
{t('hero.title')}
</h1>
<p className="text-xl md:text-2xl text-gray-300 mb-12 leading-relaxed">
{t('hero.subtitle')}
</p>
<div className="flex flex-col md:flex-row justify-center gap-6 mb-16">
<Link
to="/contact"
className="inline-flex items-center justify-center px-8 py-4 bg-gradient-to-r from-blue-500 to-purple-500 hover:from-blue-600 hover:to-purple-600 text-white rounded-lg font-semibold transition-all transform hover:scale-105"
>
{t('hero.cta.consultation')}
<ArrowRight className="ml-2" size={20} />
</Link>
<Link
to="/services"
className="inline-flex items-center justify-center px-8 py-4 bg-white/10 hover:bg-white/20 text-white rounded-lg font-semibold backdrop-blur-sm transition-all transform hover:scale-105"
>
{t('hero.cta.discover')}
</Link>
</div>
<div className="grid grid-cols-1 md:grid-cols-3 gap-8 max-w-4xl mx-auto">
<div className="bg-white/5 backdrop-blur-sm rounded-2xl p-8 text-center transform transition-all hover:scale-105 hover:bg-white/10">
<Code className="mx-auto mb-4 text-blue-400" size={40} />
<h3 className="text-xl font-semibold mb-3">{t('hero.service1.title')}</h3>
<p className="text-gray-300">{t('hero.service1.desc')}</p>
</div>
<div className="bg-white/5 backdrop-blur-sm rounded-2xl p-8 text-center transform transition-all hover:scale-105 hover:bg-white/10">
<Globe2 className="mx-auto mb-4 text-purple-400" size={40} />
<h3 className="text-xl font-semibold mb-3">{t('hero.service2.title')}</h3>
<p className="text-gray-300">{t('hero.service2.desc')}</p>
</div>
<div className="bg-white/5 backdrop-blur-sm rounded-2xl p-8 text-center transform transition-all hover:scale-105 hover:bg-white/10">
<Cpu className="mx-auto mb-4 text-indigo-400" size={40} />
<h3 className="text-xl font-semibold mb-3">{t('hero.service3.title')}</h3>
<p className="text-gray-300">{t('hero.service3.desc')}</p>
</div>
</div>
</div>
</div>
</div>
);
};
export default Hero;

View file

@ -0,0 +1,70 @@
import React from 'react';
import { Monitor, Smartphone, Server, Database } from 'lucide-react';
import { useLanguage } from '../../context/LanguageContext';
const Solutions: React.FC = () => {
const { t } = useLanguage();
const solutions = [
{
icon: <Monitor className="w-16 h-16 text-white" />,
title: t('solutions.web.title'),
description: t('solutions.web.desc'),
color: 'bg-blue-600'
},
{
icon: <Smartphone className="w-16 h-16 text-white" />,
title: t('solutions.mobile.title'),
description: t('solutions.mobile.desc'),
color: 'bg-purple-600'
},
{
icon: <Server className="w-16 h-16 text-white" />,
title: t('solutions.custom.title'),
description: t('solutions.custom.desc'),
color: 'bg-green-600'
},
{
icon: <Database className="w-16 h-16 text-white" />,
title: t('solutions.database.title'),
description: t('solutions.database.desc'),
color: 'bg-red-600'
}
];
return (
<section className="py-20 bg-gray-50">
<div className="container mx-auto px-4">
<div className="text-center mb-16">
<h2 className="text-4xl font-bold text-gray-900 mb-4">
{t('solutions.title')}
</h2>
<p className="text-xl text-gray-600 max-w-2xl mx-auto">
{t('solutions.subtitle')}
</p>
</div>
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8">
{solutions.map((solution, index) => (
<div
key={index}
className="group relative overflow-hidden rounded-2xl transition-all duration-300 hover:scale-105"
>
<div className={`${solution.color} p-8 h-full`}>
<div className="mb-6">{solution.icon}</div>
<h3 className="text-2xl font-semibold text-white mb-4">
{solution.title}
</h3>
<p className="text-white/90">
{solution.description}
</p>
</div>
</div>
))}
</div>
</div>
</section>
);
};
export default Solutions;

View file

@ -0,0 +1,44 @@
import React from 'react';
import Slider from 'react-slick';
import 'slick-carousel/slick/slick.css';
import 'slick-carousel/slick/slick-theme.css';
import { useLanguage } from '../../context/LanguageContext';
import { testimonials } from '../../locales/testimonials';
const Testimonials: React.FC = () => {
const { t, language } = useLanguage();
const testimonialsData = testimonials[language];
const settings = {
dots: true,
infinite: true,
speed: 500,
slidesToShow: 3,
slidesToScroll: 1,
autoplay: true,
autoplaySpeed: 5000,
cssEase: "linear"
};
return (
<section className="py-16 bg-gray-50">
<div className="container mx-auto px-4">
<h2 className="text-3xl font-bold text-center mb-12">{t('testimonials.title')}</h2>
<Slider {...settings}>
{testimonialsData.map((testimonial, index) => (
<div key={index} className="px-2">
<div className="bg-white p-6 rounded-lg shadow-md">
<p className="text-gray-600 mb-4">"{testimonial.quote}"</p>
<div className="font-semibold">{testimonial.author}</div>
<div className="text-sm text-gray-500">{testimonial.title}</div>
</div>
</div>
))}
</Slider>
</div>
</section>
);
};
export default Testimonials;

View file

@ -0,0 +1,151 @@
import React from 'react';
import { Mail, Phone, MapPin, Facebook, Twitter, Linkedin, Instagram } from 'lucide-react';
import Logo from './Logo';
import { Link } from 'react-router-dom';
import { useLanguage } from '../../context/LanguageContext';
const Footer: React.FC = () => {
const { t } = useLanguage();
const currentYear = new Date().getFullYear();
return (
<footer className="bg-gray-900 text-white pt-16 pb-8">
<div className="container mx-auto px-4">
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8">
{/* Company Info */}
<div>
<Logo color="#ffffff" />
<p className="mt-4 text-gray-400 text-sm">
{t('footer.companyInfo')}
</p>
<div className="flex space-x-4 mt-6">
<a href="https://facebook.com/sozsoft" target="_blank" rel="noopener noreferrer" className="text-gray-400 hover:text-white transition-colors">
<Facebook size={20} />
</a>
<a href="https://twitter.com/sozsoft" target="_blank" rel="noopener noreferrer" className="text-gray-400 hover:text-white transition-colors">
<Twitter size={20} />
</a>
<a href="https://linkedin.com/sozsoft" target="_blank" rel="noopener noreferrer" className="text-gray-400 hover:text-white transition-colors">
<Linkedin size={20} />
</a>
<a href="https://instagram.com/sozsoft" target="_blank" rel="noopener noreferrer" className="text-gray-400 hover:text-white transition-colors">
<Instagram size={20} />
</a>
</div>
</div>
{/* Quick Links */}
<div>
<h3 className="text-lg font-bold mb-4">{t('footer.quickLinksTitle')}</h3>
<ul className="space-y-2">
<li>
<Link to="/" className="text-gray-400 hover:text-white transition-colors">{t('nav.home')}</Link>
</li>
<li>
<Link to="/products" className="text-gray-400 hover:text-white transition-colors">{t('nav.products')}</Link>
</li>
<li>
<Link to="/services" className="text-gray-400 hover:text-white transition-colors">{t('nav.services')}</Link>
</li>
<li>
<Link to="/about" className="text-gray-400 hover:text-white transition-colors">{t('nav.about')}</Link>
</li>
<li>
<Link to="/blog" className="text-gray-400 hover:text-white transition-colors">{t('nav.blog')}</Link>
</li>
<li>
<Link to="/contact" className="text-gray-400 hover:text-white transition-colors">{t('nav.contact')}</Link>
</li>
</ul>
</div>
{/* Services */}
<div>
<h3 className="text-lg font-bold mb-4">{t('footer.servicesTitle')}</h3>
<ul className="space-y-2">
<li>
<Link to="/services" className="text-gray-400 hover:text-white transition-colors">
{t('services.software.title')}
</Link>
</li>
<li>
<Link to="/services" className="text-gray-400 hover:text-white transition-colors">
{t('services.web.title')}
</Link>
</li>
<li>
<Link to="/services" className="text-gray-400 hover:text-white transition-colors">
{t('services.mobile.title')}
</Link>
</li>
<li>
<Link to="/services" className="text-gray-400 hover:text-white transition-colors">
{t('services.consulting.title')}
</Link>
</li>
<li>
<Link to="/services" className="text-gray-400 hover:text-white transition-colors">
{t('services.maintenance.title')}
</Link>
</li>
</ul>
</div>
{/* Contact Info */}
<div>
<h3 className="text-lg font-bold mb-4">{t('nav.contact')}</h3>
<ul className="space-y-3">
<li className="flex items-start space-x-3">
<MapPin size={20} className="text-gray-400 mt-1 flex-shrink-0" />
<span className="text-gray-400">
{t('footer.address')}
</span>
</li>
<li className="flex items-center space-x-3">
<Phone size={20} className="text-gray-400 flex-shrink-0" />
<a href="tel:+905447697638" className="text-gray-400 hover:text-white transition-colors">
+90 (544) 769 7 638
</a>
</li>
<li className="flex items-center space-x-3">
<Mail size={20} className="text-gray-400 flex-shrink-0" />
<a href="mailto:destek@sozsoft.com" className="text-gray-400 hover:text-white transition-colors">
destek@sozsoft.com
</a>
</li>
</ul>
</div>
</div>
<div className="border-t border-gray-800 mt-12 pt-8">
<div className="flex flex-col md:flex-row justify-between items-center">
<p className="text-gray-400 text-sm">
&copy; {currentYear} Sözsoft. {t('footer.copyright')}
</p>
<div className="mt-4 md:mt-0">
<ul className="flex space-x-6 text-sm">
<li>
<Link to="/about" className="text-gray-400 hover:text-white transition-colors">
{t('footer.privacyPolicy')}
</Link>
</li>
<li>
<Link to="/about" className="text-gray-400 hover:text-white transition-colors">
{t('footer.termsOfUse')}
</Link>
</li>
<li>
<Link to="/sitemap" className="text-gray-400 hover:text-white transition-colors">
{t('footer.sitemap')}
</Link>
</li>
</ul>
</div>
</div>
</div>
</div>
</footer>
);
};
export default Footer;

View file

@ -0,0 +1,110 @@
import React, { useState, useEffect } from "react";
import { Menu, X, Globe } from "lucide-react";
import Logo from "./Logo";
import { Link } from "react-router-dom";
import { useLanguage } from "../../context/LanguageContext";
const Header: React.FC = () => {
const [isOpen, setIsOpen] = useState(false);
const [scrolled, setScrolled] = useState(false);
const { language, setLanguage, t } = useLanguage();
useEffect(() => {
const handleScroll = () => {
const isScrolled = window.scrollY > 10;
if (isScrolled !== scrolled) {
setScrolled(isScrolled);
}
};
window.addEventListener("scroll", handleScroll);
return () => window.removeEventListener("scroll", handleScroll);
}, [scrolled]);
const toggleMenu = () => setIsOpen(!isOpen);
const toggleLanguage = () => setLanguage(language === "en" ? "tr" : "en");
const navLinks = [
{ name: t('nav.home'), path: "/" },
{ name: t('nav.about'), path: "/about" },
{ name: t('nav.products'), path: "/products" },
{ name: t('nav.services'), path: "/services" },
{ name: t('nav.demo'), path: "/demo" },
{ name: t('nav.blog'), path: "/blog" },
{ name: t('nav.contact'), path: "/contact" },
];
return (
<header
className={`fixed w-full z-50 transition-all duration-300 ${
scrolled
? "bg-gray-900/95 backdrop-blur-sm shadow-md py-2"
: "bg-gray-900/80 backdrop-blur-sm py-4"
}`}
>
<div className="container mx-auto px-4 flex items-center justify-between">
<Link to="/">
<Logo color="#ffffff" />
</Link>
{/* Desktop Navigation */}
<nav className="hidden md:flex items-center space-x-8">
{navLinks.map((link) => (
<Link
key={link.path}
to={link.path}
className="font-medium text-sm text-white hover:text-blue-400 transition-colors"
>
{link.name}
</Link>
))}
<button
onClick={toggleLanguage}
className="flex items-center space-x-1 font-medium text-sm text-white hover:text-blue-400 transition-colors"
>
<Globe size={16} />
<span>{language.toUpperCase()}</span>
</button>
</nav>
{/* Mobile Menu Button */}
<button
className="md:hidden text-white"
onClick={toggleMenu}
aria-label="Toggle menu"
>
{isOpen ? <X size={24} /> : <Menu size={24} />}
</button>
</div>
{/* Mobile Navigation */}
{isOpen && (
<div className="md:hidden bg-gray-900/95 backdrop-blur-sm shadow-lg">
<div className="container mx-auto px-4 py-2">
<nav className="flex flex-col space-y-4 py-4">
{navLinks.map((link) => (
<Link
key={link.path}
to={link.path}
className="font-medium text-white hover:text-blue-400 transition-colors"
onClick={toggleMenu}
>
{link.name}
</Link>
))}
<button
onClick={toggleLanguage}
className="flex items-center space-x-1 font-medium text-white hover:text-blue-400 transition-colors"
>
<Globe size={16} />
<span>{language.toUpperCase()}</span>
</button>
</nav>
</div>
</div>
)}
</header>
);
};
export default Header;

View file

@ -0,0 +1,28 @@
import React, { useEffect } from 'react';
import { useLocation } from 'react-router-dom';
import Header from './Header';
import Footer from './Footer';
interface LayoutProps {
children: React.ReactNode;
}
const Layout: React.FC<LayoutProps> = ({ children }) => {
const location = useLocation();
useEffect(() => {
window.scrollTo(0, 0);
}, [location.pathname]);
return (
<div className="flex flex-col min-h-screen">
<Header />
<main className="flex-grow">
{children}
</main>
<Footer />
</div>
);
};
export default Layout;

View file

@ -0,0 +1,15 @@
import React from 'react';
interface LogoProps {
color?: string;
}
const Logo: React.FC<LogoProps> = ({ color = '#000' }) => {
return (
<div className="flex items-center">
<img src="/img/logo.png" alt="Logo" className="h-14 mr-2" />
</div>
);
};
export default Logo;

View file

@ -0,0 +1,609 @@
import React, { createContext, useContext, useState } from "react";
type Language = "tr" | "en";
interface LanguageContextType {
language: Language;
setLanguage: (lang: Language) => void;
t: (key: string) => string;
}
const translations = {
tr: {
// Navigation
"nav.home": "Ana Sayfa",
"nav.about": "Hakkımızda",
"nav.products": "Ürünler",
"nav.services": "Hizmetler",
"nav.demo": "Demo",
"nav.blog": "Blog",
"nav.contact": "İletişim",
// Hero Section
"hero.title": "Dijital Dönüşümün Öncüsü",
"hero.subtitle":
"20 yılı aşkın tecrübemizle işletmenizi dijital dünyada bir adım öne taşıyoruz. Yenilikçi çözümlerle geleceğin teknolojilerini bugünden sunuyoruz.",
"hero.cta.consultation": "Danışmanlık Alın",
"hero.cta.discover": "Hizmetlerimizi Keşfedin",
"hero.service1.title": "Özel Yazılım Geliştirme",
"hero.service1.desc": "İşletmenize özel, ölçeklenebilir yazılım çözümleri",
"hero.service2.title": "Web Uygulamaları",
"hero.service2.desc": "Modern ve kullanıcı dostu web uygulamaları",
"hero.service3.title": "Sistem Entegrasyonu",
"hero.service3.desc": "Mevcut sistemlerinizle kusursuz entegrasyon",
// Features Section
"features.title": "Neden Sözsoft?",
"features.subtitle":
"İşletmenizi dijital dünyada başarıya taşıyacak çözümler sunuyoruz.",
"features.reliable": "Güvenilir Çözümler",
"features.reliable.desc":
"20 yıllık tecrübemizle güvenilir ve sürdürülebilir yazılım çözümleri sunuyoruz.",
"features.rapid": "Hızlı Geliştirme",
"features.rapid.desc":
"Modern teknolojilerle hızlı ve etkili çözümler geliştiriyoruz.",
"features.expert": "Uzman Ekip",
"features.expert.desc":
"Deneyimli ve uzman ekibimizle projelerinizi hayata geçiriyoruz.",
"features.scalable": "Ölçeklenebilir Sistemler",
"features.scalable.desc":
"İşletmenizin büyümesine uygun ölçeklenebilir sistemler tasarlıyoruz.",
// Solutions Section
"solutions.title": "Çözümlerimiz",
"solutions.subtitle": "İşletmenizin ihtiyaçlarına özel teknoloji çözümleri",
"solutions.web.title": "Web Uygulamaları",
"solutions.web.desc":
"Modern ve kullanıcı dostu web uygulamaları geliştiriyoruz.",
"solutions.mobile.title": "Mobil Uygulamalar",
"solutions.mobile.desc":
"iOS ve Android için native mobil uygulamalar geliştiriyoruz.",
"solutions.custom.title": "Özel Yazılımlar",
"solutions.custom.desc": "İşletmenize özel yazılım çözümleri sunuyoruz.",
"solutions.database.title": "Veritabanı Sistemleri",
"solutions.database.desc":
"Güvenli ve performanslı veritabanı sistemleri kuruyoruz.",
// Products Page
"products.title": "Ürünlerimiz",
"products.subtitle":
"İşletmenizin ihtiyaçlarına özel geliştirdiğimiz yazılım çözümleri",
"products.kurs.title": "Kurs Yönetim Otomasyonu",
"products.kurs.desc":
"İşletmenizin tüm süreçlerini tek bir platformdan yönetin.",
"products.crm.title": "CRM Sistemi",
"products.crm.desc": "Müşteri ilişkilerinizi etkin bir şekilde yönetin.",
"products.ecommerce.title": "E-Ticaret Platformu",
"products.ecommerce.desc": "Online satış kanalınızı güçlendirin.",
"products.hr.title": "İnsan Kaynakları Yazılımı",
"products.hr.desc": "İK süreçlerinizi dijitalleştirin.",
"products.kurs.features.inventory": "Stok Yönetimi",
"products.kurs.features.purchasing": "Satın Alma Yönetimi",
"products.kurs.features.sales": "Satış Yönetimi",
"products.kurs.features.accounting": "Muhasebe Yönetimi",
"products.kurs.features.reporting": "Raporlama",
"products.kurs.features.mobile": "Mobil Erişim",
"products.crm.features.tracking": "Müşteri Takibi",
"products.crm.features.opportunities": "Fırsat Yönetimi",
"products.crm.features.email": "E-posta Entegrasyonu",
"products.crm.features.tasks": "Görev Yönetimi",
"products.crm.features.calendar": "Takvim Entegrasyonu",
"products.crm.features.analytics": "Analitik Raporlama",
"products.ecommerce.features.responsive": "Duyarlı Tasarım",
"products.ecommerce.features.payment": "Güvenli Ödeme Sistemleri",
"products.ecommerce.features.inventory": "Stok Yönetimi",
"products.ecommerce.features.seo": "SEO Optimizasyonu",
"products.ecommerce.features.analytics": "E-ticaret Analitiği",
"products.ecommerce.features.marketplace": "Pazar Yeri Entegrasyonu",
"products.hr.features.personnel": "Personel Yönetimi",
"products.hr.features.leave": "İzin Yönetimi",
"products.hr.features.performance": "Performans Yönetimi",
"products.hr.features.payroll": "Bordro Yönetimi",
"products.hr.features.training": "Eğitim Yönetimi",
"products.hr.features.digital": "Dijital İK Süreçleri",
"products.cta.title": "Daha Fazla Bilgi",
"products.cta.description":
"İşletmenizin ihtiyaçlarına en uygun çözümleri keşfetmek için ürünlerimizi inceleyin veya bizimle iletişime geçin.",
"products.cta.demo": "Demo Talep Edin",
"services.cta.title": "Dijital Dönüşüm Yolculuğunuza Başlayın",
"services.cta.description":
"İşletmenizin ihtiyaçlarına özel çözümlerimizle rekabette öne geçin. Danışmanlık için bize ulaşın.",
"services.cta.contact": "İletişime Geçin",
"demo.form.title": "Demo Talep Formu",
"demo.subtitle": "Sorularınız için bizimle iletişime geçin. Size yardımcı olmaktan mutluluk duyarız.",
// Services Page
"services.title": "Hizmetlerimiz",
"services.subtitle":
"İşletmenizin dijital dönüşüm yolculuğunda ihtiyaç duyduğu tüm teknoloji çözümleri",
"services.software.title": "Özel Yazılım Geliştirme",
"services.software.desc":
"İşletmenizin ihtiyaçlarına özel yazılım çözümleri",
"services.web.title": "Web Uygulamaları",
"services.web.desc": "Modern ve kullanıcı dostu web uygulamaları",
"services.mobile.title": "Mobil Uygulamalar",
"services.mobile.desc": "iOS ve Android için native uygulamalar",
"services.database.title": "Veritabanı Çözümleri",
"services.database.desc": "Güvenli ve ölçeklenebilir veritabanı sistemleri",
"services.software.features.analysis": "Analiz ve Planlama",
"services.software.features.design": "Tasarım ve Mimari",
"services.software.features.development": "Yazılım Geliştirme",
"services.software.features.testing": "Test ve Kalite Güvencesi",
"services.software.features.maintenance": "Bakım ve Destek",
"services.web.features.frontend": "Frontend Geliştirme",
"services.web.features.backend": "Backend Geliştirme",
"services.web.features.api": "API Geliştirme",
"services.web.features.seo": "SEO Optimizasyonu",
"services.web.features.performance": "Performans Optimizasyonu",
"services.mobile.features.design": "Mobil Uygulama Tasarımı",
"services.mobile.features.native": "Native Mobil Uygulama Geliştirme",
"services.mobile.features.cross":
"Cross-Platform Mobil Uygulama Geliştirme",
"services.mobile.features.push": "Push Bildirim Entegrasyonu",
"services.mobile.features.store": "App Store ve Google Play Yayınlama",
"services.database.features.design": "Veritabanı Tasarımı",
"services.database.features.optimization": "Veritabanı Optimizasyonu",
"services.database.features.migration": "Veritabanı Taşıma",
"services.database.features.backup": "Veritabanı Yedekleme",
"services.database.features.recovery": "Veritabanı Kurtarma",
"services.integration.title": "Sistem Entegrasyonu",
"services.integration.desc":
"Farklı sistemler arasında veri akışı ve entegrasyon çözümleri",
"services.integration.features.api": "API Entegrasyonu",
"services.integration.features.middleware": "Middleware Geliştirme",
"services.integration.features.legacy": "Legacy Sistem Entegrasyonu",
"services.integration.features.realtime":
"Gerçek Zamanlı Veri Entegrasyonu",
"services.integration.features.monitoring":
"Entegrasyon İzleme ve Yönetimi",
"services.consulting.title": "Teknoloji Danışmanlığı",
"services.consulting.desc":
"İşletmenizin teknoloji stratejisi ve yol haritası için uzman danışmanlık",
"services.consulting.features.tech": "Teknoloji Stratejisi",
"services.consulting.features.project": "Proje Yönetimi Danışmanlığı",
"services.consulting.features.digital": "Dijital Dönüşüm Danışmanlığı",
"services.consulting.features.risk": "Risk Yönetimi Danışmanlığı",
"services.consulting.features.training": "Teknoloji Eğitimleri",
"services.security.title": "Siber Güvenlik",
"services.security.desc":
"İşletmenizin dijital varlıklarını siber tehditlere karşı koruma",
"services.security.features.analysis": "Güvenlik Açığı Analizi",
"services.security.features.penetration": "Sızma Testleri",
"services.security.features.firewall": "Güvenlik Duvarı Yönetimi",
"services.security.features.ssl": "SSL Sertifikası Yönetimi",
"services.security.features.training": "Siber Güvenlik Eğitimleri",
"services.maintenance.title": "Bakım ve Destek",
"services.maintenance.desc":
"Yazılım sistemlerinizin sürekli çalışır durumda olması için kapsamlı bakım ve destek hizmetleri",
"services.maintenance.features.monitoring": "Sistem İzleme",
"services.maintenance.features.bugfix": "Hata Giderme",
"services.maintenance.features.performance": "Performans İyileştirme",
"services.maintenance.features.updates": "Güncelleme Yönetimi",
"services.maintenance.features.support": "Teknik Destek",
// Contact Page
"contact.title": "İletişim",
"contact.subtitle": "Sorularınız için bizimle iletişime geçin",
"contact.info.title": "İletişim Bilgileri",
"contact.address": "Adres",
"contact.address.full": "Barbaros Mah. Ahlat Sok. Varyap Meridian Sitesi D1 Blok Daire 115 Kat 14 PK:34746 Ataşehir İstanbul",
"contact.phone": "Telefon",
"contact.email": "E-posta",
"contact.taxOffice": "Vergi Dairesi",
"contact.taxNumber": "Vergi Numarası",
"contact.bank.title": "Banka Bilgileri",
"contact.workHours": "Çalışma Saatleri",
"contact.workHours.weekday": "Hafta İçi: 09:00 - 18:00",
"contact.workHours.weekend": "Hafta Sonu: Kapalı",
"contact.workHours.whatsapp": "Whatsapp: 7/24",
"contact.transferForm": "Havale/EFT Bildirim Formu",
"contact.location": "Konumumuz",
// About Page
"about.title": "Hakkımızda",
"about.subtitle":
"2012 yılından bu yana yazılım sektöründe faaliyet gösteriyoruz",
"about.stats.clients": "Mutlu Müşteri",
"about.stats.experience": "Yıllık Tecrübe",
"about.stats.support": "7/24 Destek",
"about.stats.countries": "Ülke",
"about.description.part1":
"Sözsoft Bilişim Hizmetleri, eğitim sektörünün dijital dönüşümüne katkı sağlamak amacıyla 2012 yılında kursyazilimi.com markasıyla kurulmuştur. Kuruluşumuzun temelinde, 15 yılı aşkın yazılım tecrübesi ve farklı sektörlerde edinilen güçlü bir birikim yatmaktadır. Uzun yıllar boyunca tekstil sektörünün önde gelen markalarına büyük ölçekli yazılım çözümleri sunan uzman kadromuz, bu tecrübesini eğitim sektörünün dinamik ihtiyaçlarıyla harmanlayarak yenilikçi projelere imza atmaktadır. Sözsoft, sadece yazılım geliştirmekle kalmaz; kurumlara özel, sürdürülebilir ve kullanıcı dostu sistemler geliştirerek gerçek iş değeri yaratmayı hedefler. “Alışılagelmişin dışında ayrıcalıklı hizmet ve her an ulaşılabilirlik” ilkesiyle hareket eden ekibimiz, eğitim kurumlarının operasyonel süreçlerini dijitalleştirerek, verimliliklerini artırmalarına ve çağın gerekliliklerine uyum sağlamalarına destek olmaktadır. Bugün Sözsoft, Türkiyenin dört bir yanındaki eğitim kurumlarının güvenilir teknoloji çözüm ortağı olmanın gururunu taşımaktadır.",
"about.description.motto": '"Tutkumuz teknoloji, hedefimiz sürdürülebilir verimliliktir."',
"about.description.part2":
"Sözsoft olarak, yazılım çözümlerimizi sunmadan önce işimize sizi tanımakla başlıyoruz. İhtiyaçlarınızı doğru analiz edebilmek, karşılaştığınız sorunlara kalıcı ve sürdürülebilir çözümler üretebilmek amacıyla sadece teknik bir bakış açısıyla değil, işletmenizin işleyişine bütüncül bir perspektifle yaklaşıyoruz. İletişimimizi yalnızca yüzeyde bırakmıyor, sizinle aynı dili konuşan bir çözüm ortağı olmayı benimsiyoruz. Türkiyede yalnızca yabancı dil okulları ve kurslara özel yazılım çözümleri sunan, bu alanda uzmanlaşmış bir yazılım evi olarak faaliyet gösteriyoruz. 15 yılı aşkın sektör tecrübemizi, eğitim kurumlarının günlük operasyonlarına değer katan, esnek ve kullanıcı dostu yazılımlara dönüştürüyoruz. Amacımız; kurumunuzu sadece bilgisayarınızdan değil, akıllı telefonunuzdan da rahatlıkla yönetebileceğiniz şekilde, size özel olarak tasarlanmış yazılımlar aracılığıyla yönetim süreçlerinizi kolaylaştırmaktır. Günümüzde zaman yönetimi ve rekabetin her geçen gün daha kritik hale geldiği bir ortamda, size maddi ve zaman açısından tasarruf sağlayacak, aynı zamanda operasyonel verimliliğinizi artıracak konforlu, güvenli ve rekabetçi sistemler sunmanın memnuniyetini yaşıyoruz. Yazılımlarımızı kullanmaya başladığınız andan itibaren, kurumunuzda görev alan eğitim danışmanları, koordinatörler, muhasebe birimi, yöneticiler ve kurucular; bilgi kirliliğinden uzak, düzenli ve entegre bir yapının getirdiği iş birliği ve verimliliği doğrudan hissedecektir. Sunduğumuz çözümler yalnızca teknik değil, aynı zamanda sizin iş yapış şeklinize uygun olarak geliştirilmiştir. Kolay, hızlı ve güvenlik aşamaları titizlikle düşünülmüş bir yapı sunuyor; aynı zamanda satış, kampanya ve reklam yönetiminizi destekleyecek, gelirlerinizi artırmanıza katkı sağlayacak araçlarla donatılmış yazılımlar geliştiriyoruz. Eğitim koordinatörlerinizin sınıf planlamalarında yaşadığı zorluklara çözüm sunan ve kurum içi tüm süreçlere entegre şekilde çalışan bu sistemle, işinize özel kalıcı bir çözüm sunuyoruz.",
"about.description.closing":
"Sizin için yazılım geliştiriyor, kurumunuz için çözümler üretiyoruz.",
"about.mission": "Misyonumuz",
"about.mission.desc":
"Müşterilerimizin dijital dönüşüm süreçlerinde yanlarında olarak, onların iş süreçlerini optimize etmek ve rekabet güçlerini artırmak için yenilikçi çözümler sunmak.",
"about.vision": "Vizyonumuz",
"about.vision.desc":
"Türkiye'nin ve bölgenin önde gelen yazılım şirketlerinden biri olarak, global pazarda söz sahibi olmak ve teknoloji dünyasına yön veren şirketler arasında yer almak.",
"about.team": "Ekibimiz",
"about.team.salesDirector": "Satış Direktörü",
"about.team.projectDirector": "Proje Direktörü",
"about.team.techDirector": "Teknik Koordinatör",
// Blog Page
"blog.title": "Blog",
"blog.subtitle":
"Teknoloji dünyasındaki son gelişmeler ve yazılım trendleri",
"blog.posts.ai.title": "Yapay Zeka ve İş Dünyası",
"blog.posts.ai.excerpt":
"Yapay zekanın iş süreçlerine etkileri ve geleceği...",
"blog.posts.ai.date": "10 Mayıs 2024",
"blog.categories.technology": "Teknoloji",
"blog.posts.web.title": "Web Geliştirmede Son Trendler",
"blog.posts.web.excerpt": "Modern web geliştirme teknikleri ve araçları...",
"blog.posts.web.date": "5 Mayıs 2024",
"blog.categories.webdev": "Web Geliştirme",
"blog.posts.security.title": "Siber Güvenlik İpuçları",
"blog.posts.security.excerpt":
"İşletmenizi siber tehditlere karşı koruyun...",
"blog.posts.security.date": "1 Mayıs 2024",
"blog.categories.security": "Siber Güvenlik",
"blog.posts.mobile.title": "Mobil Uygulama Geliştirme Rehberi",
"blog.posts.mobile.excerpt":
"Başarılı bir mobil uygulama geliştirmek için ipuçları...",
"blog.posts.mobile.date": "25 Nisan 2024",
"blog.categories.mobile": "Mobil",
"blog.posts.database.title": "Veritabanı Yönetimi Temelleri",
"blog.posts.database.excerpt": "Veritabanı tasarımı ve optimizasyonu...",
"blog.posts.database.date": "20 Nisan 2024",
"blog.categories.database": "Veritabanı",
"blog.posts.digital.title": "Dijital Pazarlama Stratejileri",
"blog.posts.digital.excerpt": "İşletmenizi dijital dünyada büyütün...",
"blog.posts.digital.date": "April 15, 2024",
"blog.categories.digital": "Dijital Pazarlama",
"blog.subscribe": "Bültene Abone Ol",
"blog.subscribe.desc":
"Teknoloji ve yazılım dünyasındaki güncel gelişmelerden haberdar olmak için bültenimize abone olun.",
"blog.backToBlog": "Bloglar",
// Testimonials Section
"testimonials.title": "Müşteri Yorumları",
// Common
"common.learnMore": "Detaylı Bilgi",
"common.contact": "Bugün bize katılın ve çözümlerimizle işinizi dönüştürün.",
"common.getStarted": "Başlamaya Hazır Mısınız?",
"common.readMore": "Devamını Oku",
"common.subscribe": "Abone Ol",
"common.send": "Gönder",
"common.name": "Ad",
"common.surname": "Soyad",
"common.email": "E-posta",
"common.phone": "Telefon",
"common.message": "Mesaj",
"common.address": "Adres",
"common.city": "Şehir",
"common.company": "Şirket Adı",
"common.fullName": "Adınız Soyadınız",
"common.branchCount": "Şube Adedi",
"common.userCount": "Kullanıcı Adedi",
// Footer
"footer.companyInfo":
"20 yılı aşkın tecrübemizle işletmenizi dijital dünyada bir adım öne taşıyoruz. Yenilikçi çözümlerle geleceğin teknolojilerini bugünden sunuyoruz.",
"footer.quickLinksTitle": "Hızlı Bağlantılar",
"footer.servicesTitle": "Hizmetlerimiz",
"footer.address": "Barbaros Mah. Ahlat Sok. Varyap Meridian Sitesi D1 Blok Daire 115 Kat 14 PK:34746 Ataşehir İstanbul",
"footer.copyright": "Tüm hakları saklıdır.",
"footer.privacyPolicy": "Gizlilik Politikası",
"footer.termsOfUse": "Kullanım Şartları",
"footer.sitemap": "Site Haritası",
},
en: {
// Navigation
"nav.home": "Home",
"nav.about": "About Us",
"nav.products": "Products",
"nav.services": "Services",
"nav.demo": "Demo",
"nav.blog": "Blog",
"nav.contact": "Contact",
// Hero Section
"hero.title": "Pioneer of Digital Transformation",
"hero.subtitle":
"With over 20 years of experience, we take your business one step ahead in the digital world. We deliver tomorrows technologies today with innovative solutions.",
"hero.cta.consultation": "Get a Consultation",
"hero.cta.discover": "Discover Our Services",
"hero.service1.title": "Custom Software Development",
"hero.service1.desc":
"Scalable software solutions tailored to your business",
"hero.service2.title": "Web Applications",
"hero.service2.desc": "Modern and user-friendly web applications",
"hero.service3.title": "System Integration",
"hero.service3.desc": "Seamless integration with your existing systems",
// Features Section
"features.title": "Why Sözsoft?",
"features.subtitle":
"We provide solutions that drive your business to success in the digital world.",
"features.reliable": "Reliable Solutions",
"features.reliable.desc":
"We offer reliable and sustainable software solutions with 20 years of experience.",
"features.rapid": "Rapid Development",
"features.rapid.desc":
"We develop fast and effective solutions using modern technologies.",
"features.expert": "Expert Team",
"features.expert.desc":
"Our experienced and expert team brings your projects to life.",
"features.scalable": "Scalable Systems",
"features.scalable.desc":
"We design scalable systems that grow with your business.",
// Solutions Section
"solutions.title": "Our Solutions",
"solutions.subtitle":
"Technology solutions customized for your business needs",
"solutions.web.title": "Web Applications",
"solutions.web.desc": "We build modern and user-friendly web applications.",
"solutions.mobile.title": "Mobile Applications",
"solutions.mobile.desc":
"We develop native mobile applications for iOS and Android.",
"solutions.custom.title": "Custom Software",
"solutions.custom.desc":
"We provide software solutions tailored to your business.",
"solutions.database.title": "Database Systems",
"solutions.database.desc":
"We set up secure and high-performance database systems.",
// Products Page
"products.title": "Our Products",
"products.subtitle":
"Software solutions developed specifically for your business needs",
"products.kurs.title": "ERP Solution",
"products.kurs.desc":
"Manage all your business processes from a single platform.",
"products.crm.title": "CRM System",
"products.crm.desc": "Manage your customer relationships effectively.",
"products.ecommerce.title": "E-Commerce Platform",
"products.ecommerce.desc": "Strengthen your online sales channel.",
"products.hr.title": "Human Resources Software",
"products.hr.desc": "Digitize your HR processes.",
"products.kurs.features.inventory": "Inventory Management",
"products.kurs.features.purchasing": "Purchasing Management",
"products.kurs.features.sales": "Sales Management",
"products.kurs.features.accounting": "Accounting Management",
"products.kurs.features.reporting": "Reporting",
"products.kurs.features.mobile": "Mobile Access",
"products.crm.features.tracking": "Customer Tracking",
"products.crm.features.opportunities": "Opportunity Management",
"products.crm.features.email": "Email Integration",
"products.crm.features.tasks": "Task Management",
"products.crm.features.calendar": "Calendar Integration",
"products.crm.features.analytics": "Analytics Reporting",
"products.ecommerce.features.responsive": "Responsive Design",
"products.ecommerce.features.payment": "Secure Payment Systems",
"products.ecommerce.features.inventory": "Inventory Management",
"products.ecommerce.features.seo": "SEO Optimization",
"products.ecommerce.features.analytics": "E-Commerce Analytics",
"products.ecommerce.features.marketplace": "Marketplace Integration",
"products.hr.features.personnel": "Personnel Management",
"products.hr.features.leave": "Leave Management",
"products.hr.features.performance": "Performance Management",
"products.hr.features.payroll": "Payroll Management",
"products.hr.features.training": "Training Management",
"products.hr.features.digital": "Digital HR Processes",
"products.cta.title": "Learn More",
"products.cta.description":
"Explore our products to find the best solutions for your business needs or contact us.",
"products.cta.demo": "Request a Demo",
"services.cta.title": "Start Your Digital Transformation Journey",
"services.cta.description":
"Gain a competitive edge with our tailored solutions. Contact us for a consultation.",
"services.cta.contact": "Get in Touch",
"demo.form.title": "Demo Request Form",
"demo.subtitle": "Contact us for any inquiries. We are happy to assist you.",
// Services Page
"services.title": "Our Services",
"services.subtitle":
"All the technology solutions your business needs on its digital transformation journey",
"services.software.title": "Custom Software Development",
"services.software.desc":
"Software solutions tailored to your business needs",
"services.web.title": "Web Applications",
"services.web.desc": "Modern and user-friendly web applications",
"services.mobile.title": "Mobile Applications",
"services.mobile.desc": "Native applications for iOS and Android",
"services.database.title": "Database Solutions",
"services.database.desc": "Secure and scalable database systems",
"services.software.features.analysis": "Analysis and Planning",
"services.software.features.design": "Design and Architecture",
"services.software.features.development": "Software Development",
"services.software.features.testing": "Testing and Quality Assurance",
"services.software.features.maintenance": "Maintenance and Support",
"services.web.features.frontend": "Frontend Development",
"services.web.features.backend": "Backend Development",
"services.web.features.api": "API Development",
"services.web.features.seo": "SEO Optimization",
"services.web.features.performance": "Performance Optimization",
"services.mobile.features.design": "Mobile App Design",
"services.mobile.features.native": "Native Mobile App Development",
"services.mobile.features.cross": "Cross-Platform Mobile App Development",
"services.mobile.features.push": "Push Notification Integration",
"services.mobile.features.store": "App Store & Google Play Deployment",
"services.database.features.design": "Database Design",
"services.database.features.optimization": "Database Optimization",
"services.database.features.migration": "Database Migration",
"services.database.features.backup": "Database Backup",
"services.database.features.recovery": "Database Recovery",
"services.integration.title": "System Integration",
"services.integration.desc":
"Data flow and integration solutions between different systems",
"services.integration.features.api": "API Integration",
"services.integration.features.middleware": "Middleware Development",
"services.integration.features.legacy": "Legacy System Integration",
"services.integration.features.realtime": "Real-Time Data Integration",
"services.integration.features.monitoring":
"Integration Monitoring & Management",
"services.consulting.title": "Technology Consulting",
"services.consulting.desc":
"Expert consulting for your technology strategy and roadmap",
"services.consulting.features.tech": "Technology Strategy",
"services.consulting.features.project": "Project Management Consulting",
"services.consulting.features.digital": "Digital Transformation Consulting",
"services.consulting.features.risk": "Risk Management Consulting",
"services.consulting.features.training": "Technology Training",
"services.security.title": "Cybersecurity",
"services.security.desc":
"Protect your digital assets against cyber threats",
"services.security.features.analysis": "Vulnerability Analysis",
"services.security.features.penetration": "Penetration Testing",
"services.security.features.firewall": "Firewall Management",
"services.security.features.ssl": "SSL Certificate Management",
"services.security.features.training": "Cybersecurity Training",
"services.maintenance.title": "Maintenance & Support",
"services.maintenance.desc":
"Comprehensive maintenance and support services to keep your software running smoothly",
"services.maintenance.features.monitoring": "System Monitoring",
"services.maintenance.features.bugfix": "Bug Fixing",
"services.maintenance.features.performance": "Performance Improvement",
"services.maintenance.features.updates": "Update Management",
"services.maintenance.features.support": "Technical Support",
// Contact Page
"contact.title": "Contact",
"contact.subtitle": "Get in touch with us for any inquiries",
"contact.info.title": "Contact Information",
"contact.address": "Address",
"contact.address.full": "Barbaros Mah. Ahlat Sok. Varyap Meridian Sitesi D1 Blok Daire 115 Kat 14 PK:34746 Ataşehir İstanbul",
"contact.phone": "Phone",
"contact.email": "Email",
"contact.taxOffice": "Tax Office",
"contact.taxNumber": "Tax Number",
"contact.bank.title": "Bank Details",
"contact.workHours": "Working Hours",
"contact.workHours.weekday": "Weekdays: 09:00 - 18:00",
"contact.workHours.weekend": "Weekend: Closed",
"contact.workHours.whatsapp": "24/7",
"contact.transferForm": "Wire Transfer Notification Form",
"contact.location": "Our Location",
// About Page
"about.title": "About Us",
"about.subtitle": "We have been operating in the software industry since 2012",
"about.stats.clients": "Happy Clients",
"about.stats.experience": "Years of Experience",
"about.stats.support": "24/7 Support",
"about.stats.countries": "Countries",
"about.description.part1":
"Sözsoft Information Technologies was founded in 2012 under the brand kursyazilimi.com to contribute to the digital transformation of the education sector. Our foundation is built on over 15 years of software experience and a strong background gained across various industries. Our expert team, which has developed large-scale software solutions for leading textile companies for many years, now channels its experience into the dynamic needs of the education sector by delivering innovative projects. At Sözsoft, we dont just develop software; we aim to create real business value by building sustainable and user-friendly systems tailored to institutions. Guided by the principle of 'exclusive service beyond the ordinary and constant accessibility', our team supports educational institutions in digitizing their operational processes to enhance efficiency and adapt to the demands of the modern age. Today, Sözsoft proudly serves as a trusted technology partner for educational institutions across Turkey.",
"about.description.motto": '"Our passion is technology, our goal is sustainable efficiency."',
"about.description.part2":
"At Sözsoft, we start by understanding you before offering our software solutions. To analyze your needs accurately and provide permanent, sustainable solutions to the problems you face, we approach your organization not just from a technical angle, but with a holistic perspective. We aim to be more than a service provider—your strategic partner who speaks your language. As a specialized software house serving only language schools and educational centers in Turkey, we transform over 15 years of industry experience into flexible, user-friendly software that adds value to your operations. Our goal is to simplify your management processes with customized software you can manage even from your smartphone. In an age where time management and competition are more critical than ever, we take pride in delivering comfortable, secure, and competitive systems that save you both time and resources. From the moment you begin using our software, your education consultants, coordinators, accounting staff, managers, and founders will experience the power of an organized, integrated structure free from information overload. Our solutions are not only technical but tailored to your operational style. We provide a system designed with simplicity, speed, and security in mind—offering tools to support your sales, marketing, and advertising efforts while helping you increase revenue. With full integration into all institutional processes and the ability to solve planning issues for education coordinators, we deliver a lasting solution designed specifically for your business.",
"about.description.closing":
"We develop software for you and create solutions for your institution.",
"about.mission": "Our Mission",
"about.mission.desc":
"To support our clients in their digital transformation journeys by providing innovative solutions that optimize their business processes and enhance their competitive strength.",
"about.vision": "Our Vision",
"about.vision.desc":
"To become one of the leading software companies in Turkey and the region, and to take our place among the global leaders shaping the world of technology.",
"about.team": "Our Team",
"about.team.salesDirector": "Sales Director",
"about.team.projectDirector": "Project Director",
"about.team.techDirector": "Technic Coordinator",
// Blog Page
"blog.title": "Blog",
"blog.subtitle":
"Latest developments and software trends in the tech world",
"blog.posts.ai.title": "Artificial Intelligence and Business",
"blog.posts.ai.excerpt":
"The impacts and future of AI in business processes...",
"blog.posts.ai.date": "May 10, 2024",
"blog.categories.technology": "Technology",
"blog.posts.web.title": "Latest Trends in Web Development",
"blog.posts.web.excerpt": "Modern web development techniques and tools...",
"blog.posts.web.date": "May 5, 2024",
"blog.categories.webdev": "Web Development",
"blog.posts.security.title": "Cybersecurity Tips",
"blog.posts.security.excerpt":
"Protect your business against cyber threats...",
"blog.posts.security.date": "May 1, 2024",
"blog.categories.security": "Cybersecurity",
"blog.posts.mobile.title": "Mobile App Development Guide",
"blog.posts.mobile.excerpt": "Tips for building a successful mobile app...",
"blog.posts.mobile.date": "April 25, 2024",
"blog.categories.mobile": "Mobile",
"blog.posts.database.title": "Fundamentals of Database Management",
"blog.posts.database.excerpt": "Database design and optimization...",
"blog.posts.database.date": "April 20, 2024",
"blog.categories.database": "Database",
"blog.posts.digital.title": "Digital Marketing Strategies",
"blog.posts.digital.excerpt": "Grow your business in the digital world...",
"blog.posts.digital.date": "April 15, 2024",
"blog.categories.digital": "Digital Marketing",
"blog.subscribe": "Subscribe to Newsletter",
"blog.subscribe.desc":
"Subscribe to our newsletter to stay updated on the latest tech and software news.",
"blog.backToBlog": "Blogs",
// Testimonials Section
"testimonials.title": "Testimonials",
// Common
"common.learnMore": "Learn More",
"common.contact": "Join us today and transform your business with our solutions.",
"common.getStarted": "Ready to Get Started?",
"common.readMore": "Read More",
"common.subscribe": "Subscribe",
"common.send": "Send",
"common.name": "First Name",
"common.surname": "Last Name",
"common.email": "Email",
"common.phone": "Phone",
"common.message": "Message",
"common.address": "Address",
"common.city": "City",
"common.company": "Company Name",
"common.fullName": "Full Name",
"common.branchCount": "Number of Branches",
"common.userCount": "Number of Users",
// Footer
"footer.companyInfo":
"With over 20 years of experience, we take your business one step ahead in the digital world. We deliver tomorrows technologies today with innovative solutions.",
"footer.quickLinksTitle": "Quick Links",
"footer.servicesTitle": "Our Services",
"footer.address": "Barbaros Mah. Ahlat Sok. Varyap Meridian Sitesi D1 Blok Daire 115 Kat 14 PK:34746 Ataşehir İstanbul",
"footer.copyright": "All rights reserved.",
"footer.privacyPolicy": "Privacy Policy",
"footer.termsOfUse": "Terms of Use",
"footer.sitemap": "Sitemap",
},
};
const LanguageContext = createContext<LanguageContextType>({
language: "tr",
setLanguage: () => {},
t: () => "",
});
export const LanguageProvider: React.FC<{ children: React.ReactNode }> = ({
children,
}) => {
const [language, setLanguage] = useState<Language>("tr");
const t = (key: string): string => {
return (
translations[language][
key as keyof (typeof translations)[typeof language]
] || key
);
};
return (
<LanguageContext.Provider value={{ language, setLanguage, t }}>
{children}
</LanguageContext.Provider>
);
};
export const useLanguage = () => useContext(LanguageContext);

3
company/src/index.css Normal file
View file

@ -0,0 +1,3 @@
@tailwind base;
@tailwind components;
@tailwind utilities;

View file

@ -0,0 +1,203 @@
export interface BlogPostContent {
title: string;
excerpt: string;
content: string;
date: string;
category: string;
readTime: string;
}
export interface BlogPosts {
[key: string]: {
tr: BlogPostContent;
en: BlogPostContent;
image: string;
author: string;
};
}
export const blogContent: BlogPosts = {
'ai-ve-gelecegi': {
tr: {
title: 'blog.posts.ai.title',
excerpt: 'blog.posts.ai.excerpt',
content: `Yapay zeka (YZ), günümüzün en hızlı gelişen ve dönüştürücü teknolojilerinden biridir. Makine öğrenimi, doğal dil işleme ve bilgisayar görüşü gibi alanlardaki ilerlemeler, YZ'nin hayatımızın birçok alanında etkili olmasını sağlamıştır. Akıllı asistanlardan otonom araçlara, tıbbi teşhislerden finansal analizlere kadar geniş bir yelpazede YZ uygulamalarıyla karşılaşıyoruz.
YZ'nin geleceği parlak görünmekle birlikte, beraberinde önemli etik, sosyal ve ekonomik zorlukları da getiriyor. YZ'nin karar alma süreçlerindeki şeffaflık, algoritmik yanlılık, gücü piyasası üzerindeki potansiyel etkileri ve YZ'nin kötüye kullanımı gibi konular, küresel düzeyde dikkatle ele alınması gereken meselelerdir.
Bu blog yazısında, yapay zekanın mevcut yeteneklerini, farklı sektörlerdeki kullanım alanlarını ve gelecekteki potansiyelini detaylı bir şekilde inceleyeceğiz. Ayrıca, YZ'nin sorumlu bir şekilde geliştirilmesi ve kullanılması için atılması gereken adımları ve bu alandaki güncel tartışmaları ele alarak, yapay zekanın geleceğine dair kapsamlı bir bakış sunacağız.`,
date: 'blog.posts.ai.date',
category: 'blog.categories.technology',
readTime: "5 dk",
},
en: {
title: 'blog.posts.ai.title',
excerpt: 'blog.posts.ai.excerpt',
content: `Artificial Intelligence (AI) is one of the fastest-growing and most transformative technologies today. Advances in areas such as machine learning, natural language processing, and computer vision have enabled AI to be effective in many areas of our lives. We encounter AI applications in a wide range of fields, from smart assistants to autonomous vehicles, medical diagnostics to financial analysis.
While the future of AI looks bright, it also brings significant ethical, social, and economic challenges. Issues such as transparency in AI decision-making processes, algorithmic bias, potential impacts on the labor market, and the misuse of AI are matters that need to be carefully addressed globally.
In this blog post, we will delve into the current capabilities of artificial intelligence, its applications in various sectors, and its future potential. Furthermore, we will discuss the steps that need to be taken for the responsible development and use of AI and the current debates in this field, providing a comprehensive outlook on the future of artificial intelligence.`,
date: 'blog.posts.ai.date',
category: 'blog.categories.technology',
readTime: "5 dk",
},
image: 'https://images.pexels.com/photos/8386434/pexels-photo-8386434.jpeg?auto=compress&cs=tinysrgb&w=1920',
author: "Ahmet Yılmaz",
},
'web-gelistirmede-son-trendler': {
tr: {
title: 'blog.posts.web.title',
excerpt: 'blog.posts.web.excerpt',
content: `Web geliştirme dünyası sürekli bir değişim ve evrim içinde. Her yıl yeni teknolojiler, frameworkler ve yaklaşımlar ortaya çıkıyor, bu da web geliştiricilerinin sürekli öğrenmesini ve adapte olmasını gerektiriyor. 2024 yılı da bu açıdan farklı değil; heyecan verici yeni trendler ve gelişmeler web ekosistemini şekillendiriyor.
Bu yılın öne çıkan trendlerinden biri Serverless mimarilerin yükselişi. Geliştiricilerin sunucu yönetimiyle uğraşmadan uygulama geliştirmesine olanak tanıyan Serverless, maliyet etkinliği ve ölçeklenebilirlik gibi avantajlar sunuyor. Bir diğer önemli trend ise WebAssembly (Wasm). Web tarayıcılarında yüksek performanslı kod çalıştırmayı mümkün kılan Wasm, oyunlar, video düzenleyiciler ve CAD yazılımları gibi daha karmaşık uygulamaların web'e taşınmasını sağlıyor.
Mikro ön uçlar da büyük ölçekli web uygulamalarının yönetimini kolaylaştıran bir mimari desen olarak popülerlik kazanıyor. Bu yaklaşım, büyük ön projelerini daha küçük, bağımsız parçalara ayırarak farklı ekiplerin aynı proje üzerinde paralel çalışmasına imkan tanıyor. Bu blog yazısında, bu ve benzeri web geliştirme trendlerini daha detaylı inceleyerek, geleceğin web uygulamalarını şekillendiren teknolojilere derinlemesine bir bakış sunacağız.`,
date: 'blog.posts.web.date',
category: 'blog.categories.webdev',
readTime: "7 dk",
},
en: {
title: 'blog.posts.web.title',
excerpt: 'blog.posts.web.excerpt',
content: `The world of web development is in a constant state of change and evolution. Every year, new technologies, frameworks, and approaches emerge, requiring web developers to continuously learn and adapt. 2024 is no different in this regard; exciting new trends and developments are shaping the web ecosystem.
One of the prominent trends this year is the rise of Serverless architectures. Enabling developers to build applications without managing servers, Serverless offers advantages such as cost-effectiveness and scalability. Another significant trend is WebAssembly (Wasm). Allowing high-performance code to run in web browsers, Wasm makes it possible to bring more complex applications like games, video editors, and CAD software to the web.
Micro frontends are also gaining popularity as an architectural pattern that simplifies the management of large-scale web applications. This approach allows breaking down large frontend projects into smaller, independent pieces, enabling different teams to work on the same project in parallel. In this blog post, we will delve deeper into these and similar web development trends, providing an in-depth look at the technologies shaping the future of web applications.`,
date: 'blog.posts.web.date',
category: 'blog.categories.webdev',
readTime: "7 dk",
},
image: 'https://images.pexels.com/photos/11035471/pexels-photo-11035471.jpeg?auto=compress&cs=tinysrgb&w=1920',
author: "Mehmet Kaya",
},
'siber-guvenlik-tehditleri-ve-korunma-yollari': {
tr: {
title: 'blog.posts.security.title',
excerpt: 'blog.posts.security.excerpt',
content: `Dijitalleşmenin hızla artmasıyla birlikte, siber güvenlik tehditlerinin sayısı ve karmaşıklığı da eş zamanlı olarak artmaktadır. Artık sadece büyük şirketler değil, bireyler ve küçük işletmeler de siber saldırganların hedefi haline gelmiştir. Kişisel verilerin çalınması, kimlik avı (phishing) saldırıları, fidye yazılımları (ransomware) ve dağıtılmış hizmet engelleme (DDoS) saldırıları gibi tehditler, hem maddi hem de manevi zararlara yol açabilmektedir.
Bu tehditlere karşı korunmak, dijital dünyada güvende kalmak için hayati öneme sahiptir. Güçlü ve benzersiz şifreler kullanmak, iki faktörlü kimlik doğrulama yöntemlerini benimsemek ve yazılımlarımızı düzenli olarak güncellemek, alabileceğimiz temel önlemler arasındadır. Ayrıca, bilinmeyen kaynaklardan gelen e-postalara ve linklere karşı dikkatli olmak, halka ık Wi-Fi ağlarında hassas işlemler yapmaktan kaçınmak da önemlidir.
Bu blog yazısında, güncel siber güvenlik tehditlerini daha detaylı bir şekilde inceleyeceğiz. Her bir tehdit türünün nasıl çalıştığını, potansiyel etkilerini ve bu tehditlere karşı bireysel ve kurumsal düzeyde alınabilecek en etkili korunma yollarını ele alacağız. Siber güvenlik bilincini artırmak ve dijital varlıklarımızı korumak için pratik ipuçları sunarak, daha güvenli bir çevrimiçi deneyim için rehberlik edeceğiz.`,
date: 'blog.posts.security.date',
category: 'blog.categories.security',
readTime: "6 dk",
},
en: {
title: 'blog.posts.security.title',
excerpt: 'blog.posts.security.excerpt',
content: `With the rapid increase in digitalization, the number and complexity of cyber security threats are also increasing simultaneously. Not only large corporations but also individuals and small businesses have become targets for cyber attackers. Threats such as personal data theft, phishing attacks, ransomware, and distributed denial-of-service (DDoS) attacks can cause both financial and emotional damage.
Protecting against these threats is vital for staying safe in the digital world. Using strong and unique passwords, adopting two-factor authentication methods, and regularly updating our software are among the basic precautions we can take. Furthermore, it is important to be cautious about emails and links from unknown sources and to avoid performing sensitive transactions on public Wi-Fi networks.
In this blog post, we will examine current cyber security threats in more detail. We will discuss how each type of threat works, its potential impacts, and the most effective ways to protect against these threats at both individual and organizational levels. By providing practical tips to increase cyber security awareness and protect our digital assets, we will offer guidance for a safer online experience.`,
date: 'blog.posts.security.date',
category: 'blog.categories.security',
readTime: "6 dk",
},
image: 'https://images.pexels.com/photos/5380642/pexels-photo-5380642.jpeg?auto=compress&cs=tinysrgb&w=1920',
author: "Ayşe Demir",
},
'mobil-uygulama-gelistirmede-cross-platform-cozumler': {
tr: {
title: 'blog.posts.mobile.title',
excerpt: 'blog.posts.mobile.excerpt',
content: `Mobil uygulama geliştirme, günümüzün en dinamik ve talep gören yazılım alanlarından biridir. Akıllı telefonların yaygınlaşmasıyla birlikte, işletmeler ve bireyler mobil platformlarda yer almak için sürekli yeni uygulamalar geliştirmektedir. Geleneksel olarak, iOS ve Android gibi farklı mobil işletim sistemleri için ayrı ayrı native uygulamalar geliştirmek gerekiyordu, bu da zaman ve kaynak açısından maliyetli olabiliyordu.
Ancak son yıllarda, cross-platform (çapraz platform) mobil geliştirme frameworkleri popülerlik kazanmıştır. Bu frameworkler, geliştiricilerin tek bir kod tabanı kullanarak hem iOS hem de Android platformları için uygulama geliştirmesine olanak tanır. Bu yaklaşım, geliştirme sürecini hızlandırır, maliyetleri düşürür ve bakım kolaylığı sağlar. React Native, Flutter ve Xamarin gibi frameworkler, cross-platform geliştirme alanında öne çıkan çözümlerdir.
Bu blog yazısında, cross-platform mobil geliştirmenin avantajlarını ve dezavantajlarını detaylı bir şekilde inceleyeceğiz. Farklı frameworklerin özelliklerini, performanslarını ve hangi senaryolarda daha uygun olduklarını karşılaştıracağız. Mobil uygulama geliştirme projeniz için en doğru cross-platform çözümü seçmenize yardımcı olacak bilgiler sunarak, geliştirme sürecinizi daha verimli hale getirmeniz için rehberlik edeceğiz.`,
date: 'blog.posts.mobile.date',
category: 'blog.categories.mobile',
readTime: "4 dk",
},
en: {
title: 'blog.posts.mobile.title',
excerpt: 'blog.posts.mobile.excerpt',
content: `Mobile application development is one of the most dynamic and in-demand software fields today. With the widespread adoption of smartphones, businesses and individuals are constantly developing new applications to have a presence on mobile platforms. Traditionally, it was necessary to develop separate native applications for different mobile operating systems like iOS and Android, which could be costly in terms of time and resources.
However, in recent years, cross-platform mobile development frameworks have gained popularity. These frameworks allow developers to build applications for both iOS and Android platforms using a single codebase. This approach accelerates the development process, reduces costs, and provides ease of maintenance. Frameworks like React Native, Flutter, and Xamarin are prominent solutions in the field of cross-platform development.
In this blog post, we will delve into the advantages and disadvantages of cross-platform mobile development in detail. We will compare the features and performance of different frameworks and discuss in which scenarios they are more suitable. By providing information to help you choose the right cross-platform solution for your mobile application development project, we will guide you to make your development process more efficient.`,
date: 'blog.posts.mobile.date',
category: 'blog.categories.mobile',
readTime: "4 dk",
},
image: 'https://images.pexels.com/photos/13017583/pexels-photo-13017583.jpeg?auto=compress&cs=tinysrgb&w=1920',
author: "Can Öztürk",
},
'veritabani-yonetim-sistemleri-karsilastirmasi': {
tr: {
title: 'blog.posts.database.title',
excerpt: 'blog.posts.database.excerpt',
content: `Veritabanları, modern yazılım uygulamalarının kalbidir. Uygulamaların veriyi depolaması, yönetmesi ve erişmesi için güvenilir ve etkili bir veritabanı yönetim sistemi (VTYS) seçimi kritik öneme sahiptir. Piyasada birçok farklı türde VTYS bulunmaktadır ve her birinin kendine özgü avantajları ve dezavantajları vardır. Doğru VTYS seçimi, uygulamanın performansı, ölçeklenebilirliği, güvenliği ve geliştirme süreci üzerinde doğrudan bir etkiye sahiptir.
İlişkisel veritabanları (RDBMS), veriyi tablolar halinde düzenler ve SQL (Yapısal Sorgu Dili) kullanarak verilere erişim sağlar. MySQL, PostgreSQL, Oracle ve SQL Server gibi sistemler bu kategoriye girer. RDBMS'ler, veri tutarlılığı ve karmaşık sorgular için güçlü yetenekler sunar. Ancak, büyük ölçekli ve yapısal olmayan verilerle çalışırken performans sorunları yaşanabilir.
NoSQL (Not Only SQL) veritabanları ise daha esnek veri modelleri sunar ve genellikle büyük ölçekli, dağıtık sistemler ve hızlı veri erişimi gerektiren uygulamalar için tercih edilir. MongoDB (belge tabanlı), Cassandra (geniş sütunlu) ve Redis (anahtar-değer) gibi sistemler NoSQL kategorisine örnektir. NoSQL veritabanları, yatay ölçeklenebilirlik ve yüksek erişilebilirlik sağlama konusunda genellikle RDBMS'lerden daha iyidir. Bu blog yazısında, ilişkisel ve NoSQL veritabanı yönetim sistemlerini detaylı bir şekilde karşılaştırarak, farklı kullanım senaryolarına göre hangi VTYS'nin daha uygun olduğunu ele alacağız.`,
date: 'blog.posts.database.date',
readTime: "8 dk",
category: 'blog.categories.database',
},
en: {
title: 'blog.posts.database.title',
excerpt: 'blog.posts.database.excerpt',
content: `Databases are the heart of modern software applications. Choosing a reliable and effective database management system (DBMS) is crucial for applications to store, manage, and access data. There are many different types of DBMS available in the market, each with its own unique advantages and disadvantages. The right DBMS choice has a direct impact on the application's performance, scalability, security, and development process.
Relational database management systems (RDBMS) organize data in tables and provide access to data using SQL (Structured Query Language). Systems like MySQL, PostgreSQL, Oracle, and SQL Server fall into this category. RDBMSs offer strong capabilities for data consistency and complex queries. However, performance issues can arise when working with large-scale and unstructured data.
NoSQL (Not Only SQL) databases, on the other hand, offer more flexible data models and are generally preferred for large-scale, distributed systems and applications requiring fast data access. Systems like MongoDB (document-based), Cassandra (wide-column), and Redis (key-value) are examples of NoSQL databases. NoSQL databases are generally better than RDBMSs at providing horizontal scalability and high availability. In this blog post, we will compare relational and NoSQL database management systems in detail, discussing which DBMS is more suitable for different use cases.`,
date: 'blog.posts.database.date',
readTime: "8 dk",
category: 'blog.categories.database',
},
image: 'https://images.pexels.com/photos/325229/pexels-photo-325229.jpeg?auto=compress&cs=tinysrgb&w=1920',
author: "Zeynep Yıldız",
},
'dijital-pazarlamada-veri-analizi': {
tr: {
title: 'blog.posts.digital.title',
excerpt: 'blog.posts.digital.excerpt',
content: `Dijital pazarlama dünyası, sürekli değişen algoritmalar, yeni platformlar ve gelişen tüketici davranışlarıyla dinamik bir yapıya sahiptir. Bu karmaşık ortamda başarılı olmak için, pazarlamacıların verilere dayalı kararlar alması ve stratejilerini sürekli olarak optimize etmesi gerekmektedir. İşte tam bu noktada veri analizi devreye girer. Dijital pazarlamada veri analizi, kampanyaların performansını ölçmek, müşteri davranışlarını anlamak, hedef kitleyi daha iyi tanımak ve pazarlama yatırımlarının geri dönüşünü (ROI) maksimize etmek için kritik bir araçtır.
Veri analizi sayesinde, hangi pazarlama kanallarının en etkili olduğunu belirleyebilir, hangi içerik türlerinin daha fazla etkileşim aldığını anlayabilir ve müşteri yolculuğunun farklı aşamalarındaki performans darboğazlarını tespit edebiliriz. Google Analytics, Adobe Analytics gibi web analizi araçları, sosyal medya analiz platformları ve müşteri ilişkileri yönetimi (CRM) sistemleri, dijital pazarlamacılara değerli veriler sunar. Bu verilerin doğru bir şekilde toplanması, temizlenmesi, analiz edilmesi ve yorumlanması, daha bilinçli ve etkili pazarlama stratejileri oluşturmanın temelini oluşturur.
Bu blog yazısında, dijital pazarlamada veri analizinin neden bu kadar önemli olduğunu detaylı bir şekilde ele alacağız. Kullanılan temel metrikleri (örneğin, dönüşüm oranı, tıklama oranı, müşteri edinme maliyeti), farklı analiz yöntemlerini ve veri görselleştirme tekniklerini inceleyeceğiz. Ayrıca, veri analizinden elde edilen içgörüleri pazarlama stratejilerine nasıl entegre edebileceğinize dair pratik ipuçları sunarak, dijital pazarlama çabalarınızın etkinliğini artırmanız için rehberlik edeceğiz.`,
date: 'blog.posts.digital.date',
readTime: "6 dk",
category: 'blog.categories.digital',
},
en: {
title: 'blog.posts.digital.title',
excerpt: 'blog.posts.digital.excerpt',
content: `The world of digital marketing is dynamic, with constantly changing algorithms, new platforms, and evolving consumer behavior. To succeed in this complex environment, marketers need to make data-driven decisions and continuously optimize their strategies. This is where data analysis comes into play. In digital marketing, data analysis is a critical tool for measuring campaign performance, understanding customer behavior, getting to know the target audience better, and maximizing the return on marketing investments (ROI).
Through data analysis, we can determine which marketing channels are most effective, understand which types of content receive more engagement, and identify performance bottlenecks at different stages of the customer journey. Web analytics tools like Google Analytics and Adobe Analytics, social media analytics platforms, and customer relationship management (CRM) systems provide valuable data to digital marketers. The accurate collection, cleaning, analysis, and interpretation of this data form the basis for creating more informed and effective marketing strategies.
In this blog post, we will delve into why data analysis is so important in digital marketing. We will examine key metrics used (e.g., conversion rate, click-through rate, customer acquisition cost), different analysis methods, and data visualization techniques. Furthermore, we will provide practical tips on how to integrate insights gained from data analysis into your marketing strategies, guiding you to increase the effectiveness of your digital marketing efforts.`,
date: 'blog.posts.digital.date',
readTime: "6 dk",
category: 'blog.categories.digital',
},
image: 'https://images.pexels.com/photos/7681091/pexels-photo-7681091.jpeg?auto=compress&cs=tinysrgb&w=1920',
author: "Ali Kara",
},
};
// Blog yazılarının listesi (Blog.tsx'te kullanılacak)
export const blogPostsList = Object.keys(blogContent).map(slug => {
const post = blogContent[slug].tr; // Varsayılan olarak Türkçe içeriği kullanıyoruz, dil bağlamına göre değiştirilebilir
return {
slug,
title: post.title,
excerpt: post.excerpt,
image: blogContent[slug].image, // Görsel bilgisi blogContent'ten alındı
author: blogContent[slug].author, // Yazar bilgisi blogContent'ten alındı
date: post.date,
readTime: post.readTime,
category: post.category,
};
});

View file

@ -0,0 +1,56 @@
export const team = {
en: [
{
name: "Özlem Öztürk",
title: "Founder",
imageUrl: "/img/women.png"
},
{
name: "Sefa Öztürk",
title: "CTO",
imageUrl: "/img/men.png"
},
{
name: "Ahmet Öztürk",
title: "Sales Director",
imageUrl: "/img/men.png"
},
{
name: "Esra Öztürk",
title: "Project Director",
imageUrl: "/img/women.png"
},
{
name: "Eva Öztürk",
title: "Tech Director",
imageUrl: "/img/women.png"
}
],
tr: [
{
name: "Özlem Öztürk",
title: "Kurucu",
imageUrl: "/img/women.png"
},
{
name: "Sefa Öztürk",
title: "CTO",
imageUrl: "/img/men.png"
},
{
name: "Ahmet Öztürk",
title: "Satış Direktörü",
imageUrl: "/img/men.png"
},
{
name: "Esra Öztürk",
title: "Proje Direktörü",
imageUrl: "/img/women.png"
},
{
name: "Eva Öztürk",
title: "Teknoloji Direktörü",
imageUrl: "/img/women.png"
}
]
};

View file

@ -0,0 +1,106 @@
export const testimonials = {
en: [
{
quote: "Outstanding service and results. Highly recommended!",
author: "John Doe",
title: "CEO, Example Corp"
},
{
quote: "Exceeded our expectations in every way.",
author: "Jane Smith",
title: "Director, Tech Solutions"
},
{
quote: "A game-changer for our business operations.",
author: "Mike Johnson",
title: "Founder, Innovation Labs"
},
{
quote: "The team was incredibly responsive and helpful.",
author: "Emily White",
title: "Marketing Manager, Global Corp"
},
{
quote: "We saw a significant increase in efficiency after implementing their solutions.",
author: "David Brown",
title: "Operations Manager, Tech Forward"
},
{
quote: "Their expertise and dedication are unmatched.",
author: "Sarah Green",
title: "Head of Product, Innovatech"
},
{
quote: "Incredible support and a fantastic product.",
author: "Kevin Black",
title: "Sales Director, LeadGen Inc."
},
{
quote: "Transformed our business with their innovative approach.",
author: "Linda Gray",
title: "Business Owner, Creative Solutions"
},
{
quote: "Exceptional service and a pleasure to work with.",
author: "Brian Blue",
title: "Project Lead, FutureTech"
},
{
quote: "Highly professional and delivered on every promise.",
author: "Jessica Red",
title: "Customer Success Manager, Prime Corp"
}
],
tr: [
{
quote: "Üstün hizmet ve sonuçlar. Şiddetle tavsiye edilir!",
author: "John Doe",
title: "CEO, Example Corp"
},
{
quote: "Beklentilerimizi her yönden aştılar.",
author: "Jane Smith",
title: "Direktör, Tech Solutions"
},
{
quote: "İş operasyonlarımız için ezber bozan bir gelişme.",
author: "Mike Johnson",
title: "Kurucu, Innovation Labs"
},
{
quote: "Ekip inanılmaz derecede duyarlı ve yardımseverdi.",
author: "Emily White",
title: "Pazarlama Müdürü, Global Corp"
},
{
quote: "Çözümlerini uyguladıktan sonra verimlilikte önemli bir artış gördük.",
author: "David Brown",
title: "Operasyon Müdürü, Tech Forward"
},
{
quote: "Uzmanlıkları ve özverileri eşsiz.",
author: "Sarah Green",
title: "Ürün Müdürü, Innovatech"
},
{
quote: "İnanılmaz destek ve harika bir ürün.",
author: "Kevin Black",
title: "Satış Direktörü, LeadGen Inc."
},
{
quote: "Yenilikçi yaklaşımlarıyla işimizi dönüştürdüler.",
author: "Linda Gray",
title: "İşletme Sahibi, Creative Solutions"
},
{
quote: "Olağanüstü hizmet ve çalışması keyifli.",
author: "Brian Blue",
title: "Proje Lideri, FutureTech"
},
{
quote: "Son derece profesyonel ve verdikleri her sözü tuttular.",
author: "Jessica Red",
title: "Müşteri Başarı Yöneticisi, Prime Corp"
}
]
};

10
company/src/main.tsx Normal file
View file

@ -0,0 +1,10 @@
import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';
import App from './App.tsx';
import './index.css';
createRoot(document.getElementById('root')!).render(
<StrictMode>
<App />
</StrictMode>
);

111
company/src/pages/About.tsx Normal file
View file

@ -0,0 +1,111 @@
import React from 'react';
import { Users, Award, Clock, Globe2 } from 'lucide-react';
import { useLanguage } from '../context/LanguageContext';
import { team } from '../locales/team';
const About: React.FC = () => {
const { t, language } = useLanguage();
const teamData = team[language];
return (
<div className="min-h-screen bg-gray-50">
{/* Hero Section */}
<div className="relative bg-blue-900 text-white py-24">
<div className="absolute inset-0 opacity-20" style={{
backgroundImage: 'url("https://images.pexels.com/photos/3183183/pexels-photo-3183183.jpeg?auto=compress&cs=tinysrgb&w=1920")',
backgroundSize: 'cover',
backgroundPosition: 'center',
}}></div>
<div className="container mx-auto pt-16 px-4 relative">
<h1 className="text-5xl font-bold mb-6">{t('about.title')}</h1>
<p className="text-xl max-w-3xl">
{t('about.subtitle')}
</p>
</div>
</div>
{/* Stats Section */}
<div className="py-16 bg-white">
<div className="container mx-auto px-4">
<div className="grid grid-cols-1 md:grid-cols-4 gap-8">
<div className="text-center">
<Users className="w-12 h-12 text-blue-600 mx-auto mb-4" />
<div className="text-4xl font-bold text-gray-900 mb-2">300+</div>
<div className="text-gray-600">{t('about.stats.clients')}</div>
</div>
<div className="text-center">
<Award className="w-12 h-12 text-blue-600 mx-auto mb-4" />
<div className="text-4xl font-bold text-gray-900 mb-2">20+</div>
<div className="text-gray-600">{t('about.stats.experience')}</div>
</div>
<div className="text-center">
<Clock className="w-12 h-12 text-blue-600 mx-auto mb-4" />
<div className="text-4xl font-bold text-gray-900 mb-2">7/24</div>
<div className="text-gray-600">{t('about.stats.support')}</div>
</div>
<div className="text-center">
<Globe2 className="w-12 h-12 text-blue-600 mx-auto mb-4" />
<div className="text-4xl font-bold text-gray-900 mb-2">3</div>
<div className="text-gray-600">{t('about.stats.countries')}</div>
</div>
</div>
</div>
</div>
{/* Main Content */}
<div className="py-6">
<div className="container mx-auto px-4">
<div className="mb-6">
<div className="space-y-6 mx-auto mx-auto text-gray-800 text-lg leading-relaxed">
<p className="bg-white p-5 shadow-md border-l-4 border-blue-600">
{t('about.description.part1')}
</p>
<p className="italic text-center text-blue-700 font-semibold">
{t('about.description.motto')}
</p>
<p className="bg-white p-5 shadow-md border-l-4 border-blue-600">
{t('about.description.part2')}
</p>
<p className="text-center text-blue-700 font-medium">
{t('about.description.closing')}
</p>
</div>
</div>
<div className="grid grid-cols-1 lg:grid-cols-2 gap-12">
<div className="bg-white p-8 rounded-xl shadow-lg">
<h3 className="text-2xl font-bold text-gray-900 mb-4">{t('about.mission')}</h3>
<p className="text-gray-700">{t('about.mission.desc')}</p>
</div>
<div className="bg-white p-8 rounded-xl shadow-lg">
<h3 className="text-2xl font-bold text-gray-900 mb-4">{t('about.vision')}</h3>
<p className="text-gray-700">{t('about.vision.desc')}</p>
</div>
</div>
</div>
</div>
{/* Team Section */}
<div className="py-16 bg-white">
<div className="container mx-auto px-4">
<h2 className="text-3xl font-bold text-gray-900 text-center mb-12">
{t('about.team')}
</h2>
<div className="grid grid-cols-1 md:grid-cols-5 gap-8">
{teamData.map((member, index) => (
<div key={index} className="text-center">
<img src={member.imageUrl} alt={member.name} className="w-32 h-32 rounded-full mx-auto mb-4 object-cover" />
<h3 className="text-xl font-semibold text-gray-900">{member.name}</h3>
<p className="text-gray-600">{member.title}</p>
</div>
))}
</div>
</div>
</div>
</div>
);
};
export default About;

102
company/src/pages/Blog.tsx Normal file
View file

@ -0,0 +1,102 @@
import React from 'react';
import { Calendar, Clock, User } from 'lucide-react';
import { useLanguage } from '../context/LanguageContext';
import { Link } from 'react-router-dom';
import { blogPostsList, BlogPostContent } from '../locales/blogContent'; // blogPostsList ve BlogPostContent interface'ini import et
const Blog: React.FC = () => {
const { t } = useLanguage();
// Basit slug oluşturma fonksiyonu
const createSlug = (title: string) => {
return title
.toLowerCase()
.replace(/ /g, '-')
.replace(/[^\w-]+/g, '');
};
return (
<div className="min-h-screen bg-gray-50">
{/* Hero Section */}
<div className="relative bg-blue-900 text-white py-24">
<div className="absolute inset-0 opacity-20" style={{
backgroundImage: 'url("https://images.pexels.com/photos/3183160/pexels-photo-3183160.jpeg?auto=compress&cs=tinysrgb&w=1920")',
backgroundSize: 'cover',
backgroundPosition: 'center',
}}></div>
<div className="container mx-auto pt-16 px-4 relative">
<h1 className="text-5xl font-bold mb-6">{t('blog.title')}</h1>
<p className="text-xl max-w-3xl">
{t('blog.subtitle')}
</p>
</div>
</div>
{/* Blog Posts Grid */}
<div className="container mx-auto px-4 py-16">
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
{blogPostsList.map((post, index) => (
<Link to={`/blog/${post.slug}`} key={index} className="block">
<article className="bg-white rounded-xl shadow-lg overflow-hidden hover:shadow-xl transition-shadow">
<div className="aspect-w-16 aspect-h-9 relative">
<img
src={post.image} // Görsel bilgisi doğrudan post objesinden alınıyor
alt={t(post.title)}
className="object-cover w-full h-48"
/>
<div className="absolute top-4 right-4 bg-blue-600 text-white px-3 py-1 rounded-full text-sm">
{t(post.category)}
</div>
</div>
<div className="p-6">
<h2 className="text-xl font-bold text-gray-900 mb-3 hover:text-blue-600 transition-colors">
{t(post.title)}
</h2>
<p className="text-gray-600 mb-4">
{t(post.excerpt)}
</p>
<div className="flex items-center text-sm text-gray-500 space-x-4">
<div className="flex items-center">
<User size={16} className="mr-1" />
{post.author} {/* Yazar bilgisi doğrudan post objesinden alınıyor */}
</div>
<div className="flex items-center">
<Calendar size={16} className="mr-1" />
{t(post.date)}
</div>
<div className="flex items-center">
<Clock size={16} className="mr-1" />
{post.readTime}
</div>
</div>
</div>
</article>
</Link>
))}
</div>
</div>
{/* Newsletter Section */}
<div className="bg-white py-16">
<div className="container mx-auto px-4 text-center">
<h2 className="text-3xl font-bold text-gray-900 mb-4">{t('blog.subscribe')}</h2>
<p className="text-gray-600 mb-8 max-w-2xl mx-auto">
{t('blog.subscribe.desc')}
</p>
<div className="max-w-md mx-auto flex gap-4">
<input
type="email"
placeholder={t('common.email')}
className="flex-1 px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500"
/>
<button className="bg-blue-600 text-white px-6 py-2 rounded-lg hover:bg-blue-700 transition-colors">
{t('common.subscribe')}
</button>
</div>
</div>
</div>
</div>
);
};
export default Blog;

View file

@ -0,0 +1,70 @@
import React from 'react';
import { Link, useParams } from 'react-router-dom'; // Link ve useParams'ı import et
import { useLanguage } from '../context/LanguageContext'; // useLanguage hook'unu import et
import { blogContent, BlogPostContent } from '../locales/blogContent'; // blogContent ve BlogPostContent interface'ini import et
const BlogDetail: React.FC = () => {
const { id } = useParams<{ id: string }>();
const { t, language } = useLanguage(); // useLanguage hook'unu kullan ve dil bilgisini al
// Basit slug oluşturma fonksiyonu (Blog.tsx'teki ile aynı olmalı)
const createSlug = (title: string) => {
return title
.toLowerCase()
.replace(/ /g, '-')
.replace(/[^\w-]+/g, '');
};
// URL'deki slug'a göre blog yazısını bul
// blogContent objesinden slug'a karşılık gelen blog yazısını ve mevcut dile göre içeriğini al
const postData = blogContent[id || '']; // id undefined olabilir, boş string ile kontrol et
const blogPost = postData ? postData[language as 'tr' | 'en'] : undefined; // Mevcut dile göre içeriği al
if (!blogPost) {
return (
<div className="min-h-screen bg-gray-50 flex items-center justify-center">
<h1 className="text-2xl font-bold text-gray-900">{t('blog.notFound')}</h1> {/* Çeviri kullan */}
</div>
);
}
return (
<div className="min-h-screen bg-gray-50 pt-32 pb-16"> {/* py-16 yerine pt-32 pb-16 kullanıldı */}
<div className="container mx-auto px-4">
<Link to="/blog" className="text-blue-600 hover:underline mb-4 inline-block">
&larr; {t('blog.backToBlog')} {/* Geri dönüş butonu */}
</Link>
{/* Blog yazısı görseli */}
{postData.image && (
<img
src={postData.image} // Görsel bilgisi blogContent'ten alınıyor
alt={t(blogPost.title)} // Alt metni çevir
className="w-full h-96 object-cover rounded-lg mb-8"
/>
)}
<h1 className="text-4xl font-bold text-gray-900 mb-6">{t(blogPost.title)}</h1> {/* Çeviri kullan */}
{/* Yazar, tarih, okuma süresi gibi bilgiler eklenebilir */}
<div className="flex items-center text-sm text-gray-500 space-x-4 mb-8">
<div className="flex items-center">
{/* <User size={16} className="mr-1" /> */} {/* İkonlar eklenebilir */}
<span>{postData.author}</span> {/* Yazar bilgisi blogContent'ten alınıyor */}
</div>
<div className="flex items-center">
{/* <Calendar size={16} className="mr-1" /> */}
{t(blogPost.date)} {/* Çeviri kullan */}
</div>
<div className="flex items-center">
{/* <Clock size={16} className="mr-1" /> */}
{blogPost.readTime}
</div>
</div>
<div className="prose max-w-none text-gray-800"> {/* Tailwind Typography eklentisi kuruluysa kullanılabilir */}
<p>{t(blogPost.content)}</p> {/* Tam içeriği çevirerek göster */}
{/* Daha uzun içerik burada paragraflar halinde yer alabilir */}
</div>
</div>
</div>
);
};
export default BlogDetail;

View file

@ -0,0 +1,212 @@
import React from "react";
import {
Mail,
Phone,
MapPin,
Clock,
Globe,
FileText,
Building,
CalendarDays,
CalendarCheck,
MessageCircle,
} from "lucide-react";
import { useLanguage } from "../context/LanguageContext";
const Contact: React.FC = () => {
const { t } = useLanguage();
return (
<div className="min-h-screen bg-gray-50">
{/* Hero Section */}
<div className="relative bg-blue-900 text-white py-24">
<div
className="absolute inset-0 opacity-20"
style={{
backgroundImage:
'url("https://images.pexels.com/photos/3183171/pexels-photo-3183171.jpeg?auto=compress&cs=tinysrgb&w=1920")',
backgroundSize: "cover",
backgroundPosition: "center",
}}
></div>
<div className="container mx-auto pt-16 px-4 relative">
<h1 className="text-5xl font-bold mb-6">{t("contact.title")}</h1>
<p className="text-xl max-w-3xl">{t("contact.subtitle")}</p>
</div>
</div>
<div className="py-16">
<div className="container mx-auto px-4">
<div className="grid grid-cols-1 lg:grid-cols-2 gap-12">
{/* Contact Information */}
<div className="space-y-8">
<div className="bg-white rounded-xl shadow-lg p-8">
<h2 className="text-2xl font-bold text-gray-900 mb-6">
{t("contact.info.title")}
</h2>
<div className="space-y-6">
<div className="flex items-start space-x-4">
<MapPin className="w-6 h-6 text-blue-600 flex-shrink-0 mt-1" />
<div>
<h3 className="font-semibold text-gray-900">
{t("contact.address")}
</h3>
<p className="text-gray-600">
{t("contact.address.full")}
</p>
</div>
</div>
<div className="flex items-start space-x-4">
<Phone className="w-6 h-6 text-blue-600 flex-shrink-0" />
<div>
<h3 className="font-semibold text-gray-900">
{t("contact.phone")}
</h3>
<p className="text-gray-600">+90 (544) 769 7 638</p>
</div>
</div>
<div className="flex items-start space-x-4">
<Mail className="w-6 h-6 text-blue-600 flex-shrink-0" />
<div>
<h3 className="font-semibold text-gray-900">
{t("contact.email")}
</h3>
<p className="text-gray-600">
<a
href="mailto:destek@sozsoft.com"
className="hover:underline text-blue-600"
>
destek@sozsoft.com
</a>
</p>
<p className="text-gray-600">
<a
href="mailto:kariyer@sozsoft.com"
className="hover:underline text-blue-600"
>
kariyer@sozsoft.com
</a>
</p>
</div>
</div>
<div className="flex items-start space-x-4">
<Building className="w-6 h-6 text-blue-600 flex-shrink-0" />
<div>
<h3 className="font-semibold text-gray-900">
{t("contact.taxOffice")}
</h3>
<p className="text-gray-600">Kozyatağı</p>
</div>
</div>
<div className="flex items-start space-x-4">
<FileText className="w-6 h-6 text-blue-600 flex-shrink-0" />
<div>
<h3 className="font-semibold text-gray-900">
{t("contact.taxNumber")}
</h3>
<p className="text-gray-600">32374982750</p>
</div>
</div>
<div className="flex items-start space-x-4">
<Globe className="w-6 h-6 text-blue-600 flex-shrink-0" />
<div>
<h3 className="font-semibold text-gray-900">
<a
href="http://www.sozsoft.com"
className="text-blue-600 hover:underline"
>
http://www.sozsoft.com
</a>
</h3>
</div>
</div>
</div>
</div>
</div>
{/* Bank Information */}
<div className="space-y-8">
<div className="bg-white rounded-xl shadow-lg p-8">
<h2 className="text-2xl font-bold text-gray-900 mb-6">
{t("contact.workHours")}
</h2>
<div className="space-y-4">
<div className="flex items-start space-x-4">
<div className="space-y-2">
<div className="flex items-center space-x-2">
<CalendarDays className="w-5 h-5 text-blue-500" />
<p className="text-gray-600">
{t("contact.workHours.weekday")}
</p>
</div>
<div className="flex items-center space-x-2">
<CalendarCheck className="w-5 h-5 text-blue-500" />
<p className="text-gray-600">
{t("contact.workHours.weekend")}
</p>
</div>
<div className="flex items-center space-x-2">
<MessageCircle className="w-5 h-5 text-green-500" />
<p className="text-gray-600">
{t("contact.workHours.whatsapp")}
</p>
</div>
</div>
</div>
</div>
</div>
<div className="bg-white rounded-xl shadow-lg p-8">
<h2 className="text-2xl font-bold text-gray-900 mb-6">
{t("contact.bank.title")}
</h2>
<div className="space-y-4">
<img
src="/img/enpara.svg"
alt="Enpara Logo"
className="w-24 object-contain mt-1 flex-shrink-0"
/>
<div>
<h3 className="font-semibold text-gray-900">
Özlem Öztürk
</h3>
<p className="text-gray-600">
03663 / Enpara
<br />
73941177
<br />
TR65 0011 1000 0000 0073 9411 77
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{/* Map Section */}
<div className="bg-white py-16">
<div className="container mx-auto px-4">
<h2 className="text-2xl font-bold text-gray-900 mb-8 text-center">
{t("contact.location")}
</h2>
<div className="aspect-w-16 aspect-h-9 bg-gray-200 rounded-xl overflow-hidden">
<iframe
src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3006.209566407676!2d28.757000999999992!3d41.10811400000001!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0x8a0bbbdfcfd3fd24!2zU8O2enNvZnQ!5e0!3m2!1str!2str!4v1450816303558"
width="100%"
height="450"
style={{ border: 0 }}
allowFullScreen
loading="lazy"
referrerPolicy="no-referrer-when-downgrade"
></iframe>
</div>
</div>
</div>
</div>
);
};
export default Contact;

169
company/src/pages/Demo.tsx Normal file
View file

@ -0,0 +1,169 @@
import React from "react";
import { useLanguage } from "../context/LanguageContext";
const Demo: React.FC = () => {
const { t } = useLanguage();
return (
<div className="min-h-screen bg-gray-50">
<div className="relative bg-blue-900 text-white py-24">
<div
className="absolute inset-0 opacity-20"
style={{
backgroundImage:
'url("https://images.pexels.com/photos/3183155/pexels-photo-3183155.jpeg?auto=compress&cs=tinysrgb&w=1920")',
backgroundSize: "cover",
backgroundPosition: "center",
}}
></div>
<div className="container mx-auto pt-16 px-4 relative">
<h1 className="text-5xl font-bold mb-6">{t("demo.form.title")}</h1>
<p className="text-xl max-w-3xl">{t("demo.subtitle")}</p>
</div>
</div>
<div className="py-16">
<div className="container mx-auto px-4">
<div className="bg-white rounded-xl shadow-lg p-8">
<h2 className="text-2xl font-bold text-gray-900 mb-6">
{t("demo.form.title")}
</h2>
<form className="space-y-6">
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
<div>
<label
htmlFor="company"
className="block text-sm font-medium text-gray-700 mb-2"
>
{t("common.company") || "Şirket Adı"}
</label>
<input
type="text"
id="company"
name="company"
className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"
/>
</div>
<div>
<label
htmlFor="fullName"
className="block text-sm font-medium text-gray-700 mb-2"
>
{t("common.fullName") || "Adınız Soyadınız"}
</label>
<input
type="text"
id="fullName"
name="fullName"
className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"
/>
</div>
</div>
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
<div>
<label
htmlFor="email"
className="block text-sm font-medium text-gray-700 mb-2"
>
{t("common.email")}
</label>
<input
type="email"
id="email"
name="email"
className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"
/>
</div>
<div>
<label
htmlFor="phone"
className="block text-sm font-medium text-gray-700 mb-2"
>
{t("common.phone")}
</label>
<input
type="tel"
id="phone"
name="phone"
className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"
/>
</div>
</div>
<div>
<label
htmlFor="address"
className="block text-sm font-medium text-gray-700 mb-2"
>
{t("common.address")}
</label>
<input
type="text"
id="address"
name="address"
className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"
/>
</div>
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
<div>
<label
htmlFor="branchCount"
className="block text-sm font-medium text-gray-700 mb-2"
>
{t("common.branchCount") || "Şube Adedi"}
</label>
<input
type="number"
id="branchCount"
name="branchCount"
className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"
/>
</div>
<div>
<label
htmlFor="userCount"
className="block text-sm font-medium text-gray-700 mb-2"
>
{t("common.userCount") || "Kullanıcı Adedi"}
</label>
<input
type="number"
id="userCount"
name="userCount"
className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"
/>
</div>
</div>
<div>
<label
htmlFor="message"
className="block text-sm font-medium text-gray-700 mb-2"
>
{t("common.message")}
</label>
<textarea
id="message"
name="message"
rows="4"
className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"
/>
</div>
<button
type="submit"
className="w-full bg-blue-600 text-white py-3 px-6 rounded-lg hover:bg-blue-700 transition-colors font-semibold"
>
{t("common.send")}
</button>
</form>
</div>
</div>
</div>
</div>
);
};
export default Demo;

View file

@ -0,0 +1,21 @@
import React from "react";
import Hero from "../components/home/Hero";
import Features from "../components/home/Features";
import Solutions from "../components/home/Solutions";
import Testimonials from "../components/home/Testimonials";
import CallToAction from "../components/home/CallToAction";
import { Code, Cpu, Globe2 } from "lucide-react";
const Home: React.FC = () => {
return (
<div className="min-h-screen">
<Hero />
<Features />
<Solutions />
<Testimonials />
<CallToAction />
</div>
);
};
export default Home;

View file

@ -0,0 +1,138 @@
import React from 'react';
import { ArrowRight, CheckCircle } from 'lucide-react';
import { Link } from 'react-router-dom';
import { useLanguage } from '../context/LanguageContext';
const Products: React.FC = () => {
const { t } = useLanguage();
const products = [
{
title: t('products.kurs.title'),
description: t('products.kurs.desc'),
image: 'https://images.pexels.com/photos/3183183/pexels-photo-3183183.jpeg?auto=compress&cs=tinysrgb&w=1920',
features: [
t('products.kurs.features.inventory'),
t('products.kurs.features.purchasing'),
t('products.kurs.features.sales'),
t('products.kurs.features.accounting'),
t('products.kurs.features.reporting'),
t('products.kurs.features.mobile')
]
},
{
title: t('products.crm.title'),
description: t('products.crm.desc'),
image: 'https://images.pexels.com/photos/3184291/pexels-photo-3184291.jpeg?auto=compress&cs=tinysrgb&w=1920',
features: [
t('products.crm.features.tracking'),
t('products.crm.features.opportunities'),
t('products.crm.features.email'),
t('products.crm.features.tasks'),
t('products.crm.features.calendar'),
t('products.crm.features.analytics')
]
},
{
title: t('products.ecommerce.title'),
description: t('products.ecommerce.desc'),
image: 'https://images.pexels.com/photos/3183132/pexels-photo-3183132.jpeg?auto=compress&cs=tinysrgb&w=1920',
features: [
t('products.ecommerce.features.responsive'),
t('products.ecommerce.features.payment'),
t('products.ecommerce.features.inventory'),
t('products.ecommerce.features.seo'),
t('products.ecommerce.features.analytics'),
t('products.ecommerce.features.marketplace')
]
},
{
title: t('products.hr.title'),
description: t('products.hr.desc'),
image: 'https://images.pexels.com/photos/3184292/pexels-photo-3184292.jpeg?auto=compress&cs=tinysrgb&w=1920',
features: [
t('products.hr.features.personnel'),
t('products.hr.features.leave'),
t('products.hr.features.performance'),
t('products.hr.features.payroll'),
t('products.hr.features.training'),
t('products.hr.features.digital')
]
}
];
return (
<div className="min-h-screen bg-gray-50">
{/* Hero Section */}
<div className="relative bg-blue-900 text-white py-24">
<div className="absolute inset-0 opacity-20" style={{
backgroundImage: 'url("https://images.pexels.com/photos/3183150/pexels-photo-3183150.jpeg?auto=compress&cs=tinysrgb&w=1920")',
backgroundSize: 'cover',
backgroundPosition: 'center',
}}></div>
<div className="container mx-auto pt-16 px-4 relative">
<h1 className="text-5xl font-bold mb-6">{t('products.title')}</h1>
<p className="text-xl max-w-3xl">
{t('products.subtitle')}
</p>
</div>
</div>
{/* Products Grid */}
<div className="py-16">
<div className="container mx-auto px-4">
<div className="grid grid-cols-1 lg:grid-cols-2 gap-8">
{products.map((product, index) => (
<div key={index} className="bg-white rounded-xl shadow-lg overflow-hidden">
<div className="aspect-w-16 aspect-h-9">
<img
src={product.image}
alt={product.title}
className="object-cover w-full h-64"
/>
</div>
<div className="p-8">
<h2 className="text-2xl font-bold text-gray-900 mb-4">{product.title}</h2>
<p className="text-gray-600 mb-6">{product.description}</p>
<div className="space-y-3">
{product.features.map((feature, fIndex) => (
<div key={fIndex} className="flex items-center space-x-2">
<CheckCircle className="w-5 h-5 text-green-500" />
<span className="text-gray-700">{feature}</span>
</div>
))}
</div>
<Link
to="/contact"
className="mt-8 flex items-center space-x-2 bg-blue-600 text-white px-6 py-3 rounded-lg hover:bg-blue-700 transition-colors"
>
<span>{t('common.learnMore')}</span>
<ArrowRight size={20} />
</Link>
</div>
</div>
))}
</div>
</div>
</div>
{/* Call to Action */}
<div className="bg-blue-900 text-white py-16">
<div className="container mx-auto px-4 text-center">
<h2 className="text-3xl font-bold mb-6">{t('products.cta.title')}</h2>
<p className="text-xl mb-8 max-w-2xl mx-auto">
{t('products.cta.description')}
</p>
<Link
to="/demo"
className="bg-white text-blue-900 px-8 py-3 rounded-lg font-semibold hover:bg-blue-50 transition-colors"
>
{t('products.cta.demo')}
</Link>
</div>
</div>
</div>
);
};
export default Products;

View file

@ -0,0 +1,143 @@
import React from 'react';
import { Code2, Database, Globe2, Smartphone, Server, Users, Shield, Settings } from 'lucide-react';
import { Link } from 'react-router-dom';
import { useLanguage } from '../context/LanguageContext';
const Services: React.FC = () => {
const { t } = useLanguage();
const services = [
{
icon: <Code2 className="w-12 h-12 text-blue-600" />,
title: t('services.software.title'),
description: t('services.software.desc'),
features: [
t('services.software.features.analysis'),
t('services.software.features.design'),
t('services.software.features.development'),
t('services.software.features.testing'),
t('services.software.features.maintenance')
]
},
{
icon: <Globe2 className="w-12 h-12 text-purple-600" />,
title: t('services.web.title'),
description: t('services.web.desc'),
features: [
t('services.web.features.frontend'),
t('services.web.features.backend'),
t('services.web.features.api'),
t('services.web.features.seo'),
t('services.web.features.performance')
]
},
{
icon: <Smartphone className="w-12 h-12 text-green-600" />,
title: t('services.mobile.title'),
description: t('services.mobile.desc'),
features: [
t('services.mobile.features.design'),
t('services.mobile.features.native'),
t('services.mobile.features.cross'),
t('services.mobile.features.push'),
t('services.mobile.features.store')
]
},
{
icon: <Database className="w-12 h-12 text-red-600" />,
title: t('services.database.title'),
description: t('services.database.desc'),
features: [
t('services.database.features.design'),
t('services.database.features.optimization'),
t('services.database.features.migration'),
t('services.database.features.backup'),
t('services.database.features.recovery')
]
},
{
icon: <Server className="w-12 h-12 text-yellow-600" />,
title: t('services.integration.title'),
description: t('services.integration.desc'),
features: [
t('services.integration.features.api'),
t('services.integration.features.middleware'),
t('services.integration.features.legacy'),
t('services.integration.features.realtime'),
t('services.integration.features.monitoring')
]
},
{
icon: <Users className="w-12 h-12 text-indigo-600" />,
title: t('services.consulting.title'),
description: t('services.consulting.desc'),
features: [
t('services.consulting.features.tech'),
t('services.consulting.features.project'),
t('services.consulting.features.digital'),
t('services.consulting.features.risk'),
t('services.consulting.features.training')
]
}
];
return (
<div className="min-h-screen bg-gray-50">
{/* Hero Section */}
<div className="relative bg-blue-900 text-white py-24">
<div className="absolute inset-0 opacity-20" style={{
backgroundImage: 'url("https://images.pexels.com/photos/3183173/pexels-photo-3183173.jpeg?auto=compress&cs=tinysrgb&w=1920")',
backgroundSize: 'cover',
backgroundPosition: 'center',
}}></div>
<div className="container mx-auto pt-16 px-4 relative">
<h1 className="text-5xl font-bold mb-6">{t('services.title')}</h1>
<p className="text-xl max-w-3xl">
{t('services.subtitle')}
</p>
</div>
</div>
{/* Services Grid */}
<div className="py-16">
<div className="container mx-auto px-4">
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
{services.map((service, index) => (
<div key={index} className="bg-white rounded-xl shadow-lg p-8 hover:shadow-xl transition-shadow">
<div className="mb-6">{service.icon}</div>
<h3 className="text-2xl font-bold text-gray-900 mb-4">{service.title}</h3>
<p className="text-gray-600 mb-6">{service.description}</p>
<ul className="space-y-2">
{service.features.map((feature, fIndex) => (
<li key={fIndex} className="flex items-center text-gray-700">
<span className="w-2 h-2 bg-blue-600 rounded-full mr-2"></span>
{feature}
</li>
))}
</ul>
</div>
))}
</div>
</div>
</div>
{/* Call to Action */}
<div className="bg-blue-900 text-white py-16">
<div className="container mx-auto px-4 text-center">
<h2 className="text-3xl font-bold mb-6">{t('services.cta.title')}</h2>
<p className="text-xl mb-8 max-w-2xl mx-auto">
{t('services.cta.description')}
</p>
<Link
to="/contact"
className="bg-white text-blue-900 px-8 py-3 rounded-lg font-semibold hover:bg-blue-50 transition-colors"
>
{t('services.cta.contact')}
</Link>
</div>
</div>
</div>
);
};
export default Services;

1
company/src/vite-env.d.ts vendored Normal file
View file

@ -0,0 +1 @@
/// <reference types="vite/client" />

View file

@ -0,0 +1,8 @@
/** @type {import('tailwindcss').Config} */
export default {
content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'],
theme: {
extend: {},
},
plugins: [],
};

24
company/tsconfig.app.json Normal file
View file

@ -0,0 +1,24 @@
{
"compilerOptions": {
"target": "ES2020",
"useDefineForClassFields": true,
"lib": ["ES2020", "DOM", "DOM.Iterable"],
"module": "ESNext",
"skipLibCheck": true,
/* Bundler mode */
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"isolatedModules": true,
"moduleDetection": "force",
"noEmit": true,
"jsx": "react-jsx",
/* Linting */
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true
},
"include": ["src"]
}

7
company/tsconfig.json Normal file
View file

@ -0,0 +1,7 @@
{
"files": [],
"references": [
{ "path": "./tsconfig.app.json" },
{ "path": "./tsconfig.node.json" }
]
}

View file

@ -0,0 +1,22 @@
{
"compilerOptions": {
"target": "ES2022",
"lib": ["ES2023"],
"module": "ESNext",
"skipLibCheck": true,
/* Bundler mode */
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"isolatedModules": true,
"moduleDetection": "force",
"noEmit": true,
/* Linting */
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true
},
"include": ["vite.config.ts"]
}

10
company/vite.config.ts Normal file
View file

@ -0,0 +1,10 @@
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
// https://vitejs.dev/config/
export default defineConfig({
plugins: [react()],
optimizeDeps: {
exclude: ['lucide-react'],
},
});