mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 05:35:25 +00:00
meson: po: introduce libvirt translation
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> Reviewed-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Neal Gompa <ngompa13@gmail.com>
This commit is contained in:
parent
f31209fc6c
commit
50a7a11b7b
@ -20,8 +20,7 @@
|
||||
# so force it explicitly
|
||||
DISTCHECK_CONFIGURE_FLAGS = --enable-werror
|
||||
|
||||
SUBDIRS = . docs \
|
||||
po
|
||||
SUBDIRS = . docs
|
||||
|
||||
XZ_OPT ?= -v -T0
|
||||
export XZ_OPT
|
||||
|
@ -113,6 +113,5 @@ AC_CONFIG_FILES([\
|
||||
libvirt-qemu.pc \
|
||||
libvirt-lxc.pc \
|
||||
libvirt-admin.pc \
|
||||
libvirt.spec mingw-libvirt.spec \
|
||||
po/Makefile])
|
||||
libvirt.spec mingw-libvirt.spec])
|
||||
AC_OUTPUT
|
||||
|
@ -2229,6 +2229,8 @@ subdir('tests')
|
||||
|
||||
subdir('examples')
|
||||
|
||||
subdir('po')
|
||||
|
||||
|
||||
# generate meson-config.h file
|
||||
configure_file(output: 'meson-config.h', configuration: conf)
|
||||
|
@ -1,87 +0,0 @@
|
||||
DOMAIN = $(PACKAGE_NAME)
|
||||
COPYRIGHT_HOLDER = The Libvirt authors
|
||||
MSGID_BUGS_ADDRESS = https://libvirt.org/bugs.html
|
||||
|
||||
LANGS := $(shell cat $(srcdir)/LINGUAS)
|
||||
|
||||
POTFILES_IN = $(srcdir)/POTFILES.in
|
||||
POTFILES: $(POTFILES_IN)
|
||||
$(AM_V_GEN) cat $(POTFILES_IN) | \
|
||||
$(SED) 's|[@]SRCDIR[@]||' | \
|
||||
$(SED) 's|[@]BUILDDIR[@]||' > $@
|
||||
POTFILE_DEPS = $(shell cat POTFILES)
|
||||
POTFILE := $(DOMAIN).pot
|
||||
POFILES := $(LANGS:%=%.po)
|
||||
GMOFILES := $(LANGS:%=%.gmo)
|
||||
|
||||
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)" \
|
||||
--directory="$(top_srcdir)" \
|
||||
--directory="$(top_builddir)" \
|
||||
--sort-output \
|
||||
$(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-gmo: $(GMOFILES)
|
||||
|
||||
# The results of this target should not be committed to Git. The Weblate
|
||||
# service is responsible for updating .po files when the .pot is changed.
|
||||
update-po: $(POTFILE)
|
||||
cd $(srcdir) && \
|
||||
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) > $$lang.po-t && \
|
||||
mv $$lang.po-t $$lang.po ; \
|
||||
done
|
||||
|
||||
$(POTFILE): POTFILES
|
||||
$(XGETTEXT) -o $@-t $(XGETTEXT_ARGS) \
|
||||
--files-from=$(abs_builddir)/POTFILES
|
||||
$(SED) $(SED_PO_FIXUP_ARGS) < $@-t > $(srcdir)/$@
|
||||
rm -f $@-t
|
||||
|
||||
%.gmo: %.po
|
||||
rm -f $@ $@-t
|
||||
$(MSGFMT) -c -o $@-t $<
|
||||
mv $@-t $@
|
||||
|
||||
.PHONY: $(POTFILE)
|
||||
|
||||
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
|
35
po/meson.build
Normal file
35
po/meson.build
Normal file
@ -0,0 +1,35 @@
|
||||
i18n = import('i18n')
|
||||
|
||||
potfiles_conf = configuration_data()
|
||||
potfiles_conf.set('SRCDIR', '')
|
||||
potfiles_conf.set('BUILDDIR', '')
|
||||
|
||||
potfiles = configure_file(
|
||||
input: 'POTFILES.in',
|
||||
output: 'POTFILES',
|
||||
configuration: potfiles_conf,
|
||||
)
|
||||
|
||||
i18n.gettext(
|
||||
meson.project_name(),
|
||||
args: [
|
||||
'--add-comments=TRANSLATORS:',
|
||||
'--directory=@0@'.format(meson.source_root()),
|
||||
'--directory=@0@'.format(meson.build_root()),
|
||||
'--files-from=@0@'.format(meson.current_build_dir() / 'POTFILES'),
|
||||
'--msgid-bugs-address=https://libvirt.org/bugs.html',
|
||||
'--package-version=@0@'.format(meson.project_version()),
|
||||
'--sort-output',
|
||||
],
|
||||
preset: 'glib',
|
||||
)
|
||||
|
||||
potfiles_dep = [
|
||||
access_gen_sources,
|
||||
admin_client_generated,
|
||||
admin_driver_generated,
|
||||
remote_driver_generated,
|
||||
remote_daemon_generated,
|
||||
]
|
||||
|
||||
alias_target('libvirt-pot-dep', potfiles_dep)
|
Loading…
Reference in New Issue
Block a user