Hyvä artık Magento 2.4.9’da ve Mage-OS’ta doğrudan (native) çalışıyor. İkisini de test ettik. Mağazanız için ne anlama geliyor →
Kısaca
Hyvä, Magento’nun standart mağaza görünümlerini, yerel ayarlarını (locale) ve çeviri dosyalarını kullanır; bu yüzden çoklu dil desteği Luma’daki gibi çalışır, üstelik araya giren JavaScript çok daha azdır.
URL yapısını planlayın, çevirileri temada tutun, Alpine.js bileşenlerinde kullanılan metinleri çevirin ve ödeme sayfası dahil her mağaza görünümünü ayrı ayrı test edin.
Avrupa'daki birçok Magento 2 mağazası birden fazla dilde satış yapıyor. Hyvä'ya geçmek Magento'nun bunu nasıl yönettiğini değiştirmez, ancak bazı işlerin nerede yapıldığını değiştirir.


Hyvä demo mağazamız, bayraklı bir dil seçiciyle İngilizce ve Almanca mağaza görünümleri sunuyor. Bu yazıda kurulumu nasıl yaptığımızı ve nelere dikkat etmeniz gerektiğini paylaşıyoruz.
Temel hala mağaza görünümleri
Hyvä bir ön yüz temasıdır. Web siteleri, mağazalar ve mağaza görünümleri, her Magento 2 kurulumunda olduğu gibi çalışır.
Her dil, Stores > Configuration > General > Locale Options altında ayarlanan kendi yerel ayarına (locale) sahip ayrı bir mağaza görünümü alır.
Ürün adları, açıklamalar, kategori içerikleri, CMS sayfaları ve URL anahtarları mağaza görünümü bazında ayarlanabilir. Tema yalnızca bu içeriğin nasıl gösterileceğini belirler.
Birden fazla para biriminde veya ülkede de satış yapıyorsanız, web sitesi ve mağaza yapısı fiyatlar, vergiler ve ödeme yöntemleri açısından önem kazanır. Bu konuyu Hyvä'da uluslararası ödeme sayfası yazımızda ele alıyoruz.
URL yapısını erkenden seçin
Dil sürümleri için iki yaygın yöntem vardır:
- Adreste mağaza kodu; örneğin
/en/ve/de/tek bir alan adında. Yönetmesi kolaydır; tek sertifika ve tek CDN bölgesiyle çalışırsınız. - Ayrı alan adları veya alt alan adları her ülke için. Her pazarda güçlü bir yerel markası olan mağazalara uygun olabilir.
İkisi de Hyvä ile çalışır. Önemli olan, kararı yayına almadan önce vermenizdir; çünkü adresleri sonradan değiştirmek yönlendirmeler ve arama motorlarında bir belirsizlik dönemi demektir.
Hangisini seçerseniz seçin, dil sürümlerini hreflang ile birbirine bağlayın. Magento kutudan çıktığı haliyle hreflang etiketi üretmez; bunun için bir modül ya da küçük, özel bir blok gerekir. SEO tarafını şu yazıda ele alıyoruz: Hyvä SEO: temiz kod, yapılandırılmış veri, verimli tarama.
Çeviriler temada tutulur
Magento çevirileri modüllerdeki CSV dosyalarından, dil paketlerinden ve temadan gelir. Bir Hyvä mağazasında mağazaya özel ifadeleri alt temada tutuyoruz:
app/design/frontend/Vendor/hyva-child/i18n/de_DE.csv
"Add to Cart","In den Warenkorb"
"Proceed to Checkout","Zur Kasse"
"Delivery in 2-3 working days","Lieferung in 2-3 Werktagen"
Tema çevirileri modül çevirilerinden sonra uygulanır; bu yüzden markanızın kendi üslubu için doğru yer burasıdır.
Hala çevrilmesi gereken metinleri bulmak için temanızdaki ifadeleri toplayın ve CSV ile karşılaştırın:
bin/magento i18n:collect-phrases app/design/frontend/Vendor/hyva-childUnutmayın: dil paketi size bir başlangıç noktası verir, markanızın sesini değil. Ödeme sayfası, sepet ve hesap ifadelerini her zaman elle gözden geçiriyoruz.
Alpine.js bileşenlerindeki metinler
Hyvä bileşenleri Alpine.js ile, çoğu zaman PHTML şablonlarının içinde yazılır. Metin genellikle PHP tarafından oluşturulduğu için çeviri, Luma’nın Knockout şablonlarına göre daha kolaydır.
JavaScript içinde bir metne ihtiyaç duyulduğunda, onu Magento’nun çeviri fonksiyonuyla oluşturun ve JavaScript için escape edin:
<div x-data="{ added: '<?= $escaper->escapeJs(__('Added to your basket')) ?>' }">
...
</div>Alpine.js bileşenlerine sabit İngilizce metin yazmaktan kaçının. İncelemede kolayca gözden kaçarlar ve müşteri bir yere tıkladığı anda Almanca sayfalarda ortaya çıkarlar.
Statik içerik, kullandığınız her yerel ayar için ayrıca dağıtılmalıdır; aksi halde bir dilde bazı dosyalar eksik kalır:
bin/magento setup:static-content:deploy -f en_GB de_DEBayraklı dil seçici
Magento zaten bir mağaza seçici sunar. Demo mağazamızda, her dilin yanında bayrak göstermek için bunun şablonunu alt temada özelleştirdik.
Bayraklar hızlı bir görsel ipucudur, ancak dilleri değil ülkeleri temsil eder. Örneğin Almanca birkaç ülkede konuşulur.
Bu yüzden bayrağın yanında dil adını her zaman metin olarak da gösteriyoruz. Bu, aksi halde işe yarar hiçbir şey duymayacak ekran okuyucu kullanıcılarına da yardımcı olur.
Seçici, ziyaretçiyi ana sayfaya geri göndermek yerine, varsa aynı sayfanın diğer dildeki sürümüne götürmelidir. URL anahtarları mağaza görünümü bazında ayarlandığında Magento bunu kendisi halleder.
Ödeme sayfası ve e-postalar ayrıca kontrol edilmeli
Çevrilmemiş metin en çok ödeme sayfasında zarar verir. Magewire üzerine kurulu Hyvä Checkout'ta etiketler PHP şablonlarından ve mağazanın geri kalanıyla aynı çeviri dosyalarından gelir.
Ödeme ve kargo modülleri çoğu zaman kendi ifadeleriyle gelir; bu yüzden sunduğunuz her yöntemi her dilde kontrol edin.
İşlem e-postaları da mağaza görünümü bazında yapılandırılır. Her mağaza görünümünün doğru e-posta şablonlarını ve gönderici bilgilerini kullandığından emin olun.
Sadece çeviri değil, her dil için ayrı içerik
Çeviri dosyaları arayüzü kapsar. Ürün verileri, kategori metinleri, CMS sayfaları ve bannerlar ise içeriktir ve kendi planlarını gerektirir.
Her dili kimin yazıp kontrol edeceğine ve hangi içeriğin mağaza görünümleri arasında paylaşılacağına erkenden karar verin. Ana sayfa bannerları çoğu zaman her pazar için yalnızca farklı metin değil, farklı görsel de gerektirir.
Karşılaştığımız tuzaklar
- Mağaza görünümüne özel çeviriler. Bir yerde çevrilmiş bir ifade, başka bir bağlamda çevrilmemiş görünebilir. Yalnızca CSV'ye güvenmek yerine her mağaza görünümünde gerçek sayfaları test ediyoruz.
- Yanlış dilde önbelleğe alınmış sayfalar. Tam sayfa önbelleği ve CDN kuralları mağaza görünümlerini birbirinden ayrı tutmalıdır. Ayrıntılar için: Hyvä mağazasında Cloudflare ile tam sayfa önbellekleme.
- Statik dağıtımda eksik yerel ayarlar. Dağıtım script'inde unutulan tek bir yerel ayar, bir dili bozmaya yeter.
- Yalnızca varsayılan kapsamda girilen içerik. Bir CMS bloğu yalnızca tek bir mağaza görünümünde varsa, diğer dilde boş bir alan görünür.
Kısa yayına alma kontrol listesi
- Her dil için doğru yerel ayara sahip bir mağaza görünümü.
- URL yapısına karar verildi ve hreflang planlandı.
- Her yerel ayar için tema CSV dosyaları eksiksiz.
- Alpine.js bileşenlerinde sabit yazılmış metin yok.
- Statik içerik her yerel ayar için dağıtıldı.
- Seçici dil adlarını gösteriyor ve mevcut sayfada kalıyor.
- Ödeme sayfası, hesap sayfaları ve e-postalar her dilde test edildi.
SSS
Hyvä birden fazla dili destekliyor mu?
Evet. Hyvä, Magento’nun standart mağaza görünümlerini, yerel ayarlarını ve çeviri dosyalarını kullanır; bu nedenle çok dilli mağazalar her Magento 2 temasında olduğu gibi çalışır.
Luma çevirileri Hyvä'da yeniden kullanılır mı?
Modül ve dil paketi çevirileri geçerliliğini korur. Luma tema şablonlarında veya Knockout dosyalarında bulunan metinlerin kontrol edilmesi gerekir, çünkü Hyvä bu şablonların yerine geçer.
Dil seçicide bayrak kullanmalı mıyım?
Bayraklar görsel ipucu olarak uygundur, ancak dil adını her zaman metin olarak da gösterin. Bayraklar ülkeleri temsil eder ve birçok dil birden fazla ülkede konuşulur.
Çok dilli bir Hyvä mağazası mı planlıyorsunuz ya da mevcut mağazanızı Luma'dan mı taşıyorsunuz? Şuna göz atın: Hyvä tema geliştirme hizmetimiz veya bize ulaşın.


