2010-10-29 40 views
13

Aşağıdaki durum var: iki ayrı internet sitesi yöneticileri için bir, müşteriler için birine sahiptir ı çevirmek istediğiniznasıl 2 .POT dosyaları (çeviri dosyaları) birleştirebilirsiniz

Bir ürünü.
Kod tabanı, CakePHP'dir.
Her iki site birbirinden tamamen ayrı, onlar CakePHP siteleri tamamlandı.
Ve her ikisi de ortak bir çok dizeye sahip.

CakePHP ile her site için .pot dosyaları oluşturuyorum, ancak her iki .pot dosyasında benzersiz dizeleriyle çevirmenler ONE dosyasını vermeyi çok isterim.

Her iki site için de dizelerle bir .po dosyası geri verdiler ve aynı dosyayı her iki siteye de kopyalayacağım, bu yüzden kodun ekstra dizeleriyle .po dosyalarına sahip olacağım kullanın, ama bu bir sorun olmamalı.

Yani asıl soru şu ki ... İki adet .pot dosyasını nasıl birleştirebilirim?

  • Yinelenen dizeleri olmayan yeni bir dosya almam gerekiyor.
  • İdeal olarak, CakePHP'nin eklediği, dizenin nerede bulunduğunu belirttiği her dizeden önceki yorumları (ve yinelenen dizeler için) ekler, ancak bu yapılmazsa, sorun değil, onsuz yaşayabilirim. (bir açıklama için .pot dosyasının bir alıntı için aşağıya bakın)

Bunu yapmama izin verecek araçlar biliyor musunuz? Kendi yazmamdan gerçekten hoşlanmayı isterdim.


Bunlar yukarıda bahsettiğim yorumlar şöyle:

#: \controllers\accounts_controller.php:118 
#: \controllers\customer_documents_controller.php:75 
msgid "Parent Customer not specified" 
msgstr "" 

cevap

26

Ok, bu nedenle bunu yapmak için aracı Windows üzerinde iseniz, yüklemek msgcat

msgcat *.pot > all.pot 

olduğunu cygwin ve gettext-devel paketinin olduğundan emin olun, çünkü msgcat düzenli olarak gettext package'da değil.

+1

teşekkür ederiz! ___________________________ –

+0

@ J. Pablo Fernández: Birleştirme komutunu gönderebilir misiniz? – 1355

+4

POT dosyalarında (PO dosyalarının aksine) gereksiz yere çoğaltılan şeylerle sonuçlanmamak için “--use-first” kullanmayı da öneririm. – Gallaecio

-3

komut şöyledir:

msgcat inputfile1 inputfile2 ... > outpo 
+2

Neden düşüş var? J. Pablo'nun cevabı daha iyidir, fakat bu teknik olarak yanlış ya da yanıltıcı değildir – gregmac

+5

Bu cevap, varolan cevaba ek olarak hiçbir şey içermediğinden ve bu daha iyi bir cevaptan yaklaşık iki yıl sonra eklendiğinden dolayı tahminin yapıldığını tahmin ediyorum. –