Bir sitede çeşitli dil paketlerini oluşturmak için en iyi yöntemler?

4 Cevap php

Ben daha önce bir site için bir dil paketi yarattık, ama ne yapıyorum en iyi yöntemi ise emin değilim.

Temelde, tüm dize sabitleri tanımlayan değişkenler ile bir dosyadır. Bir dizi genellikle sitenin belirli bir öğelerine atıfta diziler genellikle bir set.

Sonra site kodu sadece bir bayrağı dayalı uygun dosya içerir ve daha sonra uygun bir dizi elemanı bulunuyor echo.

Bakım baş ağrısı ve performansını azaltmak için bunu yapmanın bazı yolları nelerdir?

4 Cevap

I Zend_Translate kullanmanızı öneririz. Bu biraz insanlar sadece daha rahat ve daha iyi tasarlanmış, burada sol diğer önerileri bir kombinasyonudur.

Sen (gettext, csv ve diğerlerinin çok sayıda destekler) sizin tercihinize bağlı adaptörler geçiş yapabilir, tanımlar veya global kapsamını kirletmeden küresellerle gerekmez ve iyi belgelenmiştir.

PHP ile olabilir iyi seçenek, GetText, ama değil tüm sunucu-inşa etmişlerdir, böylece sunucu yönetimi eğer bu bir gösteri tıpa olabilir.

Bunu yapmak için en yaygın yollarından bir çift vardır:

1) Kullan define('SOME_STRING', 'Some string'); - sadece her dil için bu define ile doldurulmuş farklı bir dosya var. Bu çok kolay ve her yerde "küresel" kullanmak zorunda değilsiniz.

2) bir işlevi dizeleri Wrap: translate('My String') - çevirmek için dizeleri listelerini oluşturmak için kodu ayrıştırmak, örneğin değişkenler, gibi özellikleri de ekleyebilirsiniz olarak bu daha esnek translate('I can count to [number]', 10); (tabii, normalde kısa bir işlev adını almak gibi "_")

Yardım çocuklar için teşekkürler, ben zend çerçevesi üzerine inşa beri zend çevirmek denersiniz. P: Ben daha önce nesne hakkında bilmiyordum neden emin değilim