Lokalizacja (Tłumaczenia)
Dokumentacja jest stale rozwijana i aktualizowana wraz z postępem projektu. Ponieważ powstaje ona równolegle z kodem, niektóre sekcje mogą tymczasowo odnosić się do wcześniejszych wersji systemu - są one sukcesywnie dostosowywane do bieżącego stanu aplikacji. Jeśli zauważysz nieaktualne informacje, zgłoś to lub załóż Issue / Pull Request.
Dokumentacja
# Lokalizacja (Tłumaczenia)
# Przegląd
Klasa Translation zapewnia lekki i elastyczny sposób obsługi tłumaczeń w aplikacji.
Obsługuje:
- Placeholdery nazwane
{key} - Formatowanie
sprintf(%s,%1$s) - Fallback do klucza, jeśli tłumaczenie nie istnieje
# Podstawowe użycie
use Dbm\Localization\Translation;
$translations = [
'hello' => 'Witaj {name}',
];
$translator = new Translation($translations);
echo $translator->trans('hello', ['name' => 'Jan']);
// Witaj Jan
# Metoda tłumaczenia
trans(string $key, ?array $data = null): string
# Działanie
- Wyszukuje tłumaczenie po kluczu
- Zamienia placeholdery
- Zwraca klucz, jeśli tłumaczenie nie istnieje
# Placeholdery
# Placeholdery nazwane
'hello' => 'Witaj {name}'
$translator->trans('hello', ['name' => 'Jan']);
# Placeholdery sprintf
'items' => 'Masz %d elementów'
$translator->trans('items', [5]);
# Zachowanie fallback
Jeśli tłumaczenie nie istnieje:
$translator->trans('unknown.key');
Zwraca:
unknown.key
# Integracja z Validator
Validator automatycznie obsługuje tłumaczenia:
$validator = new Validator($translator);
# Dobre praktyki
- Przechowuj tłumaczenia w osobnych plikach
- Używaj spójnych kluczy (
validation.required) - Unikaj hardcodowania komunikatów
# Podsumowanie
System tłumaczeń jest:
- lekki
- bez zależności
- elastyczny
- bezpieczny (nie powoduje błędów aplikacji)
Lista dokumentacji
01. PIERWSZE KROKI
02. PODSTAWOWE POJĘCIA
03. HTTP I ROUTING
04. DANE
05. WALIDACJA
06. INFRASTRUKTURA
08. PREZENTACJA
11. MODUŁY