Ben yerelleştirme yapmak için PHP'nin gettext işlevlerini kullanıyorum. Ben gerçek çeviri yapmak için poEdit kullanarak ve "kaynaklardan Güncelle" ile kulüpler tercüme gereken tüm dizeleri ayıklamak için gerçekten çok kolay özelliği - heredoc sözdizimi içindeki hariç.
PoEdit PHP kaynak dosyaları. Po dosyaları oluşturmak için xgettext programı kullanıyor. PHP kodu bu gibi görünüyor ve ne zaman güzel çalışıyor:
echo "<h1>". _("test") ."</h1>";
Ancak aşağıdaki (a sözde t-object kullanılması gereken fark) ekstre almaz:
echo <<<EOD
<h1>{$->_('test')}
EOD;
PHP kodu aşağıdaki şekilde sorunu geçici çözüm olabilir:
<?php
$t = _('test');
echo <<<EOD
<h1>$t</h1>
EOD
?>
Ama gerçekten xgettext programı yorumlu metin bloğu içindeki dize ayıklamak tercih ederim.
A workaround for that has been suggested PHP dokümantasyon görüşleri. Geçici çözüm Python kodu olarak PHP kaynak dosyaları tedavi xgettext programı anlatmak tedavi etmektir. Ama poEdit bu yaklaşımı kullanarak xgettext çözümleyici bana sözdizimi hataları bir sürü verir.
Herkes PHP heredoc sözdizimi çeviriler ayıklamak için xgettext almak için bir çözüm biliyor mu?
http://savannah.gnu.org/bugs/?27740 Bu heredoc sözdizimi için destek geliştirilebilir olduğunu gösterir: A biraz ilgili bilet gettext projenin bilet sistemine açılmıştır?