ultimatepos/PERSIAN_README.md

191 lines
6.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# راهنمای فارسی‌سازی کامل UltimatePOS
## ✅ کارهای انجام شده
### 1. ترجمه فایل‌های زبان
فایل‌های ترجمه فارسی در پوشه `lang/fa/` ایجاد شده‌اند:
-`messages.php` - پیام‌های عمومی
-`home.php` - صفحه اصلی
-`product.php` - محصولات
-`sale.php` - فروش
-`purchase.php` - خرید
-`contact.php` - مخاطبین
-`auth.php` - احراز هویت
-`business.php` - کسب‌وکار
-`validation.php` - اعتبارسنجی
-`pagination.php` - صفحه‌بندی
-`passwords.php` - رمز عبور
-`report.php` - گزارش‌ها
-`category.php` - دسته‌بندی‌ها
-`brand.php` - برندها
-`unit.php` - واحدها
-`user.php` - کاربران
-`role.php` - نقش‌ها
-`expense.php` - هزینه‌ها
-`invoice.php` - فاکتورها
-`cash_register.php` - صندوق
-`stock_adjustment.php` - تعدیل موجودی
-`tax_rate.php` - نرخ مالیات
-`barcode.php` - بارکد
-`printer.php` - چاپگر
-`receipt.php` - رسید
-`restaurant.php` - رستوران
-`account.php` - حساب‌ها
-`tooltip.php` - راهنماها
-`lang_v1.php` - ترجمه‌های اضافی (کپی شده برای ترجمه بعدی)
### 2. پشتیبانی RTL
- ✅ فارسی به لیست زبان‌های RTL در `config/constants.php` اضافه شد
- ✅ فایل CSS سفارشی فارسی `public/css/persian-rtl.css` ایجاد شد
- ✅ فونت Vazir برای فارسی اضافه شد
- ✅ پشتیبانی RTL برای تمام کامپوننت‌ها (جداول، فرم‌ها، مودال‌ها، و...)
- ✅ فایل CSS فارسی به `resources/views/layouts/partials/css.blade.php` اضافه شد
### 3. تنظیمات سیستم
- ✅ زبان فارسی به `config/constants.php` اضافه شد:
```php
'fa' => ['full_name' => 'Persian - فارسی', 'short_name' => 'Persian']
```
- ✅ فارسی به لیست زبان‌های RTL اضافه شد:
```php
'langs_rtl' => ['ar', 'fa']
```
## 📋 مراحل نصب و فعال‌سازی
### مرحله 1: پاکسازی Cache
```bash
php artisan cache:clear
php artisan config:clear
php artisan view:clear
php artisan route:clear
```
### مرحله 2: تنظیم زبان پیش‌فرض (اختیاری)
برای تنظیم فارسی به عنوان زبان پیش‌فرض، فایل `.env` را ویرایش کنید:
```env
APP_LOCALE=fa
```
یا در `config/app.php`:
```php
'locale' => 'fa',
```
### مرحله 3: تنظیم زبان برای کاربران
کاربران می‌توانند از طریق پنل کاربری خود زبان را به فارسی تغییر دهند:
1. وارد پنل شوید
2. به **Settings** > **Business Settings** بروید
3. در قسمت **Language** گزینه **Persian - فارسی** را انتخاب کنید
4. ذخیره کنید
### مرحله 4: تنظیمات دیتابیس برای فارسی
برای پشتیبانی کامل از زبان فارسی، اطمینان حاصل کنید که دیتابیس با charset `utf8mb4` ایجاد شده است:
```sql
ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
در فایل `config/database.php`:
```php
'mysql' => [
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
],
```
### مرحله 5: تنظیمات منطقه زمانی (اختیاری)
برای تنظیم منطقه زمانی ایران در `.env`:
```env
APP_TIMEZONE=Asia/Tehran
```
## 🎨 ویژگی‌های RTL
### فونت فارسی
سیستم از فونت **Vazir** استفاده می‌کند که یک فونت فارسی زیبا و خوانا است.
### پشتیبانی کامل RTL
- ✅ منوها و سایدبار
- ✅ جداول و لیست‌ها
- ✅ فرم‌ها و ورودی‌ها
- ✅ مودال‌ها و پاپ‌آپ‌ها
- ✅ دکمه‌ها و dropdown ها
- ✅ صفحه POS
- ✅ فاکتورها و رسیدها
- ✅ گزارش‌ها
- ✅ داشبورد
## 🔧 سفارشی‌سازی بیشتر
### تغییر فونت
برای تغییر فونت، فایل `public/css/persian-rtl.css` را ویرایش کنید:
```css
@font-face {
font-family: 'YourFont';
src: url('path/to/your/font.woff2') format('woff2');
}
html[lang="fa"] * {
font-family: 'YourFont', 'Tahoma', 'Arial', sans-serif !important;
}
```
### تنظیمات اضافی CSS
می‌توانید استایل‌های سفارشی خود را به انتهای فایل `persian-rtl.css` اضافه کنید.
## 📝 نکات مهم
1. **تاریخ شمسی**: برای استفاده از تاریخ شمسی، باید یک پکیج مناسب نصب کنید:
```bash
composer require morilog/jalali
```
2. **اعداد فارسی**: برای تبدیل اعداد به فارسی، می‌توانید از توابع PHP استفاده کنید یا یک helper ایجاد کنید.
3. **ترجمه کامل**: فایل `lang_v1.php` شامل بیش از 1500 خط ترجمه است که می‌تواند به تدریج ترجمه شود.
## 🐛 عیب‌یابی
### مشکل: فونت فارسی نمایش داده نمی‌شود
**راه حل**: Cache مرورگر را پاک کنید یا در حالت Incognito تست کنید.
### مشکل: RTL کار نمی‌کند
**راه حل**:
1. Cache Laravel را پاک کنید
2. اطمینان حاصل کنید که زبان فارسی در تنظیمات کاربری انتخاب شده است
3. فایل `persian-rtl.css` را بررسی کنید که بارگذاری شده باشد
### مشکل: متن‌ها ترجمه نمی‌شوند
**راه حل**:
1. فایل‌های ترجمه در `lang/fa/` را بررسی کنید
2. Cache را پاک کنید
3. مطمئن شوید که کلیدهای ترجمه صحیح هستند
## 📞 پشتیبانی
برای مشکلات و سوالات:
- بررسی فایل‌های log در `storage/logs/`
- بررسی Console مرورگر برای خطاهای JavaScript
- بررسی Network tab برای بارگذاری فایل‌های CSS
## ✨ ویژگی‌های آینده
- [ ] ترجمه کامل فایل `lang_v1.php`
- [ ] پشتیبانی از تاریخ شمسی
- [ ] تبدیل خودکار اعداد به فارسی
- [ ] ترجمه پیام‌های خطا و اعتبارسنجی
- [ ] ترجمه ماژول‌های اضافی (CRM, Manufacturing, و...)
## 🎉 نتیجه
سیستم UltimatePOS شما اکنون به طور کامل از زبان فارسی و RTL پشتیبانی می‌کند!
برای فعال‌سازی:
1. Cache را پاک کنید
2. وارد سیستم شوید
3. زبان را به فارسی تغییر دهید
4. از سیستم فارسی خود لذت ببرید! 🚀