Tłumaczenia - poprawki.

This commit is contained in:
2026-09-25 18:16:53 +02:00
parent 4fde92d323
commit 80e1aa12ed
6 changed files with 178 additions and 49 deletions
+47
View File
@@ -49,6 +49,53 @@ Z powodów bezpieczeństwa, aby klienci w restauracji nie podglądali zamówień
4. Upewnij się, że folder `api/cache` posiada prawa zapisu (`chmod 777` na Linuksie / Pełna kontrola na Windowsie) by skrypt mógł wygenerować `tables_cache.json`.
5. Dla ułatwienia pracy, na roocie znajduje się `index.php` (Dev Portal), z którego możesz klikać we wszystkie moduły (do usunięcia na produkcji).
## 🍽 Odświeżanie cache menu (CLI)
Menu dla gości (PL/EN/DE + tłumaczenia AI ES/IT/KO) **nie odświeża się automatycznie**.
Cache leży w `api/cache/menu_*.json` i aktualizujesz go ręcznie z terminala.
### Wymagania
1. **PHP CLI** (nie `php-fpm`) — np. `/usr/bin/php8` albo `php` w PATH.
2. Katalog `api/cache` zapisywalny przez użytkownika, który odpala skrypt:
```bash
# na serwerze Linux (dostosuj użytkownika do FPM / SSH)
chown -R www-data:www-data api/cache
chmod 775 api/cache
```
3. Klucz OpenAI w `config/menu_ai.local.php` (plik lokalny z `api_key` i modelem — nie commituj klucza).
### Komendy
Z katalogu głównego projektu (`karczma-stoliki/`):
```bash
# Tylko upstream PL/EN/DE + AI gdy zmienił się fingerprint PL
php scripts/refresh_menu_cache.php
# Wymuś ponowne tłumaczenie ES/IT/KO przez OpenAI (zużywa tokeny)
php scripts/refresh_menu_cache.php --force-ai
```
Na produkcji, jeśli `php` wskazuje na FPM albo złą wersję:
```bash
cd /var/www/html/public/app # ścieżka do projektu na serwerze
/usr/bin/php8 scripts/refresh_menu_cache.php --force-ai
```
Skrypt wypisuje log linia po linii. Exit `0` = sukces, `1` = błąd (np. brak praw zapisu, błąd AI).
### Co robi skrypt?
1. Pobiera menu z upstreamu Karczmy (PL/EN/DE) → `api/cache/menu_pl.json` itd.
2. Dla ES/IT/KO tłumaczy zmienione pozycje z PL przez OpenAI (`gpt-4o` wg konfiguracji).
3. Zapisuje fingerprint PL, żeby kolejne uruchomienia bez `--force-ai` pomijały AI, gdy menu się nie zmieniło.
---
## 📊 Analityka (MVP)
W projekcie działa eventowa analityka oparta o MySQL: