mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-08-28 11:31:16 +00:00
There was no need to handle files for translation from build directory but that will change with following patches where we will stop generating source files into source directory. In order to have them included for translation we have to prefix each file with SRCDIR or BUILDDIR. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
123 lines
3.1 KiB
Makefile
123 lines
3.1 KiB
Makefile
DOMAIN = $(PACKAGE_NAME)
|
|
COPYRIGHT_HOLDER = The Libvirt authors
|
|
MSGID_BUGS_ADDRESS = https://libvirt.org/bugs.html
|
|
|
|
LANGS := \
|
|
af am anp ar as ast bal be bg bn_IN \
|
|
bn bo br brx bs ca cs cy da de_CH \
|
|
de el en_GB eo es et eu fa fil fi \
|
|
fr fur ga gl gu he hi hr hu ia \
|
|
id ilo is it ja ka kk km kn ko \
|
|
kw_GB kw@kkcor kw kw@uccor ky lt lv mai mk ml \
|
|
mn mr ms my nb nds ne nl nn nso \
|
|
or pa pl pt_BR pt ro ru si sk sl \
|
|
sq sr@latin sr sv ta te tg th tr tw \
|
|
uk ur vi wba yo zh_CN zh_HK zh_TW zu
|
|
|
|
|
|
POTFILES_IN = $(srcdir)/POTFILES.in
|
|
POTFILES: $(POTFILES_IN)
|
|
$(AM_V_GEN) cat $(POTFILES_IN) | \
|
|
$(SED) 's|[@]SRCDIR[@]|$(top_srcdir)|' | \
|
|
$(SED) 's|[@]BUILDDIR[@]|$(top_builddir)|' > $@
|
|
POTFILE_DEPS = $(shell cat POTFILES)
|
|
POTFILE := $(DOMAIN).pot
|
|
POMINIFILES := $(LANGS:%=%.mini.po)
|
|
POFILES := $(LANGS:%=%.po)
|
|
GMOFILES := $(LANGS:%=%.gmo)
|
|
|
|
CLEANFILES = $(POTFILE) $(POFILES) $(GMOFILES) POTFILES
|
|
|
|
EXTRA_DIST = \
|
|
$(POTFILES_IN) \
|
|
$(POMINIFILES)
|
|
|
|
if HAVE_GNU_GETTEXT_TOOLS
|
|
|
|
XGETTEXT_ARGS = \
|
|
--default-domain=$(DOMAIN) \
|
|
--from-code=utf-8 \
|
|
--add-comments=TRANSLATORS: \
|
|
--keyword=_ --keyword=N_ \
|
|
--copyright-holder='$(COPYRIGHT_HOLDER)' \
|
|
--package-name="$(PACKAGE_NAME)" \
|
|
--package-version="$(PACKAGE_VERSION)" \
|
|
--msgid-bugs-address="$(MSGID_BUGS_ADDRESS)" \
|
|
$(NULL)
|
|
|
|
SED_PO_FIXUP_ARGS = \
|
|
-e "s|text/plain; charset=CHARSET|text/plain; charset=UTF-8|g" \
|
|
-e "s|SOME DESCRIPTIVE TITLE|Libvirt package strings|g" \
|
|
-e "s|Copyright (C) YEAR|Copyright (C) $$(date +'%Y')|" \
|
|
$(NULL)
|
|
|
|
update-po: $(POFILES)
|
|
|
|
update-gmo: $(GMOFILES)
|
|
|
|
update-mini-po: $(POTFILE)
|
|
for lang in $(LANGS); do \
|
|
echo "Minimizing $$lang content" && \
|
|
$(MSGMERGE) --no-location --no-fuzzy-matching --sort-output \
|
|
$$lang.po $(POTFILE) | \
|
|
$(SED) $(SED_PO_FIXUP_ARGS) | \
|
|
$(RUNUTF8) $(PYTHON) $(top_srcdir)/scripts/minimize-po.py > \
|
|
$(srcdir)/$$lang.mini.po ; \
|
|
done
|
|
|
|
push-pot: $(POTFILE)
|
|
zanata push \
|
|
--project-config $(srcdir)/zanata.xml \
|
|
--push-type=source \
|
|
--transdir $(builddir) \
|
|
--srcdir $(srcdir)
|
|
|
|
pull-po: $(POTFILE)
|
|
zanata pull \
|
|
--project-config $(srcdir)/zanata.xml \
|
|
--create-skeletons \
|
|
--transdir $(builddir) \
|
|
--srcdir $(srcdir)
|
|
$(MAKE) update-mini-po
|
|
$(MAKE) update-gmo
|
|
|
|
$(POTFILE): POTFILES $(POTFILE_DEPS)
|
|
$(XGETTEXT) -o $@-t $(XGETTEXT_ARGS) \
|
|
--files-from=$(abs_builddir)/POTFILES
|
|
$(SED) $(SED_PO_FIXUP_ARGS) < $@-t > $@
|
|
rm -f $@-t
|
|
|
|
%.po: %.mini.po $(POTFILE)
|
|
$(MSGMERGE) --no-fuzzy-matching $< $(POTFILE) | \
|
|
$(SED) $(SED_PO_FIXUP_ARGS) > $@
|
|
|
|
%.gmo: %.po
|
|
rm -f $@ $@-t
|
|
$(MSGFMT) -c -o $@-t $<
|
|
mv $@-t $@
|
|
|
|
.PRECIOUS: $(POTFILE) $(POFILES)
|
|
|
|
endif HAVE_GNU_GETTEXT_TOOLS
|
|
|
|
if ENABLE_NLS
|
|
|
|
# Cannot use 'localedir' since this conflicts with autoconf.
|
|
langinstdir = $(datadir)/locale
|
|
|
|
install-data-hook: $(GMOFILES)
|
|
mkdir -p $(DESTDIR)$(langinstdir)
|
|
for lang in $(LANGS); do \
|
|
d=$(DESTDIR)$(langinstdir)/$$lang/LC_MESSAGES; \
|
|
mkdir -p $$d; \
|
|
install -m 0644 $$lang.gmo $$d/$(DOMAIN).mo; \
|
|
done
|
|
|
|
uninstall-hook:
|
|
for lang in $(LANGS); do \
|
|
d=$(DESTDIR)$(langinstdir)/$$lang/LC_MESSAGES; \
|
|
rm -f $$d/$(DOMAIN).mo; \
|
|
done
|
|
|
|
endif ENABLE_NLS
|