Bir projeyi autotools'tan cmake'ye geçiriyorum. Gettext desteği hakkında bir sorum var..pot dosyalarını güncellemek için bir cmake işlevi var mı?
güzel fonksiyonunu sağlayan mevcut bir FindGettext.cmake modülleri bulunmaktadır:
Bir tencerede dosyası ve tercüme po fil sağlamakGETTEXT_CREATE_TRANSLATIONS(foo.pot ALL fr.po de.po)
; işlev po dosyaları gmo dosyalarına dönüştürmeyi ve dosyaların çalışma zamanında bulunabildiğinden emin olmak için uygun yükleme hedeflerini eklemeyi sağlar. Hepsi iyi ve iyi.
Şimdi soru geliyor: Yeni dosya eklediğinizde pot dosyalarınızı ve dosyalarınızı nasıl güncellersiniz?
Bunun için, autotools bir "update-po" hedefi oluşturur, (anladığım kadarıyla), çevrilmiş dizeleri içeren tüm dosyaların listelerini içeren bir POTFILES.in okur, diğer bilgilerle karıştırır ve biter. po oluşturmak için xgetext çağırıyor. Ben tekerleği yeniden icat önce, aynı şeyi yapmak için mevcut bir cmake işlevi yoktur, Yani
case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
$(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
--add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
--files-from=$(srcdir)/POTFILES.in \
--copyright-holder='$(COPYRIGHT_HOLDER)' \
--msgid-bugs-address="$$msgid_bugs_address" \
;; \
*) \
$(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
--add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
--files-from=$(srcdir)/POTFILES.in \
--copyright-holder='$(COPYRIGHT_HOLDER)' \
--package-name="$${package_gnu}ube" \
--package-version='0.4.0-dev' \
--msgid-bugs-address="$$msgid_bugs_address" \
;; \
esac
: Ben coresponding Makefile görev gibi bir şey içeren bir olduğunu düşünüyorum? Veya xgettext yürütülebilir dosyasını bulmalıyım, dosyaları listeler ve bunu elle yapar mıyım? Makefile versiyonu oldukça karmaşık görünüyor (her ne kadar çok sayıda dava ele alsa da); Autotool kabartmak sizi korkutmak izin vermeyin)
Teşekkür
PH
Lütfen göndermeden önce cevaplamak istediğiniz mesajların yayınlanma tarihlerini kontrol edin. –
Ancak sorunun 7 yaşında olduğu sorun nedir? İnsanlar bu soruyu (beni de dahil olmak üzere) arıyorlar. Ve burada böyle bir bilgi yoktu. Bu soruyu keşfettikten sonra, gelecekteki araştırmacılar için sonuçlarınızı burada sağladım. – Ashark