lvntrdev / laravel-horizon-tr
Laravel Horizon arayüzü için Türkçe çeviri katmanı.
Package info
github.com/lvntrdev/laravel-horizon-tr
Language:Blade
pkg:composer/lvntrdev/laravel-horizon-tr
Requires
- php: ^8.2
- illuminate/support: ^11.0|^12.0|^13.0
- laravel/horizon: ^5.0
README
Laravel Horizon arayüzü için Türkçe çeviri katmanı. Vendor dizinine dokunmaz,
composer update laravel/horizon çeviriyi bozmaz.
Neden bu şekilde
Horizon'un ekranları vendor içinde derlenmiş bir Vue bundle'ıdır
(vendor/laravel/horizon/dist/app.js) ve i18n desteği yoktur; metinler kaynağa
gömülüdür. Bu yüzden çeviri iki parçadan oluşur:
layout.blade.phpoverride'ı — sidebar menüsü, üst bar başlıkları, bakım modu uyarısı velang="tr". Blade tarafında olduğu için doğrudan Türkçe render edilir.- Render sonrası DOM çeviri katmanı (
partials/i18n-tr.blade.php) — Vue bundle'ının ürettiği metinler: tablo başlıkları, butonlar, durum etiketleri, boş durum metinleri ve moment.js süre çıktıları (2 Minutes→2 Dakika). Sözlük tabanlı,MutationObserverile çalışır.
Gereksinimler
| Bileşen | Sürüm |
|---|---|
| PHP | ^8.2 |
Laravel (illuminate/support) |
^11.0 | ^12.0 | ^13.0 |
laravel/horizon |
^5.0 |
Kurulum
composer require lvntrdev/laravel-horizon-tr
Paket auto-discovery ile devreye girer — publish, config veya .env ayarı
gerekmez. Horizon kurulu değilse provider sessizce hiçbir şey yapmaz.
Packagist yerine doğrudan GitHub'dan kurmak
composer.json'a repository ekleyin:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/lvntrdev/laravel-horizon-tr"
}
]
}
Sonra:
composer require lvntrdev/laravel-horizon-tr:dev-main
Doğrulama
php artisan horizon:status # Horizon çalışıyor mu
Ardından /horizon adresini açın. Sidebar Panel · İzleme · Metrikler · Toplu İşler … şeklinde görünüyorsa katman devrede demektir.
Provider'ın keşfedildiğini görmek için:
php artisan package:discover
# Discovered Package: lvntrdev/laravel-horizon-tr
Provider sınıfı: LvntrDev\HorizonTr\HorizonTrServiceProvider.
Özelleştirme
Sözlüğü veya layout'u projeye özel değiştirmek için view'ları publish edin:
php artisan vendor:publish --tag=horizon-tr
Dosyalar resources/views/vendor/horizon/ altına kopyalanır:
resources/views/vendor/horizon/
├── layout.blade.php
└── partials/
└── i18n-tr.blade.php
View çözümleme sırası: uygulama override'ı → bu paket → Horizon vendor. Yani publish edilen dosyalar paketten gelenlerin önüne geçer.
Sözlüğe kelime ekleme
partials/i18n-tr.blade.php içindeki EXACT sözlüğüne satır ekleyin:
var EXACT = { 'Overview': 'Genel Bakış', 'Retry': 'Yeniden Dene', // ... };
Anahtar, Horizon'un ürettiği İngilizce metnin birebir aynısı olmalıdır.
Sınırlar
- Sözlük tam eşleşme çalışır. Bir kuyruk/etiket/iş adı sözlükteki bir
anahtarla birebir aynı olursa (ör.
Failedadlı bir kuyruk) o metin de çevrilir. Pratikte karşılaşılmaz. - Stack trace ve payload blokları (
<pre>,<code>) çeviri dışıdır — hata metinleri ve JSON payload'lar İngilizce kalır. - Çeviri istemci tarafında, render sonrası uygulanır; çok kısa bir an için İngilizce metin görülebilir.
- Horizon major sürüm yükseltmesi yeni metinler getirebilir; sözlüğe eklenmeleri gerekir. Layout override'ı da Horizon'un kendi layout'uyla karşılaştırılmalıdır.
Lisans
MIT.