Compare commits

6 Commits

Author SHA1 Message Date
9974811a3e AdminLTE3 2025-10-26 22:14:47 +09:00
291fc63a4c Main functions 2025-10-26 14:44:10 +09:00
6ff35e26f4 some fixes 2025-10-22 21:22:44 +09:00
46fad7ecc2 fix: Исправлена функциональность создания и редактирования портфолио
- Добавлена поддержка загрузки изображений через multer
- Исправлена обработка FormData в маршрутах создания и обновления портфолио
- Добавлена обработка изображений с помощью Sharp (оптимизация в WebP)
- Добавлен маршрут предпросмотра проекта
- Исправлена валидация и парсинг технологий из JSON
- Поддержка сохранения черновиков и публикации проектов
2025-10-22 21:18:24 +09:00
43c660c01e fix: Исправлена совместимость с Node.js 18
- Downgrade connect-session-sequelize с 8.0.2 на 7.1.7 для совместимости с Node 18
- Убраны предупреждения EBADENGINE при установке зависимостей
- Сервер теперь запускается без предупреждений о версии движка
2025-10-22 20:41:58 +09:00
9477ff6de0 feat: Реализован полный CRUD для админ-панели и улучшена функциональность
- Portfolio CRUD: добавление, редактирование, удаление, переключение публикации
- Services CRUD: полное управление услугами с возможностью активации/деактивации
- Banner system: новая модель Banner с CRUD операциями и аналитикой кликов
- Telegram integration: расширенные настройки бота, обнаружение чатов, отправка сообщений
- Media management: улучшенная загрузка файлов с оптимизацией изображений и превью
- UI improvements: обновлённые админ-панели с rich-text редактором и drag&drop загрузкой
- Database: добавлена таблица banners с полями для баннеров и аналитики
2025-10-22 20:32:16 +09:00
649 changed files with 177967 additions and 49224 deletions

151
.github/copilot-instructions.md vendored Normal file
View File

@@ -0,0 +1,151 @@
# SmartSolTech Website - AI Coding Agent Instructions
## Project Overview
SmartSolTech is a **Korean tech services company** PWA with an admin panel, portfolio management, Telegram integration, and service calculator. Built with Node.js/Express backend, EJS templating, MongoDB, and modern PWA features.
## Architecture & Key Patterns
### 🏗️ Backend Architecture
- **Main server**: `server.js` - Express app with comprehensive middleware stack
- **Models**: MongoDB with Mongoose ODM - all in `/models/` (User, Portfolio, Service, Contact, SiteSettings)
- **Routes**: RESTful API patterns in `/routes/` - separate files per domain
- **Authentication**: Dual auth system - JWT tokens for API, sessions for web pages
- **Validation**: express-validator middleware in `/middleware/validation.js` with Korean error messages
### 🔑 Authentication Pattern
```javascript
// Two authentication strategies:
// 1. JWT for API endpoints (authenticateToken)
// 2. Session-based for web pages (authenticateSession)
// See middleware/auth.js for implementations
```
### 📊 Data Models Key Features
- **Portfolio**: Has virtual `primaryImage` getter, text search indexes, and SEO fields
- **Service**: Complex pricing structure with features array (included/not included)
- **User**: bcrypt password hashing with pre-save hook and comparePassword method
- **All models**: Use timestamps and have soft-delete patterns where applicable
### 🛣️ Route Organization
- **Admin routes** (`/admin`): Session-based auth, server-side rendered EJS views
- **API routes** (`/api/*`): JWT auth, JSON responses, rate-limited
- **Public routes** (`/`): Mixed auth (optional), EJS templates with PWA support
## Development Workflow
### 🚀 Essential Commands
```bash
# Development with hot reload and file watching
npm run dev
# Initialize database with admin user and sample data
npm run init-db
# Production build with webpack optimization
npm run build
# Database setup creates:
# - Admin user (from .env: ADMIN_EMAIL/ADMIN_PASSWORD)
# - Sample services, portfolio items, site settings
```
### 🔧 Environment Setup
**Critical `.env` variables**:
- `MONGODB_URI` - Database connection
- `SESSION_SECRET`, `JWT_SECRET` - Security keys
- `ADMIN_EMAIL`, `ADMIN_PASSWORD` - Initial admin account
- `TELEGRAM_BOT_TOKEN` - Optional Telegram integration
- `NODE_ENV` - Controls error verbosity and security settings
## Frontend Architecture
### 🎨 View Layer (EJS Templates)
- **Layout system**: `views/layout.ejs` is main wrapper
- **Partials**: `views/partials/` for reusable components (navigation, footer)
- **Admin panel**: Separate layout `admin/layout.ejs` with different styling
- **Internationalization**: Content in Korean, supports locales in `/locales/`
### 📱 PWA Implementation
- **Service Worker**: `public/sw.js` - caches static files, dynamic routes, and API responses
- **Manifest**: `public/manifest.json` - app metadata and icons
- **Offline-first**: Service worker handles network failures gracefully
- **Cache strategy**: Static files cached immediately, dynamic content cached on demand
### 🎯 Frontend JavaScript Patterns
- **Main script**: `public/js/main.js` - handles navigation, scroll effects, form interactions
- **Calculator**: `public/js/calculator.js` - complex service pricing calculations
- **Libraries**: AOS animations, Tailwind CSS, Socket.io for real-time features
## Key Integration Points
### 📧 Communication Systems
- **Telegram Bot**: Optional integration for admin notifications (contact forms, orders)
- **Email**: Nodemailer for SMTP email sending (contact forms, notifications)
- **Real-time**: Socket.io setup for live updates (dashboard, notifications)
### 🔒 Security Patterns
- **Helmet**: CSP headers allowing specific domains (fonts.googleapis.com, cdnjs.cloudflare.com)
- **Rate limiting**: Applied to `/api/*` routes (100 requests/15min per IP)
- **Input validation**: Korean-language error messages, comprehensive field validation
- **File uploads**: Multer with Sharp image processing, stored in `public/uploads/`
### 🗄️ Database Patterns
- **Connection**: Single MongoDB connection with connection pooling
- **Indexing**: Text search on Portfolio, compound indexes for performance
- **Session storage**: MongoDB session store for persistence
## Business Logic Specifics
### 💰 Service Calculator
- **Complex pricing**: Base price + features + timeline modifiers
- **Multi-step form**: Service selection → customization → contact info → quote
- **Integration**: Calculator data feeds into Contact model for lead tracking
### 🎨 Portfolio Management
- **Image handling**: Multiple images per project, primary image logic
- **Categories**: Predefined categories (web-development, mobile-app, ui-ux-design, etc.)
- **SEO optimization**: Meta fields, structured data for portfolio items
### 👑 Admin Panel Features
- **Dashboard**: Statistics, recent activity, quick actions
- **Content management**: CRUD for Portfolio, Services, Site Settings
- **Media gallery**: File upload with image optimization
- **Contact management**: Lead tracking, status updates, response handling
## Common Tasks & Patterns
### 🔧 Adding New Features
1. **Model**: Create in `/models/` with proper validation and indexes
2. **Routes**: Add to `/routes/` with appropriate auth middleware
3. **Views**: EJS templates in `/views/` using layout system
4. **API**: JSON endpoints with validation middleware
5. **Frontend**: Add to `public/js/` with proper event handling
### 🐛 Debugging Workflow
- **Development**: Use `npm run dev` for auto-restart and detailed logging
- **Database**: Check MongoDB connection and sample data with `npm run init-db`
- **Authentication**: Test both JWT (API) and session (web) auth flows
- **PWA**: Check service worker registration and cache behavior in dev tools
### 📦 Deployment Considerations
- **Environment**: Production requires secure cookies, CSP, and rate limiting
- **Database**: Ensure MongoDB indexes are created for performance
- **Assets**: Static files served by Express, consider CDN for production
- **Monitoring**: Error handling sends different messages based on NODE_ENV
## File Structure Quick Reference
```
├── models/ # MongoDB schemas with business logic
├── routes/ # Express routes (API + web pages)
├── middleware/ # Auth, validation, error handling
├── views/ # EJS templates with Korean content
├── public/ # Static assets + PWA files
├── scripts/ # Database init, dev server, build tools
└── server.js # Main Express application
```
## Korean Language Notes
- **UI Text**: All user-facing content in Korean
- **Error Messages**: Validation errors in Korean (`middleware/validation.js`)
- **Admin Interface**: Korean labels and messages throughout admin panel
- **SEO Content**: Korean meta descriptions and structured data

View File

@@ -1,34 +0,0 @@
# Environment Configuration
NODE_ENV=development
PORT=3000
# Database
MONGODB_URI=mongodb://localhost:27017/smartsoltech
# JWT Secret
JWT_SECRET=your_super_secret_jwt_key_here_change_in_production
# Session Secret
SESSION_SECRET=your_session_secret_here_change_in_production
# Telegram Bot
TELEGRAM_BOT_TOKEN=your_telegram_bot_token_here
TELEGRAM_CHAT_ID=your_telegram_chat_id_here
# Email Configuration (for contact forms)
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER=your_email@gmail.com
EMAIL_PASS=your_email_password
# Admin Credentials (default)
ADMIN_EMAIL=admin@smartsoltech.kr
ADMIN_PASSWORD=admin123456
# File Upload
MAX_FILE_SIZE=10485760
UPLOAD_PATH=./public/uploads
# Site Configuration
SITE_URL=https://smartsoltech.kr
SITE_NAME=SmartSolTech

View File

@@ -1,34 +0,0 @@
# Environment Configuration
NODE_ENV=development
PORT=3000
# Database
MONGODB_URI=mongodb://localhost:27017/smartsoltech
# JWT Secret
JWT_SECRET=your_super_secret_jwt_key_here_change_in_production
# Session Secret
SESSION_SECRET=your_session_secret_here_change_in_production
# Telegram Bot
TELEGRAM_BOT_TOKEN=your_telegram_bot_token_here
TELEGRAM_CHAT_ID=your_telegram_chat_id_here
# Email Configuration (for contact forms)
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER=your_email@gmail.com
EMAIL_PASS=your_email_password
# Admin Credentials (default)
ADMIN_EMAIL=admin@smartsoltech.kr
ADMIN_PASSWORD=admin123456
# File Upload
MAX_FILE_SIZE=10485760
UPLOAD_PATH=./public/uploads
# Site Configuration
SITE_URL=https://smartsoltech.kr
SITE_NAME=SmartSolTech

View File

@@ -1,20 +0,0 @@
node_modules/
.env
.env.local
.env.production
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.DS_Store
dist/
build/
uploads/
*.log
.vscode/
.idea/
coverage/
.nyc_output/
*.tgz
*.tar.gz
.cache/
.parcel-cache/

View File

@@ -1,20 +0,0 @@
node_modules/
.env
.env.local
.env.production
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.DS_Store
dist/
build/
uploads/
*.log
.vscode/
.idea/
coverage/
.nyc_output/
*.tgz
*.tar.gz
.cache/
.parcel-cache/

View File

@@ -0,0 +1,63 @@
# AdminLTE CSP Fix - Исправление Content Security Policy
## Проблема
Content Security Policy (CSP) блокировал загрузку jQuery и Bootstrap из CDN, что приводило к ошибкам:
```
Content-Security-Policy: The page's settings blocked a script (script-src-elem) at https://code.jquery.com/jquery-3.6.0.min.js
Content-Security-Policy: The page's settings blocked a script (script-src-elem) at https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js
```
## Причина
В server.js в настройках helmet CSP для `scriptSrc` отсутствовали домены:
- `https://code.jquery.com` (для jQuery)
- `https://cdn.jsdelivr.net` (для Bootstrap)
## Решение
Обновлены CSP настройки в `/server.js`:
### ДО:
```javascript
scriptSrc: ["'self'", "'unsafe-inline'", "https://cdnjs.cloudflare.com", "https://unpkg.com", "https://cdn.tailwindcss.com"],
```
### ПОСЛЕ:
```javascript
scriptSrc: ["'self'", "'unsafe-inline'", "https://cdnjs.cloudflare.com", "https://unpkg.com", "https://cdn.tailwindcss.com", "https://code.jquery.com", "https://cdn.jsdelivr.net"],
```
## Полная CSP конфигурация
```javascript
app.use(helmet({
contentSecurityPolicy: {
directives: {
defaultSrc: ["'self'"],
styleSrc: ["'self'", "'unsafe-inline'", "https://fonts.googleapis.com", "https://cdnjs.cloudflare.com", "https://cdn.jsdelivr.net", "https://unpkg.com", "https://cdn.tailwindcss.com"],
fontSrc: ["'self'", "https://fonts.gstatic.com", "https://cdnjs.cloudflare.com"],
scriptSrc: ["'self'", "'unsafe-inline'", "https://cdnjs.cloudflare.com", "https://unpkg.com", "https://cdn.tailwindcss.com", "https://code.jquery.com", "https://cdn.jsdelivr.net"],
imgSrc: ["'self'", "data:", "https:"],
connectSrc: ["'self'", "ws:", "wss:", "https://cdnjs.cloudflare.com", "https://cdn.jsdelivr.net", "https://unpkg.com", "https://fonts.googleapis.com", "https://fonts.gstatic.com", "https://cdn.tailwindcss.com"]
}
}
}));
```
## Результат
✅ AdminLTE 3 теперь работает полностью:
- ✅ CSS стили загружаются
- ✅ jQuery загружается без ошибок CSP
- ✅ Bootstrap загружается без ошибок CSP
- ✅ AdminLTE JavaScript функции работают
- ✅ Интерактивные элементы функциональны
## Тестирование
После исправления CSP:
1. Перезапустить сервер: `npm start`
2. Открыть админку: `http://localhost:3000/admin`
3. Проверить консоль браузера - ошибки CSP исчезли
4. Проверить функциональность: навигация, выпадающие меню, модальные окна
## Примечания
- Исправление обеспечивает безопасность через CSP при разрешении необходимых CDN
- AdminLTE теперь полностью функциональна с корейской локализацией
- Все зависимости загружаются правильно

View File

@@ -0,0 +1,63 @@
# AdminLTE CSP Fix - Исправление Content Security Policy
## Проблема
Content Security Policy (CSP) блокировал загрузку jQuery и Bootstrap из CDN, что приводило к ошибкам:
```
Content-Security-Policy: The page's settings blocked a script (script-src-elem) at https://code.jquery.com/jquery-3.6.0.min.js
Content-Security-Policy: The page's settings blocked a script (script-src-elem) at https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js
```
## Причина
В server.js в настройках helmet CSP для `scriptSrc` отсутствовали домены:
- `https://code.jquery.com` (для jQuery)
- `https://cdn.jsdelivr.net` (для Bootstrap)
## Решение
Обновлены CSP настройки в `/server.js`:
### ДО:
```javascript
scriptSrc: ["'self'", "'unsafe-inline'", "https://cdnjs.cloudflare.com", "https://unpkg.com", "https://cdn.tailwindcss.com"],
```
### ПОСЛЕ:
```javascript
scriptSrc: ["'self'", "'unsafe-inline'", "https://cdnjs.cloudflare.com", "https://unpkg.com", "https://cdn.tailwindcss.com", "https://code.jquery.com", "https://cdn.jsdelivr.net"],
```
## Полная CSP конфигурация
```javascript
app.use(helmet({
contentSecurityPolicy: {
directives: {
defaultSrc: ["'self'"],
styleSrc: ["'self'", "'unsafe-inline'", "https://fonts.googleapis.com", "https://cdnjs.cloudflare.com", "https://cdn.jsdelivr.net", "https://unpkg.com", "https://cdn.tailwindcss.com"],
fontSrc: ["'self'", "https://fonts.gstatic.com", "https://cdnjs.cloudflare.com"],
scriptSrc: ["'self'", "'unsafe-inline'", "https://cdnjs.cloudflare.com", "https://unpkg.com", "https://cdn.tailwindcss.com", "https://code.jquery.com", "https://cdn.jsdelivr.net"],
imgSrc: ["'self'", "data:", "https:"],
connectSrc: ["'self'", "ws:", "wss:", "https://cdnjs.cloudflare.com", "https://cdn.jsdelivr.net", "https://unpkg.com", "https://fonts.googleapis.com", "https://fonts.gstatic.com", "https://cdn.tailwindcss.com"]
}
}
}));
```
## Результат
✅ AdminLTE 3 теперь работает полностью:
- ✅ CSS стили загружаются
- ✅ jQuery загружается без ошибок CSP
- ✅ Bootstrap загружается без ошибок CSP
- ✅ AdminLTE JavaScript функции работают
- ✅ Интерактивные элементы функциональны
## Тестирование
После исправления CSP:
1. Перезапустить сервер: `npm start`
2. Открыть админку: `http://localhost:3000/admin`
3. Проверить консоль браузера - ошибки CSP исчезли
4. Проверить функциональность: навигация, выпадающие меню, модальные окна
## Примечания
- Исправление обеспечивает безопасность через CSP при разрешении необходимых CDN
- AdminLTE теперь полностью функциональна с корейской локализацией
- Все зависимости загружаются правильно

View File

@@ -0,0 +1,109 @@
# SmartSolTech AdminLTE 3 - Документация
## ✅ Успешно настроен AdminLTE 3!
AdminLTE 3 теперь полностью интегрирован в ваш сайт SmartSolTech как основная админ-панель.
## 🎯 Что было сделано:
### 1. **Полная замена старой админки**
- ❌ Удалена старая Tailwind-админка
- ❌ Удалены все демо-файлы и сравнения
- ❌ Удален Tabler и связанные файлы
- ✅ AdminLTE 3 стал основной админкой
### 2. **Новый дизайн и функциональность**
- 🎨 **Корейская локализация** - все элементы переведены
- 📊 **Современный dashboard** с информативными карточками
- 🔢 **Статистика в sidebar** - счетчики портфолио, услуг, сообщений
- 📱 **Адаптивный дизайн** для всех устройств
- 🎭 **Профессиональная цветовая схема**
### 3. **Интеграция с существующей системой**
- 🔗 **Полная совместимость** с текущими маршрутами
- 📊 **Middleware для статистики** на всех страницах
- 🔐 **Сохранена вся авторизация** и безопасность
- 💾 **Все данные остались** без изменений
## 🎨 Основные возможности AdminLTE:
### Dashboard (대시보드)
- 📈 **Статистические карточки** с progress bar
- 📋 **Последние проекты** с статусами (완료/진행중/계획)
- 📧 **Последние сообщения** с цветными статусами
-**Быстрые действия** с градиентными кнопками
- 📊 **Системный статус** и метрики
### Навигация
- 🎯 **Активные индикаторы** текущей страницы
- 🔢 **Счетчики в sidebar** для каждого раздела
- 🌟 **Группировка разделов** (основные + системные)
- 📱 **Складное меню** для мобильных
### Дизайн
- 🇰🇷 **Шрифт Noto Sans KR** для корейского текста
- 🎨 **Градиентные элементы** и современные цвета
- 💎 **Закругленные карточки** с тенями
-**Плавные анимации** и переходы
## 🔧 Техническая информация:
### Файлы
- `views/admin/layout.ejs` - Основной layout AdminLTE
- `views/admin/dashboard.ejs` - Новый dashboard
- `routes/admin.js` - Обновленные маршруты с middleware
### CSS & JS
- AdminLTE 3 CSS из `node_modules/admin-lte/dist/css/`
- jQuery + Bootstrap 4 для функциональности
- Font Awesome 6 для иконок
- Custom CSS для корейских шрифтов
### Middleware
```javascript
// Автоматически добавляет статистику на все админ-страницы
const addStats = async (req, res, next) => {
// portfolioCount, servicesCount, contactsCount
}
```
## 🚀 Доступные URL:
- **Админ-панель:** http://localhost:3000/admin
- **Dashboard:** http://localhost:3000/admin/dashboard
- **Портфолио:** http://localhost:3000/admin/portfolio
- **Услуги:** http://localhost:3000/admin/services
- **Сообщения:** http://localhost:3000/admin/contacts
- **Медиа:** http://localhost:3000/admin/media
- **Настройки:** http://localhost:3000/admin/settings
- **Телеграм:** http://localhost:3000/admin/telegram
- **Баннеры:** http://localhost:3000/admin/banner-editor
## 💡 Преимущества новой админки:
1. **Профессиональный вид** - соответствует корейским стандартам
2. **Удобство использования** - интуитивный интерфейс
3. **Производительность** - быстрая загрузка
4. **Мобильность** - отлично работает на телефонах
5. **Стабильность** - проверенное решение
6. **Бесплатность** - никаких лицензионных ограничений
## 🎯 Что дальше?
AdminLTE 3 полностью готов к работе! Можете:
1. **Войти в админку** по адресу `/admin`
2. **Управлять контентом** через новый интерфейс
3. **Добавлять проекты** и услуги
4. **Настраивать сайт** через удобные формы
5. **Следить за статистикой** в реальном времени
## 🔑 Логин:
- **Email:** admin@smartsoltech.kr
- **Пароль:** как настроено в .env
---
**🎉 AdminLTE 3 успешно настроен и готов к использованию!**
Старая админка полностью удалена, новая AdminLTE интегрирована и работает со всеми существующими функциями сайта.

View File

@@ -0,0 +1,109 @@
# SmartSolTech AdminLTE 3 - Документация
## ✅ Успешно настроен AdminLTE 3!
AdminLTE 3 теперь полностью интегрирован в ваш сайт SmartSolTech как основная админ-панель.
## 🎯 Что было сделано:
### 1. **Полная замена старой админки**
- ❌ Удалена старая Tailwind-админка
- ❌ Удалены все демо-файлы и сравнения
- ❌ Удален Tabler и связанные файлы
- ✅ AdminLTE 3 стал основной админкой
### 2. **Новый дизайн и функциональность**
- 🎨 **Корейская локализация** - все элементы переведены
- 📊 **Современный dashboard** с информативными карточками
- 🔢 **Статистика в sidebar** - счетчики портфолио, услуг, сообщений
- 📱 **Адаптивный дизайн** для всех устройств
- 🎭 **Профессиональная цветовая схема**
### 3. **Интеграция с существующей системой**
- 🔗 **Полная совместимость** с текущими маршрутами
- 📊 **Middleware для статистики** на всех страницах
- 🔐 **Сохранена вся авторизация** и безопасность
- 💾 **Все данные остались** без изменений
## 🎨 Основные возможности AdminLTE:
### Dashboard (대시보드)
- 📈 **Статистические карточки** с progress bar
- 📋 **Последние проекты** с статусами (완료/진행중/계획)
- 📧 **Последние сообщения** с цветными статусами
-**Быстрые действия** с градиентными кнопками
- 📊 **Системный статус** и метрики
### Навигация
- 🎯 **Активные индикаторы** текущей страницы
- 🔢 **Счетчики в sidebar** для каждого раздела
- 🌟 **Группировка разделов** (основные + системные)
- 📱 **Складное меню** для мобильных
### Дизайн
- 🇰🇷 **Шрифт Noto Sans KR** для корейского текста
- 🎨 **Градиентные элементы** и современные цвета
- 💎 **Закругленные карточки** с тенями
-**Плавные анимации** и переходы
## 🔧 Техническая информация:
### Файлы
- `views/admin/layout.ejs` - Основной layout AdminLTE
- `views/admin/dashboard.ejs` - Новый dashboard
- `routes/admin.js` - Обновленные маршруты с middleware
### CSS & JS
- AdminLTE 3 CSS из `node_modules/admin-lte/dist/css/`
- jQuery + Bootstrap 4 для функциональности
- Font Awesome 6 для иконок
- Custom CSS для корейских шрифтов
### Middleware
```javascript
// Автоматически добавляет статистику на все админ-страницы
const addStats = async (req, res, next) => {
// portfolioCount, servicesCount, contactsCount
}
```
## 🚀 Доступные URL:
- **Админ-панель:** http://localhost:3000/admin
- **Dashboard:** http://localhost:3000/admin/dashboard
- **Портфолио:** http://localhost:3000/admin/portfolio
- **Услуги:** http://localhost:3000/admin/services
- **Сообщения:** http://localhost:3000/admin/contacts
- **Медиа:** http://localhost:3000/admin/media
- **Настройки:** http://localhost:3000/admin/settings
- **Телеграм:** http://localhost:3000/admin/telegram
- **Баннеры:** http://localhost:3000/admin/banner-editor
## 💡 Преимущества новой админки:
1. **Профессиональный вид** - соответствует корейским стандартам
2. **Удобство использования** - интуитивный интерфейс
3. **Производительность** - быстрая загрузка
4. **Мобильность** - отлично работает на телефонах
5. **Стабильность** - проверенное решение
6. **Бесплатность** - никаких лицензионных ограничений
## 🎯 Что дальше?
AdminLTE 3 полностью готов к работе! Можете:
1. **Войти в админку** по адресу `/admin`
2. **Управлять контентом** через новый интерфейс
3. **Добавлять проекты** и услуги
4. **Настраивать сайт** через удобные формы
5. **Следить за статистикой** в реальном времени
## 🔑 Логин:
- **Email:** admin@smartsoltech.kr
- **Пароль:** как настроено в .env
---
**🎉 AdminLTE 3 успешно настроен и готов к использованию!**
Старая админка полностью удалена, новая AdminLTE интегрирована и работает со всеми существующими функциями сайта.

View File

@@ -0,0 +1,145 @@
# SmartSolTech Admin Bundle Рекомендации
## 🎯 Итоговый Выбор: AdminLTE 3
После детального анализа и тестирования обеих админ-панелей, **AdminLTE 3** является оптимальным выбором для SmartSolTech.
## 📊 Анализ Установленных Решений
### 1. AdminLTE 3 ✅ (Рекомендуется)
**Установка:** `npm install admin-lte`
**Преимущества:**
-**Полностью бесплатен** - нет скрытых платежей
-**Отличная поддержка корейского языка** - идеально для вашей аудитории
-**Богатая экосистема компонентов** - все необходимые элементы UI
-**Стабильность** - проверенное временем решение
-**Большое сообщество** - легко найти помощь и примеры
-**jQuery совместимость** - работает с существующим кодом
**Интеграция:**
```javascript
// Уже создано:
/views/admin/layout-adminlte.ejs // Основной layout
/views/admin/dashboard-adminlte.ejs // Dashboard с корейской локализацией
/demo/demo-adminlte // Демо URL
```
### 2. Tabler ⚠️ (Альтернатива)
**Установка:** `npm install @tabler/core @tabler/icons`
**Преимущества:**
-**Современный дизайн** - более свежий внешний вид
-**Высокая производительность** - быстрая загрузка
-**3000+ SVG иконок** - богатая иконография
-**Bootstrap 5** - современные стандарты
**Недостатки:**
- ⚠️ **Требует Node.js 20+** (у вас 18.19.1)
- ⚠️ **Менее зрелое решение** - меньше документации на корейском
- ⚠️ **Меньше готовых компонентов** - больше кастомизации
## 🔧 Готовые к Использованию URL
После запуска сервера доступны:
1. **Страница сравнения:** http://localhost:3000/demo/admin-comparison
2. **AdminLTE Demo:** http://localhost:3000/demo/demo-adminlte
3. **Tabler Demo:** http://localhost:3000/demo/demo-tabler
## 🚀 Интеграция с Существующей Админкой
### Вариант 1: Постепенная Миграция (Рекомендуется)
1. **Обновить существующий layout:**
```bash
# Заменить существующий layout на AdminLTE
cp views/admin/layout-adminlte.ejs views/admin/layout.ejs
```
2. **Обновить dashboard:**
```bash
# Заменить dashboard на AdminLTE версию
cp views/admin/dashboard-adminlte.ejs views/admin/dashboard.ejs
```
### Вариант 2: Параллельная Система
Оставить существующую админку и добавить новую через роуты:
```javascript
// В routes/admin.js добавить:
router.get('/modern', (req, res) => {
res.render('admin/dashboard-adminlte', {
layout: 'admin/layout-adminlte'
// ... остальные данные
});
});
```
## 🎨 Кастомизация под SmartSolTech
### Цветовая Схема
```css
/* Добавлено в layout-adminlte.ejs: */
.nav-sidebar .nav-link.active {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.brand-text {
color: #007bff !important;
}
```
### Корейская Локализация
-Все меню переведены на корейский
- ✅ Даты в корейском формате
- ✅ Статусы и сообщения на корейском
- ✅ Шрифт Noto Sans KR для корректного отображения
## 📋 Следующие Шаги
1. **Тестирование:**
```bash
# Откройте демо:
http://localhost:3000/demo/admin-comparison
```
2. **Интеграция:**
```bash
# Если решили использовать AdminLTE:
cp views/admin/layout-adminlte.ejs views/admin/layout.ejs
cp views/admin/dashboard-adminlte.ejs views/admin/dashboard.ejs
```
3. **Создание дополнительных страниц:**
- Список портфолио в стиле AdminLTE
- Управление услугами
- Страница контактов
- Настройки системы
## 💡 Дополнительные Рекомендации
### Для Улучшения UX:
1. **Темная тема** - AdminLTE поддерживает переключение тем
2. **Мобильная оптимизация** - уже включена
3. **Уведомления** - можно добавить toast-уведомления
4. **Виджеты** - использовать info-box для статистики
### Производительность:
- AdminLTE загружается быстро (~500KB)
- Минимальные зависимости
- Отличная совместимость с вашим стеком
## 🎯 Финальная Рекомендация
**Используйте AdminLTE 3** для SmartSolTech потому что:
1. **Готов к production** - стабилен и протестирован
2. **Корейская аудитория** - отличная поддержка языка
3. **Бесплатный** - нет лицензионных ограничений
4. **Совместимость** - работает с вашей текущей архитектурой
5. **Поддержка** - большое сообщество и документация
Начните с демо-версии по адресу `/demo/demo-adminlte` и при желании интегрируйте в основную админку!

View File

@@ -0,0 +1,145 @@
# SmartSolTech Admin Bundle Рекомендации
## 🎯 Итоговый Выбор: AdminLTE 3
После детального анализа и тестирования обеих админ-панелей, **AdminLTE 3** является оптимальным выбором для SmartSolTech.
## 📊 Анализ Установленных Решений
### 1. AdminLTE 3 ✅ (Рекомендуется)
**Установка:** `npm install admin-lte`
**Преимущества:**
-**Полностью бесплатен** - нет скрытых платежей
-**Отличная поддержка корейского языка** - идеально для вашей аудитории
-**Богатая экосистема компонентов** - все необходимые элементы UI
-**Стабильность** - проверенное временем решение
-**Большое сообщество** - легко найти помощь и примеры
-**jQuery совместимость** - работает с существующим кодом
**Интеграция:**
```javascript
// Уже создано:
/views/admin/layout-adminlte.ejs // Основной layout
/views/admin/dashboard-adminlte.ejs // Dashboard с корейской локализацией
/demo/demo-adminlte // Демо URL
```
### 2. Tabler ⚠️ (Альтернатива)
**Установка:** `npm install @tabler/core @tabler/icons`
**Преимущества:**
-**Современный дизайн** - более свежий внешний вид
-**Высокая производительность** - быстрая загрузка
-**3000+ SVG иконок** - богатая иконография
-**Bootstrap 5** - современные стандарты
**Недостатки:**
- ⚠️ **Требует Node.js 20+** (у вас 18.19.1)
- ⚠️ **Менее зрелое решение** - меньше документации на корейском
- ⚠️ **Меньше готовых компонентов** - больше кастомизации
## 🔧 Готовые к Использованию URL
После запуска сервера доступны:
1. **Страница сравнения:** http://localhost:3000/demo/admin-comparison
2. **AdminLTE Demo:** http://localhost:3000/demo/demo-adminlte
3. **Tabler Demo:** http://localhost:3000/demo/demo-tabler
## 🚀 Интеграция с Существующей Админкой
### Вариант 1: Постепенная Миграция (Рекомендуется)
1. **Обновить существующий layout:**
```bash
# Заменить существующий layout на AdminLTE
cp views/admin/layout-adminlte.ejs views/admin/layout.ejs
```
2. **Обновить dashboard:**
```bash
# Заменить dashboard на AdminLTE версию
cp views/admin/dashboard-adminlte.ejs views/admin/dashboard.ejs
```
### Вариант 2: Параллельная Система
Оставить существующую админку и добавить новую через роуты:
```javascript
// В routes/admin.js добавить:
router.get('/modern', (req, res) => {
res.render('admin/dashboard-adminlte', {
layout: 'admin/layout-adminlte'
// ... остальные данные
});
});
```
## 🎨 Кастомизация под SmartSolTech
### Цветовая Схема
```css
/* Добавлено в layout-adminlte.ejs: */
.nav-sidebar .nav-link.active {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.brand-text {
color: #007bff !important;
}
```
### Корейская Локализация
-Все меню переведены на корейский
- ✅ Даты в корейском формате
- ✅ Статусы и сообщения на корейском
- ✅ Шрифт Noto Sans KR для корректного отображения
## 📋 Следующие Шаги
1. **Тестирование:**
```bash
# Откройте демо:
http://localhost:3000/demo/admin-comparison
```
2. **Интеграция:**
```bash
# Если решили использовать AdminLTE:
cp views/admin/layout-adminlte.ejs views/admin/layout.ejs
cp views/admin/dashboard-adminlte.ejs views/admin/dashboard.ejs
```
3. **Создание дополнительных страниц:**
- Список портфолио в стиле AdminLTE
- Управление услугами
- Страница контактов
- Настройки системы
## 💡 Дополнительные Рекомендации
### Для Улучшения UX:
1. **Темная тема** - AdminLTE поддерживает переключение тем
2. **Мобильная оптимизация** - уже включена
3. **Уведомления** - можно добавить toast-уведомления
4. **Виджеты** - использовать info-box для статистики
### Производительность:
- AdminLTE загружается быстро (~500KB)
- Минимальные зависимости
- Отличная совместимость с вашим стеком
## 🎯 Финальная Рекомендация
**Используйте AdminLTE 3** для SmartSolTech потому что:
1. **Готов к production** - стабилен и протестирован
2. **Корейская аудитория** - отличная поддержка языка
3. **Бесплатный** - нет лицензионных ограничений
4. **Совместимость** - работает с вашей текущей архитектурой
5. **Поддержка** - большое сообщество и документация
Начните с демо-версии по адресу `/demo/demo-adminlte` и при желании интегрируйте в основную админку!

View File

@@ -1,280 +0,0 @@
# SmartSolTech Website
Современный PWA сайт для SmartSolTech с админ-панелью, управлением портфолио, интеграцией с Telegram ботом и калькулятором стоимости услуг.
## 🚀 Особенности
- **Современный дизайн**: Отзывчивый интерфейс с анимациями и современным UI/UX
- **PWA**: Прогрессивное веб-приложение с поддержкой офлайн-режима
- **Админ-панель**: Управление портфолио, услугами, медиа-контентом и настройками сайта
- **Интеграция с Telegram**: Подключение к Telegram боту для уведомлений
- **Калькулятор стоимости**: Интерактивный калькулятор расчета стоимости услуг
- **Система аутентификации**: Безопасная авторизация с JWT токенами
- **Загрузка файлов**: Оптимизация изображений и управление медиа-контентом
- **SEO оптимизация**: Настроенные мета-теги и структурированные данные
## 🛠️ Технологии
### Backend
- **Node.js** - Серверная платформа
- **Express.js** - Веб-фреймворк
- **MongoDB** - База данных
- **Mongoose** - ODM для MongoDB
- **JWT** - Токены аутентификации
- **bcrypt** - Хеширование паролей
- **Multer** - Загрузка файлов
- **Sharp** - Обработка изображений
### Frontend
- **EJS** - Шаблонизатор
- **Tailwind CSS** - CSS фреймворк
- **AOS** - Библиотека анимаций
- **Font Awesome** - Иконки
- **Service Worker** - PWA функциональность
### Дополнительно
- **node-telegram-bot-api** - Интеграция с Telegram
- **Nodemailer** - Отправка email
- **Helmet** - Безопасность
- **express-rate-limit** - Ограничение запросов
## 📦 Установка
1. **Клонирование репозитория**
```bash
git clone <repository-url>
cd sst_site
```
2. **Установка зависимостей**
```bash
npm install
```
3. **Настройка переменных окружения**
```bash
cp .env.example .env
```
Отредактируйте файл `.env` с вашими настройками:
```env
NODE_ENV=development
PORT=3000
# Database
MONGODB_URI=mongodb://localhost:27017/smartsoltech
# Security
SESSION_SECRET=your-super-secret-session-key
JWT_SECRET=your-super-secret-jwt-key
# File Upload
UPLOAD_PATH=./uploads
MAX_FILE_SIZE=10485760
# Email Configuration
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASS=your-app-password
# Telegram Bot (Optional)
TELEGRAM_BOT_TOKEN=your-telegram-bot-token
# Admin Account
ADMIN_EMAIL=admin@smartsoltech.kr
ADMIN_PASSWORD=change-this-password
```
4. **Инициализация базы данных**
```bash
npm run init-db
```
5. **Запуск в режиме разработки**
```bash
npm run dev
```
Сайт будет доступен по адресу: `http://localhost:3000`
## 🗂️ Структура проекта
```
sst_site/
├── models/ # Модели данных (MongoDB)
│ ├── User.js
│ ├── Portfolio.js
│ ├── Service.js
│ ├── Contact.js
│ └── SiteSettings.js
├── routes/ # Маршруты API
│ ├── index.js
│ ├── auth.js
│ ├── contact.js
│ ├── calculator.js
│ ├── portfolio.js
│ ├── services.js
│ ├── media.js
│ └── admin.js
├── views/ # Шаблоны EJS
│ ├── layout.ejs
│ ├── index.ejs
│ ├── calculator.ejs
│ └── partials/
├── public/ # Статические файлы
│ ├── css/
│ ├── js/
│ ├── images/
│ ├── manifest.json
│ └── sw.js
├── middleware/ # Промежуточное ПО
├── scripts/ # Служебные скрипты
│ ├── init-db.js
│ ├── dev.js
│ └── build.js
├── uploads/ # Загруженные файлы
├── server.js # Главный файл сервера
├── package.json
└── README.md
```
## 📋 Доступные команды
```bash
# Разработка
npm run dev # Запуск в режиме разработки с hot reload
# Продакшн
npm start # Запуск в продакшн режиме
npm run build # Сборка для продакшна
# База данных
npm run init-db # Инициализация БД с тестовыми данными
# Тестирование
npm test # Запуск тестов (пока не реализовано)
```
## 🔐 Админ-панель
После инициализации базы данных вы можете войти в админ-панель:
- **URL**: `http://localhost:3000/admin`
- **Email**: `admin@smartsoltech.kr` (или из .env)
- **Пароль**: Указанный в .env файле
### Возможности админ-панели:
- Управление портфолио проектами
- Редактирование услуг и их стоимости
- Загрузка и управление медиа-файлами
- Просмотр и управление контактными формами
- Настройки сайта и SEO
- Управление пользователями
## 🤖 Интеграция с Telegram
Для настройки Telegram бота:
1. Создайте бота через [@BotFather](https://t.me/BotFather)
2. Получите токен бота
3. Добавьте токен в `.env` файл: `TELEGRAM_BOT_TOKEN=your-token`
4. Перезапустите сервер
Бот будет отправлять уведомления о:
- Новых контактных формах
- Заказах через калькулятор
- Новых комментариях
## 💰 Калькулятор стоимости
Интерактивный калькулятор позволяет клиентам:
- Выбрать тип услуги
- Указать дополнительные параметры
- Получить примерную стоимость
- Отправить заявку на расчет
Настройки калькулятора можно изменить в админ-панели.
## 🔒 Безопасность
Проект включает следующие меры безопасности:
- Хеширование паролей с bcrypt
- JWT токены для аутентификации
- Защита от CSRF атак
- Ограничение количества запросов
- Валидация входных данных
- Безопасные HTTP заголовки
## 📱 PWA функции
- Установка на устройство
- Офлайн работа
- Push уведомления
- Фоновая синхронизация
- Адаптивные иконки
- Splash screen
## 🚀 Деплой
### Для продакшна:
1. **Сборка приложения**
```bash
npm run build
```
2. **Настройка сервера**
- Установите Node.js и MongoDB
- Настройте переменные окружения
- Настройте прокси-сервер (nginx)
3. **Запуск**
```bash
cd dist
npm install --production
npm start
```
### Docker деплой:
```dockerfile
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
```
## 🤝 Участие в разработке
1. Форкните репозиторий
2. Создайте ветку для фичи (`git checkout -b feature/AmazingFeature`)
3. Сделайте коммит (`git commit -m 'Add some AmazingFeature'`)
4. Отправьте в ветку (`git push origin feature/AmazingFeature`)
5. Откройте Pull Request
## 📝 Лицензия
Этот проект лицензирован под MIT License - подробности в файле [LICENSE](LICENSE).
## 📞 Поддержка
Если у вас есть вопросы или проблемы:
- Email: info@smartsoltech.kr
- GitHub Issues: [Create Issue](../../issues)
- Telegram: @smartsoltech
## 🙏 Благодарности
- [Express.js](https://expressjs.com/) - За отличный веб-фреймворк
- [MongoDB](https://www.mongodb.com/) - За гибкую базу данных
- [Tailwind CSS](https://tailwindcss.com/) - За удобный CSS фреймворк
- [AOS](https://michalsnik.github.io/aos/) - За красивые анимации
---
**SmartSolTech** - Умные решения для вашего бизнеса 🚀

View File

@@ -1,280 +0,0 @@
# SmartSolTech Website
Современный PWA сайт для SmartSolTech с админ-панелью, управлением портфолио, интеграцией с Telegram ботом и калькулятором стоимости услуг.
## 🚀 Особенности
- **Современный дизайн**: Отзывчивый интерфейс с анимациями и современным UI/UX
- **PWA**: Прогрессивное веб-приложение с поддержкой офлайн-режима
- **Админ-панель**: Управление портфолио, услугами, медиа-контентом и настройками сайта
- **Интеграция с Telegram**: Подключение к Telegram боту для уведомлений
- **Калькулятор стоимости**: Интерактивный калькулятор расчета стоимости услуг
- **Система аутентификации**: Безопасная авторизация с JWT токенами
- **Загрузка файлов**: Оптимизация изображений и управление медиа-контентом
- **SEO оптимизация**: Настроенные мета-теги и структурированные данные
## 🛠️ Технологии
### Backend
- **Node.js** - Серверная платформа
- **Express.js** - Веб-фреймворк
- **MongoDB** - База данных
- **Mongoose** - ODM для MongoDB
- **JWT** - Токены аутентификации
- **bcrypt** - Хеширование паролей
- **Multer** - Загрузка файлов
- **Sharp** - Обработка изображений
### Frontend
- **EJS** - Шаблонизатор
- **Tailwind CSS** - CSS фреймворк
- **AOS** - Библиотека анимаций
- **Font Awesome** - Иконки
- **Service Worker** - PWA функциональность
### Дополнительно
- **node-telegram-bot-api** - Интеграция с Telegram
- **Nodemailer** - Отправка email
- **Helmet** - Безопасность
- **express-rate-limit** - Ограничение запросов
## 📦 Установка
1. **Клонирование репозитория**
```bash
git clone <repository-url>
cd sst_site
```
2. **Установка зависимостей**
```bash
npm install
```
3. **Настройка переменных окружения**
```bash
cp .env.example .env
```
Отредактируйте файл `.env` с вашими настройками:
```env
NODE_ENV=development
PORT=3000
# Database
MONGODB_URI=mongodb://localhost:27017/smartsoltech
# Security
SESSION_SECRET=your-super-secret-session-key
JWT_SECRET=your-super-secret-jwt-key
# File Upload
UPLOAD_PATH=./uploads
MAX_FILE_SIZE=10485760
# Email Configuration
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASS=your-app-password
# Telegram Bot (Optional)
TELEGRAM_BOT_TOKEN=your-telegram-bot-token
# Admin Account
ADMIN_EMAIL=admin@smartsoltech.kr
ADMIN_PASSWORD=change-this-password
```
4. **Инициализация базы данных**
```bash
npm run init-db
```
5. **Запуск в режиме разработки**
```bash
npm run dev
```
Сайт будет доступен по адресу: `http://localhost:3000`
## 🗂️ Структура проекта
```
sst_site/
├── models/ # Модели данных (MongoDB)
│ ├── User.js
│ ├── Portfolio.js
│ ├── Service.js
│ ├── Contact.js
│ └── SiteSettings.js
├── routes/ # Маршруты API
│ ├── index.js
│ ├── auth.js
│ ├── contact.js
│ ├── calculator.js
│ ├── portfolio.js
│ ├── services.js
│ ├── media.js
│ └── admin.js
├── views/ # Шаблоны EJS
│ ├── layout.ejs
│ ├── index.ejs
│ ├── calculator.ejs
│ └── partials/
├── public/ # Статические файлы
│ ├── css/
│ ├── js/
│ ├── images/
│ ├── manifest.json
│ └── sw.js
├── middleware/ # Промежуточное ПО
├── scripts/ # Служебные скрипты
│ ├── init-db.js
│ ├── dev.js
│ └── build.js
├── uploads/ # Загруженные файлы
├── server.js # Главный файл сервера
├── package.json
└── README.md
```
## 📋 Доступные команды
```bash
# Разработка
npm run dev # Запуск в режиме разработки с hot reload
# Продакшн
npm start # Запуск в продакшн режиме
npm run build # Сборка для продакшна
# База данных
npm run init-db # Инициализация БД с тестовыми данными
# Тестирование
npm test # Запуск тестов (пока не реализовано)
```
## 🔐 Админ-панель
После инициализации базы данных вы можете войти в админ-панель:
- **URL**: `http://localhost:3000/admin`
- **Email**: `admin@smartsoltech.kr` (или из .env)
- **Пароль**: Указанный в .env файле
### Возможности админ-панели:
- Управление портфолио проектами
- Редактирование услуг и их стоимости
- Загрузка и управление медиа-файлами
- Просмотр и управление контактными формами
- Настройки сайта и SEO
- Управление пользователями
## 🤖 Интеграция с Telegram
Для настройки Telegram бота:
1. Создайте бота через [@BotFather](https://t.me/BotFather)
2. Получите токен бота
3. Добавьте токен в `.env` файл: `TELEGRAM_BOT_TOKEN=your-token`
4. Перезапустите сервер
Бот будет отправлять уведомления о:
- Новых контактных формах
- Заказах через калькулятор
- Новых комментариях
## 💰 Калькулятор стоимости
Интерактивный калькулятор позволяет клиентам:
- Выбрать тип услуги
- Указать дополнительные параметры
- Получить примерную стоимость
- Отправить заявку на расчет
Настройки калькулятора можно изменить в админ-панели.
## 🔒 Безопасность
Проект включает следующие меры безопасности:
- Хеширование паролей с bcrypt
- JWT токены для аутентификации
- Защита от CSRF атак
- Ограничение количества запросов
- Валидация входных данных
- Безопасные HTTP заголовки
## 📱 PWA функции
- Установка на устройство
- Офлайн работа
- Push уведомления
- Фоновая синхронизация
- Адаптивные иконки
- Splash screen
## 🚀 Деплой
### Для продакшна:
1. **Сборка приложения**
```bash
npm run build
```
2. **Настройка сервера**
- Установите Node.js и MongoDB
- Настройте переменные окружения
- Настройте прокси-сервер (nginx)
3. **Запуск**
```bash
cd dist
npm install --production
npm start
```
### Docker деплой:
```dockerfile
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
```
## 🤝 Участие в разработке
1. Форкните репозиторий
2. Создайте ветку для фичи (`git checkout -b feature/AmazingFeature`)
3. Сделайте коммит (`git commit -m 'Add some AmazingFeature'`)
4. Отправьте в ветку (`git push origin feature/AmazingFeature`)
5. Откройте Pull Request
## 📝 Лицензия
Этот проект лицензирован под MIT License - подробности в файле [LICENSE](LICENSE).
## 📞 Поддержка
Если у вас есть вопросы или проблемы:
- Email: info@smartsoltech.kr
- GitHub Issues: [Create Issue](../../issues)
- Telegram: @smartsoltech
## 🙏 Благодарности
- [Express.js](https://expressjs.com/) - За отличный веб-фреймворк
- [MongoDB](https://www.mongodb.com/) - За гибкую базу данных
- [Tailwind CSS](https://tailwindcss.com/) - За удобный CSS фреймворк
- [AOS](https://michalsnik.github.io/aos/) - За красивые анимации
---
**SmartSolTech** - Умные решения для вашего бизнеса 🚀

View File

@@ -1,173 +0,0 @@
{
"navigation": {
"home": "Home",
"about": "About",
"services": "Services",
"portfolio": "Portfolio",
"contact": "Contact",
"calculator": "Calculator",
"admin": "Admin"
},
"hero": {
"title": "Smart Technology",
"subtitle": "Solutions",
"description": "Innovative web development, mobile apps, UI/UX design leading your business digital transformation",
"cta_primary": "Start Project",
"cta_secondary": "View Portfolio"
},
"services": {
"title": "Our",
"title_highlight": "Services",
"description": "Digital solutions completed with cutting-edge technology and creative ideas",
"web_development": {
"title": "Web Development",
"description": "Modern and responsive websites and web applications development",
"price": "$5,000~"
},
"mobile_app": {
"title": "Mobile App",
"description": "Native and cross-platform apps for iOS and Android",
"price": "$8,000~"
},
"ui_ux_design": {
"title": "UI/UX Design",
"description": "User-centered intuitive and beautiful interface design",
"price": "$3,000~"
},
"digital_marketing": {
"title": "Digital Marketing",
"description": "Digital marketing through SEO, social media, online advertising",
"price": "$2,000~"
},
"view_all": "View All Services"
},
"portfolio": {
"title": "Recent",
"title_highlight": "Projects",
"description": "Check out the projects completed for customer success",
"view_details": "View Details",
"view_all": "View All Portfolio"
},
"calculator": {
"title": "Check Your Project Estimate",
"description": "Select your desired services and requirements to calculate estimates in real time",
"cta": "Use Estimate Calculator"
},
"contact": {
"ready_title": "Ready to Start Your Project?",
"ready_description": "Turn your ideas into reality. Experts provide the best solutions.",
"phone_consultation": "Phone Consultation",
"email_inquiry": "Email Inquiry",
"telegram_chat": "Telegram Chat",
"instant_response": "Instant response available",
"free_consultation": "Free Consultation Application",
"form": {
"name": "Name",
"email": "Email",
"phone": "Phone",
"service_interest": "Service Interest",
"service_options": {
"select": "Select Service Interest",
"web_development": "Web Development",
"mobile_app": "Mobile App",
"ui_ux_design": "UI/UX Design",
"branding": "Branding",
"consulting": "Consulting",
"other": "Other"
},
"message": "Please briefly describe your project",
"submit": "Apply for Consultation"
}
},
"about": {
"hero_title": "About",
"hero_highlight": "SmartSolTech",
"hero_description": "Digital solution specialist leading customer success with innovative technology",
"overview": {
"title": "Creating Future with Innovation and Creativity",
"description_1": "SmartSolTech is a digital solution specialist established in 2020, supporting customer business success with innovative technology and creative ideas in web development, mobile apps, and UI/UX design.",
"description_2": "We don't just provide technology, but understand customer goals and propose optimal solutions to become partners growing together.",
"stats": {
"projects": "100+",
"projects_label": "Completed Projects",
"clients": "50+",
"clients_label": "Satisfied Customers",
"experience": "4 years",
"experience_label": "Industry Experience"
},
"mission": "Our Mission",
"mission_text": "Helping all businesses succeed in the digital age through technology",
"vision": "Our Vision",
"vision_text": "Growing as a global digital solution company representing Korea to lead digital innovation for customers worldwide"
},
"values": {
"title": "Core",
"title_highlight": "Values",
"description": "Core values pursued by SmartSolTech",
"innovation": {
"title": "Innovation",
"description": "We provide innovative solutions through continuous R&D and adoption of cutting-edge technology."
},
"collaboration": {
"title": "Collaboration",
"description": "We create the best results through close communication and collaboration with customers."
},
"quality": {
"title": "Quality",
"description": "We maintain high quality standards and provide high-quality products that customers can be satisfied with."
},
"growth": {
"title": "Growth",
"description": "We grow together with customers and pursue continuous learning and development."
}
},
"team": {
"title": "Our",
"title_highlight": "Team",
"description": "Introducing the SmartSolTech team with expertise and passion"
},
"tech_stack": {
"title": "Technology",
"title_highlight": "Stack",
"description": "We provide the best solutions with cutting-edge technology and proven tools",
"frontend": "Frontend",
"backend": "Backend",
"mobile": "Mobile"
},
"cta": {
"title": "Become a Partner for Success Together",
"description": "Take your business to the next level with SmartSolTech",
"partnership": "Partnership Inquiry",
"portfolio": "View Portfolio"
}
},
"footer": {
"company": "SmartSolTech",
"description": "Digital solution specialist leading innovation",
"quick_links": "Quick Links",
"services": "Services",
"contact_info": "Contact Information",
"follow_us": "Follow Us",
"rights": "All rights reserved."
},
"theme": {
"light": "Light Theme",
"dark": "Dark Theme",
"toggle": "Toggle Theme"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Loading...",
"error": "Error occurred",
"success": "Success",
"view_more": "View More",
"back": "Back",
"next": "Next",
"previous": "Previous"
}
}

View File

@@ -1,173 +0,0 @@
{
"navigation": {
"home": "Home",
"about": "About",
"services": "Services",
"portfolio": "Portfolio",
"contact": "Contact",
"calculator": "Calculator",
"admin": "Admin"
},
"hero": {
"title": "Smart Technology",
"subtitle": "Solutions",
"description": "Innovative web development, mobile apps, UI/UX design leading your business digital transformation",
"cta_primary": "Start Project",
"cta_secondary": "View Portfolio"
},
"services": {
"title": "Our",
"title_highlight": "Services",
"description": "Digital solutions completed with cutting-edge technology and creative ideas",
"web_development": {
"title": "Web Development",
"description": "Modern and responsive websites and web applications development",
"price": "$5,000~"
},
"mobile_app": {
"title": "Mobile App",
"description": "Native and cross-platform apps for iOS and Android",
"price": "$8,000~"
},
"ui_ux_design": {
"title": "UI/UX Design",
"description": "User-centered intuitive and beautiful interface design",
"price": "$3,000~"
},
"digital_marketing": {
"title": "Digital Marketing",
"description": "Digital marketing through SEO, social media, online advertising",
"price": "$2,000~"
},
"view_all": "View All Services"
},
"portfolio": {
"title": "Recent",
"title_highlight": "Projects",
"description": "Check out the projects completed for customer success",
"view_details": "View Details",
"view_all": "View All Portfolio"
},
"calculator": {
"title": "Check Your Project Estimate",
"description": "Select your desired services and requirements to calculate estimates in real time",
"cta": "Use Estimate Calculator"
},
"contact": {
"ready_title": "Ready to Start Your Project?",
"ready_description": "Turn your ideas into reality. Experts provide the best solutions.",
"phone_consultation": "Phone Consultation",
"email_inquiry": "Email Inquiry",
"telegram_chat": "Telegram Chat",
"instant_response": "Instant response available",
"free_consultation": "Free Consultation Application",
"form": {
"name": "Name",
"email": "Email",
"phone": "Phone",
"service_interest": "Service Interest",
"service_options": {
"select": "Select Service Interest",
"web_development": "Web Development",
"mobile_app": "Mobile App",
"ui_ux_design": "UI/UX Design",
"branding": "Branding",
"consulting": "Consulting",
"other": "Other"
},
"message": "Please briefly describe your project",
"submit": "Apply for Consultation"
}
},
"about": {
"hero_title": "About",
"hero_highlight": "SmartSolTech",
"hero_description": "Digital solution specialist leading customer success with innovative technology",
"overview": {
"title": "Creating Future with Innovation and Creativity",
"description_1": "SmartSolTech is a digital solution specialist established in 2020, supporting customer business success with innovative technology and creative ideas in web development, mobile apps, and UI/UX design.",
"description_2": "We don't just provide technology, but understand customer goals and propose optimal solutions to become partners growing together.",
"stats": {
"projects": "100+",
"projects_label": "Completed Projects",
"clients": "50+",
"clients_label": "Satisfied Customers",
"experience": "4 years",
"experience_label": "Industry Experience"
},
"mission": "Our Mission",
"mission_text": "Helping all businesses succeed in the digital age through technology",
"vision": "Our Vision",
"vision_text": "Growing as a global digital solution company representing Korea to lead digital innovation for customers worldwide"
},
"values": {
"title": "Core",
"title_highlight": "Values",
"description": "Core values pursued by SmartSolTech",
"innovation": {
"title": "Innovation",
"description": "We provide innovative solutions through continuous R&D and adoption of cutting-edge technology."
},
"collaboration": {
"title": "Collaboration",
"description": "We create the best results through close communication and collaboration with customers."
},
"quality": {
"title": "Quality",
"description": "We maintain high quality standards and provide high-quality products that customers can be satisfied with."
},
"growth": {
"title": "Growth",
"description": "We grow together with customers and pursue continuous learning and development."
}
},
"team": {
"title": "Our",
"title_highlight": "Team",
"description": "Introducing the SmartSolTech team with expertise and passion"
},
"tech_stack": {
"title": "Technology",
"title_highlight": "Stack",
"description": "We provide the best solutions with cutting-edge technology and proven tools",
"frontend": "Frontend",
"backend": "Backend",
"mobile": "Mobile"
},
"cta": {
"title": "Become a Partner for Success Together",
"description": "Take your business to the next level with SmartSolTech",
"partnership": "Partnership Inquiry",
"portfolio": "View Portfolio"
}
},
"footer": {
"company": "SmartSolTech",
"description": "Digital solution specialist leading innovation",
"quick_links": "Quick Links",
"services": "Services",
"contact_info": "Contact Information",
"follow_us": "Follow Us",
"rights": "All rights reserved."
},
"theme": {
"light": "Light Theme",
"dark": "Dark Theme",
"toggle": "Toggle Theme"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Loading...",
"error": "Error occurred",
"success": "Success",
"view_more": "View More",
"back": "Back",
"next": "Next",
"previous": "Previous"
}
}

View File

@@ -1,223 +0,0 @@
{
"navigation": {
"home": "Home",
"about": "About",
"services": "Services",
"portfolio": "Portfolio",
"contact": "Contact",
"calculator": "Calculator",
"admin": "Admin"
},
"hero": {
"title": "Smart Technology",
"subtitle": "Solutions",
"description": "Innovative web development, mobile apps, UI/UX design leading your business digital transformation",
"cta_primary": "Start Project",
"cta_secondary": "View Portfolio"
},
"services": {
"title": "Our",
"title_highlight": "Services",
"description": "Digital solutions completed with cutting-edge technology and creative ideas",
"web_development": {
"title": "Web Development",
"description": "Modern and responsive websites and web applications development",
"price": "$5,000~"
},
"mobile_app": {
"title": "Mobile App",
"description": "Native and cross-platform apps for iOS and Android",
"price": "$8,000~"
},
"ui_ux_design": {
"title": "UI/UX Design",
"description": "User-centered intuitive and beautiful interface design",
"price": "$3,000~"
},
"digital_marketing": {
"title": "Digital Marketing",
"description": "Digital marketing through SEO, social media, online advertising",
"price": "$2,000~"
},
"view_all": "View All Services"
},
"portfolio": {
"title": "Recent",
"title_highlight": "Projects",
"description": "Check out the projects completed for customer success",
"view_details": "View Details",
"view_all": "View All Portfolio"
},
"calculator": {
"title": "Project Cost Calculator",
"subtitle": "Select your desired services and requirements to get accurate cost estimates in real time",
"meta": {
"title": "Project Cost Calculator",
"description": "Calculate the cost of your web development, mobile app, or design project with our interactive calculator"
},
"cta": {
"title": "Check Your Project Estimate",
"subtitle": "Select your desired services and requirements to calculate costs in real time",
"button": "Use Cost Calculator"
},
"step1": {
"title": "Step 1: Service Selection",
"subtitle": "Please select the services you need (multiple selection allowed)"
},
"step2": {
"title": "Step 2: Project Details",
"subtitle": "Select project complexity and timeline"
},
"complexity": {
"title": "Project Complexity",
"simple": "Simple",
"simple_desc": "Basic features, standard design",
"medium": "Medium",
"medium_desc": "Additional features, custom design",
"complex": "Complex",
"complex_desc": "Advanced features, complex integrations"
},
"timeline": {
"title": "Development Timeline",
"standard": "Standard",
"standard_desc": "Normal development timeframe",
"rush": "Rush",
"rush_desc": "Fast development (+50%)",
"extended": "Extended",
"extended_desc": "Flexible development timeline (-20%)"
},
"result": {
"title": "Estimate Results",
"subtitle": "Here's your preliminary project cost estimate",
"estimated_price": "Estimated Price",
"price_note": "* Final cost may vary based on project details",
"summary": "Project Summary",
"selected_services": "Selected Services",
"complexity": "Complexity",
"timeline": "Timeline",
"get_quote": "Get Accurate Quote",
"recalculate": "Recalculate",
"contact_note": "Contact us for an accurate quote and to discuss project details"
},
"next_step": "Next Step",
"prev_step": "Previous",
"calculate": "Calculate"
},
"contact": {
"ready_title": "Ready to Start Your Project?",
"ready_description": "Turn your ideas into reality. Experts provide the best solutions.",
"phone_consultation": "Phone Consultation",
"email_inquiry": "Email Inquiry",
"telegram_chat": "Telegram Chat",
"instant_response": "Instant response available",
"free_consultation": "Free Consultation Application",
"form": {
"name": "Name",
"email": "Email",
"phone": "Phone",
"service_interest": "Service Interest",
"service_options": {
"select": "Select Service Interest",
"web_development": "Web Development",
"mobile_app": "Mobile App",
"ui_ux_design": "UI/UX Design",
"branding": "Branding",
"consulting": "Consulting",
"other": "Other"
},
"message": "Please briefly describe your project",
"submit": "Apply for Consultation"
}
},
"about": {
"hero_title": "About",
"hero_highlight": "SmartSolTech",
"hero_description": "Digital solution specialist leading customer success with innovative technology",
"overview": {
"title": "Creating Future with Innovation and Creativity",
"description_1": "SmartSolTech is a digital solution specialist established in 2020, supporting customer business success with innovative technology and creative ideas in web development, mobile apps, and UI/UX design.",
"description_2": "We don't just provide technology, but understand customer goals and propose optimal solutions to become partners growing together.",
"stats": {
"projects": "100+",
"projects_label": "Completed Projects",
"clients": "50+",
"clients_label": "Satisfied Customers",
"experience": "4 years",
"experience_label": "Industry Experience"
},
"mission": "Our Mission",
"mission_text": "Helping all businesses succeed in the digital age through technology",
"vision": "Our Vision",
"vision_text": "Growing as a global digital solution company representing Korea to lead digital innovation for customers worldwide"
},
"values": {
"title": "Core",
"title_highlight": "Values",
"description": "Core values pursued by SmartSolTech",
"innovation": {
"title": "Innovation",
"description": "We provide innovative solutions through continuous R&D and adoption of cutting-edge technology."
},
"collaboration": {
"title": "Collaboration",
"description": "We create the best results through close communication and collaboration with customers."
},
"quality": {
"title": "Quality",
"description": "We maintain high quality standards and provide high-quality products that customers can be satisfied with."
},
"growth": {
"title": "Growth",
"description": "We grow together with customers and pursue continuous learning and development."
}
},
"team": {
"title": "Our",
"title_highlight": "Team",
"description": "Introducing the SmartSolTech team with expertise and passion"
},
"tech_stack": {
"title": "Technology",
"title_highlight": "Stack",
"description": "We provide the best solutions with cutting-edge technology and proven tools",
"frontend": "Frontend",
"backend": "Backend",
"mobile": "Mobile"
},
"cta": {
"title": "Become a Partner for Success Together",
"description": "Take your business to the next level with SmartSolTech",
"partnership": "Partnership Inquiry",
"portfolio": "View Portfolio"
}
},
"footer": {
"company": "SmartSolTech",
"description": "Digital solution specialist leading innovation",
"quick_links": "Quick Links",
"services": "Services",
"contact_info": "Contact Information",
"follow_us": "Follow Us",
"rights": "All rights reserved."
},
"theme": {
"light": "Light Theme",
"dark": "Dark Theme",
"toggle": "Toggle Theme"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Loading...",
"error": "Error occurred",
"success": "Success",
"view_more": "View More",
"back": "Back",
"next": "Next",
"previous": "Previous"
}
}

View File

@@ -1,223 +0,0 @@
{
"navigation": {
"home": "Home",
"about": "About",
"services": "Services",
"portfolio": "Portfolio",
"contact": "Contact",
"calculator": "Calculator",
"admin": "Admin"
},
"hero": {
"title": "Smart Technology",
"subtitle": "Solutions",
"description": "Innovative web development, mobile apps, UI/UX design leading your business digital transformation",
"cta_primary": "Start Project",
"cta_secondary": "View Portfolio"
},
"services": {
"title": "Our",
"title_highlight": "Services",
"description": "Digital solutions completed with cutting-edge technology and creative ideas",
"web_development": {
"title": "Web Development",
"description": "Modern and responsive websites and web applications development",
"price": "$5,000~"
},
"mobile_app": {
"title": "Mobile App",
"description": "Native and cross-platform apps for iOS and Android",
"price": "$8,000~"
},
"ui_ux_design": {
"title": "UI/UX Design",
"description": "User-centered intuitive and beautiful interface design",
"price": "$3,000~"
},
"digital_marketing": {
"title": "Digital Marketing",
"description": "Digital marketing through SEO, social media, online advertising",
"price": "$2,000~"
},
"view_all": "View All Services"
},
"portfolio": {
"title": "Recent",
"title_highlight": "Projects",
"description": "Check out the projects completed for customer success",
"view_details": "View Details",
"view_all": "View All Portfolio"
},
"calculator": {
"title": "Project Cost Calculator",
"subtitle": "Select your desired services and requirements to get accurate cost estimates in real time",
"meta": {
"title": "Project Cost Calculator",
"description": "Calculate the cost of your web development, mobile app, or design project with our interactive calculator"
},
"cta": {
"title": "Check Your Project Estimate",
"subtitle": "Select your desired services and requirements to calculate costs in real time",
"button": "Use Cost Calculator"
},
"step1": {
"title": "Step 1: Service Selection",
"subtitle": "Please select the services you need (multiple selection allowed)"
},
"step2": {
"title": "Step 2: Project Details",
"subtitle": "Select project complexity and timeline"
},
"complexity": {
"title": "Project Complexity",
"simple": "Simple",
"simple_desc": "Basic features, standard design",
"medium": "Medium",
"medium_desc": "Additional features, custom design",
"complex": "Complex",
"complex_desc": "Advanced features, complex integrations"
},
"timeline": {
"title": "Development Timeline",
"standard": "Standard",
"standard_desc": "Normal development timeframe",
"rush": "Rush",
"rush_desc": "Fast development (+50%)",
"extended": "Extended",
"extended_desc": "Flexible development timeline (-20%)"
},
"result": {
"title": "Estimate Results",
"subtitle": "Here's your preliminary project cost estimate",
"estimated_price": "Estimated Price",
"price_note": "* Final cost may vary based on project details",
"summary": "Project Summary",
"selected_services": "Selected Services",
"complexity": "Complexity",
"timeline": "Timeline",
"get_quote": "Get Accurate Quote",
"recalculate": "Recalculate",
"contact_note": "Contact us for an accurate quote and to discuss project details"
},
"next_step": "Next Step",
"prev_step": "Previous",
"calculate": "Calculate"
},
"contact": {
"ready_title": "Ready to Start Your Project?",
"ready_description": "Turn your ideas into reality. Experts provide the best solutions.",
"phone_consultation": "Phone Consultation",
"email_inquiry": "Email Inquiry",
"telegram_chat": "Telegram Chat",
"instant_response": "Instant response available",
"free_consultation": "Free Consultation Application",
"form": {
"name": "Name",
"email": "Email",
"phone": "Phone",
"service_interest": "Service Interest",
"service_options": {
"select": "Select Service Interest",
"web_development": "Web Development",
"mobile_app": "Mobile App",
"ui_ux_design": "UI/UX Design",
"branding": "Branding",
"consulting": "Consulting",
"other": "Other"
},
"message": "Please briefly describe your project",
"submit": "Apply for Consultation"
}
},
"about": {
"hero_title": "About",
"hero_highlight": "SmartSolTech",
"hero_description": "Digital solution specialist leading customer success with innovative technology",
"overview": {
"title": "Creating Future with Innovation and Creativity",
"description_1": "SmartSolTech is a digital solution specialist established in 2020, supporting customer business success with innovative technology and creative ideas in web development, mobile apps, and UI/UX design.",
"description_2": "We don't just provide technology, but understand customer goals and propose optimal solutions to become partners growing together.",
"stats": {
"projects": "100+",
"projects_label": "Completed Projects",
"clients": "50+",
"clients_label": "Satisfied Customers",
"experience": "4 years",
"experience_label": "Industry Experience"
},
"mission": "Our Mission",
"mission_text": "Helping all businesses succeed in the digital age through technology",
"vision": "Our Vision",
"vision_text": "Growing as a global digital solution company representing Korea to lead digital innovation for customers worldwide"
},
"values": {
"title": "Core",
"title_highlight": "Values",
"description": "Core values pursued by SmartSolTech",
"innovation": {
"title": "Innovation",
"description": "We provide innovative solutions through continuous R&D and adoption of cutting-edge technology."
},
"collaboration": {
"title": "Collaboration",
"description": "We create the best results through close communication and collaboration with customers."
},
"quality": {
"title": "Quality",
"description": "We maintain high quality standards and provide high-quality products that customers can be satisfied with."
},
"growth": {
"title": "Growth",
"description": "We grow together with customers and pursue continuous learning and development."
}
},
"team": {
"title": "Our",
"title_highlight": "Team",
"description": "Introducing the SmartSolTech team with expertise and passion"
},
"tech_stack": {
"title": "Technology",
"title_highlight": "Stack",
"description": "We provide the best solutions with cutting-edge technology and proven tools",
"frontend": "Frontend",
"backend": "Backend",
"mobile": "Mobile"
},
"cta": {
"title": "Become a Partner for Success Together",
"description": "Take your business to the next level with SmartSolTech",
"partnership": "Partnership Inquiry",
"portfolio": "View Portfolio"
}
},
"footer": {
"company": "SmartSolTech",
"description": "Digital solution specialist leading innovation",
"quick_links": "Quick Links",
"services": "Services",
"contact_info": "Contact Information",
"follow_us": "Follow Us",
"rights": "All rights reserved."
},
"theme": {
"light": "Light Theme",
"dark": "Dark Theme",
"toggle": "Toggle Theme"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Loading...",
"error": "Error occurred",
"success": "Success",
"view_more": "View More",
"back": "Back",
"next": "Next",
"previous": "Previous"
}
}

View File

@@ -0,0 +1,425 @@
{
"navigation": {
"home": "Home",
"about": "About",
"services": "Services",
"portfolio": "Portfolio",
"contact": "Contact",
"calculator": "Calculator",
"admin": "Admin"
},
"hero": {
"title": {
"smart": "Smart",
"solutions": "Solutions"
},
"subtitle": "Grow your business with innovative technology",
"description": "Innovative web development, mobile apps, UI/UX design leading your business digital transformation",
"cta": {
"start": "Get Started",
"portfolio": "View Portfolio"
}
},
"services": {
"title": {
"our": "Our",
"services": "Services"
},
"subtitle": "Professional development services to turn your ideas into reality",
"description": "Digital solutions completed with cutting-edge technology and creative ideas",
"view_all": "View All Services",
"web": {
"title": "Web Development",
"description": "Responsive websites and web application development",
"price": "From $500"
},
"mobile": {
"title": "Mobile Apps",
"description": "iOS and Android native app development",
"price": "From $1,000"
},
"design": {
"title": "UI/UX Design",
"description": "User-centered interface and experience design",
"price": "From $300"
},
"marketing": {
"title": "Digital Marketing",
"description": "SEO, social media marketing, advertising management",
"price": "From $200"
},
"meta": {
"title": "Services",
"description": "Check out SmartSolTech's professional services. Web development, mobile apps, UI/UX design, digital marketing and other technology solutions.",
"keywords": "web development, mobile apps, UI/UX design, digital marketing, technology solutions, SmartSolTech"
},
"hero": {
"title": "Our",
"title_highlight": "Services",
"subtitle": "Support business growth with innovative technology"
},
"cards": {
"starting_price": "Starting Price",
"consultation": "consultation",
"contact": "Contact",
"calculate_cost": "Calculate Cost",
"popular": "Popular",
"coming_soon": "Services Coming Soon",
"coming_soon_desc": "We'll soon offer various services!"
},
"process": {
"title": "Project Implementation Process",
"subtitle": "We conduct projects with systematic and professional processes",
"step1": {
"title": "Consultation and Planning",
"description": "Accurately understand customer requirements and plan optimal solutions"
},
"step2": {
"title": "Design and Architecture",
"description": "Design user-centered intuitive design and robust system architecture"
},
"step3": {
"title": "Development and Implementation",
"description": "Develop efficient and scalable solutions using the latest technology and best practices"
},
"step4": {
"title": "Testing and Deployment",
"description": "Ensure quality through thorough testing and proceed with stable deployment"
}
},
"why_choose": {
"title": "Why Choose SmartSolTech?",
"modern_tech": {
"title": "Modern Technology Utilization",
"description": "Always keep up with the latest technology trends and use proven technology stacks to provide future-oriented solutions."
},
"expert_team": {
"title": "Expert Team",
"description": "A team of experts in each field collaborates to guarantee the highest quality results."
},
"fast_response": {
"title": "Fast Response",
"description": "Complete projects within scheduled timeframes through quick communication and efficient project management."
},
"continuous_support": {
"title": "Continuous Support",
"description": "Maintain long-term partnerships through continuous maintenance and technical support even after project completion."
},
"quality_guarantee": {
"title": "Quality Guarantee",
"subtitle": "For customer satisfaction\nHighest quality service"
}
},
"cta": {
"title": "Ready to Start Your Project?",
"subtitle": "We'll propose the optimal solution through free consultation",
"free_consultation": "Apply for Free Consultation",
"calculate_cost": "Calculate Cost",
"view_portfolio": "View Portfolio"
}
},
"portfolio": {
"title": {
"recent": "Recent",
"projects": "Projects"
},
"subtitle": "Check out successfully completed projects",
"description": "Check out the projects completed for customer success",
"view_details": "View Details",
"view_all": "View All Portfolio",
"categories": {
"all": "All",
"web": "Web Development",
"mobile": "Mobile Apps",
"uiux": "UI/UX Design"
},
"project_details": "Project Details",
"default": {
"ecommerce": "E-commerce",
"title": "E-commerce Platform",
"description": "Modern online commerce solution with intuitive interface"
},
"meta": {
"title": "Portfolio",
"description": "Check out SmartSolTech's diverse projects and success stories. Web development, mobile apps, UI/UX design portfolio.",
"keywords": "portfolio, web development, mobile apps, UI/UX design, projects, SmartSolTech"
}
},
"portfolio_page": {
"title": "Our Portfolio",
"subtitle": "Discover innovative projects and creative solutions",
"categories": {
"all": "All",
"web-development": "Web Development",
"mobile-app": "Mobile App",
"ui-ux-design": "UI/UX Design",
"branding": "Branding",
"marketing": "Digital Marketing"
},
"buttons": {
"details": "View Details",
"projectDetails": "Project Details",
"loadMore": "Load More Projects",
"contact": "Request Project",
"calculate": "Calculate Cost"
},
"empty": {
"title": "No portfolio yet",
"subtitle": "We'll be showcasing amazing projects soon!"
},
"cta": {
"title": "Be the star of the next project",
"subtitle": "Create innovative digital solutions with us"
},
"labels": {
"featured": "FEATURED",
"views": "views",
"likes": "likes"
}
},
"calculator": {
"title": "Project Cost Calculator",
"subtitle": "Select your desired services and requirements to get accurate cost estimates in real time",
"next_step": "Next Step",
"prev_step": "Previous Step",
"calculate": "Calculate",
"reset": "Reset",
"meta": {
"title": "Project Cost Calculator",
"description": "Calculate the cost of your web development, mobile app, or design project with our interactive calculator"
},
"cta": {
"title": "Check Your Project Estimate",
"subtitle": "Select your desired services and requirements to calculate costs in real time",
"button": "Use Cost Calculator"
},
"step1": {
"title": "Choose Your Services",
"nav_title": "Step 1: Services",
"subtitle": "Select the services you need for your project"
},
"step2": {
"title": "Project Details",
"nav_title": "Step 2: Details",
"subtitle": "Tell us about your project complexity and timeline"
},
"complexity": {
"title": "Project Complexity",
"simple": "Simple",
"simple_desc": "Basic features and standard functionality",
"medium": "Medium",
"medium_desc": "Custom features and integrations",
"complex": "Complex",
"complex_desc": "Advanced features and complex integrations"
},
"timeline": {
"title": "Project Timeline",
"standard": "Standard (4-8 weeks)",
"standard_desc": "Normal development timeline",
"rush": "Rush (2-4 weeks)",
"rush_desc": "Expedited delivery with additional cost",
"extended": "Extended (8+ weeks)",
"extended_desc": "Flexible timeline with cost optimization"
},
"result": {
"title": "Project Estimate",
"nav_title": "Result",
"subtitle": "Your estimated project cost",
"estimated_price": "Estimated Price",
"price_note": "This is an approximate cost. Final price may vary based on project complexity.",
"summary": "Project Summary",
"get_quote": "Get Detailed Quote",
"contact_note": "Contact us for a detailed consultation and precise quote.",
"recalculate": "Calculate Again",
"selected_services": "Selected Services",
"complexity": "Complexity",
"timeline": "Timeline"
}
},
"contact": {
"hero": {
"title": "Contact Us",
"subtitle": "We're here to help bring your ideas to life"
},
"ready_title": "Ready to Start Your Project?",
"ready_description": "Turn your ideas into reality. Experts provide the best solutions.",
"form": {
"title": "Project Inquiry",
"name": "Name",
"email": "Email",
"phone": "Phone",
"message": "Message",
"submit": "Send Inquiry",
"success": "Inquiry sent successfully",
"error": "Error occurred while sending inquiry",
"service": {
"title": "Service Interest",
"select": "Select service of interest",
"web": "Web Development",
"mobile": "Mobile App",
"design": "UI/UX Design",
"branding": "Branding",
"consulting": "Consulting",
"other": "Other"
}
},
"info": {
"title": "Contact Information"
},
"phone": {
"title": "Phone Inquiry",
"number": "+82-2-1234-5678",
"hours": "Mon-Fri 9:00-18:00"
},
"email": {
"title": "Email Inquiry",
"address": "info@smartsoltech.co.kr",
"response": "Response within 24 hours"
},
"telegram": {
"title": "Telegram",
"subtitle": "For quick response"
},
"address": {
"title": "Office Address",
"line1": "123 Teheran-ro, Gangnam-gu",
"line2": "Seoul, South Korea"
},
"cta": {
"ready": "Ready?",
"start": "Get Started",
"question": "Have questions?",
"subtitle": "We provide consultation on projects"
},
"meta": {
"title": "Contact",
"description": "Contact us anytime for project inquiries or consultation"
}
},
"about": {
"hero": {
"title": "About SmartSolTech",
"subtitle": "Creating the future with innovation and technology"
},
"company": {
"title": "Company Information",
"description1": "SmartSolTech is a technology company established in 2020, recognized for expertise in web development, mobile app development, and UI/UX design.",
"description2": "We accurately understand customer needs and provide innovative solutions using the latest technology."
},
"stats": {
"projects": "Completed Projects",
"experience": "Years Experience",
"clients": "Satisfied Customers"
},
"mission": {
"title": "Our Mission",
"description": "Our mission is to support customer business growth through technology and lead digital innovation."
},
"values": {
"innovation": {
"title": "Innovation",
"description": "We provide innovative solutions through continuous R&D and adoption of cutting-edge technology."
},
"quality": {
"title": "Quality",
"description": "We maintain high quality standards and provide high-quality products that customers can be satisfied with."
},
"partnership": {
"title": "Partnership",
"description": "We create the best results through close communication and collaboration with customers."
}
},
"cta": {
"title": "We'll Grow Together",
"subtitle": "Turn your ideas into reality",
"button": "Contact Us"
},
"meta": {
"title": "About Us",
"description": "SmartSolTech is a professional development company that supports customer business growth with innovative technology"
}
},
"footer": {
"description": "Digital solution specialist leading innovation",
"company": {
"description": "Digital solution specialist leading innovation"
},
"links": {
"title": "Quick Links"
},
"contact": {
"title": "Contact",
"email": "info@smartsoltech.co.kr",
"phone": "+82-2-1234-5678",
"address": "123 Teheran-ro, Gangnam-gu, Seoul"
},
"copyright": "© {{year}} SmartSolTech. All rights reserved.",
"privacy": "Privacy Policy",
"terms": "Terms of Service"
},
"theme": {
"light": "Light Theme",
"dark": "Dark Theme",
"toggle": "Toggle Theme"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Loading...",
"error": "Error occurred",
"success": "Success",
"view_more": "View More",
"back": "Back",
"next": "Next",
"previous": "Previous",
"view_details": "View Details"
},
"meta": {
"description": "SmartSolTech - Innovative web development, mobile app development, UI/UX design services",
"keywords": "web development, mobile apps, UI/UX design, Korea",
"title": "SmartSolTech"
},
"nav": {
"home": "Home",
"about": "About",
"services": "Services",
"portfolio": "Portfolio",
"calculator": "Calculator"
},
"admin": {
"login": "Admin Panel Login",
"dashboard": "Dashboard",
"title": "SmartSolTech Admin"
},
"company": {
"name": "SmartSolTech",
"description": "Digital solution specialist leading innovation",
"email": "info@smartsoltech.kr",
"phone": "+82-10-1234-5678"
},
"errors": {
"page_not_found": "Page not found",
"error_occurred": "Error occurred",
"title": "Error - SmartSolTech",
"default_title": "An Error Occurred",
"default_message": "A problem occurred while processing the request.",
"back_home": "Back to Home",
"go_back": "Go Back",
"need_help": "Need Help?",
"help_message": "If the problem persists, please contact us anytime.",
"contact_support": "Contact Support"
},
"pages": {
"home": "Home page",
"about": "About us",
"services": "Services",
"portfolio": "Portfolio",
"contact": "Contact",
"calculator": "Calculator"
}
}

View File

@@ -0,0 +1,425 @@
{
"navigation": {
"home": "Home",
"about": "About",
"services": "Services",
"portfolio": "Portfolio",
"contact": "Contact",
"calculator": "Calculator",
"admin": "Admin"
},
"hero": {
"title": {
"smart": "Smart",
"solutions": "Solutions"
},
"subtitle": "Grow your business with innovative technology",
"description": "Innovative web development, mobile apps, UI/UX design leading your business digital transformation",
"cta": {
"start": "Get Started",
"portfolio": "View Portfolio"
}
},
"services": {
"title": {
"our": "Our",
"services": "Services"
},
"subtitle": "Professional development services to turn your ideas into reality",
"description": "Digital solutions completed with cutting-edge technology and creative ideas",
"view_all": "View All Services",
"web": {
"title": "Web Development",
"description": "Responsive websites and web application development",
"price": "From $500"
},
"mobile": {
"title": "Mobile Apps",
"description": "iOS and Android native app development",
"price": "From $1,000"
},
"design": {
"title": "UI/UX Design",
"description": "User-centered interface and experience design",
"price": "From $300"
},
"marketing": {
"title": "Digital Marketing",
"description": "SEO, social media marketing, advertising management",
"price": "From $200"
},
"meta": {
"title": "Services",
"description": "Check out SmartSolTech's professional services. Web development, mobile apps, UI/UX design, digital marketing and other technology solutions.",
"keywords": "web development, mobile apps, UI/UX design, digital marketing, technology solutions, SmartSolTech"
},
"hero": {
"title": "Our",
"title_highlight": "Services",
"subtitle": "Support business growth with innovative technology"
},
"cards": {
"starting_price": "Starting Price",
"consultation": "consultation",
"contact": "Contact",
"calculate_cost": "Calculate Cost",
"popular": "Popular",
"coming_soon": "Services Coming Soon",
"coming_soon_desc": "We'll soon offer various services!"
},
"process": {
"title": "Project Implementation Process",
"subtitle": "We conduct projects with systematic and professional processes",
"step1": {
"title": "Consultation and Planning",
"description": "Accurately understand customer requirements and plan optimal solutions"
},
"step2": {
"title": "Design and Architecture",
"description": "Design user-centered intuitive design and robust system architecture"
},
"step3": {
"title": "Development and Implementation",
"description": "Develop efficient and scalable solutions using the latest technology and best practices"
},
"step4": {
"title": "Testing and Deployment",
"description": "Ensure quality through thorough testing and proceed with stable deployment"
}
},
"why_choose": {
"title": "Why Choose SmartSolTech?",
"modern_tech": {
"title": "Modern Technology Utilization",
"description": "Always keep up with the latest technology trends and use proven technology stacks to provide future-oriented solutions."
},
"expert_team": {
"title": "Expert Team",
"description": "A team of experts in each field collaborates to guarantee the highest quality results."
},
"fast_response": {
"title": "Fast Response",
"description": "Complete projects within scheduled timeframes through quick communication and efficient project management."
},
"continuous_support": {
"title": "Continuous Support",
"description": "Maintain long-term partnerships through continuous maintenance and technical support even after project completion."
},
"quality_guarantee": {
"title": "Quality Guarantee",
"subtitle": "For customer satisfaction\nHighest quality service"
}
},
"cta": {
"title": "Ready to Start Your Project?",
"subtitle": "We'll propose the optimal solution through free consultation",
"free_consultation": "Apply for Free Consultation",
"calculate_cost": "Calculate Cost",
"view_portfolio": "View Portfolio"
}
},
"portfolio": {
"title": {
"recent": "Recent",
"projects": "Projects"
},
"subtitle": "Check out successfully completed projects",
"description": "Check out the projects completed for customer success",
"view_details": "View Details",
"view_all": "View All Portfolio",
"categories": {
"all": "All",
"web": "Web Development",
"mobile": "Mobile Apps",
"uiux": "UI/UX Design"
},
"project_details": "Project Details",
"default": {
"ecommerce": "E-commerce",
"title": "E-commerce Platform",
"description": "Modern online commerce solution with intuitive interface"
},
"meta": {
"title": "Portfolio",
"description": "Check out SmartSolTech's diverse projects and success stories. Web development, mobile apps, UI/UX design portfolio.",
"keywords": "portfolio, web development, mobile apps, UI/UX design, projects, SmartSolTech"
}
},
"portfolio_page": {
"title": "Our Portfolio",
"subtitle": "Discover innovative projects and creative solutions",
"categories": {
"all": "All",
"web-development": "Web Development",
"mobile-app": "Mobile App",
"ui-ux-design": "UI/UX Design",
"branding": "Branding",
"marketing": "Digital Marketing"
},
"buttons": {
"details": "View Details",
"projectDetails": "Project Details",
"loadMore": "Load More Projects",
"contact": "Request Project",
"calculate": "Calculate Cost"
},
"empty": {
"title": "No portfolio yet",
"subtitle": "We'll be showcasing amazing projects soon!"
},
"cta": {
"title": "Be the star of the next project",
"subtitle": "Create innovative digital solutions with us"
},
"labels": {
"featured": "FEATURED",
"views": "views",
"likes": "likes"
}
},
"calculator": {
"title": "Project Cost Calculator",
"subtitle": "Select your desired services and requirements to get accurate cost estimates in real time",
"next_step": "Next Step",
"prev_step": "Previous Step",
"calculate": "Calculate",
"reset": "Reset",
"meta": {
"title": "Project Cost Calculator",
"description": "Calculate the cost of your web development, mobile app, or design project with our interactive calculator"
},
"cta": {
"title": "Check Your Project Estimate",
"subtitle": "Select your desired services and requirements to calculate costs in real time",
"button": "Use Cost Calculator"
},
"step1": {
"title": "Choose Your Services",
"nav_title": "Step 1: Services",
"subtitle": "Select the services you need for your project"
},
"step2": {
"title": "Project Details",
"nav_title": "Step 2: Details",
"subtitle": "Tell us about your project complexity and timeline"
},
"complexity": {
"title": "Project Complexity",
"simple": "Simple",
"simple_desc": "Basic features and standard functionality",
"medium": "Medium",
"medium_desc": "Custom features and integrations",
"complex": "Complex",
"complex_desc": "Advanced features and complex integrations"
},
"timeline": {
"title": "Project Timeline",
"standard": "Standard (4-8 weeks)",
"standard_desc": "Normal development timeline",
"rush": "Rush (2-4 weeks)",
"rush_desc": "Expedited delivery with additional cost",
"extended": "Extended (8+ weeks)",
"extended_desc": "Flexible timeline with cost optimization"
},
"result": {
"title": "Project Estimate",
"nav_title": "Result",
"subtitle": "Your estimated project cost",
"estimated_price": "Estimated Price",
"price_note": "This is an approximate cost. Final price may vary based on project complexity.",
"summary": "Project Summary",
"get_quote": "Get Detailed Quote",
"contact_note": "Contact us for a detailed consultation and precise quote.",
"recalculate": "Calculate Again",
"selected_services": "Selected Services",
"complexity": "Complexity",
"timeline": "Timeline"
}
},
"contact": {
"hero": {
"title": "Contact Us",
"subtitle": "We're here to help bring your ideas to life"
},
"ready_title": "Ready to Start Your Project?",
"ready_description": "Turn your ideas into reality. Experts provide the best solutions.",
"form": {
"title": "Project Inquiry",
"name": "Name",
"email": "Email",
"phone": "Phone",
"message": "Message",
"submit": "Send Inquiry",
"success": "Inquiry sent successfully",
"error": "Error occurred while sending inquiry",
"service": {
"title": "Service Interest",
"select": "Select service of interest",
"web": "Web Development",
"mobile": "Mobile App",
"design": "UI/UX Design",
"branding": "Branding",
"consulting": "Consulting",
"other": "Other"
}
},
"info": {
"title": "Contact Information"
},
"phone": {
"title": "Phone Inquiry",
"number": "+82-2-1234-5678",
"hours": "Mon-Fri 9:00-18:00"
},
"email": {
"title": "Email Inquiry",
"address": "info@smartsoltech.co.kr",
"response": "Response within 24 hours"
},
"telegram": {
"title": "Telegram",
"subtitle": "For quick response"
},
"address": {
"title": "Office Address",
"line1": "123 Teheran-ro, Gangnam-gu",
"line2": "Seoul, South Korea"
},
"cta": {
"ready": "Ready?",
"start": "Get Started",
"question": "Have questions?",
"subtitle": "We provide consultation on projects"
},
"meta": {
"title": "Contact",
"description": "Contact us anytime for project inquiries or consultation"
}
},
"about": {
"hero": {
"title": "About SmartSolTech",
"subtitle": "Creating the future with innovation and technology"
},
"company": {
"title": "Company Information",
"description1": "SmartSolTech is a technology company established in 2020, recognized for expertise in web development, mobile app development, and UI/UX design.",
"description2": "We accurately understand customer needs and provide innovative solutions using the latest technology."
},
"stats": {
"projects": "Completed Projects",
"experience": "Years Experience",
"clients": "Satisfied Customers"
},
"mission": {
"title": "Our Mission",
"description": "Our mission is to support customer business growth through technology and lead digital innovation."
},
"values": {
"innovation": {
"title": "Innovation",
"description": "We provide innovative solutions through continuous R&D and adoption of cutting-edge technology."
},
"quality": {
"title": "Quality",
"description": "We maintain high quality standards and provide high-quality products that customers can be satisfied with."
},
"partnership": {
"title": "Partnership",
"description": "We create the best results through close communication and collaboration with customers."
}
},
"cta": {
"title": "We'll Grow Together",
"subtitle": "Turn your ideas into reality",
"button": "Contact Us"
},
"meta": {
"title": "About Us",
"description": "SmartSolTech is a professional development company that supports customer business growth with innovative technology"
}
},
"footer": {
"description": "Digital solution specialist leading innovation",
"company": {
"description": "Digital solution specialist leading innovation"
},
"links": {
"title": "Quick Links"
},
"contact": {
"title": "Contact",
"email": "info@smartsoltech.co.kr",
"phone": "+82-2-1234-5678",
"address": "123 Teheran-ro, Gangnam-gu, Seoul"
},
"copyright": "© {{year}} SmartSolTech. All rights reserved.",
"privacy": "Privacy Policy",
"terms": "Terms of Service"
},
"theme": {
"light": "Light Theme",
"dark": "Dark Theme",
"toggle": "Toggle Theme"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Loading...",
"error": "Error occurred",
"success": "Success",
"view_more": "View More",
"back": "Back",
"next": "Next",
"previous": "Previous",
"view_details": "View Details"
},
"meta": {
"description": "SmartSolTech - Innovative web development, mobile app development, UI/UX design services",
"keywords": "web development, mobile apps, UI/UX design, Korea",
"title": "SmartSolTech"
},
"nav": {
"home": "Home",
"about": "About",
"services": "Services",
"portfolio": "Portfolio",
"calculator": "Calculator"
},
"admin": {
"login": "Admin Panel Login",
"dashboard": "Dashboard",
"title": "SmartSolTech Admin"
},
"company": {
"name": "SmartSolTech",
"description": "Digital solution specialist leading innovation",
"email": "info@smartsoltech.kr",
"phone": "+82-10-1234-5678"
},
"errors": {
"page_not_found": "Page not found",
"error_occurred": "Error occurred",
"title": "Error - SmartSolTech",
"default_title": "An Error Occurred",
"default_message": "A problem occurred while processing the request.",
"back_home": "Back to Home",
"go_back": "Go Back",
"need_help": "Need Help?",
"help_message": "If the problem persists, please contact us anytime.",
"contact_support": "Contact Support"
},
"pages": {
"home": "Home page",
"about": "About us",
"services": "Services",
"portfolio": "Portfolio",
"contact": "Contact",
"calculator": "Calculator"
}
}

View File

@@ -1,173 +0,0 @@
{
"navigation": {
"home": "Басты бет",
"about": "Біз туралы",
"services": "Қызметтер",
"portfolio": "Портфолио",
"contact": "Байланыс",
"calculator": "Калькулятор",
"admin": "Админ"
},
"hero": {
"title": "Ақылды Технологиялық",
"subtitle": "Шешімдер",
"description": "Инновациялық веб-әзірлеу, мобильді қосымшалар, UI/UX дизайн арқылы бизнестің цифрлық трансформациясын жүргіземіз",
"cta_primary": "Жобаны бастау",
"cta_secondary": "Портфолионы көру"
},
"services": {
"title": "Біздің",
"title_highlight": "Қызметтер",
"description": "Заманауи технология және шығармашылық идеялармен жасалған цифрлық шешімдер",
"web_development": {
"title": "Веб-әзірлеу",
"description": "Заманауи және бейімделгіш веб-сайттар мен веб-қосымшаларды әзірлеу",
"price": "$5,000~"
},
"mobile_app": {
"title": "Мобильді қосымшалар",
"description": "iOS және Android үшін нативті және кросс-платформалық қосымшалар",
"price": "$8,000~"
},
"ui_ux_design": {
"title": "UI/UX дизайн",
"description": "Пайдаланушы-орталықты интуитивті және әдемі интерфейс дизайны",
"price": "$3,000~"
},
"digital_marketing": {
"title": "Цифрлық маркетинг",
"description": "SEO, әлеуметтік медиа, онлайн жарнама арқылы цифрлық маркетинг",
"price": "$2,000~"
},
"view_all": "Барлық қызметтерді көру"
},
"portfolio": {
"title": "Соңғы",
"title_highlight": "Жобалар",
"description": "Тұтынушылардың табысы үшін аяқталған жобаларды тексеріңіз",
"view_details": "Толығырақ",
"view_all": "Барлық портфолионы көру"
},
"calculator": {
"title": "Жобаңыздың бағасын тексеріңіз",
"description": "Қажетті қызметтер мен талаптарды таңдап, нақты уақытта бағаны есептеңіз",
"cta": "Баға калькуляторын пайдалану"
},
"contact": {
"ready_title": "Жобаңызды бастауға дайынсыз ба?",
"ready_description": "Идеяларыңызды шындыққа айналдырыңыз. Сарапшылар ең жақсы шешімдерді ұсынады.",
"phone_consultation": "Телефон кеңесі",
"email_inquiry": "Электрондық пошта сұрауы",
"telegram_chat": "Telegram чаты",
"instant_response": "Лезде жауап беру мүмкін",
"free_consultation": "Тегін кеңес беру өтініші",
"form": {
"name": "Аты",
"email": "Электрондық пошта",
"phone": "Телефон",
"service_interest": "Қызығатын қызмет",
"service_options": {
"select": "Қызығатын қызметті таңдаңыз",
"web_development": "Веб-әзірлеу",
"mobile_app": "Мобильді қосымша",
"ui_ux_design": "UI/UX дизайн",
"branding": "Брендинг",
"consulting": "Кеңес беру",
"other": "Басқа"
},
"message": "Жобаңыз туралы қысқаша сипаттаңыз",
"submit": "Кеңес беру үшін өтініш беру"
}
},
"about": {
"hero_title": "Туралы",
"hero_highlight": "SmartSolTech",
"hero_description": "Инновациялық технологиямен тұтынушылардың табысына жетелейтін цифрлық шешімдер маманы",
"overview": {
"title": "Инновация мен шығармашылықпен болашақты құру",
"description_1": "SmartSolTech - 2020 жылы құрылған цифрлық шешімдер маманы, веб-әзірлеу, мобильді қосымшалар, UI/UX дизайн салаларында инновациялық технология мен шығармашылық идеялар негізінде тұтынушылардың бизнес табысын қолдайды.",
"description_2": "Біз жай ғана технологияны ұсынып қана қоймаймыз, тұтынушылардың мақсаттарын түсініп, оларға сәйкес оңтайлы шешімдерді ұсынып, бірге өсетін серіктестер болуды мақсат етеміз.",
"stats": {
"projects": "100+",
"projects_label": "Аяқталған жобалар",
"clients": "50+",
"clients_label": "Қанағаттанған тұтынушылар",
"experience": "4 жыл",
"experience_label": "Саладағы тәжірибе"
},
"mission": "Біздің миссия",
"mission_text": "Технология арқылы барлық бизнестердің цифрлық дәуірде табысқа жетуіне көмектесу",
"vision": "Біздің көзқарас",
"vision_text": "Қазақстанды білдіретін жаһандық цифрлық шешімдер компаниясы ретінде өсіп, бүкіл әлемдегі тұтынушылардың цифрлық инновацияларын басқару"
},
"values": {
"title": "Негізгі",
"title_highlight": "Құндылықтар",
"description": "SmartSolTech ұстанатын негізгі құндылықтар",
"innovation": {
"title": "Инновация",
"description": "Үздіксіз зерттеу-әзірлеу және заманауи технологияларды енгізу арқылы инновациялық шешімдерді ұсынамыз."
},
"collaboration": {
"title": "Ынтымақтастық",
"description": "Тұтынушылармен тығыз қарым-қатынас пен ынтымақтастық арқылы ең жақсы нәтижелерді жасаймыз."
},
"quality": {
"title": "Сапа",
"description": "Жоғары сапа стандарттарын сақтап, тұтынушылар қанағаттана алатын жоғары сапалы өнімдерді ұсынамыз."
},
"growth": {
"title": "Өсу",
"description": "Тұтынушылармен бірге өсіп, үздіксіз оқу мен дамуды мақсат етеміз."
}
},
"team": {
"title": "Біздің",
"title_highlight": "Команда",
"description": "Сараптама мен құлшынысты SmartSolTech командасын таныстырамыз"
},
"tech_stack": {
"title": "Технологиялық",
"title_highlight": "Стек",
"description": "Заманауи технология мен дәлелденген құралдармен ең жақсы шешімдерді ұсынамыз",
"frontend": "Frontend",
"backend": "Backend",
"mobile": "Мобильді"
},
"cta": {
"title": "Бірге табысқа жететін серіктес болыңыз",
"description": "SmartSolTech-пен бизнесіңізді келесі деңгейге дамытыңыз",
"partnership": "Серіктестік сұрауы",
"portfolio": "Портфолионы көру"
}
},
"footer": {
"company": "SmartSolTech",
"description": "Инновацияны басқаратын цифрлық шешімдер маманы",
"quick_links": "Жылдам сілтемелер",
"services": "Қызметтер",
"contact_info": "Байланыс ақпараты",
"follow_us": "Бізді іздеңіз",
"rights": "Барлық құқықтар сақталған."
},
"theme": {
"light": "Ашық тема",
"dark": "Қараңғы тема",
"toggle": "Теманы ауыстыру"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Жүктелуде...",
"error": "Қате орын алды",
"success": "Сәтті",
"view_more": "Көбірек көру",
"back": "Артқа",
"next": "Келесі",
"previous": "Алдыңғы"
}
}

View File

@@ -1,173 +0,0 @@
{
"navigation": {
"home": "Басты бет",
"about": "Біз туралы",
"services": "Қызметтер",
"portfolio": "Портфолио",
"contact": "Байланыс",
"calculator": "Калькулятор",
"admin": "Админ"
},
"hero": {
"title": "Ақылды Технологиялық",
"subtitle": "Шешімдер",
"description": "Инновациялық веб-әзірлеу, мобильді қосымшалар, UI/UX дизайн арқылы бизнестің цифрлық трансформациясын жүргіземіз",
"cta_primary": "Жобаны бастау",
"cta_secondary": "Портфолионы көру"
},
"services": {
"title": "Біздің",
"title_highlight": "Қызметтер",
"description": "Заманауи технология және шығармашылық идеялармен жасалған цифрлық шешімдер",
"web_development": {
"title": "Веб-әзірлеу",
"description": "Заманауи және бейімделгіш веб-сайттар мен веб-қосымшаларды әзірлеу",
"price": "$5,000~"
},
"mobile_app": {
"title": "Мобильді қосымшалар",
"description": "iOS және Android үшін нативті және кросс-платформалық қосымшалар",
"price": "$8,000~"
},
"ui_ux_design": {
"title": "UI/UX дизайн",
"description": "Пайдаланушы-орталықты интуитивті және әдемі интерфейс дизайны",
"price": "$3,000~"
},
"digital_marketing": {
"title": "Цифрлық маркетинг",
"description": "SEO, әлеуметтік медиа, онлайн жарнама арқылы цифрлық маркетинг",
"price": "$2,000~"
},
"view_all": "Барлық қызметтерді көру"
},
"portfolio": {
"title": "Соңғы",
"title_highlight": "Жобалар",
"description": "Тұтынушылардың табысы үшін аяқталған жобаларды тексеріңіз",
"view_details": "Толығырақ",
"view_all": "Барлық портфолионы көру"
},
"calculator": {
"title": "Жобаңыздың бағасын тексеріңіз",
"description": "Қажетті қызметтер мен талаптарды таңдап, нақты уақытта бағаны есептеңіз",
"cta": "Баға калькуляторын пайдалану"
},
"contact": {
"ready_title": "Жобаңызды бастауға дайынсыз ба?",
"ready_description": "Идеяларыңызды шындыққа айналдырыңыз. Сарапшылар ең жақсы шешімдерді ұсынады.",
"phone_consultation": "Телефон кеңесі",
"email_inquiry": "Электрондық пошта сұрауы",
"telegram_chat": "Telegram чаты",
"instant_response": "Лезде жауап беру мүмкін",
"free_consultation": "Тегін кеңес беру өтініші",
"form": {
"name": "Аты",
"email": "Электрондық пошта",
"phone": "Телефон",
"service_interest": "Қызығатын қызмет",
"service_options": {
"select": "Қызығатын қызметті таңдаңыз",
"web_development": "Веб-әзірлеу",
"mobile_app": "Мобильді қосымша",
"ui_ux_design": "UI/UX дизайн",
"branding": "Брендинг",
"consulting": "Кеңес беру",
"other": "Басқа"
},
"message": "Жобаңыз туралы қысқаша сипаттаңыз",
"submit": "Кеңес беру үшін өтініш беру"
}
},
"about": {
"hero_title": "Туралы",
"hero_highlight": "SmartSolTech",
"hero_description": "Инновациялық технологиямен тұтынушылардың табысына жетелейтін цифрлық шешімдер маманы",
"overview": {
"title": "Инновация мен шығармашылықпен болашақты құру",
"description_1": "SmartSolTech - 2020 жылы құрылған цифрлық шешімдер маманы, веб-әзірлеу, мобильді қосымшалар, UI/UX дизайн салаларында инновациялық технология мен шығармашылық идеялар негізінде тұтынушылардың бизнес табысын қолдайды.",
"description_2": "Біз жай ғана технологияны ұсынып қана қоймаймыз, тұтынушылардың мақсаттарын түсініп, оларға сәйкес оңтайлы шешімдерді ұсынып, бірге өсетін серіктестер болуды мақсат етеміз.",
"stats": {
"projects": "100+",
"projects_label": "Аяқталған жобалар",
"clients": "50+",
"clients_label": "Қанағаттанған тұтынушылар",
"experience": "4 жыл",
"experience_label": "Саладағы тәжірибе"
},
"mission": "Біздің миссия",
"mission_text": "Технология арқылы барлық бизнестердің цифрлық дәуірде табысқа жетуіне көмектесу",
"vision": "Біздің көзқарас",
"vision_text": "Қазақстанды білдіретін жаһандық цифрлық шешімдер компаниясы ретінде өсіп, бүкіл әлемдегі тұтынушылардың цифрлық инновацияларын басқару"
},
"values": {
"title": "Негізгі",
"title_highlight": "Құндылықтар",
"description": "SmartSolTech ұстанатын негізгі құндылықтар",
"innovation": {
"title": "Инновация",
"description": "Үздіксіз зерттеу-әзірлеу және заманауи технологияларды енгізу арқылы инновациялық шешімдерді ұсынамыз."
},
"collaboration": {
"title": "Ынтымақтастық",
"description": "Тұтынушылармен тығыз қарым-қатынас пен ынтымақтастық арқылы ең жақсы нәтижелерді жасаймыз."
},
"quality": {
"title": "Сапа",
"description": "Жоғары сапа стандарттарын сақтап, тұтынушылар қанағаттана алатын жоғары сапалы өнімдерді ұсынамыз."
},
"growth": {
"title": "Өсу",
"description": "Тұтынушылармен бірге өсіп, үздіксіз оқу мен дамуды мақсат етеміз."
}
},
"team": {
"title": "Біздің",
"title_highlight": "Команда",
"description": "Сараптама мен құлшынысты SmartSolTech командасын таныстырамыз"
},
"tech_stack": {
"title": "Технологиялық",
"title_highlight": "Стек",
"description": "Заманауи технология мен дәлелденген құралдармен ең жақсы шешімдерді ұсынамыз",
"frontend": "Frontend",
"backend": "Backend",
"mobile": "Мобильді"
},
"cta": {
"title": "Бірге табысқа жететін серіктес болыңыз",
"description": "SmartSolTech-пен бизнесіңізді келесі деңгейге дамытыңыз",
"partnership": "Серіктестік сұрауы",
"portfolio": "Портфолионы көру"
}
},
"footer": {
"company": "SmartSolTech",
"description": "Инновацияны басқаратын цифрлық шешімдер маманы",
"quick_links": "Жылдам сілтемелер",
"services": "Қызметтер",
"contact_info": "Байланыс ақпараты",
"follow_us": "Бізді іздеңіз",
"rights": "Барлық құқықтар сақталған."
},
"theme": {
"light": "Ашық тема",
"dark": "Қараңғы тема",
"toggle": "Теманы ауыстыру"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Жүктелуде...",
"error": "Қате орын алды",
"success": "Сәтті",
"view_more": "Көбірек көру",
"back": "Артқа",
"next": "Келесі",
"previous": "Алдыңғы"
}
}

View File

@@ -1,223 +0,0 @@
{
"navigation": {
"home": "Басты бет",
"about": "Біз туралы",
"services": "Қызметтер",
"portfolio": "Портфолио",
"contact": "Байланыс",
"calculator": "Калькулятор",
"admin": "Админ"
},
"hero": {
"title": "Ақылды Технологиялық",
"subtitle": "Шешімдер",
"description": "Инновациялық веб-әзірлеу, мобильді қосымшалар, UI/UX дизайн арқылы бизнестің цифрлық трансформациясын жүргіземіз",
"cta_primary": "Жобаны бастау",
"cta_secondary": "Портфолионы көру"
},
"services": {
"title": "Біздің",
"title_highlight": "Қызметтер",
"description": "Заманауи технология және шығармашылық идеялармен жасалған цифрлық шешімдер",
"web_development": {
"title": "Веб-әзірлеу",
"description": "Заманауи және бейімделгіш веб-сайттар мен веб-қосымшаларды әзірлеу",
"price": "$5,000~"
},
"mobile_app": {
"title": "Мобильді қосымшалар",
"description": "iOS және Android үшін нативті және кросс-платформалық қосымшалар",
"price": "$8,000~"
},
"ui_ux_design": {
"title": "UI/UX дизайн",
"description": "Пайдаланушы-орталықты интуитивті және әдемі интерфейс дизайны",
"price": "$3,000~"
},
"digital_marketing": {
"title": "Цифрлық маркетинг",
"description": "SEO, әлеуметтік медиа, онлайн жарнама арқылы цифрлық маркетинг",
"price": "$2,000~"
},
"view_all": "Барлық қызметтерді көру"
},
"portfolio": {
"title": "Соңғы",
"title_highlight": "Жобалар",
"description": "Тұтынушылардың табысы үшін аяқталған жобаларды тексеріңіз",
"view_details": "Толығырақ",
"view_all": "Барлық портфолионы көру"
},
"calculator": {
"title": "Жоба Құнының Калькуляторы",
"subtitle": "Қажетті қызметтер мен талаптарды таңдап, нақты уақытта дәл бағаны алыңыз",
"meta": {
"title": "Жоба құнының калькуляторы",
"description": "Веб-әзірлеу, мобильді қосымша немесе дизайн жобасының құнын біздің интерактивті калькулятормен есептеңіз"
},
"cta": {
"title": "Жобаның бағасын тексеріңіз",
"subtitle": "Қажетті қызметтер мен талаптарды таңдап, нақты уақытта бағаны есептейміз",
"button": "Құн калькуляторын пайдалану"
},
"step1": {
"title": "1-қадам: Қызмет таңдау",
"subtitle": "Қажетті қызметтерді таңдаңыз (бірнеше таңдауға болады)"
},
"step2": {
"title": "2-қадам: Жоба мәліметтері",
"subtitle": "Жобаның күрделілігі мен мерзімін таңдаңыз"
},
"complexity": {
"title": "Жобаның күрделілігі",
"simple": "Қарапайым",
"simple_desc": "Негізгі функциялар, стандартты дизайн",
"medium": "Орташа",
"medium_desc": "Қосымша функциялар, жеке дизайн",
"complex": "Күрделі",
"complex_desc": "Кеңейтілген функциялар, күрделі интеграциялар"
},
"timeline": {
"title": "Әзірлеу мерзімі",
"standard": "Стандартты",
"standard_desc": "Қалыпты әзірлеу мерзімі",
"rush": "Асығыс",
"rush_desc": "Жылдам әзірлеу (+50%)",
"extended": "Кеңейтілген",
"extended_desc": "Икемді әзірлеу мерзімі (-20%)"
},
"result": {
"title": "Есептеу нәтижесі",
"subtitle": "Міне, сіздің алдын ала жоба құнының бағасы",
"estimated_price": "Алдын ала баға",
"price_note": "* Соңғы құн жоба мәліметтеріне байланысты өзгеруі мүмкін",
"summary": "Жоба қорытындысы",
"selected_services": "Таңдалған қызметтер",
"complexity": "Күрделілік",
"timeline": "Мерзім",
"get_quote": "Дәл ұсыныс алу",
"recalculate": "Қайта есептеу",
"contact_note": "Дәл ұсыныс алу және жоба мәліметтерін талқылау үшін бізбен байланысыңыз"
},
"next_step": "Келесі қадам",
"prev_step": "Артқа",
"calculate": "Есептеу"
},
"contact": {
"ready_title": "Жобаңызды бастауға дайынсыз ба?",
"ready_description": "Идеяларыңызды шындыққа айналдырыңыз. Сарапшылар ең жақсы шешімдерді ұсынады.",
"phone_consultation": "Телефон кеңесі",
"email_inquiry": "Электрондық пошта сұрауы",
"telegram_chat": "Telegram чаты",
"instant_response": "Лезде жауап беру мүмкін",
"free_consultation": "Тегін кеңес беру өтініші",
"form": {
"name": "Аты",
"email": "Электрондық пошта",
"phone": "Телефон",
"service_interest": "Қызығатын қызмет",
"service_options": {
"select": "Қызығатын қызметті таңдаңыз",
"web_development": "Веб-әзірлеу",
"mobile_app": "Мобильді қосымша",
"ui_ux_design": "UI/UX дизайн",
"branding": "Брендинг",
"consulting": "Кеңес беру",
"other": "Басқа"
},
"message": "Жобаңыз туралы қысқаша сипаттаңыз",
"submit": "Кеңес беру үшін өтініш беру"
}
},
"about": {
"hero_title": "Туралы",
"hero_highlight": "SmartSolTech",
"hero_description": "Инновациялық технологиямен тұтынушылардың табысына жетелейтін цифрлық шешімдер маманы",
"overview": {
"title": "Инновация мен шығармашылықпен болашақты құру",
"description_1": "SmartSolTech - 2020 жылы құрылған цифрлық шешімдер маманы, веб-әзірлеу, мобильді қосымшалар, UI/UX дизайн салаларында инновациялық технология мен шығармашылық идеялар негізінде тұтынушылардың бизнес табысын қолдайды.",
"description_2": "Біз жай ғана технологияны ұсынып қана қоймаймыз, тұтынушылардың мақсаттарын түсініп, оларға сәйкес оңтайлы шешімдерді ұсынып, бірге өсетін серіктестер болуды мақсат етеміз.",
"stats": {
"projects": "100+",
"projects_label": "Аяқталған жобалар",
"clients": "50+",
"clients_label": "Қанағаттанған тұтынушылар",
"experience": "4 жыл",
"experience_label": "Саладағы тәжірибе"
},
"mission": "Біздің миссия",
"mission_text": "Технология арқылы барлық бизнестердің цифрлық дәуірде табысқа жетуіне көмектесу",
"vision": "Біздің көзқарас",
"vision_text": "Қазақстанды білдіретін жаһандық цифрлық шешімдер компаниясы ретінде өсіп, бүкіл әлемдегі тұтынушылардың цифрлық инновацияларын басқару"
},
"values": {
"title": "Негізгі",
"title_highlight": "Құндылықтар",
"description": "SmartSolTech ұстанатын негізгі құндылықтар",
"innovation": {
"title": "Инновация",
"description": "Үздіксіз зерттеу-әзірлеу және заманауи технологияларды енгізу арқылы инновациялық шешімдерді ұсынамыз."
},
"collaboration": {
"title": "Ынтымақтастық",
"description": "Тұтынушылармен тығыз қарым-қатынас пен ынтымақтастық арқылы ең жақсы нәтижелерді жасаймыз."
},
"quality": {
"title": "Сапа",
"description": "Жоғары сапа стандарттарын сақтап, тұтынушылар қанағаттана алатын жоғары сапалы өнімдерді ұсынамыз."
},
"growth": {
"title": "Өсу",
"description": "Тұтынушылармен бірге өсіп, үздіксіз оқу мен дамуды мақсат етеміз."
}
},
"team": {
"title": "Біздің",
"title_highlight": "Команда",
"description": "Сараптама мен құлшынысты SmartSolTech командасын таныстырамыз"
},
"tech_stack": {
"title": "Технологиялық",
"title_highlight": "Стек",
"description": "Заманауи технология мен дәлелденген құралдармен ең жақсы шешімдерді ұсынамыз",
"frontend": "Frontend",
"backend": "Backend",
"mobile": "Мобильді"
},
"cta": {
"title": "Бірге табысқа жететін серіктес болыңыз",
"description": "SmartSolTech-пен бизнесіңізді келесі деңгейге дамытыңыз",
"partnership": "Серіктестік сұрауы",
"portfolio": "Портфолионы көру"
}
},
"footer": {
"company": "SmartSolTech",
"description": "Инновацияны басқаратын цифрлық шешімдер маманы",
"quick_links": "Жылдам сілтемелер",
"services": "Қызметтер",
"contact_info": "Байланыс ақпараты",
"follow_us": "Бізді іздеңіз",
"rights": "Барлық құқықтар сақталған."
},
"theme": {
"light": "Ашық тема",
"dark": "Қараңғы тема",
"toggle": "Теманы ауыстыру"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Жүктелуде...",
"error": "Қате орын алды",
"success": "Сәтті",
"view_more": "Көбірек көру",
"back": "Артқа",
"next": "Келесі",
"previous": "Алдыңғы"
}
}

View File

@@ -0,0 +1,424 @@
{
"navigation": {
"home": "Басты бет",
"about": "Біз туралы",
"services": "Қызметтер",
"portfolio": "Портфолио",
"contact": "Байланыс",
"calculator": "Калькулятор",
"admin": "Әкімші"
},
"hero": {
"title": {
"smart": "Ақылды",
"solutions": "Шешімдер"
},
"subtitle": "Инновациялық технологиялармен бизнесіңізді дамытыңыз",
"description": "Бизнесіңіздің цифрлық трансформациясы үшін инновациялық веб-дамыту, мобильді қосымшалар, UI/UX дизайн",
"cta": {
"start": "Бастау",
"portfolio": "Портфолионы көру"
}
},
"services": {
"title": {
"our": "Біздің",
"services": "Қызметтер"
},
"subtitle": "Идеяларыңызды шындыққа айналдыру үшін кәсіби дамыту қызметтері",
"description": "Озық технологиялар мен шығармашылық идеяларды пайдаланған цифрлық шешімдер",
"view_all": "Барлық қызметтерді көру",
"web": {
"title": "Веб-дамыту",
"description": "Бейімделетін веб-сайттар мен веб-қосымшалар",
"price": "$500-дан бастап"
},
"mobile": {
"title": "Мобильді қосымшалар",
"description": "iOS және Android үшін жергілікті қосымшалар дамыту",
"price": "$1,000-нан бастап"
},
"design": {
"title": "UI/UX Дизайн",
"description": "Интерфейс пен пайдаланушы тәжірибесінің дизайны",
"price": "$300-дан бастап"
},
"marketing": {
"title": "Цифрлық маркетинг",
"description": "SEO, SMM, жарнама басқаруы",
"price": "$200-ден бастап"
},
"meta": {
"title": "Қызметтер",
"description": "SmartSolTech-тің кәсіби қызметтерін танысыңыз. Веб-дамыту, мобильді қосымшалар, UI/UX дизайн, цифрлық маркетинг және басқа технологиялық шешімдер.",
"keywords": "веб-дамыту, мобильді қосымшалар, UI/UX дизайн, цифрлық маркетинг, технологиялық шешімдер, SmartSolTech"
},
"hero": {
"title": "Біздің",
"title_highlight": "Қызметтер",
"subtitle": "Инновациялық технологиялармен бизнес өсуін қолдау"
},
"cards": {
"starting_price": "Бастапқы баға",
"consultation": "кеңес беру",
"contact": "Байланысу",
"calculate_cost": "Құнын есептеу",
"popular": "Танымал",
"coming_soon": "Қызметтер жақында пайда болады",
"coming_soon_desc": "Жақында біз әртүрлі қызметтерді ұсынамыз!"
},
"process": {
"title": "Жоба іске асыру процесі",
"subtitle": "Біз жобаларды жүйелі және кәсіби тәсілмен жүргіземіз",
"step1": {
"title": "Кеңес беру және жоспарлау",
"description": "Клиенттің талаптарын дәл түсініп, оңтайлы шешімді жоспарлаймыз"
},
"step2": {
"title": "Дизайн және жобалау",
"description": "Пайдаланушыға бағытталған интуитивті дизайн мен сенімді жүйе архитектурасын жобалаймыз"
},
"step3": {
"title": "Дамыту және іске асыру",
"description": "Ең жаңа технологиялар мен ең жақсы тәжірибелерді пайдаланып тиімді және кеңейтілетін шешімдер дамытамыз"
},
"step4": {
"title": "Тестілеу және енгізу",
"description": "Мұқият тестілеу арқылы сапаны қамтамасыз етіп, тұрақты енгізуді жүргіземіз"
}
},
"why_choose": {
"title": "Неліктен SmartSolTech таңдау керек?",
"modern_tech": {
"title": "Заманауи технологияларды пайдалану",
"description": "Үнемі ең жаңа технологиялық трендтерді қадағалап, дәлелденген технологиялық стекті пайдаланып болашаққа бағытталған шешімдер ұсынамыз."
},
"expert_team": {
"title": "Сарапшылар командасы",
"description": "Әр саладағы сарапшылардан тұратын команда ынтымақтасып ең жоғары сапалы нәтижелерді қамтамасыз етеді."
},
"fast_response": {
"title": "Жылдам жауап",
"description": "Жылдам коммуникация және тиімді жоба басқаруы арқылы белгіленген мерзімде жобаларды аяқтаймыз."
},
"continuous_support": {
"title": "Үздіксіз қолдау",
"description": "Жоба аяқталғаннан кейін де үздіксіз қызмет көрсету және техникалық қолдау арқылы ұзақ мерзімді серіктестікті сақтаймыз."
},
"quality_guarantee": {
"title": "Сапа кепілдігі",
"subtitle": "Клиенттердің қанағаттануы үшін\nЕң жоғары сапалы қызмет"
}
},
"cta": {
"title": "Жобаңызды бастауға дайынсыз ба?",
"subtitle": "Тегін кеңес беру арқылы оңтайлы шешімді ұсынамыз",
"free_consultation": "Тегін кеңес беруге өтініш беру",
"calculate_cost": "Құнын есептеу",
"view_portfolio": "Портфолионы көру"
}
},
"portfolio": {
"title": {
"recent": "Соңғы",
"projects": "Жобалар"
},
"subtitle": "Сәтті аяқталған жобалармен танысыңыз",
"description": "Клиенттердің табысы үшін орындалған жобаларды көріңіз",
"view_details": "Толық ақпарат",
"view_all": "Барлық портфолионы көру",
"categories": {
"all": "Барлығы",
"web": "Веб-дамыту",
"mobile": "Мобильді қосымшалар",
"uiux": "UI/UX Дизайн"
},
"project_details": "Жоба егжей-тегжейлері",
"default": {
"ecommerce": "Электрондық сауда",
"title": "Электрондық сауда платформасы",
"description": "Интуитивті интерфейсі бар заманауи интернет-сауда шешімі"
},
"meta": {
"title": "Портфолио",
"description": "SmartSolTech-тің әртүрлі жобалары мен табыс тарихтарын танысыңыз. Веб-дамыту, мобильді қосымшалар, UI/UX дизайн портфолиосы.",
"keywords": "портфолио, веб-дамыту, мобильді қосымшалар, UI/UX дизайн, жобалар, SmartSolTech"
}
},
"portfolio_page": {
"title": "Біздің портфолио",
"subtitle": "Инновациялық жобалар мен шығармашылық шешімдерді ашыңыз",
"categories": {
"all": "Барлығы",
"web-development": "Веб-дамыту",
"mobile-app": "Мобильді қосымшалар",
"ui-ux-design": "UI/UX Дизайн",
"branding": "Брендинг",
"marketing": "Цифрлық маркетинг"
},
"buttons": {
"details": "Толық ақпарат",
"projectDetails": "Жоба егжей-тегжейлері",
"loadMore": "Көбірек жобаларды жүктеу",
"contact": "Жоба тапсырысу",
"calculate": "Құнын есептеу"
},
"empty": {
"title": "Портфолио әзірше бос",
"subtitle": "Жақында біз керемет жобаларды таныстырамыз!"
},
"cta": {
"title": "Келесі жобаның жұлдызы болыңыз",
"subtitle": "Бізбен бірге инновациялық цифрлық шешімдер жасаңыз"
},
"labels": {
"featured": "ҰСЫНЫЛҒАН",
"views": "көрініс",
"likes": "ұнату"
}
},
"calculator": {
"title": "Жоба құнының калькуляторы",
"subtitle": "Нақты уақытта дәл бағалау алу үшін қажетті қызметтер мен талаптарды таңдаңыз",
"next_step": "Келесі қадам",
"prev_step": "Алдыңғы қадам",
"calculate": "Есептеу",
"reset": "Қайта бастау",
"meta": {
"title": "Жоба құнының калькуляторы",
"description": "Біздің интерактивті калькулятормен веб-дамыту, мобильді қосымша немесе дизайн жобаңыздың құнын есептеңіз"
},
"cta": {
"title": "Жобаңыздың бағасын тексеріңіз",
"subtitle": "Нақты уақытта құнды есептеу үшін қажетті қызметтер мен талаптарды таңдаңыз",
"button": "Құн калькуляторын пайдалану"
},
"step1": {
"title": "Қызметтеріңізді таңдаңыз",
"nav_title": "1-қадам: Қызметтер",
"subtitle": "Жобаңыз үшін қажетті қызметтерді таңдаңыз"
},
"step2": {
"title": "Жоба егжей-тегжейлері",
"nav_title": "2-қадам: Егжей-тегжейлер",
"subtitle": "Жобаңыздың күрделілігі мен мерзімдері туралы айтыңыз"
},
"complexity": {
"title": "Жоба күрделілігі",
"simple": "Қарапайым",
"simple_desc": "Негізгі функциялар мен стандартты функционал",
"medium": "Орташа",
"medium_desc": "Пайдаланушы функциялары мен интеграциялар",
"complex": "Күрделі",
"complex_desc": "Қосымша функциялар мен күрделі интеграциялар"
},
"timeline": {
"title": "Жоба мерзімдері",
"standard": "Стандартты (4-8 апта)",
"standard_desc": "Қалыпты дамыту мерзімдері",
"rush": "Шұғыл (2-4 апта)",
"rush_desc": "Қосымша құнмен жылдамдатылған жеткізу",
"extended": "Кеңейтілген (8+ апта)",
"extended_desc": "Құн оңтайландырумен икемді мерзімдер"
},
"result": {
"title": "Жоба бағасы",
"subtitle": "Сіздің есептелген жоба құны",
"nav_title": "Баға",
"estimated_price": "Есептелген баға",
"price_note": "Бұл шамамен құн. Соңғы баға жобаның күрделілігіне байланысты өзгеруі мүмкін.",
"summary": "Жоба қорытындысы",
"get_quote": "Толық ұсыныс алу",
"contact_note": "Толық кеңес беру және дәл ұсыныс алу үшін бізбен байланысыңыз.",
"recalculate": "Қайта есептеу",
"selected_services": "Таңдалған қызметтер",
"complexity": "Күрделілік",
"timeline": "Мерзімдер"
}
},
"contact": {
"hero": {
"title": "Бізбен байланысыңыз",
"subtitle": "Біз сіздің идеяларыңызды өмірге келтіруге көмектесуге дайынбыз"
},
"ready_title": "Жобаңызды бастауға дайынсыз ба?",
"ready_description": "Идеяларыңызды шындыққа айналдырыңыз. Сарапшылар ең жақсы шешімдерді ұсынады.",
"form": {
"title": "Жоба сұранысы",
"name": "Аты",
"email": "Электрондық пошта",
"phone": "Телефон",
"message": "Хабарлама",
"submit": "Сұраныс жіберу",
"success": "Сұраныс сәтті жіберілді",
"error": "Сұранысты жіберу кезінде қате пайда болды",
"service": {
"title": "Қызығушылық қызметі",
"select": "Қызығушылық қызметін таңдаңыз",
"web": "Веб-дамыту",
"mobile": "Мобильді қосымша",
"design": "UI/UX Дизайн",
"branding": "Брендинг",
"consulting": "Кеңес беру",
"other": "Басқа"
}
},
"info": {
"title": "Байланыс ақпараты"
},
"phone": {
"title": "Телефон арқылы сұраныс",
"number": "+82-2-1234-5678",
"hours": "Дс-Жм 9:00-18:00"
},
"email": {
"title": "Электрондық пошта арқылы сұраныс",
"address": "info@smartsoltech.co.kr",
"response": "24 сағат ішінде жауап"
},
"telegram": {
"title": "Telegram",
"subtitle": "Жылдам жауап алу үшін"
},
"address": {
"title": "Кеңсе мекенжайы",
"line1": "Тегеран-ро көшесі, 123, Каннам-гу",
"line2": "Сеул, Оңтүстік Корея"
},
"cta": {
"ready": "Дайынсыз ба?",
"start": "Бастау",
"question": "Сұрақтарыңыз бар ма?",
"subtitle": "Біз жобалар бойынша кеңес береміз"
},
"meta": {
"title": "Байланыс",
"description": "Жоба сұранысы немесе кеңес алу үшін кез келген уақытта бізбен байланысыңыз"
}
},
"about": {
"hero": {
"title": "SmartSolTech туралы",
"subtitle": "Инновациялар мен технологиялармен болашақты жасаймыз"
},
"company": {
"title": "Компания туралы ақпарат",
"description1": "SmartSolTech - 2020 жылы құрылған технологиялық компания, веб-дамыту, мобильді қосымшалар дамыту және UI/UX дизайн саласындағы сараптамасымен танылған.",
"description2": "Біз клиенттердің қажеттіліктерін дәл түсінеміз және ең жаңа технологияларды пайдаланып инновациялық шешімдер ұсынамыз."
},
"stats": {
"projects": "Аяқталған жобалар",
"experience": "Жыл тәжірибе",
"clients": "Қанағаттанған клиенттер"
},
"mission": {
"title": "Біздің миссия",
"description": "Біздің миссиямыз - технологиялар арқылы клиенттердің бизнес өсуін қолдау және цифрлық инновацияларға көшбасшылық ету."
},
"values": {
"innovation": {
"title": "Инновациялар",
"description": "Біз үздіксіз зерттеулер мен озық технологияларды енгізу арқылы инновациялық шешімдер ұсынамыз."
},
"quality": {
"title": "Сапа",
"description": "Біз жоғары сапа стандарттарын ұстанамыз және клиенттер қанағаттанатын жоғары сапалы өнімдер ұсынамыз."
},
"partnership": {
"title": "Серіктестік",
"description": "Біз клиенттермен тығыз қарым-қатынас пен ынтымақтастық арқылы ең жақсы нәтижелерді жасаймыз."
}
},
"cta": {
"title": "Біз бірге өсеміз",
"subtitle": "Идеяларыңызды шындыққа айналдырыңыз",
"button": "Бізбен байланысу"
},
"meta": {
"title": "Біз туралы",
"description": "SmartSolTech - инновациялық технологиялармен клиенттердің бизнес өсуін қолдайтын кәсіби дамыту компаниясы"
}
},
"footer": {
"description": "Инновацияларға көшбасшылық ететін цифрлық шешімдер маманы",
"company": {
"description": "Инновацияларға көшбасшылық ететін цифрлық шешімдер маманы"
},
"links": {
"title": "Жылдам сілтемелер"
},
"contact": {
"title": "Байланыс",
"email": "info@smartsoltech.co.kr",
"phone": "+82-2-1234-5678",
"address": "Тегеран-ро көшесі, 123, Каннам-гу, Сеул"
},
"copyright": "© {{year}} SmartSolTech. Барлық құқықтар қорғалған.",
"privacy": "Құпиялылық саясаты",
"terms": "Пайдалану шарттары"
},
"theme": {
"light": "Ашық тема",
"dark": "Қараңғы тема",
"toggle": "Теманы ауыстыру"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Жүктелуде...",
"error": "Қате пайда болды",
"success": "Сәтті",
"view_more": "Көбірек көру",
"back": "Артқа",
"next": "Келесі",
"previous": "Алдыңғы",
"view_details": "Толық ақпарат"
},
"meta": {
"description": "SmartSolTech - Инновациялық веб-дамыту, мобильді қосымшалар дамыту, UI/UX дизайн",
"keywords": "веб-дамыту, мобильді қосымшалар, UI/UX дизайн, Корея",
"title": "SmartSolTech"
},
"nav": {
"home": "Басты бет",
"about": "Біз туралы",
"services": "Қызметтер",
"portfolio": "Портфолио",
"calculator": "Калькулятор"
},
"admin": {
"login": "Әкімші панеліне кіру",
"dashboard": "Басқару панелі",
"title": "SmartSolTech Әкімші"
},
"company": {
"name": "SmartSolTech",
"description": "Инновацияларға көшбасшылық ететін цифрлық шешімдер маманы",
"email": "info@smartsoltech.kr",
"phone": "+82-10-1234-5678"
},
"errors": {
"page_not_found": "Бет табылмады",
"error_occurred": "Қате пайда болды",
"title": "Қате - SmartSolTech",
"default_title": "Қате пайда болды",
"default_message": "Сұранысты өңдеу кезінде мәселе туындады.",
"back_home": "Басты бетке оралу",
"go_back": "Артқа оралу",
"need_help": "Көмек керек пе?",
"help_message": "Егер мәселе қайталанса, кез келген уақытта бізбен байланысыңыз.",
"contact_support": "Қолдау қызметімен байланысу"
},
"pages": {
"home": "Басты бет",
"about": "Біз туралы",
"services": "Қызметтер",
"portfolio": "Портфолио",
"contact": "Байланыс",
"calculator": "Калькулятор"
}
}

View File

@@ -0,0 +1,424 @@
{
"navigation": {
"home": "Басты бет",
"about": "Біз туралы",
"services": "Қызметтер",
"portfolio": "Портфолио",
"contact": "Байланыс",
"calculator": "Калькулятор",
"admin": "Әкімші"
},
"hero": {
"title": {
"smart": "Ақылды",
"solutions": "Шешімдер"
},
"subtitle": "Инновациялық технологиялармен бизнесіңізді дамытыңыз",
"description": "Бизнесіңіздің цифрлық трансформациясы үшін инновациялық веб-дамыту, мобильді қосымшалар, UI/UX дизайн",
"cta": {
"start": "Бастау",
"portfolio": "Портфолионы көру"
}
},
"services": {
"title": {
"our": "Біздің",
"services": "Қызметтер"
},
"subtitle": "Идеяларыңызды шындыққа айналдыру үшін кәсіби дамыту қызметтері",
"description": "Озық технологиялар мен шығармашылық идеяларды пайдаланған цифрлық шешімдер",
"view_all": "Барлық қызметтерді көру",
"web": {
"title": "Веб-дамыту",
"description": "Бейімделетін веб-сайттар мен веб-қосымшалар",
"price": "$500-дан бастап"
},
"mobile": {
"title": "Мобильді қосымшалар",
"description": "iOS және Android үшін жергілікті қосымшалар дамыту",
"price": "$1,000-нан бастап"
},
"design": {
"title": "UI/UX Дизайн",
"description": "Интерфейс пен пайдаланушы тәжірибесінің дизайны",
"price": "$300-дан бастап"
},
"marketing": {
"title": "Цифрлық маркетинг",
"description": "SEO, SMM, жарнама басқаруы",
"price": "$200-ден бастап"
},
"meta": {
"title": "Қызметтер",
"description": "SmartSolTech-тің кәсіби қызметтерін танысыңыз. Веб-дамыту, мобильді қосымшалар, UI/UX дизайн, цифрлық маркетинг және басқа технологиялық шешімдер.",
"keywords": "веб-дамыту, мобильді қосымшалар, UI/UX дизайн, цифрлық маркетинг, технологиялық шешімдер, SmartSolTech"
},
"hero": {
"title": "Біздің",
"title_highlight": "Қызметтер",
"subtitle": "Инновациялық технологиялармен бизнес өсуін қолдау"
},
"cards": {
"starting_price": "Бастапқы баға",
"consultation": "кеңес беру",
"contact": "Байланысу",
"calculate_cost": "Құнын есептеу",
"popular": "Танымал",
"coming_soon": "Қызметтер жақында пайда болады",
"coming_soon_desc": "Жақында біз әртүрлі қызметтерді ұсынамыз!"
},
"process": {
"title": "Жоба іске асыру процесі",
"subtitle": "Біз жобаларды жүйелі және кәсіби тәсілмен жүргіземіз",
"step1": {
"title": "Кеңес беру және жоспарлау",
"description": "Клиенттің талаптарын дәл түсініп, оңтайлы шешімді жоспарлаймыз"
},
"step2": {
"title": "Дизайн және жобалау",
"description": "Пайдаланушыға бағытталған интуитивті дизайн мен сенімді жүйе архитектурасын жобалаймыз"
},
"step3": {
"title": "Дамыту және іске асыру",
"description": "Ең жаңа технологиялар мен ең жақсы тәжірибелерді пайдаланып тиімді және кеңейтілетін шешімдер дамытамыз"
},
"step4": {
"title": "Тестілеу және енгізу",
"description": "Мұқият тестілеу арқылы сапаны қамтамасыз етіп, тұрақты енгізуді жүргіземіз"
}
},
"why_choose": {
"title": "Неліктен SmartSolTech таңдау керек?",
"modern_tech": {
"title": "Заманауи технологияларды пайдалану",
"description": "Үнемі ең жаңа технологиялық трендтерді қадағалап, дәлелденген технологиялық стекті пайдаланып болашаққа бағытталған шешімдер ұсынамыз."
},
"expert_team": {
"title": "Сарапшылар командасы",
"description": "Әр саладағы сарапшылардан тұратын команда ынтымақтасып ең жоғары сапалы нәтижелерді қамтамасыз етеді."
},
"fast_response": {
"title": "Жылдам жауап",
"description": "Жылдам коммуникация және тиімді жоба басқаруы арқылы белгіленген мерзімде жобаларды аяқтаймыз."
},
"continuous_support": {
"title": "Үздіксіз қолдау",
"description": "Жоба аяқталғаннан кейін де үздіксіз қызмет көрсету және техникалық қолдау арқылы ұзақ мерзімді серіктестікті сақтаймыз."
},
"quality_guarantee": {
"title": "Сапа кепілдігі",
"subtitle": "Клиенттердің қанағаттануы үшін\nЕң жоғары сапалы қызмет"
}
},
"cta": {
"title": "Жобаңызды бастауға дайынсыз ба?",
"subtitle": "Тегін кеңес беру арқылы оңтайлы шешімді ұсынамыз",
"free_consultation": "Тегін кеңес беруге өтініш беру",
"calculate_cost": "Құнын есептеу",
"view_portfolio": "Портфолионы көру"
}
},
"portfolio": {
"title": {
"recent": "Соңғы",
"projects": "Жобалар"
},
"subtitle": "Сәтті аяқталған жобалармен танысыңыз",
"description": "Клиенттердің табысы үшін орындалған жобаларды көріңіз",
"view_details": "Толық ақпарат",
"view_all": "Барлық портфолионы көру",
"categories": {
"all": "Барлығы",
"web": "Веб-дамыту",
"mobile": "Мобильді қосымшалар",
"uiux": "UI/UX Дизайн"
},
"project_details": "Жоба егжей-тегжейлері",
"default": {
"ecommerce": "Электрондық сауда",
"title": "Электрондық сауда платформасы",
"description": "Интуитивті интерфейсі бар заманауи интернет-сауда шешімі"
},
"meta": {
"title": "Портфолио",
"description": "SmartSolTech-тің әртүрлі жобалары мен табыс тарихтарын танысыңыз. Веб-дамыту, мобильді қосымшалар, UI/UX дизайн портфолиосы.",
"keywords": "портфолио, веб-дамыту, мобильді қосымшалар, UI/UX дизайн, жобалар, SmartSolTech"
}
},
"portfolio_page": {
"title": "Біздің портфолио",
"subtitle": "Инновациялық жобалар мен шығармашылық шешімдерді ашыңыз",
"categories": {
"all": "Барлығы",
"web-development": "Веб-дамыту",
"mobile-app": "Мобильді қосымшалар",
"ui-ux-design": "UI/UX Дизайн",
"branding": "Брендинг",
"marketing": "Цифрлық маркетинг"
},
"buttons": {
"details": "Толық ақпарат",
"projectDetails": "Жоба егжей-тегжейлері",
"loadMore": "Көбірек жобаларды жүктеу",
"contact": "Жоба тапсырысу",
"calculate": "Құнын есептеу"
},
"empty": {
"title": "Портфолио әзірше бос",
"subtitle": "Жақында біз керемет жобаларды таныстырамыз!"
},
"cta": {
"title": "Келесі жобаның жұлдызы болыңыз",
"subtitle": "Бізбен бірге инновациялық цифрлық шешімдер жасаңыз"
},
"labels": {
"featured": "ҰСЫНЫЛҒАН",
"views": "көрініс",
"likes": "ұнату"
}
},
"calculator": {
"title": "Жоба құнының калькуляторы",
"subtitle": "Нақты уақытта дәл бағалау алу үшін қажетті қызметтер мен талаптарды таңдаңыз",
"next_step": "Келесі қадам",
"prev_step": "Алдыңғы қадам",
"calculate": "Есептеу",
"reset": "Қайта бастау",
"meta": {
"title": "Жоба құнының калькуляторы",
"description": "Біздің интерактивті калькулятормен веб-дамыту, мобильді қосымша немесе дизайн жобаңыздың құнын есептеңіз"
},
"cta": {
"title": "Жобаңыздың бағасын тексеріңіз",
"subtitle": "Нақты уақытта құнды есептеу үшін қажетті қызметтер мен талаптарды таңдаңыз",
"button": "Құн калькуляторын пайдалану"
},
"step1": {
"title": "Қызметтеріңізді таңдаңыз",
"nav_title": "1-қадам: Қызметтер",
"subtitle": "Жобаңыз үшін қажетті қызметтерді таңдаңыз"
},
"step2": {
"title": "Жоба егжей-тегжейлері",
"nav_title": "2-қадам: Егжей-тегжейлер",
"subtitle": "Жобаңыздың күрделілігі мен мерзімдері туралы айтыңыз"
},
"complexity": {
"title": "Жоба күрделілігі",
"simple": "Қарапайым",
"simple_desc": "Негізгі функциялар мен стандартты функционал",
"medium": "Орташа",
"medium_desc": "Пайдаланушы функциялары мен интеграциялар",
"complex": "Күрделі",
"complex_desc": "Қосымша функциялар мен күрделі интеграциялар"
},
"timeline": {
"title": "Жоба мерзімдері",
"standard": "Стандартты (4-8 апта)",
"standard_desc": "Қалыпты дамыту мерзімдері",
"rush": "Шұғыл (2-4 апта)",
"rush_desc": "Қосымша құнмен жылдамдатылған жеткізу",
"extended": "Кеңейтілген (8+ апта)",
"extended_desc": "Құн оңтайландырумен икемді мерзімдер"
},
"result": {
"title": "Жоба бағасы",
"subtitle": "Сіздің есептелген жоба құны",
"nav_title": "Баға",
"estimated_price": "Есептелген баға",
"price_note": "Бұл шамамен құн. Соңғы баға жобаның күрделілігіне байланысты өзгеруі мүмкін.",
"summary": "Жоба қорытындысы",
"get_quote": "Толық ұсыныс алу",
"contact_note": "Толық кеңес беру және дәл ұсыныс алу үшін бізбен байланысыңыз.",
"recalculate": "Қайта есептеу",
"selected_services": "Таңдалған қызметтер",
"complexity": "Күрделілік",
"timeline": "Мерзімдер"
}
},
"contact": {
"hero": {
"title": "Бізбен байланысыңыз",
"subtitle": "Біз сіздің идеяларыңызды өмірге келтіруге көмектесуге дайынбыз"
},
"ready_title": "Жобаңызды бастауға дайынсыз ба?",
"ready_description": "Идеяларыңызды шындыққа айналдырыңыз. Сарапшылар ең жақсы шешімдерді ұсынады.",
"form": {
"title": "Жоба сұранысы",
"name": "Аты",
"email": "Электрондық пошта",
"phone": "Телефон",
"message": "Хабарлама",
"submit": "Сұраныс жіберу",
"success": "Сұраныс сәтті жіберілді",
"error": "Сұранысты жіберу кезінде қате пайда болды",
"service": {
"title": "Қызығушылық қызметі",
"select": "Қызығушылық қызметін таңдаңыз",
"web": "Веб-дамыту",
"mobile": "Мобильді қосымша",
"design": "UI/UX Дизайн",
"branding": "Брендинг",
"consulting": "Кеңес беру",
"other": "Басқа"
}
},
"info": {
"title": "Байланыс ақпараты"
},
"phone": {
"title": "Телефон арқылы сұраныс",
"number": "+82-2-1234-5678",
"hours": "Дс-Жм 9:00-18:00"
},
"email": {
"title": "Электрондық пошта арқылы сұраныс",
"address": "info@smartsoltech.co.kr",
"response": "24 сағат ішінде жауап"
},
"telegram": {
"title": "Telegram",
"subtitle": "Жылдам жауап алу үшін"
},
"address": {
"title": "Кеңсе мекенжайы",
"line1": "Тегеран-ро көшесі, 123, Каннам-гу",
"line2": "Сеул, Оңтүстік Корея"
},
"cta": {
"ready": "Дайынсыз ба?",
"start": "Бастау",
"question": "Сұрақтарыңыз бар ма?",
"subtitle": "Біз жобалар бойынша кеңес береміз"
},
"meta": {
"title": "Байланыс",
"description": "Жоба сұранысы немесе кеңес алу үшін кез келген уақытта бізбен байланысыңыз"
}
},
"about": {
"hero": {
"title": "SmartSolTech туралы",
"subtitle": "Инновациялар мен технологиялармен болашақты жасаймыз"
},
"company": {
"title": "Компания туралы ақпарат",
"description1": "SmartSolTech - 2020 жылы құрылған технологиялық компания, веб-дамыту, мобильді қосымшалар дамыту және UI/UX дизайн саласындағы сараптамасымен танылған.",
"description2": "Біз клиенттердің қажеттіліктерін дәл түсінеміз және ең жаңа технологияларды пайдаланып инновациялық шешімдер ұсынамыз."
},
"stats": {
"projects": "Аяқталған жобалар",
"experience": "Жыл тәжірибе",
"clients": "Қанағаттанған клиенттер"
},
"mission": {
"title": "Біздің миссия",
"description": "Біздің миссиямыз - технологиялар арқылы клиенттердің бизнес өсуін қолдау және цифрлық инновацияларға көшбасшылық ету."
},
"values": {
"innovation": {
"title": "Инновациялар",
"description": "Біз үздіксіз зерттеулер мен озық технологияларды енгізу арқылы инновациялық шешімдер ұсынамыз."
},
"quality": {
"title": "Сапа",
"description": "Біз жоғары сапа стандарттарын ұстанамыз және клиенттер қанағаттанатын жоғары сапалы өнімдер ұсынамыз."
},
"partnership": {
"title": "Серіктестік",
"description": "Біз клиенттермен тығыз қарым-қатынас пен ынтымақтастық арқылы ең жақсы нәтижелерді жасаймыз."
}
},
"cta": {
"title": "Біз бірге өсеміз",
"subtitle": "Идеяларыңызды шындыққа айналдырыңыз",
"button": "Бізбен байланысу"
},
"meta": {
"title": "Біз туралы",
"description": "SmartSolTech - инновациялық технологиялармен клиенттердің бизнес өсуін қолдайтын кәсіби дамыту компаниясы"
}
},
"footer": {
"description": "Инновацияларға көшбасшылық ететін цифрлық шешімдер маманы",
"company": {
"description": "Инновацияларға көшбасшылық ететін цифрлық шешімдер маманы"
},
"links": {
"title": "Жылдам сілтемелер"
},
"contact": {
"title": "Байланыс",
"email": "info@smartsoltech.co.kr",
"phone": "+82-2-1234-5678",
"address": "Тегеран-ро көшесі, 123, Каннам-гу, Сеул"
},
"copyright": "© {{year}} SmartSolTech. Барлық құқықтар қорғалған.",
"privacy": "Құпиялылық саясаты",
"terms": "Пайдалану шарттары"
},
"theme": {
"light": "Ашық тема",
"dark": "Қараңғы тема",
"toggle": "Теманы ауыстыру"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Жүктелуде...",
"error": "Қате пайда болды",
"success": "Сәтті",
"view_more": "Көбірек көру",
"back": "Артқа",
"next": "Келесі",
"previous": "Алдыңғы",
"view_details": "Толық ақпарат"
},
"meta": {
"description": "SmartSolTech - Инновациялық веб-дамыту, мобильді қосымшалар дамыту, UI/UX дизайн",
"keywords": "веб-дамыту, мобильді қосымшалар, UI/UX дизайн, Корея",
"title": "SmartSolTech"
},
"nav": {
"home": "Басты бет",
"about": "Біз туралы",
"services": "Қызметтер",
"portfolio": "Портфолио",
"calculator": "Калькулятор"
},
"admin": {
"login": "Әкімші панеліне кіру",
"dashboard": "Басқару панелі",
"title": "SmartSolTech Әкімші"
},
"company": {
"name": "SmartSolTech",
"description": "Инновацияларға көшбасшылық ететін цифрлық шешімдер маманы",
"email": "info@smartsoltech.kr",
"phone": "+82-10-1234-5678"
},
"errors": {
"page_not_found": "Бет табылмады",
"error_occurred": "Қате пайда болды",
"title": "Қате - SmartSolTech",
"default_title": "Қате пайда болды",
"default_message": "Сұранысты өңдеу кезінде мәселе туындады.",
"back_home": "Басты бетке оралу",
"go_back": "Артқа оралу",
"need_help": "Көмек керек пе?",
"help_message": "Егер мәселе қайталанса, кез келген уақытта бізбен байланысыңыз.",
"contact_support": "Қолдау қызметімен байланысу"
},
"pages": {
"home": "Басты бет",
"about": "Біз туралы",
"services": "Қызметтер",
"portfolio": "Портфолио",
"contact": "Байланыс",
"calculator": "Калькулятор"
}
}

View File

@@ -1,173 +0,0 @@
{
"navigation": {
"home": "홈",
"about": "회사소개",
"services": "서비스",
"portfolio": "포트폴리오",
"contact": "연락처",
"calculator": "견적계산기",
"admin": "관리자"
},
"hero": {
"title": "Smart Technology",
"subtitle": "Solutions",
"description": "혁신적인 웹 개발, 모바일 앱, UI/UX 디자인으로 비즈니스의 디지털 전환을 이끌어갑니다",
"cta_primary": "프로젝트 시작하기",
"cta_secondary": "포트폴리오 보기"
},
"services": {
"title": "Our",
"title_highlight": "Services",
"description": "최신 기술과 창의적인 아이디어로 완성하는 디지털 솔루션",
"web_development": {
"title": "웹 개발",
"description": "현대적이고 반응형 웹사이트 및 웹 애플리케이션 개발",
"price": "₩500,000~"
},
"mobile_app": {
"title": "모바일 앱",
"description": "iOS와 Android를 위한 네이티브 및 크로스플랫폼 앱",
"price": "₩800,000~"
},
"ui_ux_design": {
"title": "UI/UX 디자인",
"description": "사용자 중심의 직관적이고 아름다운 인터페이스 디자인",
"price": "₩300,000~"
},
"digital_marketing": {
"title": "디지털 마케팅",
"description": "SEO, 소셜미디어, 온라인 광고를 통한 디지털 마케팅",
"price": "₩200,000~"
},
"view_all": "모든 서비스 보기"
},
"portfolio": {
"title": "Recent",
"title_highlight": "Projects",
"description": "고객의 성공을 위해 완성한 프로젝트들을 확인해보세요",
"view_details": "자세히 보기",
"view_all": "전체 포트폴리오 보기"
},
"calculator": {
"title": "프로젝트 견적을 확인해보세요",
"description": "원하는 서비스와 요구사항을 선택하면 실시간으로 견적을 계산해드립니다",
"cta": "견적 계산기 사용하기"
},
"contact": {
"ready_title": "프로젝트를 시작할 준비가 되셨나요?",
"ready_description": "아이디어를 현실로 만들어보세요. 전문가들이 최고의 솔루션을 제공합니다.",
"phone_consultation": "전화 상담",
"email_inquiry": "이메일 문의",
"telegram_chat": "텔레그램 채팅",
"instant_response": "즉시 답변 가능",
"free_consultation": "무료 상담 신청",
"form": {
"name": "이름",
"email": "이메일",
"phone": "연락처",
"service_interest": "관심 서비스",
"service_options": {
"select": "관심 서비스 선택",
"web_development": "웹 개발",
"mobile_app": "모바일 앱",
"ui_ux_design": "UI/UX 디자인",
"branding": "브랜딩",
"consulting": "컨설팅",
"other": "기타"
},
"message": "프로젝트에 대해 간단히 설명해주세요",
"submit": "상담 신청하기"
}
},
"about": {
"hero_title": "About",
"hero_highlight": "SmartSolTech",
"hero_description": "혁신적인 기술로 고객의 성공을 이끌어가는 디지털 솔루션 전문 기업",
"overview": {
"title": "혁신과 창의로 만드는 미래",
"description_1": "SmartSolTech는 2020년 설립된 디지털 솔루션 전문 기업으로, 웹 개발, 모바일 앱, UI/UX 디자인 분야에서 혁신적인 기술과 창의적인 아이디어를 바탕으로 고객의 비즈니스 성공을 지원합니다.",
"description_2": "우리는 단순히 기술을 제공하는 것이 아니라, 고객의 목표를 이해하고 그에 맞는 최적의 솔루션을 제안하여 함께 성장하는 파트너가 되고자 합니다.",
"stats": {
"projects": "100+",
"projects_label": "완료 프로젝트",
"clients": "50+",
"clients_label": "만족한 고객",
"experience": "4년",
"experience_label": "업계 경험"
},
"mission": "우리의 미션",
"mission_text": "기술을 통해 모든 비즈니스가 디지털 시대에서 성공할 수 있도록 돕는 것",
"vision": "우리의 비전",
"vision_text": "한국을 대표하는 글로벌 디지털 솔루션 기업으로 성장하여 전 세계 고객들의 디지털 혁신을 주도하는 것"
},
"values": {
"title": "Core",
"title_highlight": "Values",
"description": "SmartSolTech가 추구하는 핵심 가치들",
"innovation": {
"title": "혁신 (Innovation)",
"description": "끊임없는 연구개발과 최신 기술 도입으로 혁신적인 솔루션을 제공합니다."
},
"collaboration": {
"title": "협력 (Collaboration)",
"description": "고객과의 긴밀한 소통과 협력을 통해 최상의 결과를 만들어냅니다."
},
"quality": {
"title": "품질 (Quality)",
"description": "높은 품질 기준을 유지하며 고객이 만족할 수 있는 완성도 높은 제품을 제공합니다."
},
"growth": {
"title": "성장 (Growth)",
"description": "고객과 함께 성장하며, 지속적인 학습과 발전을 추구합니다."
}
},
"team": {
"title": "Our",
"title_highlight": "Team",
"description": "전문성과 열정을 갖춘 SmartSolTech 팀을 소개합니다"
},
"tech_stack": {
"title": "Technology",
"title_highlight": "Stack",
"description": "최신 기술과 검증된 도구들로 최고의 솔루션을 제공합니다",
"frontend": "Frontend",
"backend": "Backend",
"mobile": "Mobile"
},
"cta": {
"title": "함께 성공하는 파트너가 되어보세요",
"description": "SmartSolTech와 함께 여러분의 비즈니스를 다음 단계로 발전시켜보세요",
"partnership": "파트너십 문의",
"portfolio": "포트폴리오 보기"
}
},
"footer": {
"company": "SmartSolTech",
"description": "혁신을 이끌어가는 디지털 솔루션 전문 기업",
"quick_links": "빠른 링크",
"services": "서비스",
"contact_info": "연락처 정보",
"follow_us": "팔로우하기",
"rights": "모든 권리 보유."
},
"theme": {
"light": "라이트 테마",
"dark": "다크 테마",
"toggle": "테마 전환"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "로딩 중...",
"error": "오류가 발생했습니다",
"success": "성공",
"view_more": "더 보기",
"back": "뒤로",
"next": "다음",
"previous": "이전"
}
}

View File

@@ -1,173 +0,0 @@
{
"navigation": {
"home": "홈",
"about": "회사소개",
"services": "서비스",
"portfolio": "포트폴리오",
"contact": "연락처",
"calculator": "견적계산기",
"admin": "관리자"
},
"hero": {
"title": "Smart Technology",
"subtitle": "Solutions",
"description": "혁신적인 웹 개발, 모바일 앱, UI/UX 디자인으로 비즈니스의 디지털 전환을 이끌어갑니다",
"cta_primary": "프로젝트 시작하기",
"cta_secondary": "포트폴리오 보기"
},
"services": {
"title": "Our",
"title_highlight": "Services",
"description": "최신 기술과 창의적인 아이디어로 완성하는 디지털 솔루션",
"web_development": {
"title": "웹 개발",
"description": "현대적이고 반응형 웹사이트 및 웹 애플리케이션 개발",
"price": "₩500,000~"
},
"mobile_app": {
"title": "모바일 앱",
"description": "iOS와 Android를 위한 네이티브 및 크로스플랫폼 앱",
"price": "₩800,000~"
},
"ui_ux_design": {
"title": "UI/UX 디자인",
"description": "사용자 중심의 직관적이고 아름다운 인터페이스 디자인",
"price": "₩300,000~"
},
"digital_marketing": {
"title": "디지털 마케팅",
"description": "SEO, 소셜미디어, 온라인 광고를 통한 디지털 마케팅",
"price": "₩200,000~"
},
"view_all": "모든 서비스 보기"
},
"portfolio": {
"title": "Recent",
"title_highlight": "Projects",
"description": "고객의 성공을 위해 완성한 프로젝트들을 확인해보세요",
"view_details": "자세히 보기",
"view_all": "전체 포트폴리오 보기"
},
"calculator": {
"title": "프로젝트 견적을 확인해보세요",
"description": "원하는 서비스와 요구사항을 선택하면 실시간으로 견적을 계산해드립니다",
"cta": "견적 계산기 사용하기"
},
"contact": {
"ready_title": "프로젝트를 시작할 준비가 되셨나요?",
"ready_description": "아이디어를 현실로 만들어보세요. 전문가들이 최고의 솔루션을 제공합니다.",
"phone_consultation": "전화 상담",
"email_inquiry": "이메일 문의",
"telegram_chat": "텔레그램 채팅",
"instant_response": "즉시 답변 가능",
"free_consultation": "무료 상담 신청",
"form": {
"name": "이름",
"email": "이메일",
"phone": "연락처",
"service_interest": "관심 서비스",
"service_options": {
"select": "관심 서비스 선택",
"web_development": "웹 개발",
"mobile_app": "모바일 앱",
"ui_ux_design": "UI/UX 디자인",
"branding": "브랜딩",
"consulting": "컨설팅",
"other": "기타"
},
"message": "프로젝트에 대해 간단히 설명해주세요",
"submit": "상담 신청하기"
}
},
"about": {
"hero_title": "About",
"hero_highlight": "SmartSolTech",
"hero_description": "혁신적인 기술로 고객의 성공을 이끌어가는 디지털 솔루션 전문 기업",
"overview": {
"title": "혁신과 창의로 만드는 미래",
"description_1": "SmartSolTech는 2020년 설립된 디지털 솔루션 전문 기업으로, 웹 개발, 모바일 앱, UI/UX 디자인 분야에서 혁신적인 기술과 창의적인 아이디어를 바탕으로 고객의 비즈니스 성공을 지원합니다.",
"description_2": "우리는 단순히 기술을 제공하는 것이 아니라, 고객의 목표를 이해하고 그에 맞는 최적의 솔루션을 제안하여 함께 성장하는 파트너가 되고자 합니다.",
"stats": {
"projects": "100+",
"projects_label": "완료 프로젝트",
"clients": "50+",
"clients_label": "만족한 고객",
"experience": "4년",
"experience_label": "업계 경험"
},
"mission": "우리의 미션",
"mission_text": "기술을 통해 모든 비즈니스가 디지털 시대에서 성공할 수 있도록 돕는 것",
"vision": "우리의 비전",
"vision_text": "한국을 대표하는 글로벌 디지털 솔루션 기업으로 성장하여 전 세계 고객들의 디지털 혁신을 주도하는 것"
},
"values": {
"title": "Core",
"title_highlight": "Values",
"description": "SmartSolTech가 추구하는 핵심 가치들",
"innovation": {
"title": "혁신 (Innovation)",
"description": "끊임없는 연구개발과 최신 기술 도입으로 혁신적인 솔루션을 제공합니다."
},
"collaboration": {
"title": "협력 (Collaboration)",
"description": "고객과의 긴밀한 소통과 협력을 통해 최상의 결과를 만들어냅니다."
},
"quality": {
"title": "품질 (Quality)",
"description": "높은 품질 기준을 유지하며 고객이 만족할 수 있는 완성도 높은 제품을 제공합니다."
},
"growth": {
"title": "성장 (Growth)",
"description": "고객과 함께 성장하며, 지속적인 학습과 발전을 추구합니다."
}
},
"team": {
"title": "Our",
"title_highlight": "Team",
"description": "전문성과 열정을 갖춘 SmartSolTech 팀을 소개합니다"
},
"tech_stack": {
"title": "Technology",
"title_highlight": "Stack",
"description": "최신 기술과 검증된 도구들로 최고의 솔루션을 제공합니다",
"frontend": "Frontend",
"backend": "Backend",
"mobile": "Mobile"
},
"cta": {
"title": "함께 성공하는 파트너가 되어보세요",
"description": "SmartSolTech와 함께 여러분의 비즈니스를 다음 단계로 발전시켜보세요",
"partnership": "파트너십 문의",
"portfolio": "포트폴리오 보기"
}
},
"footer": {
"company": "SmartSolTech",
"description": "혁신을 이끌어가는 디지털 솔루션 전문 기업",
"quick_links": "빠른 링크",
"services": "서비스",
"contact_info": "연락처 정보",
"follow_us": "팔로우하기",
"rights": "모든 권리 보유."
},
"theme": {
"light": "라이트 테마",
"dark": "다크 테마",
"toggle": "테마 전환"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "로딩 중...",
"error": "오류가 발생했습니다",
"success": "성공",
"view_more": "더 보기",
"back": "뒤로",
"next": "다음",
"previous": "이전"
}
}

View File

@@ -1,227 +0,0 @@
{
"navigation": {
"home": "홈",
"about": "calculator": {
"title": "프로젝트 견적 계산기",
"subtitle": "원하는 서비스와 요구사항을 선택하면 실시간으로 정확한 견적을 계산해드립니다",
"meta": {
"title": "프로젝트 견적 계산기",
"description": "웹 개발, 모바일 앱, 디자인 프로젝트 비용을 실시간으로 계산해보세요"
},
"cta": {
"title": "프로젝트 견적을 확인해보세요",
"subtitle": "원하는 서비스와 요구사항을 선택하면 실시간으로 견적을 계산해드립니다",
"button": "견적 계산기 사용하기"
},
"step1": {
"title": "1단계: 서비스 선택",
"subtitle": "필요한 서비스를 선택해주세요 (복수 선택 가능)"
},
"step2": {
"title": "2단계: 프로젝트 세부사항",
"subtitle": "프로젝트의 복잡도와 일정을 선택해주세요"
},
"complexity": {
"title": "프로젝트 복잡도",
"simple": "단순",
"simple_desc": "기본 기능, 표준 디자인",
"medium": "보통",
"medium_desc": "추가 기능, 커스텀 디자인",
"complex": "복잡",
"complex_desc": "고급 기능, 복합 통합"
},
"timeline": {
"title": "개발 일정",
"standard": "표준",
"standard_desc": "일반적인 개발 기간",
"rush": "급한",
"rush_desc": "빠른 개발 (+50%)",
"extended": "여유",
"extended_desc": "넉넉한 개발 기간 (-20%)"
},
"result": {
"title": "견적 결과",
"subtitle": "프로젝트 예상 견적입니다",
"estimated_price": "예상 견적",
"price_note": "* 최종 견적은 프로젝트 세부사항에 따라 달라질 수 있습니다",
"summary": "프로젝트 요약",
"selected_services": "선택한 서비스",
"complexity": "복잡도",
"timeline": "일정",
"get_quote": "정확한 견적 받기",
"recalculate": "다시 계산",
"contact_note": "정확한 견적과 프로젝트 상담을 위해 연락주세요"
},
"next_step": "다음 단계",
"prev_step": "이전",
"calculate": "계산하기"
},",
"services": "",
"portfolio": "",
"contact": "",
"calculator": "",
"admin": ""
},
"hero": {
"title": "Smart Technology",
"subtitle": "Solutions",
"description": " , , UI/UX ",
"cta_primary": " ",
"cta_secondary": " "
},
"services": {
"title": "Our",
"title_highlight": "Services",
"description": " ",
"web_development": {
"title": " ",
"description": " ",
"price": "500,000~"
},
"mobile_app": {
"title": " ",
"description": "iOS Android ",
"price": "800,000~"
},
"ui_ux_design": {
"title": "UI/UX ",
"description": " ",
"price": "300,000~"
},
"digital_marketing": {
"title": " ",
"description": "SEO, , ",
"price": "200,000~"
},
"view_all": " "
},
"portfolio": {
"title": "Recent",
"title_highlight": "Projects",
"description": " ",
"view_details": " ",
"view_all": " "
},
"calculator": {
"title": " ",
"description": " ",
"cta": " "
},
"contact": {
"ready_title": " ?",
"ready_description": " . .",
"phone_consultation": " ",
"email_inquiry": " ",
"telegram_chat": " ",
"instant_response": " ",
"free_consultation": " ",
"form": {
"name": "",
"email": "",
"phone": "",
"service_interest": " ",
"service_options": {
"select": " ",
"web_development": " ",
"mobile_app": " ",
"ui_ux_design": "UI/UX ",
"branding": "",
"consulting": "",
"other": ""
},
"message": " ",
"submit": " "
}
},
"about": {
"hero_title": "About",
"hero_highlight": "SmartSolTech",
"hero_description": " ",
"overview": {
"title": " ",
"description_1": "SmartSolTech 2020 , , , UI/UX .",
"description_2": " , .",
"stats": {
"projects": "100+",
"projects_label": " ",
"clients": "50+",
"clients_label": " ",
"experience": "4",
"experience_label": " "
},
"mission": " ",
"mission_text": " ",
"vision": " ",
"vision_text": " "
},
"values": {
"title": "Core",
"title_highlight": "Values",
"description": "SmartSolTech ",
"innovation": {
"title": " (Innovation)",
"description": " ."
},
"collaboration": {
"title": " (Collaboration)",
"description": " ."
},
"quality": {
"title": " (Quality)",
"description": " ."
},
"growth": {
"title": " (Growth)",
"description": " , ."
}
},
"team": {
"title": "Our",
"title_highlight": "Team",
"description": " SmartSolTech "
},
"tech_stack": {
"title": "Technology",
"title_highlight": "Stack",
"description": " ",
"frontend": "Frontend",
"backend": "Backend",
"mobile": "Mobile"
},
"cta": {
"title": " ",
"description": "SmartSolTech ",
"partnership": " ",
"portfolio": " "
}
},
"footer": {
"company": "SmartSolTech",
"description": " ",
"quick_links": " ",
"services": "",
"contact_info": " ",
"follow_us": "",
"rights": " ."
},
"theme": {
"light": " ",
"dark": " ",
"toggle": " "
},
"language": {
"english": "English",
"korean": "",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": " ...",
"error": " ",
"success": "",
"view_more": " ",
"back": "",
"next": "",
"previous": ""
}
}

View File

@@ -1,230 +0,0 @@
{
"navigation": {
"home": "홈",
"about": "calculator": {
"title": "프로젝트 견적 계산기",
"subtitle": "원하는 서비스와 요구사항을 선택하면 실시간으로 정확한 견적을 계산해드립니다",
"meta": {
"title": "프로젝트 견적 계산기",
"description": "웹 개발, 모바일 앱, 디자인 프로젝트 비용을 실시간으로 계산해보세요"
},
"cta": {
"title": "프로젝트 견적을 확인해보세요",
"subtitle": "원하는 서비스와 요구사항을 선택하면 실시간으로 견적을 계산해드립니다",
"button": "견적 계산기 사용하기"
},
"step1": {
"title": "1단계: 서비스 선택",
"subtitle": "필요한 서비스를 선택해주세요 (복수 선택 가능)"
},
"step2": {
"title": "2단계: 프로젝트 세부사항",
"subtitle": "프로젝트의 복잡도와 일정을 선택해주세요"
},
"complexity": {
"title": "프로젝트 복잡도",
"simple": "단순",
"simple_desc": "기본 기능, 표준 디자인",
"medium": "보통",
"medium_desc": "추가 기능, 커스텀 디자인",
"complex": "복잡",
"complex_desc": "고급 기능, 복합 통합"
},
"timeline": {
"title": "개발 일정",
"standard": "표준",
"standard_desc": "일반적인 개발 기간",
"rush": "급한",
"rush_desc": "빠른 개발 (+50%)",
"extended": "여유",
"extended_desc": "넉넉한 개발 기간 (-20%)"
},
"result": {
"title": "견적 결과",
"subtitle": "프로젝트 예상 견적입니다",
"estimated_price": "예상 견적",
"price_note": "* 최종 견적은 프로젝트 세부사항에 따라 달라질 수 있습니다",
"summary": "프로젝트 요약",
"selected_services": "선택한 서비스",
"complexity": "복잡도",
"timeline": "일정",
"get_quote": "정확한 견적 받기",
"recalculate": "다시 계산",
"contact_note": "정확한 견적과 프로젝트 상담을 위해 연락주세요"
},
"next_step": "다음 단계",
"prev_step": "이전",
"calculate": "계산하기"
},
"nav": {
"home": "홈",
"about": "회사소개",
"services": "서비스",
"portfolio": "포트폴리오",
"contact": "연락처",
"calculator": "견적계산기",
"admin": "관리자"
},
"hero": {
"title": "Smart Technology",
"subtitle": "Solutions",
"description": "혁신적인 웹 개발, 모바일 앱, UI/UX 디자인으로 비즈니스의 디지털 전환을 이끌어갑니다",
"cta_primary": "프로젝트 시작하기",
"cta_secondary": "포트폴리오 보기"
},
"services": {
"title": "Our",
"title_highlight": "Services",
"description": "최신 기술과 창의적인 아이디어로 완성하는 디지털 솔루션",
"web_development": {
"title": "웹 개발",
"description": "현대적이고 반응형 웹사이트 및 웹 애플리케이션 개발",
"price": "₩500,000~"
},
"mobile_app": {
"title": "모바일 앱",
"description": "iOS와 Android를 위한 네이티브 및 크로스플랫폼 앱",
"price": "₩800,000~"
},
"ui_ux_design": {
"title": "UI/UX 디자인",
"description": "사용자 중심의 직관적이고 아름다운 인터페이스 디자인",
"price": "₩300,000~"
},
"digital_marketing": {
"title": "디지털 마케팅",
"description": "SEO, 소셜미디어, 온라인 광고를 통한 디지털 마케팅",
"price": "₩200,000~"
},
"view_all": "모든 서비스 보기"
},
"portfolio": {
"title": "Recent",
"title_highlight": "Projects",
"description": "고객의 성공을 위해 완성한 프로젝트들을 확인해보세요",
"view_details": "자세히 보기",
"view_all": "전체 포트폴리오 보기"
},
"calculator": {
"title": "프로젝트 견적을 확인해보세요",
"description": "원하는 서비스와 요구사항을 선택하면 실시간으로 견적을 계산해드립니다",
"cta": "견적 계산기 사용하기"
},
"contact": {
"ready_title": "프로젝트를 시작할 준비가 되셨나요?",
"ready_description": "아이디어를 현실로 만들어보세요. 전문가들이 최고의 솔루션을 제공합니다.",
"phone_consultation": "전화 상담",
"email_inquiry": "이메일 문의",
"telegram_chat": "텔레그램 채팅",
"instant_response": "즉시 답변 가능",
"free_consultation": "무료 상담 신청",
"form": {
"name": "이름",
"email": "이메일",
"phone": "연락처",
"service_interest": "관심 서비스",
"service_options": {
"select": "관심 서비스 선택",
"web_development": "웹 개발",
"mobile_app": "모바일 앱",
"ui_ux_design": "UI/UX 디자인",
"branding": "브랜딩",
"consulting": "컨설팅",
"other": "기타"
},
"message": "프로젝트에 대해 간단히 설명해주세요",
"submit": "상담 신청하기"
}
},
"about": {
"hero_title": "About",
"hero_highlight": "SmartSolTech",
"hero_description": "혁신적인 기술로 고객의 성공을 이끌어가는 디지털 솔루션 전문 기업",
"overview": {
"title": "혁신과 창의로 만드는 미래",
"description_1": "SmartSolTech는 2020년 설립된 디지털 솔루션 전문 기업으로, 웹 개발, 모바일 앱, UI/UX 디자인 분야에서 혁신적인 기술과 창의적인 아이디어를 바탕으로 고객의 비즈니스 성공을 지원합니다.",
"description_2": "우리는 단순히 기술을 제공하는 것이 아니라, 고객의 목표를 이해하고 그에 맞는 최적의 솔루션을 제안하여 함께 성장하는 파트너가 되고자 합니다.",
"stats": {
"projects": "100+",
"projects_label": "완료 프로젝트",
"clients": "50+",
"clients_label": "만족한 고객",
"experience": "4년",
"experience_label": "업계 경험"
},
"mission": "우리의 미션",
"mission_text": "기술을 통해 모든 비즈니스가 디지털 시대에서 성공할 수 있도록 돕는 것",
"vision": "우리의 비전",
"vision_text": "한국을 대표하는 글로벌 디지털 솔루션 기업으로 성장하여 전 세계 고객들의 디지털 혁신을 주도하는 것"
},
"values": {
"title": "Core",
"title_highlight": "Values",
"description": "SmartSolTech가 추구하는 핵심 가치들",
"innovation": {
"title": "혁신 (Innovation)",
"description": "끊임없는 연구개발과 최신 기술 도입으로 혁신적인 솔루션을 제공합니다."
},
"collaboration": {
"title": "협력 (Collaboration)",
"description": "고객과의 긴밀한 소통과 협력을 통해 최상의 결과를 만들어냅니다."
},
"quality": {
"title": "품질 (Quality)",
"description": "높은 품질 기준을 유지하며 고객이 만족할 수 있는 완성도 높은 제품을 제공합니다."
},
"growth": {
"title": "성장 (Growth)",
"description": "고객과 함께 성장하며, 지속적인 학습과 발전을 추구합니다."
}
},
"team": {
"title": "Our",
"title_highlight": "Team",
"description": "전문성과 열정을 갖춘 SmartSolTech 팀을 소개합니다"
},
"tech_stack": {
"title": "Technology",
"title_highlight": "Stack",
"description": "최신 기술과 검증된 도구들로 최고의 솔루션을 제공합니다",
"frontend": "Frontend",
"backend": "Backend",
"mobile": "Mobile"
},
"cta": {
"title": "함께 성공하는 파트너가 되어보세요",
"description": "SmartSolTech와 함께 여러분의 비즈니스를 다음 단계로 발전시켜보세요",
"partnership": "파트너십 문의",
"portfolio": "포트폴리오 보기"
}
},
"footer": {
"company": "SmartSolTech",
"description": "혁신을 이끌어가는 디지털 솔루션 전문 기업",
"quick_links": "빠른 링크",
"services": "서비스",
"contact_info": "연락처 정보",
"follow_us": "팔로우하기",
"rights": "모든 권리 보유."
},
"theme": {
"light": "라이트 테마",
"dark": "다크 테마",
"toggle": "테마 전환"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "로딩 중...",
"error": "오류가 발생했습니다",
"success": "성공",
"view_more": "더 보기",
"back": "뒤로",
"next": "다음",
"previous": "이전"
}
}

View File

@@ -1,230 +0,0 @@
{
"navigation": {
"home": "홈",
"about": "calculator": {
"title": "프로젝트 견적 계산기",
"subtitle": "원하는 서비스와 요구사항을 선택하면 실시간으로 정확한 견적을 계산해드립니다",
"meta": {
"title": "프로젝트 견적 계산기",
"description": "웹 개발, 모바일 앱, 디자인 프로젝트 비용을 실시간으로 계산해보세요"
},
"cta": {
"title": "프로젝트 견적을 확인해보세요",
"subtitle": "원하는 서비스와 요구사항을 선택하면 실시간으로 견적을 계산해드립니다",
"button": "견적 계산기 사용하기"
},
"step1": {
"title": "1단계: 서비스 선택",
"subtitle": "필요한 서비스를 선택해주세요 (복수 선택 가능)"
},
"step2": {
"title": "2단계: 프로젝트 세부사항",
"subtitle": "프로젝트의 복잡도와 일정을 선택해주세요"
},
"complexity": {
"title": "프로젝트 복잡도",
"simple": "단순",
"simple_desc": "기본 기능, 표준 디자인",
"medium": "보통",
"medium_desc": "추가 기능, 커스텀 디자인",
"complex": "복잡",
"complex_desc": "고급 기능, 복합 통합"
},
"timeline": {
"title": "개발 일정",
"standard": "표준",
"standard_desc": "일반적인 개발 기간",
"rush": "급한",
"rush_desc": "빠른 개발 (+50%)",
"extended": "여유",
"extended_desc": "넉넉한 개발 기간 (-20%)"
},
"result": {
"title": "견적 결과",
"subtitle": "프로젝트 예상 견적입니다",
"estimated_price": "예상 견적",
"price_note": "* 최종 견적은 프로젝트 세부사항에 따라 달라질 수 있습니다",
"summary": "프로젝트 요약",
"selected_services": "선택한 서비스",
"complexity": "복잡도",
"timeline": "일정",
"get_quote": "정확한 견적 받기",
"recalculate": "다시 계산",
"contact_note": "정확한 견적과 프로젝트 상담을 위해 연락주세요"
},
"next_step": "다음 단계",
"prev_step": "이전",
"calculate": "계산하기"
},
"nav": {
"home": "홈",
"about": "회사소개",
"services": "서비스",
"portfolio": "포트폴리오",
"contact": "연락처",
"calculator": "견적계산기",
"admin": "관리자"
},
"hero": {
"title": "Smart Technology",
"subtitle": "Solutions",
"description": "혁신적인 웹 개발, 모바일 앱, UI/UX 디자인으로 비즈니스의 디지털 전환을 이끌어갑니다",
"cta_primary": "프로젝트 시작하기",
"cta_secondary": "포트폴리오 보기"
},
"services": {
"title": "Our",
"title_highlight": "Services",
"description": "최신 기술과 창의적인 아이디어로 완성하는 디지털 솔루션",
"web_development": {
"title": "웹 개발",
"description": "현대적이고 반응형 웹사이트 및 웹 애플리케이션 개발",
"price": "₩500,000~"
},
"mobile_app": {
"title": "모바일 앱",
"description": "iOS와 Android를 위한 네이티브 및 크로스플랫폼 앱",
"price": "₩800,000~"
},
"ui_ux_design": {
"title": "UI/UX 디자인",
"description": "사용자 중심의 직관적이고 아름다운 인터페이스 디자인",
"price": "₩300,000~"
},
"digital_marketing": {
"title": "디지털 마케팅",
"description": "SEO, 소셜미디어, 온라인 광고를 통한 디지털 마케팅",
"price": "₩200,000~"
},
"view_all": "모든 서비스 보기"
},
"portfolio": {
"title": "Recent",
"title_highlight": "Projects",
"description": "고객의 성공을 위해 완성한 프로젝트들을 확인해보세요",
"view_details": "자세히 보기",
"view_all": "전체 포트폴리오 보기"
},
"calculator": {
"title": "프로젝트 견적을 확인해보세요",
"description": "원하는 서비스와 요구사항을 선택하면 실시간으로 견적을 계산해드립니다",
"cta": "견적 계산기 사용하기"
},
"contact": {
"ready_title": "프로젝트를 시작할 준비가 되셨나요?",
"ready_description": "아이디어를 현실로 만들어보세요. 전문가들이 최고의 솔루션을 제공합니다.",
"phone_consultation": "전화 상담",
"email_inquiry": "이메일 문의",
"telegram_chat": "텔레그램 채팅",
"instant_response": "즉시 답변 가능",
"free_consultation": "무료 상담 신청",
"form": {
"name": "이름",
"email": "이메일",
"phone": "연락처",
"service_interest": "관심 서비스",
"service_options": {
"select": "관심 서비스 선택",
"web_development": "웹 개발",
"mobile_app": "모바일 앱",
"ui_ux_design": "UI/UX 디자인",
"branding": "브랜딩",
"consulting": "컨설팅",
"other": "기타"
},
"message": "프로젝트에 대해 간단히 설명해주세요",
"submit": "상담 신청하기"
}
},
"about": {
"hero_title": "About",
"hero_highlight": "SmartSolTech",
"hero_description": "혁신적인 기술로 고객의 성공을 이끌어가는 디지털 솔루션 전문 기업",
"overview": {
"title": "혁신과 창의로 만드는 미래",
"description_1": "SmartSolTech는 2020년 설립된 디지털 솔루션 전문 기업으로, 웹 개발, 모바일 앱, UI/UX 디자인 분야에서 혁신적인 기술과 창의적인 아이디어를 바탕으로 고객의 비즈니스 성공을 지원합니다.",
"description_2": "우리는 단순히 기술을 제공하는 것이 아니라, 고객의 목표를 이해하고 그에 맞는 최적의 솔루션을 제안하여 함께 성장하는 파트너가 되고자 합니다.",
"stats": {
"projects": "100+",
"projects_label": "완료 프로젝트",
"clients": "50+",
"clients_label": "만족한 고객",
"experience": "4년",
"experience_label": "업계 경험"
},
"mission": "우리의 미션",
"mission_text": "기술을 통해 모든 비즈니스가 디지털 시대에서 성공할 수 있도록 돕는 것",
"vision": "우리의 비전",
"vision_text": "한국을 대표하는 글로벌 디지털 솔루션 기업으로 성장하여 전 세계 고객들의 디지털 혁신을 주도하는 것"
},
"values": {
"title": "Core",
"title_highlight": "Values",
"description": "SmartSolTech가 추구하는 핵심 가치들",
"innovation": {
"title": "혁신 (Innovation)",
"description": "끊임없는 연구개발과 최신 기술 도입으로 혁신적인 솔루션을 제공합니다."
},
"collaboration": {
"title": "협력 (Collaboration)",
"description": "고객과의 긴밀한 소통과 협력을 통해 최상의 결과를 만들어냅니다."
},
"quality": {
"title": "품질 (Quality)",
"description": "높은 품질 기준을 유지하며 고객이 만족할 수 있는 완성도 높은 제품을 제공합니다."
},
"growth": {
"title": "성장 (Growth)",
"description": "고객과 함께 성장하며, 지속적인 학습과 발전을 추구합니다."
}
},
"team": {
"title": "Our",
"title_highlight": "Team",
"description": "전문성과 열정을 갖춘 SmartSolTech 팀을 소개합니다"
},
"tech_stack": {
"title": "Technology",
"title_highlight": "Stack",
"description": "최신 기술과 검증된 도구들로 최고의 솔루션을 제공합니다",
"frontend": "Frontend",
"backend": "Backend",
"mobile": "Mobile"
},
"cta": {
"title": "함께 성공하는 파트너가 되어보세요",
"description": "SmartSolTech와 함께 여러분의 비즈니스를 다음 단계로 발전시켜보세요",
"partnership": "파트너십 문의",
"portfolio": "포트폴리오 보기"
}
},
"footer": {
"company": "SmartSolTech",
"description": "혁신을 이끌어가는 디지털 솔루션 전문 기업",
"quick_links": "빠른 링크",
"services": "서비스",
"contact_info": "연락처 정보",
"follow_us": "팔로우하기",
"rights": "모든 권리 보유."
},
"theme": {
"light": "라이트 테마",
"dark": "다크 테마",
"toggle": "테마 전환"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "로딩 중...",
"error": "오류가 발생했습니다",
"success": "성공",
"view_more": "더 보기",
"back": "뒤로",
"next": "다음",
"previous": "이전"
}
}

View File

@@ -1,196 +0,0 @@
{
"undefined - SmartSolTech": "undefined - SmartSolTech",
"meta": {
"description": "meta.description",
"keywords": "meta.keywords",
"title": "meta.title"
},
"navigation": {
"home": "navigation.home",
"about": "navigation.about",
"services": "navigation.services",
"portfolio": "navigation.portfolio",
"calculator": "navigation.calculator",
"contact": "navigation.contact",
"home - SmartSolTech": "navigation.home - SmartSolTech"
},
"language": {
"ko": "language.ko",
"korean": "language.korean",
"english": "language.english",
"russian": "language.russian",
"kazakh": "language.kazakh"
},
"theme": {
"toggle": "theme.toggle"
},
"hero": {
"cta_primary": "hero.cta_primary",
"title": {
"smart": "hero.title.smart",
"solutions": "hero.title.solutions"
},
"subtitle": "hero.subtitle",
"cta": {
"start": "hero.cta.start",
"portfolio": "hero.cta.portfolio"
}
},
"services": {
"title": {
"our": "services.title.our",
"services": "services.title.services"
},
"subtitle": "services.subtitle",
"web": {
"title": "services.web.title",
"description": "services.web.description",
"price": "services.web.price"
},
"mobile": {
"title": "services.mobile.title",
"description": "services.mobile.description",
"price": "services.mobile.price"
},
"design": {
"title": "services.design.title",
"description": "services.design.description",
"price": "services.design.price"
},
"marketing": {
"title": "services.marketing.title",
"description": "services.marketing.description",
"price": "services.marketing.price"
},
"view_all": "services.view_all"
},
"portfolio": {
"title": {
"recent": "portfolio.title.recent",
"projects": "portfolio.title.projects"
},
"subtitle": "portfolio.subtitle",
"view_all": "portfolio.view_all"
},
"common": {
"view_details": "common.view_details"
},
"calculator": {
"cta": {
"title": "calculator.cta.title",
"subtitle": "calculator.cta.subtitle",
"button": "calculator.cta.button"
},
"meta": {
"title": "calculator.meta.title",
"description": "calculator.meta.description"
},
"title": "calculator.title",
"subtitle": "calculator.subtitle",
"step1": {
"title": "calculator.step1.title",
"subtitle": "calculator.step1.subtitle"
},
"next_step": "calculator.next_step",
"step2": {
"title": "calculator.step2.title",
"subtitle": "calculator.step2.subtitle"
},
"complexity": {
"title": "calculator.complexity.title",
"simple": "calculator.complexity.simple",
"simple_desc": "calculator.complexity.simple_desc",
"medium": "calculator.complexity.medium",
"medium_desc": "calculator.complexity.medium_desc",
"complex": "calculator.complexity.complex",
"complex_desc": "calculator.complexity.complex_desc"
},
"timeline": {
"title": "calculator.timeline.title",
"standard": "calculator.timeline.standard",
"standard_desc": "calculator.timeline.standard_desc",
"rush": "calculator.timeline.rush",
"rush_desc": "calculator.timeline.rush_desc",
"extended": "calculator.timeline.extended",
"extended_desc": "calculator.timeline.extended_desc"
},
"prev_step": "calculator.prev_step",
"calculate": "calculator.calculate",
"result": {
"title": "calculator.result.title",
"subtitle": "calculator.result.subtitle",
"estimated_price": "calculator.result.estimated_price",
"price_note": "calculator.result.price_note",
"summary": "calculator.result.summary",
"get_quote": "calculator.result.get_quote",
"recalculate": "calculator.result.recalculate",
"contact_note": "calculator.result.contact_note",
"selected_services": "선택된 서비스",
"complexity": "복잡도",
"timeline": "개발 기간"
}
},
"contact": {
"cta": {
"ready": "contact.cta.ready",
"start": "contact.cta.start",
"question": "contact.cta.question",
"subtitle": "contact.cta.subtitle"
},
"phone": {
"title": "contact.phone.title",
"number": "contact.phone.number"
},
"email": {
"title": "contact.email.title",
"address": "contact.email.address"
},
"telegram": {
"title": "contact.telegram.title",
"subtitle": "contact.telegram.subtitle"
},
"form": {
"title": "contact.form.title",
"name": "contact.form.name",
"email": "contact.form.email",
"phone": "contact.form.phone",
"service": {
"select": "contact.form.service.select",
"web": "contact.form.service.web",
"mobile": "contact.form.service.mobile",
"design": "contact.form.service.design",
"branding": "contact.form.service.branding",
"consulting": "contact.form.service.consulting",
"other": "contact.form.service.other"
},
"message": "contact.form.message",
"submit": "contact.form.submit",
"success": "contact.form.success",
"error": "contact.form.error"
}
},
"footer": {
"company": {
"description": "footer.company.description"
},
"links": {
"title": "footer.links.title"
},
"contact": {
"title": "footer.contact.title",
"email": "footer.contact.email",
"phone": "footer.contact.phone",
"address": "footer.contact.address"
},
"copyright": "footer.copyright",
"privacy": "footer.privacy",
"terms": "footer.terms"
},
"nav": {
"home": "nav.home",
"about": "nav.about",
"services": "nav.services",
"portfolio": "nav.portfolio",
"calculator": "nav.calculator"
}
}

View File

@@ -1,196 +0,0 @@
{
"undefined - SmartSolTech": "undefined - SmartSolTech",
"meta": {
"description": "meta.description",
"keywords": "meta.keywords",
"title": "meta.title"
},
"navigation": {
"home": "navigation.home",
"about": "navigation.about",
"services": "navigation.services",
"portfolio": "navigation.portfolio",
"calculator": "navigation.calculator",
"contact": "navigation.contact",
"home - SmartSolTech": "navigation.home - SmartSolTech"
},
"language": {
"ko": "language.ko",
"korean": "language.korean",
"english": "language.english",
"russian": "language.russian",
"kazakh": "language.kazakh"
},
"theme": {
"toggle": "theme.toggle"
},
"hero": {
"cta_primary": "hero.cta_primary",
"title": {
"smart": "hero.title.smart",
"solutions": "hero.title.solutions"
},
"subtitle": "hero.subtitle",
"cta": {
"start": "hero.cta.start",
"portfolio": "hero.cta.portfolio"
}
},
"services": {
"title": {
"our": "services.title.our",
"services": "services.title.services"
},
"subtitle": "services.subtitle",
"web": {
"title": "services.web.title",
"description": "services.web.description",
"price": "services.web.price"
},
"mobile": {
"title": "services.mobile.title",
"description": "services.mobile.description",
"price": "services.mobile.price"
},
"design": {
"title": "services.design.title",
"description": "services.design.description",
"price": "services.design.price"
},
"marketing": {
"title": "services.marketing.title",
"description": "services.marketing.description",
"price": "services.marketing.price"
},
"view_all": "services.view_all"
},
"portfolio": {
"title": {
"recent": "portfolio.title.recent",
"projects": "portfolio.title.projects"
},
"subtitle": "portfolio.subtitle",
"view_all": "portfolio.view_all"
},
"common": {
"view_details": "common.view_details"
},
"calculator": {
"cta": {
"title": "calculator.cta.title",
"subtitle": "calculator.cta.subtitle",
"button": "calculator.cta.button"
},
"meta": {
"title": "calculator.meta.title",
"description": "calculator.meta.description"
},
"title": "calculator.title",
"subtitle": "calculator.subtitle",
"step1": {
"title": "calculator.step1.title",
"subtitle": "calculator.step1.subtitle"
},
"next_step": "calculator.next_step",
"step2": {
"title": "calculator.step2.title",
"subtitle": "calculator.step2.subtitle"
},
"complexity": {
"title": "calculator.complexity.title",
"simple": "calculator.complexity.simple",
"simple_desc": "calculator.complexity.simple_desc",
"medium": "calculator.complexity.medium",
"medium_desc": "calculator.complexity.medium_desc",
"complex": "calculator.complexity.complex",
"complex_desc": "calculator.complexity.complex_desc"
},
"timeline": {
"title": "calculator.timeline.title",
"standard": "calculator.timeline.standard",
"standard_desc": "calculator.timeline.standard_desc",
"rush": "calculator.timeline.rush",
"rush_desc": "calculator.timeline.rush_desc",
"extended": "calculator.timeline.extended",
"extended_desc": "calculator.timeline.extended_desc"
},
"prev_step": "calculator.prev_step",
"calculate": "calculator.calculate",
"result": {
"title": "calculator.result.title",
"subtitle": "calculator.result.subtitle",
"estimated_price": "calculator.result.estimated_price",
"price_note": "calculator.result.price_note",
"summary": "calculator.result.summary",
"get_quote": "calculator.result.get_quote",
"recalculate": "calculator.result.recalculate",
"contact_note": "calculator.result.contact_note",
"selected_services": "선택된 서비스",
"complexity": "복잡도",
"timeline": "개발 기간"
}
},
"contact": {
"cta": {
"ready": "contact.cta.ready",
"start": "contact.cta.start",
"question": "contact.cta.question",
"subtitle": "contact.cta.subtitle"
},
"phone": {
"title": "contact.phone.title",
"number": "contact.phone.number"
},
"email": {
"title": "contact.email.title",
"address": "contact.email.address"
},
"telegram": {
"title": "contact.telegram.title",
"subtitle": "contact.telegram.subtitle"
},
"form": {
"title": "contact.form.title",
"name": "contact.form.name",
"email": "contact.form.email",
"phone": "contact.form.phone",
"service": {
"select": "contact.form.service.select",
"web": "contact.form.service.web",
"mobile": "contact.form.service.mobile",
"design": "contact.form.service.design",
"branding": "contact.form.service.branding",
"consulting": "contact.form.service.consulting",
"other": "contact.form.service.other"
},
"message": "contact.form.message",
"submit": "contact.form.submit",
"success": "contact.form.success",
"error": "contact.form.error"
}
},
"footer": {
"company": {
"description": "footer.company.description"
},
"links": {
"title": "footer.links.title"
},
"contact": {
"title": "footer.contact.title",
"email": "footer.contact.email",
"phone": "footer.contact.phone",
"address": "footer.contact.address"
},
"copyright": "footer.copyright",
"privacy": "footer.privacy",
"terms": "footer.terms"
},
"nav": {
"home": "nav.home",
"about": "nav.about",
"services": "nav.services",
"portfolio": "nav.portfolio",
"calculator": "nav.calculator"
}
}

View File

@@ -0,0 +1,424 @@
{
"navigation": {
"home": "홈",
"about": "회사소개",
"services": "서비스",
"portfolio": "포트폴리오",
"contact": "연락처",
"calculator": "비용계산기",
"admin": "관리자"
},
"hero": {
"title": {
"smart": "스마트",
"solutions": "솔루션"
},
"subtitle": "혁신적인 기술로 비즈니스를 성장시키세요",
"description": "비즈니스의 디지털 전환을 이끄는 혁신적인 웹개발, 모바일 앱, UI/UX 디자인",
"cta": {
"start": "시작하기",
"portfolio": "포트폴리오 보기"
}
},
"services": {
"title": {
"our": "우리의",
"services": "서비스"
},
"subtitle": "아이디어를 현실로 만드는 전문 개발 서비스",
"description": "최첨단 기술과 창의적 아이디어로 완성하는 디지털 솔루션",
"view_all": "모든 서비스 보기",
"web": {
"title": "웹 개발",
"description": "반응형 웹사이트 및 웹 애플리케이션 개발",
"price": "$500부터"
},
"mobile": {
"title": "모바일 앱",
"description": "iOS 및 Android 네이티브 앱 개발",
"price": "$1,000부터"
},
"design": {
"title": "UI/UX 디자인",
"description": "사용자 중심의 인터페이스 및 경험 디자인",
"price": "$300부터"
},
"marketing": {
"title": "디지털 마케팅",
"description": "SEO, 소셜미디어 마케팅, 광고 관리",
"price": "$200부터"
},
"meta": {
"title": "서비스",
"description": "SmartSolTech의 전문 서비스를 확인해보세요. 웹 개발, 모바일 앱, UI/UX 디자인, 디지털 마케팅 및 기타 기술 솔루션.",
"keywords": "웹 개발, 모바일 앱, UI/UX 디자인, 디지털 마케팅, 기술 솔루션, SmartSolTech"
},
"hero": {
"title": "우리의",
"title_highlight": "서비스",
"subtitle": "혁신적인 기술로 비즈니스 성장 지원"
},
"cards": {
"starting_price": "시작 가격",
"consultation": "상담",
"contact": "연락하기",
"calculate_cost": "비용 계산",
"popular": "인기",
"coming_soon": "서비스 준비중",
"coming_soon_desc": "곧 다양한 서비스를 제공할 예정입니다!"
},
"process": {
"title": "프로젝트 수행 과정",
"subtitle": "체계적이고 전문적인 프로세스로 프로젝트를 진행합니다",
"step1": {
"title": "상담 및 기획",
"description": "고객의 요구사항을 정확히 파악하고 최적의 솔루션을 기획합니다"
},
"step2": {
"title": "디자인 및 설계",
"description": "사용자 중심의 직관적인 디자인과 견고한 시스템 아키텍처를 설계합니다"
},
"step3": {
"title": "개발 및 구현",
"description": "최신 기술과 모범 사례를 활용하여 효율적이고 확장 가능한 솔루션을 개발합니다"
},
"step4": {
"title": "테스트 및 배포",
"description": "철저한 테스트를 통해 품질을 보장하고 안정적인 배포를 진행합니다"
}
},
"why_choose": {
"title": "왜 SmartSolTech를 선택해야 할까요?",
"modern_tech": {
"title": "최신 기술 활용",
"description": "항상 최신 기술 트렌드를 파악하고, 검증된 기술 스택을 활용하여 미래 지향적인 솔루션을 제공합니다."
},
"expert_team": {
"title": "전문가 팀",
"description": "각 분야의 전문가들로 구성된 팀이 협력하여 최고 품질의 결과물을 보장합니다."
},
"fast_response": {
"title": "빠른 대응",
"description": "신속한 커뮤니케이션과 효율적인 프로젝트 관리로 정해진 일정 내에 프로젝트를 완료합니다."
},
"continuous_support": {
"title": "지속적인 지원",
"description": "프로젝트 완료 후에도 지속적인 유지보수와 기술 지원을 통해 장기적인 파트너십을 유지합니다."
},
"quality_guarantee": {
"title": "품질 보장",
"subtitle": "고객 만족을 위한\n최고 품질의 서비스"
}
},
"cta": {
"title": "프로젝트를 시작할 준비가 되셨나요?",
"subtitle": "무료 상담을 통해 최적의 솔루션을 제안해드리겠습니다",
"free_consultation": "무료 상담 신청",
"calculate_cost": "비용 계산하기",
"view_portfolio": "포트폴리오 보기"
}
},
"portfolio": {
"title": {
"recent": "최근",
"projects": "프로젝트"
},
"subtitle": "성공적으로 완료된 프로젝트들을 확인해보세요",
"description": "고객의 성공을 위해 완성한 프로젝트들을 살펴보세요",
"view_details": "자세히 보기",
"view_all": "모든 포트폴리오 보기",
"categories": {
"all": "전체",
"web": "웹 개발",
"mobile": "모바일 앱",
"uiux": "UI/UX 디자인"
},
"project_details": "프로젝트 상세정보",
"default": {
"ecommerce": "이커머스",
"title": "이커머스 플랫폼",
"description": "직관적인 인터페이스를 가진 현대적인 온라인 커머스 솔루션"
},
"meta": {
"title": "포트폴리오",
"description": "SmartSolTech의 다양한 프로젝트와 성공 사례들을 확인해보세요. 웹 개발, 모바일 앱, UI/UX 디자인 포트폴리오.",
"keywords": "포트폴리오, 웹 개발, 모바일 앱, UI/UX 디자인, 프로젝트, SmartSolTech"
}
},
"portfolio_page": {
"title": "우리의 포트폴리오",
"subtitle": "혁신적인 프로젝트와 창의적인 솔루션들을 만나보세요",
"categories": {
"all": "전체",
"web-development": "웹 개발",
"mobile-app": "모바일 앱",
"ui-ux-design": "UI/UX 디자인",
"branding": "브랜딩",
"marketing": "디지털 마케팅"
},
"buttons": {
"details": "자세히 보기",
"projectDetails": "프로젝트 상세보기",
"loadMore": "더 많은 프로젝트 보기",
"contact": "프로젝트 문의하기",
"calculate": "비용 계산하기"
},
"empty": {
"title": "아직 포트폴리오가 없습니다",
"subtitle": "곧 멋진 프로젝트들을 공개할 예정입니다!"
},
"cta": {
"title": "다음 프로젝트의 주인공이 되어보세요",
"subtitle": "우리와 함께 혁신적인 디지털 솔루션을 만들어보세요"
},
"labels": {
"featured": "추천",
"views": "조회수",
"likes": "좋아요"
}
},
"calculator": {
"title": "프로젝트 비용 계산기",
"subtitle": "실시간으로 정확한 비용 추정을 받기 위해 원하는 서비스와 요구사항을 선택하세요",
"next_step": "다음 단계",
"prev_step": "이전 단계",
"calculate": "계산하기",
"reset": "초기화",
"meta": {
"title": "프로젝트 비용 계산기",
"description": "대화형 계산기로 웹 개발, 모바일 앱 또는 디자인 프로젝트의 비용을 계산하세요"
},
"cta": {
"title": "프로젝트 견적을 확인해보세요",
"subtitle": "실시간 비용 계산을 위해 원하는 서비스와 요구사항을 선택하세요",
"button": "비용 계산기 사용하기"
},
"step1": {
"title": "서비스를 선택하세요",
"nav_title": "단계 1: 서비스",
"subtitle": "프로젝트에 필요한 서비스를 선택하세요"
},
"step2": {
"title": "프로젝트 세부사항",
"nav_title": "단계 2: 세부사항",
"subtitle": "프로젝트의 복잡도와 일정에 대해 알려주세요"
},
"complexity": {
"title": "프로젝트 복잡도",
"simple": "간단함",
"simple_desc": "기본 기능 및 표준 기능",
"medium": "보통",
"medium_desc": "맞춤 기능 및 통합",
"complex": "복잡함",
"complex_desc": "고급 기능 및 복잡한 통합"
},
"timeline": {
"title": "프로젝트 일정",
"standard": "표준 (4-8주)",
"standard_desc": "일반적인 개발 일정",
"rush": "급함 (2-4주)",
"rush_desc": "추가 비용으로 신속 배송",
"extended": "연장 (8주 이상)",
"extended_desc": "비용 최적화와 함께 유연한 일정"
},
"result": {
"title": "프로젝트 견적",
"subtitle": "예상 프로젝트 비용",
"nav_title": "결과",
"estimated_price": "예상 가격",
"price_note": "이는 대략적인 비용입니다. 최종 가격은 프로젝트 복잡도에 따라 달라질 수 있습니다.",
"summary": "프로젝트 요약",
"get_quote": "상세 견적 받기",
"contact_note": "상세한 상담과 정확한 견적을 위해 저희에게 연락주세요.",
"recalculate": "다시 계산하기",
"selected_services": "선택된 서비스",
"complexity": "복잡도",
"timeline": "일정"
}
},
"contact": {
"hero": {
"title": "연락하기",
"subtitle": "아이디어를 현실로 만들어드리겠습니다"
},
"ready_title": "프로젝트를 시작할 준비가 되셨나요?",
"ready_description": "아이디어를 현실로 바꿔보세요. 전문가들이 최고의 솔루션을 제공합니다.",
"form": {
"title": "프로젝트 문의",
"name": "이름",
"email": "이메일",
"phone": "전화번호",
"message": "메시지",
"submit": "문의 보내기",
"success": "문의가 성공적으로 전송되었습니다",
"error": "문의 전송 중 오류가 발생했습니다",
"service": {
"title": "관심 서비스",
"select": "관심 있는 서비스를 선택하세요",
"web": "웹 개발",
"mobile": "모바일 앱",
"design": "UI/UX 디자인",
"branding": "브랜딩",
"consulting": "컨설팅",
"other": "기타"
}
},
"info": {
"title": "연락처 정보"
},
"phone": {
"title": "전화 문의",
"number": "+82-2-1234-5678",
"hours": "월-금 9:00-18:00"
},
"email": {
"title": "이메일 문의",
"address": "info@smartsoltech.co.kr",
"response": "24시간 내 응답"
},
"telegram": {
"title": "텔레그램",
"subtitle": "빠른 응답을 위해"
},
"address": {
"title": "사무실 주소",
"line1": "서울시 강남구 테헤란로 123",
"line2": "대한민국"
},
"cta": {
"ready": "준비되셨나요?",
"start": "시작하기",
"question": "궁금한 점이 있나요?",
"subtitle": "프로젝트에 대한 상담을 제공합니다"
},
"meta": {
"title": "연락처",
"description": "프로젝트 문의나 상담을 위해 언제든지 연락주세요"
}
},
"about": {
"hero": {
"title": "SmartSolTech 소개",
"subtitle": "혁신과 기술로 미래를 만들어갑니다"
},
"company": {
"title": "회사 정보",
"description1": "SmartSolTech는 2020년에 설립된 기술 회사로, 웹 개발, 모바일 앱 개발, UI/UX 디자인 분야의 전문성으로 인정받고 있습니다.",
"description2": "고객의 니즈를 정확히 파악하고 최신 기술을 활용한 혁신적인 솔루션을 제공합니다."
},
"stats": {
"projects": "완료된 프로젝트",
"experience": "년 경험",
"clients": "만족한 고객"
},
"mission": {
"title": "우리의 미션",
"description": "기술을 통해 고객의 비즈니스 성장을 지원하고 디지털 혁신을 선도하는 것이 우리의 미션입니다."
},
"values": {
"innovation": {
"title": "혁신",
"description": "지속적인 R&D와 최첨단 기술 도입으로 혁신적인 솔루션을 제공합니다."
},
"quality": {
"title": "품질",
"description": "높은 품질 기준을 유지하며 고객이 만족할 수 있는 고품질 제품을 제공합니다."
},
"partnership": {
"title": "파트너십",
"description": "고객과의 긴밀한 소통과 협력을 통해 최고의 결과를 만들어냅니다."
}
},
"cta": {
"title": "함께 성장해나가겠습니다",
"subtitle": "아이디어를 현실로 바꿔보세요",
"button": "연락하기"
},
"meta": {
"title": "회사소개",
"description": "SmartSolTech는 혁신적인 기술로 고객의 비즈니스 성장을 지원하는 전문 개발 회사입니다"
}
},
"footer": {
"description": "혁신을 선도하는 디지털 솔루션 전문가",
"company": {
"description": "혁신을 선도하는 디지털 솔루션 전문가"
},
"links": {
"title": "빠른 링크"
},
"contact": {
"title": "연락처",
"email": "info@smartsoltech.co.kr",
"phone": "+82-2-1234-5678",
"address": "서울시 강남구 테헤란로 123"
},
"copyright": "© {{year}} SmartSolTech. 모든 권리 보유.",
"privacy": "개인정보처리방침",
"terms": "이용약관"
},
"theme": {
"light": "라이트 테마",
"dark": "다크 테마",
"toggle": "테마 전환"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "로딩 중...",
"error": "오류가 발생했습니다",
"success": "성공",
"view_more": "더 보기",
"back": "뒤로",
"next": "다음",
"previous": "이전",
"view_details": "자세히 보기"
},
"meta": {
"description": "SmartSolTech - 혁신적인 웹 개발, 모바일 앱 개발, UI/UX 디자인 서비스",
"keywords": "웹 개발, 모바일 앱, UI/UX 디자인, 한국",
"title": "SmartSolTech"
},
"nav": {
"home": "홈",
"about": "회사소개",
"services": "서비스",
"portfolio": "포트폴리오",
"calculator": "비용계산기"
},
"admin": {
"login": "관리자 패널 로그인",
"dashboard": "대시보드",
"title": "SmartSolTech 관리자"
},
"company": {
"name": "SmartSolTech",
"description": "혁신을 선도하는 디지털 솔루션 전문가",
"email": "info@smartsoltech.kr",
"phone": "+82-10-1234-5678"
},
"errors": {
"page_not_found": "페이지를 찾을 수 없습니다",
"error_occurred": "오류가 발생했습니다",
"title": "오류 - SmartSolTech",
"default_title": "오류가 발생했습니다",
"default_message": "요청을 처리하는 중 문제가 발생했습니다.",
"back_home": "홈으로 돌아가기",
"go_back": "뒤로 가기",
"need_help": "도움이 필요하신가요?",
"help_message": "문제가 지속되면 언제든지 저희에게 연락주세요.",
"contact_support": "고객지원 연락하기"
},
"pages": {
"home": "홈페이지",
"about": "회사소개",
"services": "서비스",
"portfolio": "포트폴리오",
"contact": "연락처",
"calculator": "비용계산기"
}
}

View File

@@ -0,0 +1,424 @@
{
"navigation": {
"home": "홈",
"about": "회사소개",
"services": "서비스",
"portfolio": "포트폴리오",
"contact": "연락처",
"calculator": "비용계산기",
"admin": "관리자"
},
"hero": {
"title": {
"smart": "스마트",
"solutions": "솔루션"
},
"subtitle": "혁신적인 기술로 비즈니스를 성장시키세요",
"description": "비즈니스의 디지털 전환을 이끄는 혁신적인 웹개발, 모바일 앱, UI/UX 디자인",
"cta": {
"start": "시작하기",
"portfolio": "포트폴리오 보기"
}
},
"services": {
"title": {
"our": "우리의",
"services": "서비스"
},
"subtitle": "아이디어를 현실로 만드는 전문 개발 서비스",
"description": "최첨단 기술과 창의적 아이디어로 완성하는 디지털 솔루션",
"view_all": "모든 서비스 보기",
"web": {
"title": "웹 개발",
"description": "반응형 웹사이트 및 웹 애플리케이션 개발",
"price": "$500부터"
},
"mobile": {
"title": "모바일 앱",
"description": "iOS 및 Android 네이티브 앱 개발",
"price": "$1,000부터"
},
"design": {
"title": "UI/UX 디자인",
"description": "사용자 중심의 인터페이스 및 경험 디자인",
"price": "$300부터"
},
"marketing": {
"title": "디지털 마케팅",
"description": "SEO, 소셜미디어 마케팅, 광고 관리",
"price": "$200부터"
},
"meta": {
"title": "서비스",
"description": "SmartSolTech의 전문 서비스를 확인해보세요. 웹 개발, 모바일 앱, UI/UX 디자인, 디지털 마케팅 및 기타 기술 솔루션.",
"keywords": "웹 개발, 모바일 앱, UI/UX 디자인, 디지털 마케팅, 기술 솔루션, SmartSolTech"
},
"hero": {
"title": "우리의",
"title_highlight": "서비스",
"subtitle": "혁신적인 기술로 비즈니스 성장 지원"
},
"cards": {
"starting_price": "시작 가격",
"consultation": "상담",
"contact": "연락하기",
"calculate_cost": "비용 계산",
"popular": "인기",
"coming_soon": "서비스 준비중",
"coming_soon_desc": "곧 다양한 서비스를 제공할 예정입니다!"
},
"process": {
"title": "프로젝트 수행 과정",
"subtitle": "체계적이고 전문적인 프로세스로 프로젝트를 진행합니다",
"step1": {
"title": "상담 및 기획",
"description": "고객의 요구사항을 정확히 파악하고 최적의 솔루션을 기획합니다"
},
"step2": {
"title": "디자인 및 설계",
"description": "사용자 중심의 직관적인 디자인과 견고한 시스템 아키텍처를 설계합니다"
},
"step3": {
"title": "개발 및 구현",
"description": "최신 기술과 모범 사례를 활용하여 효율적이고 확장 가능한 솔루션을 개발합니다"
},
"step4": {
"title": "테스트 및 배포",
"description": "철저한 테스트를 통해 품질을 보장하고 안정적인 배포를 진행합니다"
}
},
"why_choose": {
"title": "왜 SmartSolTech를 선택해야 할까요?",
"modern_tech": {
"title": "최신 기술 활용",
"description": "항상 최신 기술 트렌드를 파악하고, 검증된 기술 스택을 활용하여 미래 지향적인 솔루션을 제공합니다."
},
"expert_team": {
"title": "전문가 팀",
"description": "각 분야의 전문가들로 구성된 팀이 협력하여 최고 품질의 결과물을 보장합니다."
},
"fast_response": {
"title": "빠른 대응",
"description": "신속한 커뮤니케이션과 효율적인 프로젝트 관리로 정해진 일정 내에 프로젝트를 완료합니다."
},
"continuous_support": {
"title": "지속적인 지원",
"description": "프로젝트 완료 후에도 지속적인 유지보수와 기술 지원을 통해 장기적인 파트너십을 유지합니다."
},
"quality_guarantee": {
"title": "품질 보장",
"subtitle": "고객 만족을 위한\n최고 품질의 서비스"
}
},
"cta": {
"title": "프로젝트를 시작할 준비가 되셨나요?",
"subtitle": "무료 상담을 통해 최적의 솔루션을 제안해드리겠습니다",
"free_consultation": "무료 상담 신청",
"calculate_cost": "비용 계산하기",
"view_portfolio": "포트폴리오 보기"
}
},
"portfolio": {
"title": {
"recent": "최근",
"projects": "프로젝트"
},
"subtitle": "성공적으로 완료된 프로젝트들을 확인해보세요",
"description": "고객의 성공을 위해 완성한 프로젝트들을 살펴보세요",
"view_details": "자세히 보기",
"view_all": "모든 포트폴리오 보기",
"categories": {
"all": "전체",
"web": "웹 개발",
"mobile": "모바일 앱",
"uiux": "UI/UX 디자인"
},
"project_details": "프로젝트 상세정보",
"default": {
"ecommerce": "이커머스",
"title": "이커머스 플랫폼",
"description": "직관적인 인터페이스를 가진 현대적인 온라인 커머스 솔루션"
},
"meta": {
"title": "포트폴리오",
"description": "SmartSolTech의 다양한 프로젝트와 성공 사례들을 확인해보세요. 웹 개발, 모바일 앱, UI/UX 디자인 포트폴리오.",
"keywords": "포트폴리오, 웹 개발, 모바일 앱, UI/UX 디자인, 프로젝트, SmartSolTech"
}
},
"portfolio_page": {
"title": "우리의 포트폴리오",
"subtitle": "혁신적인 프로젝트와 창의적인 솔루션들을 만나보세요",
"categories": {
"all": "전체",
"web-development": "웹 개발",
"mobile-app": "모바일 앱",
"ui-ux-design": "UI/UX 디자인",
"branding": "브랜딩",
"marketing": "디지털 마케팅"
},
"buttons": {
"details": "자세히 보기",
"projectDetails": "프로젝트 상세보기",
"loadMore": "더 많은 프로젝트 보기",
"contact": "프로젝트 문의하기",
"calculate": "비용 계산하기"
},
"empty": {
"title": "아직 포트폴리오가 없습니다",
"subtitle": "곧 멋진 프로젝트들을 공개할 예정입니다!"
},
"cta": {
"title": "다음 프로젝트의 주인공이 되어보세요",
"subtitle": "우리와 함께 혁신적인 디지털 솔루션을 만들어보세요"
},
"labels": {
"featured": "추천",
"views": "조회수",
"likes": "좋아요"
}
},
"calculator": {
"title": "프로젝트 비용 계산기",
"subtitle": "실시간으로 정확한 비용 추정을 받기 위해 원하는 서비스와 요구사항을 선택하세요",
"next_step": "다음 단계",
"prev_step": "이전 단계",
"calculate": "계산하기",
"reset": "초기화",
"meta": {
"title": "프로젝트 비용 계산기",
"description": "대화형 계산기로 웹 개발, 모바일 앱 또는 디자인 프로젝트의 비용을 계산하세요"
},
"cta": {
"title": "프로젝트 견적을 확인해보세요",
"subtitle": "실시간 비용 계산을 위해 원하는 서비스와 요구사항을 선택하세요",
"button": "비용 계산기 사용하기"
},
"step1": {
"title": "서비스를 선택하세요",
"nav_title": "단계 1: 서비스",
"subtitle": "프로젝트에 필요한 서비스를 선택하세요"
},
"step2": {
"title": "프로젝트 세부사항",
"nav_title": "단계 2: 세부사항",
"subtitle": "프로젝트의 복잡도와 일정에 대해 알려주세요"
},
"complexity": {
"title": "프로젝트 복잡도",
"simple": "간단함",
"simple_desc": "기본 기능 및 표준 기능",
"medium": "보통",
"medium_desc": "맞춤 기능 및 통합",
"complex": "복잡함",
"complex_desc": "고급 기능 및 복잡한 통합"
},
"timeline": {
"title": "프로젝트 일정",
"standard": "표준 (4-8주)",
"standard_desc": "일반적인 개발 일정",
"rush": "급함 (2-4주)",
"rush_desc": "추가 비용으로 신속 배송",
"extended": "연장 (8주 이상)",
"extended_desc": "비용 최적화와 함께 유연한 일정"
},
"result": {
"title": "프로젝트 견적",
"subtitle": "예상 프로젝트 비용",
"nav_title": "결과",
"estimated_price": "예상 가격",
"price_note": "이는 대략적인 비용입니다. 최종 가격은 프로젝트 복잡도에 따라 달라질 수 있습니다.",
"summary": "프로젝트 요약",
"get_quote": "상세 견적 받기",
"contact_note": "상세한 상담과 정확한 견적을 위해 저희에게 연락주세요.",
"recalculate": "다시 계산하기",
"selected_services": "선택된 서비스",
"complexity": "복잡도",
"timeline": "일정"
}
},
"contact": {
"hero": {
"title": "연락하기",
"subtitle": "아이디어를 현실로 만들어드리겠습니다"
},
"ready_title": "프로젝트를 시작할 준비가 되셨나요?",
"ready_description": "아이디어를 현실로 바꿔보세요. 전문가들이 최고의 솔루션을 제공합니다.",
"form": {
"title": "프로젝트 문의",
"name": "이름",
"email": "이메일",
"phone": "전화번호",
"message": "메시지",
"submit": "문의 보내기",
"success": "문의가 성공적으로 전송되었습니다",
"error": "문의 전송 중 오류가 발생했습니다",
"service": {
"title": "관심 서비스",
"select": "관심 있는 서비스를 선택하세요",
"web": "웹 개발",
"mobile": "모바일 앱",
"design": "UI/UX 디자인",
"branding": "브랜딩",
"consulting": "컨설팅",
"other": "기타"
}
},
"info": {
"title": "연락처 정보"
},
"phone": {
"title": "전화 문의",
"number": "+82-2-1234-5678",
"hours": "월-금 9:00-18:00"
},
"email": {
"title": "이메일 문의",
"address": "info@smartsoltech.co.kr",
"response": "24시간 내 응답"
},
"telegram": {
"title": "텔레그램",
"subtitle": "빠른 응답을 위해"
},
"address": {
"title": "사무실 주소",
"line1": "서울시 강남구 테헤란로 123",
"line2": "대한민국"
},
"cta": {
"ready": "준비되셨나요?",
"start": "시작하기",
"question": "궁금한 점이 있나요?",
"subtitle": "프로젝트에 대한 상담을 제공합니다"
},
"meta": {
"title": "연락처",
"description": "프로젝트 문의나 상담을 위해 언제든지 연락주세요"
}
},
"about": {
"hero": {
"title": "SmartSolTech 소개",
"subtitle": "혁신과 기술로 미래를 만들어갑니다"
},
"company": {
"title": "회사 정보",
"description1": "SmartSolTech는 2020년에 설립된 기술 회사로, 웹 개발, 모바일 앱 개발, UI/UX 디자인 분야의 전문성으로 인정받고 있습니다.",
"description2": "고객의 니즈를 정확히 파악하고 최신 기술을 활용한 혁신적인 솔루션을 제공합니다."
},
"stats": {
"projects": "완료된 프로젝트",
"experience": "년 경험",
"clients": "만족한 고객"
},
"mission": {
"title": "우리의 미션",
"description": "기술을 통해 고객의 비즈니스 성장을 지원하고 디지털 혁신을 선도하는 것이 우리의 미션입니다."
},
"values": {
"innovation": {
"title": "혁신",
"description": "지속적인 R&D와 최첨단 기술 도입으로 혁신적인 솔루션을 제공합니다."
},
"quality": {
"title": "품질",
"description": "높은 품질 기준을 유지하며 고객이 만족할 수 있는 고품질 제품을 제공합니다."
},
"partnership": {
"title": "파트너십",
"description": "고객과의 긴밀한 소통과 협력을 통해 최고의 결과를 만들어냅니다."
}
},
"cta": {
"title": "함께 성장해나가겠습니다",
"subtitle": "아이디어를 현실로 바꿔보세요",
"button": "연락하기"
},
"meta": {
"title": "회사소개",
"description": "SmartSolTech는 혁신적인 기술로 고객의 비즈니스 성장을 지원하는 전문 개발 회사입니다"
}
},
"footer": {
"description": "혁신을 선도하는 디지털 솔루션 전문가",
"company": {
"description": "혁신을 선도하는 디지털 솔루션 전문가"
},
"links": {
"title": "빠른 링크"
},
"contact": {
"title": "연락처",
"email": "info@smartsoltech.co.kr",
"phone": "+82-2-1234-5678",
"address": "서울시 강남구 테헤란로 123"
},
"copyright": "© {{year}} SmartSolTech. 모든 권리 보유.",
"privacy": "개인정보처리방침",
"terms": "이용약관"
},
"theme": {
"light": "라이트 테마",
"dark": "다크 테마",
"toggle": "테마 전환"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "로딩 중...",
"error": "오류가 발생했습니다",
"success": "성공",
"view_more": "더 보기",
"back": "뒤로",
"next": "다음",
"previous": "이전",
"view_details": "자세히 보기"
},
"meta": {
"description": "SmartSolTech - 혁신적인 웹 개발, 모바일 앱 개발, UI/UX 디자인 서비스",
"keywords": "웹 개발, 모바일 앱, UI/UX 디자인, 한국",
"title": "SmartSolTech"
},
"nav": {
"home": "홈",
"about": "회사소개",
"services": "서비스",
"portfolio": "포트폴리오",
"calculator": "비용계산기"
},
"admin": {
"login": "관리자 패널 로그인",
"dashboard": "대시보드",
"title": "SmartSolTech 관리자"
},
"company": {
"name": "SmartSolTech",
"description": "혁신을 선도하는 디지털 솔루션 전문가",
"email": "info@smartsoltech.kr",
"phone": "+82-10-1234-5678"
},
"errors": {
"page_not_found": "페이지를 찾을 수 없습니다",
"error_occurred": "오류가 발생했습니다",
"title": "오류 - SmartSolTech",
"default_title": "오류가 발생했습니다",
"default_message": "요청을 처리하는 중 문제가 발생했습니다.",
"back_home": "홈으로 돌아가기",
"go_back": "뒤로 가기",
"need_help": "도움이 필요하신가요?",
"help_message": "문제가 지속되면 언제든지 저희에게 연락주세요.",
"contact_support": "고객지원 연락하기"
},
"pages": {
"home": "홈페이지",
"about": "회사소개",
"services": "서비스",
"portfolio": "포트폴리오",
"contact": "연락처",
"calculator": "비용계산기"
}
}

View File

@@ -1,173 +0,0 @@
{
"navigation": {
"home": "Главная",
"about": "О нас",
"services": "Услуги",
"portfolio": "Портфолио",
"contact": "Контакты",
"calculator": "Калькулятор",
"admin": "Админ"
},
"hero": {
"title": "Умные Технологические",
"subtitle": "Решения",
"description": "Инновационная веб-разработка, мобильные приложения, UI/UX дизайн для цифровой трансформации вашего бизнеса",
"cta_primary": "Начать проект",
"cta_secondary": "Посмотреть портфолио"
},
"services": {
"title": "Наши",
"title_highlight": "Услуги",
"description": "Цифровые решения с использованием передовых технологий и творческих идей",
"web_development": {
"title": "Веб-разработка",
"description": "Современные и адаптивные веб-сайты и веб-приложения",
"price": "$5,000~"
},
"mobile_app": {
"title": "Мобильные приложения",
"description": "Нативные и кроссплатформенные приложения для iOS и Android",
"price": "$8,000~"
},
"ui_ux_design": {
"title": "UI/UX дизайн",
"description": "Ориентированный на пользователя интуитивный и красивый дизайн интерфейса",
"price": "$3,000~"
},
"digital_marketing": {
"title": "Цифровой маркетинг",
"description": "Цифровой маркетинг через SEO, социальные сети, онлайн-рекламу",
"price": "$2,000~"
},
"view_all": "Посмотреть все услуги"
},
"portfolio": {
"title": "Недавние",
"title_highlight": "Проекты",
"description": "Ознакомьтесь с проектами, выполненными для успеха клиентов",
"view_details": "Подробнее",
"view_all": "Посмотреть все портфолио"
},
"calculator": {
"title": "Проверьте стоимость вашего проекта",
"description": "Выберите нужные услуги и требования для расчета стоимости в реальном времени",
"cta": "Использовать калькулятор стоимости"
},
"contact": {
"ready_title": "Готовы начать свой проект?",
"ready_description": "Превратите свои идеи в реальность. Эксперты предоставят лучшие решения.",
"phone_consultation": "Телефонная консультация",
"email_inquiry": "Запрос по электронной почте",
"telegram_chat": "Чат в Telegram",
"instant_response": "Мгновенный ответ доступен",
"free_consultation": "Заявка на бесплатную консультацию",
"form": {
"name": "Имя",
"email": "Электронная почта",
"phone": "Телефон",
"service_interest": "Интересующая услуга",
"service_options": {
"select": "Выберите интересующую услугу",
"web_development": "Веб-разработка",
"mobile_app": "Мобильное приложение",
"ui_ux_design": "UI/UX дизайн",
"branding": "Брендинг",
"consulting": "Консалтинг",
"other": "Другое"
},
"message": "Кратко опишите ваш проект",
"submit": "Подать заявку на консультацию"
}
},
"about": {
"hero_title": "О",
"hero_highlight": "SmartSolTech",
"hero_description": "Специалист по цифровым решениям, ведущий к успеху клиентов с помощью инновационных технологий",
"overview": {
"title": "Создавая будущее с инновациями и креативностью",
"description_1": "SmartSolTech - это специалист по цифровым решениям, основанный в 2020 году, поддерживающий успех клиентского бизнеса с помощью инновационных технологий и творческих идей в области веб-разработки, мобильных приложений и UI/UX дизайна.",
"description_2": "Мы не просто предоставляем технологии, но понимаем цели клиентов и предлагаем оптимальные решения, чтобы стать партнерами, растущими вместе.",
"stats": {
"projects": "100+",
"projects_label": "Завершенные проекты",
"clients": "50+",
"clients_label": "Довольные клиенты",
"experience": "4 года",
"experience_label": "Опыт в отрасли"
},
"mission": "Наша миссия",
"mission_text": "Помощь всем предприятиям в достижении успеха в цифровую эпоху с помощью технологий",
"vision": "Наше видение",
"vision_text": "Рост как глобальной компании цифровых решений, представляющей Корею, для ведения цифровых инноваций для клиентов по всему миру"
},
"values": {
"title": "Основные",
"title_highlight": "Ценности",
"description": "Основные ценности, которых придерживается SmartSolTech",
"innovation": {
"title": "Инновации",
"description": "Мы предоставляем инновационные решения через непрерывные исследования и внедрение передовых технологий."
},
"collaboration": {
"title": "Сотрудничество",
"description": "Мы создаем лучшие результаты через тесное общение и сотрудничество с клиентами."
},
"quality": {
"title": "Качество",
"description": "Мы поддерживаем высокие стандарты качества и предоставляем высококачественные продукты, которыми клиенты могут быть довольны."
},
"growth": {
"title": "Рост",
"description": "Мы растем вместе с клиентами и стремимся к непрерывному обучению и развитию."
}
},
"team": {
"title": "Наша",
"title_highlight": "Команда",
"description": "Представляем команду SmartSolTech с экспертизой и страстью"
},
"tech_stack": {
"title": "Технологический",
"title_highlight": "Стек",
"description": "Мы предоставляем лучшие решения с передовыми технологиями и проверенными инструментами",
"frontend": "Frontend",
"backend": "Backend",
"mobile": "Мобильные"
},
"cta": {
"title": "Станьте партнером для совместного успеха",
"description": "Выведите свой бизнес на следующий уровень с SmartSolTech",
"partnership": "Запрос о партнерстве",
"portfolio": "Посмотреть портфолио"
}
},
"footer": {
"company": "SmartSolTech",
"description": "Специалист по цифровым решениям, ведущий инновации",
"quick_links": "Быстрые ссылки",
"services": "Услуги",
"contact_info": "Контактная информация",
"follow_us": "Подписывайтесь",
"rights": "Все права защищены."
},
"theme": {
"light": "Светлая тема",
"dark": "Темная тема",
"toggle": "Переключить тему"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Загрузка...",
"error": "Произошла ошибка",
"success": "Успешно",
"view_more": "Посмотреть еще",
"back": "Назад",
"next": "Далее",
"previous": "Предыдущий"
}
}

View File

@@ -1,173 +0,0 @@
{
"navigation": {
"home": "Главная",
"about": "О нас",
"services": "Услуги",
"portfolio": "Портфолио",
"contact": "Контакты",
"calculator": "Калькулятор",
"admin": "Админ"
},
"hero": {
"title": "Умные Технологические",
"subtitle": "Решения",
"description": "Инновационная веб-разработка, мобильные приложения, UI/UX дизайн для цифровой трансформации вашего бизнеса",
"cta_primary": "Начать проект",
"cta_secondary": "Посмотреть портфолио"
},
"services": {
"title": "Наши",
"title_highlight": "Услуги",
"description": "Цифровые решения с использованием передовых технологий и творческих идей",
"web_development": {
"title": "Веб-разработка",
"description": "Современные и адаптивные веб-сайты и веб-приложения",
"price": "$5,000~"
},
"mobile_app": {
"title": "Мобильные приложения",
"description": "Нативные и кроссплатформенные приложения для iOS и Android",
"price": "$8,000~"
},
"ui_ux_design": {
"title": "UI/UX дизайн",
"description": "Ориентированный на пользователя интуитивный и красивый дизайн интерфейса",
"price": "$3,000~"
},
"digital_marketing": {
"title": "Цифровой маркетинг",
"description": "Цифровой маркетинг через SEO, социальные сети, онлайн-рекламу",
"price": "$2,000~"
},
"view_all": "Посмотреть все услуги"
},
"portfolio": {
"title": "Недавние",
"title_highlight": "Проекты",
"description": "Ознакомьтесь с проектами, выполненными для успеха клиентов",
"view_details": "Подробнее",
"view_all": "Посмотреть все портфолио"
},
"calculator": {
"title": "Проверьте стоимость вашего проекта",
"description": "Выберите нужные услуги и требования для расчета стоимости в реальном времени",
"cta": "Использовать калькулятор стоимости"
},
"contact": {
"ready_title": "Готовы начать свой проект?",
"ready_description": "Превратите свои идеи в реальность. Эксперты предоставят лучшие решения.",
"phone_consultation": "Телефонная консультация",
"email_inquiry": "Запрос по электронной почте",
"telegram_chat": "Чат в Telegram",
"instant_response": "Мгновенный ответ доступен",
"free_consultation": "Заявка на бесплатную консультацию",
"form": {
"name": "Имя",
"email": "Электронная почта",
"phone": "Телефон",
"service_interest": "Интересующая услуга",
"service_options": {
"select": "Выберите интересующую услугу",
"web_development": "Веб-разработка",
"mobile_app": "Мобильное приложение",
"ui_ux_design": "UI/UX дизайн",
"branding": "Брендинг",
"consulting": "Консалтинг",
"other": "Другое"
},
"message": "Кратко опишите ваш проект",
"submit": "Подать заявку на консультацию"
}
},
"about": {
"hero_title": "О",
"hero_highlight": "SmartSolTech",
"hero_description": "Специалист по цифровым решениям, ведущий к успеху клиентов с помощью инновационных технологий",
"overview": {
"title": "Создавая будущее с инновациями и креативностью",
"description_1": "SmartSolTech - это специалист по цифровым решениям, основанный в 2020 году, поддерживающий успех клиентского бизнеса с помощью инновационных технологий и творческих идей в области веб-разработки, мобильных приложений и UI/UX дизайна.",
"description_2": "Мы не просто предоставляем технологии, но понимаем цели клиентов и предлагаем оптимальные решения, чтобы стать партнерами, растущими вместе.",
"stats": {
"projects": "100+",
"projects_label": "Завершенные проекты",
"clients": "50+",
"clients_label": "Довольные клиенты",
"experience": "4 года",
"experience_label": "Опыт в отрасли"
},
"mission": "Наша миссия",
"mission_text": "Помощь всем предприятиям в достижении успеха в цифровую эпоху с помощью технологий",
"vision": "Наше видение",
"vision_text": "Рост как глобальной компании цифровых решений, представляющей Корею, для ведения цифровых инноваций для клиентов по всему миру"
},
"values": {
"title": "Основные",
"title_highlight": "Ценности",
"description": "Основные ценности, которых придерживается SmartSolTech",
"innovation": {
"title": "Инновации",
"description": "Мы предоставляем инновационные решения через непрерывные исследования и внедрение передовых технологий."
},
"collaboration": {
"title": "Сотрудничество",
"description": "Мы создаем лучшие результаты через тесное общение и сотрудничество с клиентами."
},
"quality": {
"title": "Качество",
"description": "Мы поддерживаем высокие стандарты качества и предоставляем высококачественные продукты, которыми клиенты могут быть довольны."
},
"growth": {
"title": "Рост",
"description": "Мы растем вместе с клиентами и стремимся к непрерывному обучению и развитию."
}
},
"team": {
"title": "Наша",
"title_highlight": "Команда",
"description": "Представляем команду SmartSolTech с экспертизой и страстью"
},
"tech_stack": {
"title": "Технологический",
"title_highlight": "Стек",
"description": "Мы предоставляем лучшие решения с передовыми технологиями и проверенными инструментами",
"frontend": "Frontend",
"backend": "Backend",
"mobile": "Мобильные"
},
"cta": {
"title": "Станьте партнером для совместного успеха",
"description": "Выведите свой бизнес на следующий уровень с SmartSolTech",
"partnership": "Запрос о партнерстве",
"portfolio": "Посмотреть портфолио"
}
},
"footer": {
"company": "SmartSolTech",
"description": "Специалист по цифровым решениям, ведущий инновации",
"quick_links": "Быстрые ссылки",
"services": "Услуги",
"contact_info": "Контактная информация",
"follow_us": "Подписывайтесь",
"rights": "Все права защищены."
},
"theme": {
"light": "Светлая тема",
"dark": "Темная тема",
"toggle": "Переключить тему"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Загрузка...",
"error": "Произошла ошибка",
"success": "Успешно",
"view_more": "Посмотреть еще",
"back": "Назад",
"next": "Далее",
"previous": "Предыдущий"
}
}

View File

@@ -1,223 +0,0 @@
{
"navigation": {
"home": "Главная",
"about": "О нас",
"services": "Услуги",
"portfolio": "Портфолио",
"contact": "Контакты",
"calculator": "Калькулятор",
"admin": "Админ"
},
"hero": {
"title": "Умные Технологические",
"subtitle": "Решения",
"description": "Инновационная веб-разработка, мобильные приложения, UI/UX дизайн для цифровой трансформации вашего бизнеса",
"cta_primary": "Начать проект",
"cta_secondary": "Посмотреть портфолио"
},
"services": {
"title": "Наши",
"title_highlight": "Услуги",
"description": "Цифровые решения с использованием передовых технологий и творческих идей",
"web_development": {
"title": "Веб-разработка",
"description": "Современные и адаптивные веб-сайты и веб-приложения",
"price": "$5,000~"
},
"mobile_app": {
"title": "Мобильные приложения",
"description": "Нативные и кроссплатформенные приложения для iOS и Android",
"price": "$8,000~"
},
"ui_ux_design": {
"title": "UI/UX дизайн",
"description": "Ориентированный на пользователя интуитивный и красивый дизайн интерфейса",
"price": "$3,000~"
},
"digital_marketing": {
"title": "Цифровой маркетинг",
"description": "Цифровой маркетинг через SEO, социальные сети, онлайн-рекламу",
"price": "$2,000~"
},
"view_all": "Посмотреть все услуги"
},
"portfolio": {
"title": "Недавние",
"title_highlight": "Проекты",
"description": "Ознакомьтесь с проектами, выполненными для успеха клиентов",
"view_details": "Подробнее",
"view_all": "Посмотреть все портфолио"
},
"calculator": {
"title": "Калькулятор Стоимости Проекта",
"subtitle": "Выберите нужные услуги и требования для получения точной оценки стоимости в режиме реального времени",
"meta": {
"title": "Калькулятор стоимости проекта",
"description": "Рассчитайте стоимость вашего проекта веб-разработки, мобильного приложения или дизайна с помощью нашего интерактивного калькулятора"
},
"cta": {
"title": "Узнайте стоимость вашего проекта",
"subtitle": "Выберите необходимые услуги и требования, и мы рассчитаем стоимость в режиме реального времени",
"button": "Использовать калькулятор стоимости"
},
"step1": {
"title": "Шаг 1: Выбор услуг",
"subtitle": "Выберите необходимые услуги (можно выбрать несколько)"
},
"step2": {
"title": "Шаг 2: Детали проекта",
"subtitle": "Выберите сложность проекта и сроки"
},
"complexity": {
"title": "Сложность проекта",
"simple": "Простой",
"simple_desc": "Базовый функционал, стандартный дизайн",
"medium": "Средний",
"medium_desc": "Дополнительные функции, кастомный дизайн",
"complex": "Сложный",
"complex_desc": "Расширенный функционал, интеграции"
},
"timeline": {
"title": "Временные рамки",
"standard": "Стандартные",
"standard_desc": "Обычные сроки разработки",
"rush": "Срочно",
"rush_desc": "Ускоренная разработка (+50%)",
"extended": "Расширенные",
"extended_desc": "Длительная разработка (-20%)"
},
"result": {
"title": "Результат расчета",
"subtitle": "Вот ваша предварительная оценка стоимости проекта",
"estimated_price": "Предварительная стоимость",
"price_note": "* Окончательная стоимость может варьироваться в зависимости от деталей проекта",
"summary": "Сводка проекта",
"selected_services": "Выбранные услуги",
"complexity": "Сложность",
"timeline": "Временные рамки",
"get_quote": "Получить точное предложение",
"recalculate": "Пересчитать",
"contact_note": "Свяжитесь с нами для получения точного предложения и обсуждения деталей проекта"
},
"next_step": "Следующий шаг",
"prev_step": "Назад",
"calculate": "Рассчитать"
},
"contact": {
"ready_title": "Готовы начать свой проект?",
"ready_description": "Превратите свои идеи в реальность. Эксперты предоставят лучшие решения.",
"phone_consultation": "Телефонная консультация",
"email_inquiry": "Запрос по электронной почте",
"telegram_chat": "Чат в Telegram",
"instant_response": "Мгновенный ответ доступен",
"free_consultation": "Заявка на бесплатную консультацию",
"form": {
"name": "Имя",
"email": "Электронная почта",
"phone": "Телефон",
"service_interest": "Интересующая услуга",
"service_options": {
"select": "Выберите интересующую услугу",
"web_development": "Веб-разработка",
"mobile_app": "Мобильное приложение",
"ui_ux_design": "UI/UX дизайн",
"branding": "Брендинг",
"consulting": "Консалтинг",
"other": "Другое"
},
"message": "Кратко опишите ваш проект",
"submit": "Подать заявку на консультацию"
}
},
"about": {
"hero_title": "О",
"hero_highlight": "SmartSolTech",
"hero_description": "Специалист по цифровым решениям, ведущий к успеху клиентов с помощью инновационных технологий",
"overview": {
"title": "Создавая будущее с инновациями и креативностью",
"description_1": "SmartSolTech - это специалист по цифровым решениям, основанный в 2020 году, поддерживающий успех клиентского бизнеса с помощью инновационных технологий и творческих идей в области веб-разработки, мобильных приложений и UI/UX дизайна.",
"description_2": "Мы не просто предоставляем технологии, но понимаем цели клиентов и предлагаем оптимальные решения, чтобы стать партнерами, растущими вместе.",
"stats": {
"projects": "100+",
"projects_label": "Завершенные проекты",
"clients": "50+",
"clients_label": "Довольные клиенты",
"experience": "4 года",
"experience_label": "Опыт в отрасли"
},
"mission": "Наша миссия",
"mission_text": "Помощь всем предприятиям в достижении успеха в цифровую эпоху с помощью технологий",
"vision": "Наше видение",
"vision_text": "Рост как глобальной компании цифровых решений, представляющей Корею, для ведения цифровых инноваций для клиентов по всему миру"
},
"values": {
"title": "Основные",
"title_highlight": "Ценности",
"description": "Основные ценности, которых придерживается SmartSolTech",
"innovation": {
"title": "Инновации",
"description": "Мы предоставляем инновационные решения через непрерывные исследования и внедрение передовых технологий."
},
"collaboration": {
"title": "Сотрудничество",
"description": "Мы создаем лучшие результаты через тесное общение и сотрудничество с клиентами."
},
"quality": {
"title": "Качество",
"description": "Мы поддерживаем высокие стандарты качества и предоставляем высококачественные продукты, которыми клиенты могут быть довольны."
},
"growth": {
"title": "Рост",
"description": "Мы растем вместе с клиентами и стремимся к непрерывному обучению и развитию."
}
},
"team": {
"title": "Наша",
"title_highlight": "Команда",
"description": "Представляем команду SmartSolTech с экспертизой и страстью"
},
"tech_stack": {
"title": "Технологический",
"title_highlight": "Стек",
"description": "Мы предоставляем лучшие решения с передовыми технологиями и проверенными инструментами",
"frontend": "Frontend",
"backend": "Backend",
"mobile": "Мобильные"
},
"cta": {
"title": "Станьте партнером для совместного успеха",
"description": "Выведите свой бизнес на следующий уровень с SmartSolTech",
"partnership": "Запрос о партнерстве",
"portfolio": "Посмотреть портфолио"
}
},
"footer": {
"company": "SmartSolTech",
"description": "Специалист по цифровым решениям, ведущий инновации",
"quick_links": "Быстрые ссылки",
"services": "Услуги",
"contact_info": "Контактная информация",
"follow_us": "Подписывайтесь",
"rights": "Все права защищены."
},
"theme": {
"light": "Светлая тема",
"dark": "Темная тема",
"toggle": "Переключить тему"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Загрузка...",
"error": "Произошла ошибка",
"success": "Успешно",
"view_more": "Посмотреть еще",
"back": "Назад",
"next": "Далее",
"previous": "Предыдущий"
}
}

View File

@@ -1,223 +0,0 @@
{
"navigation": {
"home": "Главная",
"about": "О нас",
"services": "Услуги",
"portfolio": "Портфолио",
"contact": "Контакты",
"calculator": "Калькулятор",
"admin": "Админ"
},
"hero": {
"title": "Умные Технологические",
"subtitle": "Решения",
"description": "Инновационная веб-разработка, мобильные приложения, UI/UX дизайн для цифровой трансформации вашего бизнеса",
"cta_primary": "Начать проект",
"cta_secondary": "Посмотреть портфолио"
},
"services": {
"title": "Наши",
"title_highlight": "Услуги",
"description": "Цифровые решения с использованием передовых технологий и творческих идей",
"web_development": {
"title": "Веб-разработка",
"description": "Современные и адаптивные веб-сайты и веб-приложения",
"price": "$5,000~"
},
"mobile_app": {
"title": "Мобильные приложения",
"description": "Нативные и кроссплатформенные приложения для iOS и Android",
"price": "$8,000~"
},
"ui_ux_design": {
"title": "UI/UX дизайн",
"description": "Ориентированный на пользователя интуитивный и красивый дизайн интерфейса",
"price": "$3,000~"
},
"digital_marketing": {
"title": "Цифровой маркетинг",
"description": "Цифровой маркетинг через SEO, социальные сети, онлайн-рекламу",
"price": "$2,000~"
},
"view_all": "Посмотреть все услуги"
},
"portfolio": {
"title": "Недавние",
"title_highlight": "Проекты",
"description": "Ознакомьтесь с проектами, выполненными для успеха клиентов",
"view_details": "Подробнее",
"view_all": "Посмотреть все портфолио"
},
"calculator": {
"title": "Калькулятор Стоимости Проекта",
"subtitle": "Выберите нужные услуги и требования для получения точной оценки стоимости в режиме реального времени",
"meta": {
"title": "Калькулятор стоимости проекта",
"description": "Рассчитайте стоимость вашего проекта веб-разработки, мобильного приложения или дизайна с помощью нашего интерактивного калькулятора"
},
"cta": {
"title": "Узнайте стоимость вашего проекта",
"subtitle": "Выберите необходимые услуги и требования, и мы рассчитаем стоимость в режиме реального времени",
"button": "Использовать калькулятор стоимости"
},
"step1": {
"title": "Шаг 1: Выбор услуг",
"subtitle": "Выберите необходимые услуги (можно выбрать несколько)"
},
"step2": {
"title": "Шаг 2: Детали проекта",
"subtitle": "Выберите сложность проекта и сроки"
},
"complexity": {
"title": "Сложность проекта",
"simple": "Простой",
"simple_desc": "Базовый функционал, стандартный дизайн",
"medium": "Средний",
"medium_desc": "Дополнительные функции, кастомный дизайн",
"complex": "Сложный",
"complex_desc": "Расширенный функционал, интеграции"
},
"timeline": {
"title": "Временные рамки",
"standard": "Стандартные",
"standard_desc": "Обычные сроки разработки",
"rush": "Срочно",
"rush_desc": "Ускоренная разработка (+50%)",
"extended": "Расширенные",
"extended_desc": "Длительная разработка (-20%)"
},
"result": {
"title": "Результат расчета",
"subtitle": "Вот ваша предварительная оценка стоимости проекта",
"estimated_price": "Предварительная стоимость",
"price_note": "* Окончательная стоимость может варьироваться в зависимости от деталей проекта",
"summary": "Сводка проекта",
"selected_services": "Выбранные услуги",
"complexity": "Сложность",
"timeline": "Временные рамки",
"get_quote": "Получить точное предложение",
"recalculate": "Пересчитать",
"contact_note": "Свяжитесь с нами для получения точного предложения и обсуждения деталей проекта"
},
"next_step": "Следующий шаг",
"prev_step": "Назад",
"calculate": "Рассчитать"
},
"contact": {
"ready_title": "Готовы начать свой проект?",
"ready_description": "Превратите свои идеи в реальность. Эксперты предоставят лучшие решения.",
"phone_consultation": "Телефонная консультация",
"email_inquiry": "Запрос по электронной почте",
"telegram_chat": "Чат в Telegram",
"instant_response": "Мгновенный ответ доступен",
"free_consultation": "Заявка на бесплатную консультацию",
"form": {
"name": "Имя",
"email": "Электронная почта",
"phone": "Телефон",
"service_interest": "Интересующая услуга",
"service_options": {
"select": "Выберите интересующую услугу",
"web_development": "Веб-разработка",
"mobile_app": "Мобильное приложение",
"ui_ux_design": "UI/UX дизайн",
"branding": "Брендинг",
"consulting": "Консалтинг",
"other": "Другое"
},
"message": "Кратко опишите ваш проект",
"submit": "Подать заявку на консультацию"
}
},
"about": {
"hero_title": "О",
"hero_highlight": "SmartSolTech",
"hero_description": "Специалист по цифровым решениям, ведущий к успеху клиентов с помощью инновационных технологий",
"overview": {
"title": "Создавая будущее с инновациями и креативностью",
"description_1": "SmartSolTech - это специалист по цифровым решениям, основанный в 2020 году, поддерживающий успех клиентского бизнеса с помощью инновационных технологий и творческих идей в области веб-разработки, мобильных приложений и UI/UX дизайна.",
"description_2": "Мы не просто предоставляем технологии, но понимаем цели клиентов и предлагаем оптимальные решения, чтобы стать партнерами, растущими вместе.",
"stats": {
"projects": "100+",
"projects_label": "Завершенные проекты",
"clients": "50+",
"clients_label": "Довольные клиенты",
"experience": "4 года",
"experience_label": "Опыт в отрасли"
},
"mission": "Наша миссия",
"mission_text": "Помощь всем предприятиям в достижении успеха в цифровую эпоху с помощью технологий",
"vision": "Наше видение",
"vision_text": "Рост как глобальной компании цифровых решений, представляющей Корею, для ведения цифровых инноваций для клиентов по всему миру"
},
"values": {
"title": "Основные",
"title_highlight": "Ценности",
"description": "Основные ценности, которых придерживается SmartSolTech",
"innovation": {
"title": "Инновации",
"description": "Мы предоставляем инновационные решения через непрерывные исследования и внедрение передовых технологий."
},
"collaboration": {
"title": "Сотрудничество",
"description": "Мы создаем лучшие результаты через тесное общение и сотрудничество с клиентами."
},
"quality": {
"title": "Качество",
"description": "Мы поддерживаем высокие стандарты качества и предоставляем высококачественные продукты, которыми клиенты могут быть довольны."
},
"growth": {
"title": "Рост",
"description": "Мы растем вместе с клиентами и стремимся к непрерывному обучению и развитию."
}
},
"team": {
"title": "Наша",
"title_highlight": "Команда",
"description": "Представляем команду SmartSolTech с экспертизой и страстью"
},
"tech_stack": {
"title": "Технологический",
"title_highlight": "Стек",
"description": "Мы предоставляем лучшие решения с передовыми технологиями и проверенными инструментами",
"frontend": "Frontend",
"backend": "Backend",
"mobile": "Мобильные"
},
"cta": {
"title": "Станьте партнером для совместного успеха",
"description": "Выведите свой бизнес на следующий уровень с SmartSolTech",
"partnership": "Запрос о партнерстве",
"portfolio": "Посмотреть портфолио"
}
},
"footer": {
"company": "SmartSolTech",
"description": "Специалист по цифровым решениям, ведущий инновации",
"quick_links": "Быстрые ссылки",
"services": "Услуги",
"contact_info": "Контактная информация",
"follow_us": "Подписывайтесь",
"rights": "Все права защищены."
},
"theme": {
"light": "Светлая тема",
"dark": "Темная тема",
"toggle": "Переключить тему"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Загрузка...",
"error": "Произошла ошибка",
"success": "Успешно",
"view_more": "Посмотреть еще",
"back": "Назад",
"next": "Далее",
"previous": "Предыдущий"
}
}

View File

@@ -0,0 +1,424 @@
{
"navigation": {
"home": "Главная",
"about": "О нас",
"services": "Услуги",
"portfolio": "Портфолио",
"contact": "Контакты",
"calculator": "Калькулятор",
"admin": "Админ"
},
"hero": {
"title": {
"smart": "Умные",
"solutions": "Решения"
},
"subtitle": "Развивайте свой бизнес с инновационными технологиями",
"description": "Инновационная веб-разработка, мобильные приложения, UI/UX дизайн для цифровой трансформации вашего бизнеса",
"cta": {
"start": "Начать",
"portfolio": "Смотреть портфолио"
}
},
"services": {
"title": {
"our": "Наши",
"services": "Услуги"
},
"subtitle": "Профессиональные услуги разработки для воплощения ваших идей в реальность",
"description": "Цифровые решения с использованием передовых технологий и творческих идей",
"view_all": "Посмотреть все услуги",
"web": {
"title": "Веб-разработка",
"description": "Адаптивные сайты и веб-приложения",
"price": "От $500"
},
"mobile": {
"title": "Мобильные приложения",
"description": "Разработка нативных приложений для iOS и Android",
"price": "От $1,000"
},
"design": {
"title": "UI/UX Дизайн",
"description": "Дизайн интерфейсов и пользовательского опыта",
"price": "От $300"
},
"marketing": {
"title": "Цифровой маркетинг",
"description": "SEO, SMM, управление рекламой",
"price": "От $200"
},
"meta": {
"title": "Услуги",
"description": "Ознакомьтесь с профессиональными услугами SmartSolTech. Веб-разработка, мобильные приложения, UI/UX дизайн, цифровой маркетинг и другие технологические решения.",
"keywords": "веб-разработка, мобильные приложения, UI/UX дизайн, цифровой маркетинг, технологические решения, SmartSolTech"
},
"hero": {
"title": "Наши",
"title_highlight": "Услуги",
"subtitle": "Поддержка роста бизнеса с инновационными технологиями"
},
"cards": {
"starting_price": "Начальная цена",
"consultation": "консультация",
"contact": "Связаться",
"calculate_cost": "Рассчитать стоимость",
"popular": "Популярно",
"coming_soon": "Услуги скоро появятся",
"coming_soon_desc": "Скоро мы предложим различные услуги!"
},
"process": {
"title": "Процесс реализации проекта",
"subtitle": "Мы ведем проекты с системным и профессиональным подходом",
"step1": {
"title": "Консультация и планирование",
"description": "Точно понимаем требования клиента и планируем оптимальное решение"
},
"step2": {
"title": "Дизайн и проектирование",
"description": "Проектируем интуитивный дизайн, ориентированный на пользователя, и надежную системную архитектуру"
},
"step3": {
"title": "Разработка и реализация",
"description": "Разрабатываем эффективные и масштабируемые решения, используя новейшие технологии и лучшие практики"
},
"step4": {
"title": "Тестирование и развертывание",
"description": "Обеспечиваем качество через тщательное тестирование и проводим стабильное развертывание"
}
},
"why_choose": {
"title": "Почему стоит выбрать SmartSolTech?",
"modern_tech": {
"title": "Использование современных технологий",
"description": "Всегда отслеживаем новейшие технологические тренды и используем проверенный технологический стек для предоставления футуристических решений."
},
"expert_team": {
"title": "Экспертная команда",
"description": "Команда, состоящая из экспертов в каждой области, сотрудничает для обеспечения результатов высочайшего качества."
},
"fast_response": {
"title": "Быстрое реагирование",
"description": "Завершаем проекты в установленные сроки благодаря быстрой коммуникации и эффективному управлению проектами."
},
"continuous_support": {
"title": "Постоянная поддержка",
"description": "Поддерживаем долгосрочное партнерство через постоянное обслуживание и техническую поддержку даже после завершения проекта."
},
"quality_guarantee": {
"title": "Гарантия качества",
"subtitle": "Для удовлетворения клиентов\nСервис высочайшего качества"
}
},
"cta": {
"title": "Готовы начать проект?",
"subtitle": "Мы предложим оптимальное решение через бесплатную консультацию",
"free_consultation": "Подать заявку на бесплатную консультацию",
"calculate_cost": "Рассчитать стоимость",
"view_portfolio": "Посмотреть портфолио"
}
},
"portfolio": {
"title": {
"recent": "Недавние",
"projects": "Проекты"
},
"subtitle": "Ознакомьтесь с успешно завершенными проектами",
"description": "Посмотрите на проекты, выполненные для успеха клиентов",
"view_details": "Подробнее",
"view_all": "Посмотреть все портфолио",
"categories": {
"all": "Все",
"web": "Веб-разработка",
"mobile": "Мобильные приложения",
"uiux": "UI/UX Дизайн"
},
"project_details": "Детали проекта",
"default": {
"ecommerce": "Электронная коммерция",
"title": "Платформа электронной коммерции",
"description": "Современное решение для интернет-торговли с интуитивным интерфейсом"
},
"meta": {
"title": "Портфолио",
"description": "Ознакомьтесь с разнообразными проектами и историями успеха SmartSolTech. Портфолио веб-разработки, мобильных приложений, UI/UX дизайна.",
"keywords": "портфолио, веб-разработка, мобильные приложения, UI/UX дизайн, проекты, SmartSolTech"
}
},
"portfolio_page": {
"title": "Наше портфолио",
"subtitle": "Откройте для себя инновационные проекты и креативные решения",
"categories": {
"all": "Все",
"web-development": "Веб-разработка",
"mobile-app": "Мобильные приложения",
"ui-ux-design": "UI/UX Дизайн",
"branding": "Брендинг",
"marketing": "Цифровой маркетинг"
},
"buttons": {
"details": "Подробнее",
"projectDetails": "Детали проекта",
"loadMore": "Загрузить больше проектов",
"contact": "Заказать проект",
"calculate": "Рассчитать стоимость"
},
"empty": {
"title": "Портфолио пока пусто",
"subtitle": "Скоро мы представим потрясающие проекты!"
},
"cta": {
"title": "Станьте звездой следующего проекта",
"subtitle": "Создавайте инновационные цифровые решения вместе с нами"
},
"labels": {
"featured": "РЕКОМЕНДУЕМОЕ",
"views": "просмотров",
"likes": "лайков"
}
},
"calculator": {
"title": "Калькулятор стоимости проекта",
"subtitle": "Выберите нужные услуги и требования для получения точной оценки стоимости в реальном времени",
"next_step": "Следующий шаг",
"prev_step": "Предыдущий шаг",
"calculate": "Рассчитать",
"reset": "Сброс",
"meta": {
"title": "Калькулятор стоимости проекта",
"description": "Рассчитайте стоимость вашего проекта веб-разработки, мобильного приложения или дизайна с помощью нашего интерактивного калькулятора"
},
"cta": {
"title": "Проверьте оценку вашего проекта",
"subtitle": "Выберите нужные услуги и требования для расчета стоимости в реальном времени",
"button": "Использовать калькулятор стоимости"
},
"step1": {
"title": "Выберите ваши услуги",
"nav_title": "Шаг 1: Услуги",
"subtitle": "Выберите услуги, необходимые для вашего проекта"
},
"step2": {
"title": "Детали проекта",
"nav_title": "Шаг 2: Детали",
"subtitle": "Расскажите нам о сложности и сроках вашего проекта"
},
"complexity": {
"title": "Сложность проекта",
"simple": "Простой",
"simple_desc": "Базовые функции и стандартный функционал",
"medium": "Средний",
"medium_desc": "Пользовательские функции и интеграции",
"complex": "Сложный",
"complex_desc": "Продвинутые функции и сложные интеграции"
},
"timeline": {
"title": "Сроки проекта",
"standard": "Стандартные (4-8 недель)",
"standard_desc": "Обычные сроки разработки",
"rush": "Срочные (2-4 недели)",
"rush_desc": "Ускоренная доставка с дополнительной стоимостью",
"extended": "Расширенные (8+ недель)",
"extended_desc": "Гибкие сроки с оптимизацией стоимости"
},
"result": {
"title": "Оценка проекта",
"subtitle": "Ваша расчетная стоимость проекта",
"nav_title": "Результат",
"estimated_price": "Расчетная цена",
"price_note": "Это приблизительная стоимость. Итоговая цена может варьироваться в зависимости от сложности проекта.",
"summary": "Сводка проекта",
"get_quote": "Получить подробное предложение",
"contact_note": "Свяжитесь с нами для подробной консультации и точного предложения.",
"recalculate": "Рассчитать снова",
"selected_services": "Выбранные услуги",
"complexity": "Сложность",
"timeline": "Сроки"
}
},
"contact": {
"hero": {
"title": "Свяжитесь с нами",
"subtitle": "Мы здесь, чтобы помочь воплотить ваши идеи в жизнь"
},
"ready_title": "Готовы начать свой проект?",
"ready_description": "Превратите свои идеи в реальность. Эксперты предоставят лучшие решения.",
"form": {
"title": "Запрос проекта",
"name": "Имя",
"email": "Email",
"phone": "Телефон",
"message": "Сообщение",
"submit": "Отправить запрос",
"success": "Запрос успешно отправлен",
"error": "Произошла ошибка при отправке запроса",
"service": {
"title": "Интересующая услуга",
"select": "Выберите интересующую услугу",
"web": "Веб-разработка",
"mobile": "Мобильное приложение",
"design": "UI/UX Дизайн",
"branding": "Брендинг",
"consulting": "Консультирование",
"other": "Другое"
}
},
"info": {
"title": "Контактная информация"
},
"phone": {
"title": "Телефонный запрос",
"number": "+82-2-1234-5678",
"hours": "Пн-Пт 9:00-18:00"
},
"email": {
"title": "Email запрос",
"address": "info@smartsoltech.co.kr",
"response": "Ответ в течение 24 часов"
},
"telegram": {
"title": "Telegram",
"subtitle": "Для быстрого ответа"
},
"address": {
"title": "Адрес офиса",
"line1": "ул. Тегеран-ро, 123, Каннам-гу",
"line2": "Сеул, Южная Корея"
},
"cta": {
"ready": "Готовы?",
"start": "Начать",
"question": "Есть вопросы?",
"subtitle": "Мы предоставляем консультации по проектам"
},
"meta": {
"title": "Контакты",
"description": "Свяжитесь с нами в любое время для запросов по проектам или консультации"
}
},
"about": {
"hero": {
"title": "О SmartSolTech",
"subtitle": "Создаем будущее с инновациями и технологиями"
},
"company": {
"title": "Информация о компании",
"description1": "SmartSolTech - технологическая компания, основанная в 2020 году, признанная за экспертизу в веб-разработке, разработке мобильных приложений и UI/UX дизайне.",
"description2": "Мы точно понимаем потребности клиентов и предоставляем инновационные решения, используя новейшие технологии."
},
"stats": {
"projects": "Завершенных проектов",
"experience": "Лет опыта",
"clients": "Довольных клиентов"
},
"mission": {
"title": "Наша миссия",
"description": "Наша миссия - поддерживать рост бизнеса клиентов через технологии и лидировать в цифровых инновациях."
},
"values": {
"innovation": {
"title": "Инновации",
"description": "Мы предоставляем инновационные решения через постоянные исследования и внедрение передовых технологий."
},
"quality": {
"title": "Качество",
"description": "Мы поддерживаем высокие стандарты качества и предоставляем высококачественные продукты, которыми клиенты могут быть довольны."
},
"partnership": {
"title": "Партнерство",
"description": "Мы создаем лучшие результаты через тесное общение и сотрудничество с клиентами."
}
},
"cta": {
"title": "Мы будем расти вместе",
"subtitle": "Превратите свои идеи в реальность",
"button": "Связаться с нами"
},
"meta": {
"title": "О нас",
"description": "SmartSolTech - профессиональная компания разработки, которая поддерживает рост бизнеса клиентов инновационными технологиями"
}
},
"footer": {
"description": "Специалист цифровых решений, лидирующий в инновациях",
"company": {
"description": "Специалист цифровых решений, лидирующий в инновациях"
},
"links": {
"title": "Быстрые ссылки"
},
"contact": {
"title": "Контакты",
"email": "info@smartsoltech.co.kr",
"phone": "+82-2-1234-5678",
"address": "ул. Тегеран-ро, 123, Каннам-гу, Сеул"
},
"copyright": "© {{year}} SmartSolTech. Все права защищены.",
"privacy": "Политика конфиденциальности",
"terms": "Условия использования"
},
"theme": {
"light": "Светлая тема",
"dark": "Темная тема",
"toggle": "Переключить тему"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Загрузка...",
"error": "Произошла ошибка",
"success": "Успешно",
"view_more": "Смотреть больше",
"back": "Назад",
"next": "Далее",
"previous": "Предыдущий",
"view_details": "Подробнее"
},
"meta": {
"description": "SmartSolTech - Инновационная веб-разработка, разработка мобильных приложений, UI/UX дизайн",
"keywords": "веб-разработка, мобильные приложения, UI/UX дизайн, Корея",
"title": "SmartSolTech"
},
"nav": {
"home": "Главная",
"about": "О нас",
"services": "Услуги",
"portfolio": "Портфолио",
"calculator": "Калькулятор"
},
"admin": {
"login": "Вход в админ-панель",
"dashboard": "Панель управления",
"title": "SmartSolTech Админ"
},
"company": {
"name": "SmartSolTech",
"description": "Специалист цифровых решений, лидирующий в инновациях",
"email": "info@smartsoltech.kr",
"phone": "+82-10-1234-5678"
},
"errors": {
"page_not_found": "Страница не найдена",
"error_occurred": "Произошла ошибка",
"title": "Ошибка - SmartSolTech",
"default_title": "Произошла ошибка",
"default_message": "Возникла проблема при обработке запроса.",
"back_home": "Вернуться на главную",
"go_back": "Вернуться",
"need_help": "Нужна помощь?",
"help_message": "Если проблема повторяется, свяжитесь с нами в любое время.",
"contact_support": "Связаться с поддержкой"
},
"pages": {
"home": "Главная страница",
"about": "О нас",
"services": "Услуги",
"portfolio": "Портфолио",
"contact": "Контакты",
"calculator": "Калькулятор"
}
}

View File

@@ -0,0 +1,424 @@
{
"navigation": {
"home": "Главная",
"about": "О нас",
"services": "Услуги",
"portfolio": "Портфолио",
"contact": "Контакты",
"calculator": "Калькулятор",
"admin": "Админ"
},
"hero": {
"title": {
"smart": "Умные",
"solutions": "Решения"
},
"subtitle": "Развивайте свой бизнес с инновационными технологиями",
"description": "Инновационная веб-разработка, мобильные приложения, UI/UX дизайн для цифровой трансформации вашего бизнеса",
"cta": {
"start": "Начать",
"portfolio": "Смотреть портфолио"
}
},
"services": {
"title": {
"our": "Наши",
"services": "Услуги"
},
"subtitle": "Профессиональные услуги разработки для воплощения ваших идей в реальность",
"description": "Цифровые решения с использованием передовых технологий и творческих идей",
"view_all": "Посмотреть все услуги",
"web": {
"title": "Веб-разработка",
"description": "Адаптивные сайты и веб-приложения",
"price": "От $500"
},
"mobile": {
"title": "Мобильные приложения",
"description": "Разработка нативных приложений для iOS и Android",
"price": "От $1,000"
},
"design": {
"title": "UI/UX Дизайн",
"description": "Дизайн интерфейсов и пользовательского опыта",
"price": "От $300"
},
"marketing": {
"title": "Цифровой маркетинг",
"description": "SEO, SMM, управление рекламой",
"price": "От $200"
},
"meta": {
"title": "Услуги",
"description": "Ознакомьтесь с профессиональными услугами SmartSolTech. Веб-разработка, мобильные приложения, UI/UX дизайн, цифровой маркетинг и другие технологические решения.",
"keywords": "веб-разработка, мобильные приложения, UI/UX дизайн, цифровой маркетинг, технологические решения, SmartSolTech"
},
"hero": {
"title": "Наши",
"title_highlight": "Услуги",
"subtitle": "Поддержка роста бизнеса с инновационными технологиями"
},
"cards": {
"starting_price": "Начальная цена",
"consultation": "консультация",
"contact": "Связаться",
"calculate_cost": "Рассчитать стоимость",
"popular": "Популярно",
"coming_soon": "Услуги скоро появятся",
"coming_soon_desc": "Скоро мы предложим различные услуги!"
},
"process": {
"title": "Процесс реализации проекта",
"subtitle": "Мы ведем проекты с системным и профессиональным подходом",
"step1": {
"title": "Консультация и планирование",
"description": "Точно понимаем требования клиента и планируем оптимальное решение"
},
"step2": {
"title": "Дизайн и проектирование",
"description": "Проектируем интуитивный дизайн, ориентированный на пользователя, и надежную системную архитектуру"
},
"step3": {
"title": "Разработка и реализация",
"description": "Разрабатываем эффективные и масштабируемые решения, используя новейшие технологии и лучшие практики"
},
"step4": {
"title": "Тестирование и развертывание",
"description": "Обеспечиваем качество через тщательное тестирование и проводим стабильное развертывание"
}
},
"why_choose": {
"title": "Почему стоит выбрать SmartSolTech?",
"modern_tech": {
"title": "Использование современных технологий",
"description": "Всегда отслеживаем новейшие технологические тренды и используем проверенный технологический стек для предоставления футуристических решений."
},
"expert_team": {
"title": "Экспертная команда",
"description": "Команда, состоящая из экспертов в каждой области, сотрудничает для обеспечения результатов высочайшего качества."
},
"fast_response": {
"title": "Быстрое реагирование",
"description": "Завершаем проекты в установленные сроки благодаря быстрой коммуникации и эффективному управлению проектами."
},
"continuous_support": {
"title": "Постоянная поддержка",
"description": "Поддерживаем долгосрочное партнерство через постоянное обслуживание и техническую поддержку даже после завершения проекта."
},
"quality_guarantee": {
"title": "Гарантия качества",
"subtitle": "Для удовлетворения клиентов\nСервис высочайшего качества"
}
},
"cta": {
"title": "Готовы начать проект?",
"subtitle": "Мы предложим оптимальное решение через бесплатную консультацию",
"free_consultation": "Подать заявку на бесплатную консультацию",
"calculate_cost": "Рассчитать стоимость",
"view_portfolio": "Посмотреть портфолио"
}
},
"portfolio": {
"title": {
"recent": "Недавние",
"projects": "Проекты"
},
"subtitle": "Ознакомьтесь с успешно завершенными проектами",
"description": "Посмотрите на проекты, выполненные для успеха клиентов",
"view_details": "Подробнее",
"view_all": "Посмотреть все портфолио",
"categories": {
"all": "Все",
"web": "Веб-разработка",
"mobile": "Мобильные приложения",
"uiux": "UI/UX Дизайн"
},
"project_details": "Детали проекта",
"default": {
"ecommerce": "Электронная коммерция",
"title": "Платформа электронной коммерции",
"description": "Современное решение для интернет-торговли с интуитивным интерфейсом"
},
"meta": {
"title": "Портфолио",
"description": "Ознакомьтесь с разнообразными проектами и историями успеха SmartSolTech. Портфолио веб-разработки, мобильных приложений, UI/UX дизайна.",
"keywords": "портфолио, веб-разработка, мобильные приложения, UI/UX дизайн, проекты, SmartSolTech"
}
},
"portfolio_page": {
"title": "Наше портфолио",
"subtitle": "Откройте для себя инновационные проекты и креативные решения",
"categories": {
"all": "Все",
"web-development": "Веб-разработка",
"mobile-app": "Мобильные приложения",
"ui-ux-design": "UI/UX Дизайн",
"branding": "Брендинг",
"marketing": "Цифровой маркетинг"
},
"buttons": {
"details": "Подробнее",
"projectDetails": "Детали проекта",
"loadMore": "Загрузить больше проектов",
"contact": "Заказать проект",
"calculate": "Рассчитать стоимость"
},
"empty": {
"title": "Портфолио пока пусто",
"subtitle": "Скоро мы представим потрясающие проекты!"
},
"cta": {
"title": "Станьте звездой следующего проекта",
"subtitle": "Создавайте инновационные цифровые решения вместе с нами"
},
"labels": {
"featured": "РЕКОМЕНДУЕМОЕ",
"views": "просмотров",
"likes": "лайков"
}
},
"calculator": {
"title": "Калькулятор стоимости проекта",
"subtitle": "Выберите нужные услуги и требования для получения точной оценки стоимости в реальном времени",
"next_step": "Следующий шаг",
"prev_step": "Предыдущий шаг",
"calculate": "Рассчитать",
"reset": "Сброс",
"meta": {
"title": "Калькулятор стоимости проекта",
"description": "Рассчитайте стоимость вашего проекта веб-разработки, мобильного приложения или дизайна с помощью нашего интерактивного калькулятора"
},
"cta": {
"title": "Проверьте оценку вашего проекта",
"subtitle": "Выберите нужные услуги и требования для расчета стоимости в реальном времени",
"button": "Использовать калькулятор стоимости"
},
"step1": {
"title": "Выберите ваши услуги",
"nav_title": "Шаг 1: Услуги",
"subtitle": "Выберите услуги, необходимые для вашего проекта"
},
"step2": {
"title": "Детали проекта",
"nav_title": "Шаг 2: Детали",
"subtitle": "Расскажите нам о сложности и сроках вашего проекта"
},
"complexity": {
"title": "Сложность проекта",
"simple": "Простой",
"simple_desc": "Базовые функции и стандартный функционал",
"medium": "Средний",
"medium_desc": "Пользовательские функции и интеграции",
"complex": "Сложный",
"complex_desc": "Продвинутые функции и сложные интеграции"
},
"timeline": {
"title": "Сроки проекта",
"standard": "Стандартные (4-8 недель)",
"standard_desc": "Обычные сроки разработки",
"rush": "Срочные (2-4 недели)",
"rush_desc": "Ускоренная доставка с дополнительной стоимостью",
"extended": "Расширенные (8+ недель)",
"extended_desc": "Гибкие сроки с оптимизацией стоимости"
},
"result": {
"title": "Оценка проекта",
"subtitle": "Ваша расчетная стоимость проекта",
"nav_title": "Результат",
"estimated_price": "Расчетная цена",
"price_note": "Это приблизительная стоимость. Итоговая цена может варьироваться в зависимости от сложности проекта.",
"summary": "Сводка проекта",
"get_quote": "Получить подробное предложение",
"contact_note": "Свяжитесь с нами для подробной консультации и точного предложения.",
"recalculate": "Рассчитать снова",
"selected_services": "Выбранные услуги",
"complexity": "Сложность",
"timeline": "Сроки"
}
},
"contact": {
"hero": {
"title": "Свяжитесь с нами",
"subtitle": "Мы здесь, чтобы помочь воплотить ваши идеи в жизнь"
},
"ready_title": "Готовы начать свой проект?",
"ready_description": "Превратите свои идеи в реальность. Эксперты предоставят лучшие решения.",
"form": {
"title": "Запрос проекта",
"name": "Имя",
"email": "Email",
"phone": "Телефон",
"message": "Сообщение",
"submit": "Отправить запрос",
"success": "Запрос успешно отправлен",
"error": "Произошла ошибка при отправке запроса",
"service": {
"title": "Интересующая услуга",
"select": "Выберите интересующую услугу",
"web": "Веб-разработка",
"mobile": "Мобильное приложение",
"design": "UI/UX Дизайн",
"branding": "Брендинг",
"consulting": "Консультирование",
"other": "Другое"
}
},
"info": {
"title": "Контактная информация"
},
"phone": {
"title": "Телефонный запрос",
"number": "+82-2-1234-5678",
"hours": "Пн-Пт 9:00-18:00"
},
"email": {
"title": "Email запрос",
"address": "info@smartsoltech.co.kr",
"response": "Ответ в течение 24 часов"
},
"telegram": {
"title": "Telegram",
"subtitle": "Для быстрого ответа"
},
"address": {
"title": "Адрес офиса",
"line1": "ул. Тегеран-ро, 123, Каннам-гу",
"line2": "Сеул, Южная Корея"
},
"cta": {
"ready": "Готовы?",
"start": "Начать",
"question": "Есть вопросы?",
"subtitle": "Мы предоставляем консультации по проектам"
},
"meta": {
"title": "Контакты",
"description": "Свяжитесь с нами в любое время для запросов по проектам или консультации"
}
},
"about": {
"hero": {
"title": "О SmartSolTech",
"subtitle": "Создаем будущее с инновациями и технологиями"
},
"company": {
"title": "Информация о компании",
"description1": "SmartSolTech - технологическая компания, основанная в 2020 году, признанная за экспертизу в веб-разработке, разработке мобильных приложений и UI/UX дизайне.",
"description2": "Мы точно понимаем потребности клиентов и предоставляем инновационные решения, используя новейшие технологии."
},
"stats": {
"projects": "Завершенных проектов",
"experience": "Лет опыта",
"clients": "Довольных клиентов"
},
"mission": {
"title": "Наша миссия",
"description": "Наша миссия - поддерживать рост бизнеса клиентов через технологии и лидировать в цифровых инновациях."
},
"values": {
"innovation": {
"title": "Инновации",
"description": "Мы предоставляем инновационные решения через постоянные исследования и внедрение передовых технологий."
},
"quality": {
"title": "Качество",
"description": "Мы поддерживаем высокие стандарты качества и предоставляем высококачественные продукты, которыми клиенты могут быть довольны."
},
"partnership": {
"title": "Партнерство",
"description": "Мы создаем лучшие результаты через тесное общение и сотрудничество с клиентами."
}
},
"cta": {
"title": "Мы будем расти вместе",
"subtitle": "Превратите свои идеи в реальность",
"button": "Связаться с нами"
},
"meta": {
"title": "О нас",
"description": "SmartSolTech - профессиональная компания разработки, которая поддерживает рост бизнеса клиентов инновационными технологиями"
}
},
"footer": {
"description": "Специалист цифровых решений, лидирующий в инновациях",
"company": {
"description": "Специалист цифровых решений, лидирующий в инновациях"
},
"links": {
"title": "Быстрые ссылки"
},
"contact": {
"title": "Контакты",
"email": "info@smartsoltech.co.kr",
"phone": "+82-2-1234-5678",
"address": "ул. Тегеран-ро, 123, Каннам-гу, Сеул"
},
"copyright": "© {{year}} SmartSolTech. Все права защищены.",
"privacy": "Политика конфиденциальности",
"terms": "Условия использования"
},
"theme": {
"light": "Светлая тема",
"dark": "Темная тема",
"toggle": "Переключить тему"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Загрузка...",
"error": "Произошла ошибка",
"success": "Успешно",
"view_more": "Смотреть больше",
"back": "Назад",
"next": "Далее",
"previous": "Предыдущий",
"view_details": "Подробнее"
},
"meta": {
"description": "SmartSolTech - Инновационная веб-разработка, разработка мобильных приложений, UI/UX дизайн",
"keywords": "веб-разработка, мобильные приложения, UI/UX дизайн, Корея",
"title": "SmartSolTech"
},
"nav": {
"home": "Главная",
"about": "О нас",
"services": "Услуги",
"portfolio": "Портфолио",
"calculator": "Калькулятор"
},
"admin": {
"login": "Вход в админ-панель",
"dashboard": "Панель управления",
"title": "SmartSolTech Админ"
},
"company": {
"name": "SmartSolTech",
"description": "Специалист цифровых решений, лидирующий в инновациях",
"email": "info@smartsoltech.kr",
"phone": "+82-10-1234-5678"
},
"errors": {
"page_not_found": "Страница не найдена",
"error_occurred": "Произошла ошибка",
"title": "Ошибка - SmartSolTech",
"default_title": "Произошла ошибка",
"default_message": "Возникла проблема при обработке запроса.",
"back_home": "Вернуться на главную",
"go_back": "Вернуться",
"need_help": "Нужна помощь?",
"help_message": "Если проблема повторяется, свяжитесь с нами в любое время.",
"contact_support": "Связаться с поддержкой"
},
"pages": {
"home": "Главная страница",
"about": "О нас",
"services": "Услуги",
"portfolio": "Портфолио",
"contact": "Контакты",
"calculator": "Калькулятор"
}
}

View File

@@ -0,0 +1,425 @@
{
"navigation": {
"home": "Главная",
"about": "О нас",
"services": "Услуги",
"portfolio": "Портфолио",
"contact": "Контакты",
"calculator": "Калькулятор",
"admin": "Админ"
},
"hero": {
"title": {
"smart": "Умные",
"solutions": "Решения"
},
"subtitle": "Развивайте свой бизнес с инновационными технологиями",
"description": "Инновационная веб-разработка, мобильные приложения, UI/UX дизайн для цифровой трансформации вашего бизнеса",
"cta": {
"start": "Начать",
"portfolio": "Смотреть портфолио"
}
},
"services": {
"title": {
"our": "Наши",
"services": "Услуги"
},
"subtitle": "Профессиональные услуги разработки для воплощения ваших идей в реальность",
"description": "Цифровые решения с использованием передовых технологий и творческих идей",
"view_all": "Посмотреть все услуги",
"web": {
"title": "Веб-разработка",
"description": "Адаптивные сайты и веб-приложения",
"price": "От $500"
},
"mobile": {
"title": "Мобильные приложения",
"description": "Разработка нативных приложений для iOS и Android",
"price": "От $1,000"
},
"design": {
"title": "UI/UX Дизайн",
"description": "Дизайн интерфейсов и пользовательского опыта",
"price": "От $300"
},
"marketing": {
"title": "Цифровой маркетинг",
"description": "SEO, SMM, управление рекламой",
"price": "От $200"
},
"meta": {
"title": "Услуги",
"description": "Ознакомьтесь с профессиональными услугами SmartSolTech. Веб-разработка, мобильные приложения, UI/UX дизайн, цифровой маркетинг и другие технологические решения.",
"keywords": "веб-разработка, мобильные приложения, UI/UX дизайн, цифровой маркетинг, технологические решения, SmartSolTech"
},
"hero": {
"title": "Наши",
"title_highlight": "Услуги",
"subtitle": "Поддержка роста бизнеса с инновационными технологиями"
},
"cards": {
"starting_price": "Начальная цена",
"consultation": "консультация",
"contact": "Связаться",
"calculate_cost": "Рассчитать стоимость",
"popular": "Популярно",
"coming_soon": "Услуги скоро появятся",
"coming_soon_desc": "Скоро мы предложим различные услуги!"
},
"process": {
"title": "Процесс реализации проекта",
"subtitle": "Мы ведем проекты с системным и профессиональным подходом",
"step1": {
"title": "Консультация и планирование",
"description": "Точно понимаем требования клиента и планируем оптимальное решение"
},
"step2": {
"title": "Дизайн и проектирование",
"description": "Проектируем интуитивный дизайн, ориентированный на пользователя, и надежную системную архитектуру"
},
"step3": {
"title": "Разработка и реализация",
"description": "Разрабатываем эффективные и масштабируемые решения, используя новейшие технологии и лучшие практики"
},
"step4": {
"title": "Тестирование и развертывание",
"description": "Обеспечиваем качество через тщательное тестирование и проводим стабильное развертывание"
}
},
"why_choose": {
"title": "Почему стоит выбрать SmartSolTech?",
"modern_tech": {
"title": "Использование современных технологий",
"description": "Всегда отслеживаем новейшие технологические тренды и используем проверенный технологический стек для предоставления футуристических решений."
},
"expert_team": {
"title": "Экспертная команда",
"description": "Команда, состоящая из экспертов в каждой области, сотрудничает для обеспечения результатов высочайшего качества."
},
"fast_response": {
"title": "Быстрое реагирование",
"description": "Завершаем проекты в установленные сроки благодаря быстрой коммуникации и эффективному управлению проектами."
},
"continuous_support": {
"title": "Постоянная поддержка",
"description": "Поддерживаем долгосрочное партнерство через постоянное обслуживание и техническую поддержку даже после завершения проекта."
},
"quality_guarantee": {
"title": "Гарантия качества",
"subtitle": "Для удовлетворения клиентов\nСервис высочайшего качества"
}
},
"cta": {
"title": "Готовы начать проект?",
"subtitle": "Мы предложим оптимальное решение через бесплатную консультацию",
"free_consultation": "Подать заявку на бесплатную консультацию",
"calculate_cost": "Рассчитать стоимость",
"view_portfolio": "Посмотреть портфолио"
}
},
"portfolio": {
"title": {
"recent": "Недавние",
"projects": "Проекты"
},
"subtitle": "Ознакомьтесь с успешно завершенными проектами",
"description": "Посмотрите на проекты, выполненные для успеха клиентов",
"view_details": "Подробнее",
"view_all": "Посмотреть все портфолио",
"categories": {
"all": "Все",
"web": "Веб-разработка",
"mobile": "Мобильные приложения",
"uiux": "UI/UX Дизайн"
},
"project_details": "Детали проекта",
"default": {
"ecommerce": "Электронная коммерция",
"title": "Платформа электронной коммерции",
"description": "Современное решение для интернет-торговли с интуитивным интерфейсом"
},
"meta": {
"title": "Портфолио",
"description": "Ознакомьтесь с разнообразными проектами и историями успеха SmartSolTech. Портфолио веб-разработки, мобильных приложений, UI/UX дизайна.",
"keywords": "портфолио, веб-разработка, мобильные приложения, UI/UX дизайн, проекты, SmartSolTech"
}
},
"portfolio_page": {
"title": "Наше портфолио",
"subtitle": "Откройте для себя инновационные проекты и креативные решения",
"categories": {
"all": "Все",
"web-development": "Веб-разработка",
"mobile-app": "Мобильные приложения",
"ui-ux-design": "UI/UX Дизайн",
"branding": "Брендинг",
"marketing": "Цифровой маркетинг"
},
"buttons": {
"details": "Подробнее",
"projectDetails": "Детали проекта",
"loadMore": "Загрузить больше проектов",
"contact": "Заказать проект",
"calculate": "Рассчитать стоимость"
},
"empty": {
"title": "Портфолио пока пусто",
"subtitle": "Скоро мы представим потрясающие проекты!"
},
"cta": {
"title": "Станьте звездой следующего проекта",
"subtitle": "Создавайте инновационные цифровые решения вместе с нами"
},
"labels": {
"featured": "РЕКОМЕНДУЕМОЕ",
"views": "просмотров",
"likes": "лайков"
}
},
"calculator": {
"title": "Калькулятор стоимости проекта",
"subtitle": "Выберите нужные услуги и требования для получения точной оценки стоимости в реальном времени",
"next_step": "Следующий шаг",
"prev_step": "Предыдущий шаг",
"calculate": "Рассчитать",
"reset": "Сброс",
"live_update": "Обновление в реальном времени",
"meta": {
"title": "Калькулятор стоимости проекта",
"description": "Рассчитайте стоимость вашего проекта веб-разработки, мобильного приложения или дизайна с помощью нашего интерактивного калькулятора"
},
"cta": {
"title": "Проверьте оценку вашего проекта",
"subtitle": "Выберите нужные услуги и требования для расчета стоимости в реальном времени",
"button": "Использовать калькулятор стоимости"
},
"step1": {
"title": "Выберите ваши услуги",
"nav_title": "Шаг 1: Услуги",
"subtitle": "Выберите услуги, необходимые для вашего проекта"
},
"step2": {
"title": "Детали проекта",
"nav_title": "Шаг 2: Детали",
"subtitle": "Расскажите нам о сложности и сроках вашего проекта"
},
"complexity": {
"title": "Сложность проекта",
"simple": "Простой",
"simple_desc": "Базовые функции и стандартный функционал",
"medium": "Средний",
"medium_desc": "Пользовательские функции и интеграции",
"complex": "Сложный",
"complex_desc": "Продвинутые функции и сложные интеграции"
},
"timeline": {
"title": "Сроки проекта",
"standard": "Стандартные (4-8 недель)",
"standard_desc": "Обычные сроки разработки",
"rush": "Срочные (2-4 недели)",
"rush_desc": "Ускоренная доставка с дополнительной стоимостью",
"extended": "Расширенные (8+ недель)",
"extended_desc": "Гибкие сроки с оптимизацией стоимости"
},
"result": {
"title": "Оценка проекта",
"subtitle": "Ваша расчетная стоимость проекта",
"nav_title": "Результат",
"estimated_price": "Расчетная цена",
"price_note": "Это приблизительная стоимость. Итоговая цена может варьироваться в зависимости от сложности проекта.",
"summary": "Сводка проекта",
"get_quote": "Получить подробное предложение",
"contact_note": "Свяжитесь с нами для подробной консультации и точного предложения.",
"recalculate": "Рассчитать снова",
"selected_services": "Выбранные услуги",
"complexity": "Сложность",
"timeline": "Сроки"
}
},
"contact": {
"hero": {
"title": "Свяжитесь с нами",
"subtitle": "Мы здесь, чтобы помочь воплотить ваши идеи в жизнь"
},
"ready_title": "Готовы начать свой проект?",
"ready_description": "Превратите свои идеи в реальность. Эксперты предоставят лучшие решения.",
"form": {
"title": "Запрос проекта",
"name": "Имя",
"email": "Email",
"phone": "Телефон",
"message": "Сообщение",
"submit": "Отправить запрос",
"success": "Запрос успешно отправлен",
"error": "Произошла ошибка при отправке запроса",
"service": {
"title": "Интересующая услуга",
"select": "Выберите интересующую услугу",
"web": "Веб-разработка",
"mobile": "Мобильное приложение",
"design": "UI/UX Дизайн",
"branding": "Брендинг",
"consulting": "Консультирование",
"other": "Другое"
}
},
"info": {
"title": "Контактная информация"
},
"phone": {
"title": "Телефонный запрос",
"number": "+82-2-1234-5678",
"hours": "Пн-Пт 9:00-18:00"
},
"email": {
"title": "Email запрос",
"address": "info@smartsoltech.co.kr",
"response": "Ответ в течение 24 часов"
},
"telegram": {
"title": "Telegram",
"subtitle": "Для быстрого ответа"
},
"address": {
"title": "Адрес офиса",
"line1": "ул. Тегеран-ро, 123, Каннам-гу",
"line2": "Сеул, Южная Корея"
},
"cta": {
"ready": "Готовы?",
"start": "Начать",
"question": "Есть вопросы?",
"subtitle": "Мы предоставляем консультации по проектам"
},
"meta": {
"title": "Контакты",
"description": "Свяжитесь с нами в любое время для запросов по проектам или консультации"
}
},
"about": {
"hero": {
"title": "О SmartSolTech",
"subtitle": "Создаем будущее с инновациями и технологиями"
},
"company": {
"title": "Информация о компании",
"description1": "SmartSolTech - технологическая компания, основанная в 2020 году, признанная за экспертизу в веб-разработке, разработке мобильных приложений и UI/UX дизайне.",
"description2": "Мы точно понимаем потребности клиентов и предоставляем инновационные решения, используя новейшие технологии."
},
"stats": {
"projects": "Завершенных проектов",
"experience": "Лет опыта",
"clients": "Довольных клиентов"
},
"mission": {
"title": "Наша миссия",
"description": "Наша миссия - поддерживать рост бизнеса клиентов через технологии и лидировать в цифровых инновациях."
},
"values": {
"innovation": {
"title": "Инновации",
"description": "Мы предоставляем инновационные решения через постоянные исследования и внедрение передовых технологий."
},
"quality": {
"title": "Качество",
"description": "Мы поддерживаем высокие стандарты качества и предоставляем высококачественные продукты, которыми клиенты могут быть довольны."
},
"partnership": {
"title": "Партнерство",
"description": "Мы создаем лучшие результаты через тесное общение и сотрудничество с клиентами."
}
},
"cta": {
"title": "Мы будем расти вместе",
"subtitle": "Превратите свои идеи в реальность",
"button": "Связаться с нами"
},
"meta": {
"title": "О нас",
"description": "SmartSolTech - профессиональная компания разработки, которая поддерживает рост бизнеса клиентов инновационными технологиями"
}
},
"footer": {
"description": "Специалист цифровых решений, лидирующий в инновациях",
"company": {
"description": "Специалист цифровых решений, лидирующий в инновациях"
},
"links": {
"title": "Быстрые ссылки"
},
"contact": {
"title": "Контакты",
"email": "info@smartsoltech.co.kr",
"phone": "+82-2-1234-5678",
"address": "ул. Тегеран-ро, 123, Каннам-гу, Сеул"
},
"copyright": "© {{year}} SmartSolTech. Все права защищены.",
"privacy": "Политика конфиденциальности",
"terms": "Условия использования"
},
"theme": {
"light": "Светлая тема",
"dark": "Темная тема",
"toggle": "Переключить тему"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Загрузка...",
"error": "Произошла ошибка",
"success": "Успешно",
"view_more": "Смотреть больше",
"back": "Назад",
"next": "Далее",
"previous": "Предыдущий",
"view_details": "Подробнее"
},
"meta": {
"description": "SmartSolTech - Инновационная веб-разработка, разработка мобильных приложений, UI/UX дизайн",
"keywords": "веб-разработка, мобильные приложения, UI/UX дизайн, Корея",
"title": "SmartSolTech"
},
"nav": {
"home": "Главная",
"about": "О нас",
"services": "Услуги",
"portfolio": "Портфолио",
"calculator": "Калькулятор"
},
"admin": {
"login": "Вход в админ-панель",
"dashboard": "Панель управления",
"title": "SmartSolTech Админ"
},
"company": {
"name": "SmartSolTech",
"description": "Специалист цифровых решений, лидирующий в инновациях",
"email": "info@smartsoltech.kr",
"phone": "+82-10-1234-5678"
},
"errors": {
"page_not_found": "Страница не найдена",
"error_occurred": "Произошла ошибка",
"title": "Ошибка - SmartSolTech",
"default_title": "Произошла ошибка",
"default_message": "Возникла проблема при обработке запроса.",
"back_home": "Вернуться на главную",
"go_back": "Вернуться",
"need_help": "Нужна помощь?",
"help_message": "Если проблема повторяется, свяжитесь с нами в любое время.",
"contact_support": "Связаться с поддержкой"
},
"pages": {
"home": "Главная страница",
"about": "О нас",
"services": "Услуги",
"portfolio": "Портфолио",
"contact": "Контакты",
"calculator": "Калькулятор"
}
}

View File

@@ -0,0 +1,425 @@
{
"navigation": {
"home": "Главная",
"about": "О нас",
"services": "Услуги",
"portfolio": "Портфолио",
"contact": "Контакты",
"calculator": "Калькулятор",
"admin": "Админ"
},
"hero": {
"title": {
"smart": "Умные",
"solutions": "Решения"
},
"subtitle": "Развивайте свой бизнес с инновационными технологиями",
"description": "Инновационная веб-разработка, мобильные приложения, UI/UX дизайн для цифровой трансформации вашего бизнеса",
"cta": {
"start": "Начать",
"portfolio": "Смотреть портфолио"
}
},
"services": {
"title": {
"our": "Наши",
"services": "Услуги"
},
"subtitle": "Профессиональные услуги разработки для воплощения ваших идей в реальность",
"description": "Цифровые решения с использованием передовых технологий и творческих идей",
"view_all": "Посмотреть все услуги",
"web": {
"title": "Веб-разработка",
"description": "Адаптивные сайты и веб-приложения",
"price": "От $500"
},
"mobile": {
"title": "Мобильные приложения",
"description": "Разработка нативных приложений для iOS и Android",
"price": "От $1,000"
},
"design": {
"title": "UI/UX Дизайн",
"description": "Дизайн интерфейсов и пользовательского опыта",
"price": "От $300"
},
"marketing": {
"title": "Цифровой маркетинг",
"description": "SEO, SMM, управление рекламой",
"price": "От $200"
},
"meta": {
"title": "Услуги",
"description": "Ознакомьтесь с профессиональными услугами SmartSolTech. Веб-разработка, мобильные приложения, UI/UX дизайн, цифровой маркетинг и другие технологические решения.",
"keywords": "веб-разработка, мобильные приложения, UI/UX дизайн, цифровой маркетинг, технологические решения, SmartSolTech"
},
"hero": {
"title": "Наши",
"title_highlight": "Услуги",
"subtitle": "Поддержка роста бизнеса с инновационными технологиями"
},
"cards": {
"starting_price": "Начальная цена",
"consultation": "консультация",
"contact": "Связаться",
"calculate_cost": "Рассчитать стоимость",
"popular": "Популярно",
"coming_soon": "Услуги скоро появятся",
"coming_soon_desc": "Скоро мы предложим различные услуги!"
},
"process": {
"title": "Процесс реализации проекта",
"subtitle": "Мы ведем проекты с системным и профессиональным подходом",
"step1": {
"title": "Консультация и планирование",
"description": "Точно понимаем требования клиента и планируем оптимальное решение"
},
"step2": {
"title": "Дизайн и проектирование",
"description": "Проектируем интуитивный дизайн, ориентированный на пользователя, и надежную системную архитектуру"
},
"step3": {
"title": "Разработка и реализация",
"description": "Разрабатываем эффективные и масштабируемые решения, используя новейшие технологии и лучшие практики"
},
"step4": {
"title": "Тестирование и развертывание",
"description": "Обеспечиваем качество через тщательное тестирование и проводим стабильное развертывание"
}
},
"why_choose": {
"title": "Почему стоит выбрать SmartSolTech?",
"modern_tech": {
"title": "Использование современных технологий",
"description": "Всегда отслеживаем новейшие технологические тренды и используем проверенный технологический стек для предоставления футуристических решений."
},
"expert_team": {
"title": "Экспертная команда",
"description": "Команда, состоящая из экспертов в каждой области, сотрудничает для обеспечения результатов высочайшего качества."
},
"fast_response": {
"title": "Быстрое реагирование",
"description": "Завершаем проекты в установленные сроки благодаря быстрой коммуникации и эффективному управлению проектами."
},
"continuous_support": {
"title": "Постоянная поддержка",
"description": "Поддерживаем долгосрочное партнерство через постоянное обслуживание и техническую поддержку даже после завершения проекта."
},
"quality_guarantee": {
"title": "Гарантия качества",
"subtitle": "Для удовлетворения клиентов\nСервис высочайшего качества"
}
},
"cta": {
"title": "Готовы начать проект?",
"subtitle": "Мы предложим оптимальное решение через бесплатную консультацию",
"free_consultation": "Подать заявку на бесплатную консультацию",
"calculate_cost": "Рассчитать стоимость",
"view_portfolio": "Посмотреть портфолио"
}
},
"portfolio": {
"title": {
"recent": "Недавние",
"projects": "Проекты"
},
"subtitle": "Ознакомьтесь с успешно завершенными проектами",
"description": "Посмотрите на проекты, выполненные для успеха клиентов",
"view_details": "Подробнее",
"view_all": "Посмотреть все портфолио",
"categories": {
"all": "Все",
"web": "Веб-разработка",
"mobile": "Мобильные приложения",
"uiux": "UI/UX Дизайн"
},
"project_details": "Детали проекта",
"default": {
"ecommerce": "Электронная коммерция",
"title": "Платформа электронной коммерции",
"description": "Современное решение для интернет-торговли с интуитивным интерфейсом"
},
"meta": {
"title": "Портфолио",
"description": "Ознакомьтесь с разнообразными проектами и историями успеха SmartSolTech. Портфолио веб-разработки, мобильных приложений, UI/UX дизайна.",
"keywords": "портфолио, веб-разработка, мобильные приложения, UI/UX дизайн, проекты, SmartSolTech"
}
},
"portfolio_page": {
"title": "Наше портфолио",
"subtitle": "Откройте для себя инновационные проекты и креативные решения",
"categories": {
"all": "Все",
"web-development": "Веб-разработка",
"mobile-app": "Мобильные приложения",
"ui-ux-design": "UI/UX Дизайн",
"branding": "Брендинг",
"marketing": "Цифровой маркетинг"
},
"buttons": {
"details": "Подробнее",
"projectDetails": "Детали проекта",
"loadMore": "Загрузить больше проектов",
"contact": "Заказать проект",
"calculate": "Рассчитать стоимость"
},
"empty": {
"title": "Портфолио пока пусто",
"subtitle": "Скоро мы представим потрясающие проекты!"
},
"cta": {
"title": "Станьте звездой следующего проекта",
"subtitle": "Создавайте инновационные цифровые решения вместе с нами"
},
"labels": {
"featured": "РЕКОМЕНДУЕМОЕ",
"views": "просмотров",
"likes": "лайков"
}
},
"calculator": {
"title": "Калькулятор стоимости проекта",
"subtitle": "Выберите нужные услуги и требования для получения точной оценки стоимости в реальном времени",
"next_step": "Следующий шаг",
"prev_step": "Предыдущий шаг",
"calculate": "Рассчитать",
"reset": "Сброс",
"live_update": "Обновление в реальном времени",
"meta": {
"title": "Калькулятор стоимости проекта",
"description": "Рассчитайте стоимость вашего проекта веб-разработки, мобильного приложения или дизайна с помощью нашего интерактивного калькулятора"
},
"cta": {
"title": "Проверьте оценку вашего проекта",
"subtitle": "Выберите нужные услуги и требования для расчета стоимости в реальном времени",
"button": "Использовать калькулятор стоимости"
},
"step1": {
"title": "Выберите ваши услуги",
"nav_title": "Шаг 1: Услуги",
"subtitle": "Выберите услуги, необходимые для вашего проекта"
},
"step2": {
"title": "Детали проекта",
"nav_title": "Шаг 2: Детали",
"subtitle": "Расскажите нам о сложности и сроках вашего проекта"
},
"complexity": {
"title": "Сложность проекта",
"simple": "Простой",
"simple_desc": "Базовые функции и стандартный функционал",
"medium": "Средний",
"medium_desc": "Пользовательские функции и интеграции",
"complex": "Сложный",
"complex_desc": "Продвинутые функции и сложные интеграции"
},
"timeline": {
"title": "Сроки проекта",
"standard": "Стандартные (4-8 недель)",
"standard_desc": "Обычные сроки разработки",
"rush": "Срочные (2-4 недели)",
"rush_desc": "Ускоренная доставка с дополнительной стоимостью",
"extended": "Расширенные (8+ недель)",
"extended_desc": "Гибкие сроки с оптимизацией стоимости"
},
"result": {
"title": "Оценка проекта",
"subtitle": "Ваша расчетная стоимость проекта",
"nav_title": "Результат",
"estimated_price": "Расчетная цена",
"price_note": "Это приблизительная стоимость. Итоговая цена может варьироваться в зависимости от сложности проекта.",
"summary": "Сводка проекта",
"get_quote": "Получить подробное предложение",
"contact_note": "Свяжитесь с нами для подробной консультации и точного предложения.",
"recalculate": "Рассчитать снова",
"selected_services": "Выбранные услуги",
"complexity": "Сложность",
"timeline": "Сроки"
}
},
"contact": {
"hero": {
"title": "Свяжитесь с нами",
"subtitle": "Мы здесь, чтобы помочь воплотить ваши идеи в жизнь"
},
"ready_title": "Готовы начать свой проект?",
"ready_description": "Превратите свои идеи в реальность. Эксперты предоставят лучшие решения.",
"form": {
"title": "Запрос проекта",
"name": "Имя",
"email": "Email",
"phone": "Телефон",
"message": "Сообщение",
"submit": "Отправить запрос",
"success": "Запрос успешно отправлен",
"error": "Произошла ошибка при отправке запроса",
"service": {
"title": "Интересующая услуга",
"select": "Выберите интересующую услугу",
"web": "Веб-разработка",
"mobile": "Мобильное приложение",
"design": "UI/UX Дизайн",
"branding": "Брендинг",
"consulting": "Консультирование",
"other": "Другое"
}
},
"info": {
"title": "Контактная информация"
},
"phone": {
"title": "Телефонный запрос",
"number": "+82-2-1234-5678",
"hours": "Пн-Пт 9:00-18:00"
},
"email": {
"title": "Email запрос",
"address": "info@smartsoltech.co.kr",
"response": "Ответ в течение 24 часов"
},
"telegram": {
"title": "Telegram",
"subtitle": "Для быстрого ответа"
},
"address": {
"title": "Адрес офиса",
"line1": "ул. Тегеран-ро, 123, Каннам-гу",
"line2": "Сеул, Южная Корея"
},
"cta": {
"ready": "Готовы?",
"start": "Начать",
"question": "Есть вопросы?",
"subtitle": "Мы предоставляем консультации по проектам"
},
"meta": {
"title": "Контакты",
"description": "Свяжитесь с нами в любое время для запросов по проектам или консультации"
}
},
"about": {
"hero": {
"title": "О SmartSolTech",
"subtitle": "Создаем будущее с инновациями и технологиями"
},
"company": {
"title": "Информация о компании",
"description1": "SmartSolTech - технологическая компания, основанная в 2020 году, признанная за экспертизу в веб-разработке, разработке мобильных приложений и UI/UX дизайне.",
"description2": "Мы точно понимаем потребности клиентов и предоставляем инновационные решения, используя новейшие технологии."
},
"stats": {
"projects": "Завершенных проектов",
"experience": "Лет опыта",
"clients": "Довольных клиентов"
},
"mission": {
"title": "Наша миссия",
"description": "Наша миссия - поддерживать рост бизнеса клиентов через технологии и лидировать в цифровых инновациях."
},
"values": {
"innovation": {
"title": "Инновации",
"description": "Мы предоставляем инновационные решения через постоянные исследования и внедрение передовых технологий."
},
"quality": {
"title": "Качество",
"description": "Мы поддерживаем высокие стандарты качества и предоставляем высококачественные продукты, которыми клиенты могут быть довольны."
},
"partnership": {
"title": "Партнерство",
"description": "Мы создаем лучшие результаты через тесное общение и сотрудничество с клиентами."
}
},
"cta": {
"title": "Мы будем расти вместе",
"subtitle": "Превратите свои идеи в реальность",
"button": "Связаться с нами"
},
"meta": {
"title": "О нас",
"description": "SmartSolTech - профессиональная компания разработки, которая поддерживает рост бизнеса клиентов инновационными технологиями"
}
},
"footer": {
"description": "Специалист цифровых решений, лидирующий в инновациях",
"company": {
"description": "Специалист цифровых решений, лидирующий в инновациях"
},
"links": {
"title": "Быстрые ссылки"
},
"contact": {
"title": "Контакты",
"email": "info@smartsoltech.co.kr",
"phone": "+82-2-1234-5678",
"address": "ул. Тегеран-ро, 123, Каннам-гу, Сеул"
},
"copyright": "© {{year}} SmartSolTech. Все права защищены.",
"privacy": "Политика конфиденциальности",
"terms": "Условия использования"
},
"theme": {
"light": "Светлая тема",
"dark": "Темная тема",
"toggle": "Переключить тему"
},
"language": {
"english": "English",
"korean": "한국어",
"russian": "Русский",
"kazakh": "Қазақша"
},
"common": {
"loading": "Загрузка...",
"error": "Произошла ошибка",
"success": "Успешно",
"view_more": "Смотреть больше",
"back": "Назад",
"next": "Далее",
"previous": "Предыдущий",
"view_details": "Подробнее"
},
"meta": {
"description": "SmartSolTech - Инновационная веб-разработка, разработка мобильных приложений, UI/UX дизайн",
"keywords": "веб-разработка, мобильные приложения, UI/UX дизайн, Корея",
"title": "SmartSolTech"
},
"nav": {
"home": "Главная",
"about": "О нас",
"services": "Услуги",
"portfolio": "Портфолио",
"calculator": "Калькулятор"
},
"admin": {
"login": "Вход в админ-панель",
"dashboard": "Панель управления",
"title": "SmartSolTech Админ"
},
"company": {
"name": "SmartSolTech",
"description": "Специалист цифровых решений, лидирующий в инновациях",
"email": "info@smartsoltech.kr",
"phone": "+82-10-1234-5678"
},
"errors": {
"page_not_found": "Страница не найдена",
"error_occurred": "Произошла ошибка",
"title": "Ошибка - SmartSolTech",
"default_title": "Произошла ошибка",
"default_message": "Возникла проблема при обработке запроса.",
"back_home": "Вернуться на главную",
"go_back": "Вернуться",
"need_help": "Нужна помощь?",
"help_message": "Если проблема повторяется, свяжитесь с нами в любое время.",
"contact_support": "Связаться с поддержкой"
},
"pages": {
"home": "Главная страница",
"about": "О нас",
"services": "Услуги",
"portfolio": "Портфолио",
"contact": "Контакты",
"calculator": "Калькулятор"
}
}

View File

@@ -1,154 +0,0 @@
const jwt = require('jsonwebtoken');
const User = require('../models/User');
/**
* Authentication middleware
* Verifies JWT token and attaches user to request
*/
const authenticateToken = async (req, res, next) => {
try {
const authHeader = req.headers['authorization'];
const token = authHeader && authHeader.split(' ')[1]; // Bearer TOKEN
if (!token) {
return res.status(401).json({
success: false,
message: 'Access token required'
});
}
const decoded = jwt.verify(token, process.env.JWT_SECRET);
const user = await User.findById(decoded.userId).select('-password');
if (!user || !user.isActive) {
return res.status(401).json({
success: false,
message: 'Invalid or inactive user'
});
}
req.user = user;
next();
} catch (error) {
console.error('Token verification error:', error);
return res.status(403).json({
success: false,
message: 'Invalid token'
});
}
};
/**
* Session-based authentication middleware
* For web pages using sessions
*/
const authenticateSession = async (req, res, next) => {
try {
if (!req.session.userId) {
req.flash('error', '로그인이 필요합니다.');
return res.redirect('/auth/login');
}
const user = await User.findById(req.session.userId).select('-password');
if (!user || !user.isActive) {
req.session.destroy();
req.flash('error', '유효하지 않은 사용자입니다.');
return res.redirect('/auth/login');
}
req.user = user;
res.locals.user = user;
next();
} catch (error) {
console.error('Session authentication error:', error);
req.session.destroy();
req.flash('error', '인증 오류가 발생했습니다.');
return res.redirect('/auth/login');
}
};
/**
* Admin role middleware
* Requires user to be authenticated and have admin role
*/
const requireAdmin = (req, res, next) => {
if (!req.user) {
return res.status(401).json({
success: false,
message: 'Authentication required'
});
}
if (req.user.role !== 'admin') {
return res.status(403).json({
success: false,
message: 'Admin access required'
});
}
next();
};
/**
* Admin session middleware for web pages
*/
const requireAdminSession = (req, res, next) => {
if (!req.user) {
req.flash('error', '로그인이 필요합니다.');
return res.redirect('/auth/login');
}
if (req.user.role !== 'admin') {
req.flash('error', '관리자 권한이 필요합니다.');
return res.redirect('/');
}
next();
};
/**
* Optional authentication middleware
* Attaches user if token exists but doesn't require it
*/
const optionalAuth = async (req, res, next) => {
try {
// Check session first
if (req.session.userId) {
const user = await User.findById(req.session.userId).select('-password');
if (user && user.isActive) {
req.user = user;
res.locals.user = user;
}
}
// Check JWT token if no session
if (!req.user) {
const authHeader = req.headers['authorization'];
const token = authHeader && authHeader.split(' ')[1];
if (token) {
const decoded = jwt.verify(token, process.env.JWT_SECRET);
const user = await User.findById(decoded.userId).select('-password');
if (user && user.isActive) {
req.user = user;
res.locals.user = user;
}
}
}
next();
} catch (error) {
// Continue without authentication if token is invalid
next();
}
};
module.exports = {
authenticateToken,
authenticateSession,
requireAdmin,
requireAdminSession,
optionalAuth
};

View File

@@ -1,154 +0,0 @@
const jwt = require('jsonwebtoken');
const User = require('../models/User');
/**
* Authentication middleware
* Verifies JWT token and attaches user to request
*/
const authenticateToken = async (req, res, next) => {
try {
const authHeader = req.headers['authorization'];
const token = authHeader && authHeader.split(' ')[1]; // Bearer TOKEN
if (!token) {
return res.status(401).json({
success: false,
message: 'Access token required'
});
}
const decoded = jwt.verify(token, process.env.JWT_SECRET);
const user = await User.findById(decoded.userId).select('-password');
if (!user || !user.isActive) {
return res.status(401).json({
success: false,
message: 'Invalid or inactive user'
});
}
req.user = user;
next();
} catch (error) {
console.error('Token verification error:', error);
return res.status(403).json({
success: false,
message: 'Invalid token'
});
}
};
/**
* Session-based authentication middleware
* For web pages using sessions
*/
const authenticateSession = async (req, res, next) => {
try {
if (!req.session.userId) {
req.flash('error', '로그인이 필요합니다.');
return res.redirect('/auth/login');
}
const user = await User.findById(req.session.userId).select('-password');
if (!user || !user.isActive) {
req.session.destroy();
req.flash('error', '유효하지 않은 사용자입니다.');
return res.redirect('/auth/login');
}
req.user = user;
res.locals.user = user;
next();
} catch (error) {
console.error('Session authentication error:', error);
req.session.destroy();
req.flash('error', '인증 오류가 발생했습니다.');
return res.redirect('/auth/login');
}
};
/**
* Admin role middleware
* Requires user to be authenticated and have admin role
*/
const requireAdmin = (req, res, next) => {
if (!req.user) {
return res.status(401).json({
success: false,
message: 'Authentication required'
});
}
if (req.user.role !== 'admin') {
return res.status(403).json({
success: false,
message: 'Admin access required'
});
}
next();
};
/**
* Admin session middleware for web pages
*/
const requireAdminSession = (req, res, next) => {
if (!req.user) {
req.flash('error', '로그인이 필요합니다.');
return res.redirect('/auth/login');
}
if (req.user.role !== 'admin') {
req.flash('error', '관리자 권한이 필요합니다.');
return res.redirect('/');
}
next();
};
/**
* Optional authentication middleware
* Attaches user if token exists but doesn't require it
*/
const optionalAuth = async (req, res, next) => {
try {
// Check session first
if (req.session.userId) {
const user = await User.findById(req.session.userId).select('-password');
if (user && user.isActive) {
req.user = user;
res.locals.user = user;
}
}
// Check JWT token if no session
if (!req.user) {
const authHeader = req.headers['authorization'];
const token = authHeader && authHeader.split(' ')[1];
if (token) {
const decoded = jwt.verify(token, process.env.JWT_SECRET);
const user = await User.findById(decoded.userId).select('-password');
if (user && user.isActive) {
req.user = user;
res.locals.user = user;
}
}
}
next();
} catch (error) {
// Continue without authentication if token is invalid
next();
}
};
module.exports = {
authenticateToken,
authenticateSession,
requireAdmin,
requireAdminSession,
optionalAuth
};

View File

@@ -1,310 +0,0 @@
/**
* Validation middleware for various data types
*/
const { body, validationResult } = require('express-validator');
/**
* Validation error handler
*/
const handleValidationErrors = (req, res, next) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
// For API requests
if (req.xhr || req.headers.accept?.includes('application/json')) {
return res.status(400).json({
success: false,
message: 'Validation failed',
errors: errors.array()
});
}
// For web requests
const errorMessages = errors.array().map(error => error.msg);
req.flash('error', errorMessages);
return res.redirect('back');
}
next();
};
/**
* Contact form validation
*/
const validateContactForm = [
body('name')
.trim()
.isLength({ min: 2, max: 50 })
.withMessage('이름은 2-50자 사이여야 합니다.')
.matches(/^[a-zA-Z가-힣\s]+$/)
.withMessage('이름에는 한글, 영문, 공백만 사용할 수 있습니다.'),
body('email')
.isEmail()
.withMessage('유효한 이메일 주소를 입력해주세요.')
.normalizeEmail(),
body('phone')
.optional()
.matches(/^[0-9\-\+\(\)\s]+$/)
.withMessage('유효한 전화번호를 입력해주세요.'),
body('company')
.optional()
.trim()
.isLength({ max: 100 })
.withMessage('회사명은 100자 이하여야 합니다.'),
body('service')
.isIn(['web-development', 'mobile-app', 'ui-ux-design', 'branding', 'digital-marketing', 'consulting', 'other'])
.withMessage('유효한 서비스를 선택해주세요.'),
body('budget')
.optional()
.isIn(['under-500', '500-1000', '1000-3000', '3000-5000', '5000-10000', 'over-10000', 'discuss'])
.withMessage('유효한 예산 범위를 선택해주세요.'),
body('message')
.trim()
.isLength({ min: 10, max: 2000 })
.withMessage('메시지는 10-2000자 사이여야 합니다.'),
handleValidationErrors
];
/**
* User registration validation
*/
const validateRegistration = [
body('name')
.trim()
.isLength({ min: 2, max: 50 })
.withMessage('이름은 2-50자 사이여야 합니다.')
.matches(/^[a-zA-Z가-힣\s]+$/)
.withMessage('이름에는 한글, 영문, 공백만 사용할 수 있습니다.'),
body('email')
.isEmail()
.withMessage('유효한 이메일 주소를 입력해주세요.')
.normalizeEmail(),
body('password')
.isLength({ min: 8 })
.withMessage('비밀번호는 최소 8자 이상이어야 합니다.')
.matches(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]/)
.withMessage('비밀번호는 대소문자, 숫자, 특수문자를 포함해야 합니다.'),
body('confirmPassword')
.custom((value, { req }) => {
if (value !== req.body.password) {
throw new Error('비밀번호 확인이 일치하지 않습니다.');
}
return true;
}),
handleValidationErrors
];
/**
* User login validation
*/
const validateLogin = [
body('email')
.isEmail()
.withMessage('유효한 이메일 주소를 입력해주세요.')
.normalizeEmail(),
body('password')
.isLength({ min: 1 })
.withMessage('비밀번호를 입력해주세요.'),
handleValidationErrors
];
/**
* Portfolio validation
*/
const validatePortfolio = [
body('title')
.trim()
.isLength({ min: 2, max: 100 })
.withMessage('제목은 2-100자 사이여야 합니다.'),
body('description')
.trim()
.isLength({ min: 10, max: 5000 })
.withMessage('설명은 10-5000자 사이여야 합니다.'),
body('shortDescription')
.optional()
.trim()
.isLength({ max: 200 })
.withMessage('간단한 설명은 200자 이하여야 합니다.'),
body('category')
.isIn(['web-development', 'mobile-app', 'ui-ux-design', 'branding', 'marketing'])
.withMessage('유효한 카테고리를 선택해주세요.'),
body('technologies')
.optional()
.isArray()
.withMessage('기술 스택은 배열이어야 합니다.'),
body('clientName')
.optional()
.trim()
.isLength({ max: 100 })
.withMessage('클라이언트 이름은 100자 이하여야 합니다.'),
body('projectUrl')
.optional()
.isURL()
.withMessage('유효한 URL을 입력해주세요.'),
body('status')
.optional()
.isIn(['planning', 'in-progress', 'completed', 'on-hold'])
.withMessage('유효한 상태를 선택해주세요.'),
handleValidationErrors
];
/**
* Service validation
*/
const validateService = [
body('name')
.trim()
.isLength({ min: 2, max: 100 })
.withMessage('서비스명은 2-100자 사이여야 합니다.'),
body('description')
.trim()
.isLength({ min: 10, max: 5000 })
.withMessage('설명은 10-5000자 사이여야 합니다.'),
body('shortDescription')
.optional()
.trim()
.isLength({ max: 200 })
.withMessage('간단한 설명은 200자 이하여야 합니다.'),
body('category')
.isIn(['development', 'design', 'marketing', 'consulting'])
.withMessage('유효한 카테고리를 선택해주세요.'),
body('pricing.basePrice')
.optional()
.isNumeric()
.withMessage('기본 가격은 숫자여야 합니다.'),
body('pricing.priceType')
.optional()
.isIn(['project', 'hourly', 'monthly'])
.withMessage('유효한 가격 유형을 선택해주세요.'),
handleValidationErrors
];
/**
* Calculator validation
*/
const validateCalculator = [
body('service')
.isMongoId()
.withMessage('유효한 서비스를 선택해주세요.'),
body('projectType')
.optional()
.isIn(['simple', 'medium', 'complex', 'enterprise'])
.withMessage('유효한 프로젝트 유형을 선택해주세요.'),
body('timeline')
.optional()
.isIn(['urgent', 'normal', 'flexible'])
.withMessage('유효한 타임라인을 선택해주세요.'),
body('features')
.optional()
.isArray()
.withMessage('기능은 배열이어야 합니다.'),
body('contactInfo.name')
.optional()
.trim()
.isLength({ min: 2, max: 50 })
.withMessage('이름은 2-50자 사이여야 합니다.'),
body('contactInfo.email')
.optional()
.isEmail()
.withMessage('유효한 이메일 주소를 입력해주세요.'),
body('contactInfo.phone')
.optional()
.matches(/^[0-9\-\+\(\)\s]+$/)
.withMessage('유효한 전화번호를 입력해주세요.'),
handleValidationErrors
];
/**
* Settings validation
*/
const validateSettings = [
body('siteName')
.optional()
.trim()
.isLength({ min: 1, max: 100 })
.withMessage('사이트명은 1-100자 사이여야 합니다.'),
body('siteDescription')
.optional()
.trim()
.isLength({ max: 500 })
.withMessage('사이트 설명은 500자 이하여야 합니다.'),
body('contact.email')
.optional()
.isEmail()
.withMessage('유효한 이메일 주소를 입력해주세요.'),
body('contact.phone')
.optional()
.matches(/^[0-9\-\+\(\)\s]+$/)
.withMessage('유효한 전화번호를 입력해주세요.'),
body('social.facebook')
.optional()
.isURL()
.withMessage('유효한 Facebook URL을 입력해주세요.'),
body('social.twitter')
.optional()
.isURL()
.withMessage('유효한 Twitter URL을 입력해주세요.'),
body('social.linkedin')
.optional()
.isURL()
.withMessage('유효한 LinkedIn URL을 입력해주세요.'),
body('social.instagram')
.optional()
.isURL()
.withMessage('유효한 Instagram URL을 입력해주세요.'),
handleValidationErrors
];
module.exports = {
handleValidationErrors,
validateContactForm,
validateRegistration,
validateLogin,
validatePortfolio,
validateService,
validateCalculator,
validateSettings
};

View File

@@ -1,310 +0,0 @@
/**
* Validation middleware for various data types
*/
const { body, validationResult } = require('express-validator');
/**
* Validation error handler
*/
const handleValidationErrors = (req, res, next) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
// For API requests
if (req.xhr || req.headers.accept?.includes('application/json')) {
return res.status(400).json({
success: false,
message: 'Validation failed',
errors: errors.array()
});
}
// For web requests
const errorMessages = errors.array().map(error => error.msg);
req.flash('error', errorMessages);
return res.redirect('back');
}
next();
};
/**
* Contact form validation
*/
const validateContactForm = [
body('name')
.trim()
.isLength({ min: 2, max: 50 })
.withMessage('이름은 2-50자 사이여야 합니다.')
.matches(/^[a-zA-Z가-힣\s]+$/)
.withMessage('이름에는 한글, 영문, 공백만 사용할 수 있습니다.'),
body('email')
.isEmail()
.withMessage('유효한 이메일 주소를 입력해주세요.')
.normalizeEmail(),
body('phone')
.optional()
.matches(/^[0-9\-\+\(\)\s]+$/)
.withMessage('유효한 전화번호를 입력해주세요.'),
body('company')
.optional()
.trim()
.isLength({ max: 100 })
.withMessage('회사명은 100자 이하여야 합니다.'),
body('service')
.isIn(['web-development', 'mobile-app', 'ui-ux-design', 'branding', 'digital-marketing', 'consulting', 'other'])
.withMessage('유효한 서비스를 선택해주세요.'),
body('budget')
.optional()
.isIn(['under-500', '500-1000', '1000-3000', '3000-5000', '5000-10000', 'over-10000', 'discuss'])
.withMessage('유효한 예산 범위를 선택해주세요.'),
body('message')
.trim()
.isLength({ min: 10, max: 2000 })
.withMessage('메시지는 10-2000자 사이여야 합니다.'),
handleValidationErrors
];
/**
* User registration validation
*/
const validateRegistration = [
body('name')
.trim()
.isLength({ min: 2, max: 50 })
.withMessage('이름은 2-50자 사이여야 합니다.')
.matches(/^[a-zA-Z가-힣\s]+$/)
.withMessage('이름에는 한글, 영문, 공백만 사용할 수 있습니다.'),
body('email')
.isEmail()
.withMessage('유효한 이메일 주소를 입력해주세요.')
.normalizeEmail(),
body('password')
.isLength({ min: 8 })
.withMessage('비밀번호는 최소 8자 이상이어야 합니다.')
.matches(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]/)
.withMessage('비밀번호는 대소문자, 숫자, 특수문자를 포함해야 합니다.'),
body('confirmPassword')
.custom((value, { req }) => {
if (value !== req.body.password) {
throw new Error('비밀번호 확인이 일치하지 않습니다.');
}
return true;
}),
handleValidationErrors
];
/**
* User login validation
*/
const validateLogin = [
body('email')
.isEmail()
.withMessage('유효한 이메일 주소를 입력해주세요.')
.normalizeEmail(),
body('password')
.isLength({ min: 1 })
.withMessage('비밀번호를 입력해주세요.'),
handleValidationErrors
];
/**
* Portfolio validation
*/
const validatePortfolio = [
body('title')
.trim()
.isLength({ min: 2, max: 100 })
.withMessage('제목은 2-100자 사이여야 합니다.'),
body('description')
.trim()
.isLength({ min: 10, max: 5000 })
.withMessage('설명은 10-5000자 사이여야 합니다.'),
body('shortDescription')
.optional()
.trim()
.isLength({ max: 200 })
.withMessage('간단한 설명은 200자 이하여야 합니다.'),
body('category')
.isIn(['web-development', 'mobile-app', 'ui-ux-design', 'branding', 'marketing'])
.withMessage('유효한 카테고리를 선택해주세요.'),
body('technologies')
.optional()
.isArray()
.withMessage('기술 스택은 배열이어야 합니다.'),
body('clientName')
.optional()
.trim()
.isLength({ max: 100 })
.withMessage('클라이언트 이름은 100자 이하여야 합니다.'),
body('projectUrl')
.optional()
.isURL()
.withMessage('유효한 URL을 입력해주세요.'),
body('status')
.optional()
.isIn(['planning', 'in-progress', 'completed', 'on-hold'])
.withMessage('유효한 상태를 선택해주세요.'),
handleValidationErrors
];
/**
* Service validation
*/
const validateService = [
body('name')
.trim()
.isLength({ min: 2, max: 100 })
.withMessage('서비스명은 2-100자 사이여야 합니다.'),
body('description')
.trim()
.isLength({ min: 10, max: 5000 })
.withMessage('설명은 10-5000자 사이여야 합니다.'),
body('shortDescription')
.optional()
.trim()
.isLength({ max: 200 })
.withMessage('간단한 설명은 200자 이하여야 합니다.'),
body('category')
.isIn(['development', 'design', 'marketing', 'consulting'])
.withMessage('유효한 카테고리를 선택해주세요.'),
body('pricing.basePrice')
.optional()
.isNumeric()
.withMessage('기본 가격은 숫자여야 합니다.'),
body('pricing.priceType')
.optional()
.isIn(['project', 'hourly', 'monthly'])
.withMessage('유효한 가격 유형을 선택해주세요.'),
handleValidationErrors
];
/**
* Calculator validation
*/
const validateCalculator = [
body('service')
.isMongoId()
.withMessage('유효한 서비스를 선택해주세요.'),
body('projectType')
.optional()
.isIn(['simple', 'medium', 'complex', 'enterprise'])
.withMessage('유효한 프로젝트 유형을 선택해주세요.'),
body('timeline')
.optional()
.isIn(['urgent', 'normal', 'flexible'])
.withMessage('유효한 타임라인을 선택해주세요.'),
body('features')
.optional()
.isArray()
.withMessage('기능은 배열이어야 합니다.'),
body('contactInfo.name')
.optional()
.trim()
.isLength({ min: 2, max: 50 })
.withMessage('이름은 2-50자 사이여야 합니다.'),
body('contactInfo.email')
.optional()
.isEmail()
.withMessage('유효한 이메일 주소를 입력해주세요.'),
body('contactInfo.phone')
.optional()
.matches(/^[0-9\-\+\(\)\s]+$/)
.withMessage('유효한 전화번호를 입력해주세요.'),
handleValidationErrors
];
/**
* Settings validation
*/
const validateSettings = [
body('siteName')
.optional()
.trim()
.isLength({ min: 1, max: 100 })
.withMessage('사이트명은 1-100자 사이여야 합니다.'),
body('siteDescription')
.optional()
.trim()
.isLength({ max: 500 })
.withMessage('사이트 설명은 500자 이하여야 합니다.'),
body('contact.email')
.optional()
.isEmail()
.withMessage('유효한 이메일 주소를 입력해주세요.'),
body('contact.phone')
.optional()
.matches(/^[0-9\-\+\(\)\s]+$/)
.withMessage('유효한 전화번호를 입력해주세요.'),
body('social.facebook')
.optional()
.isURL()
.withMessage('유효한 Facebook URL을 입력해주세요.'),
body('social.twitter')
.optional()
.isURL()
.withMessage('유효한 Twitter URL을 입력해주세요.'),
body('social.linkedin')
.optional()
.isURL()
.withMessage('유효한 LinkedIn URL을 입력해주세요.'),
body('social.instagram')
.optional()
.isURL()
.withMessage('유효한 Instagram URL을 입력해주세요.'),
handleValidationErrors
];
module.exports = {
handleValidationErrors,
validateContactForm,
validateRegistration,
validateLogin,
validatePortfolio,
validateService,
validateCalculator,
validateSettings
};

View File

@@ -1,80 +0,0 @@
const mongoose = require('mongoose');
const contactSchema = new mongoose.Schema({
name: {
type: String,
required: true,
trim: true
},
email: {
type: String,
required: true,
lowercase: true,
trim: true
},
phone: {
type: String,
trim: true
},
company: {
type: String,
trim: true
},
subject: {
type: String,
required: true,
trim: true
},
message: {
type: String,
required: true
},
serviceInterest: {
type: String,
enum: ['web-development', 'mobile-app', 'ui-ux-design', 'branding', 'consulting', 'other']
},
budget: {
type: String,
enum: ['under-1m', '1m-5m', '5m-10m', '10m-20m', '20m-50m', 'over-50m']
},
timeline: {
type: String,
enum: ['asap', '1-month', '1-3-months', '3-6-months', 'flexible']
},
status: {
type: String,
enum: ['new', 'in-progress', 'replied', 'closed'],
default: 'new'
},
priority: {
type: String,
enum: ['low', 'medium', 'high', 'urgent'],
default: 'medium'
},
source: {
type: String,
enum: ['website', 'telegram', 'email', 'phone', 'referral'],
default: 'website'
},
isRead: {
type: Boolean,
default: false
},
adminNotes: {
type: String
},
ipAddress: {
type: String
},
userAgent: {
type: String
}
}, {
timestamps: true
});
contactSchema.index({ status: 1, createdAt: -1 });
contactSchema.index({ isRead: 1, createdAt: -1 });
contactSchema.index({ email: 1 });
module.exports = mongoose.model('Contact', contactSchema);

View File

@@ -1,80 +0,0 @@
const mongoose = require('mongoose');
const contactSchema = new mongoose.Schema({
name: {
type: String,
required: true,
trim: true
},
email: {
type: String,
required: true,
lowercase: true,
trim: true
},
phone: {
type: String,
trim: true
},
company: {
type: String,
trim: true
},
subject: {
type: String,
required: true,
trim: true
},
message: {
type: String,
required: true
},
serviceInterest: {
type: String,
enum: ['web-development', 'mobile-app', 'ui-ux-design', 'branding', 'consulting', 'other']
},
budget: {
type: String,
enum: ['under-1m', '1m-5m', '5m-10m', '10m-20m', '20m-50m', 'over-50m']
},
timeline: {
type: String,
enum: ['asap', '1-month', '1-3-months', '3-6-months', 'flexible']
},
status: {
type: String,
enum: ['new', 'in-progress', 'replied', 'closed'],
default: 'new'
},
priority: {
type: String,
enum: ['low', 'medium', 'high', 'urgent'],
default: 'medium'
},
source: {
type: String,
enum: ['website', 'telegram', 'email', 'phone', 'referral'],
default: 'website'
},
isRead: {
type: Boolean,
default: false
},
adminNotes: {
type: String
},
ipAddress: {
type: String
},
userAgent: {
type: String
}
}, {
timestamps: true
});
contactSchema.index({ status: 1, createdAt: -1 });
contactSchema.index({ isRead: 1, createdAt: -1 });
contactSchema.index({ email: 1 });
module.exports = mongoose.model('Contact', contactSchema);

View File

@@ -1,107 +0,0 @@
const mongoose = require('mongoose');
const portfolioSchema = new mongoose.Schema({
title: {
type: String,
required: true,
trim: true
},
description: {
type: String,
required: true
},
shortDescription: {
type: String,
required: true,
maxlength: 200
},
category: {
type: String,
required: true,
enum: ['web-development', 'mobile-app', 'ui-ux-design', 'branding', 'e-commerce', 'other']
},
technologies: [{
type: String,
trim: true
}],
images: [{
url: {
type: String,
required: true
},
alt: {
type: String,
default: ''
},
isPrimary: {
type: Boolean,
default: false
}
}],
clientName: {
type: String,
trim: true
},
projectUrl: {
type: String,
trim: true
},
githubUrl: {
type: String,
trim: true
},
status: {
type: String,
enum: ['completed', 'in-progress', 'planning'],
default: 'completed'
},
featured: {
type: Boolean,
default: false
},
publishedAt: {
type: Date,
default: Date.now
},
completedAt: {
type: Date
},
isPublished: {
type: Boolean,
default: true
},
viewCount: {
type: Number,
default: 0
},
likes: {
type: Number,
default: 0
},
order: {
type: Number,
default: 0
},
seo: {
metaTitle: String,
metaDescription: String,
keywords: [String]
}
}, {
timestamps: true
});
// Index for search and sorting
portfolioSchema.index({ title: 'text', description: 'text', technologies: 'text' });
portfolioSchema.index({ category: 1, publishedAt: -1 });
portfolioSchema.index({ featured: -1, publishedAt: -1 });
// Virtual for primary image
portfolioSchema.virtual('primaryImage').get(function() {
const primary = this.images.find(img => img.isPrimary);
return primary || (this.images.length > 0 ? this.images[0] : null);
});
portfolioSchema.set('toJSON', { virtuals: true });
module.exports = mongoose.model('Portfolio', portfolioSchema);

View File

@@ -1,107 +0,0 @@
const mongoose = require('mongoose');
const portfolioSchema = new mongoose.Schema({
title: {
type: String,
required: true,
trim: true
},
description: {
type: String,
required: true
},
shortDescription: {
type: String,
required: true,
maxlength: 200
},
category: {
type: String,
required: true,
enum: ['web-development', 'mobile-app', 'ui-ux-design', 'branding', 'e-commerce', 'other']
},
technologies: [{
type: String,
trim: true
}],
images: [{
url: {
type: String,
required: true
},
alt: {
type: String,
default: ''
},
isPrimary: {
type: Boolean,
default: false
}
}],
clientName: {
type: String,
trim: true
},
projectUrl: {
type: String,
trim: true
},
githubUrl: {
type: String,
trim: true
},
status: {
type: String,
enum: ['completed', 'in-progress', 'planning'],
default: 'completed'
},
featured: {
type: Boolean,
default: false
},
publishedAt: {
type: Date,
default: Date.now
},
completedAt: {
type: Date
},
isPublished: {
type: Boolean,
default: true
},
viewCount: {
type: Number,
default: 0
},
likes: {
type: Number,
default: 0
},
order: {
type: Number,
default: 0
},
seo: {
metaTitle: String,
metaDescription: String,
keywords: [String]
}
}, {
timestamps: true
});
// Index for search and sorting
portfolioSchema.index({ title: 'text', description: 'text', technologies: 'text' });
portfolioSchema.index({ category: 1, publishedAt: -1 });
portfolioSchema.index({ featured: -1, publishedAt: -1 });
// Virtual for primary image
portfolioSchema.virtual('primaryImage').get(function() {
const primary = this.images.find(img => img.isPrimary);
return primary || (this.images.length > 0 ? this.images[0] : null);
});
portfolioSchema.set('toJSON', { virtuals: true });
module.exports = mongoose.model('Portfolio', portfolioSchema);

View File

@@ -1,102 +0,0 @@
const mongoose = require('mongoose');
const serviceSchema = new mongoose.Schema({
name: {
type: String,
required: true,
trim: true
},
description: {
type: String,
required: true
},
shortDescription: {
type: String,
required: true,
maxlength: 150
},
icon: {
type: String,
required: true
},
category: {
type: String,
required: true,
enum: ['development', 'design', 'consulting', 'marketing', 'maintenance']
},
features: [{
name: String,
description: String,
included: {
type: Boolean,
default: true
}
}],
pricing: {
basePrice: {
type: Number,
required: true,
min: 0
},
currency: {
type: String,
default: 'KRW'
},
priceType: {
type: String,
enum: ['fixed', 'hourly', 'project'],
default: 'project'
},
priceRange: {
min: Number,
max: Number
}
},
estimatedTime: {
min: {
type: Number,
required: true
},
max: {
type: Number,
required: true
},
unit: {
type: String,
enum: ['hours', 'days', 'weeks', 'months'],
default: 'days'
}
},
isActive: {
type: Boolean,
default: true
},
featured: {
type: Boolean,
default: false
},
order: {
type: Number,
default: 0
},
portfolio: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Portfolio'
}],
tags: [{
type: String,
trim: true
}],
seo: {
metaTitle: String,
metaDescription: String,
keywords: [String]
}
}, {
timestamps: true
});
serviceSchema.index({ name: 'text', description: 'text', tags: 'text' });
serviceSchema.index({ category: 1, featured: -1, order: 1 });
module.exports = mongoose.model('Service', serviceSchema);

View File

@@ -1,102 +0,0 @@
const mongoose = require('mongoose');
const serviceSchema = new mongoose.Schema({
name: {
type: String,
required: true,
trim: true
},
description: {
type: String,
required: true
},
shortDescription: {
type: String,
required: true,
maxlength: 150
},
icon: {
type: String,
required: true
},
category: {
type: String,
required: true,
enum: ['development', 'design', 'consulting', 'marketing', 'maintenance']
},
features: [{
name: String,
description: String,
included: {
type: Boolean,
default: true
}
}],
pricing: {
basePrice: {
type: Number,
required: true,
min: 0
},
currency: {
type: String,
default: 'KRW'
},
priceType: {
type: String,
enum: ['fixed', 'hourly', 'project'],
default: 'project'
},
priceRange: {
min: Number,
max: Number
}
},
estimatedTime: {
min: {
type: Number,
required: true
},
max: {
type: Number,
required: true
},
unit: {
type: String,
enum: ['hours', 'days', 'weeks', 'months'],
default: 'days'
}
},
isActive: {
type: Boolean,
default: true
},
featured: {
type: Boolean,
default: false
},
order: {
type: Number,
default: 0
},
portfolio: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Portfolio'
}],
tags: [{
type: String,
trim: true
}],
seo: {
metaTitle: String,
metaDescription: String,
keywords: [String]
}
}, {
timestamps: true
});
serviceSchema.index({ name: 'text', description: 'text', tags: 'text' });
serviceSchema.index({ category: 1, featured: -1, order: 1 });
module.exports = mongoose.model('Service', serviceSchema);

View File

@@ -0,0 +1,103 @@
const { DataTypes } = require('sequelize');
const { sequelize } = require('../config/database');
const Service = sequelize.define('Service', {
id: {
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4,
primaryKey: true
},
name: {
type: DataTypes.STRING,
allowNull: false,
validate: {
len: [1, 255]
},
set(value) {
this.setDataValue('name', value.trim());
}
},
description: {
type: DataTypes.TEXT,
allowNull: false
},
shortDescription: {
type: DataTypes.STRING(150),
allowNull: false
},
icon: {
type: DataTypes.STRING,
allowNull: false
},
category: {
type: DataTypes.ENUM(
'web-development',
'mobile-development',
'ui-ux-design',
'consulting',
'support',
'other'
),
allowNull: false
},
features: {
type: DataTypes.JSONB,
defaultValue: []
},
pricing: {
type: DataTypes.JSONB,
allowNull: false,
validate: {
isValidPricing(value) {
if (!value.basePrice || value.basePrice < 0) {
throw new Error('Base price must be a positive number');
}
}
}
},
estimatedTime: {
type: DataTypes.JSONB,
allowNull: false,
validate: {
isValidTime(value) {
if (!value.min || !value.max || value.min > value.max) {
throw new Error('Invalid estimated time range');
}
}
}
},
isActive: {
type: DataTypes.BOOLEAN,
defaultValue: true
},
featured: {
type: DataTypes.BOOLEAN,
defaultValue: false
},
order: {
type: DataTypes.INTEGER,
defaultValue: 0
},
tags: {
type: DataTypes.ARRAY(DataTypes.STRING),
defaultValue: []
},
seo: {
type: DataTypes.JSONB,
defaultValue: {}
}
}, {
tableName: 'services',
timestamps: true,
indexes: [
{
fields: ['category', 'featured', 'order']
},
{
type: 'gin',
fields: ['tags']
}
]
});
module.exports = Service;

View File

@@ -0,0 +1,96 @@
const { DataTypes } = require('sequelize');
const { sequelize } = require('../config/database');
const Service = sequelize.define('Service', {
id: {
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4,
primaryKey: true
},
name: {
type: DataTypes.STRING,
allowNull: false,
validate: {
len: [1, 255]
},
set(value) {
this.setDataValue('name', value.trim());
}
},
description: {
type: DataTypes.TEXT,
allowNull: false
},
shortDescription: {
type: DataTypes.STRING(150),
allowNull: false
},
icon: {
type: DataTypes.STRING,
allowNull: false
},
category: {
type: DataTypes.ENUM(
'web-development',
'mobile-development',
'ui-ux-design',
'consulting',
'support',
'other'
),
allowNull: false
},
features: {
type: DataTypes.JSONB,
defaultValue: []
},
pricing: {
type: DataTypes.JSONB,
allowNull: false,
validate: {
isValidPricing(value) {
if (!value.basePrice || value.basePrice < 0) {
throw new Error('Base price must be a positive number');
}
}
}
},
estimatedTime: {
type: DataTypes.STRING,
allowNull: true
},
isActive: {
type: DataTypes.BOOLEAN,
defaultValue: true
},
featured: {
type: DataTypes.BOOLEAN,
defaultValue: false
},
order: {
type: DataTypes.INTEGER,
defaultValue: 0
},
tags: {
type: DataTypes.ARRAY(DataTypes.STRING),
defaultValue: []
},
seo: {
type: DataTypes.JSONB,
defaultValue: {}
}
}, {
tableName: 'services',
timestamps: true,
indexes: [
{
fields: ['category', 'featured', 'order']
},
{
type: 'gin',
fields: ['tags']
}
]
});
module.exports = Service;

View File

@@ -0,0 +1,96 @@
const { DataTypes } = require('sequelize');
const { sequelize } = require('../config/database');
const Service = sequelize.define('Service', {
id: {
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4,
primaryKey: true
},
name: {
type: DataTypes.STRING,
allowNull: false,
validate: {
len: [1, 255]
},
set(value) {
this.setDataValue('name', value.trim());
}
},
description: {
type: DataTypes.TEXT,
allowNull: false
},
shortDescription: {
type: DataTypes.STRING(150),
allowNull: false
},
icon: {
type: DataTypes.STRING,
allowNull: false
},
category: {
type: DataTypes.ENUM(
'web-development',
'mobile-development',
'ui-ux-design',
'consulting',
'support',
'other'
),
allowNull: false
},
features: {
type: DataTypes.JSONB,
defaultValue: []
},
pricing: {
type: DataTypes.JSONB,
allowNull: false,
validate: {
isValidPricing(value) {
if (!value.basePrice || value.basePrice < 0) {
throw new Error('Base price must be a positive number');
}
}
}
},
estimatedTime: {
type: DataTypes.STRING,
allowNull: true
},
isActive: {
type: DataTypes.BOOLEAN,
defaultValue: true
},
featured: {
type: DataTypes.BOOLEAN,
defaultValue: false
},
order: {
type: DataTypes.INTEGER,
defaultValue: 0
},
tags: {
type: DataTypes.JSONB,
defaultValue: []
},
seo: {
type: DataTypes.JSONB,
defaultValue: {}
}
}, {
tableName: 'services',
timestamps: true,
indexes: [
{
fields: ['category', 'featured', 'order']
},
{
type: 'gin',
fields: ['tags']
}
]
});
module.exports = Service;

View File

@@ -0,0 +1,90 @@
const { DataTypes } = require('sequelize');
const { sequelize } = require('../config/database');
const Service = sequelize.define('Service', {
id: {
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4,
primaryKey: true
},
name: {
type: DataTypes.STRING,
allowNull: false,
validate: {
len: [1, 255]
},
set(value) {
this.setDataValue('name', value.trim());
}
},
description: {
type: DataTypes.TEXT,
allowNull: false
},
shortDescription: {
type: DataTypes.STRING(150),
allowNull: false
},
icon: {
type: DataTypes.STRING,
allowNull: false
},
category: {
type: DataTypes.ENUM(
'web-development',
'mobile-development',
'ui-ux-design',
'consulting',
'support',
'other'
),
allowNull: false
},
features: {
type: DataTypes.JSONB,
defaultValue: []
},
pricing: {
type: DataTypes.JSONB,
allowNull: true,
defaultValue: {}
},
estimatedTime: {
type: DataTypes.STRING,
allowNull: true
},
isActive: {
type: DataTypes.BOOLEAN,
defaultValue: true
},
featured: {
type: DataTypes.BOOLEAN,
defaultValue: false
},
order: {
type: DataTypes.INTEGER,
defaultValue: 0
},
tags: {
type: DataTypes.JSONB,
defaultValue: []
},
seo: {
type: DataTypes.JSONB,
defaultValue: {}
}
}, {
tableName: 'services',
timestamps: true,
indexes: [
{
fields: ['category', 'featured', 'order']
},
{
type: 'gin',
fields: ['tags']
}
]
});
module.exports = Service;

View File

@@ -0,0 +1,90 @@
const { DataTypes } = require('sequelize');
const { sequelize } = require('../config/database');
const Service = sequelize.define('Service', {
id: {
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4,
primaryKey: true
},
name: {
type: DataTypes.STRING,
allowNull: false,
validate: {
len: [1, 255]
},
set(value) {
this.setDataValue('name', value.trim());
}
},
description: {
type: DataTypes.TEXT,
allowNull: false
},
shortDescription: {
type: DataTypes.STRING(500),
allowNull: true
},
icon: {
type: DataTypes.STRING,
allowNull: false
},
category: {
type: DataTypes.ENUM(
'web-development',
'mobile-development',
'ui-ux-design',
'consulting',
'support',
'other'
),
allowNull: false
},
features: {
type: DataTypes.JSONB,
defaultValue: []
},
pricing: {
type: DataTypes.JSONB,
allowNull: true,
defaultValue: {}
},
estimatedTime: {
type: DataTypes.STRING,
allowNull: true
},
isActive: {
type: DataTypes.BOOLEAN,
defaultValue: true
},
featured: {
type: DataTypes.BOOLEAN,
defaultValue: false
},
order: {
type: DataTypes.INTEGER,
defaultValue: 0
},
tags: {
type: DataTypes.JSONB,
defaultValue: []
},
seo: {
type: DataTypes.JSONB,
defaultValue: {}
}
}, {
tableName: 'services',
timestamps: true,
indexes: [
{
fields: ['category', 'featured', 'order']
},
{
type: 'gin',
fields: ['tags']
}
]
});
module.exports = Service;

View File

@@ -0,0 +1,90 @@
const { DataTypes } = require('sequelize');
const { sequelize } = require('../config/database');
const Service = sequelize.define('Service', {
id: {
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4,
primaryKey: true
},
name: {
type: DataTypes.STRING,
allowNull: false,
validate: {
len: [1, 255]
},
set(value) {
this.setDataValue('name', value.trim());
}
},
description: {
type: DataTypes.TEXT,
allowNull: true
},
shortDescription: {
type: DataTypes.STRING(500),
allowNull: true
},
icon: {
type: DataTypes.STRING,
allowNull: false
},
category: {
type: DataTypes.ENUM(
'web-development',
'mobile-development',
'ui-ux-design',
'consulting',
'support',
'other'
),
allowNull: false
},
features: {
type: DataTypes.JSONB,
defaultValue: []
},
pricing: {
type: DataTypes.JSONB,
allowNull: true,
defaultValue: {}
},
estimatedTime: {
type: DataTypes.STRING,
allowNull: true
},
isActive: {
type: DataTypes.BOOLEAN,
defaultValue: true
},
featured: {
type: DataTypes.BOOLEAN,
defaultValue: false
},
order: {
type: DataTypes.INTEGER,
defaultValue: 0
},
tags: {
type: DataTypes.JSONB,
defaultValue: []
},
seo: {
type: DataTypes.JSONB,
defaultValue: {}
}
}, {
tableName: 'services',
timestamps: true,
indexes: [
{
fields: ['category', 'featured', 'order']
},
{
type: 'gin',
fields: ['tags']
}
]
});
module.exports = Service;

View File

@@ -0,0 +1,91 @@
const { DataTypes } = require('sequelize');
const { sequelize } = require('../config/database');
const Service = sequelize.define('Service', {
id: {
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4,
primaryKey: true
},
name: {
type: DataTypes.STRING,
allowNull: false,
validate: {
len: [1, 255]
},
set(value) {
this.setDataValue('name', value.trim());
}
},
description: {
type: DataTypes.TEXT,
allowNull: true
},
shortDescription: {
type: DataTypes.STRING(500),
allowNull: true
},
icon: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: 'fas fa-cog'
},
category: {
type: DataTypes.ENUM(
'web-development',
'mobile-development',
'ui-ux-design',
'consulting',
'support',
'other'
),
allowNull: false
},
features: {
type: DataTypes.JSONB,
defaultValue: []
},
pricing: {
type: DataTypes.JSONB,
allowNull: true,
defaultValue: {}
},
estimatedTime: {
type: DataTypes.STRING,
allowNull: true
},
isActive: {
type: DataTypes.BOOLEAN,
defaultValue: true
},
featured: {
type: DataTypes.BOOLEAN,
defaultValue: false
},
order: {
type: DataTypes.INTEGER,
defaultValue: 0
},
tags: {
type: DataTypes.JSONB,
defaultValue: []
},
seo: {
type: DataTypes.JSONB,
defaultValue: {}
}
}, {
tableName: 'services',
timestamps: true,
indexes: [
{
fields: ['category', 'featured', 'order']
},
{
type: 'gin',
fields: ['tags']
}
]
});
module.exports = Service;

View File

@@ -0,0 +1,91 @@
const { DataTypes } = require('sequelize');
const { sequelize } = require('../config/database');
const Service = sequelize.define('Service', {
id: {
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4,
primaryKey: true
},
name: {
type: DataTypes.STRING,
allowNull: false,
validate: {
len: [1, 255]
},
set(value) {
this.setDataValue('name', value.trim());
}
},
description: {
type: DataTypes.TEXT,
allowNull: true
},
shortDescription: {
type: DataTypes.STRING(500),
allowNull: true
},
icon: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: 'fas fa-cog'
},
category: {
type: DataTypes.ENUM(
'web-development',
'mobile-development',
'ui-ux-design',
'consulting',
'support',
'other'
),
allowNull: false
},
features: {
type: DataTypes.JSONB,
defaultValue: []
},
pricing: {
type: DataTypes.JSONB,
allowNull: true,
defaultValue: {}
},
estimatedTime: {
type: DataTypes.STRING,
allowNull: true
},
isActive: {
type: DataTypes.BOOLEAN,
defaultValue: true
},
featured: {
type: DataTypes.BOOLEAN,
defaultValue: false
},
order: {
type: DataTypes.INTEGER,
defaultValue: 0
},
tags: {
type: DataTypes.JSONB,
defaultValue: []
},
seo: {
type: DataTypes.JSONB,
defaultValue: {}
}
}, {
tableName: 'services',
timestamps: true,
indexes: [
{
fields: ['category', 'featured', 'order']
},
{
type: 'gin',
fields: ['tags']
}
]
});
module.exports = Service;

View File

@@ -1,116 +0,0 @@
const mongoose = require('mongoose');
const siteSettingsSchema = new mongoose.Schema({
siteName: {
type: String,
default: 'SmartSolTech'
},
siteDescription: {
type: String,
default: 'Innovative technology solutions for modern businesses'
},
logo: {
type: String,
default: '/images/logo.png'
},
favicon: {
type: String,
default: '/images/favicon.ico'
},
contact: {
email: {
type: String,
default: 'info@smartsoltech.kr'
},
phone: {
type: String,
default: '+82-10-0000-0000'
},
address: {
type: String,
default: 'Seoul, South Korea'
}
},
social: {
facebook: String,
twitter: String,
linkedin: String,
instagram: String,
github: String,
telegram: String
},
telegram: {
botToken: String,
chatId: String,
isEnabled: {
type: Boolean,
default: false
}
},
seo: {
metaTitle: {
type: String,
default: 'SmartSolTech - Technology Solutions'
},
metaDescription: {
type: String,
default: 'Professional web development, mobile apps, and digital solutions in Korea'
},
keywords: {
type: String,
default: 'web development, mobile apps, UI/UX design, Korea, technology'
},
googleAnalytics: String,
googleTagManager: String
},
hero: {
title: {
type: String,
default: 'Smart Technology Solutions'
},
subtitle: {
type: String,
default: 'We create innovative digital experiences that drive business growth'
},
backgroundImage: {
type: String,
default: '/images/hero-bg.jpg'
},
ctaText: {
type: String,
default: 'Get Started'
},
ctaLink: {
type: String,
default: '#contact'
}
},
about: {
title: {
type: String,
default: 'About SmartSolTech'
},
description: {
type: String,
default: 'We are a team of passionate developers and designers creating cutting-edge technology solutions.'
},
image: {
type: String,
default: '/images/about.jpg'
}
},
maintenance: {
isEnabled: {
type: Boolean,
default: false
},
message: {
type: String,
default: 'We are currently performing maintenance. Please check back soon.'
}
}
}, {
timestamps: true
});
module.exports = mongoose.model('SiteSettings', siteSettingsSchema);

View File

@@ -1,116 +0,0 @@
const mongoose = require('mongoose');
const siteSettingsSchema = new mongoose.Schema({
siteName: {
type: String,
default: 'SmartSolTech'
},
siteDescription: {
type: String,
default: 'Innovative technology solutions for modern businesses'
},
logo: {
type: String,
default: '/images/logo.png'
},
favicon: {
type: String,
default: '/images/favicon.ico'
},
contact: {
email: {
type: String,
default: 'info@smartsoltech.kr'
},
phone: {
type: String,
default: '+82-10-0000-0000'
},
address: {
type: String,
default: 'Seoul, South Korea'
}
},
social: {
facebook: String,
twitter: String,
linkedin: String,
instagram: String,
github: String,
telegram: String
},
telegram: {
botToken: String,
chatId: String,
isEnabled: {
type: Boolean,
default: false
}
},
seo: {
metaTitle: {
type: String,
default: 'SmartSolTech - Technology Solutions'
},
metaDescription: {
type: String,
default: 'Professional web development, mobile apps, and digital solutions in Korea'
},
keywords: {
type: String,
default: 'web development, mobile apps, UI/UX design, Korea, technology'
},
googleAnalytics: String,
googleTagManager: String
},
hero: {
title: {
type: String,
default: 'Smart Technology Solutions'
},
subtitle: {
type: String,
default: 'We create innovative digital experiences that drive business growth'
},
backgroundImage: {
type: String,
default: '/images/hero-bg.jpg'
},
ctaText: {
type: String,
default: 'Get Started'
},
ctaLink: {
type: String,
default: '#contact'
}
},
about: {
title: {
type: String,
default: 'About SmartSolTech'
},
description: {
type: String,
default: 'We are a team of passionate developers and designers creating cutting-edge technology solutions.'
},
image: {
type: String,
default: '/images/about.jpg'
}
},
maintenance: {
isEnabled: {
type: Boolean,
default: false
},
message: {
type: String,
default: 'We are currently performing maintenance. Please check back soon.'
}
}
}, {
timestamps: true
});
module.exports = mongoose.model('SiteSettings', siteSettingsSchema);

View File

@@ -1,75 +0,0 @@
const mongoose = require('mongoose');
const bcrypt = require('bcryptjs');
const userSchema = new mongoose.Schema({
email: {
type: String,
required: true,
unique: true,
lowercase: true,
trim: true
},
password: {
type: String,
required: true,
minlength: 6
},
name: {
type: String,
required: true,
trim: true
},
role: {
type: String,
enum: ['admin', 'moderator'],
default: 'admin'
},
avatar: {
type: String,
default: null
},
isActive: {
type: Boolean,
default: true
},
lastLogin: {
type: Date,
default: null
},
createdAt: {
type: Date,
default: Date.now
},
updatedAt: {
type: Date,
default: Date.now
}
}, {
timestamps: true
});
// Hash password before saving
userSchema.pre('save', async function(next) {
if (!this.isModified('password')) return next();
try {
const salt = await bcrypt.genSalt(12);
this.password = await bcrypt.hash(this.password, salt);
next();
} catch (error) {
next(error);
}
});
// Compare password method
userSchema.methods.comparePassword = async function(candidatePassword) {
return bcrypt.compare(candidatePassword, this.password);
};
// Update last login
userSchema.methods.updateLastLogin = function() {
this.lastLogin = new Date();
return this.save();
};
module.exports = mongoose.model('User', userSchema);

View File

@@ -1,75 +0,0 @@
const mongoose = require('mongoose');
const bcrypt = require('bcryptjs');
const userSchema = new mongoose.Schema({
email: {
type: String,
required: true,
unique: true,
lowercase: true,
trim: true
},
password: {
type: String,
required: true,
minlength: 6
},
name: {
type: String,
required: true,
trim: true
},
role: {
type: String,
enum: ['admin', 'moderator'],
default: 'admin'
},
avatar: {
type: String,
default: null
},
isActive: {
type: Boolean,
default: true
},
lastLogin: {
type: Date,
default: null
},
createdAt: {
type: Date,
default: Date.now
},
updatedAt: {
type: Date,
default: Date.now
}
}, {
timestamps: true
});
// Hash password before saving
userSchema.pre('save', async function(next) {
if (!this.isModified('password')) return next();
try {
const salt = await bcrypt.genSalt(12);
this.password = await bcrypt.hash(this.password, salt);
next();
} catch (error) {
next(error);
}
});
// Compare password method
userSchema.methods.comparePassword = async function(candidatePassword) {
return bcrypt.compare(candidatePassword, this.password);
};
// Update last login
userSchema.methods.updateLastLogin = function() {
this.lastLogin = new Date();
return this.save();
};
module.exports = mongoose.model('User', userSchema);

View File

@@ -1,48 +0,0 @@
{
"name": "smartsoltech-website",
"version": "1.0.0",
"description": "Modern PWA website for SmartSolTech with admin panel and Telegram integration",
"main": "server.js",
"scripts": {
"start": "node server.js",
"dev": "nodemon server.js",
"build": "webpack --mode production",
"build:dev": "webpack --mode development",
"watch": "webpack --mode development --watch"
},
"keywords": ["pwa", "nodejs", "express", "telegram", "portfolio", "calculator"],
"author": "SmartSolTech",
"license": "MIT",
"dependencies": {
"express": "^4.18.2",
"mongoose": "^8.0.3",
"bcryptjs": "^2.4.3",
"jsonwebtoken": "^9.0.2",
"express-session": "^1.17.3",
"connect-mongo": "^5.1.0",
"multer": "^1.4.5-lts.1",
"sharp": "^0.33.0",
"node-telegram-bot-api": "^0.64.0",
"express-rate-limit": "^7.1.5",
"helmet": "^7.1.0",
"cors": "^2.8.5",
"dotenv": "^16.3.1",
"compression": "^1.7.4",
"morgan": "^1.10.0",
"nodemailer": "^6.9.7",
"express-validator": "^7.0.1",
"socket.io": "^4.7.4"
},
"devDependencies": {
"nodemon": "^3.0.2",
"webpack": "^5.89.0",
"webpack-cli": "^5.1.4",
"css-loader": "^6.8.1",
"style-loader": "^3.3.3",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.5.3",
"mini-css-extract-plugin": "^2.7.6",
"terser-webpack-plugin": "^5.3.9",
"workbox-webpack-plugin": "^7.0.0"
}
}

View File

@@ -1,48 +0,0 @@
{
"name": "smartsoltech-website",
"version": "1.0.0",
"description": "Modern PWA website for SmartSolTech with admin panel and Telegram integration",
"main": "server.js",
"scripts": {
"start": "node server.js",
"dev": "nodemon server.js",
"build": "webpack --mode production",
"build:dev": "webpack --mode development",
"watch": "webpack --mode development --watch"
},
"keywords": ["pwa", "nodejs", "express", "telegram", "portfolio", "calculator"],
"author": "SmartSolTech",
"license": "MIT",
"dependencies": {
"express": "^4.18.2",
"mongoose": "^8.0.3",
"bcryptjs": "^2.4.3",
"jsonwebtoken": "^9.0.2",
"express-session": "^1.17.3",
"connect-mongo": "^5.1.0",
"multer": "^1.4.5-lts.1",
"sharp": "^0.33.0",
"node-telegram-bot-api": "^0.64.0",
"express-rate-limit": "^7.1.5",
"helmet": "^7.1.0",
"cors": "^2.8.5",
"dotenv": "^16.3.1",
"compression": "^1.7.4",
"morgan": "^1.10.0",
"nodemailer": "^6.9.7",
"express-validator": "^7.0.1",
"socket.io": "^4.7.4"
},
"devDependencies": {
"nodemon": "^3.0.2",
"webpack": "^5.89.0",
"webpack-cli": "^5.1.4",
"css-loader": "^6.8.1",
"style-loader": "^3.3.3",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.5.3",
"mini-css-extract-plugin": "^2.7.6",
"terser-webpack-plugin": "^5.3.9",
"workbox-webpack-plugin": "^7.0.0"
}
}

View File

@@ -1,48 +0,0 @@
{
"name": "smartsoltech-website",
"version": "1.0.0",
"description": "Modern PWA website for SmartSolTech with admin panel and Telegram integration",
"main": "server.js",
"scripts": {
"start": "node server.js",
"dev": "node scripts/dev.js",
"build": "node scripts/build.js",
"init-db": "node scripts/init-db.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": ["pwa", "nodejs", "express", "telegram", "portfolio", "calculator"],
"author": "SmartSolTech",
"license": "MIT",
"dependencies": {
"express": "^4.18.2",
"mongoose": "^8.0.3",
"bcryptjs": "^2.4.3",
"jsonwebtoken": "^9.0.2",
"express-session": "^1.17.3",
"connect-mongo": "^5.1.0",
"multer": "^1.4.5-lts.1",
"sharp": "^0.33.0",
"node-telegram-bot-api": "^0.64.0",
"express-rate-limit": "^7.1.5",
"helmet": "^7.1.0",
"cors": "^2.8.5",
"dotenv": "^16.3.1",
"compression": "^1.7.4",
"morgan": "^1.10.0",
"nodemailer": "^6.9.7",
"express-validator": "^7.0.1",
"socket.io": "^4.7.4"
},
"devDependencies": {
"nodemon": "^3.0.2",
"webpack": "^5.89.0",
"webpack-cli": "^5.1.4",
"css-loader": "^6.8.1",
"style-loader": "^3.3.3",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.5.3",
"mini-css-extract-plugin": "^2.7.6",
"terser-webpack-plugin": "^5.3.9",
"workbox-webpack-plugin": "^7.0.0"
}
}

View File

@@ -1,48 +0,0 @@
{
"name": "smartsoltech-website",
"version": "1.0.0",
"description": "Modern PWA website for SmartSolTech with admin panel and Telegram integration",
"main": "server.js",
"scripts": {
"start": "node server.js",
"dev": "node scripts/dev.js",
"build": "node scripts/build.js",
"init-db": "node scripts/init-db.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": ["pwa", "nodejs", "express", "telegram", "portfolio", "calculator"],
"author": "SmartSolTech",
"license": "MIT",
"dependencies": {
"express": "^4.18.2",
"mongoose": "^8.0.3",
"bcryptjs": "^2.4.3",
"jsonwebtoken": "^9.0.2",
"express-session": "^1.17.3",
"connect-mongo": "^5.1.0",
"multer": "^1.4.5-lts.1",
"sharp": "^0.33.0",
"node-telegram-bot-api": "^0.64.0",
"express-rate-limit": "^7.1.5",
"helmet": "^7.1.0",
"cors": "^2.8.5",
"dotenv": "^16.3.1",
"compression": "^1.7.4",
"morgan": "^1.10.0",
"nodemailer": "^6.9.7",
"express-validator": "^7.0.1",
"socket.io": "^4.7.4"
},
"devDependencies": {
"nodemon": "^3.0.2",
"webpack": "^5.89.0",
"webpack-cli": "^5.1.4",
"css-loader": "^6.8.1",
"style-loader": "^3.3.3",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.5.3",
"mini-css-extract-plugin": "^2.7.6",
"terser-webpack-plugin": "^5.3.9",
"workbox-webpack-plugin": "^7.0.0"
}
}

View File

@@ -1,49 +0,0 @@
{
"name": "smartsoltech-website",
"version": "1.0.0",
"description": "Modern PWA website for SmartSolTech with admin panel and Telegram integration",
"main": "server.js",
"scripts": {
"start": "node server.js",
"demo": "node server-demo.js",
"dev": "node scripts/dev.js",
"build": "node scripts/build.js",
"init-db": "node scripts/init-db.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": ["pwa", "nodejs", "express", "telegram", "portfolio", "calculator"],
"author": "SmartSolTech",
"license": "MIT",
"dependencies": {
"express": "^4.18.2",
"mongoose": "^8.0.3",
"bcryptjs": "^2.4.3",
"jsonwebtoken": "^9.0.2",
"express-session": "^1.17.3",
"connect-mongo": "^5.1.0",
"multer": "^1.4.5-lts.1",
"sharp": "^0.33.0",
"node-telegram-bot-api": "^0.64.0",
"express-rate-limit": "^7.1.5",
"helmet": "^7.1.0",
"cors": "^2.8.5",
"dotenv": "^16.3.1",
"compression": "^1.7.4",
"morgan": "^1.10.0",
"nodemailer": "^6.9.7",
"express-validator": "^7.0.1",
"socket.io": "^4.7.4"
},
"devDependencies": {
"nodemon": "^3.0.2",
"webpack": "^5.89.0",
"webpack-cli": "^5.1.4",
"css-loader": "^6.8.1",
"style-loader": "^3.3.3",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.5.3",
"mini-css-extract-plugin": "^2.7.6",
"terser-webpack-plugin": "^5.3.9",
"workbox-webpack-plugin": "^7.0.0"
}
}

View File

@@ -1,49 +0,0 @@
{
"name": "smartsoltech-website",
"version": "1.0.0",
"description": "Modern PWA website for SmartSolTech with admin panel and Telegram integration",
"main": "server.js",
"scripts": {
"start": "node server.js",
"demo": "node server-demo.js",
"dev": "node scripts/dev.js",
"build": "node scripts/build.js",
"init-db": "node scripts/init-db.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": ["pwa", "nodejs", "express", "telegram", "portfolio", "calculator"],
"author": "SmartSolTech",
"license": "MIT",
"dependencies": {
"express": "^4.18.2",
"mongoose": "^8.0.3",
"bcryptjs": "^2.4.3",
"jsonwebtoken": "^9.0.2",
"express-session": "^1.17.3",
"connect-mongo": "^5.1.0",
"multer": "^1.4.5-lts.1",
"sharp": "^0.33.0",
"node-telegram-bot-api": "^0.64.0",
"express-rate-limit": "^7.1.5",
"helmet": "^7.1.0",
"cors": "^2.8.5",
"dotenv": "^16.3.1",
"compression": "^1.7.4",
"morgan": "^1.10.0",
"nodemailer": "^6.9.7",
"express-validator": "^7.0.1",
"socket.io": "^4.7.4"
},
"devDependencies": {
"nodemon": "^3.0.2",
"webpack": "^5.89.0",
"webpack-cli": "^5.1.4",
"css-loader": "^6.8.1",
"style-loader": "^3.3.3",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.5.3",
"mini-css-extract-plugin": "^2.7.6",
"terser-webpack-plugin": "^5.3.9",
"workbox-webpack-plugin": "^7.0.0"
}
}

View File

@@ -1,88 +0,0 @@
/* SmartSolTech - Main Styles */
/* Basic reset */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
line-height: 1.6;
color: #1f2937;
}
/* Additional styles for demo */
.hero-section {
padding: 6rem 0 4rem;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
text-align: center;
}
.section-padding {
padding: 4rem 0;
}
.card-hover {
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card-hover:hover {
transform: translateY(-5px);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}
.btn-gradient {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
transition: all 0.3s ease;
}
.btn-gradient:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(102, 126, 234, 0.3);
}
/* Loading spinner */
.loading {
display: inline-block;
width: 20px;
height: 20px;
border: 3px solid rgba(255, 255, 255, 0.3);
border-radius: 50%;
border-top-color: #fff;
animation: spin 1s ease-in-out infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
/* Animations */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.animate-fade-in-up {
animation: fadeInUp 0.6s ease-out;
}
/* Responsive utilities */
@media (max-width: 768px) {
.hero-section {
padding: 4rem 0 3rem;
}
.section-padding {
padding: 2rem 0;
}
}

View File

@@ -1,88 +0,0 @@
/* SmartSolTech - Main Styles */
/* Basic reset */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
line-height: 1.6;
color: #1f2937;
}
/* Additional styles for demo */
.hero-section {
padding: 6rem 0 4rem;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
text-align: center;
}
.section-padding {
padding: 4rem 0;
}
.card-hover {
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card-hover:hover {
transform: translateY(-5px);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}
.btn-gradient {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
transition: all 0.3s ease;
}
.btn-gradient:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(102, 126, 234, 0.3);
}
/* Loading spinner */
.loading {
display: inline-block;
width: 20px;
height: 20px;
border: 3px solid rgba(255, 255, 255, 0.3);
border-radius: 50%;
border-top-color: #fff;
animation: spin 1s ease-in-out infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
/* Animations */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.animate-fade-in-up {
animation: fadeInUp 0.6s ease-out;
}
/* Responsive utilities */
@media (max-width: 768px) {
.hero-section {
padding: 4rem 0 3rem;
}
.section-padding {
padding: 2rem 0;
}
}

View File

@@ -1,315 +0,0 @@
/* Dark Theme Support for SmartSolTech */
/* Base Dark Theme */
html.dark {
color-scheme: dark;
}
.dark body {
background-color: #111827;
color: #f9fafb;
}
/* Navigation Dark Theme */
.dark nav {
background-color: #1f2937;
border-color: #374151;
}
.dark .nav-link {
color: #d1d5db;
}
.dark .nav-link:hover {
color: #60a5fa;
}
.dark .nav-link.active {
color: #60a5fa;
}
/* Sections Dark Theme */
.dark section {
background-color: #111827;
color: #f9fafb;
}
.dark .bg-white {
background-color: #1f2937 !important;
}
.dark .bg-gray-50 {
background-color: #111827 !important;
}
.dark .bg-gray-100 {
background-color: #374151 !important;
}
.dark .bg-gray-900 {
background-color: #030712 !important;
}
/* Text Colors Dark Theme */
.dark .text-gray-900 {
color: #f9fafb !important;
}
.dark .text-gray-800 {
color: #e5e7eb !important;
}
.dark .text-gray-700 {
color: #d1d5db !important;
}
.dark .text-gray-600 {
color: #9ca3af !important;
}
.dark .text-gray-500 {
color: #6b7280 !important;
}
.dark .text-gray-400 {
color: #9ca3af !important;
}
.dark .text-gray-300 {
color: #d1d5db !important;
}
/* Cards Dark Theme */
.dark .card-hover {
background-color: #1f2937;
border-color: #374151;
}
.dark .card-hover:hover {
background-color: #374151;
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
}
/* Forms Dark Theme */
.dark .form-input {
background-color: #374151;
border-color: #4b5563;
color: #f9fafb;
}
.dark .form-input:focus {
border-color: #60a5fa;
background-color: #1f2937;
}
.dark .form-input::placeholder {
color: #9ca3af;
}
.dark input,
.dark textarea,
.dark select {
background-color: #374151;
border-color: #4b5563;
color: #f9fafb;
}
.dark input:focus,
.dark textarea:focus,
.dark select:focus {
border-color: #60a5fa;
background-color: #1f2937;
}
/* Borders Dark Theme */
.dark .border-gray-300 {
border-color: #4b5563 !important;
}
.dark .border-gray-200 {
border-color: #374151 !important;
}
.dark .border-t {
border-color: #374151;
}
/* Contact Form Dark Theme */
.dark .contact-form {
background: linear-gradient(145deg, rgba(31,41,55,0.9), rgba(31,41,55,0.95));
border-color: #374151;
}
/* Service Cards Dark Theme */
.dark .service-card {
background: linear-gradient(145deg, rgba(31,41,55,0.8), rgba(31,41,55,0.6));
border-color: #374151;
}
/* Team Cards Dark Theme */
.dark .team-card {
background-color: #1f2937;
border-color: #374151;
}
/* Portfolio Items Dark Theme */
.dark .portfolio-item {
background-color: #1f2937;
}
/* Hero Section Dark Theme */
.dark .hero-section {
background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
}
/* Shadows Dark Theme */
.dark .shadow-lg {
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.2);
}
.dark .shadow-xl {
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 10px 10px -5px rgba(0, 0, 0, 0.2);
}
.dark .shadow-2xl {
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}
/* Dropdown Dark Theme */
.dark .dropdown-menu {
background-color: #1f2937;
border-color: #374151;
}
.dark .dropdown-menu a {
color: #d1d5db;
}
.dark .dropdown-menu a:hover {
background-color: #374151;
color: #f9fafb;
}
/* Icons Dark Theme */
.dark .text-blue-600 {
color: #60a5fa !important;
}
.dark .text-purple-600 {
color: #a78bfa !important;
}
.dark .text-green-600 {
color: #34d399 !important;
}
.dark .text-yellow-600 {
color: #fbbf24 !important;
}
/* Buttons Dark Theme */
.dark .btn-primary {
background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}
.dark .btn-primary:hover {
background: linear-gradient(135deg, #1d4ed8, #1e40af);
}
/* Footer Dark Theme */
.dark footer {
background-color: #030712;
border-color: #1f2937;
}
.dark .footer-gradient {
background: linear-gradient(135deg, #030712 0%, #111827 100%);
}
/* Scrollbar Dark Theme */
.dark ::-webkit-scrollbar-track {
background: #1f2937;
}
.dark ::-webkit-scrollbar-thumb {
background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}
/* Technology Stack Dark Theme */
.dark .tech-stack {
background-color: #030712;
}
.dark .tech-card {
background-color: #1f2937;
border-color: #374151;
}
/* CTA Section Dark Theme */
.dark .cta-section {
background: linear-gradient(135deg, #1e40af 0%, #7c3aed 100%);
}
/* Testimonials Dark Theme */
.dark .testimonial-card {
background: rgba(31, 41, 55, 0.8);
border-color: #374151;
}
/* Alert Messages Dark Theme */
.dark .alert-success {
background: rgba(16, 185, 129, 0.1);
border-color: rgba(16, 185, 129, 0.3);
color: #10b981;
}
.dark .alert-error {
background: rgba(239, 68, 68, 0.1);
border-color: rgba(239, 68, 68, 0.3);
color: #ef4444;
}
/* Mobile Menu Dark Theme */
.dark #mobile-menu {
background-color: #1f2937;
border-color: #374151;
}
/* Language Dropdown Dark Theme */
.dark #mobile-language-menu {
background-color: #1f2937;
border-color: #374151;
}
/* Smooth Theme Transition */
* {
transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
/* Print styles for dark theme */
@media print {
.dark * {
background: white !important;
color: black !important;
}
}
/* High contrast mode */
@media (prefers-contrast: high) {
.dark {
--tw-bg-opacity: 1;
--tw-text-opacity: 1;
}
.dark .border {
border-width: 2px;
}
}
/* Reduced motion for accessibility */
@media (prefers-reduced-motion: reduce) {
.dark * {
transition: none !important;
animation: none !important;
}
}

View File

@@ -1,315 +0,0 @@
/* Dark Theme Support for SmartSolTech */
/* Base Dark Theme */
html.dark {
color-scheme: dark;
}
.dark body {
background-color: #111827;
color: #f9fafb;
}
/* Navigation Dark Theme */
.dark nav {
background-color: #1f2937;
border-color: #374151;
}
.dark .nav-link {
color: #d1d5db;
}
.dark .nav-link:hover {
color: #60a5fa;
}
.dark .nav-link.active {
color: #60a5fa;
}
/* Sections Dark Theme */
.dark section {
background-color: #111827;
color: #f9fafb;
}
.dark .bg-white {
background-color: #1f2937 !important;
}
.dark .bg-gray-50 {
background-color: #111827 !important;
}
.dark .bg-gray-100 {
background-color: #374151 !important;
}
.dark .bg-gray-900 {
background-color: #030712 !important;
}
/* Text Colors Dark Theme */
.dark .text-gray-900 {
color: #f9fafb !important;
}
.dark .text-gray-800 {
color: #e5e7eb !important;
}
.dark .text-gray-700 {
color: #d1d5db !important;
}
.dark .text-gray-600 {
color: #9ca3af !important;
}
.dark .text-gray-500 {
color: #6b7280 !important;
}
.dark .text-gray-400 {
color: #9ca3af !important;
}
.dark .text-gray-300 {
color: #d1d5db !important;
}
/* Cards Dark Theme */
.dark .card-hover {
background-color: #1f2937;
border-color: #374151;
}
.dark .card-hover:hover {
background-color: #374151;
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
}
/* Forms Dark Theme */
.dark .form-input {
background-color: #374151;
border-color: #4b5563;
color: #f9fafb;
}
.dark .form-input:focus {
border-color: #60a5fa;
background-color: #1f2937;
}
.dark .form-input::placeholder {
color: #9ca3af;
}
.dark input,
.dark textarea,
.dark select {
background-color: #374151;
border-color: #4b5563;
color: #f9fafb;
}
.dark input:focus,
.dark textarea:focus,
.dark select:focus {
border-color: #60a5fa;
background-color: #1f2937;
}
/* Borders Dark Theme */
.dark .border-gray-300 {
border-color: #4b5563 !important;
}
.dark .border-gray-200 {
border-color: #374151 !important;
}
.dark .border-t {
border-color: #374151;
}
/* Contact Form Dark Theme */
.dark .contact-form {
background: linear-gradient(145deg, rgba(31,41,55,0.9), rgba(31,41,55,0.95));
border-color: #374151;
}
/* Service Cards Dark Theme */
.dark .service-card {
background: linear-gradient(145deg, rgba(31,41,55,0.8), rgba(31,41,55,0.6));
border-color: #374151;
}
/* Team Cards Dark Theme */
.dark .team-card {
background-color: #1f2937;
border-color: #374151;
}
/* Portfolio Items Dark Theme */
.dark .portfolio-item {
background-color: #1f2937;
}
/* Hero Section Dark Theme */
.dark .hero-section {
background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
}
/* Shadows Dark Theme */
.dark .shadow-lg {
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.2);
}
.dark .shadow-xl {
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 10px 10px -5px rgba(0, 0, 0, 0.2);
}
.dark .shadow-2xl {
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}
/* Dropdown Dark Theme */
.dark .dropdown-menu {
background-color: #1f2937;
border-color: #374151;
}
.dark .dropdown-menu a {
color: #d1d5db;
}
.dark .dropdown-menu a:hover {
background-color: #374151;
color: #f9fafb;
}
/* Icons Dark Theme */
.dark .text-blue-600 {
color: #60a5fa !important;
}
.dark .text-purple-600 {
color: #a78bfa !important;
}
.dark .text-green-600 {
color: #34d399 !important;
}
.dark .text-yellow-600 {
color: #fbbf24 !important;
}
/* Buttons Dark Theme */
.dark .btn-primary {
background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}
.dark .btn-primary:hover {
background: linear-gradient(135deg, #1d4ed8, #1e40af);
}
/* Footer Dark Theme */
.dark footer {
background-color: #030712;
border-color: #1f2937;
}
.dark .footer-gradient {
background: linear-gradient(135deg, #030712 0%, #111827 100%);
}
/* Scrollbar Dark Theme */
.dark ::-webkit-scrollbar-track {
background: #1f2937;
}
.dark ::-webkit-scrollbar-thumb {
background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}
/* Technology Stack Dark Theme */
.dark .tech-stack {
background-color: #030712;
}
.dark .tech-card {
background-color: #1f2937;
border-color: #374151;
}
/* CTA Section Dark Theme */
.dark .cta-section {
background: linear-gradient(135deg, #1e40af 0%, #7c3aed 100%);
}
/* Testimonials Dark Theme */
.dark .testimonial-card {
background: rgba(31, 41, 55, 0.8);
border-color: #374151;
}
/* Alert Messages Dark Theme */
.dark .alert-success {
background: rgba(16, 185, 129, 0.1);
border-color: rgba(16, 185, 129, 0.3);
color: #10b981;
}
.dark .alert-error {
background: rgba(239, 68, 68, 0.1);
border-color: rgba(239, 68, 68, 0.3);
color: #ef4444;
}
/* Mobile Menu Dark Theme */
.dark #mobile-menu {
background-color: #1f2937;
border-color: #374151;
}
/* Language Dropdown Dark Theme */
.dark #mobile-language-menu {
background-color: #1f2937;
border-color: #374151;
}
/* Smooth Theme Transition */
* {
transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
/* Print styles for dark theme */
@media print {
.dark * {
background: white !important;
color: black !important;
}
}
/* High contrast mode */
@media (prefers-contrast: high) {
.dark {
--tw-bg-opacity: 1;
--tw-text-opacity: 1;
}
.dark .border {
border-width: 2px;
}
}
/* Reduced motion for accessibility */
@media (prefers-reduced-motion: reduce) {
.dark * {
transition: none !important;
animation: none !important;
}
}

View File

@@ -0,0 +1,203 @@
/* Enhanced Animations for SmartSolTech */
/* Gradient Animation */
@keyframes gradient-x {
0%, 100% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
}
.animate-gradient-x {
background-size: 200% 200%;
animation: gradient-x 4s ease infinite;
}
/* Enhanced Blob Animation */
@keyframes blob {
0% {
transform: translate(0px, 0px) scale(1);
}
33% {
transform: translate(30px, -50px) scale(1.1);
}
66% {
transform: translate(-20px, 20px) scale(0.9);
}
100% {
transform: translate(0px, 0px) scale(1);
}
}
.animate-blob {
animation: blob 7s infinite;
}
.animation-delay-2000 {
animation-delay: 2s;
}
.animation-delay-4000 {
animation-delay: 4s;
}
.animation-delay-6000 {
animation-delay: 6s;
}
/* Pulse Animation with Delay */
@keyframes pulse-delayed {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
.animate-pulse-delayed {
animation: pulse-delayed 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
/* Floating Animation */
@keyframes float {
0%, 100% {
transform: translateY(0px);
}
50% {
transform: translateY(-10px);
}
}
.animate-float {
animation: float 3s ease-in-out infinite;
}
/* Card Hover Effects */
.card-hover {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-hover:hover {
transform: translateY(-8px);
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
/* Background Pattern */
.bg-pattern {
background-image: radial-gradient(circle at 1px 1px, rgba(59, 130, 246, 0.15) 1px, transparent 0);
background-size: 20px 20px;
}
/* Glowing Effect */
.glow {
box-shadow: 0 0 20px rgba(59, 130, 246, 0.5);
}
.glow-purple {
box-shadow: 0 0 20px rgba(139, 92, 246, 0.5);
}
.glow-green {
box-shadow: 0 0 20px rgba(16, 185, 129, 0.5);
}
.glow-orange {
box-shadow: 0 0 20px rgba(251, 146, 60, 0.5);
}
/* Hero Section Specific */
.hero-section {
position: relative;
overflow: hidden;
}
.hero-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background:
radial-gradient(1200px 600px at 10% -10%, rgba(99, 102, 241, 0.35), transparent 60%),
radial-gradient(1000px 500px at 110% 10%, rgba(168, 85, 247, 0.35), transparent 60%);
pointer-events: none;
z-index: 1;
}
/* Glass Effect */
.glass-effect {
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
background: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
}
/* Smooth Transitions */
.smooth-transition {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Text Shimmer Effect */
@keyframes shimmer {
0% {
background-position: -200% center;
}
100% {
background-position: 200% center;
}
}
.text-shimmer {
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.8), transparent);
background-size: 200% 100%;
animation: shimmer 2s infinite;
background-clip: text;
-webkit-background-clip: text;
}
/* Button Hover Effects */
.btn-enhanced {
position: relative;
overflow: hidden;
transition: all 0.3s ease;
}
.btn-enhanced::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
transition: left 0.5s;
}
.btn-enhanced:hover::before {
left: 100%;
}
/* Responsive Adjustments */
@media (max-width: 768px) {
.animate-blob {
animation-duration: 10s;
}
.card-hover:hover {
transform: translateY(-4px);
}
}
/* Dark Mode Adjustments */
.dark .glass-effect {
background: rgba(0, 0, 0, 0.1);
border: 1px solid rgba(255, 255, 255, 0.1);
}
.dark .bg-pattern {
background-image: radial-gradient(circle at 1px 1px, rgba(59, 130, 246, 0.1) 1px, transparent 0);
}

View File

@@ -0,0 +1,203 @@
/* Enhanced Animations for SmartSolTech */
/* Gradient Animation */
@keyframes gradient-x {
0%, 100% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
}
.animate-gradient-x {
background-size: 200% 200%;
animation: gradient-x 4s ease infinite;
}
/* Enhanced Blob Animation */
@keyframes blob {
0% {
transform: translate(0px, 0px) scale(1);
}
33% {
transform: translate(30px, -50px) scale(1.1);
}
66% {
transform: translate(-20px, 20px) scale(0.9);
}
100% {
transform: translate(0px, 0px) scale(1);
}
}
.animate-blob {
animation: blob 7s infinite;
}
.animation-delay-2000 {
animation-delay: 2s;
}
.animation-delay-4000 {
animation-delay: 4s;
}
.animation-delay-6000 {
animation-delay: 6s;
}
/* Pulse Animation with Delay */
@keyframes pulse-delayed {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
.animate-pulse-delayed {
animation: pulse-delayed 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
/* Floating Animation */
@keyframes float {
0%, 100% {
transform: translateY(0px);
}
50% {
transform: translateY(-10px);
}
}
.animate-float {
animation: float 3s ease-in-out infinite;
}
/* Card Hover Effects */
.card-hover {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-hover:hover {
transform: translateY(-8px);
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
/* Background Pattern */
.bg-pattern {
background-image: radial-gradient(circle at 1px 1px, rgba(59, 130, 246, 0.15) 1px, transparent 0);
background-size: 20px 20px;
}
/* Glowing Effect */
.glow {
box-shadow: 0 0 20px rgba(59, 130, 246, 0.5);
}
.glow-purple {
box-shadow: 0 0 20px rgba(139, 92, 246, 0.5);
}
.glow-green {
box-shadow: 0 0 20px rgba(16, 185, 129, 0.5);
}
.glow-orange {
box-shadow: 0 0 20px rgba(251, 146, 60, 0.5);
}
/* Hero Section Specific */
.hero-section {
position: relative;
overflow: hidden;
}
.hero-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background:
radial-gradient(1200px 600px at 10% -10%, rgba(99, 102, 241, 0.35), transparent 60%),
radial-gradient(1000px 500px at 110% 10%, rgba(168, 85, 247, 0.35), transparent 60%);
pointer-events: none;
z-index: 1;
}
/* Glass Effect */
.glass-effect {
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
background: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
}
/* Smooth Transitions */
.smooth-transition {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Text Shimmer Effect */
@keyframes shimmer {
0% {
background-position: -200% center;
}
100% {
background-position: 200% center;
}
}
.text-shimmer {
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.8), transparent);
background-size: 200% 100%;
animation: shimmer 2s infinite;
background-clip: text;
-webkit-background-clip: text;
}
/* Button Hover Effects */
.btn-enhanced {
position: relative;
overflow: hidden;
transition: all 0.3s ease;
}
.btn-enhanced::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
transition: left 0.5s;
}
.btn-enhanced:hover::before {
left: 100%;
}
/* Responsive Adjustments */
@media (max-width: 768px) {
.animate-blob {
animation-duration: 10s;
}
.card-hover:hover {
transform: translateY(-4px);
}
}
/* Dark Mode Adjustments */
.dark .glass-effect {
background: rgba(0, 0, 0, 0.1);
border: 1px solid rgba(255, 255, 255, 0.1);
}
.dark .bg-pattern {
background-image: radial-gradient(circle at 1px 1px, rgba(59, 130, 246, 0.1) 1px, transparent 0);
}

View File

@@ -1,281 +0,0 @@
/* SmartSolTech - Design Fixes & Enhancements */
/* Glass effect improvements */
.glass-effect {
background: rgba(255, 255, 255, 0.15);
border: 1px solid rgba(255, 255, 255, 0.3);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
/* Fallback for browsers that don't support backdrop-filter */
}
/* Support backdrop-filter for modern browsers */
@supports (backdrop-filter: blur(10px)) {
.glass-effect {
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}
}
/* Hero section improvements */
.hero-section {
position: relative;
overflow: hidden;
min-height: 100vh;
}
/* Background blob animations */
@keyframes blob {
0% { transform: translate(0px, 0px) scale(1); }
33% { transform: translate(30px, -50px) scale(1.1); }
66% { transform: translate(-20px, 20px) scale(0.9); }
100% { transform: translate(0px, 0px) scale(1); }
}
.animate-blob {
animation: blob 7s infinite;
}
.animation-delay-2000 {
animation-delay: 2s;
}
.animation-delay-4000 {
animation-delay: 4s;
}
/* Enhanced card hover effects */
.card-hover {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
backface-visibility: hidden;
}
.card-hover:hover {
transform: translateY(-8px) scale(1.02);
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}
/* Portfolio item enhancements */
.portfolio-item {
overflow: hidden;
border-radius: 16px;
position: relative;
}
.portfolio-image {
transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.portfolio-item:hover .portfolio-image {
transform: scale(1.1);
}
/* Button improvements */
.btn-primary {
background: linear-gradient(135deg, #3B82F6, #1D4ED8);
border: none;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}
.btn-primary::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
transition: left 0.5s;
}
.btn-primary:hover::before {
left: 100%;
}
.btn-primary:hover {
background: linear-gradient(135deg, #1D4ED8, #1E40AF);
transform: translateY(-3px);
box-shadow: 0 15px 35px rgba(59, 130, 246, 0.4);
}
/* Navigation improvements */
.nav-link {
position: relative;
transition: all 0.3s ease;
}
.nav-link::after {
content: '';
position: absolute;
bottom: -2px;
left: 50%;
width: 0;
height: 2px;
background: linear-gradient(90deg, #3B82F6, #8B5CF6);
transition: all 0.3s ease;
transform: translateX(-50%);
}
.nav-link:hover::after,
.nav-link.active::after {
width: 100%;
}
/* Form improvements */
.form-input {
transition: all 0.3s ease;
border: 2px solid #E5E7EB;
background: rgba(255, 255, 255, 0.95);
}
.form-input:focus {
border-color: #3B82F6;
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
transform: translateY(-1px);
}
/* Contact form styling */
.contact-form {
background: linear-gradient(145deg, rgba(255,255,255,0.9), rgba(255,255,255,0.95));
border: 1px solid rgba(255,255,255,0.3);
box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}
/* CTA section improvements */
.cta-section {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
position: relative;
}
.cta-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="75" cy="75" r="1" fill="rgba(255,255,255,0.1)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
opacity: 0.3;
}
/* Service cards */
.service-card {
background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05));
border: 1px solid rgba(255,255,255,0.2);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}
/* Team member cards */
.team-card {
transition: all 0.3s ease;
background: rgba(255, 255, 255, 0.95);
}
.team-card:hover {
transform: translateY(-10px);
box-shadow: 0 30px 60px rgba(0,0,0,0.12);
}
/* Technology icons */
.tech-icon {
transition: all 0.3s ease;
}
.tech-icon:hover {
transform: scale(1.1) rotate(5deg);
filter: brightness(1.2);
}
/* Loading states */
.loading {
opacity: 0.7;
pointer-events: none;
}
.loading::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 20px;
height: 20px;
margin: -10px 0 0 -10px;
border: 2px solid #f3f3f3;
border-top: 2px solid #3B82F6;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
/* Mobile optimizations */
@media (max-width: 768px) {
.card-hover:hover {
transform: translateY(-4px) scale(1.01);
}
.btn-primary:hover {
transform: translateY(-2px);
}
.hero-section {
min-height: 80vh;
}
.portfolio-item:hover .portfolio-image {
transform: scale(1.05);
}
}
/* Accessibility improvements */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
/* Focus styles for better accessibility */
button:focus,
input:focus,
textarea:focus,
select:focus,
a:focus {
outline: 2px solid #3B82F6;
outline-offset: 2px;
}
/* Smooth scrolling */
html {
scroll-behavior: smooth;
}
/* Print styles */
@media print {
.no-print {
display: none !important;
}
body {
color: black !important;
background: white !important;
}
}
/* Dark mode support (if needed) */
@media (prefers-color-scheme: dark) {
.auto-dark {
color: #f9fafb;
background-color: #111827;
}
}

View File

@@ -1,281 +0,0 @@
/* SmartSolTech - Design Fixes & Enhancements */
/* Glass effect improvements */
.glass-effect {
background: rgba(255, 255, 255, 0.15);
border: 1px solid rgba(255, 255, 255, 0.3);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
/* Fallback for browsers that don't support backdrop-filter */
}
/* Support backdrop-filter for modern browsers */
@supports (backdrop-filter: blur(10px)) {
.glass-effect {
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}
}
/* Hero section improvements */
.hero-section {
position: relative;
overflow: hidden;
min-height: 100vh;
}
/* Background blob animations */
@keyframes blob {
0% { transform: translate(0px, 0px) scale(1); }
33% { transform: translate(30px, -50px) scale(1.1); }
66% { transform: translate(-20px, 20px) scale(0.9); }
100% { transform: translate(0px, 0px) scale(1); }
}
.animate-blob {
animation: blob 7s infinite;
}
.animation-delay-2000 {
animation-delay: 2s;
}
.animation-delay-4000 {
animation-delay: 4s;
}
/* Enhanced card hover effects */
.card-hover {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
backface-visibility: hidden;
}
.card-hover:hover {
transform: translateY(-8px) scale(1.02);
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}
/* Portfolio item enhancements */
.portfolio-item {
overflow: hidden;
border-radius: 16px;
position: relative;
}
.portfolio-image {
transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.portfolio-item:hover .portfolio-image {
transform: scale(1.1);
}
/* Button improvements */
.btn-primary {
background: linear-gradient(135deg, #3B82F6, #1D4ED8);
border: none;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}
.btn-primary::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
transition: left 0.5s;
}
.btn-primary:hover::before {
left: 100%;
}
.btn-primary:hover {
background: linear-gradient(135deg, #1D4ED8, #1E40AF);
transform: translateY(-3px);
box-shadow: 0 15px 35px rgba(59, 130, 246, 0.4);
}
/* Navigation improvements */
.nav-link {
position: relative;
transition: all 0.3s ease;
}
.nav-link::after {
content: '';
position: absolute;
bottom: -2px;
left: 50%;
width: 0;
height: 2px;
background: linear-gradient(90deg, #3B82F6, #8B5CF6);
transition: all 0.3s ease;
transform: translateX(-50%);
}
.nav-link:hover::after,
.nav-link.active::after {
width: 100%;
}
/* Form improvements */
.form-input {
transition: all 0.3s ease;
border: 2px solid #E5E7EB;
background: rgba(255, 255, 255, 0.95);
}
.form-input:focus {
border-color: #3B82F6;
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
transform: translateY(-1px);
}
/* Contact form styling */
.contact-form {
background: linear-gradient(145deg, rgba(255,255,255,0.9), rgba(255,255,255,0.95));
border: 1px solid rgba(255,255,255,0.3);
box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}
/* CTA section improvements */
.cta-section {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
position: relative;
}
.cta-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="75" cy="75" r="1" fill="rgba(255,255,255,0.1)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
opacity: 0.3;
}
/* Service cards */
.service-card {
background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05));
border: 1px solid rgba(255,255,255,0.2);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}
/* Team member cards */
.team-card {
transition: all 0.3s ease;
background: rgba(255, 255, 255, 0.95);
}
.team-card:hover {
transform: translateY(-10px);
box-shadow: 0 30px 60px rgba(0,0,0,0.12);
}
/* Technology icons */
.tech-icon {
transition: all 0.3s ease;
}
.tech-icon:hover {
transform: scale(1.1) rotate(5deg);
filter: brightness(1.2);
}
/* Loading states */
.loading {
opacity: 0.7;
pointer-events: none;
}
.loading::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 20px;
height: 20px;
margin: -10px 0 0 -10px;
border: 2px solid #f3f3f3;
border-top: 2px solid #3B82F6;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
/* Mobile optimizations */
@media (max-width: 768px) {
.card-hover:hover {
transform: translateY(-4px) scale(1.01);
}
.btn-primary:hover {
transform: translateY(-2px);
}
.hero-section {
min-height: 80vh;
}
.portfolio-item:hover .portfolio-image {
transform: scale(1.05);
}
}
/* Accessibility improvements */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
/* Focus styles for better accessibility */
button:focus,
input:focus,
textarea:focus,
select:focus,
a:focus {
outline: 2px solid #3B82F6;
outline-offset: 2px;
}
/* Smooth scrolling */
html {
scroll-behavior: smooth;
}
/* Print styles */
@media print {
.no-print {
display: none !important;
}
body {
color: black !important;
background: white !important;
}
}
/* Dark mode support (if needed) */
@media (prefers-color-scheme: dark) {
.auto-dark {
color: #f9fafb;
background-color: #111827;
}
}

View File

@@ -1,425 +0,0 @@
/* Custom CSS for SmartSolTech */
:root {
--primary-color: #3b82f6;
--secondary-color: #8b5cf6;
--accent-color: #10b981;
--text-dark: #1f2937;
--text-light: #6b7280;
--bg-light: #f9fafb;
--border-color: #e5e7eb;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
line-height: 1.6;
color: var(--text-dark);
scroll-behavior: smooth;
}
/* Loading Animation */
.loading {
display: inline-block;
width: 20px;
height: 20px;
border: 3px solid rgba(255, 255, 255, 0.3);
border-radius: 50%;
border-top-color: #fff;
animation: spin 1s ease-in-out infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
/* Navigation Enhancements */
.navbar-scrolled {
background-color: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
/* Mobile Menu Animation */
.mobile-menu {
transition: all 0.3s ease-in-out;
max-height: 0;
overflow: hidden;
}
.mobile-menu.show {
max-height: 500px;
}
/* Button Hover Effects */
.btn-primary {
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
transition: all 0.3s ease;
transform: translateY(0);
}
.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 10px 25px rgba(59, 130, 246, 0.3);
}
/* Card Hover Effects */
.card-hover {
transition: all 0.3s ease;
transform: translateY(0);
}
.card-hover:hover {
transform: translateY(-8px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
/* Portfolio Grid */
.portfolio-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 2rem;
}
.portfolio-item {
border-radius: 1rem;
overflow: hidden;
background: white;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
}
.portfolio-item:hover {
transform: translateY(-4px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
.portfolio-image {
position: relative;
overflow: hidden;
aspect-ratio: 16/10;
}
.portfolio-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.3s ease;
}
.portfolio-item:hover .portfolio-image img {
transform: scale(1.05);
}
.portfolio-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(59, 130, 246, 0.8), rgba(139, 92, 246, 0.8));
opacity: 0;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
}
.portfolio-item:hover .portfolio-overlay {
opacity: 1;
}
/* Service Cards */
.service-card {
background: white;
border-radius: 1rem;
padding: 2rem;
text-align: center;
transition: all 0.3s ease;
border: 2px solid transparent;
}
.service-card:hover {
border-color: var(--primary-color);
transform: translateY(-4px);
box-shadow: 0 20px 40px rgba(59, 130, 246, 0.1);
}
.service-icon {
width: 80px;
height: 80px;
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 1rem;
font-size: 2rem;
color: white;
transition: all 0.3s ease;
}
.service-card:hover .service-icon {
transform: scale(1.1) rotate(5deg);
}
/* Contact Form */
.contact-form {
background: white;
border-radius: 1rem;
padding: 2rem;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.form-group {
margin-bottom: 1.5rem;
}
.form-control {
width: 100%;
padding: 1rem;
border: 2px solid var(--border-color);
border-radius: 0.5rem;
font-size: 1rem;
transition: all 0.3s ease;
background: white;
}
.form-control:focus {
outline: none;
border-color: var(--primary-color);
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
/* Calculator Styles */
.calculator-step {
animation: fadeIn 0.5s ease-in-out;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateX(20px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
.option-card {
border: 2px solid var(--border-color);
border-radius: 1rem;
padding: 1.5rem;
cursor: pointer;
transition: all 0.3s ease;
background: white;
}
.option-card:hover {
border-color: var(--primary-color);
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}
.option-card.selected {
border-color: var(--primary-color);
background: rgba(59, 130, 246, 0.05);
}
/* Progress Bar */
.progress-bar {
width: 100%;
height: 8px;
background: var(--border-color);
border-radius: 4px;
overflow: hidden;
margin-bottom: 2rem;
}
.progress-fill {
height: 100%;
background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
transition: width 0.3s ease;
}
/* Hero Section Animations */
.hero-content {
animation: heroFadeIn 1s ease-out;
}
@keyframes heroFadeIn {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Parallax Effect */
.parallax {
background-attachment: fixed;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
/* Scroll Animations */
.fade-in-up {
opacity: 0;
transform: translateY(30px);
transition: all 0.8s ease;
}
.fade-in-up.animate {
opacity: 1;
transform: translateY(0);
}
/* Typography */
.gradient-text {
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Status Badges */
.status-badge {
padding: 0.25rem 0.75rem;
border-radius: 9999px;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.status-new {
background: rgba(239, 68, 68, 0.1);
color: #dc2626;
}
.status-in-progress {
background: rgba(245, 158, 11, 0.1);
color: #d97706;
}
.status-completed {
background: rgba(16, 185, 129, 0.1);
color: #059669;
}
/* Responsive Design */
@media (max-width: 768px) {
.portfolio-grid {
grid-template-columns: 1fr;
}
.hero-title {
font-size: 2.5rem;
}
.service-card {
padding: 1.5rem;
}
.calculator-step {
padding: 1rem;
}
}
/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
:root {
--text-dark: #f9fafb;
--text-light: #d1d5db;
--bg-light: #1f2937;
--border-color: #374151;
}
body {
background-color: #111827;
color: var(--text-dark);
}
.card-hover, .service-card, .contact-form, .option-card {
background: #1f2937;
border-color: var(--border-color);
}
.form-control {
background: #374151;
border-color: #4b5563;
color: white;
}
.form-control:focus {
border-color: var(--primary-color);
}
}
/* Print Styles */
@media print {
.navbar, .footer, .contact-form, .mobile-menu {
display: none !important;
}
body {
font-size: 12pt;
line-height: 1.5;
}
.portfolio-item, .service-card {
break-inside: avoid;
margin-bottom: 1rem;
}
}
/* Accessibility */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
/* Focus styles for better accessibility */
.form-control:focus,
.btn:focus,
.option-card:focus {
outline: 2px solid var(--primary-color);
outline-offset: 2px;
}
/* Loading States */
.btn-loading {
position: relative;
color: transparent;
}
.btn-loading::after {
content: '';
position: absolute;
width: 16px;
height: 16px;
top: 50%;
left: 50%;
margin-left: -8px;
margin-top: -8px;
border: 2px solid transparent;
border-top-color: currentColor;
border-radius: 50%;
animation: spin 1s linear infinite;
}

View File

@@ -1,425 +0,0 @@
/* Custom CSS for SmartSolTech */
:root {
--primary-color: #3b82f6;
--secondary-color: #8b5cf6;
--accent-color: #10b981;
--text-dark: #1f2937;
--text-light: #6b7280;
--bg-light: #f9fafb;
--border-color: #e5e7eb;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
line-height: 1.6;
color: var(--text-dark);
scroll-behavior: smooth;
}
/* Loading Animation */
.loading {
display: inline-block;
width: 20px;
height: 20px;
border: 3px solid rgba(255, 255, 255, 0.3);
border-radius: 50%;
border-top-color: #fff;
animation: spin 1s ease-in-out infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
/* Navigation Enhancements */
.navbar-scrolled {
background-color: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
/* Mobile Menu Animation */
.mobile-menu {
transition: all 0.3s ease-in-out;
max-height: 0;
overflow: hidden;
}
.mobile-menu.show {
max-height: 500px;
}
/* Button Hover Effects */
.btn-primary {
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
transition: all 0.3s ease;
transform: translateY(0);
}
.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 10px 25px rgba(59, 130, 246, 0.3);
}
/* Card Hover Effects */
.card-hover {
transition: all 0.3s ease;
transform: translateY(0);
}
.card-hover:hover {
transform: translateY(-8px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
/* Portfolio Grid */
.portfolio-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 2rem;
}
.portfolio-item {
border-radius: 1rem;
overflow: hidden;
background: white;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
}
.portfolio-item:hover {
transform: translateY(-4px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
.portfolio-image {
position: relative;
overflow: hidden;
aspect-ratio: 16/10;
}
.portfolio-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.3s ease;
}
.portfolio-item:hover .portfolio-image img {
transform: scale(1.05);
}
.portfolio-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(59, 130, 246, 0.8), rgba(139, 92, 246, 0.8));
opacity: 0;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
}
.portfolio-item:hover .portfolio-overlay {
opacity: 1;
}
/* Service Cards */
.service-card {
background: white;
border-radius: 1rem;
padding: 2rem;
text-align: center;
transition: all 0.3s ease;
border: 2px solid transparent;
}
.service-card:hover {
border-color: var(--primary-color);
transform: translateY(-4px);
box-shadow: 0 20px 40px rgba(59, 130, 246, 0.1);
}
.service-icon {
width: 80px;
height: 80px;
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 1rem;
font-size: 2rem;
color: white;
transition: all 0.3s ease;
}
.service-card:hover .service-icon {
transform: scale(1.1) rotate(5deg);
}
/* Contact Form */
.contact-form {
background: white;
border-radius: 1rem;
padding: 2rem;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.form-group {
margin-bottom: 1.5rem;
}
.form-control {
width: 100%;
padding: 1rem;
border: 2px solid var(--border-color);
border-radius: 0.5rem;
font-size: 1rem;
transition: all 0.3s ease;
background: white;
}
.form-control:focus {
outline: none;
border-color: var(--primary-color);
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
/* Calculator Styles */
.calculator-step {
animation: fadeIn 0.5s ease-in-out;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateX(20px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
.option-card {
border: 2px solid var(--border-color);
border-radius: 1rem;
padding: 1.5rem;
cursor: pointer;
transition: all 0.3s ease;
background: white;
}
.option-card:hover {
border-color: var(--primary-color);
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}
.option-card.selected {
border-color: var(--primary-color);
background: rgba(59, 130, 246, 0.05);
}
/* Progress Bar */
.progress-bar {
width: 100%;
height: 8px;
background: var(--border-color);
border-radius: 4px;
overflow: hidden;
margin-bottom: 2rem;
}
.progress-fill {
height: 100%;
background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
transition: width 0.3s ease;
}
/* Hero Section Animations */
.hero-content {
animation: heroFadeIn 1s ease-out;
}
@keyframes heroFadeIn {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Parallax Effect */
.parallax {
background-attachment: fixed;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
/* Scroll Animations */
.fade-in-up {
opacity: 0;
transform: translateY(30px);
transition: all 0.8s ease;
}
.fade-in-up.animate {
opacity: 1;
transform: translateY(0);
}
/* Typography */
.gradient-text {
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Status Badges */
.status-badge {
padding: 0.25rem 0.75rem;
border-radius: 9999px;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.status-new {
background: rgba(239, 68, 68, 0.1);
color: #dc2626;
}
.status-in-progress {
background: rgba(245, 158, 11, 0.1);
color: #d97706;
}
.status-completed {
background: rgba(16, 185, 129, 0.1);
color: #059669;
}
/* Responsive Design */
@media (max-width: 768px) {
.portfolio-grid {
grid-template-columns: 1fr;
}
.hero-title {
font-size: 2.5rem;
}
.service-card {
padding: 1.5rem;
}
.calculator-step {
padding: 1rem;
}
}
/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
:root {
--text-dark: #f9fafb;
--text-light: #d1d5db;
--bg-light: #1f2937;
--border-color: #374151;
}
body {
background-color: #111827;
color: var(--text-dark);
}
.card-hover, .service-card, .contact-form, .option-card {
background: #1f2937;
border-color: var(--border-color);
}
.form-control {
background: #374151;
border-color: #4b5563;
color: white;
}
.form-control:focus {
border-color: var(--primary-color);
}
}
/* Print Styles */
@media print {
.navbar, .footer, .contact-form, .mobile-menu {
display: none !important;
}
body {
font-size: 12pt;
line-height: 1.5;
}
.portfolio-item, .service-card {
break-inside: avoid;
margin-bottom: 1rem;
}
}
/* Accessibility */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
/* Focus styles for better accessibility */
.form-control:focus,
.btn:focus,
.option-card:focus {
outline: 2px solid var(--primary-color);
outline-offset: 2px;
}
/* Loading States */
.btn-loading {
position: relative;
color: transparent;
}
.btn-loading::after {
content: '';
position: absolute;
width: 16px;
height: 16px;
top: 50%;
left: 50%;
margin-left: -8px;
margin-top: -8px;
border: 2px solid transparent;
border-top-color: currentColor;
border-radius: 50%;
animation: spin 1s linear infinite;
}

View File

@@ -1,427 +0,0 @@
/* SmartSolTech - Main Styles */
/* CSS Reset and Base */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
line-height: 1.6;
color: #1f2937;
}
/* Utility Classes */
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 1rem;
}
.section-padding {
padding: 4rem 0;
}
/* Loading Animation */
.loading {
display: inline-block;
width: 20px;
height: 20px;
border: 3px solid rgba(255, 255, 255, 0.3);
border-radius: 50%;
border-top-color: #fff;
animation: spin 1s ease-in-out infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
/* Navigation Enhancements */
.navbar-scrolled {
background-color: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
/* Mobile Menu Animation */
.mobile-menu {
transition: all 0.3s ease-in-out;
max-height: 0;
overflow: hidden;
}
.mobile-menu.show {
max-height: 500px;
}
/* Button Hover Effects */
.btn-primary {
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
transition: all 0.3s ease;
transform: translateY(0);
}
.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 10px 25px rgba(59, 130, 246, 0.3);
}
/* Card Hover Effects */
.card-hover {
transition: all 0.3s ease;
transform: translateY(0);
}
.card-hover:hover {
transform: translateY(-8px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
/* Portfolio Grid */
.portfolio-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 2rem;
}
.portfolio-item {
border-radius: 1rem;
overflow: hidden;
background: white;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
}
.portfolio-item:hover {
transform: translateY(-4px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
.portfolio-image {
position: relative;
overflow: hidden;
aspect-ratio: 16/10;
}
.portfolio-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.3s ease;
}
.portfolio-item:hover .portfolio-image img {
transform: scale(1.05);
}
.portfolio-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(59, 130, 246, 0.8), rgba(139, 92, 246, 0.8));
opacity: 0;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
}
.portfolio-item:hover .portfolio-overlay {
opacity: 1;
}
/* Service Cards */
.service-card {
background: white;
border-radius: 1rem;
padding: 2rem;
text-align: center;
transition: all 0.3s ease;
border: 2px solid transparent;
}
.service-card:hover {
border-color: var(--primary-color);
transform: translateY(-4px);
box-shadow: 0 20px 40px rgba(59, 130, 246, 0.1);
}
.service-icon {
width: 80px;
height: 80px;
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 1rem;
font-size: 2rem;
color: white;
transition: all 0.3s ease;
}
.service-card:hover .service-icon {
transform: scale(1.1) rotate(5deg);
}
/* Contact Form */
.contact-form {
background: white;
border-radius: 1rem;
padding: 2rem;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.form-group {
margin-bottom: 1.5rem;
}
.form-control {
width: 100%;
padding: 1rem;
border: 2px solid var(--border-color);
border-radius: 0.5rem;
font-size: 1rem;
transition: all 0.3s ease;
background: white;
}
.form-control:focus {
outline: none;
border-color: var(--primary-color);
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
/* Calculator Styles */
.calculator-step {
animation: fadeIn 0.5s ease-in-out;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateX(20px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
.option-card {
border: 2px solid var(--border-color);
border-radius: 1rem;
padding: 1.5rem;
cursor: pointer;
transition: all 0.3s ease;
background: white;
}
.option-card:hover {
border-color: var(--primary-color);
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}
.option-card.selected {
border-color: var(--primary-color);
background: rgba(59, 130, 246, 0.05);
}
/* Progress Bar */
.progress-bar {
width: 100%;
height: 8px;
background: var(--border-color);
border-radius: 4px;
overflow: hidden;
margin-bottom: 2rem;
}
.progress-fill {
height: 100%;
background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
transition: width 0.3s ease;
}
/* Hero Section Animations */
.hero-content {
animation: heroFadeIn 1s ease-out;
}
@keyframes heroFadeIn {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Parallax Effect */
.parallax {
background-attachment: fixed;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
/* Scroll Animations */
.fade-in-up {
opacity: 0;
transform: translateY(30px);
transition: all 0.8s ease;
}
.fade-in-up.animate {
opacity: 1;
transform: translateY(0);
}
/* Typography */
.gradient-text {
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Status Badges */
.status-badge {
padding: 0.25rem 0.75rem;
border-radius: 9999px;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.status-new {
background: rgba(239, 68, 68, 0.1);
color: #dc2626;
}
.status-in-progress {
background: rgba(245, 158, 11, 0.1);
color: #d97706;
}
.status-completed {
background: rgba(16, 185, 129, 0.1);
color: #059669;
}
/* Responsive Design */
@media (max-width: 768px) {
.portfolio-grid {
grid-template-columns: 1fr;
}
.hero-title {
font-size: 2.5rem;
}
.service-card {
padding: 1.5rem;
}
.calculator-step {
padding: 1rem;
}
}
/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
:root {
--text-dark: #f9fafb;
--text-light: #d1d5db;
--bg-light: #1f2937;
--border-color: #374151;
}
body {
background-color: #111827;
color: var(--text-dark);
}
.card-hover, .service-card, .contact-form, .option-card {
background: #1f2937;
border-color: var(--border-color);
}
.form-control {
background: #374151;
border-color: #4b5563;
color: white;
}
.form-control:focus {
border-color: var(--primary-color);
}
}
/* Print Styles */
@media print {
.navbar, .footer, .contact-form, .mobile-menu {
display: none !important;
}
body {
font-size: 12pt;
line-height: 1.5;
}
.portfolio-item, .service-card {
break-inside: avoid;
margin-bottom: 1rem;
}
}
/* Accessibility */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
/* Focus styles for better accessibility */
.form-control:focus,
.btn:focus,
.option-card:focus {
outline: 2px solid var(--primary-color);
outline-offset: 2px;
}
/* Loading States */
.btn-loading {
position: relative;
color: transparent;
}
.btn-loading::after {
content: '';
position: absolute;
width: 16px;
height: 16px;
top: 50%;
left: 50%;
margin-left: -8px;
margin-top: -8px;
border: 2px solid transparent;
border-top-color: currentColor;
border-radius: 50%;
animation: spin 1s linear infinite;
}

View File

@@ -1,442 +0,0 @@
/* SmartSolTech - Main Styles */
/* CSS Reset and Base */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
line-height: 1.6;
color: #1f2937;
}
/* Utility Classes */
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 1rem;
}
.section-padding {
padding: 4rem 0;
}
/* Navigation */
.navbar {
background: rgba(255, 255, 255, 0.95);
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
transition: all 0.3s ease;
}
.navbar-brand {
font-size: 1.5rem;
font-weight: bold;
color: #3b82f6;
text-decoration: none;
}
.navbar-nav {
display: flex;
gap: 2rem;
list-style: none;
}
.nav-link {
color: #6b7280;
text-decoration: none;
font-weight: 500;
padding: 0.5rem 1rem;
border-radius: 0.5rem;
transition: all 0.3s ease;
}
.nav-link:hover,
.nav-link.active {
color: #3b82f6;
background-color: #eff6ff;
}
overflow: hidden;
}
.mobile-menu.show {
max-height: 500px;
}
/* Button Hover Effects */
.btn-primary {
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
transition: all 0.3s ease;
transform: translateY(0);
}
.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 10px 25px rgba(59, 130, 246, 0.3);
}
/* Card Hover Effects */
.card-hover {
transition: all 0.3s ease;
transform: translateY(0);
}
.card-hover:hover {
transform: translateY(-8px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
/* Portfolio Grid */
.portfolio-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 2rem;
}
.portfolio-item {
border-radius: 1rem;
overflow: hidden;
background: white;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
}
.portfolio-item:hover {
transform: translateY(-4px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
.portfolio-image {
position: relative;
overflow: hidden;
aspect-ratio: 16/10;
}
.portfolio-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.3s ease;
}
.portfolio-item:hover .portfolio-image img {
transform: scale(1.05);
}
.portfolio-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(59, 130, 246, 0.8), rgba(139, 92, 246, 0.8));
opacity: 0;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
}
.portfolio-item:hover .portfolio-overlay {
opacity: 1;
}
/* Service Cards */
.service-card {
background: white;
border-radius: 1rem;
padding: 2rem;
text-align: center;
transition: all 0.3s ease;
border: 2px solid transparent;
}
.service-card:hover {
border-color: var(--primary-color);
transform: translateY(-4px);
box-shadow: 0 20px 40px rgba(59, 130, 246, 0.1);
}
.service-icon {
width: 80px;
height: 80px;
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 1rem;
font-size: 2rem;
color: white;
transition: all 0.3s ease;
}
.service-card:hover .service-icon {
transform: scale(1.1) rotate(5deg);
}
/* Contact Form */
.contact-form {
background: white;
border-radius: 1rem;
padding: 2rem;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.form-group {
margin-bottom: 1.5rem;
}
.form-control {
width: 100%;
padding: 1rem;
border: 2px solid var(--border-color);
border-radius: 0.5rem;
font-size: 1rem;
transition: all 0.3s ease;
background: white;
}
.form-control:focus {
outline: none;
border-color: var(--primary-color);
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
/* Calculator Styles */
.calculator-step {
animation: fadeIn 0.5s ease-in-out;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateX(20px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
.option-card {
border: 2px solid var(--border-color);
border-radius: 1rem;
padding: 1.5rem;
cursor: pointer;
transition: all 0.3s ease;
background: white;
}
.option-card:hover {
border-color: var(--primary-color);
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}
.option-card.selected {
border-color: var(--primary-color);
background: rgba(59, 130, 246, 0.05);
}
/* Progress Bar */
.progress-bar {
width: 100%;
height: 8px;
background: var(--border-color);
border-radius: 4px;
overflow: hidden;
margin-bottom: 2rem;
}
.progress-fill {
height: 100%;
background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
transition: width 0.3s ease;
}
/* Hero Section Animations */
.hero-content {
animation: heroFadeIn 1s ease-out;
}
@keyframes heroFadeIn {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Parallax Effect */
.parallax {
background-attachment: fixed;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
/* Scroll Animations */
.fade-in-up {
opacity: 0;
transform: translateY(30px);
transition: all 0.8s ease;
}
.fade-in-up.animate {
opacity: 1;
transform: translateY(0);
}
/* Typography */
.gradient-text {
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Status Badges */
.status-badge {
padding: 0.25rem 0.75rem;
border-radius: 9999px;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.status-new {
background: rgba(239, 68, 68, 0.1);
color: #dc2626;
}
.status-in-progress {
background: rgba(245, 158, 11, 0.1);
color: #d97706;
}
.status-completed {
background: rgba(16, 185, 129, 0.1);
color: #059669;
}
/* Responsive Design */
@media (max-width: 768px) {
.portfolio-grid {
grid-template-columns: 1fr;
}
.hero-title {
font-size: 2.5rem;
}
.service-card {
padding: 1.5rem;
}
.calculator-step {
padding: 1rem;
}
}
/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
:root {
--text-dark: #f9fafb;
--text-light: #d1d5db;
--bg-light: #1f2937;
--border-color: #374151;
}
body {
background-color: #111827;
color: var(--text-dark);
}
.card-hover, .service-card, .contact-form, .option-card {
background: #1f2937;
border-color: var(--border-color);
}
.form-control {
background: #374151;
border-color: #4b5563;
color: white;
}
.form-control:focus {
border-color: var(--primary-color);
}
}
/* Print Styles */
@media print {
.navbar, .footer, .contact-form, .mobile-menu {
display: none !important;
}
body {
font-size: 12pt;
line-height: 1.5;
}
.portfolio-item, .service-card {
break-inside: avoid;
margin-bottom: 1rem;
}
}
/* Accessibility */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
/* Focus styles for better accessibility */
.form-control:focus,
.btn:focus,
.option-card:focus {
outline: 2px solid var(--primary-color);
outline-offset: 2px;
}
/* Loading States */
.btn-loading {
position: relative;
color: transparent;
}
.btn-loading::after {
content: '';
position: absolute;
width: 16px;
height: 16px;
top: 50%;
left: 50%;
margin-left: -8px;
margin-top: -8px;
border: 2px solid transparent;
border-top-color: currentColor;
border-radius: 50%;
animation: spin 1s linear infinite;
}

View File

@@ -1,442 +0,0 @@
/* SmartSolTech - Main Styles */
/* CSS Reset and Base */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
line-height: 1.6;
color: #1f2937;
}
/* Utility Classes */
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 1rem;
}
.section-padding {
padding: 4rem 0;
}
/* Navigation */
.navbar {
background: rgba(255, 255, 255, 0.95);
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
transition: all 0.3s ease;
}
.navbar-brand {
font-size: 1.5rem;
font-weight: bold;
color: #3b82f6;
text-decoration: none;
}
.navbar-nav {
display: flex;
gap: 2rem;
list-style: none;
}
.nav-link {
color: #6b7280;
text-decoration: none;
font-weight: 500;
padding: 0.5rem 1rem;
border-radius: 0.5rem;
transition: all 0.3s ease;
}
.nav-link:hover,
.nav-link.active {
color: #3b82f6;
background-color: #eff6ff;
}
overflow: hidden;
}
.mobile-menu.show {
max-height: 500px;
}
/* Button Hover Effects */
.btn-primary {
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
transition: all 0.3s ease;
transform: translateY(0);
}
.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 10px 25px rgba(59, 130, 246, 0.3);
}
/* Card Hover Effects */
.card-hover {
transition: all 0.3s ease;
transform: translateY(0);
}
.card-hover:hover {
transform: translateY(-8px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
/* Portfolio Grid */
.portfolio-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 2rem;
}
.portfolio-item {
border-radius: 1rem;
overflow: hidden;
background: white;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
}
.portfolio-item:hover {
transform: translateY(-4px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
.portfolio-image {
position: relative;
overflow: hidden;
aspect-ratio: 16/10;
}
.portfolio-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.3s ease;
}
.portfolio-item:hover .portfolio-image img {
transform: scale(1.05);
}
.portfolio-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(59, 130, 246, 0.8), rgba(139, 92, 246, 0.8));
opacity: 0;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
}
.portfolio-item:hover .portfolio-overlay {
opacity: 1;
}
/* Service Cards */
.service-card {
background: white;
border-radius: 1rem;
padding: 2rem;
text-align: center;
transition: all 0.3s ease;
border: 2px solid transparent;
}
.service-card:hover {
border-color: var(--primary-color);
transform: translateY(-4px);
box-shadow: 0 20px 40px rgba(59, 130, 246, 0.1);
}
.service-icon {
width: 80px;
height: 80px;
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 1rem;
font-size: 2rem;
color: white;
transition: all 0.3s ease;
}
.service-card:hover .service-icon {
transform: scale(1.1) rotate(5deg);
}
/* Contact Form */
.contact-form {
background: white;
border-radius: 1rem;
padding: 2rem;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.form-group {
margin-bottom: 1.5rem;
}
.form-control {
width: 100%;
padding: 1rem;
border: 2px solid var(--border-color);
border-radius: 0.5rem;
font-size: 1rem;
transition: all 0.3s ease;
background: white;
}
.form-control:focus {
outline: none;
border-color: var(--primary-color);
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
/* Calculator Styles */
.calculator-step {
animation: fadeIn 0.5s ease-in-out;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateX(20px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
.option-card {
border: 2px solid var(--border-color);
border-radius: 1rem;
padding: 1.5rem;
cursor: pointer;
transition: all 0.3s ease;
background: white;
}
.option-card:hover {
border-color: var(--primary-color);
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}
.option-card.selected {
border-color: var(--primary-color);
background: rgba(59, 130, 246, 0.05);
}
/* Progress Bar */
.progress-bar {
width: 100%;
height: 8px;
background: var(--border-color);
border-radius: 4px;
overflow: hidden;
margin-bottom: 2rem;
}
.progress-fill {
height: 100%;
background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
transition: width 0.3s ease;
}
/* Hero Section Animations */
.hero-content {
animation: heroFadeIn 1s ease-out;
}
@keyframes heroFadeIn {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Parallax Effect */
.parallax {
background-attachment: fixed;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
/* Scroll Animations */
.fade-in-up {
opacity: 0;
transform: translateY(30px);
transition: all 0.8s ease;
}
.fade-in-up.animate {
opacity: 1;
transform: translateY(0);
}
/* Typography */
.gradient-text {
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Status Badges */
.status-badge {
padding: 0.25rem 0.75rem;
border-radius: 9999px;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.status-new {
background: rgba(239, 68, 68, 0.1);
color: #dc2626;
}
.status-in-progress {
background: rgba(245, 158, 11, 0.1);
color: #d97706;
}
.status-completed {
background: rgba(16, 185, 129, 0.1);
color: #059669;
}
/* Responsive Design */
@media (max-width: 768px) {
.portfolio-grid {
grid-template-columns: 1fr;
}
.hero-title {
font-size: 2.5rem;
}
.service-card {
padding: 1.5rem;
}
.calculator-step {
padding: 1rem;
}
}
/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
:root {
--text-dark: #f9fafb;
--text-light: #d1d5db;
--bg-light: #1f2937;
--border-color: #374151;
}
body {
background-color: #111827;
color: var(--text-dark);
}
.card-hover, .service-card, .contact-form, .option-card {
background: #1f2937;
border-color: var(--border-color);
}
.form-control {
background: #374151;
border-color: #4b5563;
color: white;
}
.form-control:focus {
border-color: var(--primary-color);
}
}
/* Print Styles */
@media print {
.navbar, .footer, .contact-form, .mobile-menu {
display: none !important;
}
body {
font-size: 12pt;
line-height: 1.5;
}
.portfolio-item, .service-card {
break-inside: avoid;
margin-bottom: 1rem;
}
}
/* Accessibility */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
/* Focus styles for better accessibility */
.form-control:focus,
.btn:focus,
.option-card:focus {
outline: 2px solid var(--primary-color);
outline-offset: 2px;
}
/* Loading States */
.btn-loading {
position: relative;
color: transparent;
}
.btn-loading::after {
content: '';
position: absolute;
width: 16px;
height: 16px;
top: 50%;
left: 50%;
margin-left: -8px;
margin-top: -8px;
border: 2px solid transparent;
border-top-color: currentColor;
border-radius: 50%;
animation: spin 1s linear infinite;
}

View File

@@ -1,552 +0,0 @@
/* SmartSolTech - Main Styles */
/* CSS Reset and Base */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
line-height: 1.6;
color: #1f2937;
}
/* Utility Classes */
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 1rem;
}
.section-padding {
padding: 4rem 0;
}
/* Navigation */
.navbar {
background: rgba(255, 255, 255, 0.95);
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
transition: all 0.3s ease;
}
.navbar-brand {
font-size: 1.5rem;
font-weight: bold;
color: #3b82f6;
text-decoration: none;
}
.navbar-nav {
display: flex;
gap: 2rem;
list-style: none;
}
.nav-link {
color: #6b7280;
text-decoration: none;
font-weight: 500;
padding: 0.5rem 1rem;
border-radius: 0.5rem;
transition: all 0.3s ease;
}
.nav-link:hover,
.nav-link.active {
color: #3b82f6;
background-color: #eff6ff;
}
overflow: hidden;
}
.mobile-menu.show {
max-height: 500px;
}
/* Button Hover Effects */
.btn-primary {
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
transition: all 0.3s ease;
transform: translateY(0);
}
.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 10px 25px rgba(59, 130, 246, 0.3);
}
/* Card Hover Effects */
.card-hover {
transition: all 0.3s ease;
transform: translateY(0);
}
.card-hover:hover {
transform: translateY(-8px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
/* Portfolio Grid */
.portfolio-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 2rem;
}
.portfolio-item {
border-radius: 1rem;
overflow: hidden;
background: white;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
}
.portfolio-item:hover {
transform: translateY(-4px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
.portfolio-image {
position: relative;
overflow: hidden;
aspect-ratio: 16/10;
}
.portfolio-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.3s ease;
}
.portfolio-item:hover .portfolio-image img {
transform: scale(1.05);
}
.portfolio-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(59, 130, 246, 0.8), rgba(139, 92, 246, 0.8));
opacity: 0;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
}
.portfolio-item:hover .portfolio-overlay {
opacity: 1;
}
/* Service Cards */
.service-card {
background: white;
border-radius: 1rem;
padding: 2rem;
text-align: center;
transition: all 0.3s ease;
border: 2px solid transparent;
}
.service-card:hover {
border-color: var(--primary-color);
transform: translateY(-4px);
box-shadow: 0 20px 40px rgba(59, 130, 246, 0.1);
}
.service-icon {
width: 80px;
height: 80px;
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 1rem;
font-size: 2rem;
color: white;
transition: all 0.3s ease;
}
.service-card:hover .service-icon {
transform: scale(1.1) rotate(5deg);
}
/* Contact Form */
.contact-form {
background: white;
border-radius: 1rem;
padding: 2rem;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.form-group {
margin-bottom: 1.5rem;
}
.form-control {
width: 100%;
padding: 1rem;
border: 2px solid var(--border-color);
border-radius: 0.5rem;
font-size: 1rem;
transition: all 0.3s ease;
background: white;
}
.form-control:focus {
outline: none;
border-color: var(--primary-color);
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
/* Calculator Styles */
.calculator-step {
animation: fadeIn 0.5s ease-in-out;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateX(20px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
.option-card {
border: 2px solid var(--border-color);
border-radius: 1rem;
padding: 1.5rem;
cursor: pointer;
transition: all 0.3s ease;
background: white;
}
.option-card:hover {
border-color: var(--primary-color);
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}
.option-card.selected {
border-color: var(--primary-color);
background: rgba(59, 130, 246, 0.05);
}
/* Progress Bar */
.progress-bar {
width: 100%;
height: 8px;
background: var(--border-color);
border-radius: 4px;
overflow: hidden;
margin-bottom: 2rem;
}
.progress-fill {
height: 100%;
background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
transition: width 0.3s ease;
}
/* Hero Section Animations */
.hero-content {
animation: heroFadeIn 1s ease-out;
}
@keyframes heroFadeIn {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Parallax Effect */
.parallax {
background-attachment: fixed;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
/* Scroll Animations */
.fade-in-up {
opacity: 0;
transform: translateY(30px);
transition: all 0.8s ease;
}
.fade-in-up.animate {
opacity: 1;
transform: translateY(0);
}
/* Typography */
.gradient-text {
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Status Badges */
.status-badge {
padding: 0.25rem 0.75rem;
border-radius: 9999px;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.status-new {
background: rgba(239, 68, 68, 0.1);
color: #dc2626;
}
.status-in-progress {
background: rgba(245, 158, 11, 0.1);
color: #d97706;
}
.status-completed {
background: rgba(16, 185, 129, 0.1);
color: #059669;
}
/* Responsive Design */
@media (max-width: 768px) {
.portfolio-grid {
grid-template-columns: 1fr;
}
.hero-title {
font-size: 2.5rem;
}
.service-card {
padding: 1.5rem;
}
.calculator-step {
padding: 1rem;
}
}
/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
:root {
--text-dark: #f9fafb;
--text-light: #d1d5db;
--bg-light: #1f2937;
--border-color: #374151;
}
body {
background-color: #111827;
color: var(--text-dark);
}
.card-hover, .service-card, .contact-form, .option-card {
background: #1f2937;
border-color: var(--border-color);
}
.form-control {
background: #374151;
border-color: #4b5563;
color: white;
}
.form-control:focus {
border-color: var(--primary-color);
}
}
/* Print Styles */
@media print {
.navbar, .footer, .contact-form, .mobile-menu {
display: none !important;
}
body {
font-size: 12pt;
line-height: 1.5;
}
.portfolio-item, .service-card {
break-inside: avoid;
margin-bottom: 1rem;
}
}
/* Accessibility */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
/* Focus styles for better accessibility */
.form-control:focus,
.btn:focus,
.option-card:focus {
outline: 2px solid var(--primary-color);
outline-offset: 2px;
}
/* Loading States */
.btn-loading {
position: relative;
color: transparent;
}
.btn-loading::after {
content: '';
position: absolute;
width: 16px;
height: 16px;
top: 50%;
left: 50%;
margin-left: -8px;
margin-top: -8px;
border: 2px solid transparent;
border-top-color: currentColor;
border-radius: 50%;
animation: spin 1s linear infinite;
}
/* Calculator Styles */
.calculator-step {
display: none;
}
.calculator-step.active {
display: block;
}
.service-option,
.complexity-option,
.timeline-option {
cursor: pointer;
transition: all 0.3s ease;
position: relative;
}
.service-option:hover,
.complexity-option:hover,
.timeline-option:hover {
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(59, 130, 246, 0.15);
}
.service-option.selected,
.complexity-option.selected,
.timeline-option.selected {
border-color: #3B82F6 !important;
background-color: #EBF8FF !important;
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(59, 130, 246, 0.15);
}
.service-option.selected::after,
.complexity-option.selected::after,
.timeline-option.selected::after {
content: '✓';
position: absolute;
top: 0.5rem;
right: 0.5rem;
width: 24px;
height: 24px;
background: #3B82F6;
color: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-weight: bold;
}
/* Price Display Animation */
#final-price {
animation: priceReveal 0.8s ease-in-out;
}
@keyframes priceReveal {
0% {
opacity: 0;
transform: scale(0.8);
}
50% {
transform: scale(1.1);
}
100% {
opacity: 1;
transform: scale(1);
}
}
/* Calculator Progress Bar */
.calculator-progress {
width: 100%;
height: 4px;
background: #e5e7eb;
border-radius: 2px;
margin-bottom: 2rem;
overflow: hidden;
}
.calculator-progress-bar {
height: 100%;
background: linear-gradient(90deg, #3B82F6, #8B5CF6);
border-radius: 2px;
transition: width 0.3s ease;
width: 33.33%;
}
.calculator-progress-bar.step-2 {
width: 66.66%;
}
.calculator-progress-bar.step-3 {
width: 100%;
}
/* Calculator Mobile Improvements */
@media (max-width: 768px) {
.service-option,
.complexity-option,
.timeline-option {
margin-bottom: 1rem;
}
#final-price {
font-size: 2.5rem;
}
}

View File

@@ -1,552 +0,0 @@
/* SmartSolTech - Main Styles */
/* CSS Reset and Base */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
line-height: 1.6;
color: #1f2937;
}
/* Utility Classes */
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 1rem;
}
.section-padding {
padding: 4rem 0;
}
/* Navigation */
.navbar {
background: rgba(255, 255, 255, 0.95);
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
transition: all 0.3s ease;
}
.navbar-brand {
font-size: 1.5rem;
font-weight: bold;
color: #3b82f6;
text-decoration: none;
}
.navbar-nav {
display: flex;
gap: 2rem;
list-style: none;
}
.nav-link {
color: #6b7280;
text-decoration: none;
font-weight: 500;
padding: 0.5rem 1rem;
border-radius: 0.5rem;
transition: all 0.3s ease;
}
.nav-link:hover,
.nav-link.active {
color: #3b82f6;
background-color: #eff6ff;
}
overflow: hidden;
}
.mobile-menu.show {
max-height: 500px;
}
/* Button Hover Effects */
.btn-primary {
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
transition: all 0.3s ease;
transform: translateY(0);
}
.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 10px 25px rgba(59, 130, 246, 0.3);
}
/* Card Hover Effects */
.card-hover {
transition: all 0.3s ease;
transform: translateY(0);
}
.card-hover:hover {
transform: translateY(-8px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
/* Portfolio Grid */
.portfolio-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 2rem;
}
.portfolio-item {
border-radius: 1rem;
overflow: hidden;
background: white;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
}
.portfolio-item:hover {
transform: translateY(-4px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
.portfolio-image {
position: relative;
overflow: hidden;
aspect-ratio: 16/10;
}
.portfolio-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.3s ease;
}
.portfolio-item:hover .portfolio-image img {
transform: scale(1.05);
}
.portfolio-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(59, 130, 246, 0.8), rgba(139, 92, 246, 0.8));
opacity: 0;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
}
.portfolio-item:hover .portfolio-overlay {
opacity: 1;
}
/* Service Cards */
.service-card {
background: white;
border-radius: 1rem;
padding: 2rem;
text-align: center;
transition: all 0.3s ease;
border: 2px solid transparent;
}
.service-card:hover {
border-color: var(--primary-color);
transform: translateY(-4px);
box-shadow: 0 20px 40px rgba(59, 130, 246, 0.1);
}
.service-icon {
width: 80px;
height: 80px;
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 1rem;
font-size: 2rem;
color: white;
transition: all 0.3s ease;
}
.service-card:hover .service-icon {
transform: scale(1.1) rotate(5deg);
}
/* Contact Form */
.contact-form {
background: white;
border-radius: 1rem;
padding: 2rem;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.form-group {
margin-bottom: 1.5rem;
}
.form-control {
width: 100%;
padding: 1rem;
border: 2px solid var(--border-color);
border-radius: 0.5rem;
font-size: 1rem;
transition: all 0.3s ease;
background: white;
}
.form-control:focus {
outline: none;
border-color: var(--primary-color);
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
/* Calculator Styles */
.calculator-step {
animation: fadeIn 0.5s ease-in-out;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateX(20px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
.option-card {
border: 2px solid var(--border-color);
border-radius: 1rem;
padding: 1.5rem;
cursor: pointer;
transition: all 0.3s ease;
background: white;
}
.option-card:hover {
border-color: var(--primary-color);
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}
.option-card.selected {
border-color: var(--primary-color);
background: rgba(59, 130, 246, 0.05);
}
/* Progress Bar */
.progress-bar {
width: 100%;
height: 8px;
background: var(--border-color);
border-radius: 4px;
overflow: hidden;
margin-bottom: 2rem;
}
.progress-fill {
height: 100%;
background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
transition: width 0.3s ease;
}
/* Hero Section Animations */
.hero-content {
animation: heroFadeIn 1s ease-out;
}
@keyframes heroFadeIn {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Parallax Effect */
.parallax {
background-attachment: fixed;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
/* Scroll Animations */
.fade-in-up {
opacity: 0;
transform: translateY(30px);
transition: all 0.8s ease;
}
.fade-in-up.animate {
opacity: 1;
transform: translateY(0);
}
/* Typography */
.gradient-text {
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Status Badges */
.status-badge {
padding: 0.25rem 0.75rem;
border-radius: 9999px;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.status-new {
background: rgba(239, 68, 68, 0.1);
color: #dc2626;
}
.status-in-progress {
background: rgba(245, 158, 11, 0.1);
color: #d97706;
}
.status-completed {
background: rgba(16, 185, 129, 0.1);
color: #059669;
}
/* Responsive Design */
@media (max-width: 768px) {
.portfolio-grid {
grid-template-columns: 1fr;
}
.hero-title {
font-size: 2.5rem;
}
.service-card {
padding: 1.5rem;
}
.calculator-step {
padding: 1rem;
}
}
/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
:root {
--text-dark: #f9fafb;
--text-light: #d1d5db;
--bg-light: #1f2937;
--border-color: #374151;
}
body {
background-color: #111827;
color: var(--text-dark);
}
.card-hover, .service-card, .contact-form, .option-card {
background: #1f2937;
border-color: var(--border-color);
}
.form-control {
background: #374151;
border-color: #4b5563;
color: white;
}
.form-control:focus {
border-color: var(--primary-color);
}
}
/* Print Styles */
@media print {
.navbar, .footer, .contact-form, .mobile-menu {
display: none !important;
}
body {
font-size: 12pt;
line-height: 1.5;
}
.portfolio-item, .service-card {
break-inside: avoid;
margin-bottom: 1rem;
}
}
/* Accessibility */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
/* Focus styles for better accessibility */
.form-control:focus,
.btn:focus,
.option-card:focus {
outline: 2px solid var(--primary-color);
outline-offset: 2px;
}
/* Loading States */
.btn-loading {
position: relative;
color: transparent;
}
.btn-loading::after {
content: '';
position: absolute;
width: 16px;
height: 16px;
top: 50%;
left: 50%;
margin-left: -8px;
margin-top: -8px;
border: 2px solid transparent;
border-top-color: currentColor;
border-radius: 50%;
animation: spin 1s linear infinite;
}
/* Calculator Styles */
.calculator-step {
display: none;
}
.calculator-step.active {
display: block;
}
.service-option,
.complexity-option,
.timeline-option {
cursor: pointer;
transition: all 0.3s ease;
position: relative;
}
.service-option:hover,
.complexity-option:hover,
.timeline-option:hover {
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(59, 130, 246, 0.15);
}
.service-option.selected,
.complexity-option.selected,
.timeline-option.selected {
border-color: #3B82F6 !important;
background-color: #EBF8FF !important;
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(59, 130, 246, 0.15);
}
.service-option.selected::after,
.complexity-option.selected::after,
.timeline-option.selected::after {
content: '✓';
position: absolute;
top: 0.5rem;
right: 0.5rem;
width: 24px;
height: 24px;
background: #3B82F6;
color: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-weight: bold;
}
/* Price Display Animation */
#final-price {
animation: priceReveal 0.8s ease-in-out;
}
@keyframes priceReveal {
0% {
opacity: 0;
transform: scale(0.8);
}
50% {
transform: scale(1.1);
}
100% {
opacity: 1;
transform: scale(1);
}
}
/* Calculator Progress Bar */
.calculator-progress {
width: 100%;
height: 4px;
background: #e5e7eb;
border-radius: 2px;
margin-bottom: 2rem;
overflow: hidden;
}
.calculator-progress-bar {
height: 100%;
background: linear-gradient(90deg, #3B82F6, #8B5CF6);
border-radius: 2px;
transition: width 0.3s ease;
width: 33.33%;
}
.calculator-progress-bar.step-2 {
width: 66.66%;
}
.calculator-progress-bar.step-3 {
width: 100%;
}
/* Calculator Mobile Improvements */
@media (max-width: 768px) {
.service-option,
.complexity-option,
.timeline-option {
margin-bottom: 1rem;
}
#final-price {
font-size: 2.5rem;
}
}

View File

@@ -0,0 +1,89 @@
/* Sticky Price Display Styles */
#priceDisplay {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
transform: translateX(0);
}
/* Enhanced visibility on scroll */
#priceDisplay.scrolled {
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
transform: scale(1.02);
}
/* Hover effects */
#priceDisplay:hover {
transform: translateX(-5px) scale(1.05);
box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.3);
}
/* Animation for price updates */
#currentPrice {
transition: all 0.3s ease;
}
#currentPrice.updating {
transform: scale(1.1);
filter: brightness(1.2);
}
/* Pulse animation for live indicator */
.animate-pulse-soft {
animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-soft {
0%, 100% {
opacity: 1;
transform: scale(1);
}
50% {
opacity: 0.7;
transform: scale(1.1);
}
}
/* Mobile responsiveness improvements */
@media (max-width: 1024px) {
#priceDisplay {
position: relative !important;
top: auto !important;
right: auto !important;
margin: 1rem 0;
width: 100%;
}
}
/* Dark mode enhancements */
.dark #priceDisplay .bg-white {
background: rgba(31, 41, 55, 0.95);
backdrop-filter: blur(16px);
}
/* Scroll-triggered animations */
#priceDisplay.visible {
animation: slideInRight 0.5s ease-out;
}
@keyframes slideInRight {
from {
transform: translateX(100%);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
/* Enhanced shadow for better visibility */
#priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.25),
0 0 0 1px rgba(255, 255, 255, 0.1);
}
.dark #priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.5),
0 0 0 1px rgba(255, 255, 255, 0.1);
}

View File

@@ -0,0 +1,89 @@
/* Sticky Price Display Styles */
#priceDisplay {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
transform: translateX(0);
}
/* Enhanced visibility on scroll */
#priceDisplay.scrolled {
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
transform: scale(1.02);
}
/* Hover effects */
#priceDisplay:hover {
transform: translateX(-5px) scale(1.05);
box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.3);
}
/* Animation for price updates */
#currentPrice {
transition: all 0.3s ease;
}
#currentPrice.updating {
transform: scale(1.1);
filter: brightness(1.2);
}
/* Pulse animation for live indicator */
.animate-pulse-soft {
animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-soft {
0%, 100% {
opacity: 1;
transform: scale(1);
}
50% {
opacity: 0.7;
transform: scale(1.1);
}
}
/* Mobile responsiveness improvements */
@media (max-width: 1024px) {
#priceDisplay {
position: relative !important;
top: auto !important;
right: auto !important;
margin: 1rem 0;
width: 100%;
}
}
/* Dark mode enhancements */
.dark #priceDisplay .bg-white {
background: rgba(31, 41, 55, 0.95);
backdrop-filter: blur(16px);
}
/* Scroll-triggered animations */
#priceDisplay.visible {
animation: slideInRight 0.5s ease-out;
}
@keyframes slideInRight {
from {
transform: translateX(100%);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
/* Enhanced shadow for better visibility */
#priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.25),
0 0 0 1px rgba(255, 255, 255, 0.1);
}
.dark #priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.5),
0 0 0 1px rgba(255, 255, 255, 0.1);
}

View File

@@ -0,0 +1,108 @@
/* Dynamic Island Style Sticky Price Display */
#priceDisplay {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
transform: translateX(-50%);
}
/* Enhanced visibility and Dynamic Island effects */
#priceDisplay.scrolled {
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
transform: translateX(-50%) scale(1.02);
}
/* Hover effects for Dynamic Island */
#priceDisplay:hover {
transform: translateX(-50%) scale(1.05);
box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.6);
}
/* Animation for price updates */
#currentPrice {
transition: all 0.3s ease;
}
#currentPrice.updating {
transform: scale(1.1);
filter: brightness(1.2);
}
/* Enhanced pulse animation for live indicator */
.animate-pulse-soft {
animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-soft {
0%, 100% {
opacity: 1;
transform: scale(1);
}
50% {
opacity: 0.7;
transform: scale(1.1);
}
}
/* Mobile responsiveness improvements */
@media (max-width: 1024px) {
#priceDisplay {
position: relative !important;
bottom: auto !important;
left: auto !important;
transform: none !important;
margin: 1rem 0;
width: 100%;
}
#mobilePriceDisplay {
transform: none;
}
#mobilePriceDisplay:hover {
transform: scale(1.02);
}
}
/* Dark mode enhancements for Dynamic Island */
.dark #priceDisplay .bg-black\/80 {
background: rgba(17, 24, 39, 0.9);
backdrop-filter: blur(24px);
}
/* Dynamic Island entrance animation */
#priceDisplay.visible {
animation: slideInBottom 0.5s ease-out;
}
@keyframes slideInBottom {
from {
transform: translateX(-50%) translateY(100%);
opacity: 0;
}
to {
transform: translateX(-50%) translateY(0);
opacity: 1;
}
}
/* Enhanced shadow for Dynamic Island aesthetic */
#priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.dark #priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.6),
0 0 0 1px rgba(255, 255, 255, 0.05),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
/* Mobile Dynamic Island styling */
#mobilePriceDisplay .shadow-2xl {
box-shadow:
0 20px 40px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

View File

@@ -0,0 +1,109 @@
/* Dynamic Island Style Sticky Price Display */
#priceDisplay {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
transform: translateX(-50%);
}
/* Enhanced visibility and Dynamic Island effects */
#priceDisplay.scrolled {
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
transform: translateX(-50%) scale(1.02);
}
/* Hover effects for Dynamic Island */
#priceDisplay:hover {
transform: translateX(-50%) scale(1.05);
box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.6);
}
/* Animation for price updates */
#currentPrice {
transition: all 0.3s ease;
}
#currentPrice.updating {
transform: scale(1.1);
filter: brightness(1.2);
}
/* Enhanced pulse animation for live indicator */
.animate-pulse-soft {
animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-soft {
0%, 100% {
opacity: 1;
transform: scale(1);
}
50% {
opacity: 0.7;
transform: scale(1.1);
}
}
/* Mobile responsiveness improvements */
@media (max-width: 1024px) {
#priceDisplay {
position: relative !important;
bottom: auto !important;
left: auto !important;
transform: none !important;
margin: 1rem 0;
width: 100%;
}
#mobilePriceDisplay {
transform: none;
}
#mobilePriceDisplay:hover {
transform: scale(1.02);
}
}
/* Dark mode enhancements for Dynamic Island */
.dark #priceDisplay .bg-black\/80 {
background: rgba(17, 24, 39, 0.9);
-webkit-backdrop-filter: blur(24px);
backdrop-filter: blur(24px);
}
/* Dynamic Island entrance animation */
#priceDisplay.visible {
animation: slideInBottom 0.5s ease-out;
}
@keyframes slideInBottom {
from {
transform: translateX(-50%) translateY(100%);
opacity: 0;
}
to {
transform: translateX(-50%) translateY(0);
opacity: 1;
}
}
/* Enhanced shadow for Dynamic Island aesthetic */
#priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.dark #priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.6),
0 0 0 1px rgba(255, 255, 255, 0.05),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
/* Mobile Dynamic Island styling */
#mobilePriceDisplay .shadow-2xl {
box-shadow:
0 20px 40px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

View File

@@ -0,0 +1,109 @@
/* Dynamic Island Style Sticky Price Display */
#priceDisplay {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
transform: translateX(-50%);
}
/* Enhanced visibility and Dynamic Island effects */
#priceDisplay.scrolled {
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
transform: translateX(-50%) scale(1.02);
}
/* Hover effects for Dynamic Island */
#priceDisplay:hover {
transform: translateX(-50%) scale(1.05);
box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.6);
}
/* Animation for price updates */
#currentPrice {
transition: all 0.3s ease;
}
#currentPrice.updating {
transform: scale(1.1);
filter: brightness(1.2);
}
/* Enhanced pulse animation for live indicator */
.animate-pulse-soft {
animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-soft {
0%, 100% {
opacity: 1;
transform: scale(1);
}
50% {
opacity: 0.7;
transform: scale(1.1);
}
}
/* Mobile responsiveness improvements */
@media (max-width: 1024px) {
#priceDisplay {
position: relative !important;
bottom: auto !important;
left: auto !important;
transform: none !important;
margin: 1rem 0;
width: 100%;
}
#mobilePriceDisplay {
transform: none;
}
#mobilePriceDisplay:hover {
transform: scale(1.02);
}
}
/* Dark mode enhancements for Dynamic Island */
.dark #priceDisplay .bg-black\/80 {
background: rgba(17, 24, 39, 0.9);
-webkit-backdrop-filter: blur(24px);
backdrop-filter: blur(24px);
}
/* Dynamic Island entrance animation */
#priceDisplay.visible {
animation: slideInBottom 0.5s ease-out;
}
@keyframes slideInBottom {
from {
transform: translateX(-50%) translateY(100%);
opacity: 0;
}
to {
transform: translateX(-50%) translateY(0);
opacity: 1;
}
}
/* Enhanced shadow for Dynamic Island aesthetic */
#priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.dark #priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.6),
0 0 0 1px rgba(255, 255, 255, 0.05),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
/* Mobile Dynamic Island styling */
#mobilePriceDisplay .shadow-2xl {
box-shadow:
0 20px 40px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

View File

@@ -0,0 +1,114 @@
/* Dynamic Island Style Sticky Price Display - Full Width */
#priceDisplay {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
transform: translateX(0);
left: 1rem;
right: 1rem;
max-width: calc(64rem - 2rem); /* max-w-4xl minus padding */
margin-left: auto;
margin-right: auto;
}
/* Enhanced visibility and Dynamic Island effects */
#priceDisplay.scrolled {
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.3);
transform: scale(1.01);
}
/* Hover effects for Dynamic Island */
#priceDisplay:hover {
transform: scale(1.02);
box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.4);
}
/* Animation for price updates */
#currentPrice {
transition: all 0.3s ease;
}
#currentPrice.updating {
transform: scale(1.1);
filter: brightness(1.2);
}
/* Enhanced pulse animation for live indicator */
.animate-pulse-soft {
animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-soft {
0%, 100% {
opacity: 1;
transform: scale(1);
}
50% {
opacity: 0.7;
transform: scale(1.1);
}
}
/* Mobile responsiveness improvements */
@media (max-width: 1024px) {
#priceDisplay {
position: relative !important;
bottom: auto !important;
left: auto !important;
transform: none !important;
margin: 1rem 0;
width: 100%;
}
#mobilePriceDisplay {
transform: none;
}
#mobilePriceDisplay:hover {
transform: scale(1.02);
}
}
/* Dark mode enhancements for Dynamic Island */
.dark #priceDisplay .bg-black\/80 {
background: rgba(17, 24, 39, 0.9);
-webkit-backdrop-filter: blur(24px);
backdrop-filter: blur(24px);
}
/* Dynamic Island entrance animation */
#priceDisplay.visible {
animation: slideInBottom 0.5s ease-out;
}
@keyframes slideInBottom {
from {
transform: translateX(-50%) translateY(100%);
opacity: 0;
}
to {
transform: translateX(-50%) translateY(0);
opacity: 1;
}
}
/* Enhanced shadow for Dynamic Island aesthetic */
#priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.dark #priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.6),
0 0 0 1px rgba(255, 255, 255, 0.05),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
/* Mobile Dynamic Island styling */
#mobilePriceDisplay .shadow-2xl {
box-shadow:
0 20px 40px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

View File

@@ -0,0 +1,114 @@
/* Dynamic Island Style Sticky Price Display - Full Width */
#priceDisplay {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
transform: translateX(0);
left: 1rem;
right: 1rem;
max-width: calc(64rem - 2rem); /* max-w-4xl minus padding */
margin-left: auto;
margin-right: auto;
}
/* Enhanced visibility and Dynamic Island effects */
#priceDisplay.scrolled {
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.3);
transform: scale(1.01);
}
/* Hover effects for Dynamic Island */
#priceDisplay:hover {
transform: scale(1.02);
box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.4);
}
/* Animation for price updates */
#currentPrice {
transition: all 0.3s ease;
}
#currentPrice.updating {
transform: scale(1.1);
filter: brightness(1.2);
}
/* Enhanced pulse animation for live indicator */
.animate-pulse-soft {
animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-soft {
0%, 100% {
opacity: 1;
transform: scale(1);
}
50% {
opacity: 0.7;
transform: scale(1.1);
}
}
/* Mobile responsiveness improvements */
@media (max-width: 1024px) {
#priceDisplay {
position: relative !important;
bottom: auto !important;
left: auto !important;
transform: none !important;
margin: 1rem 0;
width: 100%;
}
#mobilePriceDisplay {
transform: none;
}
#mobilePriceDisplay:hover {
transform: scale(1.02);
}
}
/* Dark mode enhancements for Dynamic Island */
.dark #priceDisplay .bg-black\/80 {
background: rgba(17, 24, 39, 0.9);
-webkit-backdrop-filter: blur(24px);
backdrop-filter: blur(24px);
}
/* Dynamic Island entrance animation */
#priceDisplay.visible {
animation: slideInBottom 0.5s ease-out;
}
@keyframes slideInBottom {
from {
transform: translateY(100%);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
/* Enhanced shadow for Dynamic Island aesthetic */
#priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.dark #priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.6),
0 0 0 1px rgba(255, 255, 255, 0.05),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
/* Mobile Dynamic Island styling */
#mobilePriceDisplay .shadow-2xl {
box-shadow:
0 20px 40px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

View File

@@ -0,0 +1,116 @@
/* Dynamic Island Style Sticky Price Display - Full Width */
#priceDisplay {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
transform: translateX(0);
left: 1rem;
right: 1rem;
max-width: calc(64rem - 2rem); /* max-w-4xl minus padding */
margin-left: auto;
margin-right: auto;
}
/* Enhanced visibility and Dynamic Island effects */
#priceDisplay.scrolled {
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.3);
transform: scale(1.01);
}
/* Hover effects for Dynamic Island */
#priceDisplay:hover {
transform: scale(1.02);
box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.4);
}
/* Animation for price updates */
#currentPrice {
transition: all 0.3s ease;
}
#currentPrice.updating {
transform: scale(1.1);
filter: brightness(1.2);
}
/* Enhanced pulse animation for live indicator */
.animate-pulse-soft {
animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-soft {
0%, 100% {
opacity: 1;
transform: scale(1);
}
50% {
opacity: 0.7;
transform: scale(1.1);
}
}
/* Mobile responsiveness improvements */
@media (max-width: 1024px) {
#priceDisplay {
position: relative !important;
bottom: auto !important;
left: auto !important;
right: auto !important;
transform: none !important;
margin: 1rem 0;
width: 100%;
max-width: none;
}
#mobilePriceDisplay {
transform: none;
}
#mobilePriceDisplay:hover {
transform: scale(1.02);
}
}
/* Dark mode enhancements for Dynamic Island */
.dark #priceDisplay .bg-black\/80 {
background: rgba(17, 24, 39, 0.9);
-webkit-backdrop-filter: blur(24px);
backdrop-filter: blur(24px);
}
/* Dynamic Island entrance animation */
#priceDisplay.visible {
animation: slideInBottom 0.5s ease-out;
}
@keyframes slideInBottom {
from {
transform: translateY(100%);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
/* Enhanced shadow for Dynamic Island aesthetic */
#priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.dark #priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.6),
0 0 0 1px rgba(255, 255, 255, 0.05),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
/* Mobile Dynamic Island styling */
#mobilePriceDisplay .shadow-2xl {
box-shadow:
0 20px 40px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

View File

@@ -0,0 +1,116 @@
/* Dynamic Island Style Sticky Price Display - Full Width */
#priceDisplay {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
transform: translateX(0);
left: 1rem;
right: 1rem;
max-width: calc(64rem - 2rem); /* max-w-4xl minus padding */
margin-left: auto;
margin-right: auto;
}
/* Enhanced visibility and Dynamic Island effects */
#priceDisplay.scrolled {
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.3);
transform: scale(1.01);
}
/* Hover effects for Dynamic Island */
#priceDisplay:hover {
transform: scale(1.02);
box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.4);
}
/* Animation for price updates */
#currentPrice {
transition: all 0.3s ease;
}
#currentPrice.updating {
transform: scale(1.1);
filter: brightness(1.2);
}
/* Enhanced pulse animation for live indicator */
.animate-pulse-soft {
animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-soft {
0%, 100% {
opacity: 1;
transform: scale(1);
}
50% {
opacity: 0.7;
transform: scale(1.1);
}
}
/* Mobile responsiveness improvements */
@media (max-width: 1024px) {
#priceDisplay {
position: relative !important;
bottom: auto !important;
left: auto !important;
right: auto !important;
transform: none !important;
margin: 1rem 0;
width: 100%;
max-width: none;
}
#mobilePriceDisplay {
transform: none;
}
#mobilePriceDisplay:hover {
transform: scale(1.02);
}
}
/* Dark mode enhancements for Dynamic Island */
.dark #priceDisplay .bg-black\/80 {
background: rgba(17, 24, 39, 0.9);
-webkit-backdrop-filter: blur(24px);
backdrop-filter: blur(24px);
}
/* Dynamic Island entrance animation */
#priceDisplay.visible {
animation: slideInBottom 0.5s ease-out;
}
@keyframes slideInBottom {
from {
transform: translateY(100%);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
/* Enhanced shadow for Dynamic Island aesthetic */
#priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.dark #priceDisplay .shadow-2xl {
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.6),
0 0 0 1px rgba(255, 255, 255, 0.05),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
/* Mobile Dynamic Island styling */
#mobilePriceDisplay .shadow-2xl {
box-shadow:
0 20px 40px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

View File

@@ -0,0 +1,69 @@
/* Dynamic Price Island - As Calculator Extension */
#priceIsland {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
#islandContainer {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
#islandContent {
transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Hover effects for island */
#priceIsland:hover #islandContainer {
transform: translateY(-2px);
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}
/* Animation for price updates */
.price-update {
animation: priceUpdate 0.3s ease-out;
}
@keyframes priceUpdate {
0% { transform: scale(1); }
50% { transform: scale(1.05); color: #3b82f6; }
100% { transform: scale(1); }
}
/* Enhanced pulse animation for live indicator */
.animate-pulse-soft {
animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-soft {
0%, 100% {
opacity: 1;
transform: scale(1);
}
50% {
opacity: 0.7;
transform: scale(1.1);
}
}
/* Mobile responsiveness improvements */
@media (max-width: 1024px) {
#priceIsland {
margin: 1rem;
padding: 0;
}
#mobilePriceDisplay {
transform: none;
}
#mobilePriceDisplay:hover {
transform: scale(1.02);
}
}
/* Mobile Dynamic Island styling */
#mobilePriceDisplay .shadow-2xl {
box-shadow:
0 20px 40px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

View File

@@ -0,0 +1,69 @@
/* Dynamic Price Island - As Calculator Extension */
#priceIsland {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
#islandContainer {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
#islandContent {
transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Hover effects for island */
#priceIsland:hover #islandContainer {
transform: translateY(-2px);
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}
/* Animation for price updates */
.price-update {
animation: priceUpdate 0.3s ease-out;
}
@keyframes priceUpdate {
0% { transform: scale(1); }
50% { transform: scale(1.05); color: #3b82f6; }
100% { transform: scale(1); }
}
/* Enhanced pulse animation for live indicator */
.animate-pulse-soft {
animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-soft {
0%, 100% {
opacity: 1;
transform: scale(1);
}
50% {
opacity: 0.7;
transform: scale(1.1);
}
}
/* Mobile responsiveness improvements */
@media (max-width: 1024px) {
#priceIsland {
margin: 1rem;
padding: 0;
}
#mobilePriceDisplay {
transform: none;
}
#mobilePriceDisplay:hover {
transform: scale(1.02);
}
}
/* Mobile Dynamic Island styling */
#mobilePriceDisplay .shadow-2xl {
box-shadow:
0 20px 40px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

View File

@@ -0,0 +1,77 @@
/* Price Display Island - Under Calculator */
#priceDisplay {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Enhanced visibility and effects */
#priceDisplay.scrolled {
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.3);
transform: scale(1.01);
}
/* Hover effects */
#priceDisplay:hover {
transform: scale(1.02);
box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.4);
}
/* Animation for price updates */
#currentPrice {
transition: all 0.3s ease;
}
#currentPrice.updating {
transform: scale(1.1);
filter: brightness(1.2);
}
/* Animation for price updates */
.price-update {
animation: priceUpdate 0.3s ease-out;
}
@keyframes priceUpdate {
0% { transform: scale(1); }
50% { transform: scale(1.05); color: #3b82f6; }
100% { transform: scale(1); }
}
/* Enhanced pulse animation for live indicator */
.animate-pulse-soft {
animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-soft {
0%, 100% {
opacity: 1;
transform: scale(1);
}
50% {
opacity: 0.7;
transform: scale(1.1);
}
}
/* Mobile responsiveness improvements */
@media (max-width: 1024px) {
#priceDisplay {
margin: 1rem;
padding: 0;
}
#mobilePriceDisplay {
transform: none;
}
#mobilePriceDisplay:hover {
transform: scale(1.02);
}
}
/* Mobile Dynamic Island styling */
#mobilePriceDisplay .shadow-2xl {
box-shadow:
0 20px 40px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

View File

@@ -0,0 +1,77 @@
/* Price Display Island - Under Calculator */
#priceDisplay {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Enhanced visibility and effects */
#priceDisplay.scrolled {
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.3);
transform: scale(1.01);
}
/* Hover effects */
#priceDisplay:hover {
transform: scale(1.02);
box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.4);
}
/* Animation for price updates */
#currentPrice {
transition: all 0.3s ease;
}
#currentPrice.updating {
transform: scale(1.1);
filter: brightness(1.2);
}
/* Animation for price updates */
.price-update {
animation: priceUpdate 0.3s ease-out;
}
@keyframes priceUpdate {
0% { transform: scale(1); }
50% { transform: scale(1.05); color: #3b82f6; }
100% { transform: scale(1); }
}
/* Enhanced pulse animation for live indicator */
.animate-pulse-soft {
animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-soft {
0%, 100% {
opacity: 1;
transform: scale(1);
}
50% {
opacity: 0.7;
transform: scale(1.1);
}
}
/* Mobile responsiveness improvements */
@media (max-width: 1024px) {
#priceDisplay {
margin: 1rem;
padding: 0;
}
#mobilePriceDisplay {
transform: none;
}
#mobilePriceDisplay:hover {
transform: scale(1.02);
}
}
/* Mobile Dynamic Island styling */
#mobilePriceDisplay .shadow-2xl {
box-shadow:
0 20px 40px -12px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

View File

@@ -0,0 +1,46 @@
/* Simple Sticky Price Display */
#priceDisplay {
/* Positioned under calculator with 10px gap */
margin-top: 10px;
transition: all 0.3s ease;
/* Ensure proper display when visible */
opacity: 1;
transform: translateY(0);
}
/* Hidden state */
#priceDisplay.hidden {
opacity: 0;
transform: translateY(-10px);
pointer-events: none;
}
/* Smooth show animation */
#priceDisplay.show {
opacity: 1;
transform: translateY(0);
}
/* Price update animation */
#currentPrice {
transition: all 0.2s ease;
}
.price-update {
animation: priceUpdate 0.3s ease-out;
}
@keyframes priceUpdate {
0% { transform: scale(1); }
50% { transform: scale(1.05); color: #3b82f6; }
100% { transform: scale(1); }
}
/* Mobile responsiveness */
@media (max-width: 768px) {
#priceDisplay {
margin-top: 8px;
padding: 12px 16px;
}
}

View File

@@ -0,0 +1,46 @@
/* Simple Sticky Price Display */
#priceDisplay {
/* Positioned under calculator with 10px gap */
margin-top: 10px;
transition: all 0.3s ease;
/* Ensure proper display when visible */
opacity: 1;
transform: translateY(0);
}
/* Hidden state */
#priceDisplay.hidden {
opacity: 0;
transform: translateY(-10px);
pointer-events: none;
}
/* Smooth show animation */
#priceDisplay.show {
opacity: 1;
transform: translateY(0);
}
/* Price update animation */
#currentPrice {
transition: all 0.2s ease;
}
.price-update {
animation: priceUpdate 0.3s ease-out;
}
@keyframes priceUpdate {
0% { transform: scale(1); }
50% { transform: scale(1.05); color: #3b82f6; }
100% { transform: scale(1); }
}
/* Mobile responsiveness */
@media (max-width: 768px) {
#priceDisplay {
margin-top: 8px;
padding: 12px 16px;
}
}

Some files were not shown because too many files have changed in this diff Show More