mirror of
https://github.com/git/git
synced 2024-11-04 16:17:49 +00:00
Makefile: add "po-init" rule to initialize po/XX.po
The core translation is the minimum set of work that must be done for a new language translation. There are over 5000 messages in the template message file "po/git.pot" that need to be translated. It is not a piece of cake for such a huge workload. So we used to define a small set of messages called "core translation" that a new l10n contributor must complete before sending pull request to the l10n coordinator. By pulling in some parts of the git-po-helper[^1] logic, we add a new rule to create this core translation message "po/git-core.pot": make po/git-core.pot To help new l10n contributors to initialized their "po/XX.pot" from "po/git-core.pot", we also add new rules "po-init": make po-init PO_FILE=po/XX.po [^1]: https://github.com/git-l10n/git-po-helper/ Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
fbb3d32393
commit
b9832f7e3b
3 changed files with 41 additions and 1 deletions
40
Makefile
40
Makefile
|
@ -2806,6 +2806,7 @@ po-update: po/git.pot
|
|||
$(check_po_file_envvar)
|
||||
@if test ! -e $(PO_FILE); then \
|
||||
echo >&2 "error: $(PO_FILE) does not exist"; \
|
||||
echo >&2 'To create an initial po file, use: "make po-init PO_FILE=po/XX.po"'; \
|
||||
exit 1; \
|
||||
fi
|
||||
$(QUIET_MSGMERGE)$(MSGMERGE) $(MSGMERGE_FLAGS) $(PO_FILE) po/git.pot
|
||||
|
@ -2813,6 +2814,43 @@ po-update: po/git.pot
|
|||
.PHONY: check-pot
|
||||
check-pot: $(LOCALIZED_ALL_GEN_PO)
|
||||
|
||||
### TODO FIXME: Translating everything in these files is a bad
|
||||
### heuristic for "core", as we'll translate obscure error() messages
|
||||
### along with commonly seen i18n messages. A better heuristic would
|
||||
### be to e.g. use spatch to first remove error/die/warning
|
||||
### etc. messages.
|
||||
LOCALIZED_C_CORE =
|
||||
LOCALIZED_C_CORE += builtin/checkout.c
|
||||
LOCALIZED_C_CORE += builtin/clone.c
|
||||
LOCALIZED_C_CORE += builtin/index-pack.c
|
||||
LOCALIZED_C_CORE += builtin/push.c
|
||||
LOCALIZED_C_CORE += builtin/reset.c
|
||||
LOCALIZED_C_CORE += remote.c
|
||||
LOCALIZED_C_CORE += wt-status.c
|
||||
|
||||
LOCALIZED_C_CORE_GEN_PO = $(LOCALIZED_C_CORE:%=.build/pot/po/%.po)
|
||||
|
||||
.build/pot/git-core.header: $(LOCALIZED_C_CORE_GEN_PO)
|
||||
$(call mkdir_p_parent_template)
|
||||
$(QUIET_GEN)$(gen_pot_header)
|
||||
|
||||
po/git-core.pot: .build/pot/git-core.header $(LOCALIZED_C_CORE_GEN_PO)
|
||||
$(QUIET_GEN)$(MSGCAT) $^ >$@
|
||||
|
||||
.PHONY: po-init
|
||||
po-init: po/git-core.pot
|
||||
$(check_po_file_envvar)
|
||||
@if test -e $(PO_FILE); then \
|
||||
echo >&2 "error: $(PO_FILE) exists already"; \
|
||||
exit 1; \
|
||||
fi
|
||||
$(QUIET_MSGINIT)msginit \
|
||||
--input=$< \
|
||||
--output=$(PO_FILE) \
|
||||
--no-translator \
|
||||
--locale=$(PO_FILE:po/%.po=%)
|
||||
|
||||
## po/*.po files & their rules
|
||||
ifdef NO_GETTEXT
|
||||
POFILES :=
|
||||
MOFILES :=
|
||||
|
@ -3348,7 +3386,7 @@ cocciclean:
|
|||
|
||||
clean: profile-clean coverage-clean cocciclean
|
||||
$(RM) -r .build
|
||||
$(RM) po/git.pot
|
||||
$(RM) po/git.pot po/git-core.pot
|
||||
$(RM) *.res
|
||||
$(RM) $(OBJECTS)
|
||||
$(RM) $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(REFTABLE_TEST_LIB)
|
||||
|
|
1
po/.gitignore
vendored
1
po/.gitignore
vendored
|
@ -1,2 +1,3 @@
|
|||
/build
|
||||
/git.pot
|
||||
/git-core.pot
|
||||
|
|
|
@ -62,6 +62,7 @@ ifndef V
|
|||
QUIET_BUILT_IN = @echo ' ' BUILTIN $@;
|
||||
QUIET_LNCP = @echo ' ' LN/CP $@;
|
||||
QUIET_XGETTEXT = @echo ' ' XGETTEXT $@;
|
||||
QUIET_MSGINIT = @echo ' ' MSGINIT $@;
|
||||
QUIET_MSGFMT = @echo ' ' MSGFMT $@;
|
||||
QUIET_MSGMERGE = @echo ' ' MSGMERGE $@;
|
||||
QUIET_GCOV = @echo ' ' GCOV $@;
|
||||
|
|
Loading…
Reference in a new issue