Laravel-Vue ikilisinde dil dosyası problemi

Laravel-Vue ikilisini ne kadar övsem az. O nedenle bu kısmı es geçip yaşadığım dil sorununu nasıl aştığımı anlatmak istiyorum.

Laravel’de blade template kullananlar çok dilli bir projeyle ilgileniyorsa lang() veya daha sade haliyle __() fonksiyonunu biliyordur. Kısaca anlatalım. resources/lang klasörü altında “tr”, “en” gibi dil klasörleri oluşturup bunların içine ayrı ayrı kullanabileceğimiz dil dosyaları oluşturuyoruz. Örneğin resources/lang/en/menu.php dosyasının içeriği şu şekilde oluyor.

Bu içeriği şu şekilde çağırıyoruz.

PHP’de işler böyle.. Peki Vue kullandığımızda artık iş PHP’den çıktığı için Javascript’le başbaşa kalıyoruz. O zaman bu dil dosyalarını nasıl kullanabiliriz?

Bunun için çeşitli yaklaşımlar mevcut ancak ben bugün şunu deneyip kullandım. Gayet sade bir çözüm olduğunu düşünüyorum.

Kullanımına örnek olarak;

Böylece Blade template’ine çok benzer bir şekilde __() fonksiyonu ile translate yapabiliriz. Bu fonksiyonu her Vue nesnesine tekrar tekrar yazmamak için Mixins yapısı kullanılabilir sanıyorum. Kısaca araştırdım ama uygulamadım. Vue’ya henüz o kadar hakim değilim. Ayrıca bana tek bir yerde bu şekilde kullanmak lazım olduğu için mixins’e ihtiyaç duymadım. İlgilisi bakabilir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir