mirror of
https://github.com/libretro/scummvm.git
synced 2024-11-30 21:00:39 +00:00
b70011853a
When a message is change, this includes the previous version of the message in the po files. This is used by Weblate to show a diff, which helps the translators see what has change and update their translations, When weblate updates the po file itself, it already uses this option. So this brings the `make po/*.po` command, that we can use to update the files manually, inline with what Weblate does.
49 lines
1.7 KiB
Makefile
49 lines
1.7 KiB
Makefile
POTFILE := $(srcdir)/po/scummvm.pot
|
|
POFILES := $(wildcard $(srcdir)/po/*.po)
|
|
|
|
ENGINE_INPUT_POTFILES := $(sort $(wildcard $(srcdir)/engines/*/POTFILES))
|
|
updatepot:
|
|
cat $(srcdir)/po/POTFILES $(ENGINE_INPUT_POTFILES) | \
|
|
xgettext -f - -D $(srcdir) -d scummvm --c++ -k_ -k_s -k_c:1,2c -k_sc:1,2c --add-comments=I18N\
|
|
-kDECLARE_TRANSLATION_ADDITIONAL_CONTEXT:1,2c -o $(POTFILE) \
|
|
--copyright-holder="ScummVM Team" --package-name=ScummVM \
|
|
--package-version=$(VERSION) --msgid-bugs-address=scummvm-devel@lists.scummvm.org -o $(POTFILE)_
|
|
|
|
sed -e 's/SOME DESCRIPTIVE TITLE/LANGUAGE translation for ScummVM/' \
|
|
-e 's/UTF-8/CHARSET/' -e 's/PACKAGE/ScummVM/' $(POTFILE)_ > $(POTFILE).new
|
|
|
|
rm $(POTFILE)_
|
|
if test -f $(POTFILE); then \
|
|
sed -f $(srcdir)/po/remove-potcdate.sed < $(POTFILE) > $(POTFILE).1 && \
|
|
sed -f $(srcdir)/po/remove-potcdate.sed < $(POTFILE).new > $(POTFILE).2 && \
|
|
if cmp $(POTFILE).1 $(POTFILE).2 >/dev/null 2>&1; then \
|
|
rm -f $(POTFILE).new; \
|
|
else \
|
|
rm -f $(POTFILE) && \
|
|
mv -f $(POTFILE).new $(POTFILE); \
|
|
fi; \
|
|
rm -f $(POTFILE).1 $(POTFILE).2; \
|
|
else \
|
|
mv -f $(POTFILE).new $(POTFILE); \
|
|
fi;
|
|
|
|
%.po: $(POTFILE)
|
|
msgmerge $@ $(POTFILE) --previous -o $@.new
|
|
if cmp $@ $@.new >/dev/null 2>&1; then \
|
|
rm -f $@.new; \
|
|
else \
|
|
mv -f $@.new $@; \
|
|
fi;
|
|
|
|
translations-dat: devtools/create_translations
|
|
devtools/create_translations/create_translations translations.dat $(POFILES)
|
|
mv translations.dat $(srcdir)/gui/themes/
|
|
|
|
update-translations: updatepot $(POFILES) translations-dat
|
|
|
|
update-translations: updatepot $(POFILES)
|
|
@$(foreach file, $(POFILES), echo -n $(notdir $(basename $(file)))": ";msgfmt --statistic $(file);)
|
|
@rm -f messages.mo
|
|
|
|
.PHONY: updatepot translations-dat update-translations
|