2010-01-28 33 views
5

Bu güzel js gettext kütüphanesi ->http://code.google.com/p/gettext-js/ buldum ama nasıl uygulayacağımı anlamıyorum. Ben çevirileri düzenlemek için poedit kullanıyorum ve projeyi kontrol ettiğimde ve demo dosyasını çalıştırdığımda çalıştığını görebiliyorum, ancak metin üzerinde değişiklik yaptığımda .po dosyaları güncellenmiyor ve göremiyorum. yeni metin Herhangi bir fikri olan var mı? Teşekkürler!gettext kullanarak çevirme .js dosyaları

cevap

9

"Ben de gettext komuta python zorlamak zorunda kaldı": | Tercihler |

  1. Dosya Ayrıştırıcıları
  2. Düzenleme Python
  3. Edit "uzantıları listesi ..":
  4. *.py;*.js
  5. Edit "Ayrıştırıcı övmek:"
  6. xgettext --language=Python --force-po -o %o %C %K %F

Tamam. Orada leading me Kentor için

Teşekkür :)

0

Dizeleri bir .pot dosyasına ayıklamak için xgettext'u çağırmanız ve .po dosyalarını güncellemek için msgmerge'u çalıştırmanız gerekir. gettext manual tüm gory ayrıntılarına sahiptir.

+0

Ben sahip olduğum problemi anlayabildim. Mesele şu ki, dil üzerinde değişiklik yaparken Poedit ile tüm dosyaları yeniden taramak zorunda kaldım. Bu yüzden ilk önce bu proje için doğru yolları eklemeliydim ve daha sonra Python'un * .js dosyaları için ayrıştırıcısını kullanmak zorunda kaldım. Python'u gettext komutuna zorlamak zorunda kaldım. Aksi takdirde Poedit, .js dosyalarının anlaşılmadığını ve C/C++ 'yı bunları ayrıştırmaya çalışacağından şikayet eder. – Kentor

4

Bence xgettext'i --language = perl --force-po -o% o% C% K% F, daha iyi bir seçenek olacaktır (yerine piton daha perl kullanarak) , python tek bir alıntı (sonlandırılmamış dize hatası) içeren javascript yorum ile sorun neden olur.

+2

Çözümünüzü denedim ve uyarılar gösterilmedi. Ancak js dosyalarında bazı çeviriler bulunamadı (Python sürümü için bulundu). Bu yüzden Python versiyonunu tercih ediyorum, hatta uyarılar ... :( – Andron

0

Başlangıçta her iki yapılandırmada da Python & Perl ile çalıştım, ancak bazı karmaşık altçizgi şablonları, iç içe aktarılan tırnaklar ve çift tırnak işaretleri, çıkış karakterleri vb. Ile birlikte her iki ayrıştırıcıda hatalı eski dizeler yüklendim. Bu nedenle .pot veya .po dosyalarını güncelleştiremiyorum kaynak koddan düzgün şekilde.

Ben de deneme & hatanın bir sürü sonra başarı http://code.google.com/p/gettext-js/

olmadan test Ben ayrıştırılmasını zincirleme kullanabilirsiniz keşfetti ve onu poEdit 1.5.7 iyi çalıştı. Bunlar, Mac sürümünün Kütüphane/Tercihler/net.poedit.Poedit.cfg dosyasından ayıklanan en iyi eşleşen

iletişim kutusunda kopyalanması ve yapıştırılması için aynı anda etkinleştirilmesi gereken yapılandırma parametreleridir.
[Parsers/js] 
Extensions=*.js;*.html 
Command=xgettext --language=Python --force-po -o %o %C %K %F 
KeywordItem=-k%k 
FileItem=%f 
CharsetItem=--from-code=%c 

[Parsers/PHP] 
Extensions=*.php;*.js;*.html 
Command=xgettext --language=PHP --force-po -o %o %C %K %F 
KeywordItem=-k%k 
FileItem=%f 
CharsetItem=--from-code=%c 

Uzantılarınıza * .html eklemeniz gerekmeyebileceğine dikkat edin, altçizgi şablonlarını ayrıştırmak için yaptım. Umarım benim için gerçekten sinir bozucu olduğunu neden yardımcı olur :)