git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH 0/9] Incremental po/git.pot update and new l10n workflow
@ 2022-05-03 13:23 Jiang Xin
  2022-05-03 13:23 ` [PATCH 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
                   ` (21 more replies)
  0 siblings, 22 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-03 13:23 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

Ævar and I started discussing this topic (incremental po/git.pot update
and new l10n workflow) on a GitHub issue[^1] a month ago. There are
several improvements to the l10n workflow:

* Variable "LOCALIZED_C" is not stable, that cause the "po/git.pot" file
  generated by different user may have different number of entries.
  This issues is fixed in patch 2/9.

* Generate "po/git.pot" in an incremental way, so we do not need to munge
  source files in-place, do not need a clean checkout, and do not need
  "reset --hard". See patch 3/9.

* Remove file "po/git.pot" from tree. It can be generated at runtime.
  See patch 5/9, 6/9.

* L10n contributors can update theire "po/XX.pot" using:
  "make po-update PO_FILE=po/XX.po". See patch 7/9.

* L10n contributors for new language can initialize "po/XX.pot" using:
  "make po-init PO_FILE=po/XX.po". See patch 8/9.

* L10n contributors can start translations at any time, even before the
  l10n announcing l10n window open. We must have a new l10n workflow,
  see patch 9/9.

@Ævar, range-diff between your worktree[^2] and this.

[^1]: https://github.com/git-l10n/git-po-helper/issues/12
[^2]: https://github.com/avar/git/commits/avar/Makefile-incremental-po-git-pot-rule

## range-diff avar/Makefile-incremental-po-git-pot-rule...HEAD

 1:  6f3483eb63 <  -:  ---------- po/git: regenerate with "make pot"
 -:  ---------- >  1:  88470f57b8 Makefile: sort "po/git.pot" by file location
 -:  ---------- >  2:  1f6ef16028 Makefile: generate "po/git.pot" from stable LOCALIZED_C
 2:  6cf9c1f702 !  3:  a991919bfb Makefile: have "make pot" not "reset --hard"
    @@ Metadata
      ## Commit message ##
         Makefile: have "make pot" not "reset --hard"
     
    -    Change "make pot" to work on copies of the working tree files in a new
    -    ".build/pot/" directory, instead of altering them in place and doing a
    -    "reset --hard" afterwards.
    -
    -    This both speeds up the "make pot" target on an initial run, and makes
    -    it *much* faster for incremental runs, and will allow us to implement
    -    related targets in subsequent commits.
    +    Before commit fc0fd5b23b (Makefile: help gettext tools to cope with our
    +    custom PRItime format, 2017-07-20) we'd consider source files as-is
    +    with gettext, but because we need to understand PRItime in the same way
    +    that gettext itself understands PRIuMAX we'd first check if we had a
    +    clean checkout, then munge all of the processed files in-place with
    +    "sed", generate "po/git.pot", and then finally "reset --hard" to undo
    +    our changes.
    +
    +    By generating "pot" snippets in ".build/pot/po" for each source file
    +    and rewriting certain source files with PRItime macros to temporary
    +    files in ".build/pot/po", we can avoid running "make pot" by altering
    +    files in place and doing a "reset --hard" afterwards.
    +
    +    This speed of "make pot" is slower than before on an initial run,
    +    because we run "xgettext" many times (once per source file), but it
    +    can be boosted by parallelization. It is *much* faster for incremental
    +    runs, and will allow us to implement related targets in subsequent
    +    commits.
     
         When the "pot" target was originally added in cd5513a7168 (i18n:
         Makefile: "pot" target to extract messages marked for translation,
    @@ Commit message
         target, 2014-08-22) when it was made to depend on "FORCE". I.e. the
         Makefile's dependency resolution inherently can't handle incremental
         building when the target file may be updated by git (or something else
    -    external to "make").
    -
    -    So we still need a FORCE on po/git.pot, but now we'll have that target
    -    copy ".build/pot/git.pot" to "po/git.pot", and the former doesn't need
    -    FORCE.
    -
    -    I think 1f31963e921 was confused in the rationale for adding "FORCE"
    -    though, it's needed for the reasons noted above, but it's got nothing
    -    to do with how we do C compilation or find headers, which it suggest
    -    is the case. It was also made as a preparatory change for
    -    d85b0dff729 (Makefile: use `find` to determine static header
    -    dependencies, 2014-08-25).
    -
    -    Unlike the compiler, when we generate the "pot "file we won't recurse
    -    from one header file to another, we only consider the specific targets
    -    we're given, so if we miss a bar.h included via foo.h $(LOCALIZED_C)
    -    the FORCE won't help us.
    +    external to "make"). But this case no longer applies, so FORCE is no
    +    longer needed.
     
         That out of the way, the main logic change here is getting rid of the
         "reset --hard":
     
    -    Before fc0fd5b23bc we'd consider source files as-is with gettext, but
    -    because we need to understand PRItime in the same way that gettext
    -    itself understands PRIuMAX we'd first check if we had a clean
    -    checkout, then munge all of the processed files in-place with "sed",
    -    generate "po/git.pot, and then finally "reset --hard" to undo our
    -    changes.
    -
    -    We didn't need to do this for the *.perl and *.sh files, so let's
    -    skip that and only do it for the *.[ch] files.
    -
    -    Let's then create these munged *.[ch] files in a tree in .build/pot/"
    -    corresponding to our source tree, and have "xgettext" consider
    -    those. The rule needs to be careful to "(cd .build/pot && ...)",
    -    because otherwise the comments in the po/git.pot file wouldn't refer
    -    to the correct source locations (they'd be prefixed with
    -    ".build/git/").
    -
    -    We'll then generate intermediate .build/pot/po/% files from %, which
    -    is handy to see at a glance what strings (if any) in a given file are
    +    We'll generate intermediate .build/pot/po/%.po files from %, which is
    +    handy to see at a glance what strings (if any) in a given file are
         marked for translation:
     
    -            $ make .build/pot/po/pretty.c
    +            $ make .build/pot/po/pretty.c.po
                 [...]
    -            $ cat .build/pot/po/pretty.c
    +            $ cat .build/pot/po/pretty.c.po
                 #: pretty.c:1051
                 msgid "unable to parse --pretty format"
                 msgstr ""
                 $
     
    +    For these C source files which contain the PRItime macros, we will
    +    create temporary munged *.c files in a tree in ".build/pot/po"
    +    corresponding to our source tree, and have "xgettext" consider those.
    +    The rule needs to be careful to "(cd .build/pot/po && ...)", because
    +    otherwise the comments in the po/git.pot file wouldn't refer to the
    +    correct source locations (they'd be prefixed with ".build/pot/po").
    +
         This changes the output of the generated po/git.pot file in one minor
         way: Because we're using msgcat(1) instead of xgettext(1) to
         concatenate the output we'll now disambiguate where "TRANSLATORS"
    @@ Commit message
         different. E.g. for the "Your edited hunk[...]" message we'll now
         apply this change (comment content elided):
     
    -            +#. #-#-#-#-#  add-patch.c  #-#-#-#-#
    +            +#. #-#-#-#-#  add-patch.c.po  #-#-#-#-#
                  #. TRANSLATORS: do not translate [y/n]
                 [...]
    -            +#. #-#-#-#-#  git-add--interactive.perl  #-#-#-#-#
    +            +#. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#
                  #. TRANSLATORS: do not translate [y/n]
                 [...]
                  #: add-patch.c:1253 git-add--interactive.perl:1244
    @@ Commit message
                  "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
                  msgstr ""
     
    -    There are three such changes, and they all make the context more
    +    There are six such changes, and they all make the context more
         understandable, as msgcat(1) is better at handling these edge cases
         than xgettext(1)'s previously used "--join-existing" flag.
     
    -    The removal of the "--msgid-bugs-address" here and the addition of
    -    "--omit-header" and ".build/pot/pot.header" is because we'll now
    -    always carry forward the existing po/git.pot header.
    +    While we could rename the "pot" snippets without the ".po" extention
    +    to use more intuitive filenames in the comments, but that will
    +    confuse the IDE with lots of invalid C or perl source files in
    +    ".build/pot/po" directory.
     
    -    We'd previously generate the header with xgettext(1), but now we'll be
    -    carrying forward whatever header we find in po/git.pot. Right now this
    -    doesn't matter, we'll even update the timestamp in the header as
    -    before when running "make pot".
    +    The addition of "--omit-header" option for xgettext makes the "pot"
    +    snippets in ".build/pot/po/*.po" smaller. For the pot header of
    +    "po/git.pot", we use xgettext to generate a "pot" header file
    +    ".build/pot/git.header" from an empty file at runtime, and use this
    +    header to assemble "po/git.pot".
     
    -    But as we'll see in a subsequent commit our previous header behavior
    -    has been hiding an encoding-related bug from us, so let's carry it
    -    forward instead of re-generating it with xgettext(1).
    +    But as we'll see in a subsequent commit this header behavior has been
    +    hiding an encoding-related bug from us, so let's carry it forward
    +    instead of re-generating it with xgettext(1).
     
         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
    +    Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
     
      ## .gitignore ##
     @@
    @@ .gitignore
      *.gcno
     
      ## Makefile ##
    -@@ Makefile: pdf:
    - XGETTEXT_FLAGS = \
    +@@ Makefile: INSTALL = install
    + TCL_PATH = tclsh
    + TCLTK_PATH = wish
    + XGETTEXT = xgettext
    ++MSGCAT = msgcat
    + MSGFMT = msgfmt
    + CURL_CONFIG = curl-config
    + GCOV = gcov
    +@@ Makefile: XGETTEXT_FLAGS = \
      	--force-po \
      	--add-comments=TRANSLATORS: \
    --	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
    --	--from-code=UTF-8
    -+	--from-code=UTF-8 \
    -+	--omit-header
    -+
    + 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
    ++	--package-name=Git \
    + 	--sort-by-file \
    + 	--from-code=UTF-8
      XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
    - 	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
    - XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
    +@@ Makefile: XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
    + 	--keyword=gettextln --keyword=eval_gettextln
    + XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
    + 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
    ++MSGCAT_FLAGS = --sort-by-file
    + LOCALIZED_C = $(FOUND_C_SOURCES) $(SCALAR_SOURCES) \
    + 	      $(FOUND_H_SOURCES) $(GENERATED_H)
    + LOCALIZED_SH = $(SCRIPT_SH)
     @@ Makefile: LOCALIZED_SH += t/t0200/test.sh
      LOCALIZED_PERL += t/t0200/test.perl
      endif
    @@ Makefile: LOCALIZED_SH += t/t0200/test.sh
     -## under a very controlled condition, i.e. (1) it is to be run in a
     -## Git repository (not a tarball extract), (2) any local modifications
     -## will be lost.
    -+## We generate intermediate .build/pot/po/% files containing a extract
    -+## of the translations we find in each file in the source tree. The
    -+## files have the same basename as the source due xgettext(1) not
    -+## having a way to override the basename inserted into comments.
    ++## We generate intermediate .build/pot/po/%.po files containing a
    ++## extract of the translations we find in each file in the source
    ++## tree. We will assemble them using msgcat to create the final
    ++## "po/git.pot" file.
     +LOCALIZED_ALL_GEN_PO =
     +
    -+LOCALIZED_C_GEN_PO = $(LOCALIZED_C:%=.build/pot/po/%)
    ++LOCALIZED_C_GEN_PO = $(LOCALIZED_C:%=.build/pot/po/%.po)
     +LOCALIZED_ALL_GEN_PO += $(LOCALIZED_C_GEN_PO)
     +
    -+LOCALIZED_SH_GEN_PO = $(LOCALIZED_SH:%=.build/pot/po/%)
    ++LOCALIZED_SH_GEN_PO = $(LOCALIZED_SH:%=.build/pot/po/%.po)
     +LOCALIZED_ALL_GEN_PO += $(LOCALIZED_SH_GEN_PO)
     +
    -+LOCALIZED_PERL_GEN_PO = $(LOCALIZED_PERL:%=.build/pot/po/%)
    ++LOCALIZED_PERL_GEN_PO = $(LOCALIZED_PERL:%=.build/pot/po/%.po)
     +LOCALIZED_ALL_GEN_PO += $(LOCALIZED_PERL_GEN_PO)
     +
      ## Gettext tools cannot work with our own custom PRItime type, so
      ## we replace PRItime with PRIuMAX.  We need to update this to
      ## PRIdMAX if we switch to a signed type later.
    -+LOCALIZED_C_GEN	= $(LOCALIZED_C:%=.build/pot/in/%)
    -+$(LOCALIZED_C_GEN): .build/pot/in/%: %
    ++$(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %
     +	$(call mkdir_p_parent_template)
    -+	$(QUIET_GEN)sed -e 's|PRItime|PRIuMAX|g' <$< >$@
    -+
    -+$(LOCALIZED_C_GEN_PO): .build/pot/po/%: .build/pot/in/%
    -+	$(call mkdir_p_parent_template)
    -+	$(QUIET_XGETTEXT)(\
    -+		cd .build/pot/in && \
    -+		$(XGETTEXT) -o $(@:.build/pot/po/%=../po/%) \
    -+			$(XGETTEXT_FLAGS_C) \
    -+			$(<:.build/pot/in/%=%) \
    -+	)
    ++	$(QUIET_XGETTEXT) \
    ++	    if grep -q PRItime $<; then \
    ++		(\
    ++			sed -e 's|PRItime|PRIuMAX|g' <$< \
    ++				>.build/pot/po/$< && \
    ++			cd .build/pot/po && \
    ++			$(XGETTEXT) --omit-header \
    ++				-o $(@:.build/pot/po/%=%) \
    ++				$(XGETTEXT_FLAGS_C) $< && \
    ++			rm $<; \
    ++		); \
    ++	    else \
    ++		$(XGETTEXT) --omit-header \
    ++			-o $@ $(XGETTEXT_FLAGS_C) $<; \
    ++	    fi
      
     -po/git.pot: $(GENERATED_H) FORCE
     -	# All modifications will be reverted at the end, so we do not
     -	# want to have any local change.
     -	git diff --quiet HEAD && git diff --quiet --cached
    -+$(LOCALIZED_SH_GEN_PO): .build/pot/po/%: %
    ++$(LOCALIZED_SH_GEN_PO): .build/pot/po/%.po: %
     +	$(call mkdir_p_parent_template)
    -+	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@ $(XGETTEXT_FLAGS_SH) $<
    ++	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
    ++		-o$@ $(XGETTEXT_FLAGS_SH) $<
      
     -	@for s in $(LOCALIZED_C) $(LOCALIZED_SH) $(LOCALIZED_PERL); \
     -	do \
     -		sed -e 's|PRItime|PRIuMAX|g' <"$$s" >"$$s+" && \
     -		cat "$$s+" >"$$s" && rm "$$s+"; \
     -	done
    -+$(LOCALIZED_PERL_GEN_PO): .build/pot/po/%: %
    -+	$(call mkdir_p_parent_template)
    -+	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@ $(XGETTEXT_FLAGS_PERL) $<
    -+
    -+.build/pot/pot.header:
    ++$(LOCALIZED_PERL_GEN_PO): .build/pot/po/%.po: %
     +	$(call mkdir_p_parent_template)
    -+	$(QUIET_GEN)sed -n -e '/^$$/q' -e 'p' <po/git.pot >$@
    ++	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
    ++		-o$@ $(XGETTEXT_FLAGS_PERL) $<
      
     -	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ $(XGETTEXT_FLAGS_C) $(LOCALIZED_C)
     -	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_SH) \
     -		$(LOCALIZED_SH)
     -	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_PERL) \
     -		$(LOCALIZED_PERL)
    -+.build/pot/git.pot: .build/pot/pot.header $(LOCALIZED_ALL_GEN_PO)
    -+	$(QUIET_GEN)msgcat $^ >$@
    ++.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
    ++	$(call mkdir_p_parent_template)
    ++	$(QUIET_XGETTEXT)$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
    ++		-o - /dev/null | \
    ++	sed -e 's|charset=CHARSET|charset=UTF-8|g' >$@ && \
    ++	echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
      
     -	# Reverting the munged source, leaving only the updated $@
     -	git reset --hard
     -	mv $@+ $@
    -+po/git.pot: .build/pot/git.pot FORCE
    -+	$(QUIET_CP)cp $< $@
    ++po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
    ++	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
      
      .PHONY: pot
      pot: po/git.pot
    @@ Makefile: cocciclean:
      	$(RM) *.res
      	$(RM) $(OBJECTS)
      	$(RM) $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(REFTABLE_TEST_LIB)
    -
    - ## shared.mak ##
    -@@ shared.mak: ifndef V
    - 	QUIET_AR       = @echo '   ' AR $@;
    - 	QUIET_LINK     = @echo '   ' LINK $@;
    - 	QUIET_BUILT_IN = @echo '   ' BUILTIN $@;
    -+	QUIET_CP       = @echo '   ' CP $@;
    - 	QUIET_LNCP     = @echo '   ' LN/CP $@;
    - 	QUIET_XGETTEXT = @echo '   ' XGETTEXT $@;
    - 	QUIET_MSGFMT   = @echo '   ' MSGFMT $@;
 3:  91d55d2894 <  -:  ---------- po/git: regenerate with "make pot"
 4:  a7f8122d43 !  4:  a54e33dbff i18n CI: stop allowing non-ASCII source messages in po/git.pot
    @@ Commit message
            gettext, 2011-11-18)
     
         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
    +    Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
     
      ## Makefile ##
    -@@ Makefile: pdf:
    - XGETTEXT_FLAGS = \
    - 	--force-po \
    +@@ Makefile: XGETTEXT_FLAGS = \
      	--add-comments=TRANSLATORS: \
    --	--from-code=UTF-8 \
    - 	--omit-header
    - 
    + 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
    + 	--package-name=Git \
    +-	--sort-by-file \
    +-	--from-code=UTF-8
    ++	--sort-by-file
      XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
    -@@ Makefile: po/git.pot: .build/pot/git.pot FORCE
    + 	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
    + XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
    +@@ Makefile: po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
      .PHONY: pot
      pot: po/git.pot
      
     +.PHONY: check-pot
    -+check-pot: .build/pot/git.pot
    ++check-pot: pot
     +
      ifdef NO_GETTEXT
      POFILES :=
 5:  a42d04749f <  -:  ---------- po/git: regenerate with "make pot"
 6:  545d65554d !  5:  d9709a5b56 po/git.pot: don't check in result of "make pot"
    @@ Commit message
             $ git log -p --oneline -- po/git.pot|wc -l
             553743
     
    -    We can instead have the i18n tooling either read an OID from which to
    -    generate the po/git.pot, or the i18n coordinator could add and commit
    -    a po/git.pot to a branch in his fork.
    +    We can instead let l10n contributors to generate "po/git.pot" in runtime
    +    to update their own "po/XX.po", and the l10n coordinator can check
    +    pull requests using CI pipeline.
     
         This reverts to the schema introduced initially in cd5513a7168 (i18n:
         Makefile: "pot" target to extract messages marked for translation,
    @@ Commit message
         commit, to make this change easier to review, and to preempt the
         mailing list from blocking it due to it being too large.
     
    -    We'll probably want to adjust the header, but for now it's moved over
    -    as-is from po/git.pot.
    -
    -    Even though this makes .build/po/git.pot strictly redundant to
    -    po/git.pot let's keep the former, and have the rule for the latter
    -    copy it over, just not depending on FORCE now. We still need a
    -    po/*.pot so that "msginit(1)" in the gettext tooling does what we mean
    -    by default, but for other targets we can create things only in
    -    ".build" without littering the rest of the working copy.
    -
         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
    +    Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
     
      ## Makefile ##
    -@@ Makefile: $(LOCALIZED_PERL_GEN_PO): .build/pot/po/%: %
    - 	$(call mkdir_p_parent_template)
    - 	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@ $(XGETTEXT_FLAGS_PERL) $<
    - 
    --.build/pot/pot.header:
    --	$(call mkdir_p_parent_template)
    --	$(QUIET_GEN)sed -n -e '/^$$/q' -e 'p' <po/git.pot >$@
    --
    --.build/pot/git.pot: .build/pot/pot.header $(LOCALIZED_ALL_GEN_PO)
    -+.build/pot/git.pot: po/pot.header $(LOCALIZED_ALL_GEN_PO)
    - 	$(QUIET_GEN)msgcat $^ >$@
    - 
    --po/git.pot: .build/pot/git.pot FORCE
    -+po/git.pot: .build/pot/git.pot
    - 	$(QUIET_CP)cp $< $@
    - 
    - .PHONY: pot
     @@ Makefile: dist-doc: git$X
      
      distclean: clean
    @@ po/.gitignore
     @@
      /build
     +/git.pot
    -
    - ## po/git.pot ##
    -@@
    --# SOME DESCRIPTIVE TITLE.
    --# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
    --# This file is distributed under the same license as the PACKAGE package.
    --# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
    --#
    --#, fuzzy
    --msgid   ""
    --msgstr  "Project-Id-Version: PACKAGE VERSION\n"
    --        "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
    --        "POT-Creation-Date: 2022-04-19 17:54+0200\n"
    --        "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    --        "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    --        "Language-Team: LANGUAGE <LL@li.org>\n"
    --        "Language: \n"
    --        "MIME-Version: 1.0\n"
    --        "Content-Type: text/plain; charset=UTF-8\n"
    --        "Content-Transfer-Encoding: 8bit\n"
    --        "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
    --#
    - # File: add-interactive.c, line: 382
    - #, c-format
    - msgid   "Huh (%s)?"
    -
    - ## po/pot.header (new) ##
    -@@
    -+# SOME DESCRIPTIVE TITLE.
    -+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
    -+# This file is distributed under the same license as the PACKAGE package.
    -+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
    -+#
    -+#, fuzzy
    -+msgid ""
    -+msgstr ""
    -+"Project-Id-Version: PACKAGE VERSION\n"
    -+"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
    -+"POT-Creation-Date: 2022-04-19 17:54+0200\n"
    -+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    -+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    -+"Language-Team: LANGUAGE <LL@li.org>\n"
    -+"Language: \n"
    -+"MIME-Version: 1.0\n"
    -+"Content-Type: text/plain; charset=UTF-8\n"
    -+"Content-Transfer-Encoding: 8bit\n"
    -+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 7:  8bcf497fad !  6:  7810b16fc4 po/git.pot: remove this now generated file, see preceding commit

     (Ignored...)

 8:  987a5b80f1 <  -:  ---------- Makefile: always declare [PM]OFILES variables
 9:  3da73392a9 <  -:  ---------- po/*.po: filter through msgcat --no-location
10:  4add92aa92 <  -:  ---------- po/*.po: don't check in files with --add-location=full
 -:  ---------- >  7:  3981f16d30 Makefile: add "po-update" rule to update po/XX.po
 -:  ---------- >  8:  e6548a7a89 Makefile: add "po-init" rule to initialize po/XX.po
11:  72ed0c8b2e !  9:  4bd525fa86 i18n: migrate to line-number-less i18n workflow
    @@ Metadata
     Author: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
     
      ## Commit message ##
    -    i18n: migrate to line-number-less i18n workflow
    +    l10n: Document the new l10n workflow
     
         Change the "flow" of how translators interact with the l10n repository
         at [1] to adjust it for a new workflow of not having a po/git.pot file
    @@ Commit message
         "master" is usually pretty small, so perhaps translators can just work
         on "master" instead.
     
    -    This also required pulling in some parts of the git-po-helper[1]
    -    logic, in particular the creation of the "core pot" added in its
    -    9efa9a5 (New option --core for init to create core po/pot file,
    -    2021-04-26). As the Makefile changes here show doing so is rather
    -    trivial now that the po/git.pot is generated in the ".build"directory.
    -
    -    We also need to add a new "po-init" target, which replaces both the
    -    "git-po-helper init" and the the instructions for manually munging the
    -    msginit'd file that I added in 5e9637c6297 (i18n: add infrastructure
    -    for translating Git with gettext, 2011-11-18). Now to e.g. create a
    -    new Faroese translation:
    -
    -        make po-init PO_FILE=po/fo.po
    -
    -    We can furthermore delete the po/pot.header file. We've been relying
    -    on the git.pot to provide a template for us (which msginit implicitly
    -    picks up), but now we don't need to carry it around anymore. We'll
    -    instead munge the msginit'd output appropriately.
    -
    -    1. https://github.com/git-l10n/git-po-helper/
    +    1. https://github.com/git-l10n/git-po/
     
         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
    -
    - ## Makefile ##
    -@@ Makefile: $(LOCALIZED_PERL_GEN_PO): .build/pot/po/%: %
    - 	$(call mkdir_p_parent_template)
    - 	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@ $(XGETTEXT_FLAGS_PERL) $<
    - 
    --.build/pot/git.pot: po/pot.header $(LOCALIZED_ALL_GEN_PO)
    -+.build/pot/git.pot: $(LOCALIZED_ALL_GEN_PO)
    - 	$(QUIET_GEN)msgcat $^ >$@
    - 
    - po/git.pot: .build/pot/git.pot
    -@@ Makefile: pot: po/git.pot
    - .PHONY: check-pot
    - check-pot: .build/pot/git.pot
    - 
    -+### 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
    -+### This "clean" target is only needed for the dependency-busting
    -+### core-pot target
    -+clean-pot:
    -+	$(RM) -r .build/pot
    -+.PHONY: core-pot
    -+core-pot: clean-pot
    -+	$(MAKE) pot LOCALIZED_C="$(LOCALIZED_C_CORE)" LOCALIZED_SH= LOCALIZED_PERL=
    -+
    -+## Managing *.po files
    -+PO_INIT_FLAGS = \
    -+	--input=.build/pot/git.pot \
    -+	--output=$@ \
    -+	--no-translator \
    -+	--locale=$(PO_LANG)
    -+
    -+.build/po-init/$(PO_FILE).gen: .build/pot/git.pot
    -+	$(call mkdir_p_parent_template)
    -+	$(QUIET_MSGINIT)msginit $(PO_INIT_FLAGS)
    -+
    -+### We need some Po-Revision-Date or e.g. Emacs's po-mode.el will
    -+### replace the header entirely.
    -+.build/po-init/$(PO_FILE).head: .build/po-init/$(PO_FILE).gen
    -+	$(QUIET_GEN)\
    -+	echo "# This file is distributed under the same license as the Git package." >$@ && \
    -+	sed -n -e '1,/^$$/p' <$< | \
    -+		sed \
    -+			-e '/^$$/d' \
    -+			-e 's/PACKAGE VERSION/Git/' \
    -+			-e 's/Automatically generated/make by the Makefile/' \
    -+			-e 's/none/Git Mailing List <git@vger.kernel.org>/' \
    -+			-e 's/charset=ASCII/charset=UTF-8/' \
    -+		>>$@ && \
    -+	printf "\"PO-Revision-Date: 2022-04-11 11:05+0200\\\n\"\n" >>$@
    -+	echo >>$@
    -+
    -+.build/po-init/$(PO_FILE).tail: .build/po-init/$(PO_FILE).gen
    -+	$(QUIET_GEN)sed -n -e '1,/^$$/d' -e 'p' <$< >$@
    -+
    -+PO_LANG = $(PO_FILE:po/%.po=%)
    -+
    -+# TODO?: Prune out the "automatically generated" etc?
    -+
    -+.PHONY: po-init
    -+po-init: .build/po-init/$(PO_FILE).head .build/po-init/$(PO_FILE).tail
    -+	$(QUIET_PO_INIT)if test -e $(PO_FILE); then \
    -+		echo error: $(PO_FILE) exists already >&2; \
    -+		exit 1; \
    -+	fi && \
    -+	cat $^ >$(PO_FILE)
    -+
    - ## po/*.po files & their rules
    - POFILES = $(wildcard po/*.po)
    - 
    +    Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
     
      ## po/README.md ##
     @@ po/README.md: for a new language translation. Because there are more than 5000 messages
    @@ po/README.md: for a new language translation. Because there are more than 5000 m
     -The core template message file which contains a small set of messages
     -will be generated in "po-core/core.pot" automatically by running a helper
     -program named "git-po-helper" (described later).
    -+The "core" set of messages can be generated by running:
    ++The "core" set of messages can be generated at "po/git-core.pot" by
    ++running:
      
      ```shell
     -git-po-helper init --core XX.po
    @@ po/README.md: for a new language translation. Because there are more than 5000 m
     -
     -Edit "po/XX.po" by hand to fix "fuzzy" messages, which may have misplaced
     -translated messages and duplicate messages.
    --
    -+And then proceeding with the rest of these instructions (butdon't run
    -+the full `make pot`!).
    ++And then proceeding with the rest of these instructions on the new
    ++generated "po/git-core.pot" file.
    + 
      
      ## Translation Process Flow
      
      The overall data-flow looks like this:
      
    -     +-------------------+            +------------------+
    +-    +-------------------+            +------------------+
     -    | Git source code   | ---(1)---> | L10n coordinator |
    -+    | Git source code   | ---(3)---> | L10n coordinator |
    -     | repository        | <---(4)--- | repository       |
    -     +-------------------+            +------------------+
    +-    | repository        | <---(4)--- | repository       |
    +-    +-------------------+            +------------------+
     -                                          |      ^
     -                                         (2)    (3)
     -                                          V      |
     -                                     +------------------+
     -                                     | Language Team XX |
     -                                     +------------------+
    -+                      |                ^
    -+                     (1)              (3)
    -+                      V                |
    -+                     +------------------+
    -+                     | Language Team XX |
    -+                     +------------------+
    ++    +-------------------+             +------------------+
    ++    | Git source code   | ----(2)---> | L10n coordinator |
    ++    | repository        | <---(5)---- | repository       |
    ++    +-------------------+             +------------------+
    ++                    |                     |    ^
    ++                   (1)                   (3)  (4)
    ++                    V                     v    |
    ++               +----------------------------------+
    ++               |        Language Team XX          |
    ++               +----------------------------------+
      
      - Translatable strings are marked in the source file.
     -- L10n coordinator pulls from the source (1)
     -- L10n coordinator updates the message template "po/git.pot"
     -- Language team pulls from L10n coordinator (2)
    -+- Language team pulls new sources (1)
    - - Language team updates the message file "po/XX.po"
    +-- Language team updates the message file "po/XX.po"
     -- L10n coordinator pulls from Language team (3)
    -+- L10n coordinator re-pulls from upstream (3), merges & adjusts
    - - L10n coordinator asks the result to be pulled (4).
    +-- L10n coordinator asks the result to be pulled (4).
    ++- Language teams can start translation iterations at any time, even
    ++  before the l10n window opens:
    ++
    ++  + Pull from the source (1)
    ++  + Update the message file by running "make po-update PO\_FILE=po/XX.po"
    ++  + Translate the message file "po/XX.po"
      
    ++- The L10n coordinator pulls from source and announces the l10n window
    ++  open (2)
    ++- Language team pulls from the l10n coordinator, starts another
    ++  translation iteration against the l10n coordinator's tree (3)
      
     -## Maintaining the "po/git.pot" file
    --
    ++  + Run "git pull --rebase" from the l10n coordinator
    ++  + Update the message file by running "make po-update PO\_FILE=po/XX.po"
    ++  + Translate the message file "po/XX.po"
    ++  + Squash trivial l10n git commits using "git rebase -i"
    + 
     -(This is done by the l10n coordinator).
    -+## Creating the "po/git.pot" file
    ++- Language team sends pull request to the l10n coordinator (4)
    ++- L10n coordinator checks and merges
    ++- L10n coordinator asks the result to be pulled (5).
      
    - The "po/git.pot" file contains a message catalog extracted from Git's
    +-The "po/git.pot" file contains a message catalog extracted from Git's
     -sources. The l10n coordinator maintains it by adding new translations with
     -msginit(1), or update existing ones with msgmerge(1).  In order to update
     -the Git sources to extract the messages from, the l10n coordinator is
     -expected to pull from the main git repository at strategic point in
     -history (e.g. when a major release and release candidates are tagged),
     -and then run "make pot" at the top-level directory.
    -+sources, it is created by running:
    -+
    -+	make pot
    -+
    -+The l10ncoordintor announces a target release to translate, which is
    -+expected to be a strategic point in history (e.g. when a major release
    -+and release candidates are tagged).
    -+
    -+Language contributors are then expected to work on translations
    -+against this release, i.e. to `make pot` by doing e.g.:
      
     -Language contributors use this file to prepare translations for their
     -language, but they are not expected to modify it.
    -+    git worktree add /tmp/git-pot v2.35.0
    -+    make -C /tmp/git-pot pot
    - 
    -+And to then follow the instructions in "Updating a "XX.po" file" below
    -+using this generated `/tmp/git-pot/po/git.pot` file. After the
    -+`msgmerge` described there the temporary worktree can be removed:
    ++## Creating the "po/git.pot" file
     +
    -+    git worktree remove --force /tmp/git-pot
    ++The "po/git.pot" file, once generated by the the l10n coordinator had
    ++been removed from the tree. L10n contributors can generated it at
    ++runtime using command:
    ++
    ++```shell
    ++make pot
    ++```
    ++
    ++Then language contributors use this file to prepare translations for
    ++their language, but they are not expected to modify it.
      
    - ## Initializing a "XX.po" file
      
    + ## Initializing a "XX.po" file
     @@ po/README.md: If your language XX does not have translated message file "po/XX.po" yet,
      you add a translation for the first time by running:
      
    @@ -1,6 +1,6 @@
      
     -And change references to PACKAGE VERSION in the PO Header Entry to
     -just "Git":
    --
    ++Where XX is the locale, e.g. "de", "is", "pt\_BR", "zh\_CN", etc.
    + 
     -```shell
     -perl -pi -e 's/(?<="Project-Id-Version: )PACKAGE VERSION/Git/' XX.po
     -```
    -+Where XX is the locale, e.g. "de", "is", "pt\_BR", "zh\_CN", etc.
    ++The newly generated message file "po/XX.po" is based on the core pot
    ++file "po/git-core.pot", so it contains only a minimal set of messages
    ++and it's a good start for a new language contribution.
      
      Once you are done testing the translation (see below), commit the result
      and ask the l10n coordinator to pull from you.
    @@ po/README.md: and ask the l10n coordinator to pull from you.
     -of the l10n coordinator has newer "po/git.pot" file, you would need to first
     -pull from the l10n coordinator (see the beginning of this document for its
     -URL), and then update the existing translation by running:
    -+If there's an existing "XX.po" file for your language, but the l10n
    -+coordinator announced a new target release forthe "po/git.pot" file,
    -+you would need to first `make pot` against that release. See "Creating the "po/git.pot" file" above.
    -+
    -+Then update the existing translation by running, in the "po/"
    -+directory, where "XX.po" is the file you want to update:
    ++If you want to find new translatable strings in source files of upstream
    ++repository and propagate them to your "po/XX.po", run command:
      
      ```shell
     -msgmerge --add-location --backup=off -U XX.po git.pot
    -+msgmerge --no-location --backup=off -U XX.po git.pot
    ++make po-update PO_FILE=po/XX.po
      ```
      
     -in the "po/" directory, where "XX.po" is the file you want to update.
    -+Or, in the case of the temporary worktree described above:
    ++It will:
      
     -Once you are done testing the translation (see below), commit the result
     -and ask the l10n coordinator to pull from you.
    -+```shell
    -+msgmerge --no-location --backup=off -U XX.po /tmp/git-pot/po/git.pot
    -+```
    ++- Call "make pot" at runtime to generate new "po/git.pot" file
    ++- Call "msgmerge --add-location --backup=off -U po/XX.po po/git.pot"
    ++  to update your "po/XX.po"
    ++- The "--add-location" option for msgmerge will add location lines,
    ++  and these location lines will help translation tools to location
    ++  translation context easily.
     +
    -+Or, if you use translation software such as Emacs's `po-mode.el` which
    -+allows you to open source code references skip the `--no-location` and
    -+instead add do:
    ++Once you are done testing the translation (see below), it's better
    ++to commit a location-less "po/XX.po" file to save repository space
    ++and make a user-friendly patch for review.
     +
    -+```shell
    -+msgmerge --backup=off -U XX.po git.pot
    -+```
    ++To save a location-less "po/XX.po" automatically in repository, you
    ++can:
     +
    -+Once you are done testing the translation (see below) remove the line
    -+generated numbers (if any) from the translation. You can skip this if
    -+you used `--no-location` above.
    - 
    -+To do this safely first commit your work in `XX.po`. Then:
    ++- Define new attribute for "po/XX.po" by adding new line in
    ++  ".git/info/attributes":
     +
    -+```shell
    -+msgcat --no-location XX.po >XX.po.tmp && mv -v XX.po.tmp XX.po
    -+```
    ++        /po/XX.po filter=gettext-no-location
    ++
    ++- Define driver for "gettext-no-location" filter:
     +
    -+This should result in a file where all the auto-generated line numbers
    -+have been removed, and `make check-po` should now pass. Now either
    -+commit it, or amend it into the commit you made earlier.
    ++        $ git config --global filter.gettext-no-location.clean \
    ++              "msgcat --no-location -"
     +
     +You're now ready to ask the l10n coordinator to pull from you.
      
    + 
      ## Fuzzy translation
    +@@ po/README.md: common errors, e.g. missing printf format strings, or translated
    + messages that deviate from the originals in whether they begin/end
    + with a newline or not.
      
    -@@ po/README.md: tag in the comment.
    - Before you submit your changes go back to the top-level and do:
    ++L10n coordinator will check your contributions using a helper program
    ++(see "PO helper" section below):
    ++
    ++```shell
    ++git-po-helper check-po po/XX.po
    ++git-po-helper check-commits <rev-list-opts>
    ++```
    ++
      
    - ```shell
    --make
    -+make all check-po
    - ```
    + ## Marking strings for translation
    + 
    +@@ po/README.md: l10n workflow.
    + To build and install the helper program from source, see
    + [git-po-helper/README][].
    + 
    +-Usage for git-po-helper:
    +-
    +-- To start a new language translation:
    +-
    +-  ```shell
    +-  git-po-helper init XX.po
    +-  ```
    +-
    +-- To update your "XX.po" file:
    +-
    +-  ```shell
    +-  git-po-helper update XX.po
    +-  ```
    +-
    +-- To check commit log and syntax of "XX.po":
    +-
    +-  ```shell
    +-  git-po-helper check-po XX.po
    +-  git-po-helper check-commits
    +-  ```
    +-
    +-Run "git-po-helper" without arguments to show usage.
    +-
    + 
    + ## Conventions
      
    - On systems with GNU gettext (i.e. not Solaris) this will compile your
     @@ po/README.md: additional conventions:
      - Initialize proper filename of the "XX.po" file conforming to
        iso-639 and iso-3166.
    @@ po/README.md: additional conventions:
      
      - Add a new entry in the "po/TEAMS" file with proper format, and check
        the syntax of "po/TEAMS" by running the following command:
    -
    - ## po/pot.header (deleted) ##
    -@@
    --# SOME DESCRIPTIVE TITLE.
    --# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
    --# This file is distributed under the same license as the PACKAGE package.
    --# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
    --#
    --#, fuzzy
    --msgid ""
    --msgstr ""
    --"Project-Id-Version: PACKAGE VERSION\n"
    --"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
    --"POT-Creation-Date: 2022-04-19 17:54+0200\n"
    --"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    --"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    --"Language-Team: LANGUAGE <LL@li.org>\n"
    --"Language: \n"
    --"MIME-Version: 1.0\n"
    --"Content-Type: text/plain; charset=UTF-8\n"
    --"Content-Transfer-Encoding: 8bit\n"
    --"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
    -
    - ## shared.mak ##
    -@@ shared.mak: ifndef V
    - 	QUIET_CP       = @echo '   ' CP $@;
    - 	QUIET_LNCP     = @echo '   ' LN/CP $@;
    - 	QUIET_XGETTEXT = @echo '   ' XGETTEXT $@;
    -+	QUIET_MSGINIT  = @echo '   ' MSGINIT $@;
    - 	QUIET_MSGFMT   = @echo '   ' MSGFMT $@;
    - 	QUIET_GCOV     = @echo '   ' GCOV $@;
    - 	QUIET_SP       = @echo '   ' SP $<;
    -@@ shared.mak: ifndef V
    - ## Used in "Makefile" for po/
    - 	QUIET_CHECK_MSGCAT	= @echo '   ' MSGCAT $(MSGCAT_CHECK_FLAGS) $< \>$@;
    - 	QUIET_CHECK_PO		= @echo '   ' CHECK PO $@;
    -+	QUIET_PO_INIT		= @echo '   ' PO INIT $@;
    - 
    - ## Used in "Documentation/Makefile"
    - 	QUIET_ASCIIDOC	= @echo '   ' ASCIIDOC $@;
12:  22434ef36a <  -:  ---------- Makefile: avoid "sed" on C files that don't need it
---

Jiang Xin (3):
  Makefile: sort "po/git.pot" by file location
  Makefile: generate "po/git.pot" from stable LOCALIZED_C
  Makefile: add "po-update" rule to update po/XX.po

Ævar Arnfjörð Bjarmason (6):
  Makefile: have "make pot" not "reset --hard"
  i18n CI: stop allowing non-ASCII source messages in po/git.pot
  po/git.pot: don't check in result of "make pot"
  po/git.pot: remove this now generated file, see preceding commit
  Makefile: add "po-init" rule to initialize po/XX.po
  l10n: Document the new l10n workflow

 .gitignore                  |     1 +
 Makefile                    |   148 +-
 builtin/submodule--helper.c |     2 +-
 ci/run-static-analysis.sh   |     2 +
 po/.gitignore               |     2 +
 po/README.md                |   191 +-
 po/git.pot                  | 25151 ----------------------------------
 shared.mak                  |     2 +
 8 files changed, 221 insertions(+), 25278 deletions(-)
 delete mode 100644 po/git.pot

-- 
2.35.1.577.g74cc1aa55f


^ permalink raw reply	[flat|nested] 110+ messages in thread

* [PATCH 1/9] Makefile: sort "po/git.pot" by file location
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
@ 2022-05-03 13:23 ` Jiang Xin
  2022-05-03 13:23 ` [PATCH 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
                   ` (20 subsequent siblings)
  21 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-03 13:23 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

Before feeding xgettext with more C souce files which may be ignored
by various compiler conditions, add new option "--sort-by-file" to
xgettext program to create stable message template file "po/git.pot".

With this update, the newly generated "po/git.pot" will has the same
entries while in a different order. We won't checkin the newly generated
"po/git.pot", because we will remove it from tree in a later commit.

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Makefile b/Makefile
index f8bccfab5e..83e968e2a4 100644
--- a/Makefile
+++ b/Makefile
@@ -2706,6 +2706,7 @@ XGETTEXT_FLAGS = \
 	--force-po \
 	--add-comments=TRANSLATORS: \
 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
+	--sort-by-file \
 	--from-code=UTF-8
 XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
 	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
-- 
2.35.1.577.g74cc1aa55f


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
  2022-05-03 13:23 ` [PATCH 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
@ 2022-05-03 13:23 ` Jiang Xin
  2022-05-03 13:23 ` [PATCH 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
                   ` (19 subsequent siblings)
  21 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-03 13:23 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

When running "make pot" on different platform, we may get a different
message template file "po/git.pot". This is because the "LOCALIZED_C"
variable may have different C source files on different platforms or
different compiler conditions.

We can make a stable "LOCALIZED_C" variable by applying patch snippets
as follows:

     ifdef NO_LIBGEN_H
         COMPAT_CFLAGS += -DNO_LIBGEN_H
         COMPAT_OBJS += compat/basename.o
    +else
    +    LOCALIZED_C += compat/basename.c
     endif

But it is much simpler to use variables "$(FOUND_C_SOURCES)" and
"$(FOUND_C_SOURCES)" to form a stable "LOCALIZED_C".

With this update, the newly generated "po/git.pot" will have 30 new
entries coming from the following C source files:

 * compat/fsmonitor/fsm-listen-win32.c
 * compat/mingw.c
 * compat/regex/regcomp.c
 * compat/simple-ipc/ipc-win32.c

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 83e968e2a4..60ca42c268 100644
--- a/Makefile
+++ b/Makefile
@@ -2714,7 +2714,8 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
 	--keyword=gettextln --keyword=eval_gettextln
 XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
-LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
+LOCALIZED_C = $(FOUND_C_SOURCES) $(SCALAR_SOURCES) \
+	      $(FOUND_H_SOURCES) $(GENERATED_H)
 LOCALIZED_SH = $(SCRIPT_SH)
 LOCALIZED_SH += git-sh-setup.sh
 LOCALIZED_PERL = $(SCRIPT_PERL)
-- 
2.35.1.577.g74cc1aa55f


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH 3/9] Makefile: have "make pot" not "reset --hard"
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
  2022-05-03 13:23 ` [PATCH 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
  2022-05-03 13:23 ` [PATCH 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
@ 2022-05-03 13:23 ` Jiang Xin
  2022-05-03 13:23 ` [PATCH 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
                   ` (18 subsequent siblings)
  21 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-03 13:23 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Before commit fc0fd5b23b (Makefile: help gettext tools to cope with our
custom PRItime format, 2017-07-20) we'd consider source files as-is
with gettext, but because we need to understand PRItime in the same way
that gettext itself understands PRIuMAX we'd first check if we had a
clean checkout, then munge all of the processed files in-place with
"sed", generate "po/git.pot", and then finally "reset --hard" to undo
our changes.

By generating "pot" snippets in ".build/pot/po" for each source file
and rewriting certain source files with PRItime macros to temporary
files in ".build/pot/po", we can avoid running "make pot" by altering
files in place and doing a "reset --hard" afterwards.

This speed of "make pot" is slower than before on an initial run,
because we run "xgettext" many times (once per source file), but it
can be boosted by parallelization. It is *much* faster for incremental
runs, and will allow us to implement related targets in subsequent
commits.

When the "pot" target was originally added in cd5513a7168 (i18n:
Makefile: "pot" target to extract messages marked for translation,
2011-02-22) it behaved like a "normal" target. I.e. we'd skip the
re-generation of the po/git.pot if nothing had to be done.

Then after po/git.pot was checked in in dce37b66fb0 (l10n: initial
git.pot for 1.7.10 upcoming release, 2012-02-13) the target was broken
until 1f31963e921 (i18n: treat "make pot" as an explicitly-invoked
target, 2014-08-22) when it was made to depend on "FORCE". I.e. the
Makefile's dependency resolution inherently can't handle incremental
building when the target file may be updated by git (or something else
external to "make"). But this case no longer applies, so FORCE is no
longer needed.

That out of the way, the main logic change here is getting rid of the
"reset --hard":

We'll generate intermediate .build/pot/po/%.po files from %, which is
handy to see at a glance what strings (if any) in a given file are
marked for translation:

	$ make .build/pot/po/pretty.c.po
	[...]
	$ cat .build/pot/po/pretty.c.po
	#: pretty.c:1051
	msgid "unable to parse --pretty format"
	msgstr ""
	$

For these C source files which contain the PRItime macros, we will
create temporary munged *.c files in a tree in ".build/pot/po"
corresponding to our source tree, and have "xgettext" consider those.
The rule needs to be careful to "(cd .build/pot/po && ...)", because
otherwise the comments in the po/git.pot file wouldn't refer to the
correct source locations (they'd be prefixed with ".build/pot/po").

This changes the output of the generated po/git.pot file in one minor
way: Because we're using msgcat(1) instead of xgettext(1) to
concatenate the output we'll now disambiguate where "TRANSLATORS"
comments come from, in cases where a message is the same in N files,
and either only one has a "TRANSLATORS" comment, or they're
different. E.g. for the "Your edited hunk[...]" message we'll now
apply this change (comment content elided):

	+#. #-#-#-#-#  add-patch.c.po  #-#-#-#-#
	 #. TRANSLATORS: do not translate [y/n]
	[...]
	+#. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#
	 #. TRANSLATORS: do not translate [y/n]
	[...]
	 #: add-patch.c:1253 git-add--interactive.perl:1244
	 msgid ""
	 "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
	 msgstr ""

There are six such changes, and they all make the context more
understandable, as msgcat(1) is better at handling these edge cases
than xgettext(1)'s previously used "--join-existing" flag.

While we could rename the "pot" snippets without the ".po" extention
to use more intuitive filenames in the comments, but that will
confuse the IDE with lots of invalid C or perl source files in
".build/pot/po" directory.

The addition of "--omit-header" option for xgettext makes the "pot"
snippets in ".build/pot/po/*.po" smaller. For the pot header of
"po/git.pot", we use xgettext to generate a "pot" header file
".build/pot/git.header" from an empty file at runtime, and use this
header to assemble "po/git.pot".

But as we'll see in a subsequent commit this header behavior has been
hiding an encoding-related bug from us, so let's carry it forward
instead of re-generating it with xgettext(1).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 .gitignore |  1 +
 Makefile   | 73 ++++++++++++++++++++++++++++++++++++++----------------
 2 files changed, 53 insertions(+), 21 deletions(-)

diff --git a/.gitignore b/.gitignore
index e81de1063a..a452215764 100644
--- a/.gitignore
+++ b/.gitignore
@@ -200,6 +200,7 @@
 *.[aos]
 *.o.json
 *.py[co]
+.build/
 .depend/
 *.gcda
 *.gcno
diff --git a/Makefile b/Makefile
index 60ca42c268..c32ac4ca30 100644
--- a/Makefile
+++ b/Makefile
@@ -569,6 +569,7 @@ INSTALL = install
 TCL_PATH = tclsh
 TCLTK_PATH = wish
 XGETTEXT = xgettext
+MSGCAT = msgcat
 MSGFMT = msgfmt
 CURL_CONFIG = curl-config
 GCOV = gcov
@@ -2706,6 +2707,7 @@ XGETTEXT_FLAGS = \
 	--force-po \
 	--add-comments=TRANSLATORS: \
 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
+	--package-name=Git \
 	--sort-by-file \
 	--from-code=UTF-8
 XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
@@ -2714,6 +2716,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
 	--keyword=gettextln --keyword=eval_gettextln
 XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
+MSGCAT_FLAGS = --sort-by-file
 LOCALIZED_C = $(FOUND_C_SOURCES) $(SCALAR_SOURCES) \
 	      $(FOUND_H_SOURCES) $(GENERATED_H)
 LOCALIZED_SH = $(SCRIPT_SH)
@@ -2726,34 +2729,61 @@ LOCALIZED_SH += t/t0200/test.sh
 LOCALIZED_PERL += t/t0200/test.perl
 endif
 
-## Note that this is meant to be run only by the localization coordinator
-## under a very controlled condition, i.e. (1) it is to be run in a
-## Git repository (not a tarball extract), (2) any local modifications
-## will be lost.
+## We generate intermediate .build/pot/po/%.po files containing a
+## extract of the translations we find in each file in the source
+## tree. We will assemble them using msgcat to create the final
+## "po/git.pot" file.
+LOCALIZED_ALL_GEN_PO =
+
+LOCALIZED_C_GEN_PO = $(LOCALIZED_C:%=.build/pot/po/%.po)
+LOCALIZED_ALL_GEN_PO += $(LOCALIZED_C_GEN_PO)
+
+LOCALIZED_SH_GEN_PO = $(LOCALIZED_SH:%=.build/pot/po/%.po)
+LOCALIZED_ALL_GEN_PO += $(LOCALIZED_SH_GEN_PO)
+
+LOCALIZED_PERL_GEN_PO = $(LOCALIZED_PERL:%=.build/pot/po/%.po)
+LOCALIZED_ALL_GEN_PO += $(LOCALIZED_PERL_GEN_PO)
+
 ## Gettext tools cannot work with our own custom PRItime type, so
 ## we replace PRItime with PRIuMAX.  We need to update this to
 ## PRIdMAX if we switch to a signed type later.
+$(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT) \
+	    if grep -q PRItime $<; then \
+		(\
+			sed -e 's|PRItime|PRIuMAX|g' <$< \
+				>.build/pot/po/$< && \
+			cd .build/pot/po && \
+			$(XGETTEXT) --omit-header \
+				-o $(@:.build/pot/po/%=%) \
+				$(XGETTEXT_FLAGS_C) $< && \
+			rm $<; \
+		); \
+	    else \
+		$(XGETTEXT) --omit-header \
+			-o $@ $(XGETTEXT_FLAGS_C) $<; \
+	    fi
 
-po/git.pot: $(GENERATED_H) FORCE
-	# All modifications will be reverted at the end, so we do not
-	# want to have any local change.
-	git diff --quiet HEAD && git diff --quiet --cached
+$(LOCALIZED_SH_GEN_PO): .build/pot/po/%.po: %
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
+		-o$@ $(XGETTEXT_FLAGS_SH) $<
 
-	@for s in $(LOCALIZED_C) $(LOCALIZED_SH) $(LOCALIZED_PERL); \
-	do \
-		sed -e 's|PRItime|PRIuMAX|g' <"$$s" >"$$s+" && \
-		cat "$$s+" >"$$s" && rm "$$s+"; \
-	done
+$(LOCALIZED_PERL_GEN_PO): .build/pot/po/%.po: %
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
+		-o$@ $(XGETTEXT_FLAGS_PERL) $<
 
-	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ $(XGETTEXT_FLAGS_C) $(LOCALIZED_C)
-	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_SH) \
-		$(LOCALIZED_SH)
-	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_PERL) \
-		$(LOCALIZED_PERL)
+.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT)$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
+		-o - /dev/null | \
+	sed -e 's|charset=CHARSET|charset=UTF-8|g' >$@ && \
+	echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
 
-	# Reverting the munged source, leaving only the updated $@
-	git reset --hard
-	mv $@+ $@
+po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
+	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
 
 .PHONY: pot
 pot: po/git.pot
@@ -3292,6 +3322,7 @@ cocciclean:
 	$(RM) contrib/coccinelle/*.cocci.patch*
 
 clean: profile-clean coverage-clean cocciclean
+	$(RM) -r .build
 	$(RM) *.res
 	$(RM) $(OBJECTS)
 	$(RM) $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(REFTABLE_TEST_LIB)
-- 
2.35.1.577.g74cc1aa55f


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (2 preceding siblings ...)
  2022-05-03 13:23 ` [PATCH 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
@ 2022-05-03 13:23 ` Jiang Xin
  2022-05-03 13:23 ` [PATCH 5/9] po/git.pot: don't check in result of "make pot" Jiang Xin
                   ` (17 subsequent siblings)
  21 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-03 13:23 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

In the preceding commit we moved away from using xgettext(1) to both
generate the po/git.pot, and to merge the incrementally generated
po/git.pot+ file as we sourced translations from C, shell and Perl.

Doing it this way, which dates back to my initial
implementation[1][2][3] was conflating two things: With xgettext(1)
the --from-code both controls what encoding is specified in the
po/git.pot's header, and what encoding we allow in source messages.

We don't ever want to allow non-ASCII in *source messages*, and doing
so has hid e.g. a buggy message introduced in
a6226fd772b (submodule--helper: convert the bulk of cmd_add() to C,
2021-08-10) from us, we'd warn about it before, but only when running
"make pot", but the operation would still succeed. Now we'll error out
on it when running "make pot".

Since the preceding Makefile changes made this easy: let's add a "make
check-pot" target and run it as part of the "static-analysis" CI
target, this will ensure that we catch any such issues in the future.

1. cd5513a7168 (i18n: Makefile: "pot" target to extract messages
   marked for translation, 2011-02-22)
2. adc3b2b2767 (Makefile: add xgettext target for *.sh files,
   2011-05-14)
3. 5e9637c6297 (i18n: add infrastructure for translating Git with
   gettext, 2011-11-18)

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Makefile                    | 6 ++++--
 builtin/submodule--helper.c | 2 +-
 ci/run-static-analysis.sh   | 2 ++
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index c32ac4ca30..4b7cb2be65 100644
--- a/Makefile
+++ b/Makefile
@@ -2708,8 +2708,7 @@ XGETTEXT_FLAGS = \
 	--add-comments=TRANSLATORS: \
 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
 	--package-name=Git \
-	--sort-by-file \
-	--from-code=UTF-8
+	--sort-by-file
 XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
 	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
 XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
@@ -2788,6 +2787,9 @@ po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
 .PHONY: pot
 pot: po/git.pot
 
+.PHONY: check-pot
+check-pot: pot
+
 ifdef NO_GETTEXT
 POFILES :=
 MOFILES :=
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index 2c87ef9364..b97f02eed5 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -3378,7 +3378,7 @@ static int module_add(int argc, const char **argv, const char *prefix)
 			   N_("reference repository")),
 		OPT_BOOL(0, "dissociate", &dissociate, N_("borrow the objects from reference repositories")),
 		OPT_STRING(0, "name", &add_data.sm_name, N_("name"),
-			   N_("sets the submodule’s name to the given string "
+			   N_("sets the submodule's name to the given string "
 			      "instead of defaulting to its path")),
 		OPT_INTEGER(0, "depth", &add_data.depth, N_("depth for shallow clones")),
 		OPT_END()
diff --git a/ci/run-static-analysis.sh b/ci/run-static-analysis.sh
index 65bcebda41..0d51e5ce0e 100755
--- a/ci/run-static-analysis.sh
+++ b/ci/run-static-analysis.sh
@@ -29,4 +29,6 @@ fi
 make hdr-check ||
 exit 1
 
+make check-pot
+
 save_good_tree
-- 
2.35.1.577.g74cc1aa55f


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH 5/9] po/git.pot: don't check in result of "make pot"
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (3 preceding siblings ...)
  2022-05-03 13:23 ` [PATCH 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
@ 2022-05-03 13:23 ` Jiang Xin
  2022-05-03 13:23 ` [PATCH 6/9] po/git.pot: remove this now generated file, see preceding commit Jiang Xin
                   ` (16 subsequent siblings)
  21 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-03 13:23 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Remove the "po/git.pot" file from being tracked, which started with
dce37b66fb0 (l10n: initial git.pot for 1.7.10 upcoming release,
2012-02-13).

The reason the po/git.pot started being checked in was because the
po/*.po files were changed a schema where we'd generate them from a
known-good snapshot of po/git.pot, instead of each translator running
"make pot" themselves.

This makes sense, but we don't need to carry this file in-tree just to
achieve that aim, and doing so has resulted in a significant amount of
"diff churn" since this method of doing it was introduced:

    $ git log -p --oneline -- po/git.pot|wc -l
    553743

We can instead let l10n contributors to generate "po/git.pot" in runtime
to update their own "po/XX.po", and the l10n coordinator can check
pull requests using CI pipeline.

This reverts to the schema introduced initially in cd5513a7168 (i18n:
Makefile: "pot" target to extract messages marked for translation,
2011-02-22).

The actual "git rm" of po/git.pot is deferred until the subsequent
commit, to make this change easier to review, and to preempt the
mailing list from blocking it due to it being too large.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Makefile      | 1 +
 po/.gitignore | 1 +
 2 files changed, 2 insertions(+)

diff --git a/Makefile b/Makefile
index 4b7cb2be65..2f28648900 100644
--- a/Makefile
+++ b/Makefile
@@ -3312,6 +3312,7 @@ dist-doc: git$X
 
 distclean: clean
 	$(RM) configure
+	$(RM) po/git.pot
 	$(RM) config.log config.status config.cache
 	$(RM) config.mak.autogen config.mak.append
 	$(RM) -r autom4te.cache
diff --git a/po/.gitignore b/po/.gitignore
index 796b96d1c4..37d1301b32 100644
--- a/po/.gitignore
+++ b/po/.gitignore
@@ -1 +1,2 @@
 /build
+/git.pot
-- 
2.35.1.577.g74cc1aa55f


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH 6/9] po/git.pot: remove this now generated file, see preceding commit
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (4 preceding siblings ...)
  2022-05-03 13:23 ` [PATCH 5/9] po/git.pot: don't check in result of "make pot" Jiang Xin
@ 2022-05-03 13:23 ` Jiang Xin
  2022-05-03 13:23 ` [PATCH 7/9] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
                   ` (15 subsequent siblings)
  21 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-03 13:23 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 po/git.pot | 25151 ---------------------------------------------------
 1 file changed, 25151 deletions(-)
 delete mode 100644 po/git.pot

diff --git a/po/git.pot b/po/git.pot
deleted file mode 100644
index 054cb99c06..0000000000
--- a/po/git.pot
+++ /dev/null
@@ -1,25151 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2022-04-13 14:52+0800\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-
-#: add-interactive.c:382
-#, c-format
-msgid "Huh (%s)?"
-msgstr ""
-
-#: add-interactive.c:535 add-interactive.c:836 reset.c:136 sequencer.c:3505
-#: sequencer.c:3970 sequencer.c:4127 builtin/rebase.c:1261
-#: builtin/rebase.c:1671
-msgid "could not read index"
-msgstr ""
-
-#: add-interactive.c:590 git-add--interactive.perl:269
-#: git-add--interactive.perl:294
-msgid "binary"
-msgstr ""
-
-#: add-interactive.c:648 git-add--interactive.perl:278
-#: git-add--interactive.perl:332
-msgid "nothing"
-msgstr ""
-
-#: add-interactive.c:649 git-add--interactive.perl:314
-#: git-add--interactive.perl:329
-msgid "unchanged"
-msgstr ""
-
-#: add-interactive.c:686 git-add--interactive.perl:641
-msgid "Update"
-msgstr ""
-
-#: add-interactive.c:703 add-interactive.c:891
-#, c-format
-msgid "could not stage '%s'"
-msgstr ""
-
-#: add-interactive.c:709 add-interactive.c:898 reset.c:160 sequencer.c:3709
-msgid "could not write index"
-msgstr ""
-
-#: add-interactive.c:712 git-add--interactive.perl:626
-#, c-format, perl-format
-msgid "updated %d path\n"
-msgid_plural "updated %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: add-interactive.c:730 git-add--interactive.perl:676
-#, c-format, perl-format
-msgid "note: %s is untracked now.\n"
-msgstr ""
-
-#: add-interactive.c:735 apply.c:4133 builtin/checkout.c:311
-#: builtin/reset.c:167
-#, c-format
-msgid "make_cache_entry failed for path '%s'"
-msgstr ""
-
-#: add-interactive.c:765 git-add--interactive.perl:653
-msgid "Revert"
-msgstr ""
-
-#: add-interactive.c:781
-msgid "Could not parse HEAD^{tree}"
-msgstr ""
-
-#: add-interactive.c:819 git-add--interactive.perl:629
-#, c-format, perl-format
-msgid "reverted %d path\n"
-msgid_plural "reverted %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: add-interactive.c:870 git-add--interactive.perl:693
-#, c-format
-msgid "No untracked files.\n"
-msgstr ""
-
-#: add-interactive.c:874 git-add--interactive.perl:687
-msgid "Add untracked"
-msgstr ""
-
-#: add-interactive.c:901 git-add--interactive.perl:623
-#, c-format, perl-format
-msgid "added %d path\n"
-msgid_plural "added %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: add-interactive.c:931
-#, c-format
-msgid "ignoring unmerged: %s"
-msgstr ""
-
-#: add-interactive.c:943 add-patch.c:1758 git-add--interactive.perl:1371
-#, c-format
-msgid "Only binary files changed.\n"
-msgstr ""
-
-#: add-interactive.c:945 add-patch.c:1756 git-add--interactive.perl:1373
-#, c-format
-msgid "No changes.\n"
-msgstr ""
-
-#: add-interactive.c:949 git-add--interactive.perl:1381
-msgid "Patch update"
-msgstr ""
-
-#: add-interactive.c:988 git-add--interactive.perl:1794
-msgid "Review diff"
-msgstr ""
-
-#: add-interactive.c:1016
-msgid "show paths with changes"
-msgstr ""
-
-#: add-interactive.c:1018
-msgid "add working tree state to the staged set of changes"
-msgstr ""
-
-#: add-interactive.c:1020
-msgid "revert staged set of changes back to the HEAD version"
-msgstr ""
-
-#: add-interactive.c:1022
-msgid "pick hunks and update selectively"
-msgstr ""
-
-#: add-interactive.c:1024
-msgid "view diff between HEAD and index"
-msgstr ""
-
-#: add-interactive.c:1026
-msgid "add contents of untracked files to the staged set of changes"
-msgstr ""
-
-#: add-interactive.c:1034 add-interactive.c:1083
-msgid "Prompt help:"
-msgstr ""
-
-#: add-interactive.c:1036
-msgid "select a single item"
-msgstr ""
-
-#: add-interactive.c:1038
-msgid "select a range of items"
-msgstr ""
-
-#: add-interactive.c:1040
-msgid "select multiple ranges"
-msgstr ""
-
-#: add-interactive.c:1042 add-interactive.c:1087
-msgid "select item based on unique prefix"
-msgstr ""
-
-#: add-interactive.c:1044
-msgid "unselect specified items"
-msgstr ""
-
-#: add-interactive.c:1046
-msgid "choose all items"
-msgstr ""
-
-#: add-interactive.c:1048
-msgid "(empty) finish selecting"
-msgstr ""
-
-#: add-interactive.c:1085
-msgid "select a numbered item"
-msgstr ""
-
-#: add-interactive.c:1089
-msgid "(empty) select nothing"
-msgstr ""
-
-#: add-interactive.c:1097 builtin/clean.c:839 git-add--interactive.perl:1898
-msgid "*** Commands ***"
-msgstr ""
-
-#: add-interactive.c:1098 builtin/clean.c:840 git-add--interactive.perl:1895
-msgid "What now"
-msgstr ""
-
-#: add-interactive.c:1150 git-add--interactive.perl:213
-msgid "staged"
-msgstr ""
-
-#: add-interactive.c:1150 git-add--interactive.perl:213
-msgid "unstaged"
-msgstr ""
-
-#: add-interactive.c:1150 apply.c:5002 apply.c:5005 builtin/am.c:2370
-#: builtin/am.c:2373 builtin/bugreport.c:107 builtin/clone.c:132
-#: builtin/fetch.c:154 builtin/merge.c:287 builtin/pull.c:194
-#: builtin/submodule--helper.c:412 builtin/submodule--helper.c:1872
-#: builtin/submodule--helper.c:1875 builtin/submodule--helper.c:2709
-#: builtin/submodule--helper.c:2712 builtin/submodule--helper.c:2891
-#: git-add--interactive.perl:213
-msgid "path"
-msgstr ""
-
-#: add-interactive.c:1157
-msgid "could not refresh index"
-msgstr ""
-
-#: add-interactive.c:1171 builtin/clean.c:804 git-add--interactive.perl:1805
-#, c-format
-msgid "Bye.\n"
-msgstr ""
-
-#: add-patch.c:34 git-add--interactive.perl:1433
-#, c-format, perl-format
-msgid "Stage mode change [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:35 git-add--interactive.perl:1434
-#, c-format, perl-format
-msgid "Stage deletion [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:36 git-add--interactive.perl:1435
-#, c-format, perl-format
-msgid "Stage addition [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:37 git-add--interactive.perl:1436
-#, c-format, perl-format
-msgid "Stage this hunk [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:39
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"staging."
-msgstr ""
-
-#: add-patch.c:42
-msgid ""
-"y - stage this hunk\n"
-"n - do not stage this hunk\n"
-"q - quit; do not stage this hunk or any of the remaining ones\n"
-"a - stage this hunk and all later hunks in the file\n"
-"d - do not stage this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:56 git-add--interactive.perl:1439
-#, c-format, perl-format
-msgid "Stash mode change [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:57 git-add--interactive.perl:1440
-#, c-format, perl-format
-msgid "Stash deletion [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:58 git-add--interactive.perl:1441
-#, c-format, perl-format
-msgid "Stash addition [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:59 git-add--interactive.perl:1442
-#, c-format, perl-format
-msgid "Stash this hunk [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:61
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"stashing."
-msgstr ""
-
-#: add-patch.c:64
-msgid ""
-"y - stash this hunk\n"
-"n - do not stash this hunk\n"
-"q - quit; do not stash this hunk or any of the remaining ones\n"
-"a - stash this hunk and all later hunks in the file\n"
-"d - do not stash this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:80 git-add--interactive.perl:1445
-#, c-format, perl-format
-msgid "Unstage mode change [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:81 git-add--interactive.perl:1446
-#, c-format, perl-format
-msgid "Unstage deletion [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:82 git-add--interactive.perl:1447
-#, c-format, perl-format
-msgid "Unstage addition [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:83 git-add--interactive.perl:1448
-#, c-format, perl-format
-msgid "Unstage this hunk [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:85
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"unstaging."
-msgstr ""
-
-#: add-patch.c:88
-msgid ""
-"y - unstage this hunk\n"
-"n - do not unstage this hunk\n"
-"q - quit; do not unstage this hunk or any of the remaining ones\n"
-"a - unstage this hunk and all later hunks in the file\n"
-"d - do not unstage this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:103 git-add--interactive.perl:1451
-#, c-format, perl-format
-msgid "Apply mode change to index [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:104 git-add--interactive.perl:1452
-#, c-format, perl-format
-msgid "Apply deletion to index [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:105 git-add--interactive.perl:1453
-#, c-format, perl-format
-msgid "Apply addition to index [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:106 git-add--interactive.perl:1454
-#, c-format, perl-format
-msgid "Apply this hunk to index [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:108 add-patch.c:176 add-patch.c:221
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"applying."
-msgstr ""
-
-#: add-patch.c:111
-msgid ""
-"y - apply this hunk to index\n"
-"n - do not apply this hunk to index\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:126 git-add--interactive.perl:1457
-#: git-add--interactive.perl:1475
-#, c-format, perl-format
-msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:127 git-add--interactive.perl:1458
-#: git-add--interactive.perl:1476
-#, c-format, perl-format
-msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:128 git-add--interactive.perl:1459
-#: git-add--interactive.perl:1477
-#, c-format, perl-format
-msgid "Discard addition from worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:129 git-add--interactive.perl:1460
-#: git-add--interactive.perl:1478
-#, c-format, perl-format
-msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:131 add-patch.c:154 add-patch.c:199
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"discarding."
-msgstr ""
-
-#: add-patch.c:134 add-patch.c:202
-msgid ""
-"y - discard this hunk from worktree\n"
-"n - do not discard this hunk from worktree\n"
-"q - quit; do not discard this hunk or any of the remaining ones\n"
-"a - discard this hunk and all later hunks in the file\n"
-"d - do not discard this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:149 add-patch.c:194 git-add--interactive.perl:1463
-#, c-format, perl-format
-msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:150 add-patch.c:195 git-add--interactive.perl:1464
-#, c-format, perl-format
-msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:151 add-patch.c:196 git-add--interactive.perl:1465
-#, c-format, perl-format
-msgid "Discard addition from index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:152 add-patch.c:197 git-add--interactive.perl:1466
-#, c-format, perl-format
-msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:157
-msgid ""
-"y - discard this hunk from index and worktree\n"
-"n - do not discard this hunk from index and worktree\n"
-"q - quit; do not discard this hunk or any of the remaining ones\n"
-"a - discard this hunk and all later hunks in the file\n"
-"d - do not discard this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:171 add-patch.c:216 git-add--interactive.perl:1469
-#, c-format, perl-format
-msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:172 add-patch.c:217 git-add--interactive.perl:1470
-#, c-format, perl-format
-msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:173 add-patch.c:218 git-add--interactive.perl:1471
-#, c-format, perl-format
-msgid "Apply addition to index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:174 add-patch.c:219 git-add--interactive.perl:1472
-#, c-format, perl-format
-msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:179
-msgid ""
-"y - apply this hunk to index and worktree\n"
-"n - do not apply this hunk to index and worktree\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:224
-msgid ""
-"y - apply this hunk to worktree\n"
-"n - do not apply this hunk to worktree\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:343
-#, c-format
-msgid "could not parse hunk header '%.*s'"
-msgstr ""
-
-#: add-patch.c:362 add-patch.c:366
-#, c-format
-msgid "could not parse colored hunk header '%.*s'"
-msgstr ""
-
-#: add-patch.c:431
-msgid "could not parse diff"
-msgstr ""
-
-#: add-patch.c:450
-msgid "could not parse colored diff"
-msgstr ""
-
-#: add-patch.c:464
-#, c-format
-msgid "failed to run '%s'"
-msgstr ""
-
-#: add-patch.c:618
-msgid "mismatched output from interactive.diffFilter"
-msgstr ""
-
-#: add-patch.c:619
-msgid ""
-"Your filter must maintain a one-to-one correspondence\n"
-"between its input and output lines."
-msgstr ""
-
-#: add-patch.c:797
-#, c-format
-msgid ""
-"expected context line #%d in\n"
-"%.*s"
-msgstr ""
-
-#: add-patch.c:812
-#, c-format
-msgid ""
-"hunks do not overlap:\n"
-"%.*s\n"
-"\tdoes not end with:\n"
-"%.*s"
-msgstr ""
-
-#: add-patch.c:1088 git-add--interactive.perl:1115
-msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
-msgstr ""
-
-#: add-patch.c:1092
-#, c-format
-msgid ""
-"---\n"
-"To remove '%c' lines, make them ' ' lines (context).\n"
-"To remove '%c' lines, delete them.\n"
-"Lines starting with %c will be removed.\n"
-msgstr ""
-
-#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: add-patch.c:1106 git-add--interactive.perl:1129
-msgid ""
-"If it does not apply cleanly, you will be given an opportunity to\n"
-"edit again.  If all lines of the hunk are removed, then the edit is\n"
-"aborted and the hunk is left unchanged.\n"
-msgstr ""
-
-#: add-patch.c:1139
-msgid "could not parse hunk header"
-msgstr ""
-
-#: add-patch.c:1184
-msgid "'git apply --cached' failed"
-msgstr ""
-
-#. TRANSLATORS: do not translate [y/n]
-#. The program will only accept that input at this point.
-#. Consider translating (saying "no" discards!) as
-#. (saying "n" for "no" discards!) if the translation
-#. of the word "no" does not start with n.
-#.
-#. TRANSLATORS: do not translate [y/n]
-#. The program will only accept that input
-#. at this point.
-#. Consider translating (saying "no" discards!) as
-#. (saying "n" for "no" discards!) if the translation
-#. of the word "no" does not start with n.
-#: add-patch.c:1253 git-add--interactive.perl:1244
-msgid ""
-"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
-msgstr ""
-
-#: add-patch.c:1296
-msgid "The selected hunks do not apply to the index!"
-msgstr ""
-
-#: add-patch.c:1297 git-add--interactive.perl:1348
-msgid "Apply them to the worktree anyway? "
-msgstr ""
-
-#: add-patch.c:1304 git-add--interactive.perl:1351
-msgid "Nothing was applied.\n"
-msgstr ""
-
-#: add-patch.c:1361
-msgid ""
-"j - leave this hunk undecided, see next undecided hunk\n"
-"J - leave this hunk undecided, see next hunk\n"
-"k - leave this hunk undecided, see previous undecided hunk\n"
-"K - leave this hunk undecided, see previous hunk\n"
-"g - select a hunk to go to\n"
-"/ - search for a hunk matching the given regex\n"
-"s - split the current hunk into smaller hunks\n"
-"e - manually edit the current hunk\n"
-"? - print help\n"
-msgstr ""
-
-#: add-patch.c:1523 add-patch.c:1533
-msgid "No previous hunk"
-msgstr ""
-
-#: add-patch.c:1528 add-patch.c:1538
-msgid "No next hunk"
-msgstr ""
-
-#: add-patch.c:1544
-msgid "No other hunks to goto"
-msgstr ""
-
-#: add-patch.c:1555 git-add--interactive.perl:1608
-msgid "go to which hunk (<ret> to see more)? "
-msgstr ""
-
-#: add-patch.c:1556 git-add--interactive.perl:1610
-msgid "go to which hunk? "
-msgstr ""
-
-#: add-patch.c:1567
-#, c-format
-msgid "Invalid number: '%s'"
-msgstr ""
-
-#: add-patch.c:1572
-#, c-format
-msgid "Sorry, only %d hunk available."
-msgid_plural "Sorry, only %d hunks available."
-msgstr[0] ""
-msgstr[1] ""
-
-#: add-patch.c:1581
-msgid "No other hunks to search"
-msgstr ""
-
-#: add-patch.c:1587 git-add--interactive.perl:1663
-msgid "search for regex? "
-msgstr ""
-
-#: add-patch.c:1602
-#, c-format
-msgid "Malformed search regexp %s: %s"
-msgstr ""
-
-#: add-patch.c:1619
-msgid "No hunk matches the given pattern"
-msgstr ""
-
-#: add-patch.c:1626
-msgid "Sorry, cannot split this hunk"
-msgstr ""
-
-#: add-patch.c:1630
-#, c-format
-msgid "Split into %d hunks."
-msgstr ""
-
-#: add-patch.c:1634
-msgid "Sorry, cannot edit this hunk"
-msgstr ""
-
-#: add-patch.c:1686
-msgid "'git apply' failed"
-msgstr ""
-
-#: advice.c:81
-#, c-format
-msgid ""
-"\n"
-"Disable this message with \"git config advice.%s false\""
-msgstr ""
-
-#: advice.c:97
-#, c-format
-msgid "%shint: %.*s%s\n"
-msgstr ""
-
-#: advice.c:181
-msgid "Cherry-picking is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:183
-msgid "Committing is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:185
-msgid "Merging is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:187
-msgid "Pulling is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:189
-msgid "Reverting is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:191
-#, c-format
-msgid "It is not possible to %s because you have unmerged files."
-msgstr ""
-
-#: advice.c:199
-msgid ""
-"Fix them up in the work tree, and then use 'git add/rm <file>'\n"
-"as appropriate to mark resolution and make a commit."
-msgstr ""
-
-#: advice.c:207
-msgid "Exiting because of an unresolved conflict."
-msgstr ""
-
-#: advice.c:212 builtin/merge.c:1388
-msgid "You have not concluded your merge (MERGE_HEAD exists)."
-msgstr ""
-
-#: advice.c:214
-msgid "Please, commit your changes before merging."
-msgstr ""
-
-#: advice.c:215
-msgid "Exiting because of unfinished merge."
-msgstr ""
-
-#: advice.c:220
-msgid "Not possible to fast-forward, aborting."
-msgstr ""
-
-#: advice.c:230
-#, c-format
-msgid ""
-"The following paths and/or pathspecs matched paths that exist\n"
-"outside of your sparse-checkout definition, so will not be\n"
-"updated in the index:\n"
-msgstr ""
-
-#: advice.c:237
-msgid ""
-"If you intend to update such entries, try one of the following:\n"
-"* Use the --sparse option.\n"
-"* Disable or modify the sparsity rules."
-msgstr ""
-
-#: advice.c:245
-#, c-format
-msgid ""
-"Note: switching to '%s'.\n"
-"\n"
-"You are in 'detached HEAD' state. You can look around, make experimental\n"
-"changes and commit them, and you can discard any commits you make in this\n"
-"state without impacting any branches by switching back to a branch.\n"
-"\n"
-"If you want to create a new branch to retain commits you create, you may\n"
-"do so (now or later) by using -c with the switch command. Example:\n"
-"\n"
-"  git switch -c <new-branch-name>\n"
-"\n"
-"Or undo this operation with:\n"
-"\n"
-"  git switch -\n"
-"\n"
-"Turn off this advice by setting config variable advice.detachedHead to "
-"false\n"
-"\n"
-msgstr ""
-
-#: alias.c:50
-msgid "cmdline ends with \\"
-msgstr ""
-
-#: alias.c:51
-msgid "unclosed quote"
-msgstr ""
-
-#: apply.c:70
-#, c-format
-msgid "unrecognized whitespace option '%s'"
-msgstr ""
-
-#: apply.c:86
-#, c-format
-msgid "unrecognized whitespace ignore option '%s'"
-msgstr ""
-
-#: apply.c:138 archive.c:584 parse-options.c:1122 range-diff.c:555
-#: revision.c:2314 revision.c:2318 revision.c:2327 revision.c:2332
-#: revision.c:2560 revision.c:2895 revision.c:2899 revision.c:2907
-#: revision.c:2910 revision.c:2912 builtin/add.c:507 builtin/add.c:509
-#: builtin/add.c:515 builtin/add.c:527 builtin/branch.c:755
-#: builtin/checkout.c:472 builtin/checkout.c:475 builtin/checkout.c:1663
-#: builtin/checkout.c:1773 builtin/checkout.c:1776 builtin/clone.c:921
-#: builtin/commit.c:359 builtin/commit.c:362 builtin/commit.c:1200
-#: builtin/commit.c:1256 builtin/commit.c:1273 builtin/describe.c:593
-#: builtin/diff-tree.c:155 builtin/difftool.c:733 builtin/fast-export.c:1245
-#: builtin/fetch.c:2141 builtin/fetch.c:2162 builtin/fetch.c:2167
-#: builtin/help.c:602 builtin/index-pack.c:1858 builtin/init-db.c:560
-#: builtin/log.c:1968 builtin/log.c:1970 builtin/ls-files.c:778
-#: builtin/merge-base.c:163 builtin/merge-base.c:169 builtin/merge.c:1409
-#: builtin/merge.c:1411 builtin/pack-objects.c:4098 builtin/push.c:592
-#: builtin/push.c:630 builtin/push.c:636 builtin/push.c:641
-#: builtin/rebase.c:1221 builtin/rebase.c:1223 builtin/rebase.c:1227
-#: builtin/repack.c:688 builtin/repack.c:719 builtin/reset.c:433
-#: builtin/reset.c:469 builtin/rev-list.c:537 builtin/show-branch.c:711
-#: builtin/stash.c:1696 builtin/stash.c:1699 builtin/submodule--helper.c:1328
-#: builtin/submodule--helper.c:3054 builtin/tag.c:527 builtin/tag.c:573
-#: builtin/worktree.c:779
-#, c-format
-msgid "options '%s' and '%s' cannot be used together"
-msgstr ""
-
-#: apply.c:141 apply.c:152 apply.c:155
-#, c-format
-msgid "'%s' outside a repository"
-msgstr ""
-
-#: apply.c:807
-#, c-format
-msgid "Cannot prepare timestamp regexp %s"
-msgstr ""
-
-#: apply.c:816
-#, c-format
-msgid "regexec returned %d for input: %s"
-msgstr ""
-
-#: apply.c:890
-#, c-format
-msgid "unable to find filename in patch at line %d"
-msgstr ""
-
-#: apply.c:928
-#, c-format
-msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
-msgstr ""
-
-#: apply.c:934
-#, c-format
-msgid "git apply: bad git-diff - inconsistent new filename on line %d"
-msgstr ""
-
-#: apply.c:935
-#, c-format
-msgid "git apply: bad git-diff - inconsistent old filename on line %d"
-msgstr ""
-
-#: apply.c:940
-#, c-format
-msgid "git apply: bad git-diff - expected /dev/null on line %d"
-msgstr ""
-
-#: apply.c:969
-#, c-format
-msgid "invalid mode on line %d: %s"
-msgstr ""
-
-#: apply.c:1288
-#, c-format
-msgid "inconsistent header lines %d and %d"
-msgstr ""
-
-#: apply.c:1378
-#, c-format
-msgid ""
-"git diff header lacks filename information when removing %d leading pathname "
-"component (line %d)"
-msgid_plural ""
-"git diff header lacks filename information when removing %d leading pathname "
-"components (line %d)"
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:1391
-#, c-format
-msgid "git diff header lacks filename information (line %d)"
-msgstr ""
-
-#: apply.c:1487
-#, c-format
-msgid "recount: unexpected line: %.*s"
-msgstr ""
-
-#: apply.c:1556
-#, c-format
-msgid "patch fragment without header at line %d: %.*s"
-msgstr ""
-
-#: apply.c:1759
-msgid "new file depends on old contents"
-msgstr ""
-
-#: apply.c:1761
-msgid "deleted file still has contents"
-msgstr ""
-
-#: apply.c:1795
-#, c-format
-msgid "corrupt patch at line %d"
-msgstr ""
-
-#: apply.c:1832
-#, c-format
-msgid "new file %s depends on old contents"
-msgstr ""
-
-#: apply.c:1834
-#, c-format
-msgid "deleted file %s still has contents"
-msgstr ""
-
-#: apply.c:1837
-#, c-format
-msgid "** warning: file %s becomes empty but is not deleted"
-msgstr ""
-
-#: apply.c:1985
-#, c-format
-msgid "corrupt binary patch at line %d: %.*s"
-msgstr ""
-
-#: apply.c:2022
-#, c-format
-msgid "unrecognized binary patch at line %d"
-msgstr ""
-
-#: apply.c:2184
-#, c-format
-msgid "patch with only garbage at line %d"
-msgstr ""
-
-#: apply.c:2270
-#, c-format
-msgid "unable to read symlink %s"
-msgstr ""
-
-#: apply.c:2274
-#, c-format
-msgid "unable to open or read %s"
-msgstr ""
-
-#: apply.c:2943
-#, c-format
-msgid "invalid start of line: '%c'"
-msgstr ""
-
-#: apply.c:3064
-#, c-format
-msgid "Hunk #%d succeeded at %d (offset %d line)."
-msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:3076
-#, c-format
-msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
-msgstr ""
-
-#: apply.c:3082
-#, c-format
-msgid ""
-"while searching for:\n"
-"%.*s"
-msgstr ""
-
-#: apply.c:3104
-#, c-format
-msgid "missing binary patch data for '%s'"
-msgstr ""
-
-#: apply.c:3112
-#, c-format
-msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
-msgstr ""
-
-#: apply.c:3159
-#, c-format
-msgid "cannot apply binary patch to '%s' without full index line"
-msgstr ""
-
-#: apply.c:3170
-#, c-format
-msgid ""
-"the patch applies to '%s' (%s), which does not match the current contents."
-msgstr ""
-
-#: apply.c:3178
-#, c-format
-msgid "the patch applies to an empty '%s' but it is not empty"
-msgstr ""
-
-#: apply.c:3196
-#, c-format
-msgid "the necessary postimage %s for '%s' cannot be read"
-msgstr ""
-
-#: apply.c:3209
-#, c-format
-msgid "binary patch does not apply to '%s'"
-msgstr ""
-
-#: apply.c:3216
-#, c-format
-msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
-msgstr ""
-
-#: apply.c:3237
-#, c-format
-msgid "patch failed: %s:%ld"
-msgstr ""
-
-#: apply.c:3360
-#, c-format
-msgid "cannot checkout %s"
-msgstr ""
-
-#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:105 pack-revindex.c:214
-#: setup.c:310
-#, c-format
-msgid "failed to read %s"
-msgstr ""
-
-#: apply.c:3420
-#, c-format
-msgid "reading from '%s' beyond a symbolic link"
-msgstr ""
-
-#: apply.c:3449 apply.c:3721
-#, c-format
-msgid "path %s has been renamed/deleted"
-msgstr ""
-
-#: apply.c:3559 apply.c:3736
-#, c-format
-msgid "%s: does not exist in index"
-msgstr ""
-
-#: apply.c:3568 apply.c:3744 apply.c:3960
-#, c-format
-msgid "%s: does not match index"
-msgstr ""
-
-#: apply.c:3605
-msgid "repository lacks the necessary blob to perform 3-way merge."
-msgstr ""
-
-#: apply.c:3608
-#, c-format
-msgid "Performing three-way merge...\n"
-msgstr ""
-
-#: apply.c:3624 apply.c:3628
-#, c-format
-msgid "cannot read the current contents of '%s'"
-msgstr ""
-
-#: apply.c:3640
-#, c-format
-msgid "Failed to perform three-way merge...\n"
-msgstr ""
-
-#: apply.c:3654
-#, c-format
-msgid "Applied patch to '%s' with conflicts.\n"
-msgstr ""
-
-#: apply.c:3659
-#, c-format
-msgid "Applied patch to '%s' cleanly.\n"
-msgstr ""
-
-#: apply.c:3676
-#, c-format
-msgid "Falling back to direct application...\n"
-msgstr ""
-
-#: apply.c:3688
-msgid "removal patch leaves file contents"
-msgstr ""
-
-#: apply.c:3761
-#, c-format
-msgid "%s: wrong type"
-msgstr ""
-
-#: apply.c:3763
-#, c-format
-msgid "%s has type %o, expected %o"
-msgstr ""
-
-#: apply.c:3900 apply.c:3902 read-cache.c:903 read-cache.c:932
-#: read-cache.c:1399
-#, c-format
-msgid "invalid path '%s'"
-msgstr ""
-
-#: apply.c:3958
-#, c-format
-msgid "%s: already exists in index"
-msgstr ""
-
-#: apply.c:3962
-#, c-format
-msgid "%s: already exists in working directory"
-msgstr ""
-
-#: apply.c:3982
-#, c-format
-msgid "new mode (%o) of %s does not match old mode (%o)"
-msgstr ""
-
-#: apply.c:3987
-#, c-format
-msgid "new mode (%o) of %s does not match old mode (%o) of %s"
-msgstr ""
-
-#: apply.c:4007
-#, c-format
-msgid "affected file '%s' is beyond a symbolic link"
-msgstr ""
-
-#: apply.c:4011
-#, c-format
-msgid "%s: patch does not apply"
-msgstr ""
-
-#: apply.c:4026
-#, c-format
-msgid "Checking patch %s..."
-msgstr ""
-
-#: apply.c:4118
-#, c-format
-msgid "sha1 information is lacking or useless for submodule %s"
-msgstr ""
-
-#: apply.c:4125
-#, c-format
-msgid "mode change for %s, which is not in current HEAD"
-msgstr ""
-
-#: apply.c:4128
-#, c-format
-msgid "sha1 information is lacking or useless (%s)."
-msgstr ""
-
-#: apply.c:4137
-#, c-format
-msgid "could not add %s to temporary index"
-msgstr ""
-
-#: apply.c:4147
-#, c-format
-msgid "could not write temporary index to %s"
-msgstr ""
-
-#: apply.c:4285
-#, c-format
-msgid "unable to remove %s from index"
-msgstr ""
-
-#: apply.c:4319
-#, c-format
-msgid "corrupt patch for submodule %s"
-msgstr ""
-
-#: apply.c:4325
-#, c-format
-msgid "unable to stat newly created file '%s'"
-msgstr ""
-
-#: apply.c:4333
-#, c-format
-msgid "unable to create backing store for newly created file %s"
-msgstr ""
-
-#: apply.c:4339 apply.c:4484
-#, c-format
-msgid "unable to add cache entry for %s"
-msgstr ""
-
-#: apply.c:4382 builtin/bisect--helper.c:540 builtin/gc.c:2258
-#: builtin/gc.c:2293
-#, c-format
-msgid "failed to write to '%s'"
-msgstr ""
-
-#: apply.c:4386
-#, c-format
-msgid "closing file '%s'"
-msgstr ""
-
-#: apply.c:4456
-#, c-format
-msgid "unable to write file '%s' mode %o"
-msgstr ""
-
-#: apply.c:4554
-#, c-format
-msgid "Applied patch %s cleanly."
-msgstr ""
-
-#: apply.c:4562
-msgid "internal error"
-msgstr ""
-
-#: apply.c:4565
-#, c-format
-msgid "Applying patch %%s with %d reject..."
-msgid_plural "Applying patch %%s with %d rejects..."
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:4576
-#, c-format
-msgid "truncating .rej filename to %.*s.rej"
-msgstr ""
-
-#: apply.c:4584
-#, c-format
-msgid "cannot open %s"
-msgstr ""
-
-#: apply.c:4598
-#, c-format
-msgid "Hunk #%d applied cleanly."
-msgstr ""
-
-#: apply.c:4602
-#, c-format
-msgid "Rejected hunk #%d."
-msgstr ""
-
-#: apply.c:4731
-#, c-format
-msgid "Skipped patch '%s'."
-msgstr ""
-
-#: apply.c:4740
-msgid "No valid patches in input (allow with \"--allow-empty\")"
-msgstr ""
-
-#: apply.c:4761
-msgid "unable to read index file"
-msgstr ""
-
-#: apply.c:4918
-#, c-format
-msgid "can't open patch '%s': %s"
-msgstr ""
-
-#: apply.c:4945
-#, c-format
-msgid "squelched %d whitespace error"
-msgid_plural "squelched %d whitespace errors"
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:4951 apply.c:4966
-#, c-format
-msgid "%d line adds whitespace errors."
-msgid_plural "%d lines add whitespace errors."
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:4959
-#, c-format
-msgid "%d line applied after fixing whitespace errors."
-msgid_plural "%d lines applied after fixing whitespace errors."
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:4975 builtin/add.c:690 builtin/mv.c:338 builtin/rm.c:430
-msgid "Unable to write new index file"
-msgstr ""
-
-#: apply.c:5003
-msgid "don't apply changes matching the given path"
-msgstr ""
-
-#: apply.c:5006
-msgid "apply changes matching the given path"
-msgstr ""
-
-#: apply.c:5008 builtin/am.c:2379
-msgid "num"
-msgstr ""
-
-#: apply.c:5009
-msgid "remove <num> leading slashes from traditional diff paths"
-msgstr ""
-
-#: apply.c:5012
-msgid "ignore additions made by the patch"
-msgstr ""
-
-#: apply.c:5014
-msgid "instead of applying the patch, output diffstat for the input"
-msgstr ""
-
-#: apply.c:5018
-msgid "show number of added and deleted lines in decimal notation"
-msgstr ""
-
-#: apply.c:5020
-msgid "instead of applying the patch, output a summary for the input"
-msgstr ""
-
-#: apply.c:5022
-msgid "instead of applying the patch, see if the patch is applicable"
-msgstr ""
-
-#: apply.c:5024
-msgid "make sure the patch is applicable to the current index"
-msgstr ""
-
-#: apply.c:5026
-msgid "mark new files with `git add --intent-to-add`"
-msgstr ""
-
-#: apply.c:5028
-msgid "apply a patch without touching the working tree"
-msgstr ""
-
-#: apply.c:5030
-msgid "accept a patch that touches outside the working area"
-msgstr ""
-
-#: apply.c:5033
-msgid "also apply the patch (use with --stat/--summary/--check)"
-msgstr ""
-
-#: apply.c:5035
-msgid "attempt three-way merge, fall back on normal patch if that fails"
-msgstr ""
-
-#: apply.c:5037
-msgid "build a temporary index based on embedded index information"
-msgstr ""
-
-#: apply.c:5040 builtin/checkout-index.c:230
-msgid "paths are separated with NUL character"
-msgstr ""
-
-#: apply.c:5042
-msgid "ensure at least <n> lines of context match"
-msgstr ""
-
-#: apply.c:5043 builtin/am.c:2355 builtin/am.c:2358
-#: builtin/interpret-trailers.c:98 builtin/interpret-trailers.c:100
-#: builtin/interpret-trailers.c:102 builtin/pack-objects.c:3983
-#: builtin/rebase.c:1079
-msgid "action"
-msgstr ""
-
-#: apply.c:5044
-msgid "detect new or modified lines that have whitespace errors"
-msgstr ""
-
-#: apply.c:5047 apply.c:5050
-msgid "ignore changes in whitespace when finding context"
-msgstr ""
-
-#: apply.c:5053
-msgid "apply the patch in reverse"
-msgstr ""
-
-#: apply.c:5055
-msgid "don't expect at least one line of context"
-msgstr ""
-
-#: apply.c:5057
-msgid "leave the rejected hunks in corresponding *.rej files"
-msgstr ""
-
-#: apply.c:5059
-msgid "allow overlapping hunks"
-msgstr ""
-
-#: apply.c:5062
-msgid "tolerate incorrectly detected missing new-line at the end of file"
-msgstr ""
-
-#: apply.c:5065
-msgid "do not trust the line counts in the hunk headers"
-msgstr ""
-
-#: apply.c:5067 builtin/am.c:2367
-msgid "root"
-msgstr ""
-
-#: apply.c:5068
-msgid "prepend <root> to all filenames"
-msgstr ""
-
-#: apply.c:5071
-msgid "don't return error for empty patches"
-msgstr ""
-
-#: archive-tar.c:125 archive-zip.c:346
-#, c-format
-msgid "cannot stream blob %s"
-msgstr ""
-
-#: archive-tar.c:265 archive-zip.c:359
-#, c-format
-msgid "unsupported file mode: 0%o (SHA1: %s)"
-msgstr ""
-
-#: archive-tar.c:447
-#, c-format
-msgid "unable to start '%s' filter"
-msgstr ""
-
-#: archive-tar.c:450
-msgid "unable to redirect descriptor"
-msgstr ""
-
-#: archive-tar.c:457
-#, c-format
-msgid "'%s' filter reported error"
-msgstr ""
-
-#: archive-zip.c:319
-#, c-format
-msgid "path is not valid UTF-8: %s"
-msgstr ""
-
-#: archive-zip.c:323
-#, c-format
-msgid "path too long (%d chars, SHA1: %s): %s"
-msgstr ""
-
-#: archive-zip.c:470 builtin/pack-objects.c:363 builtin/pack-objects.c:366
-#, c-format
-msgid "deflate error (%d)"
-msgstr ""
-
-#: archive-zip.c:604
-#, c-format
-msgid "timestamp too large for this system: %<PRIuMAX>"
-msgstr ""
-
-#: archive.c:14
-msgid "git archive [<options>] <tree-ish> [<path>...]"
-msgstr ""
-
-#: archive.c:16
-msgid ""
-"git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"
-msgstr ""
-
-#: archive.c:17
-msgid "git archive --remote <repo> [--exec <cmd>] --list"
-msgstr ""
-
-#: archive.c:188 archive.c:341 builtin/gc.c:497 builtin/notes.c:238
-#: builtin/tag.c:579
-#, c-format
-msgid "cannot read '%s'"
-msgstr ""
-
-#: archive.c:426 builtin/add.c:214 builtin/add.c:657 builtin/rm.c:334
-#, c-format
-msgid "pathspec '%s' did not match any files"
-msgstr ""
-
-#: archive.c:450
-#, c-format
-msgid "no such ref: %.*s"
-msgstr ""
-
-#: archive.c:456
-#, c-format
-msgid "not a valid object name: %s"
-msgstr ""
-
-#: archive.c:469
-#, c-format
-msgid "not a tree object: %s"
-msgstr ""
-
-#: archive.c:481
-msgid "current working directory is untracked"
-msgstr ""
-
-#: archive.c:522
-#, c-format
-msgid "File not found: %s"
-msgstr ""
-
-#: archive.c:524
-#, c-format
-msgid "Not a regular file: %s"
-msgstr ""
-
-#: archive.c:551
-msgid "fmt"
-msgstr ""
-
-#: archive.c:551
-msgid "archive format"
-msgstr ""
-
-#: archive.c:552 builtin/log.c:1809
-msgid "prefix"
-msgstr ""
-
-#: archive.c:553
-msgid "prepend prefix to each pathname in the archive"
-msgstr ""
-
-#: archive.c:554 archive.c:557 builtin/blame.c:881 builtin/blame.c:885
-#: builtin/blame.c:886 builtin/commit-tree.c:115 builtin/config.c:135
-#: builtin/fast-export.c:1181 builtin/fast-export.c:1183
-#: builtin/fast-export.c:1187 builtin/grep.c:936 builtin/hash-object.c:104
-#: builtin/ls-files.c:654 builtin/ls-files.c:657 builtin/notes.c:410
-#: builtin/notes.c:576 builtin/read-tree.c:115 parse-options.h:195
-msgid "file"
-msgstr ""
-
-#: archive.c:555
-msgid "add untracked file to archive"
-msgstr ""
-
-#: archive.c:558 builtin/archive.c:88
-msgid "write the archive to this file"
-msgstr ""
-
-#: archive.c:560
-msgid "read .gitattributes in working directory"
-msgstr ""
-
-#: archive.c:561
-msgid "report archived files on stderr"
-msgstr ""
-
-#: archive.c:563
-msgid "set compression level"
-msgstr ""
-
-#: archive.c:566
-msgid "list supported archive formats"
-msgstr ""
-
-#: archive.c:568 builtin/archive.c:89 builtin/clone.c:122 builtin/clone.c:125
-#: builtin/submodule--helper.c:1884 builtin/submodule--helper.c:2718
-msgid "repo"
-msgstr ""
-
-#: archive.c:569 builtin/archive.c:90
-msgid "retrieve the archive from remote repository <repo>"
-msgstr ""
-
-#: archive.c:570 builtin/archive.c:91 builtin/difftool.c:708
-#: builtin/notes.c:496
-msgid "command"
-msgstr ""
-
-#: archive.c:571 builtin/archive.c:92
-msgid "path to the remote git-upload-archive command"
-msgstr ""
-
-#: archive.c:578
-msgid "Unexpected option --remote"
-msgstr ""
-
-#: archive.c:580 fetch-pack.c:300 revision.c:2914 builtin/add.c:530
-#: builtin/add.c:562 builtin/checkout.c:1782 builtin/clone.c:1099
-#: builtin/clone.c:1102 builtin/commit.c:371 builtin/fast-export.c:1230
-#: builtin/index-pack.c:1854 builtin/log.c:2140 builtin/reset.c:442
-#: builtin/reset.c:500 builtin/rm.c:281 builtin/stash.c:1708
-#: builtin/worktree.c:580 builtin/worktree.c:781 http-fetch.c:144
-#: http-fetch.c:153
-#, c-format
-msgid "the option '%s' requires '%s'"
-msgstr ""
-
-#: archive.c:582
-msgid "Unexpected option --output"
-msgstr ""
-
-#: archive.c:606
-#, c-format
-msgid "Unknown archive format '%s'"
-msgstr ""
-
-#: archive.c:615
-#, c-format
-msgid "Argument not supported for format '%s': -%d"
-msgstr ""
-
-#: attr.c:202
-#, c-format
-msgid "%.*s is not a valid attribute name"
-msgstr ""
-
-#: attr.c:363
-#, c-format
-msgid "%s not allowed: %s:%d"
-msgstr ""
-
-#: attr.c:403
-msgid ""
-"Negative patterns are ignored in git attributes\n"
-"Use '\\!' for literal leading exclamation."
-msgstr ""
-
-#: bisect.c:488
-#, c-format
-msgid "Badly quoted content in file '%s': %s"
-msgstr ""
-
-#: bisect.c:698
-#, c-format
-msgid "We cannot bisect more!\n"
-msgstr ""
-
-#: bisect.c:765
-#, c-format
-msgid "Not a valid commit name %s"
-msgstr ""
-
-#: bisect.c:790
-#, c-format
-msgid ""
-"The merge base %s is bad.\n"
-"This means the bug has been fixed between %s and [%s].\n"
-msgstr ""
-
-#: bisect.c:795
-#, c-format
-msgid ""
-"The merge base %s is new.\n"
-"The property has changed between %s and [%s].\n"
-msgstr ""
-
-#: bisect.c:800
-#, c-format
-msgid ""
-"The merge base %s is %s.\n"
-"This means the first '%s' commit is between %s and [%s].\n"
-msgstr ""
-
-#: bisect.c:808
-#, c-format
-msgid ""
-"Some %s revs are not ancestors of the %s rev.\n"
-"git bisect cannot work properly in this case.\n"
-"Maybe you mistook %s and %s revs?\n"
-msgstr ""
-
-#: bisect.c:821
-#, c-format
-msgid ""
-"the merge base between %s and [%s] must be skipped.\n"
-"So we cannot be sure the first %s commit is between %s and %s.\n"
-"We continue anyway."
-msgstr ""
-
-#: bisect.c:860
-#, c-format
-msgid "Bisecting: a merge base must be tested\n"
-msgstr ""
-
-#: bisect.c:910
-#, c-format
-msgid "a %s revision is needed"
-msgstr ""
-
-#: bisect.c:940
-#, c-format
-msgid "could not create file '%s'"
-msgstr ""
-
-#: bisect.c:986 builtin/merge.c:155
-#, c-format
-msgid "could not read file '%s'"
-msgstr ""
-
-#: bisect.c:1026
-msgid "reading bisect refs failed"
-msgstr ""
-
-#: bisect.c:1056
-#, c-format
-msgid "%s was both %s and %s\n"
-msgstr ""
-
-#: bisect.c:1065
-#, c-format
-msgid ""
-"No testable commit found.\n"
-"Maybe you started with bad path arguments?\n"
-msgstr ""
-
-#: bisect.c:1094
-#, c-format
-msgid "(roughly %d step)"
-msgid_plural "(roughly %d steps)"
-msgstr[0] ""
-msgstr[1] ""
-
-#. TRANSLATORS: the last %s will be replaced with "(roughly %d
-#. steps)" translation.
-#.
-#: bisect.c:1100
-#, c-format
-msgid "Bisecting: %d revision left to test after this %s\n"
-msgid_plural "Bisecting: %d revisions left to test after this %s\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: blame.c:2773
-msgid "--contents and --reverse do not blend well."
-msgstr ""
-
-#: blame.c:2787
-msgid "cannot use --contents with final commit object name"
-msgstr ""
-
-#: blame.c:2808
-msgid "--reverse and --first-parent together require specified latest commit"
-msgstr ""
-
-#: blame.c:2817 bundle.c:231 midx.c:1058 ref-filter.c:2371 remote.c:2157
-#: sequencer.c:2348 sequencer.c:4872 submodule.c:913 builtin/commit.c:1118
-#: builtin/log.c:437 builtin/log.c:1055 builtin/log.c:1663 builtin/log.c:2096
-#: builtin/log.c:2387 builtin/merge.c:431 builtin/pack-objects.c:3381
-#: builtin/pack-objects.c:3781 builtin/pack-objects.c:3796
-#: builtin/shortlog.c:255
-msgid "revision walk setup failed"
-msgstr ""
-
-#: blame.c:2835
-msgid ""
-"--reverse --first-parent together require range along first-parent chain"
-msgstr ""
-
-#: blame.c:2846
-#, c-format
-msgid "no such path %s in %s"
-msgstr ""
-
-#: blame.c:2857
-#, c-format
-msgid "cannot read blob %s for path %s"
-msgstr ""
-
-#: branch.c:93
-msgid ""
-"cannot inherit upstream tracking configuration of multiple refs when "
-"rebasing is requested"
-msgstr ""
-
-#: branch.c:104
-#, c-format
-msgid "not setting branch '%s' as its own upstream"
-msgstr ""
-
-#: branch.c:160
-#, c-format
-msgid "branch '%s' set up to track '%s' by rebasing."
-msgstr ""
-
-#: branch.c:161
-#, c-format
-msgid "branch '%s' set up to track '%s'."
-msgstr ""
-
-#: branch.c:164
-#, c-format
-msgid "branch '%s' set up to track:"
-msgstr ""
-
-#: branch.c:176
-msgid "unable to write upstream branch configuration"
-msgstr ""
-
-#: branch.c:178
-msgid ""
-"\n"
-"After fixing the error cause you may try to fix up\n"
-"the remote tracking information by invoking:"
-msgstr ""
-
-#: branch.c:219
-#, c-format
-msgid "asked to inherit tracking from '%s', but no remote is set"
-msgstr ""
-
-#: branch.c:225
-#, c-format
-msgid "asked to inherit tracking from '%s', but no merge configuration is set"
-msgstr ""
-
-#: branch.c:277
-#, c-format
-msgid "not tracking: ambiguous information for ref '%s'"
-msgstr ""
-
-#. TRANSLATORS: This is a line listing a remote with duplicate
-#. refspecs in the advice message below. For RTL languages you'll
-#. probably want to swap the "%s" and leading "  " space around.
-#.
-#. TRANSLATORS: This is line item of ambiguous object output
-#. from describe_ambiguous_object() above. For RTL languages
-#. you'll probably want to swap the "%s" and leading " " space
-#. around.
-#.
-#: branch.c:289 object-name.c:464
-#, c-format
-msgid "  %s\n"
-msgstr ""
-
-#. TRANSLATORS: The second argument is a \n-delimited list of
-#. duplicate refspecs, composed above.
-#.
-#: branch.c:295
-#, c-format
-msgid ""
-"There are multiple remotes whose fetch refspecs map to the remote\n"
-"tracking ref '%s':\n"
-"%s\n"
-"This is typically a configuration error.\n"
-"\n"
-"To support setting up tracking branches, ensure that\n"
-"different remotes' fetch refspecs map into different\n"
-"tracking namespaces."
-msgstr ""
-
-#: branch.c:344
-#, c-format
-msgid "'%s' is not a valid branch name"
-msgstr ""
-
-#: branch.c:364
-#, c-format
-msgid "a branch named '%s' already exists"
-msgstr ""
-
-#: branch.c:370
-#, c-format
-msgid "cannot force update the branch '%s' checked out at '%s'"
-msgstr ""
-
-#: branch.c:393
-#, c-format
-msgid "cannot set up tracking information; starting point '%s' is not a branch"
-msgstr ""
-
-#: branch.c:395
-#, c-format
-msgid "the requested upstream branch '%s' does not exist"
-msgstr ""
-
-#: branch.c:397
-msgid ""
-"\n"
-"If you are planning on basing your work on an upstream\n"
-"branch that already exists at the remote, you may need to\n"
-"run \"git fetch\" to retrieve it.\n"
-"\n"
-"If you are planning to push out a new local branch that\n"
-"will track its remote counterpart, you may want to use\n"
-"\"git push -u\" to set the upstream config as you push."
-msgstr ""
-
-#: branch.c:445 builtin/replace.c:321 builtin/replace.c:377
-#: builtin/replace.c:423 builtin/replace.c:453
-#, c-format
-msgid "not a valid object name: '%s'"
-msgstr ""
-
-#: branch.c:465
-#, c-format
-msgid "ambiguous object name: '%s'"
-msgstr ""
-
-#: branch.c:470
-#, c-format
-msgid "not a valid branch point: '%s'"
-msgstr ""
-
-#: branch.c:658
-#, c-format
-msgid "submodule '%s': unable to find submodule"
-msgstr ""
-
-#: branch.c:661
-#, c-format
-msgid ""
-"You may try updating the submodules using 'git checkout %s && git submodule "
-"update --init'"
-msgstr ""
-
-#: branch.c:672 branch.c:698
-#, c-format
-msgid "submodule '%s': cannot create branch '%s'"
-msgstr ""
-
-#: branch.c:730
-#, c-format
-msgid "'%s' is already checked out at '%s'"
-msgstr ""
-
-#: branch.c:755
-#, c-format
-msgid "HEAD of working tree %s is not updated"
-msgstr ""
-
-#: bundle.c:45
-#, c-format
-msgid "unrecognized bundle hash algorithm: %s"
-msgstr ""
-
-#: bundle.c:53
-#, c-format
-msgid "unknown capability '%s'"
-msgstr ""
-
-#: bundle.c:79
-#, c-format
-msgid "'%s' does not look like a v2 or v3 bundle file"
-msgstr ""
-
-#: bundle.c:118
-#, c-format
-msgid "unrecognized header: %s%s (%d)"
-msgstr ""
-
-#: bundle.c:145 rerere.c:464 rerere.c:675 sequencer.c:2616 sequencer.c:3402
-#: builtin/commit.c:865
-#, c-format
-msgid "could not open '%s'"
-msgstr ""
-
-#: bundle.c:203
-msgid "Repository lacks these prerequisite commits:"
-msgstr ""
-
-#: bundle.c:206
-msgid "need a repository to verify a bundle"
-msgstr ""
-
-#: bundle.c:264
-#, c-format
-msgid "The bundle contains this ref:"
-msgid_plural "The bundle contains these %<PRIuMAX> refs:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: bundle.c:272
-msgid "The bundle records a complete history."
-msgstr ""
-
-#: bundle.c:274
-#, c-format
-msgid "The bundle requires this ref:"
-msgid_plural "The bundle requires these %<PRIuMAX> refs:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: bundle.c:350
-msgid "unable to dup bundle descriptor"
-msgstr ""
-
-#: bundle.c:357
-msgid "Could not spawn pack-objects"
-msgstr ""
-
-#: bundle.c:368
-msgid "pack-objects died"
-msgstr ""
-
-#: bundle.c:417
-#, c-format
-msgid "ref '%s' is excluded by the rev-list options"
-msgstr ""
-
-#: bundle.c:533 builtin/log.c:211 builtin/log.c:1975 builtin/shortlog.c:400
-#, c-format
-msgid "unrecognized argument: %s"
-msgstr ""
-
-#: bundle.c:548
-#, c-format
-msgid "unsupported bundle version %d"
-msgstr ""
-
-#: bundle.c:550
-#, c-format
-msgid "cannot write bundle version %d with algorithm %s"
-msgstr ""
-
-#: bundle.c:600
-msgid "Refusing to create empty bundle."
-msgstr ""
-
-#: bundle.c:610
-#, c-format
-msgid "cannot create '%s'"
-msgstr ""
-
-#: bundle.c:639
-msgid "index-pack died"
-msgstr ""
-
-#: chunk-format.c:117
-msgid "terminating chunk id appears earlier than expected"
-msgstr ""
-
-#: chunk-format.c:126
-#, c-format
-msgid "improper chunk offset(s) %<PRIx64> and %<PRIx64>"
-msgstr ""
-
-#: chunk-format.c:133
-#, c-format
-msgid "duplicate chunk ID %<PRIx32> found"
-msgstr ""
-
-#: chunk-format.c:147
-#, c-format
-msgid "final chunk has non-zero id %<PRIx32>"
-msgstr ""
-
-#: color.c:354
-#, c-format
-msgid "invalid color value: %.*s"
-msgstr ""
-
-#: commit-graph.c:204 midx.c:52
-msgid "invalid hash version"
-msgstr ""
-
-#: commit-graph.c:262
-msgid "commit-graph file is too small"
-msgstr ""
-
-#: commit-graph.c:355
-#, c-format
-msgid "commit-graph signature %X does not match signature %X"
-msgstr ""
-
-#: commit-graph.c:362
-#, c-format
-msgid "commit-graph version %X does not match version %X"
-msgstr ""
-
-#: commit-graph.c:369
-#, c-format
-msgid "commit-graph hash version %X does not match version %X"
-msgstr ""
-
-#: commit-graph.c:386
-#, c-format
-msgid "commit-graph file is too small to hold %u chunks"
-msgstr ""
-
-#: commit-graph.c:485
-msgid "commit-graph has no base graphs chunk"
-msgstr ""
-
-#: commit-graph.c:495
-msgid "commit-graph chain does not match"
-msgstr ""
-
-#: commit-graph.c:543
-#, c-format
-msgid "invalid commit-graph chain: line '%s' not a hash"
-msgstr ""
-
-#: commit-graph.c:567
-msgid "unable to find all commit-graph files"
-msgstr ""
-
-#: commit-graph.c:752 commit-graph.c:789
-msgid "invalid commit position. commit-graph is likely corrupt"
-msgstr ""
-
-#: commit-graph.c:773
-#, c-format
-msgid "could not find commit %s"
-msgstr ""
-
-#: commit-graph.c:806
-msgid "commit-graph requires overflow generation data but has none"
-msgstr ""
-
-#: commit-graph.c:1111 builtin/am.c:1370 builtin/checkout.c:775
-#: builtin/clone.c:705
-#, c-format
-msgid "unable to parse commit %s"
-msgstr ""
-
-#: commit-graph.c:1373 builtin/pack-objects.c:3078
-#, c-format
-msgid "unable to get type of object %s"
-msgstr ""
-
-#: commit-graph.c:1404
-msgid "Loading known commits in commit graph"
-msgstr ""
-
-#: commit-graph.c:1421
-msgid "Expanding reachable commits in commit graph"
-msgstr ""
-
-#: commit-graph.c:1441
-msgid "Clearing commit marks in commit graph"
-msgstr ""
-
-#: commit-graph.c:1460
-msgid "Computing commit graph topological levels"
-msgstr ""
-
-#: commit-graph.c:1513
-msgid "Computing commit graph generation numbers"
-msgstr ""
-
-#: commit-graph.c:1598
-msgid "Computing commit changed paths Bloom filters"
-msgstr ""
-
-#: commit-graph.c:1675
-msgid "Collecting referenced commits"
-msgstr ""
-
-#: commit-graph.c:1701
-#, c-format
-msgid "Finding commits for commit graph in %<PRIuMAX> pack"
-msgid_plural "Finding commits for commit graph in %<PRIuMAX> packs"
-msgstr[0] ""
-msgstr[1] ""
-
-#: commit-graph.c:1714
-#, c-format
-msgid "error adding pack %s"
-msgstr ""
-
-#: commit-graph.c:1718
-#, c-format
-msgid "error opening index for %s"
-msgstr ""
-
-#: commit-graph.c:1756
-msgid "Finding commits for commit graph among packed objects"
-msgstr ""
-
-#: commit-graph.c:1774
-msgid "Finding extra edges in commit graph"
-msgstr ""
-
-#: commit-graph.c:1823
-msgid "failed to write correct number of base graph ids"
-msgstr ""
-
-#: commit-graph.c:1854 midx.c:1168 builtin/sparse-checkout.c:475
-#, c-format
-msgid "unable to create leading directories of %s"
-msgstr ""
-
-#: commit-graph.c:1868
-msgid "unable to create temporary graph layer"
-msgstr ""
-
-#: commit-graph.c:1873
-#, c-format
-msgid "unable to adjust shared permissions for '%s'"
-msgstr ""
-
-#: commit-graph.c:1930
-#, c-format
-msgid "Writing out commit graph in %d pass"
-msgid_plural "Writing out commit graph in %d passes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: commit-graph.c:1967
-msgid "unable to open commit-graph chain file"
-msgstr ""
-
-#: commit-graph.c:1983
-msgid "failed to rename base commit-graph file"
-msgstr ""
-
-#: commit-graph.c:2004
-msgid "failed to rename temporary commit-graph file"
-msgstr ""
-
-#: commit-graph.c:2137
-msgid "Scanning merged commits"
-msgstr ""
-
-#: commit-graph.c:2181
-msgid "Merging commit-graph"
-msgstr ""
-
-#: commit-graph.c:2289
-msgid "attempting to write a commit-graph, but 'core.commitGraph' is disabled"
-msgstr ""
-
-#: commit-graph.c:2396
-msgid "too many commits to write graph"
-msgstr ""
-
-#: commit-graph.c:2494
-msgid "the commit-graph file has incorrect checksum and is likely corrupt"
-msgstr ""
-
-#: commit-graph.c:2504
-#, c-format
-msgid "commit-graph has incorrect OID order: %s then %s"
-msgstr ""
-
-#: commit-graph.c:2514 commit-graph.c:2529
-#, c-format
-msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
-msgstr ""
-
-#: commit-graph.c:2521
-#, c-format
-msgid "failed to parse commit %s from commit-graph"
-msgstr ""
-
-#: commit-graph.c:2539
-msgid "Verifying commits in commit graph"
-msgstr ""
-
-#: commit-graph.c:2554
-#, c-format
-msgid "failed to parse commit %s from object database for commit-graph"
-msgstr ""
-
-#: commit-graph.c:2561
-#, c-format
-msgid "root tree OID for commit %s in commit-graph is %s != %s"
-msgstr ""
-
-#: commit-graph.c:2571
-#, c-format
-msgid "commit-graph parent list for commit %s is too long"
-msgstr ""
-
-#: commit-graph.c:2580
-#, c-format
-msgid "commit-graph parent for %s is %s != %s"
-msgstr ""
-
-#: commit-graph.c:2594
-#, c-format
-msgid "commit-graph parent list for commit %s terminates early"
-msgstr ""
-
-#: commit-graph.c:2599
-#, c-format
-msgid ""
-"commit-graph has generation number zero for commit %s, but non-zero elsewhere"
-msgstr ""
-
-#: commit-graph.c:2603
-#, c-format
-msgid ""
-"commit-graph has non-zero generation number for commit %s, but zero elsewhere"
-msgstr ""
-
-#: commit-graph.c:2620
-#, c-format
-msgid "commit-graph generation for commit %s is %<PRIuMAX> < %<PRIuMAX>"
-msgstr ""
-
-#: commit-graph.c:2626
-#, c-format
-msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
-msgstr ""
-
-#: commit.c:54 sequencer.c:3105 builtin/am.c:400 builtin/am.c:445
-#: builtin/am.c:450 builtin/am.c:1449 builtin/am.c:2124 builtin/replace.c:456
-#, c-format
-msgid "could not parse %s"
-msgstr ""
-
-#: commit.c:56
-#, c-format
-msgid "%s %s is not a commit!"
-msgstr ""
-
-#: commit.c:197
-msgid ""
-"Support for <GIT_DIR>/info/grafts is deprecated\n"
-"and will be removed in a future Git version.\n"
-"\n"
-"Please use \"git replace --convert-graft-file\"\n"
-"to convert the grafts into replace refs.\n"
-"\n"
-"Turn this message off by running\n"
-"\"git config advice.graftFileDeprecated false\""
-msgstr ""
-
-#: commit.c:1252
-#, c-format
-msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
-msgstr ""
-
-#: commit.c:1256
-#, c-format
-msgid "Commit %s has a bad GPG signature allegedly by %s."
-msgstr ""
-
-#: commit.c:1259
-#, c-format
-msgid "Commit %s does not have a GPG signature."
-msgstr ""
-
-#: commit.c:1262
-#, c-format
-msgid "Commit %s has a good GPG signature by %s\n"
-msgstr ""
-
-#: commit.c:1516
-msgid ""
-"Warning: commit message did not conform to UTF-8.\n"
-"You may want to amend it after fixing the message, or set the config\n"
-"variable i18n.commitencoding to the encoding your project uses.\n"
-msgstr ""
-
-#: compat/obstack.c:406 compat/obstack.c:408
-msgid "memory exhausted"
-msgstr ""
-
-#: compat/terminal.c:167
-msgid "cannot resume in the background, please use 'fg' to resume"
-msgstr ""
-
-#: compat/terminal.c:168
-msgid "cannot restore terminal settings"
-msgstr ""
-
-#: config.c:143
-#, c-format
-msgid ""
-"exceeded maximum include depth (%d) while including\n"
-"\t%s\n"
-"from\n"
-"\t%s\n"
-"This might be due to circular includes."
-msgstr ""
-
-#: config.c:159
-#, c-format
-msgid "could not expand include path '%s'"
-msgstr ""
-
-#: config.c:170
-msgid "relative config includes must come from files"
-msgstr ""
-
-#: config.c:219
-msgid "relative config include conditionals must come from files"
-msgstr ""
-
-#: config.c:364
-msgid ""
-"remote URLs cannot be configured in file directly or indirectly included by "
-"includeIf.hasconfig:remote.*.url"
-msgstr ""
-
-#: config.c:508
-#, c-format
-msgid "invalid config format: %s"
-msgstr ""
-
-#: config.c:512
-#, c-format
-msgid "missing environment variable name for configuration '%.*s'"
-msgstr ""
-
-#: config.c:517
-#, c-format
-msgid "missing environment variable '%s' for configuration '%.*s'"
-msgstr ""
-
-#: config.c:553
-#, c-format
-msgid "key does not contain a section: %s"
-msgstr ""
-
-#: config.c:558
-#, c-format
-msgid "key does not contain variable name: %s"
-msgstr ""
-
-#: config.c:580 sequencer.c:2802
-#, c-format
-msgid "invalid key: %s"
-msgstr ""
-
-#: config.c:585
-#, c-format
-msgid "invalid key (newline): %s"
-msgstr ""
-
-#: config.c:605
-msgid "empty config key"
-msgstr ""
-
-#: config.c:623 config.c:635
-#, c-format
-msgid "bogus config parameter: %s"
-msgstr ""
-
-#: config.c:649 config.c:666 config.c:673 config.c:682
-#, c-format
-msgid "bogus format in %s"
-msgstr ""
-
-#: config.c:716
-#, c-format
-msgid "bogus count in %s"
-msgstr ""
-
-#: config.c:720
-#, c-format
-msgid "too many entries in %s"
-msgstr ""
-
-#: config.c:730
-#, c-format
-msgid "missing config key %s"
-msgstr ""
-
-#: config.c:738
-#, c-format
-msgid "missing config value %s"
-msgstr ""
-
-#: config.c:1089
-#, c-format
-msgid "bad config line %d in blob %s"
-msgstr ""
-
-#: config.c:1093
-#, c-format
-msgid "bad config line %d in file %s"
-msgstr ""
-
-#: config.c:1097
-#, c-format
-msgid "bad config line %d in standard input"
-msgstr ""
-
-#: config.c:1101
-#, c-format
-msgid "bad config line %d in submodule-blob %s"
-msgstr ""
-
-#: config.c:1105
-#, c-format
-msgid "bad config line %d in command line %s"
-msgstr ""
-
-#: config.c:1109
-#, c-format
-msgid "bad config line %d in %s"
-msgstr ""
-
-#: config.c:1246
-msgid "out of range"
-msgstr ""
-
-#: config.c:1246
-msgid "invalid unit"
-msgstr ""
-
-#: config.c:1247
-#, c-format
-msgid "bad numeric config value '%s' for '%s': %s"
-msgstr ""
-
-#: config.c:1257
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
-msgstr ""
-
-#: config.c:1260
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in file %s: %s"
-msgstr ""
-
-#: config.c:1263
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in standard input: %s"
-msgstr ""
-
-#: config.c:1266
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
-msgstr ""
-
-#: config.c:1269
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
-msgstr ""
-
-#: config.c:1272
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in %s: %s"
-msgstr ""
-
-#: config.c:1368
-#, c-format
-msgid "invalid value for variable %s"
-msgstr ""
-
-#: config.c:1389
-#, c-format
-msgid "ignoring unknown core.fsync component '%s'"
-msgstr ""
-
-#: config.c:1425
-#, c-format
-msgid "bad boolean config value '%s' for '%s'"
-msgstr ""
-
-#: config.c:1443
-#, c-format
-msgid "failed to expand user dir in: '%s'"
-msgstr ""
-
-#: config.c:1452
-#, c-format
-msgid "'%s' for '%s' is not a valid timestamp"
-msgstr ""
-
-#: config.c:1545
-#, c-format
-msgid "abbrev length out of range: %d"
-msgstr ""
-
-#: config.c:1559 config.c:1570
-#, c-format
-msgid "bad zlib compression level %d"
-msgstr ""
-
-#: config.c:1660
-msgid "core.commentChar should only be one character"
-msgstr ""
-
-#: config.c:1692
-#, c-format
-msgid "ignoring unknown core.fsyncMethod value '%s'"
-msgstr ""
-
-#: config.c:1698
-msgid "core.fsyncObjectFiles is deprecated; use core.fsync instead"
-msgstr ""
-
-#: config.c:1714
-#, c-format
-msgid "invalid mode for object creation: %s"
-msgstr ""
-
-#: config.c:1800
-#, c-format
-msgid "malformed value for %s"
-msgstr ""
-
-#: config.c:1826
-#, c-format
-msgid "malformed value for %s: %s"
-msgstr ""
-
-#: config.c:1827
-msgid "must be one of nothing, matching, simple, upstream or current"
-msgstr ""
-
-#: config.c:1888 builtin/pack-objects.c:4078
-#, c-format
-msgid "bad pack compression level %d"
-msgstr ""
-
-#: config.c:2014
-#, c-format
-msgid "unable to load config blob object '%s'"
-msgstr ""
-
-#: config.c:2017
-#, c-format
-msgid "reference '%s' does not point to a blob"
-msgstr ""
-
-#: config.c:2035
-#, c-format
-msgid "unable to resolve config blob '%s'"
-msgstr ""
-
-#: config.c:2080
-#, c-format
-msgid "failed to parse %s"
-msgstr ""
-
-#: config.c:2136
-msgid "unable to parse command-line config"
-msgstr ""
-
-#: config.c:2512
-msgid "unknown error occurred while reading the configuration files"
-msgstr ""
-
-#: config.c:2686
-#, c-format
-msgid "Invalid %s: '%s'"
-msgstr ""
-
-#: config.c:2731
-#, c-format
-msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
-msgstr ""
-
-#: config.c:2763
-#, c-format
-msgid "unable to parse '%s' from command-line config"
-msgstr ""
-
-#: config.c:2765
-#, c-format
-msgid "bad config variable '%s' in file '%s' at line %d"
-msgstr ""
-
-#: config.c:2850
-#, c-format
-msgid "invalid section name '%s'"
-msgstr ""
-
-#: config.c:2882
-#, c-format
-msgid "%s has multiple values"
-msgstr ""
-
-#: config.c:2911
-#, c-format
-msgid "failed to write new configuration file %s"
-msgstr ""
-
-#: config.c:3177 config.c:3518
-#, c-format
-msgid "could not lock config file %s"
-msgstr ""
-
-#: config.c:3188
-#, c-format
-msgid "opening %s"
-msgstr ""
-
-#: config.c:3225 builtin/config.c:361
-#, c-format
-msgid "invalid pattern: %s"
-msgstr ""
-
-#: config.c:3250
-#, c-format
-msgid "invalid config file %s"
-msgstr ""
-
-#: config.c:3263 config.c:3531
-#, c-format
-msgid "fstat on %s failed"
-msgstr ""
-
-#: config.c:3274
-#, c-format
-msgid "unable to mmap '%s'%s"
-msgstr ""
-
-#: config.c:3284 config.c:3536
-#, c-format
-msgid "chmod on %s failed"
-msgstr ""
-
-#: config.c:3369 config.c:3633
-#, c-format
-msgid "could not write config file %s"
-msgstr ""
-
-#: config.c:3403
-#, c-format
-msgid "could not set '%s' to '%s'"
-msgstr ""
-
-#: config.c:3405 builtin/remote.c:666 builtin/remote.c:885 builtin/remote.c:893
-#, c-format
-msgid "could not unset '%s'"
-msgstr ""
-
-#: config.c:3509
-#, c-format
-msgid "invalid section name: %s"
-msgstr ""
-
-#: config.c:3676
-#, c-format
-msgid "missing value for '%s'"
-msgstr ""
-
-#: connect.c:61
-msgid "the remote end hung up upon initial contact"
-msgstr ""
-
-#: connect.c:63
-msgid ""
-"Could not read from remote repository.\n"
-"\n"
-"Please make sure you have the correct access rights\n"
-"and the repository exists."
-msgstr ""
-
-#: connect.c:81
-#, c-format
-msgid "server doesn't support '%s'"
-msgstr ""
-
-#: connect.c:118
-#, c-format
-msgid "server doesn't support feature '%s'"
-msgstr ""
-
-#: connect.c:129
-msgid "expected flush after capabilities"
-msgstr ""
-
-#: connect.c:265
-#, c-format
-msgid "ignoring capabilities after first line '%s'"
-msgstr ""
-
-#: connect.c:286
-msgid "protocol error: unexpected capabilities^{}"
-msgstr ""
-
-#: connect.c:308
-#, c-format
-msgid "protocol error: expected shallow sha-1, got '%s'"
-msgstr ""
-
-#: connect.c:310
-msgid "repository on the other end cannot be shallow"
-msgstr ""
-
-#: connect.c:349
-msgid "invalid packet"
-msgstr ""
-
-#: connect.c:369
-#, c-format
-msgid "protocol error: unexpected '%s'"
-msgstr ""
-
-#: connect.c:499
-#, c-format
-msgid "unknown object format '%s' specified by server"
-msgstr ""
-
-#: connect.c:528
-#, c-format
-msgid "invalid ls-refs response: %s"
-msgstr ""
-
-#: connect.c:532
-msgid "expected flush after ref listing"
-msgstr ""
-
-#: connect.c:535
-msgid "expected response end packet after ref listing"
-msgstr ""
-
-#: connect.c:670
-#, c-format
-msgid "protocol '%s' is not supported"
-msgstr ""
-
-#: connect.c:721
-msgid "unable to set SO_KEEPALIVE on socket"
-msgstr ""
-
-#: connect.c:761 connect.c:824
-#, c-format
-msgid "Looking up %s ... "
-msgstr ""
-
-#: connect.c:765
-#, c-format
-msgid "unable to look up %s (port %s) (%s)"
-msgstr ""
-
-#. TRANSLATORS: this is the end of "Looking up %s ... "
-#: connect.c:769 connect.c:840
-#, c-format
-msgid ""
-"done.\n"
-"Connecting to %s (port %s) ... "
-msgstr ""
-
-#: connect.c:791 connect.c:868
-#, c-format
-msgid ""
-"unable to connect to %s:\n"
-"%s"
-msgstr ""
-
-#. TRANSLATORS: this is the end of "Connecting to %s (port %s) ... "
-#: connect.c:797 connect.c:874
-msgid "done."
-msgstr ""
-
-#: connect.c:828
-#, c-format
-msgid "unable to look up %s (%s)"
-msgstr ""
-
-#: connect.c:834
-#, c-format
-msgid "unknown port %s"
-msgstr ""
-
-#: connect.c:971 connect.c:1303
-#, c-format
-msgid "strange hostname '%s' blocked"
-msgstr ""
-
-#: connect.c:973
-#, c-format
-msgid "strange port '%s' blocked"
-msgstr ""
-
-#: connect.c:983
-#, c-format
-msgid "cannot start proxy %s"
-msgstr ""
-
-#: connect.c:1054
-msgid "no path specified; see 'git help pull' for valid url syntax"
-msgstr ""
-
-#: connect.c:1194
-msgid "newline is forbidden in git:// hosts and repo paths"
-msgstr ""
-
-#: connect.c:1251
-msgid "ssh variant 'simple' does not support -4"
-msgstr ""
-
-#: connect.c:1263
-msgid "ssh variant 'simple' does not support -6"
-msgstr ""
-
-#: connect.c:1280
-msgid "ssh variant 'simple' does not support setting port"
-msgstr ""
-
-#: connect.c:1392
-#, c-format
-msgid "strange pathname '%s' blocked"
-msgstr ""
-
-#: connect.c:1440
-msgid "unable to fork"
-msgstr ""
-
-#: connected.c:109 builtin/fsck.c:189 builtin/prune.c:57
-msgid "Checking connectivity"
-msgstr ""
-
-#: connected.c:122
-msgid "Could not run 'git rev-list'"
-msgstr ""
-
-#: connected.c:146
-msgid "failed write to rev-list"
-msgstr ""
-
-#: connected.c:151
-msgid "failed to close rev-list's stdin"
-msgstr ""
-
-#: convert.c:183
-#, c-format
-msgid "illegal crlf_action %d"
-msgstr ""
-
-#: convert.c:196
-#, c-format
-msgid "CRLF would be replaced by LF in %s"
-msgstr ""
-
-#: convert.c:198
-#, c-format
-msgid ""
-"CRLF will be replaced by LF in %s.\n"
-"The file will have its original line endings in your working directory"
-msgstr ""
-
-#: convert.c:206
-#, c-format
-msgid "LF would be replaced by CRLF in %s"
-msgstr ""
-
-#: convert.c:208
-#, c-format
-msgid ""
-"LF will be replaced by CRLF in %s.\n"
-"The file will have its original line endings in your working directory"
-msgstr ""
-
-#: convert.c:273
-#, c-format
-msgid "BOM is prohibited in '%s' if encoded as %s"
-msgstr ""
-
-#: convert.c:280
-#, c-format
-msgid ""
-"The file '%s' contains a byte order mark (BOM). Please use UTF-%.*s as "
-"working-tree-encoding."
-msgstr ""
-
-#: convert.c:293
-#, c-format
-msgid "BOM is required in '%s' if encoded as %s"
-msgstr ""
-
-#: convert.c:295
-#, c-format
-msgid ""
-"The file '%s' is missing a byte order mark (BOM). Please use UTF-%sBE or UTF-"
-"%sLE (depending on the byte order) as working-tree-encoding."
-msgstr ""
-
-#: convert.c:408 convert.c:479
-#, c-format
-msgid "failed to encode '%s' from %s to %s"
-msgstr ""
-
-#: convert.c:451
-#, c-format
-msgid "encoding '%s' from %s to %s and back is not the same"
-msgstr ""
-
-#: convert.c:654
-#, c-format
-msgid "cannot fork to run external filter '%s'"
-msgstr ""
-
-#: convert.c:674
-#, c-format
-msgid "cannot feed the input to external filter '%s'"
-msgstr ""
-
-#: convert.c:681
-#, c-format
-msgid "external filter '%s' failed %d"
-msgstr ""
-
-#: convert.c:716 convert.c:719
-#, c-format
-msgid "read from external filter '%s' failed"
-msgstr ""
-
-#: convert.c:722 convert.c:777
-#, c-format
-msgid "external filter '%s' failed"
-msgstr ""
-
-#: convert.c:826
-msgid "unexpected filter type"
-msgstr ""
-
-#: convert.c:837
-msgid "path name too long for external filter"
-msgstr ""
-
-#: convert.c:935
-#, c-format
-msgid ""
-"external filter '%s' is not available anymore although not all paths have "
-"been filtered"
-msgstr ""
-
-#: convert.c:1236
-msgid "true/false are no valid working-tree-encodings"
-msgstr ""
-
-#: convert.c:1416 convert.c:1449
-#, c-format
-msgid "%s: clean filter '%s' failed"
-msgstr ""
-
-#: convert.c:1492
-#, c-format
-msgid "%s: smudge filter %s failed"
-msgstr ""
-
-#: credential.c:96
-#, c-format
-msgid "skipping credential lookup for key: credential.%s"
-msgstr ""
-
-#: credential.c:112
-msgid "refusing to work with credential missing host field"
-msgstr ""
-
-#: credential.c:114
-msgid "refusing to work with credential missing protocol field"
-msgstr ""
-
-#: credential.c:396
-#, c-format
-msgid "url contains a newline in its %s component: %s"
-msgstr ""
-
-#: credential.c:440
-#, c-format
-msgid "url has no scheme: %s"
-msgstr ""
-
-#: credential.c:513
-#, c-format
-msgid "credential url cannot be parsed: %s"
-msgstr ""
-
-#: date.c:139
-msgid "in the future"
-msgstr ""
-
-#: date.c:145
-#, c-format
-msgid "%<PRIuMAX> second ago"
-msgid_plural "%<PRIuMAX> seconds ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:152
-#, c-format
-msgid "%<PRIuMAX> minute ago"
-msgid_plural "%<PRIuMAX> minutes ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:159
-#, c-format
-msgid "%<PRIuMAX> hour ago"
-msgid_plural "%<PRIuMAX> hours ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:166
-#, c-format
-msgid "%<PRIuMAX> day ago"
-msgid_plural "%<PRIuMAX> days ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:172
-#, c-format
-msgid "%<PRIuMAX> week ago"
-msgid_plural "%<PRIuMAX> weeks ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:179
-#, c-format
-msgid "%<PRIuMAX> month ago"
-msgid_plural "%<PRIuMAX> months ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:190
-#, c-format
-msgid "%<PRIuMAX> year"
-msgid_plural "%<PRIuMAX> years"
-msgstr[0] ""
-msgstr[1] ""
-
-#. TRANSLATORS: "%s" is "<n> years"
-#: date.c:193
-#, c-format
-msgid "%s, %<PRIuMAX> month ago"
-msgid_plural "%s, %<PRIuMAX> months ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:198 date.c:203
-#, c-format
-msgid "%<PRIuMAX> year ago"
-msgid_plural "%<PRIuMAX> years ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: delta-islands.c:272
-msgid "Propagating island marks"
-msgstr ""
-
-#: delta-islands.c:290
-#, c-format
-msgid "bad tree object %s"
-msgstr ""
-
-#: delta-islands.c:334
-#, c-format
-msgid "failed to load island regex for '%s': %s"
-msgstr ""
-
-#: delta-islands.c:390
-#, c-format
-msgid "island regex from config has too many capture groups (max=%d)"
-msgstr ""
-
-#: delta-islands.c:467
-#, c-format
-msgid "Marked %d islands, done.\n"
-msgstr ""
-
-#: diff-merges.c:81 gpg-interface.c:719 gpg-interface.c:734 ls-refs.c:37
-#: parallel-checkout.c:42 sequencer.c:2805 setup.c:563 builtin/am.c:203
-#: builtin/am.c:2243 builtin/am.c:2287 builtin/blame.c:724 builtin/blame.c:742
-#: builtin/fetch.c:792 builtin/pack-objects.c:3515 builtin/pull.c:45
-#: builtin/pull.c:47 builtin/pull.c:321
-#, c-format
-msgid "invalid value for '%s': '%s'"
-msgstr ""
-
-#: diff-lib.c:561
-msgid "--merge-base does not work with ranges"
-msgstr ""
-
-#: diff-lib.c:563
-msgid "--merge-base only works with commits"
-msgstr ""
-
-#: diff-lib.c:580
-msgid "unable to get HEAD"
-msgstr ""
-
-#: diff-lib.c:587
-msgid "no merge base found"
-msgstr ""
-
-#: diff-lib.c:589
-msgid "multiple merge bases found"
-msgstr ""
-
-#: diff-no-index.c:237
-msgid "git diff --no-index [<options>] <path> <path>"
-msgstr ""
-
-#: diff-no-index.c:262
-msgid ""
-"Not a git repository. Use --no-index to compare two paths outside a working "
-"tree"
-msgstr ""
-
-#: diff.c:159
-#, c-format
-msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
-msgstr ""
-
-#: diff.c:164
-#, c-format
-msgid "  Unknown dirstat parameter '%s'\n"
-msgstr ""
-
-#: diff.c:300
-msgid ""
-"color moved setting must be one of 'no', 'default', 'blocks', 'zebra', "
-"'dimmed-zebra', 'plain'"
-msgstr ""
-
-#: diff.c:328
-#, c-format
-msgid ""
-"unknown color-moved-ws mode '%s', possible values are 'ignore-space-change', "
-"'ignore-space-at-eol', 'ignore-all-space', 'allow-indentation-change'"
-msgstr ""
-
-#: diff.c:336
-msgid ""
-"color-moved-ws: allow-indentation-change cannot be combined with other "
-"whitespace modes"
-msgstr ""
-
-#: diff.c:413
-#, c-format
-msgid "Unknown value for 'diff.submodule' config variable: '%s'"
-msgstr ""
-
-#: diff.c:473
-#, c-format
-msgid ""
-"Found errors in 'diff.dirstat' config variable:\n"
-"%s"
-msgstr ""
-
-#: diff.c:4282
-#, c-format
-msgid "external diff died, stopping at %s"
-msgstr ""
-
-#: diff.c:4677 parse-options.c:1114
-#, c-format
-msgid "options '%s', '%s', '%s', and '%s' cannot be used together"
-msgstr ""
-
-#: diff.c:4681 parse-options.c:1118 builtin/worktree.c:578
-#, c-format
-msgid "options '%s', '%s', and '%s' cannot be used together"
-msgstr ""
-
-#: diff.c:4685
-#, c-format
-msgid "options '%s' and '%s' cannot be used together, use '%s' with '%s'"
-msgstr ""
-
-#: diff.c:4689
-#, c-format
-msgid ""
-"options '%s' and '%s' cannot be used together, use '%s' with '%s' and '%s'"
-msgstr ""
-
-#: diff.c:4769
-msgid "--follow requires exactly one pathspec"
-msgstr ""
-
-#: diff.c:4823
-#, c-format
-msgid "invalid --stat value: %s"
-msgstr ""
-
-#: diff.c:4828 diff.c:4833 diff.c:4838 diff.c:4843 diff.c:5319
-#: parse-options.c:217 parse-options.c:221
-#, c-format
-msgid "%s expects a numerical value"
-msgstr ""
-
-#: diff.c:4860
-#, c-format
-msgid ""
-"Failed to parse --dirstat/-X option parameter:\n"
-"%s"
-msgstr ""
-
-#: diff.c:4893
-#, c-format
-msgid "unknown change class '%c' in --diff-filter=%s"
-msgstr ""
-
-#: diff.c:4917
-#, c-format
-msgid "unknown value after ws-error-highlight=%.*s"
-msgstr ""
-
-#: diff.c:4931
-#, c-format
-msgid "unable to resolve '%s'"
-msgstr ""
-
-#: diff.c:4981 diff.c:4987
-#, c-format
-msgid "%s expects <n>/<m> form"
-msgstr ""
-
-#: diff.c:4999
-#, c-format
-msgid "%s expects a character, got '%s'"
-msgstr ""
-
-#: diff.c:5020
-#, c-format
-msgid "bad --color-moved argument: %s"
-msgstr ""
-
-#: diff.c:5039
-#, c-format
-msgid "invalid mode '%s' in --color-moved-ws"
-msgstr ""
-
-#: diff.c:5079
-msgid ""
-"option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
-"\"histogram\""
-msgstr ""
-
-#: diff.c:5115 diff.c:5135
-#, c-format
-msgid "invalid argument to %s"
-msgstr ""
-
-#: diff.c:5239
-#, c-format
-msgid "invalid regex given to -I: '%s'"
-msgstr ""
-
-#: diff.c:5288
-#, c-format
-msgid "failed to parse --submodule option parameter: '%s'"
-msgstr ""
-
-#: diff.c:5344
-#, c-format
-msgid "bad --word-diff argument: %s"
-msgstr ""
-
-#: diff.c:5380
-msgid "Diff output format options"
-msgstr ""
-
-#: diff.c:5382 diff.c:5388
-msgid "generate patch"
-msgstr ""
-
-#: diff.c:5385 builtin/log.c:180
-msgid "suppress diff output"
-msgstr ""
-
-#: diff.c:5390 diff.c:5504 diff.c:5511
-msgid "<n>"
-msgstr ""
-
-#: diff.c:5391 diff.c:5394
-msgid "generate diffs with <n> lines context"
-msgstr ""
-
-#: diff.c:5396
-msgid "generate the diff in raw format"
-msgstr ""
-
-#: diff.c:5399
-msgid "synonym for '-p --raw'"
-msgstr ""
-
-#: diff.c:5403
-msgid "synonym for '-p --stat'"
-msgstr ""
-
-#: diff.c:5407
-msgid "machine friendly --stat"
-msgstr ""
-
-#: diff.c:5410
-msgid "output only the last line of --stat"
-msgstr ""
-
-#: diff.c:5412 diff.c:5420
-msgid "<param1,param2>..."
-msgstr ""
-
-#: diff.c:5413
-msgid ""
-"output the distribution of relative amount of changes for each sub-directory"
-msgstr ""
-
-#: diff.c:5417
-msgid "synonym for --dirstat=cumulative"
-msgstr ""
-
-#: diff.c:5421
-msgid "synonym for --dirstat=files,param1,param2..."
-msgstr ""
-
-#: diff.c:5425
-msgid "warn if changes introduce conflict markers or whitespace errors"
-msgstr ""
-
-#: diff.c:5428
-msgid "condensed summary such as creations, renames and mode changes"
-msgstr ""
-
-#: diff.c:5431
-msgid "show only names of changed files"
-msgstr ""
-
-#: diff.c:5434
-msgid "show only names and status of changed files"
-msgstr ""
-
-#: diff.c:5436
-msgid "<width>[,<name-width>[,<count>]]"
-msgstr ""
-
-#: diff.c:5437
-msgid "generate diffstat"
-msgstr ""
-
-#: diff.c:5439 diff.c:5442 diff.c:5445
-msgid "<width>"
-msgstr ""
-
-#: diff.c:5440
-msgid "generate diffstat with a given width"
-msgstr ""
-
-#: diff.c:5443
-msgid "generate diffstat with a given name width"
-msgstr ""
-
-#: diff.c:5446
-msgid "generate diffstat with a given graph width"
-msgstr ""
-
-#: diff.c:5448
-msgid "<count>"
-msgstr ""
-
-#: diff.c:5449
-msgid "generate diffstat with limited lines"
-msgstr ""
-
-#: diff.c:5452
-msgid "generate compact summary in diffstat"
-msgstr ""
-
-#: diff.c:5455
-msgid "output a binary diff that can be applied"
-msgstr ""
-
-#: diff.c:5458
-msgid "show full pre- and post-image object names on the \"index\" lines"
-msgstr ""
-
-#: diff.c:5460
-msgid "show colored diff"
-msgstr ""
-
-#: diff.c:5461
-msgid "<kind>"
-msgstr ""
-
-#: diff.c:5462
-msgid ""
-"highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
-"diff"
-msgstr ""
-
-#: diff.c:5465
-msgid ""
-"do not munge pathnames and use NULs as output field terminators in --raw or "
-"--numstat"
-msgstr ""
-
-#: diff.c:5468 diff.c:5471 diff.c:5474 diff.c:5583
-msgid "<prefix>"
-msgstr ""
-
-#: diff.c:5469
-msgid "show the given source prefix instead of \"a/\""
-msgstr ""
-
-#: diff.c:5472
-msgid "show the given destination prefix instead of \"b/\""
-msgstr ""
-
-#: diff.c:5475
-msgid "prepend an additional prefix to every line of output"
-msgstr ""
-
-#: diff.c:5478
-msgid "do not show any source or destination prefix"
-msgstr ""
-
-#: diff.c:5481
-msgid "show context between diff hunks up to the specified number of lines"
-msgstr ""
-
-#: diff.c:5485 diff.c:5490 diff.c:5495
-msgid "<char>"
-msgstr ""
-
-#: diff.c:5486
-msgid "specify the character to indicate a new line instead of '+'"
-msgstr ""
-
-#: diff.c:5491
-msgid "specify the character to indicate an old line instead of '-'"
-msgstr ""
-
-#: diff.c:5496
-msgid "specify the character to indicate a context instead of ' '"
-msgstr ""
-
-#: diff.c:5499
-msgid "Diff rename options"
-msgstr ""
-
-#: diff.c:5500
-msgid "<n>[/<m>]"
-msgstr ""
-
-#: diff.c:5501
-msgid "break complete rewrite changes into pairs of delete and create"
-msgstr ""
-
-#: diff.c:5505
-msgid "detect renames"
-msgstr ""
-
-#: diff.c:5509
-msgid "omit the preimage for deletes"
-msgstr ""
-
-#: diff.c:5512
-msgid "detect copies"
-msgstr ""
-
-#: diff.c:5516
-msgid "use unmodified files as source to find copies"
-msgstr ""
-
-#: diff.c:5518
-msgid "disable rename detection"
-msgstr ""
-
-#: diff.c:5521
-msgid "use empty blobs as rename source"
-msgstr ""
-
-#: diff.c:5523
-msgid "continue listing the history of a file beyond renames"
-msgstr ""
-
-#: diff.c:5526
-msgid ""
-"prevent rename/copy detection if the number of rename/copy targets exceeds "
-"given limit"
-msgstr ""
-
-#: diff.c:5528
-msgid "Diff algorithm options"
-msgstr ""
-
-#: diff.c:5530
-msgid "produce the smallest possible diff"
-msgstr ""
-
-#: diff.c:5533
-msgid "ignore whitespace when comparing lines"
-msgstr ""
-
-#: diff.c:5536
-msgid "ignore changes in amount of whitespace"
-msgstr ""
-
-#: diff.c:5539
-msgid "ignore changes in whitespace at EOL"
-msgstr ""
-
-#: diff.c:5542
-msgid "ignore carrier-return at the end of line"
-msgstr ""
-
-#: diff.c:5545
-msgid "ignore changes whose lines are all blank"
-msgstr ""
-
-#: diff.c:5547 diff.c:5569 diff.c:5572 diff.c:5617
-msgid "<regex>"
-msgstr ""
-
-#: diff.c:5548
-msgid "ignore changes whose all lines match <regex>"
-msgstr ""
-
-#: diff.c:5551
-msgid "heuristic to shift diff hunk boundaries for easy reading"
-msgstr ""
-
-#: diff.c:5554
-msgid "generate diff using the \"patience diff\" algorithm"
-msgstr ""
-
-#: diff.c:5558
-msgid "generate diff using the \"histogram diff\" algorithm"
-msgstr ""
-
-#: diff.c:5560
-msgid "<algorithm>"
-msgstr ""
-
-#: diff.c:5561
-msgid "choose a diff algorithm"
-msgstr ""
-
-#: diff.c:5563
-msgid "<text>"
-msgstr ""
-
-#: diff.c:5564
-msgid "generate diff using the \"anchored diff\" algorithm"
-msgstr ""
-
-#: diff.c:5566 diff.c:5575 diff.c:5578
-msgid "<mode>"
-msgstr ""
-
-#: diff.c:5567
-msgid "show word diff, using <mode> to delimit changed words"
-msgstr ""
-
-#: diff.c:5570
-msgid "use <regex> to decide what a word is"
-msgstr ""
-
-#: diff.c:5573
-msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
-msgstr ""
-
-#: diff.c:5576
-msgid "moved lines of code are colored differently"
-msgstr ""
-
-#: diff.c:5579
-msgid "how white spaces are ignored in --color-moved"
-msgstr ""
-
-#: diff.c:5582
-msgid "Other diff options"
-msgstr ""
-
-#: diff.c:5584
-msgid "when run from subdir, exclude changes outside and show relative paths"
-msgstr ""
-
-#: diff.c:5588
-msgid "treat all files as text"
-msgstr ""
-
-#: diff.c:5590
-msgid "swap two inputs, reverse the diff"
-msgstr ""
-
-#: diff.c:5592
-msgid "exit with 1 if there were differences, 0 otherwise"
-msgstr ""
-
-#: diff.c:5594
-msgid "disable all output of the program"
-msgstr ""
-
-#: diff.c:5596
-msgid "allow an external diff helper to be executed"
-msgstr ""
-
-#: diff.c:5598
-msgid "run external text conversion filters when comparing binary files"
-msgstr ""
-
-#: diff.c:5600
-msgid "<when>"
-msgstr ""
-
-#: diff.c:5601
-msgid "ignore changes to submodules in the diff generation"
-msgstr ""
-
-#: diff.c:5604
-msgid "<format>"
-msgstr ""
-
-#: diff.c:5605
-msgid "specify how differences in submodules are shown"
-msgstr ""
-
-#: diff.c:5609
-msgid "hide 'git add -N' entries from the index"
-msgstr ""
-
-#: diff.c:5612
-msgid "treat 'git add -N' entries as real in the index"
-msgstr ""
-
-#: diff.c:5614
-msgid "<string>"
-msgstr ""
-
-#: diff.c:5615
-msgid ""
-"look for differences that change the number of occurrences of the specified "
-"string"
-msgstr ""
-
-#: diff.c:5618
-msgid ""
-"look for differences that change the number of occurrences of the specified "
-"regex"
-msgstr ""
-
-#: diff.c:5621
-msgid "show all changes in the changeset with -S or -G"
-msgstr ""
-
-#: diff.c:5624
-msgid "treat <string> in -S as extended POSIX regular expression"
-msgstr ""
-
-#: diff.c:5627
-msgid "control the order in which files appear in the output"
-msgstr ""
-
-#: diff.c:5628 diff.c:5631
-msgid "<path>"
-msgstr ""
-
-#: diff.c:5629
-msgid "show the change in the specified path first"
-msgstr ""
-
-#: diff.c:5632
-msgid "skip the output to the specified path"
-msgstr ""
-
-#: diff.c:5634
-msgid "<object-id>"
-msgstr ""
-
-#: diff.c:5635
-msgid ""
-"look for differences that change the number of occurrences of the specified "
-"object"
-msgstr ""
-
-#: diff.c:5637
-msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
-msgstr ""
-
-#: diff.c:5638
-msgid "select files by diff type"
-msgstr ""
-
-#: diff.c:5640
-msgid "<file>"
-msgstr ""
-
-#: diff.c:5641
-msgid "output to a specific file"
-msgstr ""
-
-#: diff.c:6321
-msgid "exhaustive rename detection was skipped due to too many files."
-msgstr ""
-
-#: diff.c:6324
-msgid "only found copies from modified paths due to too many files."
-msgstr ""
-
-#: diff.c:6327
-#, c-format
-msgid ""
-"you may want to set your %s variable to at least %d and retry the command."
-msgstr ""
-
-#: diffcore-order.c:24
-#, c-format
-msgid "failed to read orderfile '%s'"
-msgstr ""
-
-#: diffcore-rename.c:1564
-msgid "Performing inexact rename detection"
-msgstr ""
-
-#: diffcore-rotate.c:29
-#, c-format
-msgid "No such path '%s' in the diff"
-msgstr ""
-
-#: dir.c:593
-#, c-format
-msgid "pathspec '%s' did not match any file(s) known to git"
-msgstr ""
-
-#: dir.c:733 dir.c:762 dir.c:775
-#, c-format
-msgid "unrecognized pattern: '%s'"
-msgstr ""
-
-#: dir.c:790 dir.c:804
-#, c-format
-msgid "unrecognized negative pattern: '%s'"
-msgstr ""
-
-#: dir.c:820
-#, c-format
-msgid "your sparse-checkout file may have issues: pattern '%s' is repeated"
-msgstr ""
-
-#: dir.c:828
-msgid "disabling cone pattern matching"
-msgstr ""
-
-#: dir.c:1212
-#, c-format
-msgid "cannot use %s as an exclude file"
-msgstr ""
-
-#: dir.c:2419
-#, c-format
-msgid "could not open directory '%s'"
-msgstr ""
-
-#: dir.c:2721
-msgid "failed to get kernel name and information"
-msgstr ""
-
-#: dir.c:2846
-msgid "untracked cache is disabled on this system or location"
-msgstr ""
-
-#: dir.c:3119
-msgid ""
-"No directory name could be guessed.\n"
-"Please specify a directory on the command line"
-msgstr ""
-
-#: dir.c:3807
-#, c-format
-msgid "index file corrupt in repo %s"
-msgstr ""
-
-#: dir.c:3854 dir.c:3859
-#, c-format
-msgid "could not create directories for %s"
-msgstr ""
-
-#: dir.c:3888
-#, c-format
-msgid "could not migrate git directory from '%s' to '%s'"
-msgstr ""
-
-#: editor.c:74
-#, c-format
-msgid "hint: Waiting for your editor to close the file...%c"
-msgstr ""
-
-#: entry.c:179
-msgid "Filtering content"
-msgstr ""
-
-#: entry.c:500
-#, c-format
-msgid "could not stat file '%s'"
-msgstr ""
-
-#: environment.c:147
-#, c-format
-msgid "bad git namespace path \"%s\""
-msgstr ""
-
-#: exec-cmd.c:363
-#, c-format
-msgid "too many args to run %s"
-msgstr ""
-
-#: fetch-pack.c:194
-msgid "git fetch-pack: expected shallow list"
-msgstr ""
-
-#: fetch-pack.c:197
-msgid "git fetch-pack: expected a flush packet after shallow list"
-msgstr ""
-
-#: fetch-pack.c:208
-msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
-msgstr ""
-
-#: fetch-pack.c:228
-#, c-format
-msgid "git fetch-pack: expected ACK/NAK, got '%s'"
-msgstr ""
-
-#: fetch-pack.c:239
-msgid "unable to write to remote"
-msgstr ""
-
-#: fetch-pack.c:397 fetch-pack.c:1460
-#, c-format
-msgid "invalid shallow line: %s"
-msgstr ""
-
-#: fetch-pack.c:403 fetch-pack.c:1466
-#, c-format
-msgid "invalid unshallow line: %s"
-msgstr ""
-
-#: fetch-pack.c:405 fetch-pack.c:1468
-#, c-format
-msgid "object not found: %s"
-msgstr ""
-
-#: fetch-pack.c:408 fetch-pack.c:1471
-#, c-format
-msgid "error in object: %s"
-msgstr ""
-
-#: fetch-pack.c:410 fetch-pack.c:1473
-#, c-format
-msgid "no shallow found: %s"
-msgstr ""
-
-#: fetch-pack.c:413 fetch-pack.c:1477
-#, c-format
-msgid "expected shallow/unshallow, got %s"
-msgstr ""
-
-#: fetch-pack.c:453
-#, c-format
-msgid "got %s %d %s"
-msgstr ""
-
-#: fetch-pack.c:470
-#, c-format
-msgid "invalid commit %s"
-msgstr ""
-
-#: fetch-pack.c:501
-msgid "giving up"
-msgstr ""
-
-#: fetch-pack.c:514 progress.h:25
-msgid "done"
-msgstr ""
-
-#: fetch-pack.c:526
-#, c-format
-msgid "got %s (%d) %s"
-msgstr ""
-
-#: fetch-pack.c:562
-#, c-format
-msgid "Marking %s as complete"
-msgstr ""
-
-#: fetch-pack.c:784
-#, c-format
-msgid "already have %s (%s)"
-msgstr ""
-
-#: fetch-pack.c:870
-msgid "fetch-pack: unable to fork off sideband demultiplexer"
-msgstr ""
-
-#: fetch-pack.c:878
-msgid "protocol error: bad pack header"
-msgstr ""
-
-#: fetch-pack.c:974
-#, c-format
-msgid "fetch-pack: unable to fork off %s"
-msgstr ""
-
-#: fetch-pack.c:980
-msgid "fetch-pack: invalid index-pack output"
-msgstr ""
-
-#: fetch-pack.c:997
-#, c-format
-msgid "%s failed"
-msgstr ""
-
-#: fetch-pack.c:999
-msgid "error in sideband demultiplexer"
-msgstr ""
-
-#: fetch-pack.c:1048
-#, c-format
-msgid "Server version is %.*s"
-msgstr ""
-
-#: fetch-pack.c:1056 fetch-pack.c:1062 fetch-pack.c:1065 fetch-pack.c:1071
-#: fetch-pack.c:1075 fetch-pack.c:1079 fetch-pack.c:1083 fetch-pack.c:1087
-#: fetch-pack.c:1091 fetch-pack.c:1095 fetch-pack.c:1099 fetch-pack.c:1103
-#: fetch-pack.c:1109 fetch-pack.c:1115 fetch-pack.c:1120 fetch-pack.c:1125
-#, c-format
-msgid "Server supports %s"
-msgstr ""
-
-#: fetch-pack.c:1058
-msgid "Server does not support shallow clients"
-msgstr ""
-
-#: fetch-pack.c:1118
-msgid "Server does not support --shallow-since"
-msgstr ""
-
-#: fetch-pack.c:1123
-msgid "Server does not support --shallow-exclude"
-msgstr ""
-
-#: fetch-pack.c:1127
-msgid "Server does not support --deepen"
-msgstr ""
-
-#: fetch-pack.c:1129
-msgid "Server does not support this repository's object format"
-msgstr ""
-
-#: fetch-pack.c:1142
-msgid "no common commits"
-msgstr ""
-
-#: fetch-pack.c:1151 fetch-pack.c:1506 builtin/clone.c:1166
-msgid "source repository is shallow, reject to clone."
-msgstr ""
-
-#: fetch-pack.c:1157 fetch-pack.c:1705
-msgid "git fetch-pack: fetch failed."
-msgstr ""
-
-#: fetch-pack.c:1271
-#, c-format
-msgid "mismatched algorithms: client %s; server %s"
-msgstr ""
-
-#: fetch-pack.c:1275
-#, c-format
-msgid "the server does not support algorithm '%s'"
-msgstr ""
-
-#: fetch-pack.c:1308
-msgid "Server does not support shallow requests"
-msgstr ""
-
-#: fetch-pack.c:1315
-msgid "Server supports filter"
-msgstr ""
-
-#: fetch-pack.c:1358 fetch-pack.c:2087
-msgid "unable to write request to remote"
-msgstr ""
-
-#: fetch-pack.c:1376
-#, c-format
-msgid "error reading section header '%s'"
-msgstr ""
-
-#: fetch-pack.c:1382
-#, c-format
-msgid "expected '%s', received '%s'"
-msgstr ""
-
-#: fetch-pack.c:1416
-#, c-format
-msgid "unexpected acknowledgment line: '%s'"
-msgstr ""
-
-#: fetch-pack.c:1421
-#, c-format
-msgid "error processing acks: %d"
-msgstr ""
-
-#. TRANSLATORS: The parameter will be 'ready', a protocol
-#. keyword.
-#.
-#: fetch-pack.c:1435
-#, c-format
-msgid "expected packfile to be sent after '%s'"
-msgstr ""
-
-#. TRANSLATORS: The parameter will be 'ready', a protocol
-#. keyword.
-#.
-#: fetch-pack.c:1441
-#, c-format
-msgid "expected no other sections to be sent after no '%s'"
-msgstr ""
-
-#: fetch-pack.c:1482
-#, c-format
-msgid "error processing shallow info: %d"
-msgstr ""
-
-#: fetch-pack.c:1531
-#, c-format
-msgid "expected wanted-ref, got '%s'"
-msgstr ""
-
-#: fetch-pack.c:1536
-#, c-format
-msgid "unexpected wanted-ref: '%s'"
-msgstr ""
-
-#: fetch-pack.c:1541
-#, c-format
-msgid "error processing wanted refs: %d"
-msgstr ""
-
-#: fetch-pack.c:1571
-msgid "git fetch-pack: expected response end packet"
-msgstr ""
-
-#: fetch-pack.c:1983
-msgid "no matching remote head"
-msgstr ""
-
-#: fetch-pack.c:2006 builtin/clone.c:587
-msgid "remote did not send all necessary objects"
-msgstr ""
-
-#: fetch-pack.c:2109
-msgid "unexpected 'ready' from remote"
-msgstr ""
-
-#: fetch-pack.c:2132
-#, c-format
-msgid "no such remote ref %s"
-msgstr ""
-
-#: fetch-pack.c:2135
-#, c-format
-msgid "Server does not allow request for unadvertised object %s"
-msgstr ""
-
-#: fsmonitor-ipc.c:119
-#, c-format
-msgid "fsmonitor_ipc__send_query: invalid path '%s'"
-msgstr ""
-
-#: fsmonitor-ipc.c:125
-#, c-format
-msgid "fsmonitor_ipc__send_query: unspecified error on '%s'"
-msgstr ""
-
-#: fsmonitor-ipc.c:155
-msgid "fsmonitor--daemon is not running"
-msgstr ""
-
-#: fsmonitor-ipc.c:164
-#, c-format
-msgid "could not send '%s' command to fsmonitor--daemon"
-msgstr ""
-
-#: gpg-interface.c:329 gpg-interface.c:456 gpg-interface.c:995
-#: gpg-interface.c:1011
-msgid "could not create temporary file"
-msgstr ""
-
-#: gpg-interface.c:332 gpg-interface.c:459
-#, c-format
-msgid "failed writing detached signature to '%s'"
-msgstr ""
-
-#: gpg-interface.c:450
-msgid ""
-"gpg.ssh.allowedSignersFile needs to be configured and exist for ssh "
-"signature verification"
-msgstr ""
-
-#: gpg-interface.c:479
-msgid ""
-"ssh-keygen -Y find-principals/verify is needed for ssh signature "
-"verification (available in openssh version 8.2p1+)"
-msgstr ""
-
-#: gpg-interface.c:550
-#, c-format
-msgid "ssh signing revocation file configured but not found: %s"
-msgstr ""
-
-#: gpg-interface.c:638
-#, c-format
-msgid "bad/incompatible signature '%s'"
-msgstr ""
-
-#: gpg-interface.c:815 gpg-interface.c:820
-#, c-format
-msgid "failed to get the ssh fingerprint for key '%s'"
-msgstr ""
-
-#: gpg-interface.c:843
-msgid ""
-"either user.signingkey or gpg.ssh.defaultKeyCommand needs to be configured"
-msgstr ""
-
-#: gpg-interface.c:865
-#, c-format
-msgid "gpg.ssh.defaultKeyCommand succeeded but returned no keys: %s %s"
-msgstr ""
-
-#: gpg-interface.c:871
-#, c-format
-msgid "gpg.ssh.defaultKeyCommand failed: %s %s"
-msgstr ""
-
-#: gpg-interface.c:966
-msgid "gpg failed to sign the data"
-msgstr ""
-
-#: gpg-interface.c:988
-msgid "user.signingkey needs to be set for ssh signing"
-msgstr ""
-
-#: gpg-interface.c:999
-#, c-format
-msgid "failed writing ssh signing key to '%s'"
-msgstr ""
-
-#: gpg-interface.c:1017
-#, c-format
-msgid "failed writing ssh signing key buffer to '%s'"
-msgstr ""
-
-#: gpg-interface.c:1035
-msgid ""
-"ssh-keygen -Y sign is needed for ssh signing (available in openssh version "
-"8.2p1+)"
-msgstr ""
-
-#: gpg-interface.c:1047
-#, c-format
-msgid "failed reading ssh signing data buffer from '%s'"
-msgstr ""
-
-#: graph.c:98
-#, c-format
-msgid "ignored invalid color '%.*s' in log.graphColors"
-msgstr ""
-
-#: grep.c:446
-msgid ""
-"given pattern contains NULL byte (via -f <file>). This is only supported "
-"with -P under PCRE v2"
-msgstr ""
-
-#: grep.c:1859
-#, c-format
-msgid "'%s': unable to read %s"
-msgstr ""
-
-#: grep.c:1876 setup.c:178 builtin/clone.c:308 builtin/diff.c:90
-#: builtin/rm.c:136
-#, c-format
-msgid "failed to stat '%s'"
-msgstr ""
-
-#: grep.c:1887
-#, c-format
-msgid "'%s': short read"
-msgstr ""
-
-#: help.c:25
-msgid "start a working area (see also: git help tutorial)"
-msgstr ""
-
-#: help.c:26
-msgid "work on the current change (see also: git help everyday)"
-msgstr ""
-
-#: help.c:27
-msgid "examine the history and state (see also: git help revisions)"
-msgstr ""
-
-#: help.c:28
-msgid "grow, mark and tweak your common history"
-msgstr ""
-
-#: help.c:29
-msgid "collaborate (see also: git help workflows)"
-msgstr ""
-
-#: help.c:33
-msgid "Main Porcelain Commands"
-msgstr ""
-
-#: help.c:34
-msgid "Ancillary Commands / Manipulators"
-msgstr ""
-
-#: help.c:35
-msgid "Ancillary Commands / Interrogators"
-msgstr ""
-
-#: help.c:36
-msgid "Interacting with Others"
-msgstr ""
-
-#: help.c:37
-msgid "Low-level Commands / Manipulators"
-msgstr ""
-
-#: help.c:38
-msgid "Low-level Commands / Interrogators"
-msgstr ""
-
-#: help.c:39
-msgid "Low-level Commands / Syncing Repositories"
-msgstr ""
-
-#: help.c:40
-msgid "Low-level Commands / Internal Helpers"
-msgstr ""
-
-#: help.c:316
-#, c-format
-msgid "available git commands in '%s'"
-msgstr ""
-
-#: help.c:323
-msgid "git commands available from elsewhere on your $PATH"
-msgstr ""
-
-#: help.c:332
-msgid "These are common Git commands used in various situations:"
-msgstr ""
-
-#: help.c:382 git.c:100
-#, c-format
-msgid "unsupported command listing type '%s'"
-msgstr ""
-
-#: help.c:422
-msgid "The Git concept guides are:"
-msgstr ""
-
-#: help.c:446
-msgid "External commands"
-msgstr ""
-
-#: help.c:468
-msgid "Command aliases"
-msgstr ""
-
-#: help.c:486
-msgid "See 'git help <command>' to read about a specific subcommand"
-msgstr ""
-
-#: help.c:563
-#, c-format
-msgid ""
-"'%s' appears to be a git command, but we were not\n"
-"able to execute it. Maybe git-%s is broken?"
-msgstr ""
-
-#: help.c:585 help.c:682
-#, c-format
-msgid "git: '%s' is not a git command. See 'git --help'."
-msgstr ""
-
-#: help.c:633
-msgid "Uh oh. Your system reports no Git commands at all."
-msgstr ""
-
-#: help.c:655
-#, c-format
-msgid "WARNING: You called a Git command named '%s', which does not exist."
-msgstr ""
-
-#: help.c:660
-#, c-format
-msgid "Continuing under the assumption that you meant '%s'."
-msgstr ""
-
-#: help.c:666
-#, c-format
-msgid "Run '%s' instead [y/N]? "
-msgstr ""
-
-#: help.c:674
-#, c-format
-msgid "Continuing in %0.1f seconds, assuming that you meant '%s'."
-msgstr ""
-
-#: help.c:686
-msgid ""
-"\n"
-"The most similar command is"
-msgid_plural ""
-"\n"
-"The most similar commands are"
-msgstr[0] ""
-msgstr[1] ""
-
-#: help.c:729
-msgid "git version [<options>]"
-msgstr ""
-
-#: help.c:784
-#, c-format
-msgid "%s: %s - %s"
-msgstr ""
-
-#: help.c:788
-msgid ""
-"\n"
-"Did you mean this?"
-msgid_plural ""
-"\n"
-"Did you mean one of these?"
-msgstr[0] ""
-msgstr[1] ""
-
-#: hook.c:28
-#, c-format
-msgid ""
-"The '%s' hook was ignored because it's not set as executable.\n"
-"You can disable this warning with `git config advice.ignoredHook false`."
-msgstr ""
-
-#: hook.c:87
-#, c-format
-msgid "Couldn't start hook '%s'\n"
-msgstr ""
-
-#: ident.c:354
-msgid "Author identity unknown\n"
-msgstr ""
-
-#: ident.c:357
-msgid "Committer identity unknown\n"
-msgstr ""
-
-#: ident.c:363
-msgid ""
-"\n"
-"*** Please tell me who you are.\n"
-"\n"
-"Run\n"
-"\n"
-"  git config --global user.email \"you@example.com\"\n"
-"  git config --global user.name \"Your Name\"\n"
-"\n"
-"to set your account's default identity.\n"
-"Omit --global to set the identity only in this repository.\n"
-"\n"
-msgstr ""
-
-#: ident.c:398
-msgid "no email was given and auto-detection is disabled"
-msgstr ""
-
-#: ident.c:403
-#, c-format
-msgid "unable to auto-detect email address (got '%s')"
-msgstr ""
-
-#: ident.c:420
-msgid "no name was given and auto-detection is disabled"
-msgstr ""
-
-#: ident.c:426
-#, c-format
-msgid "unable to auto-detect name (got '%s')"
-msgstr ""
-
-#: ident.c:434
-#, c-format
-msgid "empty ident name (for <%s>) not allowed"
-msgstr ""
-
-#: ident.c:440
-#, c-format
-msgid "name consists only of disallowed characters: %s"
-msgstr ""
-
-#: ident.c:455 builtin/commit.c:649
-#, c-format
-msgid "invalid date format: %s"
-msgstr ""
-
-#: list-objects-filter-options.c:68
-msgid "expected 'tree:<depth>'"
-msgstr ""
-
-#: list-objects-filter-options.c:83
-msgid "sparse:path filters support has been dropped"
-msgstr ""
-
-#: list-objects-filter-options.c:90
-#, c-format
-msgid "'%s' for 'object:type=<type>' is not a valid object type"
-msgstr ""
-
-#: list-objects-filter-options.c:109
-#, c-format
-msgid "invalid filter-spec '%s'"
-msgstr ""
-
-#: list-objects-filter-options.c:125
-#, c-format
-msgid "must escape char in sub-filter-spec: '%c'"
-msgstr ""
-
-#: list-objects-filter-options.c:167
-msgid "expected something after combine:"
-msgstr ""
-
-#: list-objects-filter-options.c:249
-msgid "multiple filter-specs cannot be combined"
-msgstr ""
-
-#: list-objects-filter-options.c:365
-msgid "unable to upgrade repository format to support partial clone"
-msgstr ""
-
-#: list-objects-filter.c:532
-#, c-format
-msgid "unable to access sparse blob in '%s'"
-msgstr ""
-
-#: list-objects-filter.c:535
-#, c-format
-msgid "unable to parse sparse filter data in %s"
-msgstr ""
-
-#: list-objects.c:144
-#, c-format
-msgid "entry '%s' in tree %s has tree mode, but is not a tree"
-msgstr ""
-
-#: list-objects.c:157
-#, c-format
-msgid "entry '%s' in tree %s has blob mode, but is not a blob"
-msgstr ""
-
-#: list-objects.c:415
-#, c-format
-msgid "unable to load root tree for commit %s"
-msgstr ""
-
-#: lockfile.c:152
-#, c-format
-msgid ""
-"Unable to create '%s.lock': %s.\n"
-"\n"
-"Another git process seems to be running in this repository, e.g.\n"
-"an editor opened by 'git commit'. Please make sure all processes\n"
-"are terminated then try again. If it still fails, a git process\n"
-"may have crashed in this repository earlier:\n"
-"remove the file manually to continue."
-msgstr ""
-
-#: lockfile.c:160
-#, c-format
-msgid "Unable to create '%s.lock': %s"
-msgstr ""
-
-#: ls-refs.c:175
-#, c-format
-msgid "unexpected line: '%s'"
-msgstr ""
-
-#: ls-refs.c:179
-msgid "expected flush after ls-refs arguments"
-msgstr ""
-
-#: mailinfo.c:1050
-msgid "quoted CRLF detected"
-msgstr ""
-
-#: mailinfo.c:1254 builtin/am.c:185 builtin/mailinfo.c:46
-#, c-format
-msgid "bad action '%s' for '%s'"
-msgstr ""
-
-#: merge-ort.c:1630 merge-recursive.c:1214
-#, c-format
-msgid "Failed to merge submodule %s (not checked out)"
-msgstr ""
-
-#: merge-ort.c:1639 merge-recursive.c:1221
-#, c-format
-msgid "Failed to merge submodule %s (commits not present)"
-msgstr ""
-
-#: merge-ort.c:1648 merge-recursive.c:1228
-#, c-format
-msgid "Failed to merge submodule %s (commits don't follow merge-base)"
-msgstr ""
-
-#: merge-ort.c:1658 merge-ort.c:1666
-#, c-format
-msgid "Note: Fast-forwarding submodule %s to %s"
-msgstr ""
-
-#: merge-ort.c:1688
-#, c-format
-msgid "Failed to merge submodule %s"
-msgstr ""
-
-#: merge-ort.c:1695
-#, c-format
-msgid ""
-"Failed to merge submodule %s, but a possible merge resolution exists:\n"
-"%s\n"
-msgstr ""
-
-#: merge-ort.c:1699 merge-recursive.c:1284
-#, c-format
-msgid ""
-"If this is correct simply add it to the index for example\n"
-"by using:\n"
-"\n"
-"  git update-index --cacheinfo 160000 %s \"%s\"\n"
-"\n"
-"which will accept this suggestion.\n"
-msgstr ""
-
-#: merge-ort.c:1712
-#, c-format
-msgid ""
-"Failed to merge submodule %s, but multiple possible merges exist:\n"
-"%s"
-msgstr ""
-
-#: merge-ort.c:1937 merge-recursive.c:1375
-msgid "Failed to execute internal merge"
-msgstr ""
-
-#: merge-ort.c:1942 merge-recursive.c:1380
-#, c-format
-msgid "Unable to add %s to database"
-msgstr ""
-
-#: merge-ort.c:1949 merge-recursive.c:1413
-#, c-format
-msgid "Auto-merging %s"
-msgstr ""
-
-#: merge-ort.c:2088 merge-recursive.c:2135
-#, c-format
-msgid ""
-"CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
-"implicit directory rename(s) putting the following path(s) there: %s."
-msgstr ""
-
-#: merge-ort.c:2098 merge-recursive.c:2145
-#, c-format
-msgid ""
-"CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
-"implicit directory renames tried to put these paths there: %s"
-msgstr ""
-
-#: merge-ort.c:2156
-#, c-format
-msgid ""
-"CONFLICT (directory rename split): Unclear where to rename %s to; it was "
-"renamed to multiple other directories, with no destination getting a "
-"majority of the files."
-msgstr ""
-
-#: merge-ort.c:2310 merge-recursive.c:2481
-#, c-format
-msgid ""
-"WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
-"renamed."
-msgstr ""
-
-#: merge-ort.c:2450 merge-recursive.c:3264
-#, c-format
-msgid ""
-"Path updated: %s added in %s inside a directory that was renamed in %s; "
-"moving it to %s."
-msgstr ""
-
-#: merge-ort.c:2457 merge-recursive.c:3271
-#, c-format
-msgid ""
-"Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
-"%s; moving it to %s."
-msgstr ""
-
-#: merge-ort.c:2470 merge-recursive.c:3267
-#, c-format
-msgid ""
-"CONFLICT (file location): %s added in %s inside a directory that was renamed "
-"in %s, suggesting it should perhaps be moved to %s."
-msgstr ""
-
-#: merge-ort.c:2478 merge-recursive.c:3274
-#, c-format
-msgid ""
-"CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
-"was renamed in %s, suggesting it should perhaps be moved to %s."
-msgstr ""
-
-#: merge-ort.c:2634
-#, c-format
-msgid "CONFLICT (rename/rename): %s renamed to %s in %s and to %s in %s."
-msgstr ""
-
-#: merge-ort.c:2729
-#, c-format
-msgid ""
-"CONFLICT (rename involved in collision): rename of %s -> %s has content "
-"conflicts AND collides with another path; this may result in nested conflict "
-"markers."
-msgstr ""
-
-#: merge-ort.c:2748 merge-ort.c:2772
-#, c-format
-msgid "CONFLICT (rename/delete): %s renamed to %s in %s, but deleted in %s."
-msgstr ""
-
-#: merge-ort.c:3261 merge-recursive.c:3025
-#, c-format
-msgid "cannot read object %s"
-msgstr ""
-
-#: merge-ort.c:3264 merge-recursive.c:3028
-#, c-format
-msgid "object %s is not a blob"
-msgstr ""
-
-#: merge-ort.c:3693
-#, c-format
-msgid ""
-"CONFLICT (file/directory): directory in the way of %s from %s; moving it to "
-"%s instead."
-msgstr ""
-
-#: merge-ort.c:3770
-#, c-format
-msgid ""
-"CONFLICT (distinct types): %s had different types on each side; renamed both "
-"of them so each can be recorded somewhere."
-msgstr ""
-
-#: merge-ort.c:3777
-#, c-format
-msgid ""
-"CONFLICT (distinct types): %s had different types on each side; renamed one "
-"of them so each can be recorded somewhere."
-msgstr ""
-
-#: merge-ort.c:3866 merge-recursive.c:3104
-msgid "content"
-msgstr ""
-
-#: merge-ort.c:3868 merge-recursive.c:3108
-msgid "add/add"
-msgstr ""
-
-#: merge-ort.c:3870 merge-recursive.c:3153
-msgid "submodule"
-msgstr ""
-
-#: merge-ort.c:3872 merge-recursive.c:3154
-#, c-format
-msgid "CONFLICT (%s): Merge conflict in %s"
-msgstr ""
-
-#: merge-ort.c:3916
-#, c-format
-msgid ""
-"CONFLICT (modify/delete): %s deleted in %s and modified in %s.  Version %s "
-"of %s left in tree."
-msgstr ""
-
-#: merge-ort.c:4212
-#, c-format
-msgid ""
-"Note: %s not up to date and in way of checking out conflicted version; old "
-"copy renamed to %s"
-msgstr ""
-
-#. TRANSLATORS: The %s arguments are: 1) tree hash of a merge
-#. base, and 2-3) the trees for the two trees we're merging.
-#.
-#: merge-ort.c:4586
-#, c-format
-msgid "collecting merge info failed for trees %s, %s, %s"
-msgstr ""
-
-#: merge-ort-wrappers.c:13 merge-recursive.c:3723
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"  %s"
-msgstr ""
-
-#: merge-ort-wrappers.c:33 merge-recursive.c:3485 builtin/merge.c:405
-msgid "Already up to date."
-msgstr ""
-
-#: merge-recursive.c:353
-msgid "(bad commit)\n"
-msgstr ""
-
-#: merge-recursive.c:381
-#, c-format
-msgid "add_cacheinfo failed for path '%s'; merge aborting."
-msgstr ""
-
-#: merge-recursive.c:390
-#, c-format
-msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
-msgstr ""
-
-#: merge-recursive.c:881
-#, c-format
-msgid "failed to create path '%s'%s"
-msgstr ""
-
-#: merge-recursive.c:892
-#, c-format
-msgid "Removing %s to make room for subdirectory\n"
-msgstr ""
-
-#: merge-recursive.c:906 merge-recursive.c:925
-msgid ": perhaps a D/F conflict?"
-msgstr ""
-
-#: merge-recursive.c:915
-#, c-format
-msgid "refusing to lose untracked file at '%s'"
-msgstr ""
-
-#: merge-recursive.c:956 builtin/cat-file.c:47
-#, c-format
-msgid "cannot read object %s '%s'"
-msgstr ""
-
-#: merge-recursive.c:961
-#, c-format
-msgid "blob expected for %s '%s'"
-msgstr ""
-
-#: merge-recursive.c:986
-#, c-format
-msgid "failed to open '%s': %s"
-msgstr ""
-
-#: merge-recursive.c:997
-#, c-format
-msgid "failed to symlink '%s': %s"
-msgstr ""
-
-#: merge-recursive.c:1002
-#, c-format
-msgid "do not know what to do with %06o %s '%s'"
-msgstr ""
-
-#: merge-recursive.c:1236 merge-recursive.c:1249
-#, c-format
-msgid "Fast-forwarding submodule %s to the following commit:"
-msgstr ""
-
-#: merge-recursive.c:1239 merge-recursive.c:1252
-#, c-format
-msgid "Fast-forwarding submodule %s"
-msgstr ""
-
-#: merge-recursive.c:1276
-#, c-format
-msgid "Failed to merge submodule %s (merge following commits not found)"
-msgstr ""
-
-#: merge-recursive.c:1280
-#, c-format
-msgid "Failed to merge submodule %s (not fast-forward)"
-msgstr ""
-
-#: merge-recursive.c:1281
-msgid "Found a possible merge resolution for the submodule:\n"
-msgstr ""
-
-#: merge-recursive.c:1293
-#, c-format
-msgid "Failed to merge submodule %s (multiple merges found)"
-msgstr ""
-
-#: merge-recursive.c:1437
-#, c-format
-msgid "Error: Refusing to lose untracked file at %s; writing to %s instead."
-msgstr ""
-
-#: merge-recursive.c:1509
-#, c-format
-msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
-"in tree."
-msgstr ""
-
-#: merge-recursive.c:1514
-#, c-format
-msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
-"left in tree."
-msgstr ""
-
-#: merge-recursive.c:1521
-#, c-format
-msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
-"in tree at %s."
-msgstr ""
-
-#: merge-recursive.c:1526
-#, c-format
-msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
-"left in tree at %s."
-msgstr ""
-
-#: merge-recursive.c:1561
-msgid "rename"
-msgstr ""
-
-#: merge-recursive.c:1561
-msgid "renamed"
-msgstr ""
-
-#: merge-recursive.c:1612 merge-recursive.c:2518 merge-recursive.c:3181
-#, c-format
-msgid "Refusing to lose dirty file at %s"
-msgstr ""
-
-#: merge-recursive.c:1622
-#, c-format
-msgid "Refusing to lose untracked file at %s, even though it's in the way."
-msgstr ""
-
-#: merge-recursive.c:1680
-#, c-format
-msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
-msgstr ""
-
-#: merge-recursive.c:1711
-#, c-format
-msgid "%s is a directory in %s adding as %s instead"
-msgstr ""
-
-#: merge-recursive.c:1716
-#, c-format
-msgid "Refusing to lose untracked file at %s; adding as %s instead"
-msgstr ""
-
-#: merge-recursive.c:1743
-#, c-format
-msgid ""
-"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
-"\"->\"%s\" in \"%s\"%s"
-msgstr ""
-
-#: merge-recursive.c:1748
-msgid " (left unresolved)"
-msgstr ""
-
-#: merge-recursive.c:1840
-#, c-format
-msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
-msgstr ""
-
-#: merge-recursive.c:2103
-#, c-format
-msgid ""
-"CONFLICT (directory rename split): Unclear where to place %s because "
-"directory %s was renamed to multiple other directories, with no destination "
-"getting a majority of the files."
-msgstr ""
-
-#: merge-recursive.c:2237
-#, c-format
-msgid ""
-"CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
-">%s in %s"
-msgstr ""
-
-#: merge-recursive.c:3092
-msgid "modify"
-msgstr ""
-
-#: merge-recursive.c:3092
-msgid "modified"
-msgstr ""
-
-#: merge-recursive.c:3131
-#, c-format
-msgid "Skipped %s (merged same as existing)"
-msgstr ""
-
-#: merge-recursive.c:3184
-#, c-format
-msgid "Adding as %s instead"
-msgstr ""
-
-#: merge-recursive.c:3388
-#, c-format
-msgid "Removing %s"
-msgstr ""
-
-#: merge-recursive.c:3411
-msgid "file/directory"
-msgstr ""
-
-#: merge-recursive.c:3416
-msgid "directory/file"
-msgstr ""
-
-#: merge-recursive.c:3423
-#, c-format
-msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
-msgstr ""
-
-#: merge-recursive.c:3432
-#, c-format
-msgid "Adding %s"
-msgstr ""
-
-#: merge-recursive.c:3441
-#, c-format
-msgid "CONFLICT (add/add): Merge conflict in %s"
-msgstr ""
-
-#: merge-recursive.c:3494
-#, c-format
-msgid "merging of trees %s and %s failed"
-msgstr ""
-
-#: merge-recursive.c:3588
-msgid "Merging:"
-msgstr ""
-
-#: merge-recursive.c:3601
-#, c-format
-msgid "found %u common ancestor:"
-msgid_plural "found %u common ancestors:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: merge-recursive.c:3651
-msgid "merge returned no commit"
-msgstr ""
-
-#: merge-recursive.c:3823
-#, c-format
-msgid "Could not parse object '%s'"
-msgstr ""
-
-#: merge-recursive.c:3841 builtin/merge.c:720 builtin/merge.c:912
-#: builtin/stash.c:489
-msgid "Unable to write index."
-msgstr ""
-
-#: merge.c:41
-msgid "failed to read the cache"
-msgstr ""
-
-#: merge.c:102 rerere.c:705 builtin/am.c:1989 builtin/am.c:2023
-#: builtin/checkout.c:603 builtin/checkout.c:865 builtin/clone.c:714
-#: builtin/stash.c:269
-msgid "unable to write new index file"
-msgstr ""
-
-#: midx.c:79
-msgid "multi-pack-index OID fanout is of the wrong size"
-msgstr ""
-
-#: midx.c:112
-#, c-format
-msgid "multi-pack-index file %s is too small"
-msgstr ""
-
-#: midx.c:128
-#, c-format
-msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
-msgstr ""
-
-#: midx.c:133
-#, c-format
-msgid "multi-pack-index version %d not recognized"
-msgstr ""
-
-#: midx.c:138
-#, c-format
-msgid "multi-pack-index hash version %u does not match version %u"
-msgstr ""
-
-#: midx.c:155
-msgid "multi-pack-index missing required pack-name chunk"
-msgstr ""
-
-#: midx.c:157
-msgid "multi-pack-index missing required OID fanout chunk"
-msgstr ""
-
-#: midx.c:159
-msgid "multi-pack-index missing required OID lookup chunk"
-msgstr ""
-
-#: midx.c:161
-msgid "multi-pack-index missing required object offsets chunk"
-msgstr ""
-
-#: midx.c:180
-#, c-format
-msgid "multi-pack-index pack names out of order: '%s' before '%s'"
-msgstr ""
-
-#: midx.c:228
-#, c-format
-msgid "bad pack-int-id: %u (%u total packs)"
-msgstr ""
-
-#: midx.c:278
-msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
-msgstr ""
-
-#: midx.c:509
-#, c-format
-msgid "failed to add packfile '%s'"
-msgstr ""
-
-#: midx.c:515
-#, c-format
-msgid "failed to open pack-index '%s'"
-msgstr ""
-
-#: midx.c:583
-#, c-format
-msgid "failed to locate object %d in packfile"
-msgstr ""
-
-#: midx.c:911
-msgid "cannot store reverse index file"
-msgstr ""
-
-#: midx.c:1009
-#, c-format
-msgid "could not parse line: %s"
-msgstr ""
-
-#: midx.c:1011
-#, c-format
-msgid "malformed line: %s"
-msgstr ""
-
-#: midx.c:1181
-msgid "ignoring existing multi-pack-index; checksum mismatch"
-msgstr ""
-
-#: midx.c:1206
-msgid "could not load pack"
-msgstr ""
-
-#: midx.c:1212
-#, c-format
-msgid "could not open index for %s"
-msgstr ""
-
-#: midx.c:1223
-msgid "Adding packfiles to multi-pack-index"
-msgstr ""
-
-#: midx.c:1266
-#, c-format
-msgid "unknown preferred pack: '%s'"
-msgstr ""
-
-#: midx.c:1311
-#, c-format
-msgid "cannot select preferred pack %s with no objects"
-msgstr ""
-
-#: midx.c:1343
-#, c-format
-msgid "did not see pack-file %s to drop"
-msgstr ""
-
-#: midx.c:1389
-#, c-format
-msgid "preferred pack '%s' is expired"
-msgstr ""
-
-#: midx.c:1402
-msgid "no pack files to index."
-msgstr ""
-
-#: midx.c:1409
-msgid "refusing to write multi-pack .bitmap without any objects"
-msgstr ""
-
-#: midx.c:1451
-msgid "could not write multi-pack bitmap"
-msgstr ""
-
-#: midx.c:1461
-msgid "could not write multi-pack-index"
-msgstr ""
-
-#: midx.c:1520 builtin/clean.c:37
-#, c-format
-msgid "failed to remove %s"
-msgstr ""
-
-#: midx.c:1553
-#, c-format
-msgid "failed to clear multi-pack-index at %s"
-msgstr ""
-
-#: midx.c:1616
-msgid "multi-pack-index file exists, but failed to parse"
-msgstr ""
-
-#: midx.c:1624
-msgid "incorrect checksum"
-msgstr ""
-
-#: midx.c:1627
-msgid "Looking for referenced packfiles"
-msgstr ""
-
-#: midx.c:1642
-#, c-format
-msgid ""
-"oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
-msgstr ""
-
-#: midx.c:1647
-msgid "the midx contains no oid"
-msgstr ""
-
-#: midx.c:1656
-msgid "Verifying OID order in multi-pack-index"
-msgstr ""
-
-#: midx.c:1665
-#, c-format
-msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
-msgstr ""
-
-#: midx.c:1685
-msgid "Sorting objects by packfile"
-msgstr ""
-
-#: midx.c:1692
-msgid "Verifying object offsets"
-msgstr ""
-
-#: midx.c:1708
-#, c-format
-msgid "failed to load pack entry for oid[%d] = %s"
-msgstr ""
-
-#: midx.c:1714
-#, c-format
-msgid "failed to load pack-index for packfile %s"
-msgstr ""
-
-#: midx.c:1723
-#, c-format
-msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
-msgstr ""
-
-#: midx.c:1750
-msgid "Counting referenced objects"
-msgstr ""
-
-#: midx.c:1760
-msgid "Finding and deleting unreferenced packfiles"
-msgstr ""
-
-#: midx.c:1952
-msgid "could not start pack-objects"
-msgstr ""
-
-#: midx.c:1972
-msgid "could not finish pack-objects"
-msgstr ""
-
-#: name-hash.c:542
-#, c-format
-msgid "unable to create lazy_dir thread: %s"
-msgstr ""
-
-#: name-hash.c:564
-#, c-format
-msgid "unable to create lazy_name thread: %s"
-msgstr ""
-
-#: name-hash.c:570
-#, c-format
-msgid "unable to join lazy_name thread: %s"
-msgstr ""
-
-#: notes-merge.c:276
-#, c-format
-msgid ""
-"You have not concluded your previous notes merge (%s exists).\n"
-"Please, use 'git notes merge --commit' or 'git notes merge --abort' to "
-"commit/abort the previous merge before you start a new notes merge."
-msgstr ""
-
-#: notes-merge.c:283
-#, c-format
-msgid "You have not concluded your notes merge (%s exists)."
-msgstr ""
-
-#: notes-utils.c:46
-msgid "Cannot commit uninitialized/unreferenced notes tree"
-msgstr ""
-
-#: notes-utils.c:105
-#, c-format
-msgid "Bad notes.rewriteMode value: '%s'"
-msgstr ""
-
-#: notes-utils.c:115
-#, c-format
-msgid "Refusing to rewrite notes in %s (outside of refs/notes/)"
-msgstr ""
-
-#. TRANSLATORS: The first %s is the name of
-#. the environment variable, the second %s is
-#. its value.
-#.
-#: notes-utils.c:145
-#, c-format
-msgid "Bad %s value: '%s'"
-msgstr ""
-
-#: object-file.c:457
-#, c-format
-msgid "object directory %s does not exist; check .git/objects/info/alternates"
-msgstr ""
-
-#: object-file.c:515
-#, c-format
-msgid "unable to normalize alternate object path: %s"
-msgstr ""
-
-#: object-file.c:589
-#, c-format
-msgid "%s: ignoring alternate object stores, nesting too deep"
-msgstr ""
-
-#: object-file.c:596
-#, c-format
-msgid "unable to normalize object directory: %s"
-msgstr ""
-
-#: object-file.c:639
-msgid "unable to fdopen alternates lockfile"
-msgstr ""
-
-#: object-file.c:657
-msgid "unable to read alternates file"
-msgstr ""
-
-#: object-file.c:664
-msgid "unable to move new alternates file into place"
-msgstr ""
-
-#: object-file.c:742
-#, c-format
-msgid "path '%s' does not exist"
-msgstr ""
-
-#: object-file.c:763
-#, c-format
-msgid "reference repository '%s' as a linked checkout is not supported yet."
-msgstr ""
-
-#: object-file.c:769
-#, c-format
-msgid "reference repository '%s' is not a local repository."
-msgstr ""
-
-#: object-file.c:775
-#, c-format
-msgid "reference repository '%s' is shallow"
-msgstr ""
-
-#: object-file.c:783
-#, c-format
-msgid "reference repository '%s' is grafted"
-msgstr ""
-
-#: object-file.c:814
-#, c-format
-msgid "could not find object directory matching %s"
-msgstr ""
-
-#: object-file.c:864
-#, c-format
-msgid "invalid line while parsing alternate refs: %s"
-msgstr ""
-
-#: object-file.c:1014
-#, c-format
-msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
-msgstr ""
-
-#: object-file.c:1049
-#, c-format
-msgid "mmap failed%s"
-msgstr ""
-
-#: object-file.c:1230
-#, c-format
-msgid "object file %s is empty"
-msgstr ""
-
-#: object-file.c:1349 object-file.c:2588
-#, c-format
-msgid "corrupt loose object '%s'"
-msgstr ""
-
-#: object-file.c:1351 object-file.c:2592
-#, c-format
-msgid "garbage at end of loose object '%s'"
-msgstr ""
-
-#: object-file.c:1473
-#, c-format
-msgid "unable to parse %s header"
-msgstr ""
-
-#: object-file.c:1475
-msgid "invalid object type"
-msgstr ""
-
-#: object-file.c:1486
-#, c-format
-msgid "unable to unpack %s header"
-msgstr ""
-
-#: object-file.c:1490
-#, c-format
-msgid "header for %s too long, exceeds %d bytes"
-msgstr ""
-
-#: object-file.c:1720
-#, c-format
-msgid "failed to read object %s"
-msgstr ""
-
-#: object-file.c:1724
-#, c-format
-msgid "replacement %s not found for %s"
-msgstr ""
-
-#: object-file.c:1728
-#, c-format
-msgid "loose object %s (stored in %s) is corrupt"
-msgstr ""
-
-#: object-file.c:1732
-#, c-format
-msgid "packed object %s (stored in %s) is corrupt"
-msgstr ""
-
-#: object-file.c:1855
-#, c-format
-msgid "unable to write file %s"
-msgstr ""
-
-#: object-file.c:1862
-#, c-format
-msgid "unable to set permission to '%s'"
-msgstr ""
-
-#: object-file.c:1869
-msgid "file write error"
-msgstr ""
-
-#: object-file.c:1904
-msgid "error when closing loose object file"
-msgstr ""
-
-#: object-file.c:1971
-#, c-format
-msgid "insufficient permission for adding an object to repository database %s"
-msgstr ""
-
-#: object-file.c:1973
-msgid "unable to create temporary file"
-msgstr ""
-
-#: object-file.c:1997
-msgid "unable to write loose object file"
-msgstr ""
-
-#: object-file.c:2003
-#, c-format
-msgid "unable to deflate new object %s (%d)"
-msgstr ""
-
-#: object-file.c:2007
-#, c-format
-msgid "deflateEnd on object %s failed (%d)"
-msgstr ""
-
-#: object-file.c:2011
-#, c-format
-msgid "confused by unstable object source data for %s"
-msgstr ""
-
-#: object-file.c:2022 builtin/pack-objects.c:1251
-#, c-format
-msgid "failed utime() on %s"
-msgstr ""
-
-#: object-file.c:2100
-#, c-format
-msgid "cannot read object for %s"
-msgstr ""
-
-#: object-file.c:2151
-msgid "corrupt commit"
-msgstr ""
-
-#: object-file.c:2159
-msgid "corrupt tag"
-msgstr ""
-
-#: object-file.c:2259
-#, c-format
-msgid "read error while indexing %s"
-msgstr ""
-
-#: object-file.c:2262
-#, c-format
-msgid "short read while indexing %s"
-msgstr ""
-
-#: object-file.c:2335 object-file.c:2345
-#, c-format
-msgid "%s: failed to insert into database"
-msgstr ""
-
-#: object-file.c:2351
-#, c-format
-msgid "%s: unsupported file type"
-msgstr ""
-
-#: object-file.c:2375 builtin/fetch.c:1494
-#, c-format
-msgid "%s is not a valid object"
-msgstr ""
-
-#: object-file.c:2377
-#, c-format
-msgid "%s is not a valid '%s' object"
-msgstr ""
-
-#: object-file.c:2404
-#, c-format
-msgid "unable to open %s"
-msgstr ""
-
-#: object-file.c:2599
-#, c-format
-msgid "hash mismatch for %s (expected %s)"
-msgstr ""
-
-#: object-file.c:2622
-#, c-format
-msgid "unable to mmap %s"
-msgstr ""
-
-#: object-file.c:2628
-#, c-format
-msgid "unable to unpack header of %s"
-msgstr ""
-
-#: object-file.c:2633
-#, c-format
-msgid "unable to parse header of %s"
-msgstr ""
-
-#: object-file.c:2644
-#, c-format
-msgid "unable to unpack contents of %s"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous object
-#. output shown when we cannot look up or parse the
-#. object in question. E.g. "deadbeef [bad object]".
-#.
-#: object-name.c:382
-#, c-format
-msgid "%s [bad object]"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous commit
-#. object output. E.g.:
-#. *
-#.    "deadbeef commit 2021-01-01 - Some Commit Message"
-#.
-#: object-name.c:407
-#, c-format
-msgid "%s commit %s - %s"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous
-#. tag object output. E.g.:
-#. *
-#.    "deadbeef tag 2022-01-01 - Some Tag Message"
-#. *
-#. The second argument is the YYYY-MM-DD found
-#. in the tag.
-#. *
-#. The third argument is the "tag" string
-#. from object.c.
-#.
-#: object-name.c:428
-#, c-format
-msgid "%s tag %s - %s"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous
-#. tag object output where we couldn't parse
-#. the tag itself. E.g.:
-#. *
-#.    "deadbeef [bad tag, could not parse it]"
-#.
-#: object-name.c:439
-#, c-format
-msgid "%s [bad tag, could not parse it]"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous <type>
-#. object output. E.g. "deadbeef tree".
-#.
-#: object-name.c:447
-#, c-format
-msgid "%s tree"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous <type>
-#. object output. E.g. "deadbeef blob".
-#.
-#: object-name.c:453
-#, c-format
-msgid "%s blob"
-msgstr ""
-
-#: object-name.c:569
-#, c-format
-msgid "short object ID %s is ambiguous"
-msgstr ""
-
-#. TRANSLATORS: The argument is the list of ambiguous
-#. objects composed in show_ambiguous_object(). See
-#. its "TRANSLATORS" comments for details.
-#.
-#: object-name.c:591
-#, c-format
-msgid ""
-"The candidates are:\n"
-"%s"
-msgstr ""
-
-#: object-name.c:888
-msgid ""
-"Git normally never creates a ref that ends with 40 hex characters\n"
-"because it will be ignored when you just specify 40-hex. These refs\n"
-"may be created by mistake. For example,\n"
-"\n"
-"  git switch -c $br $(git rev-parse ...)\n"
-"\n"
-"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
-"examine these refs and maybe delete them. Turn this message off by\n"
-"running \"git config advice.objectNameWarning false\""
-msgstr ""
-
-#: object-name.c:1008
-#, c-format
-msgid "log for '%.*s' only goes back to %s"
-msgstr ""
-
-#: object-name.c:1016
-#, c-format
-msgid "log for '%.*s' only has %d entries"
-msgstr ""
-
-#: object-name.c:1794
-#, c-format
-msgid "path '%s' exists on disk, but not in '%.*s'"
-msgstr ""
-
-#: object-name.c:1800
-#, c-format
-msgid ""
-"path '%s' exists, but not '%s'\n"
-"hint: Did you mean '%.*s:%s' aka '%.*s:./%s'?"
-msgstr ""
-
-#: object-name.c:1809
-#, c-format
-msgid "path '%s' does not exist in '%.*s'"
-msgstr ""
-
-#: object-name.c:1837
-#, c-format
-msgid ""
-"path '%s' is in the index, but not at stage %d\n"
-"hint: Did you mean ':%d:%s'?"
-msgstr ""
-
-#: object-name.c:1853
-#, c-format
-msgid ""
-"path '%s' is in the index, but not '%s'\n"
-"hint: Did you mean ':%d:%s' aka ':%d:./%s'?"
-msgstr ""
-
-#: object-name.c:1861
-#, c-format
-msgid "path '%s' exists on disk, but not in the index"
-msgstr ""
-
-#: object-name.c:1863
-#, c-format
-msgid "path '%s' does not exist (neither on disk nor in the index)"
-msgstr ""
-
-#: object-name.c:1876
-msgid "relative path syntax can't be used outside working tree"
-msgstr ""
-
-#: object-name.c:1901
-#, c-format
-msgid "<object>:<path> required, only <object> '%s' given"
-msgstr ""
-
-#: object-name.c:2014
-#, c-format
-msgid "invalid object name '%.*s'."
-msgstr ""
-
-#: object.c:53
-#, c-format
-msgid "invalid object type \"%s\""
-msgstr ""
-
-#: object.c:173
-#, c-format
-msgid "object %s is a %s, not a %s"
-msgstr ""
-
-#: object.c:250
-#, c-format
-msgid "object %s has unknown type id %d"
-msgstr ""
-
-#: object.c:263
-#, c-format
-msgid "unable to parse object: %s"
-msgstr ""
-
-#: object.c:283 object.c:294
-#, c-format
-msgid "hash mismatch %s"
-msgstr ""
-
-#: pack-bitmap.c:353
-msgid "multi-pack bitmap is missing required reverse index"
-msgstr ""
-
-#: pack-bitmap.c:433
-msgid "load_reverse_index: could not open pack"
-msgstr ""
-
-#: pack-bitmap.c:1072 pack-bitmap.c:1078 builtin/pack-objects.c:2432
-#, c-format
-msgid "unable to get size of %s"
-msgstr ""
-
-#: pack-bitmap.c:1937
-#, c-format
-msgid "could not find %s in pack %s at offset %<PRIuMAX>"
-msgstr ""
-
-#: pack-bitmap.c:1973 builtin/rev-list.c:91
-#, c-format
-msgid "unable to get disk usage of %s"
-msgstr ""
-
-#: pack-revindex.c:221
-#, c-format
-msgid "reverse-index file %s is too small"
-msgstr ""
-
-#: pack-revindex.c:226
-#, c-format
-msgid "reverse-index file %s is corrupt"
-msgstr ""
-
-#: pack-revindex.c:234
-#, c-format
-msgid "reverse-index file %s has unknown signature"
-msgstr ""
-
-#: pack-revindex.c:238
-#, c-format
-msgid "reverse-index file %s has unsupported version %<PRIu32>"
-msgstr ""
-
-#: pack-revindex.c:243
-#, c-format
-msgid "reverse-index file %s has unsupported hash id %<PRIu32>"
-msgstr ""
-
-#: pack-write.c:251
-msgid "cannot both write and verify reverse index"
-msgstr ""
-
-#: pack-write.c:270
-#, c-format
-msgid "could not stat: %s"
-msgstr ""
-
-#: pack-write.c:282
-#, c-format
-msgid "failed to make %s readable"
-msgstr ""
-
-#: pack-write.c:521
-#, c-format
-msgid "could not write '%s' promisor file"
-msgstr ""
-
-#: packfile.c:627
-msgid "offset before end of packfile (broken .idx?)"
-msgstr ""
-
-#: packfile.c:657
-#, c-format
-msgid "packfile %s cannot be mapped%s"
-msgstr ""
-
-#: packfile.c:1924
-#, c-format
-msgid "offset before start of pack index for %s (corrupt index?)"
-msgstr ""
-
-#: packfile.c:1928
-#, c-format
-msgid "offset beyond end of pack index for %s (truncated index?)"
-msgstr ""
-
-#: parse-options-cb.c:21 parse-options-cb.c:25 builtin/commit-graph.c:175
-#, c-format
-msgid "option `%s' expects a numerical value"
-msgstr ""
-
-#: parse-options-cb.c:42
-#, c-format
-msgid "malformed expiration date '%s'"
-msgstr ""
-
-#: parse-options-cb.c:55
-#, c-format
-msgid "option `%s' expects \"always\", \"auto\", or \"never\""
-msgstr ""
-
-#: parse-options-cb.c:133 parse-options-cb.c:150
-#, c-format
-msgid "malformed object name '%s'"
-msgstr ""
-
-#: parse-options-cb.c:307
-#, c-format
-msgid "option `%s' expects \"%s\" or \"%s\""
-msgstr ""
-
-#: parse-options.c:58
-#, c-format
-msgid "%s requires a value"
-msgstr ""
-
-#: parse-options.c:93
-#, c-format
-msgid "%s is incompatible with %s"
-msgstr ""
-
-#: parse-options.c:98
-#, c-format
-msgid "%s : incompatible with something else"
-msgstr ""
-
-#: parse-options.c:112 parse-options.c:116
-#, c-format
-msgid "%s takes no value"
-msgstr ""
-
-#: parse-options.c:114
-#, c-format
-msgid "%s isn't available"
-msgstr ""
-
-#: parse-options.c:237
-#, c-format
-msgid "%s expects a non-negative integer value with an optional k/m/g suffix"
-msgstr ""
-
-#: parse-options.c:393
-#, c-format
-msgid "ambiguous option: %s (could be --%s%s or --%s%s)"
-msgstr ""
-
-#: parse-options.c:428 parse-options.c:436
-#, c-format
-msgid "did you mean `--%s` (with two dashes)?"
-msgstr ""
-
-#: parse-options.c:678 parse-options.c:1054
-#, c-format
-msgid "alias of --%s"
-msgstr ""
-
-#: parse-options.c:892
-#, c-format
-msgid "unknown option `%s'"
-msgstr ""
-
-#: parse-options.c:894
-#, c-format
-msgid "unknown switch `%c'"
-msgstr ""
-
-#: parse-options.c:896
-#, c-format
-msgid "unknown non-ascii option in string: `%s'"
-msgstr ""
-
-#: parse-options.c:920
-msgid "..."
-msgstr ""
-
-#: parse-options.c:934
-#, c-format
-msgid "usage: %s"
-msgstr ""
-
-#. TRANSLATORS: the colon here should align with the
-#. one in "usage: %s" translation.
-#.
-#: parse-options.c:949
-#, c-format
-msgid "   or: %s"
-msgstr ""
-
-#. TRANSLATORS: You should only need to translate this format
-#. string if your language is a RTL language (e.g. Arabic,
-#. Hebrew etc.), not if it's a LTR language (e.g. German,
-#. Russian, Chinese etc.).
-#. *
-#. When a translated usage string has an embedded "\n" it's
-#. because options have wrapped to the next line. The line
-#. after the "\n" will then be padded to align with the
-#. command name, such as N_("git cmd [opt]\n<8
-#. spaces>[opt2]"), where the 8 spaces are the same length as
-#. "git cmd ".
-#. *
-#. This format string prints out that already-translated
-#. line. The "%*s" is whitespace padding to account for the
-#. padding at the start of the line that we add in this
-#. function. The "%s" is a line in the (hopefully already
-#. translated) N_() usage string, which contained embedded
-#. newlines before we split it up.
-#.
-#: parse-options.c:970
-#, c-format
-msgid "%*s%s"
-msgstr ""
-
-#: parse-options.c:993
-#, c-format
-msgid "    %s"
-msgstr ""
-
-#: parse-options.c:1040
-msgid "-NUM"
-msgstr ""
-
-#: path.c:922
-#, c-format
-msgid "Could not make %s writable by group"
-msgstr ""
-
-#: pathspec.c:150
-msgid "Escape character '\\' not allowed as last character in attr value"
-msgstr ""
-
-#: pathspec.c:168
-msgid "Only one 'attr:' specification is allowed."
-msgstr ""
-
-#: pathspec.c:171
-msgid "attr spec must not be empty"
-msgstr ""
-
-#: pathspec.c:214
-#, c-format
-msgid "invalid attribute name %s"
-msgstr ""
-
-#: pathspec.c:279
-msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
-msgstr ""
-
-#: pathspec.c:286
-msgid ""
-"global 'literal' pathspec setting is incompatible with all other global "
-"pathspec settings"
-msgstr ""
-
-#: pathspec.c:326
-msgid "invalid parameter for pathspec magic 'prefix'"
-msgstr ""
-
-#: pathspec.c:347
-#, c-format
-msgid "Invalid pathspec magic '%.*s' in '%s'"
-msgstr ""
-
-#: pathspec.c:352
-#, c-format
-msgid "Missing ')' at the end of pathspec magic in '%s'"
-msgstr ""
-
-#: pathspec.c:390
-#, c-format
-msgid "Unimplemented pathspec magic '%c' in '%s'"
-msgstr ""
-
-#: pathspec.c:449
-#, c-format
-msgid "%s: 'literal' and 'glob' are incompatible"
-msgstr ""
-
-#: pathspec.c:465
-#, c-format
-msgid "%s: '%s' is outside repository at '%s'"
-msgstr ""
-
-#: pathspec.c:541
-#, c-format
-msgid "'%s' (mnemonic: '%c')"
-msgstr ""
-
-#: pathspec.c:551
-#, c-format
-msgid "%s: pathspec magic not supported by this command: %s"
-msgstr ""
-
-#: pathspec.c:618
-#, c-format
-msgid "pathspec '%s' is beyond a symbolic link"
-msgstr ""
-
-#: pathspec.c:663
-#, c-format
-msgid "line is badly quoted: %s"
-msgstr ""
-
-#: pkt-line.c:92
-msgid "unable to write flush packet"
-msgstr ""
-
-#: pkt-line.c:99
-msgid "unable to write delim packet"
-msgstr ""
-
-#: pkt-line.c:106
-msgid "unable to write response end packet"
-msgstr ""
-
-#: pkt-line.c:113
-msgid "flush packet write failed"
-msgstr ""
-
-#: pkt-line.c:153
-msgid "protocol error: impossibly long line"
-msgstr ""
-
-#: pkt-line.c:169 pkt-line.c:171
-msgid "packet write with format failed"
-msgstr ""
-
-#: pkt-line.c:204 pkt-line.c:252
-msgid "packet write failed - data exceeds max packet size"
-msgstr ""
-
-#: pkt-line.c:222
-#, c-format
-msgid "packet write failed: %s"
-msgstr ""
-
-#: pkt-line.c:349 pkt-line.c:350
-msgid "read error"
-msgstr ""
-
-#: pkt-line.c:360 pkt-line.c:361
-msgid "the remote end hung up unexpectedly"
-msgstr ""
-
-#: pkt-line.c:417 pkt-line.c:419
-#, c-format
-msgid "protocol error: bad line length character: %.4s"
-msgstr ""
-
-#: pkt-line.c:434 pkt-line.c:436 pkt-line.c:442 pkt-line.c:444
-#, c-format
-msgid "protocol error: bad line length %d"
-msgstr ""
-
-#: pkt-line.c:472 sideband.c:165
-#, c-format
-msgid "remote error: %s"
-msgstr ""
-
-#: preload-index.c:125
-msgid "Refreshing index"
-msgstr ""
-
-#: preload-index.c:144
-#, c-format
-msgid "unable to create threaded lstat: %s"
-msgstr ""
-
-#: pretty.c:1051
-msgid "unable to parse --pretty format"
-msgstr ""
-
-#: promisor-remote.c:31
-msgid "promisor-remote: unable to fork off fetch subprocess"
-msgstr ""
-
-#: promisor-remote.c:38 promisor-remote.c:40
-msgid "promisor-remote: could not write to fetch subprocess"
-msgstr ""
-
-#: promisor-remote.c:44
-msgid "promisor-remote: could not close stdin to fetch subprocess"
-msgstr ""
-
-#: promisor-remote.c:54
-#, c-format
-msgid "promisor remote name cannot begin with '/': %s"
-msgstr ""
-
-#: protocol-caps.c:103
-msgid "object-info: expected flush after arguments"
-msgstr ""
-
-#: prune-packed.c:35
-msgid "Removing duplicate objects"
-msgstr ""
-
-#: range-diff.c:68
-msgid "could not start `log`"
-msgstr ""
-
-#: range-diff.c:70
-msgid "could not read `log` output"
-msgstr ""
-
-#: range-diff.c:98 sequencer.c:5575
-#, c-format
-msgid "could not parse commit '%s'"
-msgstr ""
-
-#: range-diff.c:109
-#, c-format
-msgid ""
-"could not parse first line of `log` output: did not start with 'commit ': "
-"'%s'"
-msgstr ""
-
-#: range-diff.c:132
-#, c-format
-msgid "could not parse git header '%.*s'"
-msgstr ""
-
-#: range-diff.c:300
-msgid "failed to generate diff"
-msgstr ""
-
-#: range-diff.c:558 range-diff.c:560
-#, c-format
-msgid "could not parse log for '%s'"
-msgstr ""
-
-#: read-cache.c:737
-#, c-format
-msgid "will not add file alias '%s' ('%s' already exists in index)"
-msgstr ""
-
-#: read-cache.c:753
-msgid "cannot create an empty blob in the object database"
-msgstr ""
-
-#: read-cache.c:775
-#, c-format
-msgid "%s: can only add regular files, symbolic links or git-directories"
-msgstr ""
-
-#: read-cache.c:780 builtin/submodule--helper.c:3359
-#, c-format
-msgid "'%s' does not have a commit checked out"
-msgstr ""
-
-#: read-cache.c:832
-#, c-format
-msgid "unable to index file '%s'"
-msgstr ""
-
-#: read-cache.c:851
-#, c-format
-msgid "unable to add '%s' to index"
-msgstr ""
-
-#: read-cache.c:862
-#, c-format
-msgid "unable to stat '%s'"
-msgstr ""
-
-#: read-cache.c:1404
-#, c-format
-msgid "'%s' appears as both a file and as a directory"
-msgstr ""
-
-#: read-cache.c:1619
-msgid "Refresh index"
-msgstr ""
-
-#: read-cache.c:1751
-#, c-format
-msgid ""
-"index.version set, but the value is invalid.\n"
-"Using version %i"
-msgstr ""
-
-#: read-cache.c:1761
-#, c-format
-msgid ""
-"GIT_INDEX_VERSION set, but the value is invalid.\n"
-"Using version %i"
-msgstr ""
-
-#: read-cache.c:1817
-#, c-format
-msgid "bad signature 0x%08x"
-msgstr ""
-
-#: read-cache.c:1820
-#, c-format
-msgid "bad index version %d"
-msgstr ""
-
-#: read-cache.c:1829
-msgid "bad index file sha1 signature"
-msgstr ""
-
-#: read-cache.c:1863
-#, c-format
-msgid "index uses %.4s extension, which we do not understand"
-msgstr ""
-
-#: read-cache.c:1865
-#, c-format
-msgid "ignoring %.4s extension"
-msgstr ""
-
-#: read-cache.c:1902
-#, c-format
-msgid "unknown index entry format 0x%08x"
-msgstr ""
-
-#: read-cache.c:1918
-#, c-format
-msgid "malformed name field in the index, near path '%s'"
-msgstr ""
-
-#: read-cache.c:1975
-msgid "unordered stage entries in index"
-msgstr ""
-
-#: read-cache.c:1978
-#, c-format
-msgid "multiple stage entries for merged file '%s'"
-msgstr ""
-
-#: read-cache.c:1981
-#, c-format
-msgid "unordered stage entries for '%s'"
-msgstr ""
-
-#: read-cache.c:2096 read-cache.c:2402 rerere.c:549 rerere.c:583 rerere.c:1096
-#: submodule.c:1831 builtin/add.c:586 builtin/check-ignore.c:183
-#: builtin/checkout.c:532 builtin/checkout.c:724 builtin/clean.c:1016
-#: builtin/commit.c:379 builtin/diff-tree.c:122 builtin/grep.c:521
-#: builtin/mv.c:148 builtin/reset.c:506 builtin/rm.c:293
-#: builtin/submodule--helper.c:335 builtin/submodule--helper.c:3319
-msgid "index file corrupt"
-msgstr ""
-
-#: read-cache.c:2240
-#, c-format
-msgid "unable to create load_cache_entries thread: %s"
-msgstr ""
-
-#: read-cache.c:2253
-#, c-format
-msgid "unable to join load_cache_entries thread: %s"
-msgstr ""
-
-#: read-cache.c:2286
-#, c-format
-msgid "%s: index file open failed"
-msgstr ""
-
-#: read-cache.c:2290
-#, c-format
-msgid "%s: cannot stat the open index"
-msgstr ""
-
-#: read-cache.c:2294
-#, c-format
-msgid "%s: index file smaller than expected"
-msgstr ""
-
-#: read-cache.c:2298
-#, c-format
-msgid "%s: unable to map index file%s"
-msgstr ""
-
-#: read-cache.c:2341
-#, c-format
-msgid "unable to create load_index_extensions thread: %s"
-msgstr ""
-
-#: read-cache.c:2368
-#, c-format
-msgid "unable to join load_index_extensions thread: %s"
-msgstr ""
-
-#: read-cache.c:2414
-#, c-format
-msgid "could not freshen shared index '%s'"
-msgstr ""
-
-#: read-cache.c:2473
-#, c-format
-msgid "broken index, expect %s in %s, got %s"
-msgstr ""
-
-#: read-cache.c:3032
-msgid "cannot write split index for a sparse index"
-msgstr ""
-
-#: read-cache.c:3114 strbuf.c:1192 wrapper.c:717 builtin/merge.c:1156
-#, c-format
-msgid "could not close '%s'"
-msgstr ""
-
-#: read-cache.c:3157
-msgid "failed to convert to a sparse-index"
-msgstr ""
-
-#: read-cache.c:3228
-#, c-format
-msgid "could not stat '%s'"
-msgstr ""
-
-#: read-cache.c:3241
-#, c-format
-msgid "unable to open git dir: %s"
-msgstr ""
-
-#: read-cache.c:3253
-#, c-format
-msgid "unable to unlink: %s"
-msgstr ""
-
-#: read-cache.c:3282
-#, c-format
-msgid "cannot fix permission bits on '%s'"
-msgstr ""
-
-#: read-cache.c:3439
-#, c-format
-msgid "%s: cannot drop to stage #0"
-msgstr ""
-
-#: rebase-interactive.c:11
-msgid ""
-"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
-"continue'.\n"
-"Or you can abort the rebase with 'git rebase --abort'.\n"
-msgstr ""
-
-#: rebase-interactive.c:33
-#, c-format
-msgid ""
-"unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
-msgstr ""
-
-#: rebase-interactive.c:42
-msgid ""
-"\n"
-"Commands:\n"
-"p, pick <commit> = use commit\n"
-"r, reword <commit> = use commit, but edit the commit message\n"
-"e, edit <commit> = use commit, but stop for amending\n"
-"s, squash <commit> = use commit, but meld into previous commit\n"
-"f, fixup [-C | -c] <commit> = like \"squash\" but keep only the previous\n"
-"                   commit's log message, unless -C is used, in which case\n"
-"                   keep only this commit's message; -c is same as -C but\n"
-"                   opens the editor\n"
-"x, exec <command> = run command (the rest of the line) using shell\n"
-"b, break = stop here (continue rebase later with 'git rebase --continue')\n"
-"d, drop <commit> = remove commit\n"
-"l, label <label> = label current HEAD with a name\n"
-"t, reset <label> = reset HEAD to a label\n"
-"m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
-".       create a merge commit using the original merge commit's\n"
-".       message (or the oneline, if no original merge commit was\n"
-".       specified); use -c <commit> to reword the commit message\n"
-"\n"
-"These lines can be re-ordered; they are executed from top to bottom.\n"
-msgstr ""
-
-#: rebase-interactive.c:66
-#, c-format
-msgid "Rebase %s onto %s (%d command)"
-msgid_plural "Rebase %s onto %s (%d commands)"
-msgstr[0] ""
-msgstr[1] ""
-
-#: rebase-interactive.c:75
-msgid ""
-"\n"
-"Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
-msgstr ""
-
-#: rebase-interactive.c:78
-msgid ""
-"\n"
-"If you remove a line here THAT COMMIT WILL BE LOST.\n"
-msgstr ""
-
-#: rebase-interactive.c:84
-msgid ""
-"\n"
-"You are editing the todo file of an ongoing interactive rebase.\n"
-"To continue rebase after editing, run:\n"
-"    git rebase --continue\n"
-"\n"
-msgstr ""
-
-#: rebase-interactive.c:89
-msgid ""
-"\n"
-"However, if you remove everything, the rebase will be aborted.\n"
-"\n"
-msgstr ""
-
-#: rebase-interactive.c:113 rerere.c:469 rerere.c:677 sequencer.c:3879
-#: sequencer.c:3905 sequencer.c:5681 builtin/fsck.c:328 builtin/gc.c:1791
-#: builtin/rebase.c:191
-#, c-format
-msgid "could not write '%s'"
-msgstr ""
-
-#: rebase-interactive.c:119
-#, c-format
-msgid "could not write '%s'."
-msgstr ""
-
-#: rebase-interactive.c:196
-#, c-format
-msgid ""
-"Warning: some commits may have been dropped accidentally.\n"
-"Dropped commits (newer to older):\n"
-msgstr ""
-
-#: rebase-interactive.c:203
-#, c-format
-msgid ""
-"To avoid this message, use \"drop\" to explicitly remove a commit.\n"
-"\n"
-"Use 'git config rebase.missingCommitsCheck' to change the level of "
-"warnings.\n"
-"The possible behaviours are: ignore, warn, error.\n"
-"\n"
-msgstr ""
-
-#: rebase.c:29
-#, c-format
-msgid "%s: 'preserve' superseded by 'merges'"
-msgstr ""
-
-#: ref-filter.c:42 wt-status.c:2057
-msgid "gone"
-msgstr ""
-
-#: ref-filter.c:43
-#, c-format
-msgid "ahead %d"
-msgstr ""
-
-#: ref-filter.c:44
-#, c-format
-msgid "behind %d"
-msgstr ""
-
-#: ref-filter.c:45
-#, c-format
-msgid "ahead %d, behind %d"
-msgstr ""
-
-#: ref-filter.c:235
-#, c-format
-msgid "expected format: %%(color:<color>)"
-msgstr ""
-
-#: ref-filter.c:237
-#, c-format
-msgid "unrecognized color: %%(color:%s)"
-msgstr ""
-
-#: ref-filter.c:259
-#, c-format
-msgid "Integer value expected refname:lstrip=%s"
-msgstr ""
-
-#: ref-filter.c:263
-#, c-format
-msgid "Integer value expected refname:rstrip=%s"
-msgstr ""
-
-#: ref-filter.c:265 ref-filter.c:344 ref-filter.c:377 ref-filter.c:431
-#: ref-filter.c:443 ref-filter.c:462 ref-filter.c:534 ref-filter.c:560
-#, c-format
-msgid "unrecognized %%(%s) argument: %s"
-msgstr ""
-
-#: ref-filter.c:320
-#, c-format
-msgid "%%(objecttype) does not take arguments"
-msgstr ""
-
-#: ref-filter.c:352
-#, c-format
-msgid "%%(deltabase) does not take arguments"
-msgstr ""
-
-#: ref-filter.c:364
-#, c-format
-msgid "%%(body) does not take arguments"
-msgstr ""
-
-#: ref-filter.c:396
-#, c-format
-msgid "expected %%(trailers:key=<value>)"
-msgstr ""
-
-#: ref-filter.c:398
-#, c-format
-msgid "unknown %%(trailers) argument: %s"
-msgstr ""
-
-#: ref-filter.c:429
-#, c-format
-msgid "positive value expected contents:lines=%s"
-msgstr ""
-
-#: ref-filter.c:458
-#, c-format
-msgid "positive value expected '%s' in %%(%s)"
-msgstr ""
-
-#: ref-filter.c:476
-#, c-format
-msgid "unrecognized email option: %s"
-msgstr ""
-
-#: ref-filter.c:506
-#, c-format
-msgid "expected format: %%(align:<width>,<position>)"
-msgstr ""
-
-#: ref-filter.c:518
-#, c-format
-msgid "unrecognized position:%s"
-msgstr ""
-
-#: ref-filter.c:525
-#, c-format
-msgid "unrecognized width:%s"
-msgstr ""
-
-#: ref-filter.c:542
-#, c-format
-msgid "positive width expected with the %%(align) atom"
-msgstr ""
-
-#: ref-filter.c:568
-#, c-format
-msgid "%%(rest) does not take arguments"
-msgstr ""
-
-#: ref-filter.c:680
-#, c-format
-msgid "malformed field name: %.*s"
-msgstr ""
-
-#: ref-filter.c:707
-#, c-format
-msgid "unknown field name: %.*s"
-msgstr ""
-
-#: ref-filter.c:711
-#, c-format
-msgid ""
-"not a git repository, but the field '%.*s' requires access to object data"
-msgstr ""
-
-#: ref-filter.c:844 ref-filter.c:910 ref-filter.c:946 ref-filter.c:948
-#, c-format
-msgid "format: %%(%s) atom used without a %%(%s) atom"
-msgstr ""
-
-#: ref-filter.c:912
-#, c-format
-msgid "format: %%(then) atom used more than once"
-msgstr ""
-
-#: ref-filter.c:914
-#, c-format
-msgid "format: %%(then) atom used after %%(else)"
-msgstr ""
-
-#: ref-filter.c:950
-#, c-format
-msgid "format: %%(else) atom used more than once"
-msgstr ""
-
-#: ref-filter.c:965
-#, c-format
-msgid "format: %%(end) atom used without corresponding atom"
-msgstr ""
-
-#: ref-filter.c:1027
-#, c-format
-msgid "malformed format string %s"
-msgstr ""
-
-#: ref-filter.c:1033
-#, c-format
-msgid "this command reject atom %%(%.*s)"
-msgstr ""
-
-#: ref-filter.c:1040
-#, c-format
-msgid "--format=%.*s cannot be used with --python, --shell, --tcl"
-msgstr ""
-
-#: ref-filter.c:1707
-#, c-format
-msgid "(no branch, rebasing %s)"
-msgstr ""
-
-#: ref-filter.c:1710
-#, c-format
-msgid "(no branch, rebasing detached HEAD %s)"
-msgstr ""
-
-#: ref-filter.c:1713
-#, c-format
-msgid "(no branch, bisect started on %s)"
-msgstr ""
-
-#: ref-filter.c:1717
-#, c-format
-msgid "(HEAD detached at %s)"
-msgstr ""
-
-#: ref-filter.c:1720
-#, c-format
-msgid "(HEAD detached from %s)"
-msgstr ""
-
-#: ref-filter.c:1723
-msgid "(no branch)"
-msgstr ""
-
-#: ref-filter.c:1755 ref-filter.c:1973
-#, c-format
-msgid "missing object %s for %s"
-msgstr ""
-
-#: ref-filter.c:1765
-#, c-format
-msgid "parse_object_buffer failed on %s for %s"
-msgstr ""
-
-#: ref-filter.c:2156
-#, c-format
-msgid "malformed object at '%s'"
-msgstr ""
-
-#: ref-filter.c:2246
-#, c-format
-msgid "ignoring ref with broken name %s"
-msgstr ""
-
-#: ref-filter.c:2251 refs.c:672
-#, c-format
-msgid "ignoring broken ref %s"
-msgstr ""
-
-#: ref-filter.c:2630
-#, c-format
-msgid "format: %%(end) atom missing"
-msgstr ""
-
-#: ref-filter.c:2741
-#, c-format
-msgid "malformed object name %s"
-msgstr ""
-
-#: ref-filter.c:2746
-#, c-format
-msgid "option `%s' must point to a commit"
-msgstr ""
-
-#: reflog.c:407
-#, c-format
-msgid "not a reflog: %s"
-msgstr ""
-
-#: reflog.c:410
-#, c-format
-msgid "no reflog for '%s'"
-msgstr ""
-
-#: refs.c:262
-#, c-format
-msgid "%s does not point to a valid object!"
-msgstr ""
-
-#: refs.c:561
-#, c-format
-msgid ""
-"Using '%s' as the name for the initial branch. This default branch name\n"
-"is subject to change. To configure the initial branch name to use in all\n"
-"of your new repositories, which will suppress this warning, call:\n"
-"\n"
-"\tgit config --global init.defaultBranch <name>\n"
-"\n"
-"Names commonly chosen instead of 'master' are 'main', 'trunk' and\n"
-"'development'. The just-created branch can be renamed via this command:\n"
-"\n"
-"\tgit branch -m <name>\n"
-msgstr ""
-
-#: refs.c:583
-#, c-format
-msgid "could not retrieve `%s`"
-msgstr ""
-
-#: refs.c:593
-#, c-format
-msgid "invalid branch name: %s = %s"
-msgstr ""
-
-#: refs.c:670
-#, c-format
-msgid "ignoring dangling symref %s"
-msgstr ""
-
-#: refs.c:919
-#, c-format
-msgid "log for ref %s has gap after %s"
-msgstr ""
-
-#: refs.c:926
-#, c-format
-msgid "log for ref %s unexpectedly ended on %s"
-msgstr ""
-
-#: refs.c:991
-#, c-format
-msgid "log for %s is empty"
-msgstr ""
-
-#: refs.c:1086
-#, c-format
-msgid "refusing to update ref with bad name '%s'"
-msgstr ""
-
-#: refs.c:1164
-#, c-format
-msgid "update_ref failed for ref '%s': %s"
-msgstr ""
-
-#: refs.c:2059
-#, c-format
-msgid "multiple updates for ref '%s' not allowed"
-msgstr ""
-
-#: refs.c:2145
-msgid "ref updates forbidden inside quarantine environment"
-msgstr ""
-
-#: refs.c:2156
-msgid "ref updates aborted by hook"
-msgstr ""
-
-#: refs.c:2264 refs.c:2294
-#, c-format
-msgid "'%s' exists; cannot create '%s'"
-msgstr ""
-
-#: refs.c:2270 refs.c:2305
-#, c-format
-msgid "cannot process '%s' and '%s' at the same time"
-msgstr ""
-
-#: refs/files-backend.c:1295
-#, c-format
-msgid "could not remove reference %s"
-msgstr ""
-
-#: refs/files-backend.c:1310 refs/packed-backend.c:1565
-#: refs/packed-backend.c:1575
-#, c-format
-msgid "could not delete reference %s: %s"
-msgstr ""
-
-#: refs/files-backend.c:1313 refs/packed-backend.c:1578
-#, c-format
-msgid "could not delete references: %s"
-msgstr ""
-
-#: refspec.c:170
-#, c-format
-msgid "invalid refspec '%s'"
-msgstr ""
-
-#: remote.c:402
-#, c-format
-msgid "config remote shorthand cannot begin with '/': %s"
-msgstr ""
-
-#: remote.c:450
-msgid "more than one receivepack given, using the first"
-msgstr ""
-
-#: remote.c:458
-msgid "more than one uploadpack given, using the first"
-msgstr ""
-
-#: remote.c:698
-#, c-format
-msgid "Cannot fetch both %s and %s to %s"
-msgstr ""
-
-#: remote.c:702
-#, c-format
-msgid "%s usually tracks %s, not %s"
-msgstr ""
-
-#: remote.c:706
-#, c-format
-msgid "%s tracks both %s and %s"
-msgstr ""
-
-#: remote.c:774
-#, c-format
-msgid "key '%s' of pattern had no '*'"
-msgstr ""
-
-#: remote.c:784
-#, c-format
-msgid "value '%s' of pattern has no '*'"
-msgstr ""
-
-#: remote.c:1191
-#, c-format
-msgid "src refspec %s does not match any"
-msgstr ""
-
-#: remote.c:1196
-#, c-format
-msgid "src refspec %s matches more than one"
-msgstr ""
-
-#. TRANSLATORS: "matches '%s'%" is the <dst> part of "git push
-#. <remote> <src>:<dst>" push, and "being pushed ('%s')" is
-#. the <src>.
-#.
-#: remote.c:1211
-#, c-format
-msgid ""
-"The destination you provided is not a full refname (i.e.,\n"
-"starting with \"refs/\"). We tried to guess what you meant by:\n"
-"\n"
-"- Looking for a ref that matches '%s' on the remote side.\n"
-"- Checking if the <src> being pushed ('%s')\n"
-"  is a ref in \"refs/{heads,tags}/\". If so we add a corresponding\n"
-"  refs/{heads,tags}/ prefix on the remote side.\n"
-"\n"
-"Neither worked, so we gave up. You must fully qualify the ref."
-msgstr ""
-
-#: remote.c:1231
-#, c-format
-msgid ""
-"The <src> part of the refspec is a commit object.\n"
-"Did you mean to create a new branch by pushing to\n"
-"'%s:refs/heads/%s'?"
-msgstr ""
-
-#: remote.c:1236
-#, c-format
-msgid ""
-"The <src> part of the refspec is a tag object.\n"
-"Did you mean to create a new tag by pushing to\n"
-"'%s:refs/tags/%s'?"
-msgstr ""
-
-#: remote.c:1241
-#, c-format
-msgid ""
-"The <src> part of the refspec is a tree object.\n"
-"Did you mean to tag a new tree by pushing to\n"
-"'%s:refs/tags/%s'?"
-msgstr ""
-
-#: remote.c:1246
-#, c-format
-msgid ""
-"The <src> part of the refspec is a blob object.\n"
-"Did you mean to tag a new blob by pushing to\n"
-"'%s:refs/tags/%s'?"
-msgstr ""
-
-#: remote.c:1282
-#, c-format
-msgid "%s cannot be resolved to branch"
-msgstr ""
-
-#: remote.c:1293
-#, c-format
-msgid "unable to delete '%s': remote ref does not exist"
-msgstr ""
-
-#: remote.c:1305
-#, c-format
-msgid "dst refspec %s matches more than one"
-msgstr ""
-
-#: remote.c:1312
-#, c-format
-msgid "dst ref %s receives from more than one src"
-msgstr ""
-
-#: remote.c:1833 remote.c:1940
-msgid "HEAD does not point to a branch"
-msgstr ""
-
-#: remote.c:1842
-#, c-format
-msgid "no such branch: '%s'"
-msgstr ""
-
-#: remote.c:1845
-#, c-format
-msgid "no upstream configured for branch '%s'"
-msgstr ""
-
-#: remote.c:1851
-#, c-format
-msgid "upstream branch '%s' not stored as a remote-tracking branch"
-msgstr ""
-
-#: remote.c:1866
-#, c-format
-msgid "push destination '%s' on remote '%s' has no local tracking branch"
-msgstr ""
-
-#: remote.c:1881
-#, c-format
-msgid "branch '%s' has no remote for pushing"
-msgstr ""
-
-#: remote.c:1891
-#, c-format
-msgid "push refspecs for '%s' do not include '%s'"
-msgstr ""
-
-#: remote.c:1904
-msgid "push has no destination (push.default is 'nothing')"
-msgstr ""
-
-#: remote.c:1926
-msgid "cannot resolve 'simple' push to a single destination"
-msgstr ""
-
-#: remote.c:2059
-#, c-format
-msgid "couldn't find remote ref %s"
-msgstr ""
-
-#: remote.c:2072
-#, c-format
-msgid "* Ignoring funny ref '%s' locally"
-msgstr ""
-
-#: remote.c:2235
-#, c-format
-msgid "Your branch is based on '%s', but the upstream is gone.\n"
-msgstr ""
-
-#: remote.c:2239
-msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
-msgstr ""
-
-#: remote.c:2242
-#, c-format
-msgid "Your branch is up to date with '%s'.\n"
-msgstr ""
-
-#: remote.c:2246
-#, c-format
-msgid "Your branch and '%s' refer to different commits.\n"
-msgstr ""
-
-#: remote.c:2249
-#, c-format
-msgid "  (use \"%s\" for details)\n"
-msgstr ""
-
-#: remote.c:2253
-#, c-format
-msgid "Your branch is ahead of '%s' by %d commit.\n"
-msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: remote.c:2259
-msgid "  (use \"git push\" to publish your local commits)\n"
-msgstr ""
-
-#: remote.c:2262
-#, c-format
-msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
-msgid_plural ""
-"Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: remote.c:2270
-msgid "  (use \"git pull\" to update your local branch)\n"
-msgstr ""
-
-#: remote.c:2273
-#, c-format
-msgid ""
-"Your branch and '%s' have diverged,\n"
-"and have %d and %d different commit each, respectively.\n"
-msgid_plural ""
-"Your branch and '%s' have diverged,\n"
-"and have %d and %d different commits each, respectively.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: remote.c:2283
-msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
-msgstr ""
-
-#: remote.c:2475
-#, c-format
-msgid "cannot parse expected object name '%s'"
-msgstr ""
-
-#: replace-object.c:21
-#, c-format
-msgid "bad replace ref name: %s"
-msgstr ""
-
-#: replace-object.c:30
-#, c-format
-msgid "duplicate replace ref: %s"
-msgstr ""
-
-#: replace-object.c:82
-#, c-format
-msgid "replace depth too high for object %s"
-msgstr ""
-
-#: rerere.c:201 rerere.c:210 rerere.c:213
-msgid "corrupt MERGE_RR"
-msgstr ""
-
-#: rerere.c:248 rerere.c:253
-msgid "unable to write rerere record"
-msgstr ""
-
-#: rerere.c:479
-#, c-format
-msgid "there were errors while writing '%s' (%s)"
-msgstr ""
-
-#: rerere.c:482 builtin/gc.c:2263 builtin/gc.c:2298
-#, c-format
-msgid "failed to flush '%s'"
-msgstr ""
-
-#: rerere.c:487 rerere.c:1024
-#, c-format
-msgid "could not parse conflict hunks in '%s'"
-msgstr ""
-
-#: rerere.c:669
-#, c-format
-msgid "failed utime() on '%s'"
-msgstr ""
-
-#: rerere.c:679
-#, c-format
-msgid "writing '%s' failed"
-msgstr ""
-
-#: rerere.c:699
-#, c-format
-msgid "Staged '%s' using previous resolution."
-msgstr ""
-
-#: rerere.c:738
-#, c-format
-msgid "Recorded resolution for '%s'."
-msgstr ""
-
-#: rerere.c:773
-#, c-format
-msgid "Resolved '%s' using previous resolution."
-msgstr ""
-
-#: rerere.c:788
-#, c-format
-msgid "cannot unlink stray '%s'"
-msgstr ""
-
-#: rerere.c:792
-#, c-format
-msgid "Recorded preimage for '%s'"
-msgstr ""
-
-#: rerere.c:866 submodule.c:2290 builtin/log.c:2042
-#: builtin/submodule--helper.c:1786 builtin/submodule--helper.c:1833
-#, c-format
-msgid "could not create directory '%s'"
-msgstr ""
-
-#: rerere.c:1042
-#, c-format
-msgid "failed to update conflicted state in '%s'"
-msgstr ""
-
-#: rerere.c:1053 rerere.c:1060
-#, c-format
-msgid "no remembered resolution for '%s'"
-msgstr ""
-
-#: rerere.c:1062
-#, c-format
-msgid "cannot unlink '%s'"
-msgstr ""
-
-#: rerere.c:1072
-#, c-format
-msgid "Updated preimage for '%s'"
-msgstr ""
-
-#: rerere.c:1081
-#, c-format
-msgid "Forgot resolution for '%s'\n"
-msgstr ""
-
-#: rerere.c:1192
-msgid "unable to open rr-cache directory"
-msgstr ""
-
-#: reset.c:112
-msgid "could not determine HEAD revision"
-msgstr ""
-
-#: reset.c:141 reset.c:147 sequencer.c:3696
-#, c-format
-msgid "failed to find tree of %s"
-msgstr ""
-
-#: revision.c:2358
-msgid "--unpacked=<packfile> no longer supported"
-msgstr ""
-
-#: revision.c:2712
-msgid "your current branch appears to be broken"
-msgstr ""
-
-#: revision.c:2715
-#, c-format
-msgid "your current branch '%s' does not have any commits yet"
-msgstr ""
-
-#: revision.c:2901
-msgid "object filtering requires --objects"
-msgstr ""
-
-#: revision.c:2918
-msgid "-L does not yet support diff formats besides -p and -s"
-msgstr ""
-
-#: run-command.c:1262
-#, c-format
-msgid "cannot create async thread: %s"
-msgstr ""
-
-#: send-pack.c:150
-msgid "unexpected flush packet while reading remote unpack status"
-msgstr ""
-
-#: send-pack.c:152
-#, c-format
-msgid "unable to parse remote unpack status: %s"
-msgstr ""
-
-#: send-pack.c:154
-#, c-format
-msgid "remote unpack failed: %s"
-msgstr ""
-
-#: send-pack.c:378
-msgid "failed to sign the push certificate"
-msgstr ""
-
-#: send-pack.c:435
-msgid "send-pack: unable to fork off fetch subprocess"
-msgstr ""
-
-#: send-pack.c:457
-msgid "push negotiation failed; proceeding anyway with push"
-msgstr ""
-
-#: send-pack.c:528
-msgid "the receiving end does not support this repository's hash algorithm"
-msgstr ""
-
-#: send-pack.c:537
-msgid "the receiving end does not support --signed push"
-msgstr ""
-
-#: send-pack.c:539
-msgid ""
-"not sending a push certificate since the receiving end does not support --"
-"signed push"
-msgstr ""
-
-#: send-pack.c:546
-msgid "the receiving end does not support --atomic push"
-msgstr ""
-
-#: send-pack.c:551
-msgid "the receiving end does not support push options"
-msgstr ""
-
-#: sequencer.c:197
-#, c-format
-msgid "invalid commit message cleanup mode '%s'"
-msgstr ""
-
-#: sequencer.c:325
-#, c-format
-msgid "could not delete '%s'"
-msgstr ""
-
-#: sequencer.c:345 sequencer.c:4724 builtin/rebase.c:564 builtin/rebase.c:1326
-#: builtin/rm.c:409
-#, c-format
-msgid "could not remove '%s'"
-msgstr ""
-
-#: sequencer.c:355
-msgid "revert"
-msgstr ""
-
-#: sequencer.c:357
-msgid "cherry-pick"
-msgstr ""
-
-#: sequencer.c:359
-msgid "rebase"
-msgstr ""
-
-#: sequencer.c:361
-#, c-format
-msgid "unknown action: %d"
-msgstr ""
-
-#: sequencer.c:420
-msgid ""
-"after resolving the conflicts, mark the corrected paths\n"
-"with 'git add <paths>' or 'git rm <paths>'"
-msgstr ""
-
-#: sequencer.c:423
-msgid ""
-"After resolving the conflicts, mark them with\n"
-"\"git add/rm <pathspec>\", then run\n"
-"\"git cherry-pick --continue\".\n"
-"You can instead skip this commit with \"git cherry-pick --skip\".\n"
-"To abort and get back to the state before \"git cherry-pick\",\n"
-"run \"git cherry-pick --abort\"."
-msgstr ""
-
-#: sequencer.c:430
-msgid ""
-"After resolving the conflicts, mark them with\n"
-"\"git add/rm <pathspec>\", then run\n"
-"\"git revert --continue\".\n"
-"You can instead skip this commit with \"git revert --skip\".\n"
-"To abort and get back to the state before \"git revert\",\n"
-"run \"git revert --abort\"."
-msgstr ""
-
-#: sequencer.c:448 sequencer.c:3288
-#, c-format
-msgid "could not lock '%s'"
-msgstr ""
-
-#: sequencer.c:450 sequencer.c:3087 sequencer.c:3292 sequencer.c:3306
-#: sequencer.c:3557 sequencer.c:5591 strbuf.c:1189 wrapper.c:715
-#, c-format
-msgid "could not write to '%s'"
-msgstr ""
-
-#: sequencer.c:455
-#, c-format
-msgid "could not write eol to '%s'"
-msgstr ""
-
-#: sequencer.c:460 sequencer.c:3092 sequencer.c:3294 sequencer.c:3308
-#: sequencer.c:3565
-#, c-format
-msgid "failed to finalize '%s'"
-msgstr ""
-
-#: sequencer.c:473 sequencer.c:1930 sequencer.c:3112 sequencer.c:3547
-#: sequencer.c:3675 builtin/am.c:290 builtin/commit.c:837 builtin/merge.c:1154
-#, c-format
-msgid "could not read '%s'"
-msgstr ""
-
-#: sequencer.c:499
-#, c-format
-msgid "your local changes would be overwritten by %s."
-msgstr ""
-
-#: sequencer.c:503
-msgid "commit your changes or stash them to proceed."
-msgstr ""
-
-#: sequencer.c:535
-#, c-format
-msgid "%s: fast-forward"
-msgstr ""
-
-#: sequencer.c:574 builtin/tag.c:615
-#, c-format
-msgid "Invalid cleanup mode %s"
-msgstr ""
-
-#. TRANSLATORS: %s will be "revert", "cherry-pick" or
-#. "rebase".
-#.
-#: sequencer.c:685
-#, c-format
-msgid "%s: Unable to write new index file"
-msgstr ""
-
-#: sequencer.c:699
-msgid "unable to update cache tree"
-msgstr ""
-
-#: sequencer.c:713
-msgid "could not resolve HEAD commit"
-msgstr ""
-
-#: sequencer.c:793
-#, c-format
-msgid "no key present in '%.*s'"
-msgstr ""
-
-#: sequencer.c:804
-#, c-format
-msgid "unable to dequote value of '%s'"
-msgstr ""
-
-#: sequencer.c:841 wrapper.c:219 wrapper.c:389 builtin/am.c:757
-#: builtin/am.c:849 builtin/rebase.c:699
-#, c-format
-msgid "could not open '%s' for reading"
-msgstr ""
-
-#: sequencer.c:851
-msgid "'GIT_AUTHOR_NAME' already given"
-msgstr ""
-
-#: sequencer.c:856
-msgid "'GIT_AUTHOR_EMAIL' already given"
-msgstr ""
-
-#: sequencer.c:861
-msgid "'GIT_AUTHOR_DATE' already given"
-msgstr ""
-
-#: sequencer.c:865
-#, c-format
-msgid "unknown variable '%s'"
-msgstr ""
-
-#: sequencer.c:870
-msgid "missing 'GIT_AUTHOR_NAME'"
-msgstr ""
-
-#: sequencer.c:872
-msgid "missing 'GIT_AUTHOR_EMAIL'"
-msgstr ""
-
-#: sequencer.c:874
-msgid "missing 'GIT_AUTHOR_DATE'"
-msgstr ""
-
-#: sequencer.c:939
-#, c-format
-msgid ""
-"you have staged changes in your working tree\n"
-"If these changes are meant to be squashed into the previous commit, run:\n"
-"\n"
-"  git commit --amend %s\n"
-"\n"
-"If they are meant to go into a new commit, run:\n"
-"\n"
-"  git commit %s\n"
-"\n"
-"In both cases, once you're done, continue with:\n"
-"\n"
-"  git rebase --continue\n"
-msgstr ""
-
-#: sequencer.c:1225
-msgid "'prepare-commit-msg' hook failed"
-msgstr ""
-
-#: sequencer.c:1231
-msgid ""
-"Your name and email address were configured automatically based\n"
-"on your username and hostname. Please check that they are accurate.\n"
-"You can suppress this message by setting them explicitly. Run the\n"
-"following command and follow the instructions in your editor to edit\n"
-"your configuration file:\n"
-"\n"
-"    git config --global --edit\n"
-"\n"
-"After doing this, you may fix the identity used for this commit with:\n"
-"\n"
-"    git commit --amend --reset-author\n"
-msgstr ""
-
-#: sequencer.c:1244
-msgid ""
-"Your name and email address were configured automatically based\n"
-"on your username and hostname. Please check that they are accurate.\n"
-"You can suppress this message by setting them explicitly:\n"
-"\n"
-"    git config --global user.name \"Your Name\"\n"
-"    git config --global user.email you@example.com\n"
-"\n"
-"After doing this, you may fix the identity used for this commit with:\n"
-"\n"
-"    git commit --amend --reset-author\n"
-msgstr ""
-
-#: sequencer.c:1287
-msgid "couldn't look up newly created commit"
-msgstr ""
-
-#: sequencer.c:1289
-msgid "could not parse newly created commit"
-msgstr ""
-
-#: sequencer.c:1336
-msgid "unable to resolve HEAD after creating commit"
-msgstr ""
-
-#: sequencer.c:1338
-msgid "detached HEAD"
-msgstr ""
-
-#: sequencer.c:1342
-msgid " (root-commit)"
-msgstr ""
-
-#: sequencer.c:1363
-msgid "could not parse HEAD"
-msgstr ""
-
-#: sequencer.c:1365
-#, c-format
-msgid "HEAD %s is not a commit!"
-msgstr ""
-
-#: sequencer.c:1369 sequencer.c:1447 builtin/commit.c:1707
-msgid "could not parse HEAD commit"
-msgstr ""
-
-#: sequencer.c:1425 sequencer.c:2310
-msgid "unable to parse commit author"
-msgstr ""
-
-#: sequencer.c:1436 builtin/am.c:1644 builtin/merge.c:710
-msgid "git write-tree failed to write a tree"
-msgstr ""
-
-#: sequencer.c:1469 sequencer.c:1589
-#, c-format
-msgid "unable to read commit message from '%s'"
-msgstr ""
-
-#: sequencer.c:1500 sequencer.c:1532
-#, c-format
-msgid "invalid author identity '%s'"
-msgstr ""
-
-#: sequencer.c:1506
-msgid "corrupt author: missing date information"
-msgstr ""
-
-#: sequencer.c:1545 builtin/am.c:1671 builtin/commit.c:1821 builtin/merge.c:921
-#: builtin/merge.c:946 t/helper/test-fast-rebase.c:78
-msgid "failed to write commit object"
-msgstr ""
-
-#: sequencer.c:1572 sequencer.c:4496 t/helper/test-fast-rebase.c:199
-#: t/helper/test-fast-rebase.c:217
-#, c-format
-msgid "could not update %s"
-msgstr ""
-
-#: sequencer.c:1621
-#, c-format
-msgid "could not parse commit %s"
-msgstr ""
-
-#: sequencer.c:1626
-#, c-format
-msgid "could not parse parent commit %s"
-msgstr ""
-
-#: sequencer.c:1709 sequencer.c:1990
-#, c-format
-msgid "unknown command: %d"
-msgstr ""
-
-#: sequencer.c:1751
-msgid "This is the 1st commit message:"
-msgstr ""
-
-#: sequencer.c:1752
-#, c-format
-msgid "This is the commit message #%d:"
-msgstr ""
-
-#: sequencer.c:1753
-msgid "The 1st commit message will be skipped:"
-msgstr ""
-
-#: sequencer.c:1754
-#, c-format
-msgid "The commit message #%d will be skipped:"
-msgstr ""
-
-#: sequencer.c:1755
-#, c-format
-msgid "This is a combination of %d commits."
-msgstr ""
-
-#: sequencer.c:1902 sequencer.c:1959
-#, c-format
-msgid "cannot write '%s'"
-msgstr ""
-
-#: sequencer.c:1949
-msgid "need a HEAD to fixup"
-msgstr ""
-
-#: sequencer.c:1951 sequencer.c:3592
-msgid "could not read HEAD"
-msgstr ""
-
-#: sequencer.c:1953
-msgid "could not read HEAD's commit message"
-msgstr ""
-
-#: sequencer.c:1977
-#, c-format
-msgid "could not read commit message of %s"
-msgstr ""
-
-#: sequencer.c:2087
-msgid "your index file is unmerged."
-msgstr ""
-
-#: sequencer.c:2094
-msgid "cannot fixup root commit"
-msgstr ""
-
-#: sequencer.c:2113
-#, c-format
-msgid "commit %s is a merge but no -m option was given."
-msgstr ""
-
-#: sequencer.c:2121 sequencer.c:2129
-#, c-format
-msgid "commit %s does not have parent %d"
-msgstr ""
-
-#: sequencer.c:2135
-#, c-format
-msgid "cannot get commit message for %s"
-msgstr ""
-
-#. TRANSLATORS: The first %s will be a "todo" command like
-#. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:2154
-#, c-format
-msgid "%s: cannot parse parent commit %s"
-msgstr ""
-
-#: sequencer.c:2220
-#, c-format
-msgid "could not rename '%s' to '%s'"
-msgstr ""
-
-#: sequencer.c:2280
-#, c-format
-msgid "could not revert %s... %s"
-msgstr ""
-
-#: sequencer.c:2281
-#, c-format
-msgid "could not apply %s... %s"
-msgstr ""
-
-#: sequencer.c:2302
-#, c-format
-msgid "dropping %s %s -- patch contents already upstream\n"
-msgstr ""
-
-#: sequencer.c:2360
-#, c-format
-msgid "git %s: failed to read the index"
-msgstr ""
-
-#: sequencer.c:2368
-#, c-format
-msgid "git %s: failed to refresh the index"
-msgstr ""
-
-#: sequencer.c:2448
-#, c-format
-msgid "%s does not accept arguments: '%s'"
-msgstr ""
-
-#: sequencer.c:2457
-#, c-format
-msgid "missing arguments for %s"
-msgstr ""
-
-#: sequencer.c:2500
-#, c-format
-msgid "could not parse '%s'"
-msgstr ""
-
-#: sequencer.c:2561
-#, c-format
-msgid "invalid line %d: %.*s"
-msgstr ""
-
-#: sequencer.c:2572
-#, c-format
-msgid "cannot '%s' without a previous commit"
-msgstr ""
-
-#: sequencer.c:2620 builtin/rebase.c:185
-#, c-format
-msgid "could not read '%s'."
-msgstr ""
-
-#: sequencer.c:2658
-msgid "cancelling a cherry picking in progress"
-msgstr ""
-
-#: sequencer.c:2667
-msgid "cancelling a revert in progress"
-msgstr ""
-
-#: sequencer.c:2707
-msgid "please fix this using 'git rebase --edit-todo'."
-msgstr ""
-
-#: sequencer.c:2709
-#, c-format
-msgid "unusable instruction sheet: '%s'"
-msgstr ""
-
-#: sequencer.c:2714
-msgid "no commits parsed."
-msgstr ""
-
-#: sequencer.c:2725
-msgid "cannot cherry-pick during a revert."
-msgstr ""
-
-#: sequencer.c:2727
-msgid "cannot revert during a cherry-pick."
-msgstr ""
-
-#: sequencer.c:2914
-msgid "unusable squash-onto"
-msgstr ""
-
-#: sequencer.c:2934
-#, c-format
-msgid "malformed options sheet: '%s'"
-msgstr ""
-
-#: sequencer.c:3029 sequencer.c:4875
-msgid "empty commit set passed"
-msgstr ""
-
-#: sequencer.c:3046
-msgid "revert is already in progress"
-msgstr ""
-
-#: sequencer.c:3048
-#, c-format
-msgid "try \"git revert (--continue | %s--abort | --quit)\""
-msgstr ""
-
-#: sequencer.c:3051
-msgid "cherry-pick is already in progress"
-msgstr ""
-
-#: sequencer.c:3053
-#, c-format
-msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
-msgstr ""
-
-#: sequencer.c:3067
-#, c-format
-msgid "could not create sequencer directory '%s'"
-msgstr ""
-
-#: sequencer.c:3082
-msgid "could not lock HEAD"
-msgstr ""
-
-#: sequencer.c:3142 sequencer.c:4585
-msgid "no cherry-pick or revert in progress"
-msgstr ""
-
-#: sequencer.c:3144 sequencer.c:3155
-msgid "cannot resolve HEAD"
-msgstr ""
-
-#: sequencer.c:3146 sequencer.c:3190
-msgid "cannot abort from a branch yet to be born"
-msgstr ""
-
-#: sequencer.c:3176 builtin/fetch.c:1030 builtin/fetch.c:1457
-#: builtin/grep.c:774
-#, c-format
-msgid "cannot open '%s'"
-msgstr ""
-
-#: sequencer.c:3178
-#, c-format
-msgid "cannot read '%s': %s"
-msgstr ""
-
-#: sequencer.c:3179
-msgid "unexpected end of file"
-msgstr ""
-
-#: sequencer.c:3185
-#, c-format
-msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
-msgstr ""
-
-#: sequencer.c:3196
-msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
-msgstr ""
-
-#: sequencer.c:3237
-msgid "no revert in progress"
-msgstr ""
-
-#: sequencer.c:3246
-msgid "no cherry-pick in progress"
-msgstr ""
-
-#: sequencer.c:3256
-msgid "failed to skip the commit"
-msgstr ""
-
-#: sequencer.c:3263
-msgid "there is nothing to skip"
-msgstr ""
-
-#: sequencer.c:3266
-#, c-format
-msgid ""
-"have you committed already?\n"
-"try \"git %s --continue\""
-msgstr ""
-
-#: sequencer.c:3428 sequencer.c:4476
-msgid "cannot read HEAD"
-msgstr ""
-
-#: sequencer.c:3445
-#, c-format
-msgid "unable to copy '%s' to '%s'"
-msgstr ""
-
-#: sequencer.c:3453
-#, c-format
-msgid ""
-"You can amend the commit now, with\n"
-"\n"
-"  git commit --amend %s\n"
-"\n"
-"Once you are satisfied with your changes, run\n"
-"\n"
-"  git rebase --continue\n"
-msgstr ""
-
-#: sequencer.c:3463
-#, c-format
-msgid "Could not apply %s... %.*s"
-msgstr ""
-
-#: sequencer.c:3470
-#, c-format
-msgid "Could not merge %.*s"
-msgstr ""
-
-#: sequencer.c:3484 sequencer.c:3488 builtin/difftool.c:633
-#, c-format
-msgid "could not copy '%s' to '%s'"
-msgstr ""
-
-#: sequencer.c:3499
-#, c-format
-msgid "Executing: %s\n"
-msgstr ""
-
-#: sequencer.c:3510
-#, c-format
-msgid ""
-"execution failed: %s\n"
-"%sYou can fix the problem, and then run\n"
-"\n"
-"  git rebase --continue\n"
-"\n"
-msgstr ""
-
-#: sequencer.c:3516
-msgid "and made changes to the index and/or the working tree\n"
-msgstr ""
-
-#: sequencer.c:3522
-#, c-format
-msgid ""
-"execution succeeded: %s\n"
-"but left changes to the index and/or the working tree\n"
-"Commit or stash your changes, and then run\n"
-"\n"
-"  git rebase --continue\n"
-"\n"
-msgstr ""
-
-#: sequencer.c:3582
-#, c-format
-msgid "illegal label name: '%.*s'"
-msgstr ""
-
-#: sequencer.c:3655
-msgid "writing fake root commit"
-msgstr ""
-
-#: sequencer.c:3660
-msgid "writing squash-onto"
-msgstr ""
-
-#: sequencer.c:3739
-#, c-format
-msgid "could not resolve '%s'"
-msgstr ""
-
-#: sequencer.c:3771
-msgid "cannot merge without a current revision"
-msgstr ""
-
-#: sequencer.c:3793
-#, c-format
-msgid "unable to parse '%.*s'"
-msgstr ""
-
-#: sequencer.c:3802
-#, c-format
-msgid "nothing to merge: '%.*s'"
-msgstr ""
-
-#: sequencer.c:3814
-msgid "octopus merge cannot be executed on top of a [new root]"
-msgstr ""
-
-#: sequencer.c:3869
-#, c-format
-msgid "could not get commit message of '%s'"
-msgstr ""
-
-#: sequencer.c:4013
-#, c-format
-msgid "could not even attempt to merge '%.*s'"
-msgstr ""
-
-#: sequencer.c:4029
-msgid "merge: Unable to write new index file"
-msgstr ""
-
-#: sequencer.c:4110
-msgid "Cannot autostash"
-msgstr ""
-
-#: sequencer.c:4113
-#, c-format
-msgid "Unexpected stash response: '%s'"
-msgstr ""
-
-#: sequencer.c:4119
-#, c-format
-msgid "Could not create directory for '%s'"
-msgstr ""
-
-#: sequencer.c:4122
-#, c-format
-msgid "Created autostash: %s\n"
-msgstr ""
-
-#: sequencer.c:4124
-msgid "could not reset --hard"
-msgstr ""
-
-#: sequencer.c:4148
-#, c-format
-msgid "Applied autostash.\n"
-msgstr ""
-
-#: sequencer.c:4160
-#, c-format
-msgid "cannot store %s"
-msgstr ""
-
-#: sequencer.c:4163
-#, c-format
-msgid ""
-"%s\n"
-"Your changes are safe in the stash.\n"
-"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
-msgstr ""
-
-#: sequencer.c:4168
-msgid "Applying autostash resulted in conflicts."
-msgstr ""
-
-#: sequencer.c:4169
-msgid "Autostash exists; creating a new stash entry."
-msgstr ""
-
-#: sequencer.c:4225
-msgid "could not detach HEAD"
-msgstr ""
-
-#: sequencer.c:4240
-#, c-format
-msgid "Stopped at HEAD\n"
-msgstr ""
-
-#: sequencer.c:4242
-#, c-format
-msgid "Stopped at %s\n"
-msgstr ""
-
-#: sequencer.c:4274
-#, c-format
-msgid ""
-"Could not execute the todo command\n"
-"\n"
-"    %.*s\n"
-"It has been rescheduled; To edit the command before continuing, please\n"
-"edit the todo list first:\n"
-"\n"
-"    git rebase --edit-todo\n"
-"    git rebase --continue\n"
-msgstr ""
-
-#: sequencer.c:4320
-#, c-format
-msgid "Rebasing (%d/%d)%s"
-msgstr ""
-
-#: sequencer.c:4366
-#, c-format
-msgid "Stopped at %s...  %.*s\n"
-msgstr ""
-
-#: sequencer.c:4436
-#, c-format
-msgid "unknown command %d"
-msgstr ""
-
-#: sequencer.c:4484
-msgid "could not read orig-head"
-msgstr ""
-
-#: sequencer.c:4489
-msgid "could not read 'onto'"
-msgstr ""
-
-#: sequencer.c:4503
-#, c-format
-msgid "could not update HEAD to %s"
-msgstr ""
-
-#: sequencer.c:4563
-#, c-format
-msgid "Successfully rebased and updated %s.\n"
-msgstr ""
-
-#: sequencer.c:4615
-msgid "cannot rebase: You have unstaged changes."
-msgstr ""
-
-#: sequencer.c:4624
-msgid "cannot amend non-existing commit"
-msgstr ""
-
-#: sequencer.c:4626
-#, c-format
-msgid "invalid file: '%s'"
-msgstr ""
-
-#: sequencer.c:4628
-#, c-format
-msgid "invalid contents: '%s'"
-msgstr ""
-
-#: sequencer.c:4631
-msgid ""
-"\n"
-"You have uncommitted changes in your working tree. Please, commit them\n"
-"first and then run 'git rebase --continue' again."
-msgstr ""
-
-#: sequencer.c:4667 sequencer.c:4706
-#, c-format
-msgid "could not write file: '%s'"
-msgstr ""
-
-#: sequencer.c:4722
-msgid "could not remove CHERRY_PICK_HEAD"
-msgstr ""
-
-#: sequencer.c:4732
-msgid "could not commit staged changes."
-msgstr ""
-
-#: sequencer.c:4852
-#, c-format
-msgid "%s: can't cherry-pick a %s"
-msgstr ""
-
-#: sequencer.c:4856
-#, c-format
-msgid "%s: bad revision"
-msgstr ""
-
-#: sequencer.c:4891
-msgid "can't revert as initial commit"
-msgstr ""
-
-#: sequencer.c:5162 sequencer.c:5391
-#, c-format
-msgid "skipped previously applied commit %s"
-msgstr ""
-
-#: sequencer.c:5232 sequencer.c:5407
-msgid "use --reapply-cherry-picks to include skipped commits"
-msgstr ""
-
-#: sequencer.c:5378
-msgid "make_script: unhandled options"
-msgstr ""
-
-#: sequencer.c:5381
-msgid "make_script: error preparing revisions"
-msgstr ""
-
-#: sequencer.c:5639 sequencer.c:5656
-msgid "nothing to do"
-msgstr ""
-
-#: sequencer.c:5675
-msgid "could not skip unnecessary pick commands"
-msgstr ""
-
-#: sequencer.c:5775
-msgid "the script was already rearranged."
-msgstr ""
-
-#: setup.c:135
-#, c-format
-msgid "'%s' is outside repository at '%s'"
-msgstr ""
-
-#: setup.c:187
-#, c-format
-msgid ""
-"%s: no such path in the working tree.\n"
-"Use 'git <command> -- <path>...' to specify paths that do not exist locally."
-msgstr ""
-
-#: setup.c:200
-#, c-format
-msgid ""
-"ambiguous argument '%s': unknown revision or path not in the working tree.\n"
-"Use '--' to separate paths from revisions, like this:\n"
-"'git <command> [<revision>...] -- [<file>...]'"
-msgstr ""
-
-#: setup.c:266
-#, c-format
-msgid "option '%s' must come before non-option arguments"
-msgstr ""
-
-#: setup.c:285
-#, c-format
-msgid ""
-"ambiguous argument '%s': both revision and filename\n"
-"Use '--' to separate paths from revisions, like this:\n"
-"'git <command> [<revision>...] -- [<file>...]'"
-msgstr ""
-
-#: setup.c:421
-msgid "unable to set up work tree using invalid config"
-msgstr ""
-
-#: setup.c:425 builtin/rev-parse.c:895
-msgid "this operation must be run in a work tree"
-msgstr ""
-
-#: setup.c:724
-#, c-format
-msgid "Expected git repo version <= %d, found %d"
-msgstr ""
-
-#: setup.c:732
-msgid "unknown repository extension found:"
-msgid_plural "unknown repository extensions found:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: setup.c:746
-msgid "repo version is 0, but v1-only extension found:"
-msgid_plural "repo version is 0, but v1-only extensions found:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: setup.c:767
-#, c-format
-msgid "error opening '%s'"
-msgstr ""
-
-#: setup.c:769
-#, c-format
-msgid "too large to be a .git file: '%s'"
-msgstr ""
-
-#: setup.c:771
-#, c-format
-msgid "error reading %s"
-msgstr ""
-
-#: setup.c:773
-#, c-format
-msgid "invalid gitfile format: %s"
-msgstr ""
-
-#: setup.c:775
-#, c-format
-msgid "no path in gitfile: %s"
-msgstr ""
-
-#: setup.c:777
-#, c-format
-msgid "not a git repository: %s"
-msgstr ""
-
-#: setup.c:879
-#, c-format
-msgid "'$%s' too big"
-msgstr ""
-
-#: setup.c:893
-#, c-format
-msgid "not a git repository: '%s'"
-msgstr ""
-
-#: setup.c:922 setup.c:924 setup.c:955
-#, c-format
-msgid "cannot chdir to '%s'"
-msgstr ""
-
-#: setup.c:927 setup.c:983 setup.c:993 setup.c:1032 setup.c:1040
-msgid "cannot come back to cwd"
-msgstr ""
-
-#: setup.c:1054
-#, c-format
-msgid "failed to stat '%*s%s%s'"
-msgstr ""
-
-#: setup.c:1338
-msgid "Unable to read current working directory"
-msgstr ""
-
-#: setup.c:1347 setup.c:1353
-#, c-format
-msgid "cannot change to '%s'"
-msgstr ""
-
-#: setup.c:1358
-#, c-format
-msgid "not a git repository (or any of the parent directories): %s"
-msgstr ""
-
-#: setup.c:1364
-#, c-format
-msgid ""
-"not a git repository (or any parent up to mount point %s)\n"
-"Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."
-msgstr ""
-
-#: setup.c:1374
-#, c-format
-msgid ""
-"unsafe repository ('%s' is owned by someone else)\n"
-"To add an exception for this directory, call:\n"
-"\n"
-"\tgit config --global --add safe.directory %s"
-msgstr ""
-
-#: setup.c:1502
-#, c-format
-msgid ""
-"problem with core.sharedRepository filemode value (0%.3o).\n"
-"The owner of files must always have read and write permissions."
-msgstr ""
-
-#: setup.c:1564
-msgid "fork failed"
-msgstr ""
-
-#: setup.c:1569
-msgid "setsid failed"
-msgstr ""
-
-#: sparse-index.c:285
-#, c-format
-msgid "index entry is a directory, but not sparse (%08x)"
-msgstr ""
-
-#: split-index.c:9
-msgid "cannot use split index with a sparse index"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 gibibyte
-#: strbuf.c:851
-#, c-format
-msgid "%u.%2.2u GiB"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second
-#: strbuf.c:853
-#, c-format
-msgid "%u.%2.2u GiB/s"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 mebibyte
-#: strbuf.c:861
-#, c-format
-msgid "%u.%2.2u MiB"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second
-#: strbuf.c:863
-#, c-format
-msgid "%u.%2.2u MiB/s"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 kibibyte
-#: strbuf.c:870
-#, c-format
-msgid "%u.%2.2u KiB"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second
-#: strbuf.c:872
-#, c-format
-msgid "%u.%2.2u KiB/s"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 byte
-#: strbuf.c:878
-#, c-format
-msgid "%u byte"
-msgid_plural "%u bytes"
-msgstr[0] ""
-msgstr[1] ""
-
-#. TRANSLATORS: IEC 80000-13:2008 byte/second
-#: strbuf.c:880
-#, c-format
-msgid "%u byte/s"
-msgid_plural "%u bytes/s"
-msgstr[0] ""
-msgstr[1] ""
-
-#: strbuf.c:1187 wrapper.c:217 wrapper.c:387 builtin/am.c:766
-#: builtin/rebase.c:653
-#, c-format
-msgid "could not open '%s' for writing"
-msgstr ""
-
-#: strbuf.c:1196
-#, c-format
-msgid "could not edit '%s'"
-msgstr ""
-
-#: submodule-config.c:238
-#, c-format
-msgid "ignoring suspicious submodule name: %s"
-msgstr ""
-
-#: submodule-config.c:305
-msgid "negative values not allowed for submodule.fetchjobs"
-msgstr ""
-
-#: submodule-config.c:403
-#, c-format
-msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
-msgstr ""
-
-#: submodule-config.c:500 builtin/push.c:489 builtin/send-pack.c:148
-#, c-format
-msgid "invalid value for '%s'"
-msgstr ""
-
-#: submodule-config.c:828
-#, c-format
-msgid "Could not update .gitmodules entry %s"
-msgstr ""
-
-#: submodule.c:115 submodule.c:144
-msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
-msgstr ""
-
-#: submodule.c:119 submodule.c:148
-#, c-format
-msgid "Could not find section in .gitmodules where path=%s"
-msgstr ""
-
-#: submodule.c:155
-#, c-format
-msgid "Could not remove .gitmodules entry for %s"
-msgstr ""
-
-#: submodule.c:166
-msgid "staging updated .gitmodules failed"
-msgstr ""
-
-#: submodule.c:346
-#, c-format
-msgid "in unpopulated submodule '%s'"
-msgstr ""
-
-#: submodule.c:377
-#, c-format
-msgid "Pathspec '%s' is in submodule '%.*s'"
-msgstr ""
-
-#: submodule.c:454
-#, c-format
-msgid "bad --ignore-submodules argument: %s"
-msgstr ""
-
-#: submodule.c:866
-#, c-format
-msgid ""
-"Submodule in commit %s at path: '%s' collides with a submodule named the "
-"same. Skipping it."
-msgstr ""
-
-#: submodule.c:987
-#, c-format
-msgid "submodule entry '%s' (%s) is a %s, not a commit"
-msgstr ""
-
-#: submodule.c:1069
-#, c-format
-msgid ""
-"Could not run 'git rev-list <commits> --not --remotes -n 1' command in "
-"submodule %s"
-msgstr ""
-
-#: submodule.c:1192
-#, c-format
-msgid "process for submodule '%s' failed"
-msgstr ""
-
-#: submodule.c:1221 builtin/branch.c:714 builtin/submodule--helper.c:2827
-msgid "Failed to resolve HEAD as a valid ref."
-msgstr ""
-
-#: submodule.c:1232
-#, c-format
-msgid "Pushing submodule '%s'\n"
-msgstr ""
-
-#: submodule.c:1235
-#, c-format
-msgid "Unable to push submodule '%s'\n"
-msgstr ""
-
-#: submodule.c:1567
-#, c-format
-msgid "Fetching submodule %s%s\n"
-msgstr ""
-
-#: submodule.c:1589
-#, c-format
-msgid "Could not access submodule '%s'\n"
-msgstr ""
-
-#: submodule.c:1618
-#, c-format
-msgid "Could not access submodule '%s' at commit %s\n"
-msgstr ""
-
-#: submodule.c:1629
-#, c-format
-msgid "Fetching submodule %s%s at commit %s\n"
-msgstr ""
-
-#: submodule.c:1849
-#, c-format
-msgid ""
-"Errors during submodule fetch:\n"
-"%s"
-msgstr ""
-
-#: submodule.c:1874
-#, c-format
-msgid "'%s' not recognized as a git repository"
-msgstr ""
-
-#: submodule.c:1891
-#, c-format
-msgid "Could not run 'git status --porcelain=2' in submodule %s"
-msgstr ""
-
-#: submodule.c:1932
-#, c-format
-msgid "'git status --porcelain=2' failed in submodule %s"
-msgstr ""
-
-#: submodule.c:2007
-#, c-format
-msgid "could not start 'git status' in submodule '%s'"
-msgstr ""
-
-#: submodule.c:2020
-#, c-format
-msgid "could not run 'git status' in submodule '%s'"
-msgstr ""
-
-#: submodule.c:2037
-#, c-format
-msgid "Could not unset core.worktree setting in submodule '%s'"
-msgstr ""
-
-#: submodule.c:2064 submodule.c:2379
-#, c-format
-msgid "could not recurse into submodule '%s'"
-msgstr ""
-
-#: submodule.c:2086
-msgid "could not reset submodule index"
-msgstr ""
-
-#: submodule.c:2128
-#, c-format
-msgid "submodule '%s' has dirty index"
-msgstr ""
-
-#: submodule.c:2182
-#, c-format
-msgid "Submodule '%s' could not be updated."
-msgstr ""
-
-#: submodule.c:2250
-#, c-format
-msgid "submodule git dir '%s' is inside git dir '%.*s'"
-msgstr ""
-
-#: submodule.c:2271
-#, c-format
-msgid ""
-"relocate_gitdir for submodule '%s' with more than one worktree not supported"
-msgstr ""
-
-#: submodule.c:2283 submodule.c:2343
-#, c-format
-msgid "could not lookup name for submodule '%s'"
-msgstr ""
-
-#: submodule.c:2287
-#, c-format
-msgid "refusing to move '%s' into an existing git dir"
-msgstr ""
-
-#: submodule.c:2293
-#, c-format
-msgid ""
-"Migrating git directory of '%s%s' from\n"
-"'%s' to\n"
-"'%s'\n"
-msgstr ""
-
-#: submodule.c:2424
-msgid "could not start ls-files in .."
-msgstr ""
-
-#: submodule.c:2464
-#, c-format
-msgid "ls-tree returned unexpected return code %d"
-msgstr ""
-
-#: symlinks.c:244
-#, c-format
-msgid "failed to lstat '%s'"
-msgstr ""
-
-#: trailer.c:244
-#, c-format
-msgid "running trailer command '%s' failed"
-msgstr ""
-
-#: trailer.c:493 trailer.c:498 trailer.c:503 trailer.c:562 trailer.c:566
-#: trailer.c:570
-#, c-format
-msgid "unknown value '%s' for key '%s'"
-msgstr ""
-
-#: trailer.c:547 trailer.c:552 trailer.c:557 builtin/remote.c:300
-#: builtin/remote.c:328
-#, c-format
-msgid "more than one %s"
-msgstr ""
-
-#: trailer.c:743
-#, c-format
-msgid "empty trailer token in trailer '%.*s'"
-msgstr ""
-
-#: trailer.c:763
-#, c-format
-msgid "could not read input file '%s'"
-msgstr ""
-
-#: trailer.c:766 builtin/mktag.c:88 imap-send.c:1563
-msgid "could not read from stdin"
-msgstr ""
-
-#: trailer.c:1024 wrapper.c:760
-#, c-format
-msgid "could not stat %s"
-msgstr ""
-
-#: trailer.c:1026
-#, c-format
-msgid "file %s is not a regular file"
-msgstr ""
-
-#: trailer.c:1028
-#, c-format
-msgid "file %s is not writable by user"
-msgstr ""
-
-#: trailer.c:1040
-msgid "could not open temporary file"
-msgstr ""
-
-#: trailer.c:1080
-#, c-format
-msgid "could not rename temporary file to %s"
-msgstr ""
-
-#: transport-helper.c:62 transport-helper.c:91
-msgid "full write to remote helper failed"
-msgstr ""
-
-#: transport-helper.c:145
-#, c-format
-msgid "unable to find remote helper for '%s'"
-msgstr ""
-
-#: transport-helper.c:161 transport-helper.c:575
-msgid "can't dup helper output fd"
-msgstr ""
-
-#: transport-helper.c:214
-#, c-format
-msgid ""
-"unknown mandatory capability %s; this remote helper probably needs newer "
-"version of Git"
-msgstr ""
-
-#: transport-helper.c:220
-msgid "this remote helper should implement refspec capability"
-msgstr ""
-
-#: transport-helper.c:287 transport-helper.c:429
-#, c-format
-msgid "%s unexpectedly said: '%s'"
-msgstr ""
-
-#: transport-helper.c:417
-#, c-format
-msgid "%s also locked %s"
-msgstr ""
-
-#: transport-helper.c:497
-msgid "couldn't run fast-import"
-msgstr ""
-
-#: transport-helper.c:520
-msgid "error while running fast-import"
-msgstr ""
-
-#: transport-helper.c:549 transport-helper.c:1254
-#, c-format
-msgid "could not read ref %s"
-msgstr ""
-
-#: transport-helper.c:594
-#, c-format
-msgid "unknown response to connect: %s"
-msgstr ""
-
-#: transport-helper.c:616
-msgid "setting remote service path not supported by protocol"
-msgstr ""
-
-#: transport-helper.c:618
-msgid "invalid remote service path"
-msgstr ""
-
-#: transport-helper.c:661 transport.c:1496
-msgid "operation not supported by protocol"
-msgstr ""
-
-#: transport-helper.c:664
-#, c-format
-msgid "can't connect to subservice %s"
-msgstr ""
-
-#: transport-helper.c:693 transport.c:415
-msgid "--negotiate-only requires protocol v2"
-msgstr ""
-
-#: transport-helper.c:758
-msgid "'option' without a matching 'ok/error' directive"
-msgstr ""
-
-#: transport-helper.c:801
-#, c-format
-msgid "expected ok/error, helper said '%s'"
-msgstr ""
-
-#: transport-helper.c:862
-#, c-format
-msgid "helper reported unexpected status of %s"
-msgstr ""
-
-#: transport-helper.c:945
-#, c-format
-msgid "helper %s does not support dry-run"
-msgstr ""
-
-#: transport-helper.c:948
-#, c-format
-msgid "helper %s does not support --signed"
-msgstr ""
-
-#: transport-helper.c:951
-#, c-format
-msgid "helper %s does not support --signed=if-asked"
-msgstr ""
-
-#: transport-helper.c:956
-#, c-format
-msgid "helper %s does not support --atomic"
-msgstr ""
-
-#: transport-helper.c:960
-#, c-format
-msgid "helper %s does not support --%s"
-msgstr ""
-
-#: transport-helper.c:967
-#, c-format
-msgid "helper %s does not support 'push-option'"
-msgstr ""
-
-#: transport-helper.c:1067
-msgid "remote-helper doesn't support push; refspec needed"
-msgstr ""
-
-#: transport-helper.c:1072
-#, c-format
-msgid "helper %s does not support 'force'"
-msgstr ""
-
-#: transport-helper.c:1119
-msgid "couldn't run fast-export"
-msgstr ""
-
-#: transport-helper.c:1124
-msgid "error while running fast-export"
-msgstr ""
-
-#: transport-helper.c:1149
-#, c-format
-msgid ""
-"No refs in common and none specified; doing nothing.\n"
-"Perhaps you should specify a branch.\n"
-msgstr ""
-
-#: transport-helper.c:1231
-#, c-format
-msgid "unsupported object format '%s'"
-msgstr ""
-
-#: transport-helper.c:1240
-#, c-format
-msgid "malformed response in ref list: %s"
-msgstr ""
-
-#: transport-helper.c:1392
-#, c-format
-msgid "read(%s) failed"
-msgstr ""
-
-#: transport-helper.c:1419
-#, c-format
-msgid "write(%s) failed"
-msgstr ""
-
-#: transport-helper.c:1468
-#, c-format
-msgid "%s thread failed"
-msgstr ""
-
-#: transport-helper.c:1472
-#, c-format
-msgid "%s thread failed to join: %s"
-msgstr ""
-
-#: transport-helper.c:1491 transport-helper.c:1495
-#, c-format
-msgid "can't start thread for copying data: %s"
-msgstr ""
-
-#: transport-helper.c:1532
-#, c-format
-msgid "%s process failed to wait"
-msgstr ""
-
-#: transport-helper.c:1536
-#, c-format
-msgid "%s process failed"
-msgstr ""
-
-#: transport-helper.c:1554 transport-helper.c:1563
-msgid "can't start thread for copying data"
-msgstr ""
-
-#: transport.c:116
-#, c-format
-msgid "Would set upstream of '%s' to '%s' of '%s'\n"
-msgstr ""
-
-#: transport.c:138
-#, c-format
-msgid "could not read bundle '%s'"
-msgstr ""
-
-#: transport.c:234
-#, c-format
-msgid "transport: invalid depth option '%s'"
-msgstr ""
-
-#: transport.c:289
-msgid "see protocol.version in 'git help config' for more details"
-msgstr ""
-
-#: transport.c:290
-msgid "server options require protocol version 2 or later"
-msgstr ""
-
-#: transport.c:418
-msgid "server does not support wait-for-done"
-msgstr ""
-
-#: transport.c:770
-msgid "could not parse transport.color.* config"
-msgstr ""
-
-#: transport.c:845
-msgid "support for protocol v2 not implemented yet"
-msgstr ""
-
-#: transport.c:978
-#, c-format
-msgid "unknown value for config '%s': %s"
-msgstr ""
-
-#: transport.c:1044
-#, c-format
-msgid "transport '%s' not allowed"
-msgstr ""
-
-#: transport.c:1093
-msgid "git-over-rsync is no longer supported"
-msgstr ""
-
-#: transport.c:1196
-#, c-format
-msgid ""
-"The following submodule paths contain changes that can\n"
-"not be found on any remote:\n"
-msgstr ""
-
-#: transport.c:1200
-#, c-format
-msgid ""
-"\n"
-"Please try\n"
-"\n"
-"\tgit push --recurse-submodules=on-demand\n"
-"\n"
-"or cd to the path and use\n"
-"\n"
-"\tgit push\n"
-"\n"
-"to push them to a remote.\n"
-"\n"
-msgstr ""
-
-#: transport.c:1208
-msgid "Aborting."
-msgstr ""
-
-#: transport.c:1354
-msgid "failed to push all needed submodules"
-msgstr ""
-
-#: tree-walk.c:33
-msgid "too-short tree object"
-msgstr ""
-
-#: tree-walk.c:39
-msgid "malformed mode in tree entry"
-msgstr ""
-
-#: tree-walk.c:43
-msgid "empty filename in tree entry"
-msgstr ""
-
-#: tree-walk.c:118
-msgid "too-short tree file"
-msgstr ""
-
-#: unpack-trees.c:118
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by checkout:\n"
-"%%sPlease commit your changes or stash them before you switch branches."
-msgstr ""
-
-#: unpack-trees.c:120
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by checkout:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:123
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"%%sPlease commit your changes or stash them before you merge."
-msgstr ""
-
-#: unpack-trees.c:125
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:128
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by %s:\n"
-"%%sPlease commit your changes or stash them before you %s."
-msgstr ""
-
-#: unpack-trees.c:130
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by %s:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:135
-#, c-format
-msgid ""
-"Updating the following directories would lose untracked files in them:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:138
-#, c-format
-msgid ""
-"Refusing to remove the current working directory:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:142
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by checkout:\n"
-"%%sPlease move or remove them before you switch branches."
-msgstr ""
-
-#: unpack-trees.c:144
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by checkout:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:147
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by merge:\n"
-"%%sPlease move or remove them before you merge."
-msgstr ""
-
-#: unpack-trees.c:149
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by merge:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:152
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by %s:\n"
-"%%sPlease move or remove them before you %s."
-msgstr ""
-
-#: unpack-trees.c:154
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by %s:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:160
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by "
-"checkout:\n"
-"%%sPlease move or remove them before you switch branches."
-msgstr ""
-
-#: unpack-trees.c:162
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by "
-"checkout:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:165
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by merge:\n"
-"%%sPlease move or remove them before you merge."
-msgstr ""
-
-#: unpack-trees.c:167
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by merge:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:170
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by %s:\n"
-"%%sPlease move or remove them before you %s."
-msgstr ""
-
-#: unpack-trees.c:172
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by %s:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:180
-#, c-format
-msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
-msgstr ""
-
-#: unpack-trees.c:183
-#, c-format
-msgid ""
-"Cannot update submodule:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:186
-#, c-format
-msgid ""
-"The following paths are not up to date and were left despite sparse "
-"patterns:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:188
-#, c-format
-msgid ""
-"The following paths are unmerged and were left despite sparse patterns:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:190
-#, c-format
-msgid ""
-"The following paths were already present and thus not updated despite sparse "
-"patterns:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:270
-#, c-format
-msgid "Aborting\n"
-msgstr ""
-
-#: unpack-trees.c:297
-#, c-format
-msgid ""
-"After fixing the above paths, you may want to run `git sparse-checkout "
-"reapply`.\n"
-msgstr ""
-
-#: unpack-trees.c:358
-msgid "Updating files"
-msgstr ""
-
-#: unpack-trees.c:390
-msgid ""
-"the following paths have collided (e.g. case-sensitive paths\n"
-"on a case-insensitive filesystem) and only one from the same\n"
-"colliding group is in the working tree:\n"
-msgstr ""
-
-#: unpack-trees.c:1664
-msgid "Updating index flags"
-msgstr ""
-
-#: unpack-trees.c:2925
-#, c-format
-msgid "worktree and untracked commit have duplicate entries: %s"
-msgstr ""
-
-#: upload-pack.c:1579
-msgid "expected flush after fetch arguments"
-msgstr ""
-
-#: urlmatch.c:163
-msgid "invalid URL scheme name or missing '://' suffix"
-msgstr ""
-
-#: urlmatch.c:187 urlmatch.c:346 urlmatch.c:405
-#, c-format
-msgid "invalid %XX escape sequence"
-msgstr ""
-
-#: urlmatch.c:215
-msgid "missing host and scheme is not 'file:'"
-msgstr ""
-
-#: urlmatch.c:232
-msgid "a 'file:' URL may not have a port number"
-msgstr ""
-
-#: urlmatch.c:247
-msgid "invalid characters in host name"
-msgstr ""
-
-#: urlmatch.c:292 urlmatch.c:303
-msgid "invalid port number"
-msgstr ""
-
-#: urlmatch.c:371
-msgid "invalid '..' path segment"
-msgstr ""
-
-#: walker.c:170
-msgid "Fetching objects"
-msgstr ""
-
-#: worktree.c:237 builtin/am.c:2210 builtin/bisect--helper.c:156
-#, c-format
-msgid "failed to read '%s'"
-msgstr ""
-
-#: worktree.c:304
-#, c-format
-msgid "'%s' at main working tree is not the repository directory"
-msgstr ""
-
-#: worktree.c:315
-#, c-format
-msgid "'%s' file does not contain absolute path to the working tree location"
-msgstr ""
-
-#: worktree.c:327
-#, c-format
-msgid "'%s' does not exist"
-msgstr ""
-
-#: worktree.c:333
-#, c-format
-msgid "'%s' is not a .git file, error code %d"
-msgstr ""
-
-#: worktree.c:342
-#, c-format
-msgid "'%s' does not point back to '%s'"
-msgstr ""
-
-#: worktree.c:600
-msgid "not a directory"
-msgstr ""
-
-#: worktree.c:609
-msgid ".git is not a file"
-msgstr ""
-
-#: worktree.c:611
-msgid ".git file broken"
-msgstr ""
-
-#: worktree.c:613
-msgid ".git file incorrect"
-msgstr ""
-
-#: worktree.c:719
-msgid "not a valid path"
-msgstr ""
-
-#: worktree.c:725
-msgid "unable to locate repository; .git is not a file"
-msgstr ""
-
-#: worktree.c:729
-msgid "unable to locate repository; .git file does not reference a repository"
-msgstr ""
-
-#: worktree.c:733
-msgid "unable to locate repository; .git file broken"
-msgstr ""
-
-#: worktree.c:739
-msgid "gitdir unreadable"
-msgstr ""
-
-#: worktree.c:743
-msgid "gitdir incorrect"
-msgstr ""
-
-#: worktree.c:768
-msgid "not a valid directory"
-msgstr ""
-
-#: worktree.c:774
-msgid "gitdir file does not exist"
-msgstr ""
-
-#: worktree.c:779 worktree.c:788
-#, c-format
-msgid "unable to read gitdir file (%s)"
-msgstr ""
-
-#: worktree.c:798
-#, c-format
-msgid "short read (expected %<PRIuMAX> bytes, read %<PRIuMAX>)"
-msgstr ""
-
-#: worktree.c:806
-msgid "invalid gitdir file"
-msgstr ""
-
-#: worktree.c:814
-msgid "gitdir file points to non-existent location"
-msgstr ""
-
-#: worktree.c:830
-#, c-format
-msgid "unable to set %s in '%s'"
-msgstr ""
-
-#: worktree.c:832
-#, c-format
-msgid "unable to unset %s in '%s'"
-msgstr ""
-
-#: worktree.c:852
-msgid "failed to set extensions.worktreeConfig setting"
-msgstr ""
-
-#: wrapper.c:161
-#, c-format
-msgid "could not setenv '%s'"
-msgstr ""
-
-#: wrapper.c:213
-#, c-format
-msgid "unable to create '%s'"
-msgstr ""
-
-#: wrapper.c:215 wrapper.c:385
-#, c-format
-msgid "could not open '%s' for reading and writing"
-msgstr ""
-
-#: wrapper.c:416 wrapper.c:683
-#, c-format
-msgid "unable to access '%s'"
-msgstr ""
-
-#: wrapper.c:691
-msgid "unable to get current working directory"
-msgstr ""
-
-#: wt-status.c:158
-msgid "Unmerged paths:"
-msgstr ""
-
-#: wt-status.c:187 wt-status.c:219
-msgid "  (use \"git restore --staged <file>...\" to unstage)"
-msgstr ""
-
-#: wt-status.c:190 wt-status.c:222
-#, c-format
-msgid "  (use \"git restore --source=%s --staged <file>...\" to unstage)"
-msgstr ""
-
-#: wt-status.c:193 wt-status.c:225
-msgid "  (use \"git rm --cached <file>...\" to unstage)"
-msgstr ""
-
-#: wt-status.c:197
-msgid "  (use \"git add <file>...\" to mark resolution)"
-msgstr ""
-
-#: wt-status.c:199 wt-status.c:203
-msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
-msgstr ""
-
-#: wt-status.c:201
-msgid "  (use \"git rm <file>...\" to mark resolution)"
-msgstr ""
-
-#: wt-status.c:211 wt-status.c:1140
-msgid "Changes to be committed:"
-msgstr ""
-
-#: wt-status.c:234 wt-status.c:1149
-msgid "Changes not staged for commit:"
-msgstr ""
-
-#: wt-status.c:238
-msgid "  (use \"git add <file>...\" to update what will be committed)"
-msgstr ""
-
-#: wt-status.c:240
-msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
-msgstr ""
-
-#: wt-status.c:241
-msgid ""
-"  (use \"git restore <file>...\" to discard changes in working directory)"
-msgstr ""
-
-#: wt-status.c:243
-msgid "  (commit or discard the untracked or modified content in submodules)"
-msgstr ""
-
-#: wt-status.c:254
-#, c-format
-msgid "  (use \"git %s <file>...\" to include in what will be committed)"
-msgstr ""
-
-#: wt-status.c:266
-msgid "both deleted:"
-msgstr ""
-
-#: wt-status.c:268
-msgid "added by us:"
-msgstr ""
-
-#: wt-status.c:270
-msgid "deleted by them:"
-msgstr ""
-
-#: wt-status.c:272
-msgid "added by them:"
-msgstr ""
-
-#: wt-status.c:274
-msgid "deleted by us:"
-msgstr ""
-
-#: wt-status.c:276
-msgid "both added:"
-msgstr ""
-
-#: wt-status.c:278
-msgid "both modified:"
-msgstr ""
-
-#: wt-status.c:288
-msgid "new file:"
-msgstr ""
-
-#: wt-status.c:290
-msgid "copied:"
-msgstr ""
-
-#: wt-status.c:292
-msgid "deleted:"
-msgstr ""
-
-#: wt-status.c:294
-msgid "modified:"
-msgstr ""
-
-#: wt-status.c:296
-msgid "renamed:"
-msgstr ""
-
-#: wt-status.c:298
-msgid "typechange:"
-msgstr ""
-
-#: wt-status.c:300
-msgid "unknown:"
-msgstr ""
-
-#: wt-status.c:302
-msgid "unmerged:"
-msgstr ""
-
-#: wt-status.c:382
-msgid "new commits, "
-msgstr ""
-
-#: wt-status.c:384
-msgid "modified content, "
-msgstr ""
-
-#: wt-status.c:386
-msgid "untracked content, "
-msgstr ""
-
-#: wt-status.c:973
-#, c-format
-msgid "Your stash currently has %d entry"
-msgid_plural "Your stash currently has %d entries"
-msgstr[0] ""
-msgstr[1] ""
-
-#: wt-status.c:1004
-msgid "Submodules changed but not updated:"
-msgstr ""
-
-#: wt-status.c:1006
-msgid "Submodule changes to be committed:"
-msgstr ""
-
-#: wt-status.c:1088
-msgid ""
-"Do not modify or remove the line above.\n"
-"Everything below it will be ignored."
-msgstr ""
-
-#: wt-status.c:1180
-#, c-format
-msgid ""
-"\n"
-"It took %.2f seconds to compute the branch ahead/behind values.\n"
-"You can use '--no-ahead-behind' to avoid this.\n"
-msgstr ""
-
-#: wt-status.c:1210
-msgid "You have unmerged paths."
-msgstr ""
-
-#: wt-status.c:1213
-msgid "  (fix conflicts and run \"git commit\")"
-msgstr ""
-
-#: wt-status.c:1215
-msgid "  (use \"git merge --abort\" to abort the merge)"
-msgstr ""
-
-#: wt-status.c:1219
-msgid "All conflicts fixed but you are still merging."
-msgstr ""
-
-#: wt-status.c:1222
-msgid "  (use \"git commit\" to conclude merge)"
-msgstr ""
-
-#: wt-status.c:1233
-msgid "You are in the middle of an am session."
-msgstr ""
-
-#: wt-status.c:1236
-msgid "The current patch is empty."
-msgstr ""
-
-#: wt-status.c:1241
-msgid "  (fix conflicts and then run \"git am --continue\")"
-msgstr ""
-
-#: wt-status.c:1243
-msgid "  (use \"git am --skip\" to skip this patch)"
-msgstr ""
-
-#: wt-status.c:1246
-msgid ""
-"  (use \"git am --allow-empty\" to record this patch as an empty commit)"
-msgstr ""
-
-#: wt-status.c:1248
-msgid "  (use \"git am --abort\" to restore the original branch)"
-msgstr ""
-
-#: wt-status.c:1381
-msgid "git-rebase-todo is missing."
-msgstr ""
-
-#: wt-status.c:1383
-msgid "No commands done."
-msgstr ""
-
-#: wt-status.c:1386
-#, c-format
-msgid "Last command done (%<PRIuMAX> command done):"
-msgid_plural "Last commands done (%<PRIuMAX> commands done):"
-msgstr[0] ""
-msgstr[1] ""
-
-#: wt-status.c:1397
-#, c-format
-msgid "  (see more in file %s)"
-msgstr ""
-
-#: wt-status.c:1402
-msgid "No commands remaining."
-msgstr ""
-
-#: wt-status.c:1405
-#, c-format
-msgid "Next command to do (%<PRIuMAX> remaining command):"
-msgid_plural "Next commands to do (%<PRIuMAX> remaining commands):"
-msgstr[0] ""
-msgstr[1] ""
-
-#: wt-status.c:1413
-msgid "  (use \"git rebase --edit-todo\" to view and edit)"
-msgstr ""
-
-#: wt-status.c:1425
-#, c-format
-msgid "You are currently rebasing branch '%s' on '%s'."
-msgstr ""
-
-#: wt-status.c:1430
-msgid "You are currently rebasing."
-msgstr ""
-
-#: wt-status.c:1443
-msgid "  (fix conflicts and then run \"git rebase --continue\")"
-msgstr ""
-
-#: wt-status.c:1445
-msgid "  (use \"git rebase --skip\" to skip this patch)"
-msgstr ""
-
-#: wt-status.c:1447
-msgid "  (use \"git rebase --abort\" to check out the original branch)"
-msgstr ""
-
-#: wt-status.c:1454
-msgid "  (all conflicts fixed: run \"git rebase --continue\")"
-msgstr ""
-
-#: wt-status.c:1458
-#, c-format
-msgid ""
-"You are currently splitting a commit while rebasing branch '%s' on '%s'."
-msgstr ""
-
-#: wt-status.c:1463
-msgid "You are currently splitting a commit during a rebase."
-msgstr ""
-
-#: wt-status.c:1466
-msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
-msgstr ""
-
-#: wt-status.c:1470
-#, c-format
-msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
-msgstr ""
-
-#: wt-status.c:1475
-msgid "You are currently editing a commit during a rebase."
-msgstr ""
-
-#: wt-status.c:1478
-msgid "  (use \"git commit --amend\" to amend the current commit)"
-msgstr ""
-
-#: wt-status.c:1480
-msgid ""
-"  (use \"git rebase --continue\" once you are satisfied with your changes)"
-msgstr ""
-
-#: wt-status.c:1491
-msgid "Cherry-pick currently in progress."
-msgstr ""
-
-#: wt-status.c:1494
-#, c-format
-msgid "You are currently cherry-picking commit %s."
-msgstr ""
-
-#: wt-status.c:1501
-msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
-msgstr ""
-
-#: wt-status.c:1504
-msgid "  (run \"git cherry-pick --continue\" to continue)"
-msgstr ""
-
-#: wt-status.c:1507
-msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
-msgstr ""
-
-#: wt-status.c:1509
-msgid "  (use \"git cherry-pick --skip\" to skip this patch)"
-msgstr ""
-
-#: wt-status.c:1511
-msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
-msgstr ""
-
-#: wt-status.c:1521
-msgid "Revert currently in progress."
-msgstr ""
-
-#: wt-status.c:1524
-#, c-format
-msgid "You are currently reverting commit %s."
-msgstr ""
-
-#: wt-status.c:1530
-msgid "  (fix conflicts and run \"git revert --continue\")"
-msgstr ""
-
-#: wt-status.c:1533
-msgid "  (run \"git revert --continue\" to continue)"
-msgstr ""
-
-#: wt-status.c:1536
-msgid "  (all conflicts fixed: run \"git revert --continue\")"
-msgstr ""
-
-#: wt-status.c:1538
-msgid "  (use \"git revert --skip\" to skip this patch)"
-msgstr ""
-
-#: wt-status.c:1540
-msgid "  (use \"git revert --abort\" to cancel the revert operation)"
-msgstr ""
-
-#: wt-status.c:1550
-#, c-format
-msgid "You are currently bisecting, started from branch '%s'."
-msgstr ""
-
-#: wt-status.c:1554
-msgid "You are currently bisecting."
-msgstr ""
-
-#: wt-status.c:1557
-msgid "  (use \"git bisect reset\" to get back to the original branch)"
-msgstr ""
-
-#: wt-status.c:1568
-msgid "You are in a sparse checkout."
-msgstr ""
-
-#: wt-status.c:1571
-#, c-format
-msgid "You are in a sparse checkout with %d%% of tracked files present."
-msgstr ""
-
-#: wt-status.c:1815
-msgid "On branch "
-msgstr ""
-
-#: wt-status.c:1822
-msgid "interactive rebase in progress; onto "
-msgstr ""
-
-#: wt-status.c:1824
-msgid "rebase in progress; onto "
-msgstr ""
-
-#: wt-status.c:1829
-msgid "HEAD detached at "
-msgstr ""
-
-#: wt-status.c:1831
-msgid "HEAD detached from "
-msgstr ""
-
-#: wt-status.c:1834
-msgid "Not currently on any branch."
-msgstr ""
-
-#: wt-status.c:1851
-msgid "Initial commit"
-msgstr ""
-
-#: wt-status.c:1852
-msgid "No commits yet"
-msgstr ""
-
-#: wt-status.c:1866
-msgid "Untracked files"
-msgstr ""
-
-#: wt-status.c:1868
-msgid "Ignored files"
-msgstr ""
-
-#: wt-status.c:1872
-#, c-format
-msgid ""
-"It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
-"may speed it up, but you have to be careful not to forget to add\n"
-"new files yourself (see 'git help status')."
-msgstr ""
-
-#: wt-status.c:1878
-#, c-format
-msgid "Untracked files not listed%s"
-msgstr ""
-
-#: wt-status.c:1880
-msgid " (use -u option to show untracked files)"
-msgstr ""
-
-#: wt-status.c:1886
-msgid "No changes"
-msgstr ""
-
-#: wt-status.c:1891
-#, c-format
-msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
-msgstr ""
-
-#: wt-status.c:1895
-#, c-format
-msgid "no changes added to commit\n"
-msgstr ""
-
-#: wt-status.c:1899
-#, c-format
-msgid ""
-"nothing added to commit but untracked files present (use \"git add\" to "
-"track)\n"
-msgstr ""
-
-#: wt-status.c:1903
-#, c-format
-msgid "nothing added to commit but untracked files present\n"
-msgstr ""
-
-#: wt-status.c:1907
-#, c-format
-msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
-msgstr ""
-
-#: wt-status.c:1911 wt-status.c:1917
-#, c-format
-msgid "nothing to commit\n"
-msgstr ""
-
-#: wt-status.c:1914
-#, c-format
-msgid "nothing to commit (use -u to show untracked files)\n"
-msgstr ""
-
-#: wt-status.c:1919
-#, c-format
-msgid "nothing to commit, working tree clean\n"
-msgstr ""
-
-#: wt-status.c:2024
-msgid "No commits yet on "
-msgstr ""
-
-#: wt-status.c:2028
-msgid "HEAD (no branch)"
-msgstr ""
-
-#: wt-status.c:2059
-msgid "different"
-msgstr ""
-
-#: wt-status.c:2061 wt-status.c:2069
-msgid "behind "
-msgstr ""
-
-#: wt-status.c:2064 wt-status.c:2067
-msgid "ahead "
-msgstr ""
-
-#. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2605
-#, c-format
-msgid "cannot %s: You have unstaged changes."
-msgstr ""
-
-#: wt-status.c:2611
-msgid "additionally, your index contains uncommitted changes."
-msgstr ""
-
-#: wt-status.c:2613
-#, c-format
-msgid "cannot %s: Your index contains uncommitted changes."
-msgstr ""
-
-#: compat/simple-ipc/ipc-unix-socket.c:205
-msgid "could not send IPC command"
-msgstr ""
-
-#: compat/simple-ipc/ipc-unix-socket.c:212
-msgid "could not read IPC response"
-msgstr ""
-
-#: compat/simple-ipc/ipc-unix-socket.c:892
-#, c-format
-msgid "could not start accept_thread '%s'"
-msgstr ""
-
-#: compat/simple-ipc/ipc-unix-socket.c:904
-#, c-format
-msgid "could not start worker[0] for '%s'"
-msgstr ""
-
-#: compat/precompose_utf8.c:58 builtin/clone.c:353
-#, c-format
-msgid "failed to unlink '%s'"
-msgstr ""
-
-#: compat/fsmonitor/fsm-listen-darwin.c:355
-msgid "Unable to create FSEventStream."
-msgstr ""
-
-#: compat/fsmonitor/fsm-listen-darwin.c:403
-msgid "Failed to start the FSEventStream"
-msgstr ""
-
-#: builtin/add.c:26
-msgid "git add [<options>] [--] <pathspec>..."
-msgstr ""
-
-#: builtin/add.c:63
-#, c-format
-msgid "cannot chmod %cx '%s'"
-msgstr ""
-
-#: builtin/add.c:105
-#, c-format
-msgid "unexpected diff status %c"
-msgstr ""
-
-#: builtin/add.c:110 builtin/commit.c:299
-msgid "updating files failed"
-msgstr ""
-
-#: builtin/add.c:120
-#, c-format
-msgid "remove '%s'\n"
-msgstr ""
-
-#: builtin/add.c:204
-msgid "Unstaged changes after refreshing the index:"
-msgstr ""
-
-#: builtin/add.c:312 builtin/rev-parse.c:993
-msgid "Could not read the index"
-msgstr ""
-
-#: builtin/add.c:325
-msgid "Could not write patch"
-msgstr ""
-
-#: builtin/add.c:328
-msgid "editing patch failed"
-msgstr ""
-
-#: builtin/add.c:331
-#, c-format
-msgid "Could not stat '%s'"
-msgstr ""
-
-#: builtin/add.c:333
-msgid "Empty patch. Aborted."
-msgstr ""
-
-#: builtin/add.c:339
-#, c-format
-msgid "Could not apply '%s'"
-msgstr ""
-
-#: builtin/add.c:347
-msgid "The following paths are ignored by one of your .gitignore files:\n"
-msgstr ""
-
-#: builtin/add.c:367 builtin/clean.c:927 builtin/fetch.c:175 builtin/mv.c:124
-#: builtin/prune-packed.c:14 builtin/pull.c:208 builtin/push.c:550
-#: builtin/remote.c:1454 builtin/rm.c:244 builtin/send-pack.c:194
-msgid "dry run"
-msgstr ""
-
-#: builtin/add.c:368 builtin/check-ignore.c:22 builtin/commit.c:1483
-#: builtin/count-objects.c:98 builtin/fsck.c:789 builtin/log.c:2338
-#: builtin/mv.c:123 builtin/read-tree.c:120
-msgid "be verbose"
-msgstr ""
-
-#: builtin/add.c:370
-msgid "interactive picking"
-msgstr ""
-
-#: builtin/add.c:371 builtin/checkout.c:1599 builtin/reset.c:417
-msgid "select hunks interactively"
-msgstr ""
-
-#: builtin/add.c:372
-msgid "edit current diff and apply"
-msgstr ""
-
-#: builtin/add.c:373
-msgid "allow adding otherwise ignored files"
-msgstr ""
-
-#: builtin/add.c:374
-msgid "update tracked files"
-msgstr ""
-
-#: builtin/add.c:375
-msgid "renormalize EOL of tracked files (implies -u)"
-msgstr ""
-
-#: builtin/add.c:376
-msgid "record only the fact that the path will be added later"
-msgstr ""
-
-#: builtin/add.c:377
-msgid "add changes from all tracked and untracked files"
-msgstr ""
-
-#: builtin/add.c:380
-msgid "ignore paths removed in the working tree (same as --no-all)"
-msgstr ""
-
-#: builtin/add.c:382
-msgid "don't add, only refresh the index"
-msgstr ""
-
-#: builtin/add.c:383
-msgid "just skip files which cannot be added because of errors"
-msgstr ""
-
-#: builtin/add.c:384
-msgid "check if - even missing - files are ignored in dry run"
-msgstr ""
-
-#: builtin/add.c:385 builtin/mv.c:128 builtin/rm.c:251
-msgid "allow updating entries outside of the sparse-checkout cone"
-msgstr ""
-
-#: builtin/add.c:387 builtin/update-index.c:1023
-msgid "override the executable bit of the listed files"
-msgstr ""
-
-#: builtin/add.c:389
-msgid "warn when adding an embedded repository"
-msgstr ""
-
-#: builtin/add.c:407
-#, c-format
-msgid ""
-"You've added another git repository inside your current repository.\n"
-"Clones of the outer repository will not contain the contents of\n"
-"the embedded repository and will not know how to obtain it.\n"
-"If you meant to add a submodule, use:\n"
-"\n"
-"\tgit submodule add <url> %s\n"
-"\n"
-"If you added this path by mistake, you can remove it from the\n"
-"index with:\n"
-"\n"
-"\tgit rm --cached %s\n"
-"\n"
-"See \"git help submodule\" for more information."
-msgstr ""
-
-#: builtin/add.c:436
-#, c-format
-msgid "adding embedded git repository: %s"
-msgstr ""
-
-#: builtin/add.c:456
-msgid ""
-"Use -f if you really want to add them.\n"
-"Turn this message off by running\n"
-"\"git config advice.addIgnoredFile false\""
-msgstr ""
-
-#: builtin/add.c:471
-msgid "adding files failed"
-msgstr ""
-
-#: builtin/add.c:534
-#, c-format
-msgid "--chmod param '%s' must be either -x or +x"
-msgstr ""
-
-#: builtin/add.c:555 builtin/checkout.c:1770 builtin/commit.c:365
-#: builtin/reset.c:436 builtin/rm.c:275 builtin/stash.c:1702
-#, c-format
-msgid "'%s' and pathspec arguments cannot be used together"
-msgstr ""
-
-#: builtin/add.c:566
-#, c-format
-msgid "Nothing specified, nothing added.\n"
-msgstr ""
-
-#: builtin/add.c:568
-msgid ""
-"Maybe you wanted to say 'git add .'?\n"
-"Turn this message off by running\n"
-"\"git config advice.addEmptyPathspec false\""
-msgstr ""
-
-#: builtin/am.c:393
-msgid "could not parse author script"
-msgstr ""
-
-#: builtin/am.c:483
-#, c-format
-msgid "'%s' was deleted by the applypatch-msg hook"
-msgstr ""
-
-#: builtin/am.c:525
-#, c-format
-msgid "Malformed input line: '%s'."
-msgstr ""
-
-#: builtin/am.c:563
-#, c-format
-msgid "Failed to copy notes from '%s' to '%s'"
-msgstr ""
-
-#: builtin/am.c:589
-msgid "fseek failed"
-msgstr ""
-
-#: builtin/am.c:777
-#, c-format
-msgid "could not parse patch '%s'"
-msgstr ""
-
-#: builtin/am.c:842
-msgid "Only one StGIT patch series can be applied at once"
-msgstr ""
-
-#: builtin/am.c:890
-msgid "invalid timestamp"
-msgstr ""
-
-#: builtin/am.c:895 builtin/am.c:907
-msgid "invalid Date line"
-msgstr ""
-
-#: builtin/am.c:902
-msgid "invalid timezone offset"
-msgstr ""
-
-#: builtin/am.c:995
-msgid "Patch format detection failed."
-msgstr ""
-
-#: builtin/am.c:1000 builtin/clone.c:306
-#, c-format
-msgid "failed to create directory '%s'"
-msgstr ""
-
-#: builtin/am.c:1005
-msgid "Failed to split patches."
-msgstr ""
-
-#: builtin/am.c:1154
-#, c-format
-msgid "When you have resolved this problem, run \"%s --continue\"."
-msgstr ""
-
-#: builtin/am.c:1155
-#, c-format
-msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
-msgstr ""
-
-#: builtin/am.c:1160
-#, c-format
-msgid "To record the empty patch as an empty commit, run \"%s --allow-empty\"."
-msgstr ""
-
-#: builtin/am.c:1162
-#, c-format
-msgid "To restore the original branch and stop patching, run \"%s --abort\"."
-msgstr ""
-
-#: builtin/am.c:1257
-msgid "Patch sent with format=flowed; space at the end of lines might be lost."
-msgstr ""
-
-#: builtin/am.c:1345
-#, c-format
-msgid "missing author line in commit %s"
-msgstr ""
-
-#: builtin/am.c:1348
-#, c-format
-msgid "invalid ident line: %.*s"
-msgstr ""
-
-#: builtin/am.c:1567
-msgid "Repository lacks necessary blobs to fall back on 3-way merge."
-msgstr ""
-
-#: builtin/am.c:1569
-msgid "Using index info to reconstruct a base tree..."
-msgstr ""
-
-#: builtin/am.c:1588
-msgid ""
-"Did you hand edit your patch?\n"
-"It does not apply to blobs recorded in its index."
-msgstr ""
-
-#: builtin/am.c:1594
-msgid "Falling back to patching base and 3-way merge..."
-msgstr ""
-
-#: builtin/am.c:1620
-msgid "Failed to merge in the changes."
-msgstr ""
-
-#: builtin/am.c:1652
-msgid "applying to an empty history"
-msgstr ""
-
-#: builtin/am.c:1704 builtin/am.c:1708
-#, c-format
-msgid "cannot resume: %s does not exist."
-msgstr ""
-
-#: builtin/am.c:1726
-msgid "Commit Body is:"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
-#. in your translation. The program will only accept English
-#. input at this point.
-#.
-#: builtin/am.c:1736
-#, c-format
-msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
-msgstr ""
-
-#: builtin/am.c:1782 builtin/commit.c:410
-msgid "unable to write index file"
-msgstr ""
-
-#: builtin/am.c:1786
-#, c-format
-msgid "Dirty index: cannot apply patches (dirty: %s)"
-msgstr ""
-
-#: builtin/am.c:1828
-#, c-format
-msgid "Skipping: %.*s"
-msgstr ""
-
-#: builtin/am.c:1833
-#, c-format
-msgid "Creating an empty commit: %.*s"
-msgstr ""
-
-#: builtin/am.c:1837
-msgid "Patch is empty."
-msgstr ""
-
-#: builtin/am.c:1848 builtin/am.c:1917
-#, c-format
-msgid "Applying: %.*s"
-msgstr ""
-
-#: builtin/am.c:1865
-msgid "No changes -- Patch already applied."
-msgstr ""
-
-#: builtin/am.c:1871
-#, c-format
-msgid "Patch failed at %s %.*s"
-msgstr ""
-
-#: builtin/am.c:1875
-msgid "Use 'git am --show-current-patch=diff' to see the failed patch"
-msgstr ""
-
-#: builtin/am.c:1921
-msgid "No changes - recorded it as an empty commit."
-msgstr ""
-
-#: builtin/am.c:1923
-msgid ""
-"No changes - did you forget to use 'git add'?\n"
-"If there is nothing left to stage, chances are that something else\n"
-"already introduced the same changes; you might want to skip this patch."
-msgstr ""
-
-#: builtin/am.c:1931
-msgid ""
-"You still have unmerged paths in your index.\n"
-"You should 'git add' each file with resolved conflicts to mark them as "
-"such.\n"
-"You might run `git rm` on a file to accept \"deleted by them\" for it."
-msgstr ""
-
-#: builtin/am.c:2039 builtin/am.c:2043 builtin/am.c:2055 builtin/reset.c:455
-#: builtin/reset.c:463
-#, c-format
-msgid "Could not parse object '%s'."
-msgstr ""
-
-#: builtin/am.c:2091 builtin/am.c:2167
-msgid "failed to clean index"
-msgstr ""
-
-#: builtin/am.c:2135
-msgid ""
-"You seem to have moved HEAD since the last 'am' failure.\n"
-"Not rewinding to ORIG_HEAD"
-msgstr ""
-
-#: builtin/am.c:2292
-#, c-format
-msgid "options '%s=%s' and '%s=%s' cannot be used together"
-msgstr ""
-
-#: builtin/am.c:2323
-msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
-msgstr ""
-
-#: builtin/am.c:2324
-msgid "git am [<options>] (--continue | --skip | --abort)"
-msgstr ""
-
-#: builtin/am.c:2330
-msgid "run interactively"
-msgstr ""
-
-#: builtin/am.c:2332
-msgid "historical option -- no-op"
-msgstr ""
-
-#: builtin/am.c:2334
-msgid "allow fall back on 3way merging if needed"
-msgstr ""
-
-#: builtin/am.c:2335 builtin/init-db.c:547 builtin/prune-packed.c:16
-#: builtin/repack.c:646 builtin/stash.c:946
-msgid "be quiet"
-msgstr ""
-
-#: builtin/am.c:2337
-msgid "add a Signed-off-by trailer to the commit message"
-msgstr ""
-
-#: builtin/am.c:2340
-msgid "recode into utf8 (default)"
-msgstr ""
-
-#: builtin/am.c:2342
-msgid "pass -k flag to git-mailinfo"
-msgstr ""
-
-#: builtin/am.c:2344
-msgid "pass -b flag to git-mailinfo"
-msgstr ""
-
-#: builtin/am.c:2346
-msgid "pass -m flag to git-mailinfo"
-msgstr ""
-
-#: builtin/am.c:2348
-msgid "pass --keep-cr flag to git-mailsplit for mbox format"
-msgstr ""
-
-#: builtin/am.c:2351
-msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
-msgstr ""
-
-#: builtin/am.c:2354
-msgid "strip everything before a scissors line"
-msgstr ""
-
-#: builtin/am.c:2356
-msgid "pass it through git-mailinfo"
-msgstr ""
-
-#: builtin/am.c:2359 builtin/am.c:2362 builtin/am.c:2365 builtin/am.c:2368
-#: builtin/am.c:2371 builtin/am.c:2374 builtin/am.c:2377 builtin/am.c:2380
-#: builtin/am.c:2386
-msgid "pass it through git-apply"
-msgstr ""
-
-#: builtin/am.c:2376 builtin/commit.c:1514 builtin/fmt-merge-msg.c:18
-#: builtin/fmt-merge-msg.c:21 builtin/grep.c:920 builtin/merge.c:263
-#: builtin/pull.c:142 builtin/pull.c:204 builtin/pull.c:221
-#: builtin/rebase.c:1074 builtin/repack.c:657 builtin/repack.c:661
-#: builtin/repack.c:663 builtin/show-branch.c:650 builtin/show-ref.c:172
-#: builtin/tag.c:446 parse-options.h:159 parse-options.h:180
-#: parse-options.h:348
-msgid "n"
-msgstr ""
-
-#: builtin/am.c:2382 builtin/branch.c:695 builtin/bugreport.c:109
-#: builtin/cat-file.c:848 builtin/cat-file.c:852 builtin/cat-file.c:856
-#: builtin/for-each-ref.c:41 builtin/ls-tree.c:357 builtin/replace.c:555
-#: builtin/tag.c:480 builtin/verify-tag.c:38
-msgid "format"
-msgstr ""
-
-#: builtin/am.c:2383
-msgid "format the patch(es) are in"
-msgstr ""
-
-#: builtin/am.c:2389
-msgid "override error message when patch failure occurs"
-msgstr ""
-
-#: builtin/am.c:2391
-msgid "continue applying patches after resolving a conflict"
-msgstr ""
-
-#: builtin/am.c:2394
-msgid "synonyms for --continue"
-msgstr ""
-
-#: builtin/am.c:2397
-msgid "skip the current patch"
-msgstr ""
-
-#: builtin/am.c:2400
-msgid "restore the original branch and abort the patching operation"
-msgstr ""
-
-#: builtin/am.c:2403
-msgid "abort the patching operation but keep HEAD where it is"
-msgstr ""
-
-#: builtin/am.c:2407
-msgid "show the patch being applied"
-msgstr ""
-
-#: builtin/am.c:2411
-msgid "record the empty patch as an empty commit"
-msgstr ""
-
-#: builtin/am.c:2415
-msgid "lie about committer date"
-msgstr ""
-
-#: builtin/am.c:2417
-msgid "use current timestamp for author date"
-msgstr ""
-
-#: builtin/am.c:2419 builtin/commit-tree.c:118 builtin/commit.c:1642
-#: builtin/merge.c:302 builtin/pull.c:179 builtin/rebase.c:1127
-#: builtin/revert.c:117 builtin/tag.c:461
-msgid "key-id"
-msgstr ""
-
-#: builtin/am.c:2420 builtin/rebase.c:1128
-msgid "GPG-sign commits"
-msgstr ""
-
-#: builtin/am.c:2423
-msgid "how to handle empty patches"
-msgstr ""
-
-#: builtin/am.c:2426
-msgid "(internal use for git-rebase)"
-msgstr ""
-
-#: builtin/am.c:2444
-msgid ""
-"The -b/--binary option has been a no-op for long time, and\n"
-"it will be removed. Please do not use it anymore."
-msgstr ""
-
-#: builtin/am.c:2451
-msgid "failed to read the index"
-msgstr ""
-
-#: builtin/am.c:2466
-#, c-format
-msgid "previous rebase directory %s still exists but mbox given."
-msgstr ""
-
-#: builtin/am.c:2490
-#, c-format
-msgid ""
-"Stray %s directory found.\n"
-"Use \"git am --abort\" to remove it."
-msgstr ""
-
-#: builtin/am.c:2496
-msgid "Resolve operation not in progress, we are not resuming."
-msgstr ""
-
-#: builtin/am.c:2506
-msgid "interactive mode requires patches on the command line"
-msgstr ""
-
-#: builtin/apply.c:8
-msgid "git apply [<options>] [<patch>...]"
-msgstr ""
-
-#: builtin/archive.c:18
-msgid "could not redirect output"
-msgstr ""
-
-#: builtin/archive.c:35
-msgid "git archive: Remote with no URL"
-msgstr ""
-
-#: builtin/archive.c:59
-msgid "git archive: expected ACK/NAK, got a flush packet"
-msgstr ""
-
-#: builtin/archive.c:62
-#, c-format
-msgid "git archive: NACK %s"
-msgstr ""
-
-#: builtin/archive.c:63
-msgid "git archive: protocol error"
-msgstr ""
-
-#: builtin/archive.c:67
-msgid "git archive: expected a flush"
-msgstr ""
-
-#: builtin/bisect--helper.c:24
-msgid "git bisect--helper --bisect-reset [<commit>]"
-msgstr ""
-
-#: builtin/bisect--helper.c:26
-msgid ""
-"git bisect--helper --bisect-start [--term-{new,bad}=<term> --term-{old,good}"
-"=<term>] [--no-checkout] [--first-parent] [<bad> [<good>...]] [--] "
-"[<paths>...]"
-msgstr ""
-
-#: builtin/bisect--helper.c:29
-msgid "git bisect--helper --bisect-state (bad|new) [<rev>]"
-msgstr ""
-
-#: builtin/bisect--helper.c:30
-msgid "git bisect--helper --bisect-state (good|old) [<rev>...]"
-msgstr ""
-
-#: builtin/bisect--helper.c:31
-msgid "git bisect--helper --bisect-replay <filename>"
-msgstr ""
-
-#: builtin/bisect--helper.c:32
-msgid "git bisect--helper --bisect-skip [(<rev>|<range>)...]"
-msgstr ""
-
-#: builtin/bisect--helper.c:34
-msgid "git bisect--helper --bisect-run <cmd>..."
-msgstr ""
-
-#: builtin/bisect--helper.c:109
-#, c-format
-msgid "cannot open file '%s' in mode '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:116
-#, c-format
-msgid "could not write to file '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:154
-#, c-format
-msgid "cannot open file '%s' for reading"
-msgstr ""
-
-#: builtin/bisect--helper.c:170
-#, c-format
-msgid "'%s' is not a valid term"
-msgstr ""
-
-#: builtin/bisect--helper.c:174
-#, c-format
-msgid "can't use the builtin command '%s' as a term"
-msgstr ""
-
-#: builtin/bisect--helper.c:184
-#, c-format
-msgid "can't change the meaning of the term '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:194
-msgid "please use two different terms"
-msgstr ""
-
-#: builtin/bisect--helper.c:210
-#, c-format
-msgid "We are not bisecting.\n"
-msgstr ""
-
-#: builtin/bisect--helper.c:218
-#, c-format
-msgid "'%s' is not a valid commit"
-msgstr ""
-
-#: builtin/bisect--helper.c:227
-#, c-format
-msgid ""
-"could not check out original HEAD '%s'. Try 'git bisect reset <commit>'."
-msgstr ""
-
-#: builtin/bisect--helper.c:271
-#, c-format
-msgid "Bad bisect_write argument: %s"
-msgstr ""
-
-#: builtin/bisect--helper.c:276
-#, c-format
-msgid "couldn't get the oid of the rev '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:288
-#, c-format
-msgid "couldn't open the file '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:314
-#, c-format
-msgid "Invalid command: you're currently in a %s/%s bisect"
-msgstr ""
-
-#: builtin/bisect--helper.c:341
-#, c-format
-msgid ""
-"You need to give me at least one %s and %s revision.\n"
-"You can use \"git bisect %s\" and \"git bisect %s\" for that."
-msgstr ""
-
-#: builtin/bisect--helper.c:345
-#, c-format
-msgid ""
-"You need to start by \"git bisect start\".\n"
-"You then need to give me at least one %s and %s revision.\n"
-"You can use \"git bisect %s\" and \"git bisect %s\" for that."
-msgstr ""
-
-#: builtin/bisect--helper.c:365
-#, c-format
-msgid "bisecting only with a %s commit"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [Y] and [n] in your
-#. translation. The program will only accept English input
-#. at this point.
-#.
-#: builtin/bisect--helper.c:373
-msgid "Are you sure [Y/n]? "
-msgstr ""
-
-#: builtin/bisect--helper.c:434
-msgid "no terms defined"
-msgstr ""
-
-#: builtin/bisect--helper.c:437
-#, c-format
-msgid ""
-"Your current terms are %s for the old state\n"
-"and %s for the new state.\n"
-msgstr ""
-
-#: builtin/bisect--helper.c:447
-#, c-format
-msgid ""
-"invalid argument %s for 'git bisect terms'.\n"
-"Supported options are: --term-good|--term-old and --term-bad|--term-new."
-msgstr ""
-
-#: builtin/bisect--helper.c:514 builtin/bisect--helper.c:1038
-msgid "revision walk setup failed\n"
-msgstr ""
-
-#: builtin/bisect--helper.c:536
-#, c-format
-msgid "could not open '%s' for appending"
-msgstr ""
-
-#: builtin/bisect--helper.c:655 builtin/bisect--helper.c:668
-msgid "'' is not a valid term"
-msgstr ""
-
-#: builtin/bisect--helper.c:678
-#, c-format
-msgid "unrecognized option: '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:682
-#, c-format
-msgid "'%s' does not appear to be a valid revision"
-msgstr ""
-
-#: builtin/bisect--helper.c:713
-msgid "bad HEAD - I need a HEAD"
-msgstr ""
-
-#: builtin/bisect--helper.c:728
-#, c-format
-msgid "checking out '%s' failed. Try 'git bisect start <valid-branch>'."
-msgstr ""
-
-#: builtin/bisect--helper.c:749
-msgid "won't bisect on cg-seek'ed tree"
-msgstr ""
-
-#: builtin/bisect--helper.c:752
-msgid "bad HEAD - strange symbolic ref"
-msgstr ""
-
-#: builtin/bisect--helper.c:772
-#, c-format
-msgid "invalid ref: '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:830
-msgid "You need to start by \"git bisect start\"\n"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [Y] and [n] in your
-#. translation. The program will only accept English input
-#. at this point.
-#.
-#: builtin/bisect--helper.c:841
-msgid "Do you want me to do it for you [Y/n]? "
-msgstr ""
-
-#: builtin/bisect--helper.c:859
-msgid "Please call `--bisect-state` with at least one argument"
-msgstr ""
-
-#: builtin/bisect--helper.c:872
-#, c-format
-msgid "'git bisect %s' can take only one argument."
-msgstr ""
-
-#: builtin/bisect--helper.c:884 builtin/bisect--helper.c:897
-#, c-format
-msgid "Bad rev input: %s"
-msgstr ""
-
-#: builtin/bisect--helper.c:904
-#, c-format
-msgid "Bad rev input (not a commit): %s"
-msgstr ""
-
-#: builtin/bisect--helper.c:936
-msgid "We are not bisecting."
-msgstr ""
-
-#: builtin/bisect--helper.c:986
-#, c-format
-msgid "'%s'?? what are you talking about?"
-msgstr ""
-
-#: builtin/bisect--helper.c:998
-#, c-format
-msgid "cannot read file '%s' for replaying"
-msgstr ""
-
-#: builtin/bisect--helper.c:1120 builtin/bisect--helper.c:1152
-#, c-format
-msgid "running %s\n"
-msgstr ""
-
-#: builtin/bisect--helper.c:1145 builtin/bisect--helper.c:1335
-msgid "bisect run failed: no command provided."
-msgstr ""
-
-#: builtin/bisect--helper.c:1166
-#, c-format
-msgid "unable to verify '%s' on good revision"
-msgstr ""
-
-#: builtin/bisect--helper.c:1172
-#, c-format
-msgid "bogus exit code %d for good revision"
-msgstr ""
-
-#: builtin/bisect--helper.c:1180
-#, c-format
-msgid "bisect run failed: exit code %d from '%s' is < 0 or >= 128"
-msgstr ""
-
-#: builtin/bisect--helper.c:1195
-#, c-format
-msgid "cannot open file '%s' for writing"
-msgstr ""
-
-#: builtin/bisect--helper.c:1213
-msgid "bisect run cannot continue any more"
-msgstr ""
-
-#: builtin/bisect--helper.c:1215
-#, c-format
-msgid "bisect run success"
-msgstr ""
-
-#: builtin/bisect--helper.c:1218
-#, c-format
-msgid "bisect found first bad commit"
-msgstr ""
-
-#: builtin/bisect--helper.c:1221
-#, c-format
-msgid ""
-"bisect run failed: 'git bisect--helper --bisect-state %s' exited with error "
-"code %d"
-msgstr ""
-
-#: builtin/bisect--helper.c:1253
-msgid "reset the bisection state"
-msgstr ""
-
-#: builtin/bisect--helper.c:1255
-msgid "check whether bad or good terms exist"
-msgstr ""
-
-#: builtin/bisect--helper.c:1257
-msgid "print out the bisect terms"
-msgstr ""
-
-#: builtin/bisect--helper.c:1259
-msgid "start the bisect session"
-msgstr ""
-
-#: builtin/bisect--helper.c:1261
-msgid "find the next bisection commit"
-msgstr ""
-
-#: builtin/bisect--helper.c:1263
-msgid "mark the state of ref (or refs)"
-msgstr ""
-
-#: builtin/bisect--helper.c:1265
-msgid "list the bisection steps so far"
-msgstr ""
-
-#: builtin/bisect--helper.c:1267
-msgid "replay the bisection process from the given file"
-msgstr ""
-
-#: builtin/bisect--helper.c:1269
-msgid "skip some commits for checkout"
-msgstr ""
-
-#: builtin/bisect--helper.c:1271
-msgid "visualize the bisection"
-msgstr ""
-
-#: builtin/bisect--helper.c:1273
-msgid "use <cmd>... to automatically bisect"
-msgstr ""
-
-#: builtin/bisect--helper.c:1275
-msgid "no log for BISECT_WRITE"
-msgstr ""
-
-#: builtin/bisect--helper.c:1290
-msgid "--bisect-reset requires either no argument or a commit"
-msgstr ""
-
-#: builtin/bisect--helper.c:1295
-msgid "--bisect-terms requires 0 or 1 argument"
-msgstr ""
-
-#: builtin/bisect--helper.c:1304
-msgid "--bisect-next requires 0 arguments"
-msgstr ""
-
-#: builtin/bisect--helper.c:1315
-msgid "--bisect-log requires 0 arguments"
-msgstr ""
-
-#: builtin/bisect--helper.c:1320
-msgid "no logfile given"
-msgstr ""
-
-#: builtin/blame.c:32
-msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
-msgstr ""
-
-#: builtin/blame.c:37
-msgid "<rev-opts> are documented in git-rev-list(1)"
-msgstr ""
-
-#: builtin/blame.c:406
-#, c-format
-msgid "expecting a color: %s"
-msgstr ""
-
-#: builtin/blame.c:413
-msgid "must end with a color"
-msgstr ""
-
-#: builtin/blame.c:842
-#, c-format
-msgid "cannot find revision %s to ignore"
-msgstr ""
-
-#: builtin/blame.c:864
-msgid "show blame entries as we find them, incrementally"
-msgstr ""
-
-#: builtin/blame.c:865
-msgid "do not show object names of boundary commits (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:866
-msgid "do not treat root commits as boundaries (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:867
-msgid "show work cost statistics"
-msgstr ""
-
-#: builtin/blame.c:868 builtin/checkout.c:1554 builtin/clone.c:98
-#: builtin/commit-graph.c:75 builtin/commit-graph.c:228 builtin/fetch.c:181
-#: builtin/merge.c:301 builtin/multi-pack-index.c:103
-#: builtin/multi-pack-index.c:154 builtin/multi-pack-index.c:180
-#: builtin/multi-pack-index.c:208 builtin/pull.c:120 builtin/push.c:566
-#: builtin/remote.c:683 builtin/send-pack.c:202
-msgid "force progress reporting"
-msgstr ""
-
-#: builtin/blame.c:869
-msgid "show output score for blame entries"
-msgstr ""
-
-#: builtin/blame.c:870
-msgid "show original filename (Default: auto)"
-msgstr ""
-
-#: builtin/blame.c:871
-msgid "show original linenumber (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:872
-msgid "show in a format designed for machine consumption"
-msgstr ""
-
-#: builtin/blame.c:873
-msgid "show porcelain format with per-line commit information"
-msgstr ""
-
-#: builtin/blame.c:874
-msgid "use the same output mode as git-annotate (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:875
-msgid "show raw timestamp (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:876
-msgid "show long commit SHA1 (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:877
-msgid "suppress author name and timestamp (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:878
-msgid "show author email instead of name (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:879
-msgid "ignore whitespace differences"
-msgstr ""
-
-#: builtin/blame.c:880 builtin/log.c:1857
-msgid "rev"
-msgstr ""
-
-#: builtin/blame.c:880
-msgid "ignore <rev> when blaming"
-msgstr ""
-
-#: builtin/blame.c:881
-msgid "ignore revisions from <file>"
-msgstr ""
-
-#: builtin/blame.c:882
-msgid "color redundant metadata from previous line differently"
-msgstr ""
-
-#: builtin/blame.c:883
-msgid "color lines by age"
-msgstr ""
-
-#: builtin/blame.c:884
-msgid "spend extra cycles to find better match"
-msgstr ""
-
-#: builtin/blame.c:885
-msgid "use revisions from <file> instead of calling git-rev-list"
-msgstr ""
-
-#: builtin/blame.c:886
-msgid "use <file>'s contents as the final image"
-msgstr ""
-
-#: builtin/blame.c:887 builtin/blame.c:888
-msgid "score"
-msgstr ""
-
-#: builtin/blame.c:887
-msgid "find line copies within and across files"
-msgstr ""
-
-#: builtin/blame.c:888
-msgid "find line movements within and across files"
-msgstr ""
-
-#: builtin/blame.c:889
-msgid "range"
-msgstr ""
-
-#: builtin/blame.c:890
-msgid "process only line range <start>,<end> or function :<funcname>"
-msgstr ""
-
-#: builtin/blame.c:949
-msgid "--progress can't be used with --incremental or porcelain formats"
-msgstr ""
-
-#. TRANSLATORS: This string is used to tell us the
-#. maximum display width for a relative timestamp in
-#. "git blame" output.  For C locale, "4 years, 11
-#. months ago", which takes 22 places, is the longest
-#. among various forms of relative timestamps, but
-#. your language may need more or fewer display
-#. columns.
-#.
-#: builtin/blame.c:1000
-msgid "4 years, 11 months ago"
-msgstr ""
-
-#: builtin/blame.c:1116
-#, c-format
-msgid "file %s has only %lu line"
-msgid_plural "file %s has only %lu lines"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/blame.c:1161
-msgid "Blaming lines"
-msgstr ""
-
-#: builtin/branch.c:29
-msgid "git branch [<options>] [-r | -a] [--merged] [--no-merged]"
-msgstr ""
-
-#: builtin/branch.c:30
-msgid ""
-"git branch [<options>] [-f] [--recurse-submodules] <branch-name> [<start-"
-"point>]"
-msgstr ""
-
-#: builtin/branch.c:31
-msgid "git branch [<options>] [-l] [<pattern>...]"
-msgstr ""
-
-#: builtin/branch.c:32
-msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..."
-msgstr ""
-
-#: builtin/branch.c:33
-msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>"
-msgstr ""
-
-#: builtin/branch.c:34
-msgid "git branch [<options>] (-c | -C) [<old-branch>] <new-branch>"
-msgstr ""
-
-#: builtin/branch.c:35
-msgid "git branch [<options>] [-r | -a] [--points-at]"
-msgstr ""
-
-#: builtin/branch.c:36
-msgid "git branch [<options>] [-r | -a] [--format]"
-msgstr ""
-
-#: builtin/branch.c:165
-#, c-format
-msgid ""
-"deleting branch '%s' that has been merged to\n"
-"         '%s', but not yet merged to HEAD."
-msgstr ""
-
-#: builtin/branch.c:169
-#, c-format
-msgid ""
-"not deleting branch '%s' that is not yet merged to\n"
-"         '%s', even though it is merged to HEAD."
-msgstr ""
-
-#: builtin/branch.c:183
-#, c-format
-msgid "Couldn't look up commit object for '%s'"
-msgstr ""
-
-#: builtin/branch.c:187
-#, c-format
-msgid ""
-"The branch '%s' is not fully merged.\n"
-"If you are sure you want to delete it, run 'git branch -D %s'."
-msgstr ""
-
-#: builtin/branch.c:200
-msgid "Update of config-file failed"
-msgstr ""
-
-#: builtin/branch.c:235
-msgid "cannot use -a with -d"
-msgstr ""
-
-#: builtin/branch.c:242
-msgid "Couldn't look up commit object for HEAD"
-msgstr ""
-
-#: builtin/branch.c:259
-#, c-format
-msgid "Cannot delete branch '%s' checked out at '%s'"
-msgstr ""
-
-#: builtin/branch.c:274
-#, c-format
-msgid "remote-tracking branch '%s' not found."
-msgstr ""
-
-#: builtin/branch.c:275
-#, c-format
-msgid "branch '%s' not found."
-msgstr ""
-
-#: builtin/branch.c:306
-#, c-format
-msgid "Deleted remote-tracking branch %s (was %s).\n"
-msgstr ""
-
-#: builtin/branch.c:307
-#, c-format
-msgid "Deleted branch %s (was %s).\n"
-msgstr ""
-
-#: builtin/branch.c:457 builtin/tag.c:64
-msgid "unable to parse format string"
-msgstr ""
-
-#: builtin/branch.c:488
-msgid "could not resolve HEAD"
-msgstr ""
-
-#: builtin/branch.c:494
-#, c-format
-msgid "HEAD (%s) points outside of refs/heads/"
-msgstr ""
-
-#: builtin/branch.c:509
-#, c-format
-msgid "Branch %s is being rebased at %s"
-msgstr ""
-
-#: builtin/branch.c:513
-#, c-format
-msgid "Branch %s is being bisected at %s"
-msgstr ""
-
-#: builtin/branch.c:530
-msgid "cannot copy the current branch while not on any."
-msgstr ""
-
-#: builtin/branch.c:532
-msgid "cannot rename the current branch while not on any."
-msgstr ""
-
-#: builtin/branch.c:543
-#, c-format
-msgid "Invalid branch name: '%s'"
-msgstr ""
-
-#: builtin/branch.c:572
-msgid "Branch rename failed"
-msgstr ""
-
-#: builtin/branch.c:574
-msgid "Branch copy failed"
-msgstr ""
-
-#: builtin/branch.c:578
-#, c-format
-msgid "Created a copy of a misnamed branch '%s'"
-msgstr ""
-
-#: builtin/branch.c:581
-#, c-format
-msgid "Renamed a misnamed branch '%s' away"
-msgstr ""
-
-#: builtin/branch.c:587
-#, c-format
-msgid "Branch renamed to %s, but HEAD is not updated!"
-msgstr ""
-
-#: builtin/branch.c:596
-msgid "Branch is renamed, but update of config-file failed"
-msgstr ""
-
-#: builtin/branch.c:598
-msgid "Branch is copied, but update of config-file failed"
-msgstr ""
-
-#: builtin/branch.c:614
-#, c-format
-msgid ""
-"Please edit the description for the branch\n"
-"  %s\n"
-"Lines starting with '%c' will be stripped.\n"
-msgstr ""
-
-#: builtin/branch.c:651
-msgid "Generic options"
-msgstr ""
-
-#: builtin/branch.c:653
-msgid "show hash and subject, give twice for upstream branch"
-msgstr ""
-
-#: builtin/branch.c:654
-msgid "suppress informational messages"
-msgstr ""
-
-#: builtin/branch.c:656 builtin/checkout.c:1571
-#: builtin/submodule--helper.c:3077
-msgid "set branch tracking configuration"
-msgstr ""
-
-#: builtin/branch.c:659
-msgid "do not use"
-msgstr ""
-
-#: builtin/branch.c:661
-msgid "upstream"
-msgstr ""
-
-#: builtin/branch.c:661
-msgid "change the upstream info"
-msgstr ""
-
-#: builtin/branch.c:662
-msgid "unset the upstream info"
-msgstr ""
-
-#: builtin/branch.c:663
-msgid "use colored output"
-msgstr ""
-
-#: builtin/branch.c:664
-msgid "act on remote-tracking branches"
-msgstr ""
-
-#: builtin/branch.c:666 builtin/branch.c:668
-msgid "print only branches that contain the commit"
-msgstr ""
-
-#: builtin/branch.c:667 builtin/branch.c:669
-msgid "print only branches that don't contain the commit"
-msgstr ""
-
-#: builtin/branch.c:672
-msgid "Specific git-branch actions:"
-msgstr ""
-
-#: builtin/branch.c:673
-msgid "list both remote-tracking and local branches"
-msgstr ""
-
-#: builtin/branch.c:675
-msgid "delete fully merged branch"
-msgstr ""
-
-#: builtin/branch.c:676
-msgid "delete branch (even if not merged)"
-msgstr ""
-
-#: builtin/branch.c:677
-msgid "move/rename a branch and its reflog"
-msgstr ""
-
-#: builtin/branch.c:678
-msgid "move/rename a branch, even if target exists"
-msgstr ""
-
-#: builtin/branch.c:679
-msgid "copy a branch and its reflog"
-msgstr ""
-
-#: builtin/branch.c:680
-msgid "copy a branch, even if target exists"
-msgstr ""
-
-#: builtin/branch.c:681
-msgid "list branch names"
-msgstr ""
-
-#: builtin/branch.c:682
-msgid "show current branch name"
-msgstr ""
-
-#: builtin/branch.c:683 builtin/submodule--helper.c:3075
-msgid "create the branch's reflog"
-msgstr ""
-
-#: builtin/branch.c:685
-msgid "edit the description for the branch"
-msgstr ""
-
-#: builtin/branch.c:686
-msgid "force creation, move/rename, deletion"
-msgstr ""
-
-#: builtin/branch.c:687
-msgid "print only branches that are merged"
-msgstr ""
-
-#: builtin/branch.c:688
-msgid "print only branches that are not merged"
-msgstr ""
-
-#: builtin/branch.c:689
-msgid "list branches in columns"
-msgstr ""
-
-#: builtin/branch.c:691 builtin/for-each-ref.c:45 builtin/notes.c:413
-#: builtin/notes.c:416 builtin/notes.c:579 builtin/notes.c:582
-#: builtin/tag.c:476
-msgid "object"
-msgstr ""
-
-#: builtin/branch.c:692
-msgid "print only branches of the object"
-msgstr ""
-
-#: builtin/branch.c:693 builtin/for-each-ref.c:51 builtin/tag.c:483
-msgid "sorting and filtering are case insensitive"
-msgstr ""
-
-#: builtin/branch.c:694 builtin/ls-files.c:667
-msgid "recurse through submodules"
-msgstr ""
-
-#: builtin/branch.c:695 builtin/for-each-ref.c:41 builtin/ls-tree.c:358
-#: builtin/tag.c:481 builtin/verify-tag.c:38
-msgid "format to use for the output"
-msgstr ""
-
-#: builtin/branch.c:718 builtin/clone.c:684
-msgid "HEAD not found below refs/heads!"
-msgstr ""
-
-#: builtin/branch.c:739
-msgid ""
-"branch with --recurse-submodules can only be used if submodule."
-"propagateBranches is enabled"
-msgstr ""
-
-#: builtin/branch.c:741
-msgid "--recurse-submodules can only be used to create branches"
-msgstr ""
-
-#: builtin/branch.c:770 builtin/branch.c:826 builtin/branch.c:835
-msgid "branch name required"
-msgstr ""
-
-#: builtin/branch.c:802
-msgid "Cannot give description to detached HEAD"
-msgstr ""
-
-#: builtin/branch.c:807
-msgid "cannot edit description of more than one branch"
-msgstr ""
-
-#: builtin/branch.c:814
-#, c-format
-msgid "No commit on branch '%s' yet."
-msgstr ""
-
-#: builtin/branch.c:817
-#, c-format
-msgid "No branch named '%s'."
-msgstr ""
-
-#: builtin/branch.c:832
-msgid "too many branches for a copy operation"
-msgstr ""
-
-#: builtin/branch.c:841
-msgid "too many arguments for a rename operation"
-msgstr ""
-
-#: builtin/branch.c:846
-msgid "too many arguments to set new upstream"
-msgstr ""
-
-#: builtin/branch.c:850
-#, c-format
-msgid ""
-"could not set upstream of HEAD to %s when it does not point to any branch."
-msgstr ""
-
-#: builtin/branch.c:853 builtin/branch.c:873
-#, c-format
-msgid "no such branch '%s'"
-msgstr ""
-
-#: builtin/branch.c:857
-#, c-format
-msgid "branch '%s' does not exist"
-msgstr ""
-
-#: builtin/branch.c:867
-msgid "too many arguments to unset upstream"
-msgstr ""
-
-#: builtin/branch.c:871
-msgid "could not unset upstream of HEAD when it does not point to any branch."
-msgstr ""
-
-#: builtin/branch.c:877
-#, c-format
-msgid "Branch '%s' has no upstream information"
-msgstr ""
-
-#: builtin/branch.c:890
-msgid ""
-"The -a, and -r, options to 'git branch' do not take a branch name.\n"
-"Did you mean to use: -a|-r --list <pattern>?"
-msgstr ""
-
-#: builtin/branch.c:894
-msgid ""
-"the '--set-upstream' option is no longer supported. Please use '--track' or "
-"'--set-upstream-to' instead."
-msgstr ""
-
-#: builtin/bugreport.c:16
-msgid "git version:\n"
-msgstr ""
-
-#: builtin/bugreport.c:22
-#, c-format
-msgid "uname() failed with error '%s' (%d)\n"
-msgstr ""
-
-#: builtin/bugreport.c:32
-msgid "compiler info: "
-msgstr ""
-
-#: builtin/bugreport.c:35
-msgid "libc info: "
-msgstr ""
-
-#: builtin/bugreport.c:49
-msgid "not run from a git repository - no hooks to show\n"
-msgstr ""
-
-#: builtin/bugreport.c:62
-msgid "git bugreport [-o|--output-directory <file>] [-s|--suffix <format>]"
-msgstr ""
-
-#: builtin/bugreport.c:69
-msgid ""
-"Thank you for filling out a Git bug report!\n"
-"Please answer the following questions to help us understand your issue.\n"
-"\n"
-"What did you do before the bug happened? (Steps to reproduce your issue)\n"
-"\n"
-"What did you expect to happen? (Expected behavior)\n"
-"\n"
-"What happened instead? (Actual behavior)\n"
-"\n"
-"What's different between what you expected and what actually happened?\n"
-"\n"
-"Anything else you want to add:\n"
-"\n"
-"Please review the rest of the bug report below.\n"
-"You can delete any lines you don't wish to share.\n"
-msgstr ""
-
-#: builtin/bugreport.c:108
-msgid "specify a destination for the bugreport file"
-msgstr ""
-
-#: builtin/bugreport.c:110
-msgid "specify a strftime format suffix for the filename"
-msgstr ""
-
-#: builtin/bugreport.c:132
-#, c-format
-msgid "could not create leading directories for '%s'"
-msgstr ""
-
-#: builtin/bugreport.c:139
-msgid "System Info"
-msgstr ""
-
-#: builtin/bugreport.c:142
-msgid "Enabled Hooks"
-msgstr ""
-
-#: builtin/bugreport.c:149
-#, c-format
-msgid "unable to write to %s"
-msgstr ""
-
-#: builtin/bugreport.c:159
-#, c-format
-msgid "Created new report at '%s'.\n"
-msgstr ""
-
-#: builtin/bundle.c:15 builtin/bundle.c:23
-msgid "git bundle create [<options>] <file> <git-rev-list args>"
-msgstr ""
-
-#: builtin/bundle.c:16 builtin/bundle.c:28
-msgid "git bundle verify [<options>] <file>"
-msgstr ""
-
-#: builtin/bundle.c:17 builtin/bundle.c:33
-msgid "git bundle list-heads <file> [<refname>...]"
-msgstr ""
-
-#: builtin/bundle.c:18 builtin/bundle.c:38
-msgid "git bundle unbundle <file> [<refname>...]"
-msgstr ""
-
-#: builtin/bundle.c:65 builtin/pack-objects.c:3899
-msgid "do not show progress meter"
-msgstr ""
-
-#: builtin/bundle.c:67 builtin/bundle.c:168 builtin/pack-objects.c:3901
-msgid "show progress meter"
-msgstr ""
-
-#: builtin/bundle.c:69 builtin/pack-objects.c:3903
-msgid "show progress meter during object writing phase"
-msgstr ""
-
-#: builtin/bundle.c:72 builtin/pack-objects.c:3906
-msgid "similar to --all-progress when progress meter is shown"
-msgstr ""
-
-#: builtin/bundle.c:74
-msgid "specify bundle format version"
-msgstr ""
-
-#: builtin/bundle.c:94
-msgid "Need a repository to create a bundle."
-msgstr ""
-
-#: builtin/bundle.c:108
-msgid "do not show bundle details"
-msgstr ""
-
-#: builtin/bundle.c:127
-#, c-format
-msgid "%s is okay\n"
-msgstr ""
-
-#: builtin/bundle.c:183
-msgid "Need a repository to unbundle."
-msgstr ""
-
-#: builtin/bundle.c:186
-msgid "Unbundling objects"
-msgstr ""
-
-#: builtin/bundle.c:220 builtin/remote.c:1758
-#, c-format
-msgid "Unknown subcommand: %s"
-msgstr ""
-
-#: builtin/cat-file.c:568
-msgid "flush is only for --buffer mode"
-msgstr ""
-
-#: builtin/cat-file.c:612
-msgid "empty command in input"
-msgstr ""
-
-#: builtin/cat-file.c:614
-#, c-format
-msgid "whitespace before command: '%s'"
-msgstr ""
-
-#: builtin/cat-file.c:623
-#, c-format
-msgid "%s requires arguments"
-msgstr ""
-
-#: builtin/cat-file.c:628
-#, c-format
-msgid "%s takes no arguments"
-msgstr ""
-
-#: builtin/cat-file.c:636
-#, c-format
-msgid "unknown command: '%s'"
-msgstr ""
-
-#: builtin/cat-file.c:795
-msgid "only one batch option may be specified"
-msgstr ""
-
-#: builtin/cat-file.c:824
-msgid "git cat-file <type> <object>"
-msgstr ""
-
-#: builtin/cat-file.c:825
-msgid "git cat-file (-e | -p) <object>"
-msgstr ""
-
-#: builtin/cat-file.c:826
-msgid "git cat-file (-t | -s) [--allow-unknown-type] <object>"
-msgstr ""
-
-#: builtin/cat-file.c:827
-msgid ""
-"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
-"objects]\n"
-"             [--buffer] [--follow-symlinks] [--unordered]\n"
-"             [--textconv | --filters]"
-msgstr ""
-
-#: builtin/cat-file.c:830
-msgid ""
-"git cat-file (--textconv | --filters)\n"
-"             [<rev>:<path|tree-ish> | --path=<path|tree-ish> <rev>]"
-msgstr ""
-
-#: builtin/cat-file.c:836
-msgid "Check object existence or emit object contents"
-msgstr ""
-
-#: builtin/cat-file.c:838
-msgid "check if <object> exists"
-msgstr ""
-
-#: builtin/cat-file.c:839
-msgid "pretty-print <object> content"
-msgstr ""
-
-#: builtin/cat-file.c:841
-msgid "Emit [broken] object attributes"
-msgstr ""
-
-#: builtin/cat-file.c:842
-msgid "show object type (one of 'blob', 'tree', 'commit', 'tag', ...)"
-msgstr ""
-
-#: builtin/cat-file.c:843
-msgid "show object size"
-msgstr ""
-
-#: builtin/cat-file.c:845
-msgid "allow -s and -t to work with broken/corrupt objects"
-msgstr ""
-
-#: builtin/cat-file.c:847
-msgid "Batch objects requested on stdin (or --batch-all-objects)"
-msgstr ""
-
-#: builtin/cat-file.c:849
-msgid "show full <object> or <rev> contents"
-msgstr ""
-
-#: builtin/cat-file.c:853
-msgid "like --batch, but don't emit <contents>"
-msgstr ""
-
-#: builtin/cat-file.c:857
-msgid "read commands from stdin"
-msgstr ""
-
-#: builtin/cat-file.c:861
-msgid "with --batch[-check]: ignores stdin, batches all known objects"
-msgstr ""
-
-#: builtin/cat-file.c:863
-msgid "Change or optimize batch output"
-msgstr ""
-
-#: builtin/cat-file.c:864
-msgid "buffer --batch output"
-msgstr ""
-
-#: builtin/cat-file.c:866
-msgid "follow in-tree symlinks"
-msgstr ""
-
-#: builtin/cat-file.c:868
-msgid "do not order objects before emitting them"
-msgstr ""
-
-#: builtin/cat-file.c:870
-msgid ""
-"Emit object (blob or tree) with conversion or filter (stand-alone, or with "
-"batch)"
-msgstr ""
-
-#: builtin/cat-file.c:872
-msgid "run textconv on object's content"
-msgstr ""
-
-#: builtin/cat-file.c:874
-msgid "run filters on object's content"
-msgstr ""
-
-#: builtin/cat-file.c:875
-msgid "blob|tree"
-msgstr ""
-
-#: builtin/cat-file.c:876
-msgid "use a <path> for (--textconv | --filters); Not with 'batch'"
-msgstr ""
-
-#: builtin/cat-file.c:894
-#, c-format
-msgid "'%s=<%s>' needs '%s' or '%s'"
-msgstr ""
-
-#: builtin/cat-file.c:896
-msgid "path|tree-ish"
-msgstr ""
-
-#: builtin/cat-file.c:903 builtin/cat-file.c:906 builtin/cat-file.c:909
-#, c-format
-msgid "'%s' requires a batch mode"
-msgstr ""
-
-#: builtin/cat-file.c:921
-#, c-format
-msgid "'-%c' is incompatible with batch mode"
-msgstr ""
-
-#: builtin/cat-file.c:924
-msgid "batch modes take no arguments"
-msgstr ""
-
-#: builtin/cat-file.c:932 builtin/cat-file.c:935
-#, c-format
-msgid "<rev> required with '%s'"
-msgstr ""
-
-#: builtin/cat-file.c:938
-#, c-format
-msgid "<object> required with '-%c'"
-msgstr ""
-
-#: builtin/cat-file.c:943 builtin/notes.c:374 builtin/notes.c:429
-#: builtin/notes.c:507 builtin/notes.c:519 builtin/notes.c:596
-#: builtin/notes.c:663 builtin/notes.c:813 builtin/notes.c:965
-#: builtin/notes.c:987 builtin/prune-packed.c:25 builtin/receive-pack.c:2489
-#: builtin/tag.c:592
-msgid "too many arguments"
-msgstr ""
-
-#: builtin/cat-file.c:947
-#, c-format
-msgid "only two arguments allowed in <type> <object> mode, not %d"
-msgstr ""
-
-#: builtin/check-attr.c:13
-msgid "git check-attr [-a | --all | <attr>...] [--] <pathname>..."
-msgstr ""
-
-#: builtin/check-attr.c:14
-msgid "git check-attr --stdin [-z] [-a | --all | <attr>...]"
-msgstr ""
-
-#: builtin/check-attr.c:21
-msgid "report all attributes set on file"
-msgstr ""
-
-#: builtin/check-attr.c:22
-msgid "use .gitattributes only from the index"
-msgstr ""
-
-#: builtin/check-attr.c:23 builtin/check-ignore.c:25 builtin/hash-object.c:101
-msgid "read file names from stdin"
-msgstr ""
-
-#: builtin/check-attr.c:25 builtin/check-ignore.c:27
-msgid "terminate input and output records by a NUL character"
-msgstr ""
-
-#: builtin/check-ignore.c:21 builtin/checkout.c:1550 builtin/gc.c:550
-#: builtin/worktree.c:565
-msgid "suppress progress reporting"
-msgstr ""
-
-#: builtin/check-ignore.c:29
-msgid "show non-matching input paths"
-msgstr ""
-
-#: builtin/check-ignore.c:31
-msgid "ignore index when checking"
-msgstr ""
-
-#: builtin/check-ignore.c:165
-msgid "cannot specify pathnames with --stdin"
-msgstr ""
-
-#: builtin/check-ignore.c:168
-msgid "-z only makes sense with --stdin"
-msgstr ""
-
-#: builtin/check-ignore.c:170
-msgid "no path specified"
-msgstr ""
-
-#: builtin/check-ignore.c:174
-msgid "--quiet is only valid with a single pathname"
-msgstr ""
-
-#: builtin/check-ignore.c:176
-msgid "cannot have both --quiet and --verbose"
-msgstr ""
-
-#: builtin/check-ignore.c:179
-msgid "--non-matching is only valid with --verbose"
-msgstr ""
-
-#: builtin/check-mailmap.c:9
-msgid "git check-mailmap [<options>] <contact>..."
-msgstr ""
-
-#: builtin/check-mailmap.c:14
-msgid "also read contacts from stdin"
-msgstr ""
-
-#: builtin/check-mailmap.c:25
-#, c-format
-msgid "unable to parse contact: %s"
-msgstr ""
-
-#: builtin/check-mailmap.c:48
-msgid "no contacts specified"
-msgstr ""
-
-#: builtin/checkout--worker.c:110
-msgid "git checkout--worker [<options>]"
-msgstr ""
-
-#: builtin/checkout--worker.c:118 builtin/checkout-index.c:235
-#: builtin/column.c:31 builtin/column.c:32 builtin/submodule--helper.c:1878
-#: builtin/submodule--helper.c:1881 builtin/submodule--helper.c:1889
-#: builtin/submodule--helper.c:2716 builtin/worktree.c:563
-#: builtin/worktree.c:808
-msgid "string"
-msgstr ""
-
-#: builtin/checkout--worker.c:119 builtin/checkout-index.c:236
-msgid "when creating files, prepend <string>"
-msgstr ""
-
-#: builtin/checkout-index.c:184
-msgid "git checkout-index [<options>] [--] [<file>...]"
-msgstr ""
-
-#: builtin/checkout-index.c:201
-msgid "stage should be between 1 and 3 or all"
-msgstr ""
-
-#: builtin/checkout-index.c:219
-msgid "check out all files in the index"
-msgstr ""
-
-#: builtin/checkout-index.c:221
-msgid "do not skip files with skip-worktree set"
-msgstr ""
-
-#: builtin/checkout-index.c:222
-msgid "force overwrite of existing files"
-msgstr ""
-
-#: builtin/checkout-index.c:224
-msgid "no warning for existing files and files not in index"
-msgstr ""
-
-#: builtin/checkout-index.c:226
-msgid "don't checkout new files"
-msgstr ""
-
-#: builtin/checkout-index.c:228
-msgid "update stat information in the index file"
-msgstr ""
-
-#: builtin/checkout-index.c:232
-msgid "read list of paths from the standard input"
-msgstr ""
-
-#: builtin/checkout-index.c:234
-msgid "write the content to temporary files"
-msgstr ""
-
-#: builtin/checkout-index.c:238
-msgid "copy out the files from named stage"
-msgstr ""
-
-#: builtin/checkout.c:34
-msgid "git checkout [<options>] <branch>"
-msgstr ""
-
-#: builtin/checkout.c:35
-msgid "git checkout [<options>] [<branch>] -- <file>..."
-msgstr ""
-
-#: builtin/checkout.c:40
-msgid "git switch [<options>] [<branch>]"
-msgstr ""
-
-#: builtin/checkout.c:45
-msgid "git restore [<options>] [--source=<branch>] <file>..."
-msgstr ""
-
-#: builtin/checkout.c:199 builtin/checkout.c:238
-#, c-format
-msgid "path '%s' does not have our version"
-msgstr ""
-
-#: builtin/checkout.c:201 builtin/checkout.c:240
-#, c-format
-msgid "path '%s' does not have their version"
-msgstr ""
-
-#: builtin/checkout.c:217
-#, c-format
-msgid "path '%s' does not have all necessary versions"
-msgstr ""
-
-#: builtin/checkout.c:271
-#, c-format
-msgid "path '%s' does not have necessary versions"
-msgstr ""
-
-#: builtin/checkout.c:291
-#, c-format
-msgid "path '%s': cannot merge"
-msgstr ""
-
-#: builtin/checkout.c:307
-#, c-format
-msgid "Unable to add merge result for '%s'"
-msgstr ""
-
-#: builtin/checkout.c:424
-#, c-format
-msgid "Recreated %d merge conflict"
-msgid_plural "Recreated %d merge conflicts"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:429
-#, c-format
-msgid "Updated %d path from %s"
-msgid_plural "Updated %d paths from %s"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:436
-#, c-format
-msgid "Updated %d path from the index"
-msgid_plural "Updated %d paths from the index"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:459 builtin/checkout.c:462 builtin/checkout.c:465
-#: builtin/checkout.c:469
-#, c-format
-msgid "'%s' cannot be used with updating paths"
-msgstr ""
-
-#: builtin/checkout.c:479
-#, c-format
-msgid "Cannot update paths and switch to branch '%s' at the same time."
-msgstr ""
-
-#: builtin/checkout.c:483
-#, c-format
-msgid "neither '%s' or '%s' is specified"
-msgstr ""
-
-#: builtin/checkout.c:487
-#, c-format
-msgid "'%s' must be used when '%s' is not specified"
-msgstr ""
-
-#: builtin/checkout.c:492 builtin/checkout.c:497
-#, c-format
-msgid "'%s' or '%s' cannot be used with %s"
-msgstr ""
-
-#: builtin/checkout.c:571 builtin/checkout.c:578
-#, c-format
-msgid "path '%s' is unmerged"
-msgstr ""
-
-#: builtin/checkout.c:753
-msgid "you need to resolve your current index first"
-msgstr ""
-
-#: builtin/checkout.c:809
-#, c-format
-msgid ""
-"cannot continue with staged changes in the following files:\n"
-"%s"
-msgstr ""
-
-#: builtin/checkout.c:902
-#, c-format
-msgid "Can not do reflog for '%s': %s\n"
-msgstr ""
-
-#: builtin/checkout.c:947
-msgid "HEAD is now at"
-msgstr ""
-
-#: builtin/checkout.c:951 builtin/clone.c:615 t/helper/test-fast-rebase.c:203
-msgid "unable to update HEAD"
-msgstr ""
-
-#: builtin/checkout.c:955
-#, c-format
-msgid "Reset branch '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:958
-#, c-format
-msgid "Already on '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:962
-#, c-format
-msgid "Switched to and reset branch '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:964 builtin/checkout.c:1398
-#, c-format
-msgid "Switched to a new branch '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:966
-#, c-format
-msgid "Switched to branch '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:1017
-#, c-format
-msgid " ... and %d more.\n"
-msgstr ""
-
-#: builtin/checkout.c:1023
-#, c-format
-msgid ""
-"Warning: you are leaving %d commit behind, not connected to\n"
-"any of your branches:\n"
-"\n"
-"%s\n"
-msgid_plural ""
-"Warning: you are leaving %d commits behind, not connected to\n"
-"any of your branches:\n"
-"\n"
-"%s\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:1042
-#, c-format
-msgid ""
-"If you want to keep it by creating a new branch, this may be a good time\n"
-"to do so with:\n"
-"\n"
-" git branch <new-branch-name> %s\n"
-"\n"
-msgid_plural ""
-"If you want to keep them by creating a new branch, this may be a good time\n"
-"to do so with:\n"
-"\n"
-" git branch <new-branch-name> %s\n"
-"\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:1077
-msgid "internal error in revision walk"
-msgstr ""
-
-#: builtin/checkout.c:1081
-msgid "Previous HEAD position was"
-msgstr ""
-
-#: builtin/checkout.c:1124 builtin/checkout.c:1393
-msgid "You are on a branch yet to be born"
-msgstr ""
-
-#: builtin/checkout.c:1206
-#, c-format
-msgid ""
-"'%s' could be both a local file and a tracking branch.\n"
-"Please use -- (and optionally --no-guess) to disambiguate"
-msgstr ""
-
-#: builtin/checkout.c:1213
-msgid ""
-"If you meant to check out a remote tracking branch on, e.g. 'origin',\n"
-"you can do so by fully qualifying the name with the --track option:\n"
-"\n"
-"    git checkout --track origin/<name>\n"
-"\n"
-"If you'd like to always have checkouts of an ambiguous <name> prefer\n"
-"one remote, e.g. the 'origin' remote, consider setting\n"
-"checkout.defaultRemote=origin in your config."
-msgstr ""
-
-#: builtin/checkout.c:1223
-#, c-format
-msgid "'%s' matched multiple (%d) remote tracking branches"
-msgstr ""
-
-#: builtin/checkout.c:1289
-msgid "only one reference expected"
-msgstr ""
-
-#: builtin/checkout.c:1306
-#, c-format
-msgid "only one reference expected, %d given."
-msgstr ""
-
-#: builtin/checkout.c:1352 builtin/worktree.c:338 builtin/worktree.c:508
-#, c-format
-msgid "invalid reference: %s"
-msgstr ""
-
-#: builtin/checkout.c:1365 builtin/checkout.c:1744
-#, c-format
-msgid "reference is not a tree: %s"
-msgstr ""
-
-#: builtin/checkout.c:1413
-#, c-format
-msgid "a branch is expected, got tag '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1415
-#, c-format
-msgid "a branch is expected, got remote branch '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1417 builtin/checkout.c:1426
-#, c-format
-msgid "a branch is expected, got '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1420
-#, c-format
-msgid "a branch is expected, got commit '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1429
-msgid ""
-"If you want to detach HEAD at the commit, try again with the --detach option."
-msgstr ""
-
-#: builtin/checkout.c:1442
-msgid ""
-"cannot switch branch while merging\n"
-"Consider \"git merge --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1446
-msgid ""
-"cannot switch branch in the middle of an am session\n"
-"Consider \"git am --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1450
-msgid ""
-"cannot switch branch while rebasing\n"
-"Consider \"git rebase --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1454
-msgid ""
-"cannot switch branch while cherry-picking\n"
-"Consider \"git cherry-pick --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1458
-msgid ""
-"cannot switch branch while reverting\n"
-"Consider \"git revert --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1462
-msgid "you are switching branch while bisecting"
-msgstr ""
-
-#: builtin/checkout.c:1469
-msgid "paths cannot be used with switching branches"
-msgstr ""
-
-#: builtin/checkout.c:1472 builtin/checkout.c:1476 builtin/checkout.c:1480
-#, c-format
-msgid "'%s' cannot be used with switching branches"
-msgstr ""
-
-#: builtin/checkout.c:1484 builtin/checkout.c:1487 builtin/checkout.c:1490
-#: builtin/checkout.c:1495 builtin/checkout.c:1500
-#, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1497
-#, c-format
-msgid "'%s' cannot take <start-point>"
-msgstr ""
-
-#: builtin/checkout.c:1505
-#, c-format
-msgid "Cannot switch branch to a non-commit '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1512
-msgid "missing branch or commit argument"
-msgstr ""
-
-#: builtin/checkout.c:1555
-msgid "perform a 3-way merge with the new branch"
-msgstr ""
-
-#: builtin/checkout.c:1556 builtin/log.c:1844 parse-options.h:354
-msgid "style"
-msgstr ""
-
-#: builtin/checkout.c:1557
-msgid "conflict style (merge, diff3, or zdiff3)"
-msgstr ""
-
-#: builtin/checkout.c:1569 builtin/worktree.c:560
-msgid "detach HEAD at named commit"
-msgstr ""
-
-#: builtin/checkout.c:1574
-msgid "force checkout (throw away local modifications)"
-msgstr ""
-
-#: builtin/checkout.c:1576
-msgid "new-branch"
-msgstr ""
-
-#: builtin/checkout.c:1576
-msgid "new unparented branch"
-msgstr ""
-
-#: builtin/checkout.c:1578 builtin/merge.c:305
-msgid "update ignored files (default)"
-msgstr ""
-
-#: builtin/checkout.c:1581
-msgid "do not check if another worktree is holding the given ref"
-msgstr ""
-
-#: builtin/checkout.c:1594
-msgid "checkout our version for unmerged files"
-msgstr ""
-
-#: builtin/checkout.c:1597
-msgid "checkout their version for unmerged files"
-msgstr ""
-
-#: builtin/checkout.c:1601
-msgid "do not limit pathspecs to sparse entries only"
-msgstr ""
-
-#: builtin/checkout.c:1659
-#, c-format
-msgid "options '-%c', '-%c', and '%s' cannot be used together"
-msgstr ""
-
-#: builtin/checkout.c:1700
-msgid "--track needs a branch name"
-msgstr ""
-
-#: builtin/checkout.c:1705
-#, c-format
-msgid "missing branch name; try -%c"
-msgstr ""
-
-#: builtin/checkout.c:1737
-#, c-format
-msgid "could not resolve %s"
-msgstr ""
-
-#: builtin/checkout.c:1753
-msgid "invalid path specification"
-msgstr ""
-
-#: builtin/checkout.c:1760
-#, c-format
-msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
-msgstr ""
-
-#: builtin/checkout.c:1764
-#, c-format
-msgid "git checkout: --detach does not take a path argument '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1789
-msgid ""
-"git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
-"checking out of the index."
-msgstr ""
-
-#: builtin/checkout.c:1794
-msgid "you must specify path(s) to restore"
-msgstr ""
-
-#: builtin/checkout.c:1819 builtin/checkout.c:1821 builtin/checkout.c:1873
-#: builtin/checkout.c:1875 builtin/clone.c:130 builtin/remote.c:171
-#: builtin/remote.c:173 builtin/submodule--helper.c:3038
-#: builtin/submodule--helper.c:3371 builtin/worktree.c:556
-#: builtin/worktree.c:558
-msgid "branch"
-msgstr ""
-
-#: builtin/checkout.c:1820
-msgid "create and checkout a new branch"
-msgstr ""
-
-#: builtin/checkout.c:1822
-msgid "create/reset and checkout a branch"
-msgstr ""
-
-#: builtin/checkout.c:1823
-msgid "create reflog for new branch"
-msgstr ""
-
-#: builtin/checkout.c:1825
-msgid "second guess 'git checkout <no-such-branch>' (default)"
-msgstr ""
-
-#: builtin/checkout.c:1826
-msgid "use overlay mode (default)"
-msgstr ""
-
-#: builtin/checkout.c:1874
-msgid "create and switch to a new branch"
-msgstr ""
-
-#: builtin/checkout.c:1876
-msgid "create/reset and switch to a branch"
-msgstr ""
-
-#: builtin/checkout.c:1878
-msgid "second guess 'git switch <no-such-branch>'"
-msgstr ""
-
-#: builtin/checkout.c:1880
-msgid "throw away local modifications"
-msgstr ""
-
-#: builtin/checkout.c:1916
-msgid "which tree-ish to checkout from"
-msgstr ""
-
-#: builtin/checkout.c:1918
-msgid "restore the index"
-msgstr ""
-
-#: builtin/checkout.c:1920
-msgid "restore the working tree (default)"
-msgstr ""
-
-#: builtin/checkout.c:1922
-msgid "ignore unmerged entries"
-msgstr ""
-
-#: builtin/checkout.c:1923
-msgid "use overlay mode"
-msgstr ""
-
-#: builtin/clean.c:29
-msgid ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
-msgstr ""
-
-#: builtin/clean.c:33
-#, c-format
-msgid "Removing %s\n"
-msgstr ""
-
-#: builtin/clean.c:34
-#, c-format
-msgid "Would remove %s\n"
-msgstr ""
-
-#: builtin/clean.c:35
-#, c-format
-msgid "Skipping repository %s\n"
-msgstr ""
-
-#: builtin/clean.c:36
-#, c-format
-msgid "Would skip repository %s\n"
-msgstr ""
-
-#: builtin/clean.c:38
-#, c-format
-msgid "could not lstat %s\n"
-msgstr ""
-
-#: builtin/clean.c:39
-msgid "Refusing to remove current working directory\n"
-msgstr ""
-
-#: builtin/clean.c:40
-msgid "Would refuse to remove current working directory\n"
-msgstr ""
-
-#: builtin/clean.c:326 git-add--interactive.perl:593
-#, c-format
-msgid ""
-"Prompt help:\n"
-"1          - select a numbered item\n"
-"foo        - select item based on unique prefix\n"
-"           - (empty) select nothing\n"
-msgstr ""
-
-#: builtin/clean.c:330 git-add--interactive.perl:602
-#, c-format
-msgid ""
-"Prompt help:\n"
-"1          - select a single item\n"
-"3-5        - select a range of items\n"
-"2-3,6-9    - select multiple ranges\n"
-"foo        - select item based on unique prefix\n"
-"-...       - unselect specified items\n"
-"*          - choose all items\n"
-"           - (empty) finish selecting\n"
-msgstr ""
-
-#: builtin/clean.c:545 git-add--interactive.perl:568
-#: git-add--interactive.perl:573
-#, c-format, perl-format
-msgid "Huh (%s)?\n"
-msgstr ""
-
-#: builtin/clean.c:685
-#, c-format
-msgid "Input ignore patterns>> "
-msgstr ""
-
-#: builtin/clean.c:719
-#, c-format
-msgid "WARNING: Cannot find items matched by: %s"
-msgstr ""
-
-#: builtin/clean.c:740
-msgid "Select items to delete"
-msgstr ""
-
-#. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:781
-#, c-format
-msgid "Remove %s [y/N]? "
-msgstr ""
-
-#: builtin/clean.c:812
-msgid ""
-"clean               - start cleaning\n"
-"filter by pattern   - exclude items from deletion\n"
-"select by numbers   - select items to be deleted by numbers\n"
-"ask each            - confirm each deletion (like \"rm -i\")\n"
-"quit                - stop cleaning\n"
-"help                - this screen\n"
-"?                   - help for prompt selection"
-msgstr ""
-
-#: builtin/clean.c:848
-msgid "Would remove the following item:"
-msgid_plural "Would remove the following items:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/clean.c:864
-msgid "No more files to clean, exiting."
-msgstr ""
-
-#: builtin/clean.c:926
-msgid "do not print names of files removed"
-msgstr ""
-
-#: builtin/clean.c:928
-msgid "force"
-msgstr ""
-
-#: builtin/clean.c:929
-msgid "interactive cleaning"
-msgstr ""
-
-#: builtin/clean.c:931
-msgid "remove whole directories"
-msgstr ""
-
-#: builtin/clean.c:932 builtin/describe.c:565 builtin/describe.c:567
-#: builtin/grep.c:938 builtin/log.c:185 builtin/log.c:187
-#: builtin/ls-files.c:651 builtin/name-rev.c:585 builtin/name-rev.c:587
-#: builtin/show-ref.c:179
-msgid "pattern"
-msgstr ""
-
-#: builtin/clean.c:933
-msgid "add <pattern> to ignore rules"
-msgstr ""
-
-#: builtin/clean.c:934
-msgid "remove ignored files, too"
-msgstr ""
-
-#: builtin/clean.c:936
-msgid "remove only ignored files"
-msgstr ""
-
-#: builtin/clean.c:951
-msgid ""
-"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
-"clean"
-msgstr ""
-
-#: builtin/clean.c:954
-msgid ""
-"clean.requireForce defaults to true and neither -i, -n, nor -f given; "
-"refusing to clean"
-msgstr ""
-
-#: builtin/clean.c:966
-msgid "-x and -X cannot be used together"
-msgstr ""
-
-#: builtin/clone.c:47
-msgid "git clone [<options>] [--] <repo> [<dir>]"
-msgstr ""
-
-#: builtin/clone.c:100
-msgid "don't clone shallow repository"
-msgstr ""
-
-#: builtin/clone.c:102
-msgid "don't create a checkout"
-msgstr ""
-
-#: builtin/clone.c:103 builtin/clone.c:105 builtin/init-db.c:542
-msgid "create a bare repository"
-msgstr ""
-
-#: builtin/clone.c:107
-msgid "create a mirror repository (implies bare)"
-msgstr ""
-
-#: builtin/clone.c:109
-msgid "to clone from a local repository"
-msgstr ""
-
-#: builtin/clone.c:111
-msgid "don't use local hardlinks, always copy"
-msgstr ""
-
-#: builtin/clone.c:113
-msgid "setup as shared repository"
-msgstr ""
-
-#: builtin/clone.c:115
-msgid "pathspec"
-msgstr ""
-
-#: builtin/clone.c:115
-msgid "initialize submodules in the clone"
-msgstr ""
-
-#: builtin/clone.c:119
-msgid "number of submodules cloned in parallel"
-msgstr ""
-
-#: builtin/clone.c:120 builtin/init-db.c:539
-msgid "template-directory"
-msgstr ""
-
-#: builtin/clone.c:121 builtin/init-db.c:540
-msgid "directory from which templates will be used"
-msgstr ""
-
-#: builtin/clone.c:123 builtin/clone.c:125 builtin/submodule--helper.c:1885
-#: builtin/submodule--helper.c:2719 builtin/submodule--helper.c:3378
-msgid "reference repository"
-msgstr ""
-
-#: builtin/clone.c:127 builtin/submodule--helper.c:1887
-#: builtin/submodule--helper.c:2721
-msgid "use --reference only while cloning"
-msgstr ""
-
-#: builtin/clone.c:128 builtin/column.c:27 builtin/fmt-merge-msg.c:27
-#: builtin/init-db.c:550 builtin/merge-file.c:48 builtin/merge.c:290
-#: builtin/pack-objects.c:3967 builtin/repack.c:669
-#: builtin/submodule--helper.c:3380 t/helper/test-simple-ipc.c:595
-#: t/helper/test-simple-ipc.c:597
-msgid "name"
-msgstr ""
-
-#: builtin/clone.c:129
-msgid "use <name> instead of 'origin' to track upstream"
-msgstr ""
-
-#: builtin/clone.c:131
-msgid "checkout <branch> instead of the remote's HEAD"
-msgstr ""
-
-#: builtin/clone.c:133
-msgid "path to git-upload-pack on the remote"
-msgstr ""
-
-#: builtin/clone.c:134 builtin/fetch.c:182 builtin/grep.c:877
-#: builtin/pull.c:212
-msgid "depth"
-msgstr ""
-
-#: builtin/clone.c:135
-msgid "create a shallow clone of that depth"
-msgstr ""
-
-#: builtin/clone.c:136 builtin/fetch.c:184 builtin/pack-objects.c:3956
-#: builtin/pull.c:215
-msgid "time"
-msgstr ""
-
-#: builtin/clone.c:137
-msgid "create a shallow clone since a specific time"
-msgstr ""
-
-#: builtin/clone.c:138 builtin/fetch.c:186 builtin/fetch.c:212
-#: builtin/pull.c:218 builtin/pull.c:243 builtin/rebase.c:1050
-msgid "revision"
-msgstr ""
-
-#: builtin/clone.c:139 builtin/fetch.c:187 builtin/pull.c:219
-msgid "deepen history of shallow clone, excluding rev"
-msgstr ""
-
-#: builtin/clone.c:141 builtin/submodule--helper.c:1897
-#: builtin/submodule--helper.c:2735
-msgid "clone only one branch, HEAD or --branch"
-msgstr ""
-
-#: builtin/clone.c:143
-msgid "don't clone any tags, and make later fetches not to follow them"
-msgstr ""
-
-#: builtin/clone.c:145
-msgid "any cloned submodules will be shallow"
-msgstr ""
-
-#: builtin/clone.c:146 builtin/init-db.c:548
-msgid "gitdir"
-msgstr ""
-
-#: builtin/clone.c:147 builtin/init-db.c:549
-msgid "separate git dir from working tree"
-msgstr ""
-
-#: builtin/clone.c:148
-msgid "key=value"
-msgstr ""
-
-#: builtin/clone.c:149
-msgid "set config inside the new repository"
-msgstr ""
-
-#: builtin/clone.c:151 builtin/fetch.c:207 builtin/ls-remote.c:77
-#: builtin/pull.c:234 builtin/push.c:575 builtin/send-pack.c:200
-msgid "server-specific"
-msgstr ""
-
-#: builtin/clone.c:151 builtin/fetch.c:207 builtin/ls-remote.c:77
-#: builtin/pull.c:235 builtin/push.c:575 builtin/send-pack.c:201
-msgid "option to transmit"
-msgstr ""
-
-#: builtin/clone.c:152 builtin/fetch.c:208 builtin/pull.c:238
-#: builtin/push.c:576
-msgid "use IPv4 addresses only"
-msgstr ""
-
-#: builtin/clone.c:154 builtin/fetch.c:210 builtin/pull.c:241
-#: builtin/push.c:578
-msgid "use IPv6 addresses only"
-msgstr ""
-
-#: builtin/clone.c:158
-msgid "apply partial clone filters to submodules"
-msgstr ""
-
-#: builtin/clone.c:160
-msgid "any cloned submodules will use their remote-tracking branch"
-msgstr ""
-
-#: builtin/clone.c:162
-msgid "initialize sparse-checkout file to include only files at root"
-msgstr ""
-
-#: builtin/clone.c:237
-#, c-format
-msgid "info: Could not add alternate for '%s': %s\n"
-msgstr ""
-
-#: builtin/clone.c:310
-#, c-format
-msgid "%s exists and is not a directory"
-msgstr ""
-
-#: builtin/clone.c:328
-#, c-format
-msgid "failed to start iterator over '%s'"
-msgstr ""
-
-#: builtin/clone.c:359
-#, c-format
-msgid "failed to create link '%s'"
-msgstr ""
-
-#: builtin/clone.c:363
-#, c-format
-msgid "failed to copy file to '%s'"
-msgstr ""
-
-#: builtin/clone.c:368
-#, c-format
-msgid "failed to iterate over '%s'"
-msgstr ""
-
-#: builtin/clone.c:395
-#, c-format
-msgid "done.\n"
-msgstr ""
-
-#: builtin/clone.c:409
-msgid ""
-"Clone succeeded, but checkout failed.\n"
-"You can inspect what was checked out with 'git status'\n"
-"and retry with 'git restore --source=HEAD :/'\n"
-msgstr ""
-
-#: builtin/clone.c:486
-#, c-format
-msgid "Could not find remote branch %s to clone."
-msgstr ""
-
-#: builtin/clone.c:603
-#, c-format
-msgid "unable to update %s"
-msgstr ""
-
-#: builtin/clone.c:651
-msgid "failed to initialize sparse-checkout"
-msgstr ""
-
-#: builtin/clone.c:674
-msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
-msgstr ""
-
-#: builtin/clone.c:709
-msgid "unable to checkout working tree"
-msgstr ""
-
-#: builtin/clone.c:793
-msgid "unable to write parameters to config file"
-msgstr ""
-
-#: builtin/clone.c:856
-msgid "cannot repack to clean up"
-msgstr ""
-
-#: builtin/clone.c:858
-msgid "cannot unlink temporary alternates file"
-msgstr ""
-
-#: builtin/clone.c:901
-msgid "Too many arguments."
-msgstr ""
-
-#: builtin/clone.c:905 contrib/scalar/scalar.c:413
-msgid "You must specify a repository to clone."
-msgstr ""
-
-#: builtin/clone.c:918
-#, c-format
-msgid "options '%s' and '%s %s' cannot be used together"
-msgstr ""
-
-#: builtin/clone.c:935
-#, c-format
-msgid "repository '%s' does not exist"
-msgstr ""
-
-#: builtin/clone.c:939 builtin/fetch.c:2176
-#, c-format
-msgid "depth %s is not a positive number"
-msgstr ""
-
-#: builtin/clone.c:949
-#, c-format
-msgid "destination path '%s' already exists and is not an empty directory."
-msgstr ""
-
-#: builtin/clone.c:955
-#, c-format
-msgid "repository path '%s' already exists and is not an empty directory."
-msgstr ""
-
-#: builtin/clone.c:969
-#, c-format
-msgid "working tree '%s' already exists."
-msgstr ""
-
-#: builtin/clone.c:984 builtin/clone.c:1005 builtin/difftool.c:256
-#: builtin/log.c:2037 builtin/worktree.c:350 builtin/worktree.c:382
-#, c-format
-msgid "could not create leading directories of '%s'"
-msgstr ""
-
-#: builtin/clone.c:989
-#, c-format
-msgid "could not create work tree dir '%s'"
-msgstr ""
-
-#: builtin/clone.c:1009
-#, c-format
-msgid "Cloning into bare repository '%s'...\n"
-msgstr ""
-
-#: builtin/clone.c:1011
-#, c-format
-msgid "Cloning into '%s'...\n"
-msgstr ""
-
-#: builtin/clone.c:1040
-msgid ""
-"clone --recursive is not compatible with both --reference and --reference-if-"
-"able"
-msgstr ""
-
-#: builtin/clone.c:1116 builtin/remote.c:201 builtin/remote.c:721
-#, c-format
-msgid "'%s' is not a valid remote name"
-msgstr ""
-
-#: builtin/clone.c:1157
-msgid "--depth is ignored in local clones; use file:// instead."
-msgstr ""
-
-#: builtin/clone.c:1159
-msgid "--shallow-since is ignored in local clones; use file:// instead."
-msgstr ""
-
-#: builtin/clone.c:1161
-msgid "--shallow-exclude is ignored in local clones; use file:// instead."
-msgstr ""
-
-#: builtin/clone.c:1163
-msgid "--filter is ignored in local clones; use file:// instead."
-msgstr ""
-
-#: builtin/clone.c:1168
-msgid "source repository is shallow, ignoring --local"
-msgstr ""
-
-#: builtin/clone.c:1173
-msgid "--local is ignored"
-msgstr ""
-
-#: builtin/clone.c:1185
-msgid "cannot clone from filtered bundle"
-msgstr ""
-
-#: builtin/clone.c:1265 builtin/clone.c:1324
-msgid "remote transport reported error"
-msgstr ""
-
-#: builtin/clone.c:1277 builtin/clone.c:1289
-#, c-format
-msgid "Remote branch %s not found in upstream %s"
-msgstr ""
-
-#: builtin/clone.c:1292
-msgid "You appear to have cloned an empty repository."
-msgstr ""
-
-#: builtin/column.c:10
-msgid "git column [<options>]"
-msgstr ""
-
-#: builtin/column.c:27
-msgid "lookup config vars"
-msgstr ""
-
-#: builtin/column.c:28 builtin/column.c:29
-msgid "layout to use"
-msgstr ""
-
-#: builtin/column.c:30
-msgid "maximum width"
-msgstr ""
-
-#: builtin/column.c:31
-msgid "padding space on left border"
-msgstr ""
-
-#: builtin/column.c:32
-msgid "padding space on right border"
-msgstr ""
-
-#: builtin/column.c:33
-msgid "padding space between columns"
-msgstr ""
-
-#: builtin/column.c:51
-msgid "--command must be the first argument"
-msgstr ""
-
-#: builtin/commit-graph.c:13
-msgid ""
-"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
-msgstr ""
-
-#: builtin/commit-graph.c:16
-msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--"
-"split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split options>"
-msgstr ""
-
-#: builtin/commit-graph.c:51 builtin/fetch.c:196 builtin/log.c:1813
-msgid "dir"
-msgstr ""
-
-#: builtin/commit-graph.c:52
-msgid "the object directory to store the graph"
-msgstr ""
-
-#: builtin/commit-graph.c:73
-msgid "if the commit-graph is split, only verify the tip file"
-msgstr ""
-
-#: builtin/commit-graph.c:100
-#, c-format
-msgid "Could not open commit-graph '%s'"
-msgstr ""
-
-#: builtin/commit-graph.c:137
-#, c-format
-msgid "unrecognized --split argument, %s"
-msgstr ""
-
-#: builtin/commit-graph.c:150
-#, c-format
-msgid "unexpected non-hex object ID: %s"
-msgstr ""
-
-#: builtin/commit-graph.c:155
-#, c-format
-msgid "invalid object: %s"
-msgstr ""
-
-#: builtin/commit-graph.c:205
-msgid "start walk at all refs"
-msgstr ""
-
-#: builtin/commit-graph.c:207
-msgid "scan pack-indexes listed by stdin for commits"
-msgstr ""
-
-#: builtin/commit-graph.c:209
-msgid "start walk at commits listed by stdin"
-msgstr ""
-
-#: builtin/commit-graph.c:211
-msgid "include all commits already in the commit-graph file"
-msgstr ""
-
-#: builtin/commit-graph.c:213
-msgid "enable computation for changed paths"
-msgstr ""
-
-#: builtin/commit-graph.c:215
-msgid "allow writing an incremental commit-graph file"
-msgstr ""
-
-#: builtin/commit-graph.c:219
-msgid "maximum number of commits in a non-base split commit-graph"
-msgstr ""
-
-#: builtin/commit-graph.c:221
-msgid "maximum ratio between two levels of a split commit-graph"
-msgstr ""
-
-#: builtin/commit-graph.c:223
-msgid "only expire files older than a given date-time"
-msgstr ""
-
-#: builtin/commit-graph.c:225
-msgid "maximum number of changed-path Bloom filters to compute"
-msgstr ""
-
-#: builtin/commit-graph.c:251
-msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
-msgstr ""
-
-#: builtin/commit-graph.c:282
-msgid "Collecting commits from input"
-msgstr ""
-
-#: builtin/commit-graph.c:328 builtin/multi-pack-index.c:259
-#, c-format
-msgid "unrecognized subcommand: %s"
-msgstr ""
-
-#: builtin/commit-tree.c:18
-msgid ""
-"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
-"<file>)...] <tree>"
-msgstr ""
-
-#: builtin/commit-tree.c:31
-#, c-format
-msgid "duplicate parent %s ignored"
-msgstr ""
-
-#: builtin/commit-tree.c:56 builtin/commit-tree.c:134 builtin/log.c:590
-#, c-format
-msgid "not a valid object name %s"
-msgstr ""
-
-#: builtin/commit-tree.c:94
-#, c-format
-msgid "git commit-tree: failed to read '%s'"
-msgstr ""
-
-#: builtin/commit-tree.c:96
-#, c-format
-msgid "git commit-tree: failed to close '%s'"
-msgstr ""
-
-#: builtin/commit-tree.c:109
-msgid "parent"
-msgstr ""
-
-#: builtin/commit-tree.c:110
-msgid "id of a parent commit object"
-msgstr ""
-
-#: builtin/commit-tree.c:112 builtin/commit.c:1626 builtin/merge.c:284
-#: builtin/notes.c:407 builtin/notes.c:573 builtin/stash.c:1666
-#: builtin/tag.c:455
-msgid "message"
-msgstr ""
-
-#: builtin/commit-tree.c:113 builtin/commit.c:1626
-msgid "commit message"
-msgstr ""
-
-#: builtin/commit-tree.c:116
-msgid "read commit log message from file"
-msgstr ""
-
-#: builtin/commit-tree.c:119 builtin/commit.c:1643 builtin/merge.c:303
-#: builtin/pull.c:180 builtin/revert.c:118
-msgid "GPG sign commit"
-msgstr ""
-
-#: builtin/commit-tree.c:131
-msgid "must give exactly one tree"
-msgstr ""
-
-#: builtin/commit-tree.c:138
-msgid "git commit-tree: failed to read"
-msgstr ""
-
-#: builtin/commit.c:43
-msgid "git commit [<options>] [--] <pathspec>..."
-msgstr ""
-
-#: builtin/commit.c:48
-msgid "git status [<options>] [--] <pathspec>..."
-msgstr ""
-
-#: builtin/commit.c:53
-msgid ""
-"You asked to amend the most recent commit, but doing so would make\n"
-"it empty. You can repeat your command with --allow-empty, or you can\n"
-"remove the commit entirely with \"git reset HEAD^\".\n"
-msgstr ""
-
-#: builtin/commit.c:58
-msgid ""
-"The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
-"If you wish to commit it anyway, use:\n"
-"\n"
-"    git commit --allow-empty\n"
-"\n"
-msgstr ""
-
-#: builtin/commit.c:65
-msgid "Otherwise, please use 'git rebase --skip'\n"
-msgstr ""
-
-#: builtin/commit.c:68
-msgid "Otherwise, please use 'git cherry-pick --skip'\n"
-msgstr ""
-
-#: builtin/commit.c:71
-msgid ""
-"and then use:\n"
-"\n"
-"    git cherry-pick --continue\n"
-"\n"
-"to resume cherry-picking the remaining commits.\n"
-"If you wish to skip this commit, use:\n"
-"\n"
-"    git cherry-pick --skip\n"
-"\n"
-msgstr ""
-
-#: builtin/commit.c:326
-msgid "failed to unpack HEAD tree object"
-msgstr ""
-
-#: builtin/commit.c:376
-msgid "No paths with --include/--only does not make sense."
-msgstr ""
-
-#: builtin/commit.c:388
-msgid "unable to create temporary index"
-msgstr ""
-
-#: builtin/commit.c:397
-msgid "interactive add failed"
-msgstr ""
-
-#: builtin/commit.c:412
-msgid "unable to update temporary index"
-msgstr ""
-
-#: builtin/commit.c:414
-msgid "Failed to update main cache tree"
-msgstr ""
-
-#: builtin/commit.c:439 builtin/commit.c:462 builtin/commit.c:510
-msgid "unable to write new_index file"
-msgstr ""
-
-#: builtin/commit.c:491
-msgid "cannot do a partial commit during a merge."
-msgstr ""
-
-#: builtin/commit.c:493
-msgid "cannot do a partial commit during a cherry-pick."
-msgstr ""
-
-#: builtin/commit.c:495
-msgid "cannot do a partial commit during a rebase."
-msgstr ""
-
-#: builtin/commit.c:503
-msgid "cannot read the index"
-msgstr ""
-
-#: builtin/commit.c:522
-msgid "unable to write temporary index file"
-msgstr ""
-
-#: builtin/commit.c:620
-#, c-format
-msgid "commit '%s' lacks author header"
-msgstr ""
-
-#: builtin/commit.c:622
-#, c-format
-msgid "commit '%s' has malformed author line"
-msgstr ""
-
-#: builtin/commit.c:641
-msgid "malformed --author parameter"
-msgstr ""
-
-#: builtin/commit.c:694
-msgid ""
-"unable to select a comment character that is not used\n"
-"in the current commit message"
-msgstr ""
-
-#: builtin/commit.c:750 builtin/commit.c:784 builtin/commit.c:1170
-#, c-format
-msgid "could not lookup commit %s"
-msgstr ""
-
-#: builtin/commit.c:762 builtin/shortlog.c:417
-#, c-format
-msgid "(reading log message from standard input)\n"
-msgstr ""
-
-#: builtin/commit.c:764
-msgid "could not read log from standard input"
-msgstr ""
-
-#: builtin/commit.c:768
-#, c-format
-msgid "could not read log file '%s'"
-msgstr ""
-
-#: builtin/commit.c:805
-#, c-format
-msgid "options '%s' and '%s:%s' cannot be used together"
-msgstr ""
-
-#: builtin/commit.c:817 builtin/commit.c:833
-msgid "could not read SQUASH_MSG"
-msgstr ""
-
-#: builtin/commit.c:824
-msgid "could not read MERGE_MSG"
-msgstr ""
-
-#: builtin/commit.c:884
-msgid "could not write commit template"
-msgstr ""
-
-#: builtin/commit.c:897
-#, c-format
-msgid ""
-"Please enter the commit message for your changes. Lines starting\n"
-"with '%c' will be ignored.\n"
-msgstr ""
-
-#: builtin/commit.c:899
-#, c-format
-msgid ""
-"Please enter the commit message for your changes. Lines starting\n"
-"with '%c' will be ignored, and an empty message aborts the commit.\n"
-msgstr ""
-
-#: builtin/commit.c:903
-#, c-format
-msgid ""
-"Please enter the commit message for your changes. Lines starting\n"
-"with '%c' will be kept; you may remove them yourself if you want to.\n"
-msgstr ""
-
-#: builtin/commit.c:907
-#, c-format
-msgid ""
-"Please enter the commit message for your changes. Lines starting\n"
-"with '%c' will be kept; you may remove them yourself if you want to.\n"
-"An empty message aborts the commit.\n"
-msgstr ""
-
-#: builtin/commit.c:919
-msgid ""
-"\n"
-"It looks like you may be committing a merge.\n"
-"If this is not correct, please run\n"
-"\tgit update-ref -d MERGE_HEAD\n"
-"and try again.\n"
-msgstr ""
-
-#: builtin/commit.c:924
-msgid ""
-"\n"
-"It looks like you may be committing a cherry-pick.\n"
-"If this is not correct, please run\n"
-"\tgit update-ref -d CHERRY_PICK_HEAD\n"
-"and try again.\n"
-msgstr ""
-
-#: builtin/commit.c:951
-#, c-format
-msgid "%sAuthor:    %.*s <%.*s>"
-msgstr ""
-
-#: builtin/commit.c:959
-#, c-format
-msgid "%sDate:      %s"
-msgstr ""
-
-#: builtin/commit.c:966
-#, c-format
-msgid "%sCommitter: %.*s <%.*s>"
-msgstr ""
-
-#: builtin/commit.c:984
-msgid "Cannot read index"
-msgstr ""
-
-#: builtin/commit.c:1029
-msgid "unable to pass trailers to --trailers"
-msgstr ""
-
-#: builtin/commit.c:1069
-msgid "Error building trees"
-msgstr ""
-
-#: builtin/commit.c:1083 builtin/tag.c:317
-#, c-format
-msgid "Please supply the message using either -m or -F option.\n"
-msgstr ""
-
-#: builtin/commit.c:1128
-#, c-format
-msgid "--author '%s' is not 'Name <email>' and matches no existing author"
-msgstr ""
-
-#: builtin/commit.c:1142
-#, c-format
-msgid "Invalid ignored mode '%s'"
-msgstr ""
-
-#: builtin/commit.c:1160 builtin/commit.c:1450
-#, c-format
-msgid "Invalid untracked files mode '%s'"
-msgstr ""
-
-#: builtin/commit.c:1231
-msgid "You are in the middle of a merge -- cannot reword."
-msgstr ""
-
-#: builtin/commit.c:1233
-msgid "You are in the middle of a cherry-pick -- cannot reword."
-msgstr ""
-
-#: builtin/commit.c:1236
-#, c-format
-msgid "reword option of '%s' and path '%s' cannot be used together"
-msgstr ""
-
-#: builtin/commit.c:1238
-#, c-format
-msgid "reword option of '%s' and '%s' cannot be used together"
-msgstr ""
-
-#: builtin/commit.c:1263
-msgid "You have nothing to amend."
-msgstr ""
-
-#: builtin/commit.c:1266
-msgid "You are in the middle of a merge -- cannot amend."
-msgstr ""
-
-#: builtin/commit.c:1268
-msgid "You are in the middle of a cherry-pick -- cannot amend."
-msgstr ""
-
-#: builtin/commit.c:1270
-msgid "You are in the middle of a rebase -- cannot amend."
-msgstr ""
-
-#: builtin/commit.c:1290
-msgid "--reset-author can be used only with -C, -c or --amend."
-msgstr ""
-
-#: builtin/commit.c:1337
-#, c-format
-msgid "unknown option: --fixup=%s:%s"
-msgstr ""
-
-#: builtin/commit.c:1354
-#, c-format
-msgid "paths '%s ...' with -a does not make sense"
-msgstr ""
-
-#: builtin/commit.c:1485 builtin/commit.c:1654
-msgid "show status concisely"
-msgstr ""
-
-#: builtin/commit.c:1487 builtin/commit.c:1656
-msgid "show branch information"
-msgstr ""
-
-#: builtin/commit.c:1489
-msgid "show stash information"
-msgstr ""
-
-#: builtin/commit.c:1491 builtin/commit.c:1658
-msgid "compute full ahead/behind values"
-msgstr ""
-
-#: builtin/commit.c:1493
-msgid "version"
-msgstr ""
-
-#: builtin/commit.c:1493 builtin/commit.c:1660 builtin/push.c:551
-#: builtin/worktree.c:765
-msgid "machine-readable output"
-msgstr ""
-
-#: builtin/commit.c:1496 builtin/commit.c:1662
-msgid "show status in long format (default)"
-msgstr ""
-
-#: builtin/commit.c:1499 builtin/commit.c:1665
-msgid "terminate entries with NUL"
-msgstr ""
-
-#: builtin/commit.c:1501 builtin/commit.c:1505 builtin/commit.c:1668
-#: builtin/fast-export.c:1172 builtin/fast-export.c:1175
-#: builtin/fast-export.c:1178 builtin/rebase.c:1139 parse-options.h:368
-msgid "mode"
-msgstr ""
-
-#: builtin/commit.c:1502 builtin/commit.c:1668
-msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
-msgstr ""
-
-#: builtin/commit.c:1506
-msgid ""
-"show ignored files, optional modes: traditional, matching, no. (Default: "
-"traditional)"
-msgstr ""
-
-#: builtin/commit.c:1508 parse-options.h:197
-msgid "when"
-msgstr ""
-
-#: builtin/commit.c:1509
-msgid ""
-"ignore changes to submodules, optional when: all, dirty, untracked. "
-"(Default: all)"
-msgstr ""
-
-#: builtin/commit.c:1511
-msgid "list untracked files in columns"
-msgstr ""
-
-#: builtin/commit.c:1512
-msgid "do not detect renames"
-msgstr ""
-
-#: builtin/commit.c:1514
-msgid "detect renames, optionally set similarity index"
-msgstr ""
-
-#: builtin/commit.c:1537
-msgid "Unsupported combination of ignored and untracked-files arguments"
-msgstr ""
-
-#: builtin/commit.c:1619
-msgid "suppress summary after successful commit"
-msgstr ""
-
-#: builtin/commit.c:1620
-msgid "show diff in commit message template"
-msgstr ""
-
-#: builtin/commit.c:1622
-msgid "Commit message options"
-msgstr ""
-
-#: builtin/commit.c:1623 builtin/merge.c:288 builtin/tag.c:457
-msgid "read message from file"
-msgstr ""
-
-#: builtin/commit.c:1624
-msgid "author"
-msgstr ""
-
-#: builtin/commit.c:1624
-msgid "override author for commit"
-msgstr ""
-
-#: builtin/commit.c:1625 builtin/gc.c:551
-msgid "date"
-msgstr ""
-
-#: builtin/commit.c:1625
-msgid "override date for commit"
-msgstr ""
-
-#: builtin/commit.c:1627 builtin/commit.c:1628 builtin/commit.c:1634
-#: parse-options.h:360 ref-filter.h:89
-msgid "commit"
-msgstr ""
-
-#: builtin/commit.c:1627
-msgid "reuse and edit message from specified commit"
-msgstr ""
-
-#: builtin/commit.c:1628
-msgid "reuse message from specified commit"
-msgstr ""
-
-#. TRANSLATORS: Leave "[(amend|reword):]" as-is,
-#. and only translate <commit>.
-#.
-#: builtin/commit.c:1633
-msgid "[(amend|reword):]commit"
-msgstr ""
-
-#: builtin/commit.c:1633
-msgid ""
-"use autosquash formatted message to fixup or amend/reword specified commit"
-msgstr ""
-
-#: builtin/commit.c:1634
-msgid "use autosquash formatted message to squash specified commit"
-msgstr ""
-
-#: builtin/commit.c:1635
-msgid "the commit is authored by me now (used with -C/-c/--amend)"
-msgstr ""
-
-#: builtin/commit.c:1636 builtin/interpret-trailers.c:111
-msgid "trailer"
-msgstr ""
-
-#: builtin/commit.c:1636
-msgid "add custom trailer(s)"
-msgstr ""
-
-#: builtin/commit.c:1637 builtin/log.c:1788 builtin/merge.c:306
-#: builtin/pull.c:146 builtin/revert.c:110
-msgid "add a Signed-off-by trailer"
-msgstr ""
-
-#: builtin/commit.c:1638
-msgid "use specified template file"
-msgstr ""
-
-#: builtin/commit.c:1639
-msgid "force edit of commit"
-msgstr ""
-
-#: builtin/commit.c:1641
-msgid "include status in commit message template"
-msgstr ""
-
-#: builtin/commit.c:1646
-msgid "Commit contents options"
-msgstr ""
-
-#: builtin/commit.c:1647
-msgid "commit all changed files"
-msgstr ""
-
-#: builtin/commit.c:1648
-msgid "add specified files to index for commit"
-msgstr ""
-
-#: builtin/commit.c:1649
-msgid "interactively add files"
-msgstr ""
-
-#: builtin/commit.c:1650
-msgid "interactively add changes"
-msgstr ""
-
-#: builtin/commit.c:1651
-msgid "commit only specified files"
-msgstr ""
-
-#: builtin/commit.c:1652
-msgid "bypass pre-commit and commit-msg hooks"
-msgstr ""
-
-#: builtin/commit.c:1653
-msgid "show what would be committed"
-msgstr ""
-
-#: builtin/commit.c:1666
-msgid "amend previous commit"
-msgstr ""
-
-#: builtin/commit.c:1667
-msgid "bypass post-rewrite hook"
-msgstr ""
-
-#: builtin/commit.c:1674
-msgid "ok to record an empty change"
-msgstr ""
-
-#: builtin/commit.c:1676
-msgid "ok to record a change with an empty message"
-msgstr ""
-
-#: builtin/commit.c:1752
-#, c-format
-msgid "Corrupt MERGE_HEAD file (%s)"
-msgstr ""
-
-#: builtin/commit.c:1759
-msgid "could not read MERGE_MODE"
-msgstr ""
-
-#: builtin/commit.c:1780
-#, c-format
-msgid "could not read commit message: %s"
-msgstr ""
-
-#: builtin/commit.c:1787
-#, c-format
-msgid "Aborting commit due to empty commit message.\n"
-msgstr ""
-
-#: builtin/commit.c:1792
-#, c-format
-msgid "Aborting commit; you did not edit the message.\n"
-msgstr ""
-
-#: builtin/commit.c:1803
-#, c-format
-msgid "Aborting commit due to empty commit message body.\n"
-msgstr ""
-
-#: builtin/commit.c:1839
-msgid ""
-"repository has been updated, but unable to write\n"
-"new_index file. Check that disk is not full and quota is\n"
-"not exceeded, and then \"git restore --staged :/\" to recover."
-msgstr ""
-
-#: builtin/config.c:11
-msgid "git config [<options>]"
-msgstr ""
-
-#: builtin/config.c:109 builtin/env--helper.c:27
-#, c-format
-msgid "unrecognized --type argument, %s"
-msgstr ""
-
-#: builtin/config.c:121
-msgid "only one type at a time"
-msgstr ""
-
-#: builtin/config.c:130
-msgid "Config file location"
-msgstr ""
-
-#: builtin/config.c:131
-msgid "use global config file"
-msgstr ""
-
-#: builtin/config.c:132
-msgid "use system config file"
-msgstr ""
-
-#: builtin/config.c:133
-msgid "use repository config file"
-msgstr ""
-
-#: builtin/config.c:134
-msgid "use per-worktree config file"
-msgstr ""
-
-#: builtin/config.c:135
-msgid "use given config file"
-msgstr ""
-
-#: builtin/config.c:136
-msgid "blob-id"
-msgstr ""
-
-#: builtin/config.c:136
-msgid "read config from given blob object"
-msgstr ""
-
-#: builtin/config.c:137
-msgid "Action"
-msgstr ""
-
-#: builtin/config.c:138
-msgid "get value: name [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:139
-msgid "get all values: key [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:140
-msgid "get values for regexp: name-regex [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:141
-msgid "get value specific for the URL: section[.var] URL"
-msgstr ""
-
-#: builtin/config.c:142
-msgid "replace all matching variables: name value [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:143
-msgid "add a new variable: name value"
-msgstr ""
-
-#: builtin/config.c:144
-msgid "remove a variable: name [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:145
-msgid "remove all matches: name [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:146
-msgid "rename section: old-name new-name"
-msgstr ""
-
-#: builtin/config.c:147
-msgid "remove a section: name"
-msgstr ""
-
-#: builtin/config.c:148
-msgid "list all"
-msgstr ""
-
-#: builtin/config.c:149
-msgid "use string equality when comparing values to 'value-pattern'"
-msgstr ""
-
-#: builtin/config.c:150
-msgid "open an editor"
-msgstr ""
-
-#: builtin/config.c:151
-msgid "find the color configured: slot [default]"
-msgstr ""
-
-#: builtin/config.c:152
-msgid "find the color setting: slot [stdout-is-tty]"
-msgstr ""
-
-#: builtin/config.c:153
-msgid "Type"
-msgstr ""
-
-#: builtin/config.c:154 builtin/env--helper.c:42 builtin/hash-object.c:97
-msgid "type"
-msgstr ""
-
-#: builtin/config.c:154 builtin/env--helper.c:43
-msgid "value is given this type"
-msgstr ""
-
-#: builtin/config.c:155
-msgid "value is \"true\" or \"false\""
-msgstr ""
-
-#: builtin/config.c:156
-msgid "value is decimal number"
-msgstr ""
-
-#: builtin/config.c:157
-msgid "value is --bool or --int"
-msgstr ""
-
-#: builtin/config.c:158
-msgid "value is --bool or string"
-msgstr ""
-
-#: builtin/config.c:159
-msgid "value is a path (file or directory name)"
-msgstr ""
-
-#: builtin/config.c:160
-msgid "value is an expiry date"
-msgstr ""
-
-#: builtin/config.c:161
-msgid "Other"
-msgstr ""
-
-#: builtin/config.c:162
-msgid "terminate values with NUL byte"
-msgstr ""
-
-#: builtin/config.c:163
-msgid "show variable names only"
-msgstr ""
-
-#: builtin/config.c:164
-msgid "respect include directives on lookup"
-msgstr ""
-
-#: builtin/config.c:165
-msgid "show origin of config (file, standard input, blob, command line)"
-msgstr ""
-
-#: builtin/config.c:166
-msgid "show scope of config (worktree, local, global, system, command)"
-msgstr ""
-
-#: builtin/config.c:167 builtin/env--helper.c:45
-msgid "value"
-msgstr ""
-
-#: builtin/config.c:167
-msgid "with --get, use default value when missing entry"
-msgstr ""
-
-#: builtin/config.c:181
-#, c-format
-msgid "wrong number of arguments, should be %d"
-msgstr ""
-
-#: builtin/config.c:183
-#, c-format
-msgid "wrong number of arguments, should be from %d to %d"
-msgstr ""
-
-#: builtin/config.c:339
-#, c-format
-msgid "invalid key pattern: %s"
-msgstr ""
-
-#: builtin/config.c:377
-#, c-format
-msgid "failed to format default config value: %s"
-msgstr ""
-
-#: builtin/config.c:441
-#, c-format
-msgid "cannot parse color '%s'"
-msgstr ""
-
-#: builtin/config.c:483
-msgid "unable to parse default color value"
-msgstr ""
-
-#: builtin/config.c:536 builtin/config.c:833
-msgid "not in a git directory"
-msgstr ""
-
-#: builtin/config.c:539
-msgid "writing to stdin is not supported"
-msgstr ""
-
-#: builtin/config.c:542
-msgid "writing config blobs is not supported"
-msgstr ""
-
-#: builtin/config.c:627
-#, c-format
-msgid ""
-"# This is Git's per-user configuration file.\n"
-"[user]\n"
-"# Please adapt and uncomment the following lines:\n"
-"#\tname = %s\n"
-"#\temail = %s\n"
-msgstr ""
-
-#: builtin/config.c:652
-msgid "only one config file at a time"
-msgstr ""
-
-#: builtin/config.c:658
-msgid "--local can only be used inside a git repository"
-msgstr ""
-
-#: builtin/config.c:660
-msgid "--blob can only be used inside a git repository"
-msgstr ""
-
-#: builtin/config.c:662
-msgid "--worktree can only be used inside a git repository"
-msgstr ""
-
-#: builtin/config.c:684
-msgid "$HOME not set"
-msgstr ""
-
-#: builtin/config.c:708
-msgid ""
-"--worktree cannot be used with multiple working trees unless the config\n"
-"extension worktreeConfig is enabled. Please read \"CONFIGURATION FILE\"\n"
-"section in \"git help worktree\" for details"
-msgstr ""
-
-#: builtin/config.c:743
-msgid "--get-color and variable type are incoherent"
-msgstr ""
-
-#: builtin/config.c:748
-msgid "only one action at a time"
-msgstr ""
-
-#: builtin/config.c:761
-msgid "--name-only is only applicable to --list or --get-regexp"
-msgstr ""
-
-#: builtin/config.c:767
-msgid ""
-"--show-origin is only applicable to --get, --get-all, --get-regexp, and --"
-"list"
-msgstr ""
-
-#: builtin/config.c:773
-msgid "--default is only applicable to --get"
-msgstr ""
-
-#: builtin/config.c:806
-msgid "--fixed-value only applies with 'value-pattern'"
-msgstr ""
-
-#: builtin/config.c:822
-#, c-format
-msgid "unable to read config file '%s'"
-msgstr ""
-
-#: builtin/config.c:825
-msgid "error processing config file(s)"
-msgstr ""
-
-#: builtin/config.c:835
-msgid "editing stdin is not supported"
-msgstr ""
-
-#: builtin/config.c:837
-msgid "editing blobs is not supported"
-msgstr ""
-
-#: builtin/config.c:851
-#, c-format
-msgid "cannot create configuration file %s"
-msgstr ""
-
-#: builtin/config.c:864
-#, c-format
-msgid ""
-"cannot overwrite multiple values with a single value\n"
-"       Use a regexp, --add or --replace-all to change %s."
-msgstr ""
-
-#: builtin/config.c:943 builtin/config.c:954
-#, c-format
-msgid "no such section: %s"
-msgstr ""
-
-#: builtin/count-objects.c:100
-msgid "print sizes in human readable format"
-msgstr ""
-
-#: builtin/credential-cache--daemon.c:227
-#, c-format
-msgid ""
-"The permissions on your socket directory are too loose; other\n"
-"users may be able to read your cached credentials. Consider running:\n"
-"\n"
-"\tchmod 0700 %s"
-msgstr ""
-
-#: builtin/credential-cache--daemon.c:276
-msgid "print debugging messages to stderr"
-msgstr ""
-
-#: builtin/credential-cache--daemon.c:316
-msgid "credential-cache--daemon unavailable; no unix socket support"
-msgstr ""
-
-#: builtin/credential-cache.c:180
-msgid "credential-cache unavailable; no unix socket support"
-msgstr ""
-
-#: builtin/credential-store.c:66
-#, c-format
-msgid "unable to get credential storage lock in %d ms"
-msgstr ""
-
-#: builtin/describe.c:26
-msgid "git describe [<options>] [<commit-ish>...]"
-msgstr ""
-
-#: builtin/describe.c:27
-msgid "git describe [<options>] --dirty"
-msgstr ""
-
-#: builtin/describe.c:63
-msgid "head"
-msgstr ""
-
-#: builtin/describe.c:63
-msgid "lightweight"
-msgstr ""
-
-#: builtin/describe.c:63
-msgid "annotated"
-msgstr ""
-
-#: builtin/describe.c:277
-#, c-format
-msgid "annotated tag %s not available"
-msgstr ""
-
-#: builtin/describe.c:281
-#, c-format
-msgid "tag '%s' is externally known as '%s'"
-msgstr ""
-
-#: builtin/describe.c:328
-#, c-format
-msgid "no tag exactly matches '%s'"
-msgstr ""
-
-#: builtin/describe.c:330
-#, c-format
-msgid "No exact match on refs or tags, searching to describe\n"
-msgstr ""
-
-#: builtin/describe.c:397
-#, c-format
-msgid "finished search at %s\n"
-msgstr ""
-
-#: builtin/describe.c:424
-#, c-format
-msgid ""
-"No annotated tags can describe '%s'.\n"
-"However, there were unannotated tags: try --tags."
-msgstr ""
-
-#: builtin/describe.c:428
-#, c-format
-msgid ""
-"No tags can describe '%s'.\n"
-"Try --always, or create some tags."
-msgstr ""
-
-#: builtin/describe.c:458
-#, c-format
-msgid "traversed %lu commits\n"
-msgstr ""
-
-#: builtin/describe.c:461
-#, c-format
-msgid ""
-"more than %i tags found; listed %i most recent\n"
-"gave up search at %s\n"
-msgstr ""
-
-#: builtin/describe.c:529
-#, c-format
-msgid "describe %s\n"
-msgstr ""
-
-#: builtin/describe.c:532
-#, c-format
-msgid "Not a valid object name %s"
-msgstr ""
-
-#: builtin/describe.c:540
-#, c-format
-msgid "%s is neither a commit nor blob"
-msgstr ""
-
-#: builtin/describe.c:554
-msgid "find the tag that comes after the commit"
-msgstr ""
-
-#: builtin/describe.c:555
-msgid "debug search strategy on stderr"
-msgstr ""
-
-#: builtin/describe.c:556
-msgid "use any ref"
-msgstr ""
-
-#: builtin/describe.c:557
-msgid "use any tag, even unannotated"
-msgstr ""
-
-#: builtin/describe.c:558
-msgid "always use long format"
-msgstr ""
-
-#: builtin/describe.c:559
-msgid "only follow first parent"
-msgstr ""
-
-#: builtin/describe.c:562
-msgid "only output exact matches"
-msgstr ""
-
-#: builtin/describe.c:564
-msgid "consider <n> most recent tags (default: 10)"
-msgstr ""
-
-#: builtin/describe.c:566
-msgid "only consider tags matching <pattern>"
-msgstr ""
-
-#: builtin/describe.c:568
-msgid "do not consider tags matching <pattern>"
-msgstr ""
-
-#: builtin/describe.c:570 builtin/name-rev.c:595
-msgid "show abbreviated commit object as fallback"
-msgstr ""
-
-#: builtin/describe.c:571 builtin/describe.c:574
-msgid "mark"
-msgstr ""
-
-#: builtin/describe.c:572
-msgid "append <mark> on dirty working tree (default: \"-dirty\")"
-msgstr ""
-
-#: builtin/describe.c:575
-msgid "append <mark> on broken working tree (default: \"-broken\")"
-msgstr ""
-
-#: builtin/describe.c:622
-msgid "No names found, cannot describe anything."
-msgstr ""
-
-#: builtin/describe.c:673 builtin/describe.c:675
-#, c-format
-msgid "option '%s' and commit-ishes cannot be used together"
-msgstr ""
-
-#: builtin/diff-tree.c:157
-msgid "--merge-base only works with two commits"
-msgstr ""
-
-#: builtin/diff.c:92
-#, c-format
-msgid "'%s': not a regular file or symlink"
-msgstr ""
-
-#: builtin/diff.c:259
-#, c-format
-msgid "invalid option: %s"
-msgstr ""
-
-#: builtin/diff.c:376
-#, c-format
-msgid "%s...%s: no merge base"
-msgstr ""
-
-#: builtin/diff.c:491
-msgid "Not a git repository"
-msgstr ""
-
-#: builtin/diff.c:537 builtin/grep.c:700
-#, c-format
-msgid "invalid object '%s' given."
-msgstr ""
-
-#: builtin/diff.c:548
-#, c-format
-msgid "more than two blobs given: '%s'"
-msgstr ""
-
-#: builtin/diff.c:553
-#, c-format
-msgid "unhandled object '%s' given."
-msgstr ""
-
-#: builtin/diff.c:587
-#, c-format
-msgid "%s...%s: multiple merge bases, using %s"
-msgstr ""
-
-#: builtin/difftool.c:31
-msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
-msgstr ""
-
-#: builtin/difftool.c:287
-#, c-format
-msgid "could not read symlink %s"
-msgstr ""
-
-#: builtin/difftool.c:289
-#, c-format
-msgid "could not read symlink file %s"
-msgstr ""
-
-#: builtin/difftool.c:297
-#, c-format
-msgid "could not read object %s for symlink %s"
-msgstr ""
-
-#: builtin/difftool.c:421
-msgid ""
-"combined diff formats ('-c' and '--cc') are not supported in\n"
-"directory diff mode ('-d' and '--dir-diff')."
-msgstr ""
-
-#: builtin/difftool.c:626
-#, c-format
-msgid "both files modified: '%s' and '%s'."
-msgstr ""
-
-#: builtin/difftool.c:628
-msgid "working tree file has been left."
-msgstr ""
-
-#: builtin/difftool.c:639
-#, c-format
-msgid "temporary files exist in '%s'."
-msgstr ""
-
-#: builtin/difftool.c:640
-msgid "you may want to cleanup or recover these."
-msgstr ""
-
-#: builtin/difftool.c:645
-#, c-format
-msgid "failed: %d"
-msgstr ""
-
-#: builtin/difftool.c:690
-msgid "use `diff.guitool` instead of `diff.tool`"
-msgstr ""
-
-#: builtin/difftool.c:692
-msgid "perform a full-directory diff"
-msgstr ""
-
-#: builtin/difftool.c:694
-msgid "do not prompt before launching a diff tool"
-msgstr ""
-
-#: builtin/difftool.c:699
-msgid "use symlinks in dir-diff mode"
-msgstr ""
-
-#: builtin/difftool.c:700
-msgid "tool"
-msgstr ""
-
-#: builtin/difftool.c:701
-msgid "use the specified diff tool"
-msgstr ""
-
-#: builtin/difftool.c:703
-msgid "print a list of diff tools that may be used with `--tool`"
-msgstr ""
-
-#: builtin/difftool.c:706
-msgid ""
-"make 'git-difftool' exit when an invoked diff tool returns a non-zero exit "
-"code"
-msgstr ""
-
-#: builtin/difftool.c:709
-msgid "specify a custom command for viewing diffs"
-msgstr ""
-
-#: builtin/difftool.c:710
-msgid "passed to `diff`"
-msgstr ""
-
-#: builtin/difftool.c:726
-msgid "difftool requires worktree or --no-index"
-msgstr ""
-
-#: builtin/difftool.c:745
-msgid "no <tool> given for --tool=<tool>"
-msgstr ""
-
-#: builtin/difftool.c:752
-msgid "no <cmd> given for --extcmd=<cmd>"
-msgstr ""
-
-#: builtin/env--helper.c:6
-msgid "git env--helper --type=[bool|ulong] <options> <env-var>"
-msgstr ""
-
-#: builtin/env--helper.c:46
-msgid "default for git_env_*(...) to fall back on"
-msgstr ""
-
-#: builtin/env--helper.c:48
-msgid "be quiet only use git_env_*() value as exit code"
-msgstr ""
-
-#: builtin/env--helper.c:67
-#, c-format
-msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`"
-msgstr ""
-
-#: builtin/env--helper.c:82
-#, c-format
-msgid ""
-"option `--default' expects an unsigned long value with `--type=ulong`, not `"
-"%s`"
-msgstr ""
-
-#: builtin/fast-export.c:29
-msgid "git fast-export [<rev-list-opts>]"
-msgstr ""
-
-#: builtin/fast-export.c:843
-msgid "Error: Cannot export nested tags unless --mark-tags is specified."
-msgstr ""
-
-#: builtin/fast-export.c:1152
-msgid "--anonymize-map token cannot be empty"
-msgstr ""
-
-#: builtin/fast-export.c:1171
-msgid "show progress after <n> objects"
-msgstr ""
-
-#: builtin/fast-export.c:1173
-msgid "select handling of signed tags"
-msgstr ""
-
-#: builtin/fast-export.c:1176
-msgid "select handling of tags that tag filtered objects"
-msgstr ""
-
-#: builtin/fast-export.c:1179
-msgid "select handling of commit messages in an alternate encoding"
-msgstr ""
-
-#: builtin/fast-export.c:1182
-msgid "dump marks to this file"
-msgstr ""
-
-#: builtin/fast-export.c:1184
-msgid "import marks from this file"
-msgstr ""
-
-#: builtin/fast-export.c:1188
-msgid "import marks from this file if it exists"
-msgstr ""
-
-#: builtin/fast-export.c:1190
-msgid "fake a tagger when tags lack one"
-msgstr ""
-
-#: builtin/fast-export.c:1192
-msgid "output full tree for each commit"
-msgstr ""
-
-#: builtin/fast-export.c:1194
-msgid "use the done feature to terminate the stream"
-msgstr ""
-
-#: builtin/fast-export.c:1195
-msgid "skip output of blob data"
-msgstr ""
-
-#: builtin/fast-export.c:1196 builtin/log.c:1860
-msgid "refspec"
-msgstr ""
-
-#: builtin/fast-export.c:1197
-msgid "apply refspec to exported refs"
-msgstr ""
-
-#: builtin/fast-export.c:1198
-msgid "anonymize output"
-msgstr ""
-
-#: builtin/fast-export.c:1199
-msgid "from:to"
-msgstr ""
-
-#: builtin/fast-export.c:1200
-msgid "convert <from> to <to> in anonymized output"
-msgstr ""
-
-#: builtin/fast-export.c:1203
-msgid "reference parents which are not in fast-export stream by object id"
-msgstr ""
-
-#: builtin/fast-export.c:1205
-msgid "show original object ids of blobs/commits"
-msgstr ""
-
-#: builtin/fast-export.c:1207
-msgid "label tags with mark ids"
-msgstr ""
-
-#: builtin/fast-import.c:3097
-#, c-format
-msgid "Missing from marks for submodule '%s'"
-msgstr ""
-
-#: builtin/fast-import.c:3099
-#, c-format
-msgid "Missing to marks for submodule '%s'"
-msgstr ""
-
-#: builtin/fast-import.c:3234
-#, c-format
-msgid "Expected 'mark' command, got %s"
-msgstr ""
-
-#: builtin/fast-import.c:3239
-#, c-format
-msgid "Expected 'to' command, got %s"
-msgstr ""
-
-#: builtin/fast-import.c:3331
-msgid "Expected format name:filename for submodule rewrite option"
-msgstr ""
-
-#: builtin/fast-import.c:3386
-#, c-format
-msgid "feature '%s' forbidden in input without --allow-unsafe-features"
-msgstr ""
-
-#: builtin/fetch-pack.c:246
-#, c-format
-msgid "Lockfile created but not reported: %s"
-msgstr ""
-
-#: builtin/fetch.c:36
-msgid "git fetch [<options>] [<repository> [<refspec>...]]"
-msgstr ""
-
-#: builtin/fetch.c:37
-msgid "git fetch [<options>] <group>"
-msgstr ""
-
-#: builtin/fetch.c:38
-msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
-msgstr ""
-
-#: builtin/fetch.c:39
-msgid "git fetch --all [<options>]"
-msgstr ""
-
-#: builtin/fetch.c:124
-msgid "fetch.parallel cannot be negative"
-msgstr ""
-
-#: builtin/fetch.c:147 builtin/pull.c:189
-msgid "fetch from all remotes"
-msgstr ""
-
-#: builtin/fetch.c:149 builtin/pull.c:249
-msgid "set upstream for git pull/fetch"
-msgstr ""
-
-#: builtin/fetch.c:151 builtin/pull.c:192
-msgid "append to .git/FETCH_HEAD instead of overwriting"
-msgstr ""
-
-#: builtin/fetch.c:153
-msgid "use atomic transaction to update references"
-msgstr ""
-
-#: builtin/fetch.c:155 builtin/pull.c:195
-msgid "path to upload pack on remote end"
-msgstr ""
-
-#: builtin/fetch.c:156
-msgid "force overwrite of local reference"
-msgstr ""
-
-#: builtin/fetch.c:158
-msgid "fetch from multiple remotes"
-msgstr ""
-
-#: builtin/fetch.c:160 builtin/pull.c:199
-msgid "fetch all tags and associated objects"
-msgstr ""
-
-#: builtin/fetch.c:162
-msgid "do not fetch all tags (--no-tags)"
-msgstr ""
-
-#: builtin/fetch.c:164
-msgid "number of submodules fetched in parallel"
-msgstr ""
-
-#: builtin/fetch.c:166
-msgid "modify the refspec to place all refs within refs/prefetch/"
-msgstr ""
-
-#: builtin/fetch.c:168 builtin/pull.c:202
-msgid "prune remote-tracking branches no longer on remote"
-msgstr ""
-
-#: builtin/fetch.c:170
-msgid "prune local tags no longer on remote and clobber changed tags"
-msgstr ""
-
-#: builtin/fetch.c:171 builtin/fetch.c:199 builtin/pull.c:123
-msgid "on-demand"
-msgstr ""
-
-#: builtin/fetch.c:172
-msgid "control recursive fetching of submodules"
-msgstr ""
-
-#: builtin/fetch.c:177
-msgid "write fetched references to the FETCH_HEAD file"
-msgstr ""
-
-#: builtin/fetch.c:178 builtin/pull.c:210
-msgid "keep downloaded pack"
-msgstr ""
-
-#: builtin/fetch.c:180
-msgid "allow updating of HEAD ref"
-msgstr ""
-
-#: builtin/fetch.c:183 builtin/fetch.c:189 builtin/pull.c:213
-#: builtin/pull.c:222
-msgid "deepen history of shallow clone"
-msgstr ""
-
-#: builtin/fetch.c:185 builtin/pull.c:216
-msgid "deepen history of shallow repository based on time"
-msgstr ""
-
-#: builtin/fetch.c:191 builtin/pull.c:225
-msgid "convert to a complete repository"
-msgstr ""
-
-#: builtin/fetch.c:194
-msgid "re-fetch without negotiating common commits"
-msgstr ""
-
-#: builtin/fetch.c:197
-msgid "prepend this to submodule path output"
-msgstr ""
-
-#: builtin/fetch.c:200
-msgid ""
-"default for recursive fetching of submodules (lower priority than config "
-"files)"
-msgstr ""
-
-#: builtin/fetch.c:204 builtin/pull.c:228
-msgid "accept refs that update .git/shallow"
-msgstr ""
-
-#: builtin/fetch.c:205 builtin/pull.c:230
-msgid "refmap"
-msgstr ""
-
-#: builtin/fetch.c:206 builtin/pull.c:231
-msgid "specify fetch refmap"
-msgstr ""
-
-#: builtin/fetch.c:213 builtin/pull.c:244
-msgid "report that we have only objects reachable from this object"
-msgstr ""
-
-#: builtin/fetch.c:215
-msgid "do not fetch a packfile; instead, print ancestors of negotiation tips"
-msgstr ""
-
-#: builtin/fetch.c:218 builtin/fetch.c:220
-msgid "run 'maintenance --auto' after fetching"
-msgstr ""
-
-#: builtin/fetch.c:222 builtin/pull.c:247
-msgid "check for forced-updates on all updated branches"
-msgstr ""
-
-#: builtin/fetch.c:224
-msgid "write the commit-graph after fetching"
-msgstr ""
-
-#: builtin/fetch.c:226
-msgid "accept refspecs from stdin"
-msgstr ""
-
-#: builtin/fetch.c:618
-msgid "couldn't find remote ref HEAD"
-msgstr ""
-
-#: builtin/fetch.c:893
-#, c-format
-msgid "object %s not found"
-msgstr ""
-
-#: builtin/fetch.c:897
-msgid "[up to date]"
-msgstr ""
-
-#: builtin/fetch.c:909 builtin/fetch.c:927 builtin/fetch.c:999
-msgid "[rejected]"
-msgstr ""
-
-#: builtin/fetch.c:911
-msgid "can't fetch in current branch"
-msgstr ""
-
-#: builtin/fetch.c:912
-msgid "checked out in another worktree"
-msgstr ""
-
-#: builtin/fetch.c:922
-msgid "[tag update]"
-msgstr ""
-
-#: builtin/fetch.c:923 builtin/fetch.c:960 builtin/fetch.c:982
-#: builtin/fetch.c:994
-msgid "unable to update local ref"
-msgstr ""
-
-#: builtin/fetch.c:927
-msgid "would clobber existing tag"
-msgstr ""
-
-#: builtin/fetch.c:949
-msgid "[new tag]"
-msgstr ""
-
-#: builtin/fetch.c:952
-msgid "[new branch]"
-msgstr ""
-
-#: builtin/fetch.c:955
-msgid "[new ref]"
-msgstr ""
-
-#: builtin/fetch.c:994
-msgid "forced update"
-msgstr ""
-
-#: builtin/fetch.c:999
-msgid "non-fast-forward"
-msgstr ""
-
-#: builtin/fetch.c:1102
-msgid ""
-"fetch normally indicates which branches had a forced update,\n"
-"but that check has been disabled; to re-enable, use '--show-forced-updates'\n"
-"flag or run 'git config fetch.showForcedUpdates true'"
-msgstr ""
-
-#: builtin/fetch.c:1106
-#, c-format
-msgid ""
-"it took %.2f seconds to check forced updates; you can use\n"
-"'--no-show-forced-updates' or run 'git config fetch.showForcedUpdates "
-"false'\n"
-"to avoid this check\n"
-msgstr ""
-
-#: builtin/fetch.c:1136
-#, c-format
-msgid "%s did not send all necessary objects\n"
-msgstr ""
-
-#: builtin/fetch.c:1156
-#, c-format
-msgid "rejected %s because shallow roots are not allowed to be updated"
-msgstr ""
-
-#: builtin/fetch.c:1259 builtin/fetch.c:1418
-#, c-format
-msgid "From %.*s\n"
-msgstr ""
-
-#: builtin/fetch.c:1269
-#, c-format
-msgid ""
-"some local refs could not be updated; try running\n"
-" 'git remote prune %s' to remove any old, conflicting branches"
-msgstr ""
-
-#: builtin/fetch.c:1377
-#, c-format
-msgid "   (%s will become dangling)"
-msgstr ""
-
-#: builtin/fetch.c:1378
-#, c-format
-msgid "   (%s has become dangling)"
-msgstr ""
-
-#: builtin/fetch.c:1421
-msgid "[deleted]"
-msgstr ""
-
-#: builtin/fetch.c:1422 builtin/remote.c:1153
-msgid "(none)"
-msgstr ""
-
-#: builtin/fetch.c:1446
-#, c-format
-msgid "refusing to fetch into branch '%s' checked out at '%s'"
-msgstr ""
-
-#: builtin/fetch.c:1466
-#, c-format
-msgid "option \"%s\" value \"%s\" is not valid for %s"
-msgstr ""
-
-#: builtin/fetch.c:1469
-#, c-format
-msgid "option \"%s\" is ignored for %s\n"
-msgstr ""
-
-#: builtin/fetch.c:1496
-#, c-format
-msgid "the object %s does not exist"
-msgstr ""
-
-#: builtin/fetch.c:1748
-msgid "multiple branches detected, incompatible with --set-upstream"
-msgstr ""
-
-#: builtin/fetch.c:1760
-#, c-format
-msgid ""
-"could not set upstream of HEAD to '%s' from '%s' when it does not point to "
-"any branch."
-msgstr ""
-
-#: builtin/fetch.c:1773
-msgid "not setting upstream for a remote remote-tracking branch"
-msgstr ""
-
-#: builtin/fetch.c:1775
-msgid "not setting upstream for a remote tag"
-msgstr ""
-
-#: builtin/fetch.c:1777
-msgid "unknown branch type"
-msgstr ""
-
-#: builtin/fetch.c:1779
-msgid ""
-"no source branch found;\n"
-"you need to specify exactly one branch with the --set-upstream option"
-msgstr ""
-
-#: builtin/fetch.c:1904 builtin/fetch.c:1967
-#, c-format
-msgid "Fetching %s\n"
-msgstr ""
-
-#: builtin/fetch.c:1914 builtin/fetch.c:1969
-#, c-format
-msgid "could not fetch %s"
-msgstr ""
-
-#: builtin/fetch.c:1926
-#, c-format
-msgid "could not fetch '%s' (exit code: %d)\n"
-msgstr ""
-
-#: builtin/fetch.c:2030
-msgid ""
-"no remote repository specified; please specify either a URL or a\n"
-"remote name from which new revisions should be fetched"
-msgstr ""
-
-#: builtin/fetch.c:2066
-msgid "you need to specify a tag name"
-msgstr ""
-
-#: builtin/fetch.c:2156
-msgid "--negotiate-only needs one or more --negotiation-tip=*"
-msgstr ""
-
-#: builtin/fetch.c:2160
-msgid "negative depth in --deepen is not supported"
-msgstr ""
-
-#: builtin/fetch.c:2169
-msgid "--unshallow on a complete repository does not make sense"
-msgstr ""
-
-#: builtin/fetch.c:2186
-msgid "fetch --all does not take a repository argument"
-msgstr ""
-
-#: builtin/fetch.c:2188
-msgid "fetch --all does not make sense with refspecs"
-msgstr ""
-
-#: builtin/fetch.c:2197
-#, c-format
-msgid "no such remote or remote group: %s"
-msgstr ""
-
-#: builtin/fetch.c:2205
-msgid "fetching a group and specifying refspecs does not make sense"
-msgstr ""
-
-#: builtin/fetch.c:2221
-msgid "must supply remote when using --negotiate-only"
-msgstr ""
-
-#: builtin/fetch.c:2226
-msgid "protocol does not support --negotiate-only, exiting"
-msgstr ""
-
-#: builtin/fetch.c:2246
-msgid ""
-"--filter can only be used with the remote configured in extensions."
-"partialclone"
-msgstr ""
-
-#: builtin/fetch.c:2250
-msgid "--atomic can only be used when fetching from one remote"
-msgstr ""
-
-#: builtin/fetch.c:2254
-msgid "--stdin can only be used when fetching from one remote"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:7
-msgid ""
-"git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:19
-msgid "populate log with at most <n> entries from shortlog"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:22
-msgid "alias for --log (deprecated)"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:25
-msgid "text"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:26
-msgid "use <text> as start of message"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:28
-msgid "use <name> instead of the real target branch"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:29
-msgid "file to read from"
-msgstr ""
-
-#: builtin/for-each-ref.c:10
-msgid "git for-each-ref [<options>] [<pattern>]"
-msgstr ""
-
-#: builtin/for-each-ref.c:11
-msgid "git for-each-ref [--points-at <object>]"
-msgstr ""
-
-#: builtin/for-each-ref.c:12
-msgid "git for-each-ref [--merged [<commit>]] [--no-merged [<commit>]]"
-msgstr ""
-
-#: builtin/for-each-ref.c:13
-msgid "git for-each-ref [--contains [<commit>]] [--no-contains [<commit>]]"
-msgstr ""
-
-#: builtin/for-each-ref.c:31
-msgid "quote placeholders suitably for shells"
-msgstr ""
-
-#: builtin/for-each-ref.c:33
-msgid "quote placeholders suitably for perl"
-msgstr ""
-
-#: builtin/for-each-ref.c:35
-msgid "quote placeholders suitably for python"
-msgstr ""
-
-#: builtin/for-each-ref.c:37
-msgid "quote placeholders suitably for Tcl"
-msgstr ""
-
-#: builtin/for-each-ref.c:40
-msgid "show only <n> matched refs"
-msgstr ""
-
-#: builtin/for-each-ref.c:42 builtin/tag.c:482
-msgid "respect format colors"
-msgstr ""
-
-#: builtin/for-each-ref.c:45
-msgid "print only refs which points at the given object"
-msgstr ""
-
-#: builtin/for-each-ref.c:47
-msgid "print only refs that are merged"
-msgstr ""
-
-#: builtin/for-each-ref.c:48
-msgid "print only refs that are not merged"
-msgstr ""
-
-#: builtin/for-each-ref.c:49
-msgid "print only refs which contain the commit"
-msgstr ""
-
-#: builtin/for-each-ref.c:50
-msgid "print only refs which don't contain the commit"
-msgstr ""
-
-#: builtin/for-each-repo.c:9
-msgid "git for-each-repo --config=<config> <command-args>"
-msgstr ""
-
-#: builtin/for-each-repo.c:34
-msgid "config"
-msgstr ""
-
-#: builtin/for-each-repo.c:35
-msgid "config key storing a list of repository paths"
-msgstr ""
-
-#: builtin/for-each-repo.c:43
-msgid "missing --config=<config>"
-msgstr ""
-
-#: builtin/fsck.c:69 builtin/fsck.c:128 builtin/fsck.c:129
-msgid "unknown"
-msgstr ""
-
-#. TRANSLATORS: e.g. error in tree 01bfda: <more explanation>
-#: builtin/fsck.c:78 builtin/fsck.c:100
-#, c-format
-msgid "error in %s %s: %s"
-msgstr ""
-
-#. TRANSLATORS: e.g. warning in tree 01bfda: <more explanation>
-#: builtin/fsck.c:94
-#, c-format
-msgid "warning in %s %s: %s"
-msgstr ""
-
-#: builtin/fsck.c:124 builtin/fsck.c:127
-#, c-format
-msgid "broken link from %7s %s"
-msgstr ""
-
-#: builtin/fsck.c:136
-msgid "wrong object type in link"
-msgstr ""
-
-#: builtin/fsck.c:152
-#, c-format
-msgid ""
-"broken link from %7s %s\n"
-"              to %7s %s"
-msgstr ""
-
-#: builtin/fsck.c:264
-#, c-format
-msgid "missing %s %s"
-msgstr ""
-
-#: builtin/fsck.c:291
-#, c-format
-msgid "unreachable %s %s"
-msgstr ""
-
-#: builtin/fsck.c:311
-#, c-format
-msgid "dangling %s %s"
-msgstr ""
-
-#: builtin/fsck.c:321
-msgid "could not create lost-found"
-msgstr ""
-
-#: builtin/fsck.c:332
-#, c-format
-msgid "could not finish '%s'"
-msgstr ""
-
-#: builtin/fsck.c:349
-#, c-format
-msgid "Checking %s"
-msgstr ""
-
-#: builtin/fsck.c:387
-#, c-format
-msgid "Checking connectivity (%d objects)"
-msgstr ""
-
-#: builtin/fsck.c:406
-#, c-format
-msgid "Checking %s %s"
-msgstr ""
-
-#: builtin/fsck.c:411
-msgid "broken links"
-msgstr ""
-
-#: builtin/fsck.c:420
-#, c-format
-msgid "root %s"
-msgstr ""
-
-#: builtin/fsck.c:428
-#, c-format
-msgid "tagged %s %s (%s) in %s"
-msgstr ""
-
-#: builtin/fsck.c:457
-#, c-format
-msgid "%s: object corrupt or missing"
-msgstr ""
-
-#: builtin/fsck.c:482
-#, c-format
-msgid "%s: invalid reflog entry %s"
-msgstr ""
-
-#: builtin/fsck.c:496
-#, c-format
-msgid "Checking reflog %s->%s"
-msgstr ""
-
-#: builtin/fsck.c:530
-#, c-format
-msgid "%s: invalid sha1 pointer %s"
-msgstr ""
-
-#: builtin/fsck.c:537
-#, c-format
-msgid "%s: not a commit"
-msgstr ""
-
-#: builtin/fsck.c:591
-msgid "notice: No default references"
-msgstr ""
-
-#: builtin/fsck.c:621
-#, c-format
-msgid "%s: hash-path mismatch, found at: %s"
-msgstr ""
-
-#: builtin/fsck.c:624
-#, c-format
-msgid "%s: object corrupt or missing: %s"
-msgstr ""
-
-#: builtin/fsck.c:628
-#, c-format
-msgid "%s: object is of unknown type '%s': %s"
-msgstr ""
-
-#: builtin/fsck.c:645
-#, c-format
-msgid "%s: object could not be parsed: %s"
-msgstr ""
-
-#: builtin/fsck.c:665
-#, c-format
-msgid "bad sha1 file: %s"
-msgstr ""
-
-#: builtin/fsck.c:686
-msgid "Checking object directory"
-msgstr ""
-
-#: builtin/fsck.c:689
-msgid "Checking object directories"
-msgstr ""
-
-#: builtin/fsck.c:705
-#, c-format
-msgid "Checking %s link"
-msgstr ""
-
-#: builtin/fsck.c:710 builtin/index-pack.c:862
-#, c-format
-msgid "invalid %s"
-msgstr ""
-
-#: builtin/fsck.c:717
-#, c-format
-msgid "%s points to something strange (%s)"
-msgstr ""
-
-#: builtin/fsck.c:723
-#, c-format
-msgid "%s: detached HEAD points at nothing"
-msgstr ""
-
-#: builtin/fsck.c:727
-#, c-format
-msgid "notice: %s points to an unborn branch (%s)"
-msgstr ""
-
-#: builtin/fsck.c:739
-msgid "Checking cache tree"
-msgstr ""
-
-#: builtin/fsck.c:744
-#, c-format
-msgid "%s: invalid sha1 pointer in cache-tree"
-msgstr ""
-
-#: builtin/fsck.c:753
-msgid "non-tree in cache-tree"
-msgstr ""
-
-#: builtin/fsck.c:784
-msgid "git fsck [<options>] [<object>...]"
-msgstr ""
-
-#: builtin/fsck.c:790
-msgid "show unreachable objects"
-msgstr ""
-
-#: builtin/fsck.c:791
-msgid "show dangling objects"
-msgstr ""
-
-#: builtin/fsck.c:792
-msgid "report tags"
-msgstr ""
-
-#: builtin/fsck.c:793
-msgid "report root nodes"
-msgstr ""
-
-#: builtin/fsck.c:794
-msgid "make index objects head nodes"
-msgstr ""
-
-#: builtin/fsck.c:795
-msgid "make reflogs head nodes (default)"
-msgstr ""
-
-#: builtin/fsck.c:796
-msgid "also consider packs and alternate objects"
-msgstr ""
-
-#: builtin/fsck.c:797
-msgid "check only connectivity"
-msgstr ""
-
-#: builtin/fsck.c:798 builtin/mktag.c:75
-msgid "enable more strict checking"
-msgstr ""
-
-#: builtin/fsck.c:800
-msgid "write dangling objects in .git/lost-found"
-msgstr ""
-
-#: builtin/fsck.c:801 builtin/prune.c:146
-msgid "show progress"
-msgstr ""
-
-#: builtin/fsck.c:802
-msgid "show verbose names for reachable objects"
-msgstr ""
-
-#: builtin/fsck.c:862 builtin/index-pack.c:261
-msgid "Checking objects"
-msgstr ""
-
-#: builtin/fsck.c:890
-#, c-format
-msgid "%s: object missing"
-msgstr ""
-
-#: builtin/fsck.c:901
-#, c-format
-msgid "invalid parameter: expected sha1, got '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:13
-msgid "git fsmonitor--daemon start [<options>]"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:14
-msgid "git fsmonitor--daemon run [<options>]"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:15
-msgid "git fsmonitor--daemon stop"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:16
-msgid "git fsmonitor--daemon status"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:38 builtin/fsmonitor--daemon.c:47
-#, c-format
-msgid "value of '%s' out of range: %d"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:57
-#, c-format
-msgid "value of '%s' not bool or int: %d"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:99
-#, c-format
-msgid "fsmonitor-daemon is watching '%s'\n"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:104
-#, c-format
-msgid "fsmonitor-daemon is not watching '%s'\n"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:170
-#, c-format
-msgid "could not create fsmonitor cookie '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:753
-#, c-format
-msgid "fsmonitor: cookie_result '%d' != SEEN"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1187
-#, c-format
-msgid "could not start IPC thread pool on '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1199
-msgid "could not start fsmonitor listener thread"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1297
-msgid "could not initialize listener thread"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1328 builtin/fsmonitor--daemon.c:1383
-#, c-format
-msgid "fsmonitor--daemon is already running '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1332
-#, c-format
-msgid "running fsmonitor-daemon in '%s'\n"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1387
-#, c-format
-msgid "starting fsmonitor-daemon in '%s'\n"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1413
-msgid "daemon failed to start"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1416
-msgid "daemon not online yet"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1419
-msgid "daemon terminated"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1429
-msgid "detach from console"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1432
-msgid "use <n> ipc worker threads"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1435
-msgid "max seconds to wait for background daemon startup"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1449
-#, c-format
-msgid "invalid 'ipc-threads' value (%d)"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1464
-#, c-format
-msgid "Unhandled subcommand '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1477
-msgid "fsmonitor--daemon not supported on this platform"
-msgstr ""
-
-#: builtin/gc.c:39
-msgid "git gc [<options>]"
-msgstr ""
-
-#: builtin/gc.c:93
-#, c-format
-msgid "Failed to fstat %s: %s"
-msgstr ""
-
-#: builtin/gc.c:129
-#, c-format
-msgid "failed to parse '%s' value '%s'"
-msgstr ""
-
-#: builtin/gc.c:488 builtin/init-db.c:57
-#, c-format
-msgid "cannot stat '%s'"
-msgstr ""
-
-#: builtin/gc.c:504
-#, c-format
-msgid ""
-"The last gc run reported the following. Please correct the root cause\n"
-"and remove %s\n"
-"Automatic cleanup will not be performed until the file is removed.\n"
-"\n"
-"%s"
-msgstr ""
-
-#: builtin/gc.c:552
-msgid "prune unreferenced objects"
-msgstr ""
-
-#: builtin/gc.c:554
-msgid "be more thorough (increased runtime)"
-msgstr ""
-
-#: builtin/gc.c:555
-msgid "enable auto-gc mode"
-msgstr ""
-
-#: builtin/gc.c:558
-msgid "force running gc even if there may be another gc running"
-msgstr ""
-
-#: builtin/gc.c:561
-msgid "repack all other packs except the largest pack"
-msgstr ""
-
-#: builtin/gc.c:577
-#, c-format
-msgid "failed to parse gc.logexpiry value %s"
-msgstr ""
-
-#: builtin/gc.c:588
-#, c-format
-msgid "failed to parse prune expiry value %s"
-msgstr ""
-
-#: builtin/gc.c:608
-#, c-format
-msgid "Auto packing the repository in background for optimum performance.\n"
-msgstr ""
-
-#: builtin/gc.c:610
-#, c-format
-msgid "Auto packing the repository for optimum performance.\n"
-msgstr ""
-
-#: builtin/gc.c:611
-#, c-format
-msgid "See \"git help gc\" for manual housekeeping.\n"
-msgstr ""
-
-#: builtin/gc.c:652
-#, c-format
-msgid ""
-"gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
-msgstr ""
-
-#: builtin/gc.c:707
-msgid ""
-"There are too many unreachable loose objects; run 'git prune' to remove them."
-msgstr ""
-
-#: builtin/gc.c:717
-msgid ""
-"git maintenance run [--auto] [--[no-]quiet] [--task=<task>] [--schedule]"
-msgstr ""
-
-#: builtin/gc.c:747
-msgid "--no-schedule is not allowed"
-msgstr ""
-
-#: builtin/gc.c:752
-#, c-format
-msgid "unrecognized --schedule argument '%s'"
-msgstr ""
-
-#: builtin/gc.c:870
-msgid "failed to write commit-graph"
-msgstr ""
-
-#: builtin/gc.c:906
-msgid "failed to prefetch remotes"
-msgstr ""
-
-#: builtin/gc.c:1022
-msgid "failed to start 'git pack-objects' process"
-msgstr ""
-
-#: builtin/gc.c:1039
-msgid "failed to finish 'git pack-objects' process"
-msgstr ""
-
-#: builtin/gc.c:1090
-msgid "failed to write multi-pack-index"
-msgstr ""
-
-#: builtin/gc.c:1106
-msgid "'git multi-pack-index expire' failed"
-msgstr ""
-
-#: builtin/gc.c:1165
-msgid "'git multi-pack-index repack' failed"
-msgstr ""
-
-#: builtin/gc.c:1174
-msgid ""
-"skipping incremental-repack task because core.multiPackIndex is disabled"
-msgstr ""
-
-#: builtin/gc.c:1278
-#, c-format
-msgid "lock file '%s' exists, skipping maintenance"
-msgstr ""
-
-#: builtin/gc.c:1308
-#, c-format
-msgid "task '%s' failed"
-msgstr ""
-
-#: builtin/gc.c:1390
-#, c-format
-msgid "'%s' is not a valid task"
-msgstr ""
-
-#: builtin/gc.c:1395
-#, c-format
-msgid "task '%s' cannot be selected multiple times"
-msgstr ""
-
-#: builtin/gc.c:1410
-msgid "run tasks based on the state of the repository"
-msgstr ""
-
-#: builtin/gc.c:1411
-msgid "frequency"
-msgstr ""
-
-#: builtin/gc.c:1412
-msgid "run tasks based on frequency"
-msgstr ""
-
-#: builtin/gc.c:1415
-msgid "do not report progress or other information over stderr"
-msgstr ""
-
-#: builtin/gc.c:1416
-msgid "task"
-msgstr ""
-
-#: builtin/gc.c:1417
-msgid "run a specific task"
-msgstr ""
-
-#: builtin/gc.c:1434
-msgid "use at most one of --auto and --schedule=<frequency>"
-msgstr ""
-
-#: builtin/gc.c:1477
-msgid "failed to run 'git config'"
-msgstr ""
-
-#: builtin/gc.c:1629
-#, c-format
-msgid "failed to expand path '%s'"
-msgstr ""
-
-#: builtin/gc.c:1656 builtin/gc.c:1694
-msgid "failed to start launchctl"
-msgstr ""
-
-#: builtin/gc.c:1769 builtin/gc.c:2237
-#, c-format
-msgid "failed to create directories for '%s'"
-msgstr ""
-
-#: builtin/gc.c:1796
-#, c-format
-msgid "failed to bootstrap service %s"
-msgstr ""
-
-#: builtin/gc.c:1889
-msgid "failed to create temp xml file"
-msgstr ""
-
-#: builtin/gc.c:1979
-msgid "failed to start schtasks"
-msgstr ""
-
-#: builtin/gc.c:2063
-msgid "failed to run 'crontab -l'; your system might not support 'cron'"
-msgstr ""
-
-#: builtin/gc.c:2080
-msgid "failed to run 'crontab'; your system might not support 'cron'"
-msgstr ""
-
-#: builtin/gc.c:2084
-msgid "failed to open stdin of 'crontab'"
-msgstr ""
-
-#: builtin/gc.c:2126
-msgid "'crontab' died"
-msgstr ""
-
-#: builtin/gc.c:2191
-msgid "failed to start systemctl"
-msgstr ""
-
-#: builtin/gc.c:2201
-msgid "failed to run systemctl"
-msgstr ""
-
-#: builtin/gc.c:2210 builtin/gc.c:2215 builtin/worktree.c:63
-#: builtin/worktree.c:1024
-#, c-format
-msgid "failed to delete '%s'"
-msgstr ""
-
-#: builtin/gc.c:2395
-#, c-format
-msgid "unrecognized --scheduler argument '%s'"
-msgstr ""
-
-#: builtin/gc.c:2420
-msgid "neither systemd timers nor crontab are available"
-msgstr ""
-
-#: builtin/gc.c:2435
-#, c-format
-msgid "%s scheduler is not available"
-msgstr ""
-
-#: builtin/gc.c:2449
-msgid "another process is scheduling background maintenance"
-msgstr ""
-
-#: builtin/gc.c:2471
-msgid "git maintenance start [--scheduler=<scheduler>]"
-msgstr ""
-
-#: builtin/gc.c:2480
-msgid "scheduler"
-msgstr ""
-
-#: builtin/gc.c:2481
-msgid "scheduler to trigger git maintenance run"
-msgstr ""
-
-#: builtin/gc.c:2495
-msgid "failed to add repo to global config"
-msgstr ""
-
-#: builtin/gc.c:2504
-msgid "git maintenance <subcommand> [<options>]"
-msgstr ""
-
-#: builtin/gc.c:2523
-#, c-format
-msgid "invalid subcommand: %s"
-msgstr ""
-
-#: builtin/grep.c:32
-msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
-msgstr ""
-
-#: builtin/grep.c:241
-#, c-format
-msgid "grep: failed to create thread: %s"
-msgstr ""
-
-#: builtin/grep.c:295
-#, c-format
-msgid "invalid number of threads specified (%d) for %s"
-msgstr ""
-
-#. TRANSLATORS: %s is the configuration
-#. variable for tweaking threads, currently
-#. grep.threads
-#.
-#: builtin/grep.c:303 builtin/index-pack.c:1587 builtin/index-pack.c:1791
-#: builtin/pack-objects.c:3150
-#, c-format
-msgid "no threads support, ignoring %s"
-msgstr ""
-
-#: builtin/grep.c:490 builtin/grep.c:619 builtin/grep.c:659
-#, c-format
-msgid "unable to read tree (%s)"
-msgstr ""
-
-#: builtin/grep.c:674
-#, c-format
-msgid "unable to grep from object of type %s"
-msgstr ""
-
-#: builtin/grep.c:754
-#, c-format
-msgid "switch `%c' expects a numerical value"
-msgstr ""
-
-#: builtin/grep.c:852
-msgid "search in index instead of in the work tree"
-msgstr ""
-
-#: builtin/grep.c:854
-msgid "find in contents not managed by git"
-msgstr ""
-
-#: builtin/grep.c:856
-msgid "search in both tracked and untracked files"
-msgstr ""
-
-#: builtin/grep.c:858
-msgid "ignore files specified via '.gitignore'"
-msgstr ""
-
-#: builtin/grep.c:860
-msgid "recursively search in each submodule"
-msgstr ""
-
-#: builtin/grep.c:863
-msgid "show non-matching lines"
-msgstr ""
-
-#: builtin/grep.c:865
-msgid "case insensitive matching"
-msgstr ""
-
-#: builtin/grep.c:867
-msgid "match patterns only at word boundaries"
-msgstr ""
-
-#: builtin/grep.c:869
-msgid "process binary files as text"
-msgstr ""
-
-#: builtin/grep.c:871
-msgid "don't match patterns in binary files"
-msgstr ""
-
-#: builtin/grep.c:874
-msgid "process binary files with textconv filters"
-msgstr ""
-
-#: builtin/grep.c:876
-msgid "search in subdirectories (default)"
-msgstr ""
-
-#: builtin/grep.c:878
-msgid "descend at most <depth> levels"
-msgstr ""
-
-#: builtin/grep.c:882
-msgid "use extended POSIX regular expressions"
-msgstr ""
-
-#: builtin/grep.c:885
-msgid "use basic POSIX regular expressions (default)"
-msgstr ""
-
-#: builtin/grep.c:888
-msgid "interpret patterns as fixed strings"
-msgstr ""
-
-#: builtin/grep.c:891
-msgid "use Perl-compatible regular expressions"
-msgstr ""
-
-#: builtin/grep.c:894
-msgid "show line numbers"
-msgstr ""
-
-#: builtin/grep.c:895
-msgid "show column number of first match"
-msgstr ""
-
-#: builtin/grep.c:896
-msgid "don't show filenames"
-msgstr ""
-
-#: builtin/grep.c:897
-msgid "show filenames"
-msgstr ""
-
-#: builtin/grep.c:899
-msgid "show filenames relative to top directory"
-msgstr ""
-
-#: builtin/grep.c:901
-msgid "show only filenames instead of matching lines"
-msgstr ""
-
-#: builtin/grep.c:903
-msgid "synonym for --files-with-matches"
-msgstr ""
-
-#: builtin/grep.c:906
-msgid "show only the names of files without match"
-msgstr ""
-
-#: builtin/grep.c:908
-msgid "print NUL after filenames"
-msgstr ""
-
-#: builtin/grep.c:911
-msgid "show only matching parts of a line"
-msgstr ""
-
-#: builtin/grep.c:913
-msgid "show the number of matches instead of matching lines"
-msgstr ""
-
-#: builtin/grep.c:914
-msgid "highlight matches"
-msgstr ""
-
-#: builtin/grep.c:916
-msgid "print empty line between matches from different files"
-msgstr ""
-
-#: builtin/grep.c:918
-msgid "show filename only once above matches from same file"
-msgstr ""
-
-#: builtin/grep.c:921
-msgid "show <n> context lines before and after matches"
-msgstr ""
-
-#: builtin/grep.c:924
-msgid "show <n> context lines before matches"
-msgstr ""
-
-#: builtin/grep.c:926
-msgid "show <n> context lines after matches"
-msgstr ""
-
-#: builtin/grep.c:928
-msgid "use <n> worker threads"
-msgstr ""
-
-#: builtin/grep.c:929
-msgid "shortcut for -C NUM"
-msgstr ""
-
-#: builtin/grep.c:932
-msgid "show a line with the function name before matches"
-msgstr ""
-
-#: builtin/grep.c:934
-msgid "show the surrounding function"
-msgstr ""
-
-#: builtin/grep.c:937
-msgid "read patterns from file"
-msgstr ""
-
-#: builtin/grep.c:939
-msgid "match <pattern>"
-msgstr ""
-
-#: builtin/grep.c:941
-msgid "combine patterns specified with -e"
-msgstr ""
-
-#: builtin/grep.c:953
-msgid "indicate hit with exit status without output"
-msgstr ""
-
-#: builtin/grep.c:955
-msgid "show only matches from files that match all patterns"
-msgstr ""
-
-#: builtin/grep.c:958
-msgid "pager"
-msgstr ""
-
-#: builtin/grep.c:958
-msgid "show matching files in the pager"
-msgstr ""
-
-#: builtin/grep.c:962
-msgid "allow calling of grep(1) (ignored by this build)"
-msgstr ""
-
-#: builtin/grep.c:1028
-msgid "no pattern given"
-msgstr ""
-
-#: builtin/grep.c:1064
-msgid "--no-index or --untracked cannot be used with revs"
-msgstr ""
-
-#: builtin/grep.c:1072
-#, c-format
-msgid "unable to resolve revision: %s"
-msgstr ""
-
-#: builtin/grep.c:1102
-msgid "--untracked not supported with --recurse-submodules"
-msgstr ""
-
-#: builtin/grep.c:1106
-msgid "invalid option combination, ignoring --threads"
-msgstr ""
-
-#: builtin/grep.c:1109 builtin/pack-objects.c:4084
-msgid "no threads support, ignoring --threads"
-msgstr ""
-
-#: builtin/grep.c:1112 builtin/index-pack.c:1584 builtin/pack-objects.c:3147
-#, c-format
-msgid "invalid number of threads specified (%d)"
-msgstr ""
-
-#: builtin/grep.c:1146
-msgid "--open-files-in-pager only works on the worktree"
-msgstr ""
-
-#: builtin/grep.c:1179
-msgid "--[no-]exclude-standard cannot be used for tracked contents"
-msgstr ""
-
-#: builtin/grep.c:1187
-msgid "both --cached and trees are given"
-msgstr ""
-
-#: builtin/hash-object.c:83
-msgid ""
-"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
-"[--] <file>..."
-msgstr ""
-
-#: builtin/hash-object.c:97
-msgid "object type"
-msgstr ""
-
-#: builtin/hash-object.c:98
-msgid "write the object into the object database"
-msgstr ""
-
-#: builtin/hash-object.c:100
-msgid "read the object from stdin"
-msgstr ""
-
-#: builtin/hash-object.c:102
-msgid "store file as is without filters"
-msgstr ""
-
-#: builtin/hash-object.c:103
-msgid ""
-"just hash any random garbage to create corrupt objects for debugging Git"
-msgstr ""
-
-#: builtin/hash-object.c:104
-msgid "process file as it were from this path"
-msgstr ""
-
-#: builtin/help.c:57
-msgid "print all available commands"
-msgstr ""
-
-#: builtin/help.c:60
-msgid "show external commands in --all"
-msgstr ""
-
-#: builtin/help.c:61
-msgid "show aliases in --all"
-msgstr ""
-
-#: builtin/help.c:62
-msgid "exclude guides"
-msgstr ""
-
-#: builtin/help.c:63
-msgid "show man page"
-msgstr ""
-
-#: builtin/help.c:64
-msgid "show manual in web browser"
-msgstr ""
-
-#: builtin/help.c:66
-msgid "show info page"
-msgstr ""
-
-#: builtin/help.c:68
-msgid "print command description"
-msgstr ""
-
-#: builtin/help.c:70
-msgid "print list of useful guides"
-msgstr ""
-
-#: builtin/help.c:72
-msgid "print all configuration variable names"
-msgstr ""
-
-#: builtin/help.c:84
-msgid "git help [[-i|--info] [-m|--man] [-w|--web]] [<command>]"
-msgstr ""
-
-#: builtin/help.c:201
-#, c-format
-msgid "unrecognized help format '%s'"
-msgstr ""
-
-#: builtin/help.c:227
-msgid "Failed to start emacsclient."
-msgstr ""
-
-#: builtin/help.c:240
-msgid "Failed to parse emacsclient version."
-msgstr ""
-
-#: builtin/help.c:248
-#, c-format
-msgid "emacsclient version '%d' too old (< 22)."
-msgstr ""
-
-#: builtin/help.c:266 builtin/help.c:288 builtin/help.c:298 builtin/help.c:306
-#, c-format
-msgid "failed to exec '%s'"
-msgstr ""
-
-#: builtin/help.c:344
-#, c-format
-msgid ""
-"'%s': path for unsupported man viewer.\n"
-"Please consider using 'man.<tool>.cmd' instead."
-msgstr ""
-
-#: builtin/help.c:356
-#, c-format
-msgid ""
-"'%s': cmd for supported man viewer.\n"
-"Please consider using 'man.<tool>.path' instead."
-msgstr ""
-
-#: builtin/help.c:471
-#, c-format
-msgid "'%s': unknown man viewer."
-msgstr ""
-
-#: builtin/help.c:487
-msgid "no man viewer handled the request"
-msgstr ""
-
-#: builtin/help.c:494
-msgid "no info viewer handled the request"
-msgstr ""
-
-#: builtin/help.c:555 builtin/help.c:566 git.c:348
-#, c-format
-msgid "'%s' is aliased to '%s'"
-msgstr ""
-
-#: builtin/help.c:569 git.c:380
-#, c-format
-msgid "bad alias.%s string: %s"
-msgstr ""
-
-#: builtin/help.c:611
-#, c-format
-msgid "the '%s' option doesn't take any non-option arguments"
-msgstr ""
-
-#: builtin/help.c:631
-msgid ""
-"the '--no-[external-commands|aliases]' options can only be used with '--all'"
-msgstr ""
-
-#: builtin/help.c:643 builtin/help.c:671
-#, c-format
-msgid "usage: %s%s"
-msgstr ""
-
-#: builtin/help.c:666
-msgid "'git help config' for more information"
-msgstr ""
-
-#: builtin/hook.c:10
-msgid "git hook run [--ignore-missing] <hook-name> [-- <hook-args>]"
-msgstr ""
-
-#: builtin/hook.c:30
-msgid "silently ignore missing requested <hook-name>"
-msgstr ""
-
-#: builtin/index-pack.c:221
-#, c-format
-msgid "object type mismatch at %s"
-msgstr ""
-
-#: builtin/index-pack.c:241
-#, c-format
-msgid "did not receive expected object %s"
-msgstr ""
-
-#: builtin/index-pack.c:244
-#, c-format
-msgid "object %s: expected type %s, found %s"
-msgstr ""
-
-#: builtin/index-pack.c:294
-#, c-format
-msgid "cannot fill %d byte"
-msgid_plural "cannot fill %d bytes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:304
-msgid "early EOF"
-msgstr ""
-
-#: builtin/index-pack.c:305
-msgid "read error on input"
-msgstr ""
-
-#: builtin/index-pack.c:317
-msgid "used more bytes than were available"
-msgstr ""
-
-#: builtin/index-pack.c:324 builtin/pack-objects.c:754
-msgid "pack too large for current definition of off_t"
-msgstr ""
-
-#: builtin/index-pack.c:329
-#, c-format
-msgid "pack exceeds maximum allowed size (%s)"
-msgstr ""
-
-#: builtin/index-pack.c:362
-msgid "pack signature mismatch"
-msgstr ""
-
-#: builtin/index-pack.c:364
-#, c-format
-msgid "pack version %<PRIu32> unsupported"
-msgstr ""
-
-#: builtin/index-pack.c:380
-#, c-format
-msgid "pack has bad object at offset %<PRIuMAX>: %s"
-msgstr ""
-
-#: builtin/index-pack.c:485
-#, c-format
-msgid "inflate returned %d"
-msgstr ""
-
-#: builtin/index-pack.c:534
-msgid "offset value overflow for delta base object"
-msgstr ""
-
-#: builtin/index-pack.c:542
-msgid "delta base offset is out of bound"
-msgstr ""
-
-#: builtin/index-pack.c:550
-#, c-format
-msgid "unknown object type %d"
-msgstr ""
-
-#: builtin/index-pack.c:581
-msgid "cannot pread pack file"
-msgstr ""
-
-#: builtin/index-pack.c:583
-#, c-format
-msgid "premature end of pack file, %<PRIuMAX> byte missing"
-msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:609
-msgid "serious inflate inconsistency"
-msgstr ""
-
-#: builtin/index-pack.c:754 builtin/index-pack.c:760 builtin/index-pack.c:784
-#: builtin/index-pack.c:823 builtin/index-pack.c:832
-#, c-format
-msgid "SHA1 COLLISION FOUND WITH %s !"
-msgstr ""
-
-#: builtin/index-pack.c:757 builtin/pack-objects.c:290
-#: builtin/pack-objects.c:350 builtin/pack-objects.c:456
-#, c-format
-msgid "unable to read %s"
-msgstr ""
-
-#: builtin/index-pack.c:821
-#, c-format
-msgid "cannot read existing object info %s"
-msgstr ""
-
-#: builtin/index-pack.c:829
-#, c-format
-msgid "cannot read existing object %s"
-msgstr ""
-
-#: builtin/index-pack.c:843
-#, c-format
-msgid "invalid blob object %s"
-msgstr ""
-
-#: builtin/index-pack.c:846 builtin/index-pack.c:865
-msgid "fsck error in packed object"
-msgstr ""
-
-#: builtin/index-pack.c:867
-#, c-format
-msgid "Not all child objects of %s are reachable"
-msgstr ""
-
-#: builtin/index-pack.c:928 builtin/index-pack.c:975
-msgid "failed to apply delta"
-msgstr ""
-
-#: builtin/index-pack.c:1161
-msgid "Receiving objects"
-msgstr ""
-
-#: builtin/index-pack.c:1161
-msgid "Indexing objects"
-msgstr ""
-
-#: builtin/index-pack.c:1195
-msgid "pack is corrupted (SHA1 mismatch)"
-msgstr ""
-
-#: builtin/index-pack.c:1200
-msgid "cannot fstat packfile"
-msgstr ""
-
-#: builtin/index-pack.c:1203
-msgid "pack has junk at the end"
-msgstr ""
-
-#: builtin/index-pack.c:1215
-msgid "confusion beyond insanity in parse_pack_objects()"
-msgstr ""
-
-#: builtin/index-pack.c:1238
-msgid "Resolving deltas"
-msgstr ""
-
-#: builtin/index-pack.c:1249 builtin/pack-objects.c:2913
-#, c-format
-msgid "unable to create thread: %s"
-msgstr ""
-
-#: builtin/index-pack.c:1282
-msgid "confusion beyond insanity"
-msgstr ""
-
-#: builtin/index-pack.c:1288
-#, c-format
-msgid "completed with %d local object"
-msgid_plural "completed with %d local objects"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:1300
-#, c-format
-msgid "Unexpected tail checksum for %s (disk corruption?)"
-msgstr ""
-
-#: builtin/index-pack.c:1304
-#, c-format
-msgid "pack has %d unresolved delta"
-msgid_plural "pack has %d unresolved deltas"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:1328
-#, c-format
-msgid "unable to deflate appended object (%d)"
-msgstr ""
-
-#: builtin/index-pack.c:1423
-#, c-format
-msgid "local object %s is corrupt"
-msgstr ""
-
-#: builtin/index-pack.c:1445
-#, c-format
-msgid "packfile name '%s' does not end with '.%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1469
-#, c-format
-msgid "cannot write %s file '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1477
-#, c-format
-msgid "cannot close written %s file '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1494
-#, c-format
-msgid "unable to rename temporary '*.%s' file to '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1519
-msgid "error while closing pack file"
-msgstr ""
-
-#: builtin/index-pack.c:1578 builtin/pack-objects.c:3158
-#, c-format
-msgid "bad pack.indexversion=%<PRIu32>"
-msgstr ""
-
-#: builtin/index-pack.c:1648
-#, c-format
-msgid "Cannot open existing pack file '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1650
-#, c-format
-msgid "Cannot open existing pack idx file for '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1698
-#, c-format
-msgid "non delta: %d object"
-msgid_plural "non delta: %d objects"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:1705
-#, c-format
-msgid "chain length = %d: %lu object"
-msgid_plural "chain length = %d: %lu objects"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:1748
-msgid "Cannot come back to cwd"
-msgstr ""
-
-#: builtin/index-pack.c:1802 builtin/index-pack.c:1805
-#: builtin/index-pack.c:1825 builtin/index-pack.c:1829
-#, c-format
-msgid "bad %s"
-msgstr ""
-
-#: builtin/index-pack.c:1835 builtin/init-db.c:379 builtin/init-db.c:614
-#, c-format
-msgid "unknown hash algorithm '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1856
-msgid "--stdin requires a git repository"
-msgstr ""
-
-#: builtin/index-pack.c:1873
-msgid "--verify with no packfile name given"
-msgstr ""
-
-#: builtin/index-pack.c:1939 builtin/unpack-objects.c:584
-msgid "fsck error in pack objects"
-msgstr ""
-
-#: builtin/init-db.c:63
-#, c-format
-msgid "cannot stat template '%s'"
-msgstr ""
-
-#: builtin/init-db.c:68
-#, c-format
-msgid "cannot opendir '%s'"
-msgstr ""
-
-#: builtin/init-db.c:80
-#, c-format
-msgid "cannot readlink '%s'"
-msgstr ""
-
-#: builtin/init-db.c:82
-#, c-format
-msgid "cannot symlink '%s' '%s'"
-msgstr ""
-
-#: builtin/init-db.c:88
-#, c-format
-msgid "cannot copy '%s' to '%s'"
-msgstr ""
-
-#: builtin/init-db.c:92
-#, c-format
-msgid "ignoring template %s"
-msgstr ""
-
-#: builtin/init-db.c:123
-#, c-format
-msgid "templates not found in %s"
-msgstr ""
-
-#: builtin/init-db.c:138
-#, c-format
-msgid "not copying templates from '%s': %s"
-msgstr ""
-
-#: builtin/init-db.c:263
-#, c-format
-msgid "invalid initial branch name: '%s'"
-msgstr ""
-
-#: builtin/init-db.c:354
-#, c-format
-msgid "unable to handle file type %d"
-msgstr ""
-
-#: builtin/init-db.c:357
-#, c-format
-msgid "unable to move %s to %s"
-msgstr ""
-
-#: builtin/init-db.c:373
-msgid "attempt to reinitialize repository with different hash"
-msgstr ""
-
-#: builtin/init-db.c:397 builtin/init-db.c:400
-#, c-format
-msgid "%s already exists"
-msgstr ""
-
-#: builtin/init-db.c:432
-#, c-format
-msgid "re-init: ignored --initial-branch=%s"
-msgstr ""
-
-#: builtin/init-db.c:463
-#, c-format
-msgid "Reinitialized existing shared Git repository in %s%s\n"
-msgstr ""
-
-#: builtin/init-db.c:464
-#, c-format
-msgid "Reinitialized existing Git repository in %s%s\n"
-msgstr ""
-
-#: builtin/init-db.c:468
-#, c-format
-msgid "Initialized empty shared Git repository in %s%s\n"
-msgstr ""
-
-#: builtin/init-db.c:469
-#, c-format
-msgid "Initialized empty Git repository in %s%s\n"
-msgstr ""
-
-#: builtin/init-db.c:518
-msgid ""
-"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
-"shared[=<permissions>]] [<directory>]"
-msgstr ""
-
-#: builtin/init-db.c:544
-msgid "permissions"
-msgstr ""
-
-#: builtin/init-db.c:545
-msgid "specify that the git repository is to be shared amongst several users"
-msgstr ""
-
-#: builtin/init-db.c:551
-msgid "override the name of the initial branch"
-msgstr ""
-
-#: builtin/init-db.c:552 builtin/verify-pack.c:74
-msgid "hash"
-msgstr ""
-
-#: builtin/init-db.c:553 builtin/show-index.c:22 builtin/verify-pack.c:75
-msgid "specify the hash algorithm to use"
-msgstr ""
-
-#: builtin/init-db.c:591 builtin/init-db.c:596
-#, c-format
-msgid "cannot mkdir %s"
-msgstr ""
-
-#: builtin/init-db.c:600 builtin/init-db.c:655
-#, c-format
-msgid "cannot chdir to %s"
-msgstr ""
-
-#: builtin/init-db.c:627
-#, c-format
-msgid ""
-"%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
-"dir=<directory>)"
-msgstr ""
-
-#: builtin/init-db.c:679
-#, c-format
-msgid "Cannot access work tree '%s'"
-msgstr ""
-
-#: builtin/init-db.c:684
-msgid "--separate-git-dir incompatible with bare repository"
-msgstr ""
-
-#: builtin/interpret-trailers.c:16
-msgid ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<token>[(=|:)<value>])...] [<file>...]"
-msgstr ""
-
-#: builtin/interpret-trailers.c:95
-msgid "edit files in place"
-msgstr ""
-
-#: builtin/interpret-trailers.c:96
-msgid "trim empty trailers"
-msgstr ""
-
-#: builtin/interpret-trailers.c:99
-msgid "where to place the new trailer"
-msgstr ""
-
-#: builtin/interpret-trailers.c:101
-msgid "action if trailer already exists"
-msgstr ""
-
-#: builtin/interpret-trailers.c:103
-msgid "action if trailer is missing"
-msgstr ""
-
-#: builtin/interpret-trailers.c:105
-msgid "output only the trailers"
-msgstr ""
-
-#: builtin/interpret-trailers.c:106
-msgid "do not apply config rules"
-msgstr ""
-
-#: builtin/interpret-trailers.c:107
-msgid "join whitespace-continued values"
-msgstr ""
-
-#: builtin/interpret-trailers.c:108
-msgid "set parsing options"
-msgstr ""
-
-#: builtin/interpret-trailers.c:110
-msgid "do not treat --- specially"
-msgstr ""
-
-#: builtin/interpret-trailers.c:112
-msgid "trailer(s) to add"
-msgstr ""
-
-#: builtin/interpret-trailers.c:123
-msgid "--trailer with --only-input does not make sense"
-msgstr ""
-
-#: builtin/interpret-trailers.c:133
-msgid "no input file given for in-place editing"
-msgstr ""
-
-#: builtin/log.c:60
-msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
-msgstr ""
-
-#: builtin/log.c:61
-msgid "git show [<options>] <object>..."
-msgstr ""
-
-#: builtin/log.c:114
-#, c-format
-msgid "invalid --decorate option: %s"
-msgstr ""
-
-#: builtin/log.c:181
-msgid "show source"
-msgstr ""
-
-#: builtin/log.c:182
-msgid "use mail map file"
-msgstr ""
-
-#: builtin/log.c:185
-msgid "only decorate refs that match <pattern>"
-msgstr ""
-
-#: builtin/log.c:187
-msgid "do not decorate refs that match <pattern>"
-msgstr ""
-
-#: builtin/log.c:188
-msgid "decorate options"
-msgstr ""
-
-#: builtin/log.c:191
-msgid ""
-"trace the evolution of line range <start>,<end> or function :<funcname> in "
-"<file>"
-msgstr ""
-
-#: builtin/log.c:214
-msgid "-L<range>:<file> cannot be used with pathspec"
-msgstr ""
-
-#: builtin/log.c:322
-#, c-format
-msgid "Final output: %d %s\n"
-msgstr ""
-
-#: builtin/log.c:429
-msgid "unable to create temporary object directory"
-msgstr ""
-
-#: builtin/log.c:599
-#, c-format
-msgid "git show %s: bad file"
-msgstr ""
-
-#: builtin/log.c:614 builtin/log.c:706
-#, c-format
-msgid "could not read object %s"
-msgstr ""
-
-#: builtin/log.c:731
-#, c-format
-msgid "unknown type: %d"
-msgstr ""
-
-#: builtin/log.c:880
-#, c-format
-msgid "%s: invalid cover from description mode"
-msgstr ""
-
-#: builtin/log.c:887
-msgid "format.headers without value"
-msgstr ""
-
-#: builtin/log.c:1016
-#, c-format
-msgid "cannot open patch file %s"
-msgstr ""
-
-#: builtin/log.c:1033
-msgid "need exactly one range"
-msgstr ""
-
-#: builtin/log.c:1043
-msgid "not a range"
-msgstr ""
-
-#: builtin/log.c:1207
-msgid "cover letter needs email format"
-msgstr ""
-
-#: builtin/log.c:1213
-msgid "failed to create cover-letter file"
-msgstr ""
-
-#: builtin/log.c:1300
-#, c-format
-msgid "insane in-reply-to: %s"
-msgstr ""
-
-#: builtin/log.c:1327
-msgid "git format-patch [<options>] [<since> | <revision-range>]"
-msgstr ""
-
-#: builtin/log.c:1385
-msgid "two output directories?"
-msgstr ""
-
-#: builtin/log.c:1536 builtin/log.c:2369 builtin/log.c:2371 builtin/log.c:2383
-#, c-format
-msgid "unknown commit %s"
-msgstr ""
-
-#: builtin/log.c:1547 builtin/replace.c:58 builtin/replace.c:207
-#: builtin/replace.c:210
-#, c-format
-msgid "failed to resolve '%s' as a valid ref"
-msgstr ""
-
-#: builtin/log.c:1556
-msgid "could not find exact merge base"
-msgstr ""
-
-#: builtin/log.c:1566
-msgid ""
-"failed to get upstream, if you want to record base commit automatically,\n"
-"please use git branch --set-upstream-to to track a remote branch.\n"
-"Or you could specify base commit by --base=<base-commit-id> manually"
-msgstr ""
-
-#: builtin/log.c:1589
-msgid "failed to find exact merge base"
-msgstr ""
-
-#: builtin/log.c:1606
-msgid "base commit should be the ancestor of revision list"
-msgstr ""
-
-#: builtin/log.c:1616
-msgid "base commit shouldn't be in revision list"
-msgstr ""
-
-#: builtin/log.c:1674
-msgid "cannot get patch id"
-msgstr ""
-
-#: builtin/log.c:1737
-msgid "failed to infer range-diff origin of current series"
-msgstr ""
-
-#: builtin/log.c:1739
-#, c-format
-msgid "using '%s' as range-diff origin of current series"
-msgstr ""
-
-#: builtin/log.c:1783
-msgid "use [PATCH n/m] even with a single patch"
-msgstr ""
-
-#: builtin/log.c:1786
-msgid "use [PATCH] even with multiple patches"
-msgstr ""
-
-#: builtin/log.c:1790
-msgid "print patches to standard out"
-msgstr ""
-
-#: builtin/log.c:1792
-msgid "generate a cover letter"
-msgstr ""
-
-#: builtin/log.c:1794
-msgid "use simple number sequence for output file names"
-msgstr ""
-
-#: builtin/log.c:1795
-msgid "sfx"
-msgstr ""
-
-#: builtin/log.c:1796
-msgid "use <sfx> instead of '.patch'"
-msgstr ""
-
-#: builtin/log.c:1798
-msgid "start numbering patches at <n> instead of 1"
-msgstr ""
-
-#: builtin/log.c:1799
-msgid "reroll-count"
-msgstr ""
-
-#: builtin/log.c:1800
-msgid "mark the series as Nth re-roll"
-msgstr ""
-
-#: builtin/log.c:1802
-msgid "max length of output filename"
-msgstr ""
-
-#: builtin/log.c:1804
-msgid "use [RFC PATCH] instead of [PATCH]"
-msgstr ""
-
-#: builtin/log.c:1807
-msgid "cover-from-description-mode"
-msgstr ""
-
-#: builtin/log.c:1808
-msgid "generate parts of a cover letter based on a branch's description"
-msgstr ""
-
-#: builtin/log.c:1810
-msgid "use [<prefix>] instead of [PATCH]"
-msgstr ""
-
-#: builtin/log.c:1813
-msgid "store resulting files in <dir>"
-msgstr ""
-
-#: builtin/log.c:1816
-msgid "don't strip/add [PATCH]"
-msgstr ""
-
-#: builtin/log.c:1819
-msgid "don't output binary diffs"
-msgstr ""
-
-#: builtin/log.c:1821
-msgid "output all-zero hash in From header"
-msgstr ""
-
-#: builtin/log.c:1823
-msgid "don't include a patch matching a commit upstream"
-msgstr ""
-
-#: builtin/log.c:1825
-msgid "show patch format instead of default (patch + stat)"
-msgstr ""
-
-#: builtin/log.c:1827
-msgid "Messaging"
-msgstr ""
-
-#: builtin/log.c:1828
-msgid "header"
-msgstr ""
-
-#: builtin/log.c:1829
-msgid "add email header"
-msgstr ""
-
-#: builtin/log.c:1830 builtin/log.c:1831
-msgid "email"
-msgstr ""
-
-#: builtin/log.c:1830
-msgid "add To: header"
-msgstr ""
-
-#: builtin/log.c:1831
-msgid "add Cc: header"
-msgstr ""
-
-#: builtin/log.c:1832
-msgid "ident"
-msgstr ""
-
-#: builtin/log.c:1833
-msgid "set From address to <ident> (or committer ident if absent)"
-msgstr ""
-
-#: builtin/log.c:1835
-msgid "message-id"
-msgstr ""
-
-#: builtin/log.c:1836
-msgid "make first mail a reply to <message-id>"
-msgstr ""
-
-#: builtin/log.c:1837 builtin/log.c:1840
-msgid "boundary"
-msgstr ""
-
-#: builtin/log.c:1838
-msgid "attach the patch"
-msgstr ""
-
-#: builtin/log.c:1841
-msgid "inline the patch"
-msgstr ""
-
-#: builtin/log.c:1845
-msgid "enable message threading, styles: shallow, deep"
-msgstr ""
-
-#: builtin/log.c:1847
-msgid "signature"
-msgstr ""
-
-#: builtin/log.c:1848
-msgid "add a signature"
-msgstr ""
-
-#: builtin/log.c:1849
-msgid "base-commit"
-msgstr ""
-
-#: builtin/log.c:1850
-msgid "add prerequisite tree info to the patch series"
-msgstr ""
-
-#: builtin/log.c:1853
-msgid "add a signature from a file"
-msgstr ""
-
-#: builtin/log.c:1854
-msgid "don't print the patch filenames"
-msgstr ""
-
-#: builtin/log.c:1856
-msgid "show progress while generating patches"
-msgstr ""
-
-#: builtin/log.c:1858
-msgid "show changes against <rev> in cover letter or single patch"
-msgstr ""
-
-#: builtin/log.c:1861
-msgid "show changes against <refspec> in cover letter or single patch"
-msgstr ""
-
-#: builtin/log.c:1863 builtin/range-diff.c:28
-msgid "percentage by which creation is weighted"
-msgstr ""
-
-#: builtin/log.c:1953
-#, c-format
-msgid "invalid ident line: %s"
-msgstr ""
-
-#: builtin/log.c:1978
-msgid "--name-only does not make sense"
-msgstr ""
-
-#: builtin/log.c:1980
-msgid "--name-status does not make sense"
-msgstr ""
-
-#: builtin/log.c:1982
-msgid "--check does not make sense"
-msgstr ""
-
-#: builtin/log.c:1984
-msgid "--remerge-diff does not make sense"
-msgstr ""
-
-#: builtin/log.c:2129
-msgid "--interdiff requires --cover-letter or single patch"
-msgstr ""
-
-#: builtin/log.c:2133
-msgid "Interdiff:"
-msgstr ""
-
-#: builtin/log.c:2134
-#, c-format
-msgid "Interdiff against v%d:"
-msgstr ""
-
-#: builtin/log.c:2144
-msgid "--range-diff requires --cover-letter or single patch"
-msgstr ""
-
-#: builtin/log.c:2152
-msgid "Range-diff:"
-msgstr ""
-
-#: builtin/log.c:2153
-#, c-format
-msgid "Range-diff against v%d:"
-msgstr ""
-
-#: builtin/log.c:2164
-#, c-format
-msgid "unable to read signature file '%s'"
-msgstr ""
-
-#: builtin/log.c:2200
-msgid "Generating patches"
-msgstr ""
-
-#: builtin/log.c:2244
-msgid "failed to create output files"
-msgstr ""
-
-#: builtin/log.c:2304
-msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
-msgstr ""
-
-#: builtin/log.c:2358
-#, c-format
-msgid ""
-"Could not find a tracked remote branch, please specify <upstream> manually.\n"
-msgstr ""
-
-#: builtin/ls-files.c:564
-msgid "git ls-files [<options>] [<file>...]"
-msgstr ""
-
-#: builtin/ls-files.c:618
-msgid "separate paths with the NUL character"
-msgstr ""
-
-#: builtin/ls-files.c:620
-msgid "identify the file status with tags"
-msgstr ""
-
-#: builtin/ls-files.c:622
-msgid "use lowercase letters for 'assume unchanged' files"
-msgstr ""
-
-#: builtin/ls-files.c:624
-msgid "use lowercase letters for 'fsmonitor clean' files"
-msgstr ""
-
-#: builtin/ls-files.c:626
-msgid "show cached files in the output (default)"
-msgstr ""
-
-#: builtin/ls-files.c:628
-msgid "show deleted files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:630
-msgid "show modified files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:632
-msgid "show other files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:634
-msgid "show ignored files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:637
-msgid "show staged contents' object name in the output"
-msgstr ""
-
-#: builtin/ls-files.c:639
-msgid "show files on the filesystem that need to be removed"
-msgstr ""
-
-#: builtin/ls-files.c:641
-msgid "show 'other' directories' names only"
-msgstr ""
-
-#: builtin/ls-files.c:643
-msgid "show line endings of files"
-msgstr ""
-
-#: builtin/ls-files.c:645
-msgid "don't show empty directories"
-msgstr ""
-
-#: builtin/ls-files.c:648
-msgid "show unmerged files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:650
-msgid "show resolve-undo information"
-msgstr ""
-
-#: builtin/ls-files.c:652
-msgid "skip files matching pattern"
-msgstr ""
-
-#: builtin/ls-files.c:655
-msgid "read exclude patterns from <file>"
-msgstr ""
-
-#: builtin/ls-files.c:658
-msgid "read additional per-directory exclude patterns in <file>"
-msgstr ""
-
-#: builtin/ls-files.c:660
-msgid "add the standard git exclusions"
-msgstr ""
-
-#: builtin/ls-files.c:664
-msgid "make the output relative to the project top directory"
-msgstr ""
-
-#: builtin/ls-files.c:669
-msgid "if any <file> is not in the index, treat this as an error"
-msgstr ""
-
-#: builtin/ls-files.c:670
-msgid "tree-ish"
-msgstr ""
-
-#: builtin/ls-files.c:671
-msgid "pretend that paths removed since <tree-ish> are still present"
-msgstr ""
-
-#: builtin/ls-files.c:673
-msgid "show debugging data"
-msgstr ""
-
-#: builtin/ls-files.c:675
-msgid "suppress duplicate entries"
-msgstr ""
-
-#: builtin/ls-files.c:677
-msgid "show sparse directories in the presence of a sparse index"
-msgstr ""
-
-#: builtin/ls-remote.c:9
-msgid ""
-"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-"              [-q | --quiet] [--exit-code] [--get-url]\n"
-"              [--symref] [<repository> [<refs>...]]"
-msgstr ""
-
-#: builtin/ls-remote.c:60
-msgid "do not print remote URL"
-msgstr ""
-
-#: builtin/ls-remote.c:61 builtin/ls-remote.c:63 builtin/rebase.c:1131
-msgid "exec"
-msgstr ""
-
-#: builtin/ls-remote.c:62 builtin/ls-remote.c:64
-msgid "path of git-upload-pack on the remote host"
-msgstr ""
-
-#: builtin/ls-remote.c:66
-msgid "limit to tags"
-msgstr ""
-
-#: builtin/ls-remote.c:67
-msgid "limit to heads"
-msgstr ""
-
-#: builtin/ls-remote.c:68
-msgid "do not show peeled tags"
-msgstr ""
-
-#: builtin/ls-remote.c:70
-msgid "take url.<base>.insteadOf into account"
-msgstr ""
-
-#: builtin/ls-remote.c:73
-msgid "exit with exit code 2 if no matching refs are found"
-msgstr ""
-
-#: builtin/ls-remote.c:76
-msgid "show underlying ref in addition to the object pointed by it"
-msgstr ""
-
-#: builtin/ls-tree.c:36
-msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
-msgstr ""
-
-#: builtin/ls-tree.c:54
-#, c-format
-msgid "could not get object info about '%s'"
-msgstr ""
-
-#: builtin/ls-tree.c:79
-#, c-format
-msgid "bad ls-tree format: element '%s' does not start with '('"
-msgstr ""
-
-#: builtin/ls-tree.c:83
-#, c-format
-msgid "bad ls-tree format: element '%s' does not end in ')'"
-msgstr ""
-
-#: builtin/ls-tree.c:109
-#, c-format
-msgid "bad ls-tree format: %%%.*s"
-msgstr ""
-
-#: builtin/ls-tree.c:336
-msgid "only show trees"
-msgstr ""
-
-#: builtin/ls-tree.c:338
-msgid "recurse into subtrees"
-msgstr ""
-
-#: builtin/ls-tree.c:340
-msgid "show trees when recursing"
-msgstr ""
-
-#: builtin/ls-tree.c:343
-msgid "terminate entries with NUL byte"
-msgstr ""
-
-#: builtin/ls-tree.c:344
-msgid "include object size"
-msgstr ""
-
-#: builtin/ls-tree.c:346 builtin/ls-tree.c:348
-msgid "list only filenames"
-msgstr ""
-
-#: builtin/ls-tree.c:350
-msgid "list only objects"
-msgstr ""
-
-#: builtin/ls-tree.c:353
-msgid "use full path names"
-msgstr ""
-
-#: builtin/ls-tree.c:355
-msgid "list entire tree; not just current directory (implies --full-name)"
-msgstr ""
-
-#: builtin/ls-tree.c:391
-msgid "--format can't be combined with other format-altering options"
-msgstr ""
-
-#. TRANSLATORS: keep <> in "<" mail ">" info.
-#: builtin/mailinfo.c:14
-msgid "git mailinfo [<options>] <msg> <patch> < mail >info"
-msgstr ""
-
-#: builtin/mailinfo.c:58
-msgid "keep subject"
-msgstr ""
-
-#: builtin/mailinfo.c:60
-msgid "keep non patch brackets in subject"
-msgstr ""
-
-#: builtin/mailinfo.c:62
-msgid "copy Message-ID to the end of commit message"
-msgstr ""
-
-#: builtin/mailinfo.c:64
-msgid "re-code metadata to i18n.commitEncoding"
-msgstr ""
-
-#: builtin/mailinfo.c:67
-msgid "disable charset re-coding of metadata"
-msgstr ""
-
-#: builtin/mailinfo.c:69
-msgid "encoding"
-msgstr ""
-
-#: builtin/mailinfo.c:70
-msgid "re-code metadata to this encoding"
-msgstr ""
-
-#: builtin/mailinfo.c:72
-msgid "use scissors"
-msgstr ""
-
-#: builtin/mailinfo.c:73
-msgid "<action>"
-msgstr ""
-
-#: builtin/mailinfo.c:74
-msgid "action when quoted CR is found"
-msgstr ""
-
-#: builtin/mailinfo.c:77
-msgid "use headers in message's body"
-msgstr ""
-
-#: builtin/mailsplit.c:227
-msgid "reading patches from stdin/tty..."
-msgstr ""
-
-#: builtin/mailsplit.c:242
-#, c-format
-msgid "empty mbox: '%s'"
-msgstr ""
-
-#: builtin/merge-base.c:32
-msgid "git merge-base [-a | --all] <commit> <commit>..."
-msgstr ""
-
-#: builtin/merge-base.c:33
-msgid "git merge-base [-a | --all] --octopus <commit>..."
-msgstr ""
-
-#: builtin/merge-base.c:34
-msgid "git merge-base --independent <commit>..."
-msgstr ""
-
-#: builtin/merge-base.c:35
-msgid "git merge-base --is-ancestor <commit> <commit>"
-msgstr ""
-
-#: builtin/merge-base.c:36
-msgid "git merge-base --fork-point <ref> [<commit>]"
-msgstr ""
-
-#: builtin/merge-base.c:144
-msgid "output all common ancestors"
-msgstr ""
-
-#: builtin/merge-base.c:146
-msgid "find ancestors for a single n-way merge"
-msgstr ""
-
-#: builtin/merge-base.c:148
-msgid "list revs not reachable from others"
-msgstr ""
-
-#: builtin/merge-base.c:150
-msgid "is the first one ancestor of the other?"
-msgstr ""
-
-#: builtin/merge-base.c:152
-msgid "find where <commit> forked from reflog of <ref>"
-msgstr ""
-
-#: builtin/merge-file.c:9
-msgid ""
-"git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> "
-"<orig-file> <file2>"
-msgstr ""
-
-#: builtin/merge-file.c:35
-msgid "send results to standard output"
-msgstr ""
-
-#: builtin/merge-file.c:36
-msgid "use a diff3 based merge"
-msgstr ""
-
-#: builtin/merge-file.c:37
-msgid "use a zealous diff3 based merge"
-msgstr ""
-
-#: builtin/merge-file.c:39
-msgid "for conflicts, use our version"
-msgstr ""
-
-#: builtin/merge-file.c:41
-msgid "for conflicts, use their version"
-msgstr ""
-
-#: builtin/merge-file.c:43
-msgid "for conflicts, use a union version"
-msgstr ""
-
-#: builtin/merge-file.c:46
-msgid "for conflicts, use this marker size"
-msgstr ""
-
-#: builtin/merge-file.c:47
-msgid "do not warn about conflicts"
-msgstr ""
-
-#: builtin/merge-file.c:49
-msgid "set labels for file1/orig-file/file2"
-msgstr ""
-
-#: builtin/merge-recursive.c:47
-#, c-format
-msgid "unknown option %s"
-msgstr ""
-
-#: builtin/merge-recursive.c:53
-#, c-format
-msgid "could not parse object '%s'"
-msgstr ""
-
-#: builtin/merge-recursive.c:57
-#, c-format
-msgid "cannot handle more than %d base. Ignoring %s."
-msgid_plural "cannot handle more than %d bases. Ignoring %s."
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/merge-recursive.c:65
-msgid "not handling anything other than two heads merge."
-msgstr ""
-
-#: builtin/merge-recursive.c:74 builtin/merge-recursive.c:76
-#, c-format
-msgid "could not resolve ref '%s'"
-msgstr ""
-
-#: builtin/merge-recursive.c:82
-#, c-format
-msgid "Merging %s with %s\n"
-msgstr ""
-
-#: builtin/merge.c:59
-msgid "git merge [<options>] [<commit>...]"
-msgstr ""
-
-#: builtin/merge.c:125
-msgid "switch `m' requires a value"
-msgstr ""
-
-#: builtin/merge.c:148
-#, c-format
-msgid "option `%s' requires a value"
-msgstr ""
-
-#: builtin/merge.c:201
-#, c-format
-msgid "Could not find merge strategy '%s'.\n"
-msgstr ""
-
-#: builtin/merge.c:202
-#, c-format
-msgid "Available strategies are:"
-msgstr ""
-
-#: builtin/merge.c:207
-#, c-format
-msgid "Available custom strategies are:"
-msgstr ""
-
-#: builtin/merge.c:258 builtin/pull.c:134
-msgid "do not show a diffstat at the end of the merge"
-msgstr ""
-
-#: builtin/merge.c:261 builtin/pull.c:137
-msgid "show a diffstat at the end of the merge"
-msgstr ""
-
-#: builtin/merge.c:262 builtin/pull.c:140
-msgid "(synonym to --stat)"
-msgstr ""
-
-#: builtin/merge.c:264 builtin/pull.c:143
-msgid "add (at most <n>) entries from shortlog to merge commit message"
-msgstr ""
-
-#: builtin/merge.c:267 builtin/pull.c:149
-msgid "create a single commit instead of doing a merge"
-msgstr ""
-
-#: builtin/merge.c:269 builtin/pull.c:152
-msgid "perform a commit if the merge succeeds (default)"
-msgstr ""
-
-#: builtin/merge.c:271 builtin/pull.c:155
-msgid "edit message before committing"
-msgstr ""
-
-#: builtin/merge.c:273
-msgid "allow fast-forward (default)"
-msgstr ""
-
-#: builtin/merge.c:275 builtin/pull.c:162
-msgid "abort if fast-forward is not possible"
-msgstr ""
-
-#: builtin/merge.c:279 builtin/pull.c:168
-msgid "verify that the named commit has a valid GPG signature"
-msgstr ""
-
-#: builtin/merge.c:280 builtin/notes.c:785 builtin/pull.c:172
-#: builtin/rebase.c:1145 builtin/revert.c:114
-msgid "strategy"
-msgstr ""
-
-#: builtin/merge.c:281 builtin/pull.c:173
-msgid "merge strategy to use"
-msgstr ""
-
-#: builtin/merge.c:282 builtin/pull.c:176
-msgid "option=value"
-msgstr ""
-
-#: builtin/merge.c:283 builtin/pull.c:177
-msgid "option for selected merge strategy"
-msgstr ""
-
-#: builtin/merge.c:285
-msgid "merge commit message (for a non-fast-forward merge)"
-msgstr ""
-
-#: builtin/merge.c:291
-msgid "use <name> instead of the real target"
-msgstr ""
-
-#: builtin/merge.c:294
-msgid "abort the current in-progress merge"
-msgstr ""
-
-#: builtin/merge.c:296
-msgid "--abort but leave index and working tree alone"
-msgstr ""
-
-#: builtin/merge.c:298
-msgid "continue the current in-progress merge"
-msgstr ""
-
-#: builtin/merge.c:300 builtin/pull.c:184
-msgid "allow merging unrelated histories"
-msgstr ""
-
-#: builtin/merge.c:307
-msgid "bypass pre-merge-commit and commit-msg hooks"
-msgstr ""
-
-#: builtin/merge.c:323
-msgid "could not run stash."
-msgstr ""
-
-#: builtin/merge.c:328
-msgid "stash failed"
-msgstr ""
-
-#: builtin/merge.c:333
-#, c-format
-msgid "not a valid object: %s"
-msgstr ""
-
-#: builtin/merge.c:355 builtin/merge.c:372
-msgid "read-tree failed"
-msgstr ""
-
-#: builtin/merge.c:403
-msgid "Already up to date. (nothing to squash)"
-msgstr ""
-
-#: builtin/merge.c:417
-#, c-format
-msgid "Squash commit -- not updating HEAD\n"
-msgstr ""
-
-#: builtin/merge.c:467
-#, c-format
-msgid "No merge message -- not updating HEAD\n"
-msgstr ""
-
-#: builtin/merge.c:517
-#, c-format
-msgid "'%s' does not point to a commit"
-msgstr ""
-
-#: builtin/merge.c:605
-#, c-format
-msgid "Bad branch.%s.mergeoptions string: %s"
-msgstr ""
-
-#: builtin/merge.c:732
-msgid "Not handling anything other than two heads merge."
-msgstr ""
-
-#: builtin/merge.c:745
-#, c-format
-msgid "unknown strategy option: -X%s"
-msgstr ""
-
-#: builtin/merge.c:764 t/helper/test-fast-rebase.c:223
-#, c-format
-msgid "unable to write %s"
-msgstr ""
-
-#: builtin/merge.c:816
-#, c-format
-msgid "Could not read from '%s'"
-msgstr ""
-
-#: builtin/merge.c:825
-#, c-format
-msgid "Not committing merge; use 'git commit' to complete the merge.\n"
-msgstr ""
-
-#: builtin/merge.c:831
-msgid ""
-"Please enter a commit message to explain why this merge is necessary,\n"
-"especially if it merges an updated upstream into a topic branch.\n"
-"\n"
-msgstr ""
-
-#: builtin/merge.c:836
-msgid "An empty message aborts the commit.\n"
-msgstr ""
-
-#: builtin/merge.c:839
-#, c-format
-msgid ""
-"Lines starting with '%c' will be ignored, and an empty message aborts\n"
-"the commit.\n"
-msgstr ""
-
-#: builtin/merge.c:900
-msgid "Empty commit message."
-msgstr ""
-
-#: builtin/merge.c:915
-#, c-format
-msgid "Wonderful.\n"
-msgstr ""
-
-#: builtin/merge.c:976
-#, c-format
-msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
-msgstr ""
-
-#: builtin/merge.c:1015
-msgid "No current branch."
-msgstr ""
-
-#: builtin/merge.c:1017
-msgid "No remote for the current branch."
-msgstr ""
-
-#: builtin/merge.c:1019
-msgid "No default upstream defined for the current branch."
-msgstr ""
-
-#: builtin/merge.c:1024
-#, c-format
-msgid "No remote-tracking branch for %s from %s"
-msgstr ""
-
-#: builtin/merge.c:1081
-#, c-format
-msgid "Bad value '%s' in environment '%s'"
-msgstr ""
-
-#: builtin/merge.c:1183
-#, c-format
-msgid "not something we can merge in %s: %s"
-msgstr ""
-
-#: builtin/merge.c:1217
-msgid "not something we can merge"
-msgstr ""
-
-#: builtin/merge.c:1330
-msgid "--abort expects no arguments"
-msgstr ""
-
-#: builtin/merge.c:1334
-msgid "There is no merge to abort (MERGE_HEAD missing)."
-msgstr ""
-
-#: builtin/merge.c:1352
-msgid "--quit expects no arguments"
-msgstr ""
-
-#: builtin/merge.c:1365
-msgid "--continue expects no arguments"
-msgstr ""
-
-#: builtin/merge.c:1369
-msgid "There is no merge in progress (MERGE_HEAD missing)."
-msgstr ""
-
-#: builtin/merge.c:1385
-msgid ""
-"You have not concluded your merge (MERGE_HEAD exists).\n"
-"Please, commit your changes before you merge."
-msgstr ""
-
-#: builtin/merge.c:1392
-msgid ""
-"You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
-"Please, commit your changes before you merge."
-msgstr ""
-
-#: builtin/merge.c:1395
-msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
-msgstr ""
-
-#: builtin/merge.c:1427
-msgid "No commit specified and merge.defaultToUpstream not set."
-msgstr ""
-
-#: builtin/merge.c:1444
-msgid "Squash commit into empty head not supported yet"
-msgstr ""
-
-#: builtin/merge.c:1446
-msgid "Non-fast-forward commit does not make sense into an empty head"
-msgstr ""
-
-#: builtin/merge.c:1451
-#, c-format
-msgid "%s - not something we can merge"
-msgstr ""
-
-#: builtin/merge.c:1453
-msgid "Can merge only exactly one commit into empty head"
-msgstr ""
-
-#: builtin/merge.c:1540
-msgid "refusing to merge unrelated histories"
-msgstr ""
-
-#: builtin/merge.c:1559
-#, c-format
-msgid "Updating %s..%s\n"
-msgstr ""
-
-#: builtin/merge.c:1606
-#, c-format
-msgid "Trying really trivial in-index merge...\n"
-msgstr ""
-
-#: builtin/merge.c:1613
-#, c-format
-msgid "Nope.\n"
-msgstr ""
-
-#: builtin/merge.c:1671 builtin/merge.c:1737
-#, c-format
-msgid "Rewinding the tree to pristine...\n"
-msgstr ""
-
-#: builtin/merge.c:1675
-#, c-format
-msgid "Trying merge strategy %s...\n"
-msgstr ""
-
-#: builtin/merge.c:1727
-#, c-format
-msgid "No merge strategy handled the merge.\n"
-msgstr ""
-
-#: builtin/merge.c:1729
-#, c-format
-msgid "Merge with strategy %s failed.\n"
-msgstr ""
-
-#: builtin/merge.c:1739
-#, c-format
-msgid "Using the %s strategy to prepare resolving by hand.\n"
-msgstr ""
-
-#: builtin/merge.c:1753
-#, c-format
-msgid "Automatic merge went well; stopped before committing as requested\n"
-msgstr ""
-
-#: builtin/mktag.c:27
-#, c-format
-msgid "warning: tag input does not pass fsck: %s"
-msgstr ""
-
-#: builtin/mktag.c:38
-#, c-format
-msgid "error: tag input does not pass fsck: %s"
-msgstr ""
-
-#: builtin/mktag.c:41
-#, c-format
-msgid "%d (FSCK_IGNORE?) should never trigger this callback"
-msgstr ""
-
-#: builtin/mktag.c:56
-#, c-format
-msgid "could not read tagged object '%s'"
-msgstr ""
-
-#: builtin/mktag.c:59
-#, c-format
-msgid "object '%s' tagged as '%s', but is a '%s' type"
-msgstr ""
-
-#: builtin/mktag.c:97
-msgid "tag on stdin did not pass our strict fsck check"
-msgstr ""
-
-#: builtin/mktag.c:100
-msgid "tag on stdin did not refer to a valid object"
-msgstr ""
-
-#: builtin/mktag.c:103 builtin/tag.c:243
-msgid "unable to write tag file"
-msgstr ""
-
-#: builtin/mktree.c:154
-msgid "input is NUL terminated"
-msgstr ""
-
-#: builtin/mktree.c:155 builtin/write-tree.c:26
-msgid "allow missing objects"
-msgstr ""
-
-#: builtin/mktree.c:156
-msgid "allow creation of more than one tree"
-msgstr ""
-
-#: builtin/multi-pack-index.c:10
-msgid ""
-"git multi-pack-index [<options>] write [--preferred-pack=<pack>][--refs-"
-"snapshot=<path>]"
-msgstr ""
-
-#: builtin/multi-pack-index.c:14
-msgid "git multi-pack-index [<options>] verify"
-msgstr ""
-
-#: builtin/multi-pack-index.c:17
-msgid "git multi-pack-index [<options>] expire"
-msgstr ""
-
-#: builtin/multi-pack-index.c:20
-msgid "git multi-pack-index [<options>] repack [--batch-size=<size>]"
-msgstr ""
-
-#: builtin/multi-pack-index.c:57
-msgid "object directory containing set of packfile and pack-index pairs"
-msgstr ""
-
-#: builtin/multi-pack-index.c:98
-msgid "preferred-pack"
-msgstr ""
-
-#: builtin/multi-pack-index.c:99
-msgid "pack for reuse when computing a multi-pack bitmap"
-msgstr ""
-
-#: builtin/multi-pack-index.c:100
-msgid "write multi-pack bitmap"
-msgstr ""
-
-#: builtin/multi-pack-index.c:105
-msgid "write multi-pack index containing only given indexes"
-msgstr ""
-
-#: builtin/multi-pack-index.c:107
-msgid "refs snapshot for selecting bitmap commits"
-msgstr ""
-
-#: builtin/multi-pack-index.c:206
-msgid ""
-"during repack, collect pack-files of smaller size into a batch that is "
-"larger than this size"
-msgstr ""
-
-#: builtin/mv.c:18
-msgid "git mv [<options>] <source>... <destination>"
-msgstr ""
-
-#: builtin/mv.c:83
-#, c-format
-msgid "Directory %s is in index and no submodule?"
-msgstr ""
-
-#: builtin/mv.c:85
-msgid "Please stage your changes to .gitmodules or stash them to proceed"
-msgstr ""
-
-#: builtin/mv.c:103
-#, c-format
-msgid "%.*s is in index"
-msgstr ""
-
-#: builtin/mv.c:125
-msgid "force move/rename even if target exists"
-msgstr ""
-
-#: builtin/mv.c:127
-msgid "skip move/rename errors"
-msgstr ""
-
-#: builtin/mv.c:172
-#, c-format
-msgid "destination '%s' is not a directory"
-msgstr ""
-
-#: builtin/mv.c:184
-#, c-format
-msgid "Checking rename of '%s' to '%s'\n"
-msgstr ""
-
-#: builtin/mv.c:190
-msgid "bad source"
-msgstr ""
-
-#: builtin/mv.c:193
-msgid "can not move directory into itself"
-msgstr ""
-
-#: builtin/mv.c:196
-msgid "cannot move directory over file"
-msgstr ""
-
-#: builtin/mv.c:205
-msgid "source directory is empty"
-msgstr ""
-
-#: builtin/mv.c:231
-msgid "not under version control"
-msgstr ""
-
-#: builtin/mv.c:233
-msgid "conflicted"
-msgstr ""
-
-#: builtin/mv.c:236
-msgid "destination exists"
-msgstr ""
-
-#: builtin/mv.c:244
-#, c-format
-msgid "overwriting '%s'"
-msgstr ""
-
-#: builtin/mv.c:247
-msgid "Cannot overwrite"
-msgstr ""
-
-#: builtin/mv.c:250
-msgid "multiple sources for the same target"
-msgstr ""
-
-#: builtin/mv.c:252
-msgid "destination directory does not exist"
-msgstr ""
-
-#: builtin/mv.c:280
-#, c-format
-msgid "%s, source=%s, destination=%s"
-msgstr ""
-
-#: builtin/mv.c:308
-#, c-format
-msgid "Renaming %s to %s\n"
-msgstr ""
-
-#: builtin/mv.c:314 builtin/remote.c:812 builtin/repack.c:861
-#, c-format
-msgid "renaming '%s' failed"
-msgstr ""
-
-#: builtin/name-rev.c:524
-msgid "git name-rev [<options>] <commit>..."
-msgstr ""
-
-#: builtin/name-rev.c:525
-msgid "git name-rev [<options>] --all"
-msgstr ""
-
-#: builtin/name-rev.c:526
-msgid "git name-rev [<options>] --annotate-stdin"
-msgstr ""
-
-#: builtin/name-rev.c:583
-msgid "print only ref-based names (no object names)"
-msgstr ""
-
-#: builtin/name-rev.c:584
-msgid "only use tags to name the commits"
-msgstr ""
-
-#: builtin/name-rev.c:586
-msgid "only use refs matching <pattern>"
-msgstr ""
-
-#: builtin/name-rev.c:588
-msgid "ignore refs matching <pattern>"
-msgstr ""
-
-#: builtin/name-rev.c:590
-msgid "list all commits reachable from all refs"
-msgstr ""
-
-#: builtin/name-rev.c:591
-msgid "deprecated: use annotate-stdin instead"
-msgstr ""
-
-#: builtin/name-rev.c:592
-msgid "annotate text from stdin"
-msgstr ""
-
-#: builtin/name-rev.c:593
-msgid "allow to print `undefined` names (default)"
-msgstr ""
-
-#: builtin/name-rev.c:599
-msgid "dereference tags in the input (internal use)"
-msgstr ""
-
-#: builtin/notes.c:28
-msgid "git notes [--ref <notes-ref>] [list [<object>]]"
-msgstr ""
-
-#: builtin/notes.c:29
-msgid ""
-"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <msg> | -F <file> "
-"| (-c | -C) <object>] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:30
-msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
-msgstr ""
-
-#: builtin/notes.c:31
-msgid ""
-"git notes [--ref <notes-ref>] append [--allow-empty] [-m <msg> | -F <file> | "
-"(-c | -C) <object>] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:32
-msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:33
-msgid "git notes [--ref <notes-ref>] show [<object>]"
-msgstr ""
-
-#: builtin/notes.c:34
-msgid ""
-"git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>"
-msgstr ""
-
-#: builtin/notes.c:37
-msgid "git notes [--ref <notes-ref>] remove [<object>...]"
-msgstr ""
-
-#: builtin/notes.c:38
-msgid "git notes [--ref <notes-ref>] prune [-n] [-v]"
-msgstr ""
-
-#: builtin/notes.c:39
-msgid "git notes [--ref <notes-ref>] get-ref"
-msgstr ""
-
-#: builtin/notes.c:44
-msgid "git notes [list [<object>]]"
-msgstr ""
-
-#: builtin/notes.c:49
-msgid "git notes add [<options>] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:54
-msgid "git notes copy [<options>] <from-object> <to-object>"
-msgstr ""
-
-#: builtin/notes.c:55
-msgid "git notes copy --stdin [<from-object> <to-object>]..."
-msgstr ""
-
-#: builtin/notes.c:60
-msgid "git notes append [<options>] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:65
-msgid "git notes edit [<object>]"
-msgstr ""
-
-#: builtin/notes.c:70
-msgid "git notes show [<object>]"
-msgstr ""
-
-#: builtin/notes.c:75
-msgid "git notes merge [<options>] <notes-ref>"
-msgstr ""
-
-#: builtin/notes.c:76
-msgid "git notes merge --commit [<options>]"
-msgstr ""
-
-#: builtin/notes.c:77
-msgid "git notes merge --abort [<options>]"
-msgstr ""
-
-#: builtin/notes.c:82
-msgid "git notes remove [<object>]"
-msgstr ""
-
-#: builtin/notes.c:87
-msgid "git notes prune [<options>]"
-msgstr ""
-
-#: builtin/notes.c:97
-msgid "Write/edit the notes for the following object:"
-msgstr ""
-
-#: builtin/notes.c:149
-#, c-format
-msgid "unable to start 'show' for object '%s'"
-msgstr ""
-
-#: builtin/notes.c:153
-msgid "could not read 'show' output"
-msgstr ""
-
-#: builtin/notes.c:161
-#, c-format
-msgid "failed to finish 'show' for object '%s'"
-msgstr ""
-
-#: builtin/notes.c:194
-msgid "please supply the note contents using either -m or -F option"
-msgstr ""
-
-#: builtin/notes.c:203
-msgid "unable to write note object"
-msgstr ""
-
-#: builtin/notes.c:206
-#, c-format
-msgid "the note contents have been left in %s"
-msgstr ""
-
-#: builtin/notes.c:240 builtin/tag.c:582
-#, c-format
-msgid "could not open or read '%s'"
-msgstr ""
-
-#: builtin/notes.c:261 builtin/notes.c:311 builtin/notes.c:313
-#: builtin/notes.c:381 builtin/notes.c:436 builtin/notes.c:524
-#: builtin/notes.c:529 builtin/notes.c:608 builtin/notes.c:670
-#, c-format
-msgid "failed to resolve '%s' as a valid ref."
-msgstr ""
-
-#: builtin/notes.c:263
-#, c-format
-msgid "failed to read object '%s'."
-msgstr ""
-
-#: builtin/notes.c:266
-#, c-format
-msgid "cannot read note data from non-blob object '%s'."
-msgstr ""
-
-#: builtin/notes.c:307
-#, c-format
-msgid "malformed input line: '%s'."
-msgstr ""
-
-#: builtin/notes.c:322
-#, c-format
-msgid "failed to copy notes from '%s' to '%s'"
-msgstr ""
-
-#. TRANSLATORS: the first %s will be replaced by a git
-#. notes command: 'add', 'merge', 'remove', etc.
-#.
-#: builtin/notes.c:354
-#, c-format
-msgid "refusing to %s notes in %s (outside of refs/notes/)"
-msgstr ""
-
-#: builtin/notes.c:387 builtin/notes.c:676
-#, c-format
-msgid "no note found for object %s."
-msgstr ""
-
-#: builtin/notes.c:408 builtin/notes.c:574
-msgid "note contents as a string"
-msgstr ""
-
-#: builtin/notes.c:411 builtin/notes.c:577
-msgid "note contents in a file"
-msgstr ""
-
-#: builtin/notes.c:414 builtin/notes.c:580
-msgid "reuse and edit specified note object"
-msgstr ""
-
-#: builtin/notes.c:417 builtin/notes.c:583
-msgid "reuse specified note object"
-msgstr ""
-
-#: builtin/notes.c:420 builtin/notes.c:586
-msgid "allow storing empty note"
-msgstr ""
-
-#: builtin/notes.c:421 builtin/notes.c:494
-msgid "replace existing notes"
-msgstr ""
-
-#: builtin/notes.c:446
-#, c-format
-msgid ""
-"Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
-"existing notes"
-msgstr ""
-
-#: builtin/notes.c:461 builtin/notes.c:542
-#, c-format
-msgid "Overwriting existing notes for object %s\n"
-msgstr ""
-
-#: builtin/notes.c:473 builtin/notes.c:635 builtin/notes.c:904
-#, c-format
-msgid "Removing note for object %s\n"
-msgstr ""
-
-#: builtin/notes.c:495
-msgid "read objects from stdin"
-msgstr ""
-
-#: builtin/notes.c:497
-msgid "load rewriting config for <command> (implies --stdin)"
-msgstr ""
-
-#: builtin/notes.c:515
-msgid "too few arguments"
-msgstr ""
-
-#: builtin/notes.c:536
-#, c-format
-msgid ""
-"Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
-"existing notes"
-msgstr ""
-
-#: builtin/notes.c:548
-#, c-format
-msgid "missing notes on source object %s. Cannot copy."
-msgstr ""
-
-#: builtin/notes.c:601
-#, c-format
-msgid ""
-"The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
-"Please use 'git notes add -f -m/-F/-c/-C' instead.\n"
-msgstr ""
-
-#: builtin/notes.c:696
-msgid "failed to delete ref NOTES_MERGE_PARTIAL"
-msgstr ""
-
-#: builtin/notes.c:698
-msgid "failed to delete ref NOTES_MERGE_REF"
-msgstr ""
-
-#: builtin/notes.c:700
-msgid "failed to remove 'git notes merge' worktree"
-msgstr ""
-
-#: builtin/notes.c:720
-msgid "failed to read ref NOTES_MERGE_PARTIAL"
-msgstr ""
-
-#: builtin/notes.c:722
-msgid "could not find commit from NOTES_MERGE_PARTIAL."
-msgstr ""
-
-#: builtin/notes.c:724
-msgid "could not parse commit from NOTES_MERGE_PARTIAL."
-msgstr ""
-
-#: builtin/notes.c:737
-msgid "failed to resolve NOTES_MERGE_REF"
-msgstr ""
-
-#: builtin/notes.c:740
-msgid "failed to finalize notes merge"
-msgstr ""
-
-#: builtin/notes.c:766
-#, c-format
-msgid "unknown notes merge strategy %s"
-msgstr ""
-
-#: builtin/notes.c:782
-msgid "General options"
-msgstr ""
-
-#: builtin/notes.c:784
-msgid "Merge options"
-msgstr ""
-
-#: builtin/notes.c:786
-msgid ""
-"resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
-"cat_sort_uniq)"
-msgstr ""
-
-#: builtin/notes.c:788
-msgid "Committing unmerged notes"
-msgstr ""
-
-#: builtin/notes.c:790
-msgid "finalize notes merge by committing unmerged notes"
-msgstr ""
-
-#: builtin/notes.c:792
-msgid "Aborting notes merge resolution"
-msgstr ""
-
-#: builtin/notes.c:794
-msgid "abort notes merge"
-msgstr ""
-
-#: builtin/notes.c:805
-msgid "cannot mix --commit, --abort or -s/--strategy"
-msgstr ""
-
-#: builtin/notes.c:810
-msgid "must specify a notes ref to merge"
-msgstr ""
-
-#: builtin/notes.c:834
-#, c-format
-msgid "unknown -s/--strategy: %s"
-msgstr ""
-
-#: builtin/notes.c:874
-#, c-format
-msgid "a notes merge into %s is already in-progress at %s"
-msgstr ""
-
-#: builtin/notes.c:878
-#, c-format
-msgid "failed to store link to current notes ref (%s)"
-msgstr ""
-
-#: builtin/notes.c:880
-#, c-format
-msgid ""
-"Automatic notes merge failed. Fix conflicts in %s and commit the result with "
-"'git notes merge --commit', or abort the merge with 'git notes merge --"
-"abort'.\n"
-msgstr ""
-
-#: builtin/notes.c:899 builtin/tag.c:595
-#, c-format
-msgid "Failed to resolve '%s' as a valid ref."
-msgstr ""
-
-#: builtin/notes.c:902
-#, c-format
-msgid "Object %s has no note\n"
-msgstr ""
-
-#: builtin/notes.c:914
-msgid "attempt to remove non-existent note is not an error"
-msgstr ""
-
-#: builtin/notes.c:917
-msgid "read object names from the standard input"
-msgstr ""
-
-#: builtin/notes.c:956 builtin/prune.c:144 builtin/worktree.c:148
-msgid "do not remove, show only"
-msgstr ""
-
-#: builtin/notes.c:957
-msgid "report pruned notes"
-msgstr ""
-
-#: builtin/notes.c:1000
-msgid "notes-ref"
-msgstr ""
-
-#: builtin/notes.c:1001
-msgid "use notes from <notes-ref>"
-msgstr ""
-
-#: builtin/notes.c:1036 builtin/stash.c:1802
-#, c-format
-msgid "unknown subcommand: %s"
-msgstr ""
-
-#: builtin/pack-objects.c:182
-msgid ""
-"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
-msgstr ""
-
-#: builtin/pack-objects.c:183
-msgid ""
-"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
-msgstr ""
-
-#: builtin/pack-objects.c:570
-#, c-format
-msgid ""
-"write_reuse_object: could not locate %s, expected at offset %<PRIuMAX> in "
-"pack %s"
-msgstr ""
-
-#: builtin/pack-objects.c:578
-#, c-format
-msgid "bad packed object CRC for %s"
-msgstr ""
-
-#: builtin/pack-objects.c:589
-#, c-format
-msgid "corrupt packed object for %s"
-msgstr ""
-
-#: builtin/pack-objects.c:720
-#, c-format
-msgid "recursive delta detected for object %s"
-msgstr ""
-
-#: builtin/pack-objects.c:939
-#, c-format
-msgid "ordered %u objects, expected %<PRIu32>"
-msgstr ""
-
-#: builtin/pack-objects.c:1034
-#, c-format
-msgid "expected object at offset %<PRIuMAX> in pack %s"
-msgstr ""
-
-#: builtin/pack-objects.c:1158
-msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
-msgstr ""
-
-#: builtin/pack-objects.c:1171
-msgid "Writing objects"
-msgstr ""
-
-#: builtin/pack-objects.c:1243 builtin/update-index.c:90
-#, c-format
-msgid "failed to stat %s"
-msgstr ""
-
-#: builtin/pack-objects.c:1276
-msgid "failed to write bitmap index"
-msgstr ""
-
-#: builtin/pack-objects.c:1302
-#, c-format
-msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
-msgstr ""
-
-#: builtin/pack-objects.c:1544
-msgid "disabling bitmap writing, as some objects are not being packed"
-msgstr ""
-
-#: builtin/pack-objects.c:1992
-#, c-format
-msgid "delta base offset overflow in pack for %s"
-msgstr ""
-
-#: builtin/pack-objects.c:2001
-#, c-format
-msgid "delta base offset out of bound for %s"
-msgstr ""
-
-#: builtin/pack-objects.c:2282
-msgid "Counting objects"
-msgstr ""
-
-#: builtin/pack-objects.c:2447
-#, c-format
-msgid "unable to parse object header of %s"
-msgstr ""
-
-#: builtin/pack-objects.c:2517 builtin/pack-objects.c:2533
-#: builtin/pack-objects.c:2543
-#, c-format
-msgid "object %s cannot be read"
-msgstr ""
-
-#: builtin/pack-objects.c:2520 builtin/pack-objects.c:2547
-#, c-format
-msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
-msgstr ""
-
-#: builtin/pack-objects.c:2557
-msgid "suboptimal pack - out of memory"
-msgstr ""
-
-#: builtin/pack-objects.c:2872
-#, c-format
-msgid "Delta compression using up to %d threads"
-msgstr ""
-
-#: builtin/pack-objects.c:3011
-#, c-format
-msgid "unable to pack objects reachable from tag %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3097
-msgid "Compressing objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3103
-msgid "inconsistency with delta count"
-msgstr ""
-
-#: builtin/pack-objects.c:3182
-#, c-format
-msgid ""
-"value of uploadpack.blobpackfileuri must be of the form '<object-hash> <pack-"
-"hash> <uri>' (got '%s')"
-msgstr ""
-
-#: builtin/pack-objects.c:3185
-#, c-format
-msgid ""
-"object already configured in another uploadpack.blobpackfileuri (got '%s')"
-msgstr ""
-
-#: builtin/pack-objects.c:3220
-#, c-format
-msgid "could not get type of object %s in pack %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3348 builtin/pack-objects.c:3359
-#: builtin/pack-objects.c:3373
-#, c-format
-msgid "could not find pack '%s'"
-msgstr ""
-
-#: builtin/pack-objects.c:3416
-#, c-format
-msgid ""
-"expected edge object ID, got garbage:\n"
-" %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3422
-#, c-format
-msgid ""
-"expected object ID, got garbage:\n"
-" %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3540 builtin/pack-objects.c:3627
-msgid "cannot open pack index"
-msgstr ""
-
-#: builtin/pack-objects.c:3549
-#, c-format
-msgid "loose object at %s could not be examined"
-msgstr ""
-
-#: builtin/pack-objects.c:3635
-msgid "unable to force loose object"
-msgstr ""
-
-#: builtin/pack-objects.c:3763
-#, c-format
-msgid "not a rev '%s'"
-msgstr ""
-
-#: builtin/pack-objects.c:3766 builtin/rev-parse.c:1061
-#, c-format
-msgid "bad revision '%s'"
-msgstr ""
-
-#: builtin/pack-objects.c:3794
-msgid "unable to add recent objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3847
-#, c-format
-msgid "unsupported index version %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3851
-#, c-format
-msgid "bad index version '%s'"
-msgstr ""
-
-#: builtin/pack-objects.c:3907
-msgid "<version>[,<offset>]"
-msgstr ""
-
-#: builtin/pack-objects.c:3908
-msgid "write the pack index file in the specified idx format version"
-msgstr ""
-
-#: builtin/pack-objects.c:3911
-msgid "maximum size of each output pack file"
-msgstr ""
-
-#: builtin/pack-objects.c:3913
-msgid "ignore borrowed objects from alternate object store"
-msgstr ""
-
-#: builtin/pack-objects.c:3915
-msgid "ignore packed objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3917
-msgid "limit pack window by objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3919
-msgid "limit pack window by memory in addition to object limit"
-msgstr ""
-
-#: builtin/pack-objects.c:3921
-msgid "maximum length of delta chain allowed in the resulting pack"
-msgstr ""
-
-#: builtin/pack-objects.c:3923
-msgid "reuse existing deltas"
-msgstr ""
-
-#: builtin/pack-objects.c:3925
-msgid "reuse existing objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3927
-msgid "use OFS_DELTA objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3929
-msgid "use threads when searching for best delta matches"
-msgstr ""
-
-#: builtin/pack-objects.c:3931
-msgid "do not create an empty pack output"
-msgstr ""
-
-#: builtin/pack-objects.c:3933
-msgid "read revision arguments from standard input"
-msgstr ""
-
-#: builtin/pack-objects.c:3935
-msgid "limit the objects to those that are not yet packed"
-msgstr ""
-
-#: builtin/pack-objects.c:3938
-msgid "include objects reachable from any reference"
-msgstr ""
-
-#: builtin/pack-objects.c:3941
-msgid "include objects referred by reflog entries"
-msgstr ""
-
-#: builtin/pack-objects.c:3944
-msgid "include objects referred to by the index"
-msgstr ""
-
-#: builtin/pack-objects.c:3947
-msgid "read packs from stdin"
-msgstr ""
-
-#: builtin/pack-objects.c:3949
-msgid "output pack to stdout"
-msgstr ""
-
-#: builtin/pack-objects.c:3951
-msgid "include tag objects that refer to objects to be packed"
-msgstr ""
-
-#: builtin/pack-objects.c:3953
-msgid "keep unreachable objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3955
-msgid "pack loose unreachable objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3957
-msgid "unpack unreachable objects newer than <time>"
-msgstr ""
-
-#: builtin/pack-objects.c:3960
-msgid "use the sparse reachability algorithm"
-msgstr ""
-
-#: builtin/pack-objects.c:3962
-msgid "create thin packs"
-msgstr ""
-
-#: builtin/pack-objects.c:3964
-msgid "create packs suitable for shallow fetches"
-msgstr ""
-
-#: builtin/pack-objects.c:3966
-msgid "ignore packs that have companion .keep file"
-msgstr ""
-
-#: builtin/pack-objects.c:3968
-msgid "ignore this pack"
-msgstr ""
-
-#: builtin/pack-objects.c:3970
-msgid "pack compression level"
-msgstr ""
-
-#: builtin/pack-objects.c:3972
-msgid "do not hide commits by grafts"
-msgstr ""
-
-#: builtin/pack-objects.c:3974
-msgid "use a bitmap index if available to speed up counting objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3976
-msgid "write a bitmap index together with the pack index"
-msgstr ""
-
-#: builtin/pack-objects.c:3980
-msgid "write a bitmap index if possible"
-msgstr ""
-
-#: builtin/pack-objects.c:3984
-msgid "handling for missing objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3987
-msgid "do not pack objects in promisor packfiles"
-msgstr ""
-
-#: builtin/pack-objects.c:3989
-msgid "respect islands during delta compression"
-msgstr ""
-
-#: builtin/pack-objects.c:3991
-msgid "protocol"
-msgstr ""
-
-#: builtin/pack-objects.c:3992
-msgid "exclude any configured uploadpack.blobpackfileuri with this protocol"
-msgstr ""
-
-#: builtin/pack-objects.c:4027
-#, c-format
-msgid "delta chain depth %d is too deep, forcing %d"
-msgstr ""
-
-#: builtin/pack-objects.c:4032
-#, c-format
-msgid "pack.deltaCacheLimit is too high, forcing %d"
-msgstr ""
-
-#: builtin/pack-objects.c:4088
-msgid "--max-pack-size cannot be used to build a pack for transfer"
-msgstr ""
-
-#: builtin/pack-objects.c:4090
-msgid "minimum pack size limit is 1 MiB"
-msgstr ""
-
-#: builtin/pack-objects.c:4095
-msgid "--thin cannot be used to build an indexable pack"
-msgstr ""
-
-#: builtin/pack-objects.c:4104
-msgid "cannot use --filter without --stdout"
-msgstr ""
-
-#: builtin/pack-objects.c:4106
-msgid "cannot use --filter with --stdin-packs"
-msgstr ""
-
-#: builtin/pack-objects.c:4110
-msgid "cannot use internal rev list with --stdin-packs"
-msgstr ""
-
-#: builtin/pack-objects.c:4169
-msgid "Enumerating objects"
-msgstr ""
-
-#: builtin/pack-objects.c:4210
-#, c-format
-msgid ""
-"Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>), pack-"
-"reused %<PRIu32>"
-msgstr ""
-
-#: builtin/pack-redundant.c:601
-msgid ""
-"'git pack-redundant' is nominated for removal.\n"
-"If you still use this command, please add an extra\n"
-"option, '--i-still-use-this', on the command line\n"
-"and let us know you still use it by sending an e-mail\n"
-"to <git@vger.kernel.org>.  Thanks.\n"
-msgstr ""
-
-#: builtin/pack-refs.c:8
-msgid "git pack-refs [<options>]"
-msgstr ""
-
-#: builtin/pack-refs.c:16
-msgid "pack everything"
-msgstr ""
-
-#: builtin/pack-refs.c:17
-msgid "prune loose refs (default)"
-msgstr ""
-
-#: builtin/prune.c:14
-msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
-msgstr ""
-
-#: builtin/prune.c:145
-msgid "report pruned objects"
-msgstr ""
-
-#: builtin/prune.c:148
-msgid "expire objects older than <time>"
-msgstr ""
-
-#: builtin/prune.c:150
-msgid "limit traversal to objects outside promisor packfiles"
-msgstr ""
-
-#: builtin/prune.c:163
-msgid "cannot prune in a precious-objects repo"
-msgstr ""
-
-#: builtin/pull.c:67
-msgid "git pull [<options>] [<repository> [<refspec>...]]"
-msgstr ""
-
-#: builtin/pull.c:124
-msgid "control for recursive fetching of submodules"
-msgstr ""
-
-#: builtin/pull.c:128
-msgid "Options related to merging"
-msgstr ""
-
-#: builtin/pull.c:131
-msgid "incorporate changes by rebasing rather than merging"
-msgstr ""
-
-#: builtin/pull.c:159 builtin/revert.c:126
-msgid "allow fast-forward"
-msgstr ""
-
-#: builtin/pull.c:165
-msgid "control use of pre-merge-commit and commit-msg hooks"
-msgstr ""
-
-#: builtin/pull.c:171 parse-options.h:371
-msgid "automatically stash/stash pop before and after"
-msgstr ""
-
-#: builtin/pull.c:187
-msgid "Options related to fetching"
-msgstr ""
-
-#: builtin/pull.c:197
-msgid "force overwrite of local branch"
-msgstr ""
-
-#: builtin/pull.c:205
-msgid "number of submodules pulled in parallel"
-msgstr ""
-
-#: builtin/pull.c:449
-msgid ""
-"There is no candidate for rebasing against among the refs that you just "
-"fetched."
-msgstr ""
-
-#: builtin/pull.c:451
-msgid ""
-"There are no candidates for merging among the refs that you just fetched."
-msgstr ""
-
-#: builtin/pull.c:452
-msgid ""
-"Generally this means that you provided a wildcard refspec which had no\n"
-"matches on the remote end."
-msgstr ""
-
-#: builtin/pull.c:455
-#, c-format
-msgid ""
-"You asked to pull from the remote '%s', but did not specify\n"
-"a branch. Because this is not the default configured remote\n"
-"for your current branch, you must specify a branch on the command line."
-msgstr ""
-
-#: builtin/pull.c:460 builtin/rebase.c:978
-msgid "You are not currently on a branch."
-msgstr ""
-
-#: builtin/pull.c:462 builtin/pull.c:477
-msgid "Please specify which branch you want to rebase against."
-msgstr ""
-
-#: builtin/pull.c:464 builtin/pull.c:479
-msgid "Please specify which branch you want to merge with."
-msgstr ""
-
-#: builtin/pull.c:465 builtin/pull.c:480
-msgid "See git-pull(1) for details."
-msgstr ""
-
-#: builtin/pull.c:467 builtin/pull.c:473 builtin/pull.c:482
-#: builtin/rebase.c:984
-msgid "<remote>"
-msgstr ""
-
-#: builtin/pull.c:467 builtin/pull.c:482 builtin/pull.c:487
-#: contrib/scalar/scalar.c:374
-msgid "<branch>"
-msgstr ""
-
-#: builtin/pull.c:475 builtin/rebase.c:976
-msgid "There is no tracking information for the current branch."
-msgstr ""
-
-#: builtin/pull.c:484
-msgid ""
-"If you wish to set tracking information for this branch you can do so with:"
-msgstr ""
-
-#: builtin/pull.c:489
-#, c-format
-msgid ""
-"Your configuration specifies to merge with the ref '%s'\n"
-"from the remote, but no such ref was fetched."
-msgstr ""
-
-#: builtin/pull.c:600
-#, c-format
-msgid "unable to access commit %s"
-msgstr ""
-
-#: builtin/pull.c:908
-msgid "ignoring --verify-signatures for rebase"
-msgstr ""
-
-#: builtin/pull.c:969
-msgid ""
-"You have divergent branches and need to specify how to reconcile them.\n"
-"You can do so by running one of the following commands sometime before\n"
-"your next pull:\n"
-"\n"
-"  git config pull.rebase false  # merge\n"
-"  git config pull.rebase true   # rebase\n"
-"  git config pull.ff only       # fast-forward only\n"
-"\n"
-"You can replace \"git config\" with \"git config --global\" to set a "
-"default\n"
-"preference for all repositories. You can also pass --rebase, --no-rebase,\n"
-"or --ff-only on the command line to override the configured default per\n"
-"invocation.\n"
-msgstr ""
-
-#: builtin/pull.c:1047
-msgid "Updating an unborn branch with changes added to the index."
-msgstr ""
-
-#: builtin/pull.c:1051
-msgid "pull with rebase"
-msgstr ""
-
-#: builtin/pull.c:1052
-msgid "please commit or stash them."
-msgstr ""
-
-#: builtin/pull.c:1077
-#, c-format
-msgid ""
-"fetch updated the current branch head.\n"
-"fast-forwarding your working tree from\n"
-"commit %s."
-msgstr ""
-
-#: builtin/pull.c:1083
-#, c-format
-msgid ""
-"Cannot fast-forward your working tree.\n"
-"After making sure that you saved anything precious from\n"
-"$ git diff %s\n"
-"output, run\n"
-"$ git reset --hard\n"
-"to recover."
-msgstr ""
-
-#: builtin/pull.c:1098
-msgid "Cannot merge multiple branches into empty head."
-msgstr ""
-
-#: builtin/pull.c:1103
-msgid "Cannot rebase onto multiple branches."
-msgstr ""
-
-#: builtin/pull.c:1105
-msgid "Cannot fast-forward to multiple branches."
-msgstr ""
-
-#: builtin/pull.c:1120
-msgid "Need to specify how to reconcile divergent branches."
-msgstr ""
-
-#: builtin/pull.c:1134
-msgid "cannot rebase with locally recorded submodule modifications"
-msgstr ""
-
-#: builtin/push.c:19
-msgid "git push [<options>] [<repository> [<refspec>...]]"
-msgstr ""
-
-#: builtin/push.c:111
-msgid "tag shorthand without <tag>"
-msgstr ""
-
-#: builtin/push.c:119
-msgid "--delete only accepts plain target ref names"
-msgstr ""
-
-#: builtin/push.c:164
-msgid ""
-"\n"
-"To choose either option permanently, see push.default in 'git help config'."
-msgstr ""
-
-#: builtin/push.c:167
-#, c-format
-msgid ""
-"The upstream branch of your current branch does not match\n"
-"the name of your current branch.  To push to the upstream branch\n"
-"on the remote, use\n"
-"\n"
-"    git push %s HEAD:%s\n"
-"\n"
-"To push to the branch of the same name on the remote, use\n"
-"\n"
-"    git push %s HEAD\n"
-"%s"
-msgstr ""
-
-#: builtin/push.c:182
-#, c-format
-msgid ""
-"You are not currently on a branch.\n"
-"To push the history leading to the current (detached HEAD)\n"
-"state now, use\n"
-"\n"
-"    git push %s HEAD:<name-of-remote-branch>\n"
-msgstr ""
-
-#: builtin/push.c:191
-#, c-format
-msgid ""
-"The current branch %s has no upstream branch.\n"
-"To push the current branch and set the remote as upstream, use\n"
-"\n"
-"    git push --set-upstream %s %s\n"
-msgstr ""
-
-#: builtin/push.c:199
-#, c-format
-msgid "The current branch %s has multiple upstream branches, refusing to push."
-msgstr ""
-
-#: builtin/push.c:217
-msgid ""
-"You didn't specify any refspecs to push, and push.default is \"nothing\"."
-msgstr ""
-
-#: builtin/push.c:243
-#, c-format
-msgid ""
-"You are pushing to remote '%s', which is not the upstream of\n"
-"your current branch '%s', without telling me what to push\n"
-"to update which remote branch."
-msgstr ""
-
-#: builtin/push.c:258
-msgid ""
-"Updates were rejected because the tip of your current branch is behind\n"
-"its remote counterpart. Integrate the remote changes (e.g.\n"
-"'git pull ...') before pushing again.\n"
-"See the 'Note about fast-forwards' in 'git push --help' for details."
-msgstr ""
-
-#: builtin/push.c:264
-msgid ""
-"Updates were rejected because a pushed branch tip is behind its remote\n"
-"counterpart. Check out this branch and integrate the remote changes\n"
-"(e.g. 'git pull ...') before pushing again.\n"
-"See the 'Note about fast-forwards' in 'git push --help' for details."
-msgstr ""
-
-#: builtin/push.c:270
-msgid ""
-"Updates were rejected because the remote contains work that you do\n"
-"not have locally. This is usually caused by another repository pushing\n"
-"to the same ref. You may want to first integrate the remote changes\n"
-"(e.g., 'git pull ...') before pushing again.\n"
-"See the 'Note about fast-forwards' in 'git push --help' for details."
-msgstr ""
-
-#: builtin/push.c:277
-msgid "Updates were rejected because the tag already exists in the remote."
-msgstr ""
-
-#: builtin/push.c:280
-msgid ""
-"You cannot update a remote ref that points at a non-commit object,\n"
-"or update a remote ref to make it point at a non-commit object,\n"
-"without using the '--force' option.\n"
-msgstr ""
-
-#: builtin/push.c:285
-msgid ""
-"Updates were rejected because the tip of the remote-tracking\n"
-"branch has been updated since the last checkout. You may want\n"
-"to integrate those changes locally (e.g., 'git pull ...')\n"
-"before forcing an update.\n"
-msgstr ""
-
-#: builtin/push.c:355
-#, c-format
-msgid "Pushing to %s\n"
-msgstr ""
-
-#: builtin/push.c:362
-#, c-format
-msgid "failed to push some refs to '%s'"
-msgstr ""
-
-#: builtin/push.c:544 builtin/submodule--helper.c:3377
-msgid "repository"
-msgstr ""
-
-#: builtin/push.c:545 builtin/send-pack.c:193
-msgid "push all refs"
-msgstr ""
-
-#: builtin/push.c:546 builtin/send-pack.c:195
-msgid "mirror all refs"
-msgstr ""
-
-#: builtin/push.c:548
-msgid "delete refs"
-msgstr ""
-
-#: builtin/push.c:549
-msgid "push tags (can't be used with --all or --mirror)"
-msgstr ""
-
-#: builtin/push.c:552 builtin/send-pack.c:196
-msgid "force updates"
-msgstr ""
-
-#: builtin/push.c:553 builtin/send-pack.c:208
-msgid "<refname>:<expect>"
-msgstr ""
-
-#: builtin/push.c:554 builtin/send-pack.c:209
-msgid "require old value of ref to be at this value"
-msgstr ""
-
-#: builtin/push.c:557 builtin/send-pack.c:212
-msgid "require remote updates to be integrated locally"
-msgstr ""
-
-#: builtin/push.c:560
-msgid "control recursive pushing of submodules"
-msgstr ""
-
-#: builtin/push.c:561 builtin/send-pack.c:203
-msgid "use thin pack"
-msgstr ""
-
-#: builtin/push.c:562 builtin/push.c:563 builtin/send-pack.c:190
-#: builtin/send-pack.c:191
-msgid "receive pack program"
-msgstr ""
-
-#: builtin/push.c:564
-msgid "set upstream for git pull/status"
-msgstr ""
-
-#: builtin/push.c:567
-msgid "prune locally removed refs"
-msgstr ""
-
-#: builtin/push.c:569
-msgid "bypass pre-push hook"
-msgstr ""
-
-#: builtin/push.c:570
-msgid "push missing but relevant tags"
-msgstr ""
-
-#: builtin/push.c:572 builtin/send-pack.c:197
-msgid "GPG sign the push"
-msgstr ""
-
-#: builtin/push.c:574 builtin/send-pack.c:204
-msgid "request atomic transaction on remote side"
-msgstr ""
-
-#: builtin/push.c:594
-msgid "--delete doesn't make sense without any refs"
-msgstr ""
-
-#: builtin/push.c:614
-#, c-format
-msgid "bad repository '%s'"
-msgstr ""
-
-#: builtin/push.c:615
-msgid ""
-"No configured push destination.\n"
-"Either specify the URL from the command-line or configure a remote "
-"repository using\n"
-"\n"
-"    git remote add <name> <url>\n"
-"\n"
-"and then push using the remote name\n"
-"\n"
-"    git push <name>\n"
-msgstr ""
-
-#: builtin/push.c:632
-msgid "--all can't be combined with refspecs"
-msgstr ""
-
-#: builtin/push.c:638
-msgid "--mirror can't be combined with refspecs"
-msgstr ""
-
-#: builtin/push.c:648
-msgid "push options must not have new line characters"
-msgstr ""
-
-#: builtin/range-diff.c:9
-msgid "git range-diff [<options>] <old-base>..<old-tip> <new-base>..<new-tip>"
-msgstr ""
-
-#: builtin/range-diff.c:10
-msgid "git range-diff [<options>] <old-tip>...<new-tip>"
-msgstr ""
-
-#: builtin/range-diff.c:11
-msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
-msgstr ""
-
-#: builtin/range-diff.c:30
-msgid "use simple diff colors"
-msgstr ""
-
-#: builtin/range-diff.c:32
-msgid "notes"
-msgstr ""
-
-#: builtin/range-diff.c:32
-msgid "passed to 'git log'"
-msgstr ""
-
-#: builtin/range-diff.c:35
-msgid "only emit output related to the first range"
-msgstr ""
-
-#: builtin/range-diff.c:37
-msgid "only emit output related to the second range"
-msgstr ""
-
-#: builtin/range-diff.c:60 builtin/range-diff.c:64
-#, c-format
-msgid "not a commit range: '%s'"
-msgstr ""
-
-#: builtin/range-diff.c:74
-msgid "single arg format must be symmetric range"
-msgstr ""
-
-#: builtin/range-diff.c:89
-msgid "need two commit ranges"
-msgstr ""
-
-#: builtin/read-tree.c:41
-msgid ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
-"[-u | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-"
-"ish1> [<tree-ish2> [<tree-ish3>]])"
-msgstr ""
-
-#: builtin/read-tree.c:116
-msgid "write resulting index to <file>"
-msgstr ""
-
-#: builtin/read-tree.c:119
-msgid "only empty the index"
-msgstr ""
-
-#: builtin/read-tree.c:121
-msgid "Merging"
-msgstr ""
-
-#: builtin/read-tree.c:123
-msgid "perform a merge in addition to a read"
-msgstr ""
-
-#: builtin/read-tree.c:125
-msgid "3-way merge if no file level merging required"
-msgstr ""
-
-#: builtin/read-tree.c:127
-msgid "3-way merge in presence of adds and removes"
-msgstr ""
-
-#: builtin/read-tree.c:129
-msgid "same as -m, but discard unmerged entries"
-msgstr ""
-
-#: builtin/read-tree.c:130
-msgid "<subdirectory>/"
-msgstr ""
-
-#: builtin/read-tree.c:131
-msgid "read the tree into the index under <subdirectory>/"
-msgstr ""
-
-#: builtin/read-tree.c:134
-msgid "update working tree with merge result"
-msgstr ""
-
-#: builtin/read-tree.c:136
-msgid "gitignore"
-msgstr ""
-
-#: builtin/read-tree.c:137
-msgid "allow explicitly ignored files to be overwritten"
-msgstr ""
-
-#: builtin/read-tree.c:140
-msgid "don't check the working tree after merging"
-msgstr ""
-
-#: builtin/read-tree.c:141
-msgid "don't update the index or the work tree"
-msgstr ""
-
-#: builtin/read-tree.c:143
-msgid "skip applying sparse checkout filter"
-msgstr ""
-
-#: builtin/read-tree.c:145
-msgid "debug unpack-trees"
-msgstr ""
-
-#: builtin/read-tree.c:149
-msgid "suppress feedback messages"
-msgstr ""
-
-#: builtin/read-tree.c:190
-msgid "You need to resolve your current index first"
-msgstr ""
-
-#: builtin/rebase.c:36
-msgid ""
-"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] "
-"[<upstream> [<branch>]]"
-msgstr ""
-
-#: builtin/rebase.c:38
-msgid ""
-"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]"
-msgstr ""
-
-#: builtin/rebase.c:231
-#, c-format
-msgid "could not create temporary %s"
-msgstr ""
-
-#: builtin/rebase.c:237
-msgid "could not mark as interactive"
-msgstr ""
-
-#: builtin/rebase.c:290
-msgid "could not generate todo list"
-msgstr ""
-
-#: builtin/rebase.c:332
-msgid "a base commit must be provided with --upstream or --onto"
-msgstr ""
-
-#: builtin/rebase.c:391
-#, c-format
-msgid "%s requires the merge backend"
-msgstr ""
-
-#: builtin/rebase.c:433
-#, c-format
-msgid "could not get 'onto': '%s'"
-msgstr ""
-
-#: builtin/rebase.c:450
-#, c-format
-msgid "invalid orig-head: '%s'"
-msgstr ""
-
-#: builtin/rebase.c:475
-#, c-format
-msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
-msgstr ""
-
-#: builtin/rebase.c:600
-msgid ""
-"Resolve all conflicts manually, mark them as resolved with\n"
-"\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
-"You can instead skip this commit: run \"git rebase --skip\".\n"
-"To abort and get back to the state before \"git rebase\", run \"git rebase --"
-"abort\"."
-msgstr ""
-
-#: builtin/rebase.c:685
-#, c-format
-msgid ""
-"\n"
-"git encountered an error while preparing the patches to replay\n"
-"these revisions:\n"
-"\n"
-"    %s\n"
-"\n"
-"As a result, git cannot rebase them."
-msgstr ""
-
-#: builtin/rebase.c:836
-#, c-format
-msgid "could not switch to %s"
-msgstr ""
-
-#: builtin/rebase.c:952
-#, c-format
-msgid ""
-"unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask"
-"\"."
-msgstr ""
-
-#: builtin/rebase.c:970
-#, c-format
-msgid ""
-"%s\n"
-"Please specify which branch you want to rebase against.\n"
-"See git-rebase(1) for details.\n"
-"\n"
-"    git rebase '<branch>'\n"
-"\n"
-msgstr ""
-
-#: builtin/rebase.c:986
-#, c-format
-msgid ""
-"If you wish to set tracking information for this branch you can do so with:\n"
-"\n"
-"    git branch --set-upstream-to=%s/<branch> %s\n"
-"\n"
-msgstr ""
-
-#: builtin/rebase.c:1016
-msgid "exec commands cannot contain newlines"
-msgstr ""
-
-#: builtin/rebase.c:1020
-msgid "empty exec command"
-msgstr ""
-
-#: builtin/rebase.c:1051
-msgid "rebase onto given branch instead of upstream"
-msgstr ""
-
-#: builtin/rebase.c:1053
-msgid "use the merge-base of upstream and branch as the current base"
-msgstr ""
-
-#: builtin/rebase.c:1055
-msgid "allow pre-rebase hook to run"
-msgstr ""
-
-#: builtin/rebase.c:1057
-msgid "be quiet. implies --no-stat"
-msgstr ""
-
-#: builtin/rebase.c:1060
-msgid "display a diffstat of what changed upstream"
-msgstr ""
-
-#: builtin/rebase.c:1063
-msgid "do not show diffstat of what changed upstream"
-msgstr ""
-
-#: builtin/rebase.c:1066
-msgid "add a Signed-off-by trailer to each commit"
-msgstr ""
-
-#: builtin/rebase.c:1069
-msgid "make committer date match author date"
-msgstr ""
-
-#: builtin/rebase.c:1071
-msgid "ignore author date and use current date"
-msgstr ""
-
-#: builtin/rebase.c:1073
-msgid "synonym of --reset-author-date"
-msgstr ""
-
-#: builtin/rebase.c:1075 builtin/rebase.c:1079
-msgid "passed to 'git apply'"
-msgstr ""
-
-#: builtin/rebase.c:1077
-msgid "ignore changes in whitespace"
-msgstr ""
-
-#: builtin/rebase.c:1081 builtin/rebase.c:1084
-msgid "cherry-pick all commits, even if unchanged"
-msgstr ""
-
-#: builtin/rebase.c:1086
-msgid "continue"
-msgstr ""
-
-#: builtin/rebase.c:1089
-msgid "skip current patch and continue"
-msgstr ""
-
-#: builtin/rebase.c:1091
-msgid "abort and check out the original branch"
-msgstr ""
-
-#: builtin/rebase.c:1094
-msgid "abort but keep HEAD where it is"
-msgstr ""
-
-#: builtin/rebase.c:1095
-msgid "edit the todo list during an interactive rebase"
-msgstr ""
-
-#: builtin/rebase.c:1098
-msgid "show the patch file being applied or merged"
-msgstr ""
-
-#: builtin/rebase.c:1101
-msgid "use apply strategies to rebase"
-msgstr ""
-
-#: builtin/rebase.c:1105
-msgid "use merging strategies to rebase"
-msgstr ""
-
-#: builtin/rebase.c:1109
-msgid "let the user edit the list of commits to rebase"
-msgstr ""
-
-#: builtin/rebase.c:1113
-msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
-msgstr ""
-
-#: builtin/rebase.c:1118
-msgid "how to handle commits that become empty"
-msgstr ""
-
-#: builtin/rebase.c:1121
-msgid "keep commits which start empty"
-msgstr ""
-
-#: builtin/rebase.c:1125
-msgid "move commits that begin with squash!/fixup! under -i"
-msgstr ""
-
-#: builtin/rebase.c:1132
-msgid "add exec lines after each commit of the editable list"
-msgstr ""
-
-#: builtin/rebase.c:1136
-msgid "allow rebasing commits with empty messages"
-msgstr ""
-
-#: builtin/rebase.c:1140
-msgid "try to rebase merges instead of skipping them"
-msgstr ""
-
-#: builtin/rebase.c:1143
-msgid "use 'merge-base --fork-point' to refine upstream"
-msgstr ""
-
-#: builtin/rebase.c:1145
-msgid "use the given merge strategy"
-msgstr ""
-
-#: builtin/rebase.c:1147 builtin/revert.c:115
-msgid "option"
-msgstr ""
-
-#: builtin/rebase.c:1148
-msgid "pass the argument through to the merge strategy"
-msgstr ""
-
-#: builtin/rebase.c:1151
-msgid "rebase all reachable commits up to the root(s)"
-msgstr ""
-
-#: builtin/rebase.c:1154
-msgid "automatically re-schedule any `exec` that fails"
-msgstr ""
-
-#: builtin/rebase.c:1156
-msgid "apply all changes, even those already present upstream"
-msgstr ""
-
-#: builtin/rebase.c:1177
-msgid "It looks like 'git am' is in progress. Cannot rebase."
-msgstr ""
-
-#: builtin/rebase.c:1208
-msgid "--preserve-merges was replaced by --rebase-merges"
-msgstr ""
-
-#: builtin/rebase.c:1230
-msgid "No rebase in progress?"
-msgstr ""
-
-#: builtin/rebase.c:1234
-msgid "The --edit-todo action can only be used during interactive rebase."
-msgstr ""
-
-#: builtin/rebase.c:1257 t/helper/test-fast-rebase.c:122
-msgid "Cannot read HEAD"
-msgstr ""
-
-#: builtin/rebase.c:1269
-msgid ""
-"You must edit all merge conflicts and then\n"
-"mark them as resolved using git add"
-msgstr ""
-
-#: builtin/rebase.c:1287
-msgid "could not discard worktree changes"
-msgstr ""
-
-#: builtin/rebase.c:1308
-#, c-format
-msgid "could not move back to %s"
-msgstr ""
-
-#: builtin/rebase.c:1354
-#, c-format
-msgid ""
-"It seems that there is already a %s directory, and\n"
-"I wonder if you are in the middle of another rebase.  If that is the\n"
-"case, please try\n"
-"\t%s\n"
-"If that is not the case, please\n"
-"\t%s\n"
-"and run me again.  I am stopping in case you still have something\n"
-"valuable there.\n"
-msgstr ""
-
-#: builtin/rebase.c:1382
-msgid "switch `C' expects a numerical value"
-msgstr ""
-
-#: builtin/rebase.c:1424
-#, c-format
-msgid "Unknown mode: %s"
-msgstr ""
-
-#: builtin/rebase.c:1463
-msgid "--strategy requires --merge or --interactive"
-msgstr ""
-
-#: builtin/rebase.c:1492
-msgid "apply options and merge options cannot be used together"
-msgstr ""
-
-#: builtin/rebase.c:1505
-#, c-format
-msgid "Unknown rebase backend: %s"
-msgstr ""
-
-#: builtin/rebase.c:1534
-msgid "--reschedule-failed-exec requires --exec or --interactive"
-msgstr ""
-
-#: builtin/rebase.c:1565
-#, c-format
-msgid "invalid upstream '%s'"
-msgstr ""
-
-#: builtin/rebase.c:1571
-msgid "Could not create new root commit"
-msgstr ""
-
-#: builtin/rebase.c:1597
-#, c-format
-msgid "'%s': need exactly one merge base with branch"
-msgstr ""
-
-#: builtin/rebase.c:1600
-#, c-format
-msgid "'%s': need exactly one merge base"
-msgstr ""
-
-#: builtin/rebase.c:1609
-#, c-format
-msgid "Does not point to a valid commit '%s'"
-msgstr ""
-
-#: builtin/rebase.c:1636
-#, c-format
-msgid "no such branch/commit '%s'"
-msgstr ""
-
-#: builtin/rebase.c:1647 builtin/submodule--helper.c:43
-#: builtin/submodule--helper.c:2477
-#, c-format
-msgid "No such ref: %s"
-msgstr ""
-
-#: builtin/rebase.c:1658
-msgid "Could not resolve HEAD to a revision"
-msgstr ""
-
-#: builtin/rebase.c:1679
-msgid "Please commit or stash them."
-msgstr ""
-
-#: builtin/rebase.c:1714
-msgid "HEAD is up to date."
-msgstr ""
-
-#: builtin/rebase.c:1716
-#, c-format
-msgid "Current branch %s is up to date.\n"
-msgstr ""
-
-#: builtin/rebase.c:1724
-msgid "HEAD is up to date, rebase forced."
-msgstr ""
-
-#: builtin/rebase.c:1726
-#, c-format
-msgid "Current branch %s is up to date, rebase forced.\n"
-msgstr ""
-
-#: builtin/rebase.c:1734
-msgid "The pre-rebase hook refused to rebase."
-msgstr ""
-
-#: builtin/rebase.c:1741
-#, c-format
-msgid "Changes to %s:\n"
-msgstr ""
-
-#: builtin/rebase.c:1744
-#, c-format
-msgid "Changes from %s to %s:\n"
-msgstr ""
-
-#: builtin/rebase.c:1769
-#, c-format
-msgid "First, rewinding head to replay your work on top of it...\n"
-msgstr ""
-
-#: builtin/rebase.c:1781
-msgid "Could not detach HEAD"
-msgstr ""
-
-#: builtin/rebase.c:1790
-#, c-format
-msgid "Fast-forwarded %s to %s.\n"
-msgstr ""
-
-#: builtin/receive-pack.c:35
-msgid "git receive-pack <git-dir>"
-msgstr ""
-
-#: builtin/receive-pack.c:1263
-msgid ""
-"By default, updating the current branch in a non-bare repository\n"
-"is denied, because it will make the index and work tree inconsistent\n"
-"with what you pushed, and will require 'git reset --hard' to match\n"
-"the work tree to HEAD.\n"
-"\n"
-"You can set the 'receive.denyCurrentBranch' configuration variable\n"
-"to 'ignore' or 'warn' in the remote repository to allow pushing into\n"
-"its current branch; however, this is not recommended unless you\n"
-"arranged to update its work tree to match what you pushed in some\n"
-"other way.\n"
-"\n"
-"To squelch this message and still keep the default behaviour, set\n"
-"'receive.denyCurrentBranch' configuration variable to 'refuse'."
-msgstr ""
-
-#: builtin/receive-pack.c:1283
-msgid ""
-"By default, deleting the current branch is denied, because the next\n"
-"'git clone' won't result in any file checked out, causing confusion.\n"
-"\n"
-"You can set 'receive.denyDeleteCurrent' configuration variable to\n"
-"'warn' or 'ignore' in the remote repository to allow deleting the\n"
-"current branch, with or without a warning message.\n"
-"\n"
-"To squelch this message, you can set it to 'refuse'."
-msgstr ""
-
-#: builtin/receive-pack.c:2476
-msgid "quiet"
-msgstr ""
-
-#: builtin/receive-pack.c:2491
-msgid "you must specify a directory"
-msgstr ""
-
-#: builtin/reflog.c:9
-msgid "git reflog [show] [<log-options>] [<ref>]"
-msgstr ""
-
-#: builtin/reflog.c:12
-msgid ""
-"git reflog expire [--expire=<time>] [--expire-unreachable=<time>]\n"
-"                  [--rewrite] [--updateref] [--stale-fix]\n"
-"                  [--dry-run | -n] [--verbose] [--all [--single-worktree] | "
-"<refs>...]"
-msgstr ""
-
-#: builtin/reflog.c:17
-msgid ""
-"git reflog delete [--rewrite] [--updateref]\n"
-"                  [--dry-run | -n] [--verbose] <ref>@{<specifier>}..."
-msgstr ""
-
-#: builtin/reflog.c:21
-msgid "git reflog exists <ref>"
-msgstr ""
-
-#: builtin/reflog.c:197 builtin/reflog.c:211
-#, c-format
-msgid "invalid timestamp '%s' given to '--%s'"
-msgstr ""
-
-#: builtin/reflog.c:240 builtin/reflog.c:359
-msgid "do not actually prune any entries"
-msgstr ""
-
-#: builtin/reflog.c:243 builtin/reflog.c:362
-msgid ""
-"rewrite the old SHA1 with the new SHA1 of the entry that now precedes it"
-msgstr ""
-
-#: builtin/reflog.c:246 builtin/reflog.c:365
-msgid "update the reference to the value of the top reflog entry"
-msgstr ""
-
-#: builtin/reflog.c:248 builtin/reflog.c:367
-msgid "print extra information on screen"
-msgstr ""
-
-#: builtin/reflog.c:249 builtin/reflog.c:253
-msgid "timestamp"
-msgstr ""
-
-#: builtin/reflog.c:250
-msgid "prune entries older than the specified time"
-msgstr ""
-
-#: builtin/reflog.c:254
-msgid ""
-"prune entries older than <time> that are not reachable from the current tip "
-"of the branch"
-msgstr ""
-
-#: builtin/reflog.c:258
-msgid "prune any reflog entries that point to broken commits"
-msgstr ""
-
-#: builtin/reflog.c:259
-msgid "process the reflogs of all references"
-msgstr ""
-
-#: builtin/reflog.c:261
-msgid "limits processing to reflogs from the current worktree only"
-msgstr ""
-
-#: builtin/reflog.c:294
-#, c-format
-msgid "Marking reachable objects..."
-msgstr ""
-
-#: builtin/reflog.c:338
-#, c-format
-msgid "%s points nowhere!"
-msgstr ""
-
-#: builtin/reflog.c:374
-msgid "no reflog specified to delete"
-msgstr ""
-
-#: builtin/reflog.c:396
-#, c-format
-msgid "invalid ref format: %s"
-msgstr ""
-
-#: builtin/remote.c:19
-msgid ""
-"git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
-"mirror=<fetch|push>] <name> <url>"
-msgstr ""
-
-#: builtin/remote.c:20 builtin/remote.c:40
-msgid "git remote rename [--[no-]progress] <old> <new>"
-msgstr ""
-
-#: builtin/remote.c:21 builtin/remote.c:45
-msgid "git remote remove <name>"
-msgstr ""
-
-#: builtin/remote.c:22 builtin/remote.c:50
-msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
-msgstr ""
-
-#: builtin/remote.c:23
-msgid "git remote [-v | --verbose] show [-n] <name>"
-msgstr ""
-
-#: builtin/remote.c:24
-msgid "git remote prune [-n | --dry-run] <name>"
-msgstr ""
-
-#: builtin/remote.c:25
-msgid ""
-"git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
-msgstr ""
-
-#: builtin/remote.c:26
-msgid "git remote set-branches [--add] <name> <branch>..."
-msgstr ""
-
-#: builtin/remote.c:27 builtin/remote.c:76
-msgid "git remote get-url [--push] [--all] <name>"
-msgstr ""
-
-#: builtin/remote.c:28 builtin/remote.c:81
-msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
-msgstr ""
-
-#: builtin/remote.c:29 builtin/remote.c:82
-msgid "git remote set-url --add <name> <newurl>"
-msgstr ""
-
-#: builtin/remote.c:30 builtin/remote.c:83
-msgid "git remote set-url --delete <name> <url>"
-msgstr ""
-
-#: builtin/remote.c:35
-msgid "git remote add [<options>] <name> <url>"
-msgstr ""
-
-#: builtin/remote.c:55
-msgid "git remote set-branches <name> <branch>..."
-msgstr ""
-
-#: builtin/remote.c:56
-msgid "git remote set-branches --add <name> <branch>..."
-msgstr ""
-
-#: builtin/remote.c:61
-msgid "git remote show [<options>] <name>"
-msgstr ""
-
-#: builtin/remote.c:66
-msgid "git remote prune [<options>] <name>"
-msgstr ""
-
-#: builtin/remote.c:71
-msgid "git remote update [<options>] [<group> | <remote>]..."
-msgstr ""
-
-#: builtin/remote.c:100
-#, c-format
-msgid "Updating %s"
-msgstr ""
-
-#: builtin/remote.c:102
-#, c-format
-msgid "Could not fetch %s"
-msgstr ""
-
-#: builtin/remote.c:132
-msgid ""
-"--mirror is dangerous and deprecated; please\n"
-"\t use --mirror=fetch or --mirror=push instead"
-msgstr ""
-
-#: builtin/remote.c:149
-#, c-format
-msgid "unknown mirror argument: %s"
-msgstr ""
-
-#: builtin/remote.c:165
-msgid "fetch the remote branches"
-msgstr ""
-
-#: builtin/remote.c:167
-msgid "import all tags and associated objects when fetching"
-msgstr ""
-
-#: builtin/remote.c:170
-msgid "or do not fetch any tag at all (--no-tags)"
-msgstr ""
-
-#: builtin/remote.c:172
-msgid "branch(es) to track"
-msgstr ""
-
-#: builtin/remote.c:173
-msgid "master branch"
-msgstr ""
-
-#: builtin/remote.c:175
-msgid "set up remote as a mirror to push to or fetch from"
-msgstr ""
-
-#: builtin/remote.c:187
-msgid "specifying a master branch makes no sense with --mirror"
-msgstr ""
-
-#: builtin/remote.c:189
-msgid "specifying branches to track makes sense only with fetch mirrors"
-msgstr ""
-
-#: builtin/remote.c:196 builtin/remote.c:716
-#, c-format
-msgid "remote %s already exists."
-msgstr ""
-
-#: builtin/remote.c:241
-#, c-format
-msgid "Could not setup master '%s'"
-msgstr ""
-
-#: builtin/remote.c:323
-#, c-format
-msgid "unhandled branch.%s.rebase=%s; assuming 'true'"
-msgstr ""
-
-#: builtin/remote.c:367
-#, c-format
-msgid "Could not get fetch map for refspec %s"
-msgstr ""
-
-#: builtin/remote.c:461 builtin/remote.c:469
-msgid "(matching)"
-msgstr ""
-
-#: builtin/remote.c:473
-msgid "(delete)"
-msgstr ""
-
-#: builtin/remote.c:664
-#, c-format
-msgid "could not set '%s'"
-msgstr ""
-
-#: builtin/remote.c:669
-#, c-format
-msgid ""
-"The %s configuration remote.pushDefault in:\n"
-"\t%s:%d\n"
-"now names the non-existent remote '%s'"
-msgstr ""
-
-#: builtin/remote.c:707 builtin/remote.c:866 builtin/remote.c:973
-#, c-format
-msgid "No such remote: '%s'"
-msgstr ""
-
-#: builtin/remote.c:726
-#, c-format
-msgid "Could not rename config section '%s' to '%s'"
-msgstr ""
-
-#: builtin/remote.c:746
-#, c-format
-msgid ""
-"Not updating non-default fetch refspec\n"
-"\t%s\n"
-"\tPlease update the configuration manually if necessary."
-msgstr ""
-
-#: builtin/remote.c:783
-msgid "Renaming remote references"
-msgstr ""
-
-#: builtin/remote.c:794
-#, c-format
-msgid "deleting '%s' failed"
-msgstr ""
-
-#: builtin/remote.c:832
-#, c-format
-msgid "creating '%s' failed"
-msgstr ""
-
-#: builtin/remote.c:912
-msgid ""
-"Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
-"to delete it, use:"
-msgid_plural ""
-"Note: Some branches outside the refs/remotes/ hierarchy were not removed;\n"
-"to delete them, use:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/remote.c:926
-#, c-format
-msgid "Could not remove config section '%s'"
-msgstr ""
-
-#: builtin/remote.c:1034
-#, c-format
-msgid " new (next fetch will store in remotes/%s)"
-msgstr ""
-
-#: builtin/remote.c:1037
-msgid " tracked"
-msgstr ""
-
-#: builtin/remote.c:1039
-msgid " stale (use 'git remote prune' to remove)"
-msgstr ""
-
-#: builtin/remote.c:1041
-msgid " ???"
-msgstr ""
-
-#: builtin/remote.c:1082
-#, c-format
-msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
-msgstr ""
-
-#: builtin/remote.c:1091
-#, c-format
-msgid "rebases interactively onto remote %s"
-msgstr ""
-
-#: builtin/remote.c:1093
-#, c-format
-msgid "rebases interactively (with merges) onto remote %s"
-msgstr ""
-
-#: builtin/remote.c:1096
-#, c-format
-msgid "rebases onto remote %s"
-msgstr ""
-
-#: builtin/remote.c:1100
-#, c-format
-msgid " merges with remote %s"
-msgstr ""
-
-#: builtin/remote.c:1103
-#, c-format
-msgid "merges with remote %s"
-msgstr ""
-
-#: builtin/remote.c:1106
-#, c-format
-msgid "%-*s    and with remote %s\n"
-msgstr ""
-
-#: builtin/remote.c:1149
-msgid "create"
-msgstr ""
-
-#: builtin/remote.c:1152
-msgid "delete"
-msgstr ""
-
-#: builtin/remote.c:1156
-msgid "up to date"
-msgstr ""
-
-#: builtin/remote.c:1159
-msgid "fast-forwardable"
-msgstr ""
-
-#: builtin/remote.c:1162
-msgid "local out of date"
-msgstr ""
-
-#: builtin/remote.c:1169
-#, c-format
-msgid "    %-*s forces to %-*s (%s)"
-msgstr ""
-
-#: builtin/remote.c:1172
-#, c-format
-msgid "    %-*s pushes to %-*s (%s)"
-msgstr ""
-
-#: builtin/remote.c:1176
-#, c-format
-msgid "    %-*s forces to %s"
-msgstr ""
-
-#: builtin/remote.c:1179
-#, c-format
-msgid "    %-*s pushes to %s"
-msgstr ""
-
-#: builtin/remote.c:1247
-msgid "do not query remotes"
-msgstr ""
-
-#: builtin/remote.c:1268
-#, c-format
-msgid "* remote %s"
-msgstr ""
-
-#: builtin/remote.c:1269
-#, c-format
-msgid "  Fetch URL: %s"
-msgstr ""
-
-#: builtin/remote.c:1270 builtin/remote.c:1286 builtin/remote.c:1423
-msgid "(no URL)"
-msgstr ""
-
-#. TRANSLATORS: the colon ':' should align
-#. with the one in " Fetch URL: %s"
-#. translation.
-#.
-#: builtin/remote.c:1284 builtin/remote.c:1286
-#, c-format
-msgid "  Push  URL: %s"
-msgstr ""
-
-#: builtin/remote.c:1288 builtin/remote.c:1290 builtin/remote.c:1292
-#, c-format
-msgid "  HEAD branch: %s"
-msgstr ""
-
-#: builtin/remote.c:1288
-msgid "(not queried)"
-msgstr ""
-
-#: builtin/remote.c:1290
-msgid "(unknown)"
-msgstr ""
-
-#: builtin/remote.c:1294
-#, c-format
-msgid ""
-"  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
-msgstr ""
-
-#: builtin/remote.c:1306
-#, c-format
-msgid "  Remote branch:%s"
-msgid_plural "  Remote branches:%s"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/remote.c:1309 builtin/remote.c:1335
-msgid " (status not queried)"
-msgstr ""
-
-#: builtin/remote.c:1318
-msgid "  Local branch configured for 'git pull':"
-msgid_plural "  Local branches configured for 'git pull':"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/remote.c:1326
-msgid "  Local refs will be mirrored by 'git push'"
-msgstr ""
-
-#: builtin/remote.c:1332
-#, c-format
-msgid "  Local ref configured for 'git push'%s:"
-msgid_plural "  Local refs configured for 'git push'%s:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/remote.c:1353
-msgid "set refs/remotes/<name>/HEAD according to remote"
-msgstr ""
-
-#: builtin/remote.c:1355
-msgid "delete refs/remotes/<name>/HEAD"
-msgstr ""
-
-#: builtin/remote.c:1369
-msgid "Cannot determine remote HEAD"
-msgstr ""
-
-#: builtin/remote.c:1371
-msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
-msgstr ""
-
-#: builtin/remote.c:1381
-#, c-format
-msgid "Could not delete %s"
-msgstr ""
-
-#: builtin/remote.c:1389
-#, c-format
-msgid "Not a valid ref: %s"
-msgstr ""
-
-#: builtin/remote.c:1391
-#, c-format
-msgid "Could not setup %s"
-msgstr ""
-
-#: builtin/remote.c:1409
-#, c-format
-msgid " %s will become dangling!"
-msgstr ""
-
-#: builtin/remote.c:1410
-#, c-format
-msgid " %s has become dangling!"
-msgstr ""
-
-#: builtin/remote.c:1419
-#, c-format
-msgid "Pruning %s"
-msgstr ""
-
-#: builtin/remote.c:1420
-#, c-format
-msgid "URL: %s"
-msgstr ""
-
-#: builtin/remote.c:1436
-#, c-format
-msgid " * [would prune] %s"
-msgstr ""
-
-#: builtin/remote.c:1439
-#, c-format
-msgid " * [pruned] %s"
-msgstr ""
-
-#: builtin/remote.c:1484
-msgid "prune remotes after fetching"
-msgstr ""
-
-#: builtin/remote.c:1548 builtin/remote.c:1604 builtin/remote.c:1674
-#, c-format
-msgid "No such remote '%s'"
-msgstr ""
-
-#: builtin/remote.c:1566
-msgid "add branch"
-msgstr ""
-
-#: builtin/remote.c:1573
-msgid "no remote specified"
-msgstr ""
-
-#: builtin/remote.c:1590
-msgid "query push URLs rather than fetch URLs"
-msgstr ""
-
-#: builtin/remote.c:1592
-msgid "return all URLs"
-msgstr ""
-
-#: builtin/remote.c:1622
-#, c-format
-msgid "no URLs configured for remote '%s'"
-msgstr ""
-
-#: builtin/remote.c:1648
-msgid "manipulate push URLs"
-msgstr ""
-
-#: builtin/remote.c:1650
-msgid "add URL"
-msgstr ""
-
-#: builtin/remote.c:1652
-msgid "delete URLs"
-msgstr ""
-
-#: builtin/remote.c:1659
-msgid "--add --delete doesn't make sense"
-msgstr ""
-
-#: builtin/remote.c:1700
-#, c-format
-msgid "Invalid old URL pattern: %s"
-msgstr ""
-
-#: builtin/remote.c:1708
-#, c-format
-msgid "No such URL found: %s"
-msgstr ""
-
-#: builtin/remote.c:1710
-msgid "Will not delete all non-push URLs"
-msgstr ""
-
-#: builtin/remote.c:1727
-msgid "be verbose; must be placed before a subcommand"
-msgstr ""
-
-#: builtin/repack.c:29
-msgid "git repack [<options>]"
-msgstr ""
-
-#: builtin/repack.c:34
-msgid ""
-"Incremental repacks are incompatible with bitmap indexes.  Use\n"
-"--no-write-bitmap-index or disable the pack.writebitmaps configuration."
-msgstr ""
-
-#: builtin/repack.c:206
-msgid "could not start pack-objects to repack promisor objects"
-msgstr ""
-
-#: builtin/repack.c:280 builtin/repack.c:824
-msgid "repack: Expecting full hex object ID lines only from pack-objects."
-msgstr ""
-
-#: builtin/repack.c:304
-msgid "could not finish pack-objects to repack promisor objects"
-msgstr ""
-
-#: builtin/repack.c:319
-#, c-format
-msgid "cannot open index for %s"
-msgstr ""
-
-#: builtin/repack.c:378
-#, c-format
-msgid "pack %s too large to consider in geometric progression"
-msgstr ""
-
-#: builtin/repack.c:411 builtin/repack.c:418 builtin/repack.c:423
-#, c-format
-msgid "pack %s too large to roll up"
-msgstr ""
-
-#: builtin/repack.c:503
-#, c-format
-msgid "could not open tempfile %s for writing"
-msgstr ""
-
-#: builtin/repack.c:521
-msgid "could not close refs snapshot tempfile"
-msgstr ""
-
-#: builtin/repack.c:634
-msgid "pack everything in a single pack"
-msgstr ""
-
-#: builtin/repack.c:636
-msgid "same as -a, and turn unreachable objects loose"
-msgstr ""
-
-#: builtin/repack.c:639
-msgid "remove redundant packs, and run git-prune-packed"
-msgstr ""
-
-#: builtin/repack.c:641
-msgid "pass --no-reuse-delta to git-pack-objects"
-msgstr ""
-
-#: builtin/repack.c:643
-msgid "pass --no-reuse-object to git-pack-objects"
-msgstr ""
-
-#: builtin/repack.c:645
-msgid "do not run git-update-server-info"
-msgstr ""
-
-#: builtin/repack.c:648
-msgid "pass --local to git-pack-objects"
-msgstr ""
-
-#: builtin/repack.c:650
-msgid "write bitmap index"
-msgstr ""
-
-#: builtin/repack.c:652
-msgid "pass --delta-islands to git-pack-objects"
-msgstr ""
-
-#: builtin/repack.c:653
-msgid "approxidate"
-msgstr ""
-
-#: builtin/repack.c:654
-msgid "with -A, do not loosen objects older than this"
-msgstr ""
-
-#: builtin/repack.c:656
-msgid "with -a, repack unreachable objects"
-msgstr ""
-
-#: builtin/repack.c:658
-msgid "size of the window used for delta compression"
-msgstr ""
-
-#: builtin/repack.c:659 builtin/repack.c:665
-msgid "bytes"
-msgstr ""
-
-#: builtin/repack.c:660
-msgid "same as the above, but limit memory size instead of entries count"
-msgstr ""
-
-#: builtin/repack.c:662
-msgid "limits the maximum delta depth"
-msgstr ""
-
-#: builtin/repack.c:664
-msgid "limits the maximum number of threads"
-msgstr ""
-
-#: builtin/repack.c:666
-msgid "maximum size of each packfile"
-msgstr ""
-
-#: builtin/repack.c:668
-msgid "repack objects in packs marked with .keep"
-msgstr ""
-
-#: builtin/repack.c:670
-msgid "do not repack this pack"
-msgstr ""
-
-#: builtin/repack.c:672
-msgid "find a geometric progression with factor <N>"
-msgstr ""
-
-#: builtin/repack.c:674
-msgid "write a multi-pack index of the resulting packs"
-msgstr ""
-
-#: builtin/repack.c:684
-msgid "cannot delete packs in a precious-objects repo"
-msgstr ""
-
-#: builtin/repack.c:833
-msgid "Nothing new to pack."
-msgstr ""
-
-#: builtin/repack.c:863
-#, c-format
-msgid "missing required file: %s"
-msgstr ""
-
-#: builtin/repack.c:865
-#, c-format
-msgid "could not unlink: %s"
-msgstr ""
-
-#: builtin/replace.c:22
-msgid "git replace [-f] <object> <replacement>"
-msgstr ""
-
-#: builtin/replace.c:23
-msgid "git replace [-f] --edit <object>"
-msgstr ""
-
-#: builtin/replace.c:24
-msgid "git replace [-f] --graft <commit> [<parent>...]"
-msgstr ""
-
-#: builtin/replace.c:26
-msgid "git replace -d <object>..."
-msgstr ""
-
-#: builtin/replace.c:27
-msgid "git replace [--format=<format>] [-l [<pattern>]]"
-msgstr ""
-
-#: builtin/replace.c:90
-#, c-format
-msgid ""
-"invalid replace format '%s'\n"
-"valid formats are 'short', 'medium' and 'long'"
-msgstr ""
-
-#: builtin/replace.c:125
-#, c-format
-msgid "replace ref '%s' not found"
-msgstr ""
-
-#: builtin/replace.c:141
-#, c-format
-msgid "Deleted replace ref '%s'"
-msgstr ""
-
-#: builtin/replace.c:153
-#, c-format
-msgid "'%s' is not a valid ref name"
-msgstr ""
-
-#: builtin/replace.c:158
-#, c-format
-msgid "replace ref '%s' already exists"
-msgstr ""
-
-#: builtin/replace.c:178
-#, c-format
-msgid ""
-"Objects must be of the same type.\n"
-"'%s' points to a replaced object of type '%s'\n"
-"while '%s' points to a replacement object of type '%s'."
-msgstr ""
-
-#: builtin/replace.c:229
-#, c-format
-msgid "unable to open %s for writing"
-msgstr ""
-
-#: builtin/replace.c:242
-msgid "cat-file reported failure"
-msgstr ""
-
-#: builtin/replace.c:258
-#, c-format
-msgid "unable to open %s for reading"
-msgstr ""
-
-#: builtin/replace.c:271
-msgid "unable to spawn mktree"
-msgstr ""
-
-#: builtin/replace.c:275
-msgid "unable to read from mktree"
-msgstr ""
-
-#: builtin/replace.c:284
-msgid "mktree reported failure"
-msgstr ""
-
-#: builtin/replace.c:288
-msgid "mktree did not return an object name"
-msgstr ""
-
-#: builtin/replace.c:297
-#, c-format
-msgid "unable to fstat %s"
-msgstr ""
-
-#: builtin/replace.c:302
-msgid "unable to write object to database"
-msgstr ""
-
-#: builtin/replace.c:325
-#, c-format
-msgid "unable to get object type for %s"
-msgstr ""
-
-#: builtin/replace.c:341
-msgid "editing object file failed"
-msgstr ""
-
-#: builtin/replace.c:350
-#, c-format
-msgid "new object is the same as the old one: '%s'"
-msgstr ""
-
-#: builtin/replace.c:383
-#, c-format
-msgid "could not parse %s as a commit"
-msgstr ""
-
-#: builtin/replace.c:415
-#, c-format
-msgid "bad mergetag in commit '%s'"
-msgstr ""
-
-#: builtin/replace.c:417
-#, c-format
-msgid "malformed mergetag in commit '%s'"
-msgstr ""
-
-#: builtin/replace.c:429
-#, c-format
-msgid ""
-"original commit '%s' contains mergetag '%s' that is discarded; use --edit "
-"instead of --graft"
-msgstr ""
-
-#: builtin/replace.c:468
-#, c-format
-msgid "the original commit '%s' has a gpg signature"
-msgstr ""
-
-#: builtin/replace.c:469
-msgid "the signature will be removed in the replacement commit!"
-msgstr ""
-
-#: builtin/replace.c:479
-#, c-format
-msgid "could not write replacement commit for: '%s'"
-msgstr ""
-
-#: builtin/replace.c:487
-#, c-format
-msgid "graft for '%s' unnecessary"
-msgstr ""
-
-#: builtin/replace.c:491
-#, c-format
-msgid "new commit is the same as the old one: '%s'"
-msgstr ""
-
-#: builtin/replace.c:526
-#, c-format
-msgid ""
-"could not convert the following graft(s):\n"
-"%s"
-msgstr ""
-
-#: builtin/replace.c:547
-msgid "list replace refs"
-msgstr ""
-
-#: builtin/replace.c:548
-msgid "delete replace refs"
-msgstr ""
-
-#: builtin/replace.c:549
-msgid "edit existing object"
-msgstr ""
-
-#: builtin/replace.c:550
-msgid "change a commit's parents"
-msgstr ""
-
-#: builtin/replace.c:551
-msgid "convert existing graft file"
-msgstr ""
-
-#: builtin/replace.c:552
-msgid "replace the ref if it exists"
-msgstr ""
-
-#: builtin/replace.c:554
-msgid "do not pretty-print contents for --edit"
-msgstr ""
-
-#: builtin/replace.c:555
-msgid "use this format"
-msgstr ""
-
-#: builtin/replace.c:568
-msgid "--format cannot be used when not listing"
-msgstr ""
-
-#: builtin/replace.c:576
-msgid "-f only makes sense when writing a replacement"
-msgstr ""
-
-#: builtin/replace.c:580
-msgid "--raw only makes sense with --edit"
-msgstr ""
-
-#: builtin/replace.c:586
-msgid "-d needs at least one argument"
-msgstr ""
-
-#: builtin/replace.c:592
-msgid "bad number of arguments"
-msgstr ""
-
-#: builtin/replace.c:598
-msgid "-e needs exactly one argument"
-msgstr ""
-
-#: builtin/replace.c:604
-msgid "-g needs at least one argument"
-msgstr ""
-
-#: builtin/replace.c:610
-msgid "--convert-graft-file takes no argument"
-msgstr ""
-
-#: builtin/replace.c:616
-msgid "only one pattern can be given with -l"
-msgstr ""
-
-#: builtin/rerere.c:13
-msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
-msgstr ""
-
-#: builtin/rerere.c:58
-msgid "register clean resolutions in index"
-msgstr ""
-
-#: builtin/rerere.c:77
-msgid "'git rerere forget' without paths is deprecated"
-msgstr ""
-
-#: builtin/rerere.c:111
-#, c-format
-msgid "unable to generate diff for '%s'"
-msgstr ""
-
-#: builtin/reset.c:33
-msgid ""
-"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
-msgstr ""
-
-#: builtin/reset.c:34
-msgid "git reset [-q] [<tree-ish>] [--] <pathspec>..."
-msgstr ""
-
-#: builtin/reset.c:35
-msgid ""
-"git reset [-q] [--pathspec-from-file [--pathspec-file-nul]] [<tree-ish>]"
-msgstr ""
-
-#: builtin/reset.c:36
-msgid "git reset --patch [<tree-ish>] [--] [<pathspec>...]"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "mixed"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "soft"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "hard"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "merge"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "keep"
-msgstr ""
-
-#: builtin/reset.c:90
-msgid "You do not have a valid HEAD."
-msgstr ""
-
-#: builtin/reset.c:92
-msgid "Failed to find tree of HEAD."
-msgstr ""
-
-#: builtin/reset.c:98
-#, c-format
-msgid "Failed to find tree of %s."
-msgstr ""
-
-#: builtin/reset.c:123
-#, c-format
-msgid "HEAD is now at %s"
-msgstr ""
-
-#: builtin/reset.c:304
-#, c-format
-msgid "Cannot do a %s reset in the middle of a merge."
-msgstr ""
-
-#: builtin/reset.c:402 builtin/stash.c:606 builtin/stash.c:669
-#: builtin/stash.c:693
-msgid "be quiet, only report errors"
-msgstr ""
-
-#: builtin/reset.c:404
-msgid "skip refreshing the index after reset"
-msgstr ""
-
-#: builtin/reset.c:406
-msgid "reset HEAD and index"
-msgstr ""
-
-#: builtin/reset.c:407
-msgid "reset only HEAD"
-msgstr ""
-
-#: builtin/reset.c:409 builtin/reset.c:411
-msgid "reset HEAD, index and working tree"
-msgstr ""
-
-#: builtin/reset.c:413
-msgid "reset HEAD but keep local changes"
-msgstr ""
-
-#: builtin/reset.c:419
-msgid "record only the fact that removed paths will be added later"
-msgstr ""
-
-#: builtin/reset.c:452
-#, c-format
-msgid "Failed to resolve '%s' as a valid revision."
-msgstr ""
-
-#: builtin/reset.c:460
-#, c-format
-msgid "Failed to resolve '%s' as a valid tree."
-msgstr ""
-
-#: builtin/reset.c:479
-msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
-msgstr ""
-
-#: builtin/reset.c:481
-#, c-format
-msgid "Cannot do %s reset with paths."
-msgstr ""
-
-#: builtin/reset.c:496
-#, c-format
-msgid "%s reset is not allowed in a bare repository"
-msgstr ""
-
-#: builtin/reset.c:527
-msgid "Unstaged changes after reset:"
-msgstr ""
-
-#: builtin/reset.c:530
-#, c-format
-msgid ""
-"It took %.2f seconds to refresh the index after reset.  You can use\n"
-"'--no-refresh' to avoid this."
-msgstr ""
-
-#: builtin/reset.c:547
-#, c-format
-msgid "Could not reset index file to revision '%s'."
-msgstr ""
-
-#: builtin/reset.c:552
-msgid "Could not write new index file."
-msgstr ""
-
-#: builtin/rev-list.c:659
-msgid "rev-list does not support display of notes"
-msgstr ""
-
-#: builtin/rev-list.c:664
-#, c-format
-msgid "marked counting and '%s' cannot be used together"
-msgstr ""
-
-#: builtin/rev-parse.c:409
-msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
-msgstr ""
-
-#: builtin/rev-parse.c:414
-msgid "keep the `--` passed as an arg"
-msgstr ""
-
-#: builtin/rev-parse.c:416
-msgid "stop parsing after the first non-option argument"
-msgstr ""
-
-#: builtin/rev-parse.c:419
-msgid "output in stuck long form"
-msgstr ""
-
-#: builtin/rev-parse.c:438
-msgid "premature end of input"
-msgstr ""
-
-#: builtin/rev-parse.c:442
-msgid "no usage string given before the `--' separator"
-msgstr ""
-
-#: builtin/rev-parse.c:548
-msgid "Needed a single revision"
-msgstr ""
-
-#: builtin/rev-parse.c:552
-msgid ""
-"git rev-parse --parseopt [<options>] -- [<args>...]\n"
-"   or: git rev-parse --sq-quote [<arg>...]\n"
-"   or: git rev-parse [<options>] [<arg>...]\n"
-"\n"
-"Run \"git rev-parse --parseopt -h\" for more information on the first usage."
-msgstr ""
-
-#: builtin/rev-parse.c:712
-msgid "--resolve-git-dir requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:715
-#, c-format
-msgid "not a gitdir '%s'"
-msgstr ""
-
-#: builtin/rev-parse.c:739
-msgid "--git-path requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:749
-msgid "-n requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:763
-msgid "--path-format requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:769
-#, c-format
-msgid "unknown argument to --path-format: %s"
-msgstr ""
-
-#: builtin/rev-parse.c:776
-msgid "--default requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:782
-msgid "--prefix requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:851
-#, c-format
-msgid "unknown mode for --abbrev-ref: %s"
-msgstr ""
-
-#: builtin/rev-parse.c:1023
-#, c-format
-msgid "unknown mode for --show-object-format: %s"
-msgstr ""
-
-#: builtin/revert.c:24
-msgid "git revert [<options>] <commit-ish>..."
-msgstr ""
-
-#: builtin/revert.c:25
-msgid "git revert <subcommand>"
-msgstr ""
-
-#: builtin/revert.c:30
-msgid "git cherry-pick [<options>] <commit-ish>..."
-msgstr ""
-
-#: builtin/revert.c:31
-msgid "git cherry-pick <subcommand>"
-msgstr ""
-
-#: builtin/revert.c:72
-#, c-format
-msgid "option `%s' expects a number greater than zero"
-msgstr ""
-
-#: builtin/revert.c:92
-#, c-format
-msgid "%s: %s cannot be used with %s"
-msgstr ""
-
-#: builtin/revert.c:102
-msgid "end revert or cherry-pick sequence"
-msgstr ""
-
-#: builtin/revert.c:103
-msgid "resume revert or cherry-pick sequence"
-msgstr ""
-
-#: builtin/revert.c:104
-msgid "cancel revert or cherry-pick sequence"
-msgstr ""
-
-#: builtin/revert.c:105
-msgid "skip current commit and continue"
-msgstr ""
-
-#: builtin/revert.c:107
-msgid "don't automatically commit"
-msgstr ""
-
-#: builtin/revert.c:108
-msgid "edit the commit message"
-msgstr ""
-
-#: builtin/revert.c:111
-msgid "parent-number"
-msgstr ""
-
-#: builtin/revert.c:112
-msgid "select mainline parent"
-msgstr ""
-
-#: builtin/revert.c:114
-msgid "merge strategy"
-msgstr ""
-
-#: builtin/revert.c:116
-msgid "option for merge strategy"
-msgstr ""
-
-#: builtin/revert.c:125
-msgid "append commit name"
-msgstr ""
-
-#: builtin/revert.c:127
-msgid "preserve initially empty commits"
-msgstr ""
-
-#: builtin/revert.c:128
-msgid "allow commits with empty messages"
-msgstr ""
-
-#: builtin/revert.c:129
-msgid "keep redundant, empty commits"
-msgstr ""
-
-#: builtin/revert.c:241
-msgid "revert failed"
-msgstr ""
-
-#: builtin/revert.c:254
-msgid "cherry-pick failed"
-msgstr ""
-
-#: builtin/rm.c:20
-msgid "git rm [<options>] [--] <file>..."
-msgstr ""
-
-#: builtin/rm.c:208
-msgid ""
-"the following file has staged content different from both the\n"
-"file and the HEAD:"
-msgid_plural ""
-"the following files have staged content different from both the\n"
-"file and the HEAD:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/rm.c:213
-msgid ""
-"\n"
-"(use -f to force removal)"
-msgstr ""
-
-#: builtin/rm.c:217
-msgid "the following file has changes staged in the index:"
-msgid_plural "the following files have changes staged in the index:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/rm.c:221 builtin/rm.c:230
-msgid ""
-"\n"
-"(use --cached to keep the file, or -f to force removal)"
-msgstr ""
-
-#: builtin/rm.c:227
-msgid "the following file has local modifications:"
-msgid_plural "the following files have local modifications:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/rm.c:245
-msgid "do not list removed files"
-msgstr ""
-
-#: builtin/rm.c:246
-msgid "only remove from the index"
-msgstr ""
-
-#: builtin/rm.c:247
-msgid "override the up-to-date check"
-msgstr ""
-
-#: builtin/rm.c:248
-msgid "allow recursive removal"
-msgstr ""
-
-#: builtin/rm.c:250
-msgid "exit with a zero status even if nothing matched"
-msgstr ""
-
-#: builtin/rm.c:285
-msgid "No pathspec was given. Which files should I remove?"
-msgstr ""
-
-#: builtin/rm.c:315
-msgid "please stage your changes to .gitmodules or stash them to proceed"
-msgstr ""
-
-#: builtin/rm.c:337
-#, c-format
-msgid "not removing '%s' recursively without -r"
-msgstr ""
-
-#: builtin/rm.c:385
-#, c-format
-msgid "git rm: unable to remove %s"
-msgstr ""
-
-#: builtin/send-pack.c:20
-msgid ""
-"git send-pack [--mirror] [--dry-run] [--force]\n"
-"              [--receive-pack=<git-receive-pack>]\n"
-"              [--verbose] [--thin] [--atomic]\n"
-"              [<host>:]<directory> (--all | <ref>...)"
-msgstr ""
-
-#: builtin/send-pack.c:192
-msgid "remote name"
-msgstr ""
-
-#: builtin/send-pack.c:205
-msgid "use stateless RPC protocol"
-msgstr ""
-
-#: builtin/send-pack.c:206
-msgid "read refs from stdin"
-msgstr ""
-
-#: builtin/send-pack.c:207
-msgid "print status from remote helper"
-msgstr ""
-
-#: builtin/shortlog.c:16
-msgid "git shortlog [<options>] [<revision-range>] [[--] <path>...]"
-msgstr ""
-
-#: builtin/shortlog.c:17
-msgid "git log --pretty=short | git shortlog [<options>]"
-msgstr ""
-
-#: builtin/shortlog.c:123
-msgid "using multiple --group options with stdin is not supported"
-msgstr ""
-
-#: builtin/shortlog.c:133
-msgid "using --group=trailer with stdin is not supported"
-msgstr ""
-
-#: builtin/shortlog.c:323
-#, c-format
-msgid "unknown group type: %s"
-msgstr ""
-
-#: builtin/shortlog.c:351
-msgid "group by committer rather than author"
-msgstr ""
-
-#: builtin/shortlog.c:354
-msgid "sort output according to the number of commits per author"
-msgstr ""
-
-#: builtin/shortlog.c:356
-msgid "suppress commit descriptions, only provides commit count"
-msgstr ""
-
-#: builtin/shortlog.c:358
-msgid "show the email address of each author"
-msgstr ""
-
-#: builtin/shortlog.c:359
-msgid "<w>[,<i1>[,<i2>]]"
-msgstr ""
-
-#: builtin/shortlog.c:360
-msgid "linewrap output"
-msgstr ""
-
-#: builtin/shortlog.c:362
-msgid "field"
-msgstr ""
-
-#: builtin/shortlog.c:363
-msgid "group by field"
-msgstr ""
-
-#: builtin/shortlog.c:395
-msgid "too many arguments given outside repository"
-msgstr ""
-
-#: builtin/show-branch.c:14
-msgid ""
-"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
-"                [--current] [--color[=<when>] | --no-color] [--sparse]\n"
-"                [--more=<n> | --list | --independent | --merge-base]\n"
-"                [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
-msgstr ""
-
-#: builtin/show-branch.c:18
-msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
-msgstr ""
-
-#: builtin/show-branch.c:396
-#, c-format
-msgid "ignoring %s; cannot handle more than %d ref"
-msgid_plural "ignoring %s; cannot handle more than %d refs"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/show-branch.c:548
-#, c-format
-msgid "no matching refs with %s"
-msgstr ""
-
-#: builtin/show-branch.c:645
-msgid "show remote-tracking and local branches"
-msgstr ""
-
-#: builtin/show-branch.c:647
-msgid "show remote-tracking branches"
-msgstr ""
-
-#: builtin/show-branch.c:649
-msgid "color '*!+-' corresponding to the branch"
-msgstr ""
-
-#: builtin/show-branch.c:651
-msgid "show <n> more commits after the common ancestor"
-msgstr ""
-
-#: builtin/show-branch.c:653
-msgid "synonym to more=-1"
-msgstr ""
-
-#: builtin/show-branch.c:654
-msgid "suppress naming strings"
-msgstr ""
-
-#: builtin/show-branch.c:656
-msgid "include the current branch"
-msgstr ""
-
-#: builtin/show-branch.c:658
-msgid "name commits with their object names"
-msgstr ""
-
-#: builtin/show-branch.c:660
-msgid "show possible merge bases"
-msgstr ""
-
-#: builtin/show-branch.c:662
-msgid "show refs unreachable from any other ref"
-msgstr ""
-
-#: builtin/show-branch.c:664
-msgid "show commits in topological order"
-msgstr ""
-
-#: builtin/show-branch.c:667
-msgid "show only commits not on the first branch"
-msgstr ""
-
-#: builtin/show-branch.c:669
-msgid "show merges reachable from only one tip"
-msgstr ""
-
-#: builtin/show-branch.c:671
-msgid "topologically sort, maintaining date order where possible"
-msgstr ""
-
-#: builtin/show-branch.c:674
-msgid "<n>[,<base>]"
-msgstr ""
-
-#: builtin/show-branch.c:675
-msgid "show <n> most recent ref-log entries starting at base"
-msgstr ""
-
-#: builtin/show-branch.c:735
-msgid "no branches given, and HEAD is not valid"
-msgstr ""
-
-#: builtin/show-branch.c:738
-msgid "--reflog option needs one branch name"
-msgstr ""
-
-#: builtin/show-branch.c:741
-#, c-format
-msgid "only %d entry can be shown at one time."
-msgid_plural "only %d entries can be shown at one time."
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/show-branch.c:745
-#, c-format
-msgid "no such ref %s"
-msgstr ""
-
-#: builtin/show-branch.c:831
-#, c-format
-msgid "cannot handle more than %d rev."
-msgid_plural "cannot handle more than %d revs."
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/show-branch.c:835
-#, c-format
-msgid "'%s' is not a valid ref."
-msgstr ""
-
-#: builtin/show-branch.c:838
-#, c-format
-msgid "cannot find commit %s (%s)"
-msgstr ""
-
-#: builtin/show-index.c:21
-msgid "hash-algorithm"
-msgstr ""
-
-#: builtin/show-index.c:31
-msgid "Unknown hash algorithm"
-msgstr ""
-
-#: builtin/show-ref.c:12
-msgid ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
-msgstr ""
-
-#: builtin/show-ref.c:13
-msgid "git show-ref --exclude-existing[=<pattern>]"
-msgstr ""
-
-#: builtin/show-ref.c:162
-msgid "only show tags (can be combined with heads)"
-msgstr ""
-
-#: builtin/show-ref.c:163
-msgid "only show heads (can be combined with tags)"
-msgstr ""
-
-#: builtin/show-ref.c:164
-msgid "stricter reference checking, requires exact ref path"
-msgstr ""
-
-#: builtin/show-ref.c:167 builtin/show-ref.c:169
-msgid "show the HEAD reference, even if it would be filtered out"
-msgstr ""
-
-#: builtin/show-ref.c:171
-msgid "dereference tags into object IDs"
-msgstr ""
-
-#: builtin/show-ref.c:173
-msgid "only show SHA1 hash using <n> digits"
-msgstr ""
-
-#: builtin/show-ref.c:177
-msgid "do not print results to stdout (useful with --verify)"
-msgstr ""
-
-#: builtin/show-ref.c:179
-msgid "show refs from stdin that aren't in local repository"
-msgstr ""
-
-#: builtin/sparse-checkout.c:23
-msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
-msgstr ""
-
-#: builtin/sparse-checkout.c:61
-msgid "this worktree is not sparse"
-msgstr ""
-
-#: builtin/sparse-checkout.c:76
-msgid "this worktree is not sparse (sparse-checkout file may not exist)"
-msgstr ""
-
-#: builtin/sparse-checkout.c:177
-#, c-format
-msgid ""
-"directory '%s' contains untracked files, but is not in the sparse-checkout "
-"cone"
-msgstr ""
-
-#: builtin/sparse-checkout.c:185
-#, c-format
-msgid "failed to remove directory '%s'"
-msgstr ""
-
-#: builtin/sparse-checkout.c:327
-msgid "failed to create directory for sparse-checkout file"
-msgstr ""
-
-#: builtin/sparse-checkout.c:366
-msgid "failed to initialize worktree config"
-msgstr ""
-
-#: builtin/sparse-checkout.c:411
-msgid "failed to modify sparse-index config"
-msgstr ""
-
-#: builtin/sparse-checkout.c:441 builtin/sparse-checkout.c:793
-#: builtin/sparse-checkout.c:847
-msgid "initialize the sparse-checkout in cone mode"
-msgstr ""
-
-#: builtin/sparse-checkout.c:443 builtin/sparse-checkout.c:795
-#: builtin/sparse-checkout.c:849
-msgid "toggle the use of a sparse index"
-msgstr ""
-
-#: builtin/sparse-checkout.c:479
-#, c-format
-msgid "failed to open '%s'"
-msgstr ""
-
-#: builtin/sparse-checkout.c:531
-#, c-format
-msgid "could not normalize path %s"
-msgstr ""
-
-#: builtin/sparse-checkout.c:560
-#, c-format
-msgid "unable to unquote C-style string '%s'"
-msgstr ""
-
-#: builtin/sparse-checkout.c:615 builtin/sparse-checkout.c:643
-msgid "unable to load existing sparse-checkout patterns"
-msgstr ""
-
-#: builtin/sparse-checkout.c:619
-msgid "existing sparse-checkout patterns do not use cone mode"
-msgstr ""
-
-#: builtin/sparse-checkout.c:707
-msgid "please run from the toplevel directory in non-cone mode"
-msgstr ""
-
-#: builtin/sparse-checkout.c:712
-msgid "specify directories rather than patterns (no leading slash)"
-msgstr ""
-
-#: builtin/sparse-checkout.c:714
-msgid ""
-"specify directories rather than patterns.  If your directory starts with a "
-"'!', pass --skip-checks"
-msgstr ""
-
-#: builtin/sparse-checkout.c:716
-msgid ""
-"specify directories rather than patterns.  If your directory really has any "
-"of '*?[]\\' in it, pass --skip-checks"
-msgstr ""
-
-#: builtin/sparse-checkout.c:732
-#, c-format
-msgid ""
-"'%s' is not a directory; to treat it as a directory anyway, rerun with --"
-"skip-checks"
-msgstr ""
-
-#: builtin/sparse-checkout.c:734
-#, c-format
-msgid ""
-"pass a leading slash before paths such as '%s' if you want a single file "
-"(see NON-CONE PROBLEMS in the git-sparse-checkout manual)."
-msgstr ""
-
-#: builtin/sparse-checkout.c:739
-msgid "git sparse-checkout add [--skip-checks] (--stdin | <patterns>)"
-msgstr ""
-
-#: builtin/sparse-checkout.c:752 builtin/sparse-checkout.c:797
-msgid ""
-"skip some sanity checks on the given paths that might give false positives"
-msgstr ""
-
-#: builtin/sparse-checkout.c:755 builtin/sparse-checkout.c:800
-msgid "read patterns from standard in"
-msgstr ""
-
-#: builtin/sparse-checkout.c:760
-msgid "no sparse-checkout to add to"
-msgstr ""
-
-#: builtin/sparse-checkout.c:775
-msgid ""
-"git sparse-checkout set [--[no-]cone] [--[no-]sparse-index] [--skip-checks] "
-"(--stdin | <patterns>)"
-msgstr ""
-
-#: builtin/sparse-checkout.c:854
-msgid "must be in a sparse-checkout to reapply sparsity patterns"
-msgstr ""
-
-#: builtin/sparse-checkout.c:914
-msgid "error while refreshing working directory"
-msgstr ""
-
-#: builtin/stash.c:24 builtin/stash.c:40
-msgid "git stash list [<options>]"
-msgstr ""
-
-#: builtin/stash.c:25 builtin/stash.c:45
-msgid "git stash show [<options>] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:26 builtin/stash.c:50
-msgid "git stash drop [-q|--quiet] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:27
-msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:28 builtin/stash.c:65
-msgid "git stash branch <branchname> [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:30
-msgid ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-"          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-"          [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
-"          [--] [<pathspec>...]]"
-msgstr ""
-
-#: builtin/stash.c:34
-msgid ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-"          [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-
-#: builtin/stash.c:55
-msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:60
-msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:75
-msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
-msgstr ""
-
-#: builtin/stash.c:80
-msgid ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-"          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-"          [--] [<pathspec>...]]"
-msgstr ""
-
-#: builtin/stash.c:87
-msgid ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-"               [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-
-#: builtin/stash.c:130
-#, c-format
-msgid "'%s' is not a stash-like commit"
-msgstr ""
-
-#: builtin/stash.c:150
-#, c-format
-msgid "Too many revisions specified:%s"
-msgstr ""
-
-#: builtin/stash.c:164
-msgid "No stash entries found."
-msgstr ""
-
-#: builtin/stash.c:178
-#, c-format
-msgid "%s is not a valid reference"
-msgstr ""
-
-#: builtin/stash.c:227
-msgid "git stash clear with arguments is unimplemented"
-msgstr ""
-
-#: builtin/stash.c:447
-#, c-format
-msgid ""
-"WARNING: Untracked file in way of tracked file!  Renaming\n"
-"            %s -> %s\n"
-"         to make room.\n"
-msgstr ""
-
-#: builtin/stash.c:508
-msgid "cannot apply a stash in the middle of a merge"
-msgstr ""
-
-#: builtin/stash.c:519
-#, c-format
-msgid "could not generate diff %s^!."
-msgstr ""
-
-#: builtin/stash.c:526
-msgid "conflicts in index. Try without --index."
-msgstr ""
-
-#: builtin/stash.c:532
-msgid "could not save index tree"
-msgstr ""
-
-#: builtin/stash.c:552
-#, c-format
-msgid "Merging %s with %s"
-msgstr ""
-
-#: builtin/stash.c:562
-msgid "Index was not unstashed."
-msgstr ""
-
-#: builtin/stash.c:576
-msgid "could not restore untracked files from stash"
-msgstr ""
-
-#: builtin/stash.c:608 builtin/stash.c:695
-msgid "attempt to recreate the index"
-msgstr ""
-
-#: builtin/stash.c:641
-#, c-format
-msgid "Dropped %s (%s)"
-msgstr ""
-
-#: builtin/stash.c:644
-#, c-format
-msgid "%s: Could not drop stash entry"
-msgstr ""
-
-#: builtin/stash.c:657
-#, c-format
-msgid "'%s' is not a stash reference"
-msgstr ""
-
-#: builtin/stash.c:707
-msgid "The stash entry is kept in case you need it again."
-msgstr ""
-
-#: builtin/stash.c:730
-msgid "No branch name specified"
-msgstr ""
-
-#: builtin/stash.c:809
-msgid "failed to parse tree"
-msgstr ""
-
-#: builtin/stash.c:820
-msgid "failed to unpack trees"
-msgstr ""
-
-#: builtin/stash.c:840
-msgid "include untracked files in the stash"
-msgstr ""
-
-#: builtin/stash.c:843
-msgid "only show untracked files in the stash"
-msgstr ""
-
-#: builtin/stash.c:930 builtin/stash.c:967
-#, c-format
-msgid "Cannot update %s with %s"
-msgstr ""
-
-#: builtin/stash.c:948 builtin/stash.c:1667 builtin/stash.c:1739
-msgid "stash message"
-msgstr ""
-
-#: builtin/stash.c:958
-msgid "\"git stash store\" requires one <commit> argument"
-msgstr ""
-
-#: builtin/stash.c:1143
-msgid "No staged changes"
-msgstr ""
-
-#: builtin/stash.c:1204
-msgid "No changes selected"
-msgstr ""
-
-#: builtin/stash.c:1304
-msgid "You do not have the initial commit yet"
-msgstr ""
-
-#: builtin/stash.c:1331
-msgid "Cannot save the current index state"
-msgstr ""
-
-#: builtin/stash.c:1340
-msgid "Cannot save the untracked files"
-msgstr ""
-
-#: builtin/stash.c:1351 builtin/stash.c:1370
-msgid "Cannot save the current worktree state"
-msgstr ""
-
-#: builtin/stash.c:1361
-msgid "Cannot save the current staged state"
-msgstr ""
-
-#: builtin/stash.c:1398
-msgid "Cannot record working tree state"
-msgstr ""
-
-#: builtin/stash.c:1447
-msgid "Can't use --patch and --include-untracked or --all at the same time"
-msgstr ""
-
-#: builtin/stash.c:1458
-msgid "Can't use --staged and --include-untracked or --all at the same time"
-msgstr ""
-
-#: builtin/stash.c:1476
-msgid "Did you forget to 'git add'?"
-msgstr ""
-
-#: builtin/stash.c:1491
-msgid "No local changes to save"
-msgstr ""
-
-#: builtin/stash.c:1498
-msgid "Cannot initialize stash"
-msgstr ""
-
-#: builtin/stash.c:1513
-msgid "Cannot save the current status"
-msgstr ""
-
-#: builtin/stash.c:1518
-#, c-format
-msgid "Saved working directory and index state %s"
-msgstr ""
-
-#: builtin/stash.c:1615
-msgid "Cannot remove worktree changes"
-msgstr ""
-
-#: builtin/stash.c:1656 builtin/stash.c:1728
-msgid "keep index"
-msgstr ""
-
-#: builtin/stash.c:1658 builtin/stash.c:1730
-msgid "stash staged changes only"
-msgstr ""
-
-#: builtin/stash.c:1660 builtin/stash.c:1732
-msgid "stash in patch mode"
-msgstr ""
-
-#: builtin/stash.c:1661 builtin/stash.c:1733
-msgid "quiet mode"
-msgstr ""
-
-#: builtin/stash.c:1663 builtin/stash.c:1735
-msgid "include untracked files in stash"
-msgstr ""
-
-#: builtin/stash.c:1665 builtin/stash.c:1737
-msgid "include ignore files"
-msgstr ""
-
-#: builtin/stripspace.c:37
-msgid "skip and remove all lines starting with comment character"
-msgstr ""
-
-#: builtin/stripspace.c:40
-msgid "prepend comment character and space to each line"
-msgstr ""
-
-#: builtin/submodule--helper.c:50 builtin/submodule--helper.c:2486
-#, c-format
-msgid "Expecting a full ref name, got %s"
-msgstr ""
-
-#: builtin/submodule--helper.c:103
-#, c-format
-msgid "cannot strip one component off url '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:213
-#, c-format
-msgid ""
-"could not look up configuration '%s'. Assuming this repository is its own "
-"authoritative upstream."
-msgstr ""
-
-#: builtin/submodule--helper.c:413 builtin/submodule--helper.c:1873
-msgid "alternative anchor for relative paths"
-msgstr ""
-
-#: builtin/submodule--helper.c:418
-msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
-msgstr ""
-
-#: builtin/submodule--helper.c:476 builtin/submodule--helper.c:617
-#: builtin/submodule--helper.c:640
-#, c-format
-msgid "No url found for submodule path '%s' in .gitmodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:528
-#, c-format
-msgid "Entering '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:531
-#, c-format
-msgid ""
-"run_command returned non-zero status for %s\n"
-"."
-msgstr ""
-
-#: builtin/submodule--helper.c:553
-#, c-format
-msgid ""
-"run_command returned non-zero status while recursing in the nested "
-"submodules of %s\n"
-"."
-msgstr ""
-
-#: builtin/submodule--helper.c:569
-msgid "suppress output of entering each submodule command"
-msgstr ""
-
-#: builtin/submodule--helper.c:571 builtin/submodule--helper.c:876
-#: builtin/submodule--helper.c:1458
-msgid "recurse into nested submodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:576
-msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
-msgstr ""
-
-#: builtin/submodule--helper.c:654
-#, c-format
-msgid "Failed to register url for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:658
-#, c-format
-msgid "Submodule '%s' (%s) registered for path '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:668
-#, c-format
-msgid "warning: command update mode suggested for submodule '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:675
-#, c-format
-msgid "Failed to register update mode for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:697
-msgid "suppress output for initializing a submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:702
-msgid "git submodule--helper init [<options>] [<path>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:775 builtin/submodule--helper.c:910
-#, c-format
-msgid "no submodule mapping found in .gitmodules for path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:823
-#, c-format
-msgid "could not resolve HEAD ref inside the submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1428
-#, c-format
-msgid "failed to recurse into submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1595
-msgid "suppress submodule status output"
-msgstr ""
-
-#: builtin/submodule--helper.c:875
-msgid ""
-"use commit stored in the index instead of the one stored in the submodule "
-"HEAD"
-msgstr ""
-
-#: builtin/submodule--helper.c:881
-msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
-msgstr ""
-
-#: builtin/submodule--helper.c:905
-msgid "git submodule--helper name <path>"
-msgstr ""
-
-#: builtin/submodule--helper.c:977
-#, c-format
-msgid "* %s %s(blob)->%s(submodule)"
-msgstr ""
-
-#: builtin/submodule--helper.c:980
-#, c-format
-msgid "* %s %s(submodule)->%s(blob)"
-msgstr ""
-
-#: builtin/submodule--helper.c:993
-#, c-format
-msgid "%s"
-msgstr ""
-
-#: builtin/submodule--helper.c:1043
-#, c-format
-msgid "couldn't hash object from '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1047
-#, c-format
-msgid "unexpected mode %o\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1288
-msgid "use the commit stored in the index instead of the submodule HEAD"
-msgstr ""
-
-#: builtin/submodule--helper.c:1290
-msgid "compare the commit in the index with that in the submodule HEAD"
-msgstr ""
-
-#: builtin/submodule--helper.c:1292
-msgid "skip submodules with 'ignore_config' value set to 'all'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1294
-msgid "limit the summary size"
-msgstr ""
-
-#: builtin/submodule--helper.c:1299
-msgid "git submodule--helper summary [<options>] [<commit>] [--] [<path>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:1323
-msgid "could not fetch a revision for HEAD"
-msgstr ""
-
-#: builtin/submodule--helper.c:1384
-#, c-format
-msgid "Synchronizing submodule url for '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1390
-#, c-format
-msgid "failed to register url for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1399
-#, c-format
-msgid "failed to get the default remote for submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1409
-#, c-format
-msgid "failed to update remote for submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1456
-msgid "suppress output of synchronizing submodule url"
-msgstr ""
-
-#: builtin/submodule--helper.c:1463
-msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:1513
-#, c-format
-msgid ""
-"Submodule work tree '%s' contains a .git directory. This will be replaced "
-"with a .git file by using absorbgitdirs."
-msgstr ""
-
-#: builtin/submodule--helper.c:1530
-#, c-format
-msgid ""
-"Submodule work tree '%s' contains local modifications; use '-f' to discard "
-"them"
-msgstr ""
-
-#: builtin/submodule--helper.c:1538
-#, c-format
-msgid "Cleared directory '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1540
-#, c-format
-msgid "Could not remove submodule work tree '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1551
-#, c-format
-msgid "could not create empty submodule directory %s"
-msgstr ""
-
-#: builtin/submodule--helper.c:1567
-#, c-format
-msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1596
-msgid "remove submodule working trees even if they contain local changes"
-msgstr ""
-
-#: builtin/submodule--helper.c:1597
-msgid "unregister all submodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:1602
-msgid ""
-"git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
-msgstr ""
-
-#: builtin/submodule--helper.c:1616
-msgid "Use '--all' if you really want to deinitialize all submodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:1665
-msgid ""
-"An alternate computed from a superproject's alternate is invalid.\n"
-"To allow Git to clone without an alternate in such a case, set\n"
-"submodule.alternateErrorStrategy to 'info' or, equivalently, clone with\n"
-"'--reference-if-able' instead of '--reference'."
-msgstr ""
-
-#: builtin/submodule--helper.c:1710 builtin/submodule--helper.c:1713
-#, c-format
-msgid "submodule '%s' cannot add alternate: %s"
-msgstr ""
-
-#: builtin/submodule--helper.c:1749
-#, c-format
-msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
-msgstr ""
-
-#: builtin/submodule--helper.c:1756
-#, c-format
-msgid "Value '%s' for submodule.alternateLocation is not recognized"
-msgstr ""
-
-#: builtin/submodule--helper.c:1781
-#, c-format
-msgid "refusing to create/use '%s' in another submodule's git dir"
-msgstr ""
-
-#: builtin/submodule--helper.c:1826
-#, c-format
-msgid "clone of '%s' into submodule path '%s' failed"
-msgstr ""
-
-#: builtin/submodule--helper.c:1831
-#, c-format
-msgid "directory not empty: '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1843
-#, c-format
-msgid "could not get submodule directory for '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1876
-msgid "where the new submodule will be cloned to"
-msgstr ""
-
-#: builtin/submodule--helper.c:1879
-msgid "name of the new submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:1882
-msgid "url where to clone the submodule from"
-msgstr ""
-
-#: builtin/submodule--helper.c:1890 builtin/submodule--helper.c:3383
-msgid "depth for shallow clones"
-msgstr ""
-
-#: builtin/submodule--helper.c:1893 builtin/submodule--helper.c:2731
-#: builtin/submodule--helper.c:3376
-msgid "force cloning progress"
-msgstr ""
-
-#: builtin/submodule--helper.c:1895 builtin/submodule--helper.c:2733
-msgid "disallow cloning into non-empty directory"
-msgstr ""
-
-#: builtin/submodule--helper.c:1903
-msgid ""
-"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
-"<repository>] [--name <name>] [--depth <depth>] [--single-branch] [--filter "
-"<filter-spec>] --url <url> --path <path>"
-msgstr ""
-
-#: builtin/submodule--helper.c:1943
-#, c-format
-msgid "Invalid update mode '%s' for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1947
-#, c-format
-msgid "Invalid update mode '%s' configured for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2041
-#, c-format
-msgid "Submodule path '%s' not initialized"
-msgstr ""
-
-#: builtin/submodule--helper.c:2045
-msgid "Maybe you want to use 'update --init'?"
-msgstr ""
-
-#: builtin/submodule--helper.c:2075
-#, c-format
-msgid "Skipping unmerged submodule %s"
-msgstr ""
-
-#: builtin/submodule--helper.c:2104
-#, c-format
-msgid "Skipping submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2257
-#, c-format
-msgid "Failed to clone '%s'. Retry scheduled"
-msgstr ""
-
-#: builtin/submodule--helper.c:2268
-#, c-format
-msgid "Failed to clone '%s' a second time, aborting"
-msgstr ""
-
-#: builtin/submodule--helper.c:2371
-#, c-format
-msgid "Unable to checkout '%s' in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2375
-#, c-format
-msgid "Unable to rebase '%s' in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2379
-#, c-format
-msgid "Unable to merge '%s' in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2383
-#, c-format
-msgid "Execution of '%s %s' failed in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2402
-#, c-format
-msgid "Submodule path '%s': checked out '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:2406
-#, c-format
-msgid "Submodule path '%s': rebased into '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:2410
-#, c-format
-msgid "Submodule path '%s': merged in '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:2414
-#, c-format
-msgid "Submodule path '%s': '%s %s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:2438
-#, c-format
-msgid "Unable to fetch in submodule path '%s'; trying to directly fetch %s:"
-msgstr ""
-
-#: builtin/submodule--helper.c:2447
-#, c-format
-msgid ""
-"Fetched in submodule path '%s', but it did not contain %s. Direct fetching "
-"of that commit failed."
-msgstr ""
-
-#: builtin/submodule--helper.c:2481
-#, c-format
-msgid ""
-"Submodule (%s) branch configured to inherit branch from superproject, but "
-"the superproject is not on any branch"
-msgstr ""
-
-#: builtin/submodule--helper.c:2499
-#, c-format
-msgid "could not get a repository handle for submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2588
-#, c-format
-msgid "Unable to find current revision in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2599
-#, c-format
-msgid "Unable to fetch in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2604
-#, c-format
-msgid "Unable to find %s revision in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2640
-#, c-format
-msgid "Failed to recurse into submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2699
-msgid "force checkout updates"
-msgstr ""
-
-#: builtin/submodule--helper.c:2701
-msgid "initialize uninitialized submodules before update"
-msgstr ""
-
-#: builtin/submodule--helper.c:2703
-msgid "use SHA-1 of submodule's remote tracking branch"
-msgstr ""
-
-#: builtin/submodule--helper.c:2705
-msgid "traverse submodules recursively"
-msgstr ""
-
-#: builtin/submodule--helper.c:2707
-msgid "don't fetch new objects from the remote site"
-msgstr ""
-
-#: builtin/submodule--helper.c:2710 builtin/submodule--helper.c:2892
-msgid "path into the working tree"
-msgstr ""
-
-#: builtin/submodule--helper.c:2713
-msgid "path into the working tree, across nested submodule boundaries"
-msgstr ""
-
-#: builtin/submodule--helper.c:2717
-msgid "rebase, merge, checkout or none"
-msgstr ""
-
-#: builtin/submodule--helper.c:2723
-msgid "create a shallow clone truncated to the specified number of revisions"
-msgstr ""
-
-#: builtin/submodule--helper.c:2726
-msgid "parallel jobs"
-msgstr ""
-
-#: builtin/submodule--helper.c:2728
-msgid "whether the initial clone should follow the shallow recommendation"
-msgstr ""
-
-#: builtin/submodule--helper.c:2729
-msgid "don't print cloning progress"
-msgstr ""
-
-#: builtin/submodule--helper.c:2741
-msgid ""
-"git submodule [--quiet] update [--init [--filter=<filter-spec>]] [--remote] "
-"[-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-"
-"shallow] [--reference <repository>] [--recursive] [--[no-]single-branch] "
-"[--] [<path>...]"
-msgstr ""
-
-#: builtin/submodule--helper.c:2767
-msgid "bad value for update parameter"
-msgstr ""
-
-#: builtin/submodule--helper.c:2893
-msgid "recurse into submodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:2899
-msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
-msgstr ""
-
-#: builtin/submodule--helper.c:2955
-msgid "check if it is safe to write to the .gitmodules file"
-msgstr ""
-
-#: builtin/submodule--helper.c:2958
-msgid "unset the config in the .gitmodules file"
-msgstr ""
-
-#: builtin/submodule--helper.c:2963
-msgid "git submodule--helper config <name> [<value>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:2964
-msgid "git submodule--helper config --unset <name>"
-msgstr ""
-
-#: builtin/submodule--helper.c:2984 builtin/submodule--helper.c:3238
-#: builtin/submodule--helper.c:3395
-msgid "please make sure that the .gitmodules file is in the working tree"
-msgstr ""
-
-#: builtin/submodule--helper.c:3000
-msgid "suppress output for setting url of a submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:3004
-msgid "git submodule--helper set-url [--quiet] <path> <newurl>"
-msgstr ""
-
-#: builtin/submodule--helper.c:3037
-msgid "set the default tracking branch to master"
-msgstr ""
-
-#: builtin/submodule--helper.c:3039
-msgid "set the default tracking branch"
-msgstr ""
-
-#: builtin/submodule--helper.c:3043
-msgid "git submodule--helper set-branch [-q|--quiet] (-d|--default) <path>"
-msgstr ""
-
-#: builtin/submodule--helper.c:3044
-msgid ""
-"git submodule--helper set-branch [-q|--quiet] (-b|--branch) <branch> <path>"
-msgstr ""
-
-#: builtin/submodule--helper.c:3051
-msgid "--branch or --default required"
-msgstr ""
-
-#: builtin/submodule--helper.c:3072 builtin/submodule--helper.c:3375
-msgid "print only error messages"
-msgstr ""
-
-#: builtin/submodule--helper.c:3073
-msgid "force creation"
-msgstr ""
-
-#: builtin/submodule--helper.c:3081
-msgid "show whether the branch would be created"
-msgstr ""
-
-#: builtin/submodule--helper.c:3085
-msgid ""
-"git submodule--helper create-branch [-f|--force] [--create-reflog] [-q|--"
-"quiet] [-t|--track] [-n|--dry-run] <name> <start-oid> <start-name>"
-msgstr ""
-
-#: builtin/submodule--helper.c:3097
-#, c-format
-msgid "creating branch '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:3155
-#, c-format
-msgid "Adding existing repo at '%s' to the index\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:3158
-#, c-format
-msgid "'%s' already exists and is not a valid git repo"
-msgstr ""
-
-#: builtin/submodule--helper.c:3171
-#, c-format
-msgid "A git directory for '%s' is found locally with remote(s):\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:3178
-#, c-format
-msgid ""
-"If you want to reuse this local git directory instead of cloning again from\n"
-"  %s\n"
-"use the '--force' option. If the local git directory is not the correct "
-"repo\n"
-"or you are unsure what this means choose another name with the '--name' "
-"option."
-msgstr ""
-
-#: builtin/submodule--helper.c:3190
-#, c-format
-msgid "Reactivating local git directory for submodule '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:3227
-#, c-format
-msgid "unable to checkout submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:3266
-#, c-format
-msgid "Failed to add submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:3270 builtin/submodule--helper.c:3275
-#: builtin/submodule--helper.c:3283
-#, c-format
-msgid "Failed to register submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:3339
-#, c-format
-msgid "'%s' already exists in the index"
-msgstr ""
-
-#: builtin/submodule--helper.c:3342
-#, c-format
-msgid "'%s' already exists in the index and is not a submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:3372
-msgid "branch of repository to add as submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:3373
-msgid "allow adding an otherwise ignored submodule path"
-msgstr ""
-
-#: builtin/submodule--helper.c:3379
-msgid "borrow the objects from reference repositories"
-msgstr ""
-
-#: builtin/submodule--helper.c:3381
-msgid ""
-"sets the submodule’s name to the given string instead of defaulting to its "
-"path"
-msgstr ""
-
-#: builtin/submodule--helper.c:3388
-msgid "git submodule--helper add [<options>] [--] <repository> [<path>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:3416
-msgid "Relative path can only be used from the toplevel of the working tree"
-msgstr ""
-
-#: builtin/submodule--helper.c:3425
-#, c-format
-msgid "repo URL: '%s' must be absolute or begin with ./|../"
-msgstr ""
-
-#: builtin/submodule--helper.c:3460
-#, c-format
-msgid "'%s' is not a valid submodule name"
-msgstr ""
-
-#: builtin/submodule--helper.c:3520 git.c:453 git.c:729
-#, c-format
-msgid "%s doesn't support --super-prefix"
-msgstr ""
-
-#: builtin/submodule--helper.c:3526
-#, c-format
-msgid "'%s' is not a valid submodule--helper subcommand"
-msgstr ""
-
-#: builtin/symbolic-ref.c:8
-msgid "git symbolic-ref [<options>] <name> [<ref>]"
-msgstr ""
-
-#: builtin/symbolic-ref.c:9
-msgid "git symbolic-ref -d [-q] <name>"
-msgstr ""
-
-#: builtin/symbolic-ref.c:42
-msgid "suppress error message for non-symbolic (detached) refs"
-msgstr ""
-
-#: builtin/symbolic-ref.c:43
-msgid "delete symbolic ref"
-msgstr ""
-
-#: builtin/symbolic-ref.c:44
-msgid "shorten ref output"
-msgstr ""
-
-#: builtin/symbolic-ref.c:45 builtin/update-ref.c:505
-msgid "reason"
-msgstr ""
-
-#: builtin/symbolic-ref.c:45 builtin/update-ref.c:505
-msgid "reason of the update"
-msgstr ""
-
-#: builtin/tag.c:26
-msgid ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
-"        <tagname> [<head>]"
-msgstr ""
-
-#: builtin/tag.c:28
-msgid "git tag -d <tagname>..."
-msgstr ""
-
-#: builtin/tag.c:29
-msgid ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
-"points-at <object>]\n"
-"        [--format=<format>] [--merged <commit>] [--no-merged <commit>] "
-"[<pattern>...]"
-msgstr ""
-
-#: builtin/tag.c:31
-msgid "git tag -v [--format=<format>] <tagname>..."
-msgstr ""
-
-#: builtin/tag.c:101
-#, c-format
-msgid "tag '%s' not found."
-msgstr ""
-
-#: builtin/tag.c:136
-#, c-format
-msgid "Deleted tag '%s' (was %s)\n"
-msgstr ""
-
-#: builtin/tag.c:171
-#, c-format
-msgid ""
-"\n"
-"Write a message for tag:\n"
-"  %s\n"
-"Lines starting with '%c' will be ignored.\n"
-msgstr ""
-
-#: builtin/tag.c:175
-#, c-format
-msgid ""
-"\n"
-"Write a message for tag:\n"
-"  %s\n"
-"Lines starting with '%c' will be kept; you may remove them yourself if you "
-"want to.\n"
-msgstr ""
-
-#: builtin/tag.c:241
-msgid "unable to sign the tag"
-msgstr ""
-
-#: builtin/tag.c:259
-#, c-format
-msgid ""
-"You have created a nested tag. The object referred to by your new tag is\n"
-"already a tag. If you meant to tag the object that it points to, use:\n"
-"\n"
-"\tgit tag -f %s %s^{}"
-msgstr ""
-
-#: builtin/tag.c:275
-msgid "bad object type."
-msgstr ""
-
-#: builtin/tag.c:326
-msgid "no tag message?"
-msgstr ""
-
-#: builtin/tag.c:333
-#, c-format
-msgid "The tag message has been left in %s\n"
-msgstr ""
-
-#: builtin/tag.c:445
-msgid "list tag names"
-msgstr ""
-
-#: builtin/tag.c:447
-msgid "print <n> lines of each tag message"
-msgstr ""
-
-#: builtin/tag.c:449
-msgid "delete tags"
-msgstr ""
-
-#: builtin/tag.c:450
-msgid "verify tags"
-msgstr ""
-
-#: builtin/tag.c:452
-msgid "Tag creation options"
-msgstr ""
-
-#: builtin/tag.c:454
-msgid "annotated tag, needs a message"
-msgstr ""
-
-#: builtin/tag.c:456
-msgid "tag message"
-msgstr ""
-
-#: builtin/tag.c:458
-msgid "force edit of tag message"
-msgstr ""
-
-#: builtin/tag.c:459
-msgid "annotated and GPG-signed tag"
-msgstr ""
-
-#: builtin/tag.c:462
-msgid "use another key to sign the tag"
-msgstr ""
-
-#: builtin/tag.c:463
-msgid "replace the tag if exists"
-msgstr ""
-
-#: builtin/tag.c:464 builtin/update-ref.c:511
-msgid "create a reflog"
-msgstr ""
-
-#: builtin/tag.c:466
-msgid "Tag listing options"
-msgstr ""
-
-#: builtin/tag.c:467
-msgid "show tag list in columns"
-msgstr ""
-
-#: builtin/tag.c:468 builtin/tag.c:470
-msgid "print only tags that contain the commit"
-msgstr ""
-
-#: builtin/tag.c:469 builtin/tag.c:471
-msgid "print only tags that don't contain the commit"
-msgstr ""
-
-#: builtin/tag.c:472
-msgid "print only tags that are merged"
-msgstr ""
-
-#: builtin/tag.c:473
-msgid "print only tags that are not merged"
-msgstr ""
-
-#: builtin/tag.c:477
-msgid "print only tags of the object"
-msgstr ""
-
-#: builtin/tag.c:559
-#, c-format
-msgid "the '%s' option is only allowed in list mode"
-msgstr ""
-
-#: builtin/tag.c:598
-#, c-format
-msgid "'%s' is not a valid tag name."
-msgstr ""
-
-#: builtin/tag.c:603
-#, c-format
-msgid "tag '%s' already exists"
-msgstr ""
-
-#: builtin/tag.c:634
-#, c-format
-msgid "Updated tag '%s' (was %s)\n"
-msgstr ""
-
-#: builtin/unpack-objects.c:95
-msgid "pack exceeds maximum allowed size"
-msgstr ""
-
-#: builtin/unpack-objects.c:504
-msgid "Unpacking objects"
-msgstr ""
-
-#: builtin/update-index.c:84
-#, c-format
-msgid "failed to create directory %s"
-msgstr ""
-
-#: builtin/update-index.c:106
-#, c-format
-msgid "failed to delete file %s"
-msgstr ""
-
-#: builtin/update-index.c:113 builtin/update-index.c:219
-#, c-format
-msgid "failed to delete directory %s"
-msgstr ""
-
-#: builtin/update-index.c:138
-#, c-format
-msgid "Testing mtime in '%s' "
-msgstr ""
-
-#: builtin/update-index.c:152
-msgid "directory stat info does not change after adding a new file"
-msgstr ""
-
-#: builtin/update-index.c:165
-msgid "directory stat info does not change after adding a new directory"
-msgstr ""
-
-#: builtin/update-index.c:178
-msgid "directory stat info changes after updating a file"
-msgstr ""
-
-#: builtin/update-index.c:189
-msgid "directory stat info changes after adding a file inside subdirectory"
-msgstr ""
-
-#: builtin/update-index.c:200
-msgid "directory stat info does not change after deleting a file"
-msgstr ""
-
-#: builtin/update-index.c:213
-msgid "directory stat info does not change after deleting a directory"
-msgstr ""
-
-#: builtin/update-index.c:220
-msgid " OK"
-msgstr ""
-
-#: builtin/update-index.c:589
-msgid "git update-index [<options>] [--] [<file>...]"
-msgstr ""
-
-#: builtin/update-index.c:993
-msgid "continue refresh even when index needs update"
-msgstr ""
-
-#: builtin/update-index.c:996
-msgid "refresh: ignore submodules"
-msgstr ""
-
-#: builtin/update-index.c:999
-msgid "do not ignore new files"
-msgstr ""
-
-#: builtin/update-index.c:1001
-msgid "let files replace directories and vice-versa"
-msgstr ""
-
-#: builtin/update-index.c:1003
-msgid "notice files missing from worktree"
-msgstr ""
-
-#: builtin/update-index.c:1005
-msgid "refresh even if index contains unmerged entries"
-msgstr ""
-
-#: builtin/update-index.c:1008
-msgid "refresh stat information"
-msgstr ""
-
-#: builtin/update-index.c:1012
-msgid "like --refresh, but ignore assume-unchanged setting"
-msgstr ""
-
-#: builtin/update-index.c:1016
-msgid "<mode>,<object>,<path>"
-msgstr ""
-
-#: builtin/update-index.c:1017
-msgid "add the specified entry to the index"
-msgstr ""
-
-#: builtin/update-index.c:1027
-msgid "mark files as \"not changing\""
-msgstr ""
-
-#: builtin/update-index.c:1030
-msgid "clear assumed-unchanged bit"
-msgstr ""
-
-#: builtin/update-index.c:1033
-msgid "mark files as \"index-only\""
-msgstr ""
-
-#: builtin/update-index.c:1036
-msgid "clear skip-worktree bit"
-msgstr ""
-
-#: builtin/update-index.c:1039
-msgid "do not touch index-only entries"
-msgstr ""
-
-#: builtin/update-index.c:1041
-msgid "add to index only; do not add content to object database"
-msgstr ""
-
-#: builtin/update-index.c:1043
-msgid "remove named paths even if present in worktree"
-msgstr ""
-
-#: builtin/update-index.c:1045
-msgid "with --stdin: input lines are terminated by null bytes"
-msgstr ""
-
-#: builtin/update-index.c:1047
-msgid "read list of paths to be updated from standard input"
-msgstr ""
-
-#: builtin/update-index.c:1051
-msgid "add entries from standard input to the index"
-msgstr ""
-
-#: builtin/update-index.c:1055
-msgid "repopulate stages #2 and #3 for the listed paths"
-msgstr ""
-
-#: builtin/update-index.c:1059
-msgid "only update entries that differ from HEAD"
-msgstr ""
-
-#: builtin/update-index.c:1063
-msgid "ignore files missing from worktree"
-msgstr ""
-
-#: builtin/update-index.c:1066
-msgid "report actions to standard output"
-msgstr ""
-
-#: builtin/update-index.c:1068
-msgid "(for porcelains) forget saved unresolved conflicts"
-msgstr ""
-
-#: builtin/update-index.c:1072
-msgid "write index in this format"
-msgstr ""
-
-#: builtin/update-index.c:1074
-msgid "enable or disable split index"
-msgstr ""
-
-#: builtin/update-index.c:1076
-msgid "enable/disable untracked cache"
-msgstr ""
-
-#: builtin/update-index.c:1078
-msgid "test if the filesystem supports untracked cache"
-msgstr ""
-
-#: builtin/update-index.c:1080
-msgid "enable untracked cache without testing the filesystem"
-msgstr ""
-
-#: builtin/update-index.c:1082
-msgid "write out the index even if is not flagged as changed"
-msgstr ""
-
-#: builtin/update-index.c:1084
-msgid "enable or disable file system monitor"
-msgstr ""
-
-#: builtin/update-index.c:1086
-msgid "mark files as fsmonitor valid"
-msgstr ""
-
-#: builtin/update-index.c:1089
-msgid "clear fsmonitor valid bit"
-msgstr ""
-
-#: builtin/update-index.c:1195
-msgid ""
-"core.splitIndex is set to false; remove or change it, if you really want to "
-"enable split index"
-msgstr ""
-
-#: builtin/update-index.c:1204
-msgid ""
-"core.splitIndex is set to true; remove or change it, if you really want to "
-"disable split index"
-msgstr ""
-
-#: builtin/update-index.c:1216
-msgid ""
-"core.untrackedCache is set to true; remove or change it, if you really want "
-"to disable the untracked cache"
-msgstr ""
-
-#: builtin/update-index.c:1220
-msgid "Untracked cache disabled"
-msgstr ""
-
-#: builtin/update-index.c:1228
-msgid ""
-"core.untrackedCache is set to false; remove or change it, if you really want "
-"to enable the untracked cache"
-msgstr ""
-
-#: builtin/update-index.c:1232
-#, c-format
-msgid "Untracked cache enabled for '%s'"
-msgstr ""
-
-#: builtin/update-index.c:1241
-msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
-msgstr ""
-
-#: builtin/update-index.c:1246
-msgid "fsmonitor enabled"
-msgstr ""
-
-#: builtin/update-index.c:1250
-msgid ""
-"core.fsmonitor is set; remove it if you really want to disable fsmonitor"
-msgstr ""
-
-#: builtin/update-index.c:1254
-msgid "fsmonitor disabled"
-msgstr ""
-
-#: builtin/update-ref.c:10
-msgid "git update-ref [<options>] -d <refname> [<old-val>]"
-msgstr ""
-
-#: builtin/update-ref.c:11
-msgid "git update-ref [<options>]    <refname> <new-val> [<old-val>]"
-msgstr ""
-
-#: builtin/update-ref.c:12
-msgid "git update-ref [<options>] --stdin [-z]"
-msgstr ""
-
-#: builtin/update-ref.c:506
-msgid "delete the reference"
-msgstr ""
-
-#: builtin/update-ref.c:508
-msgid "update <refname> not the one it points to"
-msgstr ""
-
-#: builtin/update-ref.c:509
-msgid "stdin has NUL-terminated arguments"
-msgstr ""
-
-#: builtin/update-ref.c:510
-msgid "read updates from stdin"
-msgstr ""
-
-#: builtin/update-server-info.c:15
-msgid "update the info files from scratch"
-msgstr ""
-
-#: builtin/upload-pack.c:11
-msgid "git upload-pack [<options>] <dir>"
-msgstr ""
-
-#: builtin/upload-pack.c:24 t/helper/test-serve-v2.c:17
-msgid "quit after a single request/response exchange"
-msgstr ""
-
-#: builtin/upload-pack.c:26
-msgid "serve up the info/refs for git-http-backend"
-msgstr ""
-
-#: builtin/upload-pack.c:29
-msgid "do not try <directory>/.git/ if <directory> is no Git directory"
-msgstr ""
-
-#: builtin/upload-pack.c:31
-msgid "interrupt transfer after <n> seconds of inactivity"
-msgstr ""
-
-#: builtin/verify-commit.c:19
-msgid "git verify-commit [-v | --verbose] <commit>..."
-msgstr ""
-
-#: builtin/verify-commit.c:68
-msgid "print commit contents"
-msgstr ""
-
-#: builtin/verify-commit.c:69 builtin/verify-tag.c:37
-msgid "print raw gpg status output"
-msgstr ""
-
-#: builtin/verify-pack.c:59
-msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
-msgstr ""
-
-#: builtin/verify-pack.c:70
-msgid "verbose"
-msgstr ""
-
-#: builtin/verify-pack.c:72
-msgid "show statistics only"
-msgstr ""
-
-#: builtin/verify-tag.c:18
-msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
-msgstr ""
-
-#: builtin/verify-tag.c:36
-msgid "print tag contents"
-msgstr ""
-
-#: builtin/worktree.c:19
-msgid "git worktree add [<options>] <path> [<commit-ish>]"
-msgstr ""
-
-#: builtin/worktree.c:20
-msgid "git worktree list [<options>]"
-msgstr ""
-
-#: builtin/worktree.c:21
-msgid "git worktree lock [<options>] <path>"
-msgstr ""
-
-#: builtin/worktree.c:22
-msgid "git worktree move <worktree> <new-path>"
-msgstr ""
-
-#: builtin/worktree.c:23
-msgid "git worktree prune [<options>]"
-msgstr ""
-
-#: builtin/worktree.c:24
-msgid "git worktree remove [<options>] <worktree>"
-msgstr ""
-
-#: builtin/worktree.c:25
-msgid "git worktree repair [<path>...]"
-msgstr ""
-
-#: builtin/worktree.c:26
-msgid "git worktree unlock <path>"
-msgstr ""
-
-#: builtin/worktree.c:76
-#, c-format
-msgid "Removing %s/%s: %s"
-msgstr ""
-
-#: builtin/worktree.c:149
-msgid "report pruned working trees"
-msgstr ""
-
-#: builtin/worktree.c:151
-msgid "expire working trees older than <time>"
-msgstr ""
-
-#: builtin/worktree.c:221
-#, c-format
-msgid "'%s' already exists"
-msgstr ""
-
-#: builtin/worktree.c:230
-#, c-format
-msgid "unusable worktree destination '%s'"
-msgstr ""
-
-#: builtin/worktree.c:235
-#, c-format
-msgid ""
-"'%s' is a missing but locked worktree;\n"
-"use '%s -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear"
-msgstr ""
-
-#: builtin/worktree.c:237
-#, c-format
-msgid ""
-"'%s' is a missing but already registered worktree;\n"
-"use '%s -f' to override, or 'prune' or 'remove' to clear"
-msgstr ""
-
-#: builtin/worktree.c:248
-#, c-format
-msgid "failed to copy '%s' to '%s'; sparse-checkout may not work correctly"
-msgstr ""
-
-#: builtin/worktree.c:268
-#, c-format
-msgid "failed to copy worktree config from '%s' to '%s'"
-msgstr ""
-
-#: builtin/worktree.c:280 builtin/worktree.c:285
-#, c-format
-msgid "failed to unset '%s' in '%s'"
-msgstr ""
-
-#: builtin/worktree.c:356
-#, c-format
-msgid "could not create directory of '%s'"
-msgstr ""
-
-#: builtin/worktree.c:378
-msgid "initializing"
-msgstr ""
-
-#: builtin/worktree.c:492 builtin/worktree.c:498
-#, c-format
-msgid "Preparing worktree (new branch '%s')"
-msgstr ""
-
-#: builtin/worktree.c:494
-#, c-format
-msgid "Preparing worktree (resetting branch '%s'; was at %s)"
-msgstr ""
-
-#: builtin/worktree.c:503
-#, c-format
-msgid "Preparing worktree (checking out '%s')"
-msgstr ""
-
-#: builtin/worktree.c:509
-#, c-format
-msgid "Preparing worktree (detached HEAD %s)"
-msgstr ""
-
-#: builtin/worktree.c:554
-msgid "checkout <branch> even if already checked out in other worktree"
-msgstr ""
-
-#: builtin/worktree.c:557
-msgid "create a new branch"
-msgstr ""
-
-#: builtin/worktree.c:559
-msgid "create or reset a branch"
-msgstr ""
-
-#: builtin/worktree.c:561
-msgid "populate the new working tree"
-msgstr ""
-
-#: builtin/worktree.c:562
-msgid "keep the new working tree locked"
-msgstr ""
-
-#: builtin/worktree.c:564 builtin/worktree.c:809
-msgid "reason for locking"
-msgstr ""
-
-#: builtin/worktree.c:567
-msgid "set up tracking mode (see git-branch(1))"
-msgstr ""
-
-#: builtin/worktree.c:570
-msgid "try to match the new branch name with a remote-tracking branch"
-msgstr ""
-
-#: builtin/worktree.c:584
-msgid "added with --lock"
-msgstr ""
-
-#: builtin/worktree.c:646
-msgid "--[no-]track can only be used if a new branch is created"
-msgstr ""
-
-#: builtin/worktree.c:766
-msgid "show extended annotations and reasons, if available"
-msgstr ""
-
-#: builtin/worktree.c:768
-msgid "add 'prunable' annotation to worktrees older than <time>"
-msgstr ""
-
-#: builtin/worktree.c:770
-msgid "terminate records with a NUL character"
-msgstr ""
-
-#: builtin/worktree.c:821 builtin/worktree.c:854 builtin/worktree.c:928
-#: builtin/worktree.c:1052
-#, c-format
-msgid "'%s' is not a working tree"
-msgstr ""
-
-#: builtin/worktree.c:823 builtin/worktree.c:856
-msgid "The main working tree cannot be locked or unlocked"
-msgstr ""
-
-#: builtin/worktree.c:828
-#, c-format
-msgid "'%s' is already locked, reason: %s"
-msgstr ""
-
-#: builtin/worktree.c:830
-#, c-format
-msgid "'%s' is already locked"
-msgstr ""
-
-#: builtin/worktree.c:858
-#, c-format
-msgid "'%s' is not locked"
-msgstr ""
-
-#: builtin/worktree.c:899
-msgid "working trees containing submodules cannot be moved or removed"
-msgstr ""
-
-#: builtin/worktree.c:907
-msgid "force move even if worktree is dirty or locked"
-msgstr ""
-
-#: builtin/worktree.c:930 builtin/worktree.c:1054
-#, c-format
-msgid "'%s' is a main working tree"
-msgstr ""
-
-#: builtin/worktree.c:935
-#, c-format
-msgid "could not figure out destination name from '%s'"
-msgstr ""
-
-#: builtin/worktree.c:948
-#, c-format
-msgid ""
-"cannot move a locked working tree, lock reason: %s\n"
-"use 'move -f -f' to override or unlock first"
-msgstr ""
-
-#: builtin/worktree.c:950
-msgid ""
-"cannot move a locked working tree;\n"
-"use 'move -f -f' to override or unlock first"
-msgstr ""
-
-#: builtin/worktree.c:953
-#, c-format
-msgid "validation failed, cannot move working tree: %s"
-msgstr ""
-
-#: builtin/worktree.c:958
-#, c-format
-msgid "failed to move '%s' to '%s'"
-msgstr ""
-
-#: builtin/worktree.c:1004
-#, c-format
-msgid "failed to run 'git status' on '%s'"
-msgstr ""
-
-#: builtin/worktree.c:1008
-#, c-format
-msgid "'%s' contains modified or untracked files, use --force to delete it"
-msgstr ""
-
-#: builtin/worktree.c:1013
-#, c-format
-msgid "failed to run 'git status' on '%s', code %d"
-msgstr ""
-
-#: builtin/worktree.c:1036
-msgid "force removal even if worktree is dirty or locked"
-msgstr ""
-
-#: builtin/worktree.c:1059
-#, c-format
-msgid ""
-"cannot remove a locked working tree, lock reason: %s\n"
-"use 'remove -f -f' to override or unlock first"
-msgstr ""
-
-#: builtin/worktree.c:1061
-msgid ""
-"cannot remove a locked working tree;\n"
-"use 'remove -f -f' to override or unlock first"
-msgstr ""
-
-#: builtin/worktree.c:1064
-#, c-format
-msgid "validation failed, cannot remove working tree: %s"
-msgstr ""
-
-#: builtin/worktree.c:1088
-#, c-format
-msgid "repair: %s: %s"
-msgstr ""
-
-#: builtin/worktree.c:1091
-#, c-format
-msgid "error: %s: %s"
-msgstr ""
-
-#: builtin/write-tree.c:15
-msgid "git write-tree [--missing-ok] [--prefix=<prefix>/]"
-msgstr ""
-
-#: builtin/write-tree.c:28
-msgid "<prefix>/"
-msgstr ""
-
-#: builtin/write-tree.c:29
-msgid "write tree object for a subdirectory <prefix>"
-msgstr ""
-
-#: builtin/write-tree.c:31
-msgid "only useful for debugging"
-msgstr ""
-
-#: git.c:28
-msgid ""
-"git [--version] [--help] [-C <path>] [-c <name>=<value>]\n"
-"           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]\n"
-"           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--"
-"bare]\n"
-"           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]\n"
-"           [--super-prefix=<path>] [--config-env=<name>=<envvar>]\n"
-"           <command> [<args>]"
-msgstr ""
-
-#: git.c:36
-msgid ""
-"'git help -a' and 'git help -g' list available subcommands and some\n"
-"concept guides. See 'git help <command>' or 'git help <concept>'\n"
-"to read about a specific subcommand or concept.\n"
-"See 'git help git' for an overview of the system."
-msgstr ""
-
-#: git.c:188 git.c:216 git.c:300
-#, c-format
-msgid "no directory given for '%s' option\n"
-msgstr ""
-
-#: git.c:202
-#, c-format
-msgid "no namespace given for --namespace\n"
-msgstr ""
-
-#: git.c:230
-#, c-format
-msgid "no prefix given for --super-prefix\n"
-msgstr ""
-
-#: git.c:252
-#, c-format
-msgid "-c expects a configuration string\n"
-msgstr ""
-
-#: git.c:260
-#, c-format
-msgid "no config key given for --config-env\n"
-msgstr ""
-
-#: git.c:326
-#, c-format
-msgid "unknown option: %s\n"
-msgstr ""
-
-#: git.c:375
-#, c-format
-msgid "while expanding alias '%s': '%s'"
-msgstr ""
-
-#: git.c:384
-#, c-format
-msgid ""
-"alias '%s' changes environment variables.\n"
-"You can use '!git' in the alias to do this"
-msgstr ""
-
-#: git.c:391
-#, c-format
-msgid "empty alias for %s"
-msgstr ""
-
-#: git.c:394
-#, c-format
-msgid "recursive alias: %s"
-msgstr ""
-
-#: git.c:480
-msgid "write failure on standard output"
-msgstr ""
-
-#: git.c:482
-msgid "unknown write failure on standard output"
-msgstr ""
-
-#: git.c:484
-msgid "close failed on standard output"
-msgstr ""
-
-#: git.c:838
-#, c-format
-msgid "alias loop detected: expansion of '%s' does not terminate:%s"
-msgstr ""
-
-#: git.c:888
-#, c-format
-msgid "cannot handle %s as a builtin"
-msgstr ""
-
-#: git.c:901
-#, c-format
-msgid ""
-"usage: %s\n"
-"\n"
-msgstr ""
-
-#: git.c:921
-#, c-format
-msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
-msgstr ""
-
-#: git.c:933
-#, c-format
-msgid "failed to run command '%s': %s\n"
-msgstr ""
-
-#: http-fetch.c:128
-#, c-format
-msgid "argument to --packfile must be a valid hash (got '%s')"
-msgstr ""
-
-#: http-fetch.c:138
-msgid "not a git repository"
-msgstr ""
-
-#: t/helper/test-fast-rebase.c:141
-msgid "unhandled options"
-msgstr ""
-
-#: t/helper/test-fast-rebase.c:146
-msgid "error preparing revisions"
-msgstr ""
-
-#: t/helper/test-reach.c:154
-#, c-format
-msgid "commit %s is not marked reachable"
-msgstr ""
-
-#: t/helper/test-reach.c:164
-msgid "too many commits marked reachable"
-msgstr ""
-
-#: t/helper/test-serve-v2.c:7
-msgid "test-tool serve-v2 [<options>]"
-msgstr ""
-
-#: t/helper/test-serve-v2.c:19
-msgid "exit immediately after advertising capabilities"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:581
-msgid "test-helper simple-ipc is-active    [<name>] [<options>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:582
-msgid "test-helper simple-ipc run-daemon   [<name>] [<threads>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:583
-msgid "test-helper simple-ipc start-daemon [<name>] [<threads>] [<max-wait>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:584
-msgid "test-helper simple-ipc stop-daemon  [<name>] [<max-wait>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:585
-msgid "test-helper simple-ipc send         [<name>] [<token>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:586
-msgid "test-helper simple-ipc sendbytes    [<name>] [<bytecount>] [<byte>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:587
-msgid ""
-"test-helper simple-ipc multiple     [<name>] [<threads>] [<bytecount>] "
-"[<batchsize>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:595
-msgid "name or pathname of unix domain socket"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:597
-msgid "named-pipe name"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:599
-msgid "number of threads in server thread pool"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:600
-msgid "seconds to wait for daemon to start or stop"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:602
-msgid "number of bytes"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:603
-msgid "number of requests per thread"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:605
-msgid "byte"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:605
-msgid "ballast character"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:606
-msgid "token"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:606
-msgid "command token to send to the server"
-msgstr ""
-
-#: http.c:350
-#, c-format
-msgid "negative value for http.postbuffer; defaulting to %d"
-msgstr ""
-
-#: http.c:371
-msgid "Delegation control is not supported with cURL < 7.22.0"
-msgstr ""
-
-#: http.c:380
-msgid "Public key pinning not supported with cURL < 7.39.0"
-msgstr ""
-
-#: http.c:812
-msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
-msgstr ""
-
-#: http.c:1016
-#, c-format
-msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
-msgstr ""
-
-#: http.c:1023
-#, c-format
-msgid "Could not set SSL backend to '%s': cURL was built without SSL backends"
-msgstr ""
-
-#: http.c:1027
-#, c-format
-msgid "Could not set SSL backend to '%s': already set"
-msgstr ""
-
-#: http.c:1876
-#, c-format
-msgid ""
-"unable to update url base from redirection:\n"
-"  asked for: %s\n"
-"   redirect: %s"
-msgstr ""
-
-#: remote-curl.c:184
-#, c-format
-msgid "invalid quoting in push-option value: '%s'"
-msgstr ""
-
-#: remote-curl.c:308
-#, c-format
-msgid "%sinfo/refs not valid: is this a git repository?"
-msgstr ""
-
-#: remote-curl.c:409
-msgid "invalid server response; expected service, got flush packet"
-msgstr ""
-
-#: remote-curl.c:440
-#, c-format
-msgid "invalid server response; got '%s'"
-msgstr ""
-
-#: remote-curl.c:500
-#, c-format
-msgid "repository '%s' not found"
-msgstr ""
-
-#: remote-curl.c:504
-#, c-format
-msgid "Authentication failed for '%s'"
-msgstr ""
-
-#: remote-curl.c:508
-#, c-format
-msgid "unable to access '%s' with http.pinnedPubkey configuration: %s"
-msgstr ""
-
-#: remote-curl.c:512
-#, c-format
-msgid "unable to access '%s': %s"
-msgstr ""
-
-#: remote-curl.c:518
-#, c-format
-msgid "redirecting to %s"
-msgstr ""
-
-#: remote-curl.c:649
-msgid "shouldn't have EOF when not gentle on EOF"
-msgstr ""
-
-#: remote-curl.c:661
-msgid "remote server sent unexpected response end packet"
-msgstr ""
-
-#: remote-curl.c:730
-msgid "unable to rewind rpc post data - try increasing http.postBuffer"
-msgstr ""
-
-#: remote-curl.c:759
-#, c-format
-msgid "remote-curl: bad line length character: %.4s"
-msgstr ""
-
-#: remote-curl.c:761
-msgid "remote-curl: unexpected response end packet"
-msgstr ""
-
-#: remote-curl.c:837
-#, c-format
-msgid "RPC failed; %s"
-msgstr ""
-
-#: remote-curl.c:877
-msgid "cannot handle pushes this big"
-msgstr ""
-
-#: remote-curl.c:990
-#, c-format
-msgid "cannot deflate request; zlib deflate error %d"
-msgstr ""
-
-#: remote-curl.c:994
-#, c-format
-msgid "cannot deflate request; zlib end error %d"
-msgstr ""
-
-#: remote-curl.c:1044
-#, c-format
-msgid "%d bytes of length header were received"
-msgstr ""
-
-#: remote-curl.c:1046
-#, c-format
-msgid "%d bytes of body are still expected"
-msgstr ""
-
-#: remote-curl.c:1135
-msgid "dumb http transport does not support shallow capabilities"
-msgstr ""
-
-#: remote-curl.c:1150
-msgid "fetch failed."
-msgstr ""
-
-#: remote-curl.c:1198
-msgid "cannot fetch by sha1 over smart http"
-msgstr ""
-
-#: remote-curl.c:1242 remote-curl.c:1248
-#, c-format
-msgid "protocol error: expected sha/ref, got '%s'"
-msgstr ""
-
-#: remote-curl.c:1260 remote-curl.c:1378
-#, c-format
-msgid "http transport does not support %s"
-msgstr ""
-
-#: remote-curl.c:1296
-msgid "git-http-push failed"
-msgstr ""
-
-#: remote-curl.c:1485
-msgid "remote-curl: usage: git remote-curl <remote> [<url>]"
-msgstr ""
-
-#: remote-curl.c:1517
-msgid "remote-curl: error reading command stream from git"
-msgstr ""
-
-#: remote-curl.c:1524
-msgid "remote-curl: fetch attempted without a local repo"
-msgstr ""
-
-#: remote-curl.c:1565
-#, c-format
-msgid "remote-curl: unknown command '%s' from git"
-msgstr ""
-
-#: contrib/scalar/scalar.c:49
-msgid "need a working directory"
-msgstr ""
-
-#: contrib/scalar/scalar.c:86
-msgid "could not find enlistment root"
-msgstr ""
-
-#: contrib/scalar/scalar.c:89 contrib/scalar/scalar.c:350
-#: contrib/scalar/scalar.c:435 contrib/scalar/scalar.c:578
-#, c-format
-msgid "could not switch to '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:179
-#, c-format
-msgid "could not configure %s=%s"
-msgstr ""
-
-#: contrib/scalar/scalar.c:197
-msgid "could not configure log.excludeDecoration"
-msgstr ""
-
-#: contrib/scalar/scalar.c:218
-msgid "Scalar enlistments require a worktree"
-msgstr ""
-
-#: contrib/scalar/scalar.c:310
-#, c-format
-msgid "remote HEAD is not a branch: '%.*s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:316
-msgid "failed to get default branch name from remote; using local default"
-msgstr ""
-
-#: contrib/scalar/scalar.c:329
-msgid "failed to get default branch name"
-msgstr ""
-
-#: contrib/scalar/scalar.c:340
-msgid "failed to unregister repository"
-msgstr ""
-
-#: contrib/scalar/scalar.c:355
-msgid "failed to delete enlistment directory"
-msgstr ""
-
-#: contrib/scalar/scalar.c:375
-msgid "branch to checkout after clone"
-msgstr ""
-
-#: contrib/scalar/scalar.c:377
-msgid "when cloning, create full working directory"
-msgstr ""
-
-#: contrib/scalar/scalar.c:379
-msgid "only download metadata for the branch that will be checked out"
-msgstr ""
-
-#: contrib/scalar/scalar.c:384
-msgid "scalar clone [<options>] [--] <repo> [<dir>]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:409
-#, c-format
-msgid "cannot deduce worktree name from '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:418
-#, c-format
-msgid "directory '%s' exists already"
-msgstr ""
-
-#: contrib/scalar/scalar.c:445
-#, c-format
-msgid "failed to get default branch for '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:456
-#, c-format
-msgid "could not configure remote in '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:465
-#, c-format
-msgid "could not configure '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:468
-msgid "partial clone failed; attempting full clone"
-msgstr ""
-
-#: contrib/scalar/scalar.c:472
-msgid "could not configure for full clone"
-msgstr ""
-
-#: contrib/scalar/scalar.c:504
-msgid "`scalar list` does not take arguments"
-msgstr ""
-
-#: contrib/scalar/scalar.c:517
-msgid "scalar register [<enlistment>]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:544
-msgid "reconfigure all registered enlistments"
-msgstr ""
-
-#: contrib/scalar/scalar.c:548
-msgid "scalar reconfigure [--all | <enlistment>]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:566
-msgid "--all or <enlistment>, but not both"
-msgstr ""
-
-#: contrib/scalar/scalar.c:581
-#, c-format
-msgid "git repository gone in '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:621
-msgid ""
-"scalar run <task> [<enlistment>]\n"
-"Tasks:\n"
-msgstr ""
-
-#: contrib/scalar/scalar.c:639
-#, c-format
-msgid "no such task: '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:689
-msgid "scalar unregister [<enlistment>]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:736
-msgid "scalar delete <enlistment>"
-msgstr ""
-
-#: contrib/scalar/scalar.c:751
-msgid "refusing to delete current working directory"
-msgstr ""
-
-#: contrib/scalar/scalar.c:766
-msgid "include Git version"
-msgstr ""
-
-#: contrib/scalar/scalar.c:768
-msgid "include Git's build options"
-msgstr ""
-
-#: contrib/scalar/scalar.c:772
-msgid "scalar verbose [-v | --verbose] [--build-options]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:813
-msgid "-C requires a <directory>"
-msgstr ""
-
-#: contrib/scalar/scalar.c:815
-#, c-format
-msgid "could not change to '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:821
-msgid "-c requires a <key>=<value> argument"
-msgstr ""
-
-#: contrib/scalar/scalar.c:839
-msgid ""
-"scalar [-C <directory>] [-c <key>=<value>] <command> [<options>]\n"
-"\n"
-"Commands:\n"
-msgstr ""
-
-#: compat/compiler.h:26
-msgid "no compiler information available\n"
-msgstr ""
-
-#: compat/compiler.h:38
-msgid "no libc information available\n"
-msgstr ""
-
-#: list-objects-filter-options.h:126
-msgid "args"
-msgstr ""
-
-#: list-objects-filter-options.h:127
-msgid "object filtering"
-msgstr ""
-
-#: parse-options.h:188
-msgid "expiry-date"
-msgstr ""
-
-#: parse-options.h:202
-msgid "no-op (backward compatibility)"
-msgstr ""
-
-#: parse-options.h:341
-msgid "be more verbose"
-msgstr ""
-
-#: parse-options.h:343
-msgid "be more quiet"
-msgstr ""
-
-#: parse-options.h:349
-msgid "use <n> digits to display object names"
-msgstr ""
-
-#: parse-options.h:368
-msgid "how to strip spaces and #comments from message"
-msgstr ""
-
-#: parse-options.h:369
-msgid "read pathspec from file"
-msgstr ""
-
-#: parse-options.h:370
-msgid ""
-"with --pathspec-from-file, pathspec elements are separated with NUL character"
-msgstr ""
-
-#: ref-filter.h:98
-msgid "key"
-msgstr ""
-
-#: ref-filter.h:98
-msgid "field name to sort on"
-msgstr ""
-
-#: rerere.h:44
-msgid "update the index with reused conflict resolution if possible"
-msgstr ""
-
-#: command-list.h:50
-msgid "Add file contents to the index"
-msgstr ""
-
-#: command-list.h:51
-msgid "Apply a series of patches from a mailbox"
-msgstr ""
-
-#: command-list.h:52
-msgid "Annotate file lines with commit information"
-msgstr ""
-
-#: command-list.h:53
-msgid "Apply a patch to files and/or to the index"
-msgstr ""
-
-#: command-list.h:54
-msgid "Import a GNU Arch repository into Git"
-msgstr ""
-
-#: command-list.h:55
-msgid "Create an archive of files from a named tree"
-msgstr ""
-
-#: command-list.h:56
-msgid "Use binary search to find the commit that introduced a bug"
-msgstr ""
-
-#: command-list.h:57
-msgid "Show what revision and author last modified each line of a file"
-msgstr ""
-
-#: command-list.h:58
-msgid "List, create, or delete branches"
-msgstr ""
-
-#: command-list.h:59
-msgid "Collect information for user to file a bug report"
-msgstr ""
-
-#: command-list.h:60
-msgid "Move objects and refs by archive"
-msgstr ""
-
-#: command-list.h:61
-msgid "Provide content or type and size information for repository objects"
-msgstr ""
-
-#: command-list.h:62
-msgid "Display gitattributes information"
-msgstr ""
-
-#: command-list.h:63
-msgid "Debug gitignore / exclude files"
-msgstr ""
-
-#: command-list.h:64
-msgid "Show canonical names and email addresses of contacts"
-msgstr ""
-
-#: command-list.h:65
-msgid "Ensures that a reference name is well formed"
-msgstr ""
-
-#: command-list.h:66
-msgid "Switch branches or restore working tree files"
-msgstr ""
-
-#: command-list.h:67
-msgid "Copy files from the index to the working tree"
-msgstr ""
-
-#: command-list.h:68
-msgid "Find commits yet to be applied to upstream"
-msgstr ""
-
-#: command-list.h:69
-msgid "Apply the changes introduced by some existing commits"
-msgstr ""
-
-#: command-list.h:70
-msgid "Graphical alternative to git-commit"
-msgstr ""
-
-#: command-list.h:71
-msgid "Remove untracked files from the working tree"
-msgstr ""
-
-#: command-list.h:72
-msgid "Clone a repository into a new directory"
-msgstr ""
-
-#: command-list.h:73
-msgid "Display data in columns"
-msgstr ""
-
-#: command-list.h:74
-msgid "Record changes to the repository"
-msgstr ""
-
-#: command-list.h:75
-msgid "Write and verify Git commit-graph files"
-msgstr ""
-
-#: command-list.h:76
-msgid "Create a new commit object"
-msgstr ""
-
-#: command-list.h:77
-msgid "Get and set repository or global options"
-msgstr ""
-
-#: command-list.h:78
-msgid "Count unpacked number of objects and their disk consumption"
-msgstr ""
-
-#: command-list.h:79
-msgid "Retrieve and store user credentials"
-msgstr ""
-
-#: command-list.h:80
-msgid "Helper to temporarily store passwords in memory"
-msgstr ""
-
-#: command-list.h:81
-msgid "Helper to store credentials on disk"
-msgstr ""
-
-#: command-list.h:82
-msgid "Export a single commit to a CVS checkout"
-msgstr ""
-
-#: command-list.h:83
-msgid "Salvage your data out of another SCM people love to hate"
-msgstr ""
-
-#: command-list.h:84
-msgid "A CVS server emulator for Git"
-msgstr ""
-
-#: command-list.h:85
-msgid "A really simple server for Git repositories"
-msgstr ""
-
-#: command-list.h:86
-msgid "Give an object a human readable name based on an available ref"
-msgstr ""
-
-#: command-list.h:87
-msgid "Show changes between commits, commit and working tree, etc"
-msgstr ""
-
-#: command-list.h:88
-msgid "Compares files in the working tree and the index"
-msgstr ""
-
-#: command-list.h:89
-msgid "Compare a tree to the working tree or index"
-msgstr ""
-
-#: command-list.h:90
-msgid "Compares the content and mode of blobs found via two tree objects"
-msgstr ""
-
-#: command-list.h:91
-msgid "Show changes using common diff tools"
-msgstr ""
-
-#: command-list.h:92
-msgid "Git data exporter"
-msgstr ""
-
-#: command-list.h:93
-msgid "Backend for fast Git data importers"
-msgstr ""
-
-#: command-list.h:94
-msgid "Download objects and refs from another repository"
-msgstr ""
-
-#: command-list.h:95
-msgid "Receive missing objects from another repository"
-msgstr ""
-
-#: command-list.h:96
-msgid "Rewrite branches"
-msgstr ""
-
-#: command-list.h:97
-msgid "Produce a merge commit message"
-msgstr ""
-
-#: command-list.h:98
-msgid "Output information on each ref"
-msgstr ""
-
-#: command-list.h:99
-msgid "Run a Git command on a list of repositories"
-msgstr ""
-
-#: command-list.h:100
-msgid "Prepare patches for e-mail submission"
-msgstr ""
-
-#: command-list.h:101
-msgid "Verifies the connectivity and validity of the objects in the database"
-msgstr ""
-
-#: command-list.h:102
-msgid "Cleanup unnecessary files and optimize the local repository"
-msgstr ""
-
-#: command-list.h:103
-msgid "Extract commit ID from an archive created using git-archive"
-msgstr ""
-
-#: command-list.h:104
-msgid "Print lines matching a pattern"
-msgstr ""
-
-#: command-list.h:105
-msgid "A portable graphical interface to Git"
-msgstr ""
-
-#: command-list.h:106
-msgid "Compute object ID and optionally creates a blob from a file"
-msgstr ""
-
-#: command-list.h:107
-msgid "Display help information about Git"
-msgstr ""
-
-#: command-list.h:108
-msgid "Run git hooks"
-msgstr ""
-
-#: command-list.h:109
-msgid "Server side implementation of Git over HTTP"
-msgstr ""
-
-#: command-list.h:110
-msgid "Download from a remote Git repository via HTTP"
-msgstr ""
-
-#: command-list.h:111
-msgid "Push objects over HTTP/DAV to another repository"
-msgstr ""
-
-#: command-list.h:112
-msgid "Send a collection of patches from stdin to an IMAP folder"
-msgstr ""
-
-#: command-list.h:113
-msgid "Build pack index file for an existing packed archive"
-msgstr ""
-
-#: command-list.h:114
-msgid "Create an empty Git repository or reinitialize an existing one"
-msgstr ""
-
-#: command-list.h:115
-msgid "Instantly browse your working repository in gitweb"
-msgstr ""
-
-#: command-list.h:116
-msgid "Add or parse structured information in commit messages"
-msgstr ""
-
-#: command-list.h:117
-msgid "Show commit logs"
-msgstr ""
-
-#: command-list.h:118
-msgid "Show information about files in the index and the working tree"
-msgstr ""
-
-#: command-list.h:119
-msgid "List references in a remote repository"
-msgstr ""
-
-#: command-list.h:120
-msgid "List the contents of a tree object"
-msgstr ""
-
-#: command-list.h:121
-msgid "Extracts patch and authorship from a single e-mail message"
-msgstr ""
-
-#: command-list.h:122
-msgid "Simple UNIX mbox splitter program"
-msgstr ""
-
-#: command-list.h:123
-msgid "Run tasks to optimize Git repository data"
-msgstr ""
-
-#: command-list.h:124
-msgid "Join two or more development histories together"
-msgstr ""
-
-#: command-list.h:125
-msgid "Find as good common ancestors as possible for a merge"
-msgstr ""
-
-#: command-list.h:126
-msgid "Run a three-way file merge"
-msgstr ""
-
-#: command-list.h:127
-msgid "Run a merge for files needing merging"
-msgstr ""
-
-#: command-list.h:128
-msgid "The standard helper program to use with git-merge-index"
-msgstr ""
-
-#: command-list.h:129
-msgid "Show three-way merge without touching index"
-msgstr ""
-
-#: command-list.h:130
-msgid "Run merge conflict resolution tools to resolve merge conflicts"
-msgstr ""
-
-#: command-list.h:131
-msgid "Creates a tag object with extra validation"
-msgstr ""
-
-#: command-list.h:132
-msgid "Build a tree-object from ls-tree formatted text"
-msgstr ""
-
-#: command-list.h:133
-msgid "Write and verify multi-pack-indexes"
-msgstr ""
-
-#: command-list.h:134
-msgid "Move or rename a file, a directory, or a symlink"
-msgstr ""
-
-#: command-list.h:135
-msgid "Find symbolic names for given revs"
-msgstr ""
-
-#: command-list.h:136
-msgid "Add or inspect object notes"
-msgstr ""
-
-#: command-list.h:137
-msgid "Import from and submit to Perforce repositories"
-msgstr ""
-
-#: command-list.h:138
-msgid "Create a packed archive of objects"
-msgstr ""
-
-#: command-list.h:139
-msgid "Find redundant pack files"
-msgstr ""
-
-#: command-list.h:140
-msgid "Pack heads and tags for efficient repository access"
-msgstr ""
-
-#: command-list.h:141
-msgid "Compute unique ID for a patch"
-msgstr ""
-
-#: command-list.h:142
-msgid "Prune all unreachable objects from the object database"
-msgstr ""
-
-#: command-list.h:143
-msgid "Remove extra objects that are already in pack files"
-msgstr ""
-
-#: command-list.h:144
-msgid "Fetch from and integrate with another repository or a local branch"
-msgstr ""
-
-#: command-list.h:145
-msgid "Update remote refs along with associated objects"
-msgstr ""
-
-#: command-list.h:146
-msgid "Applies a quilt patchset onto the current branch"
-msgstr ""
-
-#: command-list.h:147
-msgid "Compare two commit ranges (e.g. two versions of a branch)"
-msgstr ""
-
-#: command-list.h:148
-msgid "Reads tree information into the index"
-msgstr ""
-
-#: command-list.h:149
-msgid "Reapply commits on top of another base tip"
-msgstr ""
-
-#: command-list.h:150
-msgid "Receive what is pushed into the repository"
-msgstr ""
-
-#: command-list.h:151
-msgid "Manage reflog information"
-msgstr ""
-
-#: command-list.h:152
-msgid "Manage set of tracked repositories"
-msgstr ""
-
-#: command-list.h:153
-msgid "Pack unpacked objects in a repository"
-msgstr ""
-
-#: command-list.h:154
-msgid "Create, list, delete refs to replace objects"
-msgstr ""
-
-#: command-list.h:155
-msgid "Generates a summary of pending changes"
-msgstr ""
-
-#: command-list.h:156
-msgid "Reuse recorded resolution of conflicted merges"
-msgstr ""
-
-#: command-list.h:157
-msgid "Reset current HEAD to the specified state"
-msgstr ""
-
-#: command-list.h:158
-msgid "Restore working tree files"
-msgstr ""
-
-#: command-list.h:159
-msgid "Lists commit objects in reverse chronological order"
-msgstr ""
-
-#: command-list.h:160
-msgid "Pick out and massage parameters"
-msgstr ""
-
-#: command-list.h:161
-msgid "Revert some existing commits"
-msgstr ""
-
-#: command-list.h:162
-msgid "Remove files from the working tree and from the index"
-msgstr ""
-
-#: command-list.h:163
-msgid "Send a collection of patches as emails"
-msgstr ""
-
-#: command-list.h:164
-msgid "Push objects over Git protocol to another repository"
-msgstr ""
-
-#: command-list.h:165
-msgid "Git's i18n setup code for shell scripts"
-msgstr ""
-
-#: command-list.h:166
-msgid "Common Git shell script setup code"
-msgstr ""
-
-#: command-list.h:167
-msgid "Restricted login shell for Git-only SSH access"
-msgstr ""
-
-#: command-list.h:168
-msgid "Summarize 'git log' output"
-msgstr ""
-
-#: command-list.h:169
-msgid "Show various types of objects"
-msgstr ""
-
-#: command-list.h:170
-msgid "Show branches and their commits"
-msgstr ""
-
-#: command-list.h:171
-msgid "Show packed archive index"
-msgstr ""
-
-#: command-list.h:172
-msgid "List references in a local repository"
-msgstr ""
-
-#: command-list.h:173
-msgid "Reduce your working tree to a subset of tracked files"
-msgstr ""
-
-#: command-list.h:174
-msgid "Add file contents to the staging area"
-msgstr ""
-
-#: command-list.h:175
-msgid "Stash the changes in a dirty working directory away"
-msgstr ""
-
-#: command-list.h:176
-msgid "Show the working tree status"
-msgstr ""
-
-#: command-list.h:177
-msgid "Remove unnecessary whitespace"
-msgstr ""
-
-#: command-list.h:178
-msgid "Initialize, update or inspect submodules"
-msgstr ""
-
-#: command-list.h:179
-msgid "Bidirectional operation between a Subversion repository and Git"
-msgstr ""
-
-#: command-list.h:180
-msgid "Switch branches"
-msgstr ""
-
-#: command-list.h:181
-msgid "Read, modify and delete symbolic refs"
-msgstr ""
-
-#: command-list.h:182
-msgid "Create, list, delete or verify a tag object signed with GPG"
-msgstr ""
-
-#: command-list.h:183
-msgid "Creates a temporary file with a blob's contents"
-msgstr ""
-
-#: command-list.h:184
-msgid "Unpack objects from a packed archive"
-msgstr ""
-
-#: command-list.h:185
-msgid "Register file contents in the working tree to the index"
-msgstr ""
-
-#: command-list.h:186
-msgid "Update the object name stored in a ref safely"
-msgstr ""
-
-#: command-list.h:187
-msgid "Update auxiliary info file to help dumb servers"
-msgstr ""
-
-#: command-list.h:188
-msgid "Send archive back to git-archive"
-msgstr ""
-
-#: command-list.h:189
-msgid "Send objects packed back to git-fetch-pack"
-msgstr ""
-
-#: command-list.h:190
-msgid "Show a Git logical variable"
-msgstr ""
-
-#: command-list.h:191
-msgid "Check the GPG signature of commits"
-msgstr ""
-
-#: command-list.h:192
-msgid "Validate packed Git archive files"
-msgstr ""
-
-#: command-list.h:193
-msgid "Check the GPG signature of tags"
-msgstr ""
-
-#: command-list.h:194
-msgid "Show logs with difference each commit introduces"
-msgstr ""
-
-#: command-list.h:195
-msgid "Manage multiple working trees"
-msgstr ""
-
-#: command-list.h:196
-msgid "Create a tree object from the current index"
-msgstr ""
-
-#: command-list.h:197
-msgid "Defining attributes per path"
-msgstr ""
-
-#: command-list.h:198
-msgid "Git command-line interface and conventions"
-msgstr ""
-
-#: command-list.h:199
-msgid "A Git core tutorial for developers"
-msgstr ""
-
-#: command-list.h:200
-msgid "Providing usernames and passwords to Git"
-msgstr ""
-
-#: command-list.h:201
-msgid "Git for CVS users"
-msgstr ""
-
-#: command-list.h:202
-msgid "Tweaking diff output"
-msgstr ""
-
-#: command-list.h:203
-msgid "A useful minimum set of commands for Everyday Git"
-msgstr ""
-
-#: command-list.h:204
-msgid "Frequently asked questions about using Git"
-msgstr ""
-
-#: command-list.h:205
-msgid "A Git Glossary"
-msgstr ""
-
-#: command-list.h:206
-msgid "Hooks used by Git"
-msgstr ""
-
-#: command-list.h:207
-msgid "Specifies intentionally untracked files to ignore"
-msgstr ""
-
-#: command-list.h:208
-msgid "The Git repository browser"
-msgstr ""
-
-#: command-list.h:209
-msgid "Map author/committer names and/or E-Mail addresses"
-msgstr ""
-
-#: command-list.h:210
-msgid "Defining submodule properties"
-msgstr ""
-
-#: command-list.h:211
-msgid "Git namespaces"
-msgstr ""
-
-#: command-list.h:212
-msgid "Helper programs to interact with remote repositories"
-msgstr ""
-
-#: command-list.h:213
-msgid "Git Repository Layout"
-msgstr ""
-
-#: command-list.h:214
-msgid "Specifying revisions and ranges for Git"
-msgstr ""
-
-#: command-list.h:215
-msgid "Mounting one repository inside another"
-msgstr ""
-
-#: command-list.h:216
-msgid "A tutorial introduction to Git"
-msgstr ""
-
-#: command-list.h:217
-msgid "A tutorial introduction to Git: part two"
-msgstr ""
-
-#: command-list.h:218
-msgid "Git web interface (web frontend to Git repositories)"
-msgstr ""
-
-#: command-list.h:219
-msgid "An overview of recommended workflows with Git"
-msgstr ""
-
-#: git-merge-octopus.sh:46
-msgid ""
-"Error: Your local changes to the following files would be overwritten by "
-"merge"
-msgstr ""
-
-#: git-merge-octopus.sh:61
-msgid "Automated merge did not work."
-msgstr ""
-
-#: git-merge-octopus.sh:62
-msgid "Should not be doing an octopus."
-msgstr ""
-
-#: git-merge-octopus.sh:73
-#, sh-format
-msgid "Unable to find common commit with $pretty_name"
-msgstr ""
-
-#: git-merge-octopus.sh:77
-#, sh-format
-msgid "Already up to date with $pretty_name"
-msgstr ""
-
-#: git-merge-octopus.sh:89
-#, sh-format
-msgid "Fast-forwarding to: $pretty_name"
-msgstr ""
-
-#: git-merge-octopus.sh:97
-#, sh-format
-msgid "Trying simple merge with $pretty_name"
-msgstr ""
-
-#: git-merge-octopus.sh:102
-msgid "Simple merge did not work, trying automatic merge."
-msgstr ""
-
-#: git-sh-setup.sh:89 git-sh-setup.sh:94
-#, sh-format
-msgid "usage: $dashless $USAGE"
-msgstr ""
-
-#: git-sh-setup.sh:182
-#, sh-format
-msgid "Cannot chdir to $cdup, the toplevel of the working tree"
-msgstr ""
-
-#: git-sh-setup.sh:191 git-sh-setup.sh:198
-#, sh-format
-msgid "fatal: $program_name cannot be used without a working tree."
-msgstr ""
-
-#: git-sh-setup.sh:212
-msgid "Cannot rewrite branches: You have unstaged changes."
-msgstr ""
-
-#: git-sh-setup.sh:215
-#, sh-format
-msgid "Cannot $action: You have unstaged changes."
-msgstr ""
-
-#: git-sh-setup.sh:226
-#, sh-format
-msgid "Cannot $action: Your index contains uncommitted changes."
-msgstr ""
-
-#: git-sh-setup.sh:228
-msgid "Additionally, your index contains uncommitted changes."
-msgstr ""
-
-#: git-sh-setup.sh:348
-msgid "You need to run this command from the toplevel of the working tree."
-msgstr ""
-
-#: git-sh-setup.sh:353
-msgid "Unable to determine absolute path of git directory"
-msgstr ""
-
-#. TRANSLATORS: you can adjust this to align "git add -i" status menu
-#: git-add--interactive.perl:212
-#, perl-format
-msgid "%12s %12s %s"
-msgstr ""
-
-#: git-add--interactive.perl:632
-#, perl-format
-msgid "touched %d path\n"
-msgid_plural "touched %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: git-add--interactive.perl:1056
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for staging."
-msgstr ""
-
-#: git-add--interactive.perl:1059
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for stashing."
-msgstr ""
-
-#: git-add--interactive.perl:1062
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for unstaging."
-msgstr ""
-
-#: git-add--interactive.perl:1065 git-add--interactive.perl:1074
-#: git-add--interactive.perl:1080
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for applying."
-msgstr ""
-
-#: git-add--interactive.perl:1068 git-add--interactive.perl:1071
-#: git-add--interactive.perl:1077
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for discarding."
-msgstr ""
-
-#: git-add--interactive.perl:1114
-#, perl-format
-msgid "failed to open hunk edit file for writing: %s"
-msgstr ""
-
-#: git-add--interactive.perl:1121
-#, perl-format
-msgid ""
-"---\n"
-"To remove '%s' lines, make them ' ' lines (context).\n"
-"To remove '%s' lines, delete them.\n"
-"Lines starting with %s will be removed.\n"
-msgstr ""
-
-#: git-add--interactive.perl:1143
-#, perl-format
-msgid "failed to open hunk edit file for reading: %s"
-msgstr ""
-
-#: git-add--interactive.perl:1253
-msgid ""
-"y - stage this hunk\n"
-"n - do not stage this hunk\n"
-"q - quit; do not stage this hunk or any of the remaining ones\n"
-"a - stage this hunk and all later hunks in the file\n"
-"d - do not stage this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1259
-msgid ""
-"y - stash this hunk\n"
-"n - do not stash this hunk\n"
-"q - quit; do not stash this hunk or any of the remaining ones\n"
-"a - stash this hunk and all later hunks in the file\n"
-"d - do not stash this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1265
-msgid ""
-"y - unstage this hunk\n"
-"n - do not unstage this hunk\n"
-"q - quit; do not unstage this hunk or any of the remaining ones\n"
-"a - unstage this hunk and all later hunks in the file\n"
-"d - do not unstage this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1271
-msgid ""
-"y - apply this hunk to index\n"
-"n - do not apply this hunk to index\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1277 git-add--interactive.perl:1295
-msgid ""
-"y - discard this hunk from worktree\n"
-"n - do not discard this hunk from worktree\n"
-"q - quit; do not discard this hunk or any of the remaining ones\n"
-"a - discard this hunk and all later hunks in the file\n"
-"d - do not discard this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1283
-msgid ""
-"y - discard this hunk from index and worktree\n"
-"n - do not discard this hunk from index and worktree\n"
-"q - quit; do not discard this hunk or any of the remaining ones\n"
-"a - discard this hunk and all later hunks in the file\n"
-"d - do not discard this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1289
-msgid ""
-"y - apply this hunk to index and worktree\n"
-"n - do not apply this hunk to index and worktree\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1301
-msgid ""
-"y - apply this hunk to worktree\n"
-"n - do not apply this hunk to worktree\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1316
-msgid ""
-"g - select a hunk to go to\n"
-"/ - search for a hunk matching the given regex\n"
-"j - leave this hunk undecided, see next undecided hunk\n"
-"J - leave this hunk undecided, see next hunk\n"
-"k - leave this hunk undecided, see previous undecided hunk\n"
-"K - leave this hunk undecided, see previous hunk\n"
-"s - split the current hunk into smaller hunks\n"
-"e - manually edit the current hunk\n"
-"? - print help\n"
-msgstr ""
-
-#: git-add--interactive.perl:1347
-msgid "The selected hunks do not apply to the index!\n"
-msgstr ""
-
-#: git-add--interactive.perl:1362
-#, perl-format
-msgid "ignoring unmerged: %s\n"
-msgstr ""
-
-#: git-add--interactive.perl:1481
-#, perl-format
-msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: git-add--interactive.perl:1482
-#, perl-format
-msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: git-add--interactive.perl:1483
-#, perl-format
-msgid "Apply addition to worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: git-add--interactive.perl:1484
-#, perl-format
-msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: git-add--interactive.perl:1601
-msgid "No other hunks to goto\n"
-msgstr ""
-
-#: git-add--interactive.perl:1619
-#, perl-format
-msgid "Invalid number: '%s'\n"
-msgstr ""
-
-#: git-add--interactive.perl:1624
-#, perl-format
-msgid "Sorry, only %d hunk available.\n"
-msgid_plural "Sorry, only %d hunks available.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: git-add--interactive.perl:1659
-msgid "No other hunks to search\n"
-msgstr ""
-
-#: git-add--interactive.perl:1676
-#, perl-format
-msgid "Malformed search regexp %s: %s\n"
-msgstr ""
-
-#: git-add--interactive.perl:1686
-msgid "No hunk matches the given pattern\n"
-msgstr ""
-
-#: git-add--interactive.perl:1698 git-add--interactive.perl:1720
-msgid "No previous hunk\n"
-msgstr ""
-
-#: git-add--interactive.perl:1707 git-add--interactive.perl:1726
-msgid "No next hunk\n"
-msgstr ""
-
-#: git-add--interactive.perl:1732
-msgid "Sorry, cannot split this hunk\n"
-msgstr ""
-
-#: git-add--interactive.perl:1738
-#, perl-format
-msgid "Split into %d hunk.\n"
-msgid_plural "Split into %d hunks.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: git-add--interactive.perl:1748
-msgid "Sorry, cannot edit this hunk\n"
-msgstr ""
-
-#. TRANSLATORS: please do not translate the command names
-#. 'status', 'update', 'revert', etc.
-#: git-add--interactive.perl:1813
-msgid ""
-"status        - show paths with changes\n"
-"update        - add working tree state to the staged set of changes\n"
-"revert        - revert staged set of changes back to the HEAD version\n"
-"patch         - pick hunks and update selectively\n"
-"diff          - view diff between HEAD and index\n"
-"add untracked - add contents of untracked files to the staged set of "
-"changes\n"
-msgstr ""
-
-#: git-add--interactive.perl:1830 git-add--interactive.perl:1842
-#: git-add--interactive.perl:1845 git-add--interactive.perl:1852
-#: git-add--interactive.perl:1855 git-add--interactive.perl:1862
-#: git-add--interactive.perl:1866 git-add--interactive.perl:1872
-msgid "missing --"
-msgstr ""
-
-#: git-add--interactive.perl:1868
-#, perl-format
-msgid "unknown --patch mode: %s"
-msgstr ""
-
-#: git-add--interactive.perl:1874 git-add--interactive.perl:1880
-#, perl-format
-msgid "invalid argument %s, expecting --"
-msgstr ""
-
-#: git-send-email.perl:159
-msgid "local zone differs from GMT by a non-minute interval\n"
-msgstr ""
-
-#: git-send-email.perl:166 git-send-email.perl:172
-msgid "local time offset greater than or equal to 24 hours\n"
-msgstr ""
-
-#: git-send-email.perl:244
-#, perl-format
-msgid "fatal: command '%s' died with exit code %d"
-msgstr ""
-
-#: git-send-email.perl:257
-msgid "the editor exited uncleanly, aborting everything"
-msgstr ""
-
-#: git-send-email.perl:346
-#, perl-format
-msgid ""
-"'%s' contains an intermediate version of the email you were composing.\n"
-msgstr ""
-
-#: git-send-email.perl:351
-#, perl-format
-msgid "'%s.final' contains the composed email.\n"
-msgstr ""
-
-#: git-send-email.perl:484
-msgid "--dump-aliases incompatible with other options\n"
-msgstr ""
-
-#: git-send-email.perl:561
-msgid ""
-"fatal: found configuration options for 'sendmail'\n"
-"git-send-email is configured with the sendemail.* options - note the 'e'.\n"
-"Set sendemail.forbidSendmailVariables to false to disable this check.\n"
-msgstr ""
-
-#: git-send-email.perl:566 git-send-email.perl:782
-msgid "Cannot run git format-patch from outside a repository\n"
-msgstr ""
-
-#: git-send-email.perl:569
-msgid ""
-"`batch-size` and `relogin` must be specified together (via command-line or "
-"configuration option)\n"
-msgstr ""
-
-#: git-send-email.perl:582
-#, perl-format
-msgid "Unknown --suppress-cc field: '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:613
-#, perl-format
-msgid "Unknown --confirm setting: '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:653
-#, perl-format
-msgid "warning: sendmail alias with quotes is not supported: %s\n"
-msgstr ""
-
-#: git-send-email.perl:655
-#, perl-format
-msgid "warning: `:include:` not supported: %s\n"
-msgstr ""
-
-#: git-send-email.perl:657
-#, perl-format
-msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
-msgstr ""
-
-#: git-send-email.perl:662
-#, perl-format
-msgid "warning: sendmail line is not recognized: %s\n"
-msgstr ""
-
-#: git-send-email.perl:747
-#, perl-format
-msgid ""
-"File '%s' exists but it could also be the range of commits\n"
-"to produce patches for.  Please disambiguate by...\n"
-"\n"
-"    * Saying \"./%s\" if you mean a file; or\n"
-"    * Giving --format-patch option if you mean a range.\n"
-msgstr ""
-
-#: git-send-email.perl:768
-#, perl-format
-msgid "Failed to opendir %s: %s"
-msgstr ""
-
-#: git-send-email.perl:803
-msgid ""
-"\n"
-"No patch files specified!\n"
-"\n"
-msgstr ""
-
-#: git-send-email.perl:816
-#, perl-format
-msgid "No subject line in %s?"
-msgstr ""
-
-#: git-send-email.perl:827
-#, perl-format
-msgid "Failed to open for writing %s: %s"
-msgstr ""
-
-#: git-send-email.perl:838
-msgid ""
-"Lines beginning in \"GIT:\" will be removed.\n"
-"Consider including an overall diffstat or table of contents\n"
-"for the patch you are writing.\n"
-"\n"
-"Clear the body content if you don't wish to send a summary.\n"
-msgstr ""
-
-#: git-send-email.perl:862
-#, perl-format
-msgid "Failed to open %s: %s"
-msgstr ""
-
-#: git-send-email.perl:879
-#, perl-format
-msgid "Failed to open %s.final: %s"
-msgstr ""
-
-#: git-send-email.perl:922
-msgid "Summary email is empty, skipping it\n"
-msgstr ""
-
-#. TRANSLATORS: please keep [y/N] as is.
-#: git-send-email.perl:971
-#, perl-format
-msgid "Are you sure you want to use <%s> [y/N]? "
-msgstr ""
-
-#: git-send-email.perl:1026
-msgid ""
-"The following files are 8bit, but do not declare a Content-Transfer-"
-"Encoding.\n"
-msgstr ""
-
-#: git-send-email.perl:1031
-msgid "Which 8bit encoding should I declare [UTF-8]? "
-msgstr ""
-
-#: git-send-email.perl:1039
-#, perl-format
-msgid ""
-"Refusing to send because the patch\n"
-"\t%s\n"
-"has the template subject '*** SUBJECT HERE ***'. Pass --force if you really "
-"want to send.\n"
-msgstr ""
-
-#: git-send-email.perl:1058
-msgid "To whom should the emails be sent (if anyone)?"
-msgstr ""
-
-#: git-send-email.perl:1076
-#, perl-format
-msgid "fatal: alias '%s' expands to itself\n"
-msgstr ""
-
-#: git-send-email.perl:1088
-msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
-msgstr ""
-
-#: git-send-email.perl:1150 git-send-email.perl:1158
-#, perl-format
-msgid "error: unable to extract a valid address from: %s\n"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [q] [d] [e] in your
-#. translation. The program will only accept English input
-#. at this point.
-#: git-send-email.perl:1162
-msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
-msgstr ""
-
-#: git-send-email.perl:1482
-#, perl-format
-msgid "CA path \"%s\" does not exist"
-msgstr ""
-
-#: git-send-email.perl:1565
-msgid ""
-"    The Cc list above has been expanded by additional\n"
-"    addresses found in the patch commit message. By default\n"
-"    send-email prompts before sending whenever this occurs.\n"
-"    This behavior is controlled by the sendemail.confirm\n"
-"    configuration setting.\n"
-"\n"
-"    For additional information, run 'git send-email --help'.\n"
-"    To retain the current behavior, but squelch this message,\n"
-"    run 'git config --global sendemail.confirm auto'.\n"
-"\n"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your
-#. translation. The program will only accept English input
-#. at this point.
-#: git-send-email.perl:1580
-msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
-msgstr ""
-
-#: git-send-email.perl:1583
-msgid "Send this email reply required"
-msgstr ""
-
-#: git-send-email.perl:1617
-msgid "The required SMTP server is not properly defined."
-msgstr ""
-
-#: git-send-email.perl:1664
-#, perl-format
-msgid "Server does not support STARTTLS! %s"
-msgstr ""
-
-#: git-send-email.perl:1669 git-send-email.perl:1673
-#, perl-format
-msgid "STARTTLS failed! %s"
-msgstr ""
-
-#: git-send-email.perl:1682
-msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
-msgstr ""
-
-#: git-send-email.perl:1700
-#, perl-format
-msgid "Failed to send %s\n"
-msgstr ""
-
-#: git-send-email.perl:1703
-#, perl-format
-msgid "Dry-Sent %s\n"
-msgstr ""
-
-#: git-send-email.perl:1703
-#, perl-format
-msgid "Sent %s\n"
-msgstr ""
-
-#: git-send-email.perl:1705
-msgid "Dry-OK. Log says:\n"
-msgstr ""
-
-#: git-send-email.perl:1705
-msgid "OK. Log says:\n"
-msgstr ""
-
-#: git-send-email.perl:1724
-msgid "Result: "
-msgstr ""
-
-#: git-send-email.perl:1727
-msgid "Result: OK\n"
-msgstr ""
-
-#: git-send-email.perl:1744
-#, perl-format
-msgid "can't open file %s"
-msgstr ""
-
-#: git-send-email.perl:1792 git-send-email.perl:1812
-#, perl-format
-msgid "(mbox) Adding cc: %s from line '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:1798
-#, perl-format
-msgid "(mbox) Adding to: %s from line '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:1855
-#, perl-format
-msgid "(non-mbox) Adding cc: %s from line '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:1890
-#, perl-format
-msgid "(body) Adding cc: %s from line '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:2009
-#, perl-format
-msgid "(%s) Could not execute '%s'"
-msgstr ""
-
-#: git-send-email.perl:2016
-#, perl-format
-msgid "(%s) Adding %s: %s from: '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:2020
-#, perl-format
-msgid "(%s) failed to close pipe to '%s'"
-msgstr ""
-
-#: git-send-email.perl:2050
-msgid "cannot send message as 7bit"
-msgstr ""
-
-#: git-send-email.perl:2058
-msgid "invalid transfer encoding"
-msgstr ""
-
-#: git-send-email.perl:2100
-#, perl-format
-msgid ""
-"fatal: %s: rejected by %s hook\n"
-"%s\n"
-"warning: no patches were sent\n"
-msgstr ""
-
-#: git-send-email.perl:2110 git-send-email.perl:2163 git-send-email.perl:2173
-#, perl-format
-msgid "unable to open %s: %s\n"
-msgstr ""
-
-#: git-send-email.perl:2113
-#, perl-format
-msgid ""
-"fatal: %s:%d is longer than 998 characters\n"
-"warning: no patches were sent\n"
-msgstr ""
-
-#: git-send-email.perl:2131
-#, perl-format
-msgid "Skipping %s with backup suffix '%s'.\n"
-msgstr ""
-
-#. TRANSLATORS: please keep "[y|N]" as is.
-#: git-send-email.perl:2135
-#, perl-format
-msgid "Do you really want to send %s? [y|N]: "
-msgstr ""
-- 
2.35.1.577.g74cc1aa55f


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH 7/9] Makefile: add "po-update" rule to update po/XX.po
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (5 preceding siblings ...)
  2022-05-03 13:23 ` [PATCH 6/9] po/git.pot: remove this now generated file, see preceding commit Jiang Xin
@ 2022-05-03 13:23 ` Jiang Xin
  2022-05-03 13:23 ` [PATCH 8/9] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
                   ` (14 subsequent siblings)
  21 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-03 13:23 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

Since there is no longer a "po/git.pot" file in tree, a l10n team leader
has to run several commands to update their "po/XX.po" file:

    $ make pot
    $ msgmerge --add-location --backup=off -U po/XX.po po/git.pot

To make this process easier, add a new rule so that l10n team leaders
can update their "po/XX.po" with one command. E.g.:

    $ make po-update PO_FILE=po/zh_CN.po

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Makefile   | 16 ++++++++++++++++
 shared.mak |  1 +
 2 files changed, 17 insertions(+)

diff --git a/Makefile b/Makefile
index 2f28648900..7c808b910d 100644
--- a/Makefile
+++ b/Makefile
@@ -571,6 +571,7 @@ TCLTK_PATH = wish
 XGETTEXT = xgettext
 MSGCAT = msgcat
 MSGFMT = msgfmt
+MSGMERGE = msgmerge
 CURL_CONFIG = curl-config
 GCOV = gcov
 STRIP = strip
@@ -2716,6 +2717,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
 XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
 MSGCAT_FLAGS = --sort-by-file
+MSGMERGE_FLAGS = --add-location --backup=off --update
 LOCALIZED_C = $(FOUND_C_SOURCES) $(SCALAR_SOURCES) \
 	      $(FOUND_H_SOURCES) $(GENERATED_H)
 LOCALIZED_SH = $(SCRIPT_SH)
@@ -2787,6 +2789,20 @@ po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
 .PHONY: pot
 pot: po/git.pot
 
+po-update: po/git.pot
+ifndef PO_FILE
+	$(error not define variable "PO_FILE")
+else
+ifeq ($(filter po/%.po,$(PO_FILE)),)
+	$(error PO_FILE should match pattern: "po/%.po")
+endif
+endif
+	@if test ! -e $(PO_FILE); then \
+		echo >&2 "error: $(PO_FILE) does not exist"; \
+		exit 1; \
+	fi
+	$(QUIET_MSGMERGE)$(MSGMERGE) $(MSGMERGE_FLAGS) $(PO_FILE) po/git.pot
+
 .PHONY: check-pot
 check-pot: pot
 
diff --git a/shared.mak b/shared.mak
index 50d4596f0d..8cd170a7e7 100644
--- a/shared.mak
+++ b/shared.mak
@@ -63,6 +63,7 @@ ifndef V
 	QUIET_LNCP     = @echo '   ' LN/CP $@;
 	QUIET_XGETTEXT = @echo '   ' XGETTEXT $@;
 	QUIET_MSGFMT   = @echo '   ' MSGFMT $@;
+	QUIET_MSGMERGE = @echo '   ' MSGMERGE $@;
 	QUIET_GCOV     = @echo '   ' GCOV $@;
 	QUIET_SP       = @echo '   ' SP $<;
 	QUIET_HDR      = @echo '   ' HDR $(<:hcc=h);
-- 
2.35.1.577.g74cc1aa55f


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH 8/9] Makefile: add "po-init" rule to initialize po/XX.po
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (6 preceding siblings ...)
  2022-05-03 13:23 ` [PATCH 7/9] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
@ 2022-05-03 13:23 ` Jiang Xin
  2022-05-03 13:23 ` [PATCH 9/9] l10n: Document the new l10n workflow Jiang Xin
                   ` (13 subsequent siblings)
  21 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-03 13:23 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

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 rule
"core-pot" to create this core translation message "po/git-core.pot":

    make 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 POT_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: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Makefile      | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 po/.gitignore |  1 +
 shared.mak    |  1 +
 3 files changed, 52 insertions(+)

diff --git a/Makefile b/Makefile
index 7c808b910d..b7b65ac706 100644
--- a/Makefile
+++ b/Makefile
@@ -2799,6 +2799,7 @@ endif
 endif
 	@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
@@ -2806,6 +2807,55 @@ endif
 .PHONY: check-pot
 check-pot: pot
 
+### 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)
+
+.PHONY: core-pot
+core-pot: po/git-core.pot
+
+.build/pot/git-core.header: $(LOCALIZED_C_CORE_GEN_PO)
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT)$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
+		-o - /dev/null | \
+	sed -e 's|charset=CHARSET|charset=UTF-8|g' >$@ && \
+	echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
+
+po/git-core.pot: .build/pot/git-core.header $(LOCALIZED_C_CORE_GEN_PO)
+	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
+
+.PHONY: po-init
+po-init: po/git-core.pot
+ifndef PO_FILE
+	$(error not define variable "PO_FILE")
+else
+ifeq ($(filter po/%.po,$(PO_FILE)),)
+	$(error PO_FILE should match pattern: "po/%.po")
+endif
+endif
+	@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 :=
diff --git a/po/.gitignore b/po/.gitignore
index 37d1301b32..ff0e5176a6 100644
--- a/po/.gitignore
+++ b/po/.gitignore
@@ -1,2 +1,3 @@
 /build
 /git.pot
+/git-core.pot
diff --git a/shared.mak b/shared.mak
index 8cd170a7e7..4330192e9c 100644
--- a/shared.mak
+++ b/shared.mak
@@ -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 $@;
-- 
2.35.1.577.g74cc1aa55f


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH 9/9] l10n: Document the new l10n workflow
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (7 preceding siblings ...)
  2022-05-03 13:23 ` [PATCH 8/9] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
@ 2022-05-03 13:23 ` Jiang Xin
  2022-05-03 14:07 ` [PATCH 0/9] Incremental po/git.pot update and " Peter Krefting
                   ` (12 subsequent siblings)
  21 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-03 13:23 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Change the "flow" of how translators interact with the l10n repository
at [1] to adjust it for a new workflow of not having a po/git.pot file
in-tree at all, and to not commit line numbers to the po/*.po files
that we do track in tree.

The current workflow was added in a combination of dce37b66fb0 (l10n:
initial git.pot for 1.7.10 upcoming release, 2012-02-13) and
271ce198cd0 (Update l10n guide, 2012-02-29).

As noted in preceding commits I think that it came about due to
technical debt I'd left behind in how the "po/git.pot" file was
created, and a mis-impression that the file:line comments were needed
as anything more than a transitory translation aid.

As the updated po/README.md shows the new workflow is substantially
the same, the difference is that translators no longer need to
initially pull from the l10n coordinator for a new po/git.pot, they
can simply use git.git's canonical source repository.

The l10n coordinator is still expected to announce a release to
translate, which presumably would always be Junio's latest release
tag. I'm not certain if this part of the process is actually
important. I.e. the delta translation-wise between that tag and
"master" is usually pretty small, so perhaps translators can just work
on "master" instead.

1. https://github.com/git-l10n/git-po/

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 po/README.md | 191 ++++++++++++++++++++++++---------------------------
 1 file changed, 88 insertions(+), 103 deletions(-)

diff --git a/po/README.md b/po/README.md
index 19fabb4acf..00c090e7c0 100644
--- a/po/README.md
+++ b/po/README.md
@@ -46,65 +46,67 @@ for a new language translation. Because there are more than 5000 messages
 in the template message file "po/git.pot" that need to be translated,
 this is not a piece of cake for the contributor for a new language.
 
-The core template message file which contains a small set of messages
-will be generated in "po-core/core.pot" automatically by running a helper
-program named "git-po-helper" (described later).
+The "core" set of messages can be generated at "po/git-core.pot" by
+running:
 
 ```shell
-git-po-helper init --core XX.po
+make core-pot
 ```
 
-After translating the generated "po-core/XX.po", you can merge it to
-"po/XX.po" using the following commands:
-
-```shell
-msgcat po-core/XX.po po/XX.po -s -o /tmp/XX.po
-mv /tmp/XX.po po/XX.po
-git-po-helper update XX.po
-```
-
-Edit "po/XX.po" by hand to fix "fuzzy" messages, which may have misplaced
-translated messages and duplicate messages.
+And then proceeding with the rest of these instructions on the new
+generated "po/git-core.pot" file.
 
 
 ## Translation Process Flow
 
 The overall data-flow looks like this:
 
-    +-------------------+            +------------------+
-    | Git source code   | ---(1)---> | L10n coordinator |
-    | repository        | <---(4)--- | repository       |
-    +-------------------+            +------------------+
-                                          |      ^
-                                         (2)    (3)
-                                          V      |
-                                     +------------------+
-                                     | Language Team XX |
-                                     +------------------+
+    +-------------------+             +------------------+
+    | Git source code   | ----(2)---> | L10n coordinator |
+    | repository        | <---(5)---- | repository       |
+    +-------------------+             +------------------+
+                    |                     |    ^
+                   (1)                   (3)  (4)
+                    V                     v    |
+               +----------------------------------+
+               |        Language Team XX          |
+               +----------------------------------+
 
 - Translatable strings are marked in the source file.
-- L10n coordinator pulls from the source (1)
-- L10n coordinator updates the message template "po/git.pot"
-- Language team pulls from L10n coordinator (2)
-- Language team updates the message file "po/XX.po"
-- L10n coordinator pulls from Language team (3)
-- L10n coordinator asks the result to be pulled (4).
+- Language teams can start translation iterations at any time, even
+  before the l10n window opens:
+
+  + Pull from the source (1)
+  + Update the message file by running "make po-update PO\_FILE=po/XX.po"
+  + Translate the message file "po/XX.po"
 
+- The L10n coordinator pulls from source and announces the l10n window
+  open (2)
+- Language team pulls from the l10n coordinator, starts another
+  translation iteration against the l10n coordinator's tree (3)
 
-## Maintaining the "po/git.pot" file
+  + Run "git pull --rebase" from the l10n coordinator
+  + Update the message file by running "make po-update PO\_FILE=po/XX.po"
+  + Translate the message file "po/XX.po"
+  + Squash trivial l10n git commits using "git rebase -i"
 
-(This is done by the l10n coordinator).
+- Language team sends pull request to the l10n coordinator (4)
+- L10n coordinator checks and merges
+- L10n coordinator asks the result to be pulled (5).
 
-The "po/git.pot" file contains a message catalog extracted from Git's
-sources. The l10n coordinator maintains it by adding new translations with
-msginit(1), or update existing ones with msgmerge(1).  In order to update
-the Git sources to extract the messages from, the l10n coordinator is
-expected to pull from the main git repository at strategic point in
-history (e.g. when a major release and release candidates are tagged),
-and then run "make pot" at the top-level directory.
 
-Language contributors use this file to prepare translations for their
-language, but they are not expected to modify it.
+## Creating the "po/git.pot" file
+
+The "po/git.pot" file, once generated by the the l10n coordinator had
+been removed from the tree. L10n contributors can generated it at
+runtime using command:
+
+```shell
+make pot
+```
+
+Then language contributors use this file to prepare translations for
+their language, but they are not expected to modify it.
 
 
 ## Initializing a "XX.po" file
@@ -115,32 +117,14 @@ If your language XX does not have translated message file "po/XX.po" yet,
 you add a translation for the first time by running:
 
 ```shell
-msginit --locale=XX
-```
-
-in the "po/" directory, where XX is the locale, e.g. "de", "is", "pt\_BR",
-"zh\_CN", etc.
-
-Then edit the automatically generated copyright info in your new "XX.po"
-to be correct, e.g. for Icelandic:
-
-```diff
-@@ -1,6 +1,6 @@
--# Icelandic translations for PACKAGE package.
--# Copyright (C) 2010 THE PACKAGE'S COPYRIGHT HOLDER
--# This file is distributed under the same license as the PACKAGE package.
-+# Icelandic translations for Git.
-+# Copyright (C) 2010 Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-+# This file is distributed under the same license as the Git package.
- # Ævar Arnfjörð Bjarmason <avarab@gmail.com>, 2010.
+make po-init PO_FILE=po/XX.po
 ```
 
-And change references to PACKAGE VERSION in the PO Header Entry to
-just "Git":
+Where XX is the locale, e.g. "de", "is", "pt\_BR", "zh\_CN", etc.
 
-```shell
-perl -pi -e 's/(?<="Project-Id-Version: )PACKAGE VERSION/Git/' XX.po
-```
+The newly generated message file "po/XX.po" is based on the core pot
+file "po/git-core.pot", so it contains only a minimal set of messages
+and it's a good start for a new language contribution.
 
 Once you are done testing the translation (see below), commit the result
 and ask the l10n coordinator to pull from you.
@@ -153,19 +137,40 @@ and ask the l10n coordinator to pull from you.
 If you are replacing translation strings in an existing "XX.po" file to
 improve the translation, just edit the file.
 
-If there's an existing "XX.po" file for your language, but the repository
-of the l10n coordinator has newer "po/git.pot" file, you would need to first
-pull from the l10n coordinator (see the beginning of this document for its
-URL), and then update the existing translation by running:
+If you want to find new translatable strings in source files of upstream
+repository and propagate them to your "po/XX.po", run command:
 
 ```shell
-msgmerge --add-location --backup=off -U XX.po git.pot
+make po-update PO_FILE=po/XX.po
 ```
 
-in the "po/" directory, where "XX.po" is the file you want to update.
+It will:
 
-Once you are done testing the translation (see below), commit the result
-and ask the l10n coordinator to pull from you.
+- Call "make pot" at runtime to generate new "po/git.pot" file
+- Call "msgmerge --add-location --backup=off -U po/XX.po po/git.pot"
+  to update your "po/XX.po"
+- The "--add-location" option for msgmerge will add location lines,
+  and these location lines will help translation tools to location
+  translation context easily.
+
+Once you are done testing the translation (see below), it's better
+to commit a location-less "po/XX.po" file to save repository space
+and make a user-friendly patch for review.
+
+To save a location-less "po/XX.po" automatically in repository, you
+can:
+
+- Define new attribute for "po/XX.po" by adding new line in
+  ".git/info/attributes":
+
+        /po/XX.po filter=gettext-no-location
+
+- Define driver for "gettext-no-location" filter:
+
+        $ git config --global filter.gettext-no-location.clean \
+              "msgcat --no-location -"
+
+You're now ready to ask the l10n coordinator to pull from you.
 
 
 ## Fuzzy translation
@@ -196,6 +201,14 @@ common errors, e.g. missing printf format strings, or translated
 messages that deviate from the originals in whether they begin/end
 with a newline or not.
 
+L10n coordinator will check your contributions using a helper program
+(see "PO helper" section below):
+
+```shell
+git-po-helper check-po po/XX.po
+git-po-helper check-commits <rev-list-opts>
+```
+
 
 ## Marking strings for translation
 
@@ -370,29 +383,6 @@ l10n workflow.
 To build and install the helper program from source, see
 [git-po-helper/README][].
 
-Usage for git-po-helper:
-
-- To start a new language translation:
-
-  ```shell
-  git-po-helper init XX.po
-  ```
-
-- To update your "XX.po" file:
-
-  ```shell
-  git-po-helper update XX.po
-  ```
-
-- To check commit log and syntax of "XX.po":
-
-  ```shell
-  git-po-helper check-po XX.po
-  git-po-helper check-commits
-  ```
-
-Run "git-po-helper" without arguments to show usage.
-
 
 ## Conventions
 
@@ -436,13 +426,8 @@ additional conventions:
 - Initialize proper filename of the "XX.po" file conforming to
   iso-639 and iso-3166.
 
-- Must complete a minimal translation based on the "po-core/core.pot"
-  template. Using the following command to initialize the minimal
-  "po-core/XX.po" file:
-
-  ```shell
-  git-po-helper init --core <your-language>
-  ```
+- Must complete a minimal translation based on the "Core
+  translation". See that section above.
 
 - Add a new entry in the "po/TEAMS" file with proper format, and check
   the syntax of "po/TEAMS" by running the following command:
-- 
2.35.1.577.g74cc1aa55f


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* Re: [PATCH 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (8 preceding siblings ...)
  2022-05-03 13:23 ` [PATCH 9/9] l10n: Document the new l10n workflow Jiang Xin
@ 2022-05-03 14:07 ` Peter Krefting
  2022-05-04 12:41   ` Jiang Xin
  2022-05-04 14:35 ` Junio C Hamano
                   ` (11 subsequent siblings)
  21 siblings, 1 reply; 110+ messages in thread
From: Peter Krefting @ 2022-05-03 14:07 UTC (permalink / raw)
  To: Git List
  Cc: Jiang Xin, Ævar Arnfjörð Bjarmason, Junio C Hamano,
	Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

On Tue, 3 May 2022, Jiang Xin wrote:

> Ævar and I started discussing this topic (incremental po/git.pot update
> and new l10n workflow) on a GitHub issue[^1] a month ago. There are
> several improvements to the l10n workflow:

I do agree that checking in git.pot does create a lot of noise, but ther are
other ways of fixing that than deleting the file completely. I am also
translating for dpkg, and there they run "xgettext --add-location=file" to
remove the line numbers from the POT and PO files (requires GNU gettext
0.19; they also use "po4a --porefs=noline" for manual page translations, but
we do not have translation for manual pages for Git, yet). This reduces diff
noise considerably.

I have been doing updates semi-off-line from my laptop for the last few
months, without a proper build environment, and having the history for the
POT file available for diffing has been useful.

> * L10n contributors can start translations at any time, even before the
>  l10n announcing l10n window open. We must have a new l10n workflow,
>  see patch 9/9.

You can always re-generate the POT file locally and not commit it, to update
the PO files. That has not been a problem.

-- 
\\// Peter - http://www.softwolves.pp.se/

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-03 14:07 ` [PATCH 0/9] Incremental po/git.pot update and " Peter Krefting
@ 2022-05-04 12:41   ` Jiang Xin
  0 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-04 12:41 UTC (permalink / raw)
  To: Peter Krefting, Git List
  Cc: Jiang Xin, Ævar Arnfjörð Bjarmason, Junio C Hamano,
	Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

On Tue, 3 May 2022, Peter Krefting  wrote:

> I do agree that checking in git.pot does create a lot of noise, but ther are
> other ways of fixing that than deleting the file completely. I am also
> translating for dpkg, and there they run "xgettext --add-location=file" to
> remove the line numbers from the POT and PO files (requires GNU gettext
> 0.19; they also use "po4a --porefs=noline" for manual page translations, but
> we do not have translation for manual pages for Git, yet). This reduces diff
> noise considerably.

To evaluate the impact of different formats of po files on the size of the
repository, I tailored the git repository with only "po/*" files with
history, and all "*.po" files are converted using "msgcat" into different
format in 3 different branches. See:

    https://github.com/jiangxin/git-po-filtered

* For po files with file-location:

        $ git clone --single-branch \
            --branch po-with-file-location \
            git@github.com:jiangxin/git-po-filtered.git \
            po-with-file-location

        $ du -sh po-with-file-location/.git/objects 
          28M    po-with-file-location/.git/objects

* For po files with file name only:

        $ git clone --single-branch \
            --branch po-with-file \
            git@github.com:jiangxin/git-po-filtered.git \
            po-with-file

        $ du -sh po-with-file/.git/objects 
         6.1M    po-with-file/.git/objects

* For po files without file-location:

        $ git clone --single-branch \
            --branch po-no-file-location \
            git@github.com:jiangxin/git-po-filtered.git \
            po-no-file-location

        $ du -sh po-no-file-location/.git/objects
         6.2M    po-no-file-location/.git/objects

From the above command output we can see that by removing line numbers
from po files, the size of the repository can be greatly reduced.

> I have been doing updates semi-off-line from my laptop for the last few
> months, without a proper build environment, and having the history for the
> POT file available for diffing has been useful.
> 

"po/git.pot" will be generated periodically at the following location,
where you can get "po/git.pot" if you don't have a build environment
at hand.

 * https://github.com/git-l10n/git-po/tree/pot/master/po


> > * L10n contributors can start translations at any time, even before the
> >  l10n announcing l10n window open. We must have a new l10n workflow,
> >  see patch 9/9.
> 
> You can always re-generate the POT file locally and not commit it, to update
> the PO files. That has not been a problem.

File-location meta info in po file can help l10n tools to locate context
easily. E.g.: When editing po file using Emacs (with po-mode), press the
key "s" (source) will open another window showing context of the specific
l10n message.

But if there is no file-location in "po/git.pot", we have no way to
generate po/XX.po with proper file-location. While if we store po/git.pot
with file location in git repository, repository size will get biger and
biger. As how to commit a po/XX.po without file locaiton automatically,
we add some instructions in patch 9/9, and we can also rewrite l10n CI
pipeline to validate po files from l10n contributors.

--
Jiang Xin

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (9 preceding siblings ...)
  2022-05-03 14:07 ` [PATCH 0/9] Incremental po/git.pot update and " Peter Krefting
@ 2022-05-04 14:35 ` Junio C Hamano
  2022-05-04 14:51   ` Daniel Santos
  2022-05-05  0:07   ` Jiang Xin
  2022-05-04 17:58 ` Junio C Hamano
                   ` (10 subsequent siblings)
  21 siblings, 2 replies; 110+ messages in thread
From: Junio C Hamano @ 2022-05-04 14:35 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Ævar Arnfjörð Bjarmason, Git List, Jiang Xin,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

Jiang Xin <worldhello.net@gmail.com> writes:

> From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
>
> Ævar and I started discussing this topic (incremental po/git.pot update
> and new l10n workflow) on a GitHub issue[^1] a month ago. There are
> several improvements to the l10n workflow:
>
> * Variable "LOCALIZED_C" is not stable, that cause the "po/git.pot" file
>   generated by different user may have different number of entries.
>   This issues is fixed in patch 2/9.

Allowing translators to pick a random point in the history and run
the tool to generate .pot file locally creates that problem for us.
It also means that various .po files would correspond to slightly
different versions of the source tree.

The "only the coordinator updates .pot, everybody works off of that
file" was one way to ensure that you do not have to worry about these
two problems.

So, if you are moving to the "no .pot file committed in-tree,
translators generate .pot for themselves" model, you do need to make
sure you have consistent set of files to localize.  So [2/9] does
try to fix an issue worth solving (assuming that the new model is
what i18n/l10n team members want).

I am not sure what your plans are to make sure everybody works off
of the same version, though.  Even if you scrape the source tree for
source files that may not be relevant to your build, if you do not
start off of the same version, your set of sources may be a bit off
compared to the other translators'.

> * Generate "po/git.pot" in an incremental way, so we do not need to munge
>   source files in-place, do not need a clean checkout, and do not need
>   "reset --hard". See patch 3/9.

That may be a worthwhile thing to do.  I have no strong opinions.

> * Remove file "po/git.pot" from tree. It can be generated at runtime.
>   See patch 5/9, 6/9.

Another reason, IIRC, why we adopted "the coordinator prepares pot"
model, in addition to the stability of the source and .pot file
across languages, was because we wanted to reduce the load on
language team.  It also may be handy to be able to view "git log -p"
on the file, as long as we somehow reduce the patch noise (perhaps
by stripping the line numbers that are constantly changing).

Again, assuming that i18n/l10n team members are OK with this, I have
no complaints.

> * L10n contributors can update theire "po/XX.pot" using:
>   "make po-update PO_FILE=po/XX.po". See patch 7/9.
>
> * L10n contributors for new language can initialize "po/XX.pot" using:
>   "make po-init PO_FILE=po/XX.po". See patch 8/9.
>
> * L10n contributors can start translations at any time, even before the
>   l10n announcing l10n window open. We must have a new l10n workflow,
>   see patch 9/9.

Is it truly OK for the language packs for Git 2.36 to be prepared
from v2.36.0~27 for French while German are done using v2.36.0~12?
Again, if there is no practical downside for doing so that worries
the i18n/l10n team members, I have no real complaints, but this is
the one that worries me the most, actually, in the whole thing.

Thanks for working on this topic, both of you.

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-04 14:35 ` Junio C Hamano
@ 2022-05-04 14:51   ` Daniel Santos
  2022-05-05  0:20     ` Jiang Xin
  2022-05-05  0:07   ` Jiang Xin
  1 sibling, 1 reply; 110+ messages in thread
From: Daniel Santos @ 2022-05-04 14:51 UTC (permalink / raw)
  To: Junio C Hamano, Jiang Xin
  Cc: Ævar Arnfjörð Bjarmason, Git List, Jiang Xin,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

I haven't applied the patches and, for me, the prior workflow has no
issues.

Improving the po files in order to not have the 'diff noise' is
something that I consider ok, but still, I also don't see problems
with how it is now. So, it is the only thing that I consider an
improvement, from what I have read.

I believe in eliminating work for the translation team, as much as
possible, not in increasing our work load.

The translation file is already big enough, in terms of translation
needing to be done.

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (10 preceding siblings ...)
  2022-05-04 14:35 ` Junio C Hamano
@ 2022-05-04 17:58 ` Junio C Hamano
  2022-05-19  8:15 ` [PATCH v2 " Jiang Xin
                   ` (9 subsequent siblings)
  21 siblings, 0 replies; 110+ messages in thread
From: Junio C Hamano @ 2022-05-04 17:58 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Ævar Arnfjörð Bjarmason, Git List, Jiang Xin,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

Jiang Xin <worldhello.net@gmail.com> writes:

> From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
>
> Ævar and I started discussing this topic (incremental po/git.pot update
> and new l10n workflow) on a GitHub issue[^1] a month ago. There are
> several improvements to the l10n workflow:

The vger archive seems to be missing [6/9].  For those who are
wondering from sidelines, it commits a removal of the po/git.pot
file from our tree and comes between [5/9] and [7/9].

I am guessing that the reason why it is placed there is to ensure
bisectability, but I didn't actually check it needs there to be
bisectable, or committing the removal at the end would suffice.

Anyway, this will be part of today's 'seen'.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-04 14:35 ` Junio C Hamano
  2022-05-04 14:51   ` Daniel Santos
@ 2022-05-05  0:07   ` Jiang Xin
  1 sibling, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-05  0:07 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Ævar Arnfjörð Bjarmason, Git List, Jiang Xin,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

On Wed, May 4, 2022 at 10:35 PM Junio C Hamano <gitster@pobox.com> wrote:
> Allowing translators to pick a random point in the history and run
> the tool to generate .pot file locally creates that problem for us.
> It also means that various .po files would correspond to slightly
> different versions of the source tree.

As Peter said [^1], even keeping "po/git.pot" unremoved, we can always
regenerate the POT file locally instead of committing it, to update the
PO file.  We can add new checkpoints in l10n CI pipeline to check the
baseline for each PO file.

[^1]: https://lore.kernel.org/git/cb74f3b-c2e9-947f-8f89-f51e79b17825@softwolves.pp.se/

> The "only the coordinator updates .pot, everybody works off of that
> file" was one way to ensure that you do not have to worry about these
> two problems.

In the reply to Peter [^2], I demonstrated the effect of having a
POT/PO file with or without location line numbers on repository
size. We can mitigate the growth of the "po/" directory by removing
"po/git.pot" and committing the PO files without the location line
numbers.

[^2]: https://lore.kernel.org/git/20220504124121.12683-1-worldhello.net@gmail.com/

> I am not sure what your plans are to make sure everybody works off
> of the same version, though.  Even if you scrape the source tree for
> source files that may not be relevant to your build, if you do not
> start off of the same version, your set of sources may be a bit off
> compared to the other translators'.

We can use "msgcmp" to compare PO files from l10n contributors with
newly generated POT files and give suggestions in the l10n CI pipeline.

--
Jiang Xin

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-04 14:51   ` Daniel Santos
@ 2022-05-05  0:20     ` Jiang Xin
  2022-05-05 22:00       ` Daniel Santos
  0 siblings, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-05  0:20 UTC (permalink / raw)
  To: Daniel Santos
  Cc: Junio C Hamano, Ævar Arnfjörð Bjarmason, Git List,
	Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

On Wed, May 4, 2022 at 11:03 PM Daniel Santos <dacs.git@brilhante.top> wrote:
>
> I haven't applied the patches and, for me, the prior workflow has no
> issues.
>
> Improving the po files in order to not have the 'diff noise' is
> something that I consider ok, but still, I also don't see problems
> with how it is now. So, it is the only thing that I consider an
> improvement, from what I have read.

A new git clone of git.git is about 150MB in size, while the "po/"
history occupies 28MB. By removing the location line numbers,
the size can be reduced from 28MB to 6MB.

See: https://lore.kernel.org/git/20220504124121.12683-1-worldhello.net@gmail.com/

--
Jiang Xin

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-05  0:20     ` Jiang Xin
@ 2022-05-05 22:00       ` Daniel Santos
  2022-05-05 22:49         ` Junio C Hamano
  2022-05-06  0:50         ` Jiang Xin
  0 siblings, 2 replies; 110+ messages in thread
From: Daniel Santos @ 2022-05-05 22:00 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Junio C Hamano, Ævar Arnfjörð Bjarmason, Git List,
	Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

On Thu, May 05, 2022 at 08:20:13AM +0800, Jiang Xin wrote:
> 
> A new git clone of git.git is about 150MB in size, while the "po/"
> history occupies 28MB. By removing the location line numbers,
> the size can be reduced from 28MB to 6MB.
> 
> See: https://lore.kernel.org/git/20220504124121.12683-1-worldhello.net@gmail.com/

That is an improvement of size only for few people. On GNU/Linux
install of git by most users is done through packages, and most git
users of other OS, also will not receive this improvement.

Have you considered how the removal of these lines from the po files
will affect the quality of the translation work?

For new translator, not having these lines might make them less prone
to understand po files usage in C?
And probably make them contribute less to i18n C code?

Has these implementation upgrade better benefits than counter effects?

It is worth discussing this.

Also, I don't believe Github issue is the proper way to discuss about
this in the beginning. It cannot be expected to make everyone on board
with this modification of workflowm being discussed on a web service
website obscure issue, that needs login. We have a mailing list that
is to be used for this purpose.

I feel less part of this community, with important issues happening on
Github issues.

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-05 22:00       ` Daniel Santos
@ 2022-05-05 22:49         ` Junio C Hamano
  2022-05-06  0:50         ` Jiang Xin
  1 sibling, 0 replies; 110+ messages in thread
From: Junio C Hamano @ 2022-05-05 22:49 UTC (permalink / raw)
  To: Daniel Santos
  Cc: Jiang Xin, Ævar Arnfjörð Bjarmason, Git List,
	Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

Daniel Santos <dacs.git@brilhante.top> writes:

> It is worth discussing this.
>
> Also, I don't believe Github issue is the proper way to discuss about
> this in the beginning. It cannot be expected to make everyone on board
> with this modification of workflowm being discussed on a web service
> website obscure issue, that needs login. We have a mailing list that
> is to be used for this purpose.
>
> I feel less part of this community, with important issues happening on
> Github issues.

While I understand the sentiment, after reading that issues page, I
actually have a totally different impression.

Step back and take a deep breath, and let me ask you the same
question under a few hypothetical settings:

 * Imagine that Ævar have been working on this series alone, without
   help from Jiang.  He did some brainstorming with himself to
   polish the ideas, cleaned up the code, etc. in his own head,
   perhaps with help from some automated tools and CI.  And after
   working for a month, sent this as a patch series to be reviewed
   to the list?  Do you feel excluded for not being invited for an
   early review?  I would guess not.  I certainly don't feel
   excluded myself.

 * What if he, during the course of the above month working on this
   topic, asked for a help from a specific person of his choice?
   Perhaps Jiang was visiting the same part of the world and they
   talked about the series in person, private over a glass of beer
   or two?  Do you feel excluded that you didn't have a chance to
   join this discussion?  I would guess not.  I certainly don't feel
   excluded myself.

 * What if that exchange of ideas and help to polish the series was
   done virtually, and the medium of choice between the two happened
   to be GitHub issues?  Do you now suddenly feel excluded?  I do
   not feel excluded myself, but do you?

The way I read that issues page, I think the exchange between them
falls squarely into that category.  They are not pretending to make
"project decisions".  They are preparing a proposal to bring forward
to the project participants.  During the course of their conversation,
they may express their opinions on how better to serve the audience
as if they were a fact, but that is something you can dispute once
the proposal comes out to the list.

In other words, we should treat this just another patch series to be
reviewed, instead of "two important people in Git i18n/l10n are
presenting fait-accompli to the community".   I do not see a problem
in that.

As long as they do not duck a valid question about anything in the
series with "well that has been decided long ago while we prepared
this series and it is too late to change now", that is.

And I do not think anything like that has happened yet so far.

So, yes, please discuss and see a consensus form among i18n/l10n
stakeholders.  Perhaps some of the design decisions they made are
based on different values from you have (e.g. you highly value the
line numbers, while they justify the removal with reduced size) and
it is a fair discussion to have if the decisions the patch series
makes is based on the right balance between pros-and-cons.

Thanks.

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-05 22:00       ` Daniel Santos
  2022-05-05 22:49         ` Junio C Hamano
@ 2022-05-06  0:50         ` Jiang Xin
  1 sibling, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-06  0:50 UTC (permalink / raw)
  To: Daniel Santos
  Cc: Junio C Hamano, Ævar Arnfjörð Bjarmason, Git List,
	Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

On Fri, May 6, 2022 at 6:01 AM Daniel Santos <dacs.git@brilhante.top> wrote:
>
> On Thu, May 05, 2022 at 08:20:13AM +0800, Jiang Xin wrote:
> >
> > A new git clone of git.git is about 150MB in size, while the "po/"
> > history occupies 28MB. By removing the location line numbers,
> > the size can be reduced from 28MB to 6MB.
> >
> > See: https://lore.kernel.org/git/20220504124121.12683-1-worldhello.net@gmail.com/
>
> That is an improvement of size only for few people. On GNU/Linux
> install of git by most users is done through packages, and most git
> users of other OS, also will not receive this improvement.

We, l10n contributors, only need to make a small setup to our local
repository, and we can avoid uncontrolled growth of files under "po/",
resulting in more than 50% of the Git repository capacity coming
from l10n a day. See patch 9/9 or this link:

 * https://github.com/jiangxin/git/blob/avar/new-l10n-workflow/po/README.md?plain=1#L160-L171

> Have you considered how the removal of these lines from the po files
> will affect the quality of the translation work?
> For new translator, not having these lines might make them less prone
> to understand po files usage in C?
> And probably make them contribute less to i18n C code?

The location numbers will always be there in your po/pt_PT.po.
Please read:

 * https://github.com/jiangxin/git/blob/review/avar/po/README.md?plain=1#L133-L158

> Has these implementation upgrade better benefits than counter effects?
>
> It is worth discussing this.

The new l10n workflow is open for discussion, see patch 9/9 or this link:

 * https://github.com/jiangxin/git/blob/avar/new-l10n-workflow/po/README.md?plain=1#L60-L95

--
Jiang Xin

^ permalink raw reply	[flat|nested] 110+ messages in thread

* [PATCH v2 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (11 preceding siblings ...)
  2022-05-04 17:58 ` Junio C Hamano
@ 2022-05-19  8:15 ` Jiang Xin
  2022-05-19 10:28   ` Ævar Arnfjörð Bjarmason
                     ` (10 more replies)
  2022-05-19  8:15 ` [PATCH v2 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
                   ` (8 subsequent siblings)
  21 siblings, 11 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-19  8:15 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

A workflow change for translators are being proposed.

Changes since v1:

* Patch 4/9: When running "make check-pot", do not update "po/git.pot".
* Patch 6/9: reword: the removal of "po/git.pot" is in preceding commit.
* Patch 7/9 and 8/9: Add new funciton "check_po_file_envvar" for reuse in both
  po-update and po-init targets.


Range-diff vs v1:

 1:  15c4090757 =  1:  15c4090757 Makefile: sort "po/git.pot" by file location
 2:  846a9e72c5 =  2:  846a9e72c5 Makefile: generate "po/git.pot" from stable LOCALIZED_C
 3:  b5cf2836ea =  3:  b5cf2836ea Makefile: have "make pot" not "reset --hard"
 4:  a508f6e18b !  4:  8b30e332df i18n CI: stop allowing non-ASCII source messages in po/git.pot
    @@ Commit message
         on it when running "make pot".
     
         Since the preceding Makefile changes made this easy: let's add a "make
    -    check-pot" target and run it as part of the "static-analysis" CI
    -    target, this will ensure that we catch any such issues in the future.
    +    check-pot" target with the same prerequisites as the "po/git.pot"
    +    target, but without changing the file "po/git.pot". Running it as part
    +    of the "static-analysis" CI target will ensure that we catch any such
    +    issues in the future. E.g.:
    +
    +        $ make check-pot
    +            XGETTEXT .build/pot/po/builtin/submodule--helper.c.po
    +        xgettext: Non-ASCII string at builtin/submodule--helper.c:3381.
    +                  Please specify the source encoding through --from-code.
    +        make: *** [.build/pot/po/builtin/submodule--helper.c.po] Error 1
     
         1. cd5513a7168 (i18n: Makefile: "pot" target to extract messages
            marked for translation, 2011-02-22)
    @@ Makefile: po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
      pot: po/git.pot
      
     +.PHONY: check-pot
    -+check-pot: pot
    ++check-pot: $(LOCALIZED_ALL_GEN_PO)
     +
      ifdef NO_GETTEXT
      POFILES :=
 5:  720a00b348 =  5:  65f87c5503 po/git.pot: this is now a generated file
 6:  f97113a370 !  6:  fe5f27a88b po/git.pot: don't check in result of "make pot"
    @@ Commit message
         Makefile: "pot" target to extract messages marked for translation,
         2011-02-22).
     
    -    The actual "git rm" of po/git.pot is deferred until the subsequent
    -    commit, to make this change easier to review, and to preempt the
    -    mailing list from blocking it due to it being too large.
    +    The actual "git rm" of po/git.pot was in preceding commit to make this
    +    change easier to review, and to preempt the mailing list from blocking
    +    it due to it being too large.
     
         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
         Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
 7:  be23a1c8b0 !  7:  710aff9d66 Makefile: add "po-update" rule to update po/XX.po
    @@ Makefile: po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
      .PHONY: pot
      pot: po/git.pot
      
    ++define check_po_file_envvar
    ++	$(if $(PO_FILE), \
    ++		$(if $(filter po/%.po,$(PO_FILE)), , \
    ++			$(error PO_FILE should match pattern: "po/%.po")), \
    ++		$(error PO_FILE is not defined))
    ++endef
    ++
    ++.PHONY: po-update
     +po-update: po/git.pot
    -+ifndef PO_FILE
    -+	$(error not define variable "PO_FILE")
    -+else
    -+ifeq ($(filter po/%.po,$(PO_FILE)),)
    -+	$(error PO_FILE should match pattern: "po/%.po")
    -+endif
    -+endif
    ++	$(check_po_file_envvar)
     +	@if test ! -e $(PO_FILE); then \
     +		echo >&2 "error: $(PO_FILE) does not exist"; \
     +		exit 1; \
    @@ Makefile: po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
     +	$(QUIET_MSGMERGE)$(MSGMERGE) $(MSGMERGE_FLAGS) $(PO_FILE) po/git.pot
     +
      .PHONY: check-pot
    - check-pot: pot
    + check-pot: $(LOCALIZED_ALL_GEN_PO)
      
     
      ## shared.mak ##
 8:  176a80587a !  8:  fc9d3f5603 Makefile: add "po-init" rule to initialize po/XX.po
    @@ Commit message
         Signed-off-by: Junio C Hamano <gitster@pobox.com>
     
      ## Makefile ##
    -@@ Makefile: endif
    - endif
    +@@ Makefile: 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
    -@@ Makefile: endif
    +@@ Makefile: po-update: po/git.pot
      .PHONY: check-pot
    - check-pot: 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
    @@ Makefile: endif
     +
     +.PHONY: po-init
     +po-init: po/git-core.pot
    -+ifndef PO_FILE
    -+	$(error not define variable "PO_FILE")
    -+else
    -+ifeq ($(filter po/%.po,$(PO_FILE)),)
    -+	$(error PO_FILE should match pattern: "po/%.po")
    -+endif
    -+endif
    ++	$(check_po_file_envvar)
     +	@if test -e $(PO_FILE); then \
     +		echo >&2 "error: $(PO_FILE) exists already"; \
     +		exit 1; \
 9:  f2491b96ab =  9:  10fafa5bf9 l10n: Document the new l10n workflow

---

Jiang Xin (3):
  Makefile: sort "po/git.pot" by file location
  Makefile: generate "po/git.pot" from stable LOCALIZED_C
  Makefile: add "po-update" rule to update po/XX.po

Junio C Hamano (1):
  po/git.pot: this is now a generated file

Ævar Arnfjörð Bjarmason (5):
  Makefile: have "make pot" not "reset --hard"
  i18n CI: stop allowing non-ASCII source messages in po/git.pot
  po/git.pot: don't check in result of "make pot"
  Makefile: add "po-init" rule to initialize po/XX.po
  l10n: Document the new l10n workflow

 .gitignore                  |     1 +
 Makefile                    |   144 +-
 builtin/submodule--helper.c |     2 +-
 ci/run-static-analysis.sh   |     2 +
 po/.gitignore               |     2 +
 po/README.md                |   191 +-
 po/git.pot                  | 25151 ----------------------------------
 shared.mak                  |     2 +
 8 files changed, 217 insertions(+), 25278 deletions(-)
 delete mode 100644 po/git.pot

-- 
2.36.0.1.g15c4090757


^ permalink raw reply	[flat|nested] 110+ messages in thread

* [PATCH v2 1/9] Makefile: sort "po/git.pot" by file location
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (12 preceding siblings ...)
  2022-05-19  8:15 ` [PATCH v2 " Jiang Xin
@ 2022-05-19  8:15 ` Jiang Xin
  2022-05-19  8:53   ` Ævar Arnfjörð Bjarmason
  2022-05-19  8:15 ` [PATCH v2 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
                   ` (7 subsequent siblings)
  21 siblings, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-19  8:15 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

Before feeding xgettext with more C souce files which may be ignored
by various compiler conditions, add new option "--sort-by-file" to
xgettext program to create stable message template file "po/git.pot".

With this update, the newly generated "po/git.pot" will has the same
entries while in a different order. We won't checkin the newly generated
"po/git.pot", because we will remove it from tree in a later commit.

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Makefile b/Makefile
index f8bccfab5e..83e968e2a4 100644
--- a/Makefile
+++ b/Makefile
@@ -2706,6 +2706,7 @@ XGETTEXT_FLAGS = \
 	--force-po \
 	--add-comments=TRANSLATORS: \
 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
+	--sort-by-file \
 	--from-code=UTF-8
 XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
 	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v2 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (13 preceding siblings ...)
  2022-05-19  8:15 ` [PATCH v2 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
@ 2022-05-19  8:15 ` Jiang Xin
  2022-05-19  9:18   ` Ævar Arnfjörð Bjarmason
  2022-05-19  8:15 ` [PATCH v2 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
                   ` (6 subsequent siblings)
  21 siblings, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-19  8:15 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

When running "make pot" on different platform, we may get a different
message template file "po/git.pot". This is because the "LOCALIZED_C"
variable may have different C source files on different platforms or
different compiler conditions.

We can make a stable "LOCALIZED_C" variable by applying patch snippets
as follows:

     ifdef NO_LIBGEN_H
         COMPAT_CFLAGS += -DNO_LIBGEN_H
         COMPAT_OBJS += compat/basename.o
    +else
    +    LOCALIZED_C += compat/basename.c
     endif

But it is much simpler to use variables "$(FOUND_C_SOURCES)" and
"$(FOUND_C_SOURCES)" to form a stable "LOCALIZED_C".

With this update, the newly generated "po/git.pot" will have 30 new
entries coming from the following C source files:

 * compat/fsmonitor/fsm-listen-win32.c
 * compat/mingw.c
 * compat/regex/regcomp.c
 * compat/simple-ipc/ipc-win32.c

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 83e968e2a4..60ca42c268 100644
--- a/Makefile
+++ b/Makefile
@@ -2714,7 +2714,8 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
 	--keyword=gettextln --keyword=eval_gettextln
 XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
-LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
+LOCALIZED_C = $(FOUND_C_SOURCES) $(SCALAR_SOURCES) \
+	      $(FOUND_H_SOURCES) $(GENERATED_H)
 LOCALIZED_SH = $(SCRIPT_SH)
 LOCALIZED_SH += git-sh-setup.sh
 LOCALIZED_PERL = $(SCRIPT_PERL)
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v2 3/9] Makefile: have "make pot" not "reset --hard"
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (14 preceding siblings ...)
  2022-05-19  8:15 ` [PATCH v2 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
@ 2022-05-19  8:15 ` Jiang Xin
  2022-05-19  9:43   ` Ævar Arnfjörð Bjarmason
  2022-05-19  8:15 ` [PATCH v2 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
                   ` (5 subsequent siblings)
  21 siblings, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-19  8:15 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Before commit fc0fd5b23b (Makefile: help gettext tools to cope with our
custom PRItime format, 2017-07-20) we'd consider source files as-is
with gettext, but because we need to understand PRItime in the same way
that gettext itself understands PRIuMAX we'd first check if we had a
clean checkout, then munge all of the processed files in-place with
"sed", generate "po/git.pot", and then finally "reset --hard" to undo
our changes.

By generating "pot" snippets in ".build/pot/po" for each source file
and rewriting certain source files with PRItime macros to temporary
files in ".build/pot/po", we can avoid running "make pot" by altering
files in place and doing a "reset --hard" afterwards.

This speed of "make pot" is slower than before on an initial run,
because we run "xgettext" many times (once per source file), but it
can be boosted by parallelization. It is *much* faster for incremental
runs, and will allow us to implement related targets in subsequent
commits.

When the "pot" target was originally added in cd5513a7168 (i18n:
Makefile: "pot" target to extract messages marked for translation,
2011-02-22) it behaved like a "normal" target. I.e. we'd skip the
re-generation of the po/git.pot if nothing had to be done.

Then after po/git.pot was checked in in dce37b66fb0 (l10n: initial
git.pot for 1.7.10 upcoming release, 2012-02-13) the target was broken
until 1f31963e921 (i18n: treat "make pot" as an explicitly-invoked
target, 2014-08-22) when it was made to depend on "FORCE". I.e. the
Makefile's dependency resolution inherently can't handle incremental
building when the target file may be updated by git (or something else
external to "make"). But this case no longer applies, so FORCE is no
longer needed.

That out of the way, the main logic change here is getting rid of the
"reset --hard":

We'll generate intermediate .build/pot/po/%.po files from %, which is
handy to see at a glance what strings (if any) in a given file are
marked for translation:

	$ make .build/pot/po/pretty.c.po
	[...]
	$ cat .build/pot/po/pretty.c.po
	#: pretty.c:1051
	msgid "unable to parse --pretty format"
	msgstr ""
	$

For these C source files which contain the PRItime macros, we will
create temporary munged *.c files in a tree in ".build/pot/po"
corresponding to our source tree, and have "xgettext" consider those.
The rule needs to be careful to "(cd .build/pot/po && ...)", because
otherwise the comments in the po/git.pot file wouldn't refer to the
correct source locations (they'd be prefixed with ".build/pot/po").

This changes the output of the generated po/git.pot file in one minor
way: Because we're using msgcat(1) instead of xgettext(1) to
concatenate the output we'll now disambiguate where "TRANSLATORS"
comments come from, in cases where a message is the same in N files,
and either only one has a "TRANSLATORS" comment, or they're
different. E.g. for the "Your edited hunk[...]" message we'll now
apply this change (comment content elided):

	+#. #-#-#-#-#  add-patch.c.po  #-#-#-#-#
	 #. TRANSLATORS: do not translate [y/n]
	[...]
	+#. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#
	 #. TRANSLATORS: do not translate [y/n]
	[...]
	 #: add-patch.c:1253 git-add--interactive.perl:1244
	 msgid ""
	 "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
	 msgstr ""

There are six such changes, and they all make the context more
understandable, as msgcat(1) is better at handling these edge cases
than xgettext(1)'s previously used "--join-existing" flag.

While we could rename the "pot" snippets without the ".po" extention
to use more intuitive filenames in the comments, but that will
confuse the IDE with lots of invalid C or perl source files in
".build/pot/po" directory.

The addition of "--omit-header" option for xgettext makes the "pot"
snippets in ".build/pot/po/*.po" smaller. For the pot header of
"po/git.pot", we use xgettext to generate a "pot" header file
".build/pot/git.header" from an empty file at runtime, and use this
header to assemble "po/git.pot".

But as we'll see in a subsequent commit this header behavior has been
hiding an encoding-related bug from us, so let's carry it forward
instead of re-generating it with xgettext(1).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 .gitignore |  1 +
 Makefile   | 73 ++++++++++++++++++++++++++++++++++++++----------------
 2 files changed, 53 insertions(+), 21 deletions(-)

diff --git a/.gitignore b/.gitignore
index e81de1063a..a452215764 100644
--- a/.gitignore
+++ b/.gitignore
@@ -200,6 +200,7 @@
 *.[aos]
 *.o.json
 *.py[co]
+.build/
 .depend/
 *.gcda
 *.gcno
diff --git a/Makefile b/Makefile
index 60ca42c268..c32ac4ca30 100644
--- a/Makefile
+++ b/Makefile
@@ -569,6 +569,7 @@ INSTALL = install
 TCL_PATH = tclsh
 TCLTK_PATH = wish
 XGETTEXT = xgettext
+MSGCAT = msgcat
 MSGFMT = msgfmt
 CURL_CONFIG = curl-config
 GCOV = gcov
@@ -2706,6 +2707,7 @@ XGETTEXT_FLAGS = \
 	--force-po \
 	--add-comments=TRANSLATORS: \
 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
+	--package-name=Git \
 	--sort-by-file \
 	--from-code=UTF-8
 XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
@@ -2714,6 +2716,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
 	--keyword=gettextln --keyword=eval_gettextln
 XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
+MSGCAT_FLAGS = --sort-by-file
 LOCALIZED_C = $(FOUND_C_SOURCES) $(SCALAR_SOURCES) \
 	      $(FOUND_H_SOURCES) $(GENERATED_H)
 LOCALIZED_SH = $(SCRIPT_SH)
@@ -2726,34 +2729,61 @@ LOCALIZED_SH += t/t0200/test.sh
 LOCALIZED_PERL += t/t0200/test.perl
 endif
 
-## Note that this is meant to be run only by the localization coordinator
-## under a very controlled condition, i.e. (1) it is to be run in a
-## Git repository (not a tarball extract), (2) any local modifications
-## will be lost.
+## We generate intermediate .build/pot/po/%.po files containing a
+## extract of the translations we find in each file in the source
+## tree. We will assemble them using msgcat to create the final
+## "po/git.pot" file.
+LOCALIZED_ALL_GEN_PO =
+
+LOCALIZED_C_GEN_PO = $(LOCALIZED_C:%=.build/pot/po/%.po)
+LOCALIZED_ALL_GEN_PO += $(LOCALIZED_C_GEN_PO)
+
+LOCALIZED_SH_GEN_PO = $(LOCALIZED_SH:%=.build/pot/po/%.po)
+LOCALIZED_ALL_GEN_PO += $(LOCALIZED_SH_GEN_PO)
+
+LOCALIZED_PERL_GEN_PO = $(LOCALIZED_PERL:%=.build/pot/po/%.po)
+LOCALIZED_ALL_GEN_PO += $(LOCALIZED_PERL_GEN_PO)
+
 ## Gettext tools cannot work with our own custom PRItime type, so
 ## we replace PRItime with PRIuMAX.  We need to update this to
 ## PRIdMAX if we switch to a signed type later.
+$(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT) \
+	    if grep -q PRItime $<; then \
+		(\
+			sed -e 's|PRItime|PRIuMAX|g' <$< \
+				>.build/pot/po/$< && \
+			cd .build/pot/po && \
+			$(XGETTEXT) --omit-header \
+				-o $(@:.build/pot/po/%=%) \
+				$(XGETTEXT_FLAGS_C) $< && \
+			rm $<; \
+		); \
+	    else \
+		$(XGETTEXT) --omit-header \
+			-o $@ $(XGETTEXT_FLAGS_C) $<; \
+	    fi
 
-po/git.pot: $(GENERATED_H) FORCE
-	# All modifications will be reverted at the end, so we do not
-	# want to have any local change.
-	git diff --quiet HEAD && git diff --quiet --cached
+$(LOCALIZED_SH_GEN_PO): .build/pot/po/%.po: %
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
+		-o$@ $(XGETTEXT_FLAGS_SH) $<
 
-	@for s in $(LOCALIZED_C) $(LOCALIZED_SH) $(LOCALIZED_PERL); \
-	do \
-		sed -e 's|PRItime|PRIuMAX|g' <"$$s" >"$$s+" && \
-		cat "$$s+" >"$$s" && rm "$$s+"; \
-	done
+$(LOCALIZED_PERL_GEN_PO): .build/pot/po/%.po: %
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
+		-o$@ $(XGETTEXT_FLAGS_PERL) $<
 
-	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ $(XGETTEXT_FLAGS_C) $(LOCALIZED_C)
-	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_SH) \
-		$(LOCALIZED_SH)
-	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_PERL) \
-		$(LOCALIZED_PERL)
+.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT)$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
+		-o - /dev/null | \
+	sed -e 's|charset=CHARSET|charset=UTF-8|g' >$@ && \
+	echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
 
-	# Reverting the munged source, leaving only the updated $@
-	git reset --hard
-	mv $@+ $@
+po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
+	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
 
 .PHONY: pot
 pot: po/git.pot
@@ -3292,6 +3322,7 @@ cocciclean:
 	$(RM) contrib/coccinelle/*.cocci.patch*
 
 clean: profile-clean coverage-clean cocciclean
+	$(RM) -r .build
 	$(RM) *.res
 	$(RM) $(OBJECTS)
 	$(RM) $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(REFTABLE_TEST_LIB)
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v2 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (15 preceding siblings ...)
  2022-05-19  8:15 ` [PATCH v2 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
@ 2022-05-19  8:15 ` Jiang Xin
  2022-05-19 10:02   ` Ævar Arnfjörð Bjarmason
  2022-05-19  8:15 ` [PATCH v2 5/9] po/git.pot: this is now a generated file Jiang Xin
                   ` (4 subsequent siblings)
  21 siblings, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-19  8:15 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

In the preceding commit we moved away from using xgettext(1) to both
generate the po/git.pot, and to merge the incrementally generated
po/git.pot+ file as we sourced translations from C, shell and Perl.

Doing it this way, which dates back to my initial
implementation[1][2][3] was conflating two things: With xgettext(1)
the --from-code both controls what encoding is specified in the
po/git.pot's header, and what encoding we allow in source messages.

We don't ever want to allow non-ASCII in *source messages*, and doing
so has hid e.g. a buggy message introduced in
a6226fd772b (submodule--helper: convert the bulk of cmd_add() to C,
2021-08-10) from us, we'd warn about it before, but only when running
"make pot", but the operation would still succeed. Now we'll error out
on it when running "make pot".

Since the preceding Makefile changes made this easy: let's add a "make
check-pot" target with the same prerequisites as the "po/git.pot"
target, but without changing the file "po/git.pot". Running it as part
of the "static-analysis" CI target will ensure that we catch any such
issues in the future. E.g.:

    $ make check-pot
        XGETTEXT .build/pot/po/builtin/submodule--helper.c.po
    xgettext: Non-ASCII string at builtin/submodule--helper.c:3381.
              Please specify the source encoding through --from-code.
    make: *** [.build/pot/po/builtin/submodule--helper.c.po] Error 1

1. cd5513a7168 (i18n: Makefile: "pot" target to extract messages
   marked for translation, 2011-02-22)
2. adc3b2b2767 (Makefile: add xgettext target for *.sh files,
   2011-05-14)
3. 5e9637c6297 (i18n: add infrastructure for translating Git with
   gettext, 2011-11-18)

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Makefile                    | 6 ++++--
 builtin/submodule--helper.c | 2 +-
 ci/run-static-analysis.sh   | 2 ++
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index c32ac4ca30..304cd03276 100644
--- a/Makefile
+++ b/Makefile
@@ -2708,8 +2708,7 @@ XGETTEXT_FLAGS = \
 	--add-comments=TRANSLATORS: \
 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
 	--package-name=Git \
-	--sort-by-file \
-	--from-code=UTF-8
+	--sort-by-file
 XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
 	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
 XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
@@ -2788,6 +2787,9 @@ po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
 .PHONY: pot
 pot: po/git.pot
 
+.PHONY: check-pot
+check-pot: $(LOCALIZED_ALL_GEN_PO)
+
 ifdef NO_GETTEXT
 POFILES :=
 MOFILES :=
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index 2c87ef9364..b97f02eed5 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -3378,7 +3378,7 @@ static int module_add(int argc, const char **argv, const char *prefix)
 			   N_("reference repository")),
 		OPT_BOOL(0, "dissociate", &dissociate, N_("borrow the objects from reference repositories")),
 		OPT_STRING(0, "name", &add_data.sm_name, N_("name"),
-			   N_("sets the submodule’s name to the given string "
+			   N_("sets the submodule's name to the given string "
 			      "instead of defaulting to its path")),
 		OPT_INTEGER(0, "depth", &add_data.depth, N_("depth for shallow clones")),
 		OPT_END()
diff --git a/ci/run-static-analysis.sh b/ci/run-static-analysis.sh
index 65bcebda41..0d51e5ce0e 100755
--- a/ci/run-static-analysis.sh
+++ b/ci/run-static-analysis.sh
@@ -29,4 +29,6 @@ fi
 make hdr-check ||
 exit 1
 
+make check-pot
+
 save_good_tree
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v2 5/9] po/git.pot: this is now a generated file
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (16 preceding siblings ...)
  2022-05-19  8:15 ` [PATCH v2 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
@ 2022-05-19  8:15 ` Jiang Xin
  2022-05-19  8:15 ` [PATCH v2 6/9] po/git.pot: don't check in result of "make pot" Jiang Xin
                   ` (3 subsequent siblings)
  21 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-19  8:15 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

From: Junio C Hamano <gitster@pobox.com>

---
 po/git.pot | 25151 ---------------------------------------------------
 1 file changed, 25151 deletions(-)
 delete mode 100644 po/git.pot

diff --git a/po/git.pot b/po/git.pot
deleted file mode 100644
index 054cb99c06..0000000000
--- a/po/git.pot
+++ /dev/null
@@ -1,25151 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2022-04-13 14:52+0800\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-
-#: add-interactive.c:382
-#, c-format
-msgid "Huh (%s)?"
-msgstr ""
-
-#: add-interactive.c:535 add-interactive.c:836 reset.c:136 sequencer.c:3505
-#: sequencer.c:3970 sequencer.c:4127 builtin/rebase.c:1261
-#: builtin/rebase.c:1671
-msgid "could not read index"
-msgstr ""
-
-#: add-interactive.c:590 git-add--interactive.perl:269
-#: git-add--interactive.perl:294
-msgid "binary"
-msgstr ""
-
-#: add-interactive.c:648 git-add--interactive.perl:278
-#: git-add--interactive.perl:332
-msgid "nothing"
-msgstr ""
-
-#: add-interactive.c:649 git-add--interactive.perl:314
-#: git-add--interactive.perl:329
-msgid "unchanged"
-msgstr ""
-
-#: add-interactive.c:686 git-add--interactive.perl:641
-msgid "Update"
-msgstr ""
-
-#: add-interactive.c:703 add-interactive.c:891
-#, c-format
-msgid "could not stage '%s'"
-msgstr ""
-
-#: add-interactive.c:709 add-interactive.c:898 reset.c:160 sequencer.c:3709
-msgid "could not write index"
-msgstr ""
-
-#: add-interactive.c:712 git-add--interactive.perl:626
-#, c-format, perl-format
-msgid "updated %d path\n"
-msgid_plural "updated %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: add-interactive.c:730 git-add--interactive.perl:676
-#, c-format, perl-format
-msgid "note: %s is untracked now.\n"
-msgstr ""
-
-#: add-interactive.c:735 apply.c:4133 builtin/checkout.c:311
-#: builtin/reset.c:167
-#, c-format
-msgid "make_cache_entry failed for path '%s'"
-msgstr ""
-
-#: add-interactive.c:765 git-add--interactive.perl:653
-msgid "Revert"
-msgstr ""
-
-#: add-interactive.c:781
-msgid "Could not parse HEAD^{tree}"
-msgstr ""
-
-#: add-interactive.c:819 git-add--interactive.perl:629
-#, c-format, perl-format
-msgid "reverted %d path\n"
-msgid_plural "reverted %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: add-interactive.c:870 git-add--interactive.perl:693
-#, c-format
-msgid "No untracked files.\n"
-msgstr ""
-
-#: add-interactive.c:874 git-add--interactive.perl:687
-msgid "Add untracked"
-msgstr ""
-
-#: add-interactive.c:901 git-add--interactive.perl:623
-#, c-format, perl-format
-msgid "added %d path\n"
-msgid_plural "added %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: add-interactive.c:931
-#, c-format
-msgid "ignoring unmerged: %s"
-msgstr ""
-
-#: add-interactive.c:943 add-patch.c:1758 git-add--interactive.perl:1371
-#, c-format
-msgid "Only binary files changed.\n"
-msgstr ""
-
-#: add-interactive.c:945 add-patch.c:1756 git-add--interactive.perl:1373
-#, c-format
-msgid "No changes.\n"
-msgstr ""
-
-#: add-interactive.c:949 git-add--interactive.perl:1381
-msgid "Patch update"
-msgstr ""
-
-#: add-interactive.c:988 git-add--interactive.perl:1794
-msgid "Review diff"
-msgstr ""
-
-#: add-interactive.c:1016
-msgid "show paths with changes"
-msgstr ""
-
-#: add-interactive.c:1018
-msgid "add working tree state to the staged set of changes"
-msgstr ""
-
-#: add-interactive.c:1020
-msgid "revert staged set of changes back to the HEAD version"
-msgstr ""
-
-#: add-interactive.c:1022
-msgid "pick hunks and update selectively"
-msgstr ""
-
-#: add-interactive.c:1024
-msgid "view diff between HEAD and index"
-msgstr ""
-
-#: add-interactive.c:1026
-msgid "add contents of untracked files to the staged set of changes"
-msgstr ""
-
-#: add-interactive.c:1034 add-interactive.c:1083
-msgid "Prompt help:"
-msgstr ""
-
-#: add-interactive.c:1036
-msgid "select a single item"
-msgstr ""
-
-#: add-interactive.c:1038
-msgid "select a range of items"
-msgstr ""
-
-#: add-interactive.c:1040
-msgid "select multiple ranges"
-msgstr ""
-
-#: add-interactive.c:1042 add-interactive.c:1087
-msgid "select item based on unique prefix"
-msgstr ""
-
-#: add-interactive.c:1044
-msgid "unselect specified items"
-msgstr ""
-
-#: add-interactive.c:1046
-msgid "choose all items"
-msgstr ""
-
-#: add-interactive.c:1048
-msgid "(empty) finish selecting"
-msgstr ""
-
-#: add-interactive.c:1085
-msgid "select a numbered item"
-msgstr ""
-
-#: add-interactive.c:1089
-msgid "(empty) select nothing"
-msgstr ""
-
-#: add-interactive.c:1097 builtin/clean.c:839 git-add--interactive.perl:1898
-msgid "*** Commands ***"
-msgstr ""
-
-#: add-interactive.c:1098 builtin/clean.c:840 git-add--interactive.perl:1895
-msgid "What now"
-msgstr ""
-
-#: add-interactive.c:1150 git-add--interactive.perl:213
-msgid "staged"
-msgstr ""
-
-#: add-interactive.c:1150 git-add--interactive.perl:213
-msgid "unstaged"
-msgstr ""
-
-#: add-interactive.c:1150 apply.c:5002 apply.c:5005 builtin/am.c:2370
-#: builtin/am.c:2373 builtin/bugreport.c:107 builtin/clone.c:132
-#: builtin/fetch.c:154 builtin/merge.c:287 builtin/pull.c:194
-#: builtin/submodule--helper.c:412 builtin/submodule--helper.c:1872
-#: builtin/submodule--helper.c:1875 builtin/submodule--helper.c:2709
-#: builtin/submodule--helper.c:2712 builtin/submodule--helper.c:2891
-#: git-add--interactive.perl:213
-msgid "path"
-msgstr ""
-
-#: add-interactive.c:1157
-msgid "could not refresh index"
-msgstr ""
-
-#: add-interactive.c:1171 builtin/clean.c:804 git-add--interactive.perl:1805
-#, c-format
-msgid "Bye.\n"
-msgstr ""
-
-#: add-patch.c:34 git-add--interactive.perl:1433
-#, c-format, perl-format
-msgid "Stage mode change [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:35 git-add--interactive.perl:1434
-#, c-format, perl-format
-msgid "Stage deletion [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:36 git-add--interactive.perl:1435
-#, c-format, perl-format
-msgid "Stage addition [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:37 git-add--interactive.perl:1436
-#, c-format, perl-format
-msgid "Stage this hunk [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:39
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"staging."
-msgstr ""
-
-#: add-patch.c:42
-msgid ""
-"y - stage this hunk\n"
-"n - do not stage this hunk\n"
-"q - quit; do not stage this hunk or any of the remaining ones\n"
-"a - stage this hunk and all later hunks in the file\n"
-"d - do not stage this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:56 git-add--interactive.perl:1439
-#, c-format, perl-format
-msgid "Stash mode change [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:57 git-add--interactive.perl:1440
-#, c-format, perl-format
-msgid "Stash deletion [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:58 git-add--interactive.perl:1441
-#, c-format, perl-format
-msgid "Stash addition [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:59 git-add--interactive.perl:1442
-#, c-format, perl-format
-msgid "Stash this hunk [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:61
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"stashing."
-msgstr ""
-
-#: add-patch.c:64
-msgid ""
-"y - stash this hunk\n"
-"n - do not stash this hunk\n"
-"q - quit; do not stash this hunk or any of the remaining ones\n"
-"a - stash this hunk and all later hunks in the file\n"
-"d - do not stash this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:80 git-add--interactive.perl:1445
-#, c-format, perl-format
-msgid "Unstage mode change [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:81 git-add--interactive.perl:1446
-#, c-format, perl-format
-msgid "Unstage deletion [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:82 git-add--interactive.perl:1447
-#, c-format, perl-format
-msgid "Unstage addition [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:83 git-add--interactive.perl:1448
-#, c-format, perl-format
-msgid "Unstage this hunk [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:85
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"unstaging."
-msgstr ""
-
-#: add-patch.c:88
-msgid ""
-"y - unstage this hunk\n"
-"n - do not unstage this hunk\n"
-"q - quit; do not unstage this hunk or any of the remaining ones\n"
-"a - unstage this hunk and all later hunks in the file\n"
-"d - do not unstage this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:103 git-add--interactive.perl:1451
-#, c-format, perl-format
-msgid "Apply mode change to index [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:104 git-add--interactive.perl:1452
-#, c-format, perl-format
-msgid "Apply deletion to index [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:105 git-add--interactive.perl:1453
-#, c-format, perl-format
-msgid "Apply addition to index [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:106 git-add--interactive.perl:1454
-#, c-format, perl-format
-msgid "Apply this hunk to index [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:108 add-patch.c:176 add-patch.c:221
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"applying."
-msgstr ""
-
-#: add-patch.c:111
-msgid ""
-"y - apply this hunk to index\n"
-"n - do not apply this hunk to index\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:126 git-add--interactive.perl:1457
-#: git-add--interactive.perl:1475
-#, c-format, perl-format
-msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:127 git-add--interactive.perl:1458
-#: git-add--interactive.perl:1476
-#, c-format, perl-format
-msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:128 git-add--interactive.perl:1459
-#: git-add--interactive.perl:1477
-#, c-format, perl-format
-msgid "Discard addition from worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:129 git-add--interactive.perl:1460
-#: git-add--interactive.perl:1478
-#, c-format, perl-format
-msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:131 add-patch.c:154 add-patch.c:199
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"discarding."
-msgstr ""
-
-#: add-patch.c:134 add-patch.c:202
-msgid ""
-"y - discard this hunk from worktree\n"
-"n - do not discard this hunk from worktree\n"
-"q - quit; do not discard this hunk or any of the remaining ones\n"
-"a - discard this hunk and all later hunks in the file\n"
-"d - do not discard this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:149 add-patch.c:194 git-add--interactive.perl:1463
-#, c-format, perl-format
-msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:150 add-patch.c:195 git-add--interactive.perl:1464
-#, c-format, perl-format
-msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:151 add-patch.c:196 git-add--interactive.perl:1465
-#, c-format, perl-format
-msgid "Discard addition from index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:152 add-patch.c:197 git-add--interactive.perl:1466
-#, c-format, perl-format
-msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:157
-msgid ""
-"y - discard this hunk from index and worktree\n"
-"n - do not discard this hunk from index and worktree\n"
-"q - quit; do not discard this hunk or any of the remaining ones\n"
-"a - discard this hunk and all later hunks in the file\n"
-"d - do not discard this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:171 add-patch.c:216 git-add--interactive.perl:1469
-#, c-format, perl-format
-msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:172 add-patch.c:217 git-add--interactive.perl:1470
-#, c-format, perl-format
-msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:173 add-patch.c:218 git-add--interactive.perl:1471
-#, c-format, perl-format
-msgid "Apply addition to index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:174 add-patch.c:219 git-add--interactive.perl:1472
-#, c-format, perl-format
-msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:179
-msgid ""
-"y - apply this hunk to index and worktree\n"
-"n - do not apply this hunk to index and worktree\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:224
-msgid ""
-"y - apply this hunk to worktree\n"
-"n - do not apply this hunk to worktree\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:343
-#, c-format
-msgid "could not parse hunk header '%.*s'"
-msgstr ""
-
-#: add-patch.c:362 add-patch.c:366
-#, c-format
-msgid "could not parse colored hunk header '%.*s'"
-msgstr ""
-
-#: add-patch.c:431
-msgid "could not parse diff"
-msgstr ""
-
-#: add-patch.c:450
-msgid "could not parse colored diff"
-msgstr ""
-
-#: add-patch.c:464
-#, c-format
-msgid "failed to run '%s'"
-msgstr ""
-
-#: add-patch.c:618
-msgid "mismatched output from interactive.diffFilter"
-msgstr ""
-
-#: add-patch.c:619
-msgid ""
-"Your filter must maintain a one-to-one correspondence\n"
-"between its input and output lines."
-msgstr ""
-
-#: add-patch.c:797
-#, c-format
-msgid ""
-"expected context line #%d in\n"
-"%.*s"
-msgstr ""
-
-#: add-patch.c:812
-#, c-format
-msgid ""
-"hunks do not overlap:\n"
-"%.*s\n"
-"\tdoes not end with:\n"
-"%.*s"
-msgstr ""
-
-#: add-patch.c:1088 git-add--interactive.perl:1115
-msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
-msgstr ""
-
-#: add-patch.c:1092
-#, c-format
-msgid ""
-"---\n"
-"To remove '%c' lines, make them ' ' lines (context).\n"
-"To remove '%c' lines, delete them.\n"
-"Lines starting with %c will be removed.\n"
-msgstr ""
-
-#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: add-patch.c:1106 git-add--interactive.perl:1129
-msgid ""
-"If it does not apply cleanly, you will be given an opportunity to\n"
-"edit again.  If all lines of the hunk are removed, then the edit is\n"
-"aborted and the hunk is left unchanged.\n"
-msgstr ""
-
-#: add-patch.c:1139
-msgid "could not parse hunk header"
-msgstr ""
-
-#: add-patch.c:1184
-msgid "'git apply --cached' failed"
-msgstr ""
-
-#. TRANSLATORS: do not translate [y/n]
-#. The program will only accept that input at this point.
-#. Consider translating (saying "no" discards!) as
-#. (saying "n" for "no" discards!) if the translation
-#. of the word "no" does not start with n.
-#.
-#. TRANSLATORS: do not translate [y/n]
-#. The program will only accept that input
-#. at this point.
-#. Consider translating (saying "no" discards!) as
-#. (saying "n" for "no" discards!) if the translation
-#. of the word "no" does not start with n.
-#: add-patch.c:1253 git-add--interactive.perl:1244
-msgid ""
-"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
-msgstr ""
-
-#: add-patch.c:1296
-msgid "The selected hunks do not apply to the index!"
-msgstr ""
-
-#: add-patch.c:1297 git-add--interactive.perl:1348
-msgid "Apply them to the worktree anyway? "
-msgstr ""
-
-#: add-patch.c:1304 git-add--interactive.perl:1351
-msgid "Nothing was applied.\n"
-msgstr ""
-
-#: add-patch.c:1361
-msgid ""
-"j - leave this hunk undecided, see next undecided hunk\n"
-"J - leave this hunk undecided, see next hunk\n"
-"k - leave this hunk undecided, see previous undecided hunk\n"
-"K - leave this hunk undecided, see previous hunk\n"
-"g - select a hunk to go to\n"
-"/ - search for a hunk matching the given regex\n"
-"s - split the current hunk into smaller hunks\n"
-"e - manually edit the current hunk\n"
-"? - print help\n"
-msgstr ""
-
-#: add-patch.c:1523 add-patch.c:1533
-msgid "No previous hunk"
-msgstr ""
-
-#: add-patch.c:1528 add-patch.c:1538
-msgid "No next hunk"
-msgstr ""
-
-#: add-patch.c:1544
-msgid "No other hunks to goto"
-msgstr ""
-
-#: add-patch.c:1555 git-add--interactive.perl:1608
-msgid "go to which hunk (<ret> to see more)? "
-msgstr ""
-
-#: add-patch.c:1556 git-add--interactive.perl:1610
-msgid "go to which hunk? "
-msgstr ""
-
-#: add-patch.c:1567
-#, c-format
-msgid "Invalid number: '%s'"
-msgstr ""
-
-#: add-patch.c:1572
-#, c-format
-msgid "Sorry, only %d hunk available."
-msgid_plural "Sorry, only %d hunks available."
-msgstr[0] ""
-msgstr[1] ""
-
-#: add-patch.c:1581
-msgid "No other hunks to search"
-msgstr ""
-
-#: add-patch.c:1587 git-add--interactive.perl:1663
-msgid "search for regex? "
-msgstr ""
-
-#: add-patch.c:1602
-#, c-format
-msgid "Malformed search regexp %s: %s"
-msgstr ""
-
-#: add-patch.c:1619
-msgid "No hunk matches the given pattern"
-msgstr ""
-
-#: add-patch.c:1626
-msgid "Sorry, cannot split this hunk"
-msgstr ""
-
-#: add-patch.c:1630
-#, c-format
-msgid "Split into %d hunks."
-msgstr ""
-
-#: add-patch.c:1634
-msgid "Sorry, cannot edit this hunk"
-msgstr ""
-
-#: add-patch.c:1686
-msgid "'git apply' failed"
-msgstr ""
-
-#: advice.c:81
-#, c-format
-msgid ""
-"\n"
-"Disable this message with \"git config advice.%s false\""
-msgstr ""
-
-#: advice.c:97
-#, c-format
-msgid "%shint: %.*s%s\n"
-msgstr ""
-
-#: advice.c:181
-msgid "Cherry-picking is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:183
-msgid "Committing is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:185
-msgid "Merging is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:187
-msgid "Pulling is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:189
-msgid "Reverting is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:191
-#, c-format
-msgid "It is not possible to %s because you have unmerged files."
-msgstr ""
-
-#: advice.c:199
-msgid ""
-"Fix them up in the work tree, and then use 'git add/rm <file>'\n"
-"as appropriate to mark resolution and make a commit."
-msgstr ""
-
-#: advice.c:207
-msgid "Exiting because of an unresolved conflict."
-msgstr ""
-
-#: advice.c:212 builtin/merge.c:1388
-msgid "You have not concluded your merge (MERGE_HEAD exists)."
-msgstr ""
-
-#: advice.c:214
-msgid "Please, commit your changes before merging."
-msgstr ""
-
-#: advice.c:215
-msgid "Exiting because of unfinished merge."
-msgstr ""
-
-#: advice.c:220
-msgid "Not possible to fast-forward, aborting."
-msgstr ""
-
-#: advice.c:230
-#, c-format
-msgid ""
-"The following paths and/or pathspecs matched paths that exist\n"
-"outside of your sparse-checkout definition, so will not be\n"
-"updated in the index:\n"
-msgstr ""
-
-#: advice.c:237
-msgid ""
-"If you intend to update such entries, try one of the following:\n"
-"* Use the --sparse option.\n"
-"* Disable or modify the sparsity rules."
-msgstr ""
-
-#: advice.c:245
-#, c-format
-msgid ""
-"Note: switching to '%s'.\n"
-"\n"
-"You are in 'detached HEAD' state. You can look around, make experimental\n"
-"changes and commit them, and you can discard any commits you make in this\n"
-"state without impacting any branches by switching back to a branch.\n"
-"\n"
-"If you want to create a new branch to retain commits you create, you may\n"
-"do so (now or later) by using -c with the switch command. Example:\n"
-"\n"
-"  git switch -c <new-branch-name>\n"
-"\n"
-"Or undo this operation with:\n"
-"\n"
-"  git switch -\n"
-"\n"
-"Turn off this advice by setting config variable advice.detachedHead to "
-"false\n"
-"\n"
-msgstr ""
-
-#: alias.c:50
-msgid "cmdline ends with \\"
-msgstr ""
-
-#: alias.c:51
-msgid "unclosed quote"
-msgstr ""
-
-#: apply.c:70
-#, c-format
-msgid "unrecognized whitespace option '%s'"
-msgstr ""
-
-#: apply.c:86
-#, c-format
-msgid "unrecognized whitespace ignore option '%s'"
-msgstr ""
-
-#: apply.c:138 archive.c:584 parse-options.c:1122 range-diff.c:555
-#: revision.c:2314 revision.c:2318 revision.c:2327 revision.c:2332
-#: revision.c:2560 revision.c:2895 revision.c:2899 revision.c:2907
-#: revision.c:2910 revision.c:2912 builtin/add.c:507 builtin/add.c:509
-#: builtin/add.c:515 builtin/add.c:527 builtin/branch.c:755
-#: builtin/checkout.c:472 builtin/checkout.c:475 builtin/checkout.c:1663
-#: builtin/checkout.c:1773 builtin/checkout.c:1776 builtin/clone.c:921
-#: builtin/commit.c:359 builtin/commit.c:362 builtin/commit.c:1200
-#: builtin/commit.c:1256 builtin/commit.c:1273 builtin/describe.c:593
-#: builtin/diff-tree.c:155 builtin/difftool.c:733 builtin/fast-export.c:1245
-#: builtin/fetch.c:2141 builtin/fetch.c:2162 builtin/fetch.c:2167
-#: builtin/help.c:602 builtin/index-pack.c:1858 builtin/init-db.c:560
-#: builtin/log.c:1968 builtin/log.c:1970 builtin/ls-files.c:778
-#: builtin/merge-base.c:163 builtin/merge-base.c:169 builtin/merge.c:1409
-#: builtin/merge.c:1411 builtin/pack-objects.c:4098 builtin/push.c:592
-#: builtin/push.c:630 builtin/push.c:636 builtin/push.c:641
-#: builtin/rebase.c:1221 builtin/rebase.c:1223 builtin/rebase.c:1227
-#: builtin/repack.c:688 builtin/repack.c:719 builtin/reset.c:433
-#: builtin/reset.c:469 builtin/rev-list.c:537 builtin/show-branch.c:711
-#: builtin/stash.c:1696 builtin/stash.c:1699 builtin/submodule--helper.c:1328
-#: builtin/submodule--helper.c:3054 builtin/tag.c:527 builtin/tag.c:573
-#: builtin/worktree.c:779
-#, c-format
-msgid "options '%s' and '%s' cannot be used together"
-msgstr ""
-
-#: apply.c:141 apply.c:152 apply.c:155
-#, c-format
-msgid "'%s' outside a repository"
-msgstr ""
-
-#: apply.c:807
-#, c-format
-msgid "Cannot prepare timestamp regexp %s"
-msgstr ""
-
-#: apply.c:816
-#, c-format
-msgid "regexec returned %d for input: %s"
-msgstr ""
-
-#: apply.c:890
-#, c-format
-msgid "unable to find filename in patch at line %d"
-msgstr ""
-
-#: apply.c:928
-#, c-format
-msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
-msgstr ""
-
-#: apply.c:934
-#, c-format
-msgid "git apply: bad git-diff - inconsistent new filename on line %d"
-msgstr ""
-
-#: apply.c:935
-#, c-format
-msgid "git apply: bad git-diff - inconsistent old filename on line %d"
-msgstr ""
-
-#: apply.c:940
-#, c-format
-msgid "git apply: bad git-diff - expected /dev/null on line %d"
-msgstr ""
-
-#: apply.c:969
-#, c-format
-msgid "invalid mode on line %d: %s"
-msgstr ""
-
-#: apply.c:1288
-#, c-format
-msgid "inconsistent header lines %d and %d"
-msgstr ""
-
-#: apply.c:1378
-#, c-format
-msgid ""
-"git diff header lacks filename information when removing %d leading pathname "
-"component (line %d)"
-msgid_plural ""
-"git diff header lacks filename information when removing %d leading pathname "
-"components (line %d)"
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:1391
-#, c-format
-msgid "git diff header lacks filename information (line %d)"
-msgstr ""
-
-#: apply.c:1487
-#, c-format
-msgid "recount: unexpected line: %.*s"
-msgstr ""
-
-#: apply.c:1556
-#, c-format
-msgid "patch fragment without header at line %d: %.*s"
-msgstr ""
-
-#: apply.c:1759
-msgid "new file depends on old contents"
-msgstr ""
-
-#: apply.c:1761
-msgid "deleted file still has contents"
-msgstr ""
-
-#: apply.c:1795
-#, c-format
-msgid "corrupt patch at line %d"
-msgstr ""
-
-#: apply.c:1832
-#, c-format
-msgid "new file %s depends on old contents"
-msgstr ""
-
-#: apply.c:1834
-#, c-format
-msgid "deleted file %s still has contents"
-msgstr ""
-
-#: apply.c:1837
-#, c-format
-msgid "** warning: file %s becomes empty but is not deleted"
-msgstr ""
-
-#: apply.c:1985
-#, c-format
-msgid "corrupt binary patch at line %d: %.*s"
-msgstr ""
-
-#: apply.c:2022
-#, c-format
-msgid "unrecognized binary patch at line %d"
-msgstr ""
-
-#: apply.c:2184
-#, c-format
-msgid "patch with only garbage at line %d"
-msgstr ""
-
-#: apply.c:2270
-#, c-format
-msgid "unable to read symlink %s"
-msgstr ""
-
-#: apply.c:2274
-#, c-format
-msgid "unable to open or read %s"
-msgstr ""
-
-#: apply.c:2943
-#, c-format
-msgid "invalid start of line: '%c'"
-msgstr ""
-
-#: apply.c:3064
-#, c-format
-msgid "Hunk #%d succeeded at %d (offset %d line)."
-msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:3076
-#, c-format
-msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
-msgstr ""
-
-#: apply.c:3082
-#, c-format
-msgid ""
-"while searching for:\n"
-"%.*s"
-msgstr ""
-
-#: apply.c:3104
-#, c-format
-msgid "missing binary patch data for '%s'"
-msgstr ""
-
-#: apply.c:3112
-#, c-format
-msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
-msgstr ""
-
-#: apply.c:3159
-#, c-format
-msgid "cannot apply binary patch to '%s' without full index line"
-msgstr ""
-
-#: apply.c:3170
-#, c-format
-msgid ""
-"the patch applies to '%s' (%s), which does not match the current contents."
-msgstr ""
-
-#: apply.c:3178
-#, c-format
-msgid "the patch applies to an empty '%s' but it is not empty"
-msgstr ""
-
-#: apply.c:3196
-#, c-format
-msgid "the necessary postimage %s for '%s' cannot be read"
-msgstr ""
-
-#: apply.c:3209
-#, c-format
-msgid "binary patch does not apply to '%s'"
-msgstr ""
-
-#: apply.c:3216
-#, c-format
-msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
-msgstr ""
-
-#: apply.c:3237
-#, c-format
-msgid "patch failed: %s:%ld"
-msgstr ""
-
-#: apply.c:3360
-#, c-format
-msgid "cannot checkout %s"
-msgstr ""
-
-#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:105 pack-revindex.c:214
-#: setup.c:310
-#, c-format
-msgid "failed to read %s"
-msgstr ""
-
-#: apply.c:3420
-#, c-format
-msgid "reading from '%s' beyond a symbolic link"
-msgstr ""
-
-#: apply.c:3449 apply.c:3721
-#, c-format
-msgid "path %s has been renamed/deleted"
-msgstr ""
-
-#: apply.c:3559 apply.c:3736
-#, c-format
-msgid "%s: does not exist in index"
-msgstr ""
-
-#: apply.c:3568 apply.c:3744 apply.c:3960
-#, c-format
-msgid "%s: does not match index"
-msgstr ""
-
-#: apply.c:3605
-msgid "repository lacks the necessary blob to perform 3-way merge."
-msgstr ""
-
-#: apply.c:3608
-#, c-format
-msgid "Performing three-way merge...\n"
-msgstr ""
-
-#: apply.c:3624 apply.c:3628
-#, c-format
-msgid "cannot read the current contents of '%s'"
-msgstr ""
-
-#: apply.c:3640
-#, c-format
-msgid "Failed to perform three-way merge...\n"
-msgstr ""
-
-#: apply.c:3654
-#, c-format
-msgid "Applied patch to '%s' with conflicts.\n"
-msgstr ""
-
-#: apply.c:3659
-#, c-format
-msgid "Applied patch to '%s' cleanly.\n"
-msgstr ""
-
-#: apply.c:3676
-#, c-format
-msgid "Falling back to direct application...\n"
-msgstr ""
-
-#: apply.c:3688
-msgid "removal patch leaves file contents"
-msgstr ""
-
-#: apply.c:3761
-#, c-format
-msgid "%s: wrong type"
-msgstr ""
-
-#: apply.c:3763
-#, c-format
-msgid "%s has type %o, expected %o"
-msgstr ""
-
-#: apply.c:3900 apply.c:3902 read-cache.c:903 read-cache.c:932
-#: read-cache.c:1399
-#, c-format
-msgid "invalid path '%s'"
-msgstr ""
-
-#: apply.c:3958
-#, c-format
-msgid "%s: already exists in index"
-msgstr ""
-
-#: apply.c:3962
-#, c-format
-msgid "%s: already exists in working directory"
-msgstr ""
-
-#: apply.c:3982
-#, c-format
-msgid "new mode (%o) of %s does not match old mode (%o)"
-msgstr ""
-
-#: apply.c:3987
-#, c-format
-msgid "new mode (%o) of %s does not match old mode (%o) of %s"
-msgstr ""
-
-#: apply.c:4007
-#, c-format
-msgid "affected file '%s' is beyond a symbolic link"
-msgstr ""
-
-#: apply.c:4011
-#, c-format
-msgid "%s: patch does not apply"
-msgstr ""
-
-#: apply.c:4026
-#, c-format
-msgid "Checking patch %s..."
-msgstr ""
-
-#: apply.c:4118
-#, c-format
-msgid "sha1 information is lacking or useless for submodule %s"
-msgstr ""
-
-#: apply.c:4125
-#, c-format
-msgid "mode change for %s, which is not in current HEAD"
-msgstr ""
-
-#: apply.c:4128
-#, c-format
-msgid "sha1 information is lacking or useless (%s)."
-msgstr ""
-
-#: apply.c:4137
-#, c-format
-msgid "could not add %s to temporary index"
-msgstr ""
-
-#: apply.c:4147
-#, c-format
-msgid "could not write temporary index to %s"
-msgstr ""
-
-#: apply.c:4285
-#, c-format
-msgid "unable to remove %s from index"
-msgstr ""
-
-#: apply.c:4319
-#, c-format
-msgid "corrupt patch for submodule %s"
-msgstr ""
-
-#: apply.c:4325
-#, c-format
-msgid "unable to stat newly created file '%s'"
-msgstr ""
-
-#: apply.c:4333
-#, c-format
-msgid "unable to create backing store for newly created file %s"
-msgstr ""
-
-#: apply.c:4339 apply.c:4484
-#, c-format
-msgid "unable to add cache entry for %s"
-msgstr ""
-
-#: apply.c:4382 builtin/bisect--helper.c:540 builtin/gc.c:2258
-#: builtin/gc.c:2293
-#, c-format
-msgid "failed to write to '%s'"
-msgstr ""
-
-#: apply.c:4386
-#, c-format
-msgid "closing file '%s'"
-msgstr ""
-
-#: apply.c:4456
-#, c-format
-msgid "unable to write file '%s' mode %o"
-msgstr ""
-
-#: apply.c:4554
-#, c-format
-msgid "Applied patch %s cleanly."
-msgstr ""
-
-#: apply.c:4562
-msgid "internal error"
-msgstr ""
-
-#: apply.c:4565
-#, c-format
-msgid "Applying patch %%s with %d reject..."
-msgid_plural "Applying patch %%s with %d rejects..."
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:4576
-#, c-format
-msgid "truncating .rej filename to %.*s.rej"
-msgstr ""
-
-#: apply.c:4584
-#, c-format
-msgid "cannot open %s"
-msgstr ""
-
-#: apply.c:4598
-#, c-format
-msgid "Hunk #%d applied cleanly."
-msgstr ""
-
-#: apply.c:4602
-#, c-format
-msgid "Rejected hunk #%d."
-msgstr ""
-
-#: apply.c:4731
-#, c-format
-msgid "Skipped patch '%s'."
-msgstr ""
-
-#: apply.c:4740
-msgid "No valid patches in input (allow with \"--allow-empty\")"
-msgstr ""
-
-#: apply.c:4761
-msgid "unable to read index file"
-msgstr ""
-
-#: apply.c:4918
-#, c-format
-msgid "can't open patch '%s': %s"
-msgstr ""
-
-#: apply.c:4945
-#, c-format
-msgid "squelched %d whitespace error"
-msgid_plural "squelched %d whitespace errors"
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:4951 apply.c:4966
-#, c-format
-msgid "%d line adds whitespace errors."
-msgid_plural "%d lines add whitespace errors."
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:4959
-#, c-format
-msgid "%d line applied after fixing whitespace errors."
-msgid_plural "%d lines applied after fixing whitespace errors."
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:4975 builtin/add.c:690 builtin/mv.c:338 builtin/rm.c:430
-msgid "Unable to write new index file"
-msgstr ""
-
-#: apply.c:5003
-msgid "don't apply changes matching the given path"
-msgstr ""
-
-#: apply.c:5006
-msgid "apply changes matching the given path"
-msgstr ""
-
-#: apply.c:5008 builtin/am.c:2379
-msgid "num"
-msgstr ""
-
-#: apply.c:5009
-msgid "remove <num> leading slashes from traditional diff paths"
-msgstr ""
-
-#: apply.c:5012
-msgid "ignore additions made by the patch"
-msgstr ""
-
-#: apply.c:5014
-msgid "instead of applying the patch, output diffstat for the input"
-msgstr ""
-
-#: apply.c:5018
-msgid "show number of added and deleted lines in decimal notation"
-msgstr ""
-
-#: apply.c:5020
-msgid "instead of applying the patch, output a summary for the input"
-msgstr ""
-
-#: apply.c:5022
-msgid "instead of applying the patch, see if the patch is applicable"
-msgstr ""
-
-#: apply.c:5024
-msgid "make sure the patch is applicable to the current index"
-msgstr ""
-
-#: apply.c:5026
-msgid "mark new files with `git add --intent-to-add`"
-msgstr ""
-
-#: apply.c:5028
-msgid "apply a patch without touching the working tree"
-msgstr ""
-
-#: apply.c:5030
-msgid "accept a patch that touches outside the working area"
-msgstr ""
-
-#: apply.c:5033
-msgid "also apply the patch (use with --stat/--summary/--check)"
-msgstr ""
-
-#: apply.c:5035
-msgid "attempt three-way merge, fall back on normal patch if that fails"
-msgstr ""
-
-#: apply.c:5037
-msgid "build a temporary index based on embedded index information"
-msgstr ""
-
-#: apply.c:5040 builtin/checkout-index.c:230
-msgid "paths are separated with NUL character"
-msgstr ""
-
-#: apply.c:5042
-msgid "ensure at least <n> lines of context match"
-msgstr ""
-
-#: apply.c:5043 builtin/am.c:2355 builtin/am.c:2358
-#: builtin/interpret-trailers.c:98 builtin/interpret-trailers.c:100
-#: builtin/interpret-trailers.c:102 builtin/pack-objects.c:3983
-#: builtin/rebase.c:1079
-msgid "action"
-msgstr ""
-
-#: apply.c:5044
-msgid "detect new or modified lines that have whitespace errors"
-msgstr ""
-
-#: apply.c:5047 apply.c:5050
-msgid "ignore changes in whitespace when finding context"
-msgstr ""
-
-#: apply.c:5053
-msgid "apply the patch in reverse"
-msgstr ""
-
-#: apply.c:5055
-msgid "don't expect at least one line of context"
-msgstr ""
-
-#: apply.c:5057
-msgid "leave the rejected hunks in corresponding *.rej files"
-msgstr ""
-
-#: apply.c:5059
-msgid "allow overlapping hunks"
-msgstr ""
-
-#: apply.c:5062
-msgid "tolerate incorrectly detected missing new-line at the end of file"
-msgstr ""
-
-#: apply.c:5065
-msgid "do not trust the line counts in the hunk headers"
-msgstr ""
-
-#: apply.c:5067 builtin/am.c:2367
-msgid "root"
-msgstr ""
-
-#: apply.c:5068
-msgid "prepend <root> to all filenames"
-msgstr ""
-
-#: apply.c:5071
-msgid "don't return error for empty patches"
-msgstr ""
-
-#: archive-tar.c:125 archive-zip.c:346
-#, c-format
-msgid "cannot stream blob %s"
-msgstr ""
-
-#: archive-tar.c:265 archive-zip.c:359
-#, c-format
-msgid "unsupported file mode: 0%o (SHA1: %s)"
-msgstr ""
-
-#: archive-tar.c:447
-#, c-format
-msgid "unable to start '%s' filter"
-msgstr ""
-
-#: archive-tar.c:450
-msgid "unable to redirect descriptor"
-msgstr ""
-
-#: archive-tar.c:457
-#, c-format
-msgid "'%s' filter reported error"
-msgstr ""
-
-#: archive-zip.c:319
-#, c-format
-msgid "path is not valid UTF-8: %s"
-msgstr ""
-
-#: archive-zip.c:323
-#, c-format
-msgid "path too long (%d chars, SHA1: %s): %s"
-msgstr ""
-
-#: archive-zip.c:470 builtin/pack-objects.c:363 builtin/pack-objects.c:366
-#, c-format
-msgid "deflate error (%d)"
-msgstr ""
-
-#: archive-zip.c:604
-#, c-format
-msgid "timestamp too large for this system: %<PRIuMAX>"
-msgstr ""
-
-#: archive.c:14
-msgid "git archive [<options>] <tree-ish> [<path>...]"
-msgstr ""
-
-#: archive.c:16
-msgid ""
-"git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"
-msgstr ""
-
-#: archive.c:17
-msgid "git archive --remote <repo> [--exec <cmd>] --list"
-msgstr ""
-
-#: archive.c:188 archive.c:341 builtin/gc.c:497 builtin/notes.c:238
-#: builtin/tag.c:579
-#, c-format
-msgid "cannot read '%s'"
-msgstr ""
-
-#: archive.c:426 builtin/add.c:214 builtin/add.c:657 builtin/rm.c:334
-#, c-format
-msgid "pathspec '%s' did not match any files"
-msgstr ""
-
-#: archive.c:450
-#, c-format
-msgid "no such ref: %.*s"
-msgstr ""
-
-#: archive.c:456
-#, c-format
-msgid "not a valid object name: %s"
-msgstr ""
-
-#: archive.c:469
-#, c-format
-msgid "not a tree object: %s"
-msgstr ""
-
-#: archive.c:481
-msgid "current working directory is untracked"
-msgstr ""
-
-#: archive.c:522
-#, c-format
-msgid "File not found: %s"
-msgstr ""
-
-#: archive.c:524
-#, c-format
-msgid "Not a regular file: %s"
-msgstr ""
-
-#: archive.c:551
-msgid "fmt"
-msgstr ""
-
-#: archive.c:551
-msgid "archive format"
-msgstr ""
-
-#: archive.c:552 builtin/log.c:1809
-msgid "prefix"
-msgstr ""
-
-#: archive.c:553
-msgid "prepend prefix to each pathname in the archive"
-msgstr ""
-
-#: archive.c:554 archive.c:557 builtin/blame.c:881 builtin/blame.c:885
-#: builtin/blame.c:886 builtin/commit-tree.c:115 builtin/config.c:135
-#: builtin/fast-export.c:1181 builtin/fast-export.c:1183
-#: builtin/fast-export.c:1187 builtin/grep.c:936 builtin/hash-object.c:104
-#: builtin/ls-files.c:654 builtin/ls-files.c:657 builtin/notes.c:410
-#: builtin/notes.c:576 builtin/read-tree.c:115 parse-options.h:195
-msgid "file"
-msgstr ""
-
-#: archive.c:555
-msgid "add untracked file to archive"
-msgstr ""
-
-#: archive.c:558 builtin/archive.c:88
-msgid "write the archive to this file"
-msgstr ""
-
-#: archive.c:560
-msgid "read .gitattributes in working directory"
-msgstr ""
-
-#: archive.c:561
-msgid "report archived files on stderr"
-msgstr ""
-
-#: archive.c:563
-msgid "set compression level"
-msgstr ""
-
-#: archive.c:566
-msgid "list supported archive formats"
-msgstr ""
-
-#: archive.c:568 builtin/archive.c:89 builtin/clone.c:122 builtin/clone.c:125
-#: builtin/submodule--helper.c:1884 builtin/submodule--helper.c:2718
-msgid "repo"
-msgstr ""
-
-#: archive.c:569 builtin/archive.c:90
-msgid "retrieve the archive from remote repository <repo>"
-msgstr ""
-
-#: archive.c:570 builtin/archive.c:91 builtin/difftool.c:708
-#: builtin/notes.c:496
-msgid "command"
-msgstr ""
-
-#: archive.c:571 builtin/archive.c:92
-msgid "path to the remote git-upload-archive command"
-msgstr ""
-
-#: archive.c:578
-msgid "Unexpected option --remote"
-msgstr ""
-
-#: archive.c:580 fetch-pack.c:300 revision.c:2914 builtin/add.c:530
-#: builtin/add.c:562 builtin/checkout.c:1782 builtin/clone.c:1099
-#: builtin/clone.c:1102 builtin/commit.c:371 builtin/fast-export.c:1230
-#: builtin/index-pack.c:1854 builtin/log.c:2140 builtin/reset.c:442
-#: builtin/reset.c:500 builtin/rm.c:281 builtin/stash.c:1708
-#: builtin/worktree.c:580 builtin/worktree.c:781 http-fetch.c:144
-#: http-fetch.c:153
-#, c-format
-msgid "the option '%s' requires '%s'"
-msgstr ""
-
-#: archive.c:582
-msgid "Unexpected option --output"
-msgstr ""
-
-#: archive.c:606
-#, c-format
-msgid "Unknown archive format '%s'"
-msgstr ""
-
-#: archive.c:615
-#, c-format
-msgid "Argument not supported for format '%s': -%d"
-msgstr ""
-
-#: attr.c:202
-#, c-format
-msgid "%.*s is not a valid attribute name"
-msgstr ""
-
-#: attr.c:363
-#, c-format
-msgid "%s not allowed: %s:%d"
-msgstr ""
-
-#: attr.c:403
-msgid ""
-"Negative patterns are ignored in git attributes\n"
-"Use '\\!' for literal leading exclamation."
-msgstr ""
-
-#: bisect.c:488
-#, c-format
-msgid "Badly quoted content in file '%s': %s"
-msgstr ""
-
-#: bisect.c:698
-#, c-format
-msgid "We cannot bisect more!\n"
-msgstr ""
-
-#: bisect.c:765
-#, c-format
-msgid "Not a valid commit name %s"
-msgstr ""
-
-#: bisect.c:790
-#, c-format
-msgid ""
-"The merge base %s is bad.\n"
-"This means the bug has been fixed between %s and [%s].\n"
-msgstr ""
-
-#: bisect.c:795
-#, c-format
-msgid ""
-"The merge base %s is new.\n"
-"The property has changed between %s and [%s].\n"
-msgstr ""
-
-#: bisect.c:800
-#, c-format
-msgid ""
-"The merge base %s is %s.\n"
-"This means the first '%s' commit is between %s and [%s].\n"
-msgstr ""
-
-#: bisect.c:808
-#, c-format
-msgid ""
-"Some %s revs are not ancestors of the %s rev.\n"
-"git bisect cannot work properly in this case.\n"
-"Maybe you mistook %s and %s revs?\n"
-msgstr ""
-
-#: bisect.c:821
-#, c-format
-msgid ""
-"the merge base between %s and [%s] must be skipped.\n"
-"So we cannot be sure the first %s commit is between %s and %s.\n"
-"We continue anyway."
-msgstr ""
-
-#: bisect.c:860
-#, c-format
-msgid "Bisecting: a merge base must be tested\n"
-msgstr ""
-
-#: bisect.c:910
-#, c-format
-msgid "a %s revision is needed"
-msgstr ""
-
-#: bisect.c:940
-#, c-format
-msgid "could not create file '%s'"
-msgstr ""
-
-#: bisect.c:986 builtin/merge.c:155
-#, c-format
-msgid "could not read file '%s'"
-msgstr ""
-
-#: bisect.c:1026
-msgid "reading bisect refs failed"
-msgstr ""
-
-#: bisect.c:1056
-#, c-format
-msgid "%s was both %s and %s\n"
-msgstr ""
-
-#: bisect.c:1065
-#, c-format
-msgid ""
-"No testable commit found.\n"
-"Maybe you started with bad path arguments?\n"
-msgstr ""
-
-#: bisect.c:1094
-#, c-format
-msgid "(roughly %d step)"
-msgid_plural "(roughly %d steps)"
-msgstr[0] ""
-msgstr[1] ""
-
-#. TRANSLATORS: the last %s will be replaced with "(roughly %d
-#. steps)" translation.
-#.
-#: bisect.c:1100
-#, c-format
-msgid "Bisecting: %d revision left to test after this %s\n"
-msgid_plural "Bisecting: %d revisions left to test after this %s\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: blame.c:2773
-msgid "--contents and --reverse do not blend well."
-msgstr ""
-
-#: blame.c:2787
-msgid "cannot use --contents with final commit object name"
-msgstr ""
-
-#: blame.c:2808
-msgid "--reverse and --first-parent together require specified latest commit"
-msgstr ""
-
-#: blame.c:2817 bundle.c:231 midx.c:1058 ref-filter.c:2371 remote.c:2157
-#: sequencer.c:2348 sequencer.c:4872 submodule.c:913 builtin/commit.c:1118
-#: builtin/log.c:437 builtin/log.c:1055 builtin/log.c:1663 builtin/log.c:2096
-#: builtin/log.c:2387 builtin/merge.c:431 builtin/pack-objects.c:3381
-#: builtin/pack-objects.c:3781 builtin/pack-objects.c:3796
-#: builtin/shortlog.c:255
-msgid "revision walk setup failed"
-msgstr ""
-
-#: blame.c:2835
-msgid ""
-"--reverse --first-parent together require range along first-parent chain"
-msgstr ""
-
-#: blame.c:2846
-#, c-format
-msgid "no such path %s in %s"
-msgstr ""
-
-#: blame.c:2857
-#, c-format
-msgid "cannot read blob %s for path %s"
-msgstr ""
-
-#: branch.c:93
-msgid ""
-"cannot inherit upstream tracking configuration of multiple refs when "
-"rebasing is requested"
-msgstr ""
-
-#: branch.c:104
-#, c-format
-msgid "not setting branch '%s' as its own upstream"
-msgstr ""
-
-#: branch.c:160
-#, c-format
-msgid "branch '%s' set up to track '%s' by rebasing."
-msgstr ""
-
-#: branch.c:161
-#, c-format
-msgid "branch '%s' set up to track '%s'."
-msgstr ""
-
-#: branch.c:164
-#, c-format
-msgid "branch '%s' set up to track:"
-msgstr ""
-
-#: branch.c:176
-msgid "unable to write upstream branch configuration"
-msgstr ""
-
-#: branch.c:178
-msgid ""
-"\n"
-"After fixing the error cause you may try to fix up\n"
-"the remote tracking information by invoking:"
-msgstr ""
-
-#: branch.c:219
-#, c-format
-msgid "asked to inherit tracking from '%s', but no remote is set"
-msgstr ""
-
-#: branch.c:225
-#, c-format
-msgid "asked to inherit tracking from '%s', but no merge configuration is set"
-msgstr ""
-
-#: branch.c:277
-#, c-format
-msgid "not tracking: ambiguous information for ref '%s'"
-msgstr ""
-
-#. TRANSLATORS: This is a line listing a remote with duplicate
-#. refspecs in the advice message below. For RTL languages you'll
-#. probably want to swap the "%s" and leading "  " space around.
-#.
-#. TRANSLATORS: This is line item of ambiguous object output
-#. from describe_ambiguous_object() above. For RTL languages
-#. you'll probably want to swap the "%s" and leading " " space
-#. around.
-#.
-#: branch.c:289 object-name.c:464
-#, c-format
-msgid "  %s\n"
-msgstr ""
-
-#. TRANSLATORS: The second argument is a \n-delimited list of
-#. duplicate refspecs, composed above.
-#.
-#: branch.c:295
-#, c-format
-msgid ""
-"There are multiple remotes whose fetch refspecs map to the remote\n"
-"tracking ref '%s':\n"
-"%s\n"
-"This is typically a configuration error.\n"
-"\n"
-"To support setting up tracking branches, ensure that\n"
-"different remotes' fetch refspecs map into different\n"
-"tracking namespaces."
-msgstr ""
-
-#: branch.c:344
-#, c-format
-msgid "'%s' is not a valid branch name"
-msgstr ""
-
-#: branch.c:364
-#, c-format
-msgid "a branch named '%s' already exists"
-msgstr ""
-
-#: branch.c:370
-#, c-format
-msgid "cannot force update the branch '%s' checked out at '%s'"
-msgstr ""
-
-#: branch.c:393
-#, c-format
-msgid "cannot set up tracking information; starting point '%s' is not a branch"
-msgstr ""
-
-#: branch.c:395
-#, c-format
-msgid "the requested upstream branch '%s' does not exist"
-msgstr ""
-
-#: branch.c:397
-msgid ""
-"\n"
-"If you are planning on basing your work on an upstream\n"
-"branch that already exists at the remote, you may need to\n"
-"run \"git fetch\" to retrieve it.\n"
-"\n"
-"If you are planning to push out a new local branch that\n"
-"will track its remote counterpart, you may want to use\n"
-"\"git push -u\" to set the upstream config as you push."
-msgstr ""
-
-#: branch.c:445 builtin/replace.c:321 builtin/replace.c:377
-#: builtin/replace.c:423 builtin/replace.c:453
-#, c-format
-msgid "not a valid object name: '%s'"
-msgstr ""
-
-#: branch.c:465
-#, c-format
-msgid "ambiguous object name: '%s'"
-msgstr ""
-
-#: branch.c:470
-#, c-format
-msgid "not a valid branch point: '%s'"
-msgstr ""
-
-#: branch.c:658
-#, c-format
-msgid "submodule '%s': unable to find submodule"
-msgstr ""
-
-#: branch.c:661
-#, c-format
-msgid ""
-"You may try updating the submodules using 'git checkout %s && git submodule "
-"update --init'"
-msgstr ""
-
-#: branch.c:672 branch.c:698
-#, c-format
-msgid "submodule '%s': cannot create branch '%s'"
-msgstr ""
-
-#: branch.c:730
-#, c-format
-msgid "'%s' is already checked out at '%s'"
-msgstr ""
-
-#: branch.c:755
-#, c-format
-msgid "HEAD of working tree %s is not updated"
-msgstr ""
-
-#: bundle.c:45
-#, c-format
-msgid "unrecognized bundle hash algorithm: %s"
-msgstr ""
-
-#: bundle.c:53
-#, c-format
-msgid "unknown capability '%s'"
-msgstr ""
-
-#: bundle.c:79
-#, c-format
-msgid "'%s' does not look like a v2 or v3 bundle file"
-msgstr ""
-
-#: bundle.c:118
-#, c-format
-msgid "unrecognized header: %s%s (%d)"
-msgstr ""
-
-#: bundle.c:145 rerere.c:464 rerere.c:675 sequencer.c:2616 sequencer.c:3402
-#: builtin/commit.c:865
-#, c-format
-msgid "could not open '%s'"
-msgstr ""
-
-#: bundle.c:203
-msgid "Repository lacks these prerequisite commits:"
-msgstr ""
-
-#: bundle.c:206
-msgid "need a repository to verify a bundle"
-msgstr ""
-
-#: bundle.c:264
-#, c-format
-msgid "The bundle contains this ref:"
-msgid_plural "The bundle contains these %<PRIuMAX> refs:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: bundle.c:272
-msgid "The bundle records a complete history."
-msgstr ""
-
-#: bundle.c:274
-#, c-format
-msgid "The bundle requires this ref:"
-msgid_plural "The bundle requires these %<PRIuMAX> refs:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: bundle.c:350
-msgid "unable to dup bundle descriptor"
-msgstr ""
-
-#: bundle.c:357
-msgid "Could not spawn pack-objects"
-msgstr ""
-
-#: bundle.c:368
-msgid "pack-objects died"
-msgstr ""
-
-#: bundle.c:417
-#, c-format
-msgid "ref '%s' is excluded by the rev-list options"
-msgstr ""
-
-#: bundle.c:533 builtin/log.c:211 builtin/log.c:1975 builtin/shortlog.c:400
-#, c-format
-msgid "unrecognized argument: %s"
-msgstr ""
-
-#: bundle.c:548
-#, c-format
-msgid "unsupported bundle version %d"
-msgstr ""
-
-#: bundle.c:550
-#, c-format
-msgid "cannot write bundle version %d with algorithm %s"
-msgstr ""
-
-#: bundle.c:600
-msgid "Refusing to create empty bundle."
-msgstr ""
-
-#: bundle.c:610
-#, c-format
-msgid "cannot create '%s'"
-msgstr ""
-
-#: bundle.c:639
-msgid "index-pack died"
-msgstr ""
-
-#: chunk-format.c:117
-msgid "terminating chunk id appears earlier than expected"
-msgstr ""
-
-#: chunk-format.c:126
-#, c-format
-msgid "improper chunk offset(s) %<PRIx64> and %<PRIx64>"
-msgstr ""
-
-#: chunk-format.c:133
-#, c-format
-msgid "duplicate chunk ID %<PRIx32> found"
-msgstr ""
-
-#: chunk-format.c:147
-#, c-format
-msgid "final chunk has non-zero id %<PRIx32>"
-msgstr ""
-
-#: color.c:354
-#, c-format
-msgid "invalid color value: %.*s"
-msgstr ""
-
-#: commit-graph.c:204 midx.c:52
-msgid "invalid hash version"
-msgstr ""
-
-#: commit-graph.c:262
-msgid "commit-graph file is too small"
-msgstr ""
-
-#: commit-graph.c:355
-#, c-format
-msgid "commit-graph signature %X does not match signature %X"
-msgstr ""
-
-#: commit-graph.c:362
-#, c-format
-msgid "commit-graph version %X does not match version %X"
-msgstr ""
-
-#: commit-graph.c:369
-#, c-format
-msgid "commit-graph hash version %X does not match version %X"
-msgstr ""
-
-#: commit-graph.c:386
-#, c-format
-msgid "commit-graph file is too small to hold %u chunks"
-msgstr ""
-
-#: commit-graph.c:485
-msgid "commit-graph has no base graphs chunk"
-msgstr ""
-
-#: commit-graph.c:495
-msgid "commit-graph chain does not match"
-msgstr ""
-
-#: commit-graph.c:543
-#, c-format
-msgid "invalid commit-graph chain: line '%s' not a hash"
-msgstr ""
-
-#: commit-graph.c:567
-msgid "unable to find all commit-graph files"
-msgstr ""
-
-#: commit-graph.c:752 commit-graph.c:789
-msgid "invalid commit position. commit-graph is likely corrupt"
-msgstr ""
-
-#: commit-graph.c:773
-#, c-format
-msgid "could not find commit %s"
-msgstr ""
-
-#: commit-graph.c:806
-msgid "commit-graph requires overflow generation data but has none"
-msgstr ""
-
-#: commit-graph.c:1111 builtin/am.c:1370 builtin/checkout.c:775
-#: builtin/clone.c:705
-#, c-format
-msgid "unable to parse commit %s"
-msgstr ""
-
-#: commit-graph.c:1373 builtin/pack-objects.c:3078
-#, c-format
-msgid "unable to get type of object %s"
-msgstr ""
-
-#: commit-graph.c:1404
-msgid "Loading known commits in commit graph"
-msgstr ""
-
-#: commit-graph.c:1421
-msgid "Expanding reachable commits in commit graph"
-msgstr ""
-
-#: commit-graph.c:1441
-msgid "Clearing commit marks in commit graph"
-msgstr ""
-
-#: commit-graph.c:1460
-msgid "Computing commit graph topological levels"
-msgstr ""
-
-#: commit-graph.c:1513
-msgid "Computing commit graph generation numbers"
-msgstr ""
-
-#: commit-graph.c:1598
-msgid "Computing commit changed paths Bloom filters"
-msgstr ""
-
-#: commit-graph.c:1675
-msgid "Collecting referenced commits"
-msgstr ""
-
-#: commit-graph.c:1701
-#, c-format
-msgid "Finding commits for commit graph in %<PRIuMAX> pack"
-msgid_plural "Finding commits for commit graph in %<PRIuMAX> packs"
-msgstr[0] ""
-msgstr[1] ""
-
-#: commit-graph.c:1714
-#, c-format
-msgid "error adding pack %s"
-msgstr ""
-
-#: commit-graph.c:1718
-#, c-format
-msgid "error opening index for %s"
-msgstr ""
-
-#: commit-graph.c:1756
-msgid "Finding commits for commit graph among packed objects"
-msgstr ""
-
-#: commit-graph.c:1774
-msgid "Finding extra edges in commit graph"
-msgstr ""
-
-#: commit-graph.c:1823
-msgid "failed to write correct number of base graph ids"
-msgstr ""
-
-#: commit-graph.c:1854 midx.c:1168 builtin/sparse-checkout.c:475
-#, c-format
-msgid "unable to create leading directories of %s"
-msgstr ""
-
-#: commit-graph.c:1868
-msgid "unable to create temporary graph layer"
-msgstr ""
-
-#: commit-graph.c:1873
-#, c-format
-msgid "unable to adjust shared permissions for '%s'"
-msgstr ""
-
-#: commit-graph.c:1930
-#, c-format
-msgid "Writing out commit graph in %d pass"
-msgid_plural "Writing out commit graph in %d passes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: commit-graph.c:1967
-msgid "unable to open commit-graph chain file"
-msgstr ""
-
-#: commit-graph.c:1983
-msgid "failed to rename base commit-graph file"
-msgstr ""
-
-#: commit-graph.c:2004
-msgid "failed to rename temporary commit-graph file"
-msgstr ""
-
-#: commit-graph.c:2137
-msgid "Scanning merged commits"
-msgstr ""
-
-#: commit-graph.c:2181
-msgid "Merging commit-graph"
-msgstr ""
-
-#: commit-graph.c:2289
-msgid "attempting to write a commit-graph, but 'core.commitGraph' is disabled"
-msgstr ""
-
-#: commit-graph.c:2396
-msgid "too many commits to write graph"
-msgstr ""
-
-#: commit-graph.c:2494
-msgid "the commit-graph file has incorrect checksum and is likely corrupt"
-msgstr ""
-
-#: commit-graph.c:2504
-#, c-format
-msgid "commit-graph has incorrect OID order: %s then %s"
-msgstr ""
-
-#: commit-graph.c:2514 commit-graph.c:2529
-#, c-format
-msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
-msgstr ""
-
-#: commit-graph.c:2521
-#, c-format
-msgid "failed to parse commit %s from commit-graph"
-msgstr ""
-
-#: commit-graph.c:2539
-msgid "Verifying commits in commit graph"
-msgstr ""
-
-#: commit-graph.c:2554
-#, c-format
-msgid "failed to parse commit %s from object database for commit-graph"
-msgstr ""
-
-#: commit-graph.c:2561
-#, c-format
-msgid "root tree OID for commit %s in commit-graph is %s != %s"
-msgstr ""
-
-#: commit-graph.c:2571
-#, c-format
-msgid "commit-graph parent list for commit %s is too long"
-msgstr ""
-
-#: commit-graph.c:2580
-#, c-format
-msgid "commit-graph parent for %s is %s != %s"
-msgstr ""
-
-#: commit-graph.c:2594
-#, c-format
-msgid "commit-graph parent list for commit %s terminates early"
-msgstr ""
-
-#: commit-graph.c:2599
-#, c-format
-msgid ""
-"commit-graph has generation number zero for commit %s, but non-zero elsewhere"
-msgstr ""
-
-#: commit-graph.c:2603
-#, c-format
-msgid ""
-"commit-graph has non-zero generation number for commit %s, but zero elsewhere"
-msgstr ""
-
-#: commit-graph.c:2620
-#, c-format
-msgid "commit-graph generation for commit %s is %<PRIuMAX> < %<PRIuMAX>"
-msgstr ""
-
-#: commit-graph.c:2626
-#, c-format
-msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
-msgstr ""
-
-#: commit.c:54 sequencer.c:3105 builtin/am.c:400 builtin/am.c:445
-#: builtin/am.c:450 builtin/am.c:1449 builtin/am.c:2124 builtin/replace.c:456
-#, c-format
-msgid "could not parse %s"
-msgstr ""
-
-#: commit.c:56
-#, c-format
-msgid "%s %s is not a commit!"
-msgstr ""
-
-#: commit.c:197
-msgid ""
-"Support for <GIT_DIR>/info/grafts is deprecated\n"
-"and will be removed in a future Git version.\n"
-"\n"
-"Please use \"git replace --convert-graft-file\"\n"
-"to convert the grafts into replace refs.\n"
-"\n"
-"Turn this message off by running\n"
-"\"git config advice.graftFileDeprecated false\""
-msgstr ""
-
-#: commit.c:1252
-#, c-format
-msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
-msgstr ""
-
-#: commit.c:1256
-#, c-format
-msgid "Commit %s has a bad GPG signature allegedly by %s."
-msgstr ""
-
-#: commit.c:1259
-#, c-format
-msgid "Commit %s does not have a GPG signature."
-msgstr ""
-
-#: commit.c:1262
-#, c-format
-msgid "Commit %s has a good GPG signature by %s\n"
-msgstr ""
-
-#: commit.c:1516
-msgid ""
-"Warning: commit message did not conform to UTF-8.\n"
-"You may want to amend it after fixing the message, or set the config\n"
-"variable i18n.commitencoding to the encoding your project uses.\n"
-msgstr ""
-
-#: compat/obstack.c:406 compat/obstack.c:408
-msgid "memory exhausted"
-msgstr ""
-
-#: compat/terminal.c:167
-msgid "cannot resume in the background, please use 'fg' to resume"
-msgstr ""
-
-#: compat/terminal.c:168
-msgid "cannot restore terminal settings"
-msgstr ""
-
-#: config.c:143
-#, c-format
-msgid ""
-"exceeded maximum include depth (%d) while including\n"
-"\t%s\n"
-"from\n"
-"\t%s\n"
-"This might be due to circular includes."
-msgstr ""
-
-#: config.c:159
-#, c-format
-msgid "could not expand include path '%s'"
-msgstr ""
-
-#: config.c:170
-msgid "relative config includes must come from files"
-msgstr ""
-
-#: config.c:219
-msgid "relative config include conditionals must come from files"
-msgstr ""
-
-#: config.c:364
-msgid ""
-"remote URLs cannot be configured in file directly or indirectly included by "
-"includeIf.hasconfig:remote.*.url"
-msgstr ""
-
-#: config.c:508
-#, c-format
-msgid "invalid config format: %s"
-msgstr ""
-
-#: config.c:512
-#, c-format
-msgid "missing environment variable name for configuration '%.*s'"
-msgstr ""
-
-#: config.c:517
-#, c-format
-msgid "missing environment variable '%s' for configuration '%.*s'"
-msgstr ""
-
-#: config.c:553
-#, c-format
-msgid "key does not contain a section: %s"
-msgstr ""
-
-#: config.c:558
-#, c-format
-msgid "key does not contain variable name: %s"
-msgstr ""
-
-#: config.c:580 sequencer.c:2802
-#, c-format
-msgid "invalid key: %s"
-msgstr ""
-
-#: config.c:585
-#, c-format
-msgid "invalid key (newline): %s"
-msgstr ""
-
-#: config.c:605
-msgid "empty config key"
-msgstr ""
-
-#: config.c:623 config.c:635
-#, c-format
-msgid "bogus config parameter: %s"
-msgstr ""
-
-#: config.c:649 config.c:666 config.c:673 config.c:682
-#, c-format
-msgid "bogus format in %s"
-msgstr ""
-
-#: config.c:716
-#, c-format
-msgid "bogus count in %s"
-msgstr ""
-
-#: config.c:720
-#, c-format
-msgid "too many entries in %s"
-msgstr ""
-
-#: config.c:730
-#, c-format
-msgid "missing config key %s"
-msgstr ""
-
-#: config.c:738
-#, c-format
-msgid "missing config value %s"
-msgstr ""
-
-#: config.c:1089
-#, c-format
-msgid "bad config line %d in blob %s"
-msgstr ""
-
-#: config.c:1093
-#, c-format
-msgid "bad config line %d in file %s"
-msgstr ""
-
-#: config.c:1097
-#, c-format
-msgid "bad config line %d in standard input"
-msgstr ""
-
-#: config.c:1101
-#, c-format
-msgid "bad config line %d in submodule-blob %s"
-msgstr ""
-
-#: config.c:1105
-#, c-format
-msgid "bad config line %d in command line %s"
-msgstr ""
-
-#: config.c:1109
-#, c-format
-msgid "bad config line %d in %s"
-msgstr ""
-
-#: config.c:1246
-msgid "out of range"
-msgstr ""
-
-#: config.c:1246
-msgid "invalid unit"
-msgstr ""
-
-#: config.c:1247
-#, c-format
-msgid "bad numeric config value '%s' for '%s': %s"
-msgstr ""
-
-#: config.c:1257
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
-msgstr ""
-
-#: config.c:1260
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in file %s: %s"
-msgstr ""
-
-#: config.c:1263
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in standard input: %s"
-msgstr ""
-
-#: config.c:1266
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
-msgstr ""
-
-#: config.c:1269
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
-msgstr ""
-
-#: config.c:1272
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in %s: %s"
-msgstr ""
-
-#: config.c:1368
-#, c-format
-msgid "invalid value for variable %s"
-msgstr ""
-
-#: config.c:1389
-#, c-format
-msgid "ignoring unknown core.fsync component '%s'"
-msgstr ""
-
-#: config.c:1425
-#, c-format
-msgid "bad boolean config value '%s' for '%s'"
-msgstr ""
-
-#: config.c:1443
-#, c-format
-msgid "failed to expand user dir in: '%s'"
-msgstr ""
-
-#: config.c:1452
-#, c-format
-msgid "'%s' for '%s' is not a valid timestamp"
-msgstr ""
-
-#: config.c:1545
-#, c-format
-msgid "abbrev length out of range: %d"
-msgstr ""
-
-#: config.c:1559 config.c:1570
-#, c-format
-msgid "bad zlib compression level %d"
-msgstr ""
-
-#: config.c:1660
-msgid "core.commentChar should only be one character"
-msgstr ""
-
-#: config.c:1692
-#, c-format
-msgid "ignoring unknown core.fsyncMethod value '%s'"
-msgstr ""
-
-#: config.c:1698
-msgid "core.fsyncObjectFiles is deprecated; use core.fsync instead"
-msgstr ""
-
-#: config.c:1714
-#, c-format
-msgid "invalid mode for object creation: %s"
-msgstr ""
-
-#: config.c:1800
-#, c-format
-msgid "malformed value for %s"
-msgstr ""
-
-#: config.c:1826
-#, c-format
-msgid "malformed value for %s: %s"
-msgstr ""
-
-#: config.c:1827
-msgid "must be one of nothing, matching, simple, upstream or current"
-msgstr ""
-
-#: config.c:1888 builtin/pack-objects.c:4078
-#, c-format
-msgid "bad pack compression level %d"
-msgstr ""
-
-#: config.c:2014
-#, c-format
-msgid "unable to load config blob object '%s'"
-msgstr ""
-
-#: config.c:2017
-#, c-format
-msgid "reference '%s' does not point to a blob"
-msgstr ""
-
-#: config.c:2035
-#, c-format
-msgid "unable to resolve config blob '%s'"
-msgstr ""
-
-#: config.c:2080
-#, c-format
-msgid "failed to parse %s"
-msgstr ""
-
-#: config.c:2136
-msgid "unable to parse command-line config"
-msgstr ""
-
-#: config.c:2512
-msgid "unknown error occurred while reading the configuration files"
-msgstr ""
-
-#: config.c:2686
-#, c-format
-msgid "Invalid %s: '%s'"
-msgstr ""
-
-#: config.c:2731
-#, c-format
-msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
-msgstr ""
-
-#: config.c:2763
-#, c-format
-msgid "unable to parse '%s' from command-line config"
-msgstr ""
-
-#: config.c:2765
-#, c-format
-msgid "bad config variable '%s' in file '%s' at line %d"
-msgstr ""
-
-#: config.c:2850
-#, c-format
-msgid "invalid section name '%s'"
-msgstr ""
-
-#: config.c:2882
-#, c-format
-msgid "%s has multiple values"
-msgstr ""
-
-#: config.c:2911
-#, c-format
-msgid "failed to write new configuration file %s"
-msgstr ""
-
-#: config.c:3177 config.c:3518
-#, c-format
-msgid "could not lock config file %s"
-msgstr ""
-
-#: config.c:3188
-#, c-format
-msgid "opening %s"
-msgstr ""
-
-#: config.c:3225 builtin/config.c:361
-#, c-format
-msgid "invalid pattern: %s"
-msgstr ""
-
-#: config.c:3250
-#, c-format
-msgid "invalid config file %s"
-msgstr ""
-
-#: config.c:3263 config.c:3531
-#, c-format
-msgid "fstat on %s failed"
-msgstr ""
-
-#: config.c:3274
-#, c-format
-msgid "unable to mmap '%s'%s"
-msgstr ""
-
-#: config.c:3284 config.c:3536
-#, c-format
-msgid "chmod on %s failed"
-msgstr ""
-
-#: config.c:3369 config.c:3633
-#, c-format
-msgid "could not write config file %s"
-msgstr ""
-
-#: config.c:3403
-#, c-format
-msgid "could not set '%s' to '%s'"
-msgstr ""
-
-#: config.c:3405 builtin/remote.c:666 builtin/remote.c:885 builtin/remote.c:893
-#, c-format
-msgid "could not unset '%s'"
-msgstr ""
-
-#: config.c:3509
-#, c-format
-msgid "invalid section name: %s"
-msgstr ""
-
-#: config.c:3676
-#, c-format
-msgid "missing value for '%s'"
-msgstr ""
-
-#: connect.c:61
-msgid "the remote end hung up upon initial contact"
-msgstr ""
-
-#: connect.c:63
-msgid ""
-"Could not read from remote repository.\n"
-"\n"
-"Please make sure you have the correct access rights\n"
-"and the repository exists."
-msgstr ""
-
-#: connect.c:81
-#, c-format
-msgid "server doesn't support '%s'"
-msgstr ""
-
-#: connect.c:118
-#, c-format
-msgid "server doesn't support feature '%s'"
-msgstr ""
-
-#: connect.c:129
-msgid "expected flush after capabilities"
-msgstr ""
-
-#: connect.c:265
-#, c-format
-msgid "ignoring capabilities after first line '%s'"
-msgstr ""
-
-#: connect.c:286
-msgid "protocol error: unexpected capabilities^{}"
-msgstr ""
-
-#: connect.c:308
-#, c-format
-msgid "protocol error: expected shallow sha-1, got '%s'"
-msgstr ""
-
-#: connect.c:310
-msgid "repository on the other end cannot be shallow"
-msgstr ""
-
-#: connect.c:349
-msgid "invalid packet"
-msgstr ""
-
-#: connect.c:369
-#, c-format
-msgid "protocol error: unexpected '%s'"
-msgstr ""
-
-#: connect.c:499
-#, c-format
-msgid "unknown object format '%s' specified by server"
-msgstr ""
-
-#: connect.c:528
-#, c-format
-msgid "invalid ls-refs response: %s"
-msgstr ""
-
-#: connect.c:532
-msgid "expected flush after ref listing"
-msgstr ""
-
-#: connect.c:535
-msgid "expected response end packet after ref listing"
-msgstr ""
-
-#: connect.c:670
-#, c-format
-msgid "protocol '%s' is not supported"
-msgstr ""
-
-#: connect.c:721
-msgid "unable to set SO_KEEPALIVE on socket"
-msgstr ""
-
-#: connect.c:761 connect.c:824
-#, c-format
-msgid "Looking up %s ... "
-msgstr ""
-
-#: connect.c:765
-#, c-format
-msgid "unable to look up %s (port %s) (%s)"
-msgstr ""
-
-#. TRANSLATORS: this is the end of "Looking up %s ... "
-#: connect.c:769 connect.c:840
-#, c-format
-msgid ""
-"done.\n"
-"Connecting to %s (port %s) ... "
-msgstr ""
-
-#: connect.c:791 connect.c:868
-#, c-format
-msgid ""
-"unable to connect to %s:\n"
-"%s"
-msgstr ""
-
-#. TRANSLATORS: this is the end of "Connecting to %s (port %s) ... "
-#: connect.c:797 connect.c:874
-msgid "done."
-msgstr ""
-
-#: connect.c:828
-#, c-format
-msgid "unable to look up %s (%s)"
-msgstr ""
-
-#: connect.c:834
-#, c-format
-msgid "unknown port %s"
-msgstr ""
-
-#: connect.c:971 connect.c:1303
-#, c-format
-msgid "strange hostname '%s' blocked"
-msgstr ""
-
-#: connect.c:973
-#, c-format
-msgid "strange port '%s' blocked"
-msgstr ""
-
-#: connect.c:983
-#, c-format
-msgid "cannot start proxy %s"
-msgstr ""
-
-#: connect.c:1054
-msgid "no path specified; see 'git help pull' for valid url syntax"
-msgstr ""
-
-#: connect.c:1194
-msgid "newline is forbidden in git:// hosts and repo paths"
-msgstr ""
-
-#: connect.c:1251
-msgid "ssh variant 'simple' does not support -4"
-msgstr ""
-
-#: connect.c:1263
-msgid "ssh variant 'simple' does not support -6"
-msgstr ""
-
-#: connect.c:1280
-msgid "ssh variant 'simple' does not support setting port"
-msgstr ""
-
-#: connect.c:1392
-#, c-format
-msgid "strange pathname '%s' blocked"
-msgstr ""
-
-#: connect.c:1440
-msgid "unable to fork"
-msgstr ""
-
-#: connected.c:109 builtin/fsck.c:189 builtin/prune.c:57
-msgid "Checking connectivity"
-msgstr ""
-
-#: connected.c:122
-msgid "Could not run 'git rev-list'"
-msgstr ""
-
-#: connected.c:146
-msgid "failed write to rev-list"
-msgstr ""
-
-#: connected.c:151
-msgid "failed to close rev-list's stdin"
-msgstr ""
-
-#: convert.c:183
-#, c-format
-msgid "illegal crlf_action %d"
-msgstr ""
-
-#: convert.c:196
-#, c-format
-msgid "CRLF would be replaced by LF in %s"
-msgstr ""
-
-#: convert.c:198
-#, c-format
-msgid ""
-"CRLF will be replaced by LF in %s.\n"
-"The file will have its original line endings in your working directory"
-msgstr ""
-
-#: convert.c:206
-#, c-format
-msgid "LF would be replaced by CRLF in %s"
-msgstr ""
-
-#: convert.c:208
-#, c-format
-msgid ""
-"LF will be replaced by CRLF in %s.\n"
-"The file will have its original line endings in your working directory"
-msgstr ""
-
-#: convert.c:273
-#, c-format
-msgid "BOM is prohibited in '%s' if encoded as %s"
-msgstr ""
-
-#: convert.c:280
-#, c-format
-msgid ""
-"The file '%s' contains a byte order mark (BOM). Please use UTF-%.*s as "
-"working-tree-encoding."
-msgstr ""
-
-#: convert.c:293
-#, c-format
-msgid "BOM is required in '%s' if encoded as %s"
-msgstr ""
-
-#: convert.c:295
-#, c-format
-msgid ""
-"The file '%s' is missing a byte order mark (BOM). Please use UTF-%sBE or UTF-"
-"%sLE (depending on the byte order) as working-tree-encoding."
-msgstr ""
-
-#: convert.c:408 convert.c:479
-#, c-format
-msgid "failed to encode '%s' from %s to %s"
-msgstr ""
-
-#: convert.c:451
-#, c-format
-msgid "encoding '%s' from %s to %s and back is not the same"
-msgstr ""
-
-#: convert.c:654
-#, c-format
-msgid "cannot fork to run external filter '%s'"
-msgstr ""
-
-#: convert.c:674
-#, c-format
-msgid "cannot feed the input to external filter '%s'"
-msgstr ""
-
-#: convert.c:681
-#, c-format
-msgid "external filter '%s' failed %d"
-msgstr ""
-
-#: convert.c:716 convert.c:719
-#, c-format
-msgid "read from external filter '%s' failed"
-msgstr ""
-
-#: convert.c:722 convert.c:777
-#, c-format
-msgid "external filter '%s' failed"
-msgstr ""
-
-#: convert.c:826
-msgid "unexpected filter type"
-msgstr ""
-
-#: convert.c:837
-msgid "path name too long for external filter"
-msgstr ""
-
-#: convert.c:935
-#, c-format
-msgid ""
-"external filter '%s' is not available anymore although not all paths have "
-"been filtered"
-msgstr ""
-
-#: convert.c:1236
-msgid "true/false are no valid working-tree-encodings"
-msgstr ""
-
-#: convert.c:1416 convert.c:1449
-#, c-format
-msgid "%s: clean filter '%s' failed"
-msgstr ""
-
-#: convert.c:1492
-#, c-format
-msgid "%s: smudge filter %s failed"
-msgstr ""
-
-#: credential.c:96
-#, c-format
-msgid "skipping credential lookup for key: credential.%s"
-msgstr ""
-
-#: credential.c:112
-msgid "refusing to work with credential missing host field"
-msgstr ""
-
-#: credential.c:114
-msgid "refusing to work with credential missing protocol field"
-msgstr ""
-
-#: credential.c:396
-#, c-format
-msgid "url contains a newline in its %s component: %s"
-msgstr ""
-
-#: credential.c:440
-#, c-format
-msgid "url has no scheme: %s"
-msgstr ""
-
-#: credential.c:513
-#, c-format
-msgid "credential url cannot be parsed: %s"
-msgstr ""
-
-#: date.c:139
-msgid "in the future"
-msgstr ""
-
-#: date.c:145
-#, c-format
-msgid "%<PRIuMAX> second ago"
-msgid_plural "%<PRIuMAX> seconds ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:152
-#, c-format
-msgid "%<PRIuMAX> minute ago"
-msgid_plural "%<PRIuMAX> minutes ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:159
-#, c-format
-msgid "%<PRIuMAX> hour ago"
-msgid_plural "%<PRIuMAX> hours ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:166
-#, c-format
-msgid "%<PRIuMAX> day ago"
-msgid_plural "%<PRIuMAX> days ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:172
-#, c-format
-msgid "%<PRIuMAX> week ago"
-msgid_plural "%<PRIuMAX> weeks ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:179
-#, c-format
-msgid "%<PRIuMAX> month ago"
-msgid_plural "%<PRIuMAX> months ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:190
-#, c-format
-msgid "%<PRIuMAX> year"
-msgid_plural "%<PRIuMAX> years"
-msgstr[0] ""
-msgstr[1] ""
-
-#. TRANSLATORS: "%s" is "<n> years"
-#: date.c:193
-#, c-format
-msgid "%s, %<PRIuMAX> month ago"
-msgid_plural "%s, %<PRIuMAX> months ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:198 date.c:203
-#, c-format
-msgid "%<PRIuMAX> year ago"
-msgid_plural "%<PRIuMAX> years ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: delta-islands.c:272
-msgid "Propagating island marks"
-msgstr ""
-
-#: delta-islands.c:290
-#, c-format
-msgid "bad tree object %s"
-msgstr ""
-
-#: delta-islands.c:334
-#, c-format
-msgid "failed to load island regex for '%s': %s"
-msgstr ""
-
-#: delta-islands.c:390
-#, c-format
-msgid "island regex from config has too many capture groups (max=%d)"
-msgstr ""
-
-#: delta-islands.c:467
-#, c-format
-msgid "Marked %d islands, done.\n"
-msgstr ""
-
-#: diff-merges.c:81 gpg-interface.c:719 gpg-interface.c:734 ls-refs.c:37
-#: parallel-checkout.c:42 sequencer.c:2805 setup.c:563 builtin/am.c:203
-#: builtin/am.c:2243 builtin/am.c:2287 builtin/blame.c:724 builtin/blame.c:742
-#: builtin/fetch.c:792 builtin/pack-objects.c:3515 builtin/pull.c:45
-#: builtin/pull.c:47 builtin/pull.c:321
-#, c-format
-msgid "invalid value for '%s': '%s'"
-msgstr ""
-
-#: diff-lib.c:561
-msgid "--merge-base does not work with ranges"
-msgstr ""
-
-#: diff-lib.c:563
-msgid "--merge-base only works with commits"
-msgstr ""
-
-#: diff-lib.c:580
-msgid "unable to get HEAD"
-msgstr ""
-
-#: diff-lib.c:587
-msgid "no merge base found"
-msgstr ""
-
-#: diff-lib.c:589
-msgid "multiple merge bases found"
-msgstr ""
-
-#: diff-no-index.c:237
-msgid "git diff --no-index [<options>] <path> <path>"
-msgstr ""
-
-#: diff-no-index.c:262
-msgid ""
-"Not a git repository. Use --no-index to compare two paths outside a working "
-"tree"
-msgstr ""
-
-#: diff.c:159
-#, c-format
-msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
-msgstr ""
-
-#: diff.c:164
-#, c-format
-msgid "  Unknown dirstat parameter '%s'\n"
-msgstr ""
-
-#: diff.c:300
-msgid ""
-"color moved setting must be one of 'no', 'default', 'blocks', 'zebra', "
-"'dimmed-zebra', 'plain'"
-msgstr ""
-
-#: diff.c:328
-#, c-format
-msgid ""
-"unknown color-moved-ws mode '%s', possible values are 'ignore-space-change', "
-"'ignore-space-at-eol', 'ignore-all-space', 'allow-indentation-change'"
-msgstr ""
-
-#: diff.c:336
-msgid ""
-"color-moved-ws: allow-indentation-change cannot be combined with other "
-"whitespace modes"
-msgstr ""
-
-#: diff.c:413
-#, c-format
-msgid "Unknown value for 'diff.submodule' config variable: '%s'"
-msgstr ""
-
-#: diff.c:473
-#, c-format
-msgid ""
-"Found errors in 'diff.dirstat' config variable:\n"
-"%s"
-msgstr ""
-
-#: diff.c:4282
-#, c-format
-msgid "external diff died, stopping at %s"
-msgstr ""
-
-#: diff.c:4677 parse-options.c:1114
-#, c-format
-msgid "options '%s', '%s', '%s', and '%s' cannot be used together"
-msgstr ""
-
-#: diff.c:4681 parse-options.c:1118 builtin/worktree.c:578
-#, c-format
-msgid "options '%s', '%s', and '%s' cannot be used together"
-msgstr ""
-
-#: diff.c:4685
-#, c-format
-msgid "options '%s' and '%s' cannot be used together, use '%s' with '%s'"
-msgstr ""
-
-#: diff.c:4689
-#, c-format
-msgid ""
-"options '%s' and '%s' cannot be used together, use '%s' with '%s' and '%s'"
-msgstr ""
-
-#: diff.c:4769
-msgid "--follow requires exactly one pathspec"
-msgstr ""
-
-#: diff.c:4823
-#, c-format
-msgid "invalid --stat value: %s"
-msgstr ""
-
-#: diff.c:4828 diff.c:4833 diff.c:4838 diff.c:4843 diff.c:5319
-#: parse-options.c:217 parse-options.c:221
-#, c-format
-msgid "%s expects a numerical value"
-msgstr ""
-
-#: diff.c:4860
-#, c-format
-msgid ""
-"Failed to parse --dirstat/-X option parameter:\n"
-"%s"
-msgstr ""
-
-#: diff.c:4893
-#, c-format
-msgid "unknown change class '%c' in --diff-filter=%s"
-msgstr ""
-
-#: diff.c:4917
-#, c-format
-msgid "unknown value after ws-error-highlight=%.*s"
-msgstr ""
-
-#: diff.c:4931
-#, c-format
-msgid "unable to resolve '%s'"
-msgstr ""
-
-#: diff.c:4981 diff.c:4987
-#, c-format
-msgid "%s expects <n>/<m> form"
-msgstr ""
-
-#: diff.c:4999
-#, c-format
-msgid "%s expects a character, got '%s'"
-msgstr ""
-
-#: diff.c:5020
-#, c-format
-msgid "bad --color-moved argument: %s"
-msgstr ""
-
-#: diff.c:5039
-#, c-format
-msgid "invalid mode '%s' in --color-moved-ws"
-msgstr ""
-
-#: diff.c:5079
-msgid ""
-"option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
-"\"histogram\""
-msgstr ""
-
-#: diff.c:5115 diff.c:5135
-#, c-format
-msgid "invalid argument to %s"
-msgstr ""
-
-#: diff.c:5239
-#, c-format
-msgid "invalid regex given to -I: '%s'"
-msgstr ""
-
-#: diff.c:5288
-#, c-format
-msgid "failed to parse --submodule option parameter: '%s'"
-msgstr ""
-
-#: diff.c:5344
-#, c-format
-msgid "bad --word-diff argument: %s"
-msgstr ""
-
-#: diff.c:5380
-msgid "Diff output format options"
-msgstr ""
-
-#: diff.c:5382 diff.c:5388
-msgid "generate patch"
-msgstr ""
-
-#: diff.c:5385 builtin/log.c:180
-msgid "suppress diff output"
-msgstr ""
-
-#: diff.c:5390 diff.c:5504 diff.c:5511
-msgid "<n>"
-msgstr ""
-
-#: diff.c:5391 diff.c:5394
-msgid "generate diffs with <n> lines context"
-msgstr ""
-
-#: diff.c:5396
-msgid "generate the diff in raw format"
-msgstr ""
-
-#: diff.c:5399
-msgid "synonym for '-p --raw'"
-msgstr ""
-
-#: diff.c:5403
-msgid "synonym for '-p --stat'"
-msgstr ""
-
-#: diff.c:5407
-msgid "machine friendly --stat"
-msgstr ""
-
-#: diff.c:5410
-msgid "output only the last line of --stat"
-msgstr ""
-
-#: diff.c:5412 diff.c:5420
-msgid "<param1,param2>..."
-msgstr ""
-
-#: diff.c:5413
-msgid ""
-"output the distribution of relative amount of changes for each sub-directory"
-msgstr ""
-
-#: diff.c:5417
-msgid "synonym for --dirstat=cumulative"
-msgstr ""
-
-#: diff.c:5421
-msgid "synonym for --dirstat=files,param1,param2..."
-msgstr ""
-
-#: diff.c:5425
-msgid "warn if changes introduce conflict markers or whitespace errors"
-msgstr ""
-
-#: diff.c:5428
-msgid "condensed summary such as creations, renames and mode changes"
-msgstr ""
-
-#: diff.c:5431
-msgid "show only names of changed files"
-msgstr ""
-
-#: diff.c:5434
-msgid "show only names and status of changed files"
-msgstr ""
-
-#: diff.c:5436
-msgid "<width>[,<name-width>[,<count>]]"
-msgstr ""
-
-#: diff.c:5437
-msgid "generate diffstat"
-msgstr ""
-
-#: diff.c:5439 diff.c:5442 diff.c:5445
-msgid "<width>"
-msgstr ""
-
-#: diff.c:5440
-msgid "generate diffstat with a given width"
-msgstr ""
-
-#: diff.c:5443
-msgid "generate diffstat with a given name width"
-msgstr ""
-
-#: diff.c:5446
-msgid "generate diffstat with a given graph width"
-msgstr ""
-
-#: diff.c:5448
-msgid "<count>"
-msgstr ""
-
-#: diff.c:5449
-msgid "generate diffstat with limited lines"
-msgstr ""
-
-#: diff.c:5452
-msgid "generate compact summary in diffstat"
-msgstr ""
-
-#: diff.c:5455
-msgid "output a binary diff that can be applied"
-msgstr ""
-
-#: diff.c:5458
-msgid "show full pre- and post-image object names on the \"index\" lines"
-msgstr ""
-
-#: diff.c:5460
-msgid "show colored diff"
-msgstr ""
-
-#: diff.c:5461
-msgid "<kind>"
-msgstr ""
-
-#: diff.c:5462
-msgid ""
-"highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
-"diff"
-msgstr ""
-
-#: diff.c:5465
-msgid ""
-"do not munge pathnames and use NULs as output field terminators in --raw or "
-"--numstat"
-msgstr ""
-
-#: diff.c:5468 diff.c:5471 diff.c:5474 diff.c:5583
-msgid "<prefix>"
-msgstr ""
-
-#: diff.c:5469
-msgid "show the given source prefix instead of \"a/\""
-msgstr ""
-
-#: diff.c:5472
-msgid "show the given destination prefix instead of \"b/\""
-msgstr ""
-
-#: diff.c:5475
-msgid "prepend an additional prefix to every line of output"
-msgstr ""
-
-#: diff.c:5478
-msgid "do not show any source or destination prefix"
-msgstr ""
-
-#: diff.c:5481
-msgid "show context between diff hunks up to the specified number of lines"
-msgstr ""
-
-#: diff.c:5485 diff.c:5490 diff.c:5495
-msgid "<char>"
-msgstr ""
-
-#: diff.c:5486
-msgid "specify the character to indicate a new line instead of '+'"
-msgstr ""
-
-#: diff.c:5491
-msgid "specify the character to indicate an old line instead of '-'"
-msgstr ""
-
-#: diff.c:5496
-msgid "specify the character to indicate a context instead of ' '"
-msgstr ""
-
-#: diff.c:5499
-msgid "Diff rename options"
-msgstr ""
-
-#: diff.c:5500
-msgid "<n>[/<m>]"
-msgstr ""
-
-#: diff.c:5501
-msgid "break complete rewrite changes into pairs of delete and create"
-msgstr ""
-
-#: diff.c:5505
-msgid "detect renames"
-msgstr ""
-
-#: diff.c:5509
-msgid "omit the preimage for deletes"
-msgstr ""
-
-#: diff.c:5512
-msgid "detect copies"
-msgstr ""
-
-#: diff.c:5516
-msgid "use unmodified files as source to find copies"
-msgstr ""
-
-#: diff.c:5518
-msgid "disable rename detection"
-msgstr ""
-
-#: diff.c:5521
-msgid "use empty blobs as rename source"
-msgstr ""
-
-#: diff.c:5523
-msgid "continue listing the history of a file beyond renames"
-msgstr ""
-
-#: diff.c:5526
-msgid ""
-"prevent rename/copy detection if the number of rename/copy targets exceeds "
-"given limit"
-msgstr ""
-
-#: diff.c:5528
-msgid "Diff algorithm options"
-msgstr ""
-
-#: diff.c:5530
-msgid "produce the smallest possible diff"
-msgstr ""
-
-#: diff.c:5533
-msgid "ignore whitespace when comparing lines"
-msgstr ""
-
-#: diff.c:5536
-msgid "ignore changes in amount of whitespace"
-msgstr ""
-
-#: diff.c:5539
-msgid "ignore changes in whitespace at EOL"
-msgstr ""
-
-#: diff.c:5542
-msgid "ignore carrier-return at the end of line"
-msgstr ""
-
-#: diff.c:5545
-msgid "ignore changes whose lines are all blank"
-msgstr ""
-
-#: diff.c:5547 diff.c:5569 diff.c:5572 diff.c:5617
-msgid "<regex>"
-msgstr ""
-
-#: diff.c:5548
-msgid "ignore changes whose all lines match <regex>"
-msgstr ""
-
-#: diff.c:5551
-msgid "heuristic to shift diff hunk boundaries for easy reading"
-msgstr ""
-
-#: diff.c:5554
-msgid "generate diff using the \"patience diff\" algorithm"
-msgstr ""
-
-#: diff.c:5558
-msgid "generate diff using the \"histogram diff\" algorithm"
-msgstr ""
-
-#: diff.c:5560
-msgid "<algorithm>"
-msgstr ""
-
-#: diff.c:5561
-msgid "choose a diff algorithm"
-msgstr ""
-
-#: diff.c:5563
-msgid "<text>"
-msgstr ""
-
-#: diff.c:5564
-msgid "generate diff using the \"anchored diff\" algorithm"
-msgstr ""
-
-#: diff.c:5566 diff.c:5575 diff.c:5578
-msgid "<mode>"
-msgstr ""
-
-#: diff.c:5567
-msgid "show word diff, using <mode> to delimit changed words"
-msgstr ""
-
-#: diff.c:5570
-msgid "use <regex> to decide what a word is"
-msgstr ""
-
-#: diff.c:5573
-msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
-msgstr ""
-
-#: diff.c:5576
-msgid "moved lines of code are colored differently"
-msgstr ""
-
-#: diff.c:5579
-msgid "how white spaces are ignored in --color-moved"
-msgstr ""
-
-#: diff.c:5582
-msgid "Other diff options"
-msgstr ""
-
-#: diff.c:5584
-msgid "when run from subdir, exclude changes outside and show relative paths"
-msgstr ""
-
-#: diff.c:5588
-msgid "treat all files as text"
-msgstr ""
-
-#: diff.c:5590
-msgid "swap two inputs, reverse the diff"
-msgstr ""
-
-#: diff.c:5592
-msgid "exit with 1 if there were differences, 0 otherwise"
-msgstr ""
-
-#: diff.c:5594
-msgid "disable all output of the program"
-msgstr ""
-
-#: diff.c:5596
-msgid "allow an external diff helper to be executed"
-msgstr ""
-
-#: diff.c:5598
-msgid "run external text conversion filters when comparing binary files"
-msgstr ""
-
-#: diff.c:5600
-msgid "<when>"
-msgstr ""
-
-#: diff.c:5601
-msgid "ignore changes to submodules in the diff generation"
-msgstr ""
-
-#: diff.c:5604
-msgid "<format>"
-msgstr ""
-
-#: diff.c:5605
-msgid "specify how differences in submodules are shown"
-msgstr ""
-
-#: diff.c:5609
-msgid "hide 'git add -N' entries from the index"
-msgstr ""
-
-#: diff.c:5612
-msgid "treat 'git add -N' entries as real in the index"
-msgstr ""
-
-#: diff.c:5614
-msgid "<string>"
-msgstr ""
-
-#: diff.c:5615
-msgid ""
-"look for differences that change the number of occurrences of the specified "
-"string"
-msgstr ""
-
-#: diff.c:5618
-msgid ""
-"look for differences that change the number of occurrences of the specified "
-"regex"
-msgstr ""
-
-#: diff.c:5621
-msgid "show all changes in the changeset with -S or -G"
-msgstr ""
-
-#: diff.c:5624
-msgid "treat <string> in -S as extended POSIX regular expression"
-msgstr ""
-
-#: diff.c:5627
-msgid "control the order in which files appear in the output"
-msgstr ""
-
-#: diff.c:5628 diff.c:5631
-msgid "<path>"
-msgstr ""
-
-#: diff.c:5629
-msgid "show the change in the specified path first"
-msgstr ""
-
-#: diff.c:5632
-msgid "skip the output to the specified path"
-msgstr ""
-
-#: diff.c:5634
-msgid "<object-id>"
-msgstr ""
-
-#: diff.c:5635
-msgid ""
-"look for differences that change the number of occurrences of the specified "
-"object"
-msgstr ""
-
-#: diff.c:5637
-msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
-msgstr ""
-
-#: diff.c:5638
-msgid "select files by diff type"
-msgstr ""
-
-#: diff.c:5640
-msgid "<file>"
-msgstr ""
-
-#: diff.c:5641
-msgid "output to a specific file"
-msgstr ""
-
-#: diff.c:6321
-msgid "exhaustive rename detection was skipped due to too many files."
-msgstr ""
-
-#: diff.c:6324
-msgid "only found copies from modified paths due to too many files."
-msgstr ""
-
-#: diff.c:6327
-#, c-format
-msgid ""
-"you may want to set your %s variable to at least %d and retry the command."
-msgstr ""
-
-#: diffcore-order.c:24
-#, c-format
-msgid "failed to read orderfile '%s'"
-msgstr ""
-
-#: diffcore-rename.c:1564
-msgid "Performing inexact rename detection"
-msgstr ""
-
-#: diffcore-rotate.c:29
-#, c-format
-msgid "No such path '%s' in the diff"
-msgstr ""
-
-#: dir.c:593
-#, c-format
-msgid "pathspec '%s' did not match any file(s) known to git"
-msgstr ""
-
-#: dir.c:733 dir.c:762 dir.c:775
-#, c-format
-msgid "unrecognized pattern: '%s'"
-msgstr ""
-
-#: dir.c:790 dir.c:804
-#, c-format
-msgid "unrecognized negative pattern: '%s'"
-msgstr ""
-
-#: dir.c:820
-#, c-format
-msgid "your sparse-checkout file may have issues: pattern '%s' is repeated"
-msgstr ""
-
-#: dir.c:828
-msgid "disabling cone pattern matching"
-msgstr ""
-
-#: dir.c:1212
-#, c-format
-msgid "cannot use %s as an exclude file"
-msgstr ""
-
-#: dir.c:2419
-#, c-format
-msgid "could not open directory '%s'"
-msgstr ""
-
-#: dir.c:2721
-msgid "failed to get kernel name and information"
-msgstr ""
-
-#: dir.c:2846
-msgid "untracked cache is disabled on this system or location"
-msgstr ""
-
-#: dir.c:3119
-msgid ""
-"No directory name could be guessed.\n"
-"Please specify a directory on the command line"
-msgstr ""
-
-#: dir.c:3807
-#, c-format
-msgid "index file corrupt in repo %s"
-msgstr ""
-
-#: dir.c:3854 dir.c:3859
-#, c-format
-msgid "could not create directories for %s"
-msgstr ""
-
-#: dir.c:3888
-#, c-format
-msgid "could not migrate git directory from '%s' to '%s'"
-msgstr ""
-
-#: editor.c:74
-#, c-format
-msgid "hint: Waiting for your editor to close the file...%c"
-msgstr ""
-
-#: entry.c:179
-msgid "Filtering content"
-msgstr ""
-
-#: entry.c:500
-#, c-format
-msgid "could not stat file '%s'"
-msgstr ""
-
-#: environment.c:147
-#, c-format
-msgid "bad git namespace path \"%s\""
-msgstr ""
-
-#: exec-cmd.c:363
-#, c-format
-msgid "too many args to run %s"
-msgstr ""
-
-#: fetch-pack.c:194
-msgid "git fetch-pack: expected shallow list"
-msgstr ""
-
-#: fetch-pack.c:197
-msgid "git fetch-pack: expected a flush packet after shallow list"
-msgstr ""
-
-#: fetch-pack.c:208
-msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
-msgstr ""
-
-#: fetch-pack.c:228
-#, c-format
-msgid "git fetch-pack: expected ACK/NAK, got '%s'"
-msgstr ""
-
-#: fetch-pack.c:239
-msgid "unable to write to remote"
-msgstr ""
-
-#: fetch-pack.c:397 fetch-pack.c:1460
-#, c-format
-msgid "invalid shallow line: %s"
-msgstr ""
-
-#: fetch-pack.c:403 fetch-pack.c:1466
-#, c-format
-msgid "invalid unshallow line: %s"
-msgstr ""
-
-#: fetch-pack.c:405 fetch-pack.c:1468
-#, c-format
-msgid "object not found: %s"
-msgstr ""
-
-#: fetch-pack.c:408 fetch-pack.c:1471
-#, c-format
-msgid "error in object: %s"
-msgstr ""
-
-#: fetch-pack.c:410 fetch-pack.c:1473
-#, c-format
-msgid "no shallow found: %s"
-msgstr ""
-
-#: fetch-pack.c:413 fetch-pack.c:1477
-#, c-format
-msgid "expected shallow/unshallow, got %s"
-msgstr ""
-
-#: fetch-pack.c:453
-#, c-format
-msgid "got %s %d %s"
-msgstr ""
-
-#: fetch-pack.c:470
-#, c-format
-msgid "invalid commit %s"
-msgstr ""
-
-#: fetch-pack.c:501
-msgid "giving up"
-msgstr ""
-
-#: fetch-pack.c:514 progress.h:25
-msgid "done"
-msgstr ""
-
-#: fetch-pack.c:526
-#, c-format
-msgid "got %s (%d) %s"
-msgstr ""
-
-#: fetch-pack.c:562
-#, c-format
-msgid "Marking %s as complete"
-msgstr ""
-
-#: fetch-pack.c:784
-#, c-format
-msgid "already have %s (%s)"
-msgstr ""
-
-#: fetch-pack.c:870
-msgid "fetch-pack: unable to fork off sideband demultiplexer"
-msgstr ""
-
-#: fetch-pack.c:878
-msgid "protocol error: bad pack header"
-msgstr ""
-
-#: fetch-pack.c:974
-#, c-format
-msgid "fetch-pack: unable to fork off %s"
-msgstr ""
-
-#: fetch-pack.c:980
-msgid "fetch-pack: invalid index-pack output"
-msgstr ""
-
-#: fetch-pack.c:997
-#, c-format
-msgid "%s failed"
-msgstr ""
-
-#: fetch-pack.c:999
-msgid "error in sideband demultiplexer"
-msgstr ""
-
-#: fetch-pack.c:1048
-#, c-format
-msgid "Server version is %.*s"
-msgstr ""
-
-#: fetch-pack.c:1056 fetch-pack.c:1062 fetch-pack.c:1065 fetch-pack.c:1071
-#: fetch-pack.c:1075 fetch-pack.c:1079 fetch-pack.c:1083 fetch-pack.c:1087
-#: fetch-pack.c:1091 fetch-pack.c:1095 fetch-pack.c:1099 fetch-pack.c:1103
-#: fetch-pack.c:1109 fetch-pack.c:1115 fetch-pack.c:1120 fetch-pack.c:1125
-#, c-format
-msgid "Server supports %s"
-msgstr ""
-
-#: fetch-pack.c:1058
-msgid "Server does not support shallow clients"
-msgstr ""
-
-#: fetch-pack.c:1118
-msgid "Server does not support --shallow-since"
-msgstr ""
-
-#: fetch-pack.c:1123
-msgid "Server does not support --shallow-exclude"
-msgstr ""
-
-#: fetch-pack.c:1127
-msgid "Server does not support --deepen"
-msgstr ""
-
-#: fetch-pack.c:1129
-msgid "Server does not support this repository's object format"
-msgstr ""
-
-#: fetch-pack.c:1142
-msgid "no common commits"
-msgstr ""
-
-#: fetch-pack.c:1151 fetch-pack.c:1506 builtin/clone.c:1166
-msgid "source repository is shallow, reject to clone."
-msgstr ""
-
-#: fetch-pack.c:1157 fetch-pack.c:1705
-msgid "git fetch-pack: fetch failed."
-msgstr ""
-
-#: fetch-pack.c:1271
-#, c-format
-msgid "mismatched algorithms: client %s; server %s"
-msgstr ""
-
-#: fetch-pack.c:1275
-#, c-format
-msgid "the server does not support algorithm '%s'"
-msgstr ""
-
-#: fetch-pack.c:1308
-msgid "Server does not support shallow requests"
-msgstr ""
-
-#: fetch-pack.c:1315
-msgid "Server supports filter"
-msgstr ""
-
-#: fetch-pack.c:1358 fetch-pack.c:2087
-msgid "unable to write request to remote"
-msgstr ""
-
-#: fetch-pack.c:1376
-#, c-format
-msgid "error reading section header '%s'"
-msgstr ""
-
-#: fetch-pack.c:1382
-#, c-format
-msgid "expected '%s', received '%s'"
-msgstr ""
-
-#: fetch-pack.c:1416
-#, c-format
-msgid "unexpected acknowledgment line: '%s'"
-msgstr ""
-
-#: fetch-pack.c:1421
-#, c-format
-msgid "error processing acks: %d"
-msgstr ""
-
-#. TRANSLATORS: The parameter will be 'ready', a protocol
-#. keyword.
-#.
-#: fetch-pack.c:1435
-#, c-format
-msgid "expected packfile to be sent after '%s'"
-msgstr ""
-
-#. TRANSLATORS: The parameter will be 'ready', a protocol
-#. keyword.
-#.
-#: fetch-pack.c:1441
-#, c-format
-msgid "expected no other sections to be sent after no '%s'"
-msgstr ""
-
-#: fetch-pack.c:1482
-#, c-format
-msgid "error processing shallow info: %d"
-msgstr ""
-
-#: fetch-pack.c:1531
-#, c-format
-msgid "expected wanted-ref, got '%s'"
-msgstr ""
-
-#: fetch-pack.c:1536
-#, c-format
-msgid "unexpected wanted-ref: '%s'"
-msgstr ""
-
-#: fetch-pack.c:1541
-#, c-format
-msgid "error processing wanted refs: %d"
-msgstr ""
-
-#: fetch-pack.c:1571
-msgid "git fetch-pack: expected response end packet"
-msgstr ""
-
-#: fetch-pack.c:1983
-msgid "no matching remote head"
-msgstr ""
-
-#: fetch-pack.c:2006 builtin/clone.c:587
-msgid "remote did not send all necessary objects"
-msgstr ""
-
-#: fetch-pack.c:2109
-msgid "unexpected 'ready' from remote"
-msgstr ""
-
-#: fetch-pack.c:2132
-#, c-format
-msgid "no such remote ref %s"
-msgstr ""
-
-#: fetch-pack.c:2135
-#, c-format
-msgid "Server does not allow request for unadvertised object %s"
-msgstr ""
-
-#: fsmonitor-ipc.c:119
-#, c-format
-msgid "fsmonitor_ipc__send_query: invalid path '%s'"
-msgstr ""
-
-#: fsmonitor-ipc.c:125
-#, c-format
-msgid "fsmonitor_ipc__send_query: unspecified error on '%s'"
-msgstr ""
-
-#: fsmonitor-ipc.c:155
-msgid "fsmonitor--daemon is not running"
-msgstr ""
-
-#: fsmonitor-ipc.c:164
-#, c-format
-msgid "could not send '%s' command to fsmonitor--daemon"
-msgstr ""
-
-#: gpg-interface.c:329 gpg-interface.c:456 gpg-interface.c:995
-#: gpg-interface.c:1011
-msgid "could not create temporary file"
-msgstr ""
-
-#: gpg-interface.c:332 gpg-interface.c:459
-#, c-format
-msgid "failed writing detached signature to '%s'"
-msgstr ""
-
-#: gpg-interface.c:450
-msgid ""
-"gpg.ssh.allowedSignersFile needs to be configured and exist for ssh "
-"signature verification"
-msgstr ""
-
-#: gpg-interface.c:479
-msgid ""
-"ssh-keygen -Y find-principals/verify is needed for ssh signature "
-"verification (available in openssh version 8.2p1+)"
-msgstr ""
-
-#: gpg-interface.c:550
-#, c-format
-msgid "ssh signing revocation file configured but not found: %s"
-msgstr ""
-
-#: gpg-interface.c:638
-#, c-format
-msgid "bad/incompatible signature '%s'"
-msgstr ""
-
-#: gpg-interface.c:815 gpg-interface.c:820
-#, c-format
-msgid "failed to get the ssh fingerprint for key '%s'"
-msgstr ""
-
-#: gpg-interface.c:843
-msgid ""
-"either user.signingkey or gpg.ssh.defaultKeyCommand needs to be configured"
-msgstr ""
-
-#: gpg-interface.c:865
-#, c-format
-msgid "gpg.ssh.defaultKeyCommand succeeded but returned no keys: %s %s"
-msgstr ""
-
-#: gpg-interface.c:871
-#, c-format
-msgid "gpg.ssh.defaultKeyCommand failed: %s %s"
-msgstr ""
-
-#: gpg-interface.c:966
-msgid "gpg failed to sign the data"
-msgstr ""
-
-#: gpg-interface.c:988
-msgid "user.signingkey needs to be set for ssh signing"
-msgstr ""
-
-#: gpg-interface.c:999
-#, c-format
-msgid "failed writing ssh signing key to '%s'"
-msgstr ""
-
-#: gpg-interface.c:1017
-#, c-format
-msgid "failed writing ssh signing key buffer to '%s'"
-msgstr ""
-
-#: gpg-interface.c:1035
-msgid ""
-"ssh-keygen -Y sign is needed for ssh signing (available in openssh version "
-"8.2p1+)"
-msgstr ""
-
-#: gpg-interface.c:1047
-#, c-format
-msgid "failed reading ssh signing data buffer from '%s'"
-msgstr ""
-
-#: graph.c:98
-#, c-format
-msgid "ignored invalid color '%.*s' in log.graphColors"
-msgstr ""
-
-#: grep.c:446
-msgid ""
-"given pattern contains NULL byte (via -f <file>). This is only supported "
-"with -P under PCRE v2"
-msgstr ""
-
-#: grep.c:1859
-#, c-format
-msgid "'%s': unable to read %s"
-msgstr ""
-
-#: grep.c:1876 setup.c:178 builtin/clone.c:308 builtin/diff.c:90
-#: builtin/rm.c:136
-#, c-format
-msgid "failed to stat '%s'"
-msgstr ""
-
-#: grep.c:1887
-#, c-format
-msgid "'%s': short read"
-msgstr ""
-
-#: help.c:25
-msgid "start a working area (see also: git help tutorial)"
-msgstr ""
-
-#: help.c:26
-msgid "work on the current change (see also: git help everyday)"
-msgstr ""
-
-#: help.c:27
-msgid "examine the history and state (see also: git help revisions)"
-msgstr ""
-
-#: help.c:28
-msgid "grow, mark and tweak your common history"
-msgstr ""
-
-#: help.c:29
-msgid "collaborate (see also: git help workflows)"
-msgstr ""
-
-#: help.c:33
-msgid "Main Porcelain Commands"
-msgstr ""
-
-#: help.c:34
-msgid "Ancillary Commands / Manipulators"
-msgstr ""
-
-#: help.c:35
-msgid "Ancillary Commands / Interrogators"
-msgstr ""
-
-#: help.c:36
-msgid "Interacting with Others"
-msgstr ""
-
-#: help.c:37
-msgid "Low-level Commands / Manipulators"
-msgstr ""
-
-#: help.c:38
-msgid "Low-level Commands / Interrogators"
-msgstr ""
-
-#: help.c:39
-msgid "Low-level Commands / Syncing Repositories"
-msgstr ""
-
-#: help.c:40
-msgid "Low-level Commands / Internal Helpers"
-msgstr ""
-
-#: help.c:316
-#, c-format
-msgid "available git commands in '%s'"
-msgstr ""
-
-#: help.c:323
-msgid "git commands available from elsewhere on your $PATH"
-msgstr ""
-
-#: help.c:332
-msgid "These are common Git commands used in various situations:"
-msgstr ""
-
-#: help.c:382 git.c:100
-#, c-format
-msgid "unsupported command listing type '%s'"
-msgstr ""
-
-#: help.c:422
-msgid "The Git concept guides are:"
-msgstr ""
-
-#: help.c:446
-msgid "External commands"
-msgstr ""
-
-#: help.c:468
-msgid "Command aliases"
-msgstr ""
-
-#: help.c:486
-msgid "See 'git help <command>' to read about a specific subcommand"
-msgstr ""
-
-#: help.c:563
-#, c-format
-msgid ""
-"'%s' appears to be a git command, but we were not\n"
-"able to execute it. Maybe git-%s is broken?"
-msgstr ""
-
-#: help.c:585 help.c:682
-#, c-format
-msgid "git: '%s' is not a git command. See 'git --help'."
-msgstr ""
-
-#: help.c:633
-msgid "Uh oh. Your system reports no Git commands at all."
-msgstr ""
-
-#: help.c:655
-#, c-format
-msgid "WARNING: You called a Git command named '%s', which does not exist."
-msgstr ""
-
-#: help.c:660
-#, c-format
-msgid "Continuing under the assumption that you meant '%s'."
-msgstr ""
-
-#: help.c:666
-#, c-format
-msgid "Run '%s' instead [y/N]? "
-msgstr ""
-
-#: help.c:674
-#, c-format
-msgid "Continuing in %0.1f seconds, assuming that you meant '%s'."
-msgstr ""
-
-#: help.c:686
-msgid ""
-"\n"
-"The most similar command is"
-msgid_plural ""
-"\n"
-"The most similar commands are"
-msgstr[0] ""
-msgstr[1] ""
-
-#: help.c:729
-msgid "git version [<options>]"
-msgstr ""
-
-#: help.c:784
-#, c-format
-msgid "%s: %s - %s"
-msgstr ""
-
-#: help.c:788
-msgid ""
-"\n"
-"Did you mean this?"
-msgid_plural ""
-"\n"
-"Did you mean one of these?"
-msgstr[0] ""
-msgstr[1] ""
-
-#: hook.c:28
-#, c-format
-msgid ""
-"The '%s' hook was ignored because it's not set as executable.\n"
-"You can disable this warning with `git config advice.ignoredHook false`."
-msgstr ""
-
-#: hook.c:87
-#, c-format
-msgid "Couldn't start hook '%s'\n"
-msgstr ""
-
-#: ident.c:354
-msgid "Author identity unknown\n"
-msgstr ""
-
-#: ident.c:357
-msgid "Committer identity unknown\n"
-msgstr ""
-
-#: ident.c:363
-msgid ""
-"\n"
-"*** Please tell me who you are.\n"
-"\n"
-"Run\n"
-"\n"
-"  git config --global user.email \"you@example.com\"\n"
-"  git config --global user.name \"Your Name\"\n"
-"\n"
-"to set your account's default identity.\n"
-"Omit --global to set the identity only in this repository.\n"
-"\n"
-msgstr ""
-
-#: ident.c:398
-msgid "no email was given and auto-detection is disabled"
-msgstr ""
-
-#: ident.c:403
-#, c-format
-msgid "unable to auto-detect email address (got '%s')"
-msgstr ""
-
-#: ident.c:420
-msgid "no name was given and auto-detection is disabled"
-msgstr ""
-
-#: ident.c:426
-#, c-format
-msgid "unable to auto-detect name (got '%s')"
-msgstr ""
-
-#: ident.c:434
-#, c-format
-msgid "empty ident name (for <%s>) not allowed"
-msgstr ""
-
-#: ident.c:440
-#, c-format
-msgid "name consists only of disallowed characters: %s"
-msgstr ""
-
-#: ident.c:455 builtin/commit.c:649
-#, c-format
-msgid "invalid date format: %s"
-msgstr ""
-
-#: list-objects-filter-options.c:68
-msgid "expected 'tree:<depth>'"
-msgstr ""
-
-#: list-objects-filter-options.c:83
-msgid "sparse:path filters support has been dropped"
-msgstr ""
-
-#: list-objects-filter-options.c:90
-#, c-format
-msgid "'%s' for 'object:type=<type>' is not a valid object type"
-msgstr ""
-
-#: list-objects-filter-options.c:109
-#, c-format
-msgid "invalid filter-spec '%s'"
-msgstr ""
-
-#: list-objects-filter-options.c:125
-#, c-format
-msgid "must escape char in sub-filter-spec: '%c'"
-msgstr ""
-
-#: list-objects-filter-options.c:167
-msgid "expected something after combine:"
-msgstr ""
-
-#: list-objects-filter-options.c:249
-msgid "multiple filter-specs cannot be combined"
-msgstr ""
-
-#: list-objects-filter-options.c:365
-msgid "unable to upgrade repository format to support partial clone"
-msgstr ""
-
-#: list-objects-filter.c:532
-#, c-format
-msgid "unable to access sparse blob in '%s'"
-msgstr ""
-
-#: list-objects-filter.c:535
-#, c-format
-msgid "unable to parse sparse filter data in %s"
-msgstr ""
-
-#: list-objects.c:144
-#, c-format
-msgid "entry '%s' in tree %s has tree mode, but is not a tree"
-msgstr ""
-
-#: list-objects.c:157
-#, c-format
-msgid "entry '%s' in tree %s has blob mode, but is not a blob"
-msgstr ""
-
-#: list-objects.c:415
-#, c-format
-msgid "unable to load root tree for commit %s"
-msgstr ""
-
-#: lockfile.c:152
-#, c-format
-msgid ""
-"Unable to create '%s.lock': %s.\n"
-"\n"
-"Another git process seems to be running in this repository, e.g.\n"
-"an editor opened by 'git commit'. Please make sure all processes\n"
-"are terminated then try again. If it still fails, a git process\n"
-"may have crashed in this repository earlier:\n"
-"remove the file manually to continue."
-msgstr ""
-
-#: lockfile.c:160
-#, c-format
-msgid "Unable to create '%s.lock': %s"
-msgstr ""
-
-#: ls-refs.c:175
-#, c-format
-msgid "unexpected line: '%s'"
-msgstr ""
-
-#: ls-refs.c:179
-msgid "expected flush after ls-refs arguments"
-msgstr ""
-
-#: mailinfo.c:1050
-msgid "quoted CRLF detected"
-msgstr ""
-
-#: mailinfo.c:1254 builtin/am.c:185 builtin/mailinfo.c:46
-#, c-format
-msgid "bad action '%s' for '%s'"
-msgstr ""
-
-#: merge-ort.c:1630 merge-recursive.c:1214
-#, c-format
-msgid "Failed to merge submodule %s (not checked out)"
-msgstr ""
-
-#: merge-ort.c:1639 merge-recursive.c:1221
-#, c-format
-msgid "Failed to merge submodule %s (commits not present)"
-msgstr ""
-
-#: merge-ort.c:1648 merge-recursive.c:1228
-#, c-format
-msgid "Failed to merge submodule %s (commits don't follow merge-base)"
-msgstr ""
-
-#: merge-ort.c:1658 merge-ort.c:1666
-#, c-format
-msgid "Note: Fast-forwarding submodule %s to %s"
-msgstr ""
-
-#: merge-ort.c:1688
-#, c-format
-msgid "Failed to merge submodule %s"
-msgstr ""
-
-#: merge-ort.c:1695
-#, c-format
-msgid ""
-"Failed to merge submodule %s, but a possible merge resolution exists:\n"
-"%s\n"
-msgstr ""
-
-#: merge-ort.c:1699 merge-recursive.c:1284
-#, c-format
-msgid ""
-"If this is correct simply add it to the index for example\n"
-"by using:\n"
-"\n"
-"  git update-index --cacheinfo 160000 %s \"%s\"\n"
-"\n"
-"which will accept this suggestion.\n"
-msgstr ""
-
-#: merge-ort.c:1712
-#, c-format
-msgid ""
-"Failed to merge submodule %s, but multiple possible merges exist:\n"
-"%s"
-msgstr ""
-
-#: merge-ort.c:1937 merge-recursive.c:1375
-msgid "Failed to execute internal merge"
-msgstr ""
-
-#: merge-ort.c:1942 merge-recursive.c:1380
-#, c-format
-msgid "Unable to add %s to database"
-msgstr ""
-
-#: merge-ort.c:1949 merge-recursive.c:1413
-#, c-format
-msgid "Auto-merging %s"
-msgstr ""
-
-#: merge-ort.c:2088 merge-recursive.c:2135
-#, c-format
-msgid ""
-"CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
-"implicit directory rename(s) putting the following path(s) there: %s."
-msgstr ""
-
-#: merge-ort.c:2098 merge-recursive.c:2145
-#, c-format
-msgid ""
-"CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
-"implicit directory renames tried to put these paths there: %s"
-msgstr ""
-
-#: merge-ort.c:2156
-#, c-format
-msgid ""
-"CONFLICT (directory rename split): Unclear where to rename %s to; it was "
-"renamed to multiple other directories, with no destination getting a "
-"majority of the files."
-msgstr ""
-
-#: merge-ort.c:2310 merge-recursive.c:2481
-#, c-format
-msgid ""
-"WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
-"renamed."
-msgstr ""
-
-#: merge-ort.c:2450 merge-recursive.c:3264
-#, c-format
-msgid ""
-"Path updated: %s added in %s inside a directory that was renamed in %s; "
-"moving it to %s."
-msgstr ""
-
-#: merge-ort.c:2457 merge-recursive.c:3271
-#, c-format
-msgid ""
-"Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
-"%s; moving it to %s."
-msgstr ""
-
-#: merge-ort.c:2470 merge-recursive.c:3267
-#, c-format
-msgid ""
-"CONFLICT (file location): %s added in %s inside a directory that was renamed "
-"in %s, suggesting it should perhaps be moved to %s."
-msgstr ""
-
-#: merge-ort.c:2478 merge-recursive.c:3274
-#, c-format
-msgid ""
-"CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
-"was renamed in %s, suggesting it should perhaps be moved to %s."
-msgstr ""
-
-#: merge-ort.c:2634
-#, c-format
-msgid "CONFLICT (rename/rename): %s renamed to %s in %s and to %s in %s."
-msgstr ""
-
-#: merge-ort.c:2729
-#, c-format
-msgid ""
-"CONFLICT (rename involved in collision): rename of %s -> %s has content "
-"conflicts AND collides with another path; this may result in nested conflict "
-"markers."
-msgstr ""
-
-#: merge-ort.c:2748 merge-ort.c:2772
-#, c-format
-msgid "CONFLICT (rename/delete): %s renamed to %s in %s, but deleted in %s."
-msgstr ""
-
-#: merge-ort.c:3261 merge-recursive.c:3025
-#, c-format
-msgid "cannot read object %s"
-msgstr ""
-
-#: merge-ort.c:3264 merge-recursive.c:3028
-#, c-format
-msgid "object %s is not a blob"
-msgstr ""
-
-#: merge-ort.c:3693
-#, c-format
-msgid ""
-"CONFLICT (file/directory): directory in the way of %s from %s; moving it to "
-"%s instead."
-msgstr ""
-
-#: merge-ort.c:3770
-#, c-format
-msgid ""
-"CONFLICT (distinct types): %s had different types on each side; renamed both "
-"of them so each can be recorded somewhere."
-msgstr ""
-
-#: merge-ort.c:3777
-#, c-format
-msgid ""
-"CONFLICT (distinct types): %s had different types on each side; renamed one "
-"of them so each can be recorded somewhere."
-msgstr ""
-
-#: merge-ort.c:3866 merge-recursive.c:3104
-msgid "content"
-msgstr ""
-
-#: merge-ort.c:3868 merge-recursive.c:3108
-msgid "add/add"
-msgstr ""
-
-#: merge-ort.c:3870 merge-recursive.c:3153
-msgid "submodule"
-msgstr ""
-
-#: merge-ort.c:3872 merge-recursive.c:3154
-#, c-format
-msgid "CONFLICT (%s): Merge conflict in %s"
-msgstr ""
-
-#: merge-ort.c:3916
-#, c-format
-msgid ""
-"CONFLICT (modify/delete): %s deleted in %s and modified in %s.  Version %s "
-"of %s left in tree."
-msgstr ""
-
-#: merge-ort.c:4212
-#, c-format
-msgid ""
-"Note: %s not up to date and in way of checking out conflicted version; old "
-"copy renamed to %s"
-msgstr ""
-
-#. TRANSLATORS: The %s arguments are: 1) tree hash of a merge
-#. base, and 2-3) the trees for the two trees we're merging.
-#.
-#: merge-ort.c:4586
-#, c-format
-msgid "collecting merge info failed for trees %s, %s, %s"
-msgstr ""
-
-#: merge-ort-wrappers.c:13 merge-recursive.c:3723
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"  %s"
-msgstr ""
-
-#: merge-ort-wrappers.c:33 merge-recursive.c:3485 builtin/merge.c:405
-msgid "Already up to date."
-msgstr ""
-
-#: merge-recursive.c:353
-msgid "(bad commit)\n"
-msgstr ""
-
-#: merge-recursive.c:381
-#, c-format
-msgid "add_cacheinfo failed for path '%s'; merge aborting."
-msgstr ""
-
-#: merge-recursive.c:390
-#, c-format
-msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
-msgstr ""
-
-#: merge-recursive.c:881
-#, c-format
-msgid "failed to create path '%s'%s"
-msgstr ""
-
-#: merge-recursive.c:892
-#, c-format
-msgid "Removing %s to make room for subdirectory\n"
-msgstr ""
-
-#: merge-recursive.c:906 merge-recursive.c:925
-msgid ": perhaps a D/F conflict?"
-msgstr ""
-
-#: merge-recursive.c:915
-#, c-format
-msgid "refusing to lose untracked file at '%s'"
-msgstr ""
-
-#: merge-recursive.c:956 builtin/cat-file.c:47
-#, c-format
-msgid "cannot read object %s '%s'"
-msgstr ""
-
-#: merge-recursive.c:961
-#, c-format
-msgid "blob expected for %s '%s'"
-msgstr ""
-
-#: merge-recursive.c:986
-#, c-format
-msgid "failed to open '%s': %s"
-msgstr ""
-
-#: merge-recursive.c:997
-#, c-format
-msgid "failed to symlink '%s': %s"
-msgstr ""
-
-#: merge-recursive.c:1002
-#, c-format
-msgid "do not know what to do with %06o %s '%s'"
-msgstr ""
-
-#: merge-recursive.c:1236 merge-recursive.c:1249
-#, c-format
-msgid "Fast-forwarding submodule %s to the following commit:"
-msgstr ""
-
-#: merge-recursive.c:1239 merge-recursive.c:1252
-#, c-format
-msgid "Fast-forwarding submodule %s"
-msgstr ""
-
-#: merge-recursive.c:1276
-#, c-format
-msgid "Failed to merge submodule %s (merge following commits not found)"
-msgstr ""
-
-#: merge-recursive.c:1280
-#, c-format
-msgid "Failed to merge submodule %s (not fast-forward)"
-msgstr ""
-
-#: merge-recursive.c:1281
-msgid "Found a possible merge resolution for the submodule:\n"
-msgstr ""
-
-#: merge-recursive.c:1293
-#, c-format
-msgid "Failed to merge submodule %s (multiple merges found)"
-msgstr ""
-
-#: merge-recursive.c:1437
-#, c-format
-msgid "Error: Refusing to lose untracked file at %s; writing to %s instead."
-msgstr ""
-
-#: merge-recursive.c:1509
-#, c-format
-msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
-"in tree."
-msgstr ""
-
-#: merge-recursive.c:1514
-#, c-format
-msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
-"left in tree."
-msgstr ""
-
-#: merge-recursive.c:1521
-#, c-format
-msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
-"in tree at %s."
-msgstr ""
-
-#: merge-recursive.c:1526
-#, c-format
-msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
-"left in tree at %s."
-msgstr ""
-
-#: merge-recursive.c:1561
-msgid "rename"
-msgstr ""
-
-#: merge-recursive.c:1561
-msgid "renamed"
-msgstr ""
-
-#: merge-recursive.c:1612 merge-recursive.c:2518 merge-recursive.c:3181
-#, c-format
-msgid "Refusing to lose dirty file at %s"
-msgstr ""
-
-#: merge-recursive.c:1622
-#, c-format
-msgid "Refusing to lose untracked file at %s, even though it's in the way."
-msgstr ""
-
-#: merge-recursive.c:1680
-#, c-format
-msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
-msgstr ""
-
-#: merge-recursive.c:1711
-#, c-format
-msgid "%s is a directory in %s adding as %s instead"
-msgstr ""
-
-#: merge-recursive.c:1716
-#, c-format
-msgid "Refusing to lose untracked file at %s; adding as %s instead"
-msgstr ""
-
-#: merge-recursive.c:1743
-#, c-format
-msgid ""
-"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
-"\"->\"%s\" in \"%s\"%s"
-msgstr ""
-
-#: merge-recursive.c:1748
-msgid " (left unresolved)"
-msgstr ""
-
-#: merge-recursive.c:1840
-#, c-format
-msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
-msgstr ""
-
-#: merge-recursive.c:2103
-#, c-format
-msgid ""
-"CONFLICT (directory rename split): Unclear where to place %s because "
-"directory %s was renamed to multiple other directories, with no destination "
-"getting a majority of the files."
-msgstr ""
-
-#: merge-recursive.c:2237
-#, c-format
-msgid ""
-"CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
-">%s in %s"
-msgstr ""
-
-#: merge-recursive.c:3092
-msgid "modify"
-msgstr ""
-
-#: merge-recursive.c:3092
-msgid "modified"
-msgstr ""
-
-#: merge-recursive.c:3131
-#, c-format
-msgid "Skipped %s (merged same as existing)"
-msgstr ""
-
-#: merge-recursive.c:3184
-#, c-format
-msgid "Adding as %s instead"
-msgstr ""
-
-#: merge-recursive.c:3388
-#, c-format
-msgid "Removing %s"
-msgstr ""
-
-#: merge-recursive.c:3411
-msgid "file/directory"
-msgstr ""
-
-#: merge-recursive.c:3416
-msgid "directory/file"
-msgstr ""
-
-#: merge-recursive.c:3423
-#, c-format
-msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
-msgstr ""
-
-#: merge-recursive.c:3432
-#, c-format
-msgid "Adding %s"
-msgstr ""
-
-#: merge-recursive.c:3441
-#, c-format
-msgid "CONFLICT (add/add): Merge conflict in %s"
-msgstr ""
-
-#: merge-recursive.c:3494
-#, c-format
-msgid "merging of trees %s and %s failed"
-msgstr ""
-
-#: merge-recursive.c:3588
-msgid "Merging:"
-msgstr ""
-
-#: merge-recursive.c:3601
-#, c-format
-msgid "found %u common ancestor:"
-msgid_plural "found %u common ancestors:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: merge-recursive.c:3651
-msgid "merge returned no commit"
-msgstr ""
-
-#: merge-recursive.c:3823
-#, c-format
-msgid "Could not parse object '%s'"
-msgstr ""
-
-#: merge-recursive.c:3841 builtin/merge.c:720 builtin/merge.c:912
-#: builtin/stash.c:489
-msgid "Unable to write index."
-msgstr ""
-
-#: merge.c:41
-msgid "failed to read the cache"
-msgstr ""
-
-#: merge.c:102 rerere.c:705 builtin/am.c:1989 builtin/am.c:2023
-#: builtin/checkout.c:603 builtin/checkout.c:865 builtin/clone.c:714
-#: builtin/stash.c:269
-msgid "unable to write new index file"
-msgstr ""
-
-#: midx.c:79
-msgid "multi-pack-index OID fanout is of the wrong size"
-msgstr ""
-
-#: midx.c:112
-#, c-format
-msgid "multi-pack-index file %s is too small"
-msgstr ""
-
-#: midx.c:128
-#, c-format
-msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
-msgstr ""
-
-#: midx.c:133
-#, c-format
-msgid "multi-pack-index version %d not recognized"
-msgstr ""
-
-#: midx.c:138
-#, c-format
-msgid "multi-pack-index hash version %u does not match version %u"
-msgstr ""
-
-#: midx.c:155
-msgid "multi-pack-index missing required pack-name chunk"
-msgstr ""
-
-#: midx.c:157
-msgid "multi-pack-index missing required OID fanout chunk"
-msgstr ""
-
-#: midx.c:159
-msgid "multi-pack-index missing required OID lookup chunk"
-msgstr ""
-
-#: midx.c:161
-msgid "multi-pack-index missing required object offsets chunk"
-msgstr ""
-
-#: midx.c:180
-#, c-format
-msgid "multi-pack-index pack names out of order: '%s' before '%s'"
-msgstr ""
-
-#: midx.c:228
-#, c-format
-msgid "bad pack-int-id: %u (%u total packs)"
-msgstr ""
-
-#: midx.c:278
-msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
-msgstr ""
-
-#: midx.c:509
-#, c-format
-msgid "failed to add packfile '%s'"
-msgstr ""
-
-#: midx.c:515
-#, c-format
-msgid "failed to open pack-index '%s'"
-msgstr ""
-
-#: midx.c:583
-#, c-format
-msgid "failed to locate object %d in packfile"
-msgstr ""
-
-#: midx.c:911
-msgid "cannot store reverse index file"
-msgstr ""
-
-#: midx.c:1009
-#, c-format
-msgid "could not parse line: %s"
-msgstr ""
-
-#: midx.c:1011
-#, c-format
-msgid "malformed line: %s"
-msgstr ""
-
-#: midx.c:1181
-msgid "ignoring existing multi-pack-index; checksum mismatch"
-msgstr ""
-
-#: midx.c:1206
-msgid "could not load pack"
-msgstr ""
-
-#: midx.c:1212
-#, c-format
-msgid "could not open index for %s"
-msgstr ""
-
-#: midx.c:1223
-msgid "Adding packfiles to multi-pack-index"
-msgstr ""
-
-#: midx.c:1266
-#, c-format
-msgid "unknown preferred pack: '%s'"
-msgstr ""
-
-#: midx.c:1311
-#, c-format
-msgid "cannot select preferred pack %s with no objects"
-msgstr ""
-
-#: midx.c:1343
-#, c-format
-msgid "did not see pack-file %s to drop"
-msgstr ""
-
-#: midx.c:1389
-#, c-format
-msgid "preferred pack '%s' is expired"
-msgstr ""
-
-#: midx.c:1402
-msgid "no pack files to index."
-msgstr ""
-
-#: midx.c:1409
-msgid "refusing to write multi-pack .bitmap without any objects"
-msgstr ""
-
-#: midx.c:1451
-msgid "could not write multi-pack bitmap"
-msgstr ""
-
-#: midx.c:1461
-msgid "could not write multi-pack-index"
-msgstr ""
-
-#: midx.c:1520 builtin/clean.c:37
-#, c-format
-msgid "failed to remove %s"
-msgstr ""
-
-#: midx.c:1553
-#, c-format
-msgid "failed to clear multi-pack-index at %s"
-msgstr ""
-
-#: midx.c:1616
-msgid "multi-pack-index file exists, but failed to parse"
-msgstr ""
-
-#: midx.c:1624
-msgid "incorrect checksum"
-msgstr ""
-
-#: midx.c:1627
-msgid "Looking for referenced packfiles"
-msgstr ""
-
-#: midx.c:1642
-#, c-format
-msgid ""
-"oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
-msgstr ""
-
-#: midx.c:1647
-msgid "the midx contains no oid"
-msgstr ""
-
-#: midx.c:1656
-msgid "Verifying OID order in multi-pack-index"
-msgstr ""
-
-#: midx.c:1665
-#, c-format
-msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
-msgstr ""
-
-#: midx.c:1685
-msgid "Sorting objects by packfile"
-msgstr ""
-
-#: midx.c:1692
-msgid "Verifying object offsets"
-msgstr ""
-
-#: midx.c:1708
-#, c-format
-msgid "failed to load pack entry for oid[%d] = %s"
-msgstr ""
-
-#: midx.c:1714
-#, c-format
-msgid "failed to load pack-index for packfile %s"
-msgstr ""
-
-#: midx.c:1723
-#, c-format
-msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
-msgstr ""
-
-#: midx.c:1750
-msgid "Counting referenced objects"
-msgstr ""
-
-#: midx.c:1760
-msgid "Finding and deleting unreferenced packfiles"
-msgstr ""
-
-#: midx.c:1952
-msgid "could not start pack-objects"
-msgstr ""
-
-#: midx.c:1972
-msgid "could not finish pack-objects"
-msgstr ""
-
-#: name-hash.c:542
-#, c-format
-msgid "unable to create lazy_dir thread: %s"
-msgstr ""
-
-#: name-hash.c:564
-#, c-format
-msgid "unable to create lazy_name thread: %s"
-msgstr ""
-
-#: name-hash.c:570
-#, c-format
-msgid "unable to join lazy_name thread: %s"
-msgstr ""
-
-#: notes-merge.c:276
-#, c-format
-msgid ""
-"You have not concluded your previous notes merge (%s exists).\n"
-"Please, use 'git notes merge --commit' or 'git notes merge --abort' to "
-"commit/abort the previous merge before you start a new notes merge."
-msgstr ""
-
-#: notes-merge.c:283
-#, c-format
-msgid "You have not concluded your notes merge (%s exists)."
-msgstr ""
-
-#: notes-utils.c:46
-msgid "Cannot commit uninitialized/unreferenced notes tree"
-msgstr ""
-
-#: notes-utils.c:105
-#, c-format
-msgid "Bad notes.rewriteMode value: '%s'"
-msgstr ""
-
-#: notes-utils.c:115
-#, c-format
-msgid "Refusing to rewrite notes in %s (outside of refs/notes/)"
-msgstr ""
-
-#. TRANSLATORS: The first %s is the name of
-#. the environment variable, the second %s is
-#. its value.
-#.
-#: notes-utils.c:145
-#, c-format
-msgid "Bad %s value: '%s'"
-msgstr ""
-
-#: object-file.c:457
-#, c-format
-msgid "object directory %s does not exist; check .git/objects/info/alternates"
-msgstr ""
-
-#: object-file.c:515
-#, c-format
-msgid "unable to normalize alternate object path: %s"
-msgstr ""
-
-#: object-file.c:589
-#, c-format
-msgid "%s: ignoring alternate object stores, nesting too deep"
-msgstr ""
-
-#: object-file.c:596
-#, c-format
-msgid "unable to normalize object directory: %s"
-msgstr ""
-
-#: object-file.c:639
-msgid "unable to fdopen alternates lockfile"
-msgstr ""
-
-#: object-file.c:657
-msgid "unable to read alternates file"
-msgstr ""
-
-#: object-file.c:664
-msgid "unable to move new alternates file into place"
-msgstr ""
-
-#: object-file.c:742
-#, c-format
-msgid "path '%s' does not exist"
-msgstr ""
-
-#: object-file.c:763
-#, c-format
-msgid "reference repository '%s' as a linked checkout is not supported yet."
-msgstr ""
-
-#: object-file.c:769
-#, c-format
-msgid "reference repository '%s' is not a local repository."
-msgstr ""
-
-#: object-file.c:775
-#, c-format
-msgid "reference repository '%s' is shallow"
-msgstr ""
-
-#: object-file.c:783
-#, c-format
-msgid "reference repository '%s' is grafted"
-msgstr ""
-
-#: object-file.c:814
-#, c-format
-msgid "could not find object directory matching %s"
-msgstr ""
-
-#: object-file.c:864
-#, c-format
-msgid "invalid line while parsing alternate refs: %s"
-msgstr ""
-
-#: object-file.c:1014
-#, c-format
-msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
-msgstr ""
-
-#: object-file.c:1049
-#, c-format
-msgid "mmap failed%s"
-msgstr ""
-
-#: object-file.c:1230
-#, c-format
-msgid "object file %s is empty"
-msgstr ""
-
-#: object-file.c:1349 object-file.c:2588
-#, c-format
-msgid "corrupt loose object '%s'"
-msgstr ""
-
-#: object-file.c:1351 object-file.c:2592
-#, c-format
-msgid "garbage at end of loose object '%s'"
-msgstr ""
-
-#: object-file.c:1473
-#, c-format
-msgid "unable to parse %s header"
-msgstr ""
-
-#: object-file.c:1475
-msgid "invalid object type"
-msgstr ""
-
-#: object-file.c:1486
-#, c-format
-msgid "unable to unpack %s header"
-msgstr ""
-
-#: object-file.c:1490
-#, c-format
-msgid "header for %s too long, exceeds %d bytes"
-msgstr ""
-
-#: object-file.c:1720
-#, c-format
-msgid "failed to read object %s"
-msgstr ""
-
-#: object-file.c:1724
-#, c-format
-msgid "replacement %s not found for %s"
-msgstr ""
-
-#: object-file.c:1728
-#, c-format
-msgid "loose object %s (stored in %s) is corrupt"
-msgstr ""
-
-#: object-file.c:1732
-#, c-format
-msgid "packed object %s (stored in %s) is corrupt"
-msgstr ""
-
-#: object-file.c:1855
-#, c-format
-msgid "unable to write file %s"
-msgstr ""
-
-#: object-file.c:1862
-#, c-format
-msgid "unable to set permission to '%s'"
-msgstr ""
-
-#: object-file.c:1869
-msgid "file write error"
-msgstr ""
-
-#: object-file.c:1904
-msgid "error when closing loose object file"
-msgstr ""
-
-#: object-file.c:1971
-#, c-format
-msgid "insufficient permission for adding an object to repository database %s"
-msgstr ""
-
-#: object-file.c:1973
-msgid "unable to create temporary file"
-msgstr ""
-
-#: object-file.c:1997
-msgid "unable to write loose object file"
-msgstr ""
-
-#: object-file.c:2003
-#, c-format
-msgid "unable to deflate new object %s (%d)"
-msgstr ""
-
-#: object-file.c:2007
-#, c-format
-msgid "deflateEnd on object %s failed (%d)"
-msgstr ""
-
-#: object-file.c:2011
-#, c-format
-msgid "confused by unstable object source data for %s"
-msgstr ""
-
-#: object-file.c:2022 builtin/pack-objects.c:1251
-#, c-format
-msgid "failed utime() on %s"
-msgstr ""
-
-#: object-file.c:2100
-#, c-format
-msgid "cannot read object for %s"
-msgstr ""
-
-#: object-file.c:2151
-msgid "corrupt commit"
-msgstr ""
-
-#: object-file.c:2159
-msgid "corrupt tag"
-msgstr ""
-
-#: object-file.c:2259
-#, c-format
-msgid "read error while indexing %s"
-msgstr ""
-
-#: object-file.c:2262
-#, c-format
-msgid "short read while indexing %s"
-msgstr ""
-
-#: object-file.c:2335 object-file.c:2345
-#, c-format
-msgid "%s: failed to insert into database"
-msgstr ""
-
-#: object-file.c:2351
-#, c-format
-msgid "%s: unsupported file type"
-msgstr ""
-
-#: object-file.c:2375 builtin/fetch.c:1494
-#, c-format
-msgid "%s is not a valid object"
-msgstr ""
-
-#: object-file.c:2377
-#, c-format
-msgid "%s is not a valid '%s' object"
-msgstr ""
-
-#: object-file.c:2404
-#, c-format
-msgid "unable to open %s"
-msgstr ""
-
-#: object-file.c:2599
-#, c-format
-msgid "hash mismatch for %s (expected %s)"
-msgstr ""
-
-#: object-file.c:2622
-#, c-format
-msgid "unable to mmap %s"
-msgstr ""
-
-#: object-file.c:2628
-#, c-format
-msgid "unable to unpack header of %s"
-msgstr ""
-
-#: object-file.c:2633
-#, c-format
-msgid "unable to parse header of %s"
-msgstr ""
-
-#: object-file.c:2644
-#, c-format
-msgid "unable to unpack contents of %s"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous object
-#. output shown when we cannot look up or parse the
-#. object in question. E.g. "deadbeef [bad object]".
-#.
-#: object-name.c:382
-#, c-format
-msgid "%s [bad object]"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous commit
-#. object output. E.g.:
-#. *
-#.    "deadbeef commit 2021-01-01 - Some Commit Message"
-#.
-#: object-name.c:407
-#, c-format
-msgid "%s commit %s - %s"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous
-#. tag object output. E.g.:
-#. *
-#.    "deadbeef tag 2022-01-01 - Some Tag Message"
-#. *
-#. The second argument is the YYYY-MM-DD found
-#. in the tag.
-#. *
-#. The third argument is the "tag" string
-#. from object.c.
-#.
-#: object-name.c:428
-#, c-format
-msgid "%s tag %s - %s"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous
-#. tag object output where we couldn't parse
-#. the tag itself. E.g.:
-#. *
-#.    "deadbeef [bad tag, could not parse it]"
-#.
-#: object-name.c:439
-#, c-format
-msgid "%s [bad tag, could not parse it]"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous <type>
-#. object output. E.g. "deadbeef tree".
-#.
-#: object-name.c:447
-#, c-format
-msgid "%s tree"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous <type>
-#. object output. E.g. "deadbeef blob".
-#.
-#: object-name.c:453
-#, c-format
-msgid "%s blob"
-msgstr ""
-
-#: object-name.c:569
-#, c-format
-msgid "short object ID %s is ambiguous"
-msgstr ""
-
-#. TRANSLATORS: The argument is the list of ambiguous
-#. objects composed in show_ambiguous_object(). See
-#. its "TRANSLATORS" comments for details.
-#.
-#: object-name.c:591
-#, c-format
-msgid ""
-"The candidates are:\n"
-"%s"
-msgstr ""
-
-#: object-name.c:888
-msgid ""
-"Git normally never creates a ref that ends with 40 hex characters\n"
-"because it will be ignored when you just specify 40-hex. These refs\n"
-"may be created by mistake. For example,\n"
-"\n"
-"  git switch -c $br $(git rev-parse ...)\n"
-"\n"
-"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
-"examine these refs and maybe delete them. Turn this message off by\n"
-"running \"git config advice.objectNameWarning false\""
-msgstr ""
-
-#: object-name.c:1008
-#, c-format
-msgid "log for '%.*s' only goes back to %s"
-msgstr ""
-
-#: object-name.c:1016
-#, c-format
-msgid "log for '%.*s' only has %d entries"
-msgstr ""
-
-#: object-name.c:1794
-#, c-format
-msgid "path '%s' exists on disk, but not in '%.*s'"
-msgstr ""
-
-#: object-name.c:1800
-#, c-format
-msgid ""
-"path '%s' exists, but not '%s'\n"
-"hint: Did you mean '%.*s:%s' aka '%.*s:./%s'?"
-msgstr ""
-
-#: object-name.c:1809
-#, c-format
-msgid "path '%s' does not exist in '%.*s'"
-msgstr ""
-
-#: object-name.c:1837
-#, c-format
-msgid ""
-"path '%s' is in the index, but not at stage %d\n"
-"hint: Did you mean ':%d:%s'?"
-msgstr ""
-
-#: object-name.c:1853
-#, c-format
-msgid ""
-"path '%s' is in the index, but not '%s'\n"
-"hint: Did you mean ':%d:%s' aka ':%d:./%s'?"
-msgstr ""
-
-#: object-name.c:1861
-#, c-format
-msgid "path '%s' exists on disk, but not in the index"
-msgstr ""
-
-#: object-name.c:1863
-#, c-format
-msgid "path '%s' does not exist (neither on disk nor in the index)"
-msgstr ""
-
-#: object-name.c:1876
-msgid "relative path syntax can't be used outside working tree"
-msgstr ""
-
-#: object-name.c:1901
-#, c-format
-msgid "<object>:<path> required, only <object> '%s' given"
-msgstr ""
-
-#: object-name.c:2014
-#, c-format
-msgid "invalid object name '%.*s'."
-msgstr ""
-
-#: object.c:53
-#, c-format
-msgid "invalid object type \"%s\""
-msgstr ""
-
-#: object.c:173
-#, c-format
-msgid "object %s is a %s, not a %s"
-msgstr ""
-
-#: object.c:250
-#, c-format
-msgid "object %s has unknown type id %d"
-msgstr ""
-
-#: object.c:263
-#, c-format
-msgid "unable to parse object: %s"
-msgstr ""
-
-#: object.c:283 object.c:294
-#, c-format
-msgid "hash mismatch %s"
-msgstr ""
-
-#: pack-bitmap.c:353
-msgid "multi-pack bitmap is missing required reverse index"
-msgstr ""
-
-#: pack-bitmap.c:433
-msgid "load_reverse_index: could not open pack"
-msgstr ""
-
-#: pack-bitmap.c:1072 pack-bitmap.c:1078 builtin/pack-objects.c:2432
-#, c-format
-msgid "unable to get size of %s"
-msgstr ""
-
-#: pack-bitmap.c:1937
-#, c-format
-msgid "could not find %s in pack %s at offset %<PRIuMAX>"
-msgstr ""
-
-#: pack-bitmap.c:1973 builtin/rev-list.c:91
-#, c-format
-msgid "unable to get disk usage of %s"
-msgstr ""
-
-#: pack-revindex.c:221
-#, c-format
-msgid "reverse-index file %s is too small"
-msgstr ""
-
-#: pack-revindex.c:226
-#, c-format
-msgid "reverse-index file %s is corrupt"
-msgstr ""
-
-#: pack-revindex.c:234
-#, c-format
-msgid "reverse-index file %s has unknown signature"
-msgstr ""
-
-#: pack-revindex.c:238
-#, c-format
-msgid "reverse-index file %s has unsupported version %<PRIu32>"
-msgstr ""
-
-#: pack-revindex.c:243
-#, c-format
-msgid "reverse-index file %s has unsupported hash id %<PRIu32>"
-msgstr ""
-
-#: pack-write.c:251
-msgid "cannot both write and verify reverse index"
-msgstr ""
-
-#: pack-write.c:270
-#, c-format
-msgid "could not stat: %s"
-msgstr ""
-
-#: pack-write.c:282
-#, c-format
-msgid "failed to make %s readable"
-msgstr ""
-
-#: pack-write.c:521
-#, c-format
-msgid "could not write '%s' promisor file"
-msgstr ""
-
-#: packfile.c:627
-msgid "offset before end of packfile (broken .idx?)"
-msgstr ""
-
-#: packfile.c:657
-#, c-format
-msgid "packfile %s cannot be mapped%s"
-msgstr ""
-
-#: packfile.c:1924
-#, c-format
-msgid "offset before start of pack index for %s (corrupt index?)"
-msgstr ""
-
-#: packfile.c:1928
-#, c-format
-msgid "offset beyond end of pack index for %s (truncated index?)"
-msgstr ""
-
-#: parse-options-cb.c:21 parse-options-cb.c:25 builtin/commit-graph.c:175
-#, c-format
-msgid "option `%s' expects a numerical value"
-msgstr ""
-
-#: parse-options-cb.c:42
-#, c-format
-msgid "malformed expiration date '%s'"
-msgstr ""
-
-#: parse-options-cb.c:55
-#, c-format
-msgid "option `%s' expects \"always\", \"auto\", or \"never\""
-msgstr ""
-
-#: parse-options-cb.c:133 parse-options-cb.c:150
-#, c-format
-msgid "malformed object name '%s'"
-msgstr ""
-
-#: parse-options-cb.c:307
-#, c-format
-msgid "option `%s' expects \"%s\" or \"%s\""
-msgstr ""
-
-#: parse-options.c:58
-#, c-format
-msgid "%s requires a value"
-msgstr ""
-
-#: parse-options.c:93
-#, c-format
-msgid "%s is incompatible with %s"
-msgstr ""
-
-#: parse-options.c:98
-#, c-format
-msgid "%s : incompatible with something else"
-msgstr ""
-
-#: parse-options.c:112 parse-options.c:116
-#, c-format
-msgid "%s takes no value"
-msgstr ""
-
-#: parse-options.c:114
-#, c-format
-msgid "%s isn't available"
-msgstr ""
-
-#: parse-options.c:237
-#, c-format
-msgid "%s expects a non-negative integer value with an optional k/m/g suffix"
-msgstr ""
-
-#: parse-options.c:393
-#, c-format
-msgid "ambiguous option: %s (could be --%s%s or --%s%s)"
-msgstr ""
-
-#: parse-options.c:428 parse-options.c:436
-#, c-format
-msgid "did you mean `--%s` (with two dashes)?"
-msgstr ""
-
-#: parse-options.c:678 parse-options.c:1054
-#, c-format
-msgid "alias of --%s"
-msgstr ""
-
-#: parse-options.c:892
-#, c-format
-msgid "unknown option `%s'"
-msgstr ""
-
-#: parse-options.c:894
-#, c-format
-msgid "unknown switch `%c'"
-msgstr ""
-
-#: parse-options.c:896
-#, c-format
-msgid "unknown non-ascii option in string: `%s'"
-msgstr ""
-
-#: parse-options.c:920
-msgid "..."
-msgstr ""
-
-#: parse-options.c:934
-#, c-format
-msgid "usage: %s"
-msgstr ""
-
-#. TRANSLATORS: the colon here should align with the
-#. one in "usage: %s" translation.
-#.
-#: parse-options.c:949
-#, c-format
-msgid "   or: %s"
-msgstr ""
-
-#. TRANSLATORS: You should only need to translate this format
-#. string if your language is a RTL language (e.g. Arabic,
-#. Hebrew etc.), not if it's a LTR language (e.g. German,
-#. Russian, Chinese etc.).
-#. *
-#. When a translated usage string has an embedded "\n" it's
-#. because options have wrapped to the next line. The line
-#. after the "\n" will then be padded to align with the
-#. command name, such as N_("git cmd [opt]\n<8
-#. spaces>[opt2]"), where the 8 spaces are the same length as
-#. "git cmd ".
-#. *
-#. This format string prints out that already-translated
-#. line. The "%*s" is whitespace padding to account for the
-#. padding at the start of the line that we add in this
-#. function. The "%s" is a line in the (hopefully already
-#. translated) N_() usage string, which contained embedded
-#. newlines before we split it up.
-#.
-#: parse-options.c:970
-#, c-format
-msgid "%*s%s"
-msgstr ""
-
-#: parse-options.c:993
-#, c-format
-msgid "    %s"
-msgstr ""
-
-#: parse-options.c:1040
-msgid "-NUM"
-msgstr ""
-
-#: path.c:922
-#, c-format
-msgid "Could not make %s writable by group"
-msgstr ""
-
-#: pathspec.c:150
-msgid "Escape character '\\' not allowed as last character in attr value"
-msgstr ""
-
-#: pathspec.c:168
-msgid "Only one 'attr:' specification is allowed."
-msgstr ""
-
-#: pathspec.c:171
-msgid "attr spec must not be empty"
-msgstr ""
-
-#: pathspec.c:214
-#, c-format
-msgid "invalid attribute name %s"
-msgstr ""
-
-#: pathspec.c:279
-msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
-msgstr ""
-
-#: pathspec.c:286
-msgid ""
-"global 'literal' pathspec setting is incompatible with all other global "
-"pathspec settings"
-msgstr ""
-
-#: pathspec.c:326
-msgid "invalid parameter for pathspec magic 'prefix'"
-msgstr ""
-
-#: pathspec.c:347
-#, c-format
-msgid "Invalid pathspec magic '%.*s' in '%s'"
-msgstr ""
-
-#: pathspec.c:352
-#, c-format
-msgid "Missing ')' at the end of pathspec magic in '%s'"
-msgstr ""
-
-#: pathspec.c:390
-#, c-format
-msgid "Unimplemented pathspec magic '%c' in '%s'"
-msgstr ""
-
-#: pathspec.c:449
-#, c-format
-msgid "%s: 'literal' and 'glob' are incompatible"
-msgstr ""
-
-#: pathspec.c:465
-#, c-format
-msgid "%s: '%s' is outside repository at '%s'"
-msgstr ""
-
-#: pathspec.c:541
-#, c-format
-msgid "'%s' (mnemonic: '%c')"
-msgstr ""
-
-#: pathspec.c:551
-#, c-format
-msgid "%s: pathspec magic not supported by this command: %s"
-msgstr ""
-
-#: pathspec.c:618
-#, c-format
-msgid "pathspec '%s' is beyond a symbolic link"
-msgstr ""
-
-#: pathspec.c:663
-#, c-format
-msgid "line is badly quoted: %s"
-msgstr ""
-
-#: pkt-line.c:92
-msgid "unable to write flush packet"
-msgstr ""
-
-#: pkt-line.c:99
-msgid "unable to write delim packet"
-msgstr ""
-
-#: pkt-line.c:106
-msgid "unable to write response end packet"
-msgstr ""
-
-#: pkt-line.c:113
-msgid "flush packet write failed"
-msgstr ""
-
-#: pkt-line.c:153
-msgid "protocol error: impossibly long line"
-msgstr ""
-
-#: pkt-line.c:169 pkt-line.c:171
-msgid "packet write with format failed"
-msgstr ""
-
-#: pkt-line.c:204 pkt-line.c:252
-msgid "packet write failed - data exceeds max packet size"
-msgstr ""
-
-#: pkt-line.c:222
-#, c-format
-msgid "packet write failed: %s"
-msgstr ""
-
-#: pkt-line.c:349 pkt-line.c:350
-msgid "read error"
-msgstr ""
-
-#: pkt-line.c:360 pkt-line.c:361
-msgid "the remote end hung up unexpectedly"
-msgstr ""
-
-#: pkt-line.c:417 pkt-line.c:419
-#, c-format
-msgid "protocol error: bad line length character: %.4s"
-msgstr ""
-
-#: pkt-line.c:434 pkt-line.c:436 pkt-line.c:442 pkt-line.c:444
-#, c-format
-msgid "protocol error: bad line length %d"
-msgstr ""
-
-#: pkt-line.c:472 sideband.c:165
-#, c-format
-msgid "remote error: %s"
-msgstr ""
-
-#: preload-index.c:125
-msgid "Refreshing index"
-msgstr ""
-
-#: preload-index.c:144
-#, c-format
-msgid "unable to create threaded lstat: %s"
-msgstr ""
-
-#: pretty.c:1051
-msgid "unable to parse --pretty format"
-msgstr ""
-
-#: promisor-remote.c:31
-msgid "promisor-remote: unable to fork off fetch subprocess"
-msgstr ""
-
-#: promisor-remote.c:38 promisor-remote.c:40
-msgid "promisor-remote: could not write to fetch subprocess"
-msgstr ""
-
-#: promisor-remote.c:44
-msgid "promisor-remote: could not close stdin to fetch subprocess"
-msgstr ""
-
-#: promisor-remote.c:54
-#, c-format
-msgid "promisor remote name cannot begin with '/': %s"
-msgstr ""
-
-#: protocol-caps.c:103
-msgid "object-info: expected flush after arguments"
-msgstr ""
-
-#: prune-packed.c:35
-msgid "Removing duplicate objects"
-msgstr ""
-
-#: range-diff.c:68
-msgid "could not start `log`"
-msgstr ""
-
-#: range-diff.c:70
-msgid "could not read `log` output"
-msgstr ""
-
-#: range-diff.c:98 sequencer.c:5575
-#, c-format
-msgid "could not parse commit '%s'"
-msgstr ""
-
-#: range-diff.c:109
-#, c-format
-msgid ""
-"could not parse first line of `log` output: did not start with 'commit ': "
-"'%s'"
-msgstr ""
-
-#: range-diff.c:132
-#, c-format
-msgid "could not parse git header '%.*s'"
-msgstr ""
-
-#: range-diff.c:300
-msgid "failed to generate diff"
-msgstr ""
-
-#: range-diff.c:558 range-diff.c:560
-#, c-format
-msgid "could not parse log for '%s'"
-msgstr ""
-
-#: read-cache.c:737
-#, c-format
-msgid "will not add file alias '%s' ('%s' already exists in index)"
-msgstr ""
-
-#: read-cache.c:753
-msgid "cannot create an empty blob in the object database"
-msgstr ""
-
-#: read-cache.c:775
-#, c-format
-msgid "%s: can only add regular files, symbolic links or git-directories"
-msgstr ""
-
-#: read-cache.c:780 builtin/submodule--helper.c:3359
-#, c-format
-msgid "'%s' does not have a commit checked out"
-msgstr ""
-
-#: read-cache.c:832
-#, c-format
-msgid "unable to index file '%s'"
-msgstr ""
-
-#: read-cache.c:851
-#, c-format
-msgid "unable to add '%s' to index"
-msgstr ""
-
-#: read-cache.c:862
-#, c-format
-msgid "unable to stat '%s'"
-msgstr ""
-
-#: read-cache.c:1404
-#, c-format
-msgid "'%s' appears as both a file and as a directory"
-msgstr ""
-
-#: read-cache.c:1619
-msgid "Refresh index"
-msgstr ""
-
-#: read-cache.c:1751
-#, c-format
-msgid ""
-"index.version set, but the value is invalid.\n"
-"Using version %i"
-msgstr ""
-
-#: read-cache.c:1761
-#, c-format
-msgid ""
-"GIT_INDEX_VERSION set, but the value is invalid.\n"
-"Using version %i"
-msgstr ""
-
-#: read-cache.c:1817
-#, c-format
-msgid "bad signature 0x%08x"
-msgstr ""
-
-#: read-cache.c:1820
-#, c-format
-msgid "bad index version %d"
-msgstr ""
-
-#: read-cache.c:1829
-msgid "bad index file sha1 signature"
-msgstr ""
-
-#: read-cache.c:1863
-#, c-format
-msgid "index uses %.4s extension, which we do not understand"
-msgstr ""
-
-#: read-cache.c:1865
-#, c-format
-msgid "ignoring %.4s extension"
-msgstr ""
-
-#: read-cache.c:1902
-#, c-format
-msgid "unknown index entry format 0x%08x"
-msgstr ""
-
-#: read-cache.c:1918
-#, c-format
-msgid "malformed name field in the index, near path '%s'"
-msgstr ""
-
-#: read-cache.c:1975
-msgid "unordered stage entries in index"
-msgstr ""
-
-#: read-cache.c:1978
-#, c-format
-msgid "multiple stage entries for merged file '%s'"
-msgstr ""
-
-#: read-cache.c:1981
-#, c-format
-msgid "unordered stage entries for '%s'"
-msgstr ""
-
-#: read-cache.c:2096 read-cache.c:2402 rerere.c:549 rerere.c:583 rerere.c:1096
-#: submodule.c:1831 builtin/add.c:586 builtin/check-ignore.c:183
-#: builtin/checkout.c:532 builtin/checkout.c:724 builtin/clean.c:1016
-#: builtin/commit.c:379 builtin/diff-tree.c:122 builtin/grep.c:521
-#: builtin/mv.c:148 builtin/reset.c:506 builtin/rm.c:293
-#: builtin/submodule--helper.c:335 builtin/submodule--helper.c:3319
-msgid "index file corrupt"
-msgstr ""
-
-#: read-cache.c:2240
-#, c-format
-msgid "unable to create load_cache_entries thread: %s"
-msgstr ""
-
-#: read-cache.c:2253
-#, c-format
-msgid "unable to join load_cache_entries thread: %s"
-msgstr ""
-
-#: read-cache.c:2286
-#, c-format
-msgid "%s: index file open failed"
-msgstr ""
-
-#: read-cache.c:2290
-#, c-format
-msgid "%s: cannot stat the open index"
-msgstr ""
-
-#: read-cache.c:2294
-#, c-format
-msgid "%s: index file smaller than expected"
-msgstr ""
-
-#: read-cache.c:2298
-#, c-format
-msgid "%s: unable to map index file%s"
-msgstr ""
-
-#: read-cache.c:2341
-#, c-format
-msgid "unable to create load_index_extensions thread: %s"
-msgstr ""
-
-#: read-cache.c:2368
-#, c-format
-msgid "unable to join load_index_extensions thread: %s"
-msgstr ""
-
-#: read-cache.c:2414
-#, c-format
-msgid "could not freshen shared index '%s'"
-msgstr ""
-
-#: read-cache.c:2473
-#, c-format
-msgid "broken index, expect %s in %s, got %s"
-msgstr ""
-
-#: read-cache.c:3032
-msgid "cannot write split index for a sparse index"
-msgstr ""
-
-#: read-cache.c:3114 strbuf.c:1192 wrapper.c:717 builtin/merge.c:1156
-#, c-format
-msgid "could not close '%s'"
-msgstr ""
-
-#: read-cache.c:3157
-msgid "failed to convert to a sparse-index"
-msgstr ""
-
-#: read-cache.c:3228
-#, c-format
-msgid "could not stat '%s'"
-msgstr ""
-
-#: read-cache.c:3241
-#, c-format
-msgid "unable to open git dir: %s"
-msgstr ""
-
-#: read-cache.c:3253
-#, c-format
-msgid "unable to unlink: %s"
-msgstr ""
-
-#: read-cache.c:3282
-#, c-format
-msgid "cannot fix permission bits on '%s'"
-msgstr ""
-
-#: read-cache.c:3439
-#, c-format
-msgid "%s: cannot drop to stage #0"
-msgstr ""
-
-#: rebase-interactive.c:11
-msgid ""
-"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
-"continue'.\n"
-"Or you can abort the rebase with 'git rebase --abort'.\n"
-msgstr ""
-
-#: rebase-interactive.c:33
-#, c-format
-msgid ""
-"unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
-msgstr ""
-
-#: rebase-interactive.c:42
-msgid ""
-"\n"
-"Commands:\n"
-"p, pick <commit> = use commit\n"
-"r, reword <commit> = use commit, but edit the commit message\n"
-"e, edit <commit> = use commit, but stop for amending\n"
-"s, squash <commit> = use commit, but meld into previous commit\n"
-"f, fixup [-C | -c] <commit> = like \"squash\" but keep only the previous\n"
-"                   commit's log message, unless -C is used, in which case\n"
-"                   keep only this commit's message; -c is same as -C but\n"
-"                   opens the editor\n"
-"x, exec <command> = run command (the rest of the line) using shell\n"
-"b, break = stop here (continue rebase later with 'git rebase --continue')\n"
-"d, drop <commit> = remove commit\n"
-"l, label <label> = label current HEAD with a name\n"
-"t, reset <label> = reset HEAD to a label\n"
-"m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
-".       create a merge commit using the original merge commit's\n"
-".       message (or the oneline, if no original merge commit was\n"
-".       specified); use -c <commit> to reword the commit message\n"
-"\n"
-"These lines can be re-ordered; they are executed from top to bottom.\n"
-msgstr ""
-
-#: rebase-interactive.c:66
-#, c-format
-msgid "Rebase %s onto %s (%d command)"
-msgid_plural "Rebase %s onto %s (%d commands)"
-msgstr[0] ""
-msgstr[1] ""
-
-#: rebase-interactive.c:75
-msgid ""
-"\n"
-"Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
-msgstr ""
-
-#: rebase-interactive.c:78
-msgid ""
-"\n"
-"If you remove a line here THAT COMMIT WILL BE LOST.\n"
-msgstr ""
-
-#: rebase-interactive.c:84
-msgid ""
-"\n"
-"You are editing the todo file of an ongoing interactive rebase.\n"
-"To continue rebase after editing, run:\n"
-"    git rebase --continue\n"
-"\n"
-msgstr ""
-
-#: rebase-interactive.c:89
-msgid ""
-"\n"
-"However, if you remove everything, the rebase will be aborted.\n"
-"\n"
-msgstr ""
-
-#: rebase-interactive.c:113 rerere.c:469 rerere.c:677 sequencer.c:3879
-#: sequencer.c:3905 sequencer.c:5681 builtin/fsck.c:328 builtin/gc.c:1791
-#: builtin/rebase.c:191
-#, c-format
-msgid "could not write '%s'"
-msgstr ""
-
-#: rebase-interactive.c:119
-#, c-format
-msgid "could not write '%s'."
-msgstr ""
-
-#: rebase-interactive.c:196
-#, c-format
-msgid ""
-"Warning: some commits may have been dropped accidentally.\n"
-"Dropped commits (newer to older):\n"
-msgstr ""
-
-#: rebase-interactive.c:203
-#, c-format
-msgid ""
-"To avoid this message, use \"drop\" to explicitly remove a commit.\n"
-"\n"
-"Use 'git config rebase.missingCommitsCheck' to change the level of "
-"warnings.\n"
-"The possible behaviours are: ignore, warn, error.\n"
-"\n"
-msgstr ""
-
-#: rebase.c:29
-#, c-format
-msgid "%s: 'preserve' superseded by 'merges'"
-msgstr ""
-
-#: ref-filter.c:42 wt-status.c:2057
-msgid "gone"
-msgstr ""
-
-#: ref-filter.c:43
-#, c-format
-msgid "ahead %d"
-msgstr ""
-
-#: ref-filter.c:44
-#, c-format
-msgid "behind %d"
-msgstr ""
-
-#: ref-filter.c:45
-#, c-format
-msgid "ahead %d, behind %d"
-msgstr ""
-
-#: ref-filter.c:235
-#, c-format
-msgid "expected format: %%(color:<color>)"
-msgstr ""
-
-#: ref-filter.c:237
-#, c-format
-msgid "unrecognized color: %%(color:%s)"
-msgstr ""
-
-#: ref-filter.c:259
-#, c-format
-msgid "Integer value expected refname:lstrip=%s"
-msgstr ""
-
-#: ref-filter.c:263
-#, c-format
-msgid "Integer value expected refname:rstrip=%s"
-msgstr ""
-
-#: ref-filter.c:265 ref-filter.c:344 ref-filter.c:377 ref-filter.c:431
-#: ref-filter.c:443 ref-filter.c:462 ref-filter.c:534 ref-filter.c:560
-#, c-format
-msgid "unrecognized %%(%s) argument: %s"
-msgstr ""
-
-#: ref-filter.c:320
-#, c-format
-msgid "%%(objecttype) does not take arguments"
-msgstr ""
-
-#: ref-filter.c:352
-#, c-format
-msgid "%%(deltabase) does not take arguments"
-msgstr ""
-
-#: ref-filter.c:364
-#, c-format
-msgid "%%(body) does not take arguments"
-msgstr ""
-
-#: ref-filter.c:396
-#, c-format
-msgid "expected %%(trailers:key=<value>)"
-msgstr ""
-
-#: ref-filter.c:398
-#, c-format
-msgid "unknown %%(trailers) argument: %s"
-msgstr ""
-
-#: ref-filter.c:429
-#, c-format
-msgid "positive value expected contents:lines=%s"
-msgstr ""
-
-#: ref-filter.c:458
-#, c-format
-msgid "positive value expected '%s' in %%(%s)"
-msgstr ""
-
-#: ref-filter.c:476
-#, c-format
-msgid "unrecognized email option: %s"
-msgstr ""
-
-#: ref-filter.c:506
-#, c-format
-msgid "expected format: %%(align:<width>,<position>)"
-msgstr ""
-
-#: ref-filter.c:518
-#, c-format
-msgid "unrecognized position:%s"
-msgstr ""
-
-#: ref-filter.c:525
-#, c-format
-msgid "unrecognized width:%s"
-msgstr ""
-
-#: ref-filter.c:542
-#, c-format
-msgid "positive width expected with the %%(align) atom"
-msgstr ""
-
-#: ref-filter.c:568
-#, c-format
-msgid "%%(rest) does not take arguments"
-msgstr ""
-
-#: ref-filter.c:680
-#, c-format
-msgid "malformed field name: %.*s"
-msgstr ""
-
-#: ref-filter.c:707
-#, c-format
-msgid "unknown field name: %.*s"
-msgstr ""
-
-#: ref-filter.c:711
-#, c-format
-msgid ""
-"not a git repository, but the field '%.*s' requires access to object data"
-msgstr ""
-
-#: ref-filter.c:844 ref-filter.c:910 ref-filter.c:946 ref-filter.c:948
-#, c-format
-msgid "format: %%(%s) atom used without a %%(%s) atom"
-msgstr ""
-
-#: ref-filter.c:912
-#, c-format
-msgid "format: %%(then) atom used more than once"
-msgstr ""
-
-#: ref-filter.c:914
-#, c-format
-msgid "format: %%(then) atom used after %%(else)"
-msgstr ""
-
-#: ref-filter.c:950
-#, c-format
-msgid "format: %%(else) atom used more than once"
-msgstr ""
-
-#: ref-filter.c:965
-#, c-format
-msgid "format: %%(end) atom used without corresponding atom"
-msgstr ""
-
-#: ref-filter.c:1027
-#, c-format
-msgid "malformed format string %s"
-msgstr ""
-
-#: ref-filter.c:1033
-#, c-format
-msgid "this command reject atom %%(%.*s)"
-msgstr ""
-
-#: ref-filter.c:1040
-#, c-format
-msgid "--format=%.*s cannot be used with --python, --shell, --tcl"
-msgstr ""
-
-#: ref-filter.c:1707
-#, c-format
-msgid "(no branch, rebasing %s)"
-msgstr ""
-
-#: ref-filter.c:1710
-#, c-format
-msgid "(no branch, rebasing detached HEAD %s)"
-msgstr ""
-
-#: ref-filter.c:1713
-#, c-format
-msgid "(no branch, bisect started on %s)"
-msgstr ""
-
-#: ref-filter.c:1717
-#, c-format
-msgid "(HEAD detached at %s)"
-msgstr ""
-
-#: ref-filter.c:1720
-#, c-format
-msgid "(HEAD detached from %s)"
-msgstr ""
-
-#: ref-filter.c:1723
-msgid "(no branch)"
-msgstr ""
-
-#: ref-filter.c:1755 ref-filter.c:1973
-#, c-format
-msgid "missing object %s for %s"
-msgstr ""
-
-#: ref-filter.c:1765
-#, c-format
-msgid "parse_object_buffer failed on %s for %s"
-msgstr ""
-
-#: ref-filter.c:2156
-#, c-format
-msgid "malformed object at '%s'"
-msgstr ""
-
-#: ref-filter.c:2246
-#, c-format
-msgid "ignoring ref with broken name %s"
-msgstr ""
-
-#: ref-filter.c:2251 refs.c:672
-#, c-format
-msgid "ignoring broken ref %s"
-msgstr ""
-
-#: ref-filter.c:2630
-#, c-format
-msgid "format: %%(end) atom missing"
-msgstr ""
-
-#: ref-filter.c:2741
-#, c-format
-msgid "malformed object name %s"
-msgstr ""
-
-#: ref-filter.c:2746
-#, c-format
-msgid "option `%s' must point to a commit"
-msgstr ""
-
-#: reflog.c:407
-#, c-format
-msgid "not a reflog: %s"
-msgstr ""
-
-#: reflog.c:410
-#, c-format
-msgid "no reflog for '%s'"
-msgstr ""
-
-#: refs.c:262
-#, c-format
-msgid "%s does not point to a valid object!"
-msgstr ""
-
-#: refs.c:561
-#, c-format
-msgid ""
-"Using '%s' as the name for the initial branch. This default branch name\n"
-"is subject to change. To configure the initial branch name to use in all\n"
-"of your new repositories, which will suppress this warning, call:\n"
-"\n"
-"\tgit config --global init.defaultBranch <name>\n"
-"\n"
-"Names commonly chosen instead of 'master' are 'main', 'trunk' and\n"
-"'development'. The just-created branch can be renamed via this command:\n"
-"\n"
-"\tgit branch -m <name>\n"
-msgstr ""
-
-#: refs.c:583
-#, c-format
-msgid "could not retrieve `%s`"
-msgstr ""
-
-#: refs.c:593
-#, c-format
-msgid "invalid branch name: %s = %s"
-msgstr ""
-
-#: refs.c:670
-#, c-format
-msgid "ignoring dangling symref %s"
-msgstr ""
-
-#: refs.c:919
-#, c-format
-msgid "log for ref %s has gap after %s"
-msgstr ""
-
-#: refs.c:926
-#, c-format
-msgid "log for ref %s unexpectedly ended on %s"
-msgstr ""
-
-#: refs.c:991
-#, c-format
-msgid "log for %s is empty"
-msgstr ""
-
-#: refs.c:1086
-#, c-format
-msgid "refusing to update ref with bad name '%s'"
-msgstr ""
-
-#: refs.c:1164
-#, c-format
-msgid "update_ref failed for ref '%s': %s"
-msgstr ""
-
-#: refs.c:2059
-#, c-format
-msgid "multiple updates for ref '%s' not allowed"
-msgstr ""
-
-#: refs.c:2145
-msgid "ref updates forbidden inside quarantine environment"
-msgstr ""
-
-#: refs.c:2156
-msgid "ref updates aborted by hook"
-msgstr ""
-
-#: refs.c:2264 refs.c:2294
-#, c-format
-msgid "'%s' exists; cannot create '%s'"
-msgstr ""
-
-#: refs.c:2270 refs.c:2305
-#, c-format
-msgid "cannot process '%s' and '%s' at the same time"
-msgstr ""
-
-#: refs/files-backend.c:1295
-#, c-format
-msgid "could not remove reference %s"
-msgstr ""
-
-#: refs/files-backend.c:1310 refs/packed-backend.c:1565
-#: refs/packed-backend.c:1575
-#, c-format
-msgid "could not delete reference %s: %s"
-msgstr ""
-
-#: refs/files-backend.c:1313 refs/packed-backend.c:1578
-#, c-format
-msgid "could not delete references: %s"
-msgstr ""
-
-#: refspec.c:170
-#, c-format
-msgid "invalid refspec '%s'"
-msgstr ""
-
-#: remote.c:402
-#, c-format
-msgid "config remote shorthand cannot begin with '/': %s"
-msgstr ""
-
-#: remote.c:450
-msgid "more than one receivepack given, using the first"
-msgstr ""
-
-#: remote.c:458
-msgid "more than one uploadpack given, using the first"
-msgstr ""
-
-#: remote.c:698
-#, c-format
-msgid "Cannot fetch both %s and %s to %s"
-msgstr ""
-
-#: remote.c:702
-#, c-format
-msgid "%s usually tracks %s, not %s"
-msgstr ""
-
-#: remote.c:706
-#, c-format
-msgid "%s tracks both %s and %s"
-msgstr ""
-
-#: remote.c:774
-#, c-format
-msgid "key '%s' of pattern had no '*'"
-msgstr ""
-
-#: remote.c:784
-#, c-format
-msgid "value '%s' of pattern has no '*'"
-msgstr ""
-
-#: remote.c:1191
-#, c-format
-msgid "src refspec %s does not match any"
-msgstr ""
-
-#: remote.c:1196
-#, c-format
-msgid "src refspec %s matches more than one"
-msgstr ""
-
-#. TRANSLATORS: "matches '%s'%" is the <dst> part of "git push
-#. <remote> <src>:<dst>" push, and "being pushed ('%s')" is
-#. the <src>.
-#.
-#: remote.c:1211
-#, c-format
-msgid ""
-"The destination you provided is not a full refname (i.e.,\n"
-"starting with \"refs/\"). We tried to guess what you meant by:\n"
-"\n"
-"- Looking for a ref that matches '%s' on the remote side.\n"
-"- Checking if the <src> being pushed ('%s')\n"
-"  is a ref in \"refs/{heads,tags}/\". If so we add a corresponding\n"
-"  refs/{heads,tags}/ prefix on the remote side.\n"
-"\n"
-"Neither worked, so we gave up. You must fully qualify the ref."
-msgstr ""
-
-#: remote.c:1231
-#, c-format
-msgid ""
-"The <src> part of the refspec is a commit object.\n"
-"Did you mean to create a new branch by pushing to\n"
-"'%s:refs/heads/%s'?"
-msgstr ""
-
-#: remote.c:1236
-#, c-format
-msgid ""
-"The <src> part of the refspec is a tag object.\n"
-"Did you mean to create a new tag by pushing to\n"
-"'%s:refs/tags/%s'?"
-msgstr ""
-
-#: remote.c:1241
-#, c-format
-msgid ""
-"The <src> part of the refspec is a tree object.\n"
-"Did you mean to tag a new tree by pushing to\n"
-"'%s:refs/tags/%s'?"
-msgstr ""
-
-#: remote.c:1246
-#, c-format
-msgid ""
-"The <src> part of the refspec is a blob object.\n"
-"Did you mean to tag a new blob by pushing to\n"
-"'%s:refs/tags/%s'?"
-msgstr ""
-
-#: remote.c:1282
-#, c-format
-msgid "%s cannot be resolved to branch"
-msgstr ""
-
-#: remote.c:1293
-#, c-format
-msgid "unable to delete '%s': remote ref does not exist"
-msgstr ""
-
-#: remote.c:1305
-#, c-format
-msgid "dst refspec %s matches more than one"
-msgstr ""
-
-#: remote.c:1312
-#, c-format
-msgid "dst ref %s receives from more than one src"
-msgstr ""
-
-#: remote.c:1833 remote.c:1940
-msgid "HEAD does not point to a branch"
-msgstr ""
-
-#: remote.c:1842
-#, c-format
-msgid "no such branch: '%s'"
-msgstr ""
-
-#: remote.c:1845
-#, c-format
-msgid "no upstream configured for branch '%s'"
-msgstr ""
-
-#: remote.c:1851
-#, c-format
-msgid "upstream branch '%s' not stored as a remote-tracking branch"
-msgstr ""
-
-#: remote.c:1866
-#, c-format
-msgid "push destination '%s' on remote '%s' has no local tracking branch"
-msgstr ""
-
-#: remote.c:1881
-#, c-format
-msgid "branch '%s' has no remote for pushing"
-msgstr ""
-
-#: remote.c:1891
-#, c-format
-msgid "push refspecs for '%s' do not include '%s'"
-msgstr ""
-
-#: remote.c:1904
-msgid "push has no destination (push.default is 'nothing')"
-msgstr ""
-
-#: remote.c:1926
-msgid "cannot resolve 'simple' push to a single destination"
-msgstr ""
-
-#: remote.c:2059
-#, c-format
-msgid "couldn't find remote ref %s"
-msgstr ""
-
-#: remote.c:2072
-#, c-format
-msgid "* Ignoring funny ref '%s' locally"
-msgstr ""
-
-#: remote.c:2235
-#, c-format
-msgid "Your branch is based on '%s', but the upstream is gone.\n"
-msgstr ""
-
-#: remote.c:2239
-msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
-msgstr ""
-
-#: remote.c:2242
-#, c-format
-msgid "Your branch is up to date with '%s'.\n"
-msgstr ""
-
-#: remote.c:2246
-#, c-format
-msgid "Your branch and '%s' refer to different commits.\n"
-msgstr ""
-
-#: remote.c:2249
-#, c-format
-msgid "  (use \"%s\" for details)\n"
-msgstr ""
-
-#: remote.c:2253
-#, c-format
-msgid "Your branch is ahead of '%s' by %d commit.\n"
-msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: remote.c:2259
-msgid "  (use \"git push\" to publish your local commits)\n"
-msgstr ""
-
-#: remote.c:2262
-#, c-format
-msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
-msgid_plural ""
-"Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: remote.c:2270
-msgid "  (use \"git pull\" to update your local branch)\n"
-msgstr ""
-
-#: remote.c:2273
-#, c-format
-msgid ""
-"Your branch and '%s' have diverged,\n"
-"and have %d and %d different commit each, respectively.\n"
-msgid_plural ""
-"Your branch and '%s' have diverged,\n"
-"and have %d and %d different commits each, respectively.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: remote.c:2283
-msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
-msgstr ""
-
-#: remote.c:2475
-#, c-format
-msgid "cannot parse expected object name '%s'"
-msgstr ""
-
-#: replace-object.c:21
-#, c-format
-msgid "bad replace ref name: %s"
-msgstr ""
-
-#: replace-object.c:30
-#, c-format
-msgid "duplicate replace ref: %s"
-msgstr ""
-
-#: replace-object.c:82
-#, c-format
-msgid "replace depth too high for object %s"
-msgstr ""
-
-#: rerere.c:201 rerere.c:210 rerere.c:213
-msgid "corrupt MERGE_RR"
-msgstr ""
-
-#: rerere.c:248 rerere.c:253
-msgid "unable to write rerere record"
-msgstr ""
-
-#: rerere.c:479
-#, c-format
-msgid "there were errors while writing '%s' (%s)"
-msgstr ""
-
-#: rerere.c:482 builtin/gc.c:2263 builtin/gc.c:2298
-#, c-format
-msgid "failed to flush '%s'"
-msgstr ""
-
-#: rerere.c:487 rerere.c:1024
-#, c-format
-msgid "could not parse conflict hunks in '%s'"
-msgstr ""
-
-#: rerere.c:669
-#, c-format
-msgid "failed utime() on '%s'"
-msgstr ""
-
-#: rerere.c:679
-#, c-format
-msgid "writing '%s' failed"
-msgstr ""
-
-#: rerere.c:699
-#, c-format
-msgid "Staged '%s' using previous resolution."
-msgstr ""
-
-#: rerere.c:738
-#, c-format
-msgid "Recorded resolution for '%s'."
-msgstr ""
-
-#: rerere.c:773
-#, c-format
-msgid "Resolved '%s' using previous resolution."
-msgstr ""
-
-#: rerere.c:788
-#, c-format
-msgid "cannot unlink stray '%s'"
-msgstr ""
-
-#: rerere.c:792
-#, c-format
-msgid "Recorded preimage for '%s'"
-msgstr ""
-
-#: rerere.c:866 submodule.c:2290 builtin/log.c:2042
-#: builtin/submodule--helper.c:1786 builtin/submodule--helper.c:1833
-#, c-format
-msgid "could not create directory '%s'"
-msgstr ""
-
-#: rerere.c:1042
-#, c-format
-msgid "failed to update conflicted state in '%s'"
-msgstr ""
-
-#: rerere.c:1053 rerere.c:1060
-#, c-format
-msgid "no remembered resolution for '%s'"
-msgstr ""
-
-#: rerere.c:1062
-#, c-format
-msgid "cannot unlink '%s'"
-msgstr ""
-
-#: rerere.c:1072
-#, c-format
-msgid "Updated preimage for '%s'"
-msgstr ""
-
-#: rerere.c:1081
-#, c-format
-msgid "Forgot resolution for '%s'\n"
-msgstr ""
-
-#: rerere.c:1192
-msgid "unable to open rr-cache directory"
-msgstr ""
-
-#: reset.c:112
-msgid "could not determine HEAD revision"
-msgstr ""
-
-#: reset.c:141 reset.c:147 sequencer.c:3696
-#, c-format
-msgid "failed to find tree of %s"
-msgstr ""
-
-#: revision.c:2358
-msgid "--unpacked=<packfile> no longer supported"
-msgstr ""
-
-#: revision.c:2712
-msgid "your current branch appears to be broken"
-msgstr ""
-
-#: revision.c:2715
-#, c-format
-msgid "your current branch '%s' does not have any commits yet"
-msgstr ""
-
-#: revision.c:2901
-msgid "object filtering requires --objects"
-msgstr ""
-
-#: revision.c:2918
-msgid "-L does not yet support diff formats besides -p and -s"
-msgstr ""
-
-#: run-command.c:1262
-#, c-format
-msgid "cannot create async thread: %s"
-msgstr ""
-
-#: send-pack.c:150
-msgid "unexpected flush packet while reading remote unpack status"
-msgstr ""
-
-#: send-pack.c:152
-#, c-format
-msgid "unable to parse remote unpack status: %s"
-msgstr ""
-
-#: send-pack.c:154
-#, c-format
-msgid "remote unpack failed: %s"
-msgstr ""
-
-#: send-pack.c:378
-msgid "failed to sign the push certificate"
-msgstr ""
-
-#: send-pack.c:435
-msgid "send-pack: unable to fork off fetch subprocess"
-msgstr ""
-
-#: send-pack.c:457
-msgid "push negotiation failed; proceeding anyway with push"
-msgstr ""
-
-#: send-pack.c:528
-msgid "the receiving end does not support this repository's hash algorithm"
-msgstr ""
-
-#: send-pack.c:537
-msgid "the receiving end does not support --signed push"
-msgstr ""
-
-#: send-pack.c:539
-msgid ""
-"not sending a push certificate since the receiving end does not support --"
-"signed push"
-msgstr ""
-
-#: send-pack.c:546
-msgid "the receiving end does not support --atomic push"
-msgstr ""
-
-#: send-pack.c:551
-msgid "the receiving end does not support push options"
-msgstr ""
-
-#: sequencer.c:197
-#, c-format
-msgid "invalid commit message cleanup mode '%s'"
-msgstr ""
-
-#: sequencer.c:325
-#, c-format
-msgid "could not delete '%s'"
-msgstr ""
-
-#: sequencer.c:345 sequencer.c:4724 builtin/rebase.c:564 builtin/rebase.c:1326
-#: builtin/rm.c:409
-#, c-format
-msgid "could not remove '%s'"
-msgstr ""
-
-#: sequencer.c:355
-msgid "revert"
-msgstr ""
-
-#: sequencer.c:357
-msgid "cherry-pick"
-msgstr ""
-
-#: sequencer.c:359
-msgid "rebase"
-msgstr ""
-
-#: sequencer.c:361
-#, c-format
-msgid "unknown action: %d"
-msgstr ""
-
-#: sequencer.c:420
-msgid ""
-"after resolving the conflicts, mark the corrected paths\n"
-"with 'git add <paths>' or 'git rm <paths>'"
-msgstr ""
-
-#: sequencer.c:423
-msgid ""
-"After resolving the conflicts, mark them with\n"
-"\"git add/rm <pathspec>\", then run\n"
-"\"git cherry-pick --continue\".\n"
-"You can instead skip this commit with \"git cherry-pick --skip\".\n"
-"To abort and get back to the state before \"git cherry-pick\",\n"
-"run \"git cherry-pick --abort\"."
-msgstr ""
-
-#: sequencer.c:430
-msgid ""
-"After resolving the conflicts, mark them with\n"
-"\"git add/rm <pathspec>\", then run\n"
-"\"git revert --continue\".\n"
-"You can instead skip this commit with \"git revert --skip\".\n"
-"To abort and get back to the state before \"git revert\",\n"
-"run \"git revert --abort\"."
-msgstr ""
-
-#: sequencer.c:448 sequencer.c:3288
-#, c-format
-msgid "could not lock '%s'"
-msgstr ""
-
-#: sequencer.c:450 sequencer.c:3087 sequencer.c:3292 sequencer.c:3306
-#: sequencer.c:3557 sequencer.c:5591 strbuf.c:1189 wrapper.c:715
-#, c-format
-msgid "could not write to '%s'"
-msgstr ""
-
-#: sequencer.c:455
-#, c-format
-msgid "could not write eol to '%s'"
-msgstr ""
-
-#: sequencer.c:460 sequencer.c:3092 sequencer.c:3294 sequencer.c:3308
-#: sequencer.c:3565
-#, c-format
-msgid "failed to finalize '%s'"
-msgstr ""
-
-#: sequencer.c:473 sequencer.c:1930 sequencer.c:3112 sequencer.c:3547
-#: sequencer.c:3675 builtin/am.c:290 builtin/commit.c:837 builtin/merge.c:1154
-#, c-format
-msgid "could not read '%s'"
-msgstr ""
-
-#: sequencer.c:499
-#, c-format
-msgid "your local changes would be overwritten by %s."
-msgstr ""
-
-#: sequencer.c:503
-msgid "commit your changes or stash them to proceed."
-msgstr ""
-
-#: sequencer.c:535
-#, c-format
-msgid "%s: fast-forward"
-msgstr ""
-
-#: sequencer.c:574 builtin/tag.c:615
-#, c-format
-msgid "Invalid cleanup mode %s"
-msgstr ""
-
-#. TRANSLATORS: %s will be "revert", "cherry-pick" or
-#. "rebase".
-#.
-#: sequencer.c:685
-#, c-format
-msgid "%s: Unable to write new index file"
-msgstr ""
-
-#: sequencer.c:699
-msgid "unable to update cache tree"
-msgstr ""
-
-#: sequencer.c:713
-msgid "could not resolve HEAD commit"
-msgstr ""
-
-#: sequencer.c:793
-#, c-format
-msgid "no key present in '%.*s'"
-msgstr ""
-
-#: sequencer.c:804
-#, c-format
-msgid "unable to dequote value of '%s'"
-msgstr ""
-
-#: sequencer.c:841 wrapper.c:219 wrapper.c:389 builtin/am.c:757
-#: builtin/am.c:849 builtin/rebase.c:699
-#, c-format
-msgid "could not open '%s' for reading"
-msgstr ""
-
-#: sequencer.c:851
-msgid "'GIT_AUTHOR_NAME' already given"
-msgstr ""
-
-#: sequencer.c:856
-msgid "'GIT_AUTHOR_EMAIL' already given"
-msgstr ""
-
-#: sequencer.c:861
-msgid "'GIT_AUTHOR_DATE' already given"
-msgstr ""
-
-#: sequencer.c:865
-#, c-format
-msgid "unknown variable '%s'"
-msgstr ""
-
-#: sequencer.c:870
-msgid "missing 'GIT_AUTHOR_NAME'"
-msgstr ""
-
-#: sequencer.c:872
-msgid "missing 'GIT_AUTHOR_EMAIL'"
-msgstr ""
-
-#: sequencer.c:874
-msgid "missing 'GIT_AUTHOR_DATE'"
-msgstr ""
-
-#: sequencer.c:939
-#, c-format
-msgid ""
-"you have staged changes in your working tree\n"
-"If these changes are meant to be squashed into the previous commit, run:\n"
-"\n"
-"  git commit --amend %s\n"
-"\n"
-"If they are meant to go into a new commit, run:\n"
-"\n"
-"  git commit %s\n"
-"\n"
-"In both cases, once you're done, continue with:\n"
-"\n"
-"  git rebase --continue\n"
-msgstr ""
-
-#: sequencer.c:1225
-msgid "'prepare-commit-msg' hook failed"
-msgstr ""
-
-#: sequencer.c:1231
-msgid ""
-"Your name and email address were configured automatically based\n"
-"on your username and hostname. Please check that they are accurate.\n"
-"You can suppress this message by setting them explicitly. Run the\n"
-"following command and follow the instructions in your editor to edit\n"
-"your configuration file:\n"
-"\n"
-"    git config --global --edit\n"
-"\n"
-"After doing this, you may fix the identity used for this commit with:\n"
-"\n"
-"    git commit --amend --reset-author\n"
-msgstr ""
-
-#: sequencer.c:1244
-msgid ""
-"Your name and email address were configured automatically based\n"
-"on your username and hostname. Please check that they are accurate.\n"
-"You can suppress this message by setting them explicitly:\n"
-"\n"
-"    git config --global user.name \"Your Name\"\n"
-"    git config --global user.email you@example.com\n"
-"\n"
-"After doing this, you may fix the identity used for this commit with:\n"
-"\n"
-"    git commit --amend --reset-author\n"
-msgstr ""
-
-#: sequencer.c:1287
-msgid "couldn't look up newly created commit"
-msgstr ""
-
-#: sequencer.c:1289
-msgid "could not parse newly created commit"
-msgstr ""
-
-#: sequencer.c:1336
-msgid "unable to resolve HEAD after creating commit"
-msgstr ""
-
-#: sequencer.c:1338
-msgid "detached HEAD"
-msgstr ""
-
-#: sequencer.c:1342
-msgid " (root-commit)"
-msgstr ""
-
-#: sequencer.c:1363
-msgid "could not parse HEAD"
-msgstr ""
-
-#: sequencer.c:1365
-#, c-format
-msgid "HEAD %s is not a commit!"
-msgstr ""
-
-#: sequencer.c:1369 sequencer.c:1447 builtin/commit.c:1707
-msgid "could not parse HEAD commit"
-msgstr ""
-
-#: sequencer.c:1425 sequencer.c:2310
-msgid "unable to parse commit author"
-msgstr ""
-
-#: sequencer.c:1436 builtin/am.c:1644 builtin/merge.c:710
-msgid "git write-tree failed to write a tree"
-msgstr ""
-
-#: sequencer.c:1469 sequencer.c:1589
-#, c-format
-msgid "unable to read commit message from '%s'"
-msgstr ""
-
-#: sequencer.c:1500 sequencer.c:1532
-#, c-format
-msgid "invalid author identity '%s'"
-msgstr ""
-
-#: sequencer.c:1506
-msgid "corrupt author: missing date information"
-msgstr ""
-
-#: sequencer.c:1545 builtin/am.c:1671 builtin/commit.c:1821 builtin/merge.c:921
-#: builtin/merge.c:946 t/helper/test-fast-rebase.c:78
-msgid "failed to write commit object"
-msgstr ""
-
-#: sequencer.c:1572 sequencer.c:4496 t/helper/test-fast-rebase.c:199
-#: t/helper/test-fast-rebase.c:217
-#, c-format
-msgid "could not update %s"
-msgstr ""
-
-#: sequencer.c:1621
-#, c-format
-msgid "could not parse commit %s"
-msgstr ""
-
-#: sequencer.c:1626
-#, c-format
-msgid "could not parse parent commit %s"
-msgstr ""
-
-#: sequencer.c:1709 sequencer.c:1990
-#, c-format
-msgid "unknown command: %d"
-msgstr ""
-
-#: sequencer.c:1751
-msgid "This is the 1st commit message:"
-msgstr ""
-
-#: sequencer.c:1752
-#, c-format
-msgid "This is the commit message #%d:"
-msgstr ""
-
-#: sequencer.c:1753
-msgid "The 1st commit message will be skipped:"
-msgstr ""
-
-#: sequencer.c:1754
-#, c-format
-msgid "The commit message #%d will be skipped:"
-msgstr ""
-
-#: sequencer.c:1755
-#, c-format
-msgid "This is a combination of %d commits."
-msgstr ""
-
-#: sequencer.c:1902 sequencer.c:1959
-#, c-format
-msgid "cannot write '%s'"
-msgstr ""
-
-#: sequencer.c:1949
-msgid "need a HEAD to fixup"
-msgstr ""
-
-#: sequencer.c:1951 sequencer.c:3592
-msgid "could not read HEAD"
-msgstr ""
-
-#: sequencer.c:1953
-msgid "could not read HEAD's commit message"
-msgstr ""
-
-#: sequencer.c:1977
-#, c-format
-msgid "could not read commit message of %s"
-msgstr ""
-
-#: sequencer.c:2087
-msgid "your index file is unmerged."
-msgstr ""
-
-#: sequencer.c:2094
-msgid "cannot fixup root commit"
-msgstr ""
-
-#: sequencer.c:2113
-#, c-format
-msgid "commit %s is a merge but no -m option was given."
-msgstr ""
-
-#: sequencer.c:2121 sequencer.c:2129
-#, c-format
-msgid "commit %s does not have parent %d"
-msgstr ""
-
-#: sequencer.c:2135
-#, c-format
-msgid "cannot get commit message for %s"
-msgstr ""
-
-#. TRANSLATORS: The first %s will be a "todo" command like
-#. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:2154
-#, c-format
-msgid "%s: cannot parse parent commit %s"
-msgstr ""
-
-#: sequencer.c:2220
-#, c-format
-msgid "could not rename '%s' to '%s'"
-msgstr ""
-
-#: sequencer.c:2280
-#, c-format
-msgid "could not revert %s... %s"
-msgstr ""
-
-#: sequencer.c:2281
-#, c-format
-msgid "could not apply %s... %s"
-msgstr ""
-
-#: sequencer.c:2302
-#, c-format
-msgid "dropping %s %s -- patch contents already upstream\n"
-msgstr ""
-
-#: sequencer.c:2360
-#, c-format
-msgid "git %s: failed to read the index"
-msgstr ""
-
-#: sequencer.c:2368
-#, c-format
-msgid "git %s: failed to refresh the index"
-msgstr ""
-
-#: sequencer.c:2448
-#, c-format
-msgid "%s does not accept arguments: '%s'"
-msgstr ""
-
-#: sequencer.c:2457
-#, c-format
-msgid "missing arguments for %s"
-msgstr ""
-
-#: sequencer.c:2500
-#, c-format
-msgid "could not parse '%s'"
-msgstr ""
-
-#: sequencer.c:2561
-#, c-format
-msgid "invalid line %d: %.*s"
-msgstr ""
-
-#: sequencer.c:2572
-#, c-format
-msgid "cannot '%s' without a previous commit"
-msgstr ""
-
-#: sequencer.c:2620 builtin/rebase.c:185
-#, c-format
-msgid "could not read '%s'."
-msgstr ""
-
-#: sequencer.c:2658
-msgid "cancelling a cherry picking in progress"
-msgstr ""
-
-#: sequencer.c:2667
-msgid "cancelling a revert in progress"
-msgstr ""
-
-#: sequencer.c:2707
-msgid "please fix this using 'git rebase --edit-todo'."
-msgstr ""
-
-#: sequencer.c:2709
-#, c-format
-msgid "unusable instruction sheet: '%s'"
-msgstr ""
-
-#: sequencer.c:2714
-msgid "no commits parsed."
-msgstr ""
-
-#: sequencer.c:2725
-msgid "cannot cherry-pick during a revert."
-msgstr ""
-
-#: sequencer.c:2727
-msgid "cannot revert during a cherry-pick."
-msgstr ""
-
-#: sequencer.c:2914
-msgid "unusable squash-onto"
-msgstr ""
-
-#: sequencer.c:2934
-#, c-format
-msgid "malformed options sheet: '%s'"
-msgstr ""
-
-#: sequencer.c:3029 sequencer.c:4875
-msgid "empty commit set passed"
-msgstr ""
-
-#: sequencer.c:3046
-msgid "revert is already in progress"
-msgstr ""
-
-#: sequencer.c:3048
-#, c-format
-msgid "try \"git revert (--continue | %s--abort | --quit)\""
-msgstr ""
-
-#: sequencer.c:3051
-msgid "cherry-pick is already in progress"
-msgstr ""
-
-#: sequencer.c:3053
-#, c-format
-msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
-msgstr ""
-
-#: sequencer.c:3067
-#, c-format
-msgid "could not create sequencer directory '%s'"
-msgstr ""
-
-#: sequencer.c:3082
-msgid "could not lock HEAD"
-msgstr ""
-
-#: sequencer.c:3142 sequencer.c:4585
-msgid "no cherry-pick or revert in progress"
-msgstr ""
-
-#: sequencer.c:3144 sequencer.c:3155
-msgid "cannot resolve HEAD"
-msgstr ""
-
-#: sequencer.c:3146 sequencer.c:3190
-msgid "cannot abort from a branch yet to be born"
-msgstr ""
-
-#: sequencer.c:3176 builtin/fetch.c:1030 builtin/fetch.c:1457
-#: builtin/grep.c:774
-#, c-format
-msgid "cannot open '%s'"
-msgstr ""
-
-#: sequencer.c:3178
-#, c-format
-msgid "cannot read '%s': %s"
-msgstr ""
-
-#: sequencer.c:3179
-msgid "unexpected end of file"
-msgstr ""
-
-#: sequencer.c:3185
-#, c-format
-msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
-msgstr ""
-
-#: sequencer.c:3196
-msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
-msgstr ""
-
-#: sequencer.c:3237
-msgid "no revert in progress"
-msgstr ""
-
-#: sequencer.c:3246
-msgid "no cherry-pick in progress"
-msgstr ""
-
-#: sequencer.c:3256
-msgid "failed to skip the commit"
-msgstr ""
-
-#: sequencer.c:3263
-msgid "there is nothing to skip"
-msgstr ""
-
-#: sequencer.c:3266
-#, c-format
-msgid ""
-"have you committed already?\n"
-"try \"git %s --continue\""
-msgstr ""
-
-#: sequencer.c:3428 sequencer.c:4476
-msgid "cannot read HEAD"
-msgstr ""
-
-#: sequencer.c:3445
-#, c-format
-msgid "unable to copy '%s' to '%s'"
-msgstr ""
-
-#: sequencer.c:3453
-#, c-format
-msgid ""
-"You can amend the commit now, with\n"
-"\n"
-"  git commit --amend %s\n"
-"\n"
-"Once you are satisfied with your changes, run\n"
-"\n"
-"  git rebase --continue\n"
-msgstr ""
-
-#: sequencer.c:3463
-#, c-format
-msgid "Could not apply %s... %.*s"
-msgstr ""
-
-#: sequencer.c:3470
-#, c-format
-msgid "Could not merge %.*s"
-msgstr ""
-
-#: sequencer.c:3484 sequencer.c:3488 builtin/difftool.c:633
-#, c-format
-msgid "could not copy '%s' to '%s'"
-msgstr ""
-
-#: sequencer.c:3499
-#, c-format
-msgid "Executing: %s\n"
-msgstr ""
-
-#: sequencer.c:3510
-#, c-format
-msgid ""
-"execution failed: %s\n"
-"%sYou can fix the problem, and then run\n"
-"\n"
-"  git rebase --continue\n"
-"\n"
-msgstr ""
-
-#: sequencer.c:3516
-msgid "and made changes to the index and/or the working tree\n"
-msgstr ""
-
-#: sequencer.c:3522
-#, c-format
-msgid ""
-"execution succeeded: %s\n"
-"but left changes to the index and/or the working tree\n"
-"Commit or stash your changes, and then run\n"
-"\n"
-"  git rebase --continue\n"
-"\n"
-msgstr ""
-
-#: sequencer.c:3582
-#, c-format
-msgid "illegal label name: '%.*s'"
-msgstr ""
-
-#: sequencer.c:3655
-msgid "writing fake root commit"
-msgstr ""
-
-#: sequencer.c:3660
-msgid "writing squash-onto"
-msgstr ""
-
-#: sequencer.c:3739
-#, c-format
-msgid "could not resolve '%s'"
-msgstr ""
-
-#: sequencer.c:3771
-msgid "cannot merge without a current revision"
-msgstr ""
-
-#: sequencer.c:3793
-#, c-format
-msgid "unable to parse '%.*s'"
-msgstr ""
-
-#: sequencer.c:3802
-#, c-format
-msgid "nothing to merge: '%.*s'"
-msgstr ""
-
-#: sequencer.c:3814
-msgid "octopus merge cannot be executed on top of a [new root]"
-msgstr ""
-
-#: sequencer.c:3869
-#, c-format
-msgid "could not get commit message of '%s'"
-msgstr ""
-
-#: sequencer.c:4013
-#, c-format
-msgid "could not even attempt to merge '%.*s'"
-msgstr ""
-
-#: sequencer.c:4029
-msgid "merge: Unable to write new index file"
-msgstr ""
-
-#: sequencer.c:4110
-msgid "Cannot autostash"
-msgstr ""
-
-#: sequencer.c:4113
-#, c-format
-msgid "Unexpected stash response: '%s'"
-msgstr ""
-
-#: sequencer.c:4119
-#, c-format
-msgid "Could not create directory for '%s'"
-msgstr ""
-
-#: sequencer.c:4122
-#, c-format
-msgid "Created autostash: %s\n"
-msgstr ""
-
-#: sequencer.c:4124
-msgid "could not reset --hard"
-msgstr ""
-
-#: sequencer.c:4148
-#, c-format
-msgid "Applied autostash.\n"
-msgstr ""
-
-#: sequencer.c:4160
-#, c-format
-msgid "cannot store %s"
-msgstr ""
-
-#: sequencer.c:4163
-#, c-format
-msgid ""
-"%s\n"
-"Your changes are safe in the stash.\n"
-"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
-msgstr ""
-
-#: sequencer.c:4168
-msgid "Applying autostash resulted in conflicts."
-msgstr ""
-
-#: sequencer.c:4169
-msgid "Autostash exists; creating a new stash entry."
-msgstr ""
-
-#: sequencer.c:4225
-msgid "could not detach HEAD"
-msgstr ""
-
-#: sequencer.c:4240
-#, c-format
-msgid "Stopped at HEAD\n"
-msgstr ""
-
-#: sequencer.c:4242
-#, c-format
-msgid "Stopped at %s\n"
-msgstr ""
-
-#: sequencer.c:4274
-#, c-format
-msgid ""
-"Could not execute the todo command\n"
-"\n"
-"    %.*s\n"
-"It has been rescheduled; To edit the command before continuing, please\n"
-"edit the todo list first:\n"
-"\n"
-"    git rebase --edit-todo\n"
-"    git rebase --continue\n"
-msgstr ""
-
-#: sequencer.c:4320
-#, c-format
-msgid "Rebasing (%d/%d)%s"
-msgstr ""
-
-#: sequencer.c:4366
-#, c-format
-msgid "Stopped at %s...  %.*s\n"
-msgstr ""
-
-#: sequencer.c:4436
-#, c-format
-msgid "unknown command %d"
-msgstr ""
-
-#: sequencer.c:4484
-msgid "could not read orig-head"
-msgstr ""
-
-#: sequencer.c:4489
-msgid "could not read 'onto'"
-msgstr ""
-
-#: sequencer.c:4503
-#, c-format
-msgid "could not update HEAD to %s"
-msgstr ""
-
-#: sequencer.c:4563
-#, c-format
-msgid "Successfully rebased and updated %s.\n"
-msgstr ""
-
-#: sequencer.c:4615
-msgid "cannot rebase: You have unstaged changes."
-msgstr ""
-
-#: sequencer.c:4624
-msgid "cannot amend non-existing commit"
-msgstr ""
-
-#: sequencer.c:4626
-#, c-format
-msgid "invalid file: '%s'"
-msgstr ""
-
-#: sequencer.c:4628
-#, c-format
-msgid "invalid contents: '%s'"
-msgstr ""
-
-#: sequencer.c:4631
-msgid ""
-"\n"
-"You have uncommitted changes in your working tree. Please, commit them\n"
-"first and then run 'git rebase --continue' again."
-msgstr ""
-
-#: sequencer.c:4667 sequencer.c:4706
-#, c-format
-msgid "could not write file: '%s'"
-msgstr ""
-
-#: sequencer.c:4722
-msgid "could not remove CHERRY_PICK_HEAD"
-msgstr ""
-
-#: sequencer.c:4732
-msgid "could not commit staged changes."
-msgstr ""
-
-#: sequencer.c:4852
-#, c-format
-msgid "%s: can't cherry-pick a %s"
-msgstr ""
-
-#: sequencer.c:4856
-#, c-format
-msgid "%s: bad revision"
-msgstr ""
-
-#: sequencer.c:4891
-msgid "can't revert as initial commit"
-msgstr ""
-
-#: sequencer.c:5162 sequencer.c:5391
-#, c-format
-msgid "skipped previously applied commit %s"
-msgstr ""
-
-#: sequencer.c:5232 sequencer.c:5407
-msgid "use --reapply-cherry-picks to include skipped commits"
-msgstr ""
-
-#: sequencer.c:5378
-msgid "make_script: unhandled options"
-msgstr ""
-
-#: sequencer.c:5381
-msgid "make_script: error preparing revisions"
-msgstr ""
-
-#: sequencer.c:5639 sequencer.c:5656
-msgid "nothing to do"
-msgstr ""
-
-#: sequencer.c:5675
-msgid "could not skip unnecessary pick commands"
-msgstr ""
-
-#: sequencer.c:5775
-msgid "the script was already rearranged."
-msgstr ""
-
-#: setup.c:135
-#, c-format
-msgid "'%s' is outside repository at '%s'"
-msgstr ""
-
-#: setup.c:187
-#, c-format
-msgid ""
-"%s: no such path in the working tree.\n"
-"Use 'git <command> -- <path>...' to specify paths that do not exist locally."
-msgstr ""
-
-#: setup.c:200
-#, c-format
-msgid ""
-"ambiguous argument '%s': unknown revision or path not in the working tree.\n"
-"Use '--' to separate paths from revisions, like this:\n"
-"'git <command> [<revision>...] -- [<file>...]'"
-msgstr ""
-
-#: setup.c:266
-#, c-format
-msgid "option '%s' must come before non-option arguments"
-msgstr ""
-
-#: setup.c:285
-#, c-format
-msgid ""
-"ambiguous argument '%s': both revision and filename\n"
-"Use '--' to separate paths from revisions, like this:\n"
-"'git <command> [<revision>...] -- [<file>...]'"
-msgstr ""
-
-#: setup.c:421
-msgid "unable to set up work tree using invalid config"
-msgstr ""
-
-#: setup.c:425 builtin/rev-parse.c:895
-msgid "this operation must be run in a work tree"
-msgstr ""
-
-#: setup.c:724
-#, c-format
-msgid "Expected git repo version <= %d, found %d"
-msgstr ""
-
-#: setup.c:732
-msgid "unknown repository extension found:"
-msgid_plural "unknown repository extensions found:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: setup.c:746
-msgid "repo version is 0, but v1-only extension found:"
-msgid_plural "repo version is 0, but v1-only extensions found:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: setup.c:767
-#, c-format
-msgid "error opening '%s'"
-msgstr ""
-
-#: setup.c:769
-#, c-format
-msgid "too large to be a .git file: '%s'"
-msgstr ""
-
-#: setup.c:771
-#, c-format
-msgid "error reading %s"
-msgstr ""
-
-#: setup.c:773
-#, c-format
-msgid "invalid gitfile format: %s"
-msgstr ""
-
-#: setup.c:775
-#, c-format
-msgid "no path in gitfile: %s"
-msgstr ""
-
-#: setup.c:777
-#, c-format
-msgid "not a git repository: %s"
-msgstr ""
-
-#: setup.c:879
-#, c-format
-msgid "'$%s' too big"
-msgstr ""
-
-#: setup.c:893
-#, c-format
-msgid "not a git repository: '%s'"
-msgstr ""
-
-#: setup.c:922 setup.c:924 setup.c:955
-#, c-format
-msgid "cannot chdir to '%s'"
-msgstr ""
-
-#: setup.c:927 setup.c:983 setup.c:993 setup.c:1032 setup.c:1040
-msgid "cannot come back to cwd"
-msgstr ""
-
-#: setup.c:1054
-#, c-format
-msgid "failed to stat '%*s%s%s'"
-msgstr ""
-
-#: setup.c:1338
-msgid "Unable to read current working directory"
-msgstr ""
-
-#: setup.c:1347 setup.c:1353
-#, c-format
-msgid "cannot change to '%s'"
-msgstr ""
-
-#: setup.c:1358
-#, c-format
-msgid "not a git repository (or any of the parent directories): %s"
-msgstr ""
-
-#: setup.c:1364
-#, c-format
-msgid ""
-"not a git repository (or any parent up to mount point %s)\n"
-"Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."
-msgstr ""
-
-#: setup.c:1374
-#, c-format
-msgid ""
-"unsafe repository ('%s' is owned by someone else)\n"
-"To add an exception for this directory, call:\n"
-"\n"
-"\tgit config --global --add safe.directory %s"
-msgstr ""
-
-#: setup.c:1502
-#, c-format
-msgid ""
-"problem with core.sharedRepository filemode value (0%.3o).\n"
-"The owner of files must always have read and write permissions."
-msgstr ""
-
-#: setup.c:1564
-msgid "fork failed"
-msgstr ""
-
-#: setup.c:1569
-msgid "setsid failed"
-msgstr ""
-
-#: sparse-index.c:285
-#, c-format
-msgid "index entry is a directory, but not sparse (%08x)"
-msgstr ""
-
-#: split-index.c:9
-msgid "cannot use split index with a sparse index"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 gibibyte
-#: strbuf.c:851
-#, c-format
-msgid "%u.%2.2u GiB"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second
-#: strbuf.c:853
-#, c-format
-msgid "%u.%2.2u GiB/s"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 mebibyte
-#: strbuf.c:861
-#, c-format
-msgid "%u.%2.2u MiB"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second
-#: strbuf.c:863
-#, c-format
-msgid "%u.%2.2u MiB/s"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 kibibyte
-#: strbuf.c:870
-#, c-format
-msgid "%u.%2.2u KiB"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second
-#: strbuf.c:872
-#, c-format
-msgid "%u.%2.2u KiB/s"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 byte
-#: strbuf.c:878
-#, c-format
-msgid "%u byte"
-msgid_plural "%u bytes"
-msgstr[0] ""
-msgstr[1] ""
-
-#. TRANSLATORS: IEC 80000-13:2008 byte/second
-#: strbuf.c:880
-#, c-format
-msgid "%u byte/s"
-msgid_plural "%u bytes/s"
-msgstr[0] ""
-msgstr[1] ""
-
-#: strbuf.c:1187 wrapper.c:217 wrapper.c:387 builtin/am.c:766
-#: builtin/rebase.c:653
-#, c-format
-msgid "could not open '%s' for writing"
-msgstr ""
-
-#: strbuf.c:1196
-#, c-format
-msgid "could not edit '%s'"
-msgstr ""
-
-#: submodule-config.c:238
-#, c-format
-msgid "ignoring suspicious submodule name: %s"
-msgstr ""
-
-#: submodule-config.c:305
-msgid "negative values not allowed for submodule.fetchjobs"
-msgstr ""
-
-#: submodule-config.c:403
-#, c-format
-msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
-msgstr ""
-
-#: submodule-config.c:500 builtin/push.c:489 builtin/send-pack.c:148
-#, c-format
-msgid "invalid value for '%s'"
-msgstr ""
-
-#: submodule-config.c:828
-#, c-format
-msgid "Could not update .gitmodules entry %s"
-msgstr ""
-
-#: submodule.c:115 submodule.c:144
-msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
-msgstr ""
-
-#: submodule.c:119 submodule.c:148
-#, c-format
-msgid "Could not find section in .gitmodules where path=%s"
-msgstr ""
-
-#: submodule.c:155
-#, c-format
-msgid "Could not remove .gitmodules entry for %s"
-msgstr ""
-
-#: submodule.c:166
-msgid "staging updated .gitmodules failed"
-msgstr ""
-
-#: submodule.c:346
-#, c-format
-msgid "in unpopulated submodule '%s'"
-msgstr ""
-
-#: submodule.c:377
-#, c-format
-msgid "Pathspec '%s' is in submodule '%.*s'"
-msgstr ""
-
-#: submodule.c:454
-#, c-format
-msgid "bad --ignore-submodules argument: %s"
-msgstr ""
-
-#: submodule.c:866
-#, c-format
-msgid ""
-"Submodule in commit %s at path: '%s' collides with a submodule named the "
-"same. Skipping it."
-msgstr ""
-
-#: submodule.c:987
-#, c-format
-msgid "submodule entry '%s' (%s) is a %s, not a commit"
-msgstr ""
-
-#: submodule.c:1069
-#, c-format
-msgid ""
-"Could not run 'git rev-list <commits> --not --remotes -n 1' command in "
-"submodule %s"
-msgstr ""
-
-#: submodule.c:1192
-#, c-format
-msgid "process for submodule '%s' failed"
-msgstr ""
-
-#: submodule.c:1221 builtin/branch.c:714 builtin/submodule--helper.c:2827
-msgid "Failed to resolve HEAD as a valid ref."
-msgstr ""
-
-#: submodule.c:1232
-#, c-format
-msgid "Pushing submodule '%s'\n"
-msgstr ""
-
-#: submodule.c:1235
-#, c-format
-msgid "Unable to push submodule '%s'\n"
-msgstr ""
-
-#: submodule.c:1567
-#, c-format
-msgid "Fetching submodule %s%s\n"
-msgstr ""
-
-#: submodule.c:1589
-#, c-format
-msgid "Could not access submodule '%s'\n"
-msgstr ""
-
-#: submodule.c:1618
-#, c-format
-msgid "Could not access submodule '%s' at commit %s\n"
-msgstr ""
-
-#: submodule.c:1629
-#, c-format
-msgid "Fetching submodule %s%s at commit %s\n"
-msgstr ""
-
-#: submodule.c:1849
-#, c-format
-msgid ""
-"Errors during submodule fetch:\n"
-"%s"
-msgstr ""
-
-#: submodule.c:1874
-#, c-format
-msgid "'%s' not recognized as a git repository"
-msgstr ""
-
-#: submodule.c:1891
-#, c-format
-msgid "Could not run 'git status --porcelain=2' in submodule %s"
-msgstr ""
-
-#: submodule.c:1932
-#, c-format
-msgid "'git status --porcelain=2' failed in submodule %s"
-msgstr ""
-
-#: submodule.c:2007
-#, c-format
-msgid "could not start 'git status' in submodule '%s'"
-msgstr ""
-
-#: submodule.c:2020
-#, c-format
-msgid "could not run 'git status' in submodule '%s'"
-msgstr ""
-
-#: submodule.c:2037
-#, c-format
-msgid "Could not unset core.worktree setting in submodule '%s'"
-msgstr ""
-
-#: submodule.c:2064 submodule.c:2379
-#, c-format
-msgid "could not recurse into submodule '%s'"
-msgstr ""
-
-#: submodule.c:2086
-msgid "could not reset submodule index"
-msgstr ""
-
-#: submodule.c:2128
-#, c-format
-msgid "submodule '%s' has dirty index"
-msgstr ""
-
-#: submodule.c:2182
-#, c-format
-msgid "Submodule '%s' could not be updated."
-msgstr ""
-
-#: submodule.c:2250
-#, c-format
-msgid "submodule git dir '%s' is inside git dir '%.*s'"
-msgstr ""
-
-#: submodule.c:2271
-#, c-format
-msgid ""
-"relocate_gitdir for submodule '%s' with more than one worktree not supported"
-msgstr ""
-
-#: submodule.c:2283 submodule.c:2343
-#, c-format
-msgid "could not lookup name for submodule '%s'"
-msgstr ""
-
-#: submodule.c:2287
-#, c-format
-msgid "refusing to move '%s' into an existing git dir"
-msgstr ""
-
-#: submodule.c:2293
-#, c-format
-msgid ""
-"Migrating git directory of '%s%s' from\n"
-"'%s' to\n"
-"'%s'\n"
-msgstr ""
-
-#: submodule.c:2424
-msgid "could not start ls-files in .."
-msgstr ""
-
-#: submodule.c:2464
-#, c-format
-msgid "ls-tree returned unexpected return code %d"
-msgstr ""
-
-#: symlinks.c:244
-#, c-format
-msgid "failed to lstat '%s'"
-msgstr ""
-
-#: trailer.c:244
-#, c-format
-msgid "running trailer command '%s' failed"
-msgstr ""
-
-#: trailer.c:493 trailer.c:498 trailer.c:503 trailer.c:562 trailer.c:566
-#: trailer.c:570
-#, c-format
-msgid "unknown value '%s' for key '%s'"
-msgstr ""
-
-#: trailer.c:547 trailer.c:552 trailer.c:557 builtin/remote.c:300
-#: builtin/remote.c:328
-#, c-format
-msgid "more than one %s"
-msgstr ""
-
-#: trailer.c:743
-#, c-format
-msgid "empty trailer token in trailer '%.*s'"
-msgstr ""
-
-#: trailer.c:763
-#, c-format
-msgid "could not read input file '%s'"
-msgstr ""
-
-#: trailer.c:766 builtin/mktag.c:88 imap-send.c:1563
-msgid "could not read from stdin"
-msgstr ""
-
-#: trailer.c:1024 wrapper.c:760
-#, c-format
-msgid "could not stat %s"
-msgstr ""
-
-#: trailer.c:1026
-#, c-format
-msgid "file %s is not a regular file"
-msgstr ""
-
-#: trailer.c:1028
-#, c-format
-msgid "file %s is not writable by user"
-msgstr ""
-
-#: trailer.c:1040
-msgid "could not open temporary file"
-msgstr ""
-
-#: trailer.c:1080
-#, c-format
-msgid "could not rename temporary file to %s"
-msgstr ""
-
-#: transport-helper.c:62 transport-helper.c:91
-msgid "full write to remote helper failed"
-msgstr ""
-
-#: transport-helper.c:145
-#, c-format
-msgid "unable to find remote helper for '%s'"
-msgstr ""
-
-#: transport-helper.c:161 transport-helper.c:575
-msgid "can't dup helper output fd"
-msgstr ""
-
-#: transport-helper.c:214
-#, c-format
-msgid ""
-"unknown mandatory capability %s; this remote helper probably needs newer "
-"version of Git"
-msgstr ""
-
-#: transport-helper.c:220
-msgid "this remote helper should implement refspec capability"
-msgstr ""
-
-#: transport-helper.c:287 transport-helper.c:429
-#, c-format
-msgid "%s unexpectedly said: '%s'"
-msgstr ""
-
-#: transport-helper.c:417
-#, c-format
-msgid "%s also locked %s"
-msgstr ""
-
-#: transport-helper.c:497
-msgid "couldn't run fast-import"
-msgstr ""
-
-#: transport-helper.c:520
-msgid "error while running fast-import"
-msgstr ""
-
-#: transport-helper.c:549 transport-helper.c:1254
-#, c-format
-msgid "could not read ref %s"
-msgstr ""
-
-#: transport-helper.c:594
-#, c-format
-msgid "unknown response to connect: %s"
-msgstr ""
-
-#: transport-helper.c:616
-msgid "setting remote service path not supported by protocol"
-msgstr ""
-
-#: transport-helper.c:618
-msgid "invalid remote service path"
-msgstr ""
-
-#: transport-helper.c:661 transport.c:1496
-msgid "operation not supported by protocol"
-msgstr ""
-
-#: transport-helper.c:664
-#, c-format
-msgid "can't connect to subservice %s"
-msgstr ""
-
-#: transport-helper.c:693 transport.c:415
-msgid "--negotiate-only requires protocol v2"
-msgstr ""
-
-#: transport-helper.c:758
-msgid "'option' without a matching 'ok/error' directive"
-msgstr ""
-
-#: transport-helper.c:801
-#, c-format
-msgid "expected ok/error, helper said '%s'"
-msgstr ""
-
-#: transport-helper.c:862
-#, c-format
-msgid "helper reported unexpected status of %s"
-msgstr ""
-
-#: transport-helper.c:945
-#, c-format
-msgid "helper %s does not support dry-run"
-msgstr ""
-
-#: transport-helper.c:948
-#, c-format
-msgid "helper %s does not support --signed"
-msgstr ""
-
-#: transport-helper.c:951
-#, c-format
-msgid "helper %s does not support --signed=if-asked"
-msgstr ""
-
-#: transport-helper.c:956
-#, c-format
-msgid "helper %s does not support --atomic"
-msgstr ""
-
-#: transport-helper.c:960
-#, c-format
-msgid "helper %s does not support --%s"
-msgstr ""
-
-#: transport-helper.c:967
-#, c-format
-msgid "helper %s does not support 'push-option'"
-msgstr ""
-
-#: transport-helper.c:1067
-msgid "remote-helper doesn't support push; refspec needed"
-msgstr ""
-
-#: transport-helper.c:1072
-#, c-format
-msgid "helper %s does not support 'force'"
-msgstr ""
-
-#: transport-helper.c:1119
-msgid "couldn't run fast-export"
-msgstr ""
-
-#: transport-helper.c:1124
-msgid "error while running fast-export"
-msgstr ""
-
-#: transport-helper.c:1149
-#, c-format
-msgid ""
-"No refs in common and none specified; doing nothing.\n"
-"Perhaps you should specify a branch.\n"
-msgstr ""
-
-#: transport-helper.c:1231
-#, c-format
-msgid "unsupported object format '%s'"
-msgstr ""
-
-#: transport-helper.c:1240
-#, c-format
-msgid "malformed response in ref list: %s"
-msgstr ""
-
-#: transport-helper.c:1392
-#, c-format
-msgid "read(%s) failed"
-msgstr ""
-
-#: transport-helper.c:1419
-#, c-format
-msgid "write(%s) failed"
-msgstr ""
-
-#: transport-helper.c:1468
-#, c-format
-msgid "%s thread failed"
-msgstr ""
-
-#: transport-helper.c:1472
-#, c-format
-msgid "%s thread failed to join: %s"
-msgstr ""
-
-#: transport-helper.c:1491 transport-helper.c:1495
-#, c-format
-msgid "can't start thread for copying data: %s"
-msgstr ""
-
-#: transport-helper.c:1532
-#, c-format
-msgid "%s process failed to wait"
-msgstr ""
-
-#: transport-helper.c:1536
-#, c-format
-msgid "%s process failed"
-msgstr ""
-
-#: transport-helper.c:1554 transport-helper.c:1563
-msgid "can't start thread for copying data"
-msgstr ""
-
-#: transport.c:116
-#, c-format
-msgid "Would set upstream of '%s' to '%s' of '%s'\n"
-msgstr ""
-
-#: transport.c:138
-#, c-format
-msgid "could not read bundle '%s'"
-msgstr ""
-
-#: transport.c:234
-#, c-format
-msgid "transport: invalid depth option '%s'"
-msgstr ""
-
-#: transport.c:289
-msgid "see protocol.version in 'git help config' for more details"
-msgstr ""
-
-#: transport.c:290
-msgid "server options require protocol version 2 or later"
-msgstr ""
-
-#: transport.c:418
-msgid "server does not support wait-for-done"
-msgstr ""
-
-#: transport.c:770
-msgid "could not parse transport.color.* config"
-msgstr ""
-
-#: transport.c:845
-msgid "support for protocol v2 not implemented yet"
-msgstr ""
-
-#: transport.c:978
-#, c-format
-msgid "unknown value for config '%s': %s"
-msgstr ""
-
-#: transport.c:1044
-#, c-format
-msgid "transport '%s' not allowed"
-msgstr ""
-
-#: transport.c:1093
-msgid "git-over-rsync is no longer supported"
-msgstr ""
-
-#: transport.c:1196
-#, c-format
-msgid ""
-"The following submodule paths contain changes that can\n"
-"not be found on any remote:\n"
-msgstr ""
-
-#: transport.c:1200
-#, c-format
-msgid ""
-"\n"
-"Please try\n"
-"\n"
-"\tgit push --recurse-submodules=on-demand\n"
-"\n"
-"or cd to the path and use\n"
-"\n"
-"\tgit push\n"
-"\n"
-"to push them to a remote.\n"
-"\n"
-msgstr ""
-
-#: transport.c:1208
-msgid "Aborting."
-msgstr ""
-
-#: transport.c:1354
-msgid "failed to push all needed submodules"
-msgstr ""
-
-#: tree-walk.c:33
-msgid "too-short tree object"
-msgstr ""
-
-#: tree-walk.c:39
-msgid "malformed mode in tree entry"
-msgstr ""
-
-#: tree-walk.c:43
-msgid "empty filename in tree entry"
-msgstr ""
-
-#: tree-walk.c:118
-msgid "too-short tree file"
-msgstr ""
-
-#: unpack-trees.c:118
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by checkout:\n"
-"%%sPlease commit your changes or stash them before you switch branches."
-msgstr ""
-
-#: unpack-trees.c:120
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by checkout:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:123
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"%%sPlease commit your changes or stash them before you merge."
-msgstr ""
-
-#: unpack-trees.c:125
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:128
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by %s:\n"
-"%%sPlease commit your changes or stash them before you %s."
-msgstr ""
-
-#: unpack-trees.c:130
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by %s:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:135
-#, c-format
-msgid ""
-"Updating the following directories would lose untracked files in them:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:138
-#, c-format
-msgid ""
-"Refusing to remove the current working directory:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:142
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by checkout:\n"
-"%%sPlease move or remove them before you switch branches."
-msgstr ""
-
-#: unpack-trees.c:144
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by checkout:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:147
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by merge:\n"
-"%%sPlease move or remove them before you merge."
-msgstr ""
-
-#: unpack-trees.c:149
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by merge:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:152
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by %s:\n"
-"%%sPlease move or remove them before you %s."
-msgstr ""
-
-#: unpack-trees.c:154
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by %s:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:160
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by "
-"checkout:\n"
-"%%sPlease move or remove them before you switch branches."
-msgstr ""
-
-#: unpack-trees.c:162
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by "
-"checkout:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:165
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by merge:\n"
-"%%sPlease move or remove them before you merge."
-msgstr ""
-
-#: unpack-trees.c:167
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by merge:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:170
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by %s:\n"
-"%%sPlease move or remove them before you %s."
-msgstr ""
-
-#: unpack-trees.c:172
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by %s:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:180
-#, c-format
-msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
-msgstr ""
-
-#: unpack-trees.c:183
-#, c-format
-msgid ""
-"Cannot update submodule:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:186
-#, c-format
-msgid ""
-"The following paths are not up to date and were left despite sparse "
-"patterns:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:188
-#, c-format
-msgid ""
-"The following paths are unmerged and were left despite sparse patterns:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:190
-#, c-format
-msgid ""
-"The following paths were already present and thus not updated despite sparse "
-"patterns:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:270
-#, c-format
-msgid "Aborting\n"
-msgstr ""
-
-#: unpack-trees.c:297
-#, c-format
-msgid ""
-"After fixing the above paths, you may want to run `git sparse-checkout "
-"reapply`.\n"
-msgstr ""
-
-#: unpack-trees.c:358
-msgid "Updating files"
-msgstr ""
-
-#: unpack-trees.c:390
-msgid ""
-"the following paths have collided (e.g. case-sensitive paths\n"
-"on a case-insensitive filesystem) and only one from the same\n"
-"colliding group is in the working tree:\n"
-msgstr ""
-
-#: unpack-trees.c:1664
-msgid "Updating index flags"
-msgstr ""
-
-#: unpack-trees.c:2925
-#, c-format
-msgid "worktree and untracked commit have duplicate entries: %s"
-msgstr ""
-
-#: upload-pack.c:1579
-msgid "expected flush after fetch arguments"
-msgstr ""
-
-#: urlmatch.c:163
-msgid "invalid URL scheme name or missing '://' suffix"
-msgstr ""
-
-#: urlmatch.c:187 urlmatch.c:346 urlmatch.c:405
-#, c-format
-msgid "invalid %XX escape sequence"
-msgstr ""
-
-#: urlmatch.c:215
-msgid "missing host and scheme is not 'file:'"
-msgstr ""
-
-#: urlmatch.c:232
-msgid "a 'file:' URL may not have a port number"
-msgstr ""
-
-#: urlmatch.c:247
-msgid "invalid characters in host name"
-msgstr ""
-
-#: urlmatch.c:292 urlmatch.c:303
-msgid "invalid port number"
-msgstr ""
-
-#: urlmatch.c:371
-msgid "invalid '..' path segment"
-msgstr ""
-
-#: walker.c:170
-msgid "Fetching objects"
-msgstr ""
-
-#: worktree.c:237 builtin/am.c:2210 builtin/bisect--helper.c:156
-#, c-format
-msgid "failed to read '%s'"
-msgstr ""
-
-#: worktree.c:304
-#, c-format
-msgid "'%s' at main working tree is not the repository directory"
-msgstr ""
-
-#: worktree.c:315
-#, c-format
-msgid "'%s' file does not contain absolute path to the working tree location"
-msgstr ""
-
-#: worktree.c:327
-#, c-format
-msgid "'%s' does not exist"
-msgstr ""
-
-#: worktree.c:333
-#, c-format
-msgid "'%s' is not a .git file, error code %d"
-msgstr ""
-
-#: worktree.c:342
-#, c-format
-msgid "'%s' does not point back to '%s'"
-msgstr ""
-
-#: worktree.c:600
-msgid "not a directory"
-msgstr ""
-
-#: worktree.c:609
-msgid ".git is not a file"
-msgstr ""
-
-#: worktree.c:611
-msgid ".git file broken"
-msgstr ""
-
-#: worktree.c:613
-msgid ".git file incorrect"
-msgstr ""
-
-#: worktree.c:719
-msgid "not a valid path"
-msgstr ""
-
-#: worktree.c:725
-msgid "unable to locate repository; .git is not a file"
-msgstr ""
-
-#: worktree.c:729
-msgid "unable to locate repository; .git file does not reference a repository"
-msgstr ""
-
-#: worktree.c:733
-msgid "unable to locate repository; .git file broken"
-msgstr ""
-
-#: worktree.c:739
-msgid "gitdir unreadable"
-msgstr ""
-
-#: worktree.c:743
-msgid "gitdir incorrect"
-msgstr ""
-
-#: worktree.c:768
-msgid "not a valid directory"
-msgstr ""
-
-#: worktree.c:774
-msgid "gitdir file does not exist"
-msgstr ""
-
-#: worktree.c:779 worktree.c:788
-#, c-format
-msgid "unable to read gitdir file (%s)"
-msgstr ""
-
-#: worktree.c:798
-#, c-format
-msgid "short read (expected %<PRIuMAX> bytes, read %<PRIuMAX>)"
-msgstr ""
-
-#: worktree.c:806
-msgid "invalid gitdir file"
-msgstr ""
-
-#: worktree.c:814
-msgid "gitdir file points to non-existent location"
-msgstr ""
-
-#: worktree.c:830
-#, c-format
-msgid "unable to set %s in '%s'"
-msgstr ""
-
-#: worktree.c:832
-#, c-format
-msgid "unable to unset %s in '%s'"
-msgstr ""
-
-#: worktree.c:852
-msgid "failed to set extensions.worktreeConfig setting"
-msgstr ""
-
-#: wrapper.c:161
-#, c-format
-msgid "could not setenv '%s'"
-msgstr ""
-
-#: wrapper.c:213
-#, c-format
-msgid "unable to create '%s'"
-msgstr ""
-
-#: wrapper.c:215 wrapper.c:385
-#, c-format
-msgid "could not open '%s' for reading and writing"
-msgstr ""
-
-#: wrapper.c:416 wrapper.c:683
-#, c-format
-msgid "unable to access '%s'"
-msgstr ""
-
-#: wrapper.c:691
-msgid "unable to get current working directory"
-msgstr ""
-
-#: wt-status.c:158
-msgid "Unmerged paths:"
-msgstr ""
-
-#: wt-status.c:187 wt-status.c:219
-msgid "  (use \"git restore --staged <file>...\" to unstage)"
-msgstr ""
-
-#: wt-status.c:190 wt-status.c:222
-#, c-format
-msgid "  (use \"git restore --source=%s --staged <file>...\" to unstage)"
-msgstr ""
-
-#: wt-status.c:193 wt-status.c:225
-msgid "  (use \"git rm --cached <file>...\" to unstage)"
-msgstr ""
-
-#: wt-status.c:197
-msgid "  (use \"git add <file>...\" to mark resolution)"
-msgstr ""
-
-#: wt-status.c:199 wt-status.c:203
-msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
-msgstr ""
-
-#: wt-status.c:201
-msgid "  (use \"git rm <file>...\" to mark resolution)"
-msgstr ""
-
-#: wt-status.c:211 wt-status.c:1140
-msgid "Changes to be committed:"
-msgstr ""
-
-#: wt-status.c:234 wt-status.c:1149
-msgid "Changes not staged for commit:"
-msgstr ""
-
-#: wt-status.c:238
-msgid "  (use \"git add <file>...\" to update what will be committed)"
-msgstr ""
-
-#: wt-status.c:240
-msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
-msgstr ""
-
-#: wt-status.c:241
-msgid ""
-"  (use \"git restore <file>...\" to discard changes in working directory)"
-msgstr ""
-
-#: wt-status.c:243
-msgid "  (commit or discard the untracked or modified content in submodules)"
-msgstr ""
-
-#: wt-status.c:254
-#, c-format
-msgid "  (use \"git %s <file>...\" to include in what will be committed)"
-msgstr ""
-
-#: wt-status.c:266
-msgid "both deleted:"
-msgstr ""
-
-#: wt-status.c:268
-msgid "added by us:"
-msgstr ""
-
-#: wt-status.c:270
-msgid "deleted by them:"
-msgstr ""
-
-#: wt-status.c:272
-msgid "added by them:"
-msgstr ""
-
-#: wt-status.c:274
-msgid "deleted by us:"
-msgstr ""
-
-#: wt-status.c:276
-msgid "both added:"
-msgstr ""
-
-#: wt-status.c:278
-msgid "both modified:"
-msgstr ""
-
-#: wt-status.c:288
-msgid "new file:"
-msgstr ""
-
-#: wt-status.c:290
-msgid "copied:"
-msgstr ""
-
-#: wt-status.c:292
-msgid "deleted:"
-msgstr ""
-
-#: wt-status.c:294
-msgid "modified:"
-msgstr ""
-
-#: wt-status.c:296
-msgid "renamed:"
-msgstr ""
-
-#: wt-status.c:298
-msgid "typechange:"
-msgstr ""
-
-#: wt-status.c:300
-msgid "unknown:"
-msgstr ""
-
-#: wt-status.c:302
-msgid "unmerged:"
-msgstr ""
-
-#: wt-status.c:382
-msgid "new commits, "
-msgstr ""
-
-#: wt-status.c:384
-msgid "modified content, "
-msgstr ""
-
-#: wt-status.c:386
-msgid "untracked content, "
-msgstr ""
-
-#: wt-status.c:973
-#, c-format
-msgid "Your stash currently has %d entry"
-msgid_plural "Your stash currently has %d entries"
-msgstr[0] ""
-msgstr[1] ""
-
-#: wt-status.c:1004
-msgid "Submodules changed but not updated:"
-msgstr ""
-
-#: wt-status.c:1006
-msgid "Submodule changes to be committed:"
-msgstr ""
-
-#: wt-status.c:1088
-msgid ""
-"Do not modify or remove the line above.\n"
-"Everything below it will be ignored."
-msgstr ""
-
-#: wt-status.c:1180
-#, c-format
-msgid ""
-"\n"
-"It took %.2f seconds to compute the branch ahead/behind values.\n"
-"You can use '--no-ahead-behind' to avoid this.\n"
-msgstr ""
-
-#: wt-status.c:1210
-msgid "You have unmerged paths."
-msgstr ""
-
-#: wt-status.c:1213
-msgid "  (fix conflicts and run \"git commit\")"
-msgstr ""
-
-#: wt-status.c:1215
-msgid "  (use \"git merge --abort\" to abort the merge)"
-msgstr ""
-
-#: wt-status.c:1219
-msgid "All conflicts fixed but you are still merging."
-msgstr ""
-
-#: wt-status.c:1222
-msgid "  (use \"git commit\" to conclude merge)"
-msgstr ""
-
-#: wt-status.c:1233
-msgid "You are in the middle of an am session."
-msgstr ""
-
-#: wt-status.c:1236
-msgid "The current patch is empty."
-msgstr ""
-
-#: wt-status.c:1241
-msgid "  (fix conflicts and then run \"git am --continue\")"
-msgstr ""
-
-#: wt-status.c:1243
-msgid "  (use \"git am --skip\" to skip this patch)"
-msgstr ""
-
-#: wt-status.c:1246
-msgid ""
-"  (use \"git am --allow-empty\" to record this patch as an empty commit)"
-msgstr ""
-
-#: wt-status.c:1248
-msgid "  (use \"git am --abort\" to restore the original branch)"
-msgstr ""
-
-#: wt-status.c:1381
-msgid "git-rebase-todo is missing."
-msgstr ""
-
-#: wt-status.c:1383
-msgid "No commands done."
-msgstr ""
-
-#: wt-status.c:1386
-#, c-format
-msgid "Last command done (%<PRIuMAX> command done):"
-msgid_plural "Last commands done (%<PRIuMAX> commands done):"
-msgstr[0] ""
-msgstr[1] ""
-
-#: wt-status.c:1397
-#, c-format
-msgid "  (see more in file %s)"
-msgstr ""
-
-#: wt-status.c:1402
-msgid "No commands remaining."
-msgstr ""
-
-#: wt-status.c:1405
-#, c-format
-msgid "Next command to do (%<PRIuMAX> remaining command):"
-msgid_plural "Next commands to do (%<PRIuMAX> remaining commands):"
-msgstr[0] ""
-msgstr[1] ""
-
-#: wt-status.c:1413
-msgid "  (use \"git rebase --edit-todo\" to view and edit)"
-msgstr ""
-
-#: wt-status.c:1425
-#, c-format
-msgid "You are currently rebasing branch '%s' on '%s'."
-msgstr ""
-
-#: wt-status.c:1430
-msgid "You are currently rebasing."
-msgstr ""
-
-#: wt-status.c:1443
-msgid "  (fix conflicts and then run \"git rebase --continue\")"
-msgstr ""
-
-#: wt-status.c:1445
-msgid "  (use \"git rebase --skip\" to skip this patch)"
-msgstr ""
-
-#: wt-status.c:1447
-msgid "  (use \"git rebase --abort\" to check out the original branch)"
-msgstr ""
-
-#: wt-status.c:1454
-msgid "  (all conflicts fixed: run \"git rebase --continue\")"
-msgstr ""
-
-#: wt-status.c:1458
-#, c-format
-msgid ""
-"You are currently splitting a commit while rebasing branch '%s' on '%s'."
-msgstr ""
-
-#: wt-status.c:1463
-msgid "You are currently splitting a commit during a rebase."
-msgstr ""
-
-#: wt-status.c:1466
-msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
-msgstr ""
-
-#: wt-status.c:1470
-#, c-format
-msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
-msgstr ""
-
-#: wt-status.c:1475
-msgid "You are currently editing a commit during a rebase."
-msgstr ""
-
-#: wt-status.c:1478
-msgid "  (use \"git commit --amend\" to amend the current commit)"
-msgstr ""
-
-#: wt-status.c:1480
-msgid ""
-"  (use \"git rebase --continue\" once you are satisfied with your changes)"
-msgstr ""
-
-#: wt-status.c:1491
-msgid "Cherry-pick currently in progress."
-msgstr ""
-
-#: wt-status.c:1494
-#, c-format
-msgid "You are currently cherry-picking commit %s."
-msgstr ""
-
-#: wt-status.c:1501
-msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
-msgstr ""
-
-#: wt-status.c:1504
-msgid "  (run \"git cherry-pick --continue\" to continue)"
-msgstr ""
-
-#: wt-status.c:1507
-msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
-msgstr ""
-
-#: wt-status.c:1509
-msgid "  (use \"git cherry-pick --skip\" to skip this patch)"
-msgstr ""
-
-#: wt-status.c:1511
-msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
-msgstr ""
-
-#: wt-status.c:1521
-msgid "Revert currently in progress."
-msgstr ""
-
-#: wt-status.c:1524
-#, c-format
-msgid "You are currently reverting commit %s."
-msgstr ""
-
-#: wt-status.c:1530
-msgid "  (fix conflicts and run \"git revert --continue\")"
-msgstr ""
-
-#: wt-status.c:1533
-msgid "  (run \"git revert --continue\" to continue)"
-msgstr ""
-
-#: wt-status.c:1536
-msgid "  (all conflicts fixed: run \"git revert --continue\")"
-msgstr ""
-
-#: wt-status.c:1538
-msgid "  (use \"git revert --skip\" to skip this patch)"
-msgstr ""
-
-#: wt-status.c:1540
-msgid "  (use \"git revert --abort\" to cancel the revert operation)"
-msgstr ""
-
-#: wt-status.c:1550
-#, c-format
-msgid "You are currently bisecting, started from branch '%s'."
-msgstr ""
-
-#: wt-status.c:1554
-msgid "You are currently bisecting."
-msgstr ""
-
-#: wt-status.c:1557
-msgid "  (use \"git bisect reset\" to get back to the original branch)"
-msgstr ""
-
-#: wt-status.c:1568
-msgid "You are in a sparse checkout."
-msgstr ""
-
-#: wt-status.c:1571
-#, c-format
-msgid "You are in a sparse checkout with %d%% of tracked files present."
-msgstr ""
-
-#: wt-status.c:1815
-msgid "On branch "
-msgstr ""
-
-#: wt-status.c:1822
-msgid "interactive rebase in progress; onto "
-msgstr ""
-
-#: wt-status.c:1824
-msgid "rebase in progress; onto "
-msgstr ""
-
-#: wt-status.c:1829
-msgid "HEAD detached at "
-msgstr ""
-
-#: wt-status.c:1831
-msgid "HEAD detached from "
-msgstr ""
-
-#: wt-status.c:1834
-msgid "Not currently on any branch."
-msgstr ""
-
-#: wt-status.c:1851
-msgid "Initial commit"
-msgstr ""
-
-#: wt-status.c:1852
-msgid "No commits yet"
-msgstr ""
-
-#: wt-status.c:1866
-msgid "Untracked files"
-msgstr ""
-
-#: wt-status.c:1868
-msgid "Ignored files"
-msgstr ""
-
-#: wt-status.c:1872
-#, c-format
-msgid ""
-"It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
-"may speed it up, but you have to be careful not to forget to add\n"
-"new files yourself (see 'git help status')."
-msgstr ""
-
-#: wt-status.c:1878
-#, c-format
-msgid "Untracked files not listed%s"
-msgstr ""
-
-#: wt-status.c:1880
-msgid " (use -u option to show untracked files)"
-msgstr ""
-
-#: wt-status.c:1886
-msgid "No changes"
-msgstr ""
-
-#: wt-status.c:1891
-#, c-format
-msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
-msgstr ""
-
-#: wt-status.c:1895
-#, c-format
-msgid "no changes added to commit\n"
-msgstr ""
-
-#: wt-status.c:1899
-#, c-format
-msgid ""
-"nothing added to commit but untracked files present (use \"git add\" to "
-"track)\n"
-msgstr ""
-
-#: wt-status.c:1903
-#, c-format
-msgid "nothing added to commit but untracked files present\n"
-msgstr ""
-
-#: wt-status.c:1907
-#, c-format
-msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
-msgstr ""
-
-#: wt-status.c:1911 wt-status.c:1917
-#, c-format
-msgid "nothing to commit\n"
-msgstr ""
-
-#: wt-status.c:1914
-#, c-format
-msgid "nothing to commit (use -u to show untracked files)\n"
-msgstr ""
-
-#: wt-status.c:1919
-#, c-format
-msgid "nothing to commit, working tree clean\n"
-msgstr ""
-
-#: wt-status.c:2024
-msgid "No commits yet on "
-msgstr ""
-
-#: wt-status.c:2028
-msgid "HEAD (no branch)"
-msgstr ""
-
-#: wt-status.c:2059
-msgid "different"
-msgstr ""
-
-#: wt-status.c:2061 wt-status.c:2069
-msgid "behind "
-msgstr ""
-
-#: wt-status.c:2064 wt-status.c:2067
-msgid "ahead "
-msgstr ""
-
-#. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2605
-#, c-format
-msgid "cannot %s: You have unstaged changes."
-msgstr ""
-
-#: wt-status.c:2611
-msgid "additionally, your index contains uncommitted changes."
-msgstr ""
-
-#: wt-status.c:2613
-#, c-format
-msgid "cannot %s: Your index contains uncommitted changes."
-msgstr ""
-
-#: compat/simple-ipc/ipc-unix-socket.c:205
-msgid "could not send IPC command"
-msgstr ""
-
-#: compat/simple-ipc/ipc-unix-socket.c:212
-msgid "could not read IPC response"
-msgstr ""
-
-#: compat/simple-ipc/ipc-unix-socket.c:892
-#, c-format
-msgid "could not start accept_thread '%s'"
-msgstr ""
-
-#: compat/simple-ipc/ipc-unix-socket.c:904
-#, c-format
-msgid "could not start worker[0] for '%s'"
-msgstr ""
-
-#: compat/precompose_utf8.c:58 builtin/clone.c:353
-#, c-format
-msgid "failed to unlink '%s'"
-msgstr ""
-
-#: compat/fsmonitor/fsm-listen-darwin.c:355
-msgid "Unable to create FSEventStream."
-msgstr ""
-
-#: compat/fsmonitor/fsm-listen-darwin.c:403
-msgid "Failed to start the FSEventStream"
-msgstr ""
-
-#: builtin/add.c:26
-msgid "git add [<options>] [--] <pathspec>..."
-msgstr ""
-
-#: builtin/add.c:63
-#, c-format
-msgid "cannot chmod %cx '%s'"
-msgstr ""
-
-#: builtin/add.c:105
-#, c-format
-msgid "unexpected diff status %c"
-msgstr ""
-
-#: builtin/add.c:110 builtin/commit.c:299
-msgid "updating files failed"
-msgstr ""
-
-#: builtin/add.c:120
-#, c-format
-msgid "remove '%s'\n"
-msgstr ""
-
-#: builtin/add.c:204
-msgid "Unstaged changes after refreshing the index:"
-msgstr ""
-
-#: builtin/add.c:312 builtin/rev-parse.c:993
-msgid "Could not read the index"
-msgstr ""
-
-#: builtin/add.c:325
-msgid "Could not write patch"
-msgstr ""
-
-#: builtin/add.c:328
-msgid "editing patch failed"
-msgstr ""
-
-#: builtin/add.c:331
-#, c-format
-msgid "Could not stat '%s'"
-msgstr ""
-
-#: builtin/add.c:333
-msgid "Empty patch. Aborted."
-msgstr ""
-
-#: builtin/add.c:339
-#, c-format
-msgid "Could not apply '%s'"
-msgstr ""
-
-#: builtin/add.c:347
-msgid "The following paths are ignored by one of your .gitignore files:\n"
-msgstr ""
-
-#: builtin/add.c:367 builtin/clean.c:927 builtin/fetch.c:175 builtin/mv.c:124
-#: builtin/prune-packed.c:14 builtin/pull.c:208 builtin/push.c:550
-#: builtin/remote.c:1454 builtin/rm.c:244 builtin/send-pack.c:194
-msgid "dry run"
-msgstr ""
-
-#: builtin/add.c:368 builtin/check-ignore.c:22 builtin/commit.c:1483
-#: builtin/count-objects.c:98 builtin/fsck.c:789 builtin/log.c:2338
-#: builtin/mv.c:123 builtin/read-tree.c:120
-msgid "be verbose"
-msgstr ""
-
-#: builtin/add.c:370
-msgid "interactive picking"
-msgstr ""
-
-#: builtin/add.c:371 builtin/checkout.c:1599 builtin/reset.c:417
-msgid "select hunks interactively"
-msgstr ""
-
-#: builtin/add.c:372
-msgid "edit current diff and apply"
-msgstr ""
-
-#: builtin/add.c:373
-msgid "allow adding otherwise ignored files"
-msgstr ""
-
-#: builtin/add.c:374
-msgid "update tracked files"
-msgstr ""
-
-#: builtin/add.c:375
-msgid "renormalize EOL of tracked files (implies -u)"
-msgstr ""
-
-#: builtin/add.c:376
-msgid "record only the fact that the path will be added later"
-msgstr ""
-
-#: builtin/add.c:377
-msgid "add changes from all tracked and untracked files"
-msgstr ""
-
-#: builtin/add.c:380
-msgid "ignore paths removed in the working tree (same as --no-all)"
-msgstr ""
-
-#: builtin/add.c:382
-msgid "don't add, only refresh the index"
-msgstr ""
-
-#: builtin/add.c:383
-msgid "just skip files which cannot be added because of errors"
-msgstr ""
-
-#: builtin/add.c:384
-msgid "check if - even missing - files are ignored in dry run"
-msgstr ""
-
-#: builtin/add.c:385 builtin/mv.c:128 builtin/rm.c:251
-msgid "allow updating entries outside of the sparse-checkout cone"
-msgstr ""
-
-#: builtin/add.c:387 builtin/update-index.c:1023
-msgid "override the executable bit of the listed files"
-msgstr ""
-
-#: builtin/add.c:389
-msgid "warn when adding an embedded repository"
-msgstr ""
-
-#: builtin/add.c:407
-#, c-format
-msgid ""
-"You've added another git repository inside your current repository.\n"
-"Clones of the outer repository will not contain the contents of\n"
-"the embedded repository and will not know how to obtain it.\n"
-"If you meant to add a submodule, use:\n"
-"\n"
-"\tgit submodule add <url> %s\n"
-"\n"
-"If you added this path by mistake, you can remove it from the\n"
-"index with:\n"
-"\n"
-"\tgit rm --cached %s\n"
-"\n"
-"See \"git help submodule\" for more information."
-msgstr ""
-
-#: builtin/add.c:436
-#, c-format
-msgid "adding embedded git repository: %s"
-msgstr ""
-
-#: builtin/add.c:456
-msgid ""
-"Use -f if you really want to add them.\n"
-"Turn this message off by running\n"
-"\"git config advice.addIgnoredFile false\""
-msgstr ""
-
-#: builtin/add.c:471
-msgid "adding files failed"
-msgstr ""
-
-#: builtin/add.c:534
-#, c-format
-msgid "--chmod param '%s' must be either -x or +x"
-msgstr ""
-
-#: builtin/add.c:555 builtin/checkout.c:1770 builtin/commit.c:365
-#: builtin/reset.c:436 builtin/rm.c:275 builtin/stash.c:1702
-#, c-format
-msgid "'%s' and pathspec arguments cannot be used together"
-msgstr ""
-
-#: builtin/add.c:566
-#, c-format
-msgid "Nothing specified, nothing added.\n"
-msgstr ""
-
-#: builtin/add.c:568
-msgid ""
-"Maybe you wanted to say 'git add .'?\n"
-"Turn this message off by running\n"
-"\"git config advice.addEmptyPathspec false\""
-msgstr ""
-
-#: builtin/am.c:393
-msgid "could not parse author script"
-msgstr ""
-
-#: builtin/am.c:483
-#, c-format
-msgid "'%s' was deleted by the applypatch-msg hook"
-msgstr ""
-
-#: builtin/am.c:525
-#, c-format
-msgid "Malformed input line: '%s'."
-msgstr ""
-
-#: builtin/am.c:563
-#, c-format
-msgid "Failed to copy notes from '%s' to '%s'"
-msgstr ""
-
-#: builtin/am.c:589
-msgid "fseek failed"
-msgstr ""
-
-#: builtin/am.c:777
-#, c-format
-msgid "could not parse patch '%s'"
-msgstr ""
-
-#: builtin/am.c:842
-msgid "Only one StGIT patch series can be applied at once"
-msgstr ""
-
-#: builtin/am.c:890
-msgid "invalid timestamp"
-msgstr ""
-
-#: builtin/am.c:895 builtin/am.c:907
-msgid "invalid Date line"
-msgstr ""
-
-#: builtin/am.c:902
-msgid "invalid timezone offset"
-msgstr ""
-
-#: builtin/am.c:995
-msgid "Patch format detection failed."
-msgstr ""
-
-#: builtin/am.c:1000 builtin/clone.c:306
-#, c-format
-msgid "failed to create directory '%s'"
-msgstr ""
-
-#: builtin/am.c:1005
-msgid "Failed to split patches."
-msgstr ""
-
-#: builtin/am.c:1154
-#, c-format
-msgid "When you have resolved this problem, run \"%s --continue\"."
-msgstr ""
-
-#: builtin/am.c:1155
-#, c-format
-msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
-msgstr ""
-
-#: builtin/am.c:1160
-#, c-format
-msgid "To record the empty patch as an empty commit, run \"%s --allow-empty\"."
-msgstr ""
-
-#: builtin/am.c:1162
-#, c-format
-msgid "To restore the original branch and stop patching, run \"%s --abort\"."
-msgstr ""
-
-#: builtin/am.c:1257
-msgid "Patch sent with format=flowed; space at the end of lines might be lost."
-msgstr ""
-
-#: builtin/am.c:1345
-#, c-format
-msgid "missing author line in commit %s"
-msgstr ""
-
-#: builtin/am.c:1348
-#, c-format
-msgid "invalid ident line: %.*s"
-msgstr ""
-
-#: builtin/am.c:1567
-msgid "Repository lacks necessary blobs to fall back on 3-way merge."
-msgstr ""
-
-#: builtin/am.c:1569
-msgid "Using index info to reconstruct a base tree..."
-msgstr ""
-
-#: builtin/am.c:1588
-msgid ""
-"Did you hand edit your patch?\n"
-"It does not apply to blobs recorded in its index."
-msgstr ""
-
-#: builtin/am.c:1594
-msgid "Falling back to patching base and 3-way merge..."
-msgstr ""
-
-#: builtin/am.c:1620
-msgid "Failed to merge in the changes."
-msgstr ""
-
-#: builtin/am.c:1652
-msgid "applying to an empty history"
-msgstr ""
-
-#: builtin/am.c:1704 builtin/am.c:1708
-#, c-format
-msgid "cannot resume: %s does not exist."
-msgstr ""
-
-#: builtin/am.c:1726
-msgid "Commit Body is:"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
-#. in your translation. The program will only accept English
-#. input at this point.
-#.
-#: builtin/am.c:1736
-#, c-format
-msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
-msgstr ""
-
-#: builtin/am.c:1782 builtin/commit.c:410
-msgid "unable to write index file"
-msgstr ""
-
-#: builtin/am.c:1786
-#, c-format
-msgid "Dirty index: cannot apply patches (dirty: %s)"
-msgstr ""
-
-#: builtin/am.c:1828
-#, c-format
-msgid "Skipping: %.*s"
-msgstr ""
-
-#: builtin/am.c:1833
-#, c-format
-msgid "Creating an empty commit: %.*s"
-msgstr ""
-
-#: builtin/am.c:1837
-msgid "Patch is empty."
-msgstr ""
-
-#: builtin/am.c:1848 builtin/am.c:1917
-#, c-format
-msgid "Applying: %.*s"
-msgstr ""
-
-#: builtin/am.c:1865
-msgid "No changes -- Patch already applied."
-msgstr ""
-
-#: builtin/am.c:1871
-#, c-format
-msgid "Patch failed at %s %.*s"
-msgstr ""
-
-#: builtin/am.c:1875
-msgid "Use 'git am --show-current-patch=diff' to see the failed patch"
-msgstr ""
-
-#: builtin/am.c:1921
-msgid "No changes - recorded it as an empty commit."
-msgstr ""
-
-#: builtin/am.c:1923
-msgid ""
-"No changes - did you forget to use 'git add'?\n"
-"If there is nothing left to stage, chances are that something else\n"
-"already introduced the same changes; you might want to skip this patch."
-msgstr ""
-
-#: builtin/am.c:1931
-msgid ""
-"You still have unmerged paths in your index.\n"
-"You should 'git add' each file with resolved conflicts to mark them as "
-"such.\n"
-"You might run `git rm` on a file to accept \"deleted by them\" for it."
-msgstr ""
-
-#: builtin/am.c:2039 builtin/am.c:2043 builtin/am.c:2055 builtin/reset.c:455
-#: builtin/reset.c:463
-#, c-format
-msgid "Could not parse object '%s'."
-msgstr ""
-
-#: builtin/am.c:2091 builtin/am.c:2167
-msgid "failed to clean index"
-msgstr ""
-
-#: builtin/am.c:2135
-msgid ""
-"You seem to have moved HEAD since the last 'am' failure.\n"
-"Not rewinding to ORIG_HEAD"
-msgstr ""
-
-#: builtin/am.c:2292
-#, c-format
-msgid "options '%s=%s' and '%s=%s' cannot be used together"
-msgstr ""
-
-#: builtin/am.c:2323
-msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
-msgstr ""
-
-#: builtin/am.c:2324
-msgid "git am [<options>] (--continue | --skip | --abort)"
-msgstr ""
-
-#: builtin/am.c:2330
-msgid "run interactively"
-msgstr ""
-
-#: builtin/am.c:2332
-msgid "historical option -- no-op"
-msgstr ""
-
-#: builtin/am.c:2334
-msgid "allow fall back on 3way merging if needed"
-msgstr ""
-
-#: builtin/am.c:2335 builtin/init-db.c:547 builtin/prune-packed.c:16
-#: builtin/repack.c:646 builtin/stash.c:946
-msgid "be quiet"
-msgstr ""
-
-#: builtin/am.c:2337
-msgid "add a Signed-off-by trailer to the commit message"
-msgstr ""
-
-#: builtin/am.c:2340
-msgid "recode into utf8 (default)"
-msgstr ""
-
-#: builtin/am.c:2342
-msgid "pass -k flag to git-mailinfo"
-msgstr ""
-
-#: builtin/am.c:2344
-msgid "pass -b flag to git-mailinfo"
-msgstr ""
-
-#: builtin/am.c:2346
-msgid "pass -m flag to git-mailinfo"
-msgstr ""
-
-#: builtin/am.c:2348
-msgid "pass --keep-cr flag to git-mailsplit for mbox format"
-msgstr ""
-
-#: builtin/am.c:2351
-msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
-msgstr ""
-
-#: builtin/am.c:2354
-msgid "strip everything before a scissors line"
-msgstr ""
-
-#: builtin/am.c:2356
-msgid "pass it through git-mailinfo"
-msgstr ""
-
-#: builtin/am.c:2359 builtin/am.c:2362 builtin/am.c:2365 builtin/am.c:2368
-#: builtin/am.c:2371 builtin/am.c:2374 builtin/am.c:2377 builtin/am.c:2380
-#: builtin/am.c:2386
-msgid "pass it through git-apply"
-msgstr ""
-
-#: builtin/am.c:2376 builtin/commit.c:1514 builtin/fmt-merge-msg.c:18
-#: builtin/fmt-merge-msg.c:21 builtin/grep.c:920 builtin/merge.c:263
-#: builtin/pull.c:142 builtin/pull.c:204 builtin/pull.c:221
-#: builtin/rebase.c:1074 builtin/repack.c:657 builtin/repack.c:661
-#: builtin/repack.c:663 builtin/show-branch.c:650 builtin/show-ref.c:172
-#: builtin/tag.c:446 parse-options.h:159 parse-options.h:180
-#: parse-options.h:348
-msgid "n"
-msgstr ""
-
-#: builtin/am.c:2382 builtin/branch.c:695 builtin/bugreport.c:109
-#: builtin/cat-file.c:848 builtin/cat-file.c:852 builtin/cat-file.c:856
-#: builtin/for-each-ref.c:41 builtin/ls-tree.c:357 builtin/replace.c:555
-#: builtin/tag.c:480 builtin/verify-tag.c:38
-msgid "format"
-msgstr ""
-
-#: builtin/am.c:2383
-msgid "format the patch(es) are in"
-msgstr ""
-
-#: builtin/am.c:2389
-msgid "override error message when patch failure occurs"
-msgstr ""
-
-#: builtin/am.c:2391
-msgid "continue applying patches after resolving a conflict"
-msgstr ""
-
-#: builtin/am.c:2394
-msgid "synonyms for --continue"
-msgstr ""
-
-#: builtin/am.c:2397
-msgid "skip the current patch"
-msgstr ""
-
-#: builtin/am.c:2400
-msgid "restore the original branch and abort the patching operation"
-msgstr ""
-
-#: builtin/am.c:2403
-msgid "abort the patching operation but keep HEAD where it is"
-msgstr ""
-
-#: builtin/am.c:2407
-msgid "show the patch being applied"
-msgstr ""
-
-#: builtin/am.c:2411
-msgid "record the empty patch as an empty commit"
-msgstr ""
-
-#: builtin/am.c:2415
-msgid "lie about committer date"
-msgstr ""
-
-#: builtin/am.c:2417
-msgid "use current timestamp for author date"
-msgstr ""
-
-#: builtin/am.c:2419 builtin/commit-tree.c:118 builtin/commit.c:1642
-#: builtin/merge.c:302 builtin/pull.c:179 builtin/rebase.c:1127
-#: builtin/revert.c:117 builtin/tag.c:461
-msgid "key-id"
-msgstr ""
-
-#: builtin/am.c:2420 builtin/rebase.c:1128
-msgid "GPG-sign commits"
-msgstr ""
-
-#: builtin/am.c:2423
-msgid "how to handle empty patches"
-msgstr ""
-
-#: builtin/am.c:2426
-msgid "(internal use for git-rebase)"
-msgstr ""
-
-#: builtin/am.c:2444
-msgid ""
-"The -b/--binary option has been a no-op for long time, and\n"
-"it will be removed. Please do not use it anymore."
-msgstr ""
-
-#: builtin/am.c:2451
-msgid "failed to read the index"
-msgstr ""
-
-#: builtin/am.c:2466
-#, c-format
-msgid "previous rebase directory %s still exists but mbox given."
-msgstr ""
-
-#: builtin/am.c:2490
-#, c-format
-msgid ""
-"Stray %s directory found.\n"
-"Use \"git am --abort\" to remove it."
-msgstr ""
-
-#: builtin/am.c:2496
-msgid "Resolve operation not in progress, we are not resuming."
-msgstr ""
-
-#: builtin/am.c:2506
-msgid "interactive mode requires patches on the command line"
-msgstr ""
-
-#: builtin/apply.c:8
-msgid "git apply [<options>] [<patch>...]"
-msgstr ""
-
-#: builtin/archive.c:18
-msgid "could not redirect output"
-msgstr ""
-
-#: builtin/archive.c:35
-msgid "git archive: Remote with no URL"
-msgstr ""
-
-#: builtin/archive.c:59
-msgid "git archive: expected ACK/NAK, got a flush packet"
-msgstr ""
-
-#: builtin/archive.c:62
-#, c-format
-msgid "git archive: NACK %s"
-msgstr ""
-
-#: builtin/archive.c:63
-msgid "git archive: protocol error"
-msgstr ""
-
-#: builtin/archive.c:67
-msgid "git archive: expected a flush"
-msgstr ""
-
-#: builtin/bisect--helper.c:24
-msgid "git bisect--helper --bisect-reset [<commit>]"
-msgstr ""
-
-#: builtin/bisect--helper.c:26
-msgid ""
-"git bisect--helper --bisect-start [--term-{new,bad}=<term> --term-{old,good}"
-"=<term>] [--no-checkout] [--first-parent] [<bad> [<good>...]] [--] "
-"[<paths>...]"
-msgstr ""
-
-#: builtin/bisect--helper.c:29
-msgid "git bisect--helper --bisect-state (bad|new) [<rev>]"
-msgstr ""
-
-#: builtin/bisect--helper.c:30
-msgid "git bisect--helper --bisect-state (good|old) [<rev>...]"
-msgstr ""
-
-#: builtin/bisect--helper.c:31
-msgid "git bisect--helper --bisect-replay <filename>"
-msgstr ""
-
-#: builtin/bisect--helper.c:32
-msgid "git bisect--helper --bisect-skip [(<rev>|<range>)...]"
-msgstr ""
-
-#: builtin/bisect--helper.c:34
-msgid "git bisect--helper --bisect-run <cmd>..."
-msgstr ""
-
-#: builtin/bisect--helper.c:109
-#, c-format
-msgid "cannot open file '%s' in mode '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:116
-#, c-format
-msgid "could not write to file '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:154
-#, c-format
-msgid "cannot open file '%s' for reading"
-msgstr ""
-
-#: builtin/bisect--helper.c:170
-#, c-format
-msgid "'%s' is not a valid term"
-msgstr ""
-
-#: builtin/bisect--helper.c:174
-#, c-format
-msgid "can't use the builtin command '%s' as a term"
-msgstr ""
-
-#: builtin/bisect--helper.c:184
-#, c-format
-msgid "can't change the meaning of the term '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:194
-msgid "please use two different terms"
-msgstr ""
-
-#: builtin/bisect--helper.c:210
-#, c-format
-msgid "We are not bisecting.\n"
-msgstr ""
-
-#: builtin/bisect--helper.c:218
-#, c-format
-msgid "'%s' is not a valid commit"
-msgstr ""
-
-#: builtin/bisect--helper.c:227
-#, c-format
-msgid ""
-"could not check out original HEAD '%s'. Try 'git bisect reset <commit>'."
-msgstr ""
-
-#: builtin/bisect--helper.c:271
-#, c-format
-msgid "Bad bisect_write argument: %s"
-msgstr ""
-
-#: builtin/bisect--helper.c:276
-#, c-format
-msgid "couldn't get the oid of the rev '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:288
-#, c-format
-msgid "couldn't open the file '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:314
-#, c-format
-msgid "Invalid command: you're currently in a %s/%s bisect"
-msgstr ""
-
-#: builtin/bisect--helper.c:341
-#, c-format
-msgid ""
-"You need to give me at least one %s and %s revision.\n"
-"You can use \"git bisect %s\" and \"git bisect %s\" for that."
-msgstr ""
-
-#: builtin/bisect--helper.c:345
-#, c-format
-msgid ""
-"You need to start by \"git bisect start\".\n"
-"You then need to give me at least one %s and %s revision.\n"
-"You can use \"git bisect %s\" and \"git bisect %s\" for that."
-msgstr ""
-
-#: builtin/bisect--helper.c:365
-#, c-format
-msgid "bisecting only with a %s commit"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [Y] and [n] in your
-#. translation. The program will only accept English input
-#. at this point.
-#.
-#: builtin/bisect--helper.c:373
-msgid "Are you sure [Y/n]? "
-msgstr ""
-
-#: builtin/bisect--helper.c:434
-msgid "no terms defined"
-msgstr ""
-
-#: builtin/bisect--helper.c:437
-#, c-format
-msgid ""
-"Your current terms are %s for the old state\n"
-"and %s for the new state.\n"
-msgstr ""
-
-#: builtin/bisect--helper.c:447
-#, c-format
-msgid ""
-"invalid argument %s for 'git bisect terms'.\n"
-"Supported options are: --term-good|--term-old and --term-bad|--term-new."
-msgstr ""
-
-#: builtin/bisect--helper.c:514 builtin/bisect--helper.c:1038
-msgid "revision walk setup failed\n"
-msgstr ""
-
-#: builtin/bisect--helper.c:536
-#, c-format
-msgid "could not open '%s' for appending"
-msgstr ""
-
-#: builtin/bisect--helper.c:655 builtin/bisect--helper.c:668
-msgid "'' is not a valid term"
-msgstr ""
-
-#: builtin/bisect--helper.c:678
-#, c-format
-msgid "unrecognized option: '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:682
-#, c-format
-msgid "'%s' does not appear to be a valid revision"
-msgstr ""
-
-#: builtin/bisect--helper.c:713
-msgid "bad HEAD - I need a HEAD"
-msgstr ""
-
-#: builtin/bisect--helper.c:728
-#, c-format
-msgid "checking out '%s' failed. Try 'git bisect start <valid-branch>'."
-msgstr ""
-
-#: builtin/bisect--helper.c:749
-msgid "won't bisect on cg-seek'ed tree"
-msgstr ""
-
-#: builtin/bisect--helper.c:752
-msgid "bad HEAD - strange symbolic ref"
-msgstr ""
-
-#: builtin/bisect--helper.c:772
-#, c-format
-msgid "invalid ref: '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:830
-msgid "You need to start by \"git bisect start\"\n"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [Y] and [n] in your
-#. translation. The program will only accept English input
-#. at this point.
-#.
-#: builtin/bisect--helper.c:841
-msgid "Do you want me to do it for you [Y/n]? "
-msgstr ""
-
-#: builtin/bisect--helper.c:859
-msgid "Please call `--bisect-state` with at least one argument"
-msgstr ""
-
-#: builtin/bisect--helper.c:872
-#, c-format
-msgid "'git bisect %s' can take only one argument."
-msgstr ""
-
-#: builtin/bisect--helper.c:884 builtin/bisect--helper.c:897
-#, c-format
-msgid "Bad rev input: %s"
-msgstr ""
-
-#: builtin/bisect--helper.c:904
-#, c-format
-msgid "Bad rev input (not a commit): %s"
-msgstr ""
-
-#: builtin/bisect--helper.c:936
-msgid "We are not bisecting."
-msgstr ""
-
-#: builtin/bisect--helper.c:986
-#, c-format
-msgid "'%s'?? what are you talking about?"
-msgstr ""
-
-#: builtin/bisect--helper.c:998
-#, c-format
-msgid "cannot read file '%s' for replaying"
-msgstr ""
-
-#: builtin/bisect--helper.c:1120 builtin/bisect--helper.c:1152
-#, c-format
-msgid "running %s\n"
-msgstr ""
-
-#: builtin/bisect--helper.c:1145 builtin/bisect--helper.c:1335
-msgid "bisect run failed: no command provided."
-msgstr ""
-
-#: builtin/bisect--helper.c:1166
-#, c-format
-msgid "unable to verify '%s' on good revision"
-msgstr ""
-
-#: builtin/bisect--helper.c:1172
-#, c-format
-msgid "bogus exit code %d for good revision"
-msgstr ""
-
-#: builtin/bisect--helper.c:1180
-#, c-format
-msgid "bisect run failed: exit code %d from '%s' is < 0 or >= 128"
-msgstr ""
-
-#: builtin/bisect--helper.c:1195
-#, c-format
-msgid "cannot open file '%s' for writing"
-msgstr ""
-
-#: builtin/bisect--helper.c:1213
-msgid "bisect run cannot continue any more"
-msgstr ""
-
-#: builtin/bisect--helper.c:1215
-#, c-format
-msgid "bisect run success"
-msgstr ""
-
-#: builtin/bisect--helper.c:1218
-#, c-format
-msgid "bisect found first bad commit"
-msgstr ""
-
-#: builtin/bisect--helper.c:1221
-#, c-format
-msgid ""
-"bisect run failed: 'git bisect--helper --bisect-state %s' exited with error "
-"code %d"
-msgstr ""
-
-#: builtin/bisect--helper.c:1253
-msgid "reset the bisection state"
-msgstr ""
-
-#: builtin/bisect--helper.c:1255
-msgid "check whether bad or good terms exist"
-msgstr ""
-
-#: builtin/bisect--helper.c:1257
-msgid "print out the bisect terms"
-msgstr ""
-
-#: builtin/bisect--helper.c:1259
-msgid "start the bisect session"
-msgstr ""
-
-#: builtin/bisect--helper.c:1261
-msgid "find the next bisection commit"
-msgstr ""
-
-#: builtin/bisect--helper.c:1263
-msgid "mark the state of ref (or refs)"
-msgstr ""
-
-#: builtin/bisect--helper.c:1265
-msgid "list the bisection steps so far"
-msgstr ""
-
-#: builtin/bisect--helper.c:1267
-msgid "replay the bisection process from the given file"
-msgstr ""
-
-#: builtin/bisect--helper.c:1269
-msgid "skip some commits for checkout"
-msgstr ""
-
-#: builtin/bisect--helper.c:1271
-msgid "visualize the bisection"
-msgstr ""
-
-#: builtin/bisect--helper.c:1273
-msgid "use <cmd>... to automatically bisect"
-msgstr ""
-
-#: builtin/bisect--helper.c:1275
-msgid "no log for BISECT_WRITE"
-msgstr ""
-
-#: builtin/bisect--helper.c:1290
-msgid "--bisect-reset requires either no argument or a commit"
-msgstr ""
-
-#: builtin/bisect--helper.c:1295
-msgid "--bisect-terms requires 0 or 1 argument"
-msgstr ""
-
-#: builtin/bisect--helper.c:1304
-msgid "--bisect-next requires 0 arguments"
-msgstr ""
-
-#: builtin/bisect--helper.c:1315
-msgid "--bisect-log requires 0 arguments"
-msgstr ""
-
-#: builtin/bisect--helper.c:1320
-msgid "no logfile given"
-msgstr ""
-
-#: builtin/blame.c:32
-msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
-msgstr ""
-
-#: builtin/blame.c:37
-msgid "<rev-opts> are documented in git-rev-list(1)"
-msgstr ""
-
-#: builtin/blame.c:406
-#, c-format
-msgid "expecting a color: %s"
-msgstr ""
-
-#: builtin/blame.c:413
-msgid "must end with a color"
-msgstr ""
-
-#: builtin/blame.c:842
-#, c-format
-msgid "cannot find revision %s to ignore"
-msgstr ""
-
-#: builtin/blame.c:864
-msgid "show blame entries as we find them, incrementally"
-msgstr ""
-
-#: builtin/blame.c:865
-msgid "do not show object names of boundary commits (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:866
-msgid "do not treat root commits as boundaries (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:867
-msgid "show work cost statistics"
-msgstr ""
-
-#: builtin/blame.c:868 builtin/checkout.c:1554 builtin/clone.c:98
-#: builtin/commit-graph.c:75 builtin/commit-graph.c:228 builtin/fetch.c:181
-#: builtin/merge.c:301 builtin/multi-pack-index.c:103
-#: builtin/multi-pack-index.c:154 builtin/multi-pack-index.c:180
-#: builtin/multi-pack-index.c:208 builtin/pull.c:120 builtin/push.c:566
-#: builtin/remote.c:683 builtin/send-pack.c:202
-msgid "force progress reporting"
-msgstr ""
-
-#: builtin/blame.c:869
-msgid "show output score for blame entries"
-msgstr ""
-
-#: builtin/blame.c:870
-msgid "show original filename (Default: auto)"
-msgstr ""
-
-#: builtin/blame.c:871
-msgid "show original linenumber (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:872
-msgid "show in a format designed for machine consumption"
-msgstr ""
-
-#: builtin/blame.c:873
-msgid "show porcelain format with per-line commit information"
-msgstr ""
-
-#: builtin/blame.c:874
-msgid "use the same output mode as git-annotate (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:875
-msgid "show raw timestamp (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:876
-msgid "show long commit SHA1 (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:877
-msgid "suppress author name and timestamp (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:878
-msgid "show author email instead of name (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:879
-msgid "ignore whitespace differences"
-msgstr ""
-
-#: builtin/blame.c:880 builtin/log.c:1857
-msgid "rev"
-msgstr ""
-
-#: builtin/blame.c:880
-msgid "ignore <rev> when blaming"
-msgstr ""
-
-#: builtin/blame.c:881
-msgid "ignore revisions from <file>"
-msgstr ""
-
-#: builtin/blame.c:882
-msgid "color redundant metadata from previous line differently"
-msgstr ""
-
-#: builtin/blame.c:883
-msgid "color lines by age"
-msgstr ""
-
-#: builtin/blame.c:884
-msgid "spend extra cycles to find better match"
-msgstr ""
-
-#: builtin/blame.c:885
-msgid "use revisions from <file> instead of calling git-rev-list"
-msgstr ""
-
-#: builtin/blame.c:886
-msgid "use <file>'s contents as the final image"
-msgstr ""
-
-#: builtin/blame.c:887 builtin/blame.c:888
-msgid "score"
-msgstr ""
-
-#: builtin/blame.c:887
-msgid "find line copies within and across files"
-msgstr ""
-
-#: builtin/blame.c:888
-msgid "find line movements within and across files"
-msgstr ""
-
-#: builtin/blame.c:889
-msgid "range"
-msgstr ""
-
-#: builtin/blame.c:890
-msgid "process only line range <start>,<end> or function :<funcname>"
-msgstr ""
-
-#: builtin/blame.c:949
-msgid "--progress can't be used with --incremental or porcelain formats"
-msgstr ""
-
-#. TRANSLATORS: This string is used to tell us the
-#. maximum display width for a relative timestamp in
-#. "git blame" output.  For C locale, "4 years, 11
-#. months ago", which takes 22 places, is the longest
-#. among various forms of relative timestamps, but
-#. your language may need more or fewer display
-#. columns.
-#.
-#: builtin/blame.c:1000
-msgid "4 years, 11 months ago"
-msgstr ""
-
-#: builtin/blame.c:1116
-#, c-format
-msgid "file %s has only %lu line"
-msgid_plural "file %s has only %lu lines"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/blame.c:1161
-msgid "Blaming lines"
-msgstr ""
-
-#: builtin/branch.c:29
-msgid "git branch [<options>] [-r | -a] [--merged] [--no-merged]"
-msgstr ""
-
-#: builtin/branch.c:30
-msgid ""
-"git branch [<options>] [-f] [--recurse-submodules] <branch-name> [<start-"
-"point>]"
-msgstr ""
-
-#: builtin/branch.c:31
-msgid "git branch [<options>] [-l] [<pattern>...]"
-msgstr ""
-
-#: builtin/branch.c:32
-msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..."
-msgstr ""
-
-#: builtin/branch.c:33
-msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>"
-msgstr ""
-
-#: builtin/branch.c:34
-msgid "git branch [<options>] (-c | -C) [<old-branch>] <new-branch>"
-msgstr ""
-
-#: builtin/branch.c:35
-msgid "git branch [<options>] [-r | -a] [--points-at]"
-msgstr ""
-
-#: builtin/branch.c:36
-msgid "git branch [<options>] [-r | -a] [--format]"
-msgstr ""
-
-#: builtin/branch.c:165
-#, c-format
-msgid ""
-"deleting branch '%s' that has been merged to\n"
-"         '%s', but not yet merged to HEAD."
-msgstr ""
-
-#: builtin/branch.c:169
-#, c-format
-msgid ""
-"not deleting branch '%s' that is not yet merged to\n"
-"         '%s', even though it is merged to HEAD."
-msgstr ""
-
-#: builtin/branch.c:183
-#, c-format
-msgid "Couldn't look up commit object for '%s'"
-msgstr ""
-
-#: builtin/branch.c:187
-#, c-format
-msgid ""
-"The branch '%s' is not fully merged.\n"
-"If you are sure you want to delete it, run 'git branch -D %s'."
-msgstr ""
-
-#: builtin/branch.c:200
-msgid "Update of config-file failed"
-msgstr ""
-
-#: builtin/branch.c:235
-msgid "cannot use -a with -d"
-msgstr ""
-
-#: builtin/branch.c:242
-msgid "Couldn't look up commit object for HEAD"
-msgstr ""
-
-#: builtin/branch.c:259
-#, c-format
-msgid "Cannot delete branch '%s' checked out at '%s'"
-msgstr ""
-
-#: builtin/branch.c:274
-#, c-format
-msgid "remote-tracking branch '%s' not found."
-msgstr ""
-
-#: builtin/branch.c:275
-#, c-format
-msgid "branch '%s' not found."
-msgstr ""
-
-#: builtin/branch.c:306
-#, c-format
-msgid "Deleted remote-tracking branch %s (was %s).\n"
-msgstr ""
-
-#: builtin/branch.c:307
-#, c-format
-msgid "Deleted branch %s (was %s).\n"
-msgstr ""
-
-#: builtin/branch.c:457 builtin/tag.c:64
-msgid "unable to parse format string"
-msgstr ""
-
-#: builtin/branch.c:488
-msgid "could not resolve HEAD"
-msgstr ""
-
-#: builtin/branch.c:494
-#, c-format
-msgid "HEAD (%s) points outside of refs/heads/"
-msgstr ""
-
-#: builtin/branch.c:509
-#, c-format
-msgid "Branch %s is being rebased at %s"
-msgstr ""
-
-#: builtin/branch.c:513
-#, c-format
-msgid "Branch %s is being bisected at %s"
-msgstr ""
-
-#: builtin/branch.c:530
-msgid "cannot copy the current branch while not on any."
-msgstr ""
-
-#: builtin/branch.c:532
-msgid "cannot rename the current branch while not on any."
-msgstr ""
-
-#: builtin/branch.c:543
-#, c-format
-msgid "Invalid branch name: '%s'"
-msgstr ""
-
-#: builtin/branch.c:572
-msgid "Branch rename failed"
-msgstr ""
-
-#: builtin/branch.c:574
-msgid "Branch copy failed"
-msgstr ""
-
-#: builtin/branch.c:578
-#, c-format
-msgid "Created a copy of a misnamed branch '%s'"
-msgstr ""
-
-#: builtin/branch.c:581
-#, c-format
-msgid "Renamed a misnamed branch '%s' away"
-msgstr ""
-
-#: builtin/branch.c:587
-#, c-format
-msgid "Branch renamed to %s, but HEAD is not updated!"
-msgstr ""
-
-#: builtin/branch.c:596
-msgid "Branch is renamed, but update of config-file failed"
-msgstr ""
-
-#: builtin/branch.c:598
-msgid "Branch is copied, but update of config-file failed"
-msgstr ""
-
-#: builtin/branch.c:614
-#, c-format
-msgid ""
-"Please edit the description for the branch\n"
-"  %s\n"
-"Lines starting with '%c' will be stripped.\n"
-msgstr ""
-
-#: builtin/branch.c:651
-msgid "Generic options"
-msgstr ""
-
-#: builtin/branch.c:653
-msgid "show hash and subject, give twice for upstream branch"
-msgstr ""
-
-#: builtin/branch.c:654
-msgid "suppress informational messages"
-msgstr ""
-
-#: builtin/branch.c:656 builtin/checkout.c:1571
-#: builtin/submodule--helper.c:3077
-msgid "set branch tracking configuration"
-msgstr ""
-
-#: builtin/branch.c:659
-msgid "do not use"
-msgstr ""
-
-#: builtin/branch.c:661
-msgid "upstream"
-msgstr ""
-
-#: builtin/branch.c:661
-msgid "change the upstream info"
-msgstr ""
-
-#: builtin/branch.c:662
-msgid "unset the upstream info"
-msgstr ""
-
-#: builtin/branch.c:663
-msgid "use colored output"
-msgstr ""
-
-#: builtin/branch.c:664
-msgid "act on remote-tracking branches"
-msgstr ""
-
-#: builtin/branch.c:666 builtin/branch.c:668
-msgid "print only branches that contain the commit"
-msgstr ""
-
-#: builtin/branch.c:667 builtin/branch.c:669
-msgid "print only branches that don't contain the commit"
-msgstr ""
-
-#: builtin/branch.c:672
-msgid "Specific git-branch actions:"
-msgstr ""
-
-#: builtin/branch.c:673
-msgid "list both remote-tracking and local branches"
-msgstr ""
-
-#: builtin/branch.c:675
-msgid "delete fully merged branch"
-msgstr ""
-
-#: builtin/branch.c:676
-msgid "delete branch (even if not merged)"
-msgstr ""
-
-#: builtin/branch.c:677
-msgid "move/rename a branch and its reflog"
-msgstr ""
-
-#: builtin/branch.c:678
-msgid "move/rename a branch, even if target exists"
-msgstr ""
-
-#: builtin/branch.c:679
-msgid "copy a branch and its reflog"
-msgstr ""
-
-#: builtin/branch.c:680
-msgid "copy a branch, even if target exists"
-msgstr ""
-
-#: builtin/branch.c:681
-msgid "list branch names"
-msgstr ""
-
-#: builtin/branch.c:682
-msgid "show current branch name"
-msgstr ""
-
-#: builtin/branch.c:683 builtin/submodule--helper.c:3075
-msgid "create the branch's reflog"
-msgstr ""
-
-#: builtin/branch.c:685
-msgid "edit the description for the branch"
-msgstr ""
-
-#: builtin/branch.c:686
-msgid "force creation, move/rename, deletion"
-msgstr ""
-
-#: builtin/branch.c:687
-msgid "print only branches that are merged"
-msgstr ""
-
-#: builtin/branch.c:688
-msgid "print only branches that are not merged"
-msgstr ""
-
-#: builtin/branch.c:689
-msgid "list branches in columns"
-msgstr ""
-
-#: builtin/branch.c:691 builtin/for-each-ref.c:45 builtin/notes.c:413
-#: builtin/notes.c:416 builtin/notes.c:579 builtin/notes.c:582
-#: builtin/tag.c:476
-msgid "object"
-msgstr ""
-
-#: builtin/branch.c:692
-msgid "print only branches of the object"
-msgstr ""
-
-#: builtin/branch.c:693 builtin/for-each-ref.c:51 builtin/tag.c:483
-msgid "sorting and filtering are case insensitive"
-msgstr ""
-
-#: builtin/branch.c:694 builtin/ls-files.c:667
-msgid "recurse through submodules"
-msgstr ""
-
-#: builtin/branch.c:695 builtin/for-each-ref.c:41 builtin/ls-tree.c:358
-#: builtin/tag.c:481 builtin/verify-tag.c:38
-msgid "format to use for the output"
-msgstr ""
-
-#: builtin/branch.c:718 builtin/clone.c:684
-msgid "HEAD not found below refs/heads!"
-msgstr ""
-
-#: builtin/branch.c:739
-msgid ""
-"branch with --recurse-submodules can only be used if submodule."
-"propagateBranches is enabled"
-msgstr ""
-
-#: builtin/branch.c:741
-msgid "--recurse-submodules can only be used to create branches"
-msgstr ""
-
-#: builtin/branch.c:770 builtin/branch.c:826 builtin/branch.c:835
-msgid "branch name required"
-msgstr ""
-
-#: builtin/branch.c:802
-msgid "Cannot give description to detached HEAD"
-msgstr ""
-
-#: builtin/branch.c:807
-msgid "cannot edit description of more than one branch"
-msgstr ""
-
-#: builtin/branch.c:814
-#, c-format
-msgid "No commit on branch '%s' yet."
-msgstr ""
-
-#: builtin/branch.c:817
-#, c-format
-msgid "No branch named '%s'."
-msgstr ""
-
-#: builtin/branch.c:832
-msgid "too many branches for a copy operation"
-msgstr ""
-
-#: builtin/branch.c:841
-msgid "too many arguments for a rename operation"
-msgstr ""
-
-#: builtin/branch.c:846
-msgid "too many arguments to set new upstream"
-msgstr ""
-
-#: builtin/branch.c:850
-#, c-format
-msgid ""
-"could not set upstream of HEAD to %s when it does not point to any branch."
-msgstr ""
-
-#: builtin/branch.c:853 builtin/branch.c:873
-#, c-format
-msgid "no such branch '%s'"
-msgstr ""
-
-#: builtin/branch.c:857
-#, c-format
-msgid "branch '%s' does not exist"
-msgstr ""
-
-#: builtin/branch.c:867
-msgid "too many arguments to unset upstream"
-msgstr ""
-
-#: builtin/branch.c:871
-msgid "could not unset upstream of HEAD when it does not point to any branch."
-msgstr ""
-
-#: builtin/branch.c:877
-#, c-format
-msgid "Branch '%s' has no upstream information"
-msgstr ""
-
-#: builtin/branch.c:890
-msgid ""
-"The -a, and -r, options to 'git branch' do not take a branch name.\n"
-"Did you mean to use: -a|-r --list <pattern>?"
-msgstr ""
-
-#: builtin/branch.c:894
-msgid ""
-"the '--set-upstream' option is no longer supported. Please use '--track' or "
-"'--set-upstream-to' instead."
-msgstr ""
-
-#: builtin/bugreport.c:16
-msgid "git version:\n"
-msgstr ""
-
-#: builtin/bugreport.c:22
-#, c-format
-msgid "uname() failed with error '%s' (%d)\n"
-msgstr ""
-
-#: builtin/bugreport.c:32
-msgid "compiler info: "
-msgstr ""
-
-#: builtin/bugreport.c:35
-msgid "libc info: "
-msgstr ""
-
-#: builtin/bugreport.c:49
-msgid "not run from a git repository - no hooks to show\n"
-msgstr ""
-
-#: builtin/bugreport.c:62
-msgid "git bugreport [-o|--output-directory <file>] [-s|--suffix <format>]"
-msgstr ""
-
-#: builtin/bugreport.c:69
-msgid ""
-"Thank you for filling out a Git bug report!\n"
-"Please answer the following questions to help us understand your issue.\n"
-"\n"
-"What did you do before the bug happened? (Steps to reproduce your issue)\n"
-"\n"
-"What did you expect to happen? (Expected behavior)\n"
-"\n"
-"What happened instead? (Actual behavior)\n"
-"\n"
-"What's different between what you expected and what actually happened?\n"
-"\n"
-"Anything else you want to add:\n"
-"\n"
-"Please review the rest of the bug report below.\n"
-"You can delete any lines you don't wish to share.\n"
-msgstr ""
-
-#: builtin/bugreport.c:108
-msgid "specify a destination for the bugreport file"
-msgstr ""
-
-#: builtin/bugreport.c:110
-msgid "specify a strftime format suffix for the filename"
-msgstr ""
-
-#: builtin/bugreport.c:132
-#, c-format
-msgid "could not create leading directories for '%s'"
-msgstr ""
-
-#: builtin/bugreport.c:139
-msgid "System Info"
-msgstr ""
-
-#: builtin/bugreport.c:142
-msgid "Enabled Hooks"
-msgstr ""
-
-#: builtin/bugreport.c:149
-#, c-format
-msgid "unable to write to %s"
-msgstr ""
-
-#: builtin/bugreport.c:159
-#, c-format
-msgid "Created new report at '%s'.\n"
-msgstr ""
-
-#: builtin/bundle.c:15 builtin/bundle.c:23
-msgid "git bundle create [<options>] <file> <git-rev-list args>"
-msgstr ""
-
-#: builtin/bundle.c:16 builtin/bundle.c:28
-msgid "git bundle verify [<options>] <file>"
-msgstr ""
-
-#: builtin/bundle.c:17 builtin/bundle.c:33
-msgid "git bundle list-heads <file> [<refname>...]"
-msgstr ""
-
-#: builtin/bundle.c:18 builtin/bundle.c:38
-msgid "git bundle unbundle <file> [<refname>...]"
-msgstr ""
-
-#: builtin/bundle.c:65 builtin/pack-objects.c:3899
-msgid "do not show progress meter"
-msgstr ""
-
-#: builtin/bundle.c:67 builtin/bundle.c:168 builtin/pack-objects.c:3901
-msgid "show progress meter"
-msgstr ""
-
-#: builtin/bundle.c:69 builtin/pack-objects.c:3903
-msgid "show progress meter during object writing phase"
-msgstr ""
-
-#: builtin/bundle.c:72 builtin/pack-objects.c:3906
-msgid "similar to --all-progress when progress meter is shown"
-msgstr ""
-
-#: builtin/bundle.c:74
-msgid "specify bundle format version"
-msgstr ""
-
-#: builtin/bundle.c:94
-msgid "Need a repository to create a bundle."
-msgstr ""
-
-#: builtin/bundle.c:108
-msgid "do not show bundle details"
-msgstr ""
-
-#: builtin/bundle.c:127
-#, c-format
-msgid "%s is okay\n"
-msgstr ""
-
-#: builtin/bundle.c:183
-msgid "Need a repository to unbundle."
-msgstr ""
-
-#: builtin/bundle.c:186
-msgid "Unbundling objects"
-msgstr ""
-
-#: builtin/bundle.c:220 builtin/remote.c:1758
-#, c-format
-msgid "Unknown subcommand: %s"
-msgstr ""
-
-#: builtin/cat-file.c:568
-msgid "flush is only for --buffer mode"
-msgstr ""
-
-#: builtin/cat-file.c:612
-msgid "empty command in input"
-msgstr ""
-
-#: builtin/cat-file.c:614
-#, c-format
-msgid "whitespace before command: '%s'"
-msgstr ""
-
-#: builtin/cat-file.c:623
-#, c-format
-msgid "%s requires arguments"
-msgstr ""
-
-#: builtin/cat-file.c:628
-#, c-format
-msgid "%s takes no arguments"
-msgstr ""
-
-#: builtin/cat-file.c:636
-#, c-format
-msgid "unknown command: '%s'"
-msgstr ""
-
-#: builtin/cat-file.c:795
-msgid "only one batch option may be specified"
-msgstr ""
-
-#: builtin/cat-file.c:824
-msgid "git cat-file <type> <object>"
-msgstr ""
-
-#: builtin/cat-file.c:825
-msgid "git cat-file (-e | -p) <object>"
-msgstr ""
-
-#: builtin/cat-file.c:826
-msgid "git cat-file (-t | -s) [--allow-unknown-type] <object>"
-msgstr ""
-
-#: builtin/cat-file.c:827
-msgid ""
-"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
-"objects]\n"
-"             [--buffer] [--follow-symlinks] [--unordered]\n"
-"             [--textconv | --filters]"
-msgstr ""
-
-#: builtin/cat-file.c:830
-msgid ""
-"git cat-file (--textconv | --filters)\n"
-"             [<rev>:<path|tree-ish> | --path=<path|tree-ish> <rev>]"
-msgstr ""
-
-#: builtin/cat-file.c:836
-msgid "Check object existence or emit object contents"
-msgstr ""
-
-#: builtin/cat-file.c:838
-msgid "check if <object> exists"
-msgstr ""
-
-#: builtin/cat-file.c:839
-msgid "pretty-print <object> content"
-msgstr ""
-
-#: builtin/cat-file.c:841
-msgid "Emit [broken] object attributes"
-msgstr ""
-
-#: builtin/cat-file.c:842
-msgid "show object type (one of 'blob', 'tree', 'commit', 'tag', ...)"
-msgstr ""
-
-#: builtin/cat-file.c:843
-msgid "show object size"
-msgstr ""
-
-#: builtin/cat-file.c:845
-msgid "allow -s and -t to work with broken/corrupt objects"
-msgstr ""
-
-#: builtin/cat-file.c:847
-msgid "Batch objects requested on stdin (or --batch-all-objects)"
-msgstr ""
-
-#: builtin/cat-file.c:849
-msgid "show full <object> or <rev> contents"
-msgstr ""
-
-#: builtin/cat-file.c:853
-msgid "like --batch, but don't emit <contents>"
-msgstr ""
-
-#: builtin/cat-file.c:857
-msgid "read commands from stdin"
-msgstr ""
-
-#: builtin/cat-file.c:861
-msgid "with --batch[-check]: ignores stdin, batches all known objects"
-msgstr ""
-
-#: builtin/cat-file.c:863
-msgid "Change or optimize batch output"
-msgstr ""
-
-#: builtin/cat-file.c:864
-msgid "buffer --batch output"
-msgstr ""
-
-#: builtin/cat-file.c:866
-msgid "follow in-tree symlinks"
-msgstr ""
-
-#: builtin/cat-file.c:868
-msgid "do not order objects before emitting them"
-msgstr ""
-
-#: builtin/cat-file.c:870
-msgid ""
-"Emit object (blob or tree) with conversion or filter (stand-alone, or with "
-"batch)"
-msgstr ""
-
-#: builtin/cat-file.c:872
-msgid "run textconv on object's content"
-msgstr ""
-
-#: builtin/cat-file.c:874
-msgid "run filters on object's content"
-msgstr ""
-
-#: builtin/cat-file.c:875
-msgid "blob|tree"
-msgstr ""
-
-#: builtin/cat-file.c:876
-msgid "use a <path> for (--textconv | --filters); Not with 'batch'"
-msgstr ""
-
-#: builtin/cat-file.c:894
-#, c-format
-msgid "'%s=<%s>' needs '%s' or '%s'"
-msgstr ""
-
-#: builtin/cat-file.c:896
-msgid "path|tree-ish"
-msgstr ""
-
-#: builtin/cat-file.c:903 builtin/cat-file.c:906 builtin/cat-file.c:909
-#, c-format
-msgid "'%s' requires a batch mode"
-msgstr ""
-
-#: builtin/cat-file.c:921
-#, c-format
-msgid "'-%c' is incompatible with batch mode"
-msgstr ""
-
-#: builtin/cat-file.c:924
-msgid "batch modes take no arguments"
-msgstr ""
-
-#: builtin/cat-file.c:932 builtin/cat-file.c:935
-#, c-format
-msgid "<rev> required with '%s'"
-msgstr ""
-
-#: builtin/cat-file.c:938
-#, c-format
-msgid "<object> required with '-%c'"
-msgstr ""
-
-#: builtin/cat-file.c:943 builtin/notes.c:374 builtin/notes.c:429
-#: builtin/notes.c:507 builtin/notes.c:519 builtin/notes.c:596
-#: builtin/notes.c:663 builtin/notes.c:813 builtin/notes.c:965
-#: builtin/notes.c:987 builtin/prune-packed.c:25 builtin/receive-pack.c:2489
-#: builtin/tag.c:592
-msgid "too many arguments"
-msgstr ""
-
-#: builtin/cat-file.c:947
-#, c-format
-msgid "only two arguments allowed in <type> <object> mode, not %d"
-msgstr ""
-
-#: builtin/check-attr.c:13
-msgid "git check-attr [-a | --all | <attr>...] [--] <pathname>..."
-msgstr ""
-
-#: builtin/check-attr.c:14
-msgid "git check-attr --stdin [-z] [-a | --all | <attr>...]"
-msgstr ""
-
-#: builtin/check-attr.c:21
-msgid "report all attributes set on file"
-msgstr ""
-
-#: builtin/check-attr.c:22
-msgid "use .gitattributes only from the index"
-msgstr ""
-
-#: builtin/check-attr.c:23 builtin/check-ignore.c:25 builtin/hash-object.c:101
-msgid "read file names from stdin"
-msgstr ""
-
-#: builtin/check-attr.c:25 builtin/check-ignore.c:27
-msgid "terminate input and output records by a NUL character"
-msgstr ""
-
-#: builtin/check-ignore.c:21 builtin/checkout.c:1550 builtin/gc.c:550
-#: builtin/worktree.c:565
-msgid "suppress progress reporting"
-msgstr ""
-
-#: builtin/check-ignore.c:29
-msgid "show non-matching input paths"
-msgstr ""
-
-#: builtin/check-ignore.c:31
-msgid "ignore index when checking"
-msgstr ""
-
-#: builtin/check-ignore.c:165
-msgid "cannot specify pathnames with --stdin"
-msgstr ""
-
-#: builtin/check-ignore.c:168
-msgid "-z only makes sense with --stdin"
-msgstr ""
-
-#: builtin/check-ignore.c:170
-msgid "no path specified"
-msgstr ""
-
-#: builtin/check-ignore.c:174
-msgid "--quiet is only valid with a single pathname"
-msgstr ""
-
-#: builtin/check-ignore.c:176
-msgid "cannot have both --quiet and --verbose"
-msgstr ""
-
-#: builtin/check-ignore.c:179
-msgid "--non-matching is only valid with --verbose"
-msgstr ""
-
-#: builtin/check-mailmap.c:9
-msgid "git check-mailmap [<options>] <contact>..."
-msgstr ""
-
-#: builtin/check-mailmap.c:14
-msgid "also read contacts from stdin"
-msgstr ""
-
-#: builtin/check-mailmap.c:25
-#, c-format
-msgid "unable to parse contact: %s"
-msgstr ""
-
-#: builtin/check-mailmap.c:48
-msgid "no contacts specified"
-msgstr ""
-
-#: builtin/checkout--worker.c:110
-msgid "git checkout--worker [<options>]"
-msgstr ""
-
-#: builtin/checkout--worker.c:118 builtin/checkout-index.c:235
-#: builtin/column.c:31 builtin/column.c:32 builtin/submodule--helper.c:1878
-#: builtin/submodule--helper.c:1881 builtin/submodule--helper.c:1889
-#: builtin/submodule--helper.c:2716 builtin/worktree.c:563
-#: builtin/worktree.c:808
-msgid "string"
-msgstr ""
-
-#: builtin/checkout--worker.c:119 builtin/checkout-index.c:236
-msgid "when creating files, prepend <string>"
-msgstr ""
-
-#: builtin/checkout-index.c:184
-msgid "git checkout-index [<options>] [--] [<file>...]"
-msgstr ""
-
-#: builtin/checkout-index.c:201
-msgid "stage should be between 1 and 3 or all"
-msgstr ""
-
-#: builtin/checkout-index.c:219
-msgid "check out all files in the index"
-msgstr ""
-
-#: builtin/checkout-index.c:221
-msgid "do not skip files with skip-worktree set"
-msgstr ""
-
-#: builtin/checkout-index.c:222
-msgid "force overwrite of existing files"
-msgstr ""
-
-#: builtin/checkout-index.c:224
-msgid "no warning for existing files and files not in index"
-msgstr ""
-
-#: builtin/checkout-index.c:226
-msgid "don't checkout new files"
-msgstr ""
-
-#: builtin/checkout-index.c:228
-msgid "update stat information in the index file"
-msgstr ""
-
-#: builtin/checkout-index.c:232
-msgid "read list of paths from the standard input"
-msgstr ""
-
-#: builtin/checkout-index.c:234
-msgid "write the content to temporary files"
-msgstr ""
-
-#: builtin/checkout-index.c:238
-msgid "copy out the files from named stage"
-msgstr ""
-
-#: builtin/checkout.c:34
-msgid "git checkout [<options>] <branch>"
-msgstr ""
-
-#: builtin/checkout.c:35
-msgid "git checkout [<options>] [<branch>] -- <file>..."
-msgstr ""
-
-#: builtin/checkout.c:40
-msgid "git switch [<options>] [<branch>]"
-msgstr ""
-
-#: builtin/checkout.c:45
-msgid "git restore [<options>] [--source=<branch>] <file>..."
-msgstr ""
-
-#: builtin/checkout.c:199 builtin/checkout.c:238
-#, c-format
-msgid "path '%s' does not have our version"
-msgstr ""
-
-#: builtin/checkout.c:201 builtin/checkout.c:240
-#, c-format
-msgid "path '%s' does not have their version"
-msgstr ""
-
-#: builtin/checkout.c:217
-#, c-format
-msgid "path '%s' does not have all necessary versions"
-msgstr ""
-
-#: builtin/checkout.c:271
-#, c-format
-msgid "path '%s' does not have necessary versions"
-msgstr ""
-
-#: builtin/checkout.c:291
-#, c-format
-msgid "path '%s': cannot merge"
-msgstr ""
-
-#: builtin/checkout.c:307
-#, c-format
-msgid "Unable to add merge result for '%s'"
-msgstr ""
-
-#: builtin/checkout.c:424
-#, c-format
-msgid "Recreated %d merge conflict"
-msgid_plural "Recreated %d merge conflicts"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:429
-#, c-format
-msgid "Updated %d path from %s"
-msgid_plural "Updated %d paths from %s"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:436
-#, c-format
-msgid "Updated %d path from the index"
-msgid_plural "Updated %d paths from the index"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:459 builtin/checkout.c:462 builtin/checkout.c:465
-#: builtin/checkout.c:469
-#, c-format
-msgid "'%s' cannot be used with updating paths"
-msgstr ""
-
-#: builtin/checkout.c:479
-#, c-format
-msgid "Cannot update paths and switch to branch '%s' at the same time."
-msgstr ""
-
-#: builtin/checkout.c:483
-#, c-format
-msgid "neither '%s' or '%s' is specified"
-msgstr ""
-
-#: builtin/checkout.c:487
-#, c-format
-msgid "'%s' must be used when '%s' is not specified"
-msgstr ""
-
-#: builtin/checkout.c:492 builtin/checkout.c:497
-#, c-format
-msgid "'%s' or '%s' cannot be used with %s"
-msgstr ""
-
-#: builtin/checkout.c:571 builtin/checkout.c:578
-#, c-format
-msgid "path '%s' is unmerged"
-msgstr ""
-
-#: builtin/checkout.c:753
-msgid "you need to resolve your current index first"
-msgstr ""
-
-#: builtin/checkout.c:809
-#, c-format
-msgid ""
-"cannot continue with staged changes in the following files:\n"
-"%s"
-msgstr ""
-
-#: builtin/checkout.c:902
-#, c-format
-msgid "Can not do reflog for '%s': %s\n"
-msgstr ""
-
-#: builtin/checkout.c:947
-msgid "HEAD is now at"
-msgstr ""
-
-#: builtin/checkout.c:951 builtin/clone.c:615 t/helper/test-fast-rebase.c:203
-msgid "unable to update HEAD"
-msgstr ""
-
-#: builtin/checkout.c:955
-#, c-format
-msgid "Reset branch '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:958
-#, c-format
-msgid "Already on '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:962
-#, c-format
-msgid "Switched to and reset branch '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:964 builtin/checkout.c:1398
-#, c-format
-msgid "Switched to a new branch '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:966
-#, c-format
-msgid "Switched to branch '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:1017
-#, c-format
-msgid " ... and %d more.\n"
-msgstr ""
-
-#: builtin/checkout.c:1023
-#, c-format
-msgid ""
-"Warning: you are leaving %d commit behind, not connected to\n"
-"any of your branches:\n"
-"\n"
-"%s\n"
-msgid_plural ""
-"Warning: you are leaving %d commits behind, not connected to\n"
-"any of your branches:\n"
-"\n"
-"%s\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:1042
-#, c-format
-msgid ""
-"If you want to keep it by creating a new branch, this may be a good time\n"
-"to do so with:\n"
-"\n"
-" git branch <new-branch-name> %s\n"
-"\n"
-msgid_plural ""
-"If you want to keep them by creating a new branch, this may be a good time\n"
-"to do so with:\n"
-"\n"
-" git branch <new-branch-name> %s\n"
-"\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:1077
-msgid "internal error in revision walk"
-msgstr ""
-
-#: builtin/checkout.c:1081
-msgid "Previous HEAD position was"
-msgstr ""
-
-#: builtin/checkout.c:1124 builtin/checkout.c:1393
-msgid "You are on a branch yet to be born"
-msgstr ""
-
-#: builtin/checkout.c:1206
-#, c-format
-msgid ""
-"'%s' could be both a local file and a tracking branch.\n"
-"Please use -- (and optionally --no-guess) to disambiguate"
-msgstr ""
-
-#: builtin/checkout.c:1213
-msgid ""
-"If you meant to check out a remote tracking branch on, e.g. 'origin',\n"
-"you can do so by fully qualifying the name with the --track option:\n"
-"\n"
-"    git checkout --track origin/<name>\n"
-"\n"
-"If you'd like to always have checkouts of an ambiguous <name> prefer\n"
-"one remote, e.g. the 'origin' remote, consider setting\n"
-"checkout.defaultRemote=origin in your config."
-msgstr ""
-
-#: builtin/checkout.c:1223
-#, c-format
-msgid "'%s' matched multiple (%d) remote tracking branches"
-msgstr ""
-
-#: builtin/checkout.c:1289
-msgid "only one reference expected"
-msgstr ""
-
-#: builtin/checkout.c:1306
-#, c-format
-msgid "only one reference expected, %d given."
-msgstr ""
-
-#: builtin/checkout.c:1352 builtin/worktree.c:338 builtin/worktree.c:508
-#, c-format
-msgid "invalid reference: %s"
-msgstr ""
-
-#: builtin/checkout.c:1365 builtin/checkout.c:1744
-#, c-format
-msgid "reference is not a tree: %s"
-msgstr ""
-
-#: builtin/checkout.c:1413
-#, c-format
-msgid "a branch is expected, got tag '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1415
-#, c-format
-msgid "a branch is expected, got remote branch '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1417 builtin/checkout.c:1426
-#, c-format
-msgid "a branch is expected, got '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1420
-#, c-format
-msgid "a branch is expected, got commit '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1429
-msgid ""
-"If you want to detach HEAD at the commit, try again with the --detach option."
-msgstr ""
-
-#: builtin/checkout.c:1442
-msgid ""
-"cannot switch branch while merging\n"
-"Consider \"git merge --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1446
-msgid ""
-"cannot switch branch in the middle of an am session\n"
-"Consider \"git am --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1450
-msgid ""
-"cannot switch branch while rebasing\n"
-"Consider \"git rebase --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1454
-msgid ""
-"cannot switch branch while cherry-picking\n"
-"Consider \"git cherry-pick --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1458
-msgid ""
-"cannot switch branch while reverting\n"
-"Consider \"git revert --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1462
-msgid "you are switching branch while bisecting"
-msgstr ""
-
-#: builtin/checkout.c:1469
-msgid "paths cannot be used with switching branches"
-msgstr ""
-
-#: builtin/checkout.c:1472 builtin/checkout.c:1476 builtin/checkout.c:1480
-#, c-format
-msgid "'%s' cannot be used with switching branches"
-msgstr ""
-
-#: builtin/checkout.c:1484 builtin/checkout.c:1487 builtin/checkout.c:1490
-#: builtin/checkout.c:1495 builtin/checkout.c:1500
-#, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1497
-#, c-format
-msgid "'%s' cannot take <start-point>"
-msgstr ""
-
-#: builtin/checkout.c:1505
-#, c-format
-msgid "Cannot switch branch to a non-commit '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1512
-msgid "missing branch or commit argument"
-msgstr ""
-
-#: builtin/checkout.c:1555
-msgid "perform a 3-way merge with the new branch"
-msgstr ""
-
-#: builtin/checkout.c:1556 builtin/log.c:1844 parse-options.h:354
-msgid "style"
-msgstr ""
-
-#: builtin/checkout.c:1557
-msgid "conflict style (merge, diff3, or zdiff3)"
-msgstr ""
-
-#: builtin/checkout.c:1569 builtin/worktree.c:560
-msgid "detach HEAD at named commit"
-msgstr ""
-
-#: builtin/checkout.c:1574
-msgid "force checkout (throw away local modifications)"
-msgstr ""
-
-#: builtin/checkout.c:1576
-msgid "new-branch"
-msgstr ""
-
-#: builtin/checkout.c:1576
-msgid "new unparented branch"
-msgstr ""
-
-#: builtin/checkout.c:1578 builtin/merge.c:305
-msgid "update ignored files (default)"
-msgstr ""
-
-#: builtin/checkout.c:1581
-msgid "do not check if another worktree is holding the given ref"
-msgstr ""
-
-#: builtin/checkout.c:1594
-msgid "checkout our version for unmerged files"
-msgstr ""
-
-#: builtin/checkout.c:1597
-msgid "checkout their version for unmerged files"
-msgstr ""
-
-#: builtin/checkout.c:1601
-msgid "do not limit pathspecs to sparse entries only"
-msgstr ""
-
-#: builtin/checkout.c:1659
-#, c-format
-msgid "options '-%c', '-%c', and '%s' cannot be used together"
-msgstr ""
-
-#: builtin/checkout.c:1700
-msgid "--track needs a branch name"
-msgstr ""
-
-#: builtin/checkout.c:1705
-#, c-format
-msgid "missing branch name; try -%c"
-msgstr ""
-
-#: builtin/checkout.c:1737
-#, c-format
-msgid "could not resolve %s"
-msgstr ""
-
-#: builtin/checkout.c:1753
-msgid "invalid path specification"
-msgstr ""
-
-#: builtin/checkout.c:1760
-#, c-format
-msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
-msgstr ""
-
-#: builtin/checkout.c:1764
-#, c-format
-msgid "git checkout: --detach does not take a path argument '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1789
-msgid ""
-"git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
-"checking out of the index."
-msgstr ""
-
-#: builtin/checkout.c:1794
-msgid "you must specify path(s) to restore"
-msgstr ""
-
-#: builtin/checkout.c:1819 builtin/checkout.c:1821 builtin/checkout.c:1873
-#: builtin/checkout.c:1875 builtin/clone.c:130 builtin/remote.c:171
-#: builtin/remote.c:173 builtin/submodule--helper.c:3038
-#: builtin/submodule--helper.c:3371 builtin/worktree.c:556
-#: builtin/worktree.c:558
-msgid "branch"
-msgstr ""
-
-#: builtin/checkout.c:1820
-msgid "create and checkout a new branch"
-msgstr ""
-
-#: builtin/checkout.c:1822
-msgid "create/reset and checkout a branch"
-msgstr ""
-
-#: builtin/checkout.c:1823
-msgid "create reflog for new branch"
-msgstr ""
-
-#: builtin/checkout.c:1825
-msgid "second guess 'git checkout <no-such-branch>' (default)"
-msgstr ""
-
-#: builtin/checkout.c:1826
-msgid "use overlay mode (default)"
-msgstr ""
-
-#: builtin/checkout.c:1874
-msgid "create and switch to a new branch"
-msgstr ""
-
-#: builtin/checkout.c:1876
-msgid "create/reset and switch to a branch"
-msgstr ""
-
-#: builtin/checkout.c:1878
-msgid "second guess 'git switch <no-such-branch>'"
-msgstr ""
-
-#: builtin/checkout.c:1880
-msgid "throw away local modifications"
-msgstr ""
-
-#: builtin/checkout.c:1916
-msgid "which tree-ish to checkout from"
-msgstr ""
-
-#: builtin/checkout.c:1918
-msgid "restore the index"
-msgstr ""
-
-#: builtin/checkout.c:1920
-msgid "restore the working tree (default)"
-msgstr ""
-
-#: builtin/checkout.c:1922
-msgid "ignore unmerged entries"
-msgstr ""
-
-#: builtin/checkout.c:1923
-msgid "use overlay mode"
-msgstr ""
-
-#: builtin/clean.c:29
-msgid ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
-msgstr ""
-
-#: builtin/clean.c:33
-#, c-format
-msgid "Removing %s\n"
-msgstr ""
-
-#: builtin/clean.c:34
-#, c-format
-msgid "Would remove %s\n"
-msgstr ""
-
-#: builtin/clean.c:35
-#, c-format
-msgid "Skipping repository %s\n"
-msgstr ""
-
-#: builtin/clean.c:36
-#, c-format
-msgid "Would skip repository %s\n"
-msgstr ""
-
-#: builtin/clean.c:38
-#, c-format
-msgid "could not lstat %s\n"
-msgstr ""
-
-#: builtin/clean.c:39
-msgid "Refusing to remove current working directory\n"
-msgstr ""
-
-#: builtin/clean.c:40
-msgid "Would refuse to remove current working directory\n"
-msgstr ""
-
-#: builtin/clean.c:326 git-add--interactive.perl:593
-#, c-format
-msgid ""
-"Prompt help:\n"
-"1          - select a numbered item\n"
-"foo        - select item based on unique prefix\n"
-"           - (empty) select nothing\n"
-msgstr ""
-
-#: builtin/clean.c:330 git-add--interactive.perl:602
-#, c-format
-msgid ""
-"Prompt help:\n"
-"1          - select a single item\n"
-"3-5        - select a range of items\n"
-"2-3,6-9    - select multiple ranges\n"
-"foo        - select item based on unique prefix\n"
-"-...       - unselect specified items\n"
-"*          - choose all items\n"
-"           - (empty) finish selecting\n"
-msgstr ""
-
-#: builtin/clean.c:545 git-add--interactive.perl:568
-#: git-add--interactive.perl:573
-#, c-format, perl-format
-msgid "Huh (%s)?\n"
-msgstr ""
-
-#: builtin/clean.c:685
-#, c-format
-msgid "Input ignore patterns>> "
-msgstr ""
-
-#: builtin/clean.c:719
-#, c-format
-msgid "WARNING: Cannot find items matched by: %s"
-msgstr ""
-
-#: builtin/clean.c:740
-msgid "Select items to delete"
-msgstr ""
-
-#. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:781
-#, c-format
-msgid "Remove %s [y/N]? "
-msgstr ""
-
-#: builtin/clean.c:812
-msgid ""
-"clean               - start cleaning\n"
-"filter by pattern   - exclude items from deletion\n"
-"select by numbers   - select items to be deleted by numbers\n"
-"ask each            - confirm each deletion (like \"rm -i\")\n"
-"quit                - stop cleaning\n"
-"help                - this screen\n"
-"?                   - help for prompt selection"
-msgstr ""
-
-#: builtin/clean.c:848
-msgid "Would remove the following item:"
-msgid_plural "Would remove the following items:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/clean.c:864
-msgid "No more files to clean, exiting."
-msgstr ""
-
-#: builtin/clean.c:926
-msgid "do not print names of files removed"
-msgstr ""
-
-#: builtin/clean.c:928
-msgid "force"
-msgstr ""
-
-#: builtin/clean.c:929
-msgid "interactive cleaning"
-msgstr ""
-
-#: builtin/clean.c:931
-msgid "remove whole directories"
-msgstr ""
-
-#: builtin/clean.c:932 builtin/describe.c:565 builtin/describe.c:567
-#: builtin/grep.c:938 builtin/log.c:185 builtin/log.c:187
-#: builtin/ls-files.c:651 builtin/name-rev.c:585 builtin/name-rev.c:587
-#: builtin/show-ref.c:179
-msgid "pattern"
-msgstr ""
-
-#: builtin/clean.c:933
-msgid "add <pattern> to ignore rules"
-msgstr ""
-
-#: builtin/clean.c:934
-msgid "remove ignored files, too"
-msgstr ""
-
-#: builtin/clean.c:936
-msgid "remove only ignored files"
-msgstr ""
-
-#: builtin/clean.c:951
-msgid ""
-"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
-"clean"
-msgstr ""
-
-#: builtin/clean.c:954
-msgid ""
-"clean.requireForce defaults to true and neither -i, -n, nor -f given; "
-"refusing to clean"
-msgstr ""
-
-#: builtin/clean.c:966
-msgid "-x and -X cannot be used together"
-msgstr ""
-
-#: builtin/clone.c:47
-msgid "git clone [<options>] [--] <repo> [<dir>]"
-msgstr ""
-
-#: builtin/clone.c:100
-msgid "don't clone shallow repository"
-msgstr ""
-
-#: builtin/clone.c:102
-msgid "don't create a checkout"
-msgstr ""
-
-#: builtin/clone.c:103 builtin/clone.c:105 builtin/init-db.c:542
-msgid "create a bare repository"
-msgstr ""
-
-#: builtin/clone.c:107
-msgid "create a mirror repository (implies bare)"
-msgstr ""
-
-#: builtin/clone.c:109
-msgid "to clone from a local repository"
-msgstr ""
-
-#: builtin/clone.c:111
-msgid "don't use local hardlinks, always copy"
-msgstr ""
-
-#: builtin/clone.c:113
-msgid "setup as shared repository"
-msgstr ""
-
-#: builtin/clone.c:115
-msgid "pathspec"
-msgstr ""
-
-#: builtin/clone.c:115
-msgid "initialize submodules in the clone"
-msgstr ""
-
-#: builtin/clone.c:119
-msgid "number of submodules cloned in parallel"
-msgstr ""
-
-#: builtin/clone.c:120 builtin/init-db.c:539
-msgid "template-directory"
-msgstr ""
-
-#: builtin/clone.c:121 builtin/init-db.c:540
-msgid "directory from which templates will be used"
-msgstr ""
-
-#: builtin/clone.c:123 builtin/clone.c:125 builtin/submodule--helper.c:1885
-#: builtin/submodule--helper.c:2719 builtin/submodule--helper.c:3378
-msgid "reference repository"
-msgstr ""
-
-#: builtin/clone.c:127 builtin/submodule--helper.c:1887
-#: builtin/submodule--helper.c:2721
-msgid "use --reference only while cloning"
-msgstr ""
-
-#: builtin/clone.c:128 builtin/column.c:27 builtin/fmt-merge-msg.c:27
-#: builtin/init-db.c:550 builtin/merge-file.c:48 builtin/merge.c:290
-#: builtin/pack-objects.c:3967 builtin/repack.c:669
-#: builtin/submodule--helper.c:3380 t/helper/test-simple-ipc.c:595
-#: t/helper/test-simple-ipc.c:597
-msgid "name"
-msgstr ""
-
-#: builtin/clone.c:129
-msgid "use <name> instead of 'origin' to track upstream"
-msgstr ""
-
-#: builtin/clone.c:131
-msgid "checkout <branch> instead of the remote's HEAD"
-msgstr ""
-
-#: builtin/clone.c:133
-msgid "path to git-upload-pack on the remote"
-msgstr ""
-
-#: builtin/clone.c:134 builtin/fetch.c:182 builtin/grep.c:877
-#: builtin/pull.c:212
-msgid "depth"
-msgstr ""
-
-#: builtin/clone.c:135
-msgid "create a shallow clone of that depth"
-msgstr ""
-
-#: builtin/clone.c:136 builtin/fetch.c:184 builtin/pack-objects.c:3956
-#: builtin/pull.c:215
-msgid "time"
-msgstr ""
-
-#: builtin/clone.c:137
-msgid "create a shallow clone since a specific time"
-msgstr ""
-
-#: builtin/clone.c:138 builtin/fetch.c:186 builtin/fetch.c:212
-#: builtin/pull.c:218 builtin/pull.c:243 builtin/rebase.c:1050
-msgid "revision"
-msgstr ""
-
-#: builtin/clone.c:139 builtin/fetch.c:187 builtin/pull.c:219
-msgid "deepen history of shallow clone, excluding rev"
-msgstr ""
-
-#: builtin/clone.c:141 builtin/submodule--helper.c:1897
-#: builtin/submodule--helper.c:2735
-msgid "clone only one branch, HEAD or --branch"
-msgstr ""
-
-#: builtin/clone.c:143
-msgid "don't clone any tags, and make later fetches not to follow them"
-msgstr ""
-
-#: builtin/clone.c:145
-msgid "any cloned submodules will be shallow"
-msgstr ""
-
-#: builtin/clone.c:146 builtin/init-db.c:548
-msgid "gitdir"
-msgstr ""
-
-#: builtin/clone.c:147 builtin/init-db.c:549
-msgid "separate git dir from working tree"
-msgstr ""
-
-#: builtin/clone.c:148
-msgid "key=value"
-msgstr ""
-
-#: builtin/clone.c:149
-msgid "set config inside the new repository"
-msgstr ""
-
-#: builtin/clone.c:151 builtin/fetch.c:207 builtin/ls-remote.c:77
-#: builtin/pull.c:234 builtin/push.c:575 builtin/send-pack.c:200
-msgid "server-specific"
-msgstr ""
-
-#: builtin/clone.c:151 builtin/fetch.c:207 builtin/ls-remote.c:77
-#: builtin/pull.c:235 builtin/push.c:575 builtin/send-pack.c:201
-msgid "option to transmit"
-msgstr ""
-
-#: builtin/clone.c:152 builtin/fetch.c:208 builtin/pull.c:238
-#: builtin/push.c:576
-msgid "use IPv4 addresses only"
-msgstr ""
-
-#: builtin/clone.c:154 builtin/fetch.c:210 builtin/pull.c:241
-#: builtin/push.c:578
-msgid "use IPv6 addresses only"
-msgstr ""
-
-#: builtin/clone.c:158
-msgid "apply partial clone filters to submodules"
-msgstr ""
-
-#: builtin/clone.c:160
-msgid "any cloned submodules will use their remote-tracking branch"
-msgstr ""
-
-#: builtin/clone.c:162
-msgid "initialize sparse-checkout file to include only files at root"
-msgstr ""
-
-#: builtin/clone.c:237
-#, c-format
-msgid "info: Could not add alternate for '%s': %s\n"
-msgstr ""
-
-#: builtin/clone.c:310
-#, c-format
-msgid "%s exists and is not a directory"
-msgstr ""
-
-#: builtin/clone.c:328
-#, c-format
-msgid "failed to start iterator over '%s'"
-msgstr ""
-
-#: builtin/clone.c:359
-#, c-format
-msgid "failed to create link '%s'"
-msgstr ""
-
-#: builtin/clone.c:363
-#, c-format
-msgid "failed to copy file to '%s'"
-msgstr ""
-
-#: builtin/clone.c:368
-#, c-format
-msgid "failed to iterate over '%s'"
-msgstr ""
-
-#: builtin/clone.c:395
-#, c-format
-msgid "done.\n"
-msgstr ""
-
-#: builtin/clone.c:409
-msgid ""
-"Clone succeeded, but checkout failed.\n"
-"You can inspect what was checked out with 'git status'\n"
-"and retry with 'git restore --source=HEAD :/'\n"
-msgstr ""
-
-#: builtin/clone.c:486
-#, c-format
-msgid "Could not find remote branch %s to clone."
-msgstr ""
-
-#: builtin/clone.c:603
-#, c-format
-msgid "unable to update %s"
-msgstr ""
-
-#: builtin/clone.c:651
-msgid "failed to initialize sparse-checkout"
-msgstr ""
-
-#: builtin/clone.c:674
-msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
-msgstr ""
-
-#: builtin/clone.c:709
-msgid "unable to checkout working tree"
-msgstr ""
-
-#: builtin/clone.c:793
-msgid "unable to write parameters to config file"
-msgstr ""
-
-#: builtin/clone.c:856
-msgid "cannot repack to clean up"
-msgstr ""
-
-#: builtin/clone.c:858
-msgid "cannot unlink temporary alternates file"
-msgstr ""
-
-#: builtin/clone.c:901
-msgid "Too many arguments."
-msgstr ""
-
-#: builtin/clone.c:905 contrib/scalar/scalar.c:413
-msgid "You must specify a repository to clone."
-msgstr ""
-
-#: builtin/clone.c:918
-#, c-format
-msgid "options '%s' and '%s %s' cannot be used together"
-msgstr ""
-
-#: builtin/clone.c:935
-#, c-format
-msgid "repository '%s' does not exist"
-msgstr ""
-
-#: builtin/clone.c:939 builtin/fetch.c:2176
-#, c-format
-msgid "depth %s is not a positive number"
-msgstr ""
-
-#: builtin/clone.c:949
-#, c-format
-msgid "destination path '%s' already exists and is not an empty directory."
-msgstr ""
-
-#: builtin/clone.c:955
-#, c-format
-msgid "repository path '%s' already exists and is not an empty directory."
-msgstr ""
-
-#: builtin/clone.c:969
-#, c-format
-msgid "working tree '%s' already exists."
-msgstr ""
-
-#: builtin/clone.c:984 builtin/clone.c:1005 builtin/difftool.c:256
-#: builtin/log.c:2037 builtin/worktree.c:350 builtin/worktree.c:382
-#, c-format
-msgid "could not create leading directories of '%s'"
-msgstr ""
-
-#: builtin/clone.c:989
-#, c-format
-msgid "could not create work tree dir '%s'"
-msgstr ""
-
-#: builtin/clone.c:1009
-#, c-format
-msgid "Cloning into bare repository '%s'...\n"
-msgstr ""
-
-#: builtin/clone.c:1011
-#, c-format
-msgid "Cloning into '%s'...\n"
-msgstr ""
-
-#: builtin/clone.c:1040
-msgid ""
-"clone --recursive is not compatible with both --reference and --reference-if-"
-"able"
-msgstr ""
-
-#: builtin/clone.c:1116 builtin/remote.c:201 builtin/remote.c:721
-#, c-format
-msgid "'%s' is not a valid remote name"
-msgstr ""
-
-#: builtin/clone.c:1157
-msgid "--depth is ignored in local clones; use file:// instead."
-msgstr ""
-
-#: builtin/clone.c:1159
-msgid "--shallow-since is ignored in local clones; use file:// instead."
-msgstr ""
-
-#: builtin/clone.c:1161
-msgid "--shallow-exclude is ignored in local clones; use file:// instead."
-msgstr ""
-
-#: builtin/clone.c:1163
-msgid "--filter is ignored in local clones; use file:// instead."
-msgstr ""
-
-#: builtin/clone.c:1168
-msgid "source repository is shallow, ignoring --local"
-msgstr ""
-
-#: builtin/clone.c:1173
-msgid "--local is ignored"
-msgstr ""
-
-#: builtin/clone.c:1185
-msgid "cannot clone from filtered bundle"
-msgstr ""
-
-#: builtin/clone.c:1265 builtin/clone.c:1324
-msgid "remote transport reported error"
-msgstr ""
-
-#: builtin/clone.c:1277 builtin/clone.c:1289
-#, c-format
-msgid "Remote branch %s not found in upstream %s"
-msgstr ""
-
-#: builtin/clone.c:1292
-msgid "You appear to have cloned an empty repository."
-msgstr ""
-
-#: builtin/column.c:10
-msgid "git column [<options>]"
-msgstr ""
-
-#: builtin/column.c:27
-msgid "lookup config vars"
-msgstr ""
-
-#: builtin/column.c:28 builtin/column.c:29
-msgid "layout to use"
-msgstr ""
-
-#: builtin/column.c:30
-msgid "maximum width"
-msgstr ""
-
-#: builtin/column.c:31
-msgid "padding space on left border"
-msgstr ""
-
-#: builtin/column.c:32
-msgid "padding space on right border"
-msgstr ""
-
-#: builtin/column.c:33
-msgid "padding space between columns"
-msgstr ""
-
-#: builtin/column.c:51
-msgid "--command must be the first argument"
-msgstr ""
-
-#: builtin/commit-graph.c:13
-msgid ""
-"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
-msgstr ""
-
-#: builtin/commit-graph.c:16
-msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--"
-"split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split options>"
-msgstr ""
-
-#: builtin/commit-graph.c:51 builtin/fetch.c:196 builtin/log.c:1813
-msgid "dir"
-msgstr ""
-
-#: builtin/commit-graph.c:52
-msgid "the object directory to store the graph"
-msgstr ""
-
-#: builtin/commit-graph.c:73
-msgid "if the commit-graph is split, only verify the tip file"
-msgstr ""
-
-#: builtin/commit-graph.c:100
-#, c-format
-msgid "Could not open commit-graph '%s'"
-msgstr ""
-
-#: builtin/commit-graph.c:137
-#, c-format
-msgid "unrecognized --split argument, %s"
-msgstr ""
-
-#: builtin/commit-graph.c:150
-#, c-format
-msgid "unexpected non-hex object ID: %s"
-msgstr ""
-
-#: builtin/commit-graph.c:155
-#, c-format
-msgid "invalid object: %s"
-msgstr ""
-
-#: builtin/commit-graph.c:205
-msgid "start walk at all refs"
-msgstr ""
-
-#: builtin/commit-graph.c:207
-msgid "scan pack-indexes listed by stdin for commits"
-msgstr ""
-
-#: builtin/commit-graph.c:209
-msgid "start walk at commits listed by stdin"
-msgstr ""
-
-#: builtin/commit-graph.c:211
-msgid "include all commits already in the commit-graph file"
-msgstr ""
-
-#: builtin/commit-graph.c:213
-msgid "enable computation for changed paths"
-msgstr ""
-
-#: builtin/commit-graph.c:215
-msgid "allow writing an incremental commit-graph file"
-msgstr ""
-
-#: builtin/commit-graph.c:219
-msgid "maximum number of commits in a non-base split commit-graph"
-msgstr ""
-
-#: builtin/commit-graph.c:221
-msgid "maximum ratio between two levels of a split commit-graph"
-msgstr ""
-
-#: builtin/commit-graph.c:223
-msgid "only expire files older than a given date-time"
-msgstr ""
-
-#: builtin/commit-graph.c:225
-msgid "maximum number of changed-path Bloom filters to compute"
-msgstr ""
-
-#: builtin/commit-graph.c:251
-msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
-msgstr ""
-
-#: builtin/commit-graph.c:282
-msgid "Collecting commits from input"
-msgstr ""
-
-#: builtin/commit-graph.c:328 builtin/multi-pack-index.c:259
-#, c-format
-msgid "unrecognized subcommand: %s"
-msgstr ""
-
-#: builtin/commit-tree.c:18
-msgid ""
-"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
-"<file>)...] <tree>"
-msgstr ""
-
-#: builtin/commit-tree.c:31
-#, c-format
-msgid "duplicate parent %s ignored"
-msgstr ""
-
-#: builtin/commit-tree.c:56 builtin/commit-tree.c:134 builtin/log.c:590
-#, c-format
-msgid "not a valid object name %s"
-msgstr ""
-
-#: builtin/commit-tree.c:94
-#, c-format
-msgid "git commit-tree: failed to read '%s'"
-msgstr ""
-
-#: builtin/commit-tree.c:96
-#, c-format
-msgid "git commit-tree: failed to close '%s'"
-msgstr ""
-
-#: builtin/commit-tree.c:109
-msgid "parent"
-msgstr ""
-
-#: builtin/commit-tree.c:110
-msgid "id of a parent commit object"
-msgstr ""
-
-#: builtin/commit-tree.c:112 builtin/commit.c:1626 builtin/merge.c:284
-#: builtin/notes.c:407 builtin/notes.c:573 builtin/stash.c:1666
-#: builtin/tag.c:455
-msgid "message"
-msgstr ""
-
-#: builtin/commit-tree.c:113 builtin/commit.c:1626
-msgid "commit message"
-msgstr ""
-
-#: builtin/commit-tree.c:116
-msgid "read commit log message from file"
-msgstr ""
-
-#: builtin/commit-tree.c:119 builtin/commit.c:1643 builtin/merge.c:303
-#: builtin/pull.c:180 builtin/revert.c:118
-msgid "GPG sign commit"
-msgstr ""
-
-#: builtin/commit-tree.c:131
-msgid "must give exactly one tree"
-msgstr ""
-
-#: builtin/commit-tree.c:138
-msgid "git commit-tree: failed to read"
-msgstr ""
-
-#: builtin/commit.c:43
-msgid "git commit [<options>] [--] <pathspec>..."
-msgstr ""
-
-#: builtin/commit.c:48
-msgid "git status [<options>] [--] <pathspec>..."
-msgstr ""
-
-#: builtin/commit.c:53
-msgid ""
-"You asked to amend the most recent commit, but doing so would make\n"
-"it empty. You can repeat your command with --allow-empty, or you can\n"
-"remove the commit entirely with \"git reset HEAD^\".\n"
-msgstr ""
-
-#: builtin/commit.c:58
-msgid ""
-"The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
-"If you wish to commit it anyway, use:\n"
-"\n"
-"    git commit --allow-empty\n"
-"\n"
-msgstr ""
-
-#: builtin/commit.c:65
-msgid "Otherwise, please use 'git rebase --skip'\n"
-msgstr ""
-
-#: builtin/commit.c:68
-msgid "Otherwise, please use 'git cherry-pick --skip'\n"
-msgstr ""
-
-#: builtin/commit.c:71
-msgid ""
-"and then use:\n"
-"\n"
-"    git cherry-pick --continue\n"
-"\n"
-"to resume cherry-picking the remaining commits.\n"
-"If you wish to skip this commit, use:\n"
-"\n"
-"    git cherry-pick --skip\n"
-"\n"
-msgstr ""
-
-#: builtin/commit.c:326
-msgid "failed to unpack HEAD tree object"
-msgstr ""
-
-#: builtin/commit.c:376
-msgid "No paths with --include/--only does not make sense."
-msgstr ""
-
-#: builtin/commit.c:388
-msgid "unable to create temporary index"
-msgstr ""
-
-#: builtin/commit.c:397
-msgid "interactive add failed"
-msgstr ""
-
-#: builtin/commit.c:412
-msgid "unable to update temporary index"
-msgstr ""
-
-#: builtin/commit.c:414
-msgid "Failed to update main cache tree"
-msgstr ""
-
-#: builtin/commit.c:439 builtin/commit.c:462 builtin/commit.c:510
-msgid "unable to write new_index file"
-msgstr ""
-
-#: builtin/commit.c:491
-msgid "cannot do a partial commit during a merge."
-msgstr ""
-
-#: builtin/commit.c:493
-msgid "cannot do a partial commit during a cherry-pick."
-msgstr ""
-
-#: builtin/commit.c:495
-msgid "cannot do a partial commit during a rebase."
-msgstr ""
-
-#: builtin/commit.c:503
-msgid "cannot read the index"
-msgstr ""
-
-#: builtin/commit.c:522
-msgid "unable to write temporary index file"
-msgstr ""
-
-#: builtin/commit.c:620
-#, c-format
-msgid "commit '%s' lacks author header"
-msgstr ""
-
-#: builtin/commit.c:622
-#, c-format
-msgid "commit '%s' has malformed author line"
-msgstr ""
-
-#: builtin/commit.c:641
-msgid "malformed --author parameter"
-msgstr ""
-
-#: builtin/commit.c:694
-msgid ""
-"unable to select a comment character that is not used\n"
-"in the current commit message"
-msgstr ""
-
-#: builtin/commit.c:750 builtin/commit.c:784 builtin/commit.c:1170
-#, c-format
-msgid "could not lookup commit %s"
-msgstr ""
-
-#: builtin/commit.c:762 builtin/shortlog.c:417
-#, c-format
-msgid "(reading log message from standard input)\n"
-msgstr ""
-
-#: builtin/commit.c:764
-msgid "could not read log from standard input"
-msgstr ""
-
-#: builtin/commit.c:768
-#, c-format
-msgid "could not read log file '%s'"
-msgstr ""
-
-#: builtin/commit.c:805
-#, c-format
-msgid "options '%s' and '%s:%s' cannot be used together"
-msgstr ""
-
-#: builtin/commit.c:817 builtin/commit.c:833
-msgid "could not read SQUASH_MSG"
-msgstr ""
-
-#: builtin/commit.c:824
-msgid "could not read MERGE_MSG"
-msgstr ""
-
-#: builtin/commit.c:884
-msgid "could not write commit template"
-msgstr ""
-
-#: builtin/commit.c:897
-#, c-format
-msgid ""
-"Please enter the commit message for your changes. Lines starting\n"
-"with '%c' will be ignored.\n"
-msgstr ""
-
-#: builtin/commit.c:899
-#, c-format
-msgid ""
-"Please enter the commit message for your changes. Lines starting\n"
-"with '%c' will be ignored, and an empty message aborts the commit.\n"
-msgstr ""
-
-#: builtin/commit.c:903
-#, c-format
-msgid ""
-"Please enter the commit message for your changes. Lines starting\n"
-"with '%c' will be kept; you may remove them yourself if you want to.\n"
-msgstr ""
-
-#: builtin/commit.c:907
-#, c-format
-msgid ""
-"Please enter the commit message for your changes. Lines starting\n"
-"with '%c' will be kept; you may remove them yourself if you want to.\n"
-"An empty message aborts the commit.\n"
-msgstr ""
-
-#: builtin/commit.c:919
-msgid ""
-"\n"
-"It looks like you may be committing a merge.\n"
-"If this is not correct, please run\n"
-"\tgit update-ref -d MERGE_HEAD\n"
-"and try again.\n"
-msgstr ""
-
-#: builtin/commit.c:924
-msgid ""
-"\n"
-"It looks like you may be committing a cherry-pick.\n"
-"If this is not correct, please run\n"
-"\tgit update-ref -d CHERRY_PICK_HEAD\n"
-"and try again.\n"
-msgstr ""
-
-#: builtin/commit.c:951
-#, c-format
-msgid "%sAuthor:    %.*s <%.*s>"
-msgstr ""
-
-#: builtin/commit.c:959
-#, c-format
-msgid "%sDate:      %s"
-msgstr ""
-
-#: builtin/commit.c:966
-#, c-format
-msgid "%sCommitter: %.*s <%.*s>"
-msgstr ""
-
-#: builtin/commit.c:984
-msgid "Cannot read index"
-msgstr ""
-
-#: builtin/commit.c:1029
-msgid "unable to pass trailers to --trailers"
-msgstr ""
-
-#: builtin/commit.c:1069
-msgid "Error building trees"
-msgstr ""
-
-#: builtin/commit.c:1083 builtin/tag.c:317
-#, c-format
-msgid "Please supply the message using either -m or -F option.\n"
-msgstr ""
-
-#: builtin/commit.c:1128
-#, c-format
-msgid "--author '%s' is not 'Name <email>' and matches no existing author"
-msgstr ""
-
-#: builtin/commit.c:1142
-#, c-format
-msgid "Invalid ignored mode '%s'"
-msgstr ""
-
-#: builtin/commit.c:1160 builtin/commit.c:1450
-#, c-format
-msgid "Invalid untracked files mode '%s'"
-msgstr ""
-
-#: builtin/commit.c:1231
-msgid "You are in the middle of a merge -- cannot reword."
-msgstr ""
-
-#: builtin/commit.c:1233
-msgid "You are in the middle of a cherry-pick -- cannot reword."
-msgstr ""
-
-#: builtin/commit.c:1236
-#, c-format
-msgid "reword option of '%s' and path '%s' cannot be used together"
-msgstr ""
-
-#: builtin/commit.c:1238
-#, c-format
-msgid "reword option of '%s' and '%s' cannot be used together"
-msgstr ""
-
-#: builtin/commit.c:1263
-msgid "You have nothing to amend."
-msgstr ""
-
-#: builtin/commit.c:1266
-msgid "You are in the middle of a merge -- cannot amend."
-msgstr ""
-
-#: builtin/commit.c:1268
-msgid "You are in the middle of a cherry-pick -- cannot amend."
-msgstr ""
-
-#: builtin/commit.c:1270
-msgid "You are in the middle of a rebase -- cannot amend."
-msgstr ""
-
-#: builtin/commit.c:1290
-msgid "--reset-author can be used only with -C, -c or --amend."
-msgstr ""
-
-#: builtin/commit.c:1337
-#, c-format
-msgid "unknown option: --fixup=%s:%s"
-msgstr ""
-
-#: builtin/commit.c:1354
-#, c-format
-msgid "paths '%s ...' with -a does not make sense"
-msgstr ""
-
-#: builtin/commit.c:1485 builtin/commit.c:1654
-msgid "show status concisely"
-msgstr ""
-
-#: builtin/commit.c:1487 builtin/commit.c:1656
-msgid "show branch information"
-msgstr ""
-
-#: builtin/commit.c:1489
-msgid "show stash information"
-msgstr ""
-
-#: builtin/commit.c:1491 builtin/commit.c:1658
-msgid "compute full ahead/behind values"
-msgstr ""
-
-#: builtin/commit.c:1493
-msgid "version"
-msgstr ""
-
-#: builtin/commit.c:1493 builtin/commit.c:1660 builtin/push.c:551
-#: builtin/worktree.c:765
-msgid "machine-readable output"
-msgstr ""
-
-#: builtin/commit.c:1496 builtin/commit.c:1662
-msgid "show status in long format (default)"
-msgstr ""
-
-#: builtin/commit.c:1499 builtin/commit.c:1665
-msgid "terminate entries with NUL"
-msgstr ""
-
-#: builtin/commit.c:1501 builtin/commit.c:1505 builtin/commit.c:1668
-#: builtin/fast-export.c:1172 builtin/fast-export.c:1175
-#: builtin/fast-export.c:1178 builtin/rebase.c:1139 parse-options.h:368
-msgid "mode"
-msgstr ""
-
-#: builtin/commit.c:1502 builtin/commit.c:1668
-msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
-msgstr ""
-
-#: builtin/commit.c:1506
-msgid ""
-"show ignored files, optional modes: traditional, matching, no. (Default: "
-"traditional)"
-msgstr ""
-
-#: builtin/commit.c:1508 parse-options.h:197
-msgid "when"
-msgstr ""
-
-#: builtin/commit.c:1509
-msgid ""
-"ignore changes to submodules, optional when: all, dirty, untracked. "
-"(Default: all)"
-msgstr ""
-
-#: builtin/commit.c:1511
-msgid "list untracked files in columns"
-msgstr ""
-
-#: builtin/commit.c:1512
-msgid "do not detect renames"
-msgstr ""
-
-#: builtin/commit.c:1514
-msgid "detect renames, optionally set similarity index"
-msgstr ""
-
-#: builtin/commit.c:1537
-msgid "Unsupported combination of ignored and untracked-files arguments"
-msgstr ""
-
-#: builtin/commit.c:1619
-msgid "suppress summary after successful commit"
-msgstr ""
-
-#: builtin/commit.c:1620
-msgid "show diff in commit message template"
-msgstr ""
-
-#: builtin/commit.c:1622
-msgid "Commit message options"
-msgstr ""
-
-#: builtin/commit.c:1623 builtin/merge.c:288 builtin/tag.c:457
-msgid "read message from file"
-msgstr ""
-
-#: builtin/commit.c:1624
-msgid "author"
-msgstr ""
-
-#: builtin/commit.c:1624
-msgid "override author for commit"
-msgstr ""
-
-#: builtin/commit.c:1625 builtin/gc.c:551
-msgid "date"
-msgstr ""
-
-#: builtin/commit.c:1625
-msgid "override date for commit"
-msgstr ""
-
-#: builtin/commit.c:1627 builtin/commit.c:1628 builtin/commit.c:1634
-#: parse-options.h:360 ref-filter.h:89
-msgid "commit"
-msgstr ""
-
-#: builtin/commit.c:1627
-msgid "reuse and edit message from specified commit"
-msgstr ""
-
-#: builtin/commit.c:1628
-msgid "reuse message from specified commit"
-msgstr ""
-
-#. TRANSLATORS: Leave "[(amend|reword):]" as-is,
-#. and only translate <commit>.
-#.
-#: builtin/commit.c:1633
-msgid "[(amend|reword):]commit"
-msgstr ""
-
-#: builtin/commit.c:1633
-msgid ""
-"use autosquash formatted message to fixup or amend/reword specified commit"
-msgstr ""
-
-#: builtin/commit.c:1634
-msgid "use autosquash formatted message to squash specified commit"
-msgstr ""
-
-#: builtin/commit.c:1635
-msgid "the commit is authored by me now (used with -C/-c/--amend)"
-msgstr ""
-
-#: builtin/commit.c:1636 builtin/interpret-trailers.c:111
-msgid "trailer"
-msgstr ""
-
-#: builtin/commit.c:1636
-msgid "add custom trailer(s)"
-msgstr ""
-
-#: builtin/commit.c:1637 builtin/log.c:1788 builtin/merge.c:306
-#: builtin/pull.c:146 builtin/revert.c:110
-msgid "add a Signed-off-by trailer"
-msgstr ""
-
-#: builtin/commit.c:1638
-msgid "use specified template file"
-msgstr ""
-
-#: builtin/commit.c:1639
-msgid "force edit of commit"
-msgstr ""
-
-#: builtin/commit.c:1641
-msgid "include status in commit message template"
-msgstr ""
-
-#: builtin/commit.c:1646
-msgid "Commit contents options"
-msgstr ""
-
-#: builtin/commit.c:1647
-msgid "commit all changed files"
-msgstr ""
-
-#: builtin/commit.c:1648
-msgid "add specified files to index for commit"
-msgstr ""
-
-#: builtin/commit.c:1649
-msgid "interactively add files"
-msgstr ""
-
-#: builtin/commit.c:1650
-msgid "interactively add changes"
-msgstr ""
-
-#: builtin/commit.c:1651
-msgid "commit only specified files"
-msgstr ""
-
-#: builtin/commit.c:1652
-msgid "bypass pre-commit and commit-msg hooks"
-msgstr ""
-
-#: builtin/commit.c:1653
-msgid "show what would be committed"
-msgstr ""
-
-#: builtin/commit.c:1666
-msgid "amend previous commit"
-msgstr ""
-
-#: builtin/commit.c:1667
-msgid "bypass post-rewrite hook"
-msgstr ""
-
-#: builtin/commit.c:1674
-msgid "ok to record an empty change"
-msgstr ""
-
-#: builtin/commit.c:1676
-msgid "ok to record a change with an empty message"
-msgstr ""
-
-#: builtin/commit.c:1752
-#, c-format
-msgid "Corrupt MERGE_HEAD file (%s)"
-msgstr ""
-
-#: builtin/commit.c:1759
-msgid "could not read MERGE_MODE"
-msgstr ""
-
-#: builtin/commit.c:1780
-#, c-format
-msgid "could not read commit message: %s"
-msgstr ""
-
-#: builtin/commit.c:1787
-#, c-format
-msgid "Aborting commit due to empty commit message.\n"
-msgstr ""
-
-#: builtin/commit.c:1792
-#, c-format
-msgid "Aborting commit; you did not edit the message.\n"
-msgstr ""
-
-#: builtin/commit.c:1803
-#, c-format
-msgid "Aborting commit due to empty commit message body.\n"
-msgstr ""
-
-#: builtin/commit.c:1839
-msgid ""
-"repository has been updated, but unable to write\n"
-"new_index file. Check that disk is not full and quota is\n"
-"not exceeded, and then \"git restore --staged :/\" to recover."
-msgstr ""
-
-#: builtin/config.c:11
-msgid "git config [<options>]"
-msgstr ""
-
-#: builtin/config.c:109 builtin/env--helper.c:27
-#, c-format
-msgid "unrecognized --type argument, %s"
-msgstr ""
-
-#: builtin/config.c:121
-msgid "only one type at a time"
-msgstr ""
-
-#: builtin/config.c:130
-msgid "Config file location"
-msgstr ""
-
-#: builtin/config.c:131
-msgid "use global config file"
-msgstr ""
-
-#: builtin/config.c:132
-msgid "use system config file"
-msgstr ""
-
-#: builtin/config.c:133
-msgid "use repository config file"
-msgstr ""
-
-#: builtin/config.c:134
-msgid "use per-worktree config file"
-msgstr ""
-
-#: builtin/config.c:135
-msgid "use given config file"
-msgstr ""
-
-#: builtin/config.c:136
-msgid "blob-id"
-msgstr ""
-
-#: builtin/config.c:136
-msgid "read config from given blob object"
-msgstr ""
-
-#: builtin/config.c:137
-msgid "Action"
-msgstr ""
-
-#: builtin/config.c:138
-msgid "get value: name [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:139
-msgid "get all values: key [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:140
-msgid "get values for regexp: name-regex [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:141
-msgid "get value specific for the URL: section[.var] URL"
-msgstr ""
-
-#: builtin/config.c:142
-msgid "replace all matching variables: name value [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:143
-msgid "add a new variable: name value"
-msgstr ""
-
-#: builtin/config.c:144
-msgid "remove a variable: name [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:145
-msgid "remove all matches: name [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:146
-msgid "rename section: old-name new-name"
-msgstr ""
-
-#: builtin/config.c:147
-msgid "remove a section: name"
-msgstr ""
-
-#: builtin/config.c:148
-msgid "list all"
-msgstr ""
-
-#: builtin/config.c:149
-msgid "use string equality when comparing values to 'value-pattern'"
-msgstr ""
-
-#: builtin/config.c:150
-msgid "open an editor"
-msgstr ""
-
-#: builtin/config.c:151
-msgid "find the color configured: slot [default]"
-msgstr ""
-
-#: builtin/config.c:152
-msgid "find the color setting: slot [stdout-is-tty]"
-msgstr ""
-
-#: builtin/config.c:153
-msgid "Type"
-msgstr ""
-
-#: builtin/config.c:154 builtin/env--helper.c:42 builtin/hash-object.c:97
-msgid "type"
-msgstr ""
-
-#: builtin/config.c:154 builtin/env--helper.c:43
-msgid "value is given this type"
-msgstr ""
-
-#: builtin/config.c:155
-msgid "value is \"true\" or \"false\""
-msgstr ""
-
-#: builtin/config.c:156
-msgid "value is decimal number"
-msgstr ""
-
-#: builtin/config.c:157
-msgid "value is --bool or --int"
-msgstr ""
-
-#: builtin/config.c:158
-msgid "value is --bool or string"
-msgstr ""
-
-#: builtin/config.c:159
-msgid "value is a path (file or directory name)"
-msgstr ""
-
-#: builtin/config.c:160
-msgid "value is an expiry date"
-msgstr ""
-
-#: builtin/config.c:161
-msgid "Other"
-msgstr ""
-
-#: builtin/config.c:162
-msgid "terminate values with NUL byte"
-msgstr ""
-
-#: builtin/config.c:163
-msgid "show variable names only"
-msgstr ""
-
-#: builtin/config.c:164
-msgid "respect include directives on lookup"
-msgstr ""
-
-#: builtin/config.c:165
-msgid "show origin of config (file, standard input, blob, command line)"
-msgstr ""
-
-#: builtin/config.c:166
-msgid "show scope of config (worktree, local, global, system, command)"
-msgstr ""
-
-#: builtin/config.c:167 builtin/env--helper.c:45
-msgid "value"
-msgstr ""
-
-#: builtin/config.c:167
-msgid "with --get, use default value when missing entry"
-msgstr ""
-
-#: builtin/config.c:181
-#, c-format
-msgid "wrong number of arguments, should be %d"
-msgstr ""
-
-#: builtin/config.c:183
-#, c-format
-msgid "wrong number of arguments, should be from %d to %d"
-msgstr ""
-
-#: builtin/config.c:339
-#, c-format
-msgid "invalid key pattern: %s"
-msgstr ""
-
-#: builtin/config.c:377
-#, c-format
-msgid "failed to format default config value: %s"
-msgstr ""
-
-#: builtin/config.c:441
-#, c-format
-msgid "cannot parse color '%s'"
-msgstr ""
-
-#: builtin/config.c:483
-msgid "unable to parse default color value"
-msgstr ""
-
-#: builtin/config.c:536 builtin/config.c:833
-msgid "not in a git directory"
-msgstr ""
-
-#: builtin/config.c:539
-msgid "writing to stdin is not supported"
-msgstr ""
-
-#: builtin/config.c:542
-msgid "writing config blobs is not supported"
-msgstr ""
-
-#: builtin/config.c:627
-#, c-format
-msgid ""
-"# This is Git's per-user configuration file.\n"
-"[user]\n"
-"# Please adapt and uncomment the following lines:\n"
-"#\tname = %s\n"
-"#\temail = %s\n"
-msgstr ""
-
-#: builtin/config.c:652
-msgid "only one config file at a time"
-msgstr ""
-
-#: builtin/config.c:658
-msgid "--local can only be used inside a git repository"
-msgstr ""
-
-#: builtin/config.c:660
-msgid "--blob can only be used inside a git repository"
-msgstr ""
-
-#: builtin/config.c:662
-msgid "--worktree can only be used inside a git repository"
-msgstr ""
-
-#: builtin/config.c:684
-msgid "$HOME not set"
-msgstr ""
-
-#: builtin/config.c:708
-msgid ""
-"--worktree cannot be used with multiple working trees unless the config\n"
-"extension worktreeConfig is enabled. Please read \"CONFIGURATION FILE\"\n"
-"section in \"git help worktree\" for details"
-msgstr ""
-
-#: builtin/config.c:743
-msgid "--get-color and variable type are incoherent"
-msgstr ""
-
-#: builtin/config.c:748
-msgid "only one action at a time"
-msgstr ""
-
-#: builtin/config.c:761
-msgid "--name-only is only applicable to --list or --get-regexp"
-msgstr ""
-
-#: builtin/config.c:767
-msgid ""
-"--show-origin is only applicable to --get, --get-all, --get-regexp, and --"
-"list"
-msgstr ""
-
-#: builtin/config.c:773
-msgid "--default is only applicable to --get"
-msgstr ""
-
-#: builtin/config.c:806
-msgid "--fixed-value only applies with 'value-pattern'"
-msgstr ""
-
-#: builtin/config.c:822
-#, c-format
-msgid "unable to read config file '%s'"
-msgstr ""
-
-#: builtin/config.c:825
-msgid "error processing config file(s)"
-msgstr ""
-
-#: builtin/config.c:835
-msgid "editing stdin is not supported"
-msgstr ""
-
-#: builtin/config.c:837
-msgid "editing blobs is not supported"
-msgstr ""
-
-#: builtin/config.c:851
-#, c-format
-msgid "cannot create configuration file %s"
-msgstr ""
-
-#: builtin/config.c:864
-#, c-format
-msgid ""
-"cannot overwrite multiple values with a single value\n"
-"       Use a regexp, --add or --replace-all to change %s."
-msgstr ""
-
-#: builtin/config.c:943 builtin/config.c:954
-#, c-format
-msgid "no such section: %s"
-msgstr ""
-
-#: builtin/count-objects.c:100
-msgid "print sizes in human readable format"
-msgstr ""
-
-#: builtin/credential-cache--daemon.c:227
-#, c-format
-msgid ""
-"The permissions on your socket directory are too loose; other\n"
-"users may be able to read your cached credentials. Consider running:\n"
-"\n"
-"\tchmod 0700 %s"
-msgstr ""
-
-#: builtin/credential-cache--daemon.c:276
-msgid "print debugging messages to stderr"
-msgstr ""
-
-#: builtin/credential-cache--daemon.c:316
-msgid "credential-cache--daemon unavailable; no unix socket support"
-msgstr ""
-
-#: builtin/credential-cache.c:180
-msgid "credential-cache unavailable; no unix socket support"
-msgstr ""
-
-#: builtin/credential-store.c:66
-#, c-format
-msgid "unable to get credential storage lock in %d ms"
-msgstr ""
-
-#: builtin/describe.c:26
-msgid "git describe [<options>] [<commit-ish>...]"
-msgstr ""
-
-#: builtin/describe.c:27
-msgid "git describe [<options>] --dirty"
-msgstr ""
-
-#: builtin/describe.c:63
-msgid "head"
-msgstr ""
-
-#: builtin/describe.c:63
-msgid "lightweight"
-msgstr ""
-
-#: builtin/describe.c:63
-msgid "annotated"
-msgstr ""
-
-#: builtin/describe.c:277
-#, c-format
-msgid "annotated tag %s not available"
-msgstr ""
-
-#: builtin/describe.c:281
-#, c-format
-msgid "tag '%s' is externally known as '%s'"
-msgstr ""
-
-#: builtin/describe.c:328
-#, c-format
-msgid "no tag exactly matches '%s'"
-msgstr ""
-
-#: builtin/describe.c:330
-#, c-format
-msgid "No exact match on refs or tags, searching to describe\n"
-msgstr ""
-
-#: builtin/describe.c:397
-#, c-format
-msgid "finished search at %s\n"
-msgstr ""
-
-#: builtin/describe.c:424
-#, c-format
-msgid ""
-"No annotated tags can describe '%s'.\n"
-"However, there were unannotated tags: try --tags."
-msgstr ""
-
-#: builtin/describe.c:428
-#, c-format
-msgid ""
-"No tags can describe '%s'.\n"
-"Try --always, or create some tags."
-msgstr ""
-
-#: builtin/describe.c:458
-#, c-format
-msgid "traversed %lu commits\n"
-msgstr ""
-
-#: builtin/describe.c:461
-#, c-format
-msgid ""
-"more than %i tags found; listed %i most recent\n"
-"gave up search at %s\n"
-msgstr ""
-
-#: builtin/describe.c:529
-#, c-format
-msgid "describe %s\n"
-msgstr ""
-
-#: builtin/describe.c:532
-#, c-format
-msgid "Not a valid object name %s"
-msgstr ""
-
-#: builtin/describe.c:540
-#, c-format
-msgid "%s is neither a commit nor blob"
-msgstr ""
-
-#: builtin/describe.c:554
-msgid "find the tag that comes after the commit"
-msgstr ""
-
-#: builtin/describe.c:555
-msgid "debug search strategy on stderr"
-msgstr ""
-
-#: builtin/describe.c:556
-msgid "use any ref"
-msgstr ""
-
-#: builtin/describe.c:557
-msgid "use any tag, even unannotated"
-msgstr ""
-
-#: builtin/describe.c:558
-msgid "always use long format"
-msgstr ""
-
-#: builtin/describe.c:559
-msgid "only follow first parent"
-msgstr ""
-
-#: builtin/describe.c:562
-msgid "only output exact matches"
-msgstr ""
-
-#: builtin/describe.c:564
-msgid "consider <n> most recent tags (default: 10)"
-msgstr ""
-
-#: builtin/describe.c:566
-msgid "only consider tags matching <pattern>"
-msgstr ""
-
-#: builtin/describe.c:568
-msgid "do not consider tags matching <pattern>"
-msgstr ""
-
-#: builtin/describe.c:570 builtin/name-rev.c:595
-msgid "show abbreviated commit object as fallback"
-msgstr ""
-
-#: builtin/describe.c:571 builtin/describe.c:574
-msgid "mark"
-msgstr ""
-
-#: builtin/describe.c:572
-msgid "append <mark> on dirty working tree (default: \"-dirty\")"
-msgstr ""
-
-#: builtin/describe.c:575
-msgid "append <mark> on broken working tree (default: \"-broken\")"
-msgstr ""
-
-#: builtin/describe.c:622
-msgid "No names found, cannot describe anything."
-msgstr ""
-
-#: builtin/describe.c:673 builtin/describe.c:675
-#, c-format
-msgid "option '%s' and commit-ishes cannot be used together"
-msgstr ""
-
-#: builtin/diff-tree.c:157
-msgid "--merge-base only works with two commits"
-msgstr ""
-
-#: builtin/diff.c:92
-#, c-format
-msgid "'%s': not a regular file or symlink"
-msgstr ""
-
-#: builtin/diff.c:259
-#, c-format
-msgid "invalid option: %s"
-msgstr ""
-
-#: builtin/diff.c:376
-#, c-format
-msgid "%s...%s: no merge base"
-msgstr ""
-
-#: builtin/diff.c:491
-msgid "Not a git repository"
-msgstr ""
-
-#: builtin/diff.c:537 builtin/grep.c:700
-#, c-format
-msgid "invalid object '%s' given."
-msgstr ""
-
-#: builtin/diff.c:548
-#, c-format
-msgid "more than two blobs given: '%s'"
-msgstr ""
-
-#: builtin/diff.c:553
-#, c-format
-msgid "unhandled object '%s' given."
-msgstr ""
-
-#: builtin/diff.c:587
-#, c-format
-msgid "%s...%s: multiple merge bases, using %s"
-msgstr ""
-
-#: builtin/difftool.c:31
-msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
-msgstr ""
-
-#: builtin/difftool.c:287
-#, c-format
-msgid "could not read symlink %s"
-msgstr ""
-
-#: builtin/difftool.c:289
-#, c-format
-msgid "could not read symlink file %s"
-msgstr ""
-
-#: builtin/difftool.c:297
-#, c-format
-msgid "could not read object %s for symlink %s"
-msgstr ""
-
-#: builtin/difftool.c:421
-msgid ""
-"combined diff formats ('-c' and '--cc') are not supported in\n"
-"directory diff mode ('-d' and '--dir-diff')."
-msgstr ""
-
-#: builtin/difftool.c:626
-#, c-format
-msgid "both files modified: '%s' and '%s'."
-msgstr ""
-
-#: builtin/difftool.c:628
-msgid "working tree file has been left."
-msgstr ""
-
-#: builtin/difftool.c:639
-#, c-format
-msgid "temporary files exist in '%s'."
-msgstr ""
-
-#: builtin/difftool.c:640
-msgid "you may want to cleanup or recover these."
-msgstr ""
-
-#: builtin/difftool.c:645
-#, c-format
-msgid "failed: %d"
-msgstr ""
-
-#: builtin/difftool.c:690
-msgid "use `diff.guitool` instead of `diff.tool`"
-msgstr ""
-
-#: builtin/difftool.c:692
-msgid "perform a full-directory diff"
-msgstr ""
-
-#: builtin/difftool.c:694
-msgid "do not prompt before launching a diff tool"
-msgstr ""
-
-#: builtin/difftool.c:699
-msgid "use symlinks in dir-diff mode"
-msgstr ""
-
-#: builtin/difftool.c:700
-msgid "tool"
-msgstr ""
-
-#: builtin/difftool.c:701
-msgid "use the specified diff tool"
-msgstr ""
-
-#: builtin/difftool.c:703
-msgid "print a list of diff tools that may be used with `--tool`"
-msgstr ""
-
-#: builtin/difftool.c:706
-msgid ""
-"make 'git-difftool' exit when an invoked diff tool returns a non-zero exit "
-"code"
-msgstr ""
-
-#: builtin/difftool.c:709
-msgid "specify a custom command for viewing diffs"
-msgstr ""
-
-#: builtin/difftool.c:710
-msgid "passed to `diff`"
-msgstr ""
-
-#: builtin/difftool.c:726
-msgid "difftool requires worktree or --no-index"
-msgstr ""
-
-#: builtin/difftool.c:745
-msgid "no <tool> given for --tool=<tool>"
-msgstr ""
-
-#: builtin/difftool.c:752
-msgid "no <cmd> given for --extcmd=<cmd>"
-msgstr ""
-
-#: builtin/env--helper.c:6
-msgid "git env--helper --type=[bool|ulong] <options> <env-var>"
-msgstr ""
-
-#: builtin/env--helper.c:46
-msgid "default for git_env_*(...) to fall back on"
-msgstr ""
-
-#: builtin/env--helper.c:48
-msgid "be quiet only use git_env_*() value as exit code"
-msgstr ""
-
-#: builtin/env--helper.c:67
-#, c-format
-msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`"
-msgstr ""
-
-#: builtin/env--helper.c:82
-#, c-format
-msgid ""
-"option `--default' expects an unsigned long value with `--type=ulong`, not `"
-"%s`"
-msgstr ""
-
-#: builtin/fast-export.c:29
-msgid "git fast-export [<rev-list-opts>]"
-msgstr ""
-
-#: builtin/fast-export.c:843
-msgid "Error: Cannot export nested tags unless --mark-tags is specified."
-msgstr ""
-
-#: builtin/fast-export.c:1152
-msgid "--anonymize-map token cannot be empty"
-msgstr ""
-
-#: builtin/fast-export.c:1171
-msgid "show progress after <n> objects"
-msgstr ""
-
-#: builtin/fast-export.c:1173
-msgid "select handling of signed tags"
-msgstr ""
-
-#: builtin/fast-export.c:1176
-msgid "select handling of tags that tag filtered objects"
-msgstr ""
-
-#: builtin/fast-export.c:1179
-msgid "select handling of commit messages in an alternate encoding"
-msgstr ""
-
-#: builtin/fast-export.c:1182
-msgid "dump marks to this file"
-msgstr ""
-
-#: builtin/fast-export.c:1184
-msgid "import marks from this file"
-msgstr ""
-
-#: builtin/fast-export.c:1188
-msgid "import marks from this file if it exists"
-msgstr ""
-
-#: builtin/fast-export.c:1190
-msgid "fake a tagger when tags lack one"
-msgstr ""
-
-#: builtin/fast-export.c:1192
-msgid "output full tree for each commit"
-msgstr ""
-
-#: builtin/fast-export.c:1194
-msgid "use the done feature to terminate the stream"
-msgstr ""
-
-#: builtin/fast-export.c:1195
-msgid "skip output of blob data"
-msgstr ""
-
-#: builtin/fast-export.c:1196 builtin/log.c:1860
-msgid "refspec"
-msgstr ""
-
-#: builtin/fast-export.c:1197
-msgid "apply refspec to exported refs"
-msgstr ""
-
-#: builtin/fast-export.c:1198
-msgid "anonymize output"
-msgstr ""
-
-#: builtin/fast-export.c:1199
-msgid "from:to"
-msgstr ""
-
-#: builtin/fast-export.c:1200
-msgid "convert <from> to <to> in anonymized output"
-msgstr ""
-
-#: builtin/fast-export.c:1203
-msgid "reference parents which are not in fast-export stream by object id"
-msgstr ""
-
-#: builtin/fast-export.c:1205
-msgid "show original object ids of blobs/commits"
-msgstr ""
-
-#: builtin/fast-export.c:1207
-msgid "label tags with mark ids"
-msgstr ""
-
-#: builtin/fast-import.c:3097
-#, c-format
-msgid "Missing from marks for submodule '%s'"
-msgstr ""
-
-#: builtin/fast-import.c:3099
-#, c-format
-msgid "Missing to marks for submodule '%s'"
-msgstr ""
-
-#: builtin/fast-import.c:3234
-#, c-format
-msgid "Expected 'mark' command, got %s"
-msgstr ""
-
-#: builtin/fast-import.c:3239
-#, c-format
-msgid "Expected 'to' command, got %s"
-msgstr ""
-
-#: builtin/fast-import.c:3331
-msgid "Expected format name:filename for submodule rewrite option"
-msgstr ""
-
-#: builtin/fast-import.c:3386
-#, c-format
-msgid "feature '%s' forbidden in input without --allow-unsafe-features"
-msgstr ""
-
-#: builtin/fetch-pack.c:246
-#, c-format
-msgid "Lockfile created but not reported: %s"
-msgstr ""
-
-#: builtin/fetch.c:36
-msgid "git fetch [<options>] [<repository> [<refspec>...]]"
-msgstr ""
-
-#: builtin/fetch.c:37
-msgid "git fetch [<options>] <group>"
-msgstr ""
-
-#: builtin/fetch.c:38
-msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
-msgstr ""
-
-#: builtin/fetch.c:39
-msgid "git fetch --all [<options>]"
-msgstr ""
-
-#: builtin/fetch.c:124
-msgid "fetch.parallel cannot be negative"
-msgstr ""
-
-#: builtin/fetch.c:147 builtin/pull.c:189
-msgid "fetch from all remotes"
-msgstr ""
-
-#: builtin/fetch.c:149 builtin/pull.c:249
-msgid "set upstream for git pull/fetch"
-msgstr ""
-
-#: builtin/fetch.c:151 builtin/pull.c:192
-msgid "append to .git/FETCH_HEAD instead of overwriting"
-msgstr ""
-
-#: builtin/fetch.c:153
-msgid "use atomic transaction to update references"
-msgstr ""
-
-#: builtin/fetch.c:155 builtin/pull.c:195
-msgid "path to upload pack on remote end"
-msgstr ""
-
-#: builtin/fetch.c:156
-msgid "force overwrite of local reference"
-msgstr ""
-
-#: builtin/fetch.c:158
-msgid "fetch from multiple remotes"
-msgstr ""
-
-#: builtin/fetch.c:160 builtin/pull.c:199
-msgid "fetch all tags and associated objects"
-msgstr ""
-
-#: builtin/fetch.c:162
-msgid "do not fetch all tags (--no-tags)"
-msgstr ""
-
-#: builtin/fetch.c:164
-msgid "number of submodules fetched in parallel"
-msgstr ""
-
-#: builtin/fetch.c:166
-msgid "modify the refspec to place all refs within refs/prefetch/"
-msgstr ""
-
-#: builtin/fetch.c:168 builtin/pull.c:202
-msgid "prune remote-tracking branches no longer on remote"
-msgstr ""
-
-#: builtin/fetch.c:170
-msgid "prune local tags no longer on remote and clobber changed tags"
-msgstr ""
-
-#: builtin/fetch.c:171 builtin/fetch.c:199 builtin/pull.c:123
-msgid "on-demand"
-msgstr ""
-
-#: builtin/fetch.c:172
-msgid "control recursive fetching of submodules"
-msgstr ""
-
-#: builtin/fetch.c:177
-msgid "write fetched references to the FETCH_HEAD file"
-msgstr ""
-
-#: builtin/fetch.c:178 builtin/pull.c:210
-msgid "keep downloaded pack"
-msgstr ""
-
-#: builtin/fetch.c:180
-msgid "allow updating of HEAD ref"
-msgstr ""
-
-#: builtin/fetch.c:183 builtin/fetch.c:189 builtin/pull.c:213
-#: builtin/pull.c:222
-msgid "deepen history of shallow clone"
-msgstr ""
-
-#: builtin/fetch.c:185 builtin/pull.c:216
-msgid "deepen history of shallow repository based on time"
-msgstr ""
-
-#: builtin/fetch.c:191 builtin/pull.c:225
-msgid "convert to a complete repository"
-msgstr ""
-
-#: builtin/fetch.c:194
-msgid "re-fetch without negotiating common commits"
-msgstr ""
-
-#: builtin/fetch.c:197
-msgid "prepend this to submodule path output"
-msgstr ""
-
-#: builtin/fetch.c:200
-msgid ""
-"default for recursive fetching of submodules (lower priority than config "
-"files)"
-msgstr ""
-
-#: builtin/fetch.c:204 builtin/pull.c:228
-msgid "accept refs that update .git/shallow"
-msgstr ""
-
-#: builtin/fetch.c:205 builtin/pull.c:230
-msgid "refmap"
-msgstr ""
-
-#: builtin/fetch.c:206 builtin/pull.c:231
-msgid "specify fetch refmap"
-msgstr ""
-
-#: builtin/fetch.c:213 builtin/pull.c:244
-msgid "report that we have only objects reachable from this object"
-msgstr ""
-
-#: builtin/fetch.c:215
-msgid "do not fetch a packfile; instead, print ancestors of negotiation tips"
-msgstr ""
-
-#: builtin/fetch.c:218 builtin/fetch.c:220
-msgid "run 'maintenance --auto' after fetching"
-msgstr ""
-
-#: builtin/fetch.c:222 builtin/pull.c:247
-msgid "check for forced-updates on all updated branches"
-msgstr ""
-
-#: builtin/fetch.c:224
-msgid "write the commit-graph after fetching"
-msgstr ""
-
-#: builtin/fetch.c:226
-msgid "accept refspecs from stdin"
-msgstr ""
-
-#: builtin/fetch.c:618
-msgid "couldn't find remote ref HEAD"
-msgstr ""
-
-#: builtin/fetch.c:893
-#, c-format
-msgid "object %s not found"
-msgstr ""
-
-#: builtin/fetch.c:897
-msgid "[up to date]"
-msgstr ""
-
-#: builtin/fetch.c:909 builtin/fetch.c:927 builtin/fetch.c:999
-msgid "[rejected]"
-msgstr ""
-
-#: builtin/fetch.c:911
-msgid "can't fetch in current branch"
-msgstr ""
-
-#: builtin/fetch.c:912
-msgid "checked out in another worktree"
-msgstr ""
-
-#: builtin/fetch.c:922
-msgid "[tag update]"
-msgstr ""
-
-#: builtin/fetch.c:923 builtin/fetch.c:960 builtin/fetch.c:982
-#: builtin/fetch.c:994
-msgid "unable to update local ref"
-msgstr ""
-
-#: builtin/fetch.c:927
-msgid "would clobber existing tag"
-msgstr ""
-
-#: builtin/fetch.c:949
-msgid "[new tag]"
-msgstr ""
-
-#: builtin/fetch.c:952
-msgid "[new branch]"
-msgstr ""
-
-#: builtin/fetch.c:955
-msgid "[new ref]"
-msgstr ""
-
-#: builtin/fetch.c:994
-msgid "forced update"
-msgstr ""
-
-#: builtin/fetch.c:999
-msgid "non-fast-forward"
-msgstr ""
-
-#: builtin/fetch.c:1102
-msgid ""
-"fetch normally indicates which branches had a forced update,\n"
-"but that check has been disabled; to re-enable, use '--show-forced-updates'\n"
-"flag or run 'git config fetch.showForcedUpdates true'"
-msgstr ""
-
-#: builtin/fetch.c:1106
-#, c-format
-msgid ""
-"it took %.2f seconds to check forced updates; you can use\n"
-"'--no-show-forced-updates' or run 'git config fetch.showForcedUpdates "
-"false'\n"
-"to avoid this check\n"
-msgstr ""
-
-#: builtin/fetch.c:1136
-#, c-format
-msgid "%s did not send all necessary objects\n"
-msgstr ""
-
-#: builtin/fetch.c:1156
-#, c-format
-msgid "rejected %s because shallow roots are not allowed to be updated"
-msgstr ""
-
-#: builtin/fetch.c:1259 builtin/fetch.c:1418
-#, c-format
-msgid "From %.*s\n"
-msgstr ""
-
-#: builtin/fetch.c:1269
-#, c-format
-msgid ""
-"some local refs could not be updated; try running\n"
-" 'git remote prune %s' to remove any old, conflicting branches"
-msgstr ""
-
-#: builtin/fetch.c:1377
-#, c-format
-msgid "   (%s will become dangling)"
-msgstr ""
-
-#: builtin/fetch.c:1378
-#, c-format
-msgid "   (%s has become dangling)"
-msgstr ""
-
-#: builtin/fetch.c:1421
-msgid "[deleted]"
-msgstr ""
-
-#: builtin/fetch.c:1422 builtin/remote.c:1153
-msgid "(none)"
-msgstr ""
-
-#: builtin/fetch.c:1446
-#, c-format
-msgid "refusing to fetch into branch '%s' checked out at '%s'"
-msgstr ""
-
-#: builtin/fetch.c:1466
-#, c-format
-msgid "option \"%s\" value \"%s\" is not valid for %s"
-msgstr ""
-
-#: builtin/fetch.c:1469
-#, c-format
-msgid "option \"%s\" is ignored for %s\n"
-msgstr ""
-
-#: builtin/fetch.c:1496
-#, c-format
-msgid "the object %s does not exist"
-msgstr ""
-
-#: builtin/fetch.c:1748
-msgid "multiple branches detected, incompatible with --set-upstream"
-msgstr ""
-
-#: builtin/fetch.c:1760
-#, c-format
-msgid ""
-"could not set upstream of HEAD to '%s' from '%s' when it does not point to "
-"any branch."
-msgstr ""
-
-#: builtin/fetch.c:1773
-msgid "not setting upstream for a remote remote-tracking branch"
-msgstr ""
-
-#: builtin/fetch.c:1775
-msgid "not setting upstream for a remote tag"
-msgstr ""
-
-#: builtin/fetch.c:1777
-msgid "unknown branch type"
-msgstr ""
-
-#: builtin/fetch.c:1779
-msgid ""
-"no source branch found;\n"
-"you need to specify exactly one branch with the --set-upstream option"
-msgstr ""
-
-#: builtin/fetch.c:1904 builtin/fetch.c:1967
-#, c-format
-msgid "Fetching %s\n"
-msgstr ""
-
-#: builtin/fetch.c:1914 builtin/fetch.c:1969
-#, c-format
-msgid "could not fetch %s"
-msgstr ""
-
-#: builtin/fetch.c:1926
-#, c-format
-msgid "could not fetch '%s' (exit code: %d)\n"
-msgstr ""
-
-#: builtin/fetch.c:2030
-msgid ""
-"no remote repository specified; please specify either a URL or a\n"
-"remote name from which new revisions should be fetched"
-msgstr ""
-
-#: builtin/fetch.c:2066
-msgid "you need to specify a tag name"
-msgstr ""
-
-#: builtin/fetch.c:2156
-msgid "--negotiate-only needs one or more --negotiation-tip=*"
-msgstr ""
-
-#: builtin/fetch.c:2160
-msgid "negative depth in --deepen is not supported"
-msgstr ""
-
-#: builtin/fetch.c:2169
-msgid "--unshallow on a complete repository does not make sense"
-msgstr ""
-
-#: builtin/fetch.c:2186
-msgid "fetch --all does not take a repository argument"
-msgstr ""
-
-#: builtin/fetch.c:2188
-msgid "fetch --all does not make sense with refspecs"
-msgstr ""
-
-#: builtin/fetch.c:2197
-#, c-format
-msgid "no such remote or remote group: %s"
-msgstr ""
-
-#: builtin/fetch.c:2205
-msgid "fetching a group and specifying refspecs does not make sense"
-msgstr ""
-
-#: builtin/fetch.c:2221
-msgid "must supply remote when using --negotiate-only"
-msgstr ""
-
-#: builtin/fetch.c:2226
-msgid "protocol does not support --negotiate-only, exiting"
-msgstr ""
-
-#: builtin/fetch.c:2246
-msgid ""
-"--filter can only be used with the remote configured in extensions."
-"partialclone"
-msgstr ""
-
-#: builtin/fetch.c:2250
-msgid "--atomic can only be used when fetching from one remote"
-msgstr ""
-
-#: builtin/fetch.c:2254
-msgid "--stdin can only be used when fetching from one remote"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:7
-msgid ""
-"git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:19
-msgid "populate log with at most <n> entries from shortlog"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:22
-msgid "alias for --log (deprecated)"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:25
-msgid "text"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:26
-msgid "use <text> as start of message"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:28
-msgid "use <name> instead of the real target branch"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:29
-msgid "file to read from"
-msgstr ""
-
-#: builtin/for-each-ref.c:10
-msgid "git for-each-ref [<options>] [<pattern>]"
-msgstr ""
-
-#: builtin/for-each-ref.c:11
-msgid "git for-each-ref [--points-at <object>]"
-msgstr ""
-
-#: builtin/for-each-ref.c:12
-msgid "git for-each-ref [--merged [<commit>]] [--no-merged [<commit>]]"
-msgstr ""
-
-#: builtin/for-each-ref.c:13
-msgid "git for-each-ref [--contains [<commit>]] [--no-contains [<commit>]]"
-msgstr ""
-
-#: builtin/for-each-ref.c:31
-msgid "quote placeholders suitably for shells"
-msgstr ""
-
-#: builtin/for-each-ref.c:33
-msgid "quote placeholders suitably for perl"
-msgstr ""
-
-#: builtin/for-each-ref.c:35
-msgid "quote placeholders suitably for python"
-msgstr ""
-
-#: builtin/for-each-ref.c:37
-msgid "quote placeholders suitably for Tcl"
-msgstr ""
-
-#: builtin/for-each-ref.c:40
-msgid "show only <n> matched refs"
-msgstr ""
-
-#: builtin/for-each-ref.c:42 builtin/tag.c:482
-msgid "respect format colors"
-msgstr ""
-
-#: builtin/for-each-ref.c:45
-msgid "print only refs which points at the given object"
-msgstr ""
-
-#: builtin/for-each-ref.c:47
-msgid "print only refs that are merged"
-msgstr ""
-
-#: builtin/for-each-ref.c:48
-msgid "print only refs that are not merged"
-msgstr ""
-
-#: builtin/for-each-ref.c:49
-msgid "print only refs which contain the commit"
-msgstr ""
-
-#: builtin/for-each-ref.c:50
-msgid "print only refs which don't contain the commit"
-msgstr ""
-
-#: builtin/for-each-repo.c:9
-msgid "git for-each-repo --config=<config> <command-args>"
-msgstr ""
-
-#: builtin/for-each-repo.c:34
-msgid "config"
-msgstr ""
-
-#: builtin/for-each-repo.c:35
-msgid "config key storing a list of repository paths"
-msgstr ""
-
-#: builtin/for-each-repo.c:43
-msgid "missing --config=<config>"
-msgstr ""
-
-#: builtin/fsck.c:69 builtin/fsck.c:128 builtin/fsck.c:129
-msgid "unknown"
-msgstr ""
-
-#. TRANSLATORS: e.g. error in tree 01bfda: <more explanation>
-#: builtin/fsck.c:78 builtin/fsck.c:100
-#, c-format
-msgid "error in %s %s: %s"
-msgstr ""
-
-#. TRANSLATORS: e.g. warning in tree 01bfda: <more explanation>
-#: builtin/fsck.c:94
-#, c-format
-msgid "warning in %s %s: %s"
-msgstr ""
-
-#: builtin/fsck.c:124 builtin/fsck.c:127
-#, c-format
-msgid "broken link from %7s %s"
-msgstr ""
-
-#: builtin/fsck.c:136
-msgid "wrong object type in link"
-msgstr ""
-
-#: builtin/fsck.c:152
-#, c-format
-msgid ""
-"broken link from %7s %s\n"
-"              to %7s %s"
-msgstr ""
-
-#: builtin/fsck.c:264
-#, c-format
-msgid "missing %s %s"
-msgstr ""
-
-#: builtin/fsck.c:291
-#, c-format
-msgid "unreachable %s %s"
-msgstr ""
-
-#: builtin/fsck.c:311
-#, c-format
-msgid "dangling %s %s"
-msgstr ""
-
-#: builtin/fsck.c:321
-msgid "could not create lost-found"
-msgstr ""
-
-#: builtin/fsck.c:332
-#, c-format
-msgid "could not finish '%s'"
-msgstr ""
-
-#: builtin/fsck.c:349
-#, c-format
-msgid "Checking %s"
-msgstr ""
-
-#: builtin/fsck.c:387
-#, c-format
-msgid "Checking connectivity (%d objects)"
-msgstr ""
-
-#: builtin/fsck.c:406
-#, c-format
-msgid "Checking %s %s"
-msgstr ""
-
-#: builtin/fsck.c:411
-msgid "broken links"
-msgstr ""
-
-#: builtin/fsck.c:420
-#, c-format
-msgid "root %s"
-msgstr ""
-
-#: builtin/fsck.c:428
-#, c-format
-msgid "tagged %s %s (%s) in %s"
-msgstr ""
-
-#: builtin/fsck.c:457
-#, c-format
-msgid "%s: object corrupt or missing"
-msgstr ""
-
-#: builtin/fsck.c:482
-#, c-format
-msgid "%s: invalid reflog entry %s"
-msgstr ""
-
-#: builtin/fsck.c:496
-#, c-format
-msgid "Checking reflog %s->%s"
-msgstr ""
-
-#: builtin/fsck.c:530
-#, c-format
-msgid "%s: invalid sha1 pointer %s"
-msgstr ""
-
-#: builtin/fsck.c:537
-#, c-format
-msgid "%s: not a commit"
-msgstr ""
-
-#: builtin/fsck.c:591
-msgid "notice: No default references"
-msgstr ""
-
-#: builtin/fsck.c:621
-#, c-format
-msgid "%s: hash-path mismatch, found at: %s"
-msgstr ""
-
-#: builtin/fsck.c:624
-#, c-format
-msgid "%s: object corrupt or missing: %s"
-msgstr ""
-
-#: builtin/fsck.c:628
-#, c-format
-msgid "%s: object is of unknown type '%s': %s"
-msgstr ""
-
-#: builtin/fsck.c:645
-#, c-format
-msgid "%s: object could not be parsed: %s"
-msgstr ""
-
-#: builtin/fsck.c:665
-#, c-format
-msgid "bad sha1 file: %s"
-msgstr ""
-
-#: builtin/fsck.c:686
-msgid "Checking object directory"
-msgstr ""
-
-#: builtin/fsck.c:689
-msgid "Checking object directories"
-msgstr ""
-
-#: builtin/fsck.c:705
-#, c-format
-msgid "Checking %s link"
-msgstr ""
-
-#: builtin/fsck.c:710 builtin/index-pack.c:862
-#, c-format
-msgid "invalid %s"
-msgstr ""
-
-#: builtin/fsck.c:717
-#, c-format
-msgid "%s points to something strange (%s)"
-msgstr ""
-
-#: builtin/fsck.c:723
-#, c-format
-msgid "%s: detached HEAD points at nothing"
-msgstr ""
-
-#: builtin/fsck.c:727
-#, c-format
-msgid "notice: %s points to an unborn branch (%s)"
-msgstr ""
-
-#: builtin/fsck.c:739
-msgid "Checking cache tree"
-msgstr ""
-
-#: builtin/fsck.c:744
-#, c-format
-msgid "%s: invalid sha1 pointer in cache-tree"
-msgstr ""
-
-#: builtin/fsck.c:753
-msgid "non-tree in cache-tree"
-msgstr ""
-
-#: builtin/fsck.c:784
-msgid "git fsck [<options>] [<object>...]"
-msgstr ""
-
-#: builtin/fsck.c:790
-msgid "show unreachable objects"
-msgstr ""
-
-#: builtin/fsck.c:791
-msgid "show dangling objects"
-msgstr ""
-
-#: builtin/fsck.c:792
-msgid "report tags"
-msgstr ""
-
-#: builtin/fsck.c:793
-msgid "report root nodes"
-msgstr ""
-
-#: builtin/fsck.c:794
-msgid "make index objects head nodes"
-msgstr ""
-
-#: builtin/fsck.c:795
-msgid "make reflogs head nodes (default)"
-msgstr ""
-
-#: builtin/fsck.c:796
-msgid "also consider packs and alternate objects"
-msgstr ""
-
-#: builtin/fsck.c:797
-msgid "check only connectivity"
-msgstr ""
-
-#: builtin/fsck.c:798 builtin/mktag.c:75
-msgid "enable more strict checking"
-msgstr ""
-
-#: builtin/fsck.c:800
-msgid "write dangling objects in .git/lost-found"
-msgstr ""
-
-#: builtin/fsck.c:801 builtin/prune.c:146
-msgid "show progress"
-msgstr ""
-
-#: builtin/fsck.c:802
-msgid "show verbose names for reachable objects"
-msgstr ""
-
-#: builtin/fsck.c:862 builtin/index-pack.c:261
-msgid "Checking objects"
-msgstr ""
-
-#: builtin/fsck.c:890
-#, c-format
-msgid "%s: object missing"
-msgstr ""
-
-#: builtin/fsck.c:901
-#, c-format
-msgid "invalid parameter: expected sha1, got '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:13
-msgid "git fsmonitor--daemon start [<options>]"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:14
-msgid "git fsmonitor--daemon run [<options>]"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:15
-msgid "git fsmonitor--daemon stop"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:16
-msgid "git fsmonitor--daemon status"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:38 builtin/fsmonitor--daemon.c:47
-#, c-format
-msgid "value of '%s' out of range: %d"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:57
-#, c-format
-msgid "value of '%s' not bool or int: %d"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:99
-#, c-format
-msgid "fsmonitor-daemon is watching '%s'\n"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:104
-#, c-format
-msgid "fsmonitor-daemon is not watching '%s'\n"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:170
-#, c-format
-msgid "could not create fsmonitor cookie '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:753
-#, c-format
-msgid "fsmonitor: cookie_result '%d' != SEEN"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1187
-#, c-format
-msgid "could not start IPC thread pool on '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1199
-msgid "could not start fsmonitor listener thread"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1297
-msgid "could not initialize listener thread"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1328 builtin/fsmonitor--daemon.c:1383
-#, c-format
-msgid "fsmonitor--daemon is already running '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1332
-#, c-format
-msgid "running fsmonitor-daemon in '%s'\n"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1387
-#, c-format
-msgid "starting fsmonitor-daemon in '%s'\n"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1413
-msgid "daemon failed to start"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1416
-msgid "daemon not online yet"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1419
-msgid "daemon terminated"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1429
-msgid "detach from console"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1432
-msgid "use <n> ipc worker threads"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1435
-msgid "max seconds to wait for background daemon startup"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1449
-#, c-format
-msgid "invalid 'ipc-threads' value (%d)"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1464
-#, c-format
-msgid "Unhandled subcommand '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1477
-msgid "fsmonitor--daemon not supported on this platform"
-msgstr ""
-
-#: builtin/gc.c:39
-msgid "git gc [<options>]"
-msgstr ""
-
-#: builtin/gc.c:93
-#, c-format
-msgid "Failed to fstat %s: %s"
-msgstr ""
-
-#: builtin/gc.c:129
-#, c-format
-msgid "failed to parse '%s' value '%s'"
-msgstr ""
-
-#: builtin/gc.c:488 builtin/init-db.c:57
-#, c-format
-msgid "cannot stat '%s'"
-msgstr ""
-
-#: builtin/gc.c:504
-#, c-format
-msgid ""
-"The last gc run reported the following. Please correct the root cause\n"
-"and remove %s\n"
-"Automatic cleanup will not be performed until the file is removed.\n"
-"\n"
-"%s"
-msgstr ""
-
-#: builtin/gc.c:552
-msgid "prune unreferenced objects"
-msgstr ""
-
-#: builtin/gc.c:554
-msgid "be more thorough (increased runtime)"
-msgstr ""
-
-#: builtin/gc.c:555
-msgid "enable auto-gc mode"
-msgstr ""
-
-#: builtin/gc.c:558
-msgid "force running gc even if there may be another gc running"
-msgstr ""
-
-#: builtin/gc.c:561
-msgid "repack all other packs except the largest pack"
-msgstr ""
-
-#: builtin/gc.c:577
-#, c-format
-msgid "failed to parse gc.logexpiry value %s"
-msgstr ""
-
-#: builtin/gc.c:588
-#, c-format
-msgid "failed to parse prune expiry value %s"
-msgstr ""
-
-#: builtin/gc.c:608
-#, c-format
-msgid "Auto packing the repository in background for optimum performance.\n"
-msgstr ""
-
-#: builtin/gc.c:610
-#, c-format
-msgid "Auto packing the repository for optimum performance.\n"
-msgstr ""
-
-#: builtin/gc.c:611
-#, c-format
-msgid "See \"git help gc\" for manual housekeeping.\n"
-msgstr ""
-
-#: builtin/gc.c:652
-#, c-format
-msgid ""
-"gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
-msgstr ""
-
-#: builtin/gc.c:707
-msgid ""
-"There are too many unreachable loose objects; run 'git prune' to remove them."
-msgstr ""
-
-#: builtin/gc.c:717
-msgid ""
-"git maintenance run [--auto] [--[no-]quiet] [--task=<task>] [--schedule]"
-msgstr ""
-
-#: builtin/gc.c:747
-msgid "--no-schedule is not allowed"
-msgstr ""
-
-#: builtin/gc.c:752
-#, c-format
-msgid "unrecognized --schedule argument '%s'"
-msgstr ""
-
-#: builtin/gc.c:870
-msgid "failed to write commit-graph"
-msgstr ""
-
-#: builtin/gc.c:906
-msgid "failed to prefetch remotes"
-msgstr ""
-
-#: builtin/gc.c:1022
-msgid "failed to start 'git pack-objects' process"
-msgstr ""
-
-#: builtin/gc.c:1039
-msgid "failed to finish 'git pack-objects' process"
-msgstr ""
-
-#: builtin/gc.c:1090
-msgid "failed to write multi-pack-index"
-msgstr ""
-
-#: builtin/gc.c:1106
-msgid "'git multi-pack-index expire' failed"
-msgstr ""
-
-#: builtin/gc.c:1165
-msgid "'git multi-pack-index repack' failed"
-msgstr ""
-
-#: builtin/gc.c:1174
-msgid ""
-"skipping incremental-repack task because core.multiPackIndex is disabled"
-msgstr ""
-
-#: builtin/gc.c:1278
-#, c-format
-msgid "lock file '%s' exists, skipping maintenance"
-msgstr ""
-
-#: builtin/gc.c:1308
-#, c-format
-msgid "task '%s' failed"
-msgstr ""
-
-#: builtin/gc.c:1390
-#, c-format
-msgid "'%s' is not a valid task"
-msgstr ""
-
-#: builtin/gc.c:1395
-#, c-format
-msgid "task '%s' cannot be selected multiple times"
-msgstr ""
-
-#: builtin/gc.c:1410
-msgid "run tasks based on the state of the repository"
-msgstr ""
-
-#: builtin/gc.c:1411
-msgid "frequency"
-msgstr ""
-
-#: builtin/gc.c:1412
-msgid "run tasks based on frequency"
-msgstr ""
-
-#: builtin/gc.c:1415
-msgid "do not report progress or other information over stderr"
-msgstr ""
-
-#: builtin/gc.c:1416
-msgid "task"
-msgstr ""
-
-#: builtin/gc.c:1417
-msgid "run a specific task"
-msgstr ""
-
-#: builtin/gc.c:1434
-msgid "use at most one of --auto and --schedule=<frequency>"
-msgstr ""
-
-#: builtin/gc.c:1477
-msgid "failed to run 'git config'"
-msgstr ""
-
-#: builtin/gc.c:1629
-#, c-format
-msgid "failed to expand path '%s'"
-msgstr ""
-
-#: builtin/gc.c:1656 builtin/gc.c:1694
-msgid "failed to start launchctl"
-msgstr ""
-
-#: builtin/gc.c:1769 builtin/gc.c:2237
-#, c-format
-msgid "failed to create directories for '%s'"
-msgstr ""
-
-#: builtin/gc.c:1796
-#, c-format
-msgid "failed to bootstrap service %s"
-msgstr ""
-
-#: builtin/gc.c:1889
-msgid "failed to create temp xml file"
-msgstr ""
-
-#: builtin/gc.c:1979
-msgid "failed to start schtasks"
-msgstr ""
-
-#: builtin/gc.c:2063
-msgid "failed to run 'crontab -l'; your system might not support 'cron'"
-msgstr ""
-
-#: builtin/gc.c:2080
-msgid "failed to run 'crontab'; your system might not support 'cron'"
-msgstr ""
-
-#: builtin/gc.c:2084
-msgid "failed to open stdin of 'crontab'"
-msgstr ""
-
-#: builtin/gc.c:2126
-msgid "'crontab' died"
-msgstr ""
-
-#: builtin/gc.c:2191
-msgid "failed to start systemctl"
-msgstr ""
-
-#: builtin/gc.c:2201
-msgid "failed to run systemctl"
-msgstr ""
-
-#: builtin/gc.c:2210 builtin/gc.c:2215 builtin/worktree.c:63
-#: builtin/worktree.c:1024
-#, c-format
-msgid "failed to delete '%s'"
-msgstr ""
-
-#: builtin/gc.c:2395
-#, c-format
-msgid "unrecognized --scheduler argument '%s'"
-msgstr ""
-
-#: builtin/gc.c:2420
-msgid "neither systemd timers nor crontab are available"
-msgstr ""
-
-#: builtin/gc.c:2435
-#, c-format
-msgid "%s scheduler is not available"
-msgstr ""
-
-#: builtin/gc.c:2449
-msgid "another process is scheduling background maintenance"
-msgstr ""
-
-#: builtin/gc.c:2471
-msgid "git maintenance start [--scheduler=<scheduler>]"
-msgstr ""
-
-#: builtin/gc.c:2480
-msgid "scheduler"
-msgstr ""
-
-#: builtin/gc.c:2481
-msgid "scheduler to trigger git maintenance run"
-msgstr ""
-
-#: builtin/gc.c:2495
-msgid "failed to add repo to global config"
-msgstr ""
-
-#: builtin/gc.c:2504
-msgid "git maintenance <subcommand> [<options>]"
-msgstr ""
-
-#: builtin/gc.c:2523
-#, c-format
-msgid "invalid subcommand: %s"
-msgstr ""
-
-#: builtin/grep.c:32
-msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
-msgstr ""
-
-#: builtin/grep.c:241
-#, c-format
-msgid "grep: failed to create thread: %s"
-msgstr ""
-
-#: builtin/grep.c:295
-#, c-format
-msgid "invalid number of threads specified (%d) for %s"
-msgstr ""
-
-#. TRANSLATORS: %s is the configuration
-#. variable for tweaking threads, currently
-#. grep.threads
-#.
-#: builtin/grep.c:303 builtin/index-pack.c:1587 builtin/index-pack.c:1791
-#: builtin/pack-objects.c:3150
-#, c-format
-msgid "no threads support, ignoring %s"
-msgstr ""
-
-#: builtin/grep.c:490 builtin/grep.c:619 builtin/grep.c:659
-#, c-format
-msgid "unable to read tree (%s)"
-msgstr ""
-
-#: builtin/grep.c:674
-#, c-format
-msgid "unable to grep from object of type %s"
-msgstr ""
-
-#: builtin/grep.c:754
-#, c-format
-msgid "switch `%c' expects a numerical value"
-msgstr ""
-
-#: builtin/grep.c:852
-msgid "search in index instead of in the work tree"
-msgstr ""
-
-#: builtin/grep.c:854
-msgid "find in contents not managed by git"
-msgstr ""
-
-#: builtin/grep.c:856
-msgid "search in both tracked and untracked files"
-msgstr ""
-
-#: builtin/grep.c:858
-msgid "ignore files specified via '.gitignore'"
-msgstr ""
-
-#: builtin/grep.c:860
-msgid "recursively search in each submodule"
-msgstr ""
-
-#: builtin/grep.c:863
-msgid "show non-matching lines"
-msgstr ""
-
-#: builtin/grep.c:865
-msgid "case insensitive matching"
-msgstr ""
-
-#: builtin/grep.c:867
-msgid "match patterns only at word boundaries"
-msgstr ""
-
-#: builtin/grep.c:869
-msgid "process binary files as text"
-msgstr ""
-
-#: builtin/grep.c:871
-msgid "don't match patterns in binary files"
-msgstr ""
-
-#: builtin/grep.c:874
-msgid "process binary files with textconv filters"
-msgstr ""
-
-#: builtin/grep.c:876
-msgid "search in subdirectories (default)"
-msgstr ""
-
-#: builtin/grep.c:878
-msgid "descend at most <depth> levels"
-msgstr ""
-
-#: builtin/grep.c:882
-msgid "use extended POSIX regular expressions"
-msgstr ""
-
-#: builtin/grep.c:885
-msgid "use basic POSIX regular expressions (default)"
-msgstr ""
-
-#: builtin/grep.c:888
-msgid "interpret patterns as fixed strings"
-msgstr ""
-
-#: builtin/grep.c:891
-msgid "use Perl-compatible regular expressions"
-msgstr ""
-
-#: builtin/grep.c:894
-msgid "show line numbers"
-msgstr ""
-
-#: builtin/grep.c:895
-msgid "show column number of first match"
-msgstr ""
-
-#: builtin/grep.c:896
-msgid "don't show filenames"
-msgstr ""
-
-#: builtin/grep.c:897
-msgid "show filenames"
-msgstr ""
-
-#: builtin/grep.c:899
-msgid "show filenames relative to top directory"
-msgstr ""
-
-#: builtin/grep.c:901
-msgid "show only filenames instead of matching lines"
-msgstr ""
-
-#: builtin/grep.c:903
-msgid "synonym for --files-with-matches"
-msgstr ""
-
-#: builtin/grep.c:906
-msgid "show only the names of files without match"
-msgstr ""
-
-#: builtin/grep.c:908
-msgid "print NUL after filenames"
-msgstr ""
-
-#: builtin/grep.c:911
-msgid "show only matching parts of a line"
-msgstr ""
-
-#: builtin/grep.c:913
-msgid "show the number of matches instead of matching lines"
-msgstr ""
-
-#: builtin/grep.c:914
-msgid "highlight matches"
-msgstr ""
-
-#: builtin/grep.c:916
-msgid "print empty line between matches from different files"
-msgstr ""
-
-#: builtin/grep.c:918
-msgid "show filename only once above matches from same file"
-msgstr ""
-
-#: builtin/grep.c:921
-msgid "show <n> context lines before and after matches"
-msgstr ""
-
-#: builtin/grep.c:924
-msgid "show <n> context lines before matches"
-msgstr ""
-
-#: builtin/grep.c:926
-msgid "show <n> context lines after matches"
-msgstr ""
-
-#: builtin/grep.c:928
-msgid "use <n> worker threads"
-msgstr ""
-
-#: builtin/grep.c:929
-msgid "shortcut for -C NUM"
-msgstr ""
-
-#: builtin/grep.c:932
-msgid "show a line with the function name before matches"
-msgstr ""
-
-#: builtin/grep.c:934
-msgid "show the surrounding function"
-msgstr ""
-
-#: builtin/grep.c:937
-msgid "read patterns from file"
-msgstr ""
-
-#: builtin/grep.c:939
-msgid "match <pattern>"
-msgstr ""
-
-#: builtin/grep.c:941
-msgid "combine patterns specified with -e"
-msgstr ""
-
-#: builtin/grep.c:953
-msgid "indicate hit with exit status without output"
-msgstr ""
-
-#: builtin/grep.c:955
-msgid "show only matches from files that match all patterns"
-msgstr ""
-
-#: builtin/grep.c:958
-msgid "pager"
-msgstr ""
-
-#: builtin/grep.c:958
-msgid "show matching files in the pager"
-msgstr ""
-
-#: builtin/grep.c:962
-msgid "allow calling of grep(1) (ignored by this build)"
-msgstr ""
-
-#: builtin/grep.c:1028
-msgid "no pattern given"
-msgstr ""
-
-#: builtin/grep.c:1064
-msgid "--no-index or --untracked cannot be used with revs"
-msgstr ""
-
-#: builtin/grep.c:1072
-#, c-format
-msgid "unable to resolve revision: %s"
-msgstr ""
-
-#: builtin/grep.c:1102
-msgid "--untracked not supported with --recurse-submodules"
-msgstr ""
-
-#: builtin/grep.c:1106
-msgid "invalid option combination, ignoring --threads"
-msgstr ""
-
-#: builtin/grep.c:1109 builtin/pack-objects.c:4084
-msgid "no threads support, ignoring --threads"
-msgstr ""
-
-#: builtin/grep.c:1112 builtin/index-pack.c:1584 builtin/pack-objects.c:3147
-#, c-format
-msgid "invalid number of threads specified (%d)"
-msgstr ""
-
-#: builtin/grep.c:1146
-msgid "--open-files-in-pager only works on the worktree"
-msgstr ""
-
-#: builtin/grep.c:1179
-msgid "--[no-]exclude-standard cannot be used for tracked contents"
-msgstr ""
-
-#: builtin/grep.c:1187
-msgid "both --cached and trees are given"
-msgstr ""
-
-#: builtin/hash-object.c:83
-msgid ""
-"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
-"[--] <file>..."
-msgstr ""
-
-#: builtin/hash-object.c:97
-msgid "object type"
-msgstr ""
-
-#: builtin/hash-object.c:98
-msgid "write the object into the object database"
-msgstr ""
-
-#: builtin/hash-object.c:100
-msgid "read the object from stdin"
-msgstr ""
-
-#: builtin/hash-object.c:102
-msgid "store file as is without filters"
-msgstr ""
-
-#: builtin/hash-object.c:103
-msgid ""
-"just hash any random garbage to create corrupt objects for debugging Git"
-msgstr ""
-
-#: builtin/hash-object.c:104
-msgid "process file as it were from this path"
-msgstr ""
-
-#: builtin/help.c:57
-msgid "print all available commands"
-msgstr ""
-
-#: builtin/help.c:60
-msgid "show external commands in --all"
-msgstr ""
-
-#: builtin/help.c:61
-msgid "show aliases in --all"
-msgstr ""
-
-#: builtin/help.c:62
-msgid "exclude guides"
-msgstr ""
-
-#: builtin/help.c:63
-msgid "show man page"
-msgstr ""
-
-#: builtin/help.c:64
-msgid "show manual in web browser"
-msgstr ""
-
-#: builtin/help.c:66
-msgid "show info page"
-msgstr ""
-
-#: builtin/help.c:68
-msgid "print command description"
-msgstr ""
-
-#: builtin/help.c:70
-msgid "print list of useful guides"
-msgstr ""
-
-#: builtin/help.c:72
-msgid "print all configuration variable names"
-msgstr ""
-
-#: builtin/help.c:84
-msgid "git help [[-i|--info] [-m|--man] [-w|--web]] [<command>]"
-msgstr ""
-
-#: builtin/help.c:201
-#, c-format
-msgid "unrecognized help format '%s'"
-msgstr ""
-
-#: builtin/help.c:227
-msgid "Failed to start emacsclient."
-msgstr ""
-
-#: builtin/help.c:240
-msgid "Failed to parse emacsclient version."
-msgstr ""
-
-#: builtin/help.c:248
-#, c-format
-msgid "emacsclient version '%d' too old (< 22)."
-msgstr ""
-
-#: builtin/help.c:266 builtin/help.c:288 builtin/help.c:298 builtin/help.c:306
-#, c-format
-msgid "failed to exec '%s'"
-msgstr ""
-
-#: builtin/help.c:344
-#, c-format
-msgid ""
-"'%s': path for unsupported man viewer.\n"
-"Please consider using 'man.<tool>.cmd' instead."
-msgstr ""
-
-#: builtin/help.c:356
-#, c-format
-msgid ""
-"'%s': cmd for supported man viewer.\n"
-"Please consider using 'man.<tool>.path' instead."
-msgstr ""
-
-#: builtin/help.c:471
-#, c-format
-msgid "'%s': unknown man viewer."
-msgstr ""
-
-#: builtin/help.c:487
-msgid "no man viewer handled the request"
-msgstr ""
-
-#: builtin/help.c:494
-msgid "no info viewer handled the request"
-msgstr ""
-
-#: builtin/help.c:555 builtin/help.c:566 git.c:348
-#, c-format
-msgid "'%s' is aliased to '%s'"
-msgstr ""
-
-#: builtin/help.c:569 git.c:380
-#, c-format
-msgid "bad alias.%s string: %s"
-msgstr ""
-
-#: builtin/help.c:611
-#, c-format
-msgid "the '%s' option doesn't take any non-option arguments"
-msgstr ""
-
-#: builtin/help.c:631
-msgid ""
-"the '--no-[external-commands|aliases]' options can only be used with '--all'"
-msgstr ""
-
-#: builtin/help.c:643 builtin/help.c:671
-#, c-format
-msgid "usage: %s%s"
-msgstr ""
-
-#: builtin/help.c:666
-msgid "'git help config' for more information"
-msgstr ""
-
-#: builtin/hook.c:10
-msgid "git hook run [--ignore-missing] <hook-name> [-- <hook-args>]"
-msgstr ""
-
-#: builtin/hook.c:30
-msgid "silently ignore missing requested <hook-name>"
-msgstr ""
-
-#: builtin/index-pack.c:221
-#, c-format
-msgid "object type mismatch at %s"
-msgstr ""
-
-#: builtin/index-pack.c:241
-#, c-format
-msgid "did not receive expected object %s"
-msgstr ""
-
-#: builtin/index-pack.c:244
-#, c-format
-msgid "object %s: expected type %s, found %s"
-msgstr ""
-
-#: builtin/index-pack.c:294
-#, c-format
-msgid "cannot fill %d byte"
-msgid_plural "cannot fill %d bytes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:304
-msgid "early EOF"
-msgstr ""
-
-#: builtin/index-pack.c:305
-msgid "read error on input"
-msgstr ""
-
-#: builtin/index-pack.c:317
-msgid "used more bytes than were available"
-msgstr ""
-
-#: builtin/index-pack.c:324 builtin/pack-objects.c:754
-msgid "pack too large for current definition of off_t"
-msgstr ""
-
-#: builtin/index-pack.c:329
-#, c-format
-msgid "pack exceeds maximum allowed size (%s)"
-msgstr ""
-
-#: builtin/index-pack.c:362
-msgid "pack signature mismatch"
-msgstr ""
-
-#: builtin/index-pack.c:364
-#, c-format
-msgid "pack version %<PRIu32> unsupported"
-msgstr ""
-
-#: builtin/index-pack.c:380
-#, c-format
-msgid "pack has bad object at offset %<PRIuMAX>: %s"
-msgstr ""
-
-#: builtin/index-pack.c:485
-#, c-format
-msgid "inflate returned %d"
-msgstr ""
-
-#: builtin/index-pack.c:534
-msgid "offset value overflow for delta base object"
-msgstr ""
-
-#: builtin/index-pack.c:542
-msgid "delta base offset is out of bound"
-msgstr ""
-
-#: builtin/index-pack.c:550
-#, c-format
-msgid "unknown object type %d"
-msgstr ""
-
-#: builtin/index-pack.c:581
-msgid "cannot pread pack file"
-msgstr ""
-
-#: builtin/index-pack.c:583
-#, c-format
-msgid "premature end of pack file, %<PRIuMAX> byte missing"
-msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:609
-msgid "serious inflate inconsistency"
-msgstr ""
-
-#: builtin/index-pack.c:754 builtin/index-pack.c:760 builtin/index-pack.c:784
-#: builtin/index-pack.c:823 builtin/index-pack.c:832
-#, c-format
-msgid "SHA1 COLLISION FOUND WITH %s !"
-msgstr ""
-
-#: builtin/index-pack.c:757 builtin/pack-objects.c:290
-#: builtin/pack-objects.c:350 builtin/pack-objects.c:456
-#, c-format
-msgid "unable to read %s"
-msgstr ""
-
-#: builtin/index-pack.c:821
-#, c-format
-msgid "cannot read existing object info %s"
-msgstr ""
-
-#: builtin/index-pack.c:829
-#, c-format
-msgid "cannot read existing object %s"
-msgstr ""
-
-#: builtin/index-pack.c:843
-#, c-format
-msgid "invalid blob object %s"
-msgstr ""
-
-#: builtin/index-pack.c:846 builtin/index-pack.c:865
-msgid "fsck error in packed object"
-msgstr ""
-
-#: builtin/index-pack.c:867
-#, c-format
-msgid "Not all child objects of %s are reachable"
-msgstr ""
-
-#: builtin/index-pack.c:928 builtin/index-pack.c:975
-msgid "failed to apply delta"
-msgstr ""
-
-#: builtin/index-pack.c:1161
-msgid "Receiving objects"
-msgstr ""
-
-#: builtin/index-pack.c:1161
-msgid "Indexing objects"
-msgstr ""
-
-#: builtin/index-pack.c:1195
-msgid "pack is corrupted (SHA1 mismatch)"
-msgstr ""
-
-#: builtin/index-pack.c:1200
-msgid "cannot fstat packfile"
-msgstr ""
-
-#: builtin/index-pack.c:1203
-msgid "pack has junk at the end"
-msgstr ""
-
-#: builtin/index-pack.c:1215
-msgid "confusion beyond insanity in parse_pack_objects()"
-msgstr ""
-
-#: builtin/index-pack.c:1238
-msgid "Resolving deltas"
-msgstr ""
-
-#: builtin/index-pack.c:1249 builtin/pack-objects.c:2913
-#, c-format
-msgid "unable to create thread: %s"
-msgstr ""
-
-#: builtin/index-pack.c:1282
-msgid "confusion beyond insanity"
-msgstr ""
-
-#: builtin/index-pack.c:1288
-#, c-format
-msgid "completed with %d local object"
-msgid_plural "completed with %d local objects"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:1300
-#, c-format
-msgid "Unexpected tail checksum for %s (disk corruption?)"
-msgstr ""
-
-#: builtin/index-pack.c:1304
-#, c-format
-msgid "pack has %d unresolved delta"
-msgid_plural "pack has %d unresolved deltas"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:1328
-#, c-format
-msgid "unable to deflate appended object (%d)"
-msgstr ""
-
-#: builtin/index-pack.c:1423
-#, c-format
-msgid "local object %s is corrupt"
-msgstr ""
-
-#: builtin/index-pack.c:1445
-#, c-format
-msgid "packfile name '%s' does not end with '.%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1469
-#, c-format
-msgid "cannot write %s file '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1477
-#, c-format
-msgid "cannot close written %s file '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1494
-#, c-format
-msgid "unable to rename temporary '*.%s' file to '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1519
-msgid "error while closing pack file"
-msgstr ""
-
-#: builtin/index-pack.c:1578 builtin/pack-objects.c:3158
-#, c-format
-msgid "bad pack.indexversion=%<PRIu32>"
-msgstr ""
-
-#: builtin/index-pack.c:1648
-#, c-format
-msgid "Cannot open existing pack file '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1650
-#, c-format
-msgid "Cannot open existing pack idx file for '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1698
-#, c-format
-msgid "non delta: %d object"
-msgid_plural "non delta: %d objects"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:1705
-#, c-format
-msgid "chain length = %d: %lu object"
-msgid_plural "chain length = %d: %lu objects"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:1748
-msgid "Cannot come back to cwd"
-msgstr ""
-
-#: builtin/index-pack.c:1802 builtin/index-pack.c:1805
-#: builtin/index-pack.c:1825 builtin/index-pack.c:1829
-#, c-format
-msgid "bad %s"
-msgstr ""
-
-#: builtin/index-pack.c:1835 builtin/init-db.c:379 builtin/init-db.c:614
-#, c-format
-msgid "unknown hash algorithm '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1856
-msgid "--stdin requires a git repository"
-msgstr ""
-
-#: builtin/index-pack.c:1873
-msgid "--verify with no packfile name given"
-msgstr ""
-
-#: builtin/index-pack.c:1939 builtin/unpack-objects.c:584
-msgid "fsck error in pack objects"
-msgstr ""
-
-#: builtin/init-db.c:63
-#, c-format
-msgid "cannot stat template '%s'"
-msgstr ""
-
-#: builtin/init-db.c:68
-#, c-format
-msgid "cannot opendir '%s'"
-msgstr ""
-
-#: builtin/init-db.c:80
-#, c-format
-msgid "cannot readlink '%s'"
-msgstr ""
-
-#: builtin/init-db.c:82
-#, c-format
-msgid "cannot symlink '%s' '%s'"
-msgstr ""
-
-#: builtin/init-db.c:88
-#, c-format
-msgid "cannot copy '%s' to '%s'"
-msgstr ""
-
-#: builtin/init-db.c:92
-#, c-format
-msgid "ignoring template %s"
-msgstr ""
-
-#: builtin/init-db.c:123
-#, c-format
-msgid "templates not found in %s"
-msgstr ""
-
-#: builtin/init-db.c:138
-#, c-format
-msgid "not copying templates from '%s': %s"
-msgstr ""
-
-#: builtin/init-db.c:263
-#, c-format
-msgid "invalid initial branch name: '%s'"
-msgstr ""
-
-#: builtin/init-db.c:354
-#, c-format
-msgid "unable to handle file type %d"
-msgstr ""
-
-#: builtin/init-db.c:357
-#, c-format
-msgid "unable to move %s to %s"
-msgstr ""
-
-#: builtin/init-db.c:373
-msgid "attempt to reinitialize repository with different hash"
-msgstr ""
-
-#: builtin/init-db.c:397 builtin/init-db.c:400
-#, c-format
-msgid "%s already exists"
-msgstr ""
-
-#: builtin/init-db.c:432
-#, c-format
-msgid "re-init: ignored --initial-branch=%s"
-msgstr ""
-
-#: builtin/init-db.c:463
-#, c-format
-msgid "Reinitialized existing shared Git repository in %s%s\n"
-msgstr ""
-
-#: builtin/init-db.c:464
-#, c-format
-msgid "Reinitialized existing Git repository in %s%s\n"
-msgstr ""
-
-#: builtin/init-db.c:468
-#, c-format
-msgid "Initialized empty shared Git repository in %s%s\n"
-msgstr ""
-
-#: builtin/init-db.c:469
-#, c-format
-msgid "Initialized empty Git repository in %s%s\n"
-msgstr ""
-
-#: builtin/init-db.c:518
-msgid ""
-"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
-"shared[=<permissions>]] [<directory>]"
-msgstr ""
-
-#: builtin/init-db.c:544
-msgid "permissions"
-msgstr ""
-
-#: builtin/init-db.c:545
-msgid "specify that the git repository is to be shared amongst several users"
-msgstr ""
-
-#: builtin/init-db.c:551
-msgid "override the name of the initial branch"
-msgstr ""
-
-#: builtin/init-db.c:552 builtin/verify-pack.c:74
-msgid "hash"
-msgstr ""
-
-#: builtin/init-db.c:553 builtin/show-index.c:22 builtin/verify-pack.c:75
-msgid "specify the hash algorithm to use"
-msgstr ""
-
-#: builtin/init-db.c:591 builtin/init-db.c:596
-#, c-format
-msgid "cannot mkdir %s"
-msgstr ""
-
-#: builtin/init-db.c:600 builtin/init-db.c:655
-#, c-format
-msgid "cannot chdir to %s"
-msgstr ""
-
-#: builtin/init-db.c:627
-#, c-format
-msgid ""
-"%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
-"dir=<directory>)"
-msgstr ""
-
-#: builtin/init-db.c:679
-#, c-format
-msgid "Cannot access work tree '%s'"
-msgstr ""
-
-#: builtin/init-db.c:684
-msgid "--separate-git-dir incompatible with bare repository"
-msgstr ""
-
-#: builtin/interpret-trailers.c:16
-msgid ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<token>[(=|:)<value>])...] [<file>...]"
-msgstr ""
-
-#: builtin/interpret-trailers.c:95
-msgid "edit files in place"
-msgstr ""
-
-#: builtin/interpret-trailers.c:96
-msgid "trim empty trailers"
-msgstr ""
-
-#: builtin/interpret-trailers.c:99
-msgid "where to place the new trailer"
-msgstr ""
-
-#: builtin/interpret-trailers.c:101
-msgid "action if trailer already exists"
-msgstr ""
-
-#: builtin/interpret-trailers.c:103
-msgid "action if trailer is missing"
-msgstr ""
-
-#: builtin/interpret-trailers.c:105
-msgid "output only the trailers"
-msgstr ""
-
-#: builtin/interpret-trailers.c:106
-msgid "do not apply config rules"
-msgstr ""
-
-#: builtin/interpret-trailers.c:107
-msgid "join whitespace-continued values"
-msgstr ""
-
-#: builtin/interpret-trailers.c:108
-msgid "set parsing options"
-msgstr ""
-
-#: builtin/interpret-trailers.c:110
-msgid "do not treat --- specially"
-msgstr ""
-
-#: builtin/interpret-trailers.c:112
-msgid "trailer(s) to add"
-msgstr ""
-
-#: builtin/interpret-trailers.c:123
-msgid "--trailer with --only-input does not make sense"
-msgstr ""
-
-#: builtin/interpret-trailers.c:133
-msgid "no input file given for in-place editing"
-msgstr ""
-
-#: builtin/log.c:60
-msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
-msgstr ""
-
-#: builtin/log.c:61
-msgid "git show [<options>] <object>..."
-msgstr ""
-
-#: builtin/log.c:114
-#, c-format
-msgid "invalid --decorate option: %s"
-msgstr ""
-
-#: builtin/log.c:181
-msgid "show source"
-msgstr ""
-
-#: builtin/log.c:182
-msgid "use mail map file"
-msgstr ""
-
-#: builtin/log.c:185
-msgid "only decorate refs that match <pattern>"
-msgstr ""
-
-#: builtin/log.c:187
-msgid "do not decorate refs that match <pattern>"
-msgstr ""
-
-#: builtin/log.c:188
-msgid "decorate options"
-msgstr ""
-
-#: builtin/log.c:191
-msgid ""
-"trace the evolution of line range <start>,<end> or function :<funcname> in "
-"<file>"
-msgstr ""
-
-#: builtin/log.c:214
-msgid "-L<range>:<file> cannot be used with pathspec"
-msgstr ""
-
-#: builtin/log.c:322
-#, c-format
-msgid "Final output: %d %s\n"
-msgstr ""
-
-#: builtin/log.c:429
-msgid "unable to create temporary object directory"
-msgstr ""
-
-#: builtin/log.c:599
-#, c-format
-msgid "git show %s: bad file"
-msgstr ""
-
-#: builtin/log.c:614 builtin/log.c:706
-#, c-format
-msgid "could not read object %s"
-msgstr ""
-
-#: builtin/log.c:731
-#, c-format
-msgid "unknown type: %d"
-msgstr ""
-
-#: builtin/log.c:880
-#, c-format
-msgid "%s: invalid cover from description mode"
-msgstr ""
-
-#: builtin/log.c:887
-msgid "format.headers without value"
-msgstr ""
-
-#: builtin/log.c:1016
-#, c-format
-msgid "cannot open patch file %s"
-msgstr ""
-
-#: builtin/log.c:1033
-msgid "need exactly one range"
-msgstr ""
-
-#: builtin/log.c:1043
-msgid "not a range"
-msgstr ""
-
-#: builtin/log.c:1207
-msgid "cover letter needs email format"
-msgstr ""
-
-#: builtin/log.c:1213
-msgid "failed to create cover-letter file"
-msgstr ""
-
-#: builtin/log.c:1300
-#, c-format
-msgid "insane in-reply-to: %s"
-msgstr ""
-
-#: builtin/log.c:1327
-msgid "git format-patch [<options>] [<since> | <revision-range>]"
-msgstr ""
-
-#: builtin/log.c:1385
-msgid "two output directories?"
-msgstr ""
-
-#: builtin/log.c:1536 builtin/log.c:2369 builtin/log.c:2371 builtin/log.c:2383
-#, c-format
-msgid "unknown commit %s"
-msgstr ""
-
-#: builtin/log.c:1547 builtin/replace.c:58 builtin/replace.c:207
-#: builtin/replace.c:210
-#, c-format
-msgid "failed to resolve '%s' as a valid ref"
-msgstr ""
-
-#: builtin/log.c:1556
-msgid "could not find exact merge base"
-msgstr ""
-
-#: builtin/log.c:1566
-msgid ""
-"failed to get upstream, if you want to record base commit automatically,\n"
-"please use git branch --set-upstream-to to track a remote branch.\n"
-"Or you could specify base commit by --base=<base-commit-id> manually"
-msgstr ""
-
-#: builtin/log.c:1589
-msgid "failed to find exact merge base"
-msgstr ""
-
-#: builtin/log.c:1606
-msgid "base commit should be the ancestor of revision list"
-msgstr ""
-
-#: builtin/log.c:1616
-msgid "base commit shouldn't be in revision list"
-msgstr ""
-
-#: builtin/log.c:1674
-msgid "cannot get patch id"
-msgstr ""
-
-#: builtin/log.c:1737
-msgid "failed to infer range-diff origin of current series"
-msgstr ""
-
-#: builtin/log.c:1739
-#, c-format
-msgid "using '%s' as range-diff origin of current series"
-msgstr ""
-
-#: builtin/log.c:1783
-msgid "use [PATCH n/m] even with a single patch"
-msgstr ""
-
-#: builtin/log.c:1786
-msgid "use [PATCH] even with multiple patches"
-msgstr ""
-
-#: builtin/log.c:1790
-msgid "print patches to standard out"
-msgstr ""
-
-#: builtin/log.c:1792
-msgid "generate a cover letter"
-msgstr ""
-
-#: builtin/log.c:1794
-msgid "use simple number sequence for output file names"
-msgstr ""
-
-#: builtin/log.c:1795
-msgid "sfx"
-msgstr ""
-
-#: builtin/log.c:1796
-msgid "use <sfx> instead of '.patch'"
-msgstr ""
-
-#: builtin/log.c:1798
-msgid "start numbering patches at <n> instead of 1"
-msgstr ""
-
-#: builtin/log.c:1799
-msgid "reroll-count"
-msgstr ""
-
-#: builtin/log.c:1800
-msgid "mark the series as Nth re-roll"
-msgstr ""
-
-#: builtin/log.c:1802
-msgid "max length of output filename"
-msgstr ""
-
-#: builtin/log.c:1804
-msgid "use [RFC PATCH] instead of [PATCH]"
-msgstr ""
-
-#: builtin/log.c:1807
-msgid "cover-from-description-mode"
-msgstr ""
-
-#: builtin/log.c:1808
-msgid "generate parts of a cover letter based on a branch's description"
-msgstr ""
-
-#: builtin/log.c:1810
-msgid "use [<prefix>] instead of [PATCH]"
-msgstr ""
-
-#: builtin/log.c:1813
-msgid "store resulting files in <dir>"
-msgstr ""
-
-#: builtin/log.c:1816
-msgid "don't strip/add [PATCH]"
-msgstr ""
-
-#: builtin/log.c:1819
-msgid "don't output binary diffs"
-msgstr ""
-
-#: builtin/log.c:1821
-msgid "output all-zero hash in From header"
-msgstr ""
-
-#: builtin/log.c:1823
-msgid "don't include a patch matching a commit upstream"
-msgstr ""
-
-#: builtin/log.c:1825
-msgid "show patch format instead of default (patch + stat)"
-msgstr ""
-
-#: builtin/log.c:1827
-msgid "Messaging"
-msgstr ""
-
-#: builtin/log.c:1828
-msgid "header"
-msgstr ""
-
-#: builtin/log.c:1829
-msgid "add email header"
-msgstr ""
-
-#: builtin/log.c:1830 builtin/log.c:1831
-msgid "email"
-msgstr ""
-
-#: builtin/log.c:1830
-msgid "add To: header"
-msgstr ""
-
-#: builtin/log.c:1831
-msgid "add Cc: header"
-msgstr ""
-
-#: builtin/log.c:1832
-msgid "ident"
-msgstr ""
-
-#: builtin/log.c:1833
-msgid "set From address to <ident> (or committer ident if absent)"
-msgstr ""
-
-#: builtin/log.c:1835
-msgid "message-id"
-msgstr ""
-
-#: builtin/log.c:1836
-msgid "make first mail a reply to <message-id>"
-msgstr ""
-
-#: builtin/log.c:1837 builtin/log.c:1840
-msgid "boundary"
-msgstr ""
-
-#: builtin/log.c:1838
-msgid "attach the patch"
-msgstr ""
-
-#: builtin/log.c:1841
-msgid "inline the patch"
-msgstr ""
-
-#: builtin/log.c:1845
-msgid "enable message threading, styles: shallow, deep"
-msgstr ""
-
-#: builtin/log.c:1847
-msgid "signature"
-msgstr ""
-
-#: builtin/log.c:1848
-msgid "add a signature"
-msgstr ""
-
-#: builtin/log.c:1849
-msgid "base-commit"
-msgstr ""
-
-#: builtin/log.c:1850
-msgid "add prerequisite tree info to the patch series"
-msgstr ""
-
-#: builtin/log.c:1853
-msgid "add a signature from a file"
-msgstr ""
-
-#: builtin/log.c:1854
-msgid "don't print the patch filenames"
-msgstr ""
-
-#: builtin/log.c:1856
-msgid "show progress while generating patches"
-msgstr ""
-
-#: builtin/log.c:1858
-msgid "show changes against <rev> in cover letter or single patch"
-msgstr ""
-
-#: builtin/log.c:1861
-msgid "show changes against <refspec> in cover letter or single patch"
-msgstr ""
-
-#: builtin/log.c:1863 builtin/range-diff.c:28
-msgid "percentage by which creation is weighted"
-msgstr ""
-
-#: builtin/log.c:1953
-#, c-format
-msgid "invalid ident line: %s"
-msgstr ""
-
-#: builtin/log.c:1978
-msgid "--name-only does not make sense"
-msgstr ""
-
-#: builtin/log.c:1980
-msgid "--name-status does not make sense"
-msgstr ""
-
-#: builtin/log.c:1982
-msgid "--check does not make sense"
-msgstr ""
-
-#: builtin/log.c:1984
-msgid "--remerge-diff does not make sense"
-msgstr ""
-
-#: builtin/log.c:2129
-msgid "--interdiff requires --cover-letter or single patch"
-msgstr ""
-
-#: builtin/log.c:2133
-msgid "Interdiff:"
-msgstr ""
-
-#: builtin/log.c:2134
-#, c-format
-msgid "Interdiff against v%d:"
-msgstr ""
-
-#: builtin/log.c:2144
-msgid "--range-diff requires --cover-letter or single patch"
-msgstr ""
-
-#: builtin/log.c:2152
-msgid "Range-diff:"
-msgstr ""
-
-#: builtin/log.c:2153
-#, c-format
-msgid "Range-diff against v%d:"
-msgstr ""
-
-#: builtin/log.c:2164
-#, c-format
-msgid "unable to read signature file '%s'"
-msgstr ""
-
-#: builtin/log.c:2200
-msgid "Generating patches"
-msgstr ""
-
-#: builtin/log.c:2244
-msgid "failed to create output files"
-msgstr ""
-
-#: builtin/log.c:2304
-msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
-msgstr ""
-
-#: builtin/log.c:2358
-#, c-format
-msgid ""
-"Could not find a tracked remote branch, please specify <upstream> manually.\n"
-msgstr ""
-
-#: builtin/ls-files.c:564
-msgid "git ls-files [<options>] [<file>...]"
-msgstr ""
-
-#: builtin/ls-files.c:618
-msgid "separate paths with the NUL character"
-msgstr ""
-
-#: builtin/ls-files.c:620
-msgid "identify the file status with tags"
-msgstr ""
-
-#: builtin/ls-files.c:622
-msgid "use lowercase letters for 'assume unchanged' files"
-msgstr ""
-
-#: builtin/ls-files.c:624
-msgid "use lowercase letters for 'fsmonitor clean' files"
-msgstr ""
-
-#: builtin/ls-files.c:626
-msgid "show cached files in the output (default)"
-msgstr ""
-
-#: builtin/ls-files.c:628
-msgid "show deleted files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:630
-msgid "show modified files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:632
-msgid "show other files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:634
-msgid "show ignored files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:637
-msgid "show staged contents' object name in the output"
-msgstr ""
-
-#: builtin/ls-files.c:639
-msgid "show files on the filesystem that need to be removed"
-msgstr ""
-
-#: builtin/ls-files.c:641
-msgid "show 'other' directories' names only"
-msgstr ""
-
-#: builtin/ls-files.c:643
-msgid "show line endings of files"
-msgstr ""
-
-#: builtin/ls-files.c:645
-msgid "don't show empty directories"
-msgstr ""
-
-#: builtin/ls-files.c:648
-msgid "show unmerged files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:650
-msgid "show resolve-undo information"
-msgstr ""
-
-#: builtin/ls-files.c:652
-msgid "skip files matching pattern"
-msgstr ""
-
-#: builtin/ls-files.c:655
-msgid "read exclude patterns from <file>"
-msgstr ""
-
-#: builtin/ls-files.c:658
-msgid "read additional per-directory exclude patterns in <file>"
-msgstr ""
-
-#: builtin/ls-files.c:660
-msgid "add the standard git exclusions"
-msgstr ""
-
-#: builtin/ls-files.c:664
-msgid "make the output relative to the project top directory"
-msgstr ""
-
-#: builtin/ls-files.c:669
-msgid "if any <file> is not in the index, treat this as an error"
-msgstr ""
-
-#: builtin/ls-files.c:670
-msgid "tree-ish"
-msgstr ""
-
-#: builtin/ls-files.c:671
-msgid "pretend that paths removed since <tree-ish> are still present"
-msgstr ""
-
-#: builtin/ls-files.c:673
-msgid "show debugging data"
-msgstr ""
-
-#: builtin/ls-files.c:675
-msgid "suppress duplicate entries"
-msgstr ""
-
-#: builtin/ls-files.c:677
-msgid "show sparse directories in the presence of a sparse index"
-msgstr ""
-
-#: builtin/ls-remote.c:9
-msgid ""
-"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-"              [-q | --quiet] [--exit-code] [--get-url]\n"
-"              [--symref] [<repository> [<refs>...]]"
-msgstr ""
-
-#: builtin/ls-remote.c:60
-msgid "do not print remote URL"
-msgstr ""
-
-#: builtin/ls-remote.c:61 builtin/ls-remote.c:63 builtin/rebase.c:1131
-msgid "exec"
-msgstr ""
-
-#: builtin/ls-remote.c:62 builtin/ls-remote.c:64
-msgid "path of git-upload-pack on the remote host"
-msgstr ""
-
-#: builtin/ls-remote.c:66
-msgid "limit to tags"
-msgstr ""
-
-#: builtin/ls-remote.c:67
-msgid "limit to heads"
-msgstr ""
-
-#: builtin/ls-remote.c:68
-msgid "do not show peeled tags"
-msgstr ""
-
-#: builtin/ls-remote.c:70
-msgid "take url.<base>.insteadOf into account"
-msgstr ""
-
-#: builtin/ls-remote.c:73
-msgid "exit with exit code 2 if no matching refs are found"
-msgstr ""
-
-#: builtin/ls-remote.c:76
-msgid "show underlying ref in addition to the object pointed by it"
-msgstr ""
-
-#: builtin/ls-tree.c:36
-msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
-msgstr ""
-
-#: builtin/ls-tree.c:54
-#, c-format
-msgid "could not get object info about '%s'"
-msgstr ""
-
-#: builtin/ls-tree.c:79
-#, c-format
-msgid "bad ls-tree format: element '%s' does not start with '('"
-msgstr ""
-
-#: builtin/ls-tree.c:83
-#, c-format
-msgid "bad ls-tree format: element '%s' does not end in ')'"
-msgstr ""
-
-#: builtin/ls-tree.c:109
-#, c-format
-msgid "bad ls-tree format: %%%.*s"
-msgstr ""
-
-#: builtin/ls-tree.c:336
-msgid "only show trees"
-msgstr ""
-
-#: builtin/ls-tree.c:338
-msgid "recurse into subtrees"
-msgstr ""
-
-#: builtin/ls-tree.c:340
-msgid "show trees when recursing"
-msgstr ""
-
-#: builtin/ls-tree.c:343
-msgid "terminate entries with NUL byte"
-msgstr ""
-
-#: builtin/ls-tree.c:344
-msgid "include object size"
-msgstr ""
-
-#: builtin/ls-tree.c:346 builtin/ls-tree.c:348
-msgid "list only filenames"
-msgstr ""
-
-#: builtin/ls-tree.c:350
-msgid "list only objects"
-msgstr ""
-
-#: builtin/ls-tree.c:353
-msgid "use full path names"
-msgstr ""
-
-#: builtin/ls-tree.c:355
-msgid "list entire tree; not just current directory (implies --full-name)"
-msgstr ""
-
-#: builtin/ls-tree.c:391
-msgid "--format can't be combined with other format-altering options"
-msgstr ""
-
-#. TRANSLATORS: keep <> in "<" mail ">" info.
-#: builtin/mailinfo.c:14
-msgid "git mailinfo [<options>] <msg> <patch> < mail >info"
-msgstr ""
-
-#: builtin/mailinfo.c:58
-msgid "keep subject"
-msgstr ""
-
-#: builtin/mailinfo.c:60
-msgid "keep non patch brackets in subject"
-msgstr ""
-
-#: builtin/mailinfo.c:62
-msgid "copy Message-ID to the end of commit message"
-msgstr ""
-
-#: builtin/mailinfo.c:64
-msgid "re-code metadata to i18n.commitEncoding"
-msgstr ""
-
-#: builtin/mailinfo.c:67
-msgid "disable charset re-coding of metadata"
-msgstr ""
-
-#: builtin/mailinfo.c:69
-msgid "encoding"
-msgstr ""
-
-#: builtin/mailinfo.c:70
-msgid "re-code metadata to this encoding"
-msgstr ""
-
-#: builtin/mailinfo.c:72
-msgid "use scissors"
-msgstr ""
-
-#: builtin/mailinfo.c:73
-msgid "<action>"
-msgstr ""
-
-#: builtin/mailinfo.c:74
-msgid "action when quoted CR is found"
-msgstr ""
-
-#: builtin/mailinfo.c:77
-msgid "use headers in message's body"
-msgstr ""
-
-#: builtin/mailsplit.c:227
-msgid "reading patches from stdin/tty..."
-msgstr ""
-
-#: builtin/mailsplit.c:242
-#, c-format
-msgid "empty mbox: '%s'"
-msgstr ""
-
-#: builtin/merge-base.c:32
-msgid "git merge-base [-a | --all] <commit> <commit>..."
-msgstr ""
-
-#: builtin/merge-base.c:33
-msgid "git merge-base [-a | --all] --octopus <commit>..."
-msgstr ""
-
-#: builtin/merge-base.c:34
-msgid "git merge-base --independent <commit>..."
-msgstr ""
-
-#: builtin/merge-base.c:35
-msgid "git merge-base --is-ancestor <commit> <commit>"
-msgstr ""
-
-#: builtin/merge-base.c:36
-msgid "git merge-base --fork-point <ref> [<commit>]"
-msgstr ""
-
-#: builtin/merge-base.c:144
-msgid "output all common ancestors"
-msgstr ""
-
-#: builtin/merge-base.c:146
-msgid "find ancestors for a single n-way merge"
-msgstr ""
-
-#: builtin/merge-base.c:148
-msgid "list revs not reachable from others"
-msgstr ""
-
-#: builtin/merge-base.c:150
-msgid "is the first one ancestor of the other?"
-msgstr ""
-
-#: builtin/merge-base.c:152
-msgid "find where <commit> forked from reflog of <ref>"
-msgstr ""
-
-#: builtin/merge-file.c:9
-msgid ""
-"git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> "
-"<orig-file> <file2>"
-msgstr ""
-
-#: builtin/merge-file.c:35
-msgid "send results to standard output"
-msgstr ""
-
-#: builtin/merge-file.c:36
-msgid "use a diff3 based merge"
-msgstr ""
-
-#: builtin/merge-file.c:37
-msgid "use a zealous diff3 based merge"
-msgstr ""
-
-#: builtin/merge-file.c:39
-msgid "for conflicts, use our version"
-msgstr ""
-
-#: builtin/merge-file.c:41
-msgid "for conflicts, use their version"
-msgstr ""
-
-#: builtin/merge-file.c:43
-msgid "for conflicts, use a union version"
-msgstr ""
-
-#: builtin/merge-file.c:46
-msgid "for conflicts, use this marker size"
-msgstr ""
-
-#: builtin/merge-file.c:47
-msgid "do not warn about conflicts"
-msgstr ""
-
-#: builtin/merge-file.c:49
-msgid "set labels for file1/orig-file/file2"
-msgstr ""
-
-#: builtin/merge-recursive.c:47
-#, c-format
-msgid "unknown option %s"
-msgstr ""
-
-#: builtin/merge-recursive.c:53
-#, c-format
-msgid "could not parse object '%s'"
-msgstr ""
-
-#: builtin/merge-recursive.c:57
-#, c-format
-msgid "cannot handle more than %d base. Ignoring %s."
-msgid_plural "cannot handle more than %d bases. Ignoring %s."
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/merge-recursive.c:65
-msgid "not handling anything other than two heads merge."
-msgstr ""
-
-#: builtin/merge-recursive.c:74 builtin/merge-recursive.c:76
-#, c-format
-msgid "could not resolve ref '%s'"
-msgstr ""
-
-#: builtin/merge-recursive.c:82
-#, c-format
-msgid "Merging %s with %s\n"
-msgstr ""
-
-#: builtin/merge.c:59
-msgid "git merge [<options>] [<commit>...]"
-msgstr ""
-
-#: builtin/merge.c:125
-msgid "switch `m' requires a value"
-msgstr ""
-
-#: builtin/merge.c:148
-#, c-format
-msgid "option `%s' requires a value"
-msgstr ""
-
-#: builtin/merge.c:201
-#, c-format
-msgid "Could not find merge strategy '%s'.\n"
-msgstr ""
-
-#: builtin/merge.c:202
-#, c-format
-msgid "Available strategies are:"
-msgstr ""
-
-#: builtin/merge.c:207
-#, c-format
-msgid "Available custom strategies are:"
-msgstr ""
-
-#: builtin/merge.c:258 builtin/pull.c:134
-msgid "do not show a diffstat at the end of the merge"
-msgstr ""
-
-#: builtin/merge.c:261 builtin/pull.c:137
-msgid "show a diffstat at the end of the merge"
-msgstr ""
-
-#: builtin/merge.c:262 builtin/pull.c:140
-msgid "(synonym to --stat)"
-msgstr ""
-
-#: builtin/merge.c:264 builtin/pull.c:143
-msgid "add (at most <n>) entries from shortlog to merge commit message"
-msgstr ""
-
-#: builtin/merge.c:267 builtin/pull.c:149
-msgid "create a single commit instead of doing a merge"
-msgstr ""
-
-#: builtin/merge.c:269 builtin/pull.c:152
-msgid "perform a commit if the merge succeeds (default)"
-msgstr ""
-
-#: builtin/merge.c:271 builtin/pull.c:155
-msgid "edit message before committing"
-msgstr ""
-
-#: builtin/merge.c:273
-msgid "allow fast-forward (default)"
-msgstr ""
-
-#: builtin/merge.c:275 builtin/pull.c:162
-msgid "abort if fast-forward is not possible"
-msgstr ""
-
-#: builtin/merge.c:279 builtin/pull.c:168
-msgid "verify that the named commit has a valid GPG signature"
-msgstr ""
-
-#: builtin/merge.c:280 builtin/notes.c:785 builtin/pull.c:172
-#: builtin/rebase.c:1145 builtin/revert.c:114
-msgid "strategy"
-msgstr ""
-
-#: builtin/merge.c:281 builtin/pull.c:173
-msgid "merge strategy to use"
-msgstr ""
-
-#: builtin/merge.c:282 builtin/pull.c:176
-msgid "option=value"
-msgstr ""
-
-#: builtin/merge.c:283 builtin/pull.c:177
-msgid "option for selected merge strategy"
-msgstr ""
-
-#: builtin/merge.c:285
-msgid "merge commit message (for a non-fast-forward merge)"
-msgstr ""
-
-#: builtin/merge.c:291
-msgid "use <name> instead of the real target"
-msgstr ""
-
-#: builtin/merge.c:294
-msgid "abort the current in-progress merge"
-msgstr ""
-
-#: builtin/merge.c:296
-msgid "--abort but leave index and working tree alone"
-msgstr ""
-
-#: builtin/merge.c:298
-msgid "continue the current in-progress merge"
-msgstr ""
-
-#: builtin/merge.c:300 builtin/pull.c:184
-msgid "allow merging unrelated histories"
-msgstr ""
-
-#: builtin/merge.c:307
-msgid "bypass pre-merge-commit and commit-msg hooks"
-msgstr ""
-
-#: builtin/merge.c:323
-msgid "could not run stash."
-msgstr ""
-
-#: builtin/merge.c:328
-msgid "stash failed"
-msgstr ""
-
-#: builtin/merge.c:333
-#, c-format
-msgid "not a valid object: %s"
-msgstr ""
-
-#: builtin/merge.c:355 builtin/merge.c:372
-msgid "read-tree failed"
-msgstr ""
-
-#: builtin/merge.c:403
-msgid "Already up to date. (nothing to squash)"
-msgstr ""
-
-#: builtin/merge.c:417
-#, c-format
-msgid "Squash commit -- not updating HEAD\n"
-msgstr ""
-
-#: builtin/merge.c:467
-#, c-format
-msgid "No merge message -- not updating HEAD\n"
-msgstr ""
-
-#: builtin/merge.c:517
-#, c-format
-msgid "'%s' does not point to a commit"
-msgstr ""
-
-#: builtin/merge.c:605
-#, c-format
-msgid "Bad branch.%s.mergeoptions string: %s"
-msgstr ""
-
-#: builtin/merge.c:732
-msgid "Not handling anything other than two heads merge."
-msgstr ""
-
-#: builtin/merge.c:745
-#, c-format
-msgid "unknown strategy option: -X%s"
-msgstr ""
-
-#: builtin/merge.c:764 t/helper/test-fast-rebase.c:223
-#, c-format
-msgid "unable to write %s"
-msgstr ""
-
-#: builtin/merge.c:816
-#, c-format
-msgid "Could not read from '%s'"
-msgstr ""
-
-#: builtin/merge.c:825
-#, c-format
-msgid "Not committing merge; use 'git commit' to complete the merge.\n"
-msgstr ""
-
-#: builtin/merge.c:831
-msgid ""
-"Please enter a commit message to explain why this merge is necessary,\n"
-"especially if it merges an updated upstream into a topic branch.\n"
-"\n"
-msgstr ""
-
-#: builtin/merge.c:836
-msgid "An empty message aborts the commit.\n"
-msgstr ""
-
-#: builtin/merge.c:839
-#, c-format
-msgid ""
-"Lines starting with '%c' will be ignored, and an empty message aborts\n"
-"the commit.\n"
-msgstr ""
-
-#: builtin/merge.c:900
-msgid "Empty commit message."
-msgstr ""
-
-#: builtin/merge.c:915
-#, c-format
-msgid "Wonderful.\n"
-msgstr ""
-
-#: builtin/merge.c:976
-#, c-format
-msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
-msgstr ""
-
-#: builtin/merge.c:1015
-msgid "No current branch."
-msgstr ""
-
-#: builtin/merge.c:1017
-msgid "No remote for the current branch."
-msgstr ""
-
-#: builtin/merge.c:1019
-msgid "No default upstream defined for the current branch."
-msgstr ""
-
-#: builtin/merge.c:1024
-#, c-format
-msgid "No remote-tracking branch for %s from %s"
-msgstr ""
-
-#: builtin/merge.c:1081
-#, c-format
-msgid "Bad value '%s' in environment '%s'"
-msgstr ""
-
-#: builtin/merge.c:1183
-#, c-format
-msgid "not something we can merge in %s: %s"
-msgstr ""
-
-#: builtin/merge.c:1217
-msgid "not something we can merge"
-msgstr ""
-
-#: builtin/merge.c:1330
-msgid "--abort expects no arguments"
-msgstr ""
-
-#: builtin/merge.c:1334
-msgid "There is no merge to abort (MERGE_HEAD missing)."
-msgstr ""
-
-#: builtin/merge.c:1352
-msgid "--quit expects no arguments"
-msgstr ""
-
-#: builtin/merge.c:1365
-msgid "--continue expects no arguments"
-msgstr ""
-
-#: builtin/merge.c:1369
-msgid "There is no merge in progress (MERGE_HEAD missing)."
-msgstr ""
-
-#: builtin/merge.c:1385
-msgid ""
-"You have not concluded your merge (MERGE_HEAD exists).\n"
-"Please, commit your changes before you merge."
-msgstr ""
-
-#: builtin/merge.c:1392
-msgid ""
-"You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
-"Please, commit your changes before you merge."
-msgstr ""
-
-#: builtin/merge.c:1395
-msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
-msgstr ""
-
-#: builtin/merge.c:1427
-msgid "No commit specified and merge.defaultToUpstream not set."
-msgstr ""
-
-#: builtin/merge.c:1444
-msgid "Squash commit into empty head not supported yet"
-msgstr ""
-
-#: builtin/merge.c:1446
-msgid "Non-fast-forward commit does not make sense into an empty head"
-msgstr ""
-
-#: builtin/merge.c:1451
-#, c-format
-msgid "%s - not something we can merge"
-msgstr ""
-
-#: builtin/merge.c:1453
-msgid "Can merge only exactly one commit into empty head"
-msgstr ""
-
-#: builtin/merge.c:1540
-msgid "refusing to merge unrelated histories"
-msgstr ""
-
-#: builtin/merge.c:1559
-#, c-format
-msgid "Updating %s..%s\n"
-msgstr ""
-
-#: builtin/merge.c:1606
-#, c-format
-msgid "Trying really trivial in-index merge...\n"
-msgstr ""
-
-#: builtin/merge.c:1613
-#, c-format
-msgid "Nope.\n"
-msgstr ""
-
-#: builtin/merge.c:1671 builtin/merge.c:1737
-#, c-format
-msgid "Rewinding the tree to pristine...\n"
-msgstr ""
-
-#: builtin/merge.c:1675
-#, c-format
-msgid "Trying merge strategy %s...\n"
-msgstr ""
-
-#: builtin/merge.c:1727
-#, c-format
-msgid "No merge strategy handled the merge.\n"
-msgstr ""
-
-#: builtin/merge.c:1729
-#, c-format
-msgid "Merge with strategy %s failed.\n"
-msgstr ""
-
-#: builtin/merge.c:1739
-#, c-format
-msgid "Using the %s strategy to prepare resolving by hand.\n"
-msgstr ""
-
-#: builtin/merge.c:1753
-#, c-format
-msgid "Automatic merge went well; stopped before committing as requested\n"
-msgstr ""
-
-#: builtin/mktag.c:27
-#, c-format
-msgid "warning: tag input does not pass fsck: %s"
-msgstr ""
-
-#: builtin/mktag.c:38
-#, c-format
-msgid "error: tag input does not pass fsck: %s"
-msgstr ""
-
-#: builtin/mktag.c:41
-#, c-format
-msgid "%d (FSCK_IGNORE?) should never trigger this callback"
-msgstr ""
-
-#: builtin/mktag.c:56
-#, c-format
-msgid "could not read tagged object '%s'"
-msgstr ""
-
-#: builtin/mktag.c:59
-#, c-format
-msgid "object '%s' tagged as '%s', but is a '%s' type"
-msgstr ""
-
-#: builtin/mktag.c:97
-msgid "tag on stdin did not pass our strict fsck check"
-msgstr ""
-
-#: builtin/mktag.c:100
-msgid "tag on stdin did not refer to a valid object"
-msgstr ""
-
-#: builtin/mktag.c:103 builtin/tag.c:243
-msgid "unable to write tag file"
-msgstr ""
-
-#: builtin/mktree.c:154
-msgid "input is NUL terminated"
-msgstr ""
-
-#: builtin/mktree.c:155 builtin/write-tree.c:26
-msgid "allow missing objects"
-msgstr ""
-
-#: builtin/mktree.c:156
-msgid "allow creation of more than one tree"
-msgstr ""
-
-#: builtin/multi-pack-index.c:10
-msgid ""
-"git multi-pack-index [<options>] write [--preferred-pack=<pack>][--refs-"
-"snapshot=<path>]"
-msgstr ""
-
-#: builtin/multi-pack-index.c:14
-msgid "git multi-pack-index [<options>] verify"
-msgstr ""
-
-#: builtin/multi-pack-index.c:17
-msgid "git multi-pack-index [<options>] expire"
-msgstr ""
-
-#: builtin/multi-pack-index.c:20
-msgid "git multi-pack-index [<options>] repack [--batch-size=<size>]"
-msgstr ""
-
-#: builtin/multi-pack-index.c:57
-msgid "object directory containing set of packfile and pack-index pairs"
-msgstr ""
-
-#: builtin/multi-pack-index.c:98
-msgid "preferred-pack"
-msgstr ""
-
-#: builtin/multi-pack-index.c:99
-msgid "pack for reuse when computing a multi-pack bitmap"
-msgstr ""
-
-#: builtin/multi-pack-index.c:100
-msgid "write multi-pack bitmap"
-msgstr ""
-
-#: builtin/multi-pack-index.c:105
-msgid "write multi-pack index containing only given indexes"
-msgstr ""
-
-#: builtin/multi-pack-index.c:107
-msgid "refs snapshot for selecting bitmap commits"
-msgstr ""
-
-#: builtin/multi-pack-index.c:206
-msgid ""
-"during repack, collect pack-files of smaller size into a batch that is "
-"larger than this size"
-msgstr ""
-
-#: builtin/mv.c:18
-msgid "git mv [<options>] <source>... <destination>"
-msgstr ""
-
-#: builtin/mv.c:83
-#, c-format
-msgid "Directory %s is in index and no submodule?"
-msgstr ""
-
-#: builtin/mv.c:85
-msgid "Please stage your changes to .gitmodules or stash them to proceed"
-msgstr ""
-
-#: builtin/mv.c:103
-#, c-format
-msgid "%.*s is in index"
-msgstr ""
-
-#: builtin/mv.c:125
-msgid "force move/rename even if target exists"
-msgstr ""
-
-#: builtin/mv.c:127
-msgid "skip move/rename errors"
-msgstr ""
-
-#: builtin/mv.c:172
-#, c-format
-msgid "destination '%s' is not a directory"
-msgstr ""
-
-#: builtin/mv.c:184
-#, c-format
-msgid "Checking rename of '%s' to '%s'\n"
-msgstr ""
-
-#: builtin/mv.c:190
-msgid "bad source"
-msgstr ""
-
-#: builtin/mv.c:193
-msgid "can not move directory into itself"
-msgstr ""
-
-#: builtin/mv.c:196
-msgid "cannot move directory over file"
-msgstr ""
-
-#: builtin/mv.c:205
-msgid "source directory is empty"
-msgstr ""
-
-#: builtin/mv.c:231
-msgid "not under version control"
-msgstr ""
-
-#: builtin/mv.c:233
-msgid "conflicted"
-msgstr ""
-
-#: builtin/mv.c:236
-msgid "destination exists"
-msgstr ""
-
-#: builtin/mv.c:244
-#, c-format
-msgid "overwriting '%s'"
-msgstr ""
-
-#: builtin/mv.c:247
-msgid "Cannot overwrite"
-msgstr ""
-
-#: builtin/mv.c:250
-msgid "multiple sources for the same target"
-msgstr ""
-
-#: builtin/mv.c:252
-msgid "destination directory does not exist"
-msgstr ""
-
-#: builtin/mv.c:280
-#, c-format
-msgid "%s, source=%s, destination=%s"
-msgstr ""
-
-#: builtin/mv.c:308
-#, c-format
-msgid "Renaming %s to %s\n"
-msgstr ""
-
-#: builtin/mv.c:314 builtin/remote.c:812 builtin/repack.c:861
-#, c-format
-msgid "renaming '%s' failed"
-msgstr ""
-
-#: builtin/name-rev.c:524
-msgid "git name-rev [<options>] <commit>..."
-msgstr ""
-
-#: builtin/name-rev.c:525
-msgid "git name-rev [<options>] --all"
-msgstr ""
-
-#: builtin/name-rev.c:526
-msgid "git name-rev [<options>] --annotate-stdin"
-msgstr ""
-
-#: builtin/name-rev.c:583
-msgid "print only ref-based names (no object names)"
-msgstr ""
-
-#: builtin/name-rev.c:584
-msgid "only use tags to name the commits"
-msgstr ""
-
-#: builtin/name-rev.c:586
-msgid "only use refs matching <pattern>"
-msgstr ""
-
-#: builtin/name-rev.c:588
-msgid "ignore refs matching <pattern>"
-msgstr ""
-
-#: builtin/name-rev.c:590
-msgid "list all commits reachable from all refs"
-msgstr ""
-
-#: builtin/name-rev.c:591
-msgid "deprecated: use annotate-stdin instead"
-msgstr ""
-
-#: builtin/name-rev.c:592
-msgid "annotate text from stdin"
-msgstr ""
-
-#: builtin/name-rev.c:593
-msgid "allow to print `undefined` names (default)"
-msgstr ""
-
-#: builtin/name-rev.c:599
-msgid "dereference tags in the input (internal use)"
-msgstr ""
-
-#: builtin/notes.c:28
-msgid "git notes [--ref <notes-ref>] [list [<object>]]"
-msgstr ""
-
-#: builtin/notes.c:29
-msgid ""
-"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <msg> | -F <file> "
-"| (-c | -C) <object>] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:30
-msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
-msgstr ""
-
-#: builtin/notes.c:31
-msgid ""
-"git notes [--ref <notes-ref>] append [--allow-empty] [-m <msg> | -F <file> | "
-"(-c | -C) <object>] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:32
-msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:33
-msgid "git notes [--ref <notes-ref>] show [<object>]"
-msgstr ""
-
-#: builtin/notes.c:34
-msgid ""
-"git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>"
-msgstr ""
-
-#: builtin/notes.c:37
-msgid "git notes [--ref <notes-ref>] remove [<object>...]"
-msgstr ""
-
-#: builtin/notes.c:38
-msgid "git notes [--ref <notes-ref>] prune [-n] [-v]"
-msgstr ""
-
-#: builtin/notes.c:39
-msgid "git notes [--ref <notes-ref>] get-ref"
-msgstr ""
-
-#: builtin/notes.c:44
-msgid "git notes [list [<object>]]"
-msgstr ""
-
-#: builtin/notes.c:49
-msgid "git notes add [<options>] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:54
-msgid "git notes copy [<options>] <from-object> <to-object>"
-msgstr ""
-
-#: builtin/notes.c:55
-msgid "git notes copy --stdin [<from-object> <to-object>]..."
-msgstr ""
-
-#: builtin/notes.c:60
-msgid "git notes append [<options>] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:65
-msgid "git notes edit [<object>]"
-msgstr ""
-
-#: builtin/notes.c:70
-msgid "git notes show [<object>]"
-msgstr ""
-
-#: builtin/notes.c:75
-msgid "git notes merge [<options>] <notes-ref>"
-msgstr ""
-
-#: builtin/notes.c:76
-msgid "git notes merge --commit [<options>]"
-msgstr ""
-
-#: builtin/notes.c:77
-msgid "git notes merge --abort [<options>]"
-msgstr ""
-
-#: builtin/notes.c:82
-msgid "git notes remove [<object>]"
-msgstr ""
-
-#: builtin/notes.c:87
-msgid "git notes prune [<options>]"
-msgstr ""
-
-#: builtin/notes.c:97
-msgid "Write/edit the notes for the following object:"
-msgstr ""
-
-#: builtin/notes.c:149
-#, c-format
-msgid "unable to start 'show' for object '%s'"
-msgstr ""
-
-#: builtin/notes.c:153
-msgid "could not read 'show' output"
-msgstr ""
-
-#: builtin/notes.c:161
-#, c-format
-msgid "failed to finish 'show' for object '%s'"
-msgstr ""
-
-#: builtin/notes.c:194
-msgid "please supply the note contents using either -m or -F option"
-msgstr ""
-
-#: builtin/notes.c:203
-msgid "unable to write note object"
-msgstr ""
-
-#: builtin/notes.c:206
-#, c-format
-msgid "the note contents have been left in %s"
-msgstr ""
-
-#: builtin/notes.c:240 builtin/tag.c:582
-#, c-format
-msgid "could not open or read '%s'"
-msgstr ""
-
-#: builtin/notes.c:261 builtin/notes.c:311 builtin/notes.c:313
-#: builtin/notes.c:381 builtin/notes.c:436 builtin/notes.c:524
-#: builtin/notes.c:529 builtin/notes.c:608 builtin/notes.c:670
-#, c-format
-msgid "failed to resolve '%s' as a valid ref."
-msgstr ""
-
-#: builtin/notes.c:263
-#, c-format
-msgid "failed to read object '%s'."
-msgstr ""
-
-#: builtin/notes.c:266
-#, c-format
-msgid "cannot read note data from non-blob object '%s'."
-msgstr ""
-
-#: builtin/notes.c:307
-#, c-format
-msgid "malformed input line: '%s'."
-msgstr ""
-
-#: builtin/notes.c:322
-#, c-format
-msgid "failed to copy notes from '%s' to '%s'"
-msgstr ""
-
-#. TRANSLATORS: the first %s will be replaced by a git
-#. notes command: 'add', 'merge', 'remove', etc.
-#.
-#: builtin/notes.c:354
-#, c-format
-msgid "refusing to %s notes in %s (outside of refs/notes/)"
-msgstr ""
-
-#: builtin/notes.c:387 builtin/notes.c:676
-#, c-format
-msgid "no note found for object %s."
-msgstr ""
-
-#: builtin/notes.c:408 builtin/notes.c:574
-msgid "note contents as a string"
-msgstr ""
-
-#: builtin/notes.c:411 builtin/notes.c:577
-msgid "note contents in a file"
-msgstr ""
-
-#: builtin/notes.c:414 builtin/notes.c:580
-msgid "reuse and edit specified note object"
-msgstr ""
-
-#: builtin/notes.c:417 builtin/notes.c:583
-msgid "reuse specified note object"
-msgstr ""
-
-#: builtin/notes.c:420 builtin/notes.c:586
-msgid "allow storing empty note"
-msgstr ""
-
-#: builtin/notes.c:421 builtin/notes.c:494
-msgid "replace existing notes"
-msgstr ""
-
-#: builtin/notes.c:446
-#, c-format
-msgid ""
-"Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
-"existing notes"
-msgstr ""
-
-#: builtin/notes.c:461 builtin/notes.c:542
-#, c-format
-msgid "Overwriting existing notes for object %s\n"
-msgstr ""
-
-#: builtin/notes.c:473 builtin/notes.c:635 builtin/notes.c:904
-#, c-format
-msgid "Removing note for object %s\n"
-msgstr ""
-
-#: builtin/notes.c:495
-msgid "read objects from stdin"
-msgstr ""
-
-#: builtin/notes.c:497
-msgid "load rewriting config for <command> (implies --stdin)"
-msgstr ""
-
-#: builtin/notes.c:515
-msgid "too few arguments"
-msgstr ""
-
-#: builtin/notes.c:536
-#, c-format
-msgid ""
-"Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
-"existing notes"
-msgstr ""
-
-#: builtin/notes.c:548
-#, c-format
-msgid "missing notes on source object %s. Cannot copy."
-msgstr ""
-
-#: builtin/notes.c:601
-#, c-format
-msgid ""
-"The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
-"Please use 'git notes add -f -m/-F/-c/-C' instead.\n"
-msgstr ""
-
-#: builtin/notes.c:696
-msgid "failed to delete ref NOTES_MERGE_PARTIAL"
-msgstr ""
-
-#: builtin/notes.c:698
-msgid "failed to delete ref NOTES_MERGE_REF"
-msgstr ""
-
-#: builtin/notes.c:700
-msgid "failed to remove 'git notes merge' worktree"
-msgstr ""
-
-#: builtin/notes.c:720
-msgid "failed to read ref NOTES_MERGE_PARTIAL"
-msgstr ""
-
-#: builtin/notes.c:722
-msgid "could not find commit from NOTES_MERGE_PARTIAL."
-msgstr ""
-
-#: builtin/notes.c:724
-msgid "could not parse commit from NOTES_MERGE_PARTIAL."
-msgstr ""
-
-#: builtin/notes.c:737
-msgid "failed to resolve NOTES_MERGE_REF"
-msgstr ""
-
-#: builtin/notes.c:740
-msgid "failed to finalize notes merge"
-msgstr ""
-
-#: builtin/notes.c:766
-#, c-format
-msgid "unknown notes merge strategy %s"
-msgstr ""
-
-#: builtin/notes.c:782
-msgid "General options"
-msgstr ""
-
-#: builtin/notes.c:784
-msgid "Merge options"
-msgstr ""
-
-#: builtin/notes.c:786
-msgid ""
-"resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
-"cat_sort_uniq)"
-msgstr ""
-
-#: builtin/notes.c:788
-msgid "Committing unmerged notes"
-msgstr ""
-
-#: builtin/notes.c:790
-msgid "finalize notes merge by committing unmerged notes"
-msgstr ""
-
-#: builtin/notes.c:792
-msgid "Aborting notes merge resolution"
-msgstr ""
-
-#: builtin/notes.c:794
-msgid "abort notes merge"
-msgstr ""
-
-#: builtin/notes.c:805
-msgid "cannot mix --commit, --abort or -s/--strategy"
-msgstr ""
-
-#: builtin/notes.c:810
-msgid "must specify a notes ref to merge"
-msgstr ""
-
-#: builtin/notes.c:834
-#, c-format
-msgid "unknown -s/--strategy: %s"
-msgstr ""
-
-#: builtin/notes.c:874
-#, c-format
-msgid "a notes merge into %s is already in-progress at %s"
-msgstr ""
-
-#: builtin/notes.c:878
-#, c-format
-msgid "failed to store link to current notes ref (%s)"
-msgstr ""
-
-#: builtin/notes.c:880
-#, c-format
-msgid ""
-"Automatic notes merge failed. Fix conflicts in %s and commit the result with "
-"'git notes merge --commit', or abort the merge with 'git notes merge --"
-"abort'.\n"
-msgstr ""
-
-#: builtin/notes.c:899 builtin/tag.c:595
-#, c-format
-msgid "Failed to resolve '%s' as a valid ref."
-msgstr ""
-
-#: builtin/notes.c:902
-#, c-format
-msgid "Object %s has no note\n"
-msgstr ""
-
-#: builtin/notes.c:914
-msgid "attempt to remove non-existent note is not an error"
-msgstr ""
-
-#: builtin/notes.c:917
-msgid "read object names from the standard input"
-msgstr ""
-
-#: builtin/notes.c:956 builtin/prune.c:144 builtin/worktree.c:148
-msgid "do not remove, show only"
-msgstr ""
-
-#: builtin/notes.c:957
-msgid "report pruned notes"
-msgstr ""
-
-#: builtin/notes.c:1000
-msgid "notes-ref"
-msgstr ""
-
-#: builtin/notes.c:1001
-msgid "use notes from <notes-ref>"
-msgstr ""
-
-#: builtin/notes.c:1036 builtin/stash.c:1802
-#, c-format
-msgid "unknown subcommand: %s"
-msgstr ""
-
-#: builtin/pack-objects.c:182
-msgid ""
-"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
-msgstr ""
-
-#: builtin/pack-objects.c:183
-msgid ""
-"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
-msgstr ""
-
-#: builtin/pack-objects.c:570
-#, c-format
-msgid ""
-"write_reuse_object: could not locate %s, expected at offset %<PRIuMAX> in "
-"pack %s"
-msgstr ""
-
-#: builtin/pack-objects.c:578
-#, c-format
-msgid "bad packed object CRC for %s"
-msgstr ""
-
-#: builtin/pack-objects.c:589
-#, c-format
-msgid "corrupt packed object for %s"
-msgstr ""
-
-#: builtin/pack-objects.c:720
-#, c-format
-msgid "recursive delta detected for object %s"
-msgstr ""
-
-#: builtin/pack-objects.c:939
-#, c-format
-msgid "ordered %u objects, expected %<PRIu32>"
-msgstr ""
-
-#: builtin/pack-objects.c:1034
-#, c-format
-msgid "expected object at offset %<PRIuMAX> in pack %s"
-msgstr ""
-
-#: builtin/pack-objects.c:1158
-msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
-msgstr ""
-
-#: builtin/pack-objects.c:1171
-msgid "Writing objects"
-msgstr ""
-
-#: builtin/pack-objects.c:1243 builtin/update-index.c:90
-#, c-format
-msgid "failed to stat %s"
-msgstr ""
-
-#: builtin/pack-objects.c:1276
-msgid "failed to write bitmap index"
-msgstr ""
-
-#: builtin/pack-objects.c:1302
-#, c-format
-msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
-msgstr ""
-
-#: builtin/pack-objects.c:1544
-msgid "disabling bitmap writing, as some objects are not being packed"
-msgstr ""
-
-#: builtin/pack-objects.c:1992
-#, c-format
-msgid "delta base offset overflow in pack for %s"
-msgstr ""
-
-#: builtin/pack-objects.c:2001
-#, c-format
-msgid "delta base offset out of bound for %s"
-msgstr ""
-
-#: builtin/pack-objects.c:2282
-msgid "Counting objects"
-msgstr ""
-
-#: builtin/pack-objects.c:2447
-#, c-format
-msgid "unable to parse object header of %s"
-msgstr ""
-
-#: builtin/pack-objects.c:2517 builtin/pack-objects.c:2533
-#: builtin/pack-objects.c:2543
-#, c-format
-msgid "object %s cannot be read"
-msgstr ""
-
-#: builtin/pack-objects.c:2520 builtin/pack-objects.c:2547
-#, c-format
-msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
-msgstr ""
-
-#: builtin/pack-objects.c:2557
-msgid "suboptimal pack - out of memory"
-msgstr ""
-
-#: builtin/pack-objects.c:2872
-#, c-format
-msgid "Delta compression using up to %d threads"
-msgstr ""
-
-#: builtin/pack-objects.c:3011
-#, c-format
-msgid "unable to pack objects reachable from tag %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3097
-msgid "Compressing objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3103
-msgid "inconsistency with delta count"
-msgstr ""
-
-#: builtin/pack-objects.c:3182
-#, c-format
-msgid ""
-"value of uploadpack.blobpackfileuri must be of the form '<object-hash> <pack-"
-"hash> <uri>' (got '%s')"
-msgstr ""
-
-#: builtin/pack-objects.c:3185
-#, c-format
-msgid ""
-"object already configured in another uploadpack.blobpackfileuri (got '%s')"
-msgstr ""
-
-#: builtin/pack-objects.c:3220
-#, c-format
-msgid "could not get type of object %s in pack %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3348 builtin/pack-objects.c:3359
-#: builtin/pack-objects.c:3373
-#, c-format
-msgid "could not find pack '%s'"
-msgstr ""
-
-#: builtin/pack-objects.c:3416
-#, c-format
-msgid ""
-"expected edge object ID, got garbage:\n"
-" %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3422
-#, c-format
-msgid ""
-"expected object ID, got garbage:\n"
-" %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3540 builtin/pack-objects.c:3627
-msgid "cannot open pack index"
-msgstr ""
-
-#: builtin/pack-objects.c:3549
-#, c-format
-msgid "loose object at %s could not be examined"
-msgstr ""
-
-#: builtin/pack-objects.c:3635
-msgid "unable to force loose object"
-msgstr ""
-
-#: builtin/pack-objects.c:3763
-#, c-format
-msgid "not a rev '%s'"
-msgstr ""
-
-#: builtin/pack-objects.c:3766 builtin/rev-parse.c:1061
-#, c-format
-msgid "bad revision '%s'"
-msgstr ""
-
-#: builtin/pack-objects.c:3794
-msgid "unable to add recent objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3847
-#, c-format
-msgid "unsupported index version %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3851
-#, c-format
-msgid "bad index version '%s'"
-msgstr ""
-
-#: builtin/pack-objects.c:3907
-msgid "<version>[,<offset>]"
-msgstr ""
-
-#: builtin/pack-objects.c:3908
-msgid "write the pack index file in the specified idx format version"
-msgstr ""
-
-#: builtin/pack-objects.c:3911
-msgid "maximum size of each output pack file"
-msgstr ""
-
-#: builtin/pack-objects.c:3913
-msgid "ignore borrowed objects from alternate object store"
-msgstr ""
-
-#: builtin/pack-objects.c:3915
-msgid "ignore packed objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3917
-msgid "limit pack window by objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3919
-msgid "limit pack window by memory in addition to object limit"
-msgstr ""
-
-#: builtin/pack-objects.c:3921
-msgid "maximum length of delta chain allowed in the resulting pack"
-msgstr ""
-
-#: builtin/pack-objects.c:3923
-msgid "reuse existing deltas"
-msgstr ""
-
-#: builtin/pack-objects.c:3925
-msgid "reuse existing objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3927
-msgid "use OFS_DELTA objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3929
-msgid "use threads when searching for best delta matches"
-msgstr ""
-
-#: builtin/pack-objects.c:3931
-msgid "do not create an empty pack output"
-msgstr ""
-
-#: builtin/pack-objects.c:3933
-msgid "read revision arguments from standard input"
-msgstr ""
-
-#: builtin/pack-objects.c:3935
-msgid "limit the objects to those that are not yet packed"
-msgstr ""
-
-#: builtin/pack-objects.c:3938
-msgid "include objects reachable from any reference"
-msgstr ""
-
-#: builtin/pack-objects.c:3941
-msgid "include objects referred by reflog entries"
-msgstr ""
-
-#: builtin/pack-objects.c:3944
-msgid "include objects referred to by the index"
-msgstr ""
-
-#: builtin/pack-objects.c:3947
-msgid "read packs from stdin"
-msgstr ""
-
-#: builtin/pack-objects.c:3949
-msgid "output pack to stdout"
-msgstr ""
-
-#: builtin/pack-objects.c:3951
-msgid "include tag objects that refer to objects to be packed"
-msgstr ""
-
-#: builtin/pack-objects.c:3953
-msgid "keep unreachable objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3955
-msgid "pack loose unreachable objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3957
-msgid "unpack unreachable objects newer than <time>"
-msgstr ""
-
-#: builtin/pack-objects.c:3960
-msgid "use the sparse reachability algorithm"
-msgstr ""
-
-#: builtin/pack-objects.c:3962
-msgid "create thin packs"
-msgstr ""
-
-#: builtin/pack-objects.c:3964
-msgid "create packs suitable for shallow fetches"
-msgstr ""
-
-#: builtin/pack-objects.c:3966
-msgid "ignore packs that have companion .keep file"
-msgstr ""
-
-#: builtin/pack-objects.c:3968
-msgid "ignore this pack"
-msgstr ""
-
-#: builtin/pack-objects.c:3970
-msgid "pack compression level"
-msgstr ""
-
-#: builtin/pack-objects.c:3972
-msgid "do not hide commits by grafts"
-msgstr ""
-
-#: builtin/pack-objects.c:3974
-msgid "use a bitmap index if available to speed up counting objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3976
-msgid "write a bitmap index together with the pack index"
-msgstr ""
-
-#: builtin/pack-objects.c:3980
-msgid "write a bitmap index if possible"
-msgstr ""
-
-#: builtin/pack-objects.c:3984
-msgid "handling for missing objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3987
-msgid "do not pack objects in promisor packfiles"
-msgstr ""
-
-#: builtin/pack-objects.c:3989
-msgid "respect islands during delta compression"
-msgstr ""
-
-#: builtin/pack-objects.c:3991
-msgid "protocol"
-msgstr ""
-
-#: builtin/pack-objects.c:3992
-msgid "exclude any configured uploadpack.blobpackfileuri with this protocol"
-msgstr ""
-
-#: builtin/pack-objects.c:4027
-#, c-format
-msgid "delta chain depth %d is too deep, forcing %d"
-msgstr ""
-
-#: builtin/pack-objects.c:4032
-#, c-format
-msgid "pack.deltaCacheLimit is too high, forcing %d"
-msgstr ""
-
-#: builtin/pack-objects.c:4088
-msgid "--max-pack-size cannot be used to build a pack for transfer"
-msgstr ""
-
-#: builtin/pack-objects.c:4090
-msgid "minimum pack size limit is 1 MiB"
-msgstr ""
-
-#: builtin/pack-objects.c:4095
-msgid "--thin cannot be used to build an indexable pack"
-msgstr ""
-
-#: builtin/pack-objects.c:4104
-msgid "cannot use --filter without --stdout"
-msgstr ""
-
-#: builtin/pack-objects.c:4106
-msgid "cannot use --filter with --stdin-packs"
-msgstr ""
-
-#: builtin/pack-objects.c:4110
-msgid "cannot use internal rev list with --stdin-packs"
-msgstr ""
-
-#: builtin/pack-objects.c:4169
-msgid "Enumerating objects"
-msgstr ""
-
-#: builtin/pack-objects.c:4210
-#, c-format
-msgid ""
-"Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>), pack-"
-"reused %<PRIu32>"
-msgstr ""
-
-#: builtin/pack-redundant.c:601
-msgid ""
-"'git pack-redundant' is nominated for removal.\n"
-"If you still use this command, please add an extra\n"
-"option, '--i-still-use-this', on the command line\n"
-"and let us know you still use it by sending an e-mail\n"
-"to <git@vger.kernel.org>.  Thanks.\n"
-msgstr ""
-
-#: builtin/pack-refs.c:8
-msgid "git pack-refs [<options>]"
-msgstr ""
-
-#: builtin/pack-refs.c:16
-msgid "pack everything"
-msgstr ""
-
-#: builtin/pack-refs.c:17
-msgid "prune loose refs (default)"
-msgstr ""
-
-#: builtin/prune.c:14
-msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
-msgstr ""
-
-#: builtin/prune.c:145
-msgid "report pruned objects"
-msgstr ""
-
-#: builtin/prune.c:148
-msgid "expire objects older than <time>"
-msgstr ""
-
-#: builtin/prune.c:150
-msgid "limit traversal to objects outside promisor packfiles"
-msgstr ""
-
-#: builtin/prune.c:163
-msgid "cannot prune in a precious-objects repo"
-msgstr ""
-
-#: builtin/pull.c:67
-msgid "git pull [<options>] [<repository> [<refspec>...]]"
-msgstr ""
-
-#: builtin/pull.c:124
-msgid "control for recursive fetching of submodules"
-msgstr ""
-
-#: builtin/pull.c:128
-msgid "Options related to merging"
-msgstr ""
-
-#: builtin/pull.c:131
-msgid "incorporate changes by rebasing rather than merging"
-msgstr ""
-
-#: builtin/pull.c:159 builtin/revert.c:126
-msgid "allow fast-forward"
-msgstr ""
-
-#: builtin/pull.c:165
-msgid "control use of pre-merge-commit and commit-msg hooks"
-msgstr ""
-
-#: builtin/pull.c:171 parse-options.h:371
-msgid "automatically stash/stash pop before and after"
-msgstr ""
-
-#: builtin/pull.c:187
-msgid "Options related to fetching"
-msgstr ""
-
-#: builtin/pull.c:197
-msgid "force overwrite of local branch"
-msgstr ""
-
-#: builtin/pull.c:205
-msgid "number of submodules pulled in parallel"
-msgstr ""
-
-#: builtin/pull.c:449
-msgid ""
-"There is no candidate for rebasing against among the refs that you just "
-"fetched."
-msgstr ""
-
-#: builtin/pull.c:451
-msgid ""
-"There are no candidates for merging among the refs that you just fetched."
-msgstr ""
-
-#: builtin/pull.c:452
-msgid ""
-"Generally this means that you provided a wildcard refspec which had no\n"
-"matches on the remote end."
-msgstr ""
-
-#: builtin/pull.c:455
-#, c-format
-msgid ""
-"You asked to pull from the remote '%s', but did not specify\n"
-"a branch. Because this is not the default configured remote\n"
-"for your current branch, you must specify a branch on the command line."
-msgstr ""
-
-#: builtin/pull.c:460 builtin/rebase.c:978
-msgid "You are not currently on a branch."
-msgstr ""
-
-#: builtin/pull.c:462 builtin/pull.c:477
-msgid "Please specify which branch you want to rebase against."
-msgstr ""
-
-#: builtin/pull.c:464 builtin/pull.c:479
-msgid "Please specify which branch you want to merge with."
-msgstr ""
-
-#: builtin/pull.c:465 builtin/pull.c:480
-msgid "See git-pull(1) for details."
-msgstr ""
-
-#: builtin/pull.c:467 builtin/pull.c:473 builtin/pull.c:482
-#: builtin/rebase.c:984
-msgid "<remote>"
-msgstr ""
-
-#: builtin/pull.c:467 builtin/pull.c:482 builtin/pull.c:487
-#: contrib/scalar/scalar.c:374
-msgid "<branch>"
-msgstr ""
-
-#: builtin/pull.c:475 builtin/rebase.c:976
-msgid "There is no tracking information for the current branch."
-msgstr ""
-
-#: builtin/pull.c:484
-msgid ""
-"If you wish to set tracking information for this branch you can do so with:"
-msgstr ""
-
-#: builtin/pull.c:489
-#, c-format
-msgid ""
-"Your configuration specifies to merge with the ref '%s'\n"
-"from the remote, but no such ref was fetched."
-msgstr ""
-
-#: builtin/pull.c:600
-#, c-format
-msgid "unable to access commit %s"
-msgstr ""
-
-#: builtin/pull.c:908
-msgid "ignoring --verify-signatures for rebase"
-msgstr ""
-
-#: builtin/pull.c:969
-msgid ""
-"You have divergent branches and need to specify how to reconcile them.\n"
-"You can do so by running one of the following commands sometime before\n"
-"your next pull:\n"
-"\n"
-"  git config pull.rebase false  # merge\n"
-"  git config pull.rebase true   # rebase\n"
-"  git config pull.ff only       # fast-forward only\n"
-"\n"
-"You can replace \"git config\" with \"git config --global\" to set a "
-"default\n"
-"preference for all repositories. You can also pass --rebase, --no-rebase,\n"
-"or --ff-only on the command line to override the configured default per\n"
-"invocation.\n"
-msgstr ""
-
-#: builtin/pull.c:1047
-msgid "Updating an unborn branch with changes added to the index."
-msgstr ""
-
-#: builtin/pull.c:1051
-msgid "pull with rebase"
-msgstr ""
-
-#: builtin/pull.c:1052
-msgid "please commit or stash them."
-msgstr ""
-
-#: builtin/pull.c:1077
-#, c-format
-msgid ""
-"fetch updated the current branch head.\n"
-"fast-forwarding your working tree from\n"
-"commit %s."
-msgstr ""
-
-#: builtin/pull.c:1083
-#, c-format
-msgid ""
-"Cannot fast-forward your working tree.\n"
-"After making sure that you saved anything precious from\n"
-"$ git diff %s\n"
-"output, run\n"
-"$ git reset --hard\n"
-"to recover."
-msgstr ""
-
-#: builtin/pull.c:1098
-msgid "Cannot merge multiple branches into empty head."
-msgstr ""
-
-#: builtin/pull.c:1103
-msgid "Cannot rebase onto multiple branches."
-msgstr ""
-
-#: builtin/pull.c:1105
-msgid "Cannot fast-forward to multiple branches."
-msgstr ""
-
-#: builtin/pull.c:1120
-msgid "Need to specify how to reconcile divergent branches."
-msgstr ""
-
-#: builtin/pull.c:1134
-msgid "cannot rebase with locally recorded submodule modifications"
-msgstr ""
-
-#: builtin/push.c:19
-msgid "git push [<options>] [<repository> [<refspec>...]]"
-msgstr ""
-
-#: builtin/push.c:111
-msgid "tag shorthand without <tag>"
-msgstr ""
-
-#: builtin/push.c:119
-msgid "--delete only accepts plain target ref names"
-msgstr ""
-
-#: builtin/push.c:164
-msgid ""
-"\n"
-"To choose either option permanently, see push.default in 'git help config'."
-msgstr ""
-
-#: builtin/push.c:167
-#, c-format
-msgid ""
-"The upstream branch of your current branch does not match\n"
-"the name of your current branch.  To push to the upstream branch\n"
-"on the remote, use\n"
-"\n"
-"    git push %s HEAD:%s\n"
-"\n"
-"To push to the branch of the same name on the remote, use\n"
-"\n"
-"    git push %s HEAD\n"
-"%s"
-msgstr ""
-
-#: builtin/push.c:182
-#, c-format
-msgid ""
-"You are not currently on a branch.\n"
-"To push the history leading to the current (detached HEAD)\n"
-"state now, use\n"
-"\n"
-"    git push %s HEAD:<name-of-remote-branch>\n"
-msgstr ""
-
-#: builtin/push.c:191
-#, c-format
-msgid ""
-"The current branch %s has no upstream branch.\n"
-"To push the current branch and set the remote as upstream, use\n"
-"\n"
-"    git push --set-upstream %s %s\n"
-msgstr ""
-
-#: builtin/push.c:199
-#, c-format
-msgid "The current branch %s has multiple upstream branches, refusing to push."
-msgstr ""
-
-#: builtin/push.c:217
-msgid ""
-"You didn't specify any refspecs to push, and push.default is \"nothing\"."
-msgstr ""
-
-#: builtin/push.c:243
-#, c-format
-msgid ""
-"You are pushing to remote '%s', which is not the upstream of\n"
-"your current branch '%s', without telling me what to push\n"
-"to update which remote branch."
-msgstr ""
-
-#: builtin/push.c:258
-msgid ""
-"Updates were rejected because the tip of your current branch is behind\n"
-"its remote counterpart. Integrate the remote changes (e.g.\n"
-"'git pull ...') before pushing again.\n"
-"See the 'Note about fast-forwards' in 'git push --help' for details."
-msgstr ""
-
-#: builtin/push.c:264
-msgid ""
-"Updates were rejected because a pushed branch tip is behind its remote\n"
-"counterpart. Check out this branch and integrate the remote changes\n"
-"(e.g. 'git pull ...') before pushing again.\n"
-"See the 'Note about fast-forwards' in 'git push --help' for details."
-msgstr ""
-
-#: builtin/push.c:270
-msgid ""
-"Updates were rejected because the remote contains work that you do\n"
-"not have locally. This is usually caused by another repository pushing\n"
-"to the same ref. You may want to first integrate the remote changes\n"
-"(e.g., 'git pull ...') before pushing again.\n"
-"See the 'Note about fast-forwards' in 'git push --help' for details."
-msgstr ""
-
-#: builtin/push.c:277
-msgid "Updates were rejected because the tag already exists in the remote."
-msgstr ""
-
-#: builtin/push.c:280
-msgid ""
-"You cannot update a remote ref that points at a non-commit object,\n"
-"or update a remote ref to make it point at a non-commit object,\n"
-"without using the '--force' option.\n"
-msgstr ""
-
-#: builtin/push.c:285
-msgid ""
-"Updates were rejected because the tip of the remote-tracking\n"
-"branch has been updated since the last checkout. You may want\n"
-"to integrate those changes locally (e.g., 'git pull ...')\n"
-"before forcing an update.\n"
-msgstr ""
-
-#: builtin/push.c:355
-#, c-format
-msgid "Pushing to %s\n"
-msgstr ""
-
-#: builtin/push.c:362
-#, c-format
-msgid "failed to push some refs to '%s'"
-msgstr ""
-
-#: builtin/push.c:544 builtin/submodule--helper.c:3377
-msgid "repository"
-msgstr ""
-
-#: builtin/push.c:545 builtin/send-pack.c:193
-msgid "push all refs"
-msgstr ""
-
-#: builtin/push.c:546 builtin/send-pack.c:195
-msgid "mirror all refs"
-msgstr ""
-
-#: builtin/push.c:548
-msgid "delete refs"
-msgstr ""
-
-#: builtin/push.c:549
-msgid "push tags (can't be used with --all or --mirror)"
-msgstr ""
-
-#: builtin/push.c:552 builtin/send-pack.c:196
-msgid "force updates"
-msgstr ""
-
-#: builtin/push.c:553 builtin/send-pack.c:208
-msgid "<refname>:<expect>"
-msgstr ""
-
-#: builtin/push.c:554 builtin/send-pack.c:209
-msgid "require old value of ref to be at this value"
-msgstr ""
-
-#: builtin/push.c:557 builtin/send-pack.c:212
-msgid "require remote updates to be integrated locally"
-msgstr ""
-
-#: builtin/push.c:560
-msgid "control recursive pushing of submodules"
-msgstr ""
-
-#: builtin/push.c:561 builtin/send-pack.c:203
-msgid "use thin pack"
-msgstr ""
-
-#: builtin/push.c:562 builtin/push.c:563 builtin/send-pack.c:190
-#: builtin/send-pack.c:191
-msgid "receive pack program"
-msgstr ""
-
-#: builtin/push.c:564
-msgid "set upstream for git pull/status"
-msgstr ""
-
-#: builtin/push.c:567
-msgid "prune locally removed refs"
-msgstr ""
-
-#: builtin/push.c:569
-msgid "bypass pre-push hook"
-msgstr ""
-
-#: builtin/push.c:570
-msgid "push missing but relevant tags"
-msgstr ""
-
-#: builtin/push.c:572 builtin/send-pack.c:197
-msgid "GPG sign the push"
-msgstr ""
-
-#: builtin/push.c:574 builtin/send-pack.c:204
-msgid "request atomic transaction on remote side"
-msgstr ""
-
-#: builtin/push.c:594
-msgid "--delete doesn't make sense without any refs"
-msgstr ""
-
-#: builtin/push.c:614
-#, c-format
-msgid "bad repository '%s'"
-msgstr ""
-
-#: builtin/push.c:615
-msgid ""
-"No configured push destination.\n"
-"Either specify the URL from the command-line or configure a remote "
-"repository using\n"
-"\n"
-"    git remote add <name> <url>\n"
-"\n"
-"and then push using the remote name\n"
-"\n"
-"    git push <name>\n"
-msgstr ""
-
-#: builtin/push.c:632
-msgid "--all can't be combined with refspecs"
-msgstr ""
-
-#: builtin/push.c:638
-msgid "--mirror can't be combined with refspecs"
-msgstr ""
-
-#: builtin/push.c:648
-msgid "push options must not have new line characters"
-msgstr ""
-
-#: builtin/range-diff.c:9
-msgid "git range-diff [<options>] <old-base>..<old-tip> <new-base>..<new-tip>"
-msgstr ""
-
-#: builtin/range-diff.c:10
-msgid "git range-diff [<options>] <old-tip>...<new-tip>"
-msgstr ""
-
-#: builtin/range-diff.c:11
-msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
-msgstr ""
-
-#: builtin/range-diff.c:30
-msgid "use simple diff colors"
-msgstr ""
-
-#: builtin/range-diff.c:32
-msgid "notes"
-msgstr ""
-
-#: builtin/range-diff.c:32
-msgid "passed to 'git log'"
-msgstr ""
-
-#: builtin/range-diff.c:35
-msgid "only emit output related to the first range"
-msgstr ""
-
-#: builtin/range-diff.c:37
-msgid "only emit output related to the second range"
-msgstr ""
-
-#: builtin/range-diff.c:60 builtin/range-diff.c:64
-#, c-format
-msgid "not a commit range: '%s'"
-msgstr ""
-
-#: builtin/range-diff.c:74
-msgid "single arg format must be symmetric range"
-msgstr ""
-
-#: builtin/range-diff.c:89
-msgid "need two commit ranges"
-msgstr ""
-
-#: builtin/read-tree.c:41
-msgid ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
-"[-u | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-"
-"ish1> [<tree-ish2> [<tree-ish3>]])"
-msgstr ""
-
-#: builtin/read-tree.c:116
-msgid "write resulting index to <file>"
-msgstr ""
-
-#: builtin/read-tree.c:119
-msgid "only empty the index"
-msgstr ""
-
-#: builtin/read-tree.c:121
-msgid "Merging"
-msgstr ""
-
-#: builtin/read-tree.c:123
-msgid "perform a merge in addition to a read"
-msgstr ""
-
-#: builtin/read-tree.c:125
-msgid "3-way merge if no file level merging required"
-msgstr ""
-
-#: builtin/read-tree.c:127
-msgid "3-way merge in presence of adds and removes"
-msgstr ""
-
-#: builtin/read-tree.c:129
-msgid "same as -m, but discard unmerged entries"
-msgstr ""
-
-#: builtin/read-tree.c:130
-msgid "<subdirectory>/"
-msgstr ""
-
-#: builtin/read-tree.c:131
-msgid "read the tree into the index under <subdirectory>/"
-msgstr ""
-
-#: builtin/read-tree.c:134
-msgid "update working tree with merge result"
-msgstr ""
-
-#: builtin/read-tree.c:136
-msgid "gitignore"
-msgstr ""
-
-#: builtin/read-tree.c:137
-msgid "allow explicitly ignored files to be overwritten"
-msgstr ""
-
-#: builtin/read-tree.c:140
-msgid "don't check the working tree after merging"
-msgstr ""
-
-#: builtin/read-tree.c:141
-msgid "don't update the index or the work tree"
-msgstr ""
-
-#: builtin/read-tree.c:143
-msgid "skip applying sparse checkout filter"
-msgstr ""
-
-#: builtin/read-tree.c:145
-msgid "debug unpack-trees"
-msgstr ""
-
-#: builtin/read-tree.c:149
-msgid "suppress feedback messages"
-msgstr ""
-
-#: builtin/read-tree.c:190
-msgid "You need to resolve your current index first"
-msgstr ""
-
-#: builtin/rebase.c:36
-msgid ""
-"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] "
-"[<upstream> [<branch>]]"
-msgstr ""
-
-#: builtin/rebase.c:38
-msgid ""
-"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]"
-msgstr ""
-
-#: builtin/rebase.c:231
-#, c-format
-msgid "could not create temporary %s"
-msgstr ""
-
-#: builtin/rebase.c:237
-msgid "could not mark as interactive"
-msgstr ""
-
-#: builtin/rebase.c:290
-msgid "could not generate todo list"
-msgstr ""
-
-#: builtin/rebase.c:332
-msgid "a base commit must be provided with --upstream or --onto"
-msgstr ""
-
-#: builtin/rebase.c:391
-#, c-format
-msgid "%s requires the merge backend"
-msgstr ""
-
-#: builtin/rebase.c:433
-#, c-format
-msgid "could not get 'onto': '%s'"
-msgstr ""
-
-#: builtin/rebase.c:450
-#, c-format
-msgid "invalid orig-head: '%s'"
-msgstr ""
-
-#: builtin/rebase.c:475
-#, c-format
-msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
-msgstr ""
-
-#: builtin/rebase.c:600
-msgid ""
-"Resolve all conflicts manually, mark them as resolved with\n"
-"\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
-"You can instead skip this commit: run \"git rebase --skip\".\n"
-"To abort and get back to the state before \"git rebase\", run \"git rebase --"
-"abort\"."
-msgstr ""
-
-#: builtin/rebase.c:685
-#, c-format
-msgid ""
-"\n"
-"git encountered an error while preparing the patches to replay\n"
-"these revisions:\n"
-"\n"
-"    %s\n"
-"\n"
-"As a result, git cannot rebase them."
-msgstr ""
-
-#: builtin/rebase.c:836
-#, c-format
-msgid "could not switch to %s"
-msgstr ""
-
-#: builtin/rebase.c:952
-#, c-format
-msgid ""
-"unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask"
-"\"."
-msgstr ""
-
-#: builtin/rebase.c:970
-#, c-format
-msgid ""
-"%s\n"
-"Please specify which branch you want to rebase against.\n"
-"See git-rebase(1) for details.\n"
-"\n"
-"    git rebase '<branch>'\n"
-"\n"
-msgstr ""
-
-#: builtin/rebase.c:986
-#, c-format
-msgid ""
-"If you wish to set tracking information for this branch you can do so with:\n"
-"\n"
-"    git branch --set-upstream-to=%s/<branch> %s\n"
-"\n"
-msgstr ""
-
-#: builtin/rebase.c:1016
-msgid "exec commands cannot contain newlines"
-msgstr ""
-
-#: builtin/rebase.c:1020
-msgid "empty exec command"
-msgstr ""
-
-#: builtin/rebase.c:1051
-msgid "rebase onto given branch instead of upstream"
-msgstr ""
-
-#: builtin/rebase.c:1053
-msgid "use the merge-base of upstream and branch as the current base"
-msgstr ""
-
-#: builtin/rebase.c:1055
-msgid "allow pre-rebase hook to run"
-msgstr ""
-
-#: builtin/rebase.c:1057
-msgid "be quiet. implies --no-stat"
-msgstr ""
-
-#: builtin/rebase.c:1060
-msgid "display a diffstat of what changed upstream"
-msgstr ""
-
-#: builtin/rebase.c:1063
-msgid "do not show diffstat of what changed upstream"
-msgstr ""
-
-#: builtin/rebase.c:1066
-msgid "add a Signed-off-by trailer to each commit"
-msgstr ""
-
-#: builtin/rebase.c:1069
-msgid "make committer date match author date"
-msgstr ""
-
-#: builtin/rebase.c:1071
-msgid "ignore author date and use current date"
-msgstr ""
-
-#: builtin/rebase.c:1073
-msgid "synonym of --reset-author-date"
-msgstr ""
-
-#: builtin/rebase.c:1075 builtin/rebase.c:1079
-msgid "passed to 'git apply'"
-msgstr ""
-
-#: builtin/rebase.c:1077
-msgid "ignore changes in whitespace"
-msgstr ""
-
-#: builtin/rebase.c:1081 builtin/rebase.c:1084
-msgid "cherry-pick all commits, even if unchanged"
-msgstr ""
-
-#: builtin/rebase.c:1086
-msgid "continue"
-msgstr ""
-
-#: builtin/rebase.c:1089
-msgid "skip current patch and continue"
-msgstr ""
-
-#: builtin/rebase.c:1091
-msgid "abort and check out the original branch"
-msgstr ""
-
-#: builtin/rebase.c:1094
-msgid "abort but keep HEAD where it is"
-msgstr ""
-
-#: builtin/rebase.c:1095
-msgid "edit the todo list during an interactive rebase"
-msgstr ""
-
-#: builtin/rebase.c:1098
-msgid "show the patch file being applied or merged"
-msgstr ""
-
-#: builtin/rebase.c:1101
-msgid "use apply strategies to rebase"
-msgstr ""
-
-#: builtin/rebase.c:1105
-msgid "use merging strategies to rebase"
-msgstr ""
-
-#: builtin/rebase.c:1109
-msgid "let the user edit the list of commits to rebase"
-msgstr ""
-
-#: builtin/rebase.c:1113
-msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
-msgstr ""
-
-#: builtin/rebase.c:1118
-msgid "how to handle commits that become empty"
-msgstr ""
-
-#: builtin/rebase.c:1121
-msgid "keep commits which start empty"
-msgstr ""
-
-#: builtin/rebase.c:1125
-msgid "move commits that begin with squash!/fixup! under -i"
-msgstr ""
-
-#: builtin/rebase.c:1132
-msgid "add exec lines after each commit of the editable list"
-msgstr ""
-
-#: builtin/rebase.c:1136
-msgid "allow rebasing commits with empty messages"
-msgstr ""
-
-#: builtin/rebase.c:1140
-msgid "try to rebase merges instead of skipping them"
-msgstr ""
-
-#: builtin/rebase.c:1143
-msgid "use 'merge-base --fork-point' to refine upstream"
-msgstr ""
-
-#: builtin/rebase.c:1145
-msgid "use the given merge strategy"
-msgstr ""
-
-#: builtin/rebase.c:1147 builtin/revert.c:115
-msgid "option"
-msgstr ""
-
-#: builtin/rebase.c:1148
-msgid "pass the argument through to the merge strategy"
-msgstr ""
-
-#: builtin/rebase.c:1151
-msgid "rebase all reachable commits up to the root(s)"
-msgstr ""
-
-#: builtin/rebase.c:1154
-msgid "automatically re-schedule any `exec` that fails"
-msgstr ""
-
-#: builtin/rebase.c:1156
-msgid "apply all changes, even those already present upstream"
-msgstr ""
-
-#: builtin/rebase.c:1177
-msgid "It looks like 'git am' is in progress. Cannot rebase."
-msgstr ""
-
-#: builtin/rebase.c:1208
-msgid "--preserve-merges was replaced by --rebase-merges"
-msgstr ""
-
-#: builtin/rebase.c:1230
-msgid "No rebase in progress?"
-msgstr ""
-
-#: builtin/rebase.c:1234
-msgid "The --edit-todo action can only be used during interactive rebase."
-msgstr ""
-
-#: builtin/rebase.c:1257 t/helper/test-fast-rebase.c:122
-msgid "Cannot read HEAD"
-msgstr ""
-
-#: builtin/rebase.c:1269
-msgid ""
-"You must edit all merge conflicts and then\n"
-"mark them as resolved using git add"
-msgstr ""
-
-#: builtin/rebase.c:1287
-msgid "could not discard worktree changes"
-msgstr ""
-
-#: builtin/rebase.c:1308
-#, c-format
-msgid "could not move back to %s"
-msgstr ""
-
-#: builtin/rebase.c:1354
-#, c-format
-msgid ""
-"It seems that there is already a %s directory, and\n"
-"I wonder if you are in the middle of another rebase.  If that is the\n"
-"case, please try\n"
-"\t%s\n"
-"If that is not the case, please\n"
-"\t%s\n"
-"and run me again.  I am stopping in case you still have something\n"
-"valuable there.\n"
-msgstr ""
-
-#: builtin/rebase.c:1382
-msgid "switch `C' expects a numerical value"
-msgstr ""
-
-#: builtin/rebase.c:1424
-#, c-format
-msgid "Unknown mode: %s"
-msgstr ""
-
-#: builtin/rebase.c:1463
-msgid "--strategy requires --merge or --interactive"
-msgstr ""
-
-#: builtin/rebase.c:1492
-msgid "apply options and merge options cannot be used together"
-msgstr ""
-
-#: builtin/rebase.c:1505
-#, c-format
-msgid "Unknown rebase backend: %s"
-msgstr ""
-
-#: builtin/rebase.c:1534
-msgid "--reschedule-failed-exec requires --exec or --interactive"
-msgstr ""
-
-#: builtin/rebase.c:1565
-#, c-format
-msgid "invalid upstream '%s'"
-msgstr ""
-
-#: builtin/rebase.c:1571
-msgid "Could not create new root commit"
-msgstr ""
-
-#: builtin/rebase.c:1597
-#, c-format
-msgid "'%s': need exactly one merge base with branch"
-msgstr ""
-
-#: builtin/rebase.c:1600
-#, c-format
-msgid "'%s': need exactly one merge base"
-msgstr ""
-
-#: builtin/rebase.c:1609
-#, c-format
-msgid "Does not point to a valid commit '%s'"
-msgstr ""
-
-#: builtin/rebase.c:1636
-#, c-format
-msgid "no such branch/commit '%s'"
-msgstr ""
-
-#: builtin/rebase.c:1647 builtin/submodule--helper.c:43
-#: builtin/submodule--helper.c:2477
-#, c-format
-msgid "No such ref: %s"
-msgstr ""
-
-#: builtin/rebase.c:1658
-msgid "Could not resolve HEAD to a revision"
-msgstr ""
-
-#: builtin/rebase.c:1679
-msgid "Please commit or stash them."
-msgstr ""
-
-#: builtin/rebase.c:1714
-msgid "HEAD is up to date."
-msgstr ""
-
-#: builtin/rebase.c:1716
-#, c-format
-msgid "Current branch %s is up to date.\n"
-msgstr ""
-
-#: builtin/rebase.c:1724
-msgid "HEAD is up to date, rebase forced."
-msgstr ""
-
-#: builtin/rebase.c:1726
-#, c-format
-msgid "Current branch %s is up to date, rebase forced.\n"
-msgstr ""
-
-#: builtin/rebase.c:1734
-msgid "The pre-rebase hook refused to rebase."
-msgstr ""
-
-#: builtin/rebase.c:1741
-#, c-format
-msgid "Changes to %s:\n"
-msgstr ""
-
-#: builtin/rebase.c:1744
-#, c-format
-msgid "Changes from %s to %s:\n"
-msgstr ""
-
-#: builtin/rebase.c:1769
-#, c-format
-msgid "First, rewinding head to replay your work on top of it...\n"
-msgstr ""
-
-#: builtin/rebase.c:1781
-msgid "Could not detach HEAD"
-msgstr ""
-
-#: builtin/rebase.c:1790
-#, c-format
-msgid "Fast-forwarded %s to %s.\n"
-msgstr ""
-
-#: builtin/receive-pack.c:35
-msgid "git receive-pack <git-dir>"
-msgstr ""
-
-#: builtin/receive-pack.c:1263
-msgid ""
-"By default, updating the current branch in a non-bare repository\n"
-"is denied, because it will make the index and work tree inconsistent\n"
-"with what you pushed, and will require 'git reset --hard' to match\n"
-"the work tree to HEAD.\n"
-"\n"
-"You can set the 'receive.denyCurrentBranch' configuration variable\n"
-"to 'ignore' or 'warn' in the remote repository to allow pushing into\n"
-"its current branch; however, this is not recommended unless you\n"
-"arranged to update its work tree to match what you pushed in some\n"
-"other way.\n"
-"\n"
-"To squelch this message and still keep the default behaviour, set\n"
-"'receive.denyCurrentBranch' configuration variable to 'refuse'."
-msgstr ""
-
-#: builtin/receive-pack.c:1283
-msgid ""
-"By default, deleting the current branch is denied, because the next\n"
-"'git clone' won't result in any file checked out, causing confusion.\n"
-"\n"
-"You can set 'receive.denyDeleteCurrent' configuration variable to\n"
-"'warn' or 'ignore' in the remote repository to allow deleting the\n"
-"current branch, with or without a warning message.\n"
-"\n"
-"To squelch this message, you can set it to 'refuse'."
-msgstr ""
-
-#: builtin/receive-pack.c:2476
-msgid "quiet"
-msgstr ""
-
-#: builtin/receive-pack.c:2491
-msgid "you must specify a directory"
-msgstr ""
-
-#: builtin/reflog.c:9
-msgid "git reflog [show] [<log-options>] [<ref>]"
-msgstr ""
-
-#: builtin/reflog.c:12
-msgid ""
-"git reflog expire [--expire=<time>] [--expire-unreachable=<time>]\n"
-"                  [--rewrite] [--updateref] [--stale-fix]\n"
-"                  [--dry-run | -n] [--verbose] [--all [--single-worktree] | "
-"<refs>...]"
-msgstr ""
-
-#: builtin/reflog.c:17
-msgid ""
-"git reflog delete [--rewrite] [--updateref]\n"
-"                  [--dry-run | -n] [--verbose] <ref>@{<specifier>}..."
-msgstr ""
-
-#: builtin/reflog.c:21
-msgid "git reflog exists <ref>"
-msgstr ""
-
-#: builtin/reflog.c:197 builtin/reflog.c:211
-#, c-format
-msgid "invalid timestamp '%s' given to '--%s'"
-msgstr ""
-
-#: builtin/reflog.c:240 builtin/reflog.c:359
-msgid "do not actually prune any entries"
-msgstr ""
-
-#: builtin/reflog.c:243 builtin/reflog.c:362
-msgid ""
-"rewrite the old SHA1 with the new SHA1 of the entry that now precedes it"
-msgstr ""
-
-#: builtin/reflog.c:246 builtin/reflog.c:365
-msgid "update the reference to the value of the top reflog entry"
-msgstr ""
-
-#: builtin/reflog.c:248 builtin/reflog.c:367
-msgid "print extra information on screen"
-msgstr ""
-
-#: builtin/reflog.c:249 builtin/reflog.c:253
-msgid "timestamp"
-msgstr ""
-
-#: builtin/reflog.c:250
-msgid "prune entries older than the specified time"
-msgstr ""
-
-#: builtin/reflog.c:254
-msgid ""
-"prune entries older than <time> that are not reachable from the current tip "
-"of the branch"
-msgstr ""
-
-#: builtin/reflog.c:258
-msgid "prune any reflog entries that point to broken commits"
-msgstr ""
-
-#: builtin/reflog.c:259
-msgid "process the reflogs of all references"
-msgstr ""
-
-#: builtin/reflog.c:261
-msgid "limits processing to reflogs from the current worktree only"
-msgstr ""
-
-#: builtin/reflog.c:294
-#, c-format
-msgid "Marking reachable objects..."
-msgstr ""
-
-#: builtin/reflog.c:338
-#, c-format
-msgid "%s points nowhere!"
-msgstr ""
-
-#: builtin/reflog.c:374
-msgid "no reflog specified to delete"
-msgstr ""
-
-#: builtin/reflog.c:396
-#, c-format
-msgid "invalid ref format: %s"
-msgstr ""
-
-#: builtin/remote.c:19
-msgid ""
-"git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
-"mirror=<fetch|push>] <name> <url>"
-msgstr ""
-
-#: builtin/remote.c:20 builtin/remote.c:40
-msgid "git remote rename [--[no-]progress] <old> <new>"
-msgstr ""
-
-#: builtin/remote.c:21 builtin/remote.c:45
-msgid "git remote remove <name>"
-msgstr ""
-
-#: builtin/remote.c:22 builtin/remote.c:50
-msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
-msgstr ""
-
-#: builtin/remote.c:23
-msgid "git remote [-v | --verbose] show [-n] <name>"
-msgstr ""
-
-#: builtin/remote.c:24
-msgid "git remote prune [-n | --dry-run] <name>"
-msgstr ""
-
-#: builtin/remote.c:25
-msgid ""
-"git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
-msgstr ""
-
-#: builtin/remote.c:26
-msgid "git remote set-branches [--add] <name> <branch>..."
-msgstr ""
-
-#: builtin/remote.c:27 builtin/remote.c:76
-msgid "git remote get-url [--push] [--all] <name>"
-msgstr ""
-
-#: builtin/remote.c:28 builtin/remote.c:81
-msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
-msgstr ""
-
-#: builtin/remote.c:29 builtin/remote.c:82
-msgid "git remote set-url --add <name> <newurl>"
-msgstr ""
-
-#: builtin/remote.c:30 builtin/remote.c:83
-msgid "git remote set-url --delete <name> <url>"
-msgstr ""
-
-#: builtin/remote.c:35
-msgid "git remote add [<options>] <name> <url>"
-msgstr ""
-
-#: builtin/remote.c:55
-msgid "git remote set-branches <name> <branch>..."
-msgstr ""
-
-#: builtin/remote.c:56
-msgid "git remote set-branches --add <name> <branch>..."
-msgstr ""
-
-#: builtin/remote.c:61
-msgid "git remote show [<options>] <name>"
-msgstr ""
-
-#: builtin/remote.c:66
-msgid "git remote prune [<options>] <name>"
-msgstr ""
-
-#: builtin/remote.c:71
-msgid "git remote update [<options>] [<group> | <remote>]..."
-msgstr ""
-
-#: builtin/remote.c:100
-#, c-format
-msgid "Updating %s"
-msgstr ""
-
-#: builtin/remote.c:102
-#, c-format
-msgid "Could not fetch %s"
-msgstr ""
-
-#: builtin/remote.c:132
-msgid ""
-"--mirror is dangerous and deprecated; please\n"
-"\t use --mirror=fetch or --mirror=push instead"
-msgstr ""
-
-#: builtin/remote.c:149
-#, c-format
-msgid "unknown mirror argument: %s"
-msgstr ""
-
-#: builtin/remote.c:165
-msgid "fetch the remote branches"
-msgstr ""
-
-#: builtin/remote.c:167
-msgid "import all tags and associated objects when fetching"
-msgstr ""
-
-#: builtin/remote.c:170
-msgid "or do not fetch any tag at all (--no-tags)"
-msgstr ""
-
-#: builtin/remote.c:172
-msgid "branch(es) to track"
-msgstr ""
-
-#: builtin/remote.c:173
-msgid "master branch"
-msgstr ""
-
-#: builtin/remote.c:175
-msgid "set up remote as a mirror to push to or fetch from"
-msgstr ""
-
-#: builtin/remote.c:187
-msgid "specifying a master branch makes no sense with --mirror"
-msgstr ""
-
-#: builtin/remote.c:189
-msgid "specifying branches to track makes sense only with fetch mirrors"
-msgstr ""
-
-#: builtin/remote.c:196 builtin/remote.c:716
-#, c-format
-msgid "remote %s already exists."
-msgstr ""
-
-#: builtin/remote.c:241
-#, c-format
-msgid "Could not setup master '%s'"
-msgstr ""
-
-#: builtin/remote.c:323
-#, c-format
-msgid "unhandled branch.%s.rebase=%s; assuming 'true'"
-msgstr ""
-
-#: builtin/remote.c:367
-#, c-format
-msgid "Could not get fetch map for refspec %s"
-msgstr ""
-
-#: builtin/remote.c:461 builtin/remote.c:469
-msgid "(matching)"
-msgstr ""
-
-#: builtin/remote.c:473
-msgid "(delete)"
-msgstr ""
-
-#: builtin/remote.c:664
-#, c-format
-msgid "could not set '%s'"
-msgstr ""
-
-#: builtin/remote.c:669
-#, c-format
-msgid ""
-"The %s configuration remote.pushDefault in:\n"
-"\t%s:%d\n"
-"now names the non-existent remote '%s'"
-msgstr ""
-
-#: builtin/remote.c:707 builtin/remote.c:866 builtin/remote.c:973
-#, c-format
-msgid "No such remote: '%s'"
-msgstr ""
-
-#: builtin/remote.c:726
-#, c-format
-msgid "Could not rename config section '%s' to '%s'"
-msgstr ""
-
-#: builtin/remote.c:746
-#, c-format
-msgid ""
-"Not updating non-default fetch refspec\n"
-"\t%s\n"
-"\tPlease update the configuration manually if necessary."
-msgstr ""
-
-#: builtin/remote.c:783
-msgid "Renaming remote references"
-msgstr ""
-
-#: builtin/remote.c:794
-#, c-format
-msgid "deleting '%s' failed"
-msgstr ""
-
-#: builtin/remote.c:832
-#, c-format
-msgid "creating '%s' failed"
-msgstr ""
-
-#: builtin/remote.c:912
-msgid ""
-"Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
-"to delete it, use:"
-msgid_plural ""
-"Note: Some branches outside the refs/remotes/ hierarchy were not removed;\n"
-"to delete them, use:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/remote.c:926
-#, c-format
-msgid "Could not remove config section '%s'"
-msgstr ""
-
-#: builtin/remote.c:1034
-#, c-format
-msgid " new (next fetch will store in remotes/%s)"
-msgstr ""
-
-#: builtin/remote.c:1037
-msgid " tracked"
-msgstr ""
-
-#: builtin/remote.c:1039
-msgid " stale (use 'git remote prune' to remove)"
-msgstr ""
-
-#: builtin/remote.c:1041
-msgid " ???"
-msgstr ""
-
-#: builtin/remote.c:1082
-#, c-format
-msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
-msgstr ""
-
-#: builtin/remote.c:1091
-#, c-format
-msgid "rebases interactively onto remote %s"
-msgstr ""
-
-#: builtin/remote.c:1093
-#, c-format
-msgid "rebases interactively (with merges) onto remote %s"
-msgstr ""
-
-#: builtin/remote.c:1096
-#, c-format
-msgid "rebases onto remote %s"
-msgstr ""
-
-#: builtin/remote.c:1100
-#, c-format
-msgid " merges with remote %s"
-msgstr ""
-
-#: builtin/remote.c:1103
-#, c-format
-msgid "merges with remote %s"
-msgstr ""
-
-#: builtin/remote.c:1106
-#, c-format
-msgid "%-*s    and with remote %s\n"
-msgstr ""
-
-#: builtin/remote.c:1149
-msgid "create"
-msgstr ""
-
-#: builtin/remote.c:1152
-msgid "delete"
-msgstr ""
-
-#: builtin/remote.c:1156
-msgid "up to date"
-msgstr ""
-
-#: builtin/remote.c:1159
-msgid "fast-forwardable"
-msgstr ""
-
-#: builtin/remote.c:1162
-msgid "local out of date"
-msgstr ""
-
-#: builtin/remote.c:1169
-#, c-format
-msgid "    %-*s forces to %-*s (%s)"
-msgstr ""
-
-#: builtin/remote.c:1172
-#, c-format
-msgid "    %-*s pushes to %-*s (%s)"
-msgstr ""
-
-#: builtin/remote.c:1176
-#, c-format
-msgid "    %-*s forces to %s"
-msgstr ""
-
-#: builtin/remote.c:1179
-#, c-format
-msgid "    %-*s pushes to %s"
-msgstr ""
-
-#: builtin/remote.c:1247
-msgid "do not query remotes"
-msgstr ""
-
-#: builtin/remote.c:1268
-#, c-format
-msgid "* remote %s"
-msgstr ""
-
-#: builtin/remote.c:1269
-#, c-format
-msgid "  Fetch URL: %s"
-msgstr ""
-
-#: builtin/remote.c:1270 builtin/remote.c:1286 builtin/remote.c:1423
-msgid "(no URL)"
-msgstr ""
-
-#. TRANSLATORS: the colon ':' should align
-#. with the one in " Fetch URL: %s"
-#. translation.
-#.
-#: builtin/remote.c:1284 builtin/remote.c:1286
-#, c-format
-msgid "  Push  URL: %s"
-msgstr ""
-
-#: builtin/remote.c:1288 builtin/remote.c:1290 builtin/remote.c:1292
-#, c-format
-msgid "  HEAD branch: %s"
-msgstr ""
-
-#: builtin/remote.c:1288
-msgid "(not queried)"
-msgstr ""
-
-#: builtin/remote.c:1290
-msgid "(unknown)"
-msgstr ""
-
-#: builtin/remote.c:1294
-#, c-format
-msgid ""
-"  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
-msgstr ""
-
-#: builtin/remote.c:1306
-#, c-format
-msgid "  Remote branch:%s"
-msgid_plural "  Remote branches:%s"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/remote.c:1309 builtin/remote.c:1335
-msgid " (status not queried)"
-msgstr ""
-
-#: builtin/remote.c:1318
-msgid "  Local branch configured for 'git pull':"
-msgid_plural "  Local branches configured for 'git pull':"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/remote.c:1326
-msgid "  Local refs will be mirrored by 'git push'"
-msgstr ""
-
-#: builtin/remote.c:1332
-#, c-format
-msgid "  Local ref configured for 'git push'%s:"
-msgid_plural "  Local refs configured for 'git push'%s:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/remote.c:1353
-msgid "set refs/remotes/<name>/HEAD according to remote"
-msgstr ""
-
-#: builtin/remote.c:1355
-msgid "delete refs/remotes/<name>/HEAD"
-msgstr ""
-
-#: builtin/remote.c:1369
-msgid "Cannot determine remote HEAD"
-msgstr ""
-
-#: builtin/remote.c:1371
-msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
-msgstr ""
-
-#: builtin/remote.c:1381
-#, c-format
-msgid "Could not delete %s"
-msgstr ""
-
-#: builtin/remote.c:1389
-#, c-format
-msgid "Not a valid ref: %s"
-msgstr ""
-
-#: builtin/remote.c:1391
-#, c-format
-msgid "Could not setup %s"
-msgstr ""
-
-#: builtin/remote.c:1409
-#, c-format
-msgid " %s will become dangling!"
-msgstr ""
-
-#: builtin/remote.c:1410
-#, c-format
-msgid " %s has become dangling!"
-msgstr ""
-
-#: builtin/remote.c:1419
-#, c-format
-msgid "Pruning %s"
-msgstr ""
-
-#: builtin/remote.c:1420
-#, c-format
-msgid "URL: %s"
-msgstr ""
-
-#: builtin/remote.c:1436
-#, c-format
-msgid " * [would prune] %s"
-msgstr ""
-
-#: builtin/remote.c:1439
-#, c-format
-msgid " * [pruned] %s"
-msgstr ""
-
-#: builtin/remote.c:1484
-msgid "prune remotes after fetching"
-msgstr ""
-
-#: builtin/remote.c:1548 builtin/remote.c:1604 builtin/remote.c:1674
-#, c-format
-msgid "No such remote '%s'"
-msgstr ""
-
-#: builtin/remote.c:1566
-msgid "add branch"
-msgstr ""
-
-#: builtin/remote.c:1573
-msgid "no remote specified"
-msgstr ""
-
-#: builtin/remote.c:1590
-msgid "query push URLs rather than fetch URLs"
-msgstr ""
-
-#: builtin/remote.c:1592
-msgid "return all URLs"
-msgstr ""
-
-#: builtin/remote.c:1622
-#, c-format
-msgid "no URLs configured for remote '%s'"
-msgstr ""
-
-#: builtin/remote.c:1648
-msgid "manipulate push URLs"
-msgstr ""
-
-#: builtin/remote.c:1650
-msgid "add URL"
-msgstr ""
-
-#: builtin/remote.c:1652
-msgid "delete URLs"
-msgstr ""
-
-#: builtin/remote.c:1659
-msgid "--add --delete doesn't make sense"
-msgstr ""
-
-#: builtin/remote.c:1700
-#, c-format
-msgid "Invalid old URL pattern: %s"
-msgstr ""
-
-#: builtin/remote.c:1708
-#, c-format
-msgid "No such URL found: %s"
-msgstr ""
-
-#: builtin/remote.c:1710
-msgid "Will not delete all non-push URLs"
-msgstr ""
-
-#: builtin/remote.c:1727
-msgid "be verbose; must be placed before a subcommand"
-msgstr ""
-
-#: builtin/repack.c:29
-msgid "git repack [<options>]"
-msgstr ""
-
-#: builtin/repack.c:34
-msgid ""
-"Incremental repacks are incompatible with bitmap indexes.  Use\n"
-"--no-write-bitmap-index or disable the pack.writebitmaps configuration."
-msgstr ""
-
-#: builtin/repack.c:206
-msgid "could not start pack-objects to repack promisor objects"
-msgstr ""
-
-#: builtin/repack.c:280 builtin/repack.c:824
-msgid "repack: Expecting full hex object ID lines only from pack-objects."
-msgstr ""
-
-#: builtin/repack.c:304
-msgid "could not finish pack-objects to repack promisor objects"
-msgstr ""
-
-#: builtin/repack.c:319
-#, c-format
-msgid "cannot open index for %s"
-msgstr ""
-
-#: builtin/repack.c:378
-#, c-format
-msgid "pack %s too large to consider in geometric progression"
-msgstr ""
-
-#: builtin/repack.c:411 builtin/repack.c:418 builtin/repack.c:423
-#, c-format
-msgid "pack %s too large to roll up"
-msgstr ""
-
-#: builtin/repack.c:503
-#, c-format
-msgid "could not open tempfile %s for writing"
-msgstr ""
-
-#: builtin/repack.c:521
-msgid "could not close refs snapshot tempfile"
-msgstr ""
-
-#: builtin/repack.c:634
-msgid "pack everything in a single pack"
-msgstr ""
-
-#: builtin/repack.c:636
-msgid "same as -a, and turn unreachable objects loose"
-msgstr ""
-
-#: builtin/repack.c:639
-msgid "remove redundant packs, and run git-prune-packed"
-msgstr ""
-
-#: builtin/repack.c:641
-msgid "pass --no-reuse-delta to git-pack-objects"
-msgstr ""
-
-#: builtin/repack.c:643
-msgid "pass --no-reuse-object to git-pack-objects"
-msgstr ""
-
-#: builtin/repack.c:645
-msgid "do not run git-update-server-info"
-msgstr ""
-
-#: builtin/repack.c:648
-msgid "pass --local to git-pack-objects"
-msgstr ""
-
-#: builtin/repack.c:650
-msgid "write bitmap index"
-msgstr ""
-
-#: builtin/repack.c:652
-msgid "pass --delta-islands to git-pack-objects"
-msgstr ""
-
-#: builtin/repack.c:653
-msgid "approxidate"
-msgstr ""
-
-#: builtin/repack.c:654
-msgid "with -A, do not loosen objects older than this"
-msgstr ""
-
-#: builtin/repack.c:656
-msgid "with -a, repack unreachable objects"
-msgstr ""
-
-#: builtin/repack.c:658
-msgid "size of the window used for delta compression"
-msgstr ""
-
-#: builtin/repack.c:659 builtin/repack.c:665
-msgid "bytes"
-msgstr ""
-
-#: builtin/repack.c:660
-msgid "same as the above, but limit memory size instead of entries count"
-msgstr ""
-
-#: builtin/repack.c:662
-msgid "limits the maximum delta depth"
-msgstr ""
-
-#: builtin/repack.c:664
-msgid "limits the maximum number of threads"
-msgstr ""
-
-#: builtin/repack.c:666
-msgid "maximum size of each packfile"
-msgstr ""
-
-#: builtin/repack.c:668
-msgid "repack objects in packs marked with .keep"
-msgstr ""
-
-#: builtin/repack.c:670
-msgid "do not repack this pack"
-msgstr ""
-
-#: builtin/repack.c:672
-msgid "find a geometric progression with factor <N>"
-msgstr ""
-
-#: builtin/repack.c:674
-msgid "write a multi-pack index of the resulting packs"
-msgstr ""
-
-#: builtin/repack.c:684
-msgid "cannot delete packs in a precious-objects repo"
-msgstr ""
-
-#: builtin/repack.c:833
-msgid "Nothing new to pack."
-msgstr ""
-
-#: builtin/repack.c:863
-#, c-format
-msgid "missing required file: %s"
-msgstr ""
-
-#: builtin/repack.c:865
-#, c-format
-msgid "could not unlink: %s"
-msgstr ""
-
-#: builtin/replace.c:22
-msgid "git replace [-f] <object> <replacement>"
-msgstr ""
-
-#: builtin/replace.c:23
-msgid "git replace [-f] --edit <object>"
-msgstr ""
-
-#: builtin/replace.c:24
-msgid "git replace [-f] --graft <commit> [<parent>...]"
-msgstr ""
-
-#: builtin/replace.c:26
-msgid "git replace -d <object>..."
-msgstr ""
-
-#: builtin/replace.c:27
-msgid "git replace [--format=<format>] [-l [<pattern>]]"
-msgstr ""
-
-#: builtin/replace.c:90
-#, c-format
-msgid ""
-"invalid replace format '%s'\n"
-"valid formats are 'short', 'medium' and 'long'"
-msgstr ""
-
-#: builtin/replace.c:125
-#, c-format
-msgid "replace ref '%s' not found"
-msgstr ""
-
-#: builtin/replace.c:141
-#, c-format
-msgid "Deleted replace ref '%s'"
-msgstr ""
-
-#: builtin/replace.c:153
-#, c-format
-msgid "'%s' is not a valid ref name"
-msgstr ""
-
-#: builtin/replace.c:158
-#, c-format
-msgid "replace ref '%s' already exists"
-msgstr ""
-
-#: builtin/replace.c:178
-#, c-format
-msgid ""
-"Objects must be of the same type.\n"
-"'%s' points to a replaced object of type '%s'\n"
-"while '%s' points to a replacement object of type '%s'."
-msgstr ""
-
-#: builtin/replace.c:229
-#, c-format
-msgid "unable to open %s for writing"
-msgstr ""
-
-#: builtin/replace.c:242
-msgid "cat-file reported failure"
-msgstr ""
-
-#: builtin/replace.c:258
-#, c-format
-msgid "unable to open %s for reading"
-msgstr ""
-
-#: builtin/replace.c:271
-msgid "unable to spawn mktree"
-msgstr ""
-
-#: builtin/replace.c:275
-msgid "unable to read from mktree"
-msgstr ""
-
-#: builtin/replace.c:284
-msgid "mktree reported failure"
-msgstr ""
-
-#: builtin/replace.c:288
-msgid "mktree did not return an object name"
-msgstr ""
-
-#: builtin/replace.c:297
-#, c-format
-msgid "unable to fstat %s"
-msgstr ""
-
-#: builtin/replace.c:302
-msgid "unable to write object to database"
-msgstr ""
-
-#: builtin/replace.c:325
-#, c-format
-msgid "unable to get object type for %s"
-msgstr ""
-
-#: builtin/replace.c:341
-msgid "editing object file failed"
-msgstr ""
-
-#: builtin/replace.c:350
-#, c-format
-msgid "new object is the same as the old one: '%s'"
-msgstr ""
-
-#: builtin/replace.c:383
-#, c-format
-msgid "could not parse %s as a commit"
-msgstr ""
-
-#: builtin/replace.c:415
-#, c-format
-msgid "bad mergetag in commit '%s'"
-msgstr ""
-
-#: builtin/replace.c:417
-#, c-format
-msgid "malformed mergetag in commit '%s'"
-msgstr ""
-
-#: builtin/replace.c:429
-#, c-format
-msgid ""
-"original commit '%s' contains mergetag '%s' that is discarded; use --edit "
-"instead of --graft"
-msgstr ""
-
-#: builtin/replace.c:468
-#, c-format
-msgid "the original commit '%s' has a gpg signature"
-msgstr ""
-
-#: builtin/replace.c:469
-msgid "the signature will be removed in the replacement commit!"
-msgstr ""
-
-#: builtin/replace.c:479
-#, c-format
-msgid "could not write replacement commit for: '%s'"
-msgstr ""
-
-#: builtin/replace.c:487
-#, c-format
-msgid "graft for '%s' unnecessary"
-msgstr ""
-
-#: builtin/replace.c:491
-#, c-format
-msgid "new commit is the same as the old one: '%s'"
-msgstr ""
-
-#: builtin/replace.c:526
-#, c-format
-msgid ""
-"could not convert the following graft(s):\n"
-"%s"
-msgstr ""
-
-#: builtin/replace.c:547
-msgid "list replace refs"
-msgstr ""
-
-#: builtin/replace.c:548
-msgid "delete replace refs"
-msgstr ""
-
-#: builtin/replace.c:549
-msgid "edit existing object"
-msgstr ""
-
-#: builtin/replace.c:550
-msgid "change a commit's parents"
-msgstr ""
-
-#: builtin/replace.c:551
-msgid "convert existing graft file"
-msgstr ""
-
-#: builtin/replace.c:552
-msgid "replace the ref if it exists"
-msgstr ""
-
-#: builtin/replace.c:554
-msgid "do not pretty-print contents for --edit"
-msgstr ""
-
-#: builtin/replace.c:555
-msgid "use this format"
-msgstr ""
-
-#: builtin/replace.c:568
-msgid "--format cannot be used when not listing"
-msgstr ""
-
-#: builtin/replace.c:576
-msgid "-f only makes sense when writing a replacement"
-msgstr ""
-
-#: builtin/replace.c:580
-msgid "--raw only makes sense with --edit"
-msgstr ""
-
-#: builtin/replace.c:586
-msgid "-d needs at least one argument"
-msgstr ""
-
-#: builtin/replace.c:592
-msgid "bad number of arguments"
-msgstr ""
-
-#: builtin/replace.c:598
-msgid "-e needs exactly one argument"
-msgstr ""
-
-#: builtin/replace.c:604
-msgid "-g needs at least one argument"
-msgstr ""
-
-#: builtin/replace.c:610
-msgid "--convert-graft-file takes no argument"
-msgstr ""
-
-#: builtin/replace.c:616
-msgid "only one pattern can be given with -l"
-msgstr ""
-
-#: builtin/rerere.c:13
-msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
-msgstr ""
-
-#: builtin/rerere.c:58
-msgid "register clean resolutions in index"
-msgstr ""
-
-#: builtin/rerere.c:77
-msgid "'git rerere forget' without paths is deprecated"
-msgstr ""
-
-#: builtin/rerere.c:111
-#, c-format
-msgid "unable to generate diff for '%s'"
-msgstr ""
-
-#: builtin/reset.c:33
-msgid ""
-"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
-msgstr ""
-
-#: builtin/reset.c:34
-msgid "git reset [-q] [<tree-ish>] [--] <pathspec>..."
-msgstr ""
-
-#: builtin/reset.c:35
-msgid ""
-"git reset [-q] [--pathspec-from-file [--pathspec-file-nul]] [<tree-ish>]"
-msgstr ""
-
-#: builtin/reset.c:36
-msgid "git reset --patch [<tree-ish>] [--] [<pathspec>...]"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "mixed"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "soft"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "hard"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "merge"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "keep"
-msgstr ""
-
-#: builtin/reset.c:90
-msgid "You do not have a valid HEAD."
-msgstr ""
-
-#: builtin/reset.c:92
-msgid "Failed to find tree of HEAD."
-msgstr ""
-
-#: builtin/reset.c:98
-#, c-format
-msgid "Failed to find tree of %s."
-msgstr ""
-
-#: builtin/reset.c:123
-#, c-format
-msgid "HEAD is now at %s"
-msgstr ""
-
-#: builtin/reset.c:304
-#, c-format
-msgid "Cannot do a %s reset in the middle of a merge."
-msgstr ""
-
-#: builtin/reset.c:402 builtin/stash.c:606 builtin/stash.c:669
-#: builtin/stash.c:693
-msgid "be quiet, only report errors"
-msgstr ""
-
-#: builtin/reset.c:404
-msgid "skip refreshing the index after reset"
-msgstr ""
-
-#: builtin/reset.c:406
-msgid "reset HEAD and index"
-msgstr ""
-
-#: builtin/reset.c:407
-msgid "reset only HEAD"
-msgstr ""
-
-#: builtin/reset.c:409 builtin/reset.c:411
-msgid "reset HEAD, index and working tree"
-msgstr ""
-
-#: builtin/reset.c:413
-msgid "reset HEAD but keep local changes"
-msgstr ""
-
-#: builtin/reset.c:419
-msgid "record only the fact that removed paths will be added later"
-msgstr ""
-
-#: builtin/reset.c:452
-#, c-format
-msgid "Failed to resolve '%s' as a valid revision."
-msgstr ""
-
-#: builtin/reset.c:460
-#, c-format
-msgid "Failed to resolve '%s' as a valid tree."
-msgstr ""
-
-#: builtin/reset.c:479
-msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
-msgstr ""
-
-#: builtin/reset.c:481
-#, c-format
-msgid "Cannot do %s reset with paths."
-msgstr ""
-
-#: builtin/reset.c:496
-#, c-format
-msgid "%s reset is not allowed in a bare repository"
-msgstr ""
-
-#: builtin/reset.c:527
-msgid "Unstaged changes after reset:"
-msgstr ""
-
-#: builtin/reset.c:530
-#, c-format
-msgid ""
-"It took %.2f seconds to refresh the index after reset.  You can use\n"
-"'--no-refresh' to avoid this."
-msgstr ""
-
-#: builtin/reset.c:547
-#, c-format
-msgid "Could not reset index file to revision '%s'."
-msgstr ""
-
-#: builtin/reset.c:552
-msgid "Could not write new index file."
-msgstr ""
-
-#: builtin/rev-list.c:659
-msgid "rev-list does not support display of notes"
-msgstr ""
-
-#: builtin/rev-list.c:664
-#, c-format
-msgid "marked counting and '%s' cannot be used together"
-msgstr ""
-
-#: builtin/rev-parse.c:409
-msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
-msgstr ""
-
-#: builtin/rev-parse.c:414
-msgid "keep the `--` passed as an arg"
-msgstr ""
-
-#: builtin/rev-parse.c:416
-msgid "stop parsing after the first non-option argument"
-msgstr ""
-
-#: builtin/rev-parse.c:419
-msgid "output in stuck long form"
-msgstr ""
-
-#: builtin/rev-parse.c:438
-msgid "premature end of input"
-msgstr ""
-
-#: builtin/rev-parse.c:442
-msgid "no usage string given before the `--' separator"
-msgstr ""
-
-#: builtin/rev-parse.c:548
-msgid "Needed a single revision"
-msgstr ""
-
-#: builtin/rev-parse.c:552
-msgid ""
-"git rev-parse --parseopt [<options>] -- [<args>...]\n"
-"   or: git rev-parse --sq-quote [<arg>...]\n"
-"   or: git rev-parse [<options>] [<arg>...]\n"
-"\n"
-"Run \"git rev-parse --parseopt -h\" for more information on the first usage."
-msgstr ""
-
-#: builtin/rev-parse.c:712
-msgid "--resolve-git-dir requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:715
-#, c-format
-msgid "not a gitdir '%s'"
-msgstr ""
-
-#: builtin/rev-parse.c:739
-msgid "--git-path requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:749
-msgid "-n requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:763
-msgid "--path-format requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:769
-#, c-format
-msgid "unknown argument to --path-format: %s"
-msgstr ""
-
-#: builtin/rev-parse.c:776
-msgid "--default requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:782
-msgid "--prefix requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:851
-#, c-format
-msgid "unknown mode for --abbrev-ref: %s"
-msgstr ""
-
-#: builtin/rev-parse.c:1023
-#, c-format
-msgid "unknown mode for --show-object-format: %s"
-msgstr ""
-
-#: builtin/revert.c:24
-msgid "git revert [<options>] <commit-ish>..."
-msgstr ""
-
-#: builtin/revert.c:25
-msgid "git revert <subcommand>"
-msgstr ""
-
-#: builtin/revert.c:30
-msgid "git cherry-pick [<options>] <commit-ish>..."
-msgstr ""
-
-#: builtin/revert.c:31
-msgid "git cherry-pick <subcommand>"
-msgstr ""
-
-#: builtin/revert.c:72
-#, c-format
-msgid "option `%s' expects a number greater than zero"
-msgstr ""
-
-#: builtin/revert.c:92
-#, c-format
-msgid "%s: %s cannot be used with %s"
-msgstr ""
-
-#: builtin/revert.c:102
-msgid "end revert or cherry-pick sequence"
-msgstr ""
-
-#: builtin/revert.c:103
-msgid "resume revert or cherry-pick sequence"
-msgstr ""
-
-#: builtin/revert.c:104
-msgid "cancel revert or cherry-pick sequence"
-msgstr ""
-
-#: builtin/revert.c:105
-msgid "skip current commit and continue"
-msgstr ""
-
-#: builtin/revert.c:107
-msgid "don't automatically commit"
-msgstr ""
-
-#: builtin/revert.c:108
-msgid "edit the commit message"
-msgstr ""
-
-#: builtin/revert.c:111
-msgid "parent-number"
-msgstr ""
-
-#: builtin/revert.c:112
-msgid "select mainline parent"
-msgstr ""
-
-#: builtin/revert.c:114
-msgid "merge strategy"
-msgstr ""
-
-#: builtin/revert.c:116
-msgid "option for merge strategy"
-msgstr ""
-
-#: builtin/revert.c:125
-msgid "append commit name"
-msgstr ""
-
-#: builtin/revert.c:127
-msgid "preserve initially empty commits"
-msgstr ""
-
-#: builtin/revert.c:128
-msgid "allow commits with empty messages"
-msgstr ""
-
-#: builtin/revert.c:129
-msgid "keep redundant, empty commits"
-msgstr ""
-
-#: builtin/revert.c:241
-msgid "revert failed"
-msgstr ""
-
-#: builtin/revert.c:254
-msgid "cherry-pick failed"
-msgstr ""
-
-#: builtin/rm.c:20
-msgid "git rm [<options>] [--] <file>..."
-msgstr ""
-
-#: builtin/rm.c:208
-msgid ""
-"the following file has staged content different from both the\n"
-"file and the HEAD:"
-msgid_plural ""
-"the following files have staged content different from both the\n"
-"file and the HEAD:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/rm.c:213
-msgid ""
-"\n"
-"(use -f to force removal)"
-msgstr ""
-
-#: builtin/rm.c:217
-msgid "the following file has changes staged in the index:"
-msgid_plural "the following files have changes staged in the index:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/rm.c:221 builtin/rm.c:230
-msgid ""
-"\n"
-"(use --cached to keep the file, or -f to force removal)"
-msgstr ""
-
-#: builtin/rm.c:227
-msgid "the following file has local modifications:"
-msgid_plural "the following files have local modifications:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/rm.c:245
-msgid "do not list removed files"
-msgstr ""
-
-#: builtin/rm.c:246
-msgid "only remove from the index"
-msgstr ""
-
-#: builtin/rm.c:247
-msgid "override the up-to-date check"
-msgstr ""
-
-#: builtin/rm.c:248
-msgid "allow recursive removal"
-msgstr ""
-
-#: builtin/rm.c:250
-msgid "exit with a zero status even if nothing matched"
-msgstr ""
-
-#: builtin/rm.c:285
-msgid "No pathspec was given. Which files should I remove?"
-msgstr ""
-
-#: builtin/rm.c:315
-msgid "please stage your changes to .gitmodules or stash them to proceed"
-msgstr ""
-
-#: builtin/rm.c:337
-#, c-format
-msgid "not removing '%s' recursively without -r"
-msgstr ""
-
-#: builtin/rm.c:385
-#, c-format
-msgid "git rm: unable to remove %s"
-msgstr ""
-
-#: builtin/send-pack.c:20
-msgid ""
-"git send-pack [--mirror] [--dry-run] [--force]\n"
-"              [--receive-pack=<git-receive-pack>]\n"
-"              [--verbose] [--thin] [--atomic]\n"
-"              [<host>:]<directory> (--all | <ref>...)"
-msgstr ""
-
-#: builtin/send-pack.c:192
-msgid "remote name"
-msgstr ""
-
-#: builtin/send-pack.c:205
-msgid "use stateless RPC protocol"
-msgstr ""
-
-#: builtin/send-pack.c:206
-msgid "read refs from stdin"
-msgstr ""
-
-#: builtin/send-pack.c:207
-msgid "print status from remote helper"
-msgstr ""
-
-#: builtin/shortlog.c:16
-msgid "git shortlog [<options>] [<revision-range>] [[--] <path>...]"
-msgstr ""
-
-#: builtin/shortlog.c:17
-msgid "git log --pretty=short | git shortlog [<options>]"
-msgstr ""
-
-#: builtin/shortlog.c:123
-msgid "using multiple --group options with stdin is not supported"
-msgstr ""
-
-#: builtin/shortlog.c:133
-msgid "using --group=trailer with stdin is not supported"
-msgstr ""
-
-#: builtin/shortlog.c:323
-#, c-format
-msgid "unknown group type: %s"
-msgstr ""
-
-#: builtin/shortlog.c:351
-msgid "group by committer rather than author"
-msgstr ""
-
-#: builtin/shortlog.c:354
-msgid "sort output according to the number of commits per author"
-msgstr ""
-
-#: builtin/shortlog.c:356
-msgid "suppress commit descriptions, only provides commit count"
-msgstr ""
-
-#: builtin/shortlog.c:358
-msgid "show the email address of each author"
-msgstr ""
-
-#: builtin/shortlog.c:359
-msgid "<w>[,<i1>[,<i2>]]"
-msgstr ""
-
-#: builtin/shortlog.c:360
-msgid "linewrap output"
-msgstr ""
-
-#: builtin/shortlog.c:362
-msgid "field"
-msgstr ""
-
-#: builtin/shortlog.c:363
-msgid "group by field"
-msgstr ""
-
-#: builtin/shortlog.c:395
-msgid "too many arguments given outside repository"
-msgstr ""
-
-#: builtin/show-branch.c:14
-msgid ""
-"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
-"                [--current] [--color[=<when>] | --no-color] [--sparse]\n"
-"                [--more=<n> | --list | --independent | --merge-base]\n"
-"                [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
-msgstr ""
-
-#: builtin/show-branch.c:18
-msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
-msgstr ""
-
-#: builtin/show-branch.c:396
-#, c-format
-msgid "ignoring %s; cannot handle more than %d ref"
-msgid_plural "ignoring %s; cannot handle more than %d refs"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/show-branch.c:548
-#, c-format
-msgid "no matching refs with %s"
-msgstr ""
-
-#: builtin/show-branch.c:645
-msgid "show remote-tracking and local branches"
-msgstr ""
-
-#: builtin/show-branch.c:647
-msgid "show remote-tracking branches"
-msgstr ""
-
-#: builtin/show-branch.c:649
-msgid "color '*!+-' corresponding to the branch"
-msgstr ""
-
-#: builtin/show-branch.c:651
-msgid "show <n> more commits after the common ancestor"
-msgstr ""
-
-#: builtin/show-branch.c:653
-msgid "synonym to more=-1"
-msgstr ""
-
-#: builtin/show-branch.c:654
-msgid "suppress naming strings"
-msgstr ""
-
-#: builtin/show-branch.c:656
-msgid "include the current branch"
-msgstr ""
-
-#: builtin/show-branch.c:658
-msgid "name commits with their object names"
-msgstr ""
-
-#: builtin/show-branch.c:660
-msgid "show possible merge bases"
-msgstr ""
-
-#: builtin/show-branch.c:662
-msgid "show refs unreachable from any other ref"
-msgstr ""
-
-#: builtin/show-branch.c:664
-msgid "show commits in topological order"
-msgstr ""
-
-#: builtin/show-branch.c:667
-msgid "show only commits not on the first branch"
-msgstr ""
-
-#: builtin/show-branch.c:669
-msgid "show merges reachable from only one tip"
-msgstr ""
-
-#: builtin/show-branch.c:671
-msgid "topologically sort, maintaining date order where possible"
-msgstr ""
-
-#: builtin/show-branch.c:674
-msgid "<n>[,<base>]"
-msgstr ""
-
-#: builtin/show-branch.c:675
-msgid "show <n> most recent ref-log entries starting at base"
-msgstr ""
-
-#: builtin/show-branch.c:735
-msgid "no branches given, and HEAD is not valid"
-msgstr ""
-
-#: builtin/show-branch.c:738
-msgid "--reflog option needs one branch name"
-msgstr ""
-
-#: builtin/show-branch.c:741
-#, c-format
-msgid "only %d entry can be shown at one time."
-msgid_plural "only %d entries can be shown at one time."
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/show-branch.c:745
-#, c-format
-msgid "no such ref %s"
-msgstr ""
-
-#: builtin/show-branch.c:831
-#, c-format
-msgid "cannot handle more than %d rev."
-msgid_plural "cannot handle more than %d revs."
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/show-branch.c:835
-#, c-format
-msgid "'%s' is not a valid ref."
-msgstr ""
-
-#: builtin/show-branch.c:838
-#, c-format
-msgid "cannot find commit %s (%s)"
-msgstr ""
-
-#: builtin/show-index.c:21
-msgid "hash-algorithm"
-msgstr ""
-
-#: builtin/show-index.c:31
-msgid "Unknown hash algorithm"
-msgstr ""
-
-#: builtin/show-ref.c:12
-msgid ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
-msgstr ""
-
-#: builtin/show-ref.c:13
-msgid "git show-ref --exclude-existing[=<pattern>]"
-msgstr ""
-
-#: builtin/show-ref.c:162
-msgid "only show tags (can be combined with heads)"
-msgstr ""
-
-#: builtin/show-ref.c:163
-msgid "only show heads (can be combined with tags)"
-msgstr ""
-
-#: builtin/show-ref.c:164
-msgid "stricter reference checking, requires exact ref path"
-msgstr ""
-
-#: builtin/show-ref.c:167 builtin/show-ref.c:169
-msgid "show the HEAD reference, even if it would be filtered out"
-msgstr ""
-
-#: builtin/show-ref.c:171
-msgid "dereference tags into object IDs"
-msgstr ""
-
-#: builtin/show-ref.c:173
-msgid "only show SHA1 hash using <n> digits"
-msgstr ""
-
-#: builtin/show-ref.c:177
-msgid "do not print results to stdout (useful with --verify)"
-msgstr ""
-
-#: builtin/show-ref.c:179
-msgid "show refs from stdin that aren't in local repository"
-msgstr ""
-
-#: builtin/sparse-checkout.c:23
-msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
-msgstr ""
-
-#: builtin/sparse-checkout.c:61
-msgid "this worktree is not sparse"
-msgstr ""
-
-#: builtin/sparse-checkout.c:76
-msgid "this worktree is not sparse (sparse-checkout file may not exist)"
-msgstr ""
-
-#: builtin/sparse-checkout.c:177
-#, c-format
-msgid ""
-"directory '%s' contains untracked files, but is not in the sparse-checkout "
-"cone"
-msgstr ""
-
-#: builtin/sparse-checkout.c:185
-#, c-format
-msgid "failed to remove directory '%s'"
-msgstr ""
-
-#: builtin/sparse-checkout.c:327
-msgid "failed to create directory for sparse-checkout file"
-msgstr ""
-
-#: builtin/sparse-checkout.c:366
-msgid "failed to initialize worktree config"
-msgstr ""
-
-#: builtin/sparse-checkout.c:411
-msgid "failed to modify sparse-index config"
-msgstr ""
-
-#: builtin/sparse-checkout.c:441 builtin/sparse-checkout.c:793
-#: builtin/sparse-checkout.c:847
-msgid "initialize the sparse-checkout in cone mode"
-msgstr ""
-
-#: builtin/sparse-checkout.c:443 builtin/sparse-checkout.c:795
-#: builtin/sparse-checkout.c:849
-msgid "toggle the use of a sparse index"
-msgstr ""
-
-#: builtin/sparse-checkout.c:479
-#, c-format
-msgid "failed to open '%s'"
-msgstr ""
-
-#: builtin/sparse-checkout.c:531
-#, c-format
-msgid "could not normalize path %s"
-msgstr ""
-
-#: builtin/sparse-checkout.c:560
-#, c-format
-msgid "unable to unquote C-style string '%s'"
-msgstr ""
-
-#: builtin/sparse-checkout.c:615 builtin/sparse-checkout.c:643
-msgid "unable to load existing sparse-checkout patterns"
-msgstr ""
-
-#: builtin/sparse-checkout.c:619
-msgid "existing sparse-checkout patterns do not use cone mode"
-msgstr ""
-
-#: builtin/sparse-checkout.c:707
-msgid "please run from the toplevel directory in non-cone mode"
-msgstr ""
-
-#: builtin/sparse-checkout.c:712
-msgid "specify directories rather than patterns (no leading slash)"
-msgstr ""
-
-#: builtin/sparse-checkout.c:714
-msgid ""
-"specify directories rather than patterns.  If your directory starts with a "
-"'!', pass --skip-checks"
-msgstr ""
-
-#: builtin/sparse-checkout.c:716
-msgid ""
-"specify directories rather than patterns.  If your directory really has any "
-"of '*?[]\\' in it, pass --skip-checks"
-msgstr ""
-
-#: builtin/sparse-checkout.c:732
-#, c-format
-msgid ""
-"'%s' is not a directory; to treat it as a directory anyway, rerun with --"
-"skip-checks"
-msgstr ""
-
-#: builtin/sparse-checkout.c:734
-#, c-format
-msgid ""
-"pass a leading slash before paths such as '%s' if you want a single file "
-"(see NON-CONE PROBLEMS in the git-sparse-checkout manual)."
-msgstr ""
-
-#: builtin/sparse-checkout.c:739
-msgid "git sparse-checkout add [--skip-checks] (--stdin | <patterns>)"
-msgstr ""
-
-#: builtin/sparse-checkout.c:752 builtin/sparse-checkout.c:797
-msgid ""
-"skip some sanity checks on the given paths that might give false positives"
-msgstr ""
-
-#: builtin/sparse-checkout.c:755 builtin/sparse-checkout.c:800
-msgid "read patterns from standard in"
-msgstr ""
-
-#: builtin/sparse-checkout.c:760
-msgid "no sparse-checkout to add to"
-msgstr ""
-
-#: builtin/sparse-checkout.c:775
-msgid ""
-"git sparse-checkout set [--[no-]cone] [--[no-]sparse-index] [--skip-checks] "
-"(--stdin | <patterns>)"
-msgstr ""
-
-#: builtin/sparse-checkout.c:854
-msgid "must be in a sparse-checkout to reapply sparsity patterns"
-msgstr ""
-
-#: builtin/sparse-checkout.c:914
-msgid "error while refreshing working directory"
-msgstr ""
-
-#: builtin/stash.c:24 builtin/stash.c:40
-msgid "git stash list [<options>]"
-msgstr ""
-
-#: builtin/stash.c:25 builtin/stash.c:45
-msgid "git stash show [<options>] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:26 builtin/stash.c:50
-msgid "git stash drop [-q|--quiet] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:27
-msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:28 builtin/stash.c:65
-msgid "git stash branch <branchname> [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:30
-msgid ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-"          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-"          [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
-"          [--] [<pathspec>...]]"
-msgstr ""
-
-#: builtin/stash.c:34
-msgid ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-"          [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-
-#: builtin/stash.c:55
-msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:60
-msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:75
-msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
-msgstr ""
-
-#: builtin/stash.c:80
-msgid ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-"          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-"          [--] [<pathspec>...]]"
-msgstr ""
-
-#: builtin/stash.c:87
-msgid ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-"               [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-
-#: builtin/stash.c:130
-#, c-format
-msgid "'%s' is not a stash-like commit"
-msgstr ""
-
-#: builtin/stash.c:150
-#, c-format
-msgid "Too many revisions specified:%s"
-msgstr ""
-
-#: builtin/stash.c:164
-msgid "No stash entries found."
-msgstr ""
-
-#: builtin/stash.c:178
-#, c-format
-msgid "%s is not a valid reference"
-msgstr ""
-
-#: builtin/stash.c:227
-msgid "git stash clear with arguments is unimplemented"
-msgstr ""
-
-#: builtin/stash.c:447
-#, c-format
-msgid ""
-"WARNING: Untracked file in way of tracked file!  Renaming\n"
-"            %s -> %s\n"
-"         to make room.\n"
-msgstr ""
-
-#: builtin/stash.c:508
-msgid "cannot apply a stash in the middle of a merge"
-msgstr ""
-
-#: builtin/stash.c:519
-#, c-format
-msgid "could not generate diff %s^!."
-msgstr ""
-
-#: builtin/stash.c:526
-msgid "conflicts in index. Try without --index."
-msgstr ""
-
-#: builtin/stash.c:532
-msgid "could not save index tree"
-msgstr ""
-
-#: builtin/stash.c:552
-#, c-format
-msgid "Merging %s with %s"
-msgstr ""
-
-#: builtin/stash.c:562
-msgid "Index was not unstashed."
-msgstr ""
-
-#: builtin/stash.c:576
-msgid "could not restore untracked files from stash"
-msgstr ""
-
-#: builtin/stash.c:608 builtin/stash.c:695
-msgid "attempt to recreate the index"
-msgstr ""
-
-#: builtin/stash.c:641
-#, c-format
-msgid "Dropped %s (%s)"
-msgstr ""
-
-#: builtin/stash.c:644
-#, c-format
-msgid "%s: Could not drop stash entry"
-msgstr ""
-
-#: builtin/stash.c:657
-#, c-format
-msgid "'%s' is not a stash reference"
-msgstr ""
-
-#: builtin/stash.c:707
-msgid "The stash entry is kept in case you need it again."
-msgstr ""
-
-#: builtin/stash.c:730
-msgid "No branch name specified"
-msgstr ""
-
-#: builtin/stash.c:809
-msgid "failed to parse tree"
-msgstr ""
-
-#: builtin/stash.c:820
-msgid "failed to unpack trees"
-msgstr ""
-
-#: builtin/stash.c:840
-msgid "include untracked files in the stash"
-msgstr ""
-
-#: builtin/stash.c:843
-msgid "only show untracked files in the stash"
-msgstr ""
-
-#: builtin/stash.c:930 builtin/stash.c:967
-#, c-format
-msgid "Cannot update %s with %s"
-msgstr ""
-
-#: builtin/stash.c:948 builtin/stash.c:1667 builtin/stash.c:1739
-msgid "stash message"
-msgstr ""
-
-#: builtin/stash.c:958
-msgid "\"git stash store\" requires one <commit> argument"
-msgstr ""
-
-#: builtin/stash.c:1143
-msgid "No staged changes"
-msgstr ""
-
-#: builtin/stash.c:1204
-msgid "No changes selected"
-msgstr ""
-
-#: builtin/stash.c:1304
-msgid "You do not have the initial commit yet"
-msgstr ""
-
-#: builtin/stash.c:1331
-msgid "Cannot save the current index state"
-msgstr ""
-
-#: builtin/stash.c:1340
-msgid "Cannot save the untracked files"
-msgstr ""
-
-#: builtin/stash.c:1351 builtin/stash.c:1370
-msgid "Cannot save the current worktree state"
-msgstr ""
-
-#: builtin/stash.c:1361
-msgid "Cannot save the current staged state"
-msgstr ""
-
-#: builtin/stash.c:1398
-msgid "Cannot record working tree state"
-msgstr ""
-
-#: builtin/stash.c:1447
-msgid "Can't use --patch and --include-untracked or --all at the same time"
-msgstr ""
-
-#: builtin/stash.c:1458
-msgid "Can't use --staged and --include-untracked or --all at the same time"
-msgstr ""
-
-#: builtin/stash.c:1476
-msgid "Did you forget to 'git add'?"
-msgstr ""
-
-#: builtin/stash.c:1491
-msgid "No local changes to save"
-msgstr ""
-
-#: builtin/stash.c:1498
-msgid "Cannot initialize stash"
-msgstr ""
-
-#: builtin/stash.c:1513
-msgid "Cannot save the current status"
-msgstr ""
-
-#: builtin/stash.c:1518
-#, c-format
-msgid "Saved working directory and index state %s"
-msgstr ""
-
-#: builtin/stash.c:1615
-msgid "Cannot remove worktree changes"
-msgstr ""
-
-#: builtin/stash.c:1656 builtin/stash.c:1728
-msgid "keep index"
-msgstr ""
-
-#: builtin/stash.c:1658 builtin/stash.c:1730
-msgid "stash staged changes only"
-msgstr ""
-
-#: builtin/stash.c:1660 builtin/stash.c:1732
-msgid "stash in patch mode"
-msgstr ""
-
-#: builtin/stash.c:1661 builtin/stash.c:1733
-msgid "quiet mode"
-msgstr ""
-
-#: builtin/stash.c:1663 builtin/stash.c:1735
-msgid "include untracked files in stash"
-msgstr ""
-
-#: builtin/stash.c:1665 builtin/stash.c:1737
-msgid "include ignore files"
-msgstr ""
-
-#: builtin/stripspace.c:37
-msgid "skip and remove all lines starting with comment character"
-msgstr ""
-
-#: builtin/stripspace.c:40
-msgid "prepend comment character and space to each line"
-msgstr ""
-
-#: builtin/submodule--helper.c:50 builtin/submodule--helper.c:2486
-#, c-format
-msgid "Expecting a full ref name, got %s"
-msgstr ""
-
-#: builtin/submodule--helper.c:103
-#, c-format
-msgid "cannot strip one component off url '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:213
-#, c-format
-msgid ""
-"could not look up configuration '%s'. Assuming this repository is its own "
-"authoritative upstream."
-msgstr ""
-
-#: builtin/submodule--helper.c:413 builtin/submodule--helper.c:1873
-msgid "alternative anchor for relative paths"
-msgstr ""
-
-#: builtin/submodule--helper.c:418
-msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
-msgstr ""
-
-#: builtin/submodule--helper.c:476 builtin/submodule--helper.c:617
-#: builtin/submodule--helper.c:640
-#, c-format
-msgid "No url found for submodule path '%s' in .gitmodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:528
-#, c-format
-msgid "Entering '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:531
-#, c-format
-msgid ""
-"run_command returned non-zero status for %s\n"
-"."
-msgstr ""
-
-#: builtin/submodule--helper.c:553
-#, c-format
-msgid ""
-"run_command returned non-zero status while recursing in the nested "
-"submodules of %s\n"
-"."
-msgstr ""
-
-#: builtin/submodule--helper.c:569
-msgid "suppress output of entering each submodule command"
-msgstr ""
-
-#: builtin/submodule--helper.c:571 builtin/submodule--helper.c:876
-#: builtin/submodule--helper.c:1458
-msgid "recurse into nested submodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:576
-msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
-msgstr ""
-
-#: builtin/submodule--helper.c:654
-#, c-format
-msgid "Failed to register url for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:658
-#, c-format
-msgid "Submodule '%s' (%s) registered for path '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:668
-#, c-format
-msgid "warning: command update mode suggested for submodule '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:675
-#, c-format
-msgid "Failed to register update mode for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:697
-msgid "suppress output for initializing a submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:702
-msgid "git submodule--helper init [<options>] [<path>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:775 builtin/submodule--helper.c:910
-#, c-format
-msgid "no submodule mapping found in .gitmodules for path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:823
-#, c-format
-msgid "could not resolve HEAD ref inside the submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1428
-#, c-format
-msgid "failed to recurse into submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1595
-msgid "suppress submodule status output"
-msgstr ""
-
-#: builtin/submodule--helper.c:875
-msgid ""
-"use commit stored in the index instead of the one stored in the submodule "
-"HEAD"
-msgstr ""
-
-#: builtin/submodule--helper.c:881
-msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
-msgstr ""
-
-#: builtin/submodule--helper.c:905
-msgid "git submodule--helper name <path>"
-msgstr ""
-
-#: builtin/submodule--helper.c:977
-#, c-format
-msgid "* %s %s(blob)->%s(submodule)"
-msgstr ""
-
-#: builtin/submodule--helper.c:980
-#, c-format
-msgid "* %s %s(submodule)->%s(blob)"
-msgstr ""
-
-#: builtin/submodule--helper.c:993
-#, c-format
-msgid "%s"
-msgstr ""
-
-#: builtin/submodule--helper.c:1043
-#, c-format
-msgid "couldn't hash object from '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1047
-#, c-format
-msgid "unexpected mode %o\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1288
-msgid "use the commit stored in the index instead of the submodule HEAD"
-msgstr ""
-
-#: builtin/submodule--helper.c:1290
-msgid "compare the commit in the index with that in the submodule HEAD"
-msgstr ""
-
-#: builtin/submodule--helper.c:1292
-msgid "skip submodules with 'ignore_config' value set to 'all'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1294
-msgid "limit the summary size"
-msgstr ""
-
-#: builtin/submodule--helper.c:1299
-msgid "git submodule--helper summary [<options>] [<commit>] [--] [<path>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:1323
-msgid "could not fetch a revision for HEAD"
-msgstr ""
-
-#: builtin/submodule--helper.c:1384
-#, c-format
-msgid "Synchronizing submodule url for '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1390
-#, c-format
-msgid "failed to register url for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1399
-#, c-format
-msgid "failed to get the default remote for submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1409
-#, c-format
-msgid "failed to update remote for submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1456
-msgid "suppress output of synchronizing submodule url"
-msgstr ""
-
-#: builtin/submodule--helper.c:1463
-msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:1513
-#, c-format
-msgid ""
-"Submodule work tree '%s' contains a .git directory. This will be replaced "
-"with a .git file by using absorbgitdirs."
-msgstr ""
-
-#: builtin/submodule--helper.c:1530
-#, c-format
-msgid ""
-"Submodule work tree '%s' contains local modifications; use '-f' to discard "
-"them"
-msgstr ""
-
-#: builtin/submodule--helper.c:1538
-#, c-format
-msgid "Cleared directory '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1540
-#, c-format
-msgid "Could not remove submodule work tree '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1551
-#, c-format
-msgid "could not create empty submodule directory %s"
-msgstr ""
-
-#: builtin/submodule--helper.c:1567
-#, c-format
-msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1596
-msgid "remove submodule working trees even if they contain local changes"
-msgstr ""
-
-#: builtin/submodule--helper.c:1597
-msgid "unregister all submodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:1602
-msgid ""
-"git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
-msgstr ""
-
-#: builtin/submodule--helper.c:1616
-msgid "Use '--all' if you really want to deinitialize all submodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:1665
-msgid ""
-"An alternate computed from a superproject's alternate is invalid.\n"
-"To allow Git to clone without an alternate in such a case, set\n"
-"submodule.alternateErrorStrategy to 'info' or, equivalently, clone with\n"
-"'--reference-if-able' instead of '--reference'."
-msgstr ""
-
-#: builtin/submodule--helper.c:1710 builtin/submodule--helper.c:1713
-#, c-format
-msgid "submodule '%s' cannot add alternate: %s"
-msgstr ""
-
-#: builtin/submodule--helper.c:1749
-#, c-format
-msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
-msgstr ""
-
-#: builtin/submodule--helper.c:1756
-#, c-format
-msgid "Value '%s' for submodule.alternateLocation is not recognized"
-msgstr ""
-
-#: builtin/submodule--helper.c:1781
-#, c-format
-msgid "refusing to create/use '%s' in another submodule's git dir"
-msgstr ""
-
-#: builtin/submodule--helper.c:1826
-#, c-format
-msgid "clone of '%s' into submodule path '%s' failed"
-msgstr ""
-
-#: builtin/submodule--helper.c:1831
-#, c-format
-msgid "directory not empty: '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1843
-#, c-format
-msgid "could not get submodule directory for '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1876
-msgid "where the new submodule will be cloned to"
-msgstr ""
-
-#: builtin/submodule--helper.c:1879
-msgid "name of the new submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:1882
-msgid "url where to clone the submodule from"
-msgstr ""
-
-#: builtin/submodule--helper.c:1890 builtin/submodule--helper.c:3383
-msgid "depth for shallow clones"
-msgstr ""
-
-#: builtin/submodule--helper.c:1893 builtin/submodule--helper.c:2731
-#: builtin/submodule--helper.c:3376
-msgid "force cloning progress"
-msgstr ""
-
-#: builtin/submodule--helper.c:1895 builtin/submodule--helper.c:2733
-msgid "disallow cloning into non-empty directory"
-msgstr ""
-
-#: builtin/submodule--helper.c:1903
-msgid ""
-"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
-"<repository>] [--name <name>] [--depth <depth>] [--single-branch] [--filter "
-"<filter-spec>] --url <url> --path <path>"
-msgstr ""
-
-#: builtin/submodule--helper.c:1943
-#, c-format
-msgid "Invalid update mode '%s' for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1947
-#, c-format
-msgid "Invalid update mode '%s' configured for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2041
-#, c-format
-msgid "Submodule path '%s' not initialized"
-msgstr ""
-
-#: builtin/submodule--helper.c:2045
-msgid "Maybe you want to use 'update --init'?"
-msgstr ""
-
-#: builtin/submodule--helper.c:2075
-#, c-format
-msgid "Skipping unmerged submodule %s"
-msgstr ""
-
-#: builtin/submodule--helper.c:2104
-#, c-format
-msgid "Skipping submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2257
-#, c-format
-msgid "Failed to clone '%s'. Retry scheduled"
-msgstr ""
-
-#: builtin/submodule--helper.c:2268
-#, c-format
-msgid "Failed to clone '%s' a second time, aborting"
-msgstr ""
-
-#: builtin/submodule--helper.c:2371
-#, c-format
-msgid "Unable to checkout '%s' in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2375
-#, c-format
-msgid "Unable to rebase '%s' in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2379
-#, c-format
-msgid "Unable to merge '%s' in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2383
-#, c-format
-msgid "Execution of '%s %s' failed in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2402
-#, c-format
-msgid "Submodule path '%s': checked out '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:2406
-#, c-format
-msgid "Submodule path '%s': rebased into '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:2410
-#, c-format
-msgid "Submodule path '%s': merged in '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:2414
-#, c-format
-msgid "Submodule path '%s': '%s %s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:2438
-#, c-format
-msgid "Unable to fetch in submodule path '%s'; trying to directly fetch %s:"
-msgstr ""
-
-#: builtin/submodule--helper.c:2447
-#, c-format
-msgid ""
-"Fetched in submodule path '%s', but it did not contain %s. Direct fetching "
-"of that commit failed."
-msgstr ""
-
-#: builtin/submodule--helper.c:2481
-#, c-format
-msgid ""
-"Submodule (%s) branch configured to inherit branch from superproject, but "
-"the superproject is not on any branch"
-msgstr ""
-
-#: builtin/submodule--helper.c:2499
-#, c-format
-msgid "could not get a repository handle for submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2588
-#, c-format
-msgid "Unable to find current revision in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2599
-#, c-format
-msgid "Unable to fetch in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2604
-#, c-format
-msgid "Unable to find %s revision in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2640
-#, c-format
-msgid "Failed to recurse into submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2699
-msgid "force checkout updates"
-msgstr ""
-
-#: builtin/submodule--helper.c:2701
-msgid "initialize uninitialized submodules before update"
-msgstr ""
-
-#: builtin/submodule--helper.c:2703
-msgid "use SHA-1 of submodule's remote tracking branch"
-msgstr ""
-
-#: builtin/submodule--helper.c:2705
-msgid "traverse submodules recursively"
-msgstr ""
-
-#: builtin/submodule--helper.c:2707
-msgid "don't fetch new objects from the remote site"
-msgstr ""
-
-#: builtin/submodule--helper.c:2710 builtin/submodule--helper.c:2892
-msgid "path into the working tree"
-msgstr ""
-
-#: builtin/submodule--helper.c:2713
-msgid "path into the working tree, across nested submodule boundaries"
-msgstr ""
-
-#: builtin/submodule--helper.c:2717
-msgid "rebase, merge, checkout or none"
-msgstr ""
-
-#: builtin/submodule--helper.c:2723
-msgid "create a shallow clone truncated to the specified number of revisions"
-msgstr ""
-
-#: builtin/submodule--helper.c:2726
-msgid "parallel jobs"
-msgstr ""
-
-#: builtin/submodule--helper.c:2728
-msgid "whether the initial clone should follow the shallow recommendation"
-msgstr ""
-
-#: builtin/submodule--helper.c:2729
-msgid "don't print cloning progress"
-msgstr ""
-
-#: builtin/submodule--helper.c:2741
-msgid ""
-"git submodule [--quiet] update [--init [--filter=<filter-spec>]] [--remote] "
-"[-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-"
-"shallow] [--reference <repository>] [--recursive] [--[no-]single-branch] "
-"[--] [<path>...]"
-msgstr ""
-
-#: builtin/submodule--helper.c:2767
-msgid "bad value for update parameter"
-msgstr ""
-
-#: builtin/submodule--helper.c:2893
-msgid "recurse into submodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:2899
-msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
-msgstr ""
-
-#: builtin/submodule--helper.c:2955
-msgid "check if it is safe to write to the .gitmodules file"
-msgstr ""
-
-#: builtin/submodule--helper.c:2958
-msgid "unset the config in the .gitmodules file"
-msgstr ""
-
-#: builtin/submodule--helper.c:2963
-msgid "git submodule--helper config <name> [<value>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:2964
-msgid "git submodule--helper config --unset <name>"
-msgstr ""
-
-#: builtin/submodule--helper.c:2984 builtin/submodule--helper.c:3238
-#: builtin/submodule--helper.c:3395
-msgid "please make sure that the .gitmodules file is in the working tree"
-msgstr ""
-
-#: builtin/submodule--helper.c:3000
-msgid "suppress output for setting url of a submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:3004
-msgid "git submodule--helper set-url [--quiet] <path> <newurl>"
-msgstr ""
-
-#: builtin/submodule--helper.c:3037
-msgid "set the default tracking branch to master"
-msgstr ""
-
-#: builtin/submodule--helper.c:3039
-msgid "set the default tracking branch"
-msgstr ""
-
-#: builtin/submodule--helper.c:3043
-msgid "git submodule--helper set-branch [-q|--quiet] (-d|--default) <path>"
-msgstr ""
-
-#: builtin/submodule--helper.c:3044
-msgid ""
-"git submodule--helper set-branch [-q|--quiet] (-b|--branch) <branch> <path>"
-msgstr ""
-
-#: builtin/submodule--helper.c:3051
-msgid "--branch or --default required"
-msgstr ""
-
-#: builtin/submodule--helper.c:3072 builtin/submodule--helper.c:3375
-msgid "print only error messages"
-msgstr ""
-
-#: builtin/submodule--helper.c:3073
-msgid "force creation"
-msgstr ""
-
-#: builtin/submodule--helper.c:3081
-msgid "show whether the branch would be created"
-msgstr ""
-
-#: builtin/submodule--helper.c:3085
-msgid ""
-"git submodule--helper create-branch [-f|--force] [--create-reflog] [-q|--"
-"quiet] [-t|--track] [-n|--dry-run] <name> <start-oid> <start-name>"
-msgstr ""
-
-#: builtin/submodule--helper.c:3097
-#, c-format
-msgid "creating branch '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:3155
-#, c-format
-msgid "Adding existing repo at '%s' to the index\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:3158
-#, c-format
-msgid "'%s' already exists and is not a valid git repo"
-msgstr ""
-
-#: builtin/submodule--helper.c:3171
-#, c-format
-msgid "A git directory for '%s' is found locally with remote(s):\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:3178
-#, c-format
-msgid ""
-"If you want to reuse this local git directory instead of cloning again from\n"
-"  %s\n"
-"use the '--force' option. If the local git directory is not the correct "
-"repo\n"
-"or you are unsure what this means choose another name with the '--name' "
-"option."
-msgstr ""
-
-#: builtin/submodule--helper.c:3190
-#, c-format
-msgid "Reactivating local git directory for submodule '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:3227
-#, c-format
-msgid "unable to checkout submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:3266
-#, c-format
-msgid "Failed to add submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:3270 builtin/submodule--helper.c:3275
-#: builtin/submodule--helper.c:3283
-#, c-format
-msgid "Failed to register submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:3339
-#, c-format
-msgid "'%s' already exists in the index"
-msgstr ""
-
-#: builtin/submodule--helper.c:3342
-#, c-format
-msgid "'%s' already exists in the index and is not a submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:3372
-msgid "branch of repository to add as submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:3373
-msgid "allow adding an otherwise ignored submodule path"
-msgstr ""
-
-#: builtin/submodule--helper.c:3379
-msgid "borrow the objects from reference repositories"
-msgstr ""
-
-#: builtin/submodule--helper.c:3381
-msgid ""
-"sets the submodule’s name to the given string instead of defaulting to its "
-"path"
-msgstr ""
-
-#: builtin/submodule--helper.c:3388
-msgid "git submodule--helper add [<options>] [--] <repository> [<path>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:3416
-msgid "Relative path can only be used from the toplevel of the working tree"
-msgstr ""
-
-#: builtin/submodule--helper.c:3425
-#, c-format
-msgid "repo URL: '%s' must be absolute or begin with ./|../"
-msgstr ""
-
-#: builtin/submodule--helper.c:3460
-#, c-format
-msgid "'%s' is not a valid submodule name"
-msgstr ""
-
-#: builtin/submodule--helper.c:3520 git.c:453 git.c:729
-#, c-format
-msgid "%s doesn't support --super-prefix"
-msgstr ""
-
-#: builtin/submodule--helper.c:3526
-#, c-format
-msgid "'%s' is not a valid submodule--helper subcommand"
-msgstr ""
-
-#: builtin/symbolic-ref.c:8
-msgid "git symbolic-ref [<options>] <name> [<ref>]"
-msgstr ""
-
-#: builtin/symbolic-ref.c:9
-msgid "git symbolic-ref -d [-q] <name>"
-msgstr ""
-
-#: builtin/symbolic-ref.c:42
-msgid "suppress error message for non-symbolic (detached) refs"
-msgstr ""
-
-#: builtin/symbolic-ref.c:43
-msgid "delete symbolic ref"
-msgstr ""
-
-#: builtin/symbolic-ref.c:44
-msgid "shorten ref output"
-msgstr ""
-
-#: builtin/symbolic-ref.c:45 builtin/update-ref.c:505
-msgid "reason"
-msgstr ""
-
-#: builtin/symbolic-ref.c:45 builtin/update-ref.c:505
-msgid "reason of the update"
-msgstr ""
-
-#: builtin/tag.c:26
-msgid ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
-"        <tagname> [<head>]"
-msgstr ""
-
-#: builtin/tag.c:28
-msgid "git tag -d <tagname>..."
-msgstr ""
-
-#: builtin/tag.c:29
-msgid ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
-"points-at <object>]\n"
-"        [--format=<format>] [--merged <commit>] [--no-merged <commit>] "
-"[<pattern>...]"
-msgstr ""
-
-#: builtin/tag.c:31
-msgid "git tag -v [--format=<format>] <tagname>..."
-msgstr ""
-
-#: builtin/tag.c:101
-#, c-format
-msgid "tag '%s' not found."
-msgstr ""
-
-#: builtin/tag.c:136
-#, c-format
-msgid "Deleted tag '%s' (was %s)\n"
-msgstr ""
-
-#: builtin/tag.c:171
-#, c-format
-msgid ""
-"\n"
-"Write a message for tag:\n"
-"  %s\n"
-"Lines starting with '%c' will be ignored.\n"
-msgstr ""
-
-#: builtin/tag.c:175
-#, c-format
-msgid ""
-"\n"
-"Write a message for tag:\n"
-"  %s\n"
-"Lines starting with '%c' will be kept; you may remove them yourself if you "
-"want to.\n"
-msgstr ""
-
-#: builtin/tag.c:241
-msgid "unable to sign the tag"
-msgstr ""
-
-#: builtin/tag.c:259
-#, c-format
-msgid ""
-"You have created a nested tag. The object referred to by your new tag is\n"
-"already a tag. If you meant to tag the object that it points to, use:\n"
-"\n"
-"\tgit tag -f %s %s^{}"
-msgstr ""
-
-#: builtin/tag.c:275
-msgid "bad object type."
-msgstr ""
-
-#: builtin/tag.c:326
-msgid "no tag message?"
-msgstr ""
-
-#: builtin/tag.c:333
-#, c-format
-msgid "The tag message has been left in %s\n"
-msgstr ""
-
-#: builtin/tag.c:445
-msgid "list tag names"
-msgstr ""
-
-#: builtin/tag.c:447
-msgid "print <n> lines of each tag message"
-msgstr ""
-
-#: builtin/tag.c:449
-msgid "delete tags"
-msgstr ""
-
-#: builtin/tag.c:450
-msgid "verify tags"
-msgstr ""
-
-#: builtin/tag.c:452
-msgid "Tag creation options"
-msgstr ""
-
-#: builtin/tag.c:454
-msgid "annotated tag, needs a message"
-msgstr ""
-
-#: builtin/tag.c:456
-msgid "tag message"
-msgstr ""
-
-#: builtin/tag.c:458
-msgid "force edit of tag message"
-msgstr ""
-
-#: builtin/tag.c:459
-msgid "annotated and GPG-signed tag"
-msgstr ""
-
-#: builtin/tag.c:462
-msgid "use another key to sign the tag"
-msgstr ""
-
-#: builtin/tag.c:463
-msgid "replace the tag if exists"
-msgstr ""
-
-#: builtin/tag.c:464 builtin/update-ref.c:511
-msgid "create a reflog"
-msgstr ""
-
-#: builtin/tag.c:466
-msgid "Tag listing options"
-msgstr ""
-
-#: builtin/tag.c:467
-msgid "show tag list in columns"
-msgstr ""
-
-#: builtin/tag.c:468 builtin/tag.c:470
-msgid "print only tags that contain the commit"
-msgstr ""
-
-#: builtin/tag.c:469 builtin/tag.c:471
-msgid "print only tags that don't contain the commit"
-msgstr ""
-
-#: builtin/tag.c:472
-msgid "print only tags that are merged"
-msgstr ""
-
-#: builtin/tag.c:473
-msgid "print only tags that are not merged"
-msgstr ""
-
-#: builtin/tag.c:477
-msgid "print only tags of the object"
-msgstr ""
-
-#: builtin/tag.c:559
-#, c-format
-msgid "the '%s' option is only allowed in list mode"
-msgstr ""
-
-#: builtin/tag.c:598
-#, c-format
-msgid "'%s' is not a valid tag name."
-msgstr ""
-
-#: builtin/tag.c:603
-#, c-format
-msgid "tag '%s' already exists"
-msgstr ""
-
-#: builtin/tag.c:634
-#, c-format
-msgid "Updated tag '%s' (was %s)\n"
-msgstr ""
-
-#: builtin/unpack-objects.c:95
-msgid "pack exceeds maximum allowed size"
-msgstr ""
-
-#: builtin/unpack-objects.c:504
-msgid "Unpacking objects"
-msgstr ""
-
-#: builtin/update-index.c:84
-#, c-format
-msgid "failed to create directory %s"
-msgstr ""
-
-#: builtin/update-index.c:106
-#, c-format
-msgid "failed to delete file %s"
-msgstr ""
-
-#: builtin/update-index.c:113 builtin/update-index.c:219
-#, c-format
-msgid "failed to delete directory %s"
-msgstr ""
-
-#: builtin/update-index.c:138
-#, c-format
-msgid "Testing mtime in '%s' "
-msgstr ""
-
-#: builtin/update-index.c:152
-msgid "directory stat info does not change after adding a new file"
-msgstr ""
-
-#: builtin/update-index.c:165
-msgid "directory stat info does not change after adding a new directory"
-msgstr ""
-
-#: builtin/update-index.c:178
-msgid "directory stat info changes after updating a file"
-msgstr ""
-
-#: builtin/update-index.c:189
-msgid "directory stat info changes after adding a file inside subdirectory"
-msgstr ""
-
-#: builtin/update-index.c:200
-msgid "directory stat info does not change after deleting a file"
-msgstr ""
-
-#: builtin/update-index.c:213
-msgid "directory stat info does not change after deleting a directory"
-msgstr ""
-
-#: builtin/update-index.c:220
-msgid " OK"
-msgstr ""
-
-#: builtin/update-index.c:589
-msgid "git update-index [<options>] [--] [<file>...]"
-msgstr ""
-
-#: builtin/update-index.c:993
-msgid "continue refresh even when index needs update"
-msgstr ""
-
-#: builtin/update-index.c:996
-msgid "refresh: ignore submodules"
-msgstr ""
-
-#: builtin/update-index.c:999
-msgid "do not ignore new files"
-msgstr ""
-
-#: builtin/update-index.c:1001
-msgid "let files replace directories and vice-versa"
-msgstr ""
-
-#: builtin/update-index.c:1003
-msgid "notice files missing from worktree"
-msgstr ""
-
-#: builtin/update-index.c:1005
-msgid "refresh even if index contains unmerged entries"
-msgstr ""
-
-#: builtin/update-index.c:1008
-msgid "refresh stat information"
-msgstr ""
-
-#: builtin/update-index.c:1012
-msgid "like --refresh, but ignore assume-unchanged setting"
-msgstr ""
-
-#: builtin/update-index.c:1016
-msgid "<mode>,<object>,<path>"
-msgstr ""
-
-#: builtin/update-index.c:1017
-msgid "add the specified entry to the index"
-msgstr ""
-
-#: builtin/update-index.c:1027
-msgid "mark files as \"not changing\""
-msgstr ""
-
-#: builtin/update-index.c:1030
-msgid "clear assumed-unchanged bit"
-msgstr ""
-
-#: builtin/update-index.c:1033
-msgid "mark files as \"index-only\""
-msgstr ""
-
-#: builtin/update-index.c:1036
-msgid "clear skip-worktree bit"
-msgstr ""
-
-#: builtin/update-index.c:1039
-msgid "do not touch index-only entries"
-msgstr ""
-
-#: builtin/update-index.c:1041
-msgid "add to index only; do not add content to object database"
-msgstr ""
-
-#: builtin/update-index.c:1043
-msgid "remove named paths even if present in worktree"
-msgstr ""
-
-#: builtin/update-index.c:1045
-msgid "with --stdin: input lines are terminated by null bytes"
-msgstr ""
-
-#: builtin/update-index.c:1047
-msgid "read list of paths to be updated from standard input"
-msgstr ""
-
-#: builtin/update-index.c:1051
-msgid "add entries from standard input to the index"
-msgstr ""
-
-#: builtin/update-index.c:1055
-msgid "repopulate stages #2 and #3 for the listed paths"
-msgstr ""
-
-#: builtin/update-index.c:1059
-msgid "only update entries that differ from HEAD"
-msgstr ""
-
-#: builtin/update-index.c:1063
-msgid "ignore files missing from worktree"
-msgstr ""
-
-#: builtin/update-index.c:1066
-msgid "report actions to standard output"
-msgstr ""
-
-#: builtin/update-index.c:1068
-msgid "(for porcelains) forget saved unresolved conflicts"
-msgstr ""
-
-#: builtin/update-index.c:1072
-msgid "write index in this format"
-msgstr ""
-
-#: builtin/update-index.c:1074
-msgid "enable or disable split index"
-msgstr ""
-
-#: builtin/update-index.c:1076
-msgid "enable/disable untracked cache"
-msgstr ""
-
-#: builtin/update-index.c:1078
-msgid "test if the filesystem supports untracked cache"
-msgstr ""
-
-#: builtin/update-index.c:1080
-msgid "enable untracked cache without testing the filesystem"
-msgstr ""
-
-#: builtin/update-index.c:1082
-msgid "write out the index even if is not flagged as changed"
-msgstr ""
-
-#: builtin/update-index.c:1084
-msgid "enable or disable file system monitor"
-msgstr ""
-
-#: builtin/update-index.c:1086
-msgid "mark files as fsmonitor valid"
-msgstr ""
-
-#: builtin/update-index.c:1089
-msgid "clear fsmonitor valid bit"
-msgstr ""
-
-#: builtin/update-index.c:1195
-msgid ""
-"core.splitIndex is set to false; remove or change it, if you really want to "
-"enable split index"
-msgstr ""
-
-#: builtin/update-index.c:1204
-msgid ""
-"core.splitIndex is set to true; remove or change it, if you really want to "
-"disable split index"
-msgstr ""
-
-#: builtin/update-index.c:1216
-msgid ""
-"core.untrackedCache is set to true; remove or change it, if you really want "
-"to disable the untracked cache"
-msgstr ""
-
-#: builtin/update-index.c:1220
-msgid "Untracked cache disabled"
-msgstr ""
-
-#: builtin/update-index.c:1228
-msgid ""
-"core.untrackedCache is set to false; remove or change it, if you really want "
-"to enable the untracked cache"
-msgstr ""
-
-#: builtin/update-index.c:1232
-#, c-format
-msgid "Untracked cache enabled for '%s'"
-msgstr ""
-
-#: builtin/update-index.c:1241
-msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
-msgstr ""
-
-#: builtin/update-index.c:1246
-msgid "fsmonitor enabled"
-msgstr ""
-
-#: builtin/update-index.c:1250
-msgid ""
-"core.fsmonitor is set; remove it if you really want to disable fsmonitor"
-msgstr ""
-
-#: builtin/update-index.c:1254
-msgid "fsmonitor disabled"
-msgstr ""
-
-#: builtin/update-ref.c:10
-msgid "git update-ref [<options>] -d <refname> [<old-val>]"
-msgstr ""
-
-#: builtin/update-ref.c:11
-msgid "git update-ref [<options>]    <refname> <new-val> [<old-val>]"
-msgstr ""
-
-#: builtin/update-ref.c:12
-msgid "git update-ref [<options>] --stdin [-z]"
-msgstr ""
-
-#: builtin/update-ref.c:506
-msgid "delete the reference"
-msgstr ""
-
-#: builtin/update-ref.c:508
-msgid "update <refname> not the one it points to"
-msgstr ""
-
-#: builtin/update-ref.c:509
-msgid "stdin has NUL-terminated arguments"
-msgstr ""
-
-#: builtin/update-ref.c:510
-msgid "read updates from stdin"
-msgstr ""
-
-#: builtin/update-server-info.c:15
-msgid "update the info files from scratch"
-msgstr ""
-
-#: builtin/upload-pack.c:11
-msgid "git upload-pack [<options>] <dir>"
-msgstr ""
-
-#: builtin/upload-pack.c:24 t/helper/test-serve-v2.c:17
-msgid "quit after a single request/response exchange"
-msgstr ""
-
-#: builtin/upload-pack.c:26
-msgid "serve up the info/refs for git-http-backend"
-msgstr ""
-
-#: builtin/upload-pack.c:29
-msgid "do not try <directory>/.git/ if <directory> is no Git directory"
-msgstr ""
-
-#: builtin/upload-pack.c:31
-msgid "interrupt transfer after <n> seconds of inactivity"
-msgstr ""
-
-#: builtin/verify-commit.c:19
-msgid "git verify-commit [-v | --verbose] <commit>..."
-msgstr ""
-
-#: builtin/verify-commit.c:68
-msgid "print commit contents"
-msgstr ""
-
-#: builtin/verify-commit.c:69 builtin/verify-tag.c:37
-msgid "print raw gpg status output"
-msgstr ""
-
-#: builtin/verify-pack.c:59
-msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
-msgstr ""
-
-#: builtin/verify-pack.c:70
-msgid "verbose"
-msgstr ""
-
-#: builtin/verify-pack.c:72
-msgid "show statistics only"
-msgstr ""
-
-#: builtin/verify-tag.c:18
-msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
-msgstr ""
-
-#: builtin/verify-tag.c:36
-msgid "print tag contents"
-msgstr ""
-
-#: builtin/worktree.c:19
-msgid "git worktree add [<options>] <path> [<commit-ish>]"
-msgstr ""
-
-#: builtin/worktree.c:20
-msgid "git worktree list [<options>]"
-msgstr ""
-
-#: builtin/worktree.c:21
-msgid "git worktree lock [<options>] <path>"
-msgstr ""
-
-#: builtin/worktree.c:22
-msgid "git worktree move <worktree> <new-path>"
-msgstr ""
-
-#: builtin/worktree.c:23
-msgid "git worktree prune [<options>]"
-msgstr ""
-
-#: builtin/worktree.c:24
-msgid "git worktree remove [<options>] <worktree>"
-msgstr ""
-
-#: builtin/worktree.c:25
-msgid "git worktree repair [<path>...]"
-msgstr ""
-
-#: builtin/worktree.c:26
-msgid "git worktree unlock <path>"
-msgstr ""
-
-#: builtin/worktree.c:76
-#, c-format
-msgid "Removing %s/%s: %s"
-msgstr ""
-
-#: builtin/worktree.c:149
-msgid "report pruned working trees"
-msgstr ""
-
-#: builtin/worktree.c:151
-msgid "expire working trees older than <time>"
-msgstr ""
-
-#: builtin/worktree.c:221
-#, c-format
-msgid "'%s' already exists"
-msgstr ""
-
-#: builtin/worktree.c:230
-#, c-format
-msgid "unusable worktree destination '%s'"
-msgstr ""
-
-#: builtin/worktree.c:235
-#, c-format
-msgid ""
-"'%s' is a missing but locked worktree;\n"
-"use '%s -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear"
-msgstr ""
-
-#: builtin/worktree.c:237
-#, c-format
-msgid ""
-"'%s' is a missing but already registered worktree;\n"
-"use '%s -f' to override, or 'prune' or 'remove' to clear"
-msgstr ""
-
-#: builtin/worktree.c:248
-#, c-format
-msgid "failed to copy '%s' to '%s'; sparse-checkout may not work correctly"
-msgstr ""
-
-#: builtin/worktree.c:268
-#, c-format
-msgid "failed to copy worktree config from '%s' to '%s'"
-msgstr ""
-
-#: builtin/worktree.c:280 builtin/worktree.c:285
-#, c-format
-msgid "failed to unset '%s' in '%s'"
-msgstr ""
-
-#: builtin/worktree.c:356
-#, c-format
-msgid "could not create directory of '%s'"
-msgstr ""
-
-#: builtin/worktree.c:378
-msgid "initializing"
-msgstr ""
-
-#: builtin/worktree.c:492 builtin/worktree.c:498
-#, c-format
-msgid "Preparing worktree (new branch '%s')"
-msgstr ""
-
-#: builtin/worktree.c:494
-#, c-format
-msgid "Preparing worktree (resetting branch '%s'; was at %s)"
-msgstr ""
-
-#: builtin/worktree.c:503
-#, c-format
-msgid "Preparing worktree (checking out '%s')"
-msgstr ""
-
-#: builtin/worktree.c:509
-#, c-format
-msgid "Preparing worktree (detached HEAD %s)"
-msgstr ""
-
-#: builtin/worktree.c:554
-msgid "checkout <branch> even if already checked out in other worktree"
-msgstr ""
-
-#: builtin/worktree.c:557
-msgid "create a new branch"
-msgstr ""
-
-#: builtin/worktree.c:559
-msgid "create or reset a branch"
-msgstr ""
-
-#: builtin/worktree.c:561
-msgid "populate the new working tree"
-msgstr ""
-
-#: builtin/worktree.c:562
-msgid "keep the new working tree locked"
-msgstr ""
-
-#: builtin/worktree.c:564 builtin/worktree.c:809
-msgid "reason for locking"
-msgstr ""
-
-#: builtin/worktree.c:567
-msgid "set up tracking mode (see git-branch(1))"
-msgstr ""
-
-#: builtin/worktree.c:570
-msgid "try to match the new branch name with a remote-tracking branch"
-msgstr ""
-
-#: builtin/worktree.c:584
-msgid "added with --lock"
-msgstr ""
-
-#: builtin/worktree.c:646
-msgid "--[no-]track can only be used if a new branch is created"
-msgstr ""
-
-#: builtin/worktree.c:766
-msgid "show extended annotations and reasons, if available"
-msgstr ""
-
-#: builtin/worktree.c:768
-msgid "add 'prunable' annotation to worktrees older than <time>"
-msgstr ""
-
-#: builtin/worktree.c:770
-msgid "terminate records with a NUL character"
-msgstr ""
-
-#: builtin/worktree.c:821 builtin/worktree.c:854 builtin/worktree.c:928
-#: builtin/worktree.c:1052
-#, c-format
-msgid "'%s' is not a working tree"
-msgstr ""
-
-#: builtin/worktree.c:823 builtin/worktree.c:856
-msgid "The main working tree cannot be locked or unlocked"
-msgstr ""
-
-#: builtin/worktree.c:828
-#, c-format
-msgid "'%s' is already locked, reason: %s"
-msgstr ""
-
-#: builtin/worktree.c:830
-#, c-format
-msgid "'%s' is already locked"
-msgstr ""
-
-#: builtin/worktree.c:858
-#, c-format
-msgid "'%s' is not locked"
-msgstr ""
-
-#: builtin/worktree.c:899
-msgid "working trees containing submodules cannot be moved or removed"
-msgstr ""
-
-#: builtin/worktree.c:907
-msgid "force move even if worktree is dirty or locked"
-msgstr ""
-
-#: builtin/worktree.c:930 builtin/worktree.c:1054
-#, c-format
-msgid "'%s' is a main working tree"
-msgstr ""
-
-#: builtin/worktree.c:935
-#, c-format
-msgid "could not figure out destination name from '%s'"
-msgstr ""
-
-#: builtin/worktree.c:948
-#, c-format
-msgid ""
-"cannot move a locked working tree, lock reason: %s\n"
-"use 'move -f -f' to override or unlock first"
-msgstr ""
-
-#: builtin/worktree.c:950
-msgid ""
-"cannot move a locked working tree;\n"
-"use 'move -f -f' to override or unlock first"
-msgstr ""
-
-#: builtin/worktree.c:953
-#, c-format
-msgid "validation failed, cannot move working tree: %s"
-msgstr ""
-
-#: builtin/worktree.c:958
-#, c-format
-msgid "failed to move '%s' to '%s'"
-msgstr ""
-
-#: builtin/worktree.c:1004
-#, c-format
-msgid "failed to run 'git status' on '%s'"
-msgstr ""
-
-#: builtin/worktree.c:1008
-#, c-format
-msgid "'%s' contains modified or untracked files, use --force to delete it"
-msgstr ""
-
-#: builtin/worktree.c:1013
-#, c-format
-msgid "failed to run 'git status' on '%s', code %d"
-msgstr ""
-
-#: builtin/worktree.c:1036
-msgid "force removal even if worktree is dirty or locked"
-msgstr ""
-
-#: builtin/worktree.c:1059
-#, c-format
-msgid ""
-"cannot remove a locked working tree, lock reason: %s\n"
-"use 'remove -f -f' to override or unlock first"
-msgstr ""
-
-#: builtin/worktree.c:1061
-msgid ""
-"cannot remove a locked working tree;\n"
-"use 'remove -f -f' to override or unlock first"
-msgstr ""
-
-#: builtin/worktree.c:1064
-#, c-format
-msgid "validation failed, cannot remove working tree: %s"
-msgstr ""
-
-#: builtin/worktree.c:1088
-#, c-format
-msgid "repair: %s: %s"
-msgstr ""
-
-#: builtin/worktree.c:1091
-#, c-format
-msgid "error: %s: %s"
-msgstr ""
-
-#: builtin/write-tree.c:15
-msgid "git write-tree [--missing-ok] [--prefix=<prefix>/]"
-msgstr ""
-
-#: builtin/write-tree.c:28
-msgid "<prefix>/"
-msgstr ""
-
-#: builtin/write-tree.c:29
-msgid "write tree object for a subdirectory <prefix>"
-msgstr ""
-
-#: builtin/write-tree.c:31
-msgid "only useful for debugging"
-msgstr ""
-
-#: git.c:28
-msgid ""
-"git [--version] [--help] [-C <path>] [-c <name>=<value>]\n"
-"           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]\n"
-"           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--"
-"bare]\n"
-"           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]\n"
-"           [--super-prefix=<path>] [--config-env=<name>=<envvar>]\n"
-"           <command> [<args>]"
-msgstr ""
-
-#: git.c:36
-msgid ""
-"'git help -a' and 'git help -g' list available subcommands and some\n"
-"concept guides. See 'git help <command>' or 'git help <concept>'\n"
-"to read about a specific subcommand or concept.\n"
-"See 'git help git' for an overview of the system."
-msgstr ""
-
-#: git.c:188 git.c:216 git.c:300
-#, c-format
-msgid "no directory given for '%s' option\n"
-msgstr ""
-
-#: git.c:202
-#, c-format
-msgid "no namespace given for --namespace\n"
-msgstr ""
-
-#: git.c:230
-#, c-format
-msgid "no prefix given for --super-prefix\n"
-msgstr ""
-
-#: git.c:252
-#, c-format
-msgid "-c expects a configuration string\n"
-msgstr ""
-
-#: git.c:260
-#, c-format
-msgid "no config key given for --config-env\n"
-msgstr ""
-
-#: git.c:326
-#, c-format
-msgid "unknown option: %s\n"
-msgstr ""
-
-#: git.c:375
-#, c-format
-msgid "while expanding alias '%s': '%s'"
-msgstr ""
-
-#: git.c:384
-#, c-format
-msgid ""
-"alias '%s' changes environment variables.\n"
-"You can use '!git' in the alias to do this"
-msgstr ""
-
-#: git.c:391
-#, c-format
-msgid "empty alias for %s"
-msgstr ""
-
-#: git.c:394
-#, c-format
-msgid "recursive alias: %s"
-msgstr ""
-
-#: git.c:480
-msgid "write failure on standard output"
-msgstr ""
-
-#: git.c:482
-msgid "unknown write failure on standard output"
-msgstr ""
-
-#: git.c:484
-msgid "close failed on standard output"
-msgstr ""
-
-#: git.c:838
-#, c-format
-msgid "alias loop detected: expansion of '%s' does not terminate:%s"
-msgstr ""
-
-#: git.c:888
-#, c-format
-msgid "cannot handle %s as a builtin"
-msgstr ""
-
-#: git.c:901
-#, c-format
-msgid ""
-"usage: %s\n"
-"\n"
-msgstr ""
-
-#: git.c:921
-#, c-format
-msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
-msgstr ""
-
-#: git.c:933
-#, c-format
-msgid "failed to run command '%s': %s\n"
-msgstr ""
-
-#: http-fetch.c:128
-#, c-format
-msgid "argument to --packfile must be a valid hash (got '%s')"
-msgstr ""
-
-#: http-fetch.c:138
-msgid "not a git repository"
-msgstr ""
-
-#: t/helper/test-fast-rebase.c:141
-msgid "unhandled options"
-msgstr ""
-
-#: t/helper/test-fast-rebase.c:146
-msgid "error preparing revisions"
-msgstr ""
-
-#: t/helper/test-reach.c:154
-#, c-format
-msgid "commit %s is not marked reachable"
-msgstr ""
-
-#: t/helper/test-reach.c:164
-msgid "too many commits marked reachable"
-msgstr ""
-
-#: t/helper/test-serve-v2.c:7
-msgid "test-tool serve-v2 [<options>]"
-msgstr ""
-
-#: t/helper/test-serve-v2.c:19
-msgid "exit immediately after advertising capabilities"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:581
-msgid "test-helper simple-ipc is-active    [<name>] [<options>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:582
-msgid "test-helper simple-ipc run-daemon   [<name>] [<threads>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:583
-msgid "test-helper simple-ipc start-daemon [<name>] [<threads>] [<max-wait>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:584
-msgid "test-helper simple-ipc stop-daemon  [<name>] [<max-wait>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:585
-msgid "test-helper simple-ipc send         [<name>] [<token>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:586
-msgid "test-helper simple-ipc sendbytes    [<name>] [<bytecount>] [<byte>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:587
-msgid ""
-"test-helper simple-ipc multiple     [<name>] [<threads>] [<bytecount>] "
-"[<batchsize>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:595
-msgid "name or pathname of unix domain socket"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:597
-msgid "named-pipe name"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:599
-msgid "number of threads in server thread pool"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:600
-msgid "seconds to wait for daemon to start or stop"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:602
-msgid "number of bytes"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:603
-msgid "number of requests per thread"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:605
-msgid "byte"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:605
-msgid "ballast character"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:606
-msgid "token"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:606
-msgid "command token to send to the server"
-msgstr ""
-
-#: http.c:350
-#, c-format
-msgid "negative value for http.postbuffer; defaulting to %d"
-msgstr ""
-
-#: http.c:371
-msgid "Delegation control is not supported with cURL < 7.22.0"
-msgstr ""
-
-#: http.c:380
-msgid "Public key pinning not supported with cURL < 7.39.0"
-msgstr ""
-
-#: http.c:812
-msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
-msgstr ""
-
-#: http.c:1016
-#, c-format
-msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
-msgstr ""
-
-#: http.c:1023
-#, c-format
-msgid "Could not set SSL backend to '%s': cURL was built without SSL backends"
-msgstr ""
-
-#: http.c:1027
-#, c-format
-msgid "Could not set SSL backend to '%s': already set"
-msgstr ""
-
-#: http.c:1876
-#, c-format
-msgid ""
-"unable to update url base from redirection:\n"
-"  asked for: %s\n"
-"   redirect: %s"
-msgstr ""
-
-#: remote-curl.c:184
-#, c-format
-msgid "invalid quoting in push-option value: '%s'"
-msgstr ""
-
-#: remote-curl.c:308
-#, c-format
-msgid "%sinfo/refs not valid: is this a git repository?"
-msgstr ""
-
-#: remote-curl.c:409
-msgid "invalid server response; expected service, got flush packet"
-msgstr ""
-
-#: remote-curl.c:440
-#, c-format
-msgid "invalid server response; got '%s'"
-msgstr ""
-
-#: remote-curl.c:500
-#, c-format
-msgid "repository '%s' not found"
-msgstr ""
-
-#: remote-curl.c:504
-#, c-format
-msgid "Authentication failed for '%s'"
-msgstr ""
-
-#: remote-curl.c:508
-#, c-format
-msgid "unable to access '%s' with http.pinnedPubkey configuration: %s"
-msgstr ""
-
-#: remote-curl.c:512
-#, c-format
-msgid "unable to access '%s': %s"
-msgstr ""
-
-#: remote-curl.c:518
-#, c-format
-msgid "redirecting to %s"
-msgstr ""
-
-#: remote-curl.c:649
-msgid "shouldn't have EOF when not gentle on EOF"
-msgstr ""
-
-#: remote-curl.c:661
-msgid "remote server sent unexpected response end packet"
-msgstr ""
-
-#: remote-curl.c:730
-msgid "unable to rewind rpc post data - try increasing http.postBuffer"
-msgstr ""
-
-#: remote-curl.c:759
-#, c-format
-msgid "remote-curl: bad line length character: %.4s"
-msgstr ""
-
-#: remote-curl.c:761
-msgid "remote-curl: unexpected response end packet"
-msgstr ""
-
-#: remote-curl.c:837
-#, c-format
-msgid "RPC failed; %s"
-msgstr ""
-
-#: remote-curl.c:877
-msgid "cannot handle pushes this big"
-msgstr ""
-
-#: remote-curl.c:990
-#, c-format
-msgid "cannot deflate request; zlib deflate error %d"
-msgstr ""
-
-#: remote-curl.c:994
-#, c-format
-msgid "cannot deflate request; zlib end error %d"
-msgstr ""
-
-#: remote-curl.c:1044
-#, c-format
-msgid "%d bytes of length header were received"
-msgstr ""
-
-#: remote-curl.c:1046
-#, c-format
-msgid "%d bytes of body are still expected"
-msgstr ""
-
-#: remote-curl.c:1135
-msgid "dumb http transport does not support shallow capabilities"
-msgstr ""
-
-#: remote-curl.c:1150
-msgid "fetch failed."
-msgstr ""
-
-#: remote-curl.c:1198
-msgid "cannot fetch by sha1 over smart http"
-msgstr ""
-
-#: remote-curl.c:1242 remote-curl.c:1248
-#, c-format
-msgid "protocol error: expected sha/ref, got '%s'"
-msgstr ""
-
-#: remote-curl.c:1260 remote-curl.c:1378
-#, c-format
-msgid "http transport does not support %s"
-msgstr ""
-
-#: remote-curl.c:1296
-msgid "git-http-push failed"
-msgstr ""
-
-#: remote-curl.c:1485
-msgid "remote-curl: usage: git remote-curl <remote> [<url>]"
-msgstr ""
-
-#: remote-curl.c:1517
-msgid "remote-curl: error reading command stream from git"
-msgstr ""
-
-#: remote-curl.c:1524
-msgid "remote-curl: fetch attempted without a local repo"
-msgstr ""
-
-#: remote-curl.c:1565
-#, c-format
-msgid "remote-curl: unknown command '%s' from git"
-msgstr ""
-
-#: contrib/scalar/scalar.c:49
-msgid "need a working directory"
-msgstr ""
-
-#: contrib/scalar/scalar.c:86
-msgid "could not find enlistment root"
-msgstr ""
-
-#: contrib/scalar/scalar.c:89 contrib/scalar/scalar.c:350
-#: contrib/scalar/scalar.c:435 contrib/scalar/scalar.c:578
-#, c-format
-msgid "could not switch to '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:179
-#, c-format
-msgid "could not configure %s=%s"
-msgstr ""
-
-#: contrib/scalar/scalar.c:197
-msgid "could not configure log.excludeDecoration"
-msgstr ""
-
-#: contrib/scalar/scalar.c:218
-msgid "Scalar enlistments require a worktree"
-msgstr ""
-
-#: contrib/scalar/scalar.c:310
-#, c-format
-msgid "remote HEAD is not a branch: '%.*s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:316
-msgid "failed to get default branch name from remote; using local default"
-msgstr ""
-
-#: contrib/scalar/scalar.c:329
-msgid "failed to get default branch name"
-msgstr ""
-
-#: contrib/scalar/scalar.c:340
-msgid "failed to unregister repository"
-msgstr ""
-
-#: contrib/scalar/scalar.c:355
-msgid "failed to delete enlistment directory"
-msgstr ""
-
-#: contrib/scalar/scalar.c:375
-msgid "branch to checkout after clone"
-msgstr ""
-
-#: contrib/scalar/scalar.c:377
-msgid "when cloning, create full working directory"
-msgstr ""
-
-#: contrib/scalar/scalar.c:379
-msgid "only download metadata for the branch that will be checked out"
-msgstr ""
-
-#: contrib/scalar/scalar.c:384
-msgid "scalar clone [<options>] [--] <repo> [<dir>]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:409
-#, c-format
-msgid "cannot deduce worktree name from '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:418
-#, c-format
-msgid "directory '%s' exists already"
-msgstr ""
-
-#: contrib/scalar/scalar.c:445
-#, c-format
-msgid "failed to get default branch for '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:456
-#, c-format
-msgid "could not configure remote in '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:465
-#, c-format
-msgid "could not configure '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:468
-msgid "partial clone failed; attempting full clone"
-msgstr ""
-
-#: contrib/scalar/scalar.c:472
-msgid "could not configure for full clone"
-msgstr ""
-
-#: contrib/scalar/scalar.c:504
-msgid "`scalar list` does not take arguments"
-msgstr ""
-
-#: contrib/scalar/scalar.c:517
-msgid "scalar register [<enlistment>]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:544
-msgid "reconfigure all registered enlistments"
-msgstr ""
-
-#: contrib/scalar/scalar.c:548
-msgid "scalar reconfigure [--all | <enlistment>]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:566
-msgid "--all or <enlistment>, but not both"
-msgstr ""
-
-#: contrib/scalar/scalar.c:581
-#, c-format
-msgid "git repository gone in '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:621
-msgid ""
-"scalar run <task> [<enlistment>]\n"
-"Tasks:\n"
-msgstr ""
-
-#: contrib/scalar/scalar.c:639
-#, c-format
-msgid "no such task: '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:689
-msgid "scalar unregister [<enlistment>]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:736
-msgid "scalar delete <enlistment>"
-msgstr ""
-
-#: contrib/scalar/scalar.c:751
-msgid "refusing to delete current working directory"
-msgstr ""
-
-#: contrib/scalar/scalar.c:766
-msgid "include Git version"
-msgstr ""
-
-#: contrib/scalar/scalar.c:768
-msgid "include Git's build options"
-msgstr ""
-
-#: contrib/scalar/scalar.c:772
-msgid "scalar verbose [-v | --verbose] [--build-options]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:813
-msgid "-C requires a <directory>"
-msgstr ""
-
-#: contrib/scalar/scalar.c:815
-#, c-format
-msgid "could not change to '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:821
-msgid "-c requires a <key>=<value> argument"
-msgstr ""
-
-#: contrib/scalar/scalar.c:839
-msgid ""
-"scalar [-C <directory>] [-c <key>=<value>] <command> [<options>]\n"
-"\n"
-"Commands:\n"
-msgstr ""
-
-#: compat/compiler.h:26
-msgid "no compiler information available\n"
-msgstr ""
-
-#: compat/compiler.h:38
-msgid "no libc information available\n"
-msgstr ""
-
-#: list-objects-filter-options.h:126
-msgid "args"
-msgstr ""
-
-#: list-objects-filter-options.h:127
-msgid "object filtering"
-msgstr ""
-
-#: parse-options.h:188
-msgid "expiry-date"
-msgstr ""
-
-#: parse-options.h:202
-msgid "no-op (backward compatibility)"
-msgstr ""
-
-#: parse-options.h:341
-msgid "be more verbose"
-msgstr ""
-
-#: parse-options.h:343
-msgid "be more quiet"
-msgstr ""
-
-#: parse-options.h:349
-msgid "use <n> digits to display object names"
-msgstr ""
-
-#: parse-options.h:368
-msgid "how to strip spaces and #comments from message"
-msgstr ""
-
-#: parse-options.h:369
-msgid "read pathspec from file"
-msgstr ""
-
-#: parse-options.h:370
-msgid ""
-"with --pathspec-from-file, pathspec elements are separated with NUL character"
-msgstr ""
-
-#: ref-filter.h:98
-msgid "key"
-msgstr ""
-
-#: ref-filter.h:98
-msgid "field name to sort on"
-msgstr ""
-
-#: rerere.h:44
-msgid "update the index with reused conflict resolution if possible"
-msgstr ""
-
-#: command-list.h:50
-msgid "Add file contents to the index"
-msgstr ""
-
-#: command-list.h:51
-msgid "Apply a series of patches from a mailbox"
-msgstr ""
-
-#: command-list.h:52
-msgid "Annotate file lines with commit information"
-msgstr ""
-
-#: command-list.h:53
-msgid "Apply a patch to files and/or to the index"
-msgstr ""
-
-#: command-list.h:54
-msgid "Import a GNU Arch repository into Git"
-msgstr ""
-
-#: command-list.h:55
-msgid "Create an archive of files from a named tree"
-msgstr ""
-
-#: command-list.h:56
-msgid "Use binary search to find the commit that introduced a bug"
-msgstr ""
-
-#: command-list.h:57
-msgid "Show what revision and author last modified each line of a file"
-msgstr ""
-
-#: command-list.h:58
-msgid "List, create, or delete branches"
-msgstr ""
-
-#: command-list.h:59
-msgid "Collect information for user to file a bug report"
-msgstr ""
-
-#: command-list.h:60
-msgid "Move objects and refs by archive"
-msgstr ""
-
-#: command-list.h:61
-msgid "Provide content or type and size information for repository objects"
-msgstr ""
-
-#: command-list.h:62
-msgid "Display gitattributes information"
-msgstr ""
-
-#: command-list.h:63
-msgid "Debug gitignore / exclude files"
-msgstr ""
-
-#: command-list.h:64
-msgid "Show canonical names and email addresses of contacts"
-msgstr ""
-
-#: command-list.h:65
-msgid "Ensures that a reference name is well formed"
-msgstr ""
-
-#: command-list.h:66
-msgid "Switch branches or restore working tree files"
-msgstr ""
-
-#: command-list.h:67
-msgid "Copy files from the index to the working tree"
-msgstr ""
-
-#: command-list.h:68
-msgid "Find commits yet to be applied to upstream"
-msgstr ""
-
-#: command-list.h:69
-msgid "Apply the changes introduced by some existing commits"
-msgstr ""
-
-#: command-list.h:70
-msgid "Graphical alternative to git-commit"
-msgstr ""
-
-#: command-list.h:71
-msgid "Remove untracked files from the working tree"
-msgstr ""
-
-#: command-list.h:72
-msgid "Clone a repository into a new directory"
-msgstr ""
-
-#: command-list.h:73
-msgid "Display data in columns"
-msgstr ""
-
-#: command-list.h:74
-msgid "Record changes to the repository"
-msgstr ""
-
-#: command-list.h:75
-msgid "Write and verify Git commit-graph files"
-msgstr ""
-
-#: command-list.h:76
-msgid "Create a new commit object"
-msgstr ""
-
-#: command-list.h:77
-msgid "Get and set repository or global options"
-msgstr ""
-
-#: command-list.h:78
-msgid "Count unpacked number of objects and their disk consumption"
-msgstr ""
-
-#: command-list.h:79
-msgid "Retrieve and store user credentials"
-msgstr ""
-
-#: command-list.h:80
-msgid "Helper to temporarily store passwords in memory"
-msgstr ""
-
-#: command-list.h:81
-msgid "Helper to store credentials on disk"
-msgstr ""
-
-#: command-list.h:82
-msgid "Export a single commit to a CVS checkout"
-msgstr ""
-
-#: command-list.h:83
-msgid "Salvage your data out of another SCM people love to hate"
-msgstr ""
-
-#: command-list.h:84
-msgid "A CVS server emulator for Git"
-msgstr ""
-
-#: command-list.h:85
-msgid "A really simple server for Git repositories"
-msgstr ""
-
-#: command-list.h:86
-msgid "Give an object a human readable name based on an available ref"
-msgstr ""
-
-#: command-list.h:87
-msgid "Show changes between commits, commit and working tree, etc"
-msgstr ""
-
-#: command-list.h:88
-msgid "Compares files in the working tree and the index"
-msgstr ""
-
-#: command-list.h:89
-msgid "Compare a tree to the working tree or index"
-msgstr ""
-
-#: command-list.h:90
-msgid "Compares the content and mode of blobs found via two tree objects"
-msgstr ""
-
-#: command-list.h:91
-msgid "Show changes using common diff tools"
-msgstr ""
-
-#: command-list.h:92
-msgid "Git data exporter"
-msgstr ""
-
-#: command-list.h:93
-msgid "Backend for fast Git data importers"
-msgstr ""
-
-#: command-list.h:94
-msgid "Download objects and refs from another repository"
-msgstr ""
-
-#: command-list.h:95
-msgid "Receive missing objects from another repository"
-msgstr ""
-
-#: command-list.h:96
-msgid "Rewrite branches"
-msgstr ""
-
-#: command-list.h:97
-msgid "Produce a merge commit message"
-msgstr ""
-
-#: command-list.h:98
-msgid "Output information on each ref"
-msgstr ""
-
-#: command-list.h:99
-msgid "Run a Git command on a list of repositories"
-msgstr ""
-
-#: command-list.h:100
-msgid "Prepare patches for e-mail submission"
-msgstr ""
-
-#: command-list.h:101
-msgid "Verifies the connectivity and validity of the objects in the database"
-msgstr ""
-
-#: command-list.h:102
-msgid "Cleanup unnecessary files and optimize the local repository"
-msgstr ""
-
-#: command-list.h:103
-msgid "Extract commit ID from an archive created using git-archive"
-msgstr ""
-
-#: command-list.h:104
-msgid "Print lines matching a pattern"
-msgstr ""
-
-#: command-list.h:105
-msgid "A portable graphical interface to Git"
-msgstr ""
-
-#: command-list.h:106
-msgid "Compute object ID and optionally creates a blob from a file"
-msgstr ""
-
-#: command-list.h:107
-msgid "Display help information about Git"
-msgstr ""
-
-#: command-list.h:108
-msgid "Run git hooks"
-msgstr ""
-
-#: command-list.h:109
-msgid "Server side implementation of Git over HTTP"
-msgstr ""
-
-#: command-list.h:110
-msgid "Download from a remote Git repository via HTTP"
-msgstr ""
-
-#: command-list.h:111
-msgid "Push objects over HTTP/DAV to another repository"
-msgstr ""
-
-#: command-list.h:112
-msgid "Send a collection of patches from stdin to an IMAP folder"
-msgstr ""
-
-#: command-list.h:113
-msgid "Build pack index file for an existing packed archive"
-msgstr ""
-
-#: command-list.h:114
-msgid "Create an empty Git repository or reinitialize an existing one"
-msgstr ""
-
-#: command-list.h:115
-msgid "Instantly browse your working repository in gitweb"
-msgstr ""
-
-#: command-list.h:116
-msgid "Add or parse structured information in commit messages"
-msgstr ""
-
-#: command-list.h:117
-msgid "Show commit logs"
-msgstr ""
-
-#: command-list.h:118
-msgid "Show information about files in the index and the working tree"
-msgstr ""
-
-#: command-list.h:119
-msgid "List references in a remote repository"
-msgstr ""
-
-#: command-list.h:120
-msgid "List the contents of a tree object"
-msgstr ""
-
-#: command-list.h:121
-msgid "Extracts patch and authorship from a single e-mail message"
-msgstr ""
-
-#: command-list.h:122
-msgid "Simple UNIX mbox splitter program"
-msgstr ""
-
-#: command-list.h:123
-msgid "Run tasks to optimize Git repository data"
-msgstr ""
-
-#: command-list.h:124
-msgid "Join two or more development histories together"
-msgstr ""
-
-#: command-list.h:125
-msgid "Find as good common ancestors as possible for a merge"
-msgstr ""
-
-#: command-list.h:126
-msgid "Run a three-way file merge"
-msgstr ""
-
-#: command-list.h:127
-msgid "Run a merge for files needing merging"
-msgstr ""
-
-#: command-list.h:128
-msgid "The standard helper program to use with git-merge-index"
-msgstr ""
-
-#: command-list.h:129
-msgid "Show three-way merge without touching index"
-msgstr ""
-
-#: command-list.h:130
-msgid "Run merge conflict resolution tools to resolve merge conflicts"
-msgstr ""
-
-#: command-list.h:131
-msgid "Creates a tag object with extra validation"
-msgstr ""
-
-#: command-list.h:132
-msgid "Build a tree-object from ls-tree formatted text"
-msgstr ""
-
-#: command-list.h:133
-msgid "Write and verify multi-pack-indexes"
-msgstr ""
-
-#: command-list.h:134
-msgid "Move or rename a file, a directory, or a symlink"
-msgstr ""
-
-#: command-list.h:135
-msgid "Find symbolic names for given revs"
-msgstr ""
-
-#: command-list.h:136
-msgid "Add or inspect object notes"
-msgstr ""
-
-#: command-list.h:137
-msgid "Import from and submit to Perforce repositories"
-msgstr ""
-
-#: command-list.h:138
-msgid "Create a packed archive of objects"
-msgstr ""
-
-#: command-list.h:139
-msgid "Find redundant pack files"
-msgstr ""
-
-#: command-list.h:140
-msgid "Pack heads and tags for efficient repository access"
-msgstr ""
-
-#: command-list.h:141
-msgid "Compute unique ID for a patch"
-msgstr ""
-
-#: command-list.h:142
-msgid "Prune all unreachable objects from the object database"
-msgstr ""
-
-#: command-list.h:143
-msgid "Remove extra objects that are already in pack files"
-msgstr ""
-
-#: command-list.h:144
-msgid "Fetch from and integrate with another repository or a local branch"
-msgstr ""
-
-#: command-list.h:145
-msgid "Update remote refs along with associated objects"
-msgstr ""
-
-#: command-list.h:146
-msgid "Applies a quilt patchset onto the current branch"
-msgstr ""
-
-#: command-list.h:147
-msgid "Compare two commit ranges (e.g. two versions of a branch)"
-msgstr ""
-
-#: command-list.h:148
-msgid "Reads tree information into the index"
-msgstr ""
-
-#: command-list.h:149
-msgid "Reapply commits on top of another base tip"
-msgstr ""
-
-#: command-list.h:150
-msgid "Receive what is pushed into the repository"
-msgstr ""
-
-#: command-list.h:151
-msgid "Manage reflog information"
-msgstr ""
-
-#: command-list.h:152
-msgid "Manage set of tracked repositories"
-msgstr ""
-
-#: command-list.h:153
-msgid "Pack unpacked objects in a repository"
-msgstr ""
-
-#: command-list.h:154
-msgid "Create, list, delete refs to replace objects"
-msgstr ""
-
-#: command-list.h:155
-msgid "Generates a summary of pending changes"
-msgstr ""
-
-#: command-list.h:156
-msgid "Reuse recorded resolution of conflicted merges"
-msgstr ""
-
-#: command-list.h:157
-msgid "Reset current HEAD to the specified state"
-msgstr ""
-
-#: command-list.h:158
-msgid "Restore working tree files"
-msgstr ""
-
-#: command-list.h:159
-msgid "Lists commit objects in reverse chronological order"
-msgstr ""
-
-#: command-list.h:160
-msgid "Pick out and massage parameters"
-msgstr ""
-
-#: command-list.h:161
-msgid "Revert some existing commits"
-msgstr ""
-
-#: command-list.h:162
-msgid "Remove files from the working tree and from the index"
-msgstr ""
-
-#: command-list.h:163
-msgid "Send a collection of patches as emails"
-msgstr ""
-
-#: command-list.h:164
-msgid "Push objects over Git protocol to another repository"
-msgstr ""
-
-#: command-list.h:165
-msgid "Git's i18n setup code for shell scripts"
-msgstr ""
-
-#: command-list.h:166
-msgid "Common Git shell script setup code"
-msgstr ""
-
-#: command-list.h:167
-msgid "Restricted login shell for Git-only SSH access"
-msgstr ""
-
-#: command-list.h:168
-msgid "Summarize 'git log' output"
-msgstr ""
-
-#: command-list.h:169
-msgid "Show various types of objects"
-msgstr ""
-
-#: command-list.h:170
-msgid "Show branches and their commits"
-msgstr ""
-
-#: command-list.h:171
-msgid "Show packed archive index"
-msgstr ""
-
-#: command-list.h:172
-msgid "List references in a local repository"
-msgstr ""
-
-#: command-list.h:173
-msgid "Reduce your working tree to a subset of tracked files"
-msgstr ""
-
-#: command-list.h:174
-msgid "Add file contents to the staging area"
-msgstr ""
-
-#: command-list.h:175
-msgid "Stash the changes in a dirty working directory away"
-msgstr ""
-
-#: command-list.h:176
-msgid "Show the working tree status"
-msgstr ""
-
-#: command-list.h:177
-msgid "Remove unnecessary whitespace"
-msgstr ""
-
-#: command-list.h:178
-msgid "Initialize, update or inspect submodules"
-msgstr ""
-
-#: command-list.h:179
-msgid "Bidirectional operation between a Subversion repository and Git"
-msgstr ""
-
-#: command-list.h:180
-msgid "Switch branches"
-msgstr ""
-
-#: command-list.h:181
-msgid "Read, modify and delete symbolic refs"
-msgstr ""
-
-#: command-list.h:182
-msgid "Create, list, delete or verify a tag object signed with GPG"
-msgstr ""
-
-#: command-list.h:183
-msgid "Creates a temporary file with a blob's contents"
-msgstr ""
-
-#: command-list.h:184
-msgid "Unpack objects from a packed archive"
-msgstr ""
-
-#: command-list.h:185
-msgid "Register file contents in the working tree to the index"
-msgstr ""
-
-#: command-list.h:186
-msgid "Update the object name stored in a ref safely"
-msgstr ""
-
-#: command-list.h:187
-msgid "Update auxiliary info file to help dumb servers"
-msgstr ""
-
-#: command-list.h:188
-msgid "Send archive back to git-archive"
-msgstr ""
-
-#: command-list.h:189
-msgid "Send objects packed back to git-fetch-pack"
-msgstr ""
-
-#: command-list.h:190
-msgid "Show a Git logical variable"
-msgstr ""
-
-#: command-list.h:191
-msgid "Check the GPG signature of commits"
-msgstr ""
-
-#: command-list.h:192
-msgid "Validate packed Git archive files"
-msgstr ""
-
-#: command-list.h:193
-msgid "Check the GPG signature of tags"
-msgstr ""
-
-#: command-list.h:194
-msgid "Show logs with difference each commit introduces"
-msgstr ""
-
-#: command-list.h:195
-msgid "Manage multiple working trees"
-msgstr ""
-
-#: command-list.h:196
-msgid "Create a tree object from the current index"
-msgstr ""
-
-#: command-list.h:197
-msgid "Defining attributes per path"
-msgstr ""
-
-#: command-list.h:198
-msgid "Git command-line interface and conventions"
-msgstr ""
-
-#: command-list.h:199
-msgid "A Git core tutorial for developers"
-msgstr ""
-
-#: command-list.h:200
-msgid "Providing usernames and passwords to Git"
-msgstr ""
-
-#: command-list.h:201
-msgid "Git for CVS users"
-msgstr ""
-
-#: command-list.h:202
-msgid "Tweaking diff output"
-msgstr ""
-
-#: command-list.h:203
-msgid "A useful minimum set of commands for Everyday Git"
-msgstr ""
-
-#: command-list.h:204
-msgid "Frequently asked questions about using Git"
-msgstr ""
-
-#: command-list.h:205
-msgid "A Git Glossary"
-msgstr ""
-
-#: command-list.h:206
-msgid "Hooks used by Git"
-msgstr ""
-
-#: command-list.h:207
-msgid "Specifies intentionally untracked files to ignore"
-msgstr ""
-
-#: command-list.h:208
-msgid "The Git repository browser"
-msgstr ""
-
-#: command-list.h:209
-msgid "Map author/committer names and/or E-Mail addresses"
-msgstr ""
-
-#: command-list.h:210
-msgid "Defining submodule properties"
-msgstr ""
-
-#: command-list.h:211
-msgid "Git namespaces"
-msgstr ""
-
-#: command-list.h:212
-msgid "Helper programs to interact with remote repositories"
-msgstr ""
-
-#: command-list.h:213
-msgid "Git Repository Layout"
-msgstr ""
-
-#: command-list.h:214
-msgid "Specifying revisions and ranges for Git"
-msgstr ""
-
-#: command-list.h:215
-msgid "Mounting one repository inside another"
-msgstr ""
-
-#: command-list.h:216
-msgid "A tutorial introduction to Git"
-msgstr ""
-
-#: command-list.h:217
-msgid "A tutorial introduction to Git: part two"
-msgstr ""
-
-#: command-list.h:218
-msgid "Git web interface (web frontend to Git repositories)"
-msgstr ""
-
-#: command-list.h:219
-msgid "An overview of recommended workflows with Git"
-msgstr ""
-
-#: git-merge-octopus.sh:46
-msgid ""
-"Error: Your local changes to the following files would be overwritten by "
-"merge"
-msgstr ""
-
-#: git-merge-octopus.sh:61
-msgid "Automated merge did not work."
-msgstr ""
-
-#: git-merge-octopus.sh:62
-msgid "Should not be doing an octopus."
-msgstr ""
-
-#: git-merge-octopus.sh:73
-#, sh-format
-msgid "Unable to find common commit with $pretty_name"
-msgstr ""
-
-#: git-merge-octopus.sh:77
-#, sh-format
-msgid "Already up to date with $pretty_name"
-msgstr ""
-
-#: git-merge-octopus.sh:89
-#, sh-format
-msgid "Fast-forwarding to: $pretty_name"
-msgstr ""
-
-#: git-merge-octopus.sh:97
-#, sh-format
-msgid "Trying simple merge with $pretty_name"
-msgstr ""
-
-#: git-merge-octopus.sh:102
-msgid "Simple merge did not work, trying automatic merge."
-msgstr ""
-
-#: git-sh-setup.sh:89 git-sh-setup.sh:94
-#, sh-format
-msgid "usage: $dashless $USAGE"
-msgstr ""
-
-#: git-sh-setup.sh:182
-#, sh-format
-msgid "Cannot chdir to $cdup, the toplevel of the working tree"
-msgstr ""
-
-#: git-sh-setup.sh:191 git-sh-setup.sh:198
-#, sh-format
-msgid "fatal: $program_name cannot be used without a working tree."
-msgstr ""
-
-#: git-sh-setup.sh:212
-msgid "Cannot rewrite branches: You have unstaged changes."
-msgstr ""
-
-#: git-sh-setup.sh:215
-#, sh-format
-msgid "Cannot $action: You have unstaged changes."
-msgstr ""
-
-#: git-sh-setup.sh:226
-#, sh-format
-msgid "Cannot $action: Your index contains uncommitted changes."
-msgstr ""
-
-#: git-sh-setup.sh:228
-msgid "Additionally, your index contains uncommitted changes."
-msgstr ""
-
-#: git-sh-setup.sh:348
-msgid "You need to run this command from the toplevel of the working tree."
-msgstr ""
-
-#: git-sh-setup.sh:353
-msgid "Unable to determine absolute path of git directory"
-msgstr ""
-
-#. TRANSLATORS: you can adjust this to align "git add -i" status menu
-#: git-add--interactive.perl:212
-#, perl-format
-msgid "%12s %12s %s"
-msgstr ""
-
-#: git-add--interactive.perl:632
-#, perl-format
-msgid "touched %d path\n"
-msgid_plural "touched %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: git-add--interactive.perl:1056
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for staging."
-msgstr ""
-
-#: git-add--interactive.perl:1059
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for stashing."
-msgstr ""
-
-#: git-add--interactive.perl:1062
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for unstaging."
-msgstr ""
-
-#: git-add--interactive.perl:1065 git-add--interactive.perl:1074
-#: git-add--interactive.perl:1080
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for applying."
-msgstr ""
-
-#: git-add--interactive.perl:1068 git-add--interactive.perl:1071
-#: git-add--interactive.perl:1077
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for discarding."
-msgstr ""
-
-#: git-add--interactive.perl:1114
-#, perl-format
-msgid "failed to open hunk edit file for writing: %s"
-msgstr ""
-
-#: git-add--interactive.perl:1121
-#, perl-format
-msgid ""
-"---\n"
-"To remove '%s' lines, make them ' ' lines (context).\n"
-"To remove '%s' lines, delete them.\n"
-"Lines starting with %s will be removed.\n"
-msgstr ""
-
-#: git-add--interactive.perl:1143
-#, perl-format
-msgid "failed to open hunk edit file for reading: %s"
-msgstr ""
-
-#: git-add--interactive.perl:1253
-msgid ""
-"y - stage this hunk\n"
-"n - do not stage this hunk\n"
-"q - quit; do not stage this hunk or any of the remaining ones\n"
-"a - stage this hunk and all later hunks in the file\n"
-"d - do not stage this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1259
-msgid ""
-"y - stash this hunk\n"
-"n - do not stash this hunk\n"
-"q - quit; do not stash this hunk or any of the remaining ones\n"
-"a - stash this hunk and all later hunks in the file\n"
-"d - do not stash this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1265
-msgid ""
-"y - unstage this hunk\n"
-"n - do not unstage this hunk\n"
-"q - quit; do not unstage this hunk or any of the remaining ones\n"
-"a - unstage this hunk and all later hunks in the file\n"
-"d - do not unstage this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1271
-msgid ""
-"y - apply this hunk to index\n"
-"n - do not apply this hunk to index\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1277 git-add--interactive.perl:1295
-msgid ""
-"y - discard this hunk from worktree\n"
-"n - do not discard this hunk from worktree\n"
-"q - quit; do not discard this hunk or any of the remaining ones\n"
-"a - discard this hunk and all later hunks in the file\n"
-"d - do not discard this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1283
-msgid ""
-"y - discard this hunk from index and worktree\n"
-"n - do not discard this hunk from index and worktree\n"
-"q - quit; do not discard this hunk or any of the remaining ones\n"
-"a - discard this hunk and all later hunks in the file\n"
-"d - do not discard this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1289
-msgid ""
-"y - apply this hunk to index and worktree\n"
-"n - do not apply this hunk to index and worktree\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1301
-msgid ""
-"y - apply this hunk to worktree\n"
-"n - do not apply this hunk to worktree\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1316
-msgid ""
-"g - select a hunk to go to\n"
-"/ - search for a hunk matching the given regex\n"
-"j - leave this hunk undecided, see next undecided hunk\n"
-"J - leave this hunk undecided, see next hunk\n"
-"k - leave this hunk undecided, see previous undecided hunk\n"
-"K - leave this hunk undecided, see previous hunk\n"
-"s - split the current hunk into smaller hunks\n"
-"e - manually edit the current hunk\n"
-"? - print help\n"
-msgstr ""
-
-#: git-add--interactive.perl:1347
-msgid "The selected hunks do not apply to the index!\n"
-msgstr ""
-
-#: git-add--interactive.perl:1362
-#, perl-format
-msgid "ignoring unmerged: %s\n"
-msgstr ""
-
-#: git-add--interactive.perl:1481
-#, perl-format
-msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: git-add--interactive.perl:1482
-#, perl-format
-msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: git-add--interactive.perl:1483
-#, perl-format
-msgid "Apply addition to worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: git-add--interactive.perl:1484
-#, perl-format
-msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: git-add--interactive.perl:1601
-msgid "No other hunks to goto\n"
-msgstr ""
-
-#: git-add--interactive.perl:1619
-#, perl-format
-msgid "Invalid number: '%s'\n"
-msgstr ""
-
-#: git-add--interactive.perl:1624
-#, perl-format
-msgid "Sorry, only %d hunk available.\n"
-msgid_plural "Sorry, only %d hunks available.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: git-add--interactive.perl:1659
-msgid "No other hunks to search\n"
-msgstr ""
-
-#: git-add--interactive.perl:1676
-#, perl-format
-msgid "Malformed search regexp %s: %s\n"
-msgstr ""
-
-#: git-add--interactive.perl:1686
-msgid "No hunk matches the given pattern\n"
-msgstr ""
-
-#: git-add--interactive.perl:1698 git-add--interactive.perl:1720
-msgid "No previous hunk\n"
-msgstr ""
-
-#: git-add--interactive.perl:1707 git-add--interactive.perl:1726
-msgid "No next hunk\n"
-msgstr ""
-
-#: git-add--interactive.perl:1732
-msgid "Sorry, cannot split this hunk\n"
-msgstr ""
-
-#: git-add--interactive.perl:1738
-#, perl-format
-msgid "Split into %d hunk.\n"
-msgid_plural "Split into %d hunks.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: git-add--interactive.perl:1748
-msgid "Sorry, cannot edit this hunk\n"
-msgstr ""
-
-#. TRANSLATORS: please do not translate the command names
-#. 'status', 'update', 'revert', etc.
-#: git-add--interactive.perl:1813
-msgid ""
-"status        - show paths with changes\n"
-"update        - add working tree state to the staged set of changes\n"
-"revert        - revert staged set of changes back to the HEAD version\n"
-"patch         - pick hunks and update selectively\n"
-"diff          - view diff between HEAD and index\n"
-"add untracked - add contents of untracked files to the staged set of "
-"changes\n"
-msgstr ""
-
-#: git-add--interactive.perl:1830 git-add--interactive.perl:1842
-#: git-add--interactive.perl:1845 git-add--interactive.perl:1852
-#: git-add--interactive.perl:1855 git-add--interactive.perl:1862
-#: git-add--interactive.perl:1866 git-add--interactive.perl:1872
-msgid "missing --"
-msgstr ""
-
-#: git-add--interactive.perl:1868
-#, perl-format
-msgid "unknown --patch mode: %s"
-msgstr ""
-
-#: git-add--interactive.perl:1874 git-add--interactive.perl:1880
-#, perl-format
-msgid "invalid argument %s, expecting --"
-msgstr ""
-
-#: git-send-email.perl:159
-msgid "local zone differs from GMT by a non-minute interval\n"
-msgstr ""
-
-#: git-send-email.perl:166 git-send-email.perl:172
-msgid "local time offset greater than or equal to 24 hours\n"
-msgstr ""
-
-#: git-send-email.perl:244
-#, perl-format
-msgid "fatal: command '%s' died with exit code %d"
-msgstr ""
-
-#: git-send-email.perl:257
-msgid "the editor exited uncleanly, aborting everything"
-msgstr ""
-
-#: git-send-email.perl:346
-#, perl-format
-msgid ""
-"'%s' contains an intermediate version of the email you were composing.\n"
-msgstr ""
-
-#: git-send-email.perl:351
-#, perl-format
-msgid "'%s.final' contains the composed email.\n"
-msgstr ""
-
-#: git-send-email.perl:484
-msgid "--dump-aliases incompatible with other options\n"
-msgstr ""
-
-#: git-send-email.perl:561
-msgid ""
-"fatal: found configuration options for 'sendmail'\n"
-"git-send-email is configured with the sendemail.* options - note the 'e'.\n"
-"Set sendemail.forbidSendmailVariables to false to disable this check.\n"
-msgstr ""
-
-#: git-send-email.perl:566 git-send-email.perl:782
-msgid "Cannot run git format-patch from outside a repository\n"
-msgstr ""
-
-#: git-send-email.perl:569
-msgid ""
-"`batch-size` and `relogin` must be specified together (via command-line or "
-"configuration option)\n"
-msgstr ""
-
-#: git-send-email.perl:582
-#, perl-format
-msgid "Unknown --suppress-cc field: '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:613
-#, perl-format
-msgid "Unknown --confirm setting: '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:653
-#, perl-format
-msgid "warning: sendmail alias with quotes is not supported: %s\n"
-msgstr ""
-
-#: git-send-email.perl:655
-#, perl-format
-msgid "warning: `:include:` not supported: %s\n"
-msgstr ""
-
-#: git-send-email.perl:657
-#, perl-format
-msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
-msgstr ""
-
-#: git-send-email.perl:662
-#, perl-format
-msgid "warning: sendmail line is not recognized: %s\n"
-msgstr ""
-
-#: git-send-email.perl:747
-#, perl-format
-msgid ""
-"File '%s' exists but it could also be the range of commits\n"
-"to produce patches for.  Please disambiguate by...\n"
-"\n"
-"    * Saying \"./%s\" if you mean a file; or\n"
-"    * Giving --format-patch option if you mean a range.\n"
-msgstr ""
-
-#: git-send-email.perl:768
-#, perl-format
-msgid "Failed to opendir %s: %s"
-msgstr ""
-
-#: git-send-email.perl:803
-msgid ""
-"\n"
-"No patch files specified!\n"
-"\n"
-msgstr ""
-
-#: git-send-email.perl:816
-#, perl-format
-msgid "No subject line in %s?"
-msgstr ""
-
-#: git-send-email.perl:827
-#, perl-format
-msgid "Failed to open for writing %s: %s"
-msgstr ""
-
-#: git-send-email.perl:838
-msgid ""
-"Lines beginning in \"GIT:\" will be removed.\n"
-"Consider including an overall diffstat or table of contents\n"
-"for the patch you are writing.\n"
-"\n"
-"Clear the body content if you don't wish to send a summary.\n"
-msgstr ""
-
-#: git-send-email.perl:862
-#, perl-format
-msgid "Failed to open %s: %s"
-msgstr ""
-
-#: git-send-email.perl:879
-#, perl-format
-msgid "Failed to open %s.final: %s"
-msgstr ""
-
-#: git-send-email.perl:922
-msgid "Summary email is empty, skipping it\n"
-msgstr ""
-
-#. TRANSLATORS: please keep [y/N] as is.
-#: git-send-email.perl:971
-#, perl-format
-msgid "Are you sure you want to use <%s> [y/N]? "
-msgstr ""
-
-#: git-send-email.perl:1026
-msgid ""
-"The following files are 8bit, but do not declare a Content-Transfer-"
-"Encoding.\n"
-msgstr ""
-
-#: git-send-email.perl:1031
-msgid "Which 8bit encoding should I declare [UTF-8]? "
-msgstr ""
-
-#: git-send-email.perl:1039
-#, perl-format
-msgid ""
-"Refusing to send because the patch\n"
-"\t%s\n"
-"has the template subject '*** SUBJECT HERE ***'. Pass --force if you really "
-"want to send.\n"
-msgstr ""
-
-#: git-send-email.perl:1058
-msgid "To whom should the emails be sent (if anyone)?"
-msgstr ""
-
-#: git-send-email.perl:1076
-#, perl-format
-msgid "fatal: alias '%s' expands to itself\n"
-msgstr ""
-
-#: git-send-email.perl:1088
-msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
-msgstr ""
-
-#: git-send-email.perl:1150 git-send-email.perl:1158
-#, perl-format
-msgid "error: unable to extract a valid address from: %s\n"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [q] [d] [e] in your
-#. translation. The program will only accept English input
-#. at this point.
-#: git-send-email.perl:1162
-msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
-msgstr ""
-
-#: git-send-email.perl:1482
-#, perl-format
-msgid "CA path \"%s\" does not exist"
-msgstr ""
-
-#: git-send-email.perl:1565
-msgid ""
-"    The Cc list above has been expanded by additional\n"
-"    addresses found in the patch commit message. By default\n"
-"    send-email prompts before sending whenever this occurs.\n"
-"    This behavior is controlled by the sendemail.confirm\n"
-"    configuration setting.\n"
-"\n"
-"    For additional information, run 'git send-email --help'.\n"
-"    To retain the current behavior, but squelch this message,\n"
-"    run 'git config --global sendemail.confirm auto'.\n"
-"\n"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your
-#. translation. The program will only accept English input
-#. at this point.
-#: git-send-email.perl:1580
-msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
-msgstr ""
-
-#: git-send-email.perl:1583
-msgid "Send this email reply required"
-msgstr ""
-
-#: git-send-email.perl:1617
-msgid "The required SMTP server is not properly defined."
-msgstr ""
-
-#: git-send-email.perl:1664
-#, perl-format
-msgid "Server does not support STARTTLS! %s"
-msgstr ""
-
-#: git-send-email.perl:1669 git-send-email.perl:1673
-#, perl-format
-msgid "STARTTLS failed! %s"
-msgstr ""
-
-#: git-send-email.perl:1682
-msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
-msgstr ""
-
-#: git-send-email.perl:1700
-#, perl-format
-msgid "Failed to send %s\n"
-msgstr ""
-
-#: git-send-email.perl:1703
-#, perl-format
-msgid "Dry-Sent %s\n"
-msgstr ""
-
-#: git-send-email.perl:1703
-#, perl-format
-msgid "Sent %s\n"
-msgstr ""
-
-#: git-send-email.perl:1705
-msgid "Dry-OK. Log says:\n"
-msgstr ""
-
-#: git-send-email.perl:1705
-msgid "OK. Log says:\n"
-msgstr ""
-
-#: git-send-email.perl:1724
-msgid "Result: "
-msgstr ""
-
-#: git-send-email.perl:1727
-msgid "Result: OK\n"
-msgstr ""
-
-#: git-send-email.perl:1744
-#, perl-format
-msgid "can't open file %s"
-msgstr ""
-
-#: git-send-email.perl:1792 git-send-email.perl:1812
-#, perl-format
-msgid "(mbox) Adding cc: %s from line '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:1798
-#, perl-format
-msgid "(mbox) Adding to: %s from line '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:1855
-#, perl-format
-msgid "(non-mbox) Adding cc: %s from line '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:1890
-#, perl-format
-msgid "(body) Adding cc: %s from line '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:2009
-#, perl-format
-msgid "(%s) Could not execute '%s'"
-msgstr ""
-
-#: git-send-email.perl:2016
-#, perl-format
-msgid "(%s) Adding %s: %s from: '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:2020
-#, perl-format
-msgid "(%s) failed to close pipe to '%s'"
-msgstr ""
-
-#: git-send-email.perl:2050
-msgid "cannot send message as 7bit"
-msgstr ""
-
-#: git-send-email.perl:2058
-msgid "invalid transfer encoding"
-msgstr ""
-
-#: git-send-email.perl:2100
-#, perl-format
-msgid ""
-"fatal: %s: rejected by %s hook\n"
-"%s\n"
-"warning: no patches were sent\n"
-msgstr ""
-
-#: git-send-email.perl:2110 git-send-email.perl:2163 git-send-email.perl:2173
-#, perl-format
-msgid "unable to open %s: %s\n"
-msgstr ""
-
-#: git-send-email.perl:2113
-#, perl-format
-msgid ""
-"fatal: %s:%d is longer than 998 characters\n"
-"warning: no patches were sent\n"
-msgstr ""
-
-#: git-send-email.perl:2131
-#, perl-format
-msgid "Skipping %s with backup suffix '%s'.\n"
-msgstr ""
-
-#. TRANSLATORS: please keep "[y|N]" as is.
-#: git-send-email.perl:2135
-#, perl-format
-msgid "Do you really want to send %s? [y|N]: "
-msgstr ""
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v2 6/9] po/git.pot: don't check in result of "make pot"
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (17 preceding siblings ...)
  2022-05-19  8:15 ` [PATCH v2 5/9] po/git.pot: this is now a generated file Jiang Xin
@ 2022-05-19  8:15 ` Jiang Xin
  2022-05-19  8:15 ` [PATCH v2 7/9] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
                   ` (2 subsequent siblings)
  21 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-19  8:15 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Remove the "po/git.pot" file from being tracked, which started with
dce37b66fb0 (l10n: initial git.pot for 1.7.10 upcoming release,
2012-02-13).

The reason the po/git.pot started being checked in was because the
po/*.po files were changed a schema where we'd generate them from a
known-good snapshot of po/git.pot, instead of each translator running
"make pot" themselves.

This makes sense, but we don't need to carry this file in-tree just to
achieve that aim, and doing so has resulted in a significant amount of
"diff churn" since this method of doing it was introduced:

    $ git log -p --oneline -- po/git.pot|wc -l
    553743

We can instead let l10n contributors to generate "po/git.pot" in runtime
to update their own "po/XX.po", and the l10n coordinator can check
pull requests using CI pipeline.

This reverts to the schema introduced initially in cd5513a7168 (i18n:
Makefile: "pot" target to extract messages marked for translation,
2011-02-22).

The actual "git rm" of po/git.pot was in preceding commit to make this
change easier to review, and to preempt the mailing list from blocking
it due to it being too large.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Makefile      | 1 +
 po/.gitignore | 1 +
 2 files changed, 2 insertions(+)

diff --git a/Makefile b/Makefile
index 304cd03276..34904b90d2 100644
--- a/Makefile
+++ b/Makefile
@@ -3312,6 +3312,7 @@ dist-doc: git$X
 
 distclean: clean
 	$(RM) configure
+	$(RM) po/git.pot
 	$(RM) config.log config.status config.cache
 	$(RM) config.mak.autogen config.mak.append
 	$(RM) -r autom4te.cache
diff --git a/po/.gitignore b/po/.gitignore
index 796b96d1c4..37d1301b32 100644
--- a/po/.gitignore
+++ b/po/.gitignore
@@ -1 +1,2 @@
 /build
+/git.pot
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v2 7/9] Makefile: add "po-update" rule to update po/XX.po
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (18 preceding siblings ...)
  2022-05-19  8:15 ` [PATCH v2 6/9] po/git.pot: don't check in result of "make pot" Jiang Xin
@ 2022-05-19  8:15 ` Jiang Xin
  2022-05-19 10:07   ` Ævar Arnfjörð Bjarmason
  2022-05-19  8:15 ` [PATCH v2 8/9] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
  2022-05-19  8:15 ` [PATCH v2 9/9] l10n: Document the new l10n workflow Jiang Xin
  21 siblings, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-19  8:15 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

Since there is no longer a "po/git.pot" file in tree, a l10n team leader
has to run several commands to update their "po/XX.po" file:

    $ make pot
    $ msgmerge --add-location --backup=off -U po/XX.po po/git.pot

To make this process easier, add a new rule so that l10n team leaders
can update their "po/XX.po" with one command. E.g.:

    $ make po-update PO_FILE=po/zh_CN.po

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Makefile   | 18 ++++++++++++++++++
 shared.mak |  1 +
 2 files changed, 19 insertions(+)

diff --git a/Makefile b/Makefile
index 34904b90d2..edebd44d5c 100644
--- a/Makefile
+++ b/Makefile
@@ -571,6 +571,7 @@ TCLTK_PATH = wish
 XGETTEXT = xgettext
 MSGCAT = msgcat
 MSGFMT = msgfmt
+MSGMERGE = msgmerge
 CURL_CONFIG = curl-config
 GCOV = gcov
 STRIP = strip
@@ -2716,6 +2717,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
 XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
 MSGCAT_FLAGS = --sort-by-file
+MSGMERGE_FLAGS = --add-location --backup=off --update
 LOCALIZED_C = $(FOUND_C_SOURCES) $(SCALAR_SOURCES) \
 	      $(FOUND_H_SOURCES) $(GENERATED_H)
 LOCALIZED_SH = $(SCRIPT_SH)
@@ -2787,6 +2789,22 @@ po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
 .PHONY: pot
 pot: po/git.pot
 
+define check_po_file_envvar
+	$(if $(PO_FILE), \
+		$(if $(filter po/%.po,$(PO_FILE)), , \
+			$(error PO_FILE should match pattern: "po/%.po")), \
+		$(error PO_FILE is not defined))
+endef
+
+.PHONY: po-update
+po-update: po/git.pot
+	$(check_po_file_envvar)
+	@if test ! -e $(PO_FILE); then \
+		echo >&2 "error: $(PO_FILE) does not exist"; \
+		exit 1; \
+	fi
+	$(QUIET_MSGMERGE)$(MSGMERGE) $(MSGMERGE_FLAGS) $(PO_FILE) po/git.pot
+
 .PHONY: check-pot
 check-pot: $(LOCALIZED_ALL_GEN_PO)
 
diff --git a/shared.mak b/shared.mak
index 50d4596f0d..8cd170a7e7 100644
--- a/shared.mak
+++ b/shared.mak
@@ -63,6 +63,7 @@ ifndef V
 	QUIET_LNCP     = @echo '   ' LN/CP $@;
 	QUIET_XGETTEXT = @echo '   ' XGETTEXT $@;
 	QUIET_MSGFMT   = @echo '   ' MSGFMT $@;
+	QUIET_MSGMERGE = @echo '   ' MSGMERGE $@;
 	QUIET_GCOV     = @echo '   ' GCOV $@;
 	QUIET_SP       = @echo '   ' SP $<;
 	QUIET_HDR      = @echo '   ' HDR $(<:hcc=h);
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v2 8/9] Makefile: add "po-init" rule to initialize po/XX.po
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (19 preceding siblings ...)
  2022-05-19  8:15 ` [PATCH v2 7/9] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
@ 2022-05-19  8:15 ` Jiang Xin
  2022-05-19 10:22   ` Ævar Arnfjörð Bjarmason
  2022-05-19  8:15 ` [PATCH v2 9/9] l10n: Document the new l10n workflow Jiang Xin
  21 siblings, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-19  8:15 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

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 rule
"core-pot" to create this core translation message "po/git-core.pot":

    make 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 POT_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: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Makefile      | 44 ++++++++++++++++++++++++++++++++++++++++++++
 po/.gitignore |  1 +
 shared.mak    |  1 +
 3 files changed, 46 insertions(+)

diff --git a/Makefile b/Makefile
index edebd44d5c..0a687a6eb2 100644
--- a/Makefile
+++ b/Makefile
@@ -2801,6 +2801,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
@@ -2808,6 +2809,49 @@ 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)
+
+.PHONY: core-pot
+core-pot: po/git-core.pot
+
+.build/pot/git-core.header: $(LOCALIZED_C_CORE_GEN_PO)
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT)$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
+		-o - /dev/null | \
+	sed -e 's|charset=CHARSET|charset=UTF-8|g' >$@ && \
+	echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
+
+po/git-core.pot: .build/pot/git-core.header $(LOCALIZED_C_CORE_GEN_PO)
+	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
+
+.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 :=
diff --git a/po/.gitignore b/po/.gitignore
index 37d1301b32..ff0e5176a6 100644
--- a/po/.gitignore
+++ b/po/.gitignore
@@ -1,2 +1,3 @@
 /build
 /git.pot
+/git-core.pot
diff --git a/shared.mak b/shared.mak
index 8cd170a7e7..4330192e9c 100644
--- a/shared.mak
+++ b/shared.mak
@@ -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 $@;
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v2 9/9] l10n: Document the new l10n workflow
  2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
                   ` (20 preceding siblings ...)
  2022-05-19  8:15 ` [PATCH v2 8/9] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
@ 2022-05-19  8:15 ` Jiang Xin
  2022-05-19 17:18   ` Junio C Hamano
  21 siblings, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-19  8:15 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Change the "flow" of how translators interact with the l10n repository
at [1] to adjust it for a new workflow of not having a po/git.pot file
in-tree at all, and to not commit line numbers to the po/*.po files
that we do track in tree.

The current workflow was added in a combination of dce37b66fb0 (l10n:
initial git.pot for 1.7.10 upcoming release, 2012-02-13) and
271ce198cd0 (Update l10n guide, 2012-02-29).

As noted in preceding commits I think that it came about due to
technical debt I'd left behind in how the "po/git.pot" file was
created, and a mis-impression that the file:line comments were needed
as anything more than a transitory translation aid.

As the updated po/README.md shows the new workflow is substantially
the same, the difference is that translators no longer need to
initially pull from the l10n coordinator for a new po/git.pot, they
can simply use git.git's canonical source repository.

The l10n coordinator is still expected to announce a release to
translate, which presumably would always be Junio's latest release
tag. I'm not certain if this part of the process is actually
important. I.e. the delta translation-wise between that tag and
"master" is usually pretty small, so perhaps translators can just work
on "master" instead.

1. https://github.com/git-l10n/git-po/

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 po/README.md | 191 ++++++++++++++++++++++++---------------------------
 1 file changed, 88 insertions(+), 103 deletions(-)

diff --git a/po/README.md b/po/README.md
index 19fabb4acf..00c090e7c0 100644
--- a/po/README.md
+++ b/po/README.md
@@ -46,65 +46,67 @@ for a new language translation. Because there are more than 5000 messages
 in the template message file "po/git.pot" that need to be translated,
 this is not a piece of cake for the contributor for a new language.
 
-The core template message file which contains a small set of messages
-will be generated in "po-core/core.pot" automatically by running a helper
-program named "git-po-helper" (described later).
+The "core" set of messages can be generated at "po/git-core.pot" by
+running:
 
 ```shell
-git-po-helper init --core XX.po
+make core-pot
 ```
 
-After translating the generated "po-core/XX.po", you can merge it to
-"po/XX.po" using the following commands:
-
-```shell
-msgcat po-core/XX.po po/XX.po -s -o /tmp/XX.po
-mv /tmp/XX.po po/XX.po
-git-po-helper update XX.po
-```
-
-Edit "po/XX.po" by hand to fix "fuzzy" messages, which may have misplaced
-translated messages and duplicate messages.
+And then proceeding with the rest of these instructions on the new
+generated "po/git-core.pot" file.
 
 
 ## Translation Process Flow
 
 The overall data-flow looks like this:
 
-    +-------------------+            +------------------+
-    | Git source code   | ---(1)---> | L10n coordinator |
-    | repository        | <---(4)--- | repository       |
-    +-------------------+            +------------------+
-                                          |      ^
-                                         (2)    (3)
-                                          V      |
-                                     +------------------+
-                                     | Language Team XX |
-                                     +------------------+
+    +-------------------+             +------------------+
+    | Git source code   | ----(2)---> | L10n coordinator |
+    | repository        | <---(5)---- | repository       |
+    +-------------------+             +------------------+
+                    |                     |    ^
+                   (1)                   (3)  (4)
+                    V                     v    |
+               +----------------------------------+
+               |        Language Team XX          |
+               +----------------------------------+
 
 - Translatable strings are marked in the source file.
-- L10n coordinator pulls from the source (1)
-- L10n coordinator updates the message template "po/git.pot"
-- Language team pulls from L10n coordinator (2)
-- Language team updates the message file "po/XX.po"
-- L10n coordinator pulls from Language team (3)
-- L10n coordinator asks the result to be pulled (4).
+- Language teams can start translation iterations at any time, even
+  before the l10n window opens:
+
+  + Pull from the source (1)
+  + Update the message file by running "make po-update PO\_FILE=po/XX.po"
+  + Translate the message file "po/XX.po"
 
+- The L10n coordinator pulls from source and announces the l10n window
+  open (2)
+- Language team pulls from the l10n coordinator, starts another
+  translation iteration against the l10n coordinator's tree (3)
 
-## Maintaining the "po/git.pot" file
+  + Run "git pull --rebase" from the l10n coordinator
+  + Update the message file by running "make po-update PO\_FILE=po/XX.po"
+  + Translate the message file "po/XX.po"
+  + Squash trivial l10n git commits using "git rebase -i"
 
-(This is done by the l10n coordinator).
+- Language team sends pull request to the l10n coordinator (4)
+- L10n coordinator checks and merges
+- L10n coordinator asks the result to be pulled (5).
 
-The "po/git.pot" file contains a message catalog extracted from Git's
-sources. The l10n coordinator maintains it by adding new translations with
-msginit(1), or update existing ones with msgmerge(1).  In order to update
-the Git sources to extract the messages from, the l10n coordinator is
-expected to pull from the main git repository at strategic point in
-history (e.g. when a major release and release candidates are tagged),
-and then run "make pot" at the top-level directory.
 
-Language contributors use this file to prepare translations for their
-language, but they are not expected to modify it.
+## Creating the "po/git.pot" file
+
+The "po/git.pot" file, once generated by the the l10n coordinator had
+been removed from the tree. L10n contributors can generated it at
+runtime using command:
+
+```shell
+make pot
+```
+
+Then language contributors use this file to prepare translations for
+their language, but they are not expected to modify it.
 
 
 ## Initializing a "XX.po" file
@@ -115,32 +117,14 @@ If your language XX does not have translated message file "po/XX.po" yet,
 you add a translation for the first time by running:
 
 ```shell
-msginit --locale=XX
-```
-
-in the "po/" directory, where XX is the locale, e.g. "de", "is", "pt\_BR",
-"zh\_CN", etc.
-
-Then edit the automatically generated copyright info in your new "XX.po"
-to be correct, e.g. for Icelandic:
-
-```diff
-@@ -1,6 +1,6 @@
--# Icelandic translations for PACKAGE package.
--# Copyright (C) 2010 THE PACKAGE'S COPYRIGHT HOLDER
--# This file is distributed under the same license as the PACKAGE package.
-+# Icelandic translations for Git.
-+# Copyright (C) 2010 Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-+# This file is distributed under the same license as the Git package.
- # Ævar Arnfjörð Bjarmason <avarab@gmail.com>, 2010.
+make po-init PO_FILE=po/XX.po
 ```
 
-And change references to PACKAGE VERSION in the PO Header Entry to
-just "Git":
+Where XX is the locale, e.g. "de", "is", "pt\_BR", "zh\_CN", etc.
 
-```shell
-perl -pi -e 's/(?<="Project-Id-Version: )PACKAGE VERSION/Git/' XX.po
-```
+The newly generated message file "po/XX.po" is based on the core pot
+file "po/git-core.pot", so it contains only a minimal set of messages
+and it's a good start for a new language contribution.
 
 Once you are done testing the translation (see below), commit the result
 and ask the l10n coordinator to pull from you.
@@ -153,19 +137,40 @@ and ask the l10n coordinator to pull from you.
 If you are replacing translation strings in an existing "XX.po" file to
 improve the translation, just edit the file.
 
-If there's an existing "XX.po" file for your language, but the repository
-of the l10n coordinator has newer "po/git.pot" file, you would need to first
-pull from the l10n coordinator (see the beginning of this document for its
-URL), and then update the existing translation by running:
+If you want to find new translatable strings in source files of upstream
+repository and propagate them to your "po/XX.po", run command:
 
 ```shell
-msgmerge --add-location --backup=off -U XX.po git.pot
+make po-update PO_FILE=po/XX.po
 ```
 
-in the "po/" directory, where "XX.po" is the file you want to update.
+It will:
 
-Once you are done testing the translation (see below), commit the result
-and ask the l10n coordinator to pull from you.
+- Call "make pot" at runtime to generate new "po/git.pot" file
+- Call "msgmerge --add-location --backup=off -U po/XX.po po/git.pot"
+  to update your "po/XX.po"
+- The "--add-location" option for msgmerge will add location lines,
+  and these location lines will help translation tools to location
+  translation context easily.
+
+Once you are done testing the translation (see below), it's better
+to commit a location-less "po/XX.po" file to save repository space
+and make a user-friendly patch for review.
+
+To save a location-less "po/XX.po" automatically in repository, you
+can:
+
+- Define new attribute for "po/XX.po" by adding new line in
+  ".git/info/attributes":
+
+        /po/XX.po filter=gettext-no-location
+
+- Define driver for "gettext-no-location" filter:
+
+        $ git config --global filter.gettext-no-location.clean \
+              "msgcat --no-location -"
+
+You're now ready to ask the l10n coordinator to pull from you.
 
 
 ## Fuzzy translation
@@ -196,6 +201,14 @@ common errors, e.g. missing printf format strings, or translated
 messages that deviate from the originals in whether they begin/end
 with a newline or not.
 
+L10n coordinator will check your contributions using a helper program
+(see "PO helper" section below):
+
+```shell
+git-po-helper check-po po/XX.po
+git-po-helper check-commits <rev-list-opts>
+```
+
 
 ## Marking strings for translation
 
@@ -370,29 +383,6 @@ l10n workflow.
 To build and install the helper program from source, see
 [git-po-helper/README][].
 
-Usage for git-po-helper:
-
-- To start a new language translation:
-
-  ```shell
-  git-po-helper init XX.po
-  ```
-
-- To update your "XX.po" file:
-
-  ```shell
-  git-po-helper update XX.po
-  ```
-
-- To check commit log and syntax of "XX.po":
-
-  ```shell
-  git-po-helper check-po XX.po
-  git-po-helper check-commits
-  ```
-
-Run "git-po-helper" without arguments to show usage.
-
 
 ## Conventions
 
@@ -436,13 +426,8 @@ additional conventions:
 - Initialize proper filename of the "XX.po" file conforming to
   iso-639 and iso-3166.
 
-- Must complete a minimal translation based on the "po-core/core.pot"
-  template. Using the following command to initialize the minimal
-  "po-core/XX.po" file:
-
-  ```shell
-  git-po-helper init --core <your-language>
-  ```
+- Must complete a minimal translation based on the "Core
+  translation". See that section above.
 
 - Add a new entry in the "po/TEAMS" file with proper format, and check
   the syntax of "po/TEAMS" by running the following command:
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* Re: [PATCH v2 1/9] Makefile: sort "po/git.pot" by file location
  2022-05-19  8:15 ` [PATCH v2 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
@ 2022-05-19  8:53   ` Ævar Arnfjörð Bjarmason
  2022-05-19 12:41     ` Jiang Xin
  0 siblings, 1 reply; 110+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-05-19  8:53 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Junio C Hamano, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan


On Thu, May 19 2022, Jiang Xin wrote:

> From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
>
> Before feeding xgettext with more C souce files which may be ignored
> by various compiler conditions, add new option "--sort-by-file" to
> xgettext program to create stable message template file "po/git.pot".
>
> With this update, the newly generated "po/git.pot" will has the same
> entries while in a different order. We won't checkin the newly generated
> "po/git.pot", because we will remove it from tree in a later commit.
>
> Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
>  Makefile | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/Makefile b/Makefile
> index f8bccfab5e..83e968e2a4 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2706,6 +2706,7 @@ XGETTEXT_FLAGS = \
>  	--force-po \
>  	--add-comments=TRANSLATORS: \
>  	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
> +	--sort-by-file \
>  	--from-code=UTF-8
>  XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
>  	--keyword=_ --keyword=N_ --keyword="Q_:1,2"

I'm not opposed to this change, but between this and 2/9 I'm still
unsure what the aim is exactly, and if the results are desired.

In 2/9 you correctly point out that we have messages we've missed due to
LOCALIZED_C being platform-specific.

That should never happen (although your implementation in 2/9 may have
some small issues, I'll reply there separately), i.e. we should always
have "make pot" generate the same po/git.pot from the same commit
whether you're on linux, mac os x etc.

But AFAICT we have a "stable" sort order now, it's in whatever order we
feed the files to xgettext, which ultimately comes down to e.g. the list
of $(LIB_OBJS) in the Makefile.

I've been looking over the libintl documentation to see what exactly
these sort options do, and how they differ from the default, and it's
not really described.

AFAICT the xgettext behavior we have now is that we'll process the files
we have in order, and for those files extract the messages we have as we
see them.

One fringe benefit of that is that e.g. "make pot
XGETTEXT_INCLUDE_TESTS=Y" (which I think I've only ever used, and
probably only ~10 years ago) will get added at the end, but now it'll be
added wherever t/t0200 sorts.

Then because compose the builtin objs and lib objs by concatenation, but
don't $(sort) them in the Makefile most of this change is due to us
e.g. sorting builtin/* before parse-options.c or whatever.

But oddly we also have cases like this:

        strbuf_addf(&header, print_file_item_data.modified_fmt,
                    _("staged"), _("unstaged"), _("path"));

Before this we'd list those in that order in the git.pot, but now
because of --sort-by-file we'll list any messages on the same line in
sorted msgid order, not in the orderd they appear in. Another example is
e.g. this in builtin/blame.c:

    OPT_STRING_LIST(0, "ignore-rev", &ignore_rev_list, N_("rev"), N_("ignore <rev> when blaming"))

Where before we'd list them in that order, but now it's with "ignore.."
before "rev".

I think this change would be easier to follow & explain if you first
made this change:
	
	diff --git a/Makefile b/Makefile
	index 61aadf3ce88..3726fe8064a 100644
	--- a/Makefile
	+++ b/Makefile
	@@ -2715,10 +2715,9 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
	 	--keyword=gettextln --keyword=eval_gettextln
	 XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
	 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
	-LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
	-LOCALIZED_SH = $(SCRIPT_SH)
	-LOCALIZED_SH += git-sh-setup.sh
	-LOCALIZED_PERL = $(SCRIPT_PERL)
	+LOCALIZED_C = $(sort $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H))
	+LOCALIZED_SH = $(sort $(SCRIPT_SH) git-sh-setup.sh)
	+LOCALIZED_PERL = $(sort $(SCRIPT_PERL))
	 
	 ifdef XGETTEXT_INCLUDE_TESTS
	 LOCALIZED_C += t/t0200/test.c

Which would sort things within C, SH and Perl files (but not among
them). Then this change would AFAICT only:

 * Change that "within one line" sort order, as noted above
 * Sort across C/SH/Perl.

I'm mostly "meh" on the result, but it's also because I genuinely don't
get what the goal was. Is it because in 2/9 you'll end up using
$(FOUND_C_SOURCES), which we derive from either "git ls-files" or
"find", the latter of which has an unstable sort order?

Even if that's the case a smaller change is to just use $(sort) as noted
above. I like that a tiny bit more because then the "--join-existing" we
do for SH/Perl is an append, whereas now we'll re-sort the whole thing.

I also don't think it matters much either way, so whatever you're happy
with, the above all came from trying to follow along...

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v2 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C
  2022-05-19  8:15 ` [PATCH v2 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
@ 2022-05-19  9:18   ` Ævar Arnfjörð Bjarmason
  2022-05-19 12:48     ` Jiang Xin
  0 siblings, 1 reply; 110+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-05-19  9:18 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Junio C Hamano, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan


On Thu, May 19 2022, Jiang Xin wrote:

> From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
>
> When running "make pot" on different platform, we may get a different
> message template file "po/git.pot". This is because the "LOCALIZED_C"
> variable may have different C source files on different platforms or
> different compiler conditions.

As noted in my review of 1/9 this part of the rationale makes perfect
sense, no matter what we should always get the same results from "make
pot" on different platforms.

And I like the simplicity of using FOUND_C_SOURCES, unfortunately...

> We can make a stable "LOCALIZED_C" variable by applying patch snippets
> as follows:
>
>      ifdef NO_LIBGEN_H
>          COMPAT_CFLAGS += -DNO_LIBGEN_H
>          COMPAT_OBJS += compat/basename.o
>     +else
>     +    LOCALIZED_C += compat/basename.c
>      endif
>
> But it is much simpler to use variables "$(FOUND_C_SOURCES)" and
> "$(FOUND_C_SOURCES)" to form a stable "LOCALIZED_C".
>
> With this update, the newly generated "po/git.pot" will have 30 new
> entries coming from the following C source files:
>
>  * compat/fsmonitor/fsm-listen-win32.c
>  * compat/mingw.c
>  * compat/regex/regcomp.c
>  * compat/simple-ipc/ipc-win32.c

Those files which list "our" code look like obvious bug fixes, i.e. we
are the primary maintainer of that compat/* code, so we should do the
translation.

But the inclusion of compat/regex/regcomp.c there is a bug IMO. It's
code we got from glibc/awk. Do we really want to be using translator
time on that?

Hrm, maybe. After all those systems (most notably Windows) won't have
glibc/awk's translation catalogs, and in any case even if they did we'd
be using some ~decade old version of the code, so the two won't match up
well.

So maybe this is fine....

> Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
>  Makefile | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 83e968e2a4..60ca42c268 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2714,7 +2714,8 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
>  	--keyword=gettextln --keyword=eval_gettextln
>  XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
>  	--keyword=__ --keyword=N__ --keyword="__n:1,2"
> -LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
> +LOCALIZED_C = $(FOUND_C_SOURCES) $(SCALAR_SOURCES) \
> +	      $(FOUND_H_SOURCES) $(GENERATED_H)

The SCALAR_SOURCES seems snuck in here, but it's worth noting in the
commit message that we effectively had it here before as part of C_OBJ.

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v2 3/9] Makefile: have "make pot" not "reset --hard"
  2022-05-19  8:15 ` [PATCH v2 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
@ 2022-05-19  9:43   ` Ævar Arnfjörð Bjarmason
  2022-05-19 13:19     ` Jiang Xin
  0 siblings, 1 reply; 110+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-05-19  9:43 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Junio C Hamano, Git List, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan, Jiang Xin


On Thu, May 19 2022, Jiang Xin wrote:

> From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
>
> Before commit fc0fd5b23b (Makefile: help gettext tools to cope with our
> custom PRItime format, 2017-07-20) we'd consider source files as-is
> with gettext, but because we need to understand PRItime in the same way
> that gettext itself understands PRIuMAX we'd first check if we had a
> clean checkout, then munge all of the processed files in-place with
> "sed", generate "po/git.pot", and then finally "reset --hard" to undo
> our changes.
>
> By generating "pot" snippets in ".build/pot/po" for each source file
> and rewriting certain source files with PRItime macros to temporary
> files in ".build/pot/po", we can avoid running "make pot" by altering
> files in place and doing a "reset --hard" afterwards.
>
> This speed of "make pot" is slower than before on an initial run,
> because we run "xgettext" many times (once per source file), but it
> can be boosted by parallelization. It is *much* faster for incremental
> runs, and will allow us to implement related targets in subsequent
> commits.
>
> When the "pot" target was originally added in cd5513a7168 (i18n:
> Makefile: "pot" target to extract messages marked for translation,
> 2011-02-22) it behaved like a "normal" target. I.e. we'd skip the
> re-generation of the po/git.pot if nothing had to be done.
>
> Then after po/git.pot was checked in in dce37b66fb0 (l10n: initial
> git.pot for 1.7.10 upcoming release, 2012-02-13) the target was broken
> until 1f31963e921 (i18n: treat "make pot" as an explicitly-invoked
> target, 2014-08-22) when it was made to depend on "FORCE". I.e. the
> Makefile's dependency resolution inherently can't handle incremental
> building when the target file may be updated by git (or something else
> external to "make"). But this case no longer applies, so FORCE is no
> longer needed.
>
> That out of the way, the main logic change here is getting rid of the
> "reset --hard":
>
> We'll generate intermediate .build/pot/po/%.po files from %, which is
> handy to see at a glance what strings (if any) in a given file are
> marked for translation:
>
> 	$ make .build/pot/po/pretty.c.po
> 	[...]
> 	$ cat .build/pot/po/pretty.c.po
> 	#: pretty.c:1051
> 	msgid "unable to parse --pretty format"
> 	msgstr ""
> 	$
>
> For these C source files which contain the PRItime macros, we will
> create temporary munged *.c files in a tree in ".build/pot/po"
> corresponding to our source tree, and have "xgettext" consider those.
> The rule needs to be careful to "(cd .build/pot/po && ...)", because
> otherwise the comments in the po/git.pot file wouldn't refer to the
> correct source locations (they'd be prefixed with ".build/pot/po").
>
> This changes the output of the generated po/git.pot file in one minor
> way: Because we're using msgcat(1) instead of xgettext(1) to
> concatenate the output we'll now disambiguate where "TRANSLATORS"
> comments come from, in cases where a message is the same in N files,
> and either only one has a "TRANSLATORS" comment, or they're
> different. E.g. for the "Your edited hunk[...]" message we'll now
> apply this change (comment content elided):
>
> 	+#. #-#-#-#-#  add-patch.c.po  #-#-#-#-#
> 	 #. TRANSLATORS: do not translate [y/n]
> 	[...]
> 	+#. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#
> 	 #. TRANSLATORS: do not translate [y/n]
> 	[...]
> 	 #: add-patch.c:1253 git-add--interactive.perl:1244
> 	 msgid ""
> 	 "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
> 	 msgstr ""
>
> There are six such changes, and they all make the context more
> understandable, as msgcat(1) is better at handling these edge cases
> than xgettext(1)'s previously used "--join-existing" flag.
>
> While we could rename the "pot" snippets without the ".po" extention
> to use more intuitive filenames in the comments, but that will
> confuse the IDE with lots of invalid C or perl source files in
> ".build/pot/po" directory.
>
> The addition of "--omit-header" option for xgettext makes the "pot"
> snippets in ".build/pot/po/*.po" smaller. For the pot header of
> "po/git.pot", we use xgettext to generate a "pot" header file
> ".build/pot/git.header" from an empty file at runtime, and use this
> header to assemble "po/git.pot".
>
> But as we'll see in a subsequent commit this header behavior has been
> hiding an encoding-related bug from us, so let's carry it forward
> instead of re-generating it with xgettext(1).
>
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
>  .gitignore |  1 +
>  Makefile   | 73 ++++++++++++++++++++++++++++++++++++++----------------
>  2 files changed, 53 insertions(+), 21 deletions(-)
>
> diff --git a/.gitignore b/.gitignore
> index e81de1063a..a452215764 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -200,6 +200,7 @@
>  *.[aos]
>  *.o.json
>  *.py[co]
> +.build/
>  .depend/
>  *.gcda
>  *.gcno
> diff --git a/Makefile b/Makefile
> index 60ca42c268..c32ac4ca30 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -569,6 +569,7 @@ INSTALL = install
>  TCL_PATH = tclsh
>  TCLTK_PATH = wish
>  XGETTEXT = xgettext
> +MSGCAT = msgcat
>  MSGFMT = msgfmt
>  CURL_CONFIG = curl-config
>  GCOV = gcov
> @@ -2706,6 +2707,7 @@ XGETTEXT_FLAGS = \
>  	--force-po \
>  	--add-comments=TRANSLATORS: \
>  	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
> +	--package-name=Git \
>  	--sort-by-file \
>  	--from-code=UTF-8
>  XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
> @@ -2714,6 +2716,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
>  	--keyword=gettextln --keyword=eval_gettextln
>  XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
>  	--keyword=__ --keyword=N__ --keyword="__n:1,2"
> +MSGCAT_FLAGS = --sort-by-file
>  LOCALIZED_C = $(FOUND_C_SOURCES) $(SCALAR_SOURCES) \
>  	      $(FOUND_H_SOURCES) $(GENERATED_H)
>  LOCALIZED_SH = $(SCRIPT_SH)
> @@ -2726,34 +2729,61 @@ LOCALIZED_SH += t/t0200/test.sh
>  LOCALIZED_PERL += t/t0200/test.perl
>  endif
>  
> -## Note that this is meant to be run only by the localization coordinator
> -## under a very controlled condition, i.e. (1) it is to be run in a
> -## Git repository (not a tarball extract), (2) any local modifications
> -## will be lost.
> +## We generate intermediate .build/pot/po/%.po files containing a
> +## extract of the translations we find in each file in the source
> +## tree. We will assemble them using msgcat to create the final
> +## "po/git.pot" file.
> +LOCALIZED_ALL_GEN_PO =
> +
> +LOCALIZED_C_GEN_PO = $(LOCALIZED_C:%=.build/pot/po/%.po)
> +LOCALIZED_ALL_GEN_PO += $(LOCALIZED_C_GEN_PO)
> +
> +LOCALIZED_SH_GEN_PO = $(LOCALIZED_SH:%=.build/pot/po/%.po)
> +LOCALIZED_ALL_GEN_PO += $(LOCALIZED_SH_GEN_PO)
> +
> +LOCALIZED_PERL_GEN_PO = $(LOCALIZED_PERL:%=.build/pot/po/%.po)
> +LOCALIZED_ALL_GEN_PO += $(LOCALIZED_PERL_GEN_PO)
> +
>  ## Gettext tools cannot work with our own custom PRItime type, so
>  ## we replace PRItime with PRIuMAX.  We need to update this to
>  ## PRIdMAX if we switch to a signed type later.
> +$(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %
> +	$(call mkdir_p_parent_template)
> +	$(QUIET_XGETTEXT) \
> +	    if grep -q PRItime $<; then \
> +		(\
> +			sed -e 's|PRItime|PRIuMAX|g' <$< \
> +				>.build/pot/po/$< && \
> +			cd .build/pot/po && \
> +			$(XGETTEXT) --omit-header \
> +				-o $(@:.build/pot/po/%=%) \
> +				$(XGETTEXT_FLAGS_C) $< && \
> +			rm $<; \
> +		); \
> +	    else \
> +		$(XGETTEXT) --omit-header \
> +			-o $@ $(XGETTEXT_FLAGS_C) $<; \
> +	    fi
>  
> -po/git.pot: $(GENERATED_H) FORCE
> -	# All modifications will be reverted at the end, so we do not
> -	# want to have any local change.
> -	git diff --quiet HEAD && git diff --quiet --cached
> +$(LOCALIZED_SH_GEN_PO): .build/pot/po/%.po: %
> +	$(call mkdir_p_parent_template)
> +	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
> +		-o$@ $(XGETTEXT_FLAGS_SH) $<
>  
> -	@for s in $(LOCALIZED_C) $(LOCALIZED_SH) $(LOCALIZED_PERL); \
> -	do \
> -		sed -e 's|PRItime|PRIuMAX|g' <"$$s" >"$$s+" && \
> -		cat "$$s+" >"$$s" && rm "$$s+"; \
> -	done
> +$(LOCALIZED_PERL_GEN_PO): .build/pot/po/%.po: %
> +	$(call mkdir_p_parent_template)
> +	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
> +		-o$@ $(XGETTEXT_FLAGS_PERL) $<
>  
> -	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ $(XGETTEXT_FLAGS_C) $(LOCALIZED_C)
> -	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_SH) \
> -		$(LOCALIZED_SH)
> -	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_PERL) \
> -		$(LOCALIZED_PERL)
> +.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
> +	$(call mkdir_p_parent_template)
> +	$(QUIET_XGETTEXT)$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
> +		-o - /dev/null | \
> +	sed -e 's|charset=CHARSET|charset=UTF-8|g' >$@ && \
> +	echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
>  
> -	# Reverting the munged source, leaving only the updated $@
> -	git reset --hard
> -	mv $@+ $@
> +po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
> +	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
>  
>  .PHONY: pot
>  pot: po/git.pot
> @@ -3292,6 +3322,7 @@ cocciclean:
>  	$(RM) contrib/coccinelle/*.cocci.patch*
>  
>  clean: profile-clean coverage-clean cocciclean
> +	$(RM) -r .build
>  	$(RM) *.res
>  	$(RM) $(OBJECTS)
>  	$(RM) $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(REFTABLE_TEST_LIB)

In the previous discussion of kicking things around I lost track of what
version of mine this is picked up from, but I range-diff'd it to my
6cf9c1f7022 (Makefile: have "make pot" not "reset --hard", 2022-04-02),
which is the latest I had in avar/Makefile-incremental-po-git-pot-rule
on my branch.

A range-diff of the two follows below (yours being the RHS). Some
comments:

 * There's a bug here where you're creating .build/pot/po/pretty.c.po
   files, not .build/pot/po/pretty.c, i.e. you add a *.po extension.

   As the commit message diff shows that results in us adding comments
   to po/git.pot that reference the filename as e.g. add-patch.c.po
   instead of the correct add-patch.c.

   So while it sucks to have a pretty.c file in .build/ that's really
   just a partial *.po instead of one with a *.po extension the whole
   excercise of us sub-shelling into .build/pot/ etc. is to work around
   msgcat's and xgettext's lack specifying a custom "trust me, this is
   the filename", so we should make it *.c again.

   (We could also post-munge the file, but that would suck more)

 * We went a bit back & forth on the "if grep -q PRItime" part on the GH
   ticket. FWIW I still think just skipping that work is a better
   choice. Yes we'll have ~10MB of redundant files in .build, and it's
   marginally slower, but "make pot" isn't a hot target, better to
   optimize for simplicity.

   But if you're really set on having it I don't mind...

 * You add a "MSGCAT_FLAGS = --sort-by-file" here, maybe worth having
   some "common" flags variable in the earlier commit we can use here?
   I.e. share --sort-by-file with xgettext.

 * Your version is missing FORCE on po/git.pot, which is a bug. We can't
   omit it on any file that's checked in. We're about to "git rm" it
   anyway, so maybe we shouldn't worry about it though...

 * This commit breaks the non-ASCII msgid, but 4/9 is about to fix it,
   so likewise maybe not worth worrying about re-arranging them...

1:  6cf9c1f7022 ! 1:  c569d1cd688 Makefile: have "make pot" not "reset --hard"
    @@ Metadata
      ## Commit message ##
         Makefile: have "make pot" not "reset --hard"
     
    -    Change "make pot" to work on copies of the working tree files in a new
    -    ".build/pot/" directory, instead of altering them in place and doing a
    -    "reset --hard" afterwards.
    -
    -    This both speeds up the "make pot" target on an initial run, and makes
    -    it *much* faster for incremental runs, and will allow us to implement
    -    related targets in subsequent commits.
    +    Before commit fc0fd5b23b (Makefile: help gettext tools to cope with our
    +    custom PRItime format, 2017-07-20) we'd consider source files as-is
    +    with gettext, but because we need to understand PRItime in the same way
    +    that gettext itself understands PRIuMAX we'd first check if we had a
    +    clean checkout, then munge all of the processed files in-place with
    +    "sed", generate "po/git.pot", and then finally "reset --hard" to undo
    +    our changes.
    +
    +    By generating "pot" snippets in ".build/pot/po" for each source file
    +    and rewriting certain source files with PRItime macros to temporary
    +    files in ".build/pot/po", we can avoid running "make pot" by altering
    +    files in place and doing a "reset --hard" afterwards.
    +
    +    This speed of "make pot" is slower than before on an initial run,
    +    because we run "xgettext" many times (once per source file), but it
    +    can be boosted by parallelization. It is *much* faster for incremental
    +    runs, and will allow us to implement related targets in subsequent
    +    commits.
     
         When the "pot" target was originally added in cd5513a7168 (i18n:
         Makefile: "pot" target to extract messages marked for translation,
    @@ Commit message
         target, 2014-08-22) when it was made to depend on "FORCE". I.e. the
         Makefile's dependency resolution inherently can't handle incremental
         building when the target file may be updated by git (or something else
    -    external to "make").
    -
    -    So we still need a FORCE on po/git.pot, but now we'll have that target
    -    copy ".build/pot/git.pot" to "po/git.pot", and the former doesn't need
    -    FORCE.
    -
    -    I think 1f31963e921 was confused in the rationale for adding "FORCE"
    -    though, it's needed for the reasons noted above, but it's got nothing
    -    to do with how we do C compilation or find headers, which it suggest
    -    is the case. It was also made as a preparatory change for
    -    d85b0dff729 (Makefile: use `find` to determine static header
    -    dependencies, 2014-08-25).
    -
    -    Unlike the compiler, when we generate the "pot "file we won't recurse
    -    from one header file to another, we only consider the specific targets
    -    we're given, so if we miss a bar.h included via foo.h $(LOCALIZED_C)
    -    the FORCE won't help us.
    +    external to "make"). But this case no longer applies, so FORCE is no
    +    longer needed.
     
         That out of the way, the main logic change here is getting rid of the
         "reset --hard":
     
    -    Before fc0fd5b23bc we'd consider source files as-is with gettext, but
    -    because we need to understand PRItime in the same way that gettext
    -    itself understands PRIuMAX we'd first check if we had a clean
    -    checkout, then munge all of the processed files in-place with "sed",
    -    generate "po/git.pot, and then finally "reset --hard" to undo our
    -    changes.
    -
    -    We didn't need to do this for the *.perl and *.sh files, so let's
    -    skip that and only do it for the *.[ch] files.
    -
    -    Let's then create these munged *.[ch] files in a tree in .build/pot/"
    -    corresponding to our source tree, and have "xgettext" consider
    -    those. The rule needs to be careful to "(cd .build/pot && ...)",
    -    because otherwise the comments in the po/git.pot file wouldn't refer
    -    to the correct source locations (they'd be prefixed with
    -    ".build/git/").
    -
    -    We'll then generate intermediate .build/pot/po/% files from %, which
    -    is handy to see at a glance what strings (if any) in a given file are
    +    We'll generate intermediate .build/pot/po/%.po files from %, which is
    +    handy to see at a glance what strings (if any) in a given file are
         marked for translation:
     
    -            $ make .build/pot/po/pretty.c
    +            $ make .build/pot/po/pretty.c.po
                 [...]
    -            $ cat .build/pot/po/pretty.c
    +            $ cat .build/pot/po/pretty.c.po
                 #: pretty.c:1051
                 msgid "unable to parse --pretty format"
                 msgstr ""
                 $
     
    +    For these C source files which contain the PRItime macros, we will
    +    create temporary munged *.c files in a tree in ".build/pot/po"
    +    corresponding to our source tree, and have "xgettext" consider those.
    +    The rule needs to be careful to "(cd .build/pot/po && ...)", because
    +    otherwise the comments in the po/git.pot file wouldn't refer to the
    +    correct source locations (they'd be prefixed with ".build/pot/po").
    +
         This changes the output of the generated po/git.pot file in one minor
         way: Because we're using msgcat(1) instead of xgettext(1) to
         concatenate the output we'll now disambiguate where "TRANSLATORS"
    @@ Commit message
         different. E.g. for the "Your edited hunk[...]" message we'll now
         apply this change (comment content elided):
     
    -            +#. #-#-#-#-#  add-patch.c  #-#-#-#-#
    +            +#. #-#-#-#-#  add-patch.c.po  #-#-#-#-#
                  #. TRANSLATORS: do not translate [y/n]
                 [...]
    -            +#. #-#-#-#-#  git-add--interactive.perl  #-#-#-#-#
    +            +#. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#
                  #. TRANSLATORS: do not translate [y/n]
                 [...]
                  #: add-patch.c:1253 git-add--interactive.perl:1244
    @@ Commit message
                  "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
                  msgstr ""
     
    -    There are three such changes, and they all make the context more
    +    There are six such changes, and they all make the context more
         understandable, as msgcat(1) is better at handling these edge cases
         than xgettext(1)'s previously used "--join-existing" flag.
     
    -    The removal of the "--msgid-bugs-address" here and the addition of
    -    "--omit-header" and ".build/pot/pot.header" is because we'll now
    -    always carry forward the existing po/git.pot header.
    +    While we could rename the "pot" snippets without the ".po" extention
    +    to use more intuitive filenames in the comments, but that will
    +    confuse the IDE with lots of invalid C or perl source files in
    +    ".build/pot/po" directory.
     
    -    We'd previously generate the header with xgettext(1), but now we'll be
    -    carrying forward whatever header we find in po/git.pot. Right now this
    -    doesn't matter, we'll even update the timestamp in the header as
    -    before when running "make pot".
    +    The addition of "--omit-header" option for xgettext makes the "pot"
    +    snippets in ".build/pot/po/*.po" smaller. For the pot header of
    +    "po/git.pot", we use xgettext to generate a "pot" header file
    +    ".build/pot/git.header" from an empty file at runtime, and use this
    +    header to assemble "po/git.pot".
     
    -    But as we'll see in a subsequent commit our previous header behavior
    -    has been hiding an encoding-related bug from us, so let's carry it
    -    forward instead of re-generating it with xgettext(1).
    +    But as we'll see in a subsequent commit this header behavior has been
    +    hiding an encoding-related bug from us, so let's carry it forward
    +    instead of re-generating it with xgettext(1).
     
         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
    +    Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
    +    Signed-off-by: Junio C Hamano <gitster@pobox.com>
     
      ## .gitignore ##
     @@
    @@ .gitignore
      *.gcno
     
      ## Makefile ##
    -@@ Makefile: pdf:
    - XGETTEXT_FLAGS = \
    +@@ Makefile: INSTALL = install
    + TCL_PATH = tclsh
    + TCLTK_PATH = wish
    + XGETTEXT = xgettext
    ++MSGCAT = msgcat
    + MSGFMT = msgfmt
    + CURL_CONFIG = curl-config
    + GCOV = gcov
    +@@ Makefile: XGETTEXT_FLAGS = \
      	--force-po \
      	--add-comments=TRANSLATORS: \
    --	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
    --	--from-code=UTF-8
    -+	--from-code=UTF-8 \
    -+	--omit-header
    -+
    + 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
    ++	--package-name=Git \
    + 	--sort-by-file \
    + 	--from-code=UTF-8
      XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
    - 	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
    - XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
    +@@ Makefile: XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
    + 	--keyword=gettextln --keyword=eval_gettextln
    + XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
    + 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
    ++MSGCAT_FLAGS = --sort-by-file
    + LOCALIZED_C = $(FOUND_C_SOURCES) $(SCALAR_SOURCES) \
    + 	      $(FOUND_H_SOURCES) $(GENERATED_H)
    + LOCALIZED_SH = $(SCRIPT_SH)
     @@ Makefile: LOCALIZED_SH += t/t0200/test.sh
      LOCALIZED_PERL += t/t0200/test.perl
      endif
    @@ Makefile: LOCALIZED_SH += t/t0200/test.sh
     -## under a very controlled condition, i.e. (1) it is to be run in a
     -## Git repository (not a tarball extract), (2) any local modifications
     -## will be lost.
    -+## We generate intermediate .build/pot/po/% files containing a extract
    -+## of the translations we find in each file in the source tree. The
    -+## files have the same basename as the source due xgettext(1) not
    -+## having a way to override the basename inserted into comments.
    ++## We generate intermediate .build/pot/po/%.po files containing a
    ++## extract of the translations we find in each file in the source
    ++## tree. We will assemble them using msgcat to create the final
    ++## "po/git.pot" file.
     +LOCALIZED_ALL_GEN_PO =
     +
    -+LOCALIZED_C_GEN_PO = $(LOCALIZED_C:%=.build/pot/po/%)
    ++LOCALIZED_C_GEN_PO = $(LOCALIZED_C:%=.build/pot/po/%.po)
     +LOCALIZED_ALL_GEN_PO += $(LOCALIZED_C_GEN_PO)
     +
    -+LOCALIZED_SH_GEN_PO = $(LOCALIZED_SH:%=.build/pot/po/%)
    ++LOCALIZED_SH_GEN_PO = $(LOCALIZED_SH:%=.build/pot/po/%.po)
     +LOCALIZED_ALL_GEN_PO += $(LOCALIZED_SH_GEN_PO)
     +
    -+LOCALIZED_PERL_GEN_PO = $(LOCALIZED_PERL:%=.build/pot/po/%)
    ++LOCALIZED_PERL_GEN_PO = $(LOCALIZED_PERL:%=.build/pot/po/%.po)
     +LOCALIZED_ALL_GEN_PO += $(LOCALIZED_PERL_GEN_PO)
     +
      ## Gettext tools cannot work with our own custom PRItime type, so
      ## we replace PRItime with PRIuMAX.  We need to update this to
      ## PRIdMAX if we switch to a signed type later.
    -+LOCALIZED_C_GEN	= $(LOCALIZED_C:%=.build/pot/in/%)
    -+$(LOCALIZED_C_GEN): .build/pot/in/%: %
    ++$(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %
     +	$(call mkdir_p_parent_template)
    -+	$(QUIET_GEN)sed -e 's|PRItime|PRIuMAX|g' <$< >$@
    -+
    -+$(LOCALIZED_C_GEN_PO): .build/pot/po/%: .build/pot/in/%
    -+	$(call mkdir_p_parent_template)
    -+	$(QUIET_XGETTEXT)(\
    -+		cd .build/pot/in && \
    -+		$(XGETTEXT) -o $(@:.build/pot/po/%=../po/%) \
    -+			$(XGETTEXT_FLAGS_C) \
    -+			$(<:.build/pot/in/%=%) \
    -+	)
    ++	$(QUIET_XGETTEXT) \
    ++	    if grep -q PRItime $<; then \
    ++		(\
    ++			sed -e 's|PRItime|PRIuMAX|g' <$< \
    ++				>.build/pot/po/$< && \
    ++			cd .build/pot/po && \
    ++			$(XGETTEXT) --omit-header \
    ++				-o $(@:.build/pot/po/%=%) \
    ++				$(XGETTEXT_FLAGS_C) $< && \
    ++			rm $<; \
    ++		); \
    ++	    else \
    ++		$(XGETTEXT) --omit-header \
    ++			-o $@ $(XGETTEXT_FLAGS_C) $<; \
    ++	    fi
      
     -po/git.pot: $(GENERATED_H) FORCE
     -	# All modifications will be reverted at the end, so we do not
     -	# want to have any local change.
     -	git diff --quiet HEAD && git diff --quiet --cached
    -+$(LOCALIZED_SH_GEN_PO): .build/pot/po/%: %
    ++$(LOCALIZED_SH_GEN_PO): .build/pot/po/%.po: %
     +	$(call mkdir_p_parent_template)
    -+	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@ $(XGETTEXT_FLAGS_SH) $<
    ++	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
    ++		-o$@ $(XGETTEXT_FLAGS_SH) $<
      
     -	@for s in $(LOCALIZED_C) $(LOCALIZED_SH) $(LOCALIZED_PERL); \
     -	do \
     -		sed -e 's|PRItime|PRIuMAX|g' <"$$s" >"$$s+" && \
     -		cat "$$s+" >"$$s" && rm "$$s+"; \
     -	done
    -+$(LOCALIZED_PERL_GEN_PO): .build/pot/po/%: %
    -+	$(call mkdir_p_parent_template)
    -+	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@ $(XGETTEXT_FLAGS_PERL) $<
    -+
    -+.build/pot/pot.header:
    ++$(LOCALIZED_PERL_GEN_PO): .build/pot/po/%.po: %
     +	$(call mkdir_p_parent_template)
    -+	$(QUIET_GEN)sed -n -e '/^$$/q' -e 'p' <po/git.pot >$@
    ++	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
    ++		-o$@ $(XGETTEXT_FLAGS_PERL) $<
      
     -	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ $(XGETTEXT_FLAGS_C) $(LOCALIZED_C)
     -	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_SH) \
     -		$(LOCALIZED_SH)
     -	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_PERL) \
     -		$(LOCALIZED_PERL)
    -+.build/pot/git.pot: .build/pot/pot.header $(LOCALIZED_ALL_GEN_PO)
    -+	$(QUIET_GEN)msgcat $^ >$@
    ++.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
    ++	$(call mkdir_p_parent_template)
    ++	$(QUIET_XGETTEXT)$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
    ++		-o - /dev/null | \
    ++	sed -e 's|charset=CHARSET|charset=UTF-8|g' >$@ && \
    ++	echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
      
     -	# Reverting the munged source, leaving only the updated $@
     -	git reset --hard
     -	mv $@+ $@
    -+po/git.pot: .build/pot/git.pot FORCE
    -+	$(QUIET_CP)cp $< $@
    ++po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
    ++	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
      
      .PHONY: pot
      pot: po/git.pot
    @@ Makefile: cocciclean:
      	$(RM) *.res
      	$(RM) $(OBJECTS)
      	$(RM) $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(REFTABLE_TEST_LIB)
    -
    - ## shared.mak ##
    -@@ shared.mak: ifndef V
    - 	QUIET_AR       = @echo '   ' AR $@;
    - 	QUIET_LINK     = @echo '   ' LINK $@;
    - 	QUIET_BUILT_IN = @echo '   ' BUILTIN $@;
    -+	QUIET_CP       = @echo '   ' CP $@;
    - 	QUIET_LNCP     = @echo '   ' LN/CP $@;
    - 	QUIET_XGETTEXT = @echo '   ' XGETTEXT $@;
    - 	QUIET_MSGFMT   = @echo '   ' MSGFMT $@;

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v2 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot
  2022-05-19  8:15 ` [PATCH v2 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
@ 2022-05-19 10:02   ` Ævar Arnfjörð Bjarmason
  0 siblings, 0 replies; 110+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-05-19 10:02 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Junio C Hamano, Git List, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan, Jiang Xin


On Thu, May 19 2022, Jiang Xin wrote:

> From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
>
> In the preceding commit we moved away from using xgettext(1) to both
> generate the po/git.pot, and to merge the incrementally generated
> po/git.pot+ file as we sourced translations from C, shell and Perl.
>
> Doing it this way, which dates back to my initial
> implementation[1][2][3] was conflating two things: With xgettext(1)
> the --from-code both controls what encoding is specified in the
> po/git.pot's header, and what encoding we allow in source messages.
>
> We don't ever want to allow non-ASCII in *source messages*, and doing
> so has hid e.g. a buggy message introduced in
> a6226fd772b (submodule--helper: convert the bulk of cmd_add() to C,
> 2021-08-10) from us, we'd warn about it before, but only when running
> "make pot", but the operation would still succeed. Now we'll error out
> on it when running "make pot".
>
> Since the preceding Makefile changes made this easy: let's add a "make
> check-pot" target with the same prerequisites as the "po/git.pot"
> target, but without changing the file "po/git.pot". Running it as part
> of the "static-analysis" CI target will ensure that we catch any such
> issues in the future. E.g.:
>
>     $ make check-pot
>         XGETTEXT .build/pot/po/builtin/submodule--helper.c.po
>     xgettext: Non-ASCII string at builtin/submodule--helper.c:3381.
>               Please specify the source encoding through --from-code.
>     make: *** [.build/pot/po/builtin/submodule--helper.c.po] Error 1
>
> 1. cd5513a7168 (i18n: Makefile: "pot" target to extract messages
>    marked for translation, 2011-02-22)
> 2. adc3b2b2767 (Makefile: add xgettext target for *.sh files,
>    2011-05-14)
> 3. 5e9637c6297 (i18n: add infrastructure for translating Git with
>    gettext, 2011-11-18)
>
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
>  Makefile                    | 6 ++++--
>  builtin/submodule--helper.c | 2 +-
>  ci/run-static-analysis.sh   | 2 ++
>  3 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index c32ac4ca30..304cd03276 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2708,8 +2708,7 @@ XGETTEXT_FLAGS = \
>  	--add-comments=TRANSLATORS: \
>  	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
>  	--package-name=Git \
> -	--sort-by-file \
> -	--from-code=UTF-8
> +	--sort-by-file
>  XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
>  	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
>  XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
> @@ -2788,6 +2787,9 @@ po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
>  .PHONY: pot
>  pot: po/git.pot
>  
> +.PHONY: check-pot
> +check-pot: $(LOCALIZED_ALL_GEN_PO)
> +
>  ifdef NO_GETTEXT
>  POFILES :=
>  MOFILES :=
> diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
> index 2c87ef9364..b97f02eed5 100644
> --- a/builtin/submodule--helper.c
> +++ b/builtin/submodule--helper.c
> @@ -3378,7 +3378,7 @@ static int module_add(int argc, const char **argv, const char *prefix)
>  			   N_("reference repository")),
>  		OPT_BOOL(0, "dissociate", &dissociate, N_("borrow the objects from reference repositories")),
>  		OPT_STRING(0, "name", &add_data.sm_name, N_("name"),
> -			   N_("sets the submodule’s name to the given string "
> +			   N_("sets the submodule's name to the given string "
>  			      "instead of defaulting to its path")),
>  		OPT_INTEGER(0, "depth", &add_data.depth, N_("depth for shallow clones")),
>  		OPT_END()
> diff --git a/ci/run-static-analysis.sh b/ci/run-static-analysis.sh
> index 65bcebda41..0d51e5ce0e 100755
> --- a/ci/run-static-analysis.sh
> +++ b/ci/run-static-analysis.sh
> @@ -29,4 +29,6 @@ fi
>  make hdr-check ||
>  exit 1
>  
> +make check-pot
> +
>  save_good_tree

In my latest version of this (range-diff below, yours is the RHS) I had
this depend on the full po.git pot file, i.e. .build/pot/git.pot. You're
instead making it depend on only the intermediate files we msgcat from
it.

What I was going for was to detect that non-ASCII issue, which your
version will also do, but out of general paranoia I thought running it
thorugh the same toolchain and produce the end result made sense.

So if there's any issue that the msgcat that produces po.git would spot
we'll miss it here, but I don't know of any such problem.

So maybe there's nothing to worry about here, but it's probably worth
noting that we're confident that we won't have any trouble because of
not checking the end result po.git in the commit message...

1:  a7f8122d43f ! 1:  e2cfb1a2408 i18n CI: stop allowing non-ASCII source messages in po/git.pot
    @@ Commit message
         on it when running "make pot".
     
         Since the preceding Makefile changes made this easy: let's add a "make
    -    check-pot" target and run it as part of the "static-analysis" CI
    -    target, this will ensure that we catch any such issues in the future.
    +    check-pot" target with the same prerequisites as the "po/git.pot"
    +    target, but without changing the file "po/git.pot". Running it as part
    +    of the "static-analysis" CI target will ensure that we catch any such
    +    issues in the future. E.g.:
    +
    +        $ make check-pot
    +            XGETTEXT .build/pot/po/builtin/submodule--helper.c.po
    +        xgettext: Non-ASCII string at builtin/submodule--helper.c:3381.
    +                  Please specify the source encoding through --from-code.
    +        make: *** [.build/pot/po/builtin/submodule--helper.c.po] Error 1
     
         1. cd5513a7168 (i18n: Makefile: "pot" target to extract messages
            marked for translation, 2011-02-22)
    @@ Commit message
            gettext, 2011-11-18)
     
         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
    +    Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
    +    Signed-off-by: Junio C Hamano <gitster@pobox.com>
     
      ## Makefile ##
    -@@ Makefile: pdf:
    - XGETTEXT_FLAGS = \
    - 	--force-po \
    +@@ Makefile: XGETTEXT_FLAGS = \
      	--add-comments=TRANSLATORS: \
    --	--from-code=UTF-8 \
    - 	--omit-header
    - 
    + 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
    + 	--package-name=Git \
    +-	--sort-by-file \
    +-	--from-code=UTF-8
    ++	--sort-by-file
      XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
    -@@ Makefile: po/git.pot: .build/pot/git.pot FORCE
    + 	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
    + XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
    +@@ Makefile: po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
      .PHONY: pot
      pot: po/git.pot
      
     +.PHONY: check-pot
    -+check-pot: .build/pot/git.pot
    ++check-pot: $(LOCALIZED_ALL_GEN_PO)
     +
      ifdef NO_GETTEXT
      POFILES :=

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v2 7/9] Makefile: add "po-update" rule to update po/XX.po
  2022-05-19  8:15 ` [PATCH v2 7/9] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
@ 2022-05-19 10:07   ` Ævar Arnfjörð Bjarmason
  0 siblings, 0 replies; 110+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-05-19 10:07 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Junio C Hamano, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan


On Thu, May 19 2022, Jiang Xin wrote:

> From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
>
> Since there is no longer a "po/git.pot" file in tree, a l10n team leader
> has to run several commands to update their "po/XX.po" file:
>
>     $ make pot
>     $ msgmerge --add-location --backup=off -U po/XX.po po/git.pot
>
> To make this process easier, add a new rule so that l10n team leaders
> can update their "po/XX.po" with one command. E.g.:
>
>     $ make po-update PO_FILE=po/zh_CN.po
>
> Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
>  Makefile   | 18 ++++++++++++++++++
>  shared.mak |  1 +
>  2 files changed, 19 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index 34904b90d2..edebd44d5c 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -571,6 +571,7 @@ TCLTK_PATH = wish
>  XGETTEXT = xgettext
>  MSGCAT = msgcat
>  MSGFMT = msgfmt
> +MSGMERGE = msgmerge
>  CURL_CONFIG = curl-config
>  GCOV = gcov
>  STRIP = strip
> @@ -2716,6 +2717,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
>  XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
>  	--keyword=__ --keyword=N__ --keyword="__n:1,2"
>  MSGCAT_FLAGS = --sort-by-file
> +MSGMERGE_FLAGS = --add-location --backup=off --update

Ok, we'd like to have the location in the po/*.po files still. We're
just getting rid of po/git.pot.

I had some patches to also do it for the po/XX.po files, thinking that
we'd only check in the "meaningful" data. We'd then offer translators
some targets to add the locations to the file for working on them, and
then flip back before they did a "git commit" etc. etc.

But none of that needs to happen now, and this series is already quite
large, so just leaving things here seems like a good stopping point.

I also tested with --no-location (updated all to have no location), and
a subsequent --add-location run repairs it. It also fixes a manually
edited nonsense location for a valid msgid. So this all seems OK to me.

>  LOCALIZED_C = $(FOUND_C_SOURCES) $(SCALAR_SOURCES) \
>  	      $(FOUND_H_SOURCES) $(GENERATED_H)
>  LOCALIZED_SH = $(SCRIPT_SH)
> @@ -2787,6 +2789,22 @@ po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
>  .PHONY: pot
>  pot: po/git.pot
>  
> +define check_po_file_envvar
> +	$(if $(PO_FILE), \
> +		$(if $(filter po/%.po,$(PO_FILE)), , \
> +			$(error PO_FILE should match pattern: "po/%.po")), \
> +		$(error PO_FILE is not defined))
> +endef
> +
> +.PHONY: po-update
> +po-update: po/git.pot
> +	$(check_po_file_envvar)
> +	@if test ! -e $(PO_FILE); then \
> +		echo >&2 "error: $(PO_FILE) does not exist"; \
> +		exit 1; \
> +	fi
> +	$(QUIET_MSGMERGE)$(MSGMERGE) $(MSGMERGE_FLAGS) $(PO_FILE) po/git.pot

Nit: better to put the $(QUIET_MSGMERGE) in place of that @, i.e. V=1
will give you the full debug dump.

This is fine too I suppose, but we tend to use $(QUIET_*) like that
elsewhere...

>  .PHONY: check-pot
>  check-pot: $(LOCALIZED_ALL_GEN_PO)
>  
> diff --git a/shared.mak b/shared.mak
> index 50d4596f0d..8cd170a7e7 100644
> --- a/shared.mak
> +++ b/shared.mak
> @@ -63,6 +63,7 @@ ifndef V
>  	QUIET_LNCP     = @echo '   ' LN/CP $@;
>  	QUIET_XGETTEXT = @echo '   ' XGETTEXT $@;
>  	QUIET_MSGFMT   = @echo '   ' MSGFMT $@;
> +	QUIET_MSGMERGE = @echo '   ' MSGMERGE $@;
>  	QUIET_GCOV     = @echo '   ' GCOV $@;
>  	QUIET_SP       = @echo '   ' SP $<;
>  	QUIET_HDR      = @echo '   ' HDR $(<:hcc=h);


^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v2 8/9] Makefile: add "po-init" rule to initialize po/XX.po
  2022-05-19  8:15 ` [PATCH v2 8/9] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
@ 2022-05-19 10:22   ` Ævar Arnfjörð Bjarmason
  0 siblings, 0 replies; 110+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-05-19 10:22 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Junio C Hamano, Git List, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan, Jiang Xin


On Thu, May 19 2022, Jiang Xin wrote:

> From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
>
> 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 rule
> "core-pot" to create this core translation message "po/git-core.pot":
>
>     make 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 POT_FILE=po/XX.po

This is a typo, you mean PO_FILE, not POT_FILE.

>  Makefile      | 44 ++++++++++++++++++++++++++++++++++++++++++++
>  po/.gitignore |  1 +
>  shared.mak    |  1 +
>  3 files changed, 46 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index edebd44d5c..0a687a6eb2 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2801,6 +2801,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"'; \

Correct here.

>  		exit 1; \
>  	fi
>  	$(QUIET_MSGMERGE)$(MSGMERGE) $(MSGMERGE_FLAGS) $(PO_FILE) po/git.pot
> @@ -2808,6 +2809,49 @@ 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)
> +
> +.PHONY: core-pot
> +core-pot: po/git-core.pot
> +
> +.build/pot/git-core.header: $(LOCALIZED_C_CORE_GEN_PO)
> +	$(call mkdir_p_parent_template)
> +	$(QUIET_XGETTEXT)$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
> +		-o - /dev/null | \
> +	sed -e 's|charset=CHARSET|charset=UTF-8|g' >$@ && \
> +	echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
> +

This looks OK to me, FWIW in the version I have on my branch I tried to
munge some of this a bit more. So the diff between my (-)/yours (+) is:
	
	--- po/fo.po    2022-05-19 12:23:02.548459230 +0200
	+++ po/fo.po.jx 2022-05-19 12:22:50.608563768 +0200
	@@ -1,19454 +1,1224 @@
	+# Faroese translations for Git package.
	+# Copyright (C) 2022 THE Git'S COPYRIGHT HOLDER
	 # This file is distributed under the same license as the Git package.
	+# Automatically generated, 2022.
	+#
	 msgid ""
	 msgstr ""
	 "Project-Id-Version: Git\n"
	-"Last-Translator: make by the Makefile\n"
	-"Language-Team: Git Mailing List <git@vger.kernel.org>\n"
	+"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
	+"POT-Creation-Date: 2022-05-19 12:22+0200\n"
	+"PO-Revision-Date: 2022-05-19 12:22+0200\n"
	+"Last-Translator: Automatically generated\n"
	+"Language-Team: none\n"
	 "Language: fo\n"
	 "MIME-Version: 1.0\n"
	 "Content-Type: text/plain; charset=UTF-8\n"
	 "Content-Transfer-Encoding: 8bit\n"
	 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
	-"PO-Revision-Date: 2022-04-11 11:05+0200\n"

So yours has the "Faroese translations for Git package" (good), but I
also omitted/corrected some of the headers. See 72ed0c8b2e6 (i18n:
migrate to line-number-less i18n workflow, 2022-04-03) in my fork.

This version is also fine, but just in case you wanted to steal
something from it...

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v2 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-19  8:15 ` [PATCH v2 " Jiang Xin
@ 2022-05-19 10:28   ` Ævar Arnfjörð Bjarmason
  2022-05-19 14:32     ` Jiang Xin
  2022-05-23  1:25   ` [PATCH v3 " Jiang Xin
                     ` (9 subsequent siblings)
  10 siblings, 1 reply; 110+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-05-19 10:28 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Junio C Hamano, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan


On Thu, May 19 2022, Jiang Xin wrote:

> From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
>
> A workflow change for translators are being proposed.
>
> Changes since v1:
>
> * Patch 4/9: When running "make check-pot", do not update "po/git.pot".
> * Patch 6/9: reword: the removal of "po/git.pot" is in preceding commit.
> * Patch 7/9 and 8/9: Add new funciton "check_po_file_envvar" for reuse in both
>   po-update and po-init targets.

Thanks a lot for picking this up. I left some detailed comments on
individual commits.

My own latest WIP version of an approximation of this topic was
https://github.com/avar/git/tree/avar/Makefile-incremental-po-git-pot-rule,
which is what I used for some of the range-diffs.

(I think the first E-Mail I sent had a range-diff against the latest
version I found in your fork, but I found that was probably the v1
version, but I think those comments applied to your v2 (which I read
on-list))

Aside from differences already noted I spotted that your "make pot" ends
up with a po/git.pot that has a header, but I omitted it in
mine. Perhaps that explains some of the headers in 8/9? I.e. we don't
need the header on po/git.pot, perhaps that explains the difference
noted in my comment in 8/9?

Also: shouldn't "make clean" remove the generated po/git.pot and
po/git-core.pot? I see you added it to "distclean", maybe that's better
(or maybe that's from a version of mine...).

Just from some last minute testing I think you want this squashed in
(and move that "sed" to the "init" and/or "update" of the individual
po/XX.po files):
	
	diff --git a/Makefile b/Makefile
	index 65a7558261a..57db37db556 100644
	--- a/Makefile
	+++ b/Makefile
	@@ -2778,14 +2778,7 @@ $(LOCALIZED_PERL_GEN_PO): .build/pot/po/%.po: %
	 	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
	 		-o$@ $(XGETTEXT_FLAGS_PERL) $<
	 
	-.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
	-	$(call mkdir_p_parent_template)
	-	$(QUIET_XGETTEXT)$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
	-		-o - /dev/null | \
	-	sed -e 's|charset=CHARSET|charset=UTF-8|g' >$@ && \
	-	echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
	-
	-po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
	+po/git.pot: $(LOCALIZED_ALL_GEN_PO)
	 	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
	 
	 .PHONY: pot

I.e. we can just msgcat po/git.pot without the header. For both
"po-init" and "po-update" that seems to do the right thing for me...

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v2 1/9] Makefile: sort "po/git.pot" by file location
  2022-05-19  8:53   ` Ævar Arnfjörð Bjarmason
@ 2022-05-19 12:41     ` Jiang Xin
  0 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-19 12:41 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: Junio C Hamano, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan

On Thu, May 19, 2022 at 5:17 PM Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
>
>
> On Thu, May 19 2022, Jiang Xin wrote:
>
> > From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> >
> > Before feeding xgettext with more C souce files which may be ignored
> > by various compiler conditions, add new option "--sort-by-file" to
> > xgettext program to create stable message template file "po/git.pot".
> >
> > With this update, the newly generated "po/git.pot" will has the same
> > entries while in a different order. We won't checkin the newly generated
> > "po/git.pot", because we will remove it from tree in a later commit.
> >
> > Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> > Signed-off-by: Junio C Hamano <gitster@pobox.com>
> > ---
> >  Makefile | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/Makefile b/Makefile
> > index f8bccfab5e..83e968e2a4 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -2706,6 +2706,7 @@ XGETTEXT_FLAGS = \
> >       --force-po \
> >       --add-comments=TRANSLATORS: \
> >       --msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
> > +     --sort-by-file \
> >       --from-code=UTF-8
> >  XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
> >       --keyword=_ --keyword=N_ --keyword="Q_:1,2"
>
> I'm not opposed to this change, but between this and 2/9 I'm still
> unsure what the aim is exactly, and if the results are desired.

We will change the order of input files to feed xgettext to create
"po/git.pot" in patch 2/9, and we may change the order of input files
in future version. With the option "--sort-by-file" we can get a
stable "po/git.pot" and better compression ratios for future versions
of "po/*.po*".

> In 2/9 you correctly point out that we have messages we've missed due to
> LOCALIZED_C being platform-specific.
>
> That should never happen (although your implementation in 2/9 may have
> some small issues, I'll reply there separately), i.e. we should always
> have "make pot" generate the same po/git.pot from the same commit
> whether you're on linux, mac os x etc.

l10n translators may work on different platforms or have different
compiler conditions, and their contributions may have different base
templates (po/git.pot). It is hard for the l10n coordinator to choose
a base template to check contributions from different l10n
contributors.

> But AFAICT we have a "stable" sort order now, it's in whatever order we
> feed the files to xgettext, which ultimately comes down to e.g. the list
> of $(LIB_OBJS) in the Makefile.
>
> I've been looking over the libintl documentation to see what exactly
> these sort options do, and how they differ from the default, and it's
> not really described.
>
> AFAICT the xgettext behavior we have now is that we'll process the files
> we have in order, and for those files extract the messages we have as we
> see them.
>
> One fringe benefit of that is that e.g. "make pot
> XGETTEXT_INCLUDE_TESTS=Y" (which I think I've only ever used, and
> probably only ~10 years ago) will get added at the end, but now it'll be
> added wherever t/t0200 sorts.
>
> Then because compose the builtin objs and lib objs by concatenation, but
> don't $(sort) them in the Makefile most of this change is due to us
> e.g. sorting builtin/* before parse-options.c or whatever.
>
> But oddly we also have cases like this:
>
>         strbuf_addf(&header, print_file_item_data.modified_fmt,
>                     _("staged"), _("unstaged"), _("path"));
>
> Before this we'd list those in that order in the git.pot, but now
> because of --sort-by-file we'll list any messages on the same line in
> sorted msgid order, not in the orderd they appear in. Another example is
> e.g. this in builtin/blame.c:
>
>     OPT_STRING_LIST(0, "ignore-rev", &ignore_rev_list, N_("rev"), N_("ignore <rev> when blaming"))
>
> Where before we'd list them in that order, but now it's with "ignore.."
> before "rev".

These side effects of changing the order of entries in the same line
of the same source file have little effect on the l10n translation.

> I think this change would be easier to follow & explain if you first
> made this change:
>
>         diff --git a/Makefile b/Makefile
>         index 61aadf3ce88..3726fe8064a 100644
>         --- a/Makefile
>         +++ b/Makefile
>         @@ -2715,10 +2715,9 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
>                 --keyword=gettextln --keyword=eval_gettextln
>          XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
>                 --keyword=__ --keyword=N__ --keyword="__n:1,2"
>         -LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
>         -LOCALIZED_SH = $(SCRIPT_SH)
>         -LOCALIZED_SH += git-sh-setup.sh
>         -LOCALIZED_PERL = $(SCRIPT_PERL)
>         +LOCALIZED_C = $(sort $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H))
>         +LOCALIZED_SH = $(sort $(SCRIPT_SH) git-sh-setup.sh)
>         +LOCALIZED_PERL = $(sort $(SCRIPT_PERL))
>
>          ifdef XGETTEXT_INCLUDE_TESTS
>          LOCALIZED_C += t/t0200/test.c

I do not need this intermediate commit and submit new generated
"po/git.pot" file to observe changes of the "po/git.pot" file, because
I have a diff driver install as described here:

    https://github.com/git-l10n/git-po-helper/tree/main/contrib/diff-dirver

So I can tell the newly generated "po/git.pot" will have the same
entries while in a different order. If I want to see changes on raw
files, I can use command:

    git diff --no-textconv

> Which would sort things within C, SH and Perl files (but not among
> them). Then this change would AFAICT only:
>
>  * Change that "within one line" sort order, as noted above
>  * Sort across C/SH/Perl.
>
> I'm mostly "meh" on the result, but it's also because I genuinely don't
> get what the goal was. Is it because in 2/9 you'll end up using
> $(FOUND_C_SOURCES), which we derive from either "git ls-files" or
> "find", the latter of which has an unstable sort order?

The goal is to have a constant order of entries in "po/git.pot" and
"po/*.po", so we can save the space of our repository by better
compression ratio on files inside "po/".

--
Jiang Xin

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v2 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C
  2022-05-19  9:18   ` Ævar Arnfjörð Bjarmason
@ 2022-05-19 12:48     ` Jiang Xin
  0 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-19 12:48 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: Junio C Hamano, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan

On Thu, May 19, 2022 at 5:25 PM Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
> > diff --git a/Makefile b/Makefile
> > index 83e968e2a4..60ca42c268 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -2714,7 +2714,8 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
> >       --keyword=gettextln --keyword=eval_gettextln
> >  XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
> >       --keyword=__ --keyword=N__ --keyword="__n:1,2"
> > -LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
> > +LOCALIZED_C = $(FOUND_C_SOURCES) $(SCALAR_SOURCES) \
> > +           $(FOUND_H_SOURCES) $(GENERATED_H)
>
> The SCALAR_SOURCES seems snuck in here, but it's worth noting in the
> commit message that we effectively had it here before as part of C_OBJ.

Agree.

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v2 3/9] Makefile: have "make pot" not "reset --hard"
  2022-05-19  9:43   ` Ævar Arnfjörð Bjarmason
@ 2022-05-19 13:19     ` Jiang Xin
  2022-05-19 14:06       ` Ævar Arnfjörð Bjarmason
  0 siblings, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-19 13:19 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: Junio C Hamano, Git List, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan, Jiang Xin

On Thu, May 19, 2022 at 5:53 PM Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
> In the previous discussion of kicking things around I lost track of what
> version of mine this is picked up from, but I range-diff'd it to my
> 6cf9c1f7022 (Makefile: have "make pot" not "reset --hard", 2022-04-02),
> which is the latest I had in avar/Makefile-incremental-po-git-pot-rule
> on my branch.
>
> A range-diff of the two follows below (yours being the RHS). Some
> comments:
>
>  * There's a bug here where you're creating .build/pot/po/pretty.c.po
>    files, not .build/pot/po/pretty.c, i.e. you add a *.po extension.

In the original version of your commit, each source file has a
duplicate version in the ".build/" directory, and this will confuse
IDE (E.g.: VS Code) when I jump to a function declaration.

Name the "pot" snippets with the ".po" extension only have the
following side effect, nothing else:

            +#. #-#-#-#-#  add-patch.c.po  #-#-#-#-#
             #. TRANSLATORS: do not translate [y/n]
            [...]
            +#. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#

I add some notes in commit message:

    While we could rename the "pot" snippets without the ".po" extension
    to use more intuitive filenames in the comments, but that will
    confuse the IDE with lots of invalid C or perl source files in
    ".build/pot/po" directory.

>  * We went a bit back & forth on the "if grep -q PRItime" part on the GH
>    ticket. FWIW I still think just skipping that work is a better
>    choice. Yes we'll have ~10MB of redundant files in .build, and it's

Redundant source files (*.c, *.h, *.perl) in .build will make IDE mad.

>    marginally slower, but "make pot" isn't a hot target, better to
>    optimize for simplicity.
>
>    But if you're really set on having it I don't mind...
>
>  * You add a "MSGCAT_FLAGS = --sort-by-file" here, maybe worth having
>    some "common" flags variable in the earlier commit we can use here?
>    I.e. share --sort-by-file with xgettext.
>
>  * Your version is missing FORCE on po/git.pot, which is a bug. We can't
>    omit it on any file that's checked in. We're about to "git rm" it
>    anyway, so maybe we shouldn't worry about it though...

I'm confused. Since the "po/git.pot" target has a full set of
prerequisites, it is fine to remove FORCE from dependence.

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v2 3/9] Makefile: have "make pot" not "reset --hard"
  2022-05-19 13:19     ` Jiang Xin
@ 2022-05-19 14:06       ` Ævar Arnfjörð Bjarmason
  0 siblings, 0 replies; 110+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-05-19 14:06 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Junio C Hamano, Git List, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan, Jiang Xin


On Thu, May 19 2022, Jiang Xin wrote:

> On Thu, May 19, 2022 at 5:53 PM Ævar Arnfjörð Bjarmason
> <avarab@gmail.com> wrote:
>> In the previous discussion of kicking things around I lost track of what
>> version of mine this is picked up from, but I range-diff'd it to my
>> 6cf9c1f7022 (Makefile: have "make pot" not "reset --hard", 2022-04-02),
>> which is the latest I had in avar/Makefile-incremental-po-git-pot-rule
>> on my branch.
>>
>> A range-diff of the two follows below (yours being the RHS). Some
>> comments:
>>
>>  * There's a bug here where you're creating .build/pot/po/pretty.c.po
>>    files, not .build/pot/po/pretty.c, i.e. you add a *.po extension.
>
> In the original version of your commit, each source file has a
> duplicate version in the ".build/" directory, and this will confuse
> IDE (E.g.: VS Code) when I jump to a function declaration.
>
> Name the "pot" snippets with the ".po" extension only have the
> following side effect, nothing else:
>
>             +#. #-#-#-#-#  add-patch.c.po  #-#-#-#-#
>              #. TRANSLATORS: do not translate [y/n]
>             [...]
>             +#. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#

I don't think we should sacrifice correctness for such an IDE
workaround, which surely will just bite someone else in a different
way. I.e. now if I'm auto-completing .po<TAB> in a hypothetical naïve
IDE that's looking in .build/ I'll get these built files instead.

The right solution in both cases being that the IDE in question should
be ignoring things covered by .gitignore, or perhaps we could ship
something in contrib/ for specific IDEs?

There's also an easy workaround we can do on the GNU make side. Unless
you mark files as PRECIOUS it'll delete files that are only used for
intermediate targets.

We could thus make the chain e.g.:

    git.c -> .build/pot/po/git.c -> .build/pot/po/git.c.done 

Instead of:

    git.c -> .build/pot/po/git.c -> .build/pot/po/git.c.done

Where the only point of the ".build/pot/po/git.c.done" is to have make
delete the intermediate file as soon as it's done with it.

Or, since the comments all start with #. or #: we could post-munge them
with "sed" I guess.

> I add some notes in commit message:
>
>     While we could rename the "pot" snippets without the ".po" extension
>     to use more intuitive filenames in the comments, but that will
>     confuse the IDE with lots of invalid C or perl source files in
>     ".build/pot/po" directory.

Ah, I see that after you pointed out. I'd skimmed entirely over the
commit message thinking it must have been something I wrote, and didn't
notice that edit. Sorry.

>>  * We went a bit back & forth on the "if grep -q PRItime" part on the GH
>>    ticket. FWIW I still think just skipping that work is a better
>>    choice. Yes we'll have ~10MB of redundant files in .build, and it's
>
> Redundant source files (*.c, *.h, *.perl) in .build will make IDE mad.

Hopefully we can have our cake & eat it too here, per the above. 

>>    marginally slower, but "make pot" isn't a hot target, better to
>>    optimize for simplicity.
>>
>>    But if you're really set on having it I don't mind...
>>
>>  * You add a "MSGCAT_FLAGS = --sort-by-file" here, maybe worth having
>>    some "common" flags variable in the earlier commit we can use here?
>>    I.e. share --sort-by-file with xgettext.
>>
>>  * Your version is missing FORCE on po/git.pot, which is a bug. We can't
>>    omit it on any file that's checked in. We're about to "git rm" it
>>    anyway, so maybe we shouldn't worry about it though...
>
> I'm confused. Since the "po/git.pot" target has a full set of
> prerequisites, it is fine to remove FORCE from dependence.

At this point in the series po/git.pot is still a file tracked by git.

Thus:

    make pot
    git reset --hard HEAD^
    make pot

Or whatever will report that there's nothing to do, since the timestamp
of the "generated" file will be newer than that of what it depends on.

That's why my version pulled that dance with having the
.build/pot/git.pot be non-FORCE and the po/git.pot be FORCE until it was
git rm'd.

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v2 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-19 10:28   ` Ævar Arnfjörð Bjarmason
@ 2022-05-19 14:32     ` Jiang Xin
  2022-05-19 14:41       ` Ævar Arnfjörð Bjarmason
  0 siblings, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-19 14:32 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: Junio C Hamano, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan

On Thu, May 19, 2022 at 6:39 PM Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
> Thanks a lot for picking this up. I left some detailed comments on
> individual commits.
>
> My own latest WIP version of an approximation of this topic was
> https://github.com/avar/git/tree/avar/Makefile-incremental-po-git-pot-rule,
> which is what I used for some of the range-diffs.
>
> (I think the first E-Mail I sent had a range-diff against the latest
> version I found in your fork, but I found that was probably the v1
> version, but I think those comments applied to your v2 (which I read
> on-list))
>
> Aside from differences already noted I spotted that your "make pot" ends
> up with a po/git.pot that has a header, but I omitted it in
> mine. Perhaps that explains some of the headers in 8/9? I.e. we don't
> need the header on po/git.pot, perhaps that explains the difference
> noted in my comment in 8/9?
>
> Also: shouldn't "make clean" remove the generated po/git.pot and
> po/git-core.pot? I see you added it to "distclean", maybe that's better
> (or maybe that's from a version of mine...).
>
> Just from some last minute testing I think you want this squashed in
> (and move that "sed" to the "init" and/or "update" of the individual
> po/XX.po files):
>
>         diff --git a/Makefile b/Makefile
>         index 65a7558261a..57db37db556 100644
>         --- a/Makefile
>         +++ b/Makefile
>         @@ -2778,14 +2778,7 @@ $(LOCALIZED_PERL_GEN_PO): .build/pot/po/%.po: %
>                 $(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
>                         -o$@ $(XGETTEXT_FLAGS_PERL) $<
>
>         -.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
>         -       $(call mkdir_p_parent_template)
>         -       $(QUIET_XGETTEXT)$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
>         -               -o - /dev/null | \
>         -       sed -e 's|charset=CHARSET|charset=UTF-8|g' >$@ && \
>         -       echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
>         -
>         -po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
>         +po/git.pot: $(LOCALIZED_ALL_GEN_PO)
>                 $(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
>
>          .PHONY: pot
>
> I.e. we can just msgcat po/git.pot without the header. For both
> "po-init" and "po-update" that seems to do the right thing for me...

Benefits of having a header for "po/git.pot" file:
1. Have a nice field "Project-Id-Version: Git" in the head of a new
    generated po file.
2. We can identify the base version of "po/git.pot" by inspecting
    the "POT-Creation-Date" field in the header of a po file.

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v2 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-19 14:32     ` Jiang Xin
@ 2022-05-19 14:41       ` Ævar Arnfjörð Bjarmason
  0 siblings, 0 replies; 110+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-05-19 14:41 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Junio C Hamano, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan


On Thu, May 19 2022, Jiang Xin wrote:

> On Thu, May 19, 2022 at 6:39 PM Ævar Arnfjörð Bjarmason
> <avarab@gmail.com> wrote:
>> Thanks a lot for picking this up. I left some detailed comments on
>> individual commits.
>>
>> My own latest WIP version of an approximation of this topic was
>> https://github.com/avar/git/tree/avar/Makefile-incremental-po-git-pot-rule,
>> which is what I used for some of the range-diffs.
>>
>> (I think the first E-Mail I sent had a range-diff against the latest
>> version I found in your fork, but I found that was probably the v1
>> version, but I think those comments applied to your v2 (which I read
>> on-list))
>>
>> Aside from differences already noted I spotted that your "make pot" ends
>> up with a po/git.pot that has a header, but I omitted it in
>> mine. Perhaps that explains some of the headers in 8/9? I.e. we don't
>> need the header on po/git.pot, perhaps that explains the difference
>> noted in my comment in 8/9?
>>
>> Also: shouldn't "make clean" remove the generated po/git.pot and
>> po/git-core.pot? I see you added it to "distclean", maybe that's better
>> (or maybe that's from a version of mine...).
>>
>> Just from some last minute testing I think you want this squashed in
>> (and move that "sed" to the "init" and/or "update" of the individual
>> po/XX.po files):
>>
>>         diff --git a/Makefile b/Makefile
>>         index 65a7558261a..57db37db556 100644
>>         --- a/Makefile
>>         +++ b/Makefile
>>         @@ -2778,14 +2778,7 @@ $(LOCALIZED_PERL_GEN_PO): .build/pot/po/%.po: %
>>                 $(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
>>                         -o$@ $(XGETTEXT_FLAGS_PERL) $<
>>
>>         -.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
>>         -       $(call mkdir_p_parent_template)
>>         -       $(QUIET_XGETTEXT)$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
>>         -               -o - /dev/null | \
>>         -       sed -e 's|charset=CHARSET|charset=UTF-8|g' >$@ && \
>>         -       echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
>>         -
>>         -po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
>>         +po/git.pot: $(LOCALIZED_ALL_GEN_PO)
>>                 $(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
>>
>>          .PHONY: pot
>>
>> I.e. we can just msgcat po/git.pot without the header. For both
>> "po-init" and "po-update" that seems to do the right thing for me...
>
> Benefits of having a header for "po/git.pot" file:
> 1. Have a nice field "Project-Id-Version: Git" in the head of a new
>     generated po file.
> 2. We can identify the base version of "po/git.pot" by inspecting
>     the "POT-Creation-Date" field in the header of a po file.

For 1: Yes, we should have a header, I'm saying we don't need it for
po/git.pot, just po/XX.po, and not having it in po/git.pot makes things
a bit simpler, since when you "msgmerge" it you only worry about merging
the content, not the header.

The header you can then create with msginit, which in both our versions
we'd "sed" or otherwise correctly invoke msginit to add the correct
fields.

For 2: I think that having such fields in a world where everyone uses
version control (and the git project certainly does) is rather useless,
they're there in the PO format because it pre-dates version control
being ubiquitous.

The time-related fields I left in I left there because it seemed that
some PO tooling (e.g. Emacs's po-mode) insists on it.

Anyway, this is all small potatoes. I only pointed this out because when
I was hacking this up & debugging it I found it much easier to deal with
being able to piece together things with just msgcat, which we can do
with po/git.pot if it doesn't have a header.

But for adding the header we either need to msgcat a header file (which
an early version of my patches did), or just skip it and have it only
added for the XX.po files.

I think it's simpler just to omit it :)

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v2 9/9] l10n: Document the new l10n workflow
  2022-05-19  8:15 ` [PATCH v2 9/9] l10n: Document the new l10n workflow Jiang Xin
@ 2022-05-19 17:18   ` Junio C Hamano
  2022-05-21 15:06     ` Jiang Xin
  0 siblings, 1 reply; 110+ messages in thread
From: Junio C Hamano @ 2022-05-19 17:18 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Ævar Arnfjörð Bjarmason, Git List,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

Jiang Xin <worldhello.net@gmail.com> writes:

> +## Creating the "po/git.pot" file
> +
> +The "po/git.pot" file, once generated by the the l10n coordinator had

"once generated" -> "used to be generated"

> +been removed from the tree. L10n contributors can generated it at

"can generated it" -> "can generate it"

> +runtime using command:
> +
> +```shell
> +make pot
> +```

Just a minor detail, but I wonder if we want "make po/git.pot" here
rather than "make pot", as the text before this command talks about
"creating the po/git.pot file".  It used to be that the readers of
this document didn't have to worry about po/git.pot and the only
thing they needed to know was stuff starting from "make po-init",
but now they must be more aware of po/git.pot than before, so...

> +Then language contributors use this file to prepare translations for
> +their language, but they are not expected to modify it.

> @@ -115,32 +117,14 @@ If your language XX does not have translated message file "po/XX.po" yet,
> ...
> +make po-init PO_FILE=po/XX.po
>  ```
>  
> -And change references to PACKAGE VERSION in the PO Header Entry to
> -just "Git":
> +Where XX is the locale, e.g. "de", "is", "pt\_BR", "zh\_CN", etc.

"Where" -> "where".

XX was called "the two character language translation codes"
(mouthful isn't it) in much earlier part of the documentation, but
here it stands for more than the language part.  I wonder if that
is confusing and we'd better use something other than XX.

In any case, we should define "locale" and tell the readers that
language "XX" can be followed by territory "_YY" that clarifies the
variant of the language, probably at the same place where we
explained the two-letter language code and to the same degree by
explaining the two-letter country codes and where they come from
(i.e. ISO 3166-1).

> +It will:
>  
> +- Call "make pot" at runtime to generate new "po/git.pot" file

What does "at runtime" mean here?  Would it change the meaning if I
rewrote this line to

	Call "make pot" to generate new "po/git.pot" file

at all?  To put it differently, does it call "make pot" at runtime,
but it does not call "msgmerge --add-location ..." at runtime?

If "at runtime" is truly a noiseword, then remove it.  It is
confusing.

> +- Call "msgmerge --add-location --backup=off -U po/XX.po po/git.pot"
> +  to update your "po/XX.po"
> +- The "--add-location" option for msgmerge will add location lines,
> +  and these location lines will help translation tools to location
> +  translation context easily.

"help translation tools to location" -> "help translation tools to locate"

probably.

> +To save a location-less "po/XX.po" automatically in repository, you
> +can:
> +
> +- Define new attribute for "po/XX.po" by adding new line in
> +  ".git/info/attributes":
> +
> +        /po/XX.po filter=gettext-no-location
> +
> +- Define driver for "gettext-no-location" filter:

"filter" -> "clean filter"?

> +        $ git config --global filter.gettext-no-location.clean \
> +              "msgcat --no-location -"
> +
> +You're now ready to ask the l10n coordinator to pull from you.

Should this part also explain what it is doing, just like we
explained what happens when "make po-update" is run in an earlier
section?

    The above sets up a clean filter for po/XX.po file so that the
    "msgcat --no-location" command is used to strip out the location
    information from the contents when the file is checked in.

or something, perhaps?

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v2 9/9] l10n: Document the new l10n workflow
  2022-05-19 17:18   ` Junio C Hamano
@ 2022-05-21 15:06     ` Jiang Xin
  0 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-21 15:06 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Ævar Arnfjörð Bjarmason, Git List,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

On Fri, May 20, 2022 at 1:18 AM Junio C Hamano <gitster@pobox.com> wrote:
> XX was called "the two character language translation codes"
> (mouthful isn't it) in much earlier part of the documentation, but
> here it stands for more than the language part.  I wonder if that
> is confusing and we'd better use something other than XX.
>
> In any case, we should define "locale" and tell the readers that
> language "XX" can be followed by territory "_YY" that clarifies the
> variant of the language, probably at the same place where we
> explained the two-letter language code and to the same degree by
> explaining the two-letter country codes and where they come from
> (i.e. ISO 3166-1).

May change like this:

-- snip --
@@ -9,8 +9,15 @@

     https://github.com/git-l10n/git-po/

-The two character language translation codes are defined by ISO\_639-1, as
-stated in the gettext(1) full manual, appendix A.1, Usual Language Codes.
+We will use XX as an alias to refer to the language translation code in
+the following paragraphs, for example we use "po/XX.po" to refer to a
+translation file for a specific language. But this doesn't mean that
+the language code has only two letters. We should know that the language
+code can be in one of two forms: "ll" or "ll\_CC". Here "ll" is the ISO
+639 two-letter language code and "CC" is the ISO 3166 two-letter code
+for country names and subdivisions. For example, for German, the language
+code is "de", and for Chinese in mainland China, the language code is
+"zh\_CN".
-- snap --

^ permalink raw reply	[flat|nested] 110+ messages in thread

* [PATCH v3 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-19  8:15 ` [PATCH v2 " Jiang Xin
  2022-05-19 10:28   ` Ævar Arnfjörð Bjarmason
@ 2022-05-23  1:25   ` Jiang Xin
  2022-05-23  7:15     ` Ævar Arnfjörð Bjarmason
                       ` (10 more replies)
  2022-05-23  1:25   ` [PATCH v3 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
                     ` (8 subsequent siblings)
  10 siblings, 11 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23  1:25 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

A workflow change for translators are being proposed.

Changes since v2:

 1. Patch 1/9: reword.
 2. Patch 2/9: reword.
 3. Patch 3/9: reword, and add "FORCE" to prerequisites of "po/git.pot".
 4. Patch 6/9: remove "FORCE" from prerequisites of "po/git.pot".
 5. Patch 8/9: reword, and reuse "$(gen_pot_header)" to prepare pot
               header for "po/git-core.pot".
 6. Patch 9/9: various updates on po/README.md.


Range-diff vs v2:

 1:  c45f34f233 !  1:  362cd0cbe1 Makefile: sort "po/git.pot" by file location
    @@ Metadata
      ## Commit message ##
         Makefile: sort "po/git.pot" by file location
     
    -    Before feeding xgettext with more C souce files which may be ignored
    -    by various compiler conditions, add new option "--sort-by-file" to
    -    xgettext program to create stable message template file "po/git.pot".
    +    We will feed xgettext with more C souce files and in different order in
    +    subsequent commit. To generate a stable "po/git.pot" regardless of the
    +    number and order of input source files, we add a new option
    +    "--sort-by-file" to xgettext program.
     
         With this update, the newly generated "po/git.pot" will has the same
    -    entries while in a different order. We won't checkin the newly generated
    -    "po/git.pot", because we will remove it from tree in a later commit.
    +    entries while in a different order.
    +
    +    With the help of a custom diff driver as shown below,
    +
    +        git config --global diff.gettext-fmt.textconv \
    +            "msgcat --no-location --sort-by-file"
    +
    +    and appending a new entry "*.po diff=gettext-fmt" to git attributes,
    +    we can see that there are no substantial changes in "po/git.pot".
    +
    +    We won't checkin the newly generated "po/git.pot", because we will
    +    remove it from tree in a later commit.
     
         Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
         Signed-off-by: Junio C Hamano <gitster@pobox.com>
 2:  7b6e4d6b59 !  2:  096e700171 Makefile: generate "po/git.pot" from stable LOCALIZED_C
    @@ Commit message
              endif
     
         But it is much simpler to use variables "$(FOUND_C_SOURCES)" and
    -    "$(FOUND_C_SOURCES)" to form a stable "LOCALIZED_C".
    +    "$(FOUND_C_SOURCES)" to form a stable "LOCALIZED_C". We also add
    +    "$(SCALAR_SOURCES)" files, which are part of C_OBJ but not included in
    +    "$(FOUND_C_SOURCES)" because they are in the "contrib/" directory.
     
         With this update, the newly generated "po/git.pot" will have 30 new
         entries coming from the following C source files:
    @@ Makefile: XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
      XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
      	--keyword=__ --keyword=N__ --keyword="__n:1,2"
     -LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
    -+LOCALIZED_C = $(FOUND_C_SOURCES) $(SCALAR_SOURCES) \
    -+	      $(FOUND_H_SOURCES) $(GENERATED_H)
    ++LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
    ++	      $(GENERATED_H)
      LOCALIZED_SH = $(SCRIPT_SH)
      LOCALIZED_SH += git-sh-setup.sh
      LOCALIZED_PERL = $(SCRIPT_PERL)
 3:  868a631c2f !  3:  dff3751260 Makefile: have "make pot" not "reset --hard"
    @@ Commit message
         That out of the way, the main logic change here is getting rid of the
         "reset --hard":
     
    -    We'll generate intermediate .build/pot/po/%.po files from %, which is
    -    handy to see at a glance what strings (if any) in a given file are
    +    We'll generate intermediate ".build/pot/po/%.po" files from "%", which
    +    is handy to see at a glance what strings (if any) in a given file are
         marked for translation:
     
                 $ make .build/pot/po/pretty.c.po
    @@ Commit message
                 $
     
         For these C source files which contain the PRItime macros, we will
    -    create temporary munged *.c files in a tree in ".build/pot/po"
    +    create temporary munged "*.c" files in a tree in ".build/pot/po"
         corresponding to our source tree, and have "xgettext" consider those.
         The rule needs to be careful to "(cd .build/pot/po && ...)", because
         otherwise the comments in the po/git.pot file wouldn't refer to the
         correct source locations (they'd be prefixed with ".build/pot/po").
    +    These temporary munged "*.c” files will be removed immediately after
    +    the corresponding po files are generated, because some development tools
    +    cannot ignore the duplicate source files in the ".build" directory
    +    according to the ".gitignore" file, and that may cause trouble.
     
    -    This changes the output of the generated po/git.pot file in one minor
    +    The output of the generated po/git.pot file is changed in one minor
         way: Because we're using msgcat(1) instead of xgettext(1) to
         concatenate the output we'll now disambiguate where "TRANSLATORS"
         comments come from, in cases where a message is the same in N files,
    @@ Commit message
         understandable, as msgcat(1) is better at handling these edge cases
         than xgettext(1)'s previously used "--join-existing" flag.
     
    -    While we could rename the "pot" snippets without the ".po" extention
    -    to use more intuitive filenames in the comments, but that will
    -    confuse the IDE with lots of invalid C or perl source files in
    +    But filenames in the above disambiguation lines of extracted-comments
    +    have an extra ".po" extension compared to the filenames at the file
    +    locations. While we could rename the intermediate ".build/pot/po/%.po"
    +    files without the ".po" extension to use more intuitive filenames in
    +    the disambiguation lines of extracted-comments, but that will confuse
    +    developer tools with lots of invalid C or other source files in
         ".build/pot/po" directory.
     
         The addition of "--omit-header" option for xgettext makes the "pot"
    -    snippets in ".build/pot/po/*.po" smaller. For the pot header of
    -    "po/git.pot", we use xgettext to generate a "pot" header file
    -    ".build/pot/git.header" from an empty file at runtime, and use this
    +    snippets in ".build/pot/po/*.po" smaller. But as we'll see in a
    +    subsequent commit this header behavior has been hiding an
    +    encoding-related bug from us, so let's carry it forward instead of
    +    re-generating it with xgettext(1).
    +
    +    The "po/git.pot" file should have a header entry, because a proper
    +    header entry will increase the speed of creating a new po file using
    +    msginit and set a proper "POT-Creation-Date:" field in the header
    +    entry of a "po/XX.po" file. We use xgettext to generate a separate
    +    header file at ".build/pot/git.header" from "/dev/null", and use this
         header to assemble "po/git.pot".
     
    -    But as we'll see in a subsequent commit this header behavior has been
    -    hiding an encoding-related bug from us, so let's carry it forward
    -    instead of re-generating it with xgettext(1).
    -
         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
         Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
         Signed-off-by: Junio C Hamano <gitster@pobox.com>
    @@ Makefile: XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
      XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
      	--keyword=__ --keyword=N__ --keyword="__n:1,2"
     +MSGCAT_FLAGS = --sort-by-file
    - LOCALIZED_C = $(FOUND_C_SOURCES) $(SCALAR_SOURCES) \
    - 	      $(FOUND_H_SOURCES) $(GENERATED_H)
    + LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
    + 	      $(GENERATED_H)
      LOCALIZED_SH = $(SCRIPT_SH)
     @@ Makefile: LOCALIZED_SH += t/t0200/test.sh
      LOCALIZED_PERL += t/t0200/test.perl
    @@ Makefile: LOCALIZED_SH += t/t0200/test.sh
     +	$(call mkdir_p_parent_template)
     +	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
     +		-o$@ $(XGETTEXT_FLAGS_PERL) $<
    ++
    ++define gen_pot_header
    ++$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
    ++	-o - /dev/null | \
    ++sed -e 's|charset=CHARSET|charset=UTF-8|' \
    ++    -e 's|\(Last-Translator: \)FULL NAME <.*>|\1make by the Makefile|' \
    ++    -e 's|\(Language-Team: \)LANGUAGE <.*>|\1Git Mailing List <git@vger.kernel.org>|' \
    ++    >$@ && \
    ++echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
    ++endef
      
     -	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ $(XGETTEXT_FLAGS_C) $(LOCALIZED_C)
     -	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_SH) \
    @@ Makefile: LOCALIZED_SH += t/t0200/test.sh
     -		$(LOCALIZED_PERL)
     +.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
     +	$(call mkdir_p_parent_template)
    -+	$(QUIET_XGETTEXT)$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
    -+		-o - /dev/null | \
    -+	sed -e 's|charset=CHARSET|charset=UTF-8|g' >$@ && \
    -+	echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
    ++	$(QUIET_GEN)$(gen_pot_header)
      
     -	# Reverting the munged source, leaving only the updated $@
     -	git reset --hard
     -	mv $@+ $@
    -+po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
    -+	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
    ++po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO) FORCE
    ++	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $(filter-out FORCE,$^) >$@
      
      .PHONY: pot
      pot: po/git.pot
 4:  31aa6ed373 !  4:  1b7efb21ae i18n CI: stop allowing non-ASCII source messages in po/git.pot
    @@ Makefile: XGETTEXT_FLAGS = \
      XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
      	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
      XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
    -@@ Makefile: po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
    +@@ Makefile: po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO) FORCE
      .PHONY: pot
      pot: po/git.pot
      
 5:  a9e4840571 !  5:  8ce274b31f po/git.pot: this is now a generated file
    @@ Commit message
     
         We no longer keep track of the contents of this file.
     
    +    Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
    +
      ## po/git.pot (deleted) ##
     @@
     -# SOME DESCRIPTIVE TITLE.
 6:  1f59007114 !  6:  4585be63f7 po/git.pot: don't check in result of "make pot"
    @@ Commit message
         Signed-off-by: Junio C Hamano <gitster@pobox.com>
     
      ## Makefile ##
    +@@ Makefile: endef
    + 	$(call mkdir_p_parent_template)
    + 	$(QUIET_GEN)$(gen_pot_header)
    + 
    +-po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO) FORCE
    +-	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $(filter-out FORCE,$^) >$@
    ++po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
    ++	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
    + 
    + .PHONY: pot
    + pot: po/git.pot
     @@ Makefile: dist-doc: git$X
      
      distclean: clean
 7:  cb31a4001e !  7:  b8f43b520c Makefile: add "po-update" rule to update po/XX.po
    @@ Makefile: XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
      	--keyword=__ --keyword=N__ --keyword="__n:1,2"
      MSGCAT_FLAGS = --sort-by-file
     +MSGMERGE_FLAGS = --add-location --backup=off --update
    - LOCALIZED_C = $(FOUND_C_SOURCES) $(SCALAR_SOURCES) \
    - 	      $(FOUND_H_SOURCES) $(GENERATED_H)
    + LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
    + 	      $(GENERATED_H)
      LOCALIZED_SH = $(SCRIPT_SH)
     @@ Makefile: po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
      .PHONY: pot
 8:  f4c58f6184 !  8:  019633c7a4 Makefile: add "po-init" rule to initialize po/XX.po
    @@ Commit message
         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 POT_FILE=po/XX.po
    +        make po-init PO_FILE=po/XX.po
     
         [^1]: https://github.com/git-l10n/git-po-helper/
     
    @@ Makefile: po-update: po/git.pot
     +
     +.build/pot/git-core.header: $(LOCALIZED_C_CORE_GEN_PO)
     +	$(call mkdir_p_parent_template)
    -+	$(QUIET_XGETTEXT)$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
    -+		-o - /dev/null | \
    -+	sed -e 's|charset=CHARSET|charset=UTF-8|g' >$@ && \
    -+	echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
    ++	$(QUIET_GEN)$(gen_pot_header)
     +
     +po/git-core.pot: .build/pot/git-core.header $(LOCALIZED_C_CORE_GEN_PO)
     +	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
 9:  809128ce21 !  9:  334117bf48 l10n: Document the new l10n workflow
    @@ Commit message
         Signed-off-by: Junio C Hamano <gitster@pobox.com>
     
      ## po/README.md ##
    -@@ po/README.md: for a new language translation. Because there are more than 5000 messages
    - in the template message file "po/git.pot" that need to be translated,
    - this is not a piece of cake for the contributor for a new language.
    +@@ po/README.md: coordinates our localization effort in the l10 coordinator repository:
    + 
    +     https://github.com/git-l10n/git-po/
    + 
    +-The two character language translation codes are defined by ISO\_639-1, as
    +-stated in the gettext(1) full manual, appendix A.1, Usual Language Codes.
    ++We will use XX as an alias to refer to the language translation code in
    ++the following paragraphs, for example we use "po/XX.po" to refer to the
    ++translation file for a specific language. But this doesn't mean that
    ++the language code has only two letters. The language code can be in one
    ++of two forms: "ll" or "ll\_CC". Here "ll" is the ISO 639 two-letter
    ++language code and "CC" is the ISO 3166 two-letter code for country names
    ++and subdivisions. For example: "de" for German language code, "zh\_CN"
    ++for Simplified Chinese language code.
    + 
    + 
    + ## Contributing to an existing translation
    +@@ po/README.md: language, so that the l10n coordinator only needs to interact with one
    + person per language.
    + 
    + 
    +-## Core translation
    ++## Translation Process Flow
    + 
    +-The core translation is the smallest set of work that must be completed
    +-for a new language translation. Because there are more than 5000 messages
    +-in the template message file "po/git.pot" that need to be translated,
    +-this is not a piece of cake for the contributor for a new language.
    ++The overall data-flow looks like this:
      
     -The core template message file which contains a small set of messages
     -will be generated in "po-core/core.pot" automatically by running a helper
     -program named "git-po-helper" (described later).
    -+The "core" set of messages can be generated at "po/git-core.pot" by
    -+running:
    ++    +-------------------+             +------------------+
    ++    | Git source code   | ----(2)---> | L10n coordinator |
    ++    | repository        | <---(5)---- | repository       |
    ++    +-------------------+             +------------------+
    ++                    |                     |    ^
    ++                   (1)                   (3)  (4)
    ++                    V                     v    |
    ++               +----------------------------------+
    ++               |        Language Team XX          |
    ++               +----------------------------------+
      
    - ```shell
    +-```shell
     -git-po-helper init --core XX.po
    -+make core-pot
    - ```
    +-```
    ++- Translatable strings are marked in the source file.
    ++- Language teams can start translation iterations at any time, even
    ++  before the l10n window opens:
      
     -After translating the generated "po-core/XX.po", you can merge it to
     -"po/XX.po" using the following commands:
    --
    ++  + Pull from the master branch of the source (1)
    ++  + Update the message file by running "make po-update PO\_FILE=po/XX.po"
    ++  + Translate the message file "po/XX.po"
    + 
     -```shell
     -msgcat po-core/XX.po po/XX.po -s -o /tmp/XX.po
     -mv /tmp/XX.po po/XX.po
     -git-po-helper update XX.po
     -```
    --
    ++- The L10n coordinator pulls from source and announces the l10n window
    ++  open (2)
    ++- Language team pulls from the l10n coordinator, starts another
    ++  translation iteration against the l10n coordinator's tree (3)
    + 
     -Edit "po/XX.po" by hand to fix "fuzzy" messages, which may have misplaced
     -translated messages and duplicate messages.
    -+And then proceeding with the rest of these instructions on the new
    -+generated "po/git-core.pot" file.
    ++  + Run "git pull --rebase" from the l10n coordinator
    ++  + Update the message file by running "make po-update PO\_FILE=po/XX.po"
    ++  + Translate the message file "po/XX.po"
    ++  + Squash trivial l10n git commits using "git rebase -i"
      
    ++- Language team sends pull request to the l10n coordinator (4)
    ++- L10n coordinator checks and merges
    ++- L10n coordinator asks the result to be pulled (5).
      
    - ## Translation Process Flow
    +-## Translation Process Flow
      
    - The overall data-flow looks like this:
    +-The overall data-flow looks like this:
    ++## Dynamically generated POT files
      
     -    +-------------------+            +------------------+
     -    | Git source code   | ---(1)---> | L10n coordinator |
    @@ po/README.md: for a new language translation. Because there are more than 5000 m
     -                                     +------------------+
     -                                     | Language Team XX |
     -                                     +------------------+
    -+    +-------------------+             +------------------+
    -+    | Git source code   | ----(2)---> | L10n coordinator |
    -+    | repository        | <---(5)---- | repository       |
    -+    +-------------------+             +------------------+
    -+                    |                     |    ^
    -+                   (1)                   (3)  (4)
    -+                    V                     v    |
    -+               +----------------------------------+
    -+               |        Language Team XX          |
    -+               +----------------------------------+
    ++POT files are templates for l10n contributors to create or update their
    ++translation files. We used to have the "po/git.pot" file which was
    ++generated by the l10n coordinator, but this file had been removed from
    ++the tree.
      
    - - Translatable strings are marked in the source file.
    +-- Translatable strings are marked in the source file.
     -- L10n coordinator pulls from the source (1)
     -- L10n coordinator updates the message template "po/git.pot"
     -- Language team pulls from L10n coordinator (2)
     -- Language team updates the message file "po/XX.po"
     -- L10n coordinator pulls from Language team (3)
     -- L10n coordinator asks the result to be pulled (4).
    -+- Language teams can start translation iterations at any time, even
    -+  before the l10n window opens:
    -+
    -+  + Pull from the source (1)
    -+  + Update the message file by running "make po-update PO\_FILE=po/XX.po"
    -+  + Translate the message file "po/XX.po"
    ++The two POT files "po/git.pot" and "po/git-core.pot" can be created
    ++dynamically when necessary.
      
    -+- The L10n coordinator pulls from source and announces the l10n window
    -+  open (2)
    -+- Language team pulls from the l10n coordinator, starts another
    -+  translation iteration against the l10n coordinator's tree (3)
    ++L10n contributors use "po/git.pot" to prepare translations for their
    ++languages, but they are not expected to modify it. The "po/git.pot" file
    ++can be generated manually with the following command:
      
     -## Maintaining the "po/git.pot" file
    -+  + Run "git pull --rebase" from the l10n coordinator
    -+  + Update the message file by running "make po-update PO\_FILE=po/XX.po"
    -+  + Translate the message file "po/XX.po"
    -+  + Squash trivial l10n git commits using "git rebase -i"
    ++```shell
    ++make po/git.pot
    ++```
      
     -(This is done by the l10n coordinator).
    -+- Language team sends pull request to the l10n coordinator (4)
    -+- L10n coordinator checks and merges
    -+- L10n coordinator asks the result to be pulled (5).
    ++The "po/git-core.pot" file is the template for core translations. A core
    ++translation is the minimum set of work necessary to complete a
    ++translation of a new language. Since there are more than 5000 messages
    ++in the full set of template message file "po/git.pot" that need to be
    ++translated, this is not a piece of cake for new language contributors.
      
     -The "po/git.pot" file contains a message catalog extracted from Git's
     -sources. The l10n coordinator maintains it by adding new translations with
    @@ po/README.md: for a new language translation. Because there are more than 5000 m
     -expected to pull from the main git repository at strategic point in
     -history (e.g. when a major release and release candidates are tagged),
     -and then run "make pot" at the top-level directory.
    ++The "core" template file "po/git-core.pot" can be generated manually
    ++by running:
      
     -Language contributors use this file to prepare translations for their
     -language, but they are not expected to modify it.
    -+## Creating the "po/git.pot" file
    -+
    -+The "po/git.pot" file, once generated by the the l10n coordinator had
    -+been removed from the tree. L10n contributors can generated it at
    -+runtime using command:
    -+
     +```shell
    -+make pot
    ++make po/git-core.pot
     +```
    -+
    -+Then language contributors use this file to prepare translations for
    -+their language, but they are not expected to modify it.
      
      
      ## Initializing a "XX.po" file
    @@ po/README.md: If your language XX does not have translated message file "po/XX.p
      
      ```shell
     -msginit --locale=XX
    --```
    --
    ++make po-init PO_FILE=po/XX.po
    + ```
    + 
     -in the "po/" directory, where XX is the locale, e.g. "de", "is", "pt\_BR",
     -"zh\_CN", etc.
     -
    @@ -1,6 +1,6 @@
     -+# Copyright (C) 2010 Ævar Arnfjörð Bjarmason <avarab@gmail.com>
     -+# This file is distributed under the same license as the Git package.
     - # Ævar Arnfjörð Bjarmason <avarab@gmail.com>, 2010.
    -+make po-init PO_FILE=po/XX.po
    - ```
    - 
    +-```
    +-
     -And change references to PACKAGE VERSION in the PO Header Entry to
     -just "Git":
    -+Where XX is the locale, e.g. "de", "is", "pt\_BR", "zh\_CN", etc.
    ++where XX is the locale, e.g. "de", "is", "pt\_BR", "zh\_CN", etc.
      
     -```shell
     -perl -pi -e 's/(?<="Project-Id-Version: )PACKAGE VERSION/Git/' XX.po
    @@ po/README.md: and ask the l10n coordinator to pull from you.
      
     -Once you are done testing the translation (see below), commit the result
     -and ask the l10n coordinator to pull from you.
    -+- Call "make pot" at runtime to generate new "po/git.pot" file
    ++- Call "make po/git.pot" to generate new "po/git.pot" file
     +- Call "msgmerge --add-location --backup=off -U po/XX.po po/git.pot"
     +  to update your "po/XX.po"
     +- The "--add-location" option for msgmerge will add location lines,
    -+  and these location lines will help translation tools to location
    ++  and these location lines will help translation tools to locate
     +  translation context easily.
     +
     +Once you are done testing the translation (see below), it's better
    @@ po/README.md: and ask the l10n coordinator to pull from you.
     +To save a location-less "po/XX.po" automatically in repository, you
     +can:
     +
    -+- Define new attribute for "po/XX.po" by adding new line in
    -+  ".git/info/attributes":
    ++First define a new attribute for "po/XX.po" by appending the following
    ++line in ".git/info/attributes":
     +
    -+        /po/XX.po filter=gettext-no-location
    ++```
    ++/po/XX.po filter=gettext-no-location
    ++```
     +
    -+- Define driver for "gettext-no-location" filter:
    ++Then define the driver for the "gettext-no-location" clean filter to
    ++strip out both filenames and locations from the contents as follows:
     +
    -+        $ git config --global filter.gettext-no-location.clean \
    -+              "msgcat --no-location -"
    ++```shell
    ++git config --global filter.gettext-no-location.clean \
    ++           "msgcat --no-location -"
    ++```
    ++
    ++For users who have gettext version 0.20 or higher, it is also possible
    ++to define a clean filter to preserve filenames but not locations:
    ++
    ++```shell
    ++git config --global filter.gettext-no-location.clean \
    ++           "msgcat --add-location=file -"
    ++```
     +
     +You're now ready to ask the l10n coordinator to pull from you.
      

---

Jiang Xin (4):
  Makefile: sort "po/git.pot" by file location
  Makefile: generate "po/git.pot" from stable LOCALIZED_C
  po/git.pot: this is now a generated file
  Makefile: add "po-update" rule to update po/XX.po

Ævar Arnfjörð Bjarmason (5):
  Makefile: have "make pot" not "reset --hard"
  i18n CI: stop allowing non-ASCII source messages in po/git.pot
  po/git.pot: don't check in result of "make pot"
  Makefile: add "po-init" rule to initialize po/XX.po
  l10n: Document the new l10n workflow

 .gitignore                  |     1 +
 Makefile                    |   148 +-
 builtin/submodule--helper.c |     2 +-
 ci/run-static-analysis.sh   |     2 +
 po/.gitignore               |     2 +
 po/README.md                |   230 +-
 po/git.pot                  | 25151 ----------------------------------
 shared.mak                  |     2 +
 8 files changed, 250 insertions(+), 25288 deletions(-)
 delete mode 100644 po/git.pot

-- 
2.36.0.1.g15c4090757


^ permalink raw reply	[flat|nested] 110+ messages in thread

* [PATCH v3 1/9] Makefile: sort "po/git.pot" by file location
  2022-05-19  8:15 ` [PATCH v2 " Jiang Xin
  2022-05-19 10:28   ` Ævar Arnfjörð Bjarmason
  2022-05-23  1:25   ` [PATCH v3 " Jiang Xin
@ 2022-05-23  1:25   ` Jiang Xin
  2022-05-23  8:05     ` Junio C Hamano
  2022-05-23  1:25   ` [PATCH v3 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
                     ` (7 subsequent siblings)
  10 siblings, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-23  1:25 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

We will feed xgettext with more C souce files and in different order in
subsequent commit. To generate a stable "po/git.pot" regardless of the
number and order of input source files, we add a new option
"--sort-by-file" to xgettext program.

With this update, the newly generated "po/git.pot" will has the same
entries while in a different order.

With the help of a custom diff driver as shown below,

    git config --global diff.gettext-fmt.textconv \
        "msgcat --no-location --sort-by-file"

and appending a new entry "*.po diff=gettext-fmt" to git attributes,
we can see that there are no substantial changes in "po/git.pot".

We won't checkin the newly generated "po/git.pot", because we will
remove it from tree in a later commit.

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Makefile b/Makefile
index f8bccfab5e..83e968e2a4 100644
--- a/Makefile
+++ b/Makefile
@@ -2706,6 +2706,7 @@ XGETTEXT_FLAGS = \
 	--force-po \
 	--add-comments=TRANSLATORS: \
 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
+	--sort-by-file \
 	--from-code=UTF-8
 XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
 	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v3 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C
  2022-05-19  8:15 ` [PATCH v2 " Jiang Xin
                     ` (2 preceding siblings ...)
  2022-05-23  1:25   ` [PATCH v3 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
@ 2022-05-23  1:25   ` Jiang Xin
  2022-05-23  8:05     ` Junio C Hamano
  2022-05-23  1:25   ` [PATCH v3 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
                     ` (6 subsequent siblings)
  10 siblings, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-23  1:25 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

When running "make pot" on different platform, we may get a different
message template file "po/git.pot". This is because the "LOCALIZED_C"
variable may have different C source files on different platforms or
different compiler conditions.

We can make a stable "LOCALIZED_C" variable by applying patch snippets
as follows:

     ifdef NO_LIBGEN_H
         COMPAT_CFLAGS += -DNO_LIBGEN_H
         COMPAT_OBJS += compat/basename.o
    +else
    +    LOCALIZED_C += compat/basename.c
     endif

But it is much simpler to use variables "$(FOUND_C_SOURCES)" and
"$(FOUND_C_SOURCES)" to form a stable "LOCALIZED_C". We also add
"$(SCALAR_SOURCES)" files, which are part of C_OBJ but not included in
"$(FOUND_C_SOURCES)" because they are in the "contrib/" directory.

With this update, the newly generated "po/git.pot" will have 30 new
entries coming from the following C source files:

 * compat/fsmonitor/fsm-listen-win32.c
 * compat/mingw.c
 * compat/regex/regcomp.c
 * compat/simple-ipc/ipc-win32.c

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 83e968e2a4..46914dcd80 100644
--- a/Makefile
+++ b/Makefile
@@ -2714,7 +2714,8 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
 	--keyword=gettextln --keyword=eval_gettextln
 XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
-LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
+LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
+	      $(GENERATED_H)
 LOCALIZED_SH = $(SCRIPT_SH)
 LOCALIZED_SH += git-sh-setup.sh
 LOCALIZED_PERL = $(SCRIPT_PERL)
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v3 3/9] Makefile: have "make pot" not "reset --hard"
  2022-05-19  8:15 ` [PATCH v2 " Jiang Xin
                     ` (3 preceding siblings ...)
  2022-05-23  1:25   ` [PATCH v3 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
@ 2022-05-23  1:25   ` Jiang Xin
  2022-05-23  7:28     ` Ævar Arnfjörð Bjarmason
  2022-05-23  8:15     ` Junio C Hamano
  2022-05-23  1:25   ` [PATCH v3 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
                     ` (5 subsequent siblings)
  10 siblings, 2 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23  1:25 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin, Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Before commit fc0fd5b23b (Makefile: help gettext tools to cope with our
custom PRItime format, 2017-07-20) we'd consider source files as-is
with gettext, but because we need to understand PRItime in the same way
that gettext itself understands PRIuMAX we'd first check if we had a
clean checkout, then munge all of the processed files in-place with
"sed", generate "po/git.pot", and then finally "reset --hard" to undo
our changes.

By generating "pot" snippets in ".build/pot/po" for each source file
and rewriting certain source files with PRItime macros to temporary
files in ".build/pot/po", we can avoid running "make pot" by altering
files in place and doing a "reset --hard" afterwards.

This speed of "make pot" is slower than before on an initial run,
because we run "xgettext" many times (once per source file), but it
can be boosted by parallelization. It is *much* faster for incremental
runs, and will allow us to implement related targets in subsequent
commits.

When the "pot" target was originally added in cd5513a7168 (i18n:
Makefile: "pot" target to extract messages marked for translation,
2011-02-22) it behaved like a "normal" target. I.e. we'd skip the
re-generation of the po/git.pot if nothing had to be done.

Then after po/git.pot was checked in in dce37b66fb0 (l10n: initial
git.pot for 1.7.10 upcoming release, 2012-02-13) the target was broken
until 1f31963e921 (i18n: treat "make pot" as an explicitly-invoked
target, 2014-08-22) when it was made to depend on "FORCE". I.e. the
Makefile's dependency resolution inherently can't handle incremental
building when the target file may be updated by git (or something else
external to "make"). But this case no longer applies, so FORCE is no
longer needed.

That out of the way, the main logic change here is getting rid of the
"reset --hard":

We'll generate intermediate ".build/pot/po/%.po" files from "%", which
is handy to see at a glance what strings (if any) in a given file are
marked for translation:

	$ make .build/pot/po/pretty.c.po
	[...]
	$ cat .build/pot/po/pretty.c.po
	#: pretty.c:1051
	msgid "unable to parse --pretty format"
	msgstr ""
	$

For these C source files which contain the PRItime macros, we will
create temporary munged "*.c" files in a tree in ".build/pot/po"
corresponding to our source tree, and have "xgettext" consider those.
The rule needs to be careful to "(cd .build/pot/po && ...)", because
otherwise the comments in the po/git.pot file wouldn't refer to the
correct source locations (they'd be prefixed with ".build/pot/po").
These temporary munged "*.c” files will be removed immediately after
the corresponding po files are generated, because some development tools
cannot ignore the duplicate source files in the ".build" directory
according to the ".gitignore" file, and that may cause trouble.

The output of the generated po/git.pot file is changed in one minor
way: Because we're using msgcat(1) instead of xgettext(1) to
concatenate the output we'll now disambiguate where "TRANSLATORS"
comments come from, in cases where a message is the same in N files,
and either only one has a "TRANSLATORS" comment, or they're
different. E.g. for the "Your edited hunk[...]" message we'll now
apply this change (comment content elided):

	+#. #-#-#-#-#  add-patch.c.po  #-#-#-#-#
	 #. TRANSLATORS: do not translate [y/n]
	[...]
	+#. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#
	 #. TRANSLATORS: do not translate [y/n]
	[...]
	 #: add-patch.c:1253 git-add--interactive.perl:1244
	 msgid ""
	 "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
	 msgstr ""

There are six such changes, and they all make the context more
understandable, as msgcat(1) is better at handling these edge cases
than xgettext(1)'s previously used "--join-existing" flag.

But filenames in the above disambiguation lines of extracted-comments
have an extra ".po" extension compared to the filenames at the file
locations. While we could rename the intermediate ".build/pot/po/%.po"
files without the ".po" extension to use more intuitive filenames in
the disambiguation lines of extracted-comments, but that will confuse
developer tools with lots of invalid C or other source files in
".build/pot/po" directory.

The addition of "--omit-header" option for xgettext makes the "pot"
snippets in ".build/pot/po/*.po" smaller. But as we'll see in a
subsequent commit this header behavior has been hiding an
encoding-related bug from us, so let's carry it forward instead of
re-generating it with xgettext(1).

The "po/git.pot" file should have a header entry, because a proper
header entry will increase the speed of creating a new po file using
msginit and set a proper "POT-Creation-Date:" field in the header
entry of a "po/XX.po" file. We use xgettext to generate a separate
header file at ".build/pot/git.header" from "/dev/null", and use this
header to assemble "po/git.pot".

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 .gitignore |  1 +
 Makefile   | 80 ++++++++++++++++++++++++++++++++++++++++--------------
 2 files changed, 60 insertions(+), 21 deletions(-)

diff --git a/.gitignore b/.gitignore
index e81de1063a..a452215764 100644
--- a/.gitignore
+++ b/.gitignore
@@ -200,6 +200,7 @@
 *.[aos]
 *.o.json
 *.py[co]
+.build/
 .depend/
 *.gcda
 *.gcno
diff --git a/Makefile b/Makefile
index 46914dcd80..1962999c18 100644
--- a/Makefile
+++ b/Makefile
@@ -569,6 +569,7 @@ INSTALL = install
 TCL_PATH = tclsh
 TCLTK_PATH = wish
 XGETTEXT = xgettext
+MSGCAT = msgcat
 MSGFMT = msgfmt
 CURL_CONFIG = curl-config
 GCOV = gcov
@@ -2706,6 +2707,7 @@ XGETTEXT_FLAGS = \
 	--force-po \
 	--add-comments=TRANSLATORS: \
 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
+	--package-name=Git \
 	--sort-by-file \
 	--from-code=UTF-8
 XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
@@ -2714,6 +2716,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
 	--keyword=gettextln --keyword=eval_gettextln
 XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
+MSGCAT_FLAGS = --sort-by-file
 LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
 	      $(GENERATED_H)
 LOCALIZED_SH = $(SCRIPT_SH)
@@ -2726,34 +2729,68 @@ LOCALIZED_SH += t/t0200/test.sh
 LOCALIZED_PERL += t/t0200/test.perl
 endif
 
-## Note that this is meant to be run only by the localization coordinator
-## under a very controlled condition, i.e. (1) it is to be run in a
-## Git repository (not a tarball extract), (2) any local modifications
-## will be lost.
+## We generate intermediate .build/pot/po/%.po files containing a
+## extract of the translations we find in each file in the source
+## tree. We will assemble them using msgcat to create the final
+## "po/git.pot" file.
+LOCALIZED_ALL_GEN_PO =
+
+LOCALIZED_C_GEN_PO = $(LOCALIZED_C:%=.build/pot/po/%.po)
+LOCALIZED_ALL_GEN_PO += $(LOCALIZED_C_GEN_PO)
+
+LOCALIZED_SH_GEN_PO = $(LOCALIZED_SH:%=.build/pot/po/%.po)
+LOCALIZED_ALL_GEN_PO += $(LOCALIZED_SH_GEN_PO)
+
+LOCALIZED_PERL_GEN_PO = $(LOCALIZED_PERL:%=.build/pot/po/%.po)
+LOCALIZED_ALL_GEN_PO += $(LOCALIZED_PERL_GEN_PO)
+
 ## Gettext tools cannot work with our own custom PRItime type, so
 ## we replace PRItime with PRIuMAX.  We need to update this to
 ## PRIdMAX if we switch to a signed type later.
+$(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT) \
+	    if grep -q PRItime $<; then \
+		(\
+			sed -e 's|PRItime|PRIuMAX|g' <$< \
+				>.build/pot/po/$< && \
+			cd .build/pot/po && \
+			$(XGETTEXT) --omit-header \
+				-o $(@:.build/pot/po/%=%) \
+				$(XGETTEXT_FLAGS_C) $< && \
+			rm $<; \
+		); \
+	    else \
+		$(XGETTEXT) --omit-header \
+			-o $@ $(XGETTEXT_FLAGS_C) $<; \
+	    fi
 
-po/git.pot: $(GENERATED_H) FORCE
-	# All modifications will be reverted at the end, so we do not
-	# want to have any local change.
-	git diff --quiet HEAD && git diff --quiet --cached
+$(LOCALIZED_SH_GEN_PO): .build/pot/po/%.po: %
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
+		-o$@ $(XGETTEXT_FLAGS_SH) $<
 
-	@for s in $(LOCALIZED_C) $(LOCALIZED_SH) $(LOCALIZED_PERL); \
-	do \
-		sed -e 's|PRItime|PRIuMAX|g' <"$$s" >"$$s+" && \
-		cat "$$s+" >"$$s" && rm "$$s+"; \
-	done
+$(LOCALIZED_PERL_GEN_PO): .build/pot/po/%.po: %
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
+		-o$@ $(XGETTEXT_FLAGS_PERL) $<
+
+define gen_pot_header
+$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
+	-o - /dev/null | \
+sed -e 's|charset=CHARSET|charset=UTF-8|' \
+    -e 's|\(Last-Translator: \)FULL NAME <.*>|\1make by the Makefile|' \
+    -e 's|\(Language-Team: \)LANGUAGE <.*>|\1Git Mailing List <git@vger.kernel.org>|' \
+    >$@ && \
+echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
+endef
 
-	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ $(XGETTEXT_FLAGS_C) $(LOCALIZED_C)
-	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_SH) \
-		$(LOCALIZED_SH)
-	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_PERL) \
-		$(LOCALIZED_PERL)
+.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
+	$(call mkdir_p_parent_template)
+	$(QUIET_GEN)$(gen_pot_header)
 
-	# Reverting the munged source, leaving only the updated $@
-	git reset --hard
-	mv $@+ $@
+po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO) FORCE
+	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $(filter-out FORCE,$^) >$@
 
 .PHONY: pot
 pot: po/git.pot
@@ -3292,6 +3329,7 @@ cocciclean:
 	$(RM) contrib/coccinelle/*.cocci.patch*
 
 clean: profile-clean coverage-clean cocciclean
+	$(RM) -r .build
 	$(RM) *.res
 	$(RM) $(OBJECTS)
 	$(RM) $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(REFTABLE_TEST_LIB)
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v3 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot
  2022-05-19  8:15 ` [PATCH v2 " Jiang Xin
                     ` (4 preceding siblings ...)
  2022-05-23  1:25   ` [PATCH v3 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
@ 2022-05-23  1:25   ` Jiang Xin
  2022-05-23  1:25   ` [PATCH v3 5/9] po/git.pot: this is now a generated file Jiang Xin
                     ` (4 subsequent siblings)
  10 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23  1:25 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin, Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

In the preceding commit we moved away from using xgettext(1) to both
generate the po/git.pot, and to merge the incrementally generated
po/git.pot+ file as we sourced translations from C, shell and Perl.

Doing it this way, which dates back to my initial
implementation[1][2][3] was conflating two things: With xgettext(1)
the --from-code both controls what encoding is specified in the
po/git.pot's header, and what encoding we allow in source messages.

We don't ever want to allow non-ASCII in *source messages*, and doing
so has hid e.g. a buggy message introduced in
a6226fd772b (submodule--helper: convert the bulk of cmd_add() to C,
2021-08-10) from us, we'd warn about it before, but only when running
"make pot", but the operation would still succeed. Now we'll error out
on it when running "make pot".

Since the preceding Makefile changes made this easy: let's add a "make
check-pot" target with the same prerequisites as the "po/git.pot"
target, but without changing the file "po/git.pot". Running it as part
of the "static-analysis" CI target will ensure that we catch any such
issues in the future. E.g.:

    $ make check-pot
        XGETTEXT .build/pot/po/builtin/submodule--helper.c.po
    xgettext: Non-ASCII string at builtin/submodule--helper.c:3381.
              Please specify the source encoding through --from-code.
    make: *** [.build/pot/po/builtin/submodule--helper.c.po] Error 1

1. cd5513a7168 (i18n: Makefile: "pot" target to extract messages
   marked for translation, 2011-02-22)
2. adc3b2b2767 (Makefile: add xgettext target for *.sh files,
   2011-05-14)
3. 5e9637c6297 (i18n: add infrastructure for translating Git with
   gettext, 2011-11-18)

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Makefile                    | 6 ++++--
 builtin/submodule--helper.c | 2 +-
 ci/run-static-analysis.sh   | 2 ++
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 1962999c18..70d5f41c3f 100644
--- a/Makefile
+++ b/Makefile
@@ -2708,8 +2708,7 @@ XGETTEXT_FLAGS = \
 	--add-comments=TRANSLATORS: \
 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
 	--package-name=Git \
-	--sort-by-file \
-	--from-code=UTF-8
+	--sort-by-file
 XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
 	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
 XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
@@ -2795,6 +2794,9 @@ po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO) FORCE
 .PHONY: pot
 pot: po/git.pot
 
+.PHONY: check-pot
+check-pot: $(LOCALIZED_ALL_GEN_PO)
+
 ifdef NO_GETTEXT
 POFILES :=
 MOFILES :=
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index 2c87ef9364..b97f02eed5 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -3378,7 +3378,7 @@ static int module_add(int argc, const char **argv, const char *prefix)
 			   N_("reference repository")),
 		OPT_BOOL(0, "dissociate", &dissociate, N_("borrow the objects from reference repositories")),
 		OPT_STRING(0, "name", &add_data.sm_name, N_("name"),
-			   N_("sets the submodule’s name to the given string "
+			   N_("sets the submodule's name to the given string "
 			      "instead of defaulting to its path")),
 		OPT_INTEGER(0, "depth", &add_data.depth, N_("depth for shallow clones")),
 		OPT_END()
diff --git a/ci/run-static-analysis.sh b/ci/run-static-analysis.sh
index 65bcebda41..0d51e5ce0e 100755
--- a/ci/run-static-analysis.sh
+++ b/ci/run-static-analysis.sh
@@ -29,4 +29,6 @@ fi
 make hdr-check ||
 exit 1
 
+make check-pot
+
 save_good_tree
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v3 5/9] po/git.pot: this is now a generated file
  2022-05-19  8:15 ` [PATCH v2 " Jiang Xin
                     ` (5 preceding siblings ...)
  2022-05-23  1:25   ` [PATCH v3 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
@ 2022-05-23  1:25   ` Jiang Xin
  2022-05-23  1:25   ` [PATCH v3 6/9] po/git.pot: don't check in result of "make pot" Jiang Xin
                     ` (3 subsequent siblings)
  10 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23  1:25 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

We no longer keep track of the contents of this file.

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 po/git.pot | 25151 ---------------------------------------------------
 1 file changed, 25151 deletions(-)
 delete mode 100644 po/git.pot

diff --git a/po/git.pot b/po/git.pot
deleted file mode 100644
index 054cb99c06..0000000000
--- a/po/git.pot
+++ /dev/null
@@ -1,25151 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2022-04-13 14:52+0800\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-
-#: add-interactive.c:382
-#, c-format
-msgid "Huh (%s)?"
-msgstr ""
-
-#: add-interactive.c:535 add-interactive.c:836 reset.c:136 sequencer.c:3505
-#: sequencer.c:3970 sequencer.c:4127 builtin/rebase.c:1261
-#: builtin/rebase.c:1671
-msgid "could not read index"
-msgstr ""
-
-#: add-interactive.c:590 git-add--interactive.perl:269
-#: git-add--interactive.perl:294
-msgid "binary"
-msgstr ""
-
-#: add-interactive.c:648 git-add--interactive.perl:278
-#: git-add--interactive.perl:332
-msgid "nothing"
-msgstr ""
-
-#: add-interactive.c:649 git-add--interactive.perl:314
-#: git-add--interactive.perl:329
-msgid "unchanged"
-msgstr ""
-
-#: add-interactive.c:686 git-add--interactive.perl:641
-msgid "Update"
-msgstr ""
-
-#: add-interactive.c:703 add-interactive.c:891
-#, c-format
-msgid "could not stage '%s'"
-msgstr ""
-
-#: add-interactive.c:709 add-interactive.c:898 reset.c:160 sequencer.c:3709
-msgid "could not write index"
-msgstr ""
-
-#: add-interactive.c:712 git-add--interactive.perl:626
-#, c-format, perl-format
-msgid "updated %d path\n"
-msgid_plural "updated %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: add-interactive.c:730 git-add--interactive.perl:676
-#, c-format, perl-format
-msgid "note: %s is untracked now.\n"
-msgstr ""
-
-#: add-interactive.c:735 apply.c:4133 builtin/checkout.c:311
-#: builtin/reset.c:167
-#, c-format
-msgid "make_cache_entry failed for path '%s'"
-msgstr ""
-
-#: add-interactive.c:765 git-add--interactive.perl:653
-msgid "Revert"
-msgstr ""
-
-#: add-interactive.c:781
-msgid "Could not parse HEAD^{tree}"
-msgstr ""
-
-#: add-interactive.c:819 git-add--interactive.perl:629
-#, c-format, perl-format
-msgid "reverted %d path\n"
-msgid_plural "reverted %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: add-interactive.c:870 git-add--interactive.perl:693
-#, c-format
-msgid "No untracked files.\n"
-msgstr ""
-
-#: add-interactive.c:874 git-add--interactive.perl:687
-msgid "Add untracked"
-msgstr ""
-
-#: add-interactive.c:901 git-add--interactive.perl:623
-#, c-format, perl-format
-msgid "added %d path\n"
-msgid_plural "added %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: add-interactive.c:931
-#, c-format
-msgid "ignoring unmerged: %s"
-msgstr ""
-
-#: add-interactive.c:943 add-patch.c:1758 git-add--interactive.perl:1371
-#, c-format
-msgid "Only binary files changed.\n"
-msgstr ""
-
-#: add-interactive.c:945 add-patch.c:1756 git-add--interactive.perl:1373
-#, c-format
-msgid "No changes.\n"
-msgstr ""
-
-#: add-interactive.c:949 git-add--interactive.perl:1381
-msgid "Patch update"
-msgstr ""
-
-#: add-interactive.c:988 git-add--interactive.perl:1794
-msgid "Review diff"
-msgstr ""
-
-#: add-interactive.c:1016
-msgid "show paths with changes"
-msgstr ""
-
-#: add-interactive.c:1018
-msgid "add working tree state to the staged set of changes"
-msgstr ""
-
-#: add-interactive.c:1020
-msgid "revert staged set of changes back to the HEAD version"
-msgstr ""
-
-#: add-interactive.c:1022
-msgid "pick hunks and update selectively"
-msgstr ""
-
-#: add-interactive.c:1024
-msgid "view diff between HEAD and index"
-msgstr ""
-
-#: add-interactive.c:1026
-msgid "add contents of untracked files to the staged set of changes"
-msgstr ""
-
-#: add-interactive.c:1034 add-interactive.c:1083
-msgid "Prompt help:"
-msgstr ""
-
-#: add-interactive.c:1036
-msgid "select a single item"
-msgstr ""
-
-#: add-interactive.c:1038
-msgid "select a range of items"
-msgstr ""
-
-#: add-interactive.c:1040
-msgid "select multiple ranges"
-msgstr ""
-
-#: add-interactive.c:1042 add-interactive.c:1087
-msgid "select item based on unique prefix"
-msgstr ""
-
-#: add-interactive.c:1044
-msgid "unselect specified items"
-msgstr ""
-
-#: add-interactive.c:1046
-msgid "choose all items"
-msgstr ""
-
-#: add-interactive.c:1048
-msgid "(empty) finish selecting"
-msgstr ""
-
-#: add-interactive.c:1085
-msgid "select a numbered item"
-msgstr ""
-
-#: add-interactive.c:1089
-msgid "(empty) select nothing"
-msgstr ""
-
-#: add-interactive.c:1097 builtin/clean.c:839 git-add--interactive.perl:1898
-msgid "*** Commands ***"
-msgstr ""
-
-#: add-interactive.c:1098 builtin/clean.c:840 git-add--interactive.perl:1895
-msgid "What now"
-msgstr ""
-
-#: add-interactive.c:1150 git-add--interactive.perl:213
-msgid "staged"
-msgstr ""
-
-#: add-interactive.c:1150 git-add--interactive.perl:213
-msgid "unstaged"
-msgstr ""
-
-#: add-interactive.c:1150 apply.c:5002 apply.c:5005 builtin/am.c:2370
-#: builtin/am.c:2373 builtin/bugreport.c:107 builtin/clone.c:132
-#: builtin/fetch.c:154 builtin/merge.c:287 builtin/pull.c:194
-#: builtin/submodule--helper.c:412 builtin/submodule--helper.c:1872
-#: builtin/submodule--helper.c:1875 builtin/submodule--helper.c:2709
-#: builtin/submodule--helper.c:2712 builtin/submodule--helper.c:2891
-#: git-add--interactive.perl:213
-msgid "path"
-msgstr ""
-
-#: add-interactive.c:1157
-msgid "could not refresh index"
-msgstr ""
-
-#: add-interactive.c:1171 builtin/clean.c:804 git-add--interactive.perl:1805
-#, c-format
-msgid "Bye.\n"
-msgstr ""
-
-#: add-patch.c:34 git-add--interactive.perl:1433
-#, c-format, perl-format
-msgid "Stage mode change [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:35 git-add--interactive.perl:1434
-#, c-format, perl-format
-msgid "Stage deletion [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:36 git-add--interactive.perl:1435
-#, c-format, perl-format
-msgid "Stage addition [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:37 git-add--interactive.perl:1436
-#, c-format, perl-format
-msgid "Stage this hunk [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:39
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"staging."
-msgstr ""
-
-#: add-patch.c:42
-msgid ""
-"y - stage this hunk\n"
-"n - do not stage this hunk\n"
-"q - quit; do not stage this hunk or any of the remaining ones\n"
-"a - stage this hunk and all later hunks in the file\n"
-"d - do not stage this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:56 git-add--interactive.perl:1439
-#, c-format, perl-format
-msgid "Stash mode change [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:57 git-add--interactive.perl:1440
-#, c-format, perl-format
-msgid "Stash deletion [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:58 git-add--interactive.perl:1441
-#, c-format, perl-format
-msgid "Stash addition [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:59 git-add--interactive.perl:1442
-#, c-format, perl-format
-msgid "Stash this hunk [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:61
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"stashing."
-msgstr ""
-
-#: add-patch.c:64
-msgid ""
-"y - stash this hunk\n"
-"n - do not stash this hunk\n"
-"q - quit; do not stash this hunk or any of the remaining ones\n"
-"a - stash this hunk and all later hunks in the file\n"
-"d - do not stash this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:80 git-add--interactive.perl:1445
-#, c-format, perl-format
-msgid "Unstage mode change [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:81 git-add--interactive.perl:1446
-#, c-format, perl-format
-msgid "Unstage deletion [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:82 git-add--interactive.perl:1447
-#, c-format, perl-format
-msgid "Unstage addition [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:83 git-add--interactive.perl:1448
-#, c-format, perl-format
-msgid "Unstage this hunk [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:85
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"unstaging."
-msgstr ""
-
-#: add-patch.c:88
-msgid ""
-"y - unstage this hunk\n"
-"n - do not unstage this hunk\n"
-"q - quit; do not unstage this hunk or any of the remaining ones\n"
-"a - unstage this hunk and all later hunks in the file\n"
-"d - do not unstage this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:103 git-add--interactive.perl:1451
-#, c-format, perl-format
-msgid "Apply mode change to index [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:104 git-add--interactive.perl:1452
-#, c-format, perl-format
-msgid "Apply deletion to index [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:105 git-add--interactive.perl:1453
-#, c-format, perl-format
-msgid "Apply addition to index [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:106 git-add--interactive.perl:1454
-#, c-format, perl-format
-msgid "Apply this hunk to index [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:108 add-patch.c:176 add-patch.c:221
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"applying."
-msgstr ""
-
-#: add-patch.c:111
-msgid ""
-"y - apply this hunk to index\n"
-"n - do not apply this hunk to index\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:126 git-add--interactive.perl:1457
-#: git-add--interactive.perl:1475
-#, c-format, perl-format
-msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:127 git-add--interactive.perl:1458
-#: git-add--interactive.perl:1476
-#, c-format, perl-format
-msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:128 git-add--interactive.perl:1459
-#: git-add--interactive.perl:1477
-#, c-format, perl-format
-msgid "Discard addition from worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:129 git-add--interactive.perl:1460
-#: git-add--interactive.perl:1478
-#, c-format, perl-format
-msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:131 add-patch.c:154 add-patch.c:199
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"discarding."
-msgstr ""
-
-#: add-patch.c:134 add-patch.c:202
-msgid ""
-"y - discard this hunk from worktree\n"
-"n - do not discard this hunk from worktree\n"
-"q - quit; do not discard this hunk or any of the remaining ones\n"
-"a - discard this hunk and all later hunks in the file\n"
-"d - do not discard this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:149 add-patch.c:194 git-add--interactive.perl:1463
-#, c-format, perl-format
-msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:150 add-patch.c:195 git-add--interactive.perl:1464
-#, c-format, perl-format
-msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:151 add-patch.c:196 git-add--interactive.perl:1465
-#, c-format, perl-format
-msgid "Discard addition from index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:152 add-patch.c:197 git-add--interactive.perl:1466
-#, c-format, perl-format
-msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:157
-msgid ""
-"y - discard this hunk from index and worktree\n"
-"n - do not discard this hunk from index and worktree\n"
-"q - quit; do not discard this hunk or any of the remaining ones\n"
-"a - discard this hunk and all later hunks in the file\n"
-"d - do not discard this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:171 add-patch.c:216 git-add--interactive.perl:1469
-#, c-format, perl-format
-msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:172 add-patch.c:217 git-add--interactive.perl:1470
-#, c-format, perl-format
-msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:173 add-patch.c:218 git-add--interactive.perl:1471
-#, c-format, perl-format
-msgid "Apply addition to index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:174 add-patch.c:219 git-add--interactive.perl:1472
-#, c-format, perl-format
-msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:179
-msgid ""
-"y - apply this hunk to index and worktree\n"
-"n - do not apply this hunk to index and worktree\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:224
-msgid ""
-"y - apply this hunk to worktree\n"
-"n - do not apply this hunk to worktree\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:343
-#, c-format
-msgid "could not parse hunk header '%.*s'"
-msgstr ""
-
-#: add-patch.c:362 add-patch.c:366
-#, c-format
-msgid "could not parse colored hunk header '%.*s'"
-msgstr ""
-
-#: add-patch.c:431
-msgid "could not parse diff"
-msgstr ""
-
-#: add-patch.c:450
-msgid "could not parse colored diff"
-msgstr ""
-
-#: add-patch.c:464
-#, c-format
-msgid "failed to run '%s'"
-msgstr ""
-
-#: add-patch.c:618
-msgid "mismatched output from interactive.diffFilter"
-msgstr ""
-
-#: add-patch.c:619
-msgid ""
-"Your filter must maintain a one-to-one correspondence\n"
-"between its input and output lines."
-msgstr ""
-
-#: add-patch.c:797
-#, c-format
-msgid ""
-"expected context line #%d in\n"
-"%.*s"
-msgstr ""
-
-#: add-patch.c:812
-#, c-format
-msgid ""
-"hunks do not overlap:\n"
-"%.*s\n"
-"\tdoes not end with:\n"
-"%.*s"
-msgstr ""
-
-#: add-patch.c:1088 git-add--interactive.perl:1115
-msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
-msgstr ""
-
-#: add-patch.c:1092
-#, c-format
-msgid ""
-"---\n"
-"To remove '%c' lines, make them ' ' lines (context).\n"
-"To remove '%c' lines, delete them.\n"
-"Lines starting with %c will be removed.\n"
-msgstr ""
-
-#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: add-patch.c:1106 git-add--interactive.perl:1129
-msgid ""
-"If it does not apply cleanly, you will be given an opportunity to\n"
-"edit again.  If all lines of the hunk are removed, then the edit is\n"
-"aborted and the hunk is left unchanged.\n"
-msgstr ""
-
-#: add-patch.c:1139
-msgid "could not parse hunk header"
-msgstr ""
-
-#: add-patch.c:1184
-msgid "'git apply --cached' failed"
-msgstr ""
-
-#. TRANSLATORS: do not translate [y/n]
-#. The program will only accept that input at this point.
-#. Consider translating (saying "no" discards!) as
-#. (saying "n" for "no" discards!) if the translation
-#. of the word "no" does not start with n.
-#.
-#. TRANSLATORS: do not translate [y/n]
-#. The program will only accept that input
-#. at this point.
-#. Consider translating (saying "no" discards!) as
-#. (saying "n" for "no" discards!) if the translation
-#. of the word "no" does not start with n.
-#: add-patch.c:1253 git-add--interactive.perl:1244
-msgid ""
-"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
-msgstr ""
-
-#: add-patch.c:1296
-msgid "The selected hunks do not apply to the index!"
-msgstr ""
-
-#: add-patch.c:1297 git-add--interactive.perl:1348
-msgid "Apply them to the worktree anyway? "
-msgstr ""
-
-#: add-patch.c:1304 git-add--interactive.perl:1351
-msgid "Nothing was applied.\n"
-msgstr ""
-
-#: add-patch.c:1361
-msgid ""
-"j - leave this hunk undecided, see next undecided hunk\n"
-"J - leave this hunk undecided, see next hunk\n"
-"k - leave this hunk undecided, see previous undecided hunk\n"
-"K - leave this hunk undecided, see previous hunk\n"
-"g - select a hunk to go to\n"
-"/ - search for a hunk matching the given regex\n"
-"s - split the current hunk into smaller hunks\n"
-"e - manually edit the current hunk\n"
-"? - print help\n"
-msgstr ""
-
-#: add-patch.c:1523 add-patch.c:1533
-msgid "No previous hunk"
-msgstr ""
-
-#: add-patch.c:1528 add-patch.c:1538
-msgid "No next hunk"
-msgstr ""
-
-#: add-patch.c:1544
-msgid "No other hunks to goto"
-msgstr ""
-
-#: add-patch.c:1555 git-add--interactive.perl:1608
-msgid "go to which hunk (<ret> to see more)? "
-msgstr ""
-
-#: add-patch.c:1556 git-add--interactive.perl:1610
-msgid "go to which hunk? "
-msgstr ""
-
-#: add-patch.c:1567
-#, c-format
-msgid "Invalid number: '%s'"
-msgstr ""
-
-#: add-patch.c:1572
-#, c-format
-msgid "Sorry, only %d hunk available."
-msgid_plural "Sorry, only %d hunks available."
-msgstr[0] ""
-msgstr[1] ""
-
-#: add-patch.c:1581
-msgid "No other hunks to search"
-msgstr ""
-
-#: add-patch.c:1587 git-add--interactive.perl:1663
-msgid "search for regex? "
-msgstr ""
-
-#: add-patch.c:1602
-#, c-format
-msgid "Malformed search regexp %s: %s"
-msgstr ""
-
-#: add-patch.c:1619
-msgid "No hunk matches the given pattern"
-msgstr ""
-
-#: add-patch.c:1626
-msgid "Sorry, cannot split this hunk"
-msgstr ""
-
-#: add-patch.c:1630
-#, c-format
-msgid "Split into %d hunks."
-msgstr ""
-
-#: add-patch.c:1634
-msgid "Sorry, cannot edit this hunk"
-msgstr ""
-
-#: add-patch.c:1686
-msgid "'git apply' failed"
-msgstr ""
-
-#: advice.c:81
-#, c-format
-msgid ""
-"\n"
-"Disable this message with \"git config advice.%s false\""
-msgstr ""
-
-#: advice.c:97
-#, c-format
-msgid "%shint: %.*s%s\n"
-msgstr ""
-
-#: advice.c:181
-msgid "Cherry-picking is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:183
-msgid "Committing is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:185
-msgid "Merging is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:187
-msgid "Pulling is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:189
-msgid "Reverting is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:191
-#, c-format
-msgid "It is not possible to %s because you have unmerged files."
-msgstr ""
-
-#: advice.c:199
-msgid ""
-"Fix them up in the work tree, and then use 'git add/rm <file>'\n"
-"as appropriate to mark resolution and make a commit."
-msgstr ""
-
-#: advice.c:207
-msgid "Exiting because of an unresolved conflict."
-msgstr ""
-
-#: advice.c:212 builtin/merge.c:1388
-msgid "You have not concluded your merge (MERGE_HEAD exists)."
-msgstr ""
-
-#: advice.c:214
-msgid "Please, commit your changes before merging."
-msgstr ""
-
-#: advice.c:215
-msgid "Exiting because of unfinished merge."
-msgstr ""
-
-#: advice.c:220
-msgid "Not possible to fast-forward, aborting."
-msgstr ""
-
-#: advice.c:230
-#, c-format
-msgid ""
-"The following paths and/or pathspecs matched paths that exist\n"
-"outside of your sparse-checkout definition, so will not be\n"
-"updated in the index:\n"
-msgstr ""
-
-#: advice.c:237
-msgid ""
-"If you intend to update such entries, try one of the following:\n"
-"* Use the --sparse option.\n"
-"* Disable or modify the sparsity rules."
-msgstr ""
-
-#: advice.c:245
-#, c-format
-msgid ""
-"Note: switching to '%s'.\n"
-"\n"
-"You are in 'detached HEAD' state. You can look around, make experimental\n"
-"changes and commit them, and you can discard any commits you make in this\n"
-"state without impacting any branches by switching back to a branch.\n"
-"\n"
-"If you want to create a new branch to retain commits you create, you may\n"
-"do so (now or later) by using -c with the switch command. Example:\n"
-"\n"
-"  git switch -c <new-branch-name>\n"
-"\n"
-"Or undo this operation with:\n"
-"\n"
-"  git switch -\n"
-"\n"
-"Turn off this advice by setting config variable advice.detachedHead to "
-"false\n"
-"\n"
-msgstr ""
-
-#: alias.c:50
-msgid "cmdline ends with \\"
-msgstr ""
-
-#: alias.c:51
-msgid "unclosed quote"
-msgstr ""
-
-#: apply.c:70
-#, c-format
-msgid "unrecognized whitespace option '%s'"
-msgstr ""
-
-#: apply.c:86
-#, c-format
-msgid "unrecognized whitespace ignore option '%s'"
-msgstr ""
-
-#: apply.c:138 archive.c:584 parse-options.c:1122 range-diff.c:555
-#: revision.c:2314 revision.c:2318 revision.c:2327 revision.c:2332
-#: revision.c:2560 revision.c:2895 revision.c:2899 revision.c:2907
-#: revision.c:2910 revision.c:2912 builtin/add.c:507 builtin/add.c:509
-#: builtin/add.c:515 builtin/add.c:527 builtin/branch.c:755
-#: builtin/checkout.c:472 builtin/checkout.c:475 builtin/checkout.c:1663
-#: builtin/checkout.c:1773 builtin/checkout.c:1776 builtin/clone.c:921
-#: builtin/commit.c:359 builtin/commit.c:362 builtin/commit.c:1200
-#: builtin/commit.c:1256 builtin/commit.c:1273 builtin/describe.c:593
-#: builtin/diff-tree.c:155 builtin/difftool.c:733 builtin/fast-export.c:1245
-#: builtin/fetch.c:2141 builtin/fetch.c:2162 builtin/fetch.c:2167
-#: builtin/help.c:602 builtin/index-pack.c:1858 builtin/init-db.c:560
-#: builtin/log.c:1968 builtin/log.c:1970 builtin/ls-files.c:778
-#: builtin/merge-base.c:163 builtin/merge-base.c:169 builtin/merge.c:1409
-#: builtin/merge.c:1411 builtin/pack-objects.c:4098 builtin/push.c:592
-#: builtin/push.c:630 builtin/push.c:636 builtin/push.c:641
-#: builtin/rebase.c:1221 builtin/rebase.c:1223 builtin/rebase.c:1227
-#: builtin/repack.c:688 builtin/repack.c:719 builtin/reset.c:433
-#: builtin/reset.c:469 builtin/rev-list.c:537 builtin/show-branch.c:711
-#: builtin/stash.c:1696 builtin/stash.c:1699 builtin/submodule--helper.c:1328
-#: builtin/submodule--helper.c:3054 builtin/tag.c:527 builtin/tag.c:573
-#: builtin/worktree.c:779
-#, c-format
-msgid "options '%s' and '%s' cannot be used together"
-msgstr ""
-
-#: apply.c:141 apply.c:152 apply.c:155
-#, c-format
-msgid "'%s' outside a repository"
-msgstr ""
-
-#: apply.c:807
-#, c-format
-msgid "Cannot prepare timestamp regexp %s"
-msgstr ""
-
-#: apply.c:816
-#, c-format
-msgid "regexec returned %d for input: %s"
-msgstr ""
-
-#: apply.c:890
-#, c-format
-msgid "unable to find filename in patch at line %d"
-msgstr ""
-
-#: apply.c:928
-#, c-format
-msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
-msgstr ""
-
-#: apply.c:934
-#, c-format
-msgid "git apply: bad git-diff - inconsistent new filename on line %d"
-msgstr ""
-
-#: apply.c:935
-#, c-format
-msgid "git apply: bad git-diff - inconsistent old filename on line %d"
-msgstr ""
-
-#: apply.c:940
-#, c-format
-msgid "git apply: bad git-diff - expected /dev/null on line %d"
-msgstr ""
-
-#: apply.c:969
-#, c-format
-msgid "invalid mode on line %d: %s"
-msgstr ""
-
-#: apply.c:1288
-#, c-format
-msgid "inconsistent header lines %d and %d"
-msgstr ""
-
-#: apply.c:1378
-#, c-format
-msgid ""
-"git diff header lacks filename information when removing %d leading pathname "
-"component (line %d)"
-msgid_plural ""
-"git diff header lacks filename information when removing %d leading pathname "
-"components (line %d)"
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:1391
-#, c-format
-msgid "git diff header lacks filename information (line %d)"
-msgstr ""
-
-#: apply.c:1487
-#, c-format
-msgid "recount: unexpected line: %.*s"
-msgstr ""
-
-#: apply.c:1556
-#, c-format
-msgid "patch fragment without header at line %d: %.*s"
-msgstr ""
-
-#: apply.c:1759
-msgid "new file depends on old contents"
-msgstr ""
-
-#: apply.c:1761
-msgid "deleted file still has contents"
-msgstr ""
-
-#: apply.c:1795
-#, c-format
-msgid "corrupt patch at line %d"
-msgstr ""
-
-#: apply.c:1832
-#, c-format
-msgid "new file %s depends on old contents"
-msgstr ""
-
-#: apply.c:1834
-#, c-format
-msgid "deleted file %s still has contents"
-msgstr ""
-
-#: apply.c:1837
-#, c-format
-msgid "** warning: file %s becomes empty but is not deleted"
-msgstr ""
-
-#: apply.c:1985
-#, c-format
-msgid "corrupt binary patch at line %d: %.*s"
-msgstr ""
-
-#: apply.c:2022
-#, c-format
-msgid "unrecognized binary patch at line %d"
-msgstr ""
-
-#: apply.c:2184
-#, c-format
-msgid "patch with only garbage at line %d"
-msgstr ""
-
-#: apply.c:2270
-#, c-format
-msgid "unable to read symlink %s"
-msgstr ""
-
-#: apply.c:2274
-#, c-format
-msgid "unable to open or read %s"
-msgstr ""
-
-#: apply.c:2943
-#, c-format
-msgid "invalid start of line: '%c'"
-msgstr ""
-
-#: apply.c:3064
-#, c-format
-msgid "Hunk #%d succeeded at %d (offset %d line)."
-msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:3076
-#, c-format
-msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
-msgstr ""
-
-#: apply.c:3082
-#, c-format
-msgid ""
-"while searching for:\n"
-"%.*s"
-msgstr ""
-
-#: apply.c:3104
-#, c-format
-msgid "missing binary patch data for '%s'"
-msgstr ""
-
-#: apply.c:3112
-#, c-format
-msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
-msgstr ""
-
-#: apply.c:3159
-#, c-format
-msgid "cannot apply binary patch to '%s' without full index line"
-msgstr ""
-
-#: apply.c:3170
-#, c-format
-msgid ""
-"the patch applies to '%s' (%s), which does not match the current contents."
-msgstr ""
-
-#: apply.c:3178
-#, c-format
-msgid "the patch applies to an empty '%s' but it is not empty"
-msgstr ""
-
-#: apply.c:3196
-#, c-format
-msgid "the necessary postimage %s for '%s' cannot be read"
-msgstr ""
-
-#: apply.c:3209
-#, c-format
-msgid "binary patch does not apply to '%s'"
-msgstr ""
-
-#: apply.c:3216
-#, c-format
-msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
-msgstr ""
-
-#: apply.c:3237
-#, c-format
-msgid "patch failed: %s:%ld"
-msgstr ""
-
-#: apply.c:3360
-#, c-format
-msgid "cannot checkout %s"
-msgstr ""
-
-#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:105 pack-revindex.c:214
-#: setup.c:310
-#, c-format
-msgid "failed to read %s"
-msgstr ""
-
-#: apply.c:3420
-#, c-format
-msgid "reading from '%s' beyond a symbolic link"
-msgstr ""
-
-#: apply.c:3449 apply.c:3721
-#, c-format
-msgid "path %s has been renamed/deleted"
-msgstr ""
-
-#: apply.c:3559 apply.c:3736
-#, c-format
-msgid "%s: does not exist in index"
-msgstr ""
-
-#: apply.c:3568 apply.c:3744 apply.c:3960
-#, c-format
-msgid "%s: does not match index"
-msgstr ""
-
-#: apply.c:3605
-msgid "repository lacks the necessary blob to perform 3-way merge."
-msgstr ""
-
-#: apply.c:3608
-#, c-format
-msgid "Performing three-way merge...\n"
-msgstr ""
-
-#: apply.c:3624 apply.c:3628
-#, c-format
-msgid "cannot read the current contents of '%s'"
-msgstr ""
-
-#: apply.c:3640
-#, c-format
-msgid "Failed to perform three-way merge...\n"
-msgstr ""
-
-#: apply.c:3654
-#, c-format
-msgid "Applied patch to '%s' with conflicts.\n"
-msgstr ""
-
-#: apply.c:3659
-#, c-format
-msgid "Applied patch to '%s' cleanly.\n"
-msgstr ""
-
-#: apply.c:3676
-#, c-format
-msgid "Falling back to direct application...\n"
-msgstr ""
-
-#: apply.c:3688
-msgid "removal patch leaves file contents"
-msgstr ""
-
-#: apply.c:3761
-#, c-format
-msgid "%s: wrong type"
-msgstr ""
-
-#: apply.c:3763
-#, c-format
-msgid "%s has type %o, expected %o"
-msgstr ""
-
-#: apply.c:3900 apply.c:3902 read-cache.c:903 read-cache.c:932
-#: read-cache.c:1399
-#, c-format
-msgid "invalid path '%s'"
-msgstr ""
-
-#: apply.c:3958
-#, c-format
-msgid "%s: already exists in index"
-msgstr ""
-
-#: apply.c:3962
-#, c-format
-msgid "%s: already exists in working directory"
-msgstr ""
-
-#: apply.c:3982
-#, c-format
-msgid "new mode (%o) of %s does not match old mode (%o)"
-msgstr ""
-
-#: apply.c:3987
-#, c-format
-msgid "new mode (%o) of %s does not match old mode (%o) of %s"
-msgstr ""
-
-#: apply.c:4007
-#, c-format
-msgid "affected file '%s' is beyond a symbolic link"
-msgstr ""
-
-#: apply.c:4011
-#, c-format
-msgid "%s: patch does not apply"
-msgstr ""
-
-#: apply.c:4026
-#, c-format
-msgid "Checking patch %s..."
-msgstr ""
-
-#: apply.c:4118
-#, c-format
-msgid "sha1 information is lacking or useless for submodule %s"
-msgstr ""
-
-#: apply.c:4125
-#, c-format
-msgid "mode change for %s, which is not in current HEAD"
-msgstr ""
-
-#: apply.c:4128
-#, c-format
-msgid "sha1 information is lacking or useless (%s)."
-msgstr ""
-
-#: apply.c:4137
-#, c-format
-msgid "could not add %s to temporary index"
-msgstr ""
-
-#: apply.c:4147
-#, c-format
-msgid "could not write temporary index to %s"
-msgstr ""
-
-#: apply.c:4285
-#, c-format
-msgid "unable to remove %s from index"
-msgstr ""
-
-#: apply.c:4319
-#, c-format
-msgid "corrupt patch for submodule %s"
-msgstr ""
-
-#: apply.c:4325
-#, c-format
-msgid "unable to stat newly created file '%s'"
-msgstr ""
-
-#: apply.c:4333
-#, c-format
-msgid "unable to create backing store for newly created file %s"
-msgstr ""
-
-#: apply.c:4339 apply.c:4484
-#, c-format
-msgid "unable to add cache entry for %s"
-msgstr ""
-
-#: apply.c:4382 builtin/bisect--helper.c:540 builtin/gc.c:2258
-#: builtin/gc.c:2293
-#, c-format
-msgid "failed to write to '%s'"
-msgstr ""
-
-#: apply.c:4386
-#, c-format
-msgid "closing file '%s'"
-msgstr ""
-
-#: apply.c:4456
-#, c-format
-msgid "unable to write file '%s' mode %o"
-msgstr ""
-
-#: apply.c:4554
-#, c-format
-msgid "Applied patch %s cleanly."
-msgstr ""
-
-#: apply.c:4562
-msgid "internal error"
-msgstr ""
-
-#: apply.c:4565
-#, c-format
-msgid "Applying patch %%s with %d reject..."
-msgid_plural "Applying patch %%s with %d rejects..."
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:4576
-#, c-format
-msgid "truncating .rej filename to %.*s.rej"
-msgstr ""
-
-#: apply.c:4584
-#, c-format
-msgid "cannot open %s"
-msgstr ""
-
-#: apply.c:4598
-#, c-format
-msgid "Hunk #%d applied cleanly."
-msgstr ""
-
-#: apply.c:4602
-#, c-format
-msgid "Rejected hunk #%d."
-msgstr ""
-
-#: apply.c:4731
-#, c-format
-msgid "Skipped patch '%s'."
-msgstr ""
-
-#: apply.c:4740
-msgid "No valid patches in input (allow with \"--allow-empty\")"
-msgstr ""
-
-#: apply.c:4761
-msgid "unable to read index file"
-msgstr ""
-
-#: apply.c:4918
-#, c-format
-msgid "can't open patch '%s': %s"
-msgstr ""
-
-#: apply.c:4945
-#, c-format
-msgid "squelched %d whitespace error"
-msgid_plural "squelched %d whitespace errors"
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:4951 apply.c:4966
-#, c-format
-msgid "%d line adds whitespace errors."
-msgid_plural "%d lines add whitespace errors."
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:4959
-#, c-format
-msgid "%d line applied after fixing whitespace errors."
-msgid_plural "%d lines applied after fixing whitespace errors."
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:4975 builtin/add.c:690 builtin/mv.c:338 builtin/rm.c:430
-msgid "Unable to write new index file"
-msgstr ""
-
-#: apply.c:5003
-msgid "don't apply changes matching the given path"
-msgstr ""
-
-#: apply.c:5006
-msgid "apply changes matching the given path"
-msgstr ""
-
-#: apply.c:5008 builtin/am.c:2379
-msgid "num"
-msgstr ""
-
-#: apply.c:5009
-msgid "remove <num> leading slashes from traditional diff paths"
-msgstr ""
-
-#: apply.c:5012
-msgid "ignore additions made by the patch"
-msgstr ""
-
-#: apply.c:5014
-msgid "instead of applying the patch, output diffstat for the input"
-msgstr ""
-
-#: apply.c:5018
-msgid "show number of added and deleted lines in decimal notation"
-msgstr ""
-
-#: apply.c:5020
-msgid "instead of applying the patch, output a summary for the input"
-msgstr ""
-
-#: apply.c:5022
-msgid "instead of applying the patch, see if the patch is applicable"
-msgstr ""
-
-#: apply.c:5024
-msgid "make sure the patch is applicable to the current index"
-msgstr ""
-
-#: apply.c:5026
-msgid "mark new files with `git add --intent-to-add`"
-msgstr ""
-
-#: apply.c:5028
-msgid "apply a patch without touching the working tree"
-msgstr ""
-
-#: apply.c:5030
-msgid "accept a patch that touches outside the working area"
-msgstr ""
-
-#: apply.c:5033
-msgid "also apply the patch (use with --stat/--summary/--check)"
-msgstr ""
-
-#: apply.c:5035
-msgid "attempt three-way merge, fall back on normal patch if that fails"
-msgstr ""
-
-#: apply.c:5037
-msgid "build a temporary index based on embedded index information"
-msgstr ""
-
-#: apply.c:5040 builtin/checkout-index.c:230
-msgid "paths are separated with NUL character"
-msgstr ""
-
-#: apply.c:5042
-msgid "ensure at least <n> lines of context match"
-msgstr ""
-
-#: apply.c:5043 builtin/am.c:2355 builtin/am.c:2358
-#: builtin/interpret-trailers.c:98 builtin/interpret-trailers.c:100
-#: builtin/interpret-trailers.c:102 builtin/pack-objects.c:3983
-#: builtin/rebase.c:1079
-msgid "action"
-msgstr ""
-
-#: apply.c:5044
-msgid "detect new or modified lines that have whitespace errors"
-msgstr ""
-
-#: apply.c:5047 apply.c:5050
-msgid "ignore changes in whitespace when finding context"
-msgstr ""
-
-#: apply.c:5053
-msgid "apply the patch in reverse"
-msgstr ""
-
-#: apply.c:5055
-msgid "don't expect at least one line of context"
-msgstr ""
-
-#: apply.c:5057
-msgid "leave the rejected hunks in corresponding *.rej files"
-msgstr ""
-
-#: apply.c:5059
-msgid "allow overlapping hunks"
-msgstr ""
-
-#: apply.c:5062
-msgid "tolerate incorrectly detected missing new-line at the end of file"
-msgstr ""
-
-#: apply.c:5065
-msgid "do not trust the line counts in the hunk headers"
-msgstr ""
-
-#: apply.c:5067 builtin/am.c:2367
-msgid "root"
-msgstr ""
-
-#: apply.c:5068
-msgid "prepend <root> to all filenames"
-msgstr ""
-
-#: apply.c:5071
-msgid "don't return error for empty patches"
-msgstr ""
-
-#: archive-tar.c:125 archive-zip.c:346
-#, c-format
-msgid "cannot stream blob %s"
-msgstr ""
-
-#: archive-tar.c:265 archive-zip.c:359
-#, c-format
-msgid "unsupported file mode: 0%o (SHA1: %s)"
-msgstr ""
-
-#: archive-tar.c:447
-#, c-format
-msgid "unable to start '%s' filter"
-msgstr ""
-
-#: archive-tar.c:450
-msgid "unable to redirect descriptor"
-msgstr ""
-
-#: archive-tar.c:457
-#, c-format
-msgid "'%s' filter reported error"
-msgstr ""
-
-#: archive-zip.c:319
-#, c-format
-msgid "path is not valid UTF-8: %s"
-msgstr ""
-
-#: archive-zip.c:323
-#, c-format
-msgid "path too long (%d chars, SHA1: %s): %s"
-msgstr ""
-
-#: archive-zip.c:470 builtin/pack-objects.c:363 builtin/pack-objects.c:366
-#, c-format
-msgid "deflate error (%d)"
-msgstr ""
-
-#: archive-zip.c:604
-#, c-format
-msgid "timestamp too large for this system: %<PRIuMAX>"
-msgstr ""
-
-#: archive.c:14
-msgid "git archive [<options>] <tree-ish> [<path>...]"
-msgstr ""
-
-#: archive.c:16
-msgid ""
-"git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"
-msgstr ""
-
-#: archive.c:17
-msgid "git archive --remote <repo> [--exec <cmd>] --list"
-msgstr ""
-
-#: archive.c:188 archive.c:341 builtin/gc.c:497 builtin/notes.c:238
-#: builtin/tag.c:579
-#, c-format
-msgid "cannot read '%s'"
-msgstr ""
-
-#: archive.c:426 builtin/add.c:214 builtin/add.c:657 builtin/rm.c:334
-#, c-format
-msgid "pathspec '%s' did not match any files"
-msgstr ""
-
-#: archive.c:450
-#, c-format
-msgid "no such ref: %.*s"
-msgstr ""
-
-#: archive.c:456
-#, c-format
-msgid "not a valid object name: %s"
-msgstr ""
-
-#: archive.c:469
-#, c-format
-msgid "not a tree object: %s"
-msgstr ""
-
-#: archive.c:481
-msgid "current working directory is untracked"
-msgstr ""
-
-#: archive.c:522
-#, c-format
-msgid "File not found: %s"
-msgstr ""
-
-#: archive.c:524
-#, c-format
-msgid "Not a regular file: %s"
-msgstr ""
-
-#: archive.c:551
-msgid "fmt"
-msgstr ""
-
-#: archive.c:551
-msgid "archive format"
-msgstr ""
-
-#: archive.c:552 builtin/log.c:1809
-msgid "prefix"
-msgstr ""
-
-#: archive.c:553
-msgid "prepend prefix to each pathname in the archive"
-msgstr ""
-
-#: archive.c:554 archive.c:557 builtin/blame.c:881 builtin/blame.c:885
-#: builtin/blame.c:886 builtin/commit-tree.c:115 builtin/config.c:135
-#: builtin/fast-export.c:1181 builtin/fast-export.c:1183
-#: builtin/fast-export.c:1187 builtin/grep.c:936 builtin/hash-object.c:104
-#: builtin/ls-files.c:654 builtin/ls-files.c:657 builtin/notes.c:410
-#: builtin/notes.c:576 builtin/read-tree.c:115 parse-options.h:195
-msgid "file"
-msgstr ""
-
-#: archive.c:555
-msgid "add untracked file to archive"
-msgstr ""
-
-#: archive.c:558 builtin/archive.c:88
-msgid "write the archive to this file"
-msgstr ""
-
-#: archive.c:560
-msgid "read .gitattributes in working directory"
-msgstr ""
-
-#: archive.c:561
-msgid "report archived files on stderr"
-msgstr ""
-
-#: archive.c:563
-msgid "set compression level"
-msgstr ""
-
-#: archive.c:566
-msgid "list supported archive formats"
-msgstr ""
-
-#: archive.c:568 builtin/archive.c:89 builtin/clone.c:122 builtin/clone.c:125
-#: builtin/submodule--helper.c:1884 builtin/submodule--helper.c:2718
-msgid "repo"
-msgstr ""
-
-#: archive.c:569 builtin/archive.c:90
-msgid "retrieve the archive from remote repository <repo>"
-msgstr ""
-
-#: archive.c:570 builtin/archive.c:91 builtin/difftool.c:708
-#: builtin/notes.c:496
-msgid "command"
-msgstr ""
-
-#: archive.c:571 builtin/archive.c:92
-msgid "path to the remote git-upload-archive command"
-msgstr ""
-
-#: archive.c:578
-msgid "Unexpected option --remote"
-msgstr ""
-
-#: archive.c:580 fetch-pack.c:300 revision.c:2914 builtin/add.c:530
-#: builtin/add.c:562 builtin/checkout.c:1782 builtin/clone.c:1099
-#: builtin/clone.c:1102 builtin/commit.c:371 builtin/fast-export.c:1230
-#: builtin/index-pack.c:1854 builtin/log.c:2140 builtin/reset.c:442
-#: builtin/reset.c:500 builtin/rm.c:281 builtin/stash.c:1708
-#: builtin/worktree.c:580 builtin/worktree.c:781 http-fetch.c:144
-#: http-fetch.c:153
-#, c-format
-msgid "the option '%s' requires '%s'"
-msgstr ""
-
-#: archive.c:582
-msgid "Unexpected option --output"
-msgstr ""
-
-#: archive.c:606
-#, c-format
-msgid "Unknown archive format '%s'"
-msgstr ""
-
-#: archive.c:615
-#, c-format
-msgid "Argument not supported for format '%s': -%d"
-msgstr ""
-
-#: attr.c:202
-#, c-format
-msgid "%.*s is not a valid attribute name"
-msgstr ""
-
-#: attr.c:363
-#, c-format
-msgid "%s not allowed: %s:%d"
-msgstr ""
-
-#: attr.c:403
-msgid ""
-"Negative patterns are ignored in git attributes\n"
-"Use '\\!' for literal leading exclamation."
-msgstr ""
-
-#: bisect.c:488
-#, c-format
-msgid "Badly quoted content in file '%s': %s"
-msgstr ""
-
-#: bisect.c:698
-#, c-format
-msgid "We cannot bisect more!\n"
-msgstr ""
-
-#: bisect.c:765
-#, c-format
-msgid "Not a valid commit name %s"
-msgstr ""
-
-#: bisect.c:790
-#, c-format
-msgid ""
-"The merge base %s is bad.\n"
-"This means the bug has been fixed between %s and [%s].\n"
-msgstr ""
-
-#: bisect.c:795
-#, c-format
-msgid ""
-"The merge base %s is new.\n"
-"The property has changed between %s and [%s].\n"
-msgstr ""
-
-#: bisect.c:800
-#, c-format
-msgid ""
-"The merge base %s is %s.\n"
-"This means the first '%s' commit is between %s and [%s].\n"
-msgstr ""
-
-#: bisect.c:808
-#, c-format
-msgid ""
-"Some %s revs are not ancestors of the %s rev.\n"
-"git bisect cannot work properly in this case.\n"
-"Maybe you mistook %s and %s revs?\n"
-msgstr ""
-
-#: bisect.c:821
-#, c-format
-msgid ""
-"the merge base between %s and [%s] must be skipped.\n"
-"So we cannot be sure the first %s commit is between %s and %s.\n"
-"We continue anyway."
-msgstr ""
-
-#: bisect.c:860
-#, c-format
-msgid "Bisecting: a merge base must be tested\n"
-msgstr ""
-
-#: bisect.c:910
-#, c-format
-msgid "a %s revision is needed"
-msgstr ""
-
-#: bisect.c:940
-#, c-format
-msgid "could not create file '%s'"
-msgstr ""
-
-#: bisect.c:986 builtin/merge.c:155
-#, c-format
-msgid "could not read file '%s'"
-msgstr ""
-
-#: bisect.c:1026
-msgid "reading bisect refs failed"
-msgstr ""
-
-#: bisect.c:1056
-#, c-format
-msgid "%s was both %s and %s\n"
-msgstr ""
-
-#: bisect.c:1065
-#, c-format
-msgid ""
-"No testable commit found.\n"
-"Maybe you started with bad path arguments?\n"
-msgstr ""
-
-#: bisect.c:1094
-#, c-format
-msgid "(roughly %d step)"
-msgid_plural "(roughly %d steps)"
-msgstr[0] ""
-msgstr[1] ""
-
-#. TRANSLATORS: the last %s will be replaced with "(roughly %d
-#. steps)" translation.
-#.
-#: bisect.c:1100
-#, c-format
-msgid "Bisecting: %d revision left to test after this %s\n"
-msgid_plural "Bisecting: %d revisions left to test after this %s\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: blame.c:2773
-msgid "--contents and --reverse do not blend well."
-msgstr ""
-
-#: blame.c:2787
-msgid "cannot use --contents with final commit object name"
-msgstr ""
-
-#: blame.c:2808
-msgid "--reverse and --first-parent together require specified latest commit"
-msgstr ""
-
-#: blame.c:2817 bundle.c:231 midx.c:1058 ref-filter.c:2371 remote.c:2157
-#: sequencer.c:2348 sequencer.c:4872 submodule.c:913 builtin/commit.c:1118
-#: builtin/log.c:437 builtin/log.c:1055 builtin/log.c:1663 builtin/log.c:2096
-#: builtin/log.c:2387 builtin/merge.c:431 builtin/pack-objects.c:3381
-#: builtin/pack-objects.c:3781 builtin/pack-objects.c:3796
-#: builtin/shortlog.c:255
-msgid "revision walk setup failed"
-msgstr ""
-
-#: blame.c:2835
-msgid ""
-"--reverse --first-parent together require range along first-parent chain"
-msgstr ""
-
-#: blame.c:2846
-#, c-format
-msgid "no such path %s in %s"
-msgstr ""
-
-#: blame.c:2857
-#, c-format
-msgid "cannot read blob %s for path %s"
-msgstr ""
-
-#: branch.c:93
-msgid ""
-"cannot inherit upstream tracking configuration of multiple refs when "
-"rebasing is requested"
-msgstr ""
-
-#: branch.c:104
-#, c-format
-msgid "not setting branch '%s' as its own upstream"
-msgstr ""
-
-#: branch.c:160
-#, c-format
-msgid "branch '%s' set up to track '%s' by rebasing."
-msgstr ""
-
-#: branch.c:161
-#, c-format
-msgid "branch '%s' set up to track '%s'."
-msgstr ""
-
-#: branch.c:164
-#, c-format
-msgid "branch '%s' set up to track:"
-msgstr ""
-
-#: branch.c:176
-msgid "unable to write upstream branch configuration"
-msgstr ""
-
-#: branch.c:178
-msgid ""
-"\n"
-"After fixing the error cause you may try to fix up\n"
-"the remote tracking information by invoking:"
-msgstr ""
-
-#: branch.c:219
-#, c-format
-msgid "asked to inherit tracking from '%s', but no remote is set"
-msgstr ""
-
-#: branch.c:225
-#, c-format
-msgid "asked to inherit tracking from '%s', but no merge configuration is set"
-msgstr ""
-
-#: branch.c:277
-#, c-format
-msgid "not tracking: ambiguous information for ref '%s'"
-msgstr ""
-
-#. TRANSLATORS: This is a line listing a remote with duplicate
-#. refspecs in the advice message below. For RTL languages you'll
-#. probably want to swap the "%s" and leading "  " space around.
-#.
-#. TRANSLATORS: This is line item of ambiguous object output
-#. from describe_ambiguous_object() above. For RTL languages
-#. you'll probably want to swap the "%s" and leading " " space
-#. around.
-#.
-#: branch.c:289 object-name.c:464
-#, c-format
-msgid "  %s\n"
-msgstr ""
-
-#. TRANSLATORS: The second argument is a \n-delimited list of
-#. duplicate refspecs, composed above.
-#.
-#: branch.c:295
-#, c-format
-msgid ""
-"There are multiple remotes whose fetch refspecs map to the remote\n"
-"tracking ref '%s':\n"
-"%s\n"
-"This is typically a configuration error.\n"
-"\n"
-"To support setting up tracking branches, ensure that\n"
-"different remotes' fetch refspecs map into different\n"
-"tracking namespaces."
-msgstr ""
-
-#: branch.c:344
-#, c-format
-msgid "'%s' is not a valid branch name"
-msgstr ""
-
-#: branch.c:364
-#, c-format
-msgid "a branch named '%s' already exists"
-msgstr ""
-
-#: branch.c:370
-#, c-format
-msgid "cannot force update the branch '%s' checked out at '%s'"
-msgstr ""
-
-#: branch.c:393
-#, c-format
-msgid "cannot set up tracking information; starting point '%s' is not a branch"
-msgstr ""
-
-#: branch.c:395
-#, c-format
-msgid "the requested upstream branch '%s' does not exist"
-msgstr ""
-
-#: branch.c:397
-msgid ""
-"\n"
-"If you are planning on basing your work on an upstream\n"
-"branch that already exists at the remote, you may need to\n"
-"run \"git fetch\" to retrieve it.\n"
-"\n"
-"If you are planning to push out a new local branch that\n"
-"will track its remote counterpart, you may want to use\n"
-"\"git push -u\" to set the upstream config as you push."
-msgstr ""
-
-#: branch.c:445 builtin/replace.c:321 builtin/replace.c:377
-#: builtin/replace.c:423 builtin/replace.c:453
-#, c-format
-msgid "not a valid object name: '%s'"
-msgstr ""
-
-#: branch.c:465
-#, c-format
-msgid "ambiguous object name: '%s'"
-msgstr ""
-
-#: branch.c:470
-#, c-format
-msgid "not a valid branch point: '%s'"
-msgstr ""
-
-#: branch.c:658
-#, c-format
-msgid "submodule '%s': unable to find submodule"
-msgstr ""
-
-#: branch.c:661
-#, c-format
-msgid ""
-"You may try updating the submodules using 'git checkout %s && git submodule "
-"update --init'"
-msgstr ""
-
-#: branch.c:672 branch.c:698
-#, c-format
-msgid "submodule '%s': cannot create branch '%s'"
-msgstr ""
-
-#: branch.c:730
-#, c-format
-msgid "'%s' is already checked out at '%s'"
-msgstr ""
-
-#: branch.c:755
-#, c-format
-msgid "HEAD of working tree %s is not updated"
-msgstr ""
-
-#: bundle.c:45
-#, c-format
-msgid "unrecognized bundle hash algorithm: %s"
-msgstr ""
-
-#: bundle.c:53
-#, c-format
-msgid "unknown capability '%s'"
-msgstr ""
-
-#: bundle.c:79
-#, c-format
-msgid "'%s' does not look like a v2 or v3 bundle file"
-msgstr ""
-
-#: bundle.c:118
-#, c-format
-msgid "unrecognized header: %s%s (%d)"
-msgstr ""
-
-#: bundle.c:145 rerere.c:464 rerere.c:675 sequencer.c:2616 sequencer.c:3402
-#: builtin/commit.c:865
-#, c-format
-msgid "could not open '%s'"
-msgstr ""
-
-#: bundle.c:203
-msgid "Repository lacks these prerequisite commits:"
-msgstr ""
-
-#: bundle.c:206
-msgid "need a repository to verify a bundle"
-msgstr ""
-
-#: bundle.c:264
-#, c-format
-msgid "The bundle contains this ref:"
-msgid_plural "The bundle contains these %<PRIuMAX> refs:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: bundle.c:272
-msgid "The bundle records a complete history."
-msgstr ""
-
-#: bundle.c:274
-#, c-format
-msgid "The bundle requires this ref:"
-msgid_plural "The bundle requires these %<PRIuMAX> refs:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: bundle.c:350
-msgid "unable to dup bundle descriptor"
-msgstr ""
-
-#: bundle.c:357
-msgid "Could not spawn pack-objects"
-msgstr ""
-
-#: bundle.c:368
-msgid "pack-objects died"
-msgstr ""
-
-#: bundle.c:417
-#, c-format
-msgid "ref '%s' is excluded by the rev-list options"
-msgstr ""
-
-#: bundle.c:533 builtin/log.c:211 builtin/log.c:1975 builtin/shortlog.c:400
-#, c-format
-msgid "unrecognized argument: %s"
-msgstr ""
-
-#: bundle.c:548
-#, c-format
-msgid "unsupported bundle version %d"
-msgstr ""
-
-#: bundle.c:550
-#, c-format
-msgid "cannot write bundle version %d with algorithm %s"
-msgstr ""
-
-#: bundle.c:600
-msgid "Refusing to create empty bundle."
-msgstr ""
-
-#: bundle.c:610
-#, c-format
-msgid "cannot create '%s'"
-msgstr ""
-
-#: bundle.c:639
-msgid "index-pack died"
-msgstr ""
-
-#: chunk-format.c:117
-msgid "terminating chunk id appears earlier than expected"
-msgstr ""
-
-#: chunk-format.c:126
-#, c-format
-msgid "improper chunk offset(s) %<PRIx64> and %<PRIx64>"
-msgstr ""
-
-#: chunk-format.c:133
-#, c-format
-msgid "duplicate chunk ID %<PRIx32> found"
-msgstr ""
-
-#: chunk-format.c:147
-#, c-format
-msgid "final chunk has non-zero id %<PRIx32>"
-msgstr ""
-
-#: color.c:354
-#, c-format
-msgid "invalid color value: %.*s"
-msgstr ""
-
-#: commit-graph.c:204 midx.c:52
-msgid "invalid hash version"
-msgstr ""
-
-#: commit-graph.c:262
-msgid "commit-graph file is too small"
-msgstr ""
-
-#: commit-graph.c:355
-#, c-format
-msgid "commit-graph signature %X does not match signature %X"
-msgstr ""
-
-#: commit-graph.c:362
-#, c-format
-msgid "commit-graph version %X does not match version %X"
-msgstr ""
-
-#: commit-graph.c:369
-#, c-format
-msgid "commit-graph hash version %X does not match version %X"
-msgstr ""
-
-#: commit-graph.c:386
-#, c-format
-msgid "commit-graph file is too small to hold %u chunks"
-msgstr ""
-
-#: commit-graph.c:485
-msgid "commit-graph has no base graphs chunk"
-msgstr ""
-
-#: commit-graph.c:495
-msgid "commit-graph chain does not match"
-msgstr ""
-
-#: commit-graph.c:543
-#, c-format
-msgid "invalid commit-graph chain: line '%s' not a hash"
-msgstr ""
-
-#: commit-graph.c:567
-msgid "unable to find all commit-graph files"
-msgstr ""
-
-#: commit-graph.c:752 commit-graph.c:789
-msgid "invalid commit position. commit-graph is likely corrupt"
-msgstr ""
-
-#: commit-graph.c:773
-#, c-format
-msgid "could not find commit %s"
-msgstr ""
-
-#: commit-graph.c:806
-msgid "commit-graph requires overflow generation data but has none"
-msgstr ""
-
-#: commit-graph.c:1111 builtin/am.c:1370 builtin/checkout.c:775
-#: builtin/clone.c:705
-#, c-format
-msgid "unable to parse commit %s"
-msgstr ""
-
-#: commit-graph.c:1373 builtin/pack-objects.c:3078
-#, c-format
-msgid "unable to get type of object %s"
-msgstr ""
-
-#: commit-graph.c:1404
-msgid "Loading known commits in commit graph"
-msgstr ""
-
-#: commit-graph.c:1421
-msgid "Expanding reachable commits in commit graph"
-msgstr ""
-
-#: commit-graph.c:1441
-msgid "Clearing commit marks in commit graph"
-msgstr ""
-
-#: commit-graph.c:1460
-msgid "Computing commit graph topological levels"
-msgstr ""
-
-#: commit-graph.c:1513
-msgid "Computing commit graph generation numbers"
-msgstr ""
-
-#: commit-graph.c:1598
-msgid "Computing commit changed paths Bloom filters"
-msgstr ""
-
-#: commit-graph.c:1675
-msgid "Collecting referenced commits"
-msgstr ""
-
-#: commit-graph.c:1701
-#, c-format
-msgid "Finding commits for commit graph in %<PRIuMAX> pack"
-msgid_plural "Finding commits for commit graph in %<PRIuMAX> packs"
-msgstr[0] ""
-msgstr[1] ""
-
-#: commit-graph.c:1714
-#, c-format
-msgid "error adding pack %s"
-msgstr ""
-
-#: commit-graph.c:1718
-#, c-format
-msgid "error opening index for %s"
-msgstr ""
-
-#: commit-graph.c:1756
-msgid "Finding commits for commit graph among packed objects"
-msgstr ""
-
-#: commit-graph.c:1774
-msgid "Finding extra edges in commit graph"
-msgstr ""
-
-#: commit-graph.c:1823
-msgid "failed to write correct number of base graph ids"
-msgstr ""
-
-#: commit-graph.c:1854 midx.c:1168 builtin/sparse-checkout.c:475
-#, c-format
-msgid "unable to create leading directories of %s"
-msgstr ""
-
-#: commit-graph.c:1868
-msgid "unable to create temporary graph layer"
-msgstr ""
-
-#: commit-graph.c:1873
-#, c-format
-msgid "unable to adjust shared permissions for '%s'"
-msgstr ""
-
-#: commit-graph.c:1930
-#, c-format
-msgid "Writing out commit graph in %d pass"
-msgid_plural "Writing out commit graph in %d passes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: commit-graph.c:1967
-msgid "unable to open commit-graph chain file"
-msgstr ""
-
-#: commit-graph.c:1983
-msgid "failed to rename base commit-graph file"
-msgstr ""
-
-#: commit-graph.c:2004
-msgid "failed to rename temporary commit-graph file"
-msgstr ""
-
-#: commit-graph.c:2137
-msgid "Scanning merged commits"
-msgstr ""
-
-#: commit-graph.c:2181
-msgid "Merging commit-graph"
-msgstr ""
-
-#: commit-graph.c:2289
-msgid "attempting to write a commit-graph, but 'core.commitGraph' is disabled"
-msgstr ""
-
-#: commit-graph.c:2396
-msgid "too many commits to write graph"
-msgstr ""
-
-#: commit-graph.c:2494
-msgid "the commit-graph file has incorrect checksum and is likely corrupt"
-msgstr ""
-
-#: commit-graph.c:2504
-#, c-format
-msgid "commit-graph has incorrect OID order: %s then %s"
-msgstr ""
-
-#: commit-graph.c:2514 commit-graph.c:2529
-#, c-format
-msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
-msgstr ""
-
-#: commit-graph.c:2521
-#, c-format
-msgid "failed to parse commit %s from commit-graph"
-msgstr ""
-
-#: commit-graph.c:2539
-msgid "Verifying commits in commit graph"
-msgstr ""
-
-#: commit-graph.c:2554
-#, c-format
-msgid "failed to parse commit %s from object database for commit-graph"
-msgstr ""
-
-#: commit-graph.c:2561
-#, c-format
-msgid "root tree OID for commit %s in commit-graph is %s != %s"
-msgstr ""
-
-#: commit-graph.c:2571
-#, c-format
-msgid "commit-graph parent list for commit %s is too long"
-msgstr ""
-
-#: commit-graph.c:2580
-#, c-format
-msgid "commit-graph parent for %s is %s != %s"
-msgstr ""
-
-#: commit-graph.c:2594
-#, c-format
-msgid "commit-graph parent list for commit %s terminates early"
-msgstr ""
-
-#: commit-graph.c:2599
-#, c-format
-msgid ""
-"commit-graph has generation number zero for commit %s, but non-zero elsewhere"
-msgstr ""
-
-#: commit-graph.c:2603
-#, c-format
-msgid ""
-"commit-graph has non-zero generation number for commit %s, but zero elsewhere"
-msgstr ""
-
-#: commit-graph.c:2620
-#, c-format
-msgid "commit-graph generation for commit %s is %<PRIuMAX> < %<PRIuMAX>"
-msgstr ""
-
-#: commit-graph.c:2626
-#, c-format
-msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
-msgstr ""
-
-#: commit.c:54 sequencer.c:3105 builtin/am.c:400 builtin/am.c:445
-#: builtin/am.c:450 builtin/am.c:1449 builtin/am.c:2124 builtin/replace.c:456
-#, c-format
-msgid "could not parse %s"
-msgstr ""
-
-#: commit.c:56
-#, c-format
-msgid "%s %s is not a commit!"
-msgstr ""
-
-#: commit.c:197
-msgid ""
-"Support for <GIT_DIR>/info/grafts is deprecated\n"
-"and will be removed in a future Git version.\n"
-"\n"
-"Please use \"git replace --convert-graft-file\"\n"
-"to convert the grafts into replace refs.\n"
-"\n"
-"Turn this message off by running\n"
-"\"git config advice.graftFileDeprecated false\""
-msgstr ""
-
-#: commit.c:1252
-#, c-format
-msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
-msgstr ""
-
-#: commit.c:1256
-#, c-format
-msgid "Commit %s has a bad GPG signature allegedly by %s."
-msgstr ""
-
-#: commit.c:1259
-#, c-format
-msgid "Commit %s does not have a GPG signature."
-msgstr ""
-
-#: commit.c:1262
-#, c-format
-msgid "Commit %s has a good GPG signature by %s\n"
-msgstr ""
-
-#: commit.c:1516
-msgid ""
-"Warning: commit message did not conform to UTF-8.\n"
-"You may want to amend it after fixing the message, or set the config\n"
-"variable i18n.commitencoding to the encoding your project uses.\n"
-msgstr ""
-
-#: compat/obstack.c:406 compat/obstack.c:408
-msgid "memory exhausted"
-msgstr ""
-
-#: compat/terminal.c:167
-msgid "cannot resume in the background, please use 'fg' to resume"
-msgstr ""
-
-#: compat/terminal.c:168
-msgid "cannot restore terminal settings"
-msgstr ""
-
-#: config.c:143
-#, c-format
-msgid ""
-"exceeded maximum include depth (%d) while including\n"
-"\t%s\n"
-"from\n"
-"\t%s\n"
-"This might be due to circular includes."
-msgstr ""
-
-#: config.c:159
-#, c-format
-msgid "could not expand include path '%s'"
-msgstr ""
-
-#: config.c:170
-msgid "relative config includes must come from files"
-msgstr ""
-
-#: config.c:219
-msgid "relative config include conditionals must come from files"
-msgstr ""
-
-#: config.c:364
-msgid ""
-"remote URLs cannot be configured in file directly or indirectly included by "
-"includeIf.hasconfig:remote.*.url"
-msgstr ""
-
-#: config.c:508
-#, c-format
-msgid "invalid config format: %s"
-msgstr ""
-
-#: config.c:512
-#, c-format
-msgid "missing environment variable name for configuration '%.*s'"
-msgstr ""
-
-#: config.c:517
-#, c-format
-msgid "missing environment variable '%s' for configuration '%.*s'"
-msgstr ""
-
-#: config.c:553
-#, c-format
-msgid "key does not contain a section: %s"
-msgstr ""
-
-#: config.c:558
-#, c-format
-msgid "key does not contain variable name: %s"
-msgstr ""
-
-#: config.c:580 sequencer.c:2802
-#, c-format
-msgid "invalid key: %s"
-msgstr ""
-
-#: config.c:585
-#, c-format
-msgid "invalid key (newline): %s"
-msgstr ""
-
-#: config.c:605
-msgid "empty config key"
-msgstr ""
-
-#: config.c:623 config.c:635
-#, c-format
-msgid "bogus config parameter: %s"
-msgstr ""
-
-#: config.c:649 config.c:666 config.c:673 config.c:682
-#, c-format
-msgid "bogus format in %s"
-msgstr ""
-
-#: config.c:716
-#, c-format
-msgid "bogus count in %s"
-msgstr ""
-
-#: config.c:720
-#, c-format
-msgid "too many entries in %s"
-msgstr ""
-
-#: config.c:730
-#, c-format
-msgid "missing config key %s"
-msgstr ""
-
-#: config.c:738
-#, c-format
-msgid "missing config value %s"
-msgstr ""
-
-#: config.c:1089
-#, c-format
-msgid "bad config line %d in blob %s"
-msgstr ""
-
-#: config.c:1093
-#, c-format
-msgid "bad config line %d in file %s"
-msgstr ""
-
-#: config.c:1097
-#, c-format
-msgid "bad config line %d in standard input"
-msgstr ""
-
-#: config.c:1101
-#, c-format
-msgid "bad config line %d in submodule-blob %s"
-msgstr ""
-
-#: config.c:1105
-#, c-format
-msgid "bad config line %d in command line %s"
-msgstr ""
-
-#: config.c:1109
-#, c-format
-msgid "bad config line %d in %s"
-msgstr ""
-
-#: config.c:1246
-msgid "out of range"
-msgstr ""
-
-#: config.c:1246
-msgid "invalid unit"
-msgstr ""
-
-#: config.c:1247
-#, c-format
-msgid "bad numeric config value '%s' for '%s': %s"
-msgstr ""
-
-#: config.c:1257
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
-msgstr ""
-
-#: config.c:1260
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in file %s: %s"
-msgstr ""
-
-#: config.c:1263
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in standard input: %s"
-msgstr ""
-
-#: config.c:1266
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
-msgstr ""
-
-#: config.c:1269
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
-msgstr ""
-
-#: config.c:1272
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in %s: %s"
-msgstr ""
-
-#: config.c:1368
-#, c-format
-msgid "invalid value for variable %s"
-msgstr ""
-
-#: config.c:1389
-#, c-format
-msgid "ignoring unknown core.fsync component '%s'"
-msgstr ""
-
-#: config.c:1425
-#, c-format
-msgid "bad boolean config value '%s' for '%s'"
-msgstr ""
-
-#: config.c:1443
-#, c-format
-msgid "failed to expand user dir in: '%s'"
-msgstr ""
-
-#: config.c:1452
-#, c-format
-msgid "'%s' for '%s' is not a valid timestamp"
-msgstr ""
-
-#: config.c:1545
-#, c-format
-msgid "abbrev length out of range: %d"
-msgstr ""
-
-#: config.c:1559 config.c:1570
-#, c-format
-msgid "bad zlib compression level %d"
-msgstr ""
-
-#: config.c:1660
-msgid "core.commentChar should only be one character"
-msgstr ""
-
-#: config.c:1692
-#, c-format
-msgid "ignoring unknown core.fsyncMethod value '%s'"
-msgstr ""
-
-#: config.c:1698
-msgid "core.fsyncObjectFiles is deprecated; use core.fsync instead"
-msgstr ""
-
-#: config.c:1714
-#, c-format
-msgid "invalid mode for object creation: %s"
-msgstr ""
-
-#: config.c:1800
-#, c-format
-msgid "malformed value for %s"
-msgstr ""
-
-#: config.c:1826
-#, c-format
-msgid "malformed value for %s: %s"
-msgstr ""
-
-#: config.c:1827
-msgid "must be one of nothing, matching, simple, upstream or current"
-msgstr ""
-
-#: config.c:1888 builtin/pack-objects.c:4078
-#, c-format
-msgid "bad pack compression level %d"
-msgstr ""
-
-#: config.c:2014
-#, c-format
-msgid "unable to load config blob object '%s'"
-msgstr ""
-
-#: config.c:2017
-#, c-format
-msgid "reference '%s' does not point to a blob"
-msgstr ""
-
-#: config.c:2035
-#, c-format
-msgid "unable to resolve config blob '%s'"
-msgstr ""
-
-#: config.c:2080
-#, c-format
-msgid "failed to parse %s"
-msgstr ""
-
-#: config.c:2136
-msgid "unable to parse command-line config"
-msgstr ""
-
-#: config.c:2512
-msgid "unknown error occurred while reading the configuration files"
-msgstr ""
-
-#: config.c:2686
-#, c-format
-msgid "Invalid %s: '%s'"
-msgstr ""
-
-#: config.c:2731
-#, c-format
-msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
-msgstr ""
-
-#: config.c:2763
-#, c-format
-msgid "unable to parse '%s' from command-line config"
-msgstr ""
-
-#: config.c:2765
-#, c-format
-msgid "bad config variable '%s' in file '%s' at line %d"
-msgstr ""
-
-#: config.c:2850
-#, c-format
-msgid "invalid section name '%s'"
-msgstr ""
-
-#: config.c:2882
-#, c-format
-msgid "%s has multiple values"
-msgstr ""
-
-#: config.c:2911
-#, c-format
-msgid "failed to write new configuration file %s"
-msgstr ""
-
-#: config.c:3177 config.c:3518
-#, c-format
-msgid "could not lock config file %s"
-msgstr ""
-
-#: config.c:3188
-#, c-format
-msgid "opening %s"
-msgstr ""
-
-#: config.c:3225 builtin/config.c:361
-#, c-format
-msgid "invalid pattern: %s"
-msgstr ""
-
-#: config.c:3250
-#, c-format
-msgid "invalid config file %s"
-msgstr ""
-
-#: config.c:3263 config.c:3531
-#, c-format
-msgid "fstat on %s failed"
-msgstr ""
-
-#: config.c:3274
-#, c-format
-msgid "unable to mmap '%s'%s"
-msgstr ""
-
-#: config.c:3284 config.c:3536
-#, c-format
-msgid "chmod on %s failed"
-msgstr ""
-
-#: config.c:3369 config.c:3633
-#, c-format
-msgid "could not write config file %s"
-msgstr ""
-
-#: config.c:3403
-#, c-format
-msgid "could not set '%s' to '%s'"
-msgstr ""
-
-#: config.c:3405 builtin/remote.c:666 builtin/remote.c:885 builtin/remote.c:893
-#, c-format
-msgid "could not unset '%s'"
-msgstr ""
-
-#: config.c:3509
-#, c-format
-msgid "invalid section name: %s"
-msgstr ""
-
-#: config.c:3676
-#, c-format
-msgid "missing value for '%s'"
-msgstr ""
-
-#: connect.c:61
-msgid "the remote end hung up upon initial contact"
-msgstr ""
-
-#: connect.c:63
-msgid ""
-"Could not read from remote repository.\n"
-"\n"
-"Please make sure you have the correct access rights\n"
-"and the repository exists."
-msgstr ""
-
-#: connect.c:81
-#, c-format
-msgid "server doesn't support '%s'"
-msgstr ""
-
-#: connect.c:118
-#, c-format
-msgid "server doesn't support feature '%s'"
-msgstr ""
-
-#: connect.c:129
-msgid "expected flush after capabilities"
-msgstr ""
-
-#: connect.c:265
-#, c-format
-msgid "ignoring capabilities after first line '%s'"
-msgstr ""
-
-#: connect.c:286
-msgid "protocol error: unexpected capabilities^{}"
-msgstr ""
-
-#: connect.c:308
-#, c-format
-msgid "protocol error: expected shallow sha-1, got '%s'"
-msgstr ""
-
-#: connect.c:310
-msgid "repository on the other end cannot be shallow"
-msgstr ""
-
-#: connect.c:349
-msgid "invalid packet"
-msgstr ""
-
-#: connect.c:369
-#, c-format
-msgid "protocol error: unexpected '%s'"
-msgstr ""
-
-#: connect.c:499
-#, c-format
-msgid "unknown object format '%s' specified by server"
-msgstr ""
-
-#: connect.c:528
-#, c-format
-msgid "invalid ls-refs response: %s"
-msgstr ""
-
-#: connect.c:532
-msgid "expected flush after ref listing"
-msgstr ""
-
-#: connect.c:535
-msgid "expected response end packet after ref listing"
-msgstr ""
-
-#: connect.c:670
-#, c-format
-msgid "protocol '%s' is not supported"
-msgstr ""
-
-#: connect.c:721
-msgid "unable to set SO_KEEPALIVE on socket"
-msgstr ""
-
-#: connect.c:761 connect.c:824
-#, c-format
-msgid "Looking up %s ... "
-msgstr ""
-
-#: connect.c:765
-#, c-format
-msgid "unable to look up %s (port %s) (%s)"
-msgstr ""
-
-#. TRANSLATORS: this is the end of "Looking up %s ... "
-#: connect.c:769 connect.c:840
-#, c-format
-msgid ""
-"done.\n"
-"Connecting to %s (port %s) ... "
-msgstr ""
-
-#: connect.c:791 connect.c:868
-#, c-format
-msgid ""
-"unable to connect to %s:\n"
-"%s"
-msgstr ""
-
-#. TRANSLATORS: this is the end of "Connecting to %s (port %s) ... "
-#: connect.c:797 connect.c:874
-msgid "done."
-msgstr ""
-
-#: connect.c:828
-#, c-format
-msgid "unable to look up %s (%s)"
-msgstr ""
-
-#: connect.c:834
-#, c-format
-msgid "unknown port %s"
-msgstr ""
-
-#: connect.c:971 connect.c:1303
-#, c-format
-msgid "strange hostname '%s' blocked"
-msgstr ""
-
-#: connect.c:973
-#, c-format
-msgid "strange port '%s' blocked"
-msgstr ""
-
-#: connect.c:983
-#, c-format
-msgid "cannot start proxy %s"
-msgstr ""
-
-#: connect.c:1054
-msgid "no path specified; see 'git help pull' for valid url syntax"
-msgstr ""
-
-#: connect.c:1194
-msgid "newline is forbidden in git:// hosts and repo paths"
-msgstr ""
-
-#: connect.c:1251
-msgid "ssh variant 'simple' does not support -4"
-msgstr ""
-
-#: connect.c:1263
-msgid "ssh variant 'simple' does not support -6"
-msgstr ""
-
-#: connect.c:1280
-msgid "ssh variant 'simple' does not support setting port"
-msgstr ""
-
-#: connect.c:1392
-#, c-format
-msgid "strange pathname '%s' blocked"
-msgstr ""
-
-#: connect.c:1440
-msgid "unable to fork"
-msgstr ""
-
-#: connected.c:109 builtin/fsck.c:189 builtin/prune.c:57
-msgid "Checking connectivity"
-msgstr ""
-
-#: connected.c:122
-msgid "Could not run 'git rev-list'"
-msgstr ""
-
-#: connected.c:146
-msgid "failed write to rev-list"
-msgstr ""
-
-#: connected.c:151
-msgid "failed to close rev-list's stdin"
-msgstr ""
-
-#: convert.c:183
-#, c-format
-msgid "illegal crlf_action %d"
-msgstr ""
-
-#: convert.c:196
-#, c-format
-msgid "CRLF would be replaced by LF in %s"
-msgstr ""
-
-#: convert.c:198
-#, c-format
-msgid ""
-"CRLF will be replaced by LF in %s.\n"
-"The file will have its original line endings in your working directory"
-msgstr ""
-
-#: convert.c:206
-#, c-format
-msgid "LF would be replaced by CRLF in %s"
-msgstr ""
-
-#: convert.c:208
-#, c-format
-msgid ""
-"LF will be replaced by CRLF in %s.\n"
-"The file will have its original line endings in your working directory"
-msgstr ""
-
-#: convert.c:273
-#, c-format
-msgid "BOM is prohibited in '%s' if encoded as %s"
-msgstr ""
-
-#: convert.c:280
-#, c-format
-msgid ""
-"The file '%s' contains a byte order mark (BOM). Please use UTF-%.*s as "
-"working-tree-encoding."
-msgstr ""
-
-#: convert.c:293
-#, c-format
-msgid "BOM is required in '%s' if encoded as %s"
-msgstr ""
-
-#: convert.c:295
-#, c-format
-msgid ""
-"The file '%s' is missing a byte order mark (BOM). Please use UTF-%sBE or UTF-"
-"%sLE (depending on the byte order) as working-tree-encoding."
-msgstr ""
-
-#: convert.c:408 convert.c:479
-#, c-format
-msgid "failed to encode '%s' from %s to %s"
-msgstr ""
-
-#: convert.c:451
-#, c-format
-msgid "encoding '%s' from %s to %s and back is not the same"
-msgstr ""
-
-#: convert.c:654
-#, c-format
-msgid "cannot fork to run external filter '%s'"
-msgstr ""
-
-#: convert.c:674
-#, c-format
-msgid "cannot feed the input to external filter '%s'"
-msgstr ""
-
-#: convert.c:681
-#, c-format
-msgid "external filter '%s' failed %d"
-msgstr ""
-
-#: convert.c:716 convert.c:719
-#, c-format
-msgid "read from external filter '%s' failed"
-msgstr ""
-
-#: convert.c:722 convert.c:777
-#, c-format
-msgid "external filter '%s' failed"
-msgstr ""
-
-#: convert.c:826
-msgid "unexpected filter type"
-msgstr ""
-
-#: convert.c:837
-msgid "path name too long for external filter"
-msgstr ""
-
-#: convert.c:935
-#, c-format
-msgid ""
-"external filter '%s' is not available anymore although not all paths have "
-"been filtered"
-msgstr ""
-
-#: convert.c:1236
-msgid "true/false are no valid working-tree-encodings"
-msgstr ""
-
-#: convert.c:1416 convert.c:1449
-#, c-format
-msgid "%s: clean filter '%s' failed"
-msgstr ""
-
-#: convert.c:1492
-#, c-format
-msgid "%s: smudge filter %s failed"
-msgstr ""
-
-#: credential.c:96
-#, c-format
-msgid "skipping credential lookup for key: credential.%s"
-msgstr ""
-
-#: credential.c:112
-msgid "refusing to work with credential missing host field"
-msgstr ""
-
-#: credential.c:114
-msgid "refusing to work with credential missing protocol field"
-msgstr ""
-
-#: credential.c:396
-#, c-format
-msgid "url contains a newline in its %s component: %s"
-msgstr ""
-
-#: credential.c:440
-#, c-format
-msgid "url has no scheme: %s"
-msgstr ""
-
-#: credential.c:513
-#, c-format
-msgid "credential url cannot be parsed: %s"
-msgstr ""
-
-#: date.c:139
-msgid "in the future"
-msgstr ""
-
-#: date.c:145
-#, c-format
-msgid "%<PRIuMAX> second ago"
-msgid_plural "%<PRIuMAX> seconds ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:152
-#, c-format
-msgid "%<PRIuMAX> minute ago"
-msgid_plural "%<PRIuMAX> minutes ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:159
-#, c-format
-msgid "%<PRIuMAX> hour ago"
-msgid_plural "%<PRIuMAX> hours ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:166
-#, c-format
-msgid "%<PRIuMAX> day ago"
-msgid_plural "%<PRIuMAX> days ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:172
-#, c-format
-msgid "%<PRIuMAX> week ago"
-msgid_plural "%<PRIuMAX> weeks ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:179
-#, c-format
-msgid "%<PRIuMAX> month ago"
-msgid_plural "%<PRIuMAX> months ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:190
-#, c-format
-msgid "%<PRIuMAX> year"
-msgid_plural "%<PRIuMAX> years"
-msgstr[0] ""
-msgstr[1] ""
-
-#. TRANSLATORS: "%s" is "<n> years"
-#: date.c:193
-#, c-format
-msgid "%s, %<PRIuMAX> month ago"
-msgid_plural "%s, %<PRIuMAX> months ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:198 date.c:203
-#, c-format
-msgid "%<PRIuMAX> year ago"
-msgid_plural "%<PRIuMAX> years ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: delta-islands.c:272
-msgid "Propagating island marks"
-msgstr ""
-
-#: delta-islands.c:290
-#, c-format
-msgid "bad tree object %s"
-msgstr ""
-
-#: delta-islands.c:334
-#, c-format
-msgid "failed to load island regex for '%s': %s"
-msgstr ""
-
-#: delta-islands.c:390
-#, c-format
-msgid "island regex from config has too many capture groups (max=%d)"
-msgstr ""
-
-#: delta-islands.c:467
-#, c-format
-msgid "Marked %d islands, done.\n"
-msgstr ""
-
-#: diff-merges.c:81 gpg-interface.c:719 gpg-interface.c:734 ls-refs.c:37
-#: parallel-checkout.c:42 sequencer.c:2805 setup.c:563 builtin/am.c:203
-#: builtin/am.c:2243 builtin/am.c:2287 builtin/blame.c:724 builtin/blame.c:742
-#: builtin/fetch.c:792 builtin/pack-objects.c:3515 builtin/pull.c:45
-#: builtin/pull.c:47 builtin/pull.c:321
-#, c-format
-msgid "invalid value for '%s': '%s'"
-msgstr ""
-
-#: diff-lib.c:561
-msgid "--merge-base does not work with ranges"
-msgstr ""
-
-#: diff-lib.c:563
-msgid "--merge-base only works with commits"
-msgstr ""
-
-#: diff-lib.c:580
-msgid "unable to get HEAD"
-msgstr ""
-
-#: diff-lib.c:587
-msgid "no merge base found"
-msgstr ""
-
-#: diff-lib.c:589
-msgid "multiple merge bases found"
-msgstr ""
-
-#: diff-no-index.c:237
-msgid "git diff --no-index [<options>] <path> <path>"
-msgstr ""
-
-#: diff-no-index.c:262
-msgid ""
-"Not a git repository. Use --no-index to compare two paths outside a working "
-"tree"
-msgstr ""
-
-#: diff.c:159
-#, c-format
-msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
-msgstr ""
-
-#: diff.c:164
-#, c-format
-msgid "  Unknown dirstat parameter '%s'\n"
-msgstr ""
-
-#: diff.c:300
-msgid ""
-"color moved setting must be one of 'no', 'default', 'blocks', 'zebra', "
-"'dimmed-zebra', 'plain'"
-msgstr ""
-
-#: diff.c:328
-#, c-format
-msgid ""
-"unknown color-moved-ws mode '%s', possible values are 'ignore-space-change', "
-"'ignore-space-at-eol', 'ignore-all-space', 'allow-indentation-change'"
-msgstr ""
-
-#: diff.c:336
-msgid ""
-"color-moved-ws: allow-indentation-change cannot be combined with other "
-"whitespace modes"
-msgstr ""
-
-#: diff.c:413
-#, c-format
-msgid "Unknown value for 'diff.submodule' config variable: '%s'"
-msgstr ""
-
-#: diff.c:473
-#, c-format
-msgid ""
-"Found errors in 'diff.dirstat' config variable:\n"
-"%s"
-msgstr ""
-
-#: diff.c:4282
-#, c-format
-msgid "external diff died, stopping at %s"
-msgstr ""
-
-#: diff.c:4677 parse-options.c:1114
-#, c-format
-msgid "options '%s', '%s', '%s', and '%s' cannot be used together"
-msgstr ""
-
-#: diff.c:4681 parse-options.c:1118 builtin/worktree.c:578
-#, c-format
-msgid "options '%s', '%s', and '%s' cannot be used together"
-msgstr ""
-
-#: diff.c:4685
-#, c-format
-msgid "options '%s' and '%s' cannot be used together, use '%s' with '%s'"
-msgstr ""
-
-#: diff.c:4689
-#, c-format
-msgid ""
-"options '%s' and '%s' cannot be used together, use '%s' with '%s' and '%s'"
-msgstr ""
-
-#: diff.c:4769
-msgid "--follow requires exactly one pathspec"
-msgstr ""
-
-#: diff.c:4823
-#, c-format
-msgid "invalid --stat value: %s"
-msgstr ""
-
-#: diff.c:4828 diff.c:4833 diff.c:4838 diff.c:4843 diff.c:5319
-#: parse-options.c:217 parse-options.c:221
-#, c-format
-msgid "%s expects a numerical value"
-msgstr ""
-
-#: diff.c:4860
-#, c-format
-msgid ""
-"Failed to parse --dirstat/-X option parameter:\n"
-"%s"
-msgstr ""
-
-#: diff.c:4893
-#, c-format
-msgid "unknown change class '%c' in --diff-filter=%s"
-msgstr ""
-
-#: diff.c:4917
-#, c-format
-msgid "unknown value after ws-error-highlight=%.*s"
-msgstr ""
-
-#: diff.c:4931
-#, c-format
-msgid "unable to resolve '%s'"
-msgstr ""
-
-#: diff.c:4981 diff.c:4987
-#, c-format
-msgid "%s expects <n>/<m> form"
-msgstr ""
-
-#: diff.c:4999
-#, c-format
-msgid "%s expects a character, got '%s'"
-msgstr ""
-
-#: diff.c:5020
-#, c-format
-msgid "bad --color-moved argument: %s"
-msgstr ""
-
-#: diff.c:5039
-#, c-format
-msgid "invalid mode '%s' in --color-moved-ws"
-msgstr ""
-
-#: diff.c:5079
-msgid ""
-"option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
-"\"histogram\""
-msgstr ""
-
-#: diff.c:5115 diff.c:5135
-#, c-format
-msgid "invalid argument to %s"
-msgstr ""
-
-#: diff.c:5239
-#, c-format
-msgid "invalid regex given to -I: '%s'"
-msgstr ""
-
-#: diff.c:5288
-#, c-format
-msgid "failed to parse --submodule option parameter: '%s'"
-msgstr ""
-
-#: diff.c:5344
-#, c-format
-msgid "bad --word-diff argument: %s"
-msgstr ""
-
-#: diff.c:5380
-msgid "Diff output format options"
-msgstr ""
-
-#: diff.c:5382 diff.c:5388
-msgid "generate patch"
-msgstr ""
-
-#: diff.c:5385 builtin/log.c:180
-msgid "suppress diff output"
-msgstr ""
-
-#: diff.c:5390 diff.c:5504 diff.c:5511
-msgid "<n>"
-msgstr ""
-
-#: diff.c:5391 diff.c:5394
-msgid "generate diffs with <n> lines context"
-msgstr ""
-
-#: diff.c:5396
-msgid "generate the diff in raw format"
-msgstr ""
-
-#: diff.c:5399
-msgid "synonym for '-p --raw'"
-msgstr ""
-
-#: diff.c:5403
-msgid "synonym for '-p --stat'"
-msgstr ""
-
-#: diff.c:5407
-msgid "machine friendly --stat"
-msgstr ""
-
-#: diff.c:5410
-msgid "output only the last line of --stat"
-msgstr ""
-
-#: diff.c:5412 diff.c:5420
-msgid "<param1,param2>..."
-msgstr ""
-
-#: diff.c:5413
-msgid ""
-"output the distribution of relative amount of changes for each sub-directory"
-msgstr ""
-
-#: diff.c:5417
-msgid "synonym for --dirstat=cumulative"
-msgstr ""
-
-#: diff.c:5421
-msgid "synonym for --dirstat=files,param1,param2..."
-msgstr ""
-
-#: diff.c:5425
-msgid "warn if changes introduce conflict markers or whitespace errors"
-msgstr ""
-
-#: diff.c:5428
-msgid "condensed summary such as creations, renames and mode changes"
-msgstr ""
-
-#: diff.c:5431
-msgid "show only names of changed files"
-msgstr ""
-
-#: diff.c:5434
-msgid "show only names and status of changed files"
-msgstr ""
-
-#: diff.c:5436
-msgid "<width>[,<name-width>[,<count>]]"
-msgstr ""
-
-#: diff.c:5437
-msgid "generate diffstat"
-msgstr ""
-
-#: diff.c:5439 diff.c:5442 diff.c:5445
-msgid "<width>"
-msgstr ""
-
-#: diff.c:5440
-msgid "generate diffstat with a given width"
-msgstr ""
-
-#: diff.c:5443
-msgid "generate diffstat with a given name width"
-msgstr ""
-
-#: diff.c:5446
-msgid "generate diffstat with a given graph width"
-msgstr ""
-
-#: diff.c:5448
-msgid "<count>"
-msgstr ""
-
-#: diff.c:5449
-msgid "generate diffstat with limited lines"
-msgstr ""
-
-#: diff.c:5452
-msgid "generate compact summary in diffstat"
-msgstr ""
-
-#: diff.c:5455
-msgid "output a binary diff that can be applied"
-msgstr ""
-
-#: diff.c:5458
-msgid "show full pre- and post-image object names on the \"index\" lines"
-msgstr ""
-
-#: diff.c:5460
-msgid "show colored diff"
-msgstr ""
-
-#: diff.c:5461
-msgid "<kind>"
-msgstr ""
-
-#: diff.c:5462
-msgid ""
-"highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
-"diff"
-msgstr ""
-
-#: diff.c:5465
-msgid ""
-"do not munge pathnames and use NULs as output field terminators in --raw or "
-"--numstat"
-msgstr ""
-
-#: diff.c:5468 diff.c:5471 diff.c:5474 diff.c:5583
-msgid "<prefix>"
-msgstr ""
-
-#: diff.c:5469
-msgid "show the given source prefix instead of \"a/\""
-msgstr ""
-
-#: diff.c:5472
-msgid "show the given destination prefix instead of \"b/\""
-msgstr ""
-
-#: diff.c:5475
-msgid "prepend an additional prefix to every line of output"
-msgstr ""
-
-#: diff.c:5478
-msgid "do not show any source or destination prefix"
-msgstr ""
-
-#: diff.c:5481
-msgid "show context between diff hunks up to the specified number of lines"
-msgstr ""
-
-#: diff.c:5485 diff.c:5490 diff.c:5495
-msgid "<char>"
-msgstr ""
-
-#: diff.c:5486
-msgid "specify the character to indicate a new line instead of '+'"
-msgstr ""
-
-#: diff.c:5491
-msgid "specify the character to indicate an old line instead of '-'"
-msgstr ""
-
-#: diff.c:5496
-msgid "specify the character to indicate a context instead of ' '"
-msgstr ""
-
-#: diff.c:5499
-msgid "Diff rename options"
-msgstr ""
-
-#: diff.c:5500
-msgid "<n>[/<m>]"
-msgstr ""
-
-#: diff.c:5501
-msgid "break complete rewrite changes into pairs of delete and create"
-msgstr ""
-
-#: diff.c:5505
-msgid "detect renames"
-msgstr ""
-
-#: diff.c:5509
-msgid "omit the preimage for deletes"
-msgstr ""
-
-#: diff.c:5512
-msgid "detect copies"
-msgstr ""
-
-#: diff.c:5516
-msgid "use unmodified files as source to find copies"
-msgstr ""
-
-#: diff.c:5518
-msgid "disable rename detection"
-msgstr ""
-
-#: diff.c:5521
-msgid "use empty blobs as rename source"
-msgstr ""
-
-#: diff.c:5523
-msgid "continue listing the history of a file beyond renames"
-msgstr ""
-
-#: diff.c:5526
-msgid ""
-"prevent rename/copy detection if the number of rename/copy targets exceeds "
-"given limit"
-msgstr ""
-
-#: diff.c:5528
-msgid "Diff algorithm options"
-msgstr ""
-
-#: diff.c:5530
-msgid "produce the smallest possible diff"
-msgstr ""
-
-#: diff.c:5533
-msgid "ignore whitespace when comparing lines"
-msgstr ""
-
-#: diff.c:5536
-msgid "ignore changes in amount of whitespace"
-msgstr ""
-
-#: diff.c:5539
-msgid "ignore changes in whitespace at EOL"
-msgstr ""
-
-#: diff.c:5542
-msgid "ignore carrier-return at the end of line"
-msgstr ""
-
-#: diff.c:5545
-msgid "ignore changes whose lines are all blank"
-msgstr ""
-
-#: diff.c:5547 diff.c:5569 diff.c:5572 diff.c:5617
-msgid "<regex>"
-msgstr ""
-
-#: diff.c:5548
-msgid "ignore changes whose all lines match <regex>"
-msgstr ""
-
-#: diff.c:5551
-msgid "heuristic to shift diff hunk boundaries for easy reading"
-msgstr ""
-
-#: diff.c:5554
-msgid "generate diff using the \"patience diff\" algorithm"
-msgstr ""
-
-#: diff.c:5558
-msgid "generate diff using the \"histogram diff\" algorithm"
-msgstr ""
-
-#: diff.c:5560
-msgid "<algorithm>"
-msgstr ""
-
-#: diff.c:5561
-msgid "choose a diff algorithm"
-msgstr ""
-
-#: diff.c:5563
-msgid "<text>"
-msgstr ""
-
-#: diff.c:5564
-msgid "generate diff using the \"anchored diff\" algorithm"
-msgstr ""
-
-#: diff.c:5566 diff.c:5575 diff.c:5578
-msgid "<mode>"
-msgstr ""
-
-#: diff.c:5567
-msgid "show word diff, using <mode> to delimit changed words"
-msgstr ""
-
-#: diff.c:5570
-msgid "use <regex> to decide what a word is"
-msgstr ""
-
-#: diff.c:5573
-msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
-msgstr ""
-
-#: diff.c:5576
-msgid "moved lines of code are colored differently"
-msgstr ""
-
-#: diff.c:5579
-msgid "how white spaces are ignored in --color-moved"
-msgstr ""
-
-#: diff.c:5582
-msgid "Other diff options"
-msgstr ""
-
-#: diff.c:5584
-msgid "when run from subdir, exclude changes outside and show relative paths"
-msgstr ""
-
-#: diff.c:5588
-msgid "treat all files as text"
-msgstr ""
-
-#: diff.c:5590
-msgid "swap two inputs, reverse the diff"
-msgstr ""
-
-#: diff.c:5592
-msgid "exit with 1 if there were differences, 0 otherwise"
-msgstr ""
-
-#: diff.c:5594
-msgid "disable all output of the program"
-msgstr ""
-
-#: diff.c:5596
-msgid "allow an external diff helper to be executed"
-msgstr ""
-
-#: diff.c:5598
-msgid "run external text conversion filters when comparing binary files"
-msgstr ""
-
-#: diff.c:5600
-msgid "<when>"
-msgstr ""
-
-#: diff.c:5601
-msgid "ignore changes to submodules in the diff generation"
-msgstr ""
-
-#: diff.c:5604
-msgid "<format>"
-msgstr ""
-
-#: diff.c:5605
-msgid "specify how differences in submodules are shown"
-msgstr ""
-
-#: diff.c:5609
-msgid "hide 'git add -N' entries from the index"
-msgstr ""
-
-#: diff.c:5612
-msgid "treat 'git add -N' entries as real in the index"
-msgstr ""
-
-#: diff.c:5614
-msgid "<string>"
-msgstr ""
-
-#: diff.c:5615
-msgid ""
-"look for differences that change the number of occurrences of the specified "
-"string"
-msgstr ""
-
-#: diff.c:5618
-msgid ""
-"look for differences that change the number of occurrences of the specified "
-"regex"
-msgstr ""
-
-#: diff.c:5621
-msgid "show all changes in the changeset with -S or -G"
-msgstr ""
-
-#: diff.c:5624
-msgid "treat <string> in -S as extended POSIX regular expression"
-msgstr ""
-
-#: diff.c:5627
-msgid "control the order in which files appear in the output"
-msgstr ""
-
-#: diff.c:5628 diff.c:5631
-msgid "<path>"
-msgstr ""
-
-#: diff.c:5629
-msgid "show the change in the specified path first"
-msgstr ""
-
-#: diff.c:5632
-msgid "skip the output to the specified path"
-msgstr ""
-
-#: diff.c:5634
-msgid "<object-id>"
-msgstr ""
-
-#: diff.c:5635
-msgid ""
-"look for differences that change the number of occurrences of the specified "
-"object"
-msgstr ""
-
-#: diff.c:5637
-msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
-msgstr ""
-
-#: diff.c:5638
-msgid "select files by diff type"
-msgstr ""
-
-#: diff.c:5640
-msgid "<file>"
-msgstr ""
-
-#: diff.c:5641
-msgid "output to a specific file"
-msgstr ""
-
-#: diff.c:6321
-msgid "exhaustive rename detection was skipped due to too many files."
-msgstr ""
-
-#: diff.c:6324
-msgid "only found copies from modified paths due to too many files."
-msgstr ""
-
-#: diff.c:6327
-#, c-format
-msgid ""
-"you may want to set your %s variable to at least %d and retry the command."
-msgstr ""
-
-#: diffcore-order.c:24
-#, c-format
-msgid "failed to read orderfile '%s'"
-msgstr ""
-
-#: diffcore-rename.c:1564
-msgid "Performing inexact rename detection"
-msgstr ""
-
-#: diffcore-rotate.c:29
-#, c-format
-msgid "No such path '%s' in the diff"
-msgstr ""
-
-#: dir.c:593
-#, c-format
-msgid "pathspec '%s' did not match any file(s) known to git"
-msgstr ""
-
-#: dir.c:733 dir.c:762 dir.c:775
-#, c-format
-msgid "unrecognized pattern: '%s'"
-msgstr ""
-
-#: dir.c:790 dir.c:804
-#, c-format
-msgid "unrecognized negative pattern: '%s'"
-msgstr ""
-
-#: dir.c:820
-#, c-format
-msgid "your sparse-checkout file may have issues: pattern '%s' is repeated"
-msgstr ""
-
-#: dir.c:828
-msgid "disabling cone pattern matching"
-msgstr ""
-
-#: dir.c:1212
-#, c-format
-msgid "cannot use %s as an exclude file"
-msgstr ""
-
-#: dir.c:2419
-#, c-format
-msgid "could not open directory '%s'"
-msgstr ""
-
-#: dir.c:2721
-msgid "failed to get kernel name and information"
-msgstr ""
-
-#: dir.c:2846
-msgid "untracked cache is disabled on this system or location"
-msgstr ""
-
-#: dir.c:3119
-msgid ""
-"No directory name could be guessed.\n"
-"Please specify a directory on the command line"
-msgstr ""
-
-#: dir.c:3807
-#, c-format
-msgid "index file corrupt in repo %s"
-msgstr ""
-
-#: dir.c:3854 dir.c:3859
-#, c-format
-msgid "could not create directories for %s"
-msgstr ""
-
-#: dir.c:3888
-#, c-format
-msgid "could not migrate git directory from '%s' to '%s'"
-msgstr ""
-
-#: editor.c:74
-#, c-format
-msgid "hint: Waiting for your editor to close the file...%c"
-msgstr ""
-
-#: entry.c:179
-msgid "Filtering content"
-msgstr ""
-
-#: entry.c:500
-#, c-format
-msgid "could not stat file '%s'"
-msgstr ""
-
-#: environment.c:147
-#, c-format
-msgid "bad git namespace path \"%s\""
-msgstr ""
-
-#: exec-cmd.c:363
-#, c-format
-msgid "too many args to run %s"
-msgstr ""
-
-#: fetch-pack.c:194
-msgid "git fetch-pack: expected shallow list"
-msgstr ""
-
-#: fetch-pack.c:197
-msgid "git fetch-pack: expected a flush packet after shallow list"
-msgstr ""
-
-#: fetch-pack.c:208
-msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
-msgstr ""
-
-#: fetch-pack.c:228
-#, c-format
-msgid "git fetch-pack: expected ACK/NAK, got '%s'"
-msgstr ""
-
-#: fetch-pack.c:239
-msgid "unable to write to remote"
-msgstr ""
-
-#: fetch-pack.c:397 fetch-pack.c:1460
-#, c-format
-msgid "invalid shallow line: %s"
-msgstr ""
-
-#: fetch-pack.c:403 fetch-pack.c:1466
-#, c-format
-msgid "invalid unshallow line: %s"
-msgstr ""
-
-#: fetch-pack.c:405 fetch-pack.c:1468
-#, c-format
-msgid "object not found: %s"
-msgstr ""
-
-#: fetch-pack.c:408 fetch-pack.c:1471
-#, c-format
-msgid "error in object: %s"
-msgstr ""
-
-#: fetch-pack.c:410 fetch-pack.c:1473
-#, c-format
-msgid "no shallow found: %s"
-msgstr ""
-
-#: fetch-pack.c:413 fetch-pack.c:1477
-#, c-format
-msgid "expected shallow/unshallow, got %s"
-msgstr ""
-
-#: fetch-pack.c:453
-#, c-format
-msgid "got %s %d %s"
-msgstr ""
-
-#: fetch-pack.c:470
-#, c-format
-msgid "invalid commit %s"
-msgstr ""
-
-#: fetch-pack.c:501
-msgid "giving up"
-msgstr ""
-
-#: fetch-pack.c:514 progress.h:25
-msgid "done"
-msgstr ""
-
-#: fetch-pack.c:526
-#, c-format
-msgid "got %s (%d) %s"
-msgstr ""
-
-#: fetch-pack.c:562
-#, c-format
-msgid "Marking %s as complete"
-msgstr ""
-
-#: fetch-pack.c:784
-#, c-format
-msgid "already have %s (%s)"
-msgstr ""
-
-#: fetch-pack.c:870
-msgid "fetch-pack: unable to fork off sideband demultiplexer"
-msgstr ""
-
-#: fetch-pack.c:878
-msgid "protocol error: bad pack header"
-msgstr ""
-
-#: fetch-pack.c:974
-#, c-format
-msgid "fetch-pack: unable to fork off %s"
-msgstr ""
-
-#: fetch-pack.c:980
-msgid "fetch-pack: invalid index-pack output"
-msgstr ""
-
-#: fetch-pack.c:997
-#, c-format
-msgid "%s failed"
-msgstr ""
-
-#: fetch-pack.c:999
-msgid "error in sideband demultiplexer"
-msgstr ""
-
-#: fetch-pack.c:1048
-#, c-format
-msgid "Server version is %.*s"
-msgstr ""
-
-#: fetch-pack.c:1056 fetch-pack.c:1062 fetch-pack.c:1065 fetch-pack.c:1071
-#: fetch-pack.c:1075 fetch-pack.c:1079 fetch-pack.c:1083 fetch-pack.c:1087
-#: fetch-pack.c:1091 fetch-pack.c:1095 fetch-pack.c:1099 fetch-pack.c:1103
-#: fetch-pack.c:1109 fetch-pack.c:1115 fetch-pack.c:1120 fetch-pack.c:1125
-#, c-format
-msgid "Server supports %s"
-msgstr ""
-
-#: fetch-pack.c:1058
-msgid "Server does not support shallow clients"
-msgstr ""
-
-#: fetch-pack.c:1118
-msgid "Server does not support --shallow-since"
-msgstr ""
-
-#: fetch-pack.c:1123
-msgid "Server does not support --shallow-exclude"
-msgstr ""
-
-#: fetch-pack.c:1127
-msgid "Server does not support --deepen"
-msgstr ""
-
-#: fetch-pack.c:1129
-msgid "Server does not support this repository's object format"
-msgstr ""
-
-#: fetch-pack.c:1142
-msgid "no common commits"
-msgstr ""
-
-#: fetch-pack.c:1151 fetch-pack.c:1506 builtin/clone.c:1166
-msgid "source repository is shallow, reject to clone."
-msgstr ""
-
-#: fetch-pack.c:1157 fetch-pack.c:1705
-msgid "git fetch-pack: fetch failed."
-msgstr ""
-
-#: fetch-pack.c:1271
-#, c-format
-msgid "mismatched algorithms: client %s; server %s"
-msgstr ""
-
-#: fetch-pack.c:1275
-#, c-format
-msgid "the server does not support algorithm '%s'"
-msgstr ""
-
-#: fetch-pack.c:1308
-msgid "Server does not support shallow requests"
-msgstr ""
-
-#: fetch-pack.c:1315
-msgid "Server supports filter"
-msgstr ""
-
-#: fetch-pack.c:1358 fetch-pack.c:2087
-msgid "unable to write request to remote"
-msgstr ""
-
-#: fetch-pack.c:1376
-#, c-format
-msgid "error reading section header '%s'"
-msgstr ""
-
-#: fetch-pack.c:1382
-#, c-format
-msgid "expected '%s', received '%s'"
-msgstr ""
-
-#: fetch-pack.c:1416
-#, c-format
-msgid "unexpected acknowledgment line: '%s'"
-msgstr ""
-
-#: fetch-pack.c:1421
-#, c-format
-msgid "error processing acks: %d"
-msgstr ""
-
-#. TRANSLATORS: The parameter will be 'ready', a protocol
-#. keyword.
-#.
-#: fetch-pack.c:1435
-#, c-format
-msgid "expected packfile to be sent after '%s'"
-msgstr ""
-
-#. TRANSLATORS: The parameter will be 'ready', a protocol
-#. keyword.
-#.
-#: fetch-pack.c:1441
-#, c-format
-msgid "expected no other sections to be sent after no '%s'"
-msgstr ""
-
-#: fetch-pack.c:1482
-#, c-format
-msgid "error processing shallow info: %d"
-msgstr ""
-
-#: fetch-pack.c:1531
-#, c-format
-msgid "expected wanted-ref, got '%s'"
-msgstr ""
-
-#: fetch-pack.c:1536
-#, c-format
-msgid "unexpected wanted-ref: '%s'"
-msgstr ""
-
-#: fetch-pack.c:1541
-#, c-format
-msgid "error processing wanted refs: %d"
-msgstr ""
-
-#: fetch-pack.c:1571
-msgid "git fetch-pack: expected response end packet"
-msgstr ""
-
-#: fetch-pack.c:1983
-msgid "no matching remote head"
-msgstr ""
-
-#: fetch-pack.c:2006 builtin/clone.c:587
-msgid "remote did not send all necessary objects"
-msgstr ""
-
-#: fetch-pack.c:2109
-msgid "unexpected 'ready' from remote"
-msgstr ""
-
-#: fetch-pack.c:2132
-#, c-format
-msgid "no such remote ref %s"
-msgstr ""
-
-#: fetch-pack.c:2135
-#, c-format
-msgid "Server does not allow request for unadvertised object %s"
-msgstr ""
-
-#: fsmonitor-ipc.c:119
-#, c-format
-msgid "fsmonitor_ipc__send_query: invalid path '%s'"
-msgstr ""
-
-#: fsmonitor-ipc.c:125
-#, c-format
-msgid "fsmonitor_ipc__send_query: unspecified error on '%s'"
-msgstr ""
-
-#: fsmonitor-ipc.c:155
-msgid "fsmonitor--daemon is not running"
-msgstr ""
-
-#: fsmonitor-ipc.c:164
-#, c-format
-msgid "could not send '%s' command to fsmonitor--daemon"
-msgstr ""
-
-#: gpg-interface.c:329 gpg-interface.c:456 gpg-interface.c:995
-#: gpg-interface.c:1011
-msgid "could not create temporary file"
-msgstr ""
-
-#: gpg-interface.c:332 gpg-interface.c:459
-#, c-format
-msgid "failed writing detached signature to '%s'"
-msgstr ""
-
-#: gpg-interface.c:450
-msgid ""
-"gpg.ssh.allowedSignersFile needs to be configured and exist for ssh "
-"signature verification"
-msgstr ""
-
-#: gpg-interface.c:479
-msgid ""
-"ssh-keygen -Y find-principals/verify is needed for ssh signature "
-"verification (available in openssh version 8.2p1+)"
-msgstr ""
-
-#: gpg-interface.c:550
-#, c-format
-msgid "ssh signing revocation file configured but not found: %s"
-msgstr ""
-
-#: gpg-interface.c:638
-#, c-format
-msgid "bad/incompatible signature '%s'"
-msgstr ""
-
-#: gpg-interface.c:815 gpg-interface.c:820
-#, c-format
-msgid "failed to get the ssh fingerprint for key '%s'"
-msgstr ""
-
-#: gpg-interface.c:843
-msgid ""
-"either user.signingkey or gpg.ssh.defaultKeyCommand needs to be configured"
-msgstr ""
-
-#: gpg-interface.c:865
-#, c-format
-msgid "gpg.ssh.defaultKeyCommand succeeded but returned no keys: %s %s"
-msgstr ""
-
-#: gpg-interface.c:871
-#, c-format
-msgid "gpg.ssh.defaultKeyCommand failed: %s %s"
-msgstr ""
-
-#: gpg-interface.c:966
-msgid "gpg failed to sign the data"
-msgstr ""
-
-#: gpg-interface.c:988
-msgid "user.signingkey needs to be set for ssh signing"
-msgstr ""
-
-#: gpg-interface.c:999
-#, c-format
-msgid "failed writing ssh signing key to '%s'"
-msgstr ""
-
-#: gpg-interface.c:1017
-#, c-format
-msgid "failed writing ssh signing key buffer to '%s'"
-msgstr ""
-
-#: gpg-interface.c:1035
-msgid ""
-"ssh-keygen -Y sign is needed for ssh signing (available in openssh version "
-"8.2p1+)"
-msgstr ""
-
-#: gpg-interface.c:1047
-#, c-format
-msgid "failed reading ssh signing data buffer from '%s'"
-msgstr ""
-
-#: graph.c:98
-#, c-format
-msgid "ignored invalid color '%.*s' in log.graphColors"
-msgstr ""
-
-#: grep.c:446
-msgid ""
-"given pattern contains NULL byte (via -f <file>). This is only supported "
-"with -P under PCRE v2"
-msgstr ""
-
-#: grep.c:1859
-#, c-format
-msgid "'%s': unable to read %s"
-msgstr ""
-
-#: grep.c:1876 setup.c:178 builtin/clone.c:308 builtin/diff.c:90
-#: builtin/rm.c:136
-#, c-format
-msgid "failed to stat '%s'"
-msgstr ""
-
-#: grep.c:1887
-#, c-format
-msgid "'%s': short read"
-msgstr ""
-
-#: help.c:25
-msgid "start a working area (see also: git help tutorial)"
-msgstr ""
-
-#: help.c:26
-msgid "work on the current change (see also: git help everyday)"
-msgstr ""
-
-#: help.c:27
-msgid "examine the history and state (see also: git help revisions)"
-msgstr ""
-
-#: help.c:28
-msgid "grow, mark and tweak your common history"
-msgstr ""
-
-#: help.c:29
-msgid "collaborate (see also: git help workflows)"
-msgstr ""
-
-#: help.c:33
-msgid "Main Porcelain Commands"
-msgstr ""
-
-#: help.c:34
-msgid "Ancillary Commands / Manipulators"
-msgstr ""
-
-#: help.c:35
-msgid "Ancillary Commands / Interrogators"
-msgstr ""
-
-#: help.c:36
-msgid "Interacting with Others"
-msgstr ""
-
-#: help.c:37
-msgid "Low-level Commands / Manipulators"
-msgstr ""
-
-#: help.c:38
-msgid "Low-level Commands / Interrogators"
-msgstr ""
-
-#: help.c:39
-msgid "Low-level Commands / Syncing Repositories"
-msgstr ""
-
-#: help.c:40
-msgid "Low-level Commands / Internal Helpers"
-msgstr ""
-
-#: help.c:316
-#, c-format
-msgid "available git commands in '%s'"
-msgstr ""
-
-#: help.c:323
-msgid "git commands available from elsewhere on your $PATH"
-msgstr ""
-
-#: help.c:332
-msgid "These are common Git commands used in various situations:"
-msgstr ""
-
-#: help.c:382 git.c:100
-#, c-format
-msgid "unsupported command listing type '%s'"
-msgstr ""
-
-#: help.c:422
-msgid "The Git concept guides are:"
-msgstr ""
-
-#: help.c:446
-msgid "External commands"
-msgstr ""
-
-#: help.c:468
-msgid "Command aliases"
-msgstr ""
-
-#: help.c:486
-msgid "See 'git help <command>' to read about a specific subcommand"
-msgstr ""
-
-#: help.c:563
-#, c-format
-msgid ""
-"'%s' appears to be a git command, but we were not\n"
-"able to execute it. Maybe git-%s is broken?"
-msgstr ""
-
-#: help.c:585 help.c:682
-#, c-format
-msgid "git: '%s' is not a git command. See 'git --help'."
-msgstr ""
-
-#: help.c:633
-msgid "Uh oh. Your system reports no Git commands at all."
-msgstr ""
-
-#: help.c:655
-#, c-format
-msgid "WARNING: You called a Git command named '%s', which does not exist."
-msgstr ""
-
-#: help.c:660
-#, c-format
-msgid "Continuing under the assumption that you meant '%s'."
-msgstr ""
-
-#: help.c:666
-#, c-format
-msgid "Run '%s' instead [y/N]? "
-msgstr ""
-
-#: help.c:674
-#, c-format
-msgid "Continuing in %0.1f seconds, assuming that you meant '%s'."
-msgstr ""
-
-#: help.c:686
-msgid ""
-"\n"
-"The most similar command is"
-msgid_plural ""
-"\n"
-"The most similar commands are"
-msgstr[0] ""
-msgstr[1] ""
-
-#: help.c:729
-msgid "git version [<options>]"
-msgstr ""
-
-#: help.c:784
-#, c-format
-msgid "%s: %s - %s"
-msgstr ""
-
-#: help.c:788
-msgid ""
-"\n"
-"Did you mean this?"
-msgid_plural ""
-"\n"
-"Did you mean one of these?"
-msgstr[0] ""
-msgstr[1] ""
-
-#: hook.c:28
-#, c-format
-msgid ""
-"The '%s' hook was ignored because it's not set as executable.\n"
-"You can disable this warning with `git config advice.ignoredHook false`."
-msgstr ""
-
-#: hook.c:87
-#, c-format
-msgid "Couldn't start hook '%s'\n"
-msgstr ""
-
-#: ident.c:354
-msgid "Author identity unknown\n"
-msgstr ""
-
-#: ident.c:357
-msgid "Committer identity unknown\n"
-msgstr ""
-
-#: ident.c:363
-msgid ""
-"\n"
-"*** Please tell me who you are.\n"
-"\n"
-"Run\n"
-"\n"
-"  git config --global user.email \"you@example.com\"\n"
-"  git config --global user.name \"Your Name\"\n"
-"\n"
-"to set your account's default identity.\n"
-"Omit --global to set the identity only in this repository.\n"
-"\n"
-msgstr ""
-
-#: ident.c:398
-msgid "no email was given and auto-detection is disabled"
-msgstr ""
-
-#: ident.c:403
-#, c-format
-msgid "unable to auto-detect email address (got '%s')"
-msgstr ""
-
-#: ident.c:420
-msgid "no name was given and auto-detection is disabled"
-msgstr ""
-
-#: ident.c:426
-#, c-format
-msgid "unable to auto-detect name (got '%s')"
-msgstr ""
-
-#: ident.c:434
-#, c-format
-msgid "empty ident name (for <%s>) not allowed"
-msgstr ""
-
-#: ident.c:440
-#, c-format
-msgid "name consists only of disallowed characters: %s"
-msgstr ""
-
-#: ident.c:455 builtin/commit.c:649
-#, c-format
-msgid "invalid date format: %s"
-msgstr ""
-
-#: list-objects-filter-options.c:68
-msgid "expected 'tree:<depth>'"
-msgstr ""
-
-#: list-objects-filter-options.c:83
-msgid "sparse:path filters support has been dropped"
-msgstr ""
-
-#: list-objects-filter-options.c:90
-#, c-format
-msgid "'%s' for 'object:type=<type>' is not a valid object type"
-msgstr ""
-
-#: list-objects-filter-options.c:109
-#, c-format
-msgid "invalid filter-spec '%s'"
-msgstr ""
-
-#: list-objects-filter-options.c:125
-#, c-format
-msgid "must escape char in sub-filter-spec: '%c'"
-msgstr ""
-
-#: list-objects-filter-options.c:167
-msgid "expected something after combine:"
-msgstr ""
-
-#: list-objects-filter-options.c:249
-msgid "multiple filter-specs cannot be combined"
-msgstr ""
-
-#: list-objects-filter-options.c:365
-msgid "unable to upgrade repository format to support partial clone"
-msgstr ""
-
-#: list-objects-filter.c:532
-#, c-format
-msgid "unable to access sparse blob in '%s'"
-msgstr ""
-
-#: list-objects-filter.c:535
-#, c-format
-msgid "unable to parse sparse filter data in %s"
-msgstr ""
-
-#: list-objects.c:144
-#, c-format
-msgid "entry '%s' in tree %s has tree mode, but is not a tree"
-msgstr ""
-
-#: list-objects.c:157
-#, c-format
-msgid "entry '%s' in tree %s has blob mode, but is not a blob"
-msgstr ""
-
-#: list-objects.c:415
-#, c-format
-msgid "unable to load root tree for commit %s"
-msgstr ""
-
-#: lockfile.c:152
-#, c-format
-msgid ""
-"Unable to create '%s.lock': %s.\n"
-"\n"
-"Another git process seems to be running in this repository, e.g.\n"
-"an editor opened by 'git commit'. Please make sure all processes\n"
-"are terminated then try again. If it still fails, a git process\n"
-"may have crashed in this repository earlier:\n"
-"remove the file manually to continue."
-msgstr ""
-
-#: lockfile.c:160
-#, c-format
-msgid "Unable to create '%s.lock': %s"
-msgstr ""
-
-#: ls-refs.c:175
-#, c-format
-msgid "unexpected line: '%s'"
-msgstr ""
-
-#: ls-refs.c:179
-msgid "expected flush after ls-refs arguments"
-msgstr ""
-
-#: mailinfo.c:1050
-msgid "quoted CRLF detected"
-msgstr ""
-
-#: mailinfo.c:1254 builtin/am.c:185 builtin/mailinfo.c:46
-#, c-format
-msgid "bad action '%s' for '%s'"
-msgstr ""
-
-#: merge-ort.c:1630 merge-recursive.c:1214
-#, c-format
-msgid "Failed to merge submodule %s (not checked out)"
-msgstr ""
-
-#: merge-ort.c:1639 merge-recursive.c:1221
-#, c-format
-msgid "Failed to merge submodule %s (commits not present)"
-msgstr ""
-
-#: merge-ort.c:1648 merge-recursive.c:1228
-#, c-format
-msgid "Failed to merge submodule %s (commits don't follow merge-base)"
-msgstr ""
-
-#: merge-ort.c:1658 merge-ort.c:1666
-#, c-format
-msgid "Note: Fast-forwarding submodule %s to %s"
-msgstr ""
-
-#: merge-ort.c:1688
-#, c-format
-msgid "Failed to merge submodule %s"
-msgstr ""
-
-#: merge-ort.c:1695
-#, c-format
-msgid ""
-"Failed to merge submodule %s, but a possible merge resolution exists:\n"
-"%s\n"
-msgstr ""
-
-#: merge-ort.c:1699 merge-recursive.c:1284
-#, c-format
-msgid ""
-"If this is correct simply add it to the index for example\n"
-"by using:\n"
-"\n"
-"  git update-index --cacheinfo 160000 %s \"%s\"\n"
-"\n"
-"which will accept this suggestion.\n"
-msgstr ""
-
-#: merge-ort.c:1712
-#, c-format
-msgid ""
-"Failed to merge submodule %s, but multiple possible merges exist:\n"
-"%s"
-msgstr ""
-
-#: merge-ort.c:1937 merge-recursive.c:1375
-msgid "Failed to execute internal merge"
-msgstr ""
-
-#: merge-ort.c:1942 merge-recursive.c:1380
-#, c-format
-msgid "Unable to add %s to database"
-msgstr ""
-
-#: merge-ort.c:1949 merge-recursive.c:1413
-#, c-format
-msgid "Auto-merging %s"
-msgstr ""
-
-#: merge-ort.c:2088 merge-recursive.c:2135
-#, c-format
-msgid ""
-"CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
-"implicit directory rename(s) putting the following path(s) there: %s."
-msgstr ""
-
-#: merge-ort.c:2098 merge-recursive.c:2145
-#, c-format
-msgid ""
-"CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
-"implicit directory renames tried to put these paths there: %s"
-msgstr ""
-
-#: merge-ort.c:2156
-#, c-format
-msgid ""
-"CONFLICT (directory rename split): Unclear where to rename %s to; it was "
-"renamed to multiple other directories, with no destination getting a "
-"majority of the files."
-msgstr ""
-
-#: merge-ort.c:2310 merge-recursive.c:2481
-#, c-format
-msgid ""
-"WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
-"renamed."
-msgstr ""
-
-#: merge-ort.c:2450 merge-recursive.c:3264
-#, c-format
-msgid ""
-"Path updated: %s added in %s inside a directory that was renamed in %s; "
-"moving it to %s."
-msgstr ""
-
-#: merge-ort.c:2457 merge-recursive.c:3271
-#, c-format
-msgid ""
-"Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
-"%s; moving it to %s."
-msgstr ""
-
-#: merge-ort.c:2470 merge-recursive.c:3267
-#, c-format
-msgid ""
-"CONFLICT (file location): %s added in %s inside a directory that was renamed "
-"in %s, suggesting it should perhaps be moved to %s."
-msgstr ""
-
-#: merge-ort.c:2478 merge-recursive.c:3274
-#, c-format
-msgid ""
-"CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
-"was renamed in %s, suggesting it should perhaps be moved to %s."
-msgstr ""
-
-#: merge-ort.c:2634
-#, c-format
-msgid "CONFLICT (rename/rename): %s renamed to %s in %s and to %s in %s."
-msgstr ""
-
-#: merge-ort.c:2729
-#, c-format
-msgid ""
-"CONFLICT (rename involved in collision): rename of %s -> %s has content "
-"conflicts AND collides with another path; this may result in nested conflict "
-"markers."
-msgstr ""
-
-#: merge-ort.c:2748 merge-ort.c:2772
-#, c-format
-msgid "CONFLICT (rename/delete): %s renamed to %s in %s, but deleted in %s."
-msgstr ""
-
-#: merge-ort.c:3261 merge-recursive.c:3025
-#, c-format
-msgid "cannot read object %s"
-msgstr ""
-
-#: merge-ort.c:3264 merge-recursive.c:3028
-#, c-format
-msgid "object %s is not a blob"
-msgstr ""
-
-#: merge-ort.c:3693
-#, c-format
-msgid ""
-"CONFLICT (file/directory): directory in the way of %s from %s; moving it to "
-"%s instead."
-msgstr ""
-
-#: merge-ort.c:3770
-#, c-format
-msgid ""
-"CONFLICT (distinct types): %s had different types on each side; renamed both "
-"of them so each can be recorded somewhere."
-msgstr ""
-
-#: merge-ort.c:3777
-#, c-format
-msgid ""
-"CONFLICT (distinct types): %s had different types on each side; renamed one "
-"of them so each can be recorded somewhere."
-msgstr ""
-
-#: merge-ort.c:3866 merge-recursive.c:3104
-msgid "content"
-msgstr ""
-
-#: merge-ort.c:3868 merge-recursive.c:3108
-msgid "add/add"
-msgstr ""
-
-#: merge-ort.c:3870 merge-recursive.c:3153
-msgid "submodule"
-msgstr ""
-
-#: merge-ort.c:3872 merge-recursive.c:3154
-#, c-format
-msgid "CONFLICT (%s): Merge conflict in %s"
-msgstr ""
-
-#: merge-ort.c:3916
-#, c-format
-msgid ""
-"CONFLICT (modify/delete): %s deleted in %s and modified in %s.  Version %s "
-"of %s left in tree."
-msgstr ""
-
-#: merge-ort.c:4212
-#, c-format
-msgid ""
-"Note: %s not up to date and in way of checking out conflicted version; old "
-"copy renamed to %s"
-msgstr ""
-
-#. TRANSLATORS: The %s arguments are: 1) tree hash of a merge
-#. base, and 2-3) the trees for the two trees we're merging.
-#.
-#: merge-ort.c:4586
-#, c-format
-msgid "collecting merge info failed for trees %s, %s, %s"
-msgstr ""
-
-#: merge-ort-wrappers.c:13 merge-recursive.c:3723
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"  %s"
-msgstr ""
-
-#: merge-ort-wrappers.c:33 merge-recursive.c:3485 builtin/merge.c:405
-msgid "Already up to date."
-msgstr ""
-
-#: merge-recursive.c:353
-msgid "(bad commit)\n"
-msgstr ""
-
-#: merge-recursive.c:381
-#, c-format
-msgid "add_cacheinfo failed for path '%s'; merge aborting."
-msgstr ""
-
-#: merge-recursive.c:390
-#, c-format
-msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
-msgstr ""
-
-#: merge-recursive.c:881
-#, c-format
-msgid "failed to create path '%s'%s"
-msgstr ""
-
-#: merge-recursive.c:892
-#, c-format
-msgid "Removing %s to make room for subdirectory\n"
-msgstr ""
-
-#: merge-recursive.c:906 merge-recursive.c:925
-msgid ": perhaps a D/F conflict?"
-msgstr ""
-
-#: merge-recursive.c:915
-#, c-format
-msgid "refusing to lose untracked file at '%s'"
-msgstr ""
-
-#: merge-recursive.c:956 builtin/cat-file.c:47
-#, c-format
-msgid "cannot read object %s '%s'"
-msgstr ""
-
-#: merge-recursive.c:961
-#, c-format
-msgid "blob expected for %s '%s'"
-msgstr ""
-
-#: merge-recursive.c:986
-#, c-format
-msgid "failed to open '%s': %s"
-msgstr ""
-
-#: merge-recursive.c:997
-#, c-format
-msgid "failed to symlink '%s': %s"
-msgstr ""
-
-#: merge-recursive.c:1002
-#, c-format
-msgid "do not know what to do with %06o %s '%s'"
-msgstr ""
-
-#: merge-recursive.c:1236 merge-recursive.c:1249
-#, c-format
-msgid "Fast-forwarding submodule %s to the following commit:"
-msgstr ""
-
-#: merge-recursive.c:1239 merge-recursive.c:1252
-#, c-format
-msgid "Fast-forwarding submodule %s"
-msgstr ""
-
-#: merge-recursive.c:1276
-#, c-format
-msgid "Failed to merge submodule %s (merge following commits not found)"
-msgstr ""
-
-#: merge-recursive.c:1280
-#, c-format
-msgid "Failed to merge submodule %s (not fast-forward)"
-msgstr ""
-
-#: merge-recursive.c:1281
-msgid "Found a possible merge resolution for the submodule:\n"
-msgstr ""
-
-#: merge-recursive.c:1293
-#, c-format
-msgid "Failed to merge submodule %s (multiple merges found)"
-msgstr ""
-
-#: merge-recursive.c:1437
-#, c-format
-msgid "Error: Refusing to lose untracked file at %s; writing to %s instead."
-msgstr ""
-
-#: merge-recursive.c:1509
-#, c-format
-msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
-"in tree."
-msgstr ""
-
-#: merge-recursive.c:1514
-#, c-format
-msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
-"left in tree."
-msgstr ""
-
-#: merge-recursive.c:1521
-#, c-format
-msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
-"in tree at %s."
-msgstr ""
-
-#: merge-recursive.c:1526
-#, c-format
-msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
-"left in tree at %s."
-msgstr ""
-
-#: merge-recursive.c:1561
-msgid "rename"
-msgstr ""
-
-#: merge-recursive.c:1561
-msgid "renamed"
-msgstr ""
-
-#: merge-recursive.c:1612 merge-recursive.c:2518 merge-recursive.c:3181
-#, c-format
-msgid "Refusing to lose dirty file at %s"
-msgstr ""
-
-#: merge-recursive.c:1622
-#, c-format
-msgid "Refusing to lose untracked file at %s, even though it's in the way."
-msgstr ""
-
-#: merge-recursive.c:1680
-#, c-format
-msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
-msgstr ""
-
-#: merge-recursive.c:1711
-#, c-format
-msgid "%s is a directory in %s adding as %s instead"
-msgstr ""
-
-#: merge-recursive.c:1716
-#, c-format
-msgid "Refusing to lose untracked file at %s; adding as %s instead"
-msgstr ""
-
-#: merge-recursive.c:1743
-#, c-format
-msgid ""
-"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
-"\"->\"%s\" in \"%s\"%s"
-msgstr ""
-
-#: merge-recursive.c:1748
-msgid " (left unresolved)"
-msgstr ""
-
-#: merge-recursive.c:1840
-#, c-format
-msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
-msgstr ""
-
-#: merge-recursive.c:2103
-#, c-format
-msgid ""
-"CONFLICT (directory rename split): Unclear where to place %s because "
-"directory %s was renamed to multiple other directories, with no destination "
-"getting a majority of the files."
-msgstr ""
-
-#: merge-recursive.c:2237
-#, c-format
-msgid ""
-"CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
-">%s in %s"
-msgstr ""
-
-#: merge-recursive.c:3092
-msgid "modify"
-msgstr ""
-
-#: merge-recursive.c:3092
-msgid "modified"
-msgstr ""
-
-#: merge-recursive.c:3131
-#, c-format
-msgid "Skipped %s (merged same as existing)"
-msgstr ""
-
-#: merge-recursive.c:3184
-#, c-format
-msgid "Adding as %s instead"
-msgstr ""
-
-#: merge-recursive.c:3388
-#, c-format
-msgid "Removing %s"
-msgstr ""
-
-#: merge-recursive.c:3411
-msgid "file/directory"
-msgstr ""
-
-#: merge-recursive.c:3416
-msgid "directory/file"
-msgstr ""
-
-#: merge-recursive.c:3423
-#, c-format
-msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
-msgstr ""
-
-#: merge-recursive.c:3432
-#, c-format
-msgid "Adding %s"
-msgstr ""
-
-#: merge-recursive.c:3441
-#, c-format
-msgid "CONFLICT (add/add): Merge conflict in %s"
-msgstr ""
-
-#: merge-recursive.c:3494
-#, c-format
-msgid "merging of trees %s and %s failed"
-msgstr ""
-
-#: merge-recursive.c:3588
-msgid "Merging:"
-msgstr ""
-
-#: merge-recursive.c:3601
-#, c-format
-msgid "found %u common ancestor:"
-msgid_plural "found %u common ancestors:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: merge-recursive.c:3651
-msgid "merge returned no commit"
-msgstr ""
-
-#: merge-recursive.c:3823
-#, c-format
-msgid "Could not parse object '%s'"
-msgstr ""
-
-#: merge-recursive.c:3841 builtin/merge.c:720 builtin/merge.c:912
-#: builtin/stash.c:489
-msgid "Unable to write index."
-msgstr ""
-
-#: merge.c:41
-msgid "failed to read the cache"
-msgstr ""
-
-#: merge.c:102 rerere.c:705 builtin/am.c:1989 builtin/am.c:2023
-#: builtin/checkout.c:603 builtin/checkout.c:865 builtin/clone.c:714
-#: builtin/stash.c:269
-msgid "unable to write new index file"
-msgstr ""
-
-#: midx.c:79
-msgid "multi-pack-index OID fanout is of the wrong size"
-msgstr ""
-
-#: midx.c:112
-#, c-format
-msgid "multi-pack-index file %s is too small"
-msgstr ""
-
-#: midx.c:128
-#, c-format
-msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
-msgstr ""
-
-#: midx.c:133
-#, c-format
-msgid "multi-pack-index version %d not recognized"
-msgstr ""
-
-#: midx.c:138
-#, c-format
-msgid "multi-pack-index hash version %u does not match version %u"
-msgstr ""
-
-#: midx.c:155
-msgid "multi-pack-index missing required pack-name chunk"
-msgstr ""
-
-#: midx.c:157
-msgid "multi-pack-index missing required OID fanout chunk"
-msgstr ""
-
-#: midx.c:159
-msgid "multi-pack-index missing required OID lookup chunk"
-msgstr ""
-
-#: midx.c:161
-msgid "multi-pack-index missing required object offsets chunk"
-msgstr ""
-
-#: midx.c:180
-#, c-format
-msgid "multi-pack-index pack names out of order: '%s' before '%s'"
-msgstr ""
-
-#: midx.c:228
-#, c-format
-msgid "bad pack-int-id: %u (%u total packs)"
-msgstr ""
-
-#: midx.c:278
-msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
-msgstr ""
-
-#: midx.c:509
-#, c-format
-msgid "failed to add packfile '%s'"
-msgstr ""
-
-#: midx.c:515
-#, c-format
-msgid "failed to open pack-index '%s'"
-msgstr ""
-
-#: midx.c:583
-#, c-format
-msgid "failed to locate object %d in packfile"
-msgstr ""
-
-#: midx.c:911
-msgid "cannot store reverse index file"
-msgstr ""
-
-#: midx.c:1009
-#, c-format
-msgid "could not parse line: %s"
-msgstr ""
-
-#: midx.c:1011
-#, c-format
-msgid "malformed line: %s"
-msgstr ""
-
-#: midx.c:1181
-msgid "ignoring existing multi-pack-index; checksum mismatch"
-msgstr ""
-
-#: midx.c:1206
-msgid "could not load pack"
-msgstr ""
-
-#: midx.c:1212
-#, c-format
-msgid "could not open index for %s"
-msgstr ""
-
-#: midx.c:1223
-msgid "Adding packfiles to multi-pack-index"
-msgstr ""
-
-#: midx.c:1266
-#, c-format
-msgid "unknown preferred pack: '%s'"
-msgstr ""
-
-#: midx.c:1311
-#, c-format
-msgid "cannot select preferred pack %s with no objects"
-msgstr ""
-
-#: midx.c:1343
-#, c-format
-msgid "did not see pack-file %s to drop"
-msgstr ""
-
-#: midx.c:1389
-#, c-format
-msgid "preferred pack '%s' is expired"
-msgstr ""
-
-#: midx.c:1402
-msgid "no pack files to index."
-msgstr ""
-
-#: midx.c:1409
-msgid "refusing to write multi-pack .bitmap without any objects"
-msgstr ""
-
-#: midx.c:1451
-msgid "could not write multi-pack bitmap"
-msgstr ""
-
-#: midx.c:1461
-msgid "could not write multi-pack-index"
-msgstr ""
-
-#: midx.c:1520 builtin/clean.c:37
-#, c-format
-msgid "failed to remove %s"
-msgstr ""
-
-#: midx.c:1553
-#, c-format
-msgid "failed to clear multi-pack-index at %s"
-msgstr ""
-
-#: midx.c:1616
-msgid "multi-pack-index file exists, but failed to parse"
-msgstr ""
-
-#: midx.c:1624
-msgid "incorrect checksum"
-msgstr ""
-
-#: midx.c:1627
-msgid "Looking for referenced packfiles"
-msgstr ""
-
-#: midx.c:1642
-#, c-format
-msgid ""
-"oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
-msgstr ""
-
-#: midx.c:1647
-msgid "the midx contains no oid"
-msgstr ""
-
-#: midx.c:1656
-msgid "Verifying OID order in multi-pack-index"
-msgstr ""
-
-#: midx.c:1665
-#, c-format
-msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
-msgstr ""
-
-#: midx.c:1685
-msgid "Sorting objects by packfile"
-msgstr ""
-
-#: midx.c:1692
-msgid "Verifying object offsets"
-msgstr ""
-
-#: midx.c:1708
-#, c-format
-msgid "failed to load pack entry for oid[%d] = %s"
-msgstr ""
-
-#: midx.c:1714
-#, c-format
-msgid "failed to load pack-index for packfile %s"
-msgstr ""
-
-#: midx.c:1723
-#, c-format
-msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
-msgstr ""
-
-#: midx.c:1750
-msgid "Counting referenced objects"
-msgstr ""
-
-#: midx.c:1760
-msgid "Finding and deleting unreferenced packfiles"
-msgstr ""
-
-#: midx.c:1952
-msgid "could not start pack-objects"
-msgstr ""
-
-#: midx.c:1972
-msgid "could not finish pack-objects"
-msgstr ""
-
-#: name-hash.c:542
-#, c-format
-msgid "unable to create lazy_dir thread: %s"
-msgstr ""
-
-#: name-hash.c:564
-#, c-format
-msgid "unable to create lazy_name thread: %s"
-msgstr ""
-
-#: name-hash.c:570
-#, c-format
-msgid "unable to join lazy_name thread: %s"
-msgstr ""
-
-#: notes-merge.c:276
-#, c-format
-msgid ""
-"You have not concluded your previous notes merge (%s exists).\n"
-"Please, use 'git notes merge --commit' or 'git notes merge --abort' to "
-"commit/abort the previous merge before you start a new notes merge."
-msgstr ""
-
-#: notes-merge.c:283
-#, c-format
-msgid "You have not concluded your notes merge (%s exists)."
-msgstr ""
-
-#: notes-utils.c:46
-msgid "Cannot commit uninitialized/unreferenced notes tree"
-msgstr ""
-
-#: notes-utils.c:105
-#, c-format
-msgid "Bad notes.rewriteMode value: '%s'"
-msgstr ""
-
-#: notes-utils.c:115
-#, c-format
-msgid "Refusing to rewrite notes in %s (outside of refs/notes/)"
-msgstr ""
-
-#. TRANSLATORS: The first %s is the name of
-#. the environment variable, the second %s is
-#. its value.
-#.
-#: notes-utils.c:145
-#, c-format
-msgid "Bad %s value: '%s'"
-msgstr ""
-
-#: object-file.c:457
-#, c-format
-msgid "object directory %s does not exist; check .git/objects/info/alternates"
-msgstr ""
-
-#: object-file.c:515
-#, c-format
-msgid "unable to normalize alternate object path: %s"
-msgstr ""
-
-#: object-file.c:589
-#, c-format
-msgid "%s: ignoring alternate object stores, nesting too deep"
-msgstr ""
-
-#: object-file.c:596
-#, c-format
-msgid "unable to normalize object directory: %s"
-msgstr ""
-
-#: object-file.c:639
-msgid "unable to fdopen alternates lockfile"
-msgstr ""
-
-#: object-file.c:657
-msgid "unable to read alternates file"
-msgstr ""
-
-#: object-file.c:664
-msgid "unable to move new alternates file into place"
-msgstr ""
-
-#: object-file.c:742
-#, c-format
-msgid "path '%s' does not exist"
-msgstr ""
-
-#: object-file.c:763
-#, c-format
-msgid "reference repository '%s' as a linked checkout is not supported yet."
-msgstr ""
-
-#: object-file.c:769
-#, c-format
-msgid "reference repository '%s' is not a local repository."
-msgstr ""
-
-#: object-file.c:775
-#, c-format
-msgid "reference repository '%s' is shallow"
-msgstr ""
-
-#: object-file.c:783
-#, c-format
-msgid "reference repository '%s' is grafted"
-msgstr ""
-
-#: object-file.c:814
-#, c-format
-msgid "could not find object directory matching %s"
-msgstr ""
-
-#: object-file.c:864
-#, c-format
-msgid "invalid line while parsing alternate refs: %s"
-msgstr ""
-
-#: object-file.c:1014
-#, c-format
-msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
-msgstr ""
-
-#: object-file.c:1049
-#, c-format
-msgid "mmap failed%s"
-msgstr ""
-
-#: object-file.c:1230
-#, c-format
-msgid "object file %s is empty"
-msgstr ""
-
-#: object-file.c:1349 object-file.c:2588
-#, c-format
-msgid "corrupt loose object '%s'"
-msgstr ""
-
-#: object-file.c:1351 object-file.c:2592
-#, c-format
-msgid "garbage at end of loose object '%s'"
-msgstr ""
-
-#: object-file.c:1473
-#, c-format
-msgid "unable to parse %s header"
-msgstr ""
-
-#: object-file.c:1475
-msgid "invalid object type"
-msgstr ""
-
-#: object-file.c:1486
-#, c-format
-msgid "unable to unpack %s header"
-msgstr ""
-
-#: object-file.c:1490
-#, c-format
-msgid "header for %s too long, exceeds %d bytes"
-msgstr ""
-
-#: object-file.c:1720
-#, c-format
-msgid "failed to read object %s"
-msgstr ""
-
-#: object-file.c:1724
-#, c-format
-msgid "replacement %s not found for %s"
-msgstr ""
-
-#: object-file.c:1728
-#, c-format
-msgid "loose object %s (stored in %s) is corrupt"
-msgstr ""
-
-#: object-file.c:1732
-#, c-format
-msgid "packed object %s (stored in %s) is corrupt"
-msgstr ""
-
-#: object-file.c:1855
-#, c-format
-msgid "unable to write file %s"
-msgstr ""
-
-#: object-file.c:1862
-#, c-format
-msgid "unable to set permission to '%s'"
-msgstr ""
-
-#: object-file.c:1869
-msgid "file write error"
-msgstr ""
-
-#: object-file.c:1904
-msgid "error when closing loose object file"
-msgstr ""
-
-#: object-file.c:1971
-#, c-format
-msgid "insufficient permission for adding an object to repository database %s"
-msgstr ""
-
-#: object-file.c:1973
-msgid "unable to create temporary file"
-msgstr ""
-
-#: object-file.c:1997
-msgid "unable to write loose object file"
-msgstr ""
-
-#: object-file.c:2003
-#, c-format
-msgid "unable to deflate new object %s (%d)"
-msgstr ""
-
-#: object-file.c:2007
-#, c-format
-msgid "deflateEnd on object %s failed (%d)"
-msgstr ""
-
-#: object-file.c:2011
-#, c-format
-msgid "confused by unstable object source data for %s"
-msgstr ""
-
-#: object-file.c:2022 builtin/pack-objects.c:1251
-#, c-format
-msgid "failed utime() on %s"
-msgstr ""
-
-#: object-file.c:2100
-#, c-format
-msgid "cannot read object for %s"
-msgstr ""
-
-#: object-file.c:2151
-msgid "corrupt commit"
-msgstr ""
-
-#: object-file.c:2159
-msgid "corrupt tag"
-msgstr ""
-
-#: object-file.c:2259
-#, c-format
-msgid "read error while indexing %s"
-msgstr ""
-
-#: object-file.c:2262
-#, c-format
-msgid "short read while indexing %s"
-msgstr ""
-
-#: object-file.c:2335 object-file.c:2345
-#, c-format
-msgid "%s: failed to insert into database"
-msgstr ""
-
-#: object-file.c:2351
-#, c-format
-msgid "%s: unsupported file type"
-msgstr ""
-
-#: object-file.c:2375 builtin/fetch.c:1494
-#, c-format
-msgid "%s is not a valid object"
-msgstr ""
-
-#: object-file.c:2377
-#, c-format
-msgid "%s is not a valid '%s' object"
-msgstr ""
-
-#: object-file.c:2404
-#, c-format
-msgid "unable to open %s"
-msgstr ""
-
-#: object-file.c:2599
-#, c-format
-msgid "hash mismatch for %s (expected %s)"
-msgstr ""
-
-#: object-file.c:2622
-#, c-format
-msgid "unable to mmap %s"
-msgstr ""
-
-#: object-file.c:2628
-#, c-format
-msgid "unable to unpack header of %s"
-msgstr ""
-
-#: object-file.c:2633
-#, c-format
-msgid "unable to parse header of %s"
-msgstr ""
-
-#: object-file.c:2644
-#, c-format
-msgid "unable to unpack contents of %s"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous object
-#. output shown when we cannot look up or parse the
-#. object in question. E.g. "deadbeef [bad object]".
-#.
-#: object-name.c:382
-#, c-format
-msgid "%s [bad object]"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous commit
-#. object output. E.g.:
-#. *
-#.    "deadbeef commit 2021-01-01 - Some Commit Message"
-#.
-#: object-name.c:407
-#, c-format
-msgid "%s commit %s - %s"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous
-#. tag object output. E.g.:
-#. *
-#.    "deadbeef tag 2022-01-01 - Some Tag Message"
-#. *
-#. The second argument is the YYYY-MM-DD found
-#. in the tag.
-#. *
-#. The third argument is the "tag" string
-#. from object.c.
-#.
-#: object-name.c:428
-#, c-format
-msgid "%s tag %s - %s"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous
-#. tag object output where we couldn't parse
-#. the tag itself. E.g.:
-#. *
-#.    "deadbeef [bad tag, could not parse it]"
-#.
-#: object-name.c:439
-#, c-format
-msgid "%s [bad tag, could not parse it]"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous <type>
-#. object output. E.g. "deadbeef tree".
-#.
-#: object-name.c:447
-#, c-format
-msgid "%s tree"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous <type>
-#. object output. E.g. "deadbeef blob".
-#.
-#: object-name.c:453
-#, c-format
-msgid "%s blob"
-msgstr ""
-
-#: object-name.c:569
-#, c-format
-msgid "short object ID %s is ambiguous"
-msgstr ""
-
-#. TRANSLATORS: The argument is the list of ambiguous
-#. objects composed in show_ambiguous_object(). See
-#. its "TRANSLATORS" comments for details.
-#.
-#: object-name.c:591
-#, c-format
-msgid ""
-"The candidates are:\n"
-"%s"
-msgstr ""
-
-#: object-name.c:888
-msgid ""
-"Git normally never creates a ref that ends with 40 hex characters\n"
-"because it will be ignored when you just specify 40-hex. These refs\n"
-"may be created by mistake. For example,\n"
-"\n"
-"  git switch -c $br $(git rev-parse ...)\n"
-"\n"
-"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
-"examine these refs and maybe delete them. Turn this message off by\n"
-"running \"git config advice.objectNameWarning false\""
-msgstr ""
-
-#: object-name.c:1008
-#, c-format
-msgid "log for '%.*s' only goes back to %s"
-msgstr ""
-
-#: object-name.c:1016
-#, c-format
-msgid "log for '%.*s' only has %d entries"
-msgstr ""
-
-#: object-name.c:1794
-#, c-format
-msgid "path '%s' exists on disk, but not in '%.*s'"
-msgstr ""
-
-#: object-name.c:1800
-#, c-format
-msgid ""
-"path '%s' exists, but not '%s'\n"
-"hint: Did you mean '%.*s:%s' aka '%.*s:./%s'?"
-msgstr ""
-
-#: object-name.c:1809
-#, c-format
-msgid "path '%s' does not exist in '%.*s'"
-msgstr ""
-
-#: object-name.c:1837
-#, c-format
-msgid ""
-"path '%s' is in the index, but not at stage %d\n"
-"hint: Did you mean ':%d:%s'?"
-msgstr ""
-
-#: object-name.c:1853
-#, c-format
-msgid ""
-"path '%s' is in the index, but not '%s'\n"
-"hint: Did you mean ':%d:%s' aka ':%d:./%s'?"
-msgstr ""
-
-#: object-name.c:1861
-#, c-format
-msgid "path '%s' exists on disk, but not in the index"
-msgstr ""
-
-#: object-name.c:1863
-#, c-format
-msgid "path '%s' does not exist (neither on disk nor in the index)"
-msgstr ""
-
-#: object-name.c:1876
-msgid "relative path syntax can't be used outside working tree"
-msgstr ""
-
-#: object-name.c:1901
-#, c-format
-msgid "<object>:<path> required, only <object> '%s' given"
-msgstr ""
-
-#: object-name.c:2014
-#, c-format
-msgid "invalid object name '%.*s'."
-msgstr ""
-
-#: object.c:53
-#, c-format
-msgid "invalid object type \"%s\""
-msgstr ""
-
-#: object.c:173
-#, c-format
-msgid "object %s is a %s, not a %s"
-msgstr ""
-
-#: object.c:250
-#, c-format
-msgid "object %s has unknown type id %d"
-msgstr ""
-
-#: object.c:263
-#, c-format
-msgid "unable to parse object: %s"
-msgstr ""
-
-#: object.c:283 object.c:294
-#, c-format
-msgid "hash mismatch %s"
-msgstr ""
-
-#: pack-bitmap.c:353
-msgid "multi-pack bitmap is missing required reverse index"
-msgstr ""
-
-#: pack-bitmap.c:433
-msgid "load_reverse_index: could not open pack"
-msgstr ""
-
-#: pack-bitmap.c:1072 pack-bitmap.c:1078 builtin/pack-objects.c:2432
-#, c-format
-msgid "unable to get size of %s"
-msgstr ""
-
-#: pack-bitmap.c:1937
-#, c-format
-msgid "could not find %s in pack %s at offset %<PRIuMAX>"
-msgstr ""
-
-#: pack-bitmap.c:1973 builtin/rev-list.c:91
-#, c-format
-msgid "unable to get disk usage of %s"
-msgstr ""
-
-#: pack-revindex.c:221
-#, c-format
-msgid "reverse-index file %s is too small"
-msgstr ""
-
-#: pack-revindex.c:226
-#, c-format
-msgid "reverse-index file %s is corrupt"
-msgstr ""
-
-#: pack-revindex.c:234
-#, c-format
-msgid "reverse-index file %s has unknown signature"
-msgstr ""
-
-#: pack-revindex.c:238
-#, c-format
-msgid "reverse-index file %s has unsupported version %<PRIu32>"
-msgstr ""
-
-#: pack-revindex.c:243
-#, c-format
-msgid "reverse-index file %s has unsupported hash id %<PRIu32>"
-msgstr ""
-
-#: pack-write.c:251
-msgid "cannot both write and verify reverse index"
-msgstr ""
-
-#: pack-write.c:270
-#, c-format
-msgid "could not stat: %s"
-msgstr ""
-
-#: pack-write.c:282
-#, c-format
-msgid "failed to make %s readable"
-msgstr ""
-
-#: pack-write.c:521
-#, c-format
-msgid "could not write '%s' promisor file"
-msgstr ""
-
-#: packfile.c:627
-msgid "offset before end of packfile (broken .idx?)"
-msgstr ""
-
-#: packfile.c:657
-#, c-format
-msgid "packfile %s cannot be mapped%s"
-msgstr ""
-
-#: packfile.c:1924
-#, c-format
-msgid "offset before start of pack index for %s (corrupt index?)"
-msgstr ""
-
-#: packfile.c:1928
-#, c-format
-msgid "offset beyond end of pack index for %s (truncated index?)"
-msgstr ""
-
-#: parse-options-cb.c:21 parse-options-cb.c:25 builtin/commit-graph.c:175
-#, c-format
-msgid "option `%s' expects a numerical value"
-msgstr ""
-
-#: parse-options-cb.c:42
-#, c-format
-msgid "malformed expiration date '%s'"
-msgstr ""
-
-#: parse-options-cb.c:55
-#, c-format
-msgid "option `%s' expects \"always\", \"auto\", or \"never\""
-msgstr ""
-
-#: parse-options-cb.c:133 parse-options-cb.c:150
-#, c-format
-msgid "malformed object name '%s'"
-msgstr ""
-
-#: parse-options-cb.c:307
-#, c-format
-msgid "option `%s' expects \"%s\" or \"%s\""
-msgstr ""
-
-#: parse-options.c:58
-#, c-format
-msgid "%s requires a value"
-msgstr ""
-
-#: parse-options.c:93
-#, c-format
-msgid "%s is incompatible with %s"
-msgstr ""
-
-#: parse-options.c:98
-#, c-format
-msgid "%s : incompatible with something else"
-msgstr ""
-
-#: parse-options.c:112 parse-options.c:116
-#, c-format
-msgid "%s takes no value"
-msgstr ""
-
-#: parse-options.c:114
-#, c-format
-msgid "%s isn't available"
-msgstr ""
-
-#: parse-options.c:237
-#, c-format
-msgid "%s expects a non-negative integer value with an optional k/m/g suffix"
-msgstr ""
-
-#: parse-options.c:393
-#, c-format
-msgid "ambiguous option: %s (could be --%s%s or --%s%s)"
-msgstr ""
-
-#: parse-options.c:428 parse-options.c:436
-#, c-format
-msgid "did you mean `--%s` (with two dashes)?"
-msgstr ""
-
-#: parse-options.c:678 parse-options.c:1054
-#, c-format
-msgid "alias of --%s"
-msgstr ""
-
-#: parse-options.c:892
-#, c-format
-msgid "unknown option `%s'"
-msgstr ""
-
-#: parse-options.c:894
-#, c-format
-msgid "unknown switch `%c'"
-msgstr ""
-
-#: parse-options.c:896
-#, c-format
-msgid "unknown non-ascii option in string: `%s'"
-msgstr ""
-
-#: parse-options.c:920
-msgid "..."
-msgstr ""
-
-#: parse-options.c:934
-#, c-format
-msgid "usage: %s"
-msgstr ""
-
-#. TRANSLATORS: the colon here should align with the
-#. one in "usage: %s" translation.
-#.
-#: parse-options.c:949
-#, c-format
-msgid "   or: %s"
-msgstr ""
-
-#. TRANSLATORS: You should only need to translate this format
-#. string if your language is a RTL language (e.g. Arabic,
-#. Hebrew etc.), not if it's a LTR language (e.g. German,
-#. Russian, Chinese etc.).
-#. *
-#. When a translated usage string has an embedded "\n" it's
-#. because options have wrapped to the next line. The line
-#. after the "\n" will then be padded to align with the
-#. command name, such as N_("git cmd [opt]\n<8
-#. spaces>[opt2]"), where the 8 spaces are the same length as
-#. "git cmd ".
-#. *
-#. This format string prints out that already-translated
-#. line. The "%*s" is whitespace padding to account for the
-#. padding at the start of the line that we add in this
-#. function. The "%s" is a line in the (hopefully already
-#. translated) N_() usage string, which contained embedded
-#. newlines before we split it up.
-#.
-#: parse-options.c:970
-#, c-format
-msgid "%*s%s"
-msgstr ""
-
-#: parse-options.c:993
-#, c-format
-msgid "    %s"
-msgstr ""
-
-#: parse-options.c:1040
-msgid "-NUM"
-msgstr ""
-
-#: path.c:922
-#, c-format
-msgid "Could not make %s writable by group"
-msgstr ""
-
-#: pathspec.c:150
-msgid "Escape character '\\' not allowed as last character in attr value"
-msgstr ""
-
-#: pathspec.c:168
-msgid "Only one 'attr:' specification is allowed."
-msgstr ""
-
-#: pathspec.c:171
-msgid "attr spec must not be empty"
-msgstr ""
-
-#: pathspec.c:214
-#, c-format
-msgid "invalid attribute name %s"
-msgstr ""
-
-#: pathspec.c:279
-msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
-msgstr ""
-
-#: pathspec.c:286
-msgid ""
-"global 'literal' pathspec setting is incompatible with all other global "
-"pathspec settings"
-msgstr ""
-
-#: pathspec.c:326
-msgid "invalid parameter for pathspec magic 'prefix'"
-msgstr ""
-
-#: pathspec.c:347
-#, c-format
-msgid "Invalid pathspec magic '%.*s' in '%s'"
-msgstr ""
-
-#: pathspec.c:352
-#, c-format
-msgid "Missing ')' at the end of pathspec magic in '%s'"
-msgstr ""
-
-#: pathspec.c:390
-#, c-format
-msgid "Unimplemented pathspec magic '%c' in '%s'"
-msgstr ""
-
-#: pathspec.c:449
-#, c-format
-msgid "%s: 'literal' and 'glob' are incompatible"
-msgstr ""
-
-#: pathspec.c:465
-#, c-format
-msgid "%s: '%s' is outside repository at '%s'"
-msgstr ""
-
-#: pathspec.c:541
-#, c-format
-msgid "'%s' (mnemonic: '%c')"
-msgstr ""
-
-#: pathspec.c:551
-#, c-format
-msgid "%s: pathspec magic not supported by this command: %s"
-msgstr ""
-
-#: pathspec.c:618
-#, c-format
-msgid "pathspec '%s' is beyond a symbolic link"
-msgstr ""
-
-#: pathspec.c:663
-#, c-format
-msgid "line is badly quoted: %s"
-msgstr ""
-
-#: pkt-line.c:92
-msgid "unable to write flush packet"
-msgstr ""
-
-#: pkt-line.c:99
-msgid "unable to write delim packet"
-msgstr ""
-
-#: pkt-line.c:106
-msgid "unable to write response end packet"
-msgstr ""
-
-#: pkt-line.c:113
-msgid "flush packet write failed"
-msgstr ""
-
-#: pkt-line.c:153
-msgid "protocol error: impossibly long line"
-msgstr ""
-
-#: pkt-line.c:169 pkt-line.c:171
-msgid "packet write with format failed"
-msgstr ""
-
-#: pkt-line.c:204 pkt-line.c:252
-msgid "packet write failed - data exceeds max packet size"
-msgstr ""
-
-#: pkt-line.c:222
-#, c-format
-msgid "packet write failed: %s"
-msgstr ""
-
-#: pkt-line.c:349 pkt-line.c:350
-msgid "read error"
-msgstr ""
-
-#: pkt-line.c:360 pkt-line.c:361
-msgid "the remote end hung up unexpectedly"
-msgstr ""
-
-#: pkt-line.c:417 pkt-line.c:419
-#, c-format
-msgid "protocol error: bad line length character: %.4s"
-msgstr ""
-
-#: pkt-line.c:434 pkt-line.c:436 pkt-line.c:442 pkt-line.c:444
-#, c-format
-msgid "protocol error: bad line length %d"
-msgstr ""
-
-#: pkt-line.c:472 sideband.c:165
-#, c-format
-msgid "remote error: %s"
-msgstr ""
-
-#: preload-index.c:125
-msgid "Refreshing index"
-msgstr ""
-
-#: preload-index.c:144
-#, c-format
-msgid "unable to create threaded lstat: %s"
-msgstr ""
-
-#: pretty.c:1051
-msgid "unable to parse --pretty format"
-msgstr ""
-
-#: promisor-remote.c:31
-msgid "promisor-remote: unable to fork off fetch subprocess"
-msgstr ""
-
-#: promisor-remote.c:38 promisor-remote.c:40
-msgid "promisor-remote: could not write to fetch subprocess"
-msgstr ""
-
-#: promisor-remote.c:44
-msgid "promisor-remote: could not close stdin to fetch subprocess"
-msgstr ""
-
-#: promisor-remote.c:54
-#, c-format
-msgid "promisor remote name cannot begin with '/': %s"
-msgstr ""
-
-#: protocol-caps.c:103
-msgid "object-info: expected flush after arguments"
-msgstr ""
-
-#: prune-packed.c:35
-msgid "Removing duplicate objects"
-msgstr ""
-
-#: range-diff.c:68
-msgid "could not start `log`"
-msgstr ""
-
-#: range-diff.c:70
-msgid "could not read `log` output"
-msgstr ""
-
-#: range-diff.c:98 sequencer.c:5575
-#, c-format
-msgid "could not parse commit '%s'"
-msgstr ""
-
-#: range-diff.c:109
-#, c-format
-msgid ""
-"could not parse first line of `log` output: did not start with 'commit ': "
-"'%s'"
-msgstr ""
-
-#: range-diff.c:132
-#, c-format
-msgid "could not parse git header '%.*s'"
-msgstr ""
-
-#: range-diff.c:300
-msgid "failed to generate diff"
-msgstr ""
-
-#: range-diff.c:558 range-diff.c:560
-#, c-format
-msgid "could not parse log for '%s'"
-msgstr ""
-
-#: read-cache.c:737
-#, c-format
-msgid "will not add file alias '%s' ('%s' already exists in index)"
-msgstr ""
-
-#: read-cache.c:753
-msgid "cannot create an empty blob in the object database"
-msgstr ""
-
-#: read-cache.c:775
-#, c-format
-msgid "%s: can only add regular files, symbolic links or git-directories"
-msgstr ""
-
-#: read-cache.c:780 builtin/submodule--helper.c:3359
-#, c-format
-msgid "'%s' does not have a commit checked out"
-msgstr ""
-
-#: read-cache.c:832
-#, c-format
-msgid "unable to index file '%s'"
-msgstr ""
-
-#: read-cache.c:851
-#, c-format
-msgid "unable to add '%s' to index"
-msgstr ""
-
-#: read-cache.c:862
-#, c-format
-msgid "unable to stat '%s'"
-msgstr ""
-
-#: read-cache.c:1404
-#, c-format
-msgid "'%s' appears as both a file and as a directory"
-msgstr ""
-
-#: read-cache.c:1619
-msgid "Refresh index"
-msgstr ""
-
-#: read-cache.c:1751
-#, c-format
-msgid ""
-"index.version set, but the value is invalid.\n"
-"Using version %i"
-msgstr ""
-
-#: read-cache.c:1761
-#, c-format
-msgid ""
-"GIT_INDEX_VERSION set, but the value is invalid.\n"
-"Using version %i"
-msgstr ""
-
-#: read-cache.c:1817
-#, c-format
-msgid "bad signature 0x%08x"
-msgstr ""
-
-#: read-cache.c:1820
-#, c-format
-msgid "bad index version %d"
-msgstr ""
-
-#: read-cache.c:1829
-msgid "bad index file sha1 signature"
-msgstr ""
-
-#: read-cache.c:1863
-#, c-format
-msgid "index uses %.4s extension, which we do not understand"
-msgstr ""
-
-#: read-cache.c:1865
-#, c-format
-msgid "ignoring %.4s extension"
-msgstr ""
-
-#: read-cache.c:1902
-#, c-format
-msgid "unknown index entry format 0x%08x"
-msgstr ""
-
-#: read-cache.c:1918
-#, c-format
-msgid "malformed name field in the index, near path '%s'"
-msgstr ""
-
-#: read-cache.c:1975
-msgid "unordered stage entries in index"
-msgstr ""
-
-#: read-cache.c:1978
-#, c-format
-msgid "multiple stage entries for merged file '%s'"
-msgstr ""
-
-#: read-cache.c:1981
-#, c-format
-msgid "unordered stage entries for '%s'"
-msgstr ""
-
-#: read-cache.c:2096 read-cache.c:2402 rerere.c:549 rerere.c:583 rerere.c:1096
-#: submodule.c:1831 builtin/add.c:586 builtin/check-ignore.c:183
-#: builtin/checkout.c:532 builtin/checkout.c:724 builtin/clean.c:1016
-#: builtin/commit.c:379 builtin/diff-tree.c:122 builtin/grep.c:521
-#: builtin/mv.c:148 builtin/reset.c:506 builtin/rm.c:293
-#: builtin/submodule--helper.c:335 builtin/submodule--helper.c:3319
-msgid "index file corrupt"
-msgstr ""
-
-#: read-cache.c:2240
-#, c-format
-msgid "unable to create load_cache_entries thread: %s"
-msgstr ""
-
-#: read-cache.c:2253
-#, c-format
-msgid "unable to join load_cache_entries thread: %s"
-msgstr ""
-
-#: read-cache.c:2286
-#, c-format
-msgid "%s: index file open failed"
-msgstr ""
-
-#: read-cache.c:2290
-#, c-format
-msgid "%s: cannot stat the open index"
-msgstr ""
-
-#: read-cache.c:2294
-#, c-format
-msgid "%s: index file smaller than expected"
-msgstr ""
-
-#: read-cache.c:2298
-#, c-format
-msgid "%s: unable to map index file%s"
-msgstr ""
-
-#: read-cache.c:2341
-#, c-format
-msgid "unable to create load_index_extensions thread: %s"
-msgstr ""
-
-#: read-cache.c:2368
-#, c-format
-msgid "unable to join load_index_extensions thread: %s"
-msgstr ""
-
-#: read-cache.c:2414
-#, c-format
-msgid "could not freshen shared index '%s'"
-msgstr ""
-
-#: read-cache.c:2473
-#, c-format
-msgid "broken index, expect %s in %s, got %s"
-msgstr ""
-
-#: read-cache.c:3032
-msgid "cannot write split index for a sparse index"
-msgstr ""
-
-#: read-cache.c:3114 strbuf.c:1192 wrapper.c:717 builtin/merge.c:1156
-#, c-format
-msgid "could not close '%s'"
-msgstr ""
-
-#: read-cache.c:3157
-msgid "failed to convert to a sparse-index"
-msgstr ""
-
-#: read-cache.c:3228
-#, c-format
-msgid "could not stat '%s'"
-msgstr ""
-
-#: read-cache.c:3241
-#, c-format
-msgid "unable to open git dir: %s"
-msgstr ""
-
-#: read-cache.c:3253
-#, c-format
-msgid "unable to unlink: %s"
-msgstr ""
-
-#: read-cache.c:3282
-#, c-format
-msgid "cannot fix permission bits on '%s'"
-msgstr ""
-
-#: read-cache.c:3439
-#, c-format
-msgid "%s: cannot drop to stage #0"
-msgstr ""
-
-#: rebase-interactive.c:11
-msgid ""
-"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
-"continue'.\n"
-"Or you can abort the rebase with 'git rebase --abort'.\n"
-msgstr ""
-
-#: rebase-interactive.c:33
-#, c-format
-msgid ""
-"unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
-msgstr ""
-
-#: rebase-interactive.c:42
-msgid ""
-"\n"
-"Commands:\n"
-"p, pick <commit> = use commit\n"
-"r, reword <commit> = use commit, but edit the commit message\n"
-"e, edit <commit> = use commit, but stop for amending\n"
-"s, squash <commit> = use commit, but meld into previous commit\n"
-"f, fixup [-C | -c] <commit> = like \"squash\" but keep only the previous\n"
-"                   commit's log message, unless -C is used, in which case\n"
-"                   keep only this commit's message; -c is same as -C but\n"
-"                   opens the editor\n"
-"x, exec <command> = run command (the rest of the line) using shell\n"
-"b, break = stop here (continue rebase later with 'git rebase --continue')\n"
-"d, drop <commit> = remove commit\n"
-"l, label <label> = label current HEAD with a name\n"
-"t, reset <label> = reset HEAD to a label\n"
-"m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
-".       create a merge commit using the original merge commit's\n"
-".       message (or the oneline, if no original merge commit was\n"
-".       specified); use -c <commit> to reword the commit message\n"
-"\n"
-"These lines can be re-ordered; they are executed from top to bottom.\n"
-msgstr ""
-
-#: rebase-interactive.c:66
-#, c-format
-msgid "Rebase %s onto %s (%d command)"
-msgid_plural "Rebase %s onto %s (%d commands)"
-msgstr[0] ""
-msgstr[1] ""
-
-#: rebase-interactive.c:75
-msgid ""
-"\n"
-"Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
-msgstr ""
-
-#: rebase-interactive.c:78
-msgid ""
-"\n"
-"If you remove a line here THAT COMMIT WILL BE LOST.\n"
-msgstr ""
-
-#: rebase-interactive.c:84
-msgid ""
-"\n"
-"You are editing the todo file of an ongoing interactive rebase.\n"
-"To continue rebase after editing, run:\n"
-"    git rebase --continue\n"
-"\n"
-msgstr ""
-
-#: rebase-interactive.c:89
-msgid ""
-"\n"
-"However, if you remove everything, the rebase will be aborted.\n"
-"\n"
-msgstr ""
-
-#: rebase-interactive.c:113 rerere.c:469 rerere.c:677 sequencer.c:3879
-#: sequencer.c:3905 sequencer.c:5681 builtin/fsck.c:328 builtin/gc.c:1791
-#: builtin/rebase.c:191
-#, c-format
-msgid "could not write '%s'"
-msgstr ""
-
-#: rebase-interactive.c:119
-#, c-format
-msgid "could not write '%s'."
-msgstr ""
-
-#: rebase-interactive.c:196
-#, c-format
-msgid ""
-"Warning: some commits may have been dropped accidentally.\n"
-"Dropped commits (newer to older):\n"
-msgstr ""
-
-#: rebase-interactive.c:203
-#, c-format
-msgid ""
-"To avoid this message, use \"drop\" to explicitly remove a commit.\n"
-"\n"
-"Use 'git config rebase.missingCommitsCheck' to change the level of "
-"warnings.\n"
-"The possible behaviours are: ignore, warn, error.\n"
-"\n"
-msgstr ""
-
-#: rebase.c:29
-#, c-format
-msgid "%s: 'preserve' superseded by 'merges'"
-msgstr ""
-
-#: ref-filter.c:42 wt-status.c:2057
-msgid "gone"
-msgstr ""
-
-#: ref-filter.c:43
-#, c-format
-msgid "ahead %d"
-msgstr ""
-
-#: ref-filter.c:44
-#, c-format
-msgid "behind %d"
-msgstr ""
-
-#: ref-filter.c:45
-#, c-format
-msgid "ahead %d, behind %d"
-msgstr ""
-
-#: ref-filter.c:235
-#, c-format
-msgid "expected format: %%(color:<color>)"
-msgstr ""
-
-#: ref-filter.c:237
-#, c-format
-msgid "unrecognized color: %%(color:%s)"
-msgstr ""
-
-#: ref-filter.c:259
-#, c-format
-msgid "Integer value expected refname:lstrip=%s"
-msgstr ""
-
-#: ref-filter.c:263
-#, c-format
-msgid "Integer value expected refname:rstrip=%s"
-msgstr ""
-
-#: ref-filter.c:265 ref-filter.c:344 ref-filter.c:377 ref-filter.c:431
-#: ref-filter.c:443 ref-filter.c:462 ref-filter.c:534 ref-filter.c:560
-#, c-format
-msgid "unrecognized %%(%s) argument: %s"
-msgstr ""
-
-#: ref-filter.c:320
-#, c-format
-msgid "%%(objecttype) does not take arguments"
-msgstr ""
-
-#: ref-filter.c:352
-#, c-format
-msgid "%%(deltabase) does not take arguments"
-msgstr ""
-
-#: ref-filter.c:364
-#, c-format
-msgid "%%(body) does not take arguments"
-msgstr ""
-
-#: ref-filter.c:396
-#, c-format
-msgid "expected %%(trailers:key=<value>)"
-msgstr ""
-
-#: ref-filter.c:398
-#, c-format
-msgid "unknown %%(trailers) argument: %s"
-msgstr ""
-
-#: ref-filter.c:429
-#, c-format
-msgid "positive value expected contents:lines=%s"
-msgstr ""
-
-#: ref-filter.c:458
-#, c-format
-msgid "positive value expected '%s' in %%(%s)"
-msgstr ""
-
-#: ref-filter.c:476
-#, c-format
-msgid "unrecognized email option: %s"
-msgstr ""
-
-#: ref-filter.c:506
-#, c-format
-msgid "expected format: %%(align:<width>,<position>)"
-msgstr ""
-
-#: ref-filter.c:518
-#, c-format
-msgid "unrecognized position:%s"
-msgstr ""
-
-#: ref-filter.c:525
-#, c-format
-msgid "unrecognized width:%s"
-msgstr ""
-
-#: ref-filter.c:542
-#, c-format
-msgid "positive width expected with the %%(align) atom"
-msgstr ""
-
-#: ref-filter.c:568
-#, c-format
-msgid "%%(rest) does not take arguments"
-msgstr ""
-
-#: ref-filter.c:680
-#, c-format
-msgid "malformed field name: %.*s"
-msgstr ""
-
-#: ref-filter.c:707
-#, c-format
-msgid "unknown field name: %.*s"
-msgstr ""
-
-#: ref-filter.c:711
-#, c-format
-msgid ""
-"not a git repository, but the field '%.*s' requires access to object data"
-msgstr ""
-
-#: ref-filter.c:844 ref-filter.c:910 ref-filter.c:946 ref-filter.c:948
-#, c-format
-msgid "format: %%(%s) atom used without a %%(%s) atom"
-msgstr ""
-
-#: ref-filter.c:912
-#, c-format
-msgid "format: %%(then) atom used more than once"
-msgstr ""
-
-#: ref-filter.c:914
-#, c-format
-msgid "format: %%(then) atom used after %%(else)"
-msgstr ""
-
-#: ref-filter.c:950
-#, c-format
-msgid "format: %%(else) atom used more than once"
-msgstr ""
-
-#: ref-filter.c:965
-#, c-format
-msgid "format: %%(end) atom used without corresponding atom"
-msgstr ""
-
-#: ref-filter.c:1027
-#, c-format
-msgid "malformed format string %s"
-msgstr ""
-
-#: ref-filter.c:1033
-#, c-format
-msgid "this command reject atom %%(%.*s)"
-msgstr ""
-
-#: ref-filter.c:1040
-#, c-format
-msgid "--format=%.*s cannot be used with --python, --shell, --tcl"
-msgstr ""
-
-#: ref-filter.c:1707
-#, c-format
-msgid "(no branch, rebasing %s)"
-msgstr ""
-
-#: ref-filter.c:1710
-#, c-format
-msgid "(no branch, rebasing detached HEAD %s)"
-msgstr ""
-
-#: ref-filter.c:1713
-#, c-format
-msgid "(no branch, bisect started on %s)"
-msgstr ""
-
-#: ref-filter.c:1717
-#, c-format
-msgid "(HEAD detached at %s)"
-msgstr ""
-
-#: ref-filter.c:1720
-#, c-format
-msgid "(HEAD detached from %s)"
-msgstr ""
-
-#: ref-filter.c:1723
-msgid "(no branch)"
-msgstr ""
-
-#: ref-filter.c:1755 ref-filter.c:1973
-#, c-format
-msgid "missing object %s for %s"
-msgstr ""
-
-#: ref-filter.c:1765
-#, c-format
-msgid "parse_object_buffer failed on %s for %s"
-msgstr ""
-
-#: ref-filter.c:2156
-#, c-format
-msgid "malformed object at '%s'"
-msgstr ""
-
-#: ref-filter.c:2246
-#, c-format
-msgid "ignoring ref with broken name %s"
-msgstr ""
-
-#: ref-filter.c:2251 refs.c:672
-#, c-format
-msgid "ignoring broken ref %s"
-msgstr ""
-
-#: ref-filter.c:2630
-#, c-format
-msgid "format: %%(end) atom missing"
-msgstr ""
-
-#: ref-filter.c:2741
-#, c-format
-msgid "malformed object name %s"
-msgstr ""
-
-#: ref-filter.c:2746
-#, c-format
-msgid "option `%s' must point to a commit"
-msgstr ""
-
-#: reflog.c:407
-#, c-format
-msgid "not a reflog: %s"
-msgstr ""
-
-#: reflog.c:410
-#, c-format
-msgid "no reflog for '%s'"
-msgstr ""
-
-#: refs.c:262
-#, c-format
-msgid "%s does not point to a valid object!"
-msgstr ""
-
-#: refs.c:561
-#, c-format
-msgid ""
-"Using '%s' as the name for the initial branch. This default branch name\n"
-"is subject to change. To configure the initial branch name to use in all\n"
-"of your new repositories, which will suppress this warning, call:\n"
-"\n"
-"\tgit config --global init.defaultBranch <name>\n"
-"\n"
-"Names commonly chosen instead of 'master' are 'main', 'trunk' and\n"
-"'development'. The just-created branch can be renamed via this command:\n"
-"\n"
-"\tgit branch -m <name>\n"
-msgstr ""
-
-#: refs.c:583
-#, c-format
-msgid "could not retrieve `%s`"
-msgstr ""
-
-#: refs.c:593
-#, c-format
-msgid "invalid branch name: %s = %s"
-msgstr ""
-
-#: refs.c:670
-#, c-format
-msgid "ignoring dangling symref %s"
-msgstr ""
-
-#: refs.c:919
-#, c-format
-msgid "log for ref %s has gap after %s"
-msgstr ""
-
-#: refs.c:926
-#, c-format
-msgid "log for ref %s unexpectedly ended on %s"
-msgstr ""
-
-#: refs.c:991
-#, c-format
-msgid "log for %s is empty"
-msgstr ""
-
-#: refs.c:1086
-#, c-format
-msgid "refusing to update ref with bad name '%s'"
-msgstr ""
-
-#: refs.c:1164
-#, c-format
-msgid "update_ref failed for ref '%s': %s"
-msgstr ""
-
-#: refs.c:2059
-#, c-format
-msgid "multiple updates for ref '%s' not allowed"
-msgstr ""
-
-#: refs.c:2145
-msgid "ref updates forbidden inside quarantine environment"
-msgstr ""
-
-#: refs.c:2156
-msgid "ref updates aborted by hook"
-msgstr ""
-
-#: refs.c:2264 refs.c:2294
-#, c-format
-msgid "'%s' exists; cannot create '%s'"
-msgstr ""
-
-#: refs.c:2270 refs.c:2305
-#, c-format
-msgid "cannot process '%s' and '%s' at the same time"
-msgstr ""
-
-#: refs/files-backend.c:1295
-#, c-format
-msgid "could not remove reference %s"
-msgstr ""
-
-#: refs/files-backend.c:1310 refs/packed-backend.c:1565
-#: refs/packed-backend.c:1575
-#, c-format
-msgid "could not delete reference %s: %s"
-msgstr ""
-
-#: refs/files-backend.c:1313 refs/packed-backend.c:1578
-#, c-format
-msgid "could not delete references: %s"
-msgstr ""
-
-#: refspec.c:170
-#, c-format
-msgid "invalid refspec '%s'"
-msgstr ""
-
-#: remote.c:402
-#, c-format
-msgid "config remote shorthand cannot begin with '/': %s"
-msgstr ""
-
-#: remote.c:450
-msgid "more than one receivepack given, using the first"
-msgstr ""
-
-#: remote.c:458
-msgid "more than one uploadpack given, using the first"
-msgstr ""
-
-#: remote.c:698
-#, c-format
-msgid "Cannot fetch both %s and %s to %s"
-msgstr ""
-
-#: remote.c:702
-#, c-format
-msgid "%s usually tracks %s, not %s"
-msgstr ""
-
-#: remote.c:706
-#, c-format
-msgid "%s tracks both %s and %s"
-msgstr ""
-
-#: remote.c:774
-#, c-format
-msgid "key '%s' of pattern had no '*'"
-msgstr ""
-
-#: remote.c:784
-#, c-format
-msgid "value '%s' of pattern has no '*'"
-msgstr ""
-
-#: remote.c:1191
-#, c-format
-msgid "src refspec %s does not match any"
-msgstr ""
-
-#: remote.c:1196
-#, c-format
-msgid "src refspec %s matches more than one"
-msgstr ""
-
-#. TRANSLATORS: "matches '%s'%" is the <dst> part of "git push
-#. <remote> <src>:<dst>" push, and "being pushed ('%s')" is
-#. the <src>.
-#.
-#: remote.c:1211
-#, c-format
-msgid ""
-"The destination you provided is not a full refname (i.e.,\n"
-"starting with \"refs/\"). We tried to guess what you meant by:\n"
-"\n"
-"- Looking for a ref that matches '%s' on the remote side.\n"
-"- Checking if the <src> being pushed ('%s')\n"
-"  is a ref in \"refs/{heads,tags}/\". If so we add a corresponding\n"
-"  refs/{heads,tags}/ prefix on the remote side.\n"
-"\n"
-"Neither worked, so we gave up. You must fully qualify the ref."
-msgstr ""
-
-#: remote.c:1231
-#, c-format
-msgid ""
-"The <src> part of the refspec is a commit object.\n"
-"Did you mean to create a new branch by pushing to\n"
-"'%s:refs/heads/%s'?"
-msgstr ""
-
-#: remote.c:1236
-#, c-format
-msgid ""
-"The <src> part of the refspec is a tag object.\n"
-"Did you mean to create a new tag by pushing to\n"
-"'%s:refs/tags/%s'?"
-msgstr ""
-
-#: remote.c:1241
-#, c-format
-msgid ""
-"The <src> part of the refspec is a tree object.\n"
-"Did you mean to tag a new tree by pushing to\n"
-"'%s:refs/tags/%s'?"
-msgstr ""
-
-#: remote.c:1246
-#, c-format
-msgid ""
-"The <src> part of the refspec is a blob object.\n"
-"Did you mean to tag a new blob by pushing to\n"
-"'%s:refs/tags/%s'?"
-msgstr ""
-
-#: remote.c:1282
-#, c-format
-msgid "%s cannot be resolved to branch"
-msgstr ""
-
-#: remote.c:1293
-#, c-format
-msgid "unable to delete '%s': remote ref does not exist"
-msgstr ""
-
-#: remote.c:1305
-#, c-format
-msgid "dst refspec %s matches more than one"
-msgstr ""
-
-#: remote.c:1312
-#, c-format
-msgid "dst ref %s receives from more than one src"
-msgstr ""
-
-#: remote.c:1833 remote.c:1940
-msgid "HEAD does not point to a branch"
-msgstr ""
-
-#: remote.c:1842
-#, c-format
-msgid "no such branch: '%s'"
-msgstr ""
-
-#: remote.c:1845
-#, c-format
-msgid "no upstream configured for branch '%s'"
-msgstr ""
-
-#: remote.c:1851
-#, c-format
-msgid "upstream branch '%s' not stored as a remote-tracking branch"
-msgstr ""
-
-#: remote.c:1866
-#, c-format
-msgid "push destination '%s' on remote '%s' has no local tracking branch"
-msgstr ""
-
-#: remote.c:1881
-#, c-format
-msgid "branch '%s' has no remote for pushing"
-msgstr ""
-
-#: remote.c:1891
-#, c-format
-msgid "push refspecs for '%s' do not include '%s'"
-msgstr ""
-
-#: remote.c:1904
-msgid "push has no destination (push.default is 'nothing')"
-msgstr ""
-
-#: remote.c:1926
-msgid "cannot resolve 'simple' push to a single destination"
-msgstr ""
-
-#: remote.c:2059
-#, c-format
-msgid "couldn't find remote ref %s"
-msgstr ""
-
-#: remote.c:2072
-#, c-format
-msgid "* Ignoring funny ref '%s' locally"
-msgstr ""
-
-#: remote.c:2235
-#, c-format
-msgid "Your branch is based on '%s', but the upstream is gone.\n"
-msgstr ""
-
-#: remote.c:2239
-msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
-msgstr ""
-
-#: remote.c:2242
-#, c-format
-msgid "Your branch is up to date with '%s'.\n"
-msgstr ""
-
-#: remote.c:2246
-#, c-format
-msgid "Your branch and '%s' refer to different commits.\n"
-msgstr ""
-
-#: remote.c:2249
-#, c-format
-msgid "  (use \"%s\" for details)\n"
-msgstr ""
-
-#: remote.c:2253
-#, c-format
-msgid "Your branch is ahead of '%s' by %d commit.\n"
-msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: remote.c:2259
-msgid "  (use \"git push\" to publish your local commits)\n"
-msgstr ""
-
-#: remote.c:2262
-#, c-format
-msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
-msgid_plural ""
-"Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: remote.c:2270
-msgid "  (use \"git pull\" to update your local branch)\n"
-msgstr ""
-
-#: remote.c:2273
-#, c-format
-msgid ""
-"Your branch and '%s' have diverged,\n"
-"and have %d and %d different commit each, respectively.\n"
-msgid_plural ""
-"Your branch and '%s' have diverged,\n"
-"and have %d and %d different commits each, respectively.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: remote.c:2283
-msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
-msgstr ""
-
-#: remote.c:2475
-#, c-format
-msgid "cannot parse expected object name '%s'"
-msgstr ""
-
-#: replace-object.c:21
-#, c-format
-msgid "bad replace ref name: %s"
-msgstr ""
-
-#: replace-object.c:30
-#, c-format
-msgid "duplicate replace ref: %s"
-msgstr ""
-
-#: replace-object.c:82
-#, c-format
-msgid "replace depth too high for object %s"
-msgstr ""
-
-#: rerere.c:201 rerere.c:210 rerere.c:213
-msgid "corrupt MERGE_RR"
-msgstr ""
-
-#: rerere.c:248 rerere.c:253
-msgid "unable to write rerere record"
-msgstr ""
-
-#: rerere.c:479
-#, c-format
-msgid "there were errors while writing '%s' (%s)"
-msgstr ""
-
-#: rerere.c:482 builtin/gc.c:2263 builtin/gc.c:2298
-#, c-format
-msgid "failed to flush '%s'"
-msgstr ""
-
-#: rerere.c:487 rerere.c:1024
-#, c-format
-msgid "could not parse conflict hunks in '%s'"
-msgstr ""
-
-#: rerere.c:669
-#, c-format
-msgid "failed utime() on '%s'"
-msgstr ""
-
-#: rerere.c:679
-#, c-format
-msgid "writing '%s' failed"
-msgstr ""
-
-#: rerere.c:699
-#, c-format
-msgid "Staged '%s' using previous resolution."
-msgstr ""
-
-#: rerere.c:738
-#, c-format
-msgid "Recorded resolution for '%s'."
-msgstr ""
-
-#: rerere.c:773
-#, c-format
-msgid "Resolved '%s' using previous resolution."
-msgstr ""
-
-#: rerere.c:788
-#, c-format
-msgid "cannot unlink stray '%s'"
-msgstr ""
-
-#: rerere.c:792
-#, c-format
-msgid "Recorded preimage for '%s'"
-msgstr ""
-
-#: rerere.c:866 submodule.c:2290 builtin/log.c:2042
-#: builtin/submodule--helper.c:1786 builtin/submodule--helper.c:1833
-#, c-format
-msgid "could not create directory '%s'"
-msgstr ""
-
-#: rerere.c:1042
-#, c-format
-msgid "failed to update conflicted state in '%s'"
-msgstr ""
-
-#: rerere.c:1053 rerere.c:1060
-#, c-format
-msgid "no remembered resolution for '%s'"
-msgstr ""
-
-#: rerere.c:1062
-#, c-format
-msgid "cannot unlink '%s'"
-msgstr ""
-
-#: rerere.c:1072
-#, c-format
-msgid "Updated preimage for '%s'"
-msgstr ""
-
-#: rerere.c:1081
-#, c-format
-msgid "Forgot resolution for '%s'\n"
-msgstr ""
-
-#: rerere.c:1192
-msgid "unable to open rr-cache directory"
-msgstr ""
-
-#: reset.c:112
-msgid "could not determine HEAD revision"
-msgstr ""
-
-#: reset.c:141 reset.c:147 sequencer.c:3696
-#, c-format
-msgid "failed to find tree of %s"
-msgstr ""
-
-#: revision.c:2358
-msgid "--unpacked=<packfile> no longer supported"
-msgstr ""
-
-#: revision.c:2712
-msgid "your current branch appears to be broken"
-msgstr ""
-
-#: revision.c:2715
-#, c-format
-msgid "your current branch '%s' does not have any commits yet"
-msgstr ""
-
-#: revision.c:2901
-msgid "object filtering requires --objects"
-msgstr ""
-
-#: revision.c:2918
-msgid "-L does not yet support diff formats besides -p and -s"
-msgstr ""
-
-#: run-command.c:1262
-#, c-format
-msgid "cannot create async thread: %s"
-msgstr ""
-
-#: send-pack.c:150
-msgid "unexpected flush packet while reading remote unpack status"
-msgstr ""
-
-#: send-pack.c:152
-#, c-format
-msgid "unable to parse remote unpack status: %s"
-msgstr ""
-
-#: send-pack.c:154
-#, c-format
-msgid "remote unpack failed: %s"
-msgstr ""
-
-#: send-pack.c:378
-msgid "failed to sign the push certificate"
-msgstr ""
-
-#: send-pack.c:435
-msgid "send-pack: unable to fork off fetch subprocess"
-msgstr ""
-
-#: send-pack.c:457
-msgid "push negotiation failed; proceeding anyway with push"
-msgstr ""
-
-#: send-pack.c:528
-msgid "the receiving end does not support this repository's hash algorithm"
-msgstr ""
-
-#: send-pack.c:537
-msgid "the receiving end does not support --signed push"
-msgstr ""
-
-#: send-pack.c:539
-msgid ""
-"not sending a push certificate since the receiving end does not support --"
-"signed push"
-msgstr ""
-
-#: send-pack.c:546
-msgid "the receiving end does not support --atomic push"
-msgstr ""
-
-#: send-pack.c:551
-msgid "the receiving end does not support push options"
-msgstr ""
-
-#: sequencer.c:197
-#, c-format
-msgid "invalid commit message cleanup mode '%s'"
-msgstr ""
-
-#: sequencer.c:325
-#, c-format
-msgid "could not delete '%s'"
-msgstr ""
-
-#: sequencer.c:345 sequencer.c:4724 builtin/rebase.c:564 builtin/rebase.c:1326
-#: builtin/rm.c:409
-#, c-format
-msgid "could not remove '%s'"
-msgstr ""
-
-#: sequencer.c:355
-msgid "revert"
-msgstr ""
-
-#: sequencer.c:357
-msgid "cherry-pick"
-msgstr ""
-
-#: sequencer.c:359
-msgid "rebase"
-msgstr ""
-
-#: sequencer.c:361
-#, c-format
-msgid "unknown action: %d"
-msgstr ""
-
-#: sequencer.c:420
-msgid ""
-"after resolving the conflicts, mark the corrected paths\n"
-"with 'git add <paths>' or 'git rm <paths>'"
-msgstr ""
-
-#: sequencer.c:423
-msgid ""
-"After resolving the conflicts, mark them with\n"
-"\"git add/rm <pathspec>\", then run\n"
-"\"git cherry-pick --continue\".\n"
-"You can instead skip this commit with \"git cherry-pick --skip\".\n"
-"To abort and get back to the state before \"git cherry-pick\",\n"
-"run \"git cherry-pick --abort\"."
-msgstr ""
-
-#: sequencer.c:430
-msgid ""
-"After resolving the conflicts, mark them with\n"
-"\"git add/rm <pathspec>\", then run\n"
-"\"git revert --continue\".\n"
-"You can instead skip this commit with \"git revert --skip\".\n"
-"To abort and get back to the state before \"git revert\",\n"
-"run \"git revert --abort\"."
-msgstr ""
-
-#: sequencer.c:448 sequencer.c:3288
-#, c-format
-msgid "could not lock '%s'"
-msgstr ""
-
-#: sequencer.c:450 sequencer.c:3087 sequencer.c:3292 sequencer.c:3306
-#: sequencer.c:3557 sequencer.c:5591 strbuf.c:1189 wrapper.c:715
-#, c-format
-msgid "could not write to '%s'"
-msgstr ""
-
-#: sequencer.c:455
-#, c-format
-msgid "could not write eol to '%s'"
-msgstr ""
-
-#: sequencer.c:460 sequencer.c:3092 sequencer.c:3294 sequencer.c:3308
-#: sequencer.c:3565
-#, c-format
-msgid "failed to finalize '%s'"
-msgstr ""
-
-#: sequencer.c:473 sequencer.c:1930 sequencer.c:3112 sequencer.c:3547
-#: sequencer.c:3675 builtin/am.c:290 builtin/commit.c:837 builtin/merge.c:1154
-#, c-format
-msgid "could not read '%s'"
-msgstr ""
-
-#: sequencer.c:499
-#, c-format
-msgid "your local changes would be overwritten by %s."
-msgstr ""
-
-#: sequencer.c:503
-msgid "commit your changes or stash them to proceed."
-msgstr ""
-
-#: sequencer.c:535
-#, c-format
-msgid "%s: fast-forward"
-msgstr ""
-
-#: sequencer.c:574 builtin/tag.c:615
-#, c-format
-msgid "Invalid cleanup mode %s"
-msgstr ""
-
-#. TRANSLATORS: %s will be "revert", "cherry-pick" or
-#. "rebase".
-#.
-#: sequencer.c:685
-#, c-format
-msgid "%s: Unable to write new index file"
-msgstr ""
-
-#: sequencer.c:699
-msgid "unable to update cache tree"
-msgstr ""
-
-#: sequencer.c:713
-msgid "could not resolve HEAD commit"
-msgstr ""
-
-#: sequencer.c:793
-#, c-format
-msgid "no key present in '%.*s'"
-msgstr ""
-
-#: sequencer.c:804
-#, c-format
-msgid "unable to dequote value of '%s'"
-msgstr ""
-
-#: sequencer.c:841 wrapper.c:219 wrapper.c:389 builtin/am.c:757
-#: builtin/am.c:849 builtin/rebase.c:699
-#, c-format
-msgid "could not open '%s' for reading"
-msgstr ""
-
-#: sequencer.c:851
-msgid "'GIT_AUTHOR_NAME' already given"
-msgstr ""
-
-#: sequencer.c:856
-msgid "'GIT_AUTHOR_EMAIL' already given"
-msgstr ""
-
-#: sequencer.c:861
-msgid "'GIT_AUTHOR_DATE' already given"
-msgstr ""
-
-#: sequencer.c:865
-#, c-format
-msgid "unknown variable '%s'"
-msgstr ""
-
-#: sequencer.c:870
-msgid "missing 'GIT_AUTHOR_NAME'"
-msgstr ""
-
-#: sequencer.c:872
-msgid "missing 'GIT_AUTHOR_EMAIL'"
-msgstr ""
-
-#: sequencer.c:874
-msgid "missing 'GIT_AUTHOR_DATE'"
-msgstr ""
-
-#: sequencer.c:939
-#, c-format
-msgid ""
-"you have staged changes in your working tree\n"
-"If these changes are meant to be squashed into the previous commit, run:\n"
-"\n"
-"  git commit --amend %s\n"
-"\n"
-"If they are meant to go into a new commit, run:\n"
-"\n"
-"  git commit %s\n"
-"\n"
-"In both cases, once you're done, continue with:\n"
-"\n"
-"  git rebase --continue\n"
-msgstr ""
-
-#: sequencer.c:1225
-msgid "'prepare-commit-msg' hook failed"
-msgstr ""
-
-#: sequencer.c:1231
-msgid ""
-"Your name and email address were configured automatically based\n"
-"on your username and hostname. Please check that they are accurate.\n"
-"You can suppress this message by setting them explicitly. Run the\n"
-"following command and follow the instructions in your editor to edit\n"
-"your configuration file:\n"
-"\n"
-"    git config --global --edit\n"
-"\n"
-"After doing this, you may fix the identity used for this commit with:\n"
-"\n"
-"    git commit --amend --reset-author\n"
-msgstr ""
-
-#: sequencer.c:1244
-msgid ""
-"Your name and email address were configured automatically based\n"
-"on your username and hostname. Please check that they are accurate.\n"
-"You can suppress this message by setting them explicitly:\n"
-"\n"
-"    git config --global user.name \"Your Name\"\n"
-"    git config --global user.email you@example.com\n"
-"\n"
-"After doing this, you may fix the identity used for this commit with:\n"
-"\n"
-"    git commit --amend --reset-author\n"
-msgstr ""
-
-#: sequencer.c:1287
-msgid "couldn't look up newly created commit"
-msgstr ""
-
-#: sequencer.c:1289
-msgid "could not parse newly created commit"
-msgstr ""
-
-#: sequencer.c:1336
-msgid "unable to resolve HEAD after creating commit"
-msgstr ""
-
-#: sequencer.c:1338
-msgid "detached HEAD"
-msgstr ""
-
-#: sequencer.c:1342
-msgid " (root-commit)"
-msgstr ""
-
-#: sequencer.c:1363
-msgid "could not parse HEAD"
-msgstr ""
-
-#: sequencer.c:1365
-#, c-format
-msgid "HEAD %s is not a commit!"
-msgstr ""
-
-#: sequencer.c:1369 sequencer.c:1447 builtin/commit.c:1707
-msgid "could not parse HEAD commit"
-msgstr ""
-
-#: sequencer.c:1425 sequencer.c:2310
-msgid "unable to parse commit author"
-msgstr ""
-
-#: sequencer.c:1436 builtin/am.c:1644 builtin/merge.c:710
-msgid "git write-tree failed to write a tree"
-msgstr ""
-
-#: sequencer.c:1469 sequencer.c:1589
-#, c-format
-msgid "unable to read commit message from '%s'"
-msgstr ""
-
-#: sequencer.c:1500 sequencer.c:1532
-#, c-format
-msgid "invalid author identity '%s'"
-msgstr ""
-
-#: sequencer.c:1506
-msgid "corrupt author: missing date information"
-msgstr ""
-
-#: sequencer.c:1545 builtin/am.c:1671 builtin/commit.c:1821 builtin/merge.c:921
-#: builtin/merge.c:946 t/helper/test-fast-rebase.c:78
-msgid "failed to write commit object"
-msgstr ""
-
-#: sequencer.c:1572 sequencer.c:4496 t/helper/test-fast-rebase.c:199
-#: t/helper/test-fast-rebase.c:217
-#, c-format
-msgid "could not update %s"
-msgstr ""
-
-#: sequencer.c:1621
-#, c-format
-msgid "could not parse commit %s"
-msgstr ""
-
-#: sequencer.c:1626
-#, c-format
-msgid "could not parse parent commit %s"
-msgstr ""
-
-#: sequencer.c:1709 sequencer.c:1990
-#, c-format
-msgid "unknown command: %d"
-msgstr ""
-
-#: sequencer.c:1751
-msgid "This is the 1st commit message:"
-msgstr ""
-
-#: sequencer.c:1752
-#, c-format
-msgid "This is the commit message #%d:"
-msgstr ""
-
-#: sequencer.c:1753
-msgid "The 1st commit message will be skipped:"
-msgstr ""
-
-#: sequencer.c:1754
-#, c-format
-msgid "The commit message #%d will be skipped:"
-msgstr ""
-
-#: sequencer.c:1755
-#, c-format
-msgid "This is a combination of %d commits."
-msgstr ""
-
-#: sequencer.c:1902 sequencer.c:1959
-#, c-format
-msgid "cannot write '%s'"
-msgstr ""
-
-#: sequencer.c:1949
-msgid "need a HEAD to fixup"
-msgstr ""
-
-#: sequencer.c:1951 sequencer.c:3592
-msgid "could not read HEAD"
-msgstr ""
-
-#: sequencer.c:1953
-msgid "could not read HEAD's commit message"
-msgstr ""
-
-#: sequencer.c:1977
-#, c-format
-msgid "could not read commit message of %s"
-msgstr ""
-
-#: sequencer.c:2087
-msgid "your index file is unmerged."
-msgstr ""
-
-#: sequencer.c:2094
-msgid "cannot fixup root commit"
-msgstr ""
-
-#: sequencer.c:2113
-#, c-format
-msgid "commit %s is a merge but no -m option was given."
-msgstr ""
-
-#: sequencer.c:2121 sequencer.c:2129
-#, c-format
-msgid "commit %s does not have parent %d"
-msgstr ""
-
-#: sequencer.c:2135
-#, c-format
-msgid "cannot get commit message for %s"
-msgstr ""
-
-#. TRANSLATORS: The first %s will be a "todo" command like
-#. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:2154
-#, c-format
-msgid "%s: cannot parse parent commit %s"
-msgstr ""
-
-#: sequencer.c:2220
-#, c-format
-msgid "could not rename '%s' to '%s'"
-msgstr ""
-
-#: sequencer.c:2280
-#, c-format
-msgid "could not revert %s... %s"
-msgstr ""
-
-#: sequencer.c:2281
-#, c-format
-msgid "could not apply %s... %s"
-msgstr ""
-
-#: sequencer.c:2302
-#, c-format
-msgid "dropping %s %s -- patch contents already upstream\n"
-msgstr ""
-
-#: sequencer.c:2360
-#, c-format
-msgid "git %s: failed to read the index"
-msgstr ""
-
-#: sequencer.c:2368
-#, c-format
-msgid "git %s: failed to refresh the index"
-msgstr ""
-
-#: sequencer.c:2448
-#, c-format
-msgid "%s does not accept arguments: '%s'"
-msgstr ""
-
-#: sequencer.c:2457
-#, c-format
-msgid "missing arguments for %s"
-msgstr ""
-
-#: sequencer.c:2500
-#, c-format
-msgid "could not parse '%s'"
-msgstr ""
-
-#: sequencer.c:2561
-#, c-format
-msgid "invalid line %d: %.*s"
-msgstr ""
-
-#: sequencer.c:2572
-#, c-format
-msgid "cannot '%s' without a previous commit"
-msgstr ""
-
-#: sequencer.c:2620 builtin/rebase.c:185
-#, c-format
-msgid "could not read '%s'."
-msgstr ""
-
-#: sequencer.c:2658
-msgid "cancelling a cherry picking in progress"
-msgstr ""
-
-#: sequencer.c:2667
-msgid "cancelling a revert in progress"
-msgstr ""
-
-#: sequencer.c:2707
-msgid "please fix this using 'git rebase --edit-todo'."
-msgstr ""
-
-#: sequencer.c:2709
-#, c-format
-msgid "unusable instruction sheet: '%s'"
-msgstr ""
-
-#: sequencer.c:2714
-msgid "no commits parsed."
-msgstr ""
-
-#: sequencer.c:2725
-msgid "cannot cherry-pick during a revert."
-msgstr ""
-
-#: sequencer.c:2727
-msgid "cannot revert during a cherry-pick."
-msgstr ""
-
-#: sequencer.c:2914
-msgid "unusable squash-onto"
-msgstr ""
-
-#: sequencer.c:2934
-#, c-format
-msgid "malformed options sheet: '%s'"
-msgstr ""
-
-#: sequencer.c:3029 sequencer.c:4875
-msgid "empty commit set passed"
-msgstr ""
-
-#: sequencer.c:3046
-msgid "revert is already in progress"
-msgstr ""
-
-#: sequencer.c:3048
-#, c-format
-msgid "try \"git revert (--continue | %s--abort | --quit)\""
-msgstr ""
-
-#: sequencer.c:3051
-msgid "cherry-pick is already in progress"
-msgstr ""
-
-#: sequencer.c:3053
-#, c-format
-msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
-msgstr ""
-
-#: sequencer.c:3067
-#, c-format
-msgid "could not create sequencer directory '%s'"
-msgstr ""
-
-#: sequencer.c:3082
-msgid "could not lock HEAD"
-msgstr ""
-
-#: sequencer.c:3142 sequencer.c:4585
-msgid "no cherry-pick or revert in progress"
-msgstr ""
-
-#: sequencer.c:3144 sequencer.c:3155
-msgid "cannot resolve HEAD"
-msgstr ""
-
-#: sequencer.c:3146 sequencer.c:3190
-msgid "cannot abort from a branch yet to be born"
-msgstr ""
-
-#: sequencer.c:3176 builtin/fetch.c:1030 builtin/fetch.c:1457
-#: builtin/grep.c:774
-#, c-format
-msgid "cannot open '%s'"
-msgstr ""
-
-#: sequencer.c:3178
-#, c-format
-msgid "cannot read '%s': %s"
-msgstr ""
-
-#: sequencer.c:3179
-msgid "unexpected end of file"
-msgstr ""
-
-#: sequencer.c:3185
-#, c-format
-msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
-msgstr ""
-
-#: sequencer.c:3196
-msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
-msgstr ""
-
-#: sequencer.c:3237
-msgid "no revert in progress"
-msgstr ""
-
-#: sequencer.c:3246
-msgid "no cherry-pick in progress"
-msgstr ""
-
-#: sequencer.c:3256
-msgid "failed to skip the commit"
-msgstr ""
-
-#: sequencer.c:3263
-msgid "there is nothing to skip"
-msgstr ""
-
-#: sequencer.c:3266
-#, c-format
-msgid ""
-"have you committed already?\n"
-"try \"git %s --continue\""
-msgstr ""
-
-#: sequencer.c:3428 sequencer.c:4476
-msgid "cannot read HEAD"
-msgstr ""
-
-#: sequencer.c:3445
-#, c-format
-msgid "unable to copy '%s' to '%s'"
-msgstr ""
-
-#: sequencer.c:3453
-#, c-format
-msgid ""
-"You can amend the commit now, with\n"
-"\n"
-"  git commit --amend %s\n"
-"\n"
-"Once you are satisfied with your changes, run\n"
-"\n"
-"  git rebase --continue\n"
-msgstr ""
-
-#: sequencer.c:3463
-#, c-format
-msgid "Could not apply %s... %.*s"
-msgstr ""
-
-#: sequencer.c:3470
-#, c-format
-msgid "Could not merge %.*s"
-msgstr ""
-
-#: sequencer.c:3484 sequencer.c:3488 builtin/difftool.c:633
-#, c-format
-msgid "could not copy '%s' to '%s'"
-msgstr ""
-
-#: sequencer.c:3499
-#, c-format
-msgid "Executing: %s\n"
-msgstr ""
-
-#: sequencer.c:3510
-#, c-format
-msgid ""
-"execution failed: %s\n"
-"%sYou can fix the problem, and then run\n"
-"\n"
-"  git rebase --continue\n"
-"\n"
-msgstr ""
-
-#: sequencer.c:3516
-msgid "and made changes to the index and/or the working tree\n"
-msgstr ""
-
-#: sequencer.c:3522
-#, c-format
-msgid ""
-"execution succeeded: %s\n"
-"but left changes to the index and/or the working tree\n"
-"Commit or stash your changes, and then run\n"
-"\n"
-"  git rebase --continue\n"
-"\n"
-msgstr ""
-
-#: sequencer.c:3582
-#, c-format
-msgid "illegal label name: '%.*s'"
-msgstr ""
-
-#: sequencer.c:3655
-msgid "writing fake root commit"
-msgstr ""
-
-#: sequencer.c:3660
-msgid "writing squash-onto"
-msgstr ""
-
-#: sequencer.c:3739
-#, c-format
-msgid "could not resolve '%s'"
-msgstr ""
-
-#: sequencer.c:3771
-msgid "cannot merge without a current revision"
-msgstr ""
-
-#: sequencer.c:3793
-#, c-format
-msgid "unable to parse '%.*s'"
-msgstr ""
-
-#: sequencer.c:3802
-#, c-format
-msgid "nothing to merge: '%.*s'"
-msgstr ""
-
-#: sequencer.c:3814
-msgid "octopus merge cannot be executed on top of a [new root]"
-msgstr ""
-
-#: sequencer.c:3869
-#, c-format
-msgid "could not get commit message of '%s'"
-msgstr ""
-
-#: sequencer.c:4013
-#, c-format
-msgid "could not even attempt to merge '%.*s'"
-msgstr ""
-
-#: sequencer.c:4029
-msgid "merge: Unable to write new index file"
-msgstr ""
-
-#: sequencer.c:4110
-msgid "Cannot autostash"
-msgstr ""
-
-#: sequencer.c:4113
-#, c-format
-msgid "Unexpected stash response: '%s'"
-msgstr ""
-
-#: sequencer.c:4119
-#, c-format
-msgid "Could not create directory for '%s'"
-msgstr ""
-
-#: sequencer.c:4122
-#, c-format
-msgid "Created autostash: %s\n"
-msgstr ""
-
-#: sequencer.c:4124
-msgid "could not reset --hard"
-msgstr ""
-
-#: sequencer.c:4148
-#, c-format
-msgid "Applied autostash.\n"
-msgstr ""
-
-#: sequencer.c:4160
-#, c-format
-msgid "cannot store %s"
-msgstr ""
-
-#: sequencer.c:4163
-#, c-format
-msgid ""
-"%s\n"
-"Your changes are safe in the stash.\n"
-"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
-msgstr ""
-
-#: sequencer.c:4168
-msgid "Applying autostash resulted in conflicts."
-msgstr ""
-
-#: sequencer.c:4169
-msgid "Autostash exists; creating a new stash entry."
-msgstr ""
-
-#: sequencer.c:4225
-msgid "could not detach HEAD"
-msgstr ""
-
-#: sequencer.c:4240
-#, c-format
-msgid "Stopped at HEAD\n"
-msgstr ""
-
-#: sequencer.c:4242
-#, c-format
-msgid "Stopped at %s\n"
-msgstr ""
-
-#: sequencer.c:4274
-#, c-format
-msgid ""
-"Could not execute the todo command\n"
-"\n"
-"    %.*s\n"
-"It has been rescheduled; To edit the command before continuing, please\n"
-"edit the todo list first:\n"
-"\n"
-"    git rebase --edit-todo\n"
-"    git rebase --continue\n"
-msgstr ""
-
-#: sequencer.c:4320
-#, c-format
-msgid "Rebasing (%d/%d)%s"
-msgstr ""
-
-#: sequencer.c:4366
-#, c-format
-msgid "Stopped at %s...  %.*s\n"
-msgstr ""
-
-#: sequencer.c:4436
-#, c-format
-msgid "unknown command %d"
-msgstr ""
-
-#: sequencer.c:4484
-msgid "could not read orig-head"
-msgstr ""
-
-#: sequencer.c:4489
-msgid "could not read 'onto'"
-msgstr ""
-
-#: sequencer.c:4503
-#, c-format
-msgid "could not update HEAD to %s"
-msgstr ""
-
-#: sequencer.c:4563
-#, c-format
-msgid "Successfully rebased and updated %s.\n"
-msgstr ""
-
-#: sequencer.c:4615
-msgid "cannot rebase: You have unstaged changes."
-msgstr ""
-
-#: sequencer.c:4624
-msgid "cannot amend non-existing commit"
-msgstr ""
-
-#: sequencer.c:4626
-#, c-format
-msgid "invalid file: '%s'"
-msgstr ""
-
-#: sequencer.c:4628
-#, c-format
-msgid "invalid contents: '%s'"
-msgstr ""
-
-#: sequencer.c:4631
-msgid ""
-"\n"
-"You have uncommitted changes in your working tree. Please, commit them\n"
-"first and then run 'git rebase --continue' again."
-msgstr ""
-
-#: sequencer.c:4667 sequencer.c:4706
-#, c-format
-msgid "could not write file: '%s'"
-msgstr ""
-
-#: sequencer.c:4722
-msgid "could not remove CHERRY_PICK_HEAD"
-msgstr ""
-
-#: sequencer.c:4732
-msgid "could not commit staged changes."
-msgstr ""
-
-#: sequencer.c:4852
-#, c-format
-msgid "%s: can't cherry-pick a %s"
-msgstr ""
-
-#: sequencer.c:4856
-#, c-format
-msgid "%s: bad revision"
-msgstr ""
-
-#: sequencer.c:4891
-msgid "can't revert as initial commit"
-msgstr ""
-
-#: sequencer.c:5162 sequencer.c:5391
-#, c-format
-msgid "skipped previously applied commit %s"
-msgstr ""
-
-#: sequencer.c:5232 sequencer.c:5407
-msgid "use --reapply-cherry-picks to include skipped commits"
-msgstr ""
-
-#: sequencer.c:5378
-msgid "make_script: unhandled options"
-msgstr ""
-
-#: sequencer.c:5381
-msgid "make_script: error preparing revisions"
-msgstr ""
-
-#: sequencer.c:5639 sequencer.c:5656
-msgid "nothing to do"
-msgstr ""
-
-#: sequencer.c:5675
-msgid "could not skip unnecessary pick commands"
-msgstr ""
-
-#: sequencer.c:5775
-msgid "the script was already rearranged."
-msgstr ""
-
-#: setup.c:135
-#, c-format
-msgid "'%s' is outside repository at '%s'"
-msgstr ""
-
-#: setup.c:187
-#, c-format
-msgid ""
-"%s: no such path in the working tree.\n"
-"Use 'git <command> -- <path>...' to specify paths that do not exist locally."
-msgstr ""
-
-#: setup.c:200
-#, c-format
-msgid ""
-"ambiguous argument '%s': unknown revision or path not in the working tree.\n"
-"Use '--' to separate paths from revisions, like this:\n"
-"'git <command> [<revision>...] -- [<file>...]'"
-msgstr ""
-
-#: setup.c:266
-#, c-format
-msgid "option '%s' must come before non-option arguments"
-msgstr ""
-
-#: setup.c:285
-#, c-format
-msgid ""
-"ambiguous argument '%s': both revision and filename\n"
-"Use '--' to separate paths from revisions, like this:\n"
-"'git <command> [<revision>...] -- [<file>...]'"
-msgstr ""
-
-#: setup.c:421
-msgid "unable to set up work tree using invalid config"
-msgstr ""
-
-#: setup.c:425 builtin/rev-parse.c:895
-msgid "this operation must be run in a work tree"
-msgstr ""
-
-#: setup.c:724
-#, c-format
-msgid "Expected git repo version <= %d, found %d"
-msgstr ""
-
-#: setup.c:732
-msgid "unknown repository extension found:"
-msgid_plural "unknown repository extensions found:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: setup.c:746
-msgid "repo version is 0, but v1-only extension found:"
-msgid_plural "repo version is 0, but v1-only extensions found:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: setup.c:767
-#, c-format
-msgid "error opening '%s'"
-msgstr ""
-
-#: setup.c:769
-#, c-format
-msgid "too large to be a .git file: '%s'"
-msgstr ""
-
-#: setup.c:771
-#, c-format
-msgid "error reading %s"
-msgstr ""
-
-#: setup.c:773
-#, c-format
-msgid "invalid gitfile format: %s"
-msgstr ""
-
-#: setup.c:775
-#, c-format
-msgid "no path in gitfile: %s"
-msgstr ""
-
-#: setup.c:777
-#, c-format
-msgid "not a git repository: %s"
-msgstr ""
-
-#: setup.c:879
-#, c-format
-msgid "'$%s' too big"
-msgstr ""
-
-#: setup.c:893
-#, c-format
-msgid "not a git repository: '%s'"
-msgstr ""
-
-#: setup.c:922 setup.c:924 setup.c:955
-#, c-format
-msgid "cannot chdir to '%s'"
-msgstr ""
-
-#: setup.c:927 setup.c:983 setup.c:993 setup.c:1032 setup.c:1040
-msgid "cannot come back to cwd"
-msgstr ""
-
-#: setup.c:1054
-#, c-format
-msgid "failed to stat '%*s%s%s'"
-msgstr ""
-
-#: setup.c:1338
-msgid "Unable to read current working directory"
-msgstr ""
-
-#: setup.c:1347 setup.c:1353
-#, c-format
-msgid "cannot change to '%s'"
-msgstr ""
-
-#: setup.c:1358
-#, c-format
-msgid "not a git repository (or any of the parent directories): %s"
-msgstr ""
-
-#: setup.c:1364
-#, c-format
-msgid ""
-"not a git repository (or any parent up to mount point %s)\n"
-"Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."
-msgstr ""
-
-#: setup.c:1374
-#, c-format
-msgid ""
-"unsafe repository ('%s' is owned by someone else)\n"
-"To add an exception for this directory, call:\n"
-"\n"
-"\tgit config --global --add safe.directory %s"
-msgstr ""
-
-#: setup.c:1502
-#, c-format
-msgid ""
-"problem with core.sharedRepository filemode value (0%.3o).\n"
-"The owner of files must always have read and write permissions."
-msgstr ""
-
-#: setup.c:1564
-msgid "fork failed"
-msgstr ""
-
-#: setup.c:1569
-msgid "setsid failed"
-msgstr ""
-
-#: sparse-index.c:285
-#, c-format
-msgid "index entry is a directory, but not sparse (%08x)"
-msgstr ""
-
-#: split-index.c:9
-msgid "cannot use split index with a sparse index"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 gibibyte
-#: strbuf.c:851
-#, c-format
-msgid "%u.%2.2u GiB"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second
-#: strbuf.c:853
-#, c-format
-msgid "%u.%2.2u GiB/s"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 mebibyte
-#: strbuf.c:861
-#, c-format
-msgid "%u.%2.2u MiB"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second
-#: strbuf.c:863
-#, c-format
-msgid "%u.%2.2u MiB/s"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 kibibyte
-#: strbuf.c:870
-#, c-format
-msgid "%u.%2.2u KiB"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second
-#: strbuf.c:872
-#, c-format
-msgid "%u.%2.2u KiB/s"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 byte
-#: strbuf.c:878
-#, c-format
-msgid "%u byte"
-msgid_plural "%u bytes"
-msgstr[0] ""
-msgstr[1] ""
-
-#. TRANSLATORS: IEC 80000-13:2008 byte/second
-#: strbuf.c:880
-#, c-format
-msgid "%u byte/s"
-msgid_plural "%u bytes/s"
-msgstr[0] ""
-msgstr[1] ""
-
-#: strbuf.c:1187 wrapper.c:217 wrapper.c:387 builtin/am.c:766
-#: builtin/rebase.c:653
-#, c-format
-msgid "could not open '%s' for writing"
-msgstr ""
-
-#: strbuf.c:1196
-#, c-format
-msgid "could not edit '%s'"
-msgstr ""
-
-#: submodule-config.c:238
-#, c-format
-msgid "ignoring suspicious submodule name: %s"
-msgstr ""
-
-#: submodule-config.c:305
-msgid "negative values not allowed for submodule.fetchjobs"
-msgstr ""
-
-#: submodule-config.c:403
-#, c-format
-msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
-msgstr ""
-
-#: submodule-config.c:500 builtin/push.c:489 builtin/send-pack.c:148
-#, c-format
-msgid "invalid value for '%s'"
-msgstr ""
-
-#: submodule-config.c:828
-#, c-format
-msgid "Could not update .gitmodules entry %s"
-msgstr ""
-
-#: submodule.c:115 submodule.c:144
-msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
-msgstr ""
-
-#: submodule.c:119 submodule.c:148
-#, c-format
-msgid "Could not find section in .gitmodules where path=%s"
-msgstr ""
-
-#: submodule.c:155
-#, c-format
-msgid "Could not remove .gitmodules entry for %s"
-msgstr ""
-
-#: submodule.c:166
-msgid "staging updated .gitmodules failed"
-msgstr ""
-
-#: submodule.c:346
-#, c-format
-msgid "in unpopulated submodule '%s'"
-msgstr ""
-
-#: submodule.c:377
-#, c-format
-msgid "Pathspec '%s' is in submodule '%.*s'"
-msgstr ""
-
-#: submodule.c:454
-#, c-format
-msgid "bad --ignore-submodules argument: %s"
-msgstr ""
-
-#: submodule.c:866
-#, c-format
-msgid ""
-"Submodule in commit %s at path: '%s' collides with a submodule named the "
-"same. Skipping it."
-msgstr ""
-
-#: submodule.c:987
-#, c-format
-msgid "submodule entry '%s' (%s) is a %s, not a commit"
-msgstr ""
-
-#: submodule.c:1069
-#, c-format
-msgid ""
-"Could not run 'git rev-list <commits> --not --remotes -n 1' command in "
-"submodule %s"
-msgstr ""
-
-#: submodule.c:1192
-#, c-format
-msgid "process for submodule '%s' failed"
-msgstr ""
-
-#: submodule.c:1221 builtin/branch.c:714 builtin/submodule--helper.c:2827
-msgid "Failed to resolve HEAD as a valid ref."
-msgstr ""
-
-#: submodule.c:1232
-#, c-format
-msgid "Pushing submodule '%s'\n"
-msgstr ""
-
-#: submodule.c:1235
-#, c-format
-msgid "Unable to push submodule '%s'\n"
-msgstr ""
-
-#: submodule.c:1567
-#, c-format
-msgid "Fetching submodule %s%s\n"
-msgstr ""
-
-#: submodule.c:1589
-#, c-format
-msgid "Could not access submodule '%s'\n"
-msgstr ""
-
-#: submodule.c:1618
-#, c-format
-msgid "Could not access submodule '%s' at commit %s\n"
-msgstr ""
-
-#: submodule.c:1629
-#, c-format
-msgid "Fetching submodule %s%s at commit %s\n"
-msgstr ""
-
-#: submodule.c:1849
-#, c-format
-msgid ""
-"Errors during submodule fetch:\n"
-"%s"
-msgstr ""
-
-#: submodule.c:1874
-#, c-format
-msgid "'%s' not recognized as a git repository"
-msgstr ""
-
-#: submodule.c:1891
-#, c-format
-msgid "Could not run 'git status --porcelain=2' in submodule %s"
-msgstr ""
-
-#: submodule.c:1932
-#, c-format
-msgid "'git status --porcelain=2' failed in submodule %s"
-msgstr ""
-
-#: submodule.c:2007
-#, c-format
-msgid "could not start 'git status' in submodule '%s'"
-msgstr ""
-
-#: submodule.c:2020
-#, c-format
-msgid "could not run 'git status' in submodule '%s'"
-msgstr ""
-
-#: submodule.c:2037
-#, c-format
-msgid "Could not unset core.worktree setting in submodule '%s'"
-msgstr ""
-
-#: submodule.c:2064 submodule.c:2379
-#, c-format
-msgid "could not recurse into submodule '%s'"
-msgstr ""
-
-#: submodule.c:2086
-msgid "could not reset submodule index"
-msgstr ""
-
-#: submodule.c:2128
-#, c-format
-msgid "submodule '%s' has dirty index"
-msgstr ""
-
-#: submodule.c:2182
-#, c-format
-msgid "Submodule '%s' could not be updated."
-msgstr ""
-
-#: submodule.c:2250
-#, c-format
-msgid "submodule git dir '%s' is inside git dir '%.*s'"
-msgstr ""
-
-#: submodule.c:2271
-#, c-format
-msgid ""
-"relocate_gitdir for submodule '%s' with more than one worktree not supported"
-msgstr ""
-
-#: submodule.c:2283 submodule.c:2343
-#, c-format
-msgid "could not lookup name for submodule '%s'"
-msgstr ""
-
-#: submodule.c:2287
-#, c-format
-msgid "refusing to move '%s' into an existing git dir"
-msgstr ""
-
-#: submodule.c:2293
-#, c-format
-msgid ""
-"Migrating git directory of '%s%s' from\n"
-"'%s' to\n"
-"'%s'\n"
-msgstr ""
-
-#: submodule.c:2424
-msgid "could not start ls-files in .."
-msgstr ""
-
-#: submodule.c:2464
-#, c-format
-msgid "ls-tree returned unexpected return code %d"
-msgstr ""
-
-#: symlinks.c:244
-#, c-format
-msgid "failed to lstat '%s'"
-msgstr ""
-
-#: trailer.c:244
-#, c-format
-msgid "running trailer command '%s' failed"
-msgstr ""
-
-#: trailer.c:493 trailer.c:498 trailer.c:503 trailer.c:562 trailer.c:566
-#: trailer.c:570
-#, c-format
-msgid "unknown value '%s' for key '%s'"
-msgstr ""
-
-#: trailer.c:547 trailer.c:552 trailer.c:557 builtin/remote.c:300
-#: builtin/remote.c:328
-#, c-format
-msgid "more than one %s"
-msgstr ""
-
-#: trailer.c:743
-#, c-format
-msgid "empty trailer token in trailer '%.*s'"
-msgstr ""
-
-#: trailer.c:763
-#, c-format
-msgid "could not read input file '%s'"
-msgstr ""
-
-#: trailer.c:766 builtin/mktag.c:88 imap-send.c:1563
-msgid "could not read from stdin"
-msgstr ""
-
-#: trailer.c:1024 wrapper.c:760
-#, c-format
-msgid "could not stat %s"
-msgstr ""
-
-#: trailer.c:1026
-#, c-format
-msgid "file %s is not a regular file"
-msgstr ""
-
-#: trailer.c:1028
-#, c-format
-msgid "file %s is not writable by user"
-msgstr ""
-
-#: trailer.c:1040
-msgid "could not open temporary file"
-msgstr ""
-
-#: trailer.c:1080
-#, c-format
-msgid "could not rename temporary file to %s"
-msgstr ""
-
-#: transport-helper.c:62 transport-helper.c:91
-msgid "full write to remote helper failed"
-msgstr ""
-
-#: transport-helper.c:145
-#, c-format
-msgid "unable to find remote helper for '%s'"
-msgstr ""
-
-#: transport-helper.c:161 transport-helper.c:575
-msgid "can't dup helper output fd"
-msgstr ""
-
-#: transport-helper.c:214
-#, c-format
-msgid ""
-"unknown mandatory capability %s; this remote helper probably needs newer "
-"version of Git"
-msgstr ""
-
-#: transport-helper.c:220
-msgid "this remote helper should implement refspec capability"
-msgstr ""
-
-#: transport-helper.c:287 transport-helper.c:429
-#, c-format
-msgid "%s unexpectedly said: '%s'"
-msgstr ""
-
-#: transport-helper.c:417
-#, c-format
-msgid "%s also locked %s"
-msgstr ""
-
-#: transport-helper.c:497
-msgid "couldn't run fast-import"
-msgstr ""
-
-#: transport-helper.c:520
-msgid "error while running fast-import"
-msgstr ""
-
-#: transport-helper.c:549 transport-helper.c:1254
-#, c-format
-msgid "could not read ref %s"
-msgstr ""
-
-#: transport-helper.c:594
-#, c-format
-msgid "unknown response to connect: %s"
-msgstr ""
-
-#: transport-helper.c:616
-msgid "setting remote service path not supported by protocol"
-msgstr ""
-
-#: transport-helper.c:618
-msgid "invalid remote service path"
-msgstr ""
-
-#: transport-helper.c:661 transport.c:1496
-msgid "operation not supported by protocol"
-msgstr ""
-
-#: transport-helper.c:664
-#, c-format
-msgid "can't connect to subservice %s"
-msgstr ""
-
-#: transport-helper.c:693 transport.c:415
-msgid "--negotiate-only requires protocol v2"
-msgstr ""
-
-#: transport-helper.c:758
-msgid "'option' without a matching 'ok/error' directive"
-msgstr ""
-
-#: transport-helper.c:801
-#, c-format
-msgid "expected ok/error, helper said '%s'"
-msgstr ""
-
-#: transport-helper.c:862
-#, c-format
-msgid "helper reported unexpected status of %s"
-msgstr ""
-
-#: transport-helper.c:945
-#, c-format
-msgid "helper %s does not support dry-run"
-msgstr ""
-
-#: transport-helper.c:948
-#, c-format
-msgid "helper %s does not support --signed"
-msgstr ""
-
-#: transport-helper.c:951
-#, c-format
-msgid "helper %s does not support --signed=if-asked"
-msgstr ""
-
-#: transport-helper.c:956
-#, c-format
-msgid "helper %s does not support --atomic"
-msgstr ""
-
-#: transport-helper.c:960
-#, c-format
-msgid "helper %s does not support --%s"
-msgstr ""
-
-#: transport-helper.c:967
-#, c-format
-msgid "helper %s does not support 'push-option'"
-msgstr ""
-
-#: transport-helper.c:1067
-msgid "remote-helper doesn't support push; refspec needed"
-msgstr ""
-
-#: transport-helper.c:1072
-#, c-format
-msgid "helper %s does not support 'force'"
-msgstr ""
-
-#: transport-helper.c:1119
-msgid "couldn't run fast-export"
-msgstr ""
-
-#: transport-helper.c:1124
-msgid "error while running fast-export"
-msgstr ""
-
-#: transport-helper.c:1149
-#, c-format
-msgid ""
-"No refs in common and none specified; doing nothing.\n"
-"Perhaps you should specify a branch.\n"
-msgstr ""
-
-#: transport-helper.c:1231
-#, c-format
-msgid "unsupported object format '%s'"
-msgstr ""
-
-#: transport-helper.c:1240
-#, c-format
-msgid "malformed response in ref list: %s"
-msgstr ""
-
-#: transport-helper.c:1392
-#, c-format
-msgid "read(%s) failed"
-msgstr ""
-
-#: transport-helper.c:1419
-#, c-format
-msgid "write(%s) failed"
-msgstr ""
-
-#: transport-helper.c:1468
-#, c-format
-msgid "%s thread failed"
-msgstr ""
-
-#: transport-helper.c:1472
-#, c-format
-msgid "%s thread failed to join: %s"
-msgstr ""
-
-#: transport-helper.c:1491 transport-helper.c:1495
-#, c-format
-msgid "can't start thread for copying data: %s"
-msgstr ""
-
-#: transport-helper.c:1532
-#, c-format
-msgid "%s process failed to wait"
-msgstr ""
-
-#: transport-helper.c:1536
-#, c-format
-msgid "%s process failed"
-msgstr ""
-
-#: transport-helper.c:1554 transport-helper.c:1563
-msgid "can't start thread for copying data"
-msgstr ""
-
-#: transport.c:116
-#, c-format
-msgid "Would set upstream of '%s' to '%s' of '%s'\n"
-msgstr ""
-
-#: transport.c:138
-#, c-format
-msgid "could not read bundle '%s'"
-msgstr ""
-
-#: transport.c:234
-#, c-format
-msgid "transport: invalid depth option '%s'"
-msgstr ""
-
-#: transport.c:289
-msgid "see protocol.version in 'git help config' for more details"
-msgstr ""
-
-#: transport.c:290
-msgid "server options require protocol version 2 or later"
-msgstr ""
-
-#: transport.c:418
-msgid "server does not support wait-for-done"
-msgstr ""
-
-#: transport.c:770
-msgid "could not parse transport.color.* config"
-msgstr ""
-
-#: transport.c:845
-msgid "support for protocol v2 not implemented yet"
-msgstr ""
-
-#: transport.c:978
-#, c-format
-msgid "unknown value for config '%s': %s"
-msgstr ""
-
-#: transport.c:1044
-#, c-format
-msgid "transport '%s' not allowed"
-msgstr ""
-
-#: transport.c:1093
-msgid "git-over-rsync is no longer supported"
-msgstr ""
-
-#: transport.c:1196
-#, c-format
-msgid ""
-"The following submodule paths contain changes that can\n"
-"not be found on any remote:\n"
-msgstr ""
-
-#: transport.c:1200
-#, c-format
-msgid ""
-"\n"
-"Please try\n"
-"\n"
-"\tgit push --recurse-submodules=on-demand\n"
-"\n"
-"or cd to the path and use\n"
-"\n"
-"\tgit push\n"
-"\n"
-"to push them to a remote.\n"
-"\n"
-msgstr ""
-
-#: transport.c:1208
-msgid "Aborting."
-msgstr ""
-
-#: transport.c:1354
-msgid "failed to push all needed submodules"
-msgstr ""
-
-#: tree-walk.c:33
-msgid "too-short tree object"
-msgstr ""
-
-#: tree-walk.c:39
-msgid "malformed mode in tree entry"
-msgstr ""
-
-#: tree-walk.c:43
-msgid "empty filename in tree entry"
-msgstr ""
-
-#: tree-walk.c:118
-msgid "too-short tree file"
-msgstr ""
-
-#: unpack-trees.c:118
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by checkout:\n"
-"%%sPlease commit your changes or stash them before you switch branches."
-msgstr ""
-
-#: unpack-trees.c:120
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by checkout:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:123
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"%%sPlease commit your changes or stash them before you merge."
-msgstr ""
-
-#: unpack-trees.c:125
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:128
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by %s:\n"
-"%%sPlease commit your changes or stash them before you %s."
-msgstr ""
-
-#: unpack-trees.c:130
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by %s:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:135
-#, c-format
-msgid ""
-"Updating the following directories would lose untracked files in them:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:138
-#, c-format
-msgid ""
-"Refusing to remove the current working directory:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:142
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by checkout:\n"
-"%%sPlease move or remove them before you switch branches."
-msgstr ""
-
-#: unpack-trees.c:144
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by checkout:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:147
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by merge:\n"
-"%%sPlease move or remove them before you merge."
-msgstr ""
-
-#: unpack-trees.c:149
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by merge:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:152
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by %s:\n"
-"%%sPlease move or remove them before you %s."
-msgstr ""
-
-#: unpack-trees.c:154
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by %s:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:160
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by "
-"checkout:\n"
-"%%sPlease move or remove them before you switch branches."
-msgstr ""
-
-#: unpack-trees.c:162
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by "
-"checkout:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:165
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by merge:\n"
-"%%sPlease move or remove them before you merge."
-msgstr ""
-
-#: unpack-trees.c:167
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by merge:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:170
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by %s:\n"
-"%%sPlease move or remove them before you %s."
-msgstr ""
-
-#: unpack-trees.c:172
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by %s:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:180
-#, c-format
-msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
-msgstr ""
-
-#: unpack-trees.c:183
-#, c-format
-msgid ""
-"Cannot update submodule:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:186
-#, c-format
-msgid ""
-"The following paths are not up to date and were left despite sparse "
-"patterns:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:188
-#, c-format
-msgid ""
-"The following paths are unmerged and were left despite sparse patterns:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:190
-#, c-format
-msgid ""
-"The following paths were already present and thus not updated despite sparse "
-"patterns:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:270
-#, c-format
-msgid "Aborting\n"
-msgstr ""
-
-#: unpack-trees.c:297
-#, c-format
-msgid ""
-"After fixing the above paths, you may want to run `git sparse-checkout "
-"reapply`.\n"
-msgstr ""
-
-#: unpack-trees.c:358
-msgid "Updating files"
-msgstr ""
-
-#: unpack-trees.c:390
-msgid ""
-"the following paths have collided (e.g. case-sensitive paths\n"
-"on a case-insensitive filesystem) and only one from the same\n"
-"colliding group is in the working tree:\n"
-msgstr ""
-
-#: unpack-trees.c:1664
-msgid "Updating index flags"
-msgstr ""
-
-#: unpack-trees.c:2925
-#, c-format
-msgid "worktree and untracked commit have duplicate entries: %s"
-msgstr ""
-
-#: upload-pack.c:1579
-msgid "expected flush after fetch arguments"
-msgstr ""
-
-#: urlmatch.c:163
-msgid "invalid URL scheme name or missing '://' suffix"
-msgstr ""
-
-#: urlmatch.c:187 urlmatch.c:346 urlmatch.c:405
-#, c-format
-msgid "invalid %XX escape sequence"
-msgstr ""
-
-#: urlmatch.c:215
-msgid "missing host and scheme is not 'file:'"
-msgstr ""
-
-#: urlmatch.c:232
-msgid "a 'file:' URL may not have a port number"
-msgstr ""
-
-#: urlmatch.c:247
-msgid "invalid characters in host name"
-msgstr ""
-
-#: urlmatch.c:292 urlmatch.c:303
-msgid "invalid port number"
-msgstr ""
-
-#: urlmatch.c:371
-msgid "invalid '..' path segment"
-msgstr ""
-
-#: walker.c:170
-msgid "Fetching objects"
-msgstr ""
-
-#: worktree.c:237 builtin/am.c:2210 builtin/bisect--helper.c:156
-#, c-format
-msgid "failed to read '%s'"
-msgstr ""
-
-#: worktree.c:304
-#, c-format
-msgid "'%s' at main working tree is not the repository directory"
-msgstr ""
-
-#: worktree.c:315
-#, c-format
-msgid "'%s' file does not contain absolute path to the working tree location"
-msgstr ""
-
-#: worktree.c:327
-#, c-format
-msgid "'%s' does not exist"
-msgstr ""
-
-#: worktree.c:333
-#, c-format
-msgid "'%s' is not a .git file, error code %d"
-msgstr ""
-
-#: worktree.c:342
-#, c-format
-msgid "'%s' does not point back to '%s'"
-msgstr ""
-
-#: worktree.c:600
-msgid "not a directory"
-msgstr ""
-
-#: worktree.c:609
-msgid ".git is not a file"
-msgstr ""
-
-#: worktree.c:611
-msgid ".git file broken"
-msgstr ""
-
-#: worktree.c:613
-msgid ".git file incorrect"
-msgstr ""
-
-#: worktree.c:719
-msgid "not a valid path"
-msgstr ""
-
-#: worktree.c:725
-msgid "unable to locate repository; .git is not a file"
-msgstr ""
-
-#: worktree.c:729
-msgid "unable to locate repository; .git file does not reference a repository"
-msgstr ""
-
-#: worktree.c:733
-msgid "unable to locate repository; .git file broken"
-msgstr ""
-
-#: worktree.c:739
-msgid "gitdir unreadable"
-msgstr ""
-
-#: worktree.c:743
-msgid "gitdir incorrect"
-msgstr ""
-
-#: worktree.c:768
-msgid "not a valid directory"
-msgstr ""
-
-#: worktree.c:774
-msgid "gitdir file does not exist"
-msgstr ""
-
-#: worktree.c:779 worktree.c:788
-#, c-format
-msgid "unable to read gitdir file (%s)"
-msgstr ""
-
-#: worktree.c:798
-#, c-format
-msgid "short read (expected %<PRIuMAX> bytes, read %<PRIuMAX>)"
-msgstr ""
-
-#: worktree.c:806
-msgid "invalid gitdir file"
-msgstr ""
-
-#: worktree.c:814
-msgid "gitdir file points to non-existent location"
-msgstr ""
-
-#: worktree.c:830
-#, c-format
-msgid "unable to set %s in '%s'"
-msgstr ""
-
-#: worktree.c:832
-#, c-format
-msgid "unable to unset %s in '%s'"
-msgstr ""
-
-#: worktree.c:852
-msgid "failed to set extensions.worktreeConfig setting"
-msgstr ""
-
-#: wrapper.c:161
-#, c-format
-msgid "could not setenv '%s'"
-msgstr ""
-
-#: wrapper.c:213
-#, c-format
-msgid "unable to create '%s'"
-msgstr ""
-
-#: wrapper.c:215 wrapper.c:385
-#, c-format
-msgid "could not open '%s' for reading and writing"
-msgstr ""
-
-#: wrapper.c:416 wrapper.c:683
-#, c-format
-msgid "unable to access '%s'"
-msgstr ""
-
-#: wrapper.c:691
-msgid "unable to get current working directory"
-msgstr ""
-
-#: wt-status.c:158
-msgid "Unmerged paths:"
-msgstr ""
-
-#: wt-status.c:187 wt-status.c:219
-msgid "  (use \"git restore --staged <file>...\" to unstage)"
-msgstr ""
-
-#: wt-status.c:190 wt-status.c:222
-#, c-format
-msgid "  (use \"git restore --source=%s --staged <file>...\" to unstage)"
-msgstr ""
-
-#: wt-status.c:193 wt-status.c:225
-msgid "  (use \"git rm --cached <file>...\" to unstage)"
-msgstr ""
-
-#: wt-status.c:197
-msgid "  (use \"git add <file>...\" to mark resolution)"
-msgstr ""
-
-#: wt-status.c:199 wt-status.c:203
-msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
-msgstr ""
-
-#: wt-status.c:201
-msgid "  (use \"git rm <file>...\" to mark resolution)"
-msgstr ""
-
-#: wt-status.c:211 wt-status.c:1140
-msgid "Changes to be committed:"
-msgstr ""
-
-#: wt-status.c:234 wt-status.c:1149
-msgid "Changes not staged for commit:"
-msgstr ""
-
-#: wt-status.c:238
-msgid "  (use \"git add <file>...\" to update what will be committed)"
-msgstr ""
-
-#: wt-status.c:240
-msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
-msgstr ""
-
-#: wt-status.c:241
-msgid ""
-"  (use \"git restore <file>...\" to discard changes in working directory)"
-msgstr ""
-
-#: wt-status.c:243
-msgid "  (commit or discard the untracked or modified content in submodules)"
-msgstr ""
-
-#: wt-status.c:254
-#, c-format
-msgid "  (use \"git %s <file>...\" to include in what will be committed)"
-msgstr ""
-
-#: wt-status.c:266
-msgid "both deleted:"
-msgstr ""
-
-#: wt-status.c:268
-msgid "added by us:"
-msgstr ""
-
-#: wt-status.c:270
-msgid "deleted by them:"
-msgstr ""
-
-#: wt-status.c:272
-msgid "added by them:"
-msgstr ""
-
-#: wt-status.c:274
-msgid "deleted by us:"
-msgstr ""
-
-#: wt-status.c:276
-msgid "both added:"
-msgstr ""
-
-#: wt-status.c:278
-msgid "both modified:"
-msgstr ""
-
-#: wt-status.c:288
-msgid "new file:"
-msgstr ""
-
-#: wt-status.c:290
-msgid "copied:"
-msgstr ""
-
-#: wt-status.c:292
-msgid "deleted:"
-msgstr ""
-
-#: wt-status.c:294
-msgid "modified:"
-msgstr ""
-
-#: wt-status.c:296
-msgid "renamed:"
-msgstr ""
-
-#: wt-status.c:298
-msgid "typechange:"
-msgstr ""
-
-#: wt-status.c:300
-msgid "unknown:"
-msgstr ""
-
-#: wt-status.c:302
-msgid "unmerged:"
-msgstr ""
-
-#: wt-status.c:382
-msgid "new commits, "
-msgstr ""
-
-#: wt-status.c:384
-msgid "modified content, "
-msgstr ""
-
-#: wt-status.c:386
-msgid "untracked content, "
-msgstr ""
-
-#: wt-status.c:973
-#, c-format
-msgid "Your stash currently has %d entry"
-msgid_plural "Your stash currently has %d entries"
-msgstr[0] ""
-msgstr[1] ""
-
-#: wt-status.c:1004
-msgid "Submodules changed but not updated:"
-msgstr ""
-
-#: wt-status.c:1006
-msgid "Submodule changes to be committed:"
-msgstr ""
-
-#: wt-status.c:1088
-msgid ""
-"Do not modify or remove the line above.\n"
-"Everything below it will be ignored."
-msgstr ""
-
-#: wt-status.c:1180
-#, c-format
-msgid ""
-"\n"
-"It took %.2f seconds to compute the branch ahead/behind values.\n"
-"You can use '--no-ahead-behind' to avoid this.\n"
-msgstr ""
-
-#: wt-status.c:1210
-msgid "You have unmerged paths."
-msgstr ""
-
-#: wt-status.c:1213
-msgid "  (fix conflicts and run \"git commit\")"
-msgstr ""
-
-#: wt-status.c:1215
-msgid "  (use \"git merge --abort\" to abort the merge)"
-msgstr ""
-
-#: wt-status.c:1219
-msgid "All conflicts fixed but you are still merging."
-msgstr ""
-
-#: wt-status.c:1222
-msgid "  (use \"git commit\" to conclude merge)"
-msgstr ""
-
-#: wt-status.c:1233
-msgid "You are in the middle of an am session."
-msgstr ""
-
-#: wt-status.c:1236
-msgid "The current patch is empty."
-msgstr ""
-
-#: wt-status.c:1241
-msgid "  (fix conflicts and then run \"git am --continue\")"
-msgstr ""
-
-#: wt-status.c:1243
-msgid "  (use \"git am --skip\" to skip this patch)"
-msgstr ""
-
-#: wt-status.c:1246
-msgid ""
-"  (use \"git am --allow-empty\" to record this patch as an empty commit)"
-msgstr ""
-
-#: wt-status.c:1248
-msgid "  (use \"git am --abort\" to restore the original branch)"
-msgstr ""
-
-#: wt-status.c:1381
-msgid "git-rebase-todo is missing."
-msgstr ""
-
-#: wt-status.c:1383
-msgid "No commands done."
-msgstr ""
-
-#: wt-status.c:1386
-#, c-format
-msgid "Last command done (%<PRIuMAX> command done):"
-msgid_plural "Last commands done (%<PRIuMAX> commands done):"
-msgstr[0] ""
-msgstr[1] ""
-
-#: wt-status.c:1397
-#, c-format
-msgid "  (see more in file %s)"
-msgstr ""
-
-#: wt-status.c:1402
-msgid "No commands remaining."
-msgstr ""
-
-#: wt-status.c:1405
-#, c-format
-msgid "Next command to do (%<PRIuMAX> remaining command):"
-msgid_plural "Next commands to do (%<PRIuMAX> remaining commands):"
-msgstr[0] ""
-msgstr[1] ""
-
-#: wt-status.c:1413
-msgid "  (use \"git rebase --edit-todo\" to view and edit)"
-msgstr ""
-
-#: wt-status.c:1425
-#, c-format
-msgid "You are currently rebasing branch '%s' on '%s'."
-msgstr ""
-
-#: wt-status.c:1430
-msgid "You are currently rebasing."
-msgstr ""
-
-#: wt-status.c:1443
-msgid "  (fix conflicts and then run \"git rebase --continue\")"
-msgstr ""
-
-#: wt-status.c:1445
-msgid "  (use \"git rebase --skip\" to skip this patch)"
-msgstr ""
-
-#: wt-status.c:1447
-msgid "  (use \"git rebase --abort\" to check out the original branch)"
-msgstr ""
-
-#: wt-status.c:1454
-msgid "  (all conflicts fixed: run \"git rebase --continue\")"
-msgstr ""
-
-#: wt-status.c:1458
-#, c-format
-msgid ""
-"You are currently splitting a commit while rebasing branch '%s' on '%s'."
-msgstr ""
-
-#: wt-status.c:1463
-msgid "You are currently splitting a commit during a rebase."
-msgstr ""
-
-#: wt-status.c:1466
-msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
-msgstr ""
-
-#: wt-status.c:1470
-#, c-format
-msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
-msgstr ""
-
-#: wt-status.c:1475
-msgid "You are currently editing a commit during a rebase."
-msgstr ""
-
-#: wt-status.c:1478
-msgid "  (use \"git commit --amend\" to amend the current commit)"
-msgstr ""
-
-#: wt-status.c:1480
-msgid ""
-"  (use \"git rebase --continue\" once you are satisfied with your changes)"
-msgstr ""
-
-#: wt-status.c:1491
-msgid "Cherry-pick currently in progress."
-msgstr ""
-
-#: wt-status.c:1494
-#, c-format
-msgid "You are currently cherry-picking commit %s."
-msgstr ""
-
-#: wt-status.c:1501
-msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
-msgstr ""
-
-#: wt-status.c:1504
-msgid "  (run \"git cherry-pick --continue\" to continue)"
-msgstr ""
-
-#: wt-status.c:1507
-msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
-msgstr ""
-
-#: wt-status.c:1509
-msgid "  (use \"git cherry-pick --skip\" to skip this patch)"
-msgstr ""
-
-#: wt-status.c:1511
-msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
-msgstr ""
-
-#: wt-status.c:1521
-msgid "Revert currently in progress."
-msgstr ""
-
-#: wt-status.c:1524
-#, c-format
-msgid "You are currently reverting commit %s."
-msgstr ""
-
-#: wt-status.c:1530
-msgid "  (fix conflicts and run \"git revert --continue\")"
-msgstr ""
-
-#: wt-status.c:1533
-msgid "  (run \"git revert --continue\" to continue)"
-msgstr ""
-
-#: wt-status.c:1536
-msgid "  (all conflicts fixed: run \"git revert --continue\")"
-msgstr ""
-
-#: wt-status.c:1538
-msgid "  (use \"git revert --skip\" to skip this patch)"
-msgstr ""
-
-#: wt-status.c:1540
-msgid "  (use \"git revert --abort\" to cancel the revert operation)"
-msgstr ""
-
-#: wt-status.c:1550
-#, c-format
-msgid "You are currently bisecting, started from branch '%s'."
-msgstr ""
-
-#: wt-status.c:1554
-msgid "You are currently bisecting."
-msgstr ""
-
-#: wt-status.c:1557
-msgid "  (use \"git bisect reset\" to get back to the original branch)"
-msgstr ""
-
-#: wt-status.c:1568
-msgid "You are in a sparse checkout."
-msgstr ""
-
-#: wt-status.c:1571
-#, c-format
-msgid "You are in a sparse checkout with %d%% of tracked files present."
-msgstr ""
-
-#: wt-status.c:1815
-msgid "On branch "
-msgstr ""
-
-#: wt-status.c:1822
-msgid "interactive rebase in progress; onto "
-msgstr ""
-
-#: wt-status.c:1824
-msgid "rebase in progress; onto "
-msgstr ""
-
-#: wt-status.c:1829
-msgid "HEAD detached at "
-msgstr ""
-
-#: wt-status.c:1831
-msgid "HEAD detached from "
-msgstr ""
-
-#: wt-status.c:1834
-msgid "Not currently on any branch."
-msgstr ""
-
-#: wt-status.c:1851
-msgid "Initial commit"
-msgstr ""
-
-#: wt-status.c:1852
-msgid "No commits yet"
-msgstr ""
-
-#: wt-status.c:1866
-msgid "Untracked files"
-msgstr ""
-
-#: wt-status.c:1868
-msgid "Ignored files"
-msgstr ""
-
-#: wt-status.c:1872
-#, c-format
-msgid ""
-"It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
-"may speed it up, but you have to be careful not to forget to add\n"
-"new files yourself (see 'git help status')."
-msgstr ""
-
-#: wt-status.c:1878
-#, c-format
-msgid "Untracked files not listed%s"
-msgstr ""
-
-#: wt-status.c:1880
-msgid " (use -u option to show untracked files)"
-msgstr ""
-
-#: wt-status.c:1886
-msgid "No changes"
-msgstr ""
-
-#: wt-status.c:1891
-#, c-format
-msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
-msgstr ""
-
-#: wt-status.c:1895
-#, c-format
-msgid "no changes added to commit\n"
-msgstr ""
-
-#: wt-status.c:1899
-#, c-format
-msgid ""
-"nothing added to commit but untracked files present (use \"git add\" to "
-"track)\n"
-msgstr ""
-
-#: wt-status.c:1903
-#, c-format
-msgid "nothing added to commit but untracked files present\n"
-msgstr ""
-
-#: wt-status.c:1907
-#, c-format
-msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
-msgstr ""
-
-#: wt-status.c:1911 wt-status.c:1917
-#, c-format
-msgid "nothing to commit\n"
-msgstr ""
-
-#: wt-status.c:1914
-#, c-format
-msgid "nothing to commit (use -u to show untracked files)\n"
-msgstr ""
-
-#: wt-status.c:1919
-#, c-format
-msgid "nothing to commit, working tree clean\n"
-msgstr ""
-
-#: wt-status.c:2024
-msgid "No commits yet on "
-msgstr ""
-
-#: wt-status.c:2028
-msgid "HEAD (no branch)"
-msgstr ""
-
-#: wt-status.c:2059
-msgid "different"
-msgstr ""
-
-#: wt-status.c:2061 wt-status.c:2069
-msgid "behind "
-msgstr ""
-
-#: wt-status.c:2064 wt-status.c:2067
-msgid "ahead "
-msgstr ""
-
-#. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2605
-#, c-format
-msgid "cannot %s: You have unstaged changes."
-msgstr ""
-
-#: wt-status.c:2611
-msgid "additionally, your index contains uncommitted changes."
-msgstr ""
-
-#: wt-status.c:2613
-#, c-format
-msgid "cannot %s: Your index contains uncommitted changes."
-msgstr ""
-
-#: compat/simple-ipc/ipc-unix-socket.c:205
-msgid "could not send IPC command"
-msgstr ""
-
-#: compat/simple-ipc/ipc-unix-socket.c:212
-msgid "could not read IPC response"
-msgstr ""
-
-#: compat/simple-ipc/ipc-unix-socket.c:892
-#, c-format
-msgid "could not start accept_thread '%s'"
-msgstr ""
-
-#: compat/simple-ipc/ipc-unix-socket.c:904
-#, c-format
-msgid "could not start worker[0] for '%s'"
-msgstr ""
-
-#: compat/precompose_utf8.c:58 builtin/clone.c:353
-#, c-format
-msgid "failed to unlink '%s'"
-msgstr ""
-
-#: compat/fsmonitor/fsm-listen-darwin.c:355
-msgid "Unable to create FSEventStream."
-msgstr ""
-
-#: compat/fsmonitor/fsm-listen-darwin.c:403
-msgid "Failed to start the FSEventStream"
-msgstr ""
-
-#: builtin/add.c:26
-msgid "git add [<options>] [--] <pathspec>..."
-msgstr ""
-
-#: builtin/add.c:63
-#, c-format
-msgid "cannot chmod %cx '%s'"
-msgstr ""
-
-#: builtin/add.c:105
-#, c-format
-msgid "unexpected diff status %c"
-msgstr ""
-
-#: builtin/add.c:110 builtin/commit.c:299
-msgid "updating files failed"
-msgstr ""
-
-#: builtin/add.c:120
-#, c-format
-msgid "remove '%s'\n"
-msgstr ""
-
-#: builtin/add.c:204
-msgid "Unstaged changes after refreshing the index:"
-msgstr ""
-
-#: builtin/add.c:312 builtin/rev-parse.c:993
-msgid "Could not read the index"
-msgstr ""
-
-#: builtin/add.c:325
-msgid "Could not write patch"
-msgstr ""
-
-#: builtin/add.c:328
-msgid "editing patch failed"
-msgstr ""
-
-#: builtin/add.c:331
-#, c-format
-msgid "Could not stat '%s'"
-msgstr ""
-
-#: builtin/add.c:333
-msgid "Empty patch. Aborted."
-msgstr ""
-
-#: builtin/add.c:339
-#, c-format
-msgid "Could not apply '%s'"
-msgstr ""
-
-#: builtin/add.c:347
-msgid "The following paths are ignored by one of your .gitignore files:\n"
-msgstr ""
-
-#: builtin/add.c:367 builtin/clean.c:927 builtin/fetch.c:175 builtin/mv.c:124
-#: builtin/prune-packed.c:14 builtin/pull.c:208 builtin/push.c:550
-#: builtin/remote.c:1454 builtin/rm.c:244 builtin/send-pack.c:194
-msgid "dry run"
-msgstr ""
-
-#: builtin/add.c:368 builtin/check-ignore.c:22 builtin/commit.c:1483
-#: builtin/count-objects.c:98 builtin/fsck.c:789 builtin/log.c:2338
-#: builtin/mv.c:123 builtin/read-tree.c:120
-msgid "be verbose"
-msgstr ""
-
-#: builtin/add.c:370
-msgid "interactive picking"
-msgstr ""
-
-#: builtin/add.c:371 builtin/checkout.c:1599 builtin/reset.c:417
-msgid "select hunks interactively"
-msgstr ""
-
-#: builtin/add.c:372
-msgid "edit current diff and apply"
-msgstr ""
-
-#: builtin/add.c:373
-msgid "allow adding otherwise ignored files"
-msgstr ""
-
-#: builtin/add.c:374
-msgid "update tracked files"
-msgstr ""
-
-#: builtin/add.c:375
-msgid "renormalize EOL of tracked files (implies -u)"
-msgstr ""
-
-#: builtin/add.c:376
-msgid "record only the fact that the path will be added later"
-msgstr ""
-
-#: builtin/add.c:377
-msgid "add changes from all tracked and untracked files"
-msgstr ""
-
-#: builtin/add.c:380
-msgid "ignore paths removed in the working tree (same as --no-all)"
-msgstr ""
-
-#: builtin/add.c:382
-msgid "don't add, only refresh the index"
-msgstr ""
-
-#: builtin/add.c:383
-msgid "just skip files which cannot be added because of errors"
-msgstr ""
-
-#: builtin/add.c:384
-msgid "check if - even missing - files are ignored in dry run"
-msgstr ""
-
-#: builtin/add.c:385 builtin/mv.c:128 builtin/rm.c:251
-msgid "allow updating entries outside of the sparse-checkout cone"
-msgstr ""
-
-#: builtin/add.c:387 builtin/update-index.c:1023
-msgid "override the executable bit of the listed files"
-msgstr ""
-
-#: builtin/add.c:389
-msgid "warn when adding an embedded repository"
-msgstr ""
-
-#: builtin/add.c:407
-#, c-format
-msgid ""
-"You've added another git repository inside your current repository.\n"
-"Clones of the outer repository will not contain the contents of\n"
-"the embedded repository and will not know how to obtain it.\n"
-"If you meant to add a submodule, use:\n"
-"\n"
-"\tgit submodule add <url> %s\n"
-"\n"
-"If you added this path by mistake, you can remove it from the\n"
-"index with:\n"
-"\n"
-"\tgit rm --cached %s\n"
-"\n"
-"See \"git help submodule\" for more information."
-msgstr ""
-
-#: builtin/add.c:436
-#, c-format
-msgid "adding embedded git repository: %s"
-msgstr ""
-
-#: builtin/add.c:456
-msgid ""
-"Use -f if you really want to add them.\n"
-"Turn this message off by running\n"
-"\"git config advice.addIgnoredFile false\""
-msgstr ""
-
-#: builtin/add.c:471
-msgid "adding files failed"
-msgstr ""
-
-#: builtin/add.c:534
-#, c-format
-msgid "--chmod param '%s' must be either -x or +x"
-msgstr ""
-
-#: builtin/add.c:555 builtin/checkout.c:1770 builtin/commit.c:365
-#: builtin/reset.c:436 builtin/rm.c:275 builtin/stash.c:1702
-#, c-format
-msgid "'%s' and pathspec arguments cannot be used together"
-msgstr ""
-
-#: builtin/add.c:566
-#, c-format
-msgid "Nothing specified, nothing added.\n"
-msgstr ""
-
-#: builtin/add.c:568
-msgid ""
-"Maybe you wanted to say 'git add .'?\n"
-"Turn this message off by running\n"
-"\"git config advice.addEmptyPathspec false\""
-msgstr ""
-
-#: builtin/am.c:393
-msgid "could not parse author script"
-msgstr ""
-
-#: builtin/am.c:483
-#, c-format
-msgid "'%s' was deleted by the applypatch-msg hook"
-msgstr ""
-
-#: builtin/am.c:525
-#, c-format
-msgid "Malformed input line: '%s'."
-msgstr ""
-
-#: builtin/am.c:563
-#, c-format
-msgid "Failed to copy notes from '%s' to '%s'"
-msgstr ""
-
-#: builtin/am.c:589
-msgid "fseek failed"
-msgstr ""
-
-#: builtin/am.c:777
-#, c-format
-msgid "could not parse patch '%s'"
-msgstr ""
-
-#: builtin/am.c:842
-msgid "Only one StGIT patch series can be applied at once"
-msgstr ""
-
-#: builtin/am.c:890
-msgid "invalid timestamp"
-msgstr ""
-
-#: builtin/am.c:895 builtin/am.c:907
-msgid "invalid Date line"
-msgstr ""
-
-#: builtin/am.c:902
-msgid "invalid timezone offset"
-msgstr ""
-
-#: builtin/am.c:995
-msgid "Patch format detection failed."
-msgstr ""
-
-#: builtin/am.c:1000 builtin/clone.c:306
-#, c-format
-msgid "failed to create directory '%s'"
-msgstr ""
-
-#: builtin/am.c:1005
-msgid "Failed to split patches."
-msgstr ""
-
-#: builtin/am.c:1154
-#, c-format
-msgid "When you have resolved this problem, run \"%s --continue\"."
-msgstr ""
-
-#: builtin/am.c:1155
-#, c-format
-msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
-msgstr ""
-
-#: builtin/am.c:1160
-#, c-format
-msgid "To record the empty patch as an empty commit, run \"%s --allow-empty\"."
-msgstr ""
-
-#: builtin/am.c:1162
-#, c-format
-msgid "To restore the original branch and stop patching, run \"%s --abort\"."
-msgstr ""
-
-#: builtin/am.c:1257
-msgid "Patch sent with format=flowed; space at the end of lines might be lost."
-msgstr ""
-
-#: builtin/am.c:1345
-#, c-format
-msgid "missing author line in commit %s"
-msgstr ""
-
-#: builtin/am.c:1348
-#, c-format
-msgid "invalid ident line: %.*s"
-msgstr ""
-
-#: builtin/am.c:1567
-msgid "Repository lacks necessary blobs to fall back on 3-way merge."
-msgstr ""
-
-#: builtin/am.c:1569
-msgid "Using index info to reconstruct a base tree..."
-msgstr ""
-
-#: builtin/am.c:1588
-msgid ""
-"Did you hand edit your patch?\n"
-"It does not apply to blobs recorded in its index."
-msgstr ""
-
-#: builtin/am.c:1594
-msgid "Falling back to patching base and 3-way merge..."
-msgstr ""
-
-#: builtin/am.c:1620
-msgid "Failed to merge in the changes."
-msgstr ""
-
-#: builtin/am.c:1652
-msgid "applying to an empty history"
-msgstr ""
-
-#: builtin/am.c:1704 builtin/am.c:1708
-#, c-format
-msgid "cannot resume: %s does not exist."
-msgstr ""
-
-#: builtin/am.c:1726
-msgid "Commit Body is:"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
-#. in your translation. The program will only accept English
-#. input at this point.
-#.
-#: builtin/am.c:1736
-#, c-format
-msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
-msgstr ""
-
-#: builtin/am.c:1782 builtin/commit.c:410
-msgid "unable to write index file"
-msgstr ""
-
-#: builtin/am.c:1786
-#, c-format
-msgid "Dirty index: cannot apply patches (dirty: %s)"
-msgstr ""
-
-#: builtin/am.c:1828
-#, c-format
-msgid "Skipping: %.*s"
-msgstr ""
-
-#: builtin/am.c:1833
-#, c-format
-msgid "Creating an empty commit: %.*s"
-msgstr ""
-
-#: builtin/am.c:1837
-msgid "Patch is empty."
-msgstr ""
-
-#: builtin/am.c:1848 builtin/am.c:1917
-#, c-format
-msgid "Applying: %.*s"
-msgstr ""
-
-#: builtin/am.c:1865
-msgid "No changes -- Patch already applied."
-msgstr ""
-
-#: builtin/am.c:1871
-#, c-format
-msgid "Patch failed at %s %.*s"
-msgstr ""
-
-#: builtin/am.c:1875
-msgid "Use 'git am --show-current-patch=diff' to see the failed patch"
-msgstr ""
-
-#: builtin/am.c:1921
-msgid "No changes - recorded it as an empty commit."
-msgstr ""
-
-#: builtin/am.c:1923
-msgid ""
-"No changes - did you forget to use 'git add'?\n"
-"If there is nothing left to stage, chances are that something else\n"
-"already introduced the same changes; you might want to skip this patch."
-msgstr ""
-
-#: builtin/am.c:1931
-msgid ""
-"You still have unmerged paths in your index.\n"
-"You should 'git add' each file with resolved conflicts to mark them as "
-"such.\n"
-"You might run `git rm` on a file to accept \"deleted by them\" for it."
-msgstr ""
-
-#: builtin/am.c:2039 builtin/am.c:2043 builtin/am.c:2055 builtin/reset.c:455
-#: builtin/reset.c:463
-#, c-format
-msgid "Could not parse object '%s'."
-msgstr ""
-
-#: builtin/am.c:2091 builtin/am.c:2167
-msgid "failed to clean index"
-msgstr ""
-
-#: builtin/am.c:2135
-msgid ""
-"You seem to have moved HEAD since the last 'am' failure.\n"
-"Not rewinding to ORIG_HEAD"
-msgstr ""
-
-#: builtin/am.c:2292
-#, c-format
-msgid "options '%s=%s' and '%s=%s' cannot be used together"
-msgstr ""
-
-#: builtin/am.c:2323
-msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
-msgstr ""
-
-#: builtin/am.c:2324
-msgid "git am [<options>] (--continue | --skip | --abort)"
-msgstr ""
-
-#: builtin/am.c:2330
-msgid "run interactively"
-msgstr ""
-
-#: builtin/am.c:2332
-msgid "historical option -- no-op"
-msgstr ""
-
-#: builtin/am.c:2334
-msgid "allow fall back on 3way merging if needed"
-msgstr ""
-
-#: builtin/am.c:2335 builtin/init-db.c:547 builtin/prune-packed.c:16
-#: builtin/repack.c:646 builtin/stash.c:946
-msgid "be quiet"
-msgstr ""
-
-#: builtin/am.c:2337
-msgid "add a Signed-off-by trailer to the commit message"
-msgstr ""
-
-#: builtin/am.c:2340
-msgid "recode into utf8 (default)"
-msgstr ""
-
-#: builtin/am.c:2342
-msgid "pass -k flag to git-mailinfo"
-msgstr ""
-
-#: builtin/am.c:2344
-msgid "pass -b flag to git-mailinfo"
-msgstr ""
-
-#: builtin/am.c:2346
-msgid "pass -m flag to git-mailinfo"
-msgstr ""
-
-#: builtin/am.c:2348
-msgid "pass --keep-cr flag to git-mailsplit for mbox format"
-msgstr ""
-
-#: builtin/am.c:2351
-msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
-msgstr ""
-
-#: builtin/am.c:2354
-msgid "strip everything before a scissors line"
-msgstr ""
-
-#: builtin/am.c:2356
-msgid "pass it through git-mailinfo"
-msgstr ""
-
-#: builtin/am.c:2359 builtin/am.c:2362 builtin/am.c:2365 builtin/am.c:2368
-#: builtin/am.c:2371 builtin/am.c:2374 builtin/am.c:2377 builtin/am.c:2380
-#: builtin/am.c:2386
-msgid "pass it through git-apply"
-msgstr ""
-
-#: builtin/am.c:2376 builtin/commit.c:1514 builtin/fmt-merge-msg.c:18
-#: builtin/fmt-merge-msg.c:21 builtin/grep.c:920 builtin/merge.c:263
-#: builtin/pull.c:142 builtin/pull.c:204 builtin/pull.c:221
-#: builtin/rebase.c:1074 builtin/repack.c:657 builtin/repack.c:661
-#: builtin/repack.c:663 builtin/show-branch.c:650 builtin/show-ref.c:172
-#: builtin/tag.c:446 parse-options.h:159 parse-options.h:180
-#: parse-options.h:348
-msgid "n"
-msgstr ""
-
-#: builtin/am.c:2382 builtin/branch.c:695 builtin/bugreport.c:109
-#: builtin/cat-file.c:848 builtin/cat-file.c:852 builtin/cat-file.c:856
-#: builtin/for-each-ref.c:41 builtin/ls-tree.c:357 builtin/replace.c:555
-#: builtin/tag.c:480 builtin/verify-tag.c:38
-msgid "format"
-msgstr ""
-
-#: builtin/am.c:2383
-msgid "format the patch(es) are in"
-msgstr ""
-
-#: builtin/am.c:2389
-msgid "override error message when patch failure occurs"
-msgstr ""
-
-#: builtin/am.c:2391
-msgid "continue applying patches after resolving a conflict"
-msgstr ""
-
-#: builtin/am.c:2394
-msgid "synonyms for --continue"
-msgstr ""
-
-#: builtin/am.c:2397
-msgid "skip the current patch"
-msgstr ""
-
-#: builtin/am.c:2400
-msgid "restore the original branch and abort the patching operation"
-msgstr ""
-
-#: builtin/am.c:2403
-msgid "abort the patching operation but keep HEAD where it is"
-msgstr ""
-
-#: builtin/am.c:2407
-msgid "show the patch being applied"
-msgstr ""
-
-#: builtin/am.c:2411
-msgid "record the empty patch as an empty commit"
-msgstr ""
-
-#: builtin/am.c:2415
-msgid "lie about committer date"
-msgstr ""
-
-#: builtin/am.c:2417
-msgid "use current timestamp for author date"
-msgstr ""
-
-#: builtin/am.c:2419 builtin/commit-tree.c:118 builtin/commit.c:1642
-#: builtin/merge.c:302 builtin/pull.c:179 builtin/rebase.c:1127
-#: builtin/revert.c:117 builtin/tag.c:461
-msgid "key-id"
-msgstr ""
-
-#: builtin/am.c:2420 builtin/rebase.c:1128
-msgid "GPG-sign commits"
-msgstr ""
-
-#: builtin/am.c:2423
-msgid "how to handle empty patches"
-msgstr ""
-
-#: builtin/am.c:2426
-msgid "(internal use for git-rebase)"
-msgstr ""
-
-#: builtin/am.c:2444
-msgid ""
-"The -b/--binary option has been a no-op for long time, and\n"
-"it will be removed. Please do not use it anymore."
-msgstr ""
-
-#: builtin/am.c:2451
-msgid "failed to read the index"
-msgstr ""
-
-#: builtin/am.c:2466
-#, c-format
-msgid "previous rebase directory %s still exists but mbox given."
-msgstr ""
-
-#: builtin/am.c:2490
-#, c-format
-msgid ""
-"Stray %s directory found.\n"
-"Use \"git am --abort\" to remove it."
-msgstr ""
-
-#: builtin/am.c:2496
-msgid "Resolve operation not in progress, we are not resuming."
-msgstr ""
-
-#: builtin/am.c:2506
-msgid "interactive mode requires patches on the command line"
-msgstr ""
-
-#: builtin/apply.c:8
-msgid "git apply [<options>] [<patch>...]"
-msgstr ""
-
-#: builtin/archive.c:18
-msgid "could not redirect output"
-msgstr ""
-
-#: builtin/archive.c:35
-msgid "git archive: Remote with no URL"
-msgstr ""
-
-#: builtin/archive.c:59
-msgid "git archive: expected ACK/NAK, got a flush packet"
-msgstr ""
-
-#: builtin/archive.c:62
-#, c-format
-msgid "git archive: NACK %s"
-msgstr ""
-
-#: builtin/archive.c:63
-msgid "git archive: protocol error"
-msgstr ""
-
-#: builtin/archive.c:67
-msgid "git archive: expected a flush"
-msgstr ""
-
-#: builtin/bisect--helper.c:24
-msgid "git bisect--helper --bisect-reset [<commit>]"
-msgstr ""
-
-#: builtin/bisect--helper.c:26
-msgid ""
-"git bisect--helper --bisect-start [--term-{new,bad}=<term> --term-{old,good}"
-"=<term>] [--no-checkout] [--first-parent] [<bad> [<good>...]] [--] "
-"[<paths>...]"
-msgstr ""
-
-#: builtin/bisect--helper.c:29
-msgid "git bisect--helper --bisect-state (bad|new) [<rev>]"
-msgstr ""
-
-#: builtin/bisect--helper.c:30
-msgid "git bisect--helper --bisect-state (good|old) [<rev>...]"
-msgstr ""
-
-#: builtin/bisect--helper.c:31
-msgid "git bisect--helper --bisect-replay <filename>"
-msgstr ""
-
-#: builtin/bisect--helper.c:32
-msgid "git bisect--helper --bisect-skip [(<rev>|<range>)...]"
-msgstr ""
-
-#: builtin/bisect--helper.c:34
-msgid "git bisect--helper --bisect-run <cmd>..."
-msgstr ""
-
-#: builtin/bisect--helper.c:109
-#, c-format
-msgid "cannot open file '%s' in mode '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:116
-#, c-format
-msgid "could not write to file '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:154
-#, c-format
-msgid "cannot open file '%s' for reading"
-msgstr ""
-
-#: builtin/bisect--helper.c:170
-#, c-format
-msgid "'%s' is not a valid term"
-msgstr ""
-
-#: builtin/bisect--helper.c:174
-#, c-format
-msgid "can't use the builtin command '%s' as a term"
-msgstr ""
-
-#: builtin/bisect--helper.c:184
-#, c-format
-msgid "can't change the meaning of the term '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:194
-msgid "please use two different terms"
-msgstr ""
-
-#: builtin/bisect--helper.c:210
-#, c-format
-msgid "We are not bisecting.\n"
-msgstr ""
-
-#: builtin/bisect--helper.c:218
-#, c-format
-msgid "'%s' is not a valid commit"
-msgstr ""
-
-#: builtin/bisect--helper.c:227
-#, c-format
-msgid ""
-"could not check out original HEAD '%s'. Try 'git bisect reset <commit>'."
-msgstr ""
-
-#: builtin/bisect--helper.c:271
-#, c-format
-msgid "Bad bisect_write argument: %s"
-msgstr ""
-
-#: builtin/bisect--helper.c:276
-#, c-format
-msgid "couldn't get the oid of the rev '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:288
-#, c-format
-msgid "couldn't open the file '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:314
-#, c-format
-msgid "Invalid command: you're currently in a %s/%s bisect"
-msgstr ""
-
-#: builtin/bisect--helper.c:341
-#, c-format
-msgid ""
-"You need to give me at least one %s and %s revision.\n"
-"You can use \"git bisect %s\" and \"git bisect %s\" for that."
-msgstr ""
-
-#: builtin/bisect--helper.c:345
-#, c-format
-msgid ""
-"You need to start by \"git bisect start\".\n"
-"You then need to give me at least one %s and %s revision.\n"
-"You can use \"git bisect %s\" and \"git bisect %s\" for that."
-msgstr ""
-
-#: builtin/bisect--helper.c:365
-#, c-format
-msgid "bisecting only with a %s commit"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [Y] and [n] in your
-#. translation. The program will only accept English input
-#. at this point.
-#.
-#: builtin/bisect--helper.c:373
-msgid "Are you sure [Y/n]? "
-msgstr ""
-
-#: builtin/bisect--helper.c:434
-msgid "no terms defined"
-msgstr ""
-
-#: builtin/bisect--helper.c:437
-#, c-format
-msgid ""
-"Your current terms are %s for the old state\n"
-"and %s for the new state.\n"
-msgstr ""
-
-#: builtin/bisect--helper.c:447
-#, c-format
-msgid ""
-"invalid argument %s for 'git bisect terms'.\n"
-"Supported options are: --term-good|--term-old and --term-bad|--term-new."
-msgstr ""
-
-#: builtin/bisect--helper.c:514 builtin/bisect--helper.c:1038
-msgid "revision walk setup failed\n"
-msgstr ""
-
-#: builtin/bisect--helper.c:536
-#, c-format
-msgid "could not open '%s' for appending"
-msgstr ""
-
-#: builtin/bisect--helper.c:655 builtin/bisect--helper.c:668
-msgid "'' is not a valid term"
-msgstr ""
-
-#: builtin/bisect--helper.c:678
-#, c-format
-msgid "unrecognized option: '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:682
-#, c-format
-msgid "'%s' does not appear to be a valid revision"
-msgstr ""
-
-#: builtin/bisect--helper.c:713
-msgid "bad HEAD - I need a HEAD"
-msgstr ""
-
-#: builtin/bisect--helper.c:728
-#, c-format
-msgid "checking out '%s' failed. Try 'git bisect start <valid-branch>'."
-msgstr ""
-
-#: builtin/bisect--helper.c:749
-msgid "won't bisect on cg-seek'ed tree"
-msgstr ""
-
-#: builtin/bisect--helper.c:752
-msgid "bad HEAD - strange symbolic ref"
-msgstr ""
-
-#: builtin/bisect--helper.c:772
-#, c-format
-msgid "invalid ref: '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:830
-msgid "You need to start by \"git bisect start\"\n"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [Y] and [n] in your
-#. translation. The program will only accept English input
-#. at this point.
-#.
-#: builtin/bisect--helper.c:841
-msgid "Do you want me to do it for you [Y/n]? "
-msgstr ""
-
-#: builtin/bisect--helper.c:859
-msgid "Please call `--bisect-state` with at least one argument"
-msgstr ""
-
-#: builtin/bisect--helper.c:872
-#, c-format
-msgid "'git bisect %s' can take only one argument."
-msgstr ""
-
-#: builtin/bisect--helper.c:884 builtin/bisect--helper.c:897
-#, c-format
-msgid "Bad rev input: %s"
-msgstr ""
-
-#: builtin/bisect--helper.c:904
-#, c-format
-msgid "Bad rev input (not a commit): %s"
-msgstr ""
-
-#: builtin/bisect--helper.c:936
-msgid "We are not bisecting."
-msgstr ""
-
-#: builtin/bisect--helper.c:986
-#, c-format
-msgid "'%s'?? what are you talking about?"
-msgstr ""
-
-#: builtin/bisect--helper.c:998
-#, c-format
-msgid "cannot read file '%s' for replaying"
-msgstr ""
-
-#: builtin/bisect--helper.c:1120 builtin/bisect--helper.c:1152
-#, c-format
-msgid "running %s\n"
-msgstr ""
-
-#: builtin/bisect--helper.c:1145 builtin/bisect--helper.c:1335
-msgid "bisect run failed: no command provided."
-msgstr ""
-
-#: builtin/bisect--helper.c:1166
-#, c-format
-msgid "unable to verify '%s' on good revision"
-msgstr ""
-
-#: builtin/bisect--helper.c:1172
-#, c-format
-msgid "bogus exit code %d for good revision"
-msgstr ""
-
-#: builtin/bisect--helper.c:1180
-#, c-format
-msgid "bisect run failed: exit code %d from '%s' is < 0 or >= 128"
-msgstr ""
-
-#: builtin/bisect--helper.c:1195
-#, c-format
-msgid "cannot open file '%s' for writing"
-msgstr ""
-
-#: builtin/bisect--helper.c:1213
-msgid "bisect run cannot continue any more"
-msgstr ""
-
-#: builtin/bisect--helper.c:1215
-#, c-format
-msgid "bisect run success"
-msgstr ""
-
-#: builtin/bisect--helper.c:1218
-#, c-format
-msgid "bisect found first bad commit"
-msgstr ""
-
-#: builtin/bisect--helper.c:1221
-#, c-format
-msgid ""
-"bisect run failed: 'git bisect--helper --bisect-state %s' exited with error "
-"code %d"
-msgstr ""
-
-#: builtin/bisect--helper.c:1253
-msgid "reset the bisection state"
-msgstr ""
-
-#: builtin/bisect--helper.c:1255
-msgid "check whether bad or good terms exist"
-msgstr ""
-
-#: builtin/bisect--helper.c:1257
-msgid "print out the bisect terms"
-msgstr ""
-
-#: builtin/bisect--helper.c:1259
-msgid "start the bisect session"
-msgstr ""
-
-#: builtin/bisect--helper.c:1261
-msgid "find the next bisection commit"
-msgstr ""
-
-#: builtin/bisect--helper.c:1263
-msgid "mark the state of ref (or refs)"
-msgstr ""
-
-#: builtin/bisect--helper.c:1265
-msgid "list the bisection steps so far"
-msgstr ""
-
-#: builtin/bisect--helper.c:1267
-msgid "replay the bisection process from the given file"
-msgstr ""
-
-#: builtin/bisect--helper.c:1269
-msgid "skip some commits for checkout"
-msgstr ""
-
-#: builtin/bisect--helper.c:1271
-msgid "visualize the bisection"
-msgstr ""
-
-#: builtin/bisect--helper.c:1273
-msgid "use <cmd>... to automatically bisect"
-msgstr ""
-
-#: builtin/bisect--helper.c:1275
-msgid "no log for BISECT_WRITE"
-msgstr ""
-
-#: builtin/bisect--helper.c:1290
-msgid "--bisect-reset requires either no argument or a commit"
-msgstr ""
-
-#: builtin/bisect--helper.c:1295
-msgid "--bisect-terms requires 0 or 1 argument"
-msgstr ""
-
-#: builtin/bisect--helper.c:1304
-msgid "--bisect-next requires 0 arguments"
-msgstr ""
-
-#: builtin/bisect--helper.c:1315
-msgid "--bisect-log requires 0 arguments"
-msgstr ""
-
-#: builtin/bisect--helper.c:1320
-msgid "no logfile given"
-msgstr ""
-
-#: builtin/blame.c:32
-msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
-msgstr ""
-
-#: builtin/blame.c:37
-msgid "<rev-opts> are documented in git-rev-list(1)"
-msgstr ""
-
-#: builtin/blame.c:406
-#, c-format
-msgid "expecting a color: %s"
-msgstr ""
-
-#: builtin/blame.c:413
-msgid "must end with a color"
-msgstr ""
-
-#: builtin/blame.c:842
-#, c-format
-msgid "cannot find revision %s to ignore"
-msgstr ""
-
-#: builtin/blame.c:864
-msgid "show blame entries as we find them, incrementally"
-msgstr ""
-
-#: builtin/blame.c:865
-msgid "do not show object names of boundary commits (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:866
-msgid "do not treat root commits as boundaries (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:867
-msgid "show work cost statistics"
-msgstr ""
-
-#: builtin/blame.c:868 builtin/checkout.c:1554 builtin/clone.c:98
-#: builtin/commit-graph.c:75 builtin/commit-graph.c:228 builtin/fetch.c:181
-#: builtin/merge.c:301 builtin/multi-pack-index.c:103
-#: builtin/multi-pack-index.c:154 builtin/multi-pack-index.c:180
-#: builtin/multi-pack-index.c:208 builtin/pull.c:120 builtin/push.c:566
-#: builtin/remote.c:683 builtin/send-pack.c:202
-msgid "force progress reporting"
-msgstr ""
-
-#: builtin/blame.c:869
-msgid "show output score for blame entries"
-msgstr ""
-
-#: builtin/blame.c:870
-msgid "show original filename (Default: auto)"
-msgstr ""
-
-#: builtin/blame.c:871
-msgid "show original linenumber (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:872
-msgid "show in a format designed for machine consumption"
-msgstr ""
-
-#: builtin/blame.c:873
-msgid "show porcelain format with per-line commit information"
-msgstr ""
-
-#: builtin/blame.c:874
-msgid "use the same output mode as git-annotate (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:875
-msgid "show raw timestamp (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:876
-msgid "show long commit SHA1 (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:877
-msgid "suppress author name and timestamp (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:878
-msgid "show author email instead of name (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:879
-msgid "ignore whitespace differences"
-msgstr ""
-
-#: builtin/blame.c:880 builtin/log.c:1857
-msgid "rev"
-msgstr ""
-
-#: builtin/blame.c:880
-msgid "ignore <rev> when blaming"
-msgstr ""
-
-#: builtin/blame.c:881
-msgid "ignore revisions from <file>"
-msgstr ""
-
-#: builtin/blame.c:882
-msgid "color redundant metadata from previous line differently"
-msgstr ""
-
-#: builtin/blame.c:883
-msgid "color lines by age"
-msgstr ""
-
-#: builtin/blame.c:884
-msgid "spend extra cycles to find better match"
-msgstr ""
-
-#: builtin/blame.c:885
-msgid "use revisions from <file> instead of calling git-rev-list"
-msgstr ""
-
-#: builtin/blame.c:886
-msgid "use <file>'s contents as the final image"
-msgstr ""
-
-#: builtin/blame.c:887 builtin/blame.c:888
-msgid "score"
-msgstr ""
-
-#: builtin/blame.c:887
-msgid "find line copies within and across files"
-msgstr ""
-
-#: builtin/blame.c:888
-msgid "find line movements within and across files"
-msgstr ""
-
-#: builtin/blame.c:889
-msgid "range"
-msgstr ""
-
-#: builtin/blame.c:890
-msgid "process only line range <start>,<end> or function :<funcname>"
-msgstr ""
-
-#: builtin/blame.c:949
-msgid "--progress can't be used with --incremental or porcelain formats"
-msgstr ""
-
-#. TRANSLATORS: This string is used to tell us the
-#. maximum display width for a relative timestamp in
-#. "git blame" output.  For C locale, "4 years, 11
-#. months ago", which takes 22 places, is the longest
-#. among various forms of relative timestamps, but
-#. your language may need more or fewer display
-#. columns.
-#.
-#: builtin/blame.c:1000
-msgid "4 years, 11 months ago"
-msgstr ""
-
-#: builtin/blame.c:1116
-#, c-format
-msgid "file %s has only %lu line"
-msgid_plural "file %s has only %lu lines"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/blame.c:1161
-msgid "Blaming lines"
-msgstr ""
-
-#: builtin/branch.c:29
-msgid "git branch [<options>] [-r | -a] [--merged] [--no-merged]"
-msgstr ""
-
-#: builtin/branch.c:30
-msgid ""
-"git branch [<options>] [-f] [--recurse-submodules] <branch-name> [<start-"
-"point>]"
-msgstr ""
-
-#: builtin/branch.c:31
-msgid "git branch [<options>] [-l] [<pattern>...]"
-msgstr ""
-
-#: builtin/branch.c:32
-msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..."
-msgstr ""
-
-#: builtin/branch.c:33
-msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>"
-msgstr ""
-
-#: builtin/branch.c:34
-msgid "git branch [<options>] (-c | -C) [<old-branch>] <new-branch>"
-msgstr ""
-
-#: builtin/branch.c:35
-msgid "git branch [<options>] [-r | -a] [--points-at]"
-msgstr ""
-
-#: builtin/branch.c:36
-msgid "git branch [<options>] [-r | -a] [--format]"
-msgstr ""
-
-#: builtin/branch.c:165
-#, c-format
-msgid ""
-"deleting branch '%s' that has been merged to\n"
-"         '%s', but not yet merged to HEAD."
-msgstr ""
-
-#: builtin/branch.c:169
-#, c-format
-msgid ""
-"not deleting branch '%s' that is not yet merged to\n"
-"         '%s', even though it is merged to HEAD."
-msgstr ""
-
-#: builtin/branch.c:183
-#, c-format
-msgid "Couldn't look up commit object for '%s'"
-msgstr ""
-
-#: builtin/branch.c:187
-#, c-format
-msgid ""
-"The branch '%s' is not fully merged.\n"
-"If you are sure you want to delete it, run 'git branch -D %s'."
-msgstr ""
-
-#: builtin/branch.c:200
-msgid "Update of config-file failed"
-msgstr ""
-
-#: builtin/branch.c:235
-msgid "cannot use -a with -d"
-msgstr ""
-
-#: builtin/branch.c:242
-msgid "Couldn't look up commit object for HEAD"
-msgstr ""
-
-#: builtin/branch.c:259
-#, c-format
-msgid "Cannot delete branch '%s' checked out at '%s'"
-msgstr ""
-
-#: builtin/branch.c:274
-#, c-format
-msgid "remote-tracking branch '%s' not found."
-msgstr ""
-
-#: builtin/branch.c:275
-#, c-format
-msgid "branch '%s' not found."
-msgstr ""
-
-#: builtin/branch.c:306
-#, c-format
-msgid "Deleted remote-tracking branch %s (was %s).\n"
-msgstr ""
-
-#: builtin/branch.c:307
-#, c-format
-msgid "Deleted branch %s (was %s).\n"
-msgstr ""
-
-#: builtin/branch.c:457 builtin/tag.c:64
-msgid "unable to parse format string"
-msgstr ""
-
-#: builtin/branch.c:488
-msgid "could not resolve HEAD"
-msgstr ""
-
-#: builtin/branch.c:494
-#, c-format
-msgid "HEAD (%s) points outside of refs/heads/"
-msgstr ""
-
-#: builtin/branch.c:509
-#, c-format
-msgid "Branch %s is being rebased at %s"
-msgstr ""
-
-#: builtin/branch.c:513
-#, c-format
-msgid "Branch %s is being bisected at %s"
-msgstr ""
-
-#: builtin/branch.c:530
-msgid "cannot copy the current branch while not on any."
-msgstr ""
-
-#: builtin/branch.c:532
-msgid "cannot rename the current branch while not on any."
-msgstr ""
-
-#: builtin/branch.c:543
-#, c-format
-msgid "Invalid branch name: '%s'"
-msgstr ""
-
-#: builtin/branch.c:572
-msgid "Branch rename failed"
-msgstr ""
-
-#: builtin/branch.c:574
-msgid "Branch copy failed"
-msgstr ""
-
-#: builtin/branch.c:578
-#, c-format
-msgid "Created a copy of a misnamed branch '%s'"
-msgstr ""
-
-#: builtin/branch.c:581
-#, c-format
-msgid "Renamed a misnamed branch '%s' away"
-msgstr ""
-
-#: builtin/branch.c:587
-#, c-format
-msgid "Branch renamed to %s, but HEAD is not updated!"
-msgstr ""
-
-#: builtin/branch.c:596
-msgid "Branch is renamed, but update of config-file failed"
-msgstr ""
-
-#: builtin/branch.c:598
-msgid "Branch is copied, but update of config-file failed"
-msgstr ""
-
-#: builtin/branch.c:614
-#, c-format
-msgid ""
-"Please edit the description for the branch\n"
-"  %s\n"
-"Lines starting with '%c' will be stripped.\n"
-msgstr ""
-
-#: builtin/branch.c:651
-msgid "Generic options"
-msgstr ""
-
-#: builtin/branch.c:653
-msgid "show hash and subject, give twice for upstream branch"
-msgstr ""
-
-#: builtin/branch.c:654
-msgid "suppress informational messages"
-msgstr ""
-
-#: builtin/branch.c:656 builtin/checkout.c:1571
-#: builtin/submodule--helper.c:3077
-msgid "set branch tracking configuration"
-msgstr ""
-
-#: builtin/branch.c:659
-msgid "do not use"
-msgstr ""
-
-#: builtin/branch.c:661
-msgid "upstream"
-msgstr ""
-
-#: builtin/branch.c:661
-msgid "change the upstream info"
-msgstr ""
-
-#: builtin/branch.c:662
-msgid "unset the upstream info"
-msgstr ""
-
-#: builtin/branch.c:663
-msgid "use colored output"
-msgstr ""
-
-#: builtin/branch.c:664
-msgid "act on remote-tracking branches"
-msgstr ""
-
-#: builtin/branch.c:666 builtin/branch.c:668
-msgid "print only branches that contain the commit"
-msgstr ""
-
-#: builtin/branch.c:667 builtin/branch.c:669
-msgid "print only branches that don't contain the commit"
-msgstr ""
-
-#: builtin/branch.c:672
-msgid "Specific git-branch actions:"
-msgstr ""
-
-#: builtin/branch.c:673
-msgid "list both remote-tracking and local branches"
-msgstr ""
-
-#: builtin/branch.c:675
-msgid "delete fully merged branch"
-msgstr ""
-
-#: builtin/branch.c:676
-msgid "delete branch (even if not merged)"
-msgstr ""
-
-#: builtin/branch.c:677
-msgid "move/rename a branch and its reflog"
-msgstr ""
-
-#: builtin/branch.c:678
-msgid "move/rename a branch, even if target exists"
-msgstr ""
-
-#: builtin/branch.c:679
-msgid "copy a branch and its reflog"
-msgstr ""
-
-#: builtin/branch.c:680
-msgid "copy a branch, even if target exists"
-msgstr ""
-
-#: builtin/branch.c:681
-msgid "list branch names"
-msgstr ""
-
-#: builtin/branch.c:682
-msgid "show current branch name"
-msgstr ""
-
-#: builtin/branch.c:683 builtin/submodule--helper.c:3075
-msgid "create the branch's reflog"
-msgstr ""
-
-#: builtin/branch.c:685
-msgid "edit the description for the branch"
-msgstr ""
-
-#: builtin/branch.c:686
-msgid "force creation, move/rename, deletion"
-msgstr ""
-
-#: builtin/branch.c:687
-msgid "print only branches that are merged"
-msgstr ""
-
-#: builtin/branch.c:688
-msgid "print only branches that are not merged"
-msgstr ""
-
-#: builtin/branch.c:689
-msgid "list branches in columns"
-msgstr ""
-
-#: builtin/branch.c:691 builtin/for-each-ref.c:45 builtin/notes.c:413
-#: builtin/notes.c:416 builtin/notes.c:579 builtin/notes.c:582
-#: builtin/tag.c:476
-msgid "object"
-msgstr ""
-
-#: builtin/branch.c:692
-msgid "print only branches of the object"
-msgstr ""
-
-#: builtin/branch.c:693 builtin/for-each-ref.c:51 builtin/tag.c:483
-msgid "sorting and filtering are case insensitive"
-msgstr ""
-
-#: builtin/branch.c:694 builtin/ls-files.c:667
-msgid "recurse through submodules"
-msgstr ""
-
-#: builtin/branch.c:695 builtin/for-each-ref.c:41 builtin/ls-tree.c:358
-#: builtin/tag.c:481 builtin/verify-tag.c:38
-msgid "format to use for the output"
-msgstr ""
-
-#: builtin/branch.c:718 builtin/clone.c:684
-msgid "HEAD not found below refs/heads!"
-msgstr ""
-
-#: builtin/branch.c:739
-msgid ""
-"branch with --recurse-submodules can only be used if submodule."
-"propagateBranches is enabled"
-msgstr ""
-
-#: builtin/branch.c:741
-msgid "--recurse-submodules can only be used to create branches"
-msgstr ""
-
-#: builtin/branch.c:770 builtin/branch.c:826 builtin/branch.c:835
-msgid "branch name required"
-msgstr ""
-
-#: builtin/branch.c:802
-msgid "Cannot give description to detached HEAD"
-msgstr ""
-
-#: builtin/branch.c:807
-msgid "cannot edit description of more than one branch"
-msgstr ""
-
-#: builtin/branch.c:814
-#, c-format
-msgid "No commit on branch '%s' yet."
-msgstr ""
-
-#: builtin/branch.c:817
-#, c-format
-msgid "No branch named '%s'."
-msgstr ""
-
-#: builtin/branch.c:832
-msgid "too many branches for a copy operation"
-msgstr ""
-
-#: builtin/branch.c:841
-msgid "too many arguments for a rename operation"
-msgstr ""
-
-#: builtin/branch.c:846
-msgid "too many arguments to set new upstream"
-msgstr ""
-
-#: builtin/branch.c:850
-#, c-format
-msgid ""
-"could not set upstream of HEAD to %s when it does not point to any branch."
-msgstr ""
-
-#: builtin/branch.c:853 builtin/branch.c:873
-#, c-format
-msgid "no such branch '%s'"
-msgstr ""
-
-#: builtin/branch.c:857
-#, c-format
-msgid "branch '%s' does not exist"
-msgstr ""
-
-#: builtin/branch.c:867
-msgid "too many arguments to unset upstream"
-msgstr ""
-
-#: builtin/branch.c:871
-msgid "could not unset upstream of HEAD when it does not point to any branch."
-msgstr ""
-
-#: builtin/branch.c:877
-#, c-format
-msgid "Branch '%s' has no upstream information"
-msgstr ""
-
-#: builtin/branch.c:890
-msgid ""
-"The -a, and -r, options to 'git branch' do not take a branch name.\n"
-"Did you mean to use: -a|-r --list <pattern>?"
-msgstr ""
-
-#: builtin/branch.c:894
-msgid ""
-"the '--set-upstream' option is no longer supported. Please use '--track' or "
-"'--set-upstream-to' instead."
-msgstr ""
-
-#: builtin/bugreport.c:16
-msgid "git version:\n"
-msgstr ""
-
-#: builtin/bugreport.c:22
-#, c-format
-msgid "uname() failed with error '%s' (%d)\n"
-msgstr ""
-
-#: builtin/bugreport.c:32
-msgid "compiler info: "
-msgstr ""
-
-#: builtin/bugreport.c:35
-msgid "libc info: "
-msgstr ""
-
-#: builtin/bugreport.c:49
-msgid "not run from a git repository - no hooks to show\n"
-msgstr ""
-
-#: builtin/bugreport.c:62
-msgid "git bugreport [-o|--output-directory <file>] [-s|--suffix <format>]"
-msgstr ""
-
-#: builtin/bugreport.c:69
-msgid ""
-"Thank you for filling out a Git bug report!\n"
-"Please answer the following questions to help us understand your issue.\n"
-"\n"
-"What did you do before the bug happened? (Steps to reproduce your issue)\n"
-"\n"
-"What did you expect to happen? (Expected behavior)\n"
-"\n"
-"What happened instead? (Actual behavior)\n"
-"\n"
-"What's different between what you expected and what actually happened?\n"
-"\n"
-"Anything else you want to add:\n"
-"\n"
-"Please review the rest of the bug report below.\n"
-"You can delete any lines you don't wish to share.\n"
-msgstr ""
-
-#: builtin/bugreport.c:108
-msgid "specify a destination for the bugreport file"
-msgstr ""
-
-#: builtin/bugreport.c:110
-msgid "specify a strftime format suffix for the filename"
-msgstr ""
-
-#: builtin/bugreport.c:132
-#, c-format
-msgid "could not create leading directories for '%s'"
-msgstr ""
-
-#: builtin/bugreport.c:139
-msgid "System Info"
-msgstr ""
-
-#: builtin/bugreport.c:142
-msgid "Enabled Hooks"
-msgstr ""
-
-#: builtin/bugreport.c:149
-#, c-format
-msgid "unable to write to %s"
-msgstr ""
-
-#: builtin/bugreport.c:159
-#, c-format
-msgid "Created new report at '%s'.\n"
-msgstr ""
-
-#: builtin/bundle.c:15 builtin/bundle.c:23
-msgid "git bundle create [<options>] <file> <git-rev-list args>"
-msgstr ""
-
-#: builtin/bundle.c:16 builtin/bundle.c:28
-msgid "git bundle verify [<options>] <file>"
-msgstr ""
-
-#: builtin/bundle.c:17 builtin/bundle.c:33
-msgid "git bundle list-heads <file> [<refname>...]"
-msgstr ""
-
-#: builtin/bundle.c:18 builtin/bundle.c:38
-msgid "git bundle unbundle <file> [<refname>...]"
-msgstr ""
-
-#: builtin/bundle.c:65 builtin/pack-objects.c:3899
-msgid "do not show progress meter"
-msgstr ""
-
-#: builtin/bundle.c:67 builtin/bundle.c:168 builtin/pack-objects.c:3901
-msgid "show progress meter"
-msgstr ""
-
-#: builtin/bundle.c:69 builtin/pack-objects.c:3903
-msgid "show progress meter during object writing phase"
-msgstr ""
-
-#: builtin/bundle.c:72 builtin/pack-objects.c:3906
-msgid "similar to --all-progress when progress meter is shown"
-msgstr ""
-
-#: builtin/bundle.c:74
-msgid "specify bundle format version"
-msgstr ""
-
-#: builtin/bundle.c:94
-msgid "Need a repository to create a bundle."
-msgstr ""
-
-#: builtin/bundle.c:108
-msgid "do not show bundle details"
-msgstr ""
-
-#: builtin/bundle.c:127
-#, c-format
-msgid "%s is okay\n"
-msgstr ""
-
-#: builtin/bundle.c:183
-msgid "Need a repository to unbundle."
-msgstr ""
-
-#: builtin/bundle.c:186
-msgid "Unbundling objects"
-msgstr ""
-
-#: builtin/bundle.c:220 builtin/remote.c:1758
-#, c-format
-msgid "Unknown subcommand: %s"
-msgstr ""
-
-#: builtin/cat-file.c:568
-msgid "flush is only for --buffer mode"
-msgstr ""
-
-#: builtin/cat-file.c:612
-msgid "empty command in input"
-msgstr ""
-
-#: builtin/cat-file.c:614
-#, c-format
-msgid "whitespace before command: '%s'"
-msgstr ""
-
-#: builtin/cat-file.c:623
-#, c-format
-msgid "%s requires arguments"
-msgstr ""
-
-#: builtin/cat-file.c:628
-#, c-format
-msgid "%s takes no arguments"
-msgstr ""
-
-#: builtin/cat-file.c:636
-#, c-format
-msgid "unknown command: '%s'"
-msgstr ""
-
-#: builtin/cat-file.c:795
-msgid "only one batch option may be specified"
-msgstr ""
-
-#: builtin/cat-file.c:824
-msgid "git cat-file <type> <object>"
-msgstr ""
-
-#: builtin/cat-file.c:825
-msgid "git cat-file (-e | -p) <object>"
-msgstr ""
-
-#: builtin/cat-file.c:826
-msgid "git cat-file (-t | -s) [--allow-unknown-type] <object>"
-msgstr ""
-
-#: builtin/cat-file.c:827
-msgid ""
-"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
-"objects]\n"
-"             [--buffer] [--follow-symlinks] [--unordered]\n"
-"             [--textconv | --filters]"
-msgstr ""
-
-#: builtin/cat-file.c:830
-msgid ""
-"git cat-file (--textconv | --filters)\n"
-"             [<rev>:<path|tree-ish> | --path=<path|tree-ish> <rev>]"
-msgstr ""
-
-#: builtin/cat-file.c:836
-msgid "Check object existence or emit object contents"
-msgstr ""
-
-#: builtin/cat-file.c:838
-msgid "check if <object> exists"
-msgstr ""
-
-#: builtin/cat-file.c:839
-msgid "pretty-print <object> content"
-msgstr ""
-
-#: builtin/cat-file.c:841
-msgid "Emit [broken] object attributes"
-msgstr ""
-
-#: builtin/cat-file.c:842
-msgid "show object type (one of 'blob', 'tree', 'commit', 'tag', ...)"
-msgstr ""
-
-#: builtin/cat-file.c:843
-msgid "show object size"
-msgstr ""
-
-#: builtin/cat-file.c:845
-msgid "allow -s and -t to work with broken/corrupt objects"
-msgstr ""
-
-#: builtin/cat-file.c:847
-msgid "Batch objects requested on stdin (or --batch-all-objects)"
-msgstr ""
-
-#: builtin/cat-file.c:849
-msgid "show full <object> or <rev> contents"
-msgstr ""
-
-#: builtin/cat-file.c:853
-msgid "like --batch, but don't emit <contents>"
-msgstr ""
-
-#: builtin/cat-file.c:857
-msgid "read commands from stdin"
-msgstr ""
-
-#: builtin/cat-file.c:861
-msgid "with --batch[-check]: ignores stdin, batches all known objects"
-msgstr ""
-
-#: builtin/cat-file.c:863
-msgid "Change or optimize batch output"
-msgstr ""
-
-#: builtin/cat-file.c:864
-msgid "buffer --batch output"
-msgstr ""
-
-#: builtin/cat-file.c:866
-msgid "follow in-tree symlinks"
-msgstr ""
-
-#: builtin/cat-file.c:868
-msgid "do not order objects before emitting them"
-msgstr ""
-
-#: builtin/cat-file.c:870
-msgid ""
-"Emit object (blob or tree) with conversion or filter (stand-alone, or with "
-"batch)"
-msgstr ""
-
-#: builtin/cat-file.c:872
-msgid "run textconv on object's content"
-msgstr ""
-
-#: builtin/cat-file.c:874
-msgid "run filters on object's content"
-msgstr ""
-
-#: builtin/cat-file.c:875
-msgid "blob|tree"
-msgstr ""
-
-#: builtin/cat-file.c:876
-msgid "use a <path> for (--textconv | --filters); Not with 'batch'"
-msgstr ""
-
-#: builtin/cat-file.c:894
-#, c-format
-msgid "'%s=<%s>' needs '%s' or '%s'"
-msgstr ""
-
-#: builtin/cat-file.c:896
-msgid "path|tree-ish"
-msgstr ""
-
-#: builtin/cat-file.c:903 builtin/cat-file.c:906 builtin/cat-file.c:909
-#, c-format
-msgid "'%s' requires a batch mode"
-msgstr ""
-
-#: builtin/cat-file.c:921
-#, c-format
-msgid "'-%c' is incompatible with batch mode"
-msgstr ""
-
-#: builtin/cat-file.c:924
-msgid "batch modes take no arguments"
-msgstr ""
-
-#: builtin/cat-file.c:932 builtin/cat-file.c:935
-#, c-format
-msgid "<rev> required with '%s'"
-msgstr ""
-
-#: builtin/cat-file.c:938
-#, c-format
-msgid "<object> required with '-%c'"
-msgstr ""
-
-#: builtin/cat-file.c:943 builtin/notes.c:374 builtin/notes.c:429
-#: builtin/notes.c:507 builtin/notes.c:519 builtin/notes.c:596
-#: builtin/notes.c:663 builtin/notes.c:813 builtin/notes.c:965
-#: builtin/notes.c:987 builtin/prune-packed.c:25 builtin/receive-pack.c:2489
-#: builtin/tag.c:592
-msgid "too many arguments"
-msgstr ""
-
-#: builtin/cat-file.c:947
-#, c-format
-msgid "only two arguments allowed in <type> <object> mode, not %d"
-msgstr ""
-
-#: builtin/check-attr.c:13
-msgid "git check-attr [-a | --all | <attr>...] [--] <pathname>..."
-msgstr ""
-
-#: builtin/check-attr.c:14
-msgid "git check-attr --stdin [-z] [-a | --all | <attr>...]"
-msgstr ""
-
-#: builtin/check-attr.c:21
-msgid "report all attributes set on file"
-msgstr ""
-
-#: builtin/check-attr.c:22
-msgid "use .gitattributes only from the index"
-msgstr ""
-
-#: builtin/check-attr.c:23 builtin/check-ignore.c:25 builtin/hash-object.c:101
-msgid "read file names from stdin"
-msgstr ""
-
-#: builtin/check-attr.c:25 builtin/check-ignore.c:27
-msgid "terminate input and output records by a NUL character"
-msgstr ""
-
-#: builtin/check-ignore.c:21 builtin/checkout.c:1550 builtin/gc.c:550
-#: builtin/worktree.c:565
-msgid "suppress progress reporting"
-msgstr ""
-
-#: builtin/check-ignore.c:29
-msgid "show non-matching input paths"
-msgstr ""
-
-#: builtin/check-ignore.c:31
-msgid "ignore index when checking"
-msgstr ""
-
-#: builtin/check-ignore.c:165
-msgid "cannot specify pathnames with --stdin"
-msgstr ""
-
-#: builtin/check-ignore.c:168
-msgid "-z only makes sense with --stdin"
-msgstr ""
-
-#: builtin/check-ignore.c:170
-msgid "no path specified"
-msgstr ""
-
-#: builtin/check-ignore.c:174
-msgid "--quiet is only valid with a single pathname"
-msgstr ""
-
-#: builtin/check-ignore.c:176
-msgid "cannot have both --quiet and --verbose"
-msgstr ""
-
-#: builtin/check-ignore.c:179
-msgid "--non-matching is only valid with --verbose"
-msgstr ""
-
-#: builtin/check-mailmap.c:9
-msgid "git check-mailmap [<options>] <contact>..."
-msgstr ""
-
-#: builtin/check-mailmap.c:14
-msgid "also read contacts from stdin"
-msgstr ""
-
-#: builtin/check-mailmap.c:25
-#, c-format
-msgid "unable to parse contact: %s"
-msgstr ""
-
-#: builtin/check-mailmap.c:48
-msgid "no contacts specified"
-msgstr ""
-
-#: builtin/checkout--worker.c:110
-msgid "git checkout--worker [<options>]"
-msgstr ""
-
-#: builtin/checkout--worker.c:118 builtin/checkout-index.c:235
-#: builtin/column.c:31 builtin/column.c:32 builtin/submodule--helper.c:1878
-#: builtin/submodule--helper.c:1881 builtin/submodule--helper.c:1889
-#: builtin/submodule--helper.c:2716 builtin/worktree.c:563
-#: builtin/worktree.c:808
-msgid "string"
-msgstr ""
-
-#: builtin/checkout--worker.c:119 builtin/checkout-index.c:236
-msgid "when creating files, prepend <string>"
-msgstr ""
-
-#: builtin/checkout-index.c:184
-msgid "git checkout-index [<options>] [--] [<file>...]"
-msgstr ""
-
-#: builtin/checkout-index.c:201
-msgid "stage should be between 1 and 3 or all"
-msgstr ""
-
-#: builtin/checkout-index.c:219
-msgid "check out all files in the index"
-msgstr ""
-
-#: builtin/checkout-index.c:221
-msgid "do not skip files with skip-worktree set"
-msgstr ""
-
-#: builtin/checkout-index.c:222
-msgid "force overwrite of existing files"
-msgstr ""
-
-#: builtin/checkout-index.c:224
-msgid "no warning for existing files and files not in index"
-msgstr ""
-
-#: builtin/checkout-index.c:226
-msgid "don't checkout new files"
-msgstr ""
-
-#: builtin/checkout-index.c:228
-msgid "update stat information in the index file"
-msgstr ""
-
-#: builtin/checkout-index.c:232
-msgid "read list of paths from the standard input"
-msgstr ""
-
-#: builtin/checkout-index.c:234
-msgid "write the content to temporary files"
-msgstr ""
-
-#: builtin/checkout-index.c:238
-msgid "copy out the files from named stage"
-msgstr ""
-
-#: builtin/checkout.c:34
-msgid "git checkout [<options>] <branch>"
-msgstr ""
-
-#: builtin/checkout.c:35
-msgid "git checkout [<options>] [<branch>] -- <file>..."
-msgstr ""
-
-#: builtin/checkout.c:40
-msgid "git switch [<options>] [<branch>]"
-msgstr ""
-
-#: builtin/checkout.c:45
-msgid "git restore [<options>] [--source=<branch>] <file>..."
-msgstr ""
-
-#: builtin/checkout.c:199 builtin/checkout.c:238
-#, c-format
-msgid "path '%s' does not have our version"
-msgstr ""
-
-#: builtin/checkout.c:201 builtin/checkout.c:240
-#, c-format
-msgid "path '%s' does not have their version"
-msgstr ""
-
-#: builtin/checkout.c:217
-#, c-format
-msgid "path '%s' does not have all necessary versions"
-msgstr ""
-
-#: builtin/checkout.c:271
-#, c-format
-msgid "path '%s' does not have necessary versions"
-msgstr ""
-
-#: builtin/checkout.c:291
-#, c-format
-msgid "path '%s': cannot merge"
-msgstr ""
-
-#: builtin/checkout.c:307
-#, c-format
-msgid "Unable to add merge result for '%s'"
-msgstr ""
-
-#: builtin/checkout.c:424
-#, c-format
-msgid "Recreated %d merge conflict"
-msgid_plural "Recreated %d merge conflicts"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:429
-#, c-format
-msgid "Updated %d path from %s"
-msgid_plural "Updated %d paths from %s"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:436
-#, c-format
-msgid "Updated %d path from the index"
-msgid_plural "Updated %d paths from the index"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:459 builtin/checkout.c:462 builtin/checkout.c:465
-#: builtin/checkout.c:469
-#, c-format
-msgid "'%s' cannot be used with updating paths"
-msgstr ""
-
-#: builtin/checkout.c:479
-#, c-format
-msgid "Cannot update paths and switch to branch '%s' at the same time."
-msgstr ""
-
-#: builtin/checkout.c:483
-#, c-format
-msgid "neither '%s' or '%s' is specified"
-msgstr ""
-
-#: builtin/checkout.c:487
-#, c-format
-msgid "'%s' must be used when '%s' is not specified"
-msgstr ""
-
-#: builtin/checkout.c:492 builtin/checkout.c:497
-#, c-format
-msgid "'%s' or '%s' cannot be used with %s"
-msgstr ""
-
-#: builtin/checkout.c:571 builtin/checkout.c:578
-#, c-format
-msgid "path '%s' is unmerged"
-msgstr ""
-
-#: builtin/checkout.c:753
-msgid "you need to resolve your current index first"
-msgstr ""
-
-#: builtin/checkout.c:809
-#, c-format
-msgid ""
-"cannot continue with staged changes in the following files:\n"
-"%s"
-msgstr ""
-
-#: builtin/checkout.c:902
-#, c-format
-msgid "Can not do reflog for '%s': %s\n"
-msgstr ""
-
-#: builtin/checkout.c:947
-msgid "HEAD is now at"
-msgstr ""
-
-#: builtin/checkout.c:951 builtin/clone.c:615 t/helper/test-fast-rebase.c:203
-msgid "unable to update HEAD"
-msgstr ""
-
-#: builtin/checkout.c:955
-#, c-format
-msgid "Reset branch '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:958
-#, c-format
-msgid "Already on '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:962
-#, c-format
-msgid "Switched to and reset branch '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:964 builtin/checkout.c:1398
-#, c-format
-msgid "Switched to a new branch '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:966
-#, c-format
-msgid "Switched to branch '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:1017
-#, c-format
-msgid " ... and %d more.\n"
-msgstr ""
-
-#: builtin/checkout.c:1023
-#, c-format
-msgid ""
-"Warning: you are leaving %d commit behind, not connected to\n"
-"any of your branches:\n"
-"\n"
-"%s\n"
-msgid_plural ""
-"Warning: you are leaving %d commits behind, not connected to\n"
-"any of your branches:\n"
-"\n"
-"%s\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:1042
-#, c-format
-msgid ""
-"If you want to keep it by creating a new branch, this may be a good time\n"
-"to do so with:\n"
-"\n"
-" git branch <new-branch-name> %s\n"
-"\n"
-msgid_plural ""
-"If you want to keep them by creating a new branch, this may be a good time\n"
-"to do so with:\n"
-"\n"
-" git branch <new-branch-name> %s\n"
-"\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:1077
-msgid "internal error in revision walk"
-msgstr ""
-
-#: builtin/checkout.c:1081
-msgid "Previous HEAD position was"
-msgstr ""
-
-#: builtin/checkout.c:1124 builtin/checkout.c:1393
-msgid "You are on a branch yet to be born"
-msgstr ""
-
-#: builtin/checkout.c:1206
-#, c-format
-msgid ""
-"'%s' could be both a local file and a tracking branch.\n"
-"Please use -- (and optionally --no-guess) to disambiguate"
-msgstr ""
-
-#: builtin/checkout.c:1213
-msgid ""
-"If you meant to check out a remote tracking branch on, e.g. 'origin',\n"
-"you can do so by fully qualifying the name with the --track option:\n"
-"\n"
-"    git checkout --track origin/<name>\n"
-"\n"
-"If you'd like to always have checkouts of an ambiguous <name> prefer\n"
-"one remote, e.g. the 'origin' remote, consider setting\n"
-"checkout.defaultRemote=origin in your config."
-msgstr ""
-
-#: builtin/checkout.c:1223
-#, c-format
-msgid "'%s' matched multiple (%d) remote tracking branches"
-msgstr ""
-
-#: builtin/checkout.c:1289
-msgid "only one reference expected"
-msgstr ""
-
-#: builtin/checkout.c:1306
-#, c-format
-msgid "only one reference expected, %d given."
-msgstr ""
-
-#: builtin/checkout.c:1352 builtin/worktree.c:338 builtin/worktree.c:508
-#, c-format
-msgid "invalid reference: %s"
-msgstr ""
-
-#: builtin/checkout.c:1365 builtin/checkout.c:1744
-#, c-format
-msgid "reference is not a tree: %s"
-msgstr ""
-
-#: builtin/checkout.c:1413
-#, c-format
-msgid "a branch is expected, got tag '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1415
-#, c-format
-msgid "a branch is expected, got remote branch '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1417 builtin/checkout.c:1426
-#, c-format
-msgid "a branch is expected, got '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1420
-#, c-format
-msgid "a branch is expected, got commit '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1429
-msgid ""
-"If you want to detach HEAD at the commit, try again with the --detach option."
-msgstr ""
-
-#: builtin/checkout.c:1442
-msgid ""
-"cannot switch branch while merging\n"
-"Consider \"git merge --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1446
-msgid ""
-"cannot switch branch in the middle of an am session\n"
-"Consider \"git am --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1450
-msgid ""
-"cannot switch branch while rebasing\n"
-"Consider \"git rebase --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1454
-msgid ""
-"cannot switch branch while cherry-picking\n"
-"Consider \"git cherry-pick --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1458
-msgid ""
-"cannot switch branch while reverting\n"
-"Consider \"git revert --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1462
-msgid "you are switching branch while bisecting"
-msgstr ""
-
-#: builtin/checkout.c:1469
-msgid "paths cannot be used with switching branches"
-msgstr ""
-
-#: builtin/checkout.c:1472 builtin/checkout.c:1476 builtin/checkout.c:1480
-#, c-format
-msgid "'%s' cannot be used with switching branches"
-msgstr ""
-
-#: builtin/checkout.c:1484 builtin/checkout.c:1487 builtin/checkout.c:1490
-#: builtin/checkout.c:1495 builtin/checkout.c:1500
-#, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1497
-#, c-format
-msgid "'%s' cannot take <start-point>"
-msgstr ""
-
-#: builtin/checkout.c:1505
-#, c-format
-msgid "Cannot switch branch to a non-commit '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1512
-msgid "missing branch or commit argument"
-msgstr ""
-
-#: builtin/checkout.c:1555
-msgid "perform a 3-way merge with the new branch"
-msgstr ""
-
-#: builtin/checkout.c:1556 builtin/log.c:1844 parse-options.h:354
-msgid "style"
-msgstr ""
-
-#: builtin/checkout.c:1557
-msgid "conflict style (merge, diff3, or zdiff3)"
-msgstr ""
-
-#: builtin/checkout.c:1569 builtin/worktree.c:560
-msgid "detach HEAD at named commit"
-msgstr ""
-
-#: builtin/checkout.c:1574
-msgid "force checkout (throw away local modifications)"
-msgstr ""
-
-#: builtin/checkout.c:1576
-msgid "new-branch"
-msgstr ""
-
-#: builtin/checkout.c:1576
-msgid "new unparented branch"
-msgstr ""
-
-#: builtin/checkout.c:1578 builtin/merge.c:305
-msgid "update ignored files (default)"
-msgstr ""
-
-#: builtin/checkout.c:1581
-msgid "do not check if another worktree is holding the given ref"
-msgstr ""
-
-#: builtin/checkout.c:1594
-msgid "checkout our version for unmerged files"
-msgstr ""
-
-#: builtin/checkout.c:1597
-msgid "checkout their version for unmerged files"
-msgstr ""
-
-#: builtin/checkout.c:1601
-msgid "do not limit pathspecs to sparse entries only"
-msgstr ""
-
-#: builtin/checkout.c:1659
-#, c-format
-msgid "options '-%c', '-%c', and '%s' cannot be used together"
-msgstr ""
-
-#: builtin/checkout.c:1700
-msgid "--track needs a branch name"
-msgstr ""
-
-#: builtin/checkout.c:1705
-#, c-format
-msgid "missing branch name; try -%c"
-msgstr ""
-
-#: builtin/checkout.c:1737
-#, c-format
-msgid "could not resolve %s"
-msgstr ""
-
-#: builtin/checkout.c:1753
-msgid "invalid path specification"
-msgstr ""
-
-#: builtin/checkout.c:1760
-#, c-format
-msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
-msgstr ""
-
-#: builtin/checkout.c:1764
-#, c-format
-msgid "git checkout: --detach does not take a path argument '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1789
-msgid ""
-"git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
-"checking out of the index."
-msgstr ""
-
-#: builtin/checkout.c:1794
-msgid "you must specify path(s) to restore"
-msgstr ""
-
-#: builtin/checkout.c:1819 builtin/checkout.c:1821 builtin/checkout.c:1873
-#: builtin/checkout.c:1875 builtin/clone.c:130 builtin/remote.c:171
-#: builtin/remote.c:173 builtin/submodule--helper.c:3038
-#: builtin/submodule--helper.c:3371 builtin/worktree.c:556
-#: builtin/worktree.c:558
-msgid "branch"
-msgstr ""
-
-#: builtin/checkout.c:1820
-msgid "create and checkout a new branch"
-msgstr ""
-
-#: builtin/checkout.c:1822
-msgid "create/reset and checkout a branch"
-msgstr ""
-
-#: builtin/checkout.c:1823
-msgid "create reflog for new branch"
-msgstr ""
-
-#: builtin/checkout.c:1825
-msgid "second guess 'git checkout <no-such-branch>' (default)"
-msgstr ""
-
-#: builtin/checkout.c:1826
-msgid "use overlay mode (default)"
-msgstr ""
-
-#: builtin/checkout.c:1874
-msgid "create and switch to a new branch"
-msgstr ""
-
-#: builtin/checkout.c:1876
-msgid "create/reset and switch to a branch"
-msgstr ""
-
-#: builtin/checkout.c:1878
-msgid "second guess 'git switch <no-such-branch>'"
-msgstr ""
-
-#: builtin/checkout.c:1880
-msgid "throw away local modifications"
-msgstr ""
-
-#: builtin/checkout.c:1916
-msgid "which tree-ish to checkout from"
-msgstr ""
-
-#: builtin/checkout.c:1918
-msgid "restore the index"
-msgstr ""
-
-#: builtin/checkout.c:1920
-msgid "restore the working tree (default)"
-msgstr ""
-
-#: builtin/checkout.c:1922
-msgid "ignore unmerged entries"
-msgstr ""
-
-#: builtin/checkout.c:1923
-msgid "use overlay mode"
-msgstr ""
-
-#: builtin/clean.c:29
-msgid ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
-msgstr ""
-
-#: builtin/clean.c:33
-#, c-format
-msgid "Removing %s\n"
-msgstr ""
-
-#: builtin/clean.c:34
-#, c-format
-msgid "Would remove %s\n"
-msgstr ""
-
-#: builtin/clean.c:35
-#, c-format
-msgid "Skipping repository %s\n"
-msgstr ""
-
-#: builtin/clean.c:36
-#, c-format
-msgid "Would skip repository %s\n"
-msgstr ""
-
-#: builtin/clean.c:38
-#, c-format
-msgid "could not lstat %s\n"
-msgstr ""
-
-#: builtin/clean.c:39
-msgid "Refusing to remove current working directory\n"
-msgstr ""
-
-#: builtin/clean.c:40
-msgid "Would refuse to remove current working directory\n"
-msgstr ""
-
-#: builtin/clean.c:326 git-add--interactive.perl:593
-#, c-format
-msgid ""
-"Prompt help:\n"
-"1          - select a numbered item\n"
-"foo        - select item based on unique prefix\n"
-"           - (empty) select nothing\n"
-msgstr ""
-
-#: builtin/clean.c:330 git-add--interactive.perl:602
-#, c-format
-msgid ""
-"Prompt help:\n"
-"1          - select a single item\n"
-"3-5        - select a range of items\n"
-"2-3,6-9    - select multiple ranges\n"
-"foo        - select item based on unique prefix\n"
-"-...       - unselect specified items\n"
-"*          - choose all items\n"
-"           - (empty) finish selecting\n"
-msgstr ""
-
-#: builtin/clean.c:545 git-add--interactive.perl:568
-#: git-add--interactive.perl:573
-#, c-format, perl-format
-msgid "Huh (%s)?\n"
-msgstr ""
-
-#: builtin/clean.c:685
-#, c-format
-msgid "Input ignore patterns>> "
-msgstr ""
-
-#: builtin/clean.c:719
-#, c-format
-msgid "WARNING: Cannot find items matched by: %s"
-msgstr ""
-
-#: builtin/clean.c:740
-msgid "Select items to delete"
-msgstr ""
-
-#. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:781
-#, c-format
-msgid "Remove %s [y/N]? "
-msgstr ""
-
-#: builtin/clean.c:812
-msgid ""
-"clean               - start cleaning\n"
-"filter by pattern   - exclude items from deletion\n"
-"select by numbers   - select items to be deleted by numbers\n"
-"ask each            - confirm each deletion (like \"rm -i\")\n"
-"quit                - stop cleaning\n"
-"help                - this screen\n"
-"?                   - help for prompt selection"
-msgstr ""
-
-#: builtin/clean.c:848
-msgid "Would remove the following item:"
-msgid_plural "Would remove the following items:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/clean.c:864
-msgid "No more files to clean, exiting."
-msgstr ""
-
-#: builtin/clean.c:926
-msgid "do not print names of files removed"
-msgstr ""
-
-#: builtin/clean.c:928
-msgid "force"
-msgstr ""
-
-#: builtin/clean.c:929
-msgid "interactive cleaning"
-msgstr ""
-
-#: builtin/clean.c:931
-msgid "remove whole directories"
-msgstr ""
-
-#: builtin/clean.c:932 builtin/describe.c:565 builtin/describe.c:567
-#: builtin/grep.c:938 builtin/log.c:185 builtin/log.c:187
-#: builtin/ls-files.c:651 builtin/name-rev.c:585 builtin/name-rev.c:587
-#: builtin/show-ref.c:179
-msgid "pattern"
-msgstr ""
-
-#: builtin/clean.c:933
-msgid "add <pattern> to ignore rules"
-msgstr ""
-
-#: builtin/clean.c:934
-msgid "remove ignored files, too"
-msgstr ""
-
-#: builtin/clean.c:936
-msgid "remove only ignored files"
-msgstr ""
-
-#: builtin/clean.c:951
-msgid ""
-"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
-"clean"
-msgstr ""
-
-#: builtin/clean.c:954
-msgid ""
-"clean.requireForce defaults to true and neither -i, -n, nor -f given; "
-"refusing to clean"
-msgstr ""
-
-#: builtin/clean.c:966
-msgid "-x and -X cannot be used together"
-msgstr ""
-
-#: builtin/clone.c:47
-msgid "git clone [<options>] [--] <repo> [<dir>]"
-msgstr ""
-
-#: builtin/clone.c:100
-msgid "don't clone shallow repository"
-msgstr ""
-
-#: builtin/clone.c:102
-msgid "don't create a checkout"
-msgstr ""
-
-#: builtin/clone.c:103 builtin/clone.c:105 builtin/init-db.c:542
-msgid "create a bare repository"
-msgstr ""
-
-#: builtin/clone.c:107
-msgid "create a mirror repository (implies bare)"
-msgstr ""
-
-#: builtin/clone.c:109
-msgid "to clone from a local repository"
-msgstr ""
-
-#: builtin/clone.c:111
-msgid "don't use local hardlinks, always copy"
-msgstr ""
-
-#: builtin/clone.c:113
-msgid "setup as shared repository"
-msgstr ""
-
-#: builtin/clone.c:115
-msgid "pathspec"
-msgstr ""
-
-#: builtin/clone.c:115
-msgid "initialize submodules in the clone"
-msgstr ""
-
-#: builtin/clone.c:119
-msgid "number of submodules cloned in parallel"
-msgstr ""
-
-#: builtin/clone.c:120 builtin/init-db.c:539
-msgid "template-directory"
-msgstr ""
-
-#: builtin/clone.c:121 builtin/init-db.c:540
-msgid "directory from which templates will be used"
-msgstr ""
-
-#: builtin/clone.c:123 builtin/clone.c:125 builtin/submodule--helper.c:1885
-#: builtin/submodule--helper.c:2719 builtin/submodule--helper.c:3378
-msgid "reference repository"
-msgstr ""
-
-#: builtin/clone.c:127 builtin/submodule--helper.c:1887
-#: builtin/submodule--helper.c:2721
-msgid "use --reference only while cloning"
-msgstr ""
-
-#: builtin/clone.c:128 builtin/column.c:27 builtin/fmt-merge-msg.c:27
-#: builtin/init-db.c:550 builtin/merge-file.c:48 builtin/merge.c:290
-#: builtin/pack-objects.c:3967 builtin/repack.c:669
-#: builtin/submodule--helper.c:3380 t/helper/test-simple-ipc.c:595
-#: t/helper/test-simple-ipc.c:597
-msgid "name"
-msgstr ""
-
-#: builtin/clone.c:129
-msgid "use <name> instead of 'origin' to track upstream"
-msgstr ""
-
-#: builtin/clone.c:131
-msgid "checkout <branch> instead of the remote's HEAD"
-msgstr ""
-
-#: builtin/clone.c:133
-msgid "path to git-upload-pack on the remote"
-msgstr ""
-
-#: builtin/clone.c:134 builtin/fetch.c:182 builtin/grep.c:877
-#: builtin/pull.c:212
-msgid "depth"
-msgstr ""
-
-#: builtin/clone.c:135
-msgid "create a shallow clone of that depth"
-msgstr ""
-
-#: builtin/clone.c:136 builtin/fetch.c:184 builtin/pack-objects.c:3956
-#: builtin/pull.c:215
-msgid "time"
-msgstr ""
-
-#: builtin/clone.c:137
-msgid "create a shallow clone since a specific time"
-msgstr ""
-
-#: builtin/clone.c:138 builtin/fetch.c:186 builtin/fetch.c:212
-#: builtin/pull.c:218 builtin/pull.c:243 builtin/rebase.c:1050
-msgid "revision"
-msgstr ""
-
-#: builtin/clone.c:139 builtin/fetch.c:187 builtin/pull.c:219
-msgid "deepen history of shallow clone, excluding rev"
-msgstr ""
-
-#: builtin/clone.c:141 builtin/submodule--helper.c:1897
-#: builtin/submodule--helper.c:2735
-msgid "clone only one branch, HEAD or --branch"
-msgstr ""
-
-#: builtin/clone.c:143
-msgid "don't clone any tags, and make later fetches not to follow them"
-msgstr ""
-
-#: builtin/clone.c:145
-msgid "any cloned submodules will be shallow"
-msgstr ""
-
-#: builtin/clone.c:146 builtin/init-db.c:548
-msgid "gitdir"
-msgstr ""
-
-#: builtin/clone.c:147 builtin/init-db.c:549
-msgid "separate git dir from working tree"
-msgstr ""
-
-#: builtin/clone.c:148
-msgid "key=value"
-msgstr ""
-
-#: builtin/clone.c:149
-msgid "set config inside the new repository"
-msgstr ""
-
-#: builtin/clone.c:151 builtin/fetch.c:207 builtin/ls-remote.c:77
-#: builtin/pull.c:234 builtin/push.c:575 builtin/send-pack.c:200
-msgid "server-specific"
-msgstr ""
-
-#: builtin/clone.c:151 builtin/fetch.c:207 builtin/ls-remote.c:77
-#: builtin/pull.c:235 builtin/push.c:575 builtin/send-pack.c:201
-msgid "option to transmit"
-msgstr ""
-
-#: builtin/clone.c:152 builtin/fetch.c:208 builtin/pull.c:238
-#: builtin/push.c:576
-msgid "use IPv4 addresses only"
-msgstr ""
-
-#: builtin/clone.c:154 builtin/fetch.c:210 builtin/pull.c:241
-#: builtin/push.c:578
-msgid "use IPv6 addresses only"
-msgstr ""
-
-#: builtin/clone.c:158
-msgid "apply partial clone filters to submodules"
-msgstr ""
-
-#: builtin/clone.c:160
-msgid "any cloned submodules will use their remote-tracking branch"
-msgstr ""
-
-#: builtin/clone.c:162
-msgid "initialize sparse-checkout file to include only files at root"
-msgstr ""
-
-#: builtin/clone.c:237
-#, c-format
-msgid "info: Could not add alternate for '%s': %s\n"
-msgstr ""
-
-#: builtin/clone.c:310
-#, c-format
-msgid "%s exists and is not a directory"
-msgstr ""
-
-#: builtin/clone.c:328
-#, c-format
-msgid "failed to start iterator over '%s'"
-msgstr ""
-
-#: builtin/clone.c:359
-#, c-format
-msgid "failed to create link '%s'"
-msgstr ""
-
-#: builtin/clone.c:363
-#, c-format
-msgid "failed to copy file to '%s'"
-msgstr ""
-
-#: builtin/clone.c:368
-#, c-format
-msgid "failed to iterate over '%s'"
-msgstr ""
-
-#: builtin/clone.c:395
-#, c-format
-msgid "done.\n"
-msgstr ""
-
-#: builtin/clone.c:409
-msgid ""
-"Clone succeeded, but checkout failed.\n"
-"You can inspect what was checked out with 'git status'\n"
-"and retry with 'git restore --source=HEAD :/'\n"
-msgstr ""
-
-#: builtin/clone.c:486
-#, c-format
-msgid "Could not find remote branch %s to clone."
-msgstr ""
-
-#: builtin/clone.c:603
-#, c-format
-msgid "unable to update %s"
-msgstr ""
-
-#: builtin/clone.c:651
-msgid "failed to initialize sparse-checkout"
-msgstr ""
-
-#: builtin/clone.c:674
-msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
-msgstr ""
-
-#: builtin/clone.c:709
-msgid "unable to checkout working tree"
-msgstr ""
-
-#: builtin/clone.c:793
-msgid "unable to write parameters to config file"
-msgstr ""
-
-#: builtin/clone.c:856
-msgid "cannot repack to clean up"
-msgstr ""
-
-#: builtin/clone.c:858
-msgid "cannot unlink temporary alternates file"
-msgstr ""
-
-#: builtin/clone.c:901
-msgid "Too many arguments."
-msgstr ""
-
-#: builtin/clone.c:905 contrib/scalar/scalar.c:413
-msgid "You must specify a repository to clone."
-msgstr ""
-
-#: builtin/clone.c:918
-#, c-format
-msgid "options '%s' and '%s %s' cannot be used together"
-msgstr ""
-
-#: builtin/clone.c:935
-#, c-format
-msgid "repository '%s' does not exist"
-msgstr ""
-
-#: builtin/clone.c:939 builtin/fetch.c:2176
-#, c-format
-msgid "depth %s is not a positive number"
-msgstr ""
-
-#: builtin/clone.c:949
-#, c-format
-msgid "destination path '%s' already exists and is not an empty directory."
-msgstr ""
-
-#: builtin/clone.c:955
-#, c-format
-msgid "repository path '%s' already exists and is not an empty directory."
-msgstr ""
-
-#: builtin/clone.c:969
-#, c-format
-msgid "working tree '%s' already exists."
-msgstr ""
-
-#: builtin/clone.c:984 builtin/clone.c:1005 builtin/difftool.c:256
-#: builtin/log.c:2037 builtin/worktree.c:350 builtin/worktree.c:382
-#, c-format
-msgid "could not create leading directories of '%s'"
-msgstr ""
-
-#: builtin/clone.c:989
-#, c-format
-msgid "could not create work tree dir '%s'"
-msgstr ""
-
-#: builtin/clone.c:1009
-#, c-format
-msgid "Cloning into bare repository '%s'...\n"
-msgstr ""
-
-#: builtin/clone.c:1011
-#, c-format
-msgid "Cloning into '%s'...\n"
-msgstr ""
-
-#: builtin/clone.c:1040
-msgid ""
-"clone --recursive is not compatible with both --reference and --reference-if-"
-"able"
-msgstr ""
-
-#: builtin/clone.c:1116 builtin/remote.c:201 builtin/remote.c:721
-#, c-format
-msgid "'%s' is not a valid remote name"
-msgstr ""
-
-#: builtin/clone.c:1157
-msgid "--depth is ignored in local clones; use file:// instead."
-msgstr ""
-
-#: builtin/clone.c:1159
-msgid "--shallow-since is ignored in local clones; use file:// instead."
-msgstr ""
-
-#: builtin/clone.c:1161
-msgid "--shallow-exclude is ignored in local clones; use file:// instead."
-msgstr ""
-
-#: builtin/clone.c:1163
-msgid "--filter is ignored in local clones; use file:// instead."
-msgstr ""
-
-#: builtin/clone.c:1168
-msgid "source repository is shallow, ignoring --local"
-msgstr ""
-
-#: builtin/clone.c:1173
-msgid "--local is ignored"
-msgstr ""
-
-#: builtin/clone.c:1185
-msgid "cannot clone from filtered bundle"
-msgstr ""
-
-#: builtin/clone.c:1265 builtin/clone.c:1324
-msgid "remote transport reported error"
-msgstr ""
-
-#: builtin/clone.c:1277 builtin/clone.c:1289
-#, c-format
-msgid "Remote branch %s not found in upstream %s"
-msgstr ""
-
-#: builtin/clone.c:1292
-msgid "You appear to have cloned an empty repository."
-msgstr ""
-
-#: builtin/column.c:10
-msgid "git column [<options>]"
-msgstr ""
-
-#: builtin/column.c:27
-msgid "lookup config vars"
-msgstr ""
-
-#: builtin/column.c:28 builtin/column.c:29
-msgid "layout to use"
-msgstr ""
-
-#: builtin/column.c:30
-msgid "maximum width"
-msgstr ""
-
-#: builtin/column.c:31
-msgid "padding space on left border"
-msgstr ""
-
-#: builtin/column.c:32
-msgid "padding space on right border"
-msgstr ""
-
-#: builtin/column.c:33
-msgid "padding space between columns"
-msgstr ""
-
-#: builtin/column.c:51
-msgid "--command must be the first argument"
-msgstr ""
-
-#: builtin/commit-graph.c:13
-msgid ""
-"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
-msgstr ""
-
-#: builtin/commit-graph.c:16
-msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--"
-"split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split options>"
-msgstr ""
-
-#: builtin/commit-graph.c:51 builtin/fetch.c:196 builtin/log.c:1813
-msgid "dir"
-msgstr ""
-
-#: builtin/commit-graph.c:52
-msgid "the object directory to store the graph"
-msgstr ""
-
-#: builtin/commit-graph.c:73
-msgid "if the commit-graph is split, only verify the tip file"
-msgstr ""
-
-#: builtin/commit-graph.c:100
-#, c-format
-msgid "Could not open commit-graph '%s'"
-msgstr ""
-
-#: builtin/commit-graph.c:137
-#, c-format
-msgid "unrecognized --split argument, %s"
-msgstr ""
-
-#: builtin/commit-graph.c:150
-#, c-format
-msgid "unexpected non-hex object ID: %s"
-msgstr ""
-
-#: builtin/commit-graph.c:155
-#, c-format
-msgid "invalid object: %s"
-msgstr ""
-
-#: builtin/commit-graph.c:205
-msgid "start walk at all refs"
-msgstr ""
-
-#: builtin/commit-graph.c:207
-msgid "scan pack-indexes listed by stdin for commits"
-msgstr ""
-
-#: builtin/commit-graph.c:209
-msgid "start walk at commits listed by stdin"
-msgstr ""
-
-#: builtin/commit-graph.c:211
-msgid "include all commits already in the commit-graph file"
-msgstr ""
-
-#: builtin/commit-graph.c:213
-msgid "enable computation for changed paths"
-msgstr ""
-
-#: builtin/commit-graph.c:215
-msgid "allow writing an incremental commit-graph file"
-msgstr ""
-
-#: builtin/commit-graph.c:219
-msgid "maximum number of commits in a non-base split commit-graph"
-msgstr ""
-
-#: builtin/commit-graph.c:221
-msgid "maximum ratio between two levels of a split commit-graph"
-msgstr ""
-
-#: builtin/commit-graph.c:223
-msgid "only expire files older than a given date-time"
-msgstr ""
-
-#: builtin/commit-graph.c:225
-msgid "maximum number of changed-path Bloom filters to compute"
-msgstr ""
-
-#: builtin/commit-graph.c:251
-msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
-msgstr ""
-
-#: builtin/commit-graph.c:282
-msgid "Collecting commits from input"
-msgstr ""
-
-#: builtin/commit-graph.c:328 builtin/multi-pack-index.c:259
-#, c-format
-msgid "unrecognized subcommand: %s"
-msgstr ""
-
-#: builtin/commit-tree.c:18
-msgid ""
-"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
-"<file>)...] <tree>"
-msgstr ""
-
-#: builtin/commit-tree.c:31
-#, c-format
-msgid "duplicate parent %s ignored"
-msgstr ""
-
-#: builtin/commit-tree.c:56 builtin/commit-tree.c:134 builtin/log.c:590
-#, c-format
-msgid "not a valid object name %s"
-msgstr ""
-
-#: builtin/commit-tree.c:94
-#, c-format
-msgid "git commit-tree: failed to read '%s'"
-msgstr ""
-
-#: builtin/commit-tree.c:96
-#, c-format
-msgid "git commit-tree: failed to close '%s'"
-msgstr ""
-
-#: builtin/commit-tree.c:109
-msgid "parent"
-msgstr ""
-
-#: builtin/commit-tree.c:110
-msgid "id of a parent commit object"
-msgstr ""
-
-#: builtin/commit-tree.c:112 builtin/commit.c:1626 builtin/merge.c:284
-#: builtin/notes.c:407 builtin/notes.c:573 builtin/stash.c:1666
-#: builtin/tag.c:455
-msgid "message"
-msgstr ""
-
-#: builtin/commit-tree.c:113 builtin/commit.c:1626
-msgid "commit message"
-msgstr ""
-
-#: builtin/commit-tree.c:116
-msgid "read commit log message from file"
-msgstr ""
-
-#: builtin/commit-tree.c:119 builtin/commit.c:1643 builtin/merge.c:303
-#: builtin/pull.c:180 builtin/revert.c:118
-msgid "GPG sign commit"
-msgstr ""
-
-#: builtin/commit-tree.c:131
-msgid "must give exactly one tree"
-msgstr ""
-
-#: builtin/commit-tree.c:138
-msgid "git commit-tree: failed to read"
-msgstr ""
-
-#: builtin/commit.c:43
-msgid "git commit [<options>] [--] <pathspec>..."
-msgstr ""
-
-#: builtin/commit.c:48
-msgid "git status [<options>] [--] <pathspec>..."
-msgstr ""
-
-#: builtin/commit.c:53
-msgid ""
-"You asked to amend the most recent commit, but doing so would make\n"
-"it empty. You can repeat your command with --allow-empty, or you can\n"
-"remove the commit entirely with \"git reset HEAD^\".\n"
-msgstr ""
-
-#: builtin/commit.c:58
-msgid ""
-"The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
-"If you wish to commit it anyway, use:\n"
-"\n"
-"    git commit --allow-empty\n"
-"\n"
-msgstr ""
-
-#: builtin/commit.c:65
-msgid "Otherwise, please use 'git rebase --skip'\n"
-msgstr ""
-
-#: builtin/commit.c:68
-msgid "Otherwise, please use 'git cherry-pick --skip'\n"
-msgstr ""
-
-#: builtin/commit.c:71
-msgid ""
-"and then use:\n"
-"\n"
-"    git cherry-pick --continue\n"
-"\n"
-"to resume cherry-picking the remaining commits.\n"
-"If you wish to skip this commit, use:\n"
-"\n"
-"    git cherry-pick --skip\n"
-"\n"
-msgstr ""
-
-#: builtin/commit.c:326
-msgid "failed to unpack HEAD tree object"
-msgstr ""
-
-#: builtin/commit.c:376
-msgid "No paths with --include/--only does not make sense."
-msgstr ""
-
-#: builtin/commit.c:388
-msgid "unable to create temporary index"
-msgstr ""
-
-#: builtin/commit.c:397
-msgid "interactive add failed"
-msgstr ""
-
-#: builtin/commit.c:412
-msgid "unable to update temporary index"
-msgstr ""
-
-#: builtin/commit.c:414
-msgid "Failed to update main cache tree"
-msgstr ""
-
-#: builtin/commit.c:439 builtin/commit.c:462 builtin/commit.c:510
-msgid "unable to write new_index file"
-msgstr ""
-
-#: builtin/commit.c:491
-msgid "cannot do a partial commit during a merge."
-msgstr ""
-
-#: builtin/commit.c:493
-msgid "cannot do a partial commit during a cherry-pick."
-msgstr ""
-
-#: builtin/commit.c:495
-msgid "cannot do a partial commit during a rebase."
-msgstr ""
-
-#: builtin/commit.c:503
-msgid "cannot read the index"
-msgstr ""
-
-#: builtin/commit.c:522
-msgid "unable to write temporary index file"
-msgstr ""
-
-#: builtin/commit.c:620
-#, c-format
-msgid "commit '%s' lacks author header"
-msgstr ""
-
-#: builtin/commit.c:622
-#, c-format
-msgid "commit '%s' has malformed author line"
-msgstr ""
-
-#: builtin/commit.c:641
-msgid "malformed --author parameter"
-msgstr ""
-
-#: builtin/commit.c:694
-msgid ""
-"unable to select a comment character that is not used\n"
-"in the current commit message"
-msgstr ""
-
-#: builtin/commit.c:750 builtin/commit.c:784 builtin/commit.c:1170
-#, c-format
-msgid "could not lookup commit %s"
-msgstr ""
-
-#: builtin/commit.c:762 builtin/shortlog.c:417
-#, c-format
-msgid "(reading log message from standard input)\n"
-msgstr ""
-
-#: builtin/commit.c:764
-msgid "could not read log from standard input"
-msgstr ""
-
-#: builtin/commit.c:768
-#, c-format
-msgid "could not read log file '%s'"
-msgstr ""
-
-#: builtin/commit.c:805
-#, c-format
-msgid "options '%s' and '%s:%s' cannot be used together"
-msgstr ""
-
-#: builtin/commit.c:817 builtin/commit.c:833
-msgid "could not read SQUASH_MSG"
-msgstr ""
-
-#: builtin/commit.c:824
-msgid "could not read MERGE_MSG"
-msgstr ""
-
-#: builtin/commit.c:884
-msgid "could not write commit template"
-msgstr ""
-
-#: builtin/commit.c:897
-#, c-format
-msgid ""
-"Please enter the commit message for your changes. Lines starting\n"
-"with '%c' will be ignored.\n"
-msgstr ""
-
-#: builtin/commit.c:899
-#, c-format
-msgid ""
-"Please enter the commit message for your changes. Lines starting\n"
-"with '%c' will be ignored, and an empty message aborts the commit.\n"
-msgstr ""
-
-#: builtin/commit.c:903
-#, c-format
-msgid ""
-"Please enter the commit message for your changes. Lines starting\n"
-"with '%c' will be kept; you may remove them yourself if you want to.\n"
-msgstr ""
-
-#: builtin/commit.c:907
-#, c-format
-msgid ""
-"Please enter the commit message for your changes. Lines starting\n"
-"with '%c' will be kept; you may remove them yourself if you want to.\n"
-"An empty message aborts the commit.\n"
-msgstr ""
-
-#: builtin/commit.c:919
-msgid ""
-"\n"
-"It looks like you may be committing a merge.\n"
-"If this is not correct, please run\n"
-"\tgit update-ref -d MERGE_HEAD\n"
-"and try again.\n"
-msgstr ""
-
-#: builtin/commit.c:924
-msgid ""
-"\n"
-"It looks like you may be committing a cherry-pick.\n"
-"If this is not correct, please run\n"
-"\tgit update-ref -d CHERRY_PICK_HEAD\n"
-"and try again.\n"
-msgstr ""
-
-#: builtin/commit.c:951
-#, c-format
-msgid "%sAuthor:    %.*s <%.*s>"
-msgstr ""
-
-#: builtin/commit.c:959
-#, c-format
-msgid "%sDate:      %s"
-msgstr ""
-
-#: builtin/commit.c:966
-#, c-format
-msgid "%sCommitter: %.*s <%.*s>"
-msgstr ""
-
-#: builtin/commit.c:984
-msgid "Cannot read index"
-msgstr ""
-
-#: builtin/commit.c:1029
-msgid "unable to pass trailers to --trailers"
-msgstr ""
-
-#: builtin/commit.c:1069
-msgid "Error building trees"
-msgstr ""
-
-#: builtin/commit.c:1083 builtin/tag.c:317
-#, c-format
-msgid "Please supply the message using either -m or -F option.\n"
-msgstr ""
-
-#: builtin/commit.c:1128
-#, c-format
-msgid "--author '%s' is not 'Name <email>' and matches no existing author"
-msgstr ""
-
-#: builtin/commit.c:1142
-#, c-format
-msgid "Invalid ignored mode '%s'"
-msgstr ""
-
-#: builtin/commit.c:1160 builtin/commit.c:1450
-#, c-format
-msgid "Invalid untracked files mode '%s'"
-msgstr ""
-
-#: builtin/commit.c:1231
-msgid "You are in the middle of a merge -- cannot reword."
-msgstr ""
-
-#: builtin/commit.c:1233
-msgid "You are in the middle of a cherry-pick -- cannot reword."
-msgstr ""
-
-#: builtin/commit.c:1236
-#, c-format
-msgid "reword option of '%s' and path '%s' cannot be used together"
-msgstr ""
-
-#: builtin/commit.c:1238
-#, c-format
-msgid "reword option of '%s' and '%s' cannot be used together"
-msgstr ""
-
-#: builtin/commit.c:1263
-msgid "You have nothing to amend."
-msgstr ""
-
-#: builtin/commit.c:1266
-msgid "You are in the middle of a merge -- cannot amend."
-msgstr ""
-
-#: builtin/commit.c:1268
-msgid "You are in the middle of a cherry-pick -- cannot amend."
-msgstr ""
-
-#: builtin/commit.c:1270
-msgid "You are in the middle of a rebase -- cannot amend."
-msgstr ""
-
-#: builtin/commit.c:1290
-msgid "--reset-author can be used only with -C, -c or --amend."
-msgstr ""
-
-#: builtin/commit.c:1337
-#, c-format
-msgid "unknown option: --fixup=%s:%s"
-msgstr ""
-
-#: builtin/commit.c:1354
-#, c-format
-msgid "paths '%s ...' with -a does not make sense"
-msgstr ""
-
-#: builtin/commit.c:1485 builtin/commit.c:1654
-msgid "show status concisely"
-msgstr ""
-
-#: builtin/commit.c:1487 builtin/commit.c:1656
-msgid "show branch information"
-msgstr ""
-
-#: builtin/commit.c:1489
-msgid "show stash information"
-msgstr ""
-
-#: builtin/commit.c:1491 builtin/commit.c:1658
-msgid "compute full ahead/behind values"
-msgstr ""
-
-#: builtin/commit.c:1493
-msgid "version"
-msgstr ""
-
-#: builtin/commit.c:1493 builtin/commit.c:1660 builtin/push.c:551
-#: builtin/worktree.c:765
-msgid "machine-readable output"
-msgstr ""
-
-#: builtin/commit.c:1496 builtin/commit.c:1662
-msgid "show status in long format (default)"
-msgstr ""
-
-#: builtin/commit.c:1499 builtin/commit.c:1665
-msgid "terminate entries with NUL"
-msgstr ""
-
-#: builtin/commit.c:1501 builtin/commit.c:1505 builtin/commit.c:1668
-#: builtin/fast-export.c:1172 builtin/fast-export.c:1175
-#: builtin/fast-export.c:1178 builtin/rebase.c:1139 parse-options.h:368
-msgid "mode"
-msgstr ""
-
-#: builtin/commit.c:1502 builtin/commit.c:1668
-msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
-msgstr ""
-
-#: builtin/commit.c:1506
-msgid ""
-"show ignored files, optional modes: traditional, matching, no. (Default: "
-"traditional)"
-msgstr ""
-
-#: builtin/commit.c:1508 parse-options.h:197
-msgid "when"
-msgstr ""
-
-#: builtin/commit.c:1509
-msgid ""
-"ignore changes to submodules, optional when: all, dirty, untracked. "
-"(Default: all)"
-msgstr ""
-
-#: builtin/commit.c:1511
-msgid "list untracked files in columns"
-msgstr ""
-
-#: builtin/commit.c:1512
-msgid "do not detect renames"
-msgstr ""
-
-#: builtin/commit.c:1514
-msgid "detect renames, optionally set similarity index"
-msgstr ""
-
-#: builtin/commit.c:1537
-msgid "Unsupported combination of ignored and untracked-files arguments"
-msgstr ""
-
-#: builtin/commit.c:1619
-msgid "suppress summary after successful commit"
-msgstr ""
-
-#: builtin/commit.c:1620
-msgid "show diff in commit message template"
-msgstr ""
-
-#: builtin/commit.c:1622
-msgid "Commit message options"
-msgstr ""
-
-#: builtin/commit.c:1623 builtin/merge.c:288 builtin/tag.c:457
-msgid "read message from file"
-msgstr ""
-
-#: builtin/commit.c:1624
-msgid "author"
-msgstr ""
-
-#: builtin/commit.c:1624
-msgid "override author for commit"
-msgstr ""
-
-#: builtin/commit.c:1625 builtin/gc.c:551
-msgid "date"
-msgstr ""
-
-#: builtin/commit.c:1625
-msgid "override date for commit"
-msgstr ""
-
-#: builtin/commit.c:1627 builtin/commit.c:1628 builtin/commit.c:1634
-#: parse-options.h:360 ref-filter.h:89
-msgid "commit"
-msgstr ""
-
-#: builtin/commit.c:1627
-msgid "reuse and edit message from specified commit"
-msgstr ""
-
-#: builtin/commit.c:1628
-msgid "reuse message from specified commit"
-msgstr ""
-
-#. TRANSLATORS: Leave "[(amend|reword):]" as-is,
-#. and only translate <commit>.
-#.
-#: builtin/commit.c:1633
-msgid "[(amend|reword):]commit"
-msgstr ""
-
-#: builtin/commit.c:1633
-msgid ""
-"use autosquash formatted message to fixup or amend/reword specified commit"
-msgstr ""
-
-#: builtin/commit.c:1634
-msgid "use autosquash formatted message to squash specified commit"
-msgstr ""
-
-#: builtin/commit.c:1635
-msgid "the commit is authored by me now (used with -C/-c/--amend)"
-msgstr ""
-
-#: builtin/commit.c:1636 builtin/interpret-trailers.c:111
-msgid "trailer"
-msgstr ""
-
-#: builtin/commit.c:1636
-msgid "add custom trailer(s)"
-msgstr ""
-
-#: builtin/commit.c:1637 builtin/log.c:1788 builtin/merge.c:306
-#: builtin/pull.c:146 builtin/revert.c:110
-msgid "add a Signed-off-by trailer"
-msgstr ""
-
-#: builtin/commit.c:1638
-msgid "use specified template file"
-msgstr ""
-
-#: builtin/commit.c:1639
-msgid "force edit of commit"
-msgstr ""
-
-#: builtin/commit.c:1641
-msgid "include status in commit message template"
-msgstr ""
-
-#: builtin/commit.c:1646
-msgid "Commit contents options"
-msgstr ""
-
-#: builtin/commit.c:1647
-msgid "commit all changed files"
-msgstr ""
-
-#: builtin/commit.c:1648
-msgid "add specified files to index for commit"
-msgstr ""
-
-#: builtin/commit.c:1649
-msgid "interactively add files"
-msgstr ""
-
-#: builtin/commit.c:1650
-msgid "interactively add changes"
-msgstr ""
-
-#: builtin/commit.c:1651
-msgid "commit only specified files"
-msgstr ""
-
-#: builtin/commit.c:1652
-msgid "bypass pre-commit and commit-msg hooks"
-msgstr ""
-
-#: builtin/commit.c:1653
-msgid "show what would be committed"
-msgstr ""
-
-#: builtin/commit.c:1666
-msgid "amend previous commit"
-msgstr ""
-
-#: builtin/commit.c:1667
-msgid "bypass post-rewrite hook"
-msgstr ""
-
-#: builtin/commit.c:1674
-msgid "ok to record an empty change"
-msgstr ""
-
-#: builtin/commit.c:1676
-msgid "ok to record a change with an empty message"
-msgstr ""
-
-#: builtin/commit.c:1752
-#, c-format
-msgid "Corrupt MERGE_HEAD file (%s)"
-msgstr ""
-
-#: builtin/commit.c:1759
-msgid "could not read MERGE_MODE"
-msgstr ""
-
-#: builtin/commit.c:1780
-#, c-format
-msgid "could not read commit message: %s"
-msgstr ""
-
-#: builtin/commit.c:1787
-#, c-format
-msgid "Aborting commit due to empty commit message.\n"
-msgstr ""
-
-#: builtin/commit.c:1792
-#, c-format
-msgid "Aborting commit; you did not edit the message.\n"
-msgstr ""
-
-#: builtin/commit.c:1803
-#, c-format
-msgid "Aborting commit due to empty commit message body.\n"
-msgstr ""
-
-#: builtin/commit.c:1839
-msgid ""
-"repository has been updated, but unable to write\n"
-"new_index file. Check that disk is not full and quota is\n"
-"not exceeded, and then \"git restore --staged :/\" to recover."
-msgstr ""
-
-#: builtin/config.c:11
-msgid "git config [<options>]"
-msgstr ""
-
-#: builtin/config.c:109 builtin/env--helper.c:27
-#, c-format
-msgid "unrecognized --type argument, %s"
-msgstr ""
-
-#: builtin/config.c:121
-msgid "only one type at a time"
-msgstr ""
-
-#: builtin/config.c:130
-msgid "Config file location"
-msgstr ""
-
-#: builtin/config.c:131
-msgid "use global config file"
-msgstr ""
-
-#: builtin/config.c:132
-msgid "use system config file"
-msgstr ""
-
-#: builtin/config.c:133
-msgid "use repository config file"
-msgstr ""
-
-#: builtin/config.c:134
-msgid "use per-worktree config file"
-msgstr ""
-
-#: builtin/config.c:135
-msgid "use given config file"
-msgstr ""
-
-#: builtin/config.c:136
-msgid "blob-id"
-msgstr ""
-
-#: builtin/config.c:136
-msgid "read config from given blob object"
-msgstr ""
-
-#: builtin/config.c:137
-msgid "Action"
-msgstr ""
-
-#: builtin/config.c:138
-msgid "get value: name [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:139
-msgid "get all values: key [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:140
-msgid "get values for regexp: name-regex [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:141
-msgid "get value specific for the URL: section[.var] URL"
-msgstr ""
-
-#: builtin/config.c:142
-msgid "replace all matching variables: name value [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:143
-msgid "add a new variable: name value"
-msgstr ""
-
-#: builtin/config.c:144
-msgid "remove a variable: name [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:145
-msgid "remove all matches: name [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:146
-msgid "rename section: old-name new-name"
-msgstr ""
-
-#: builtin/config.c:147
-msgid "remove a section: name"
-msgstr ""
-
-#: builtin/config.c:148
-msgid "list all"
-msgstr ""
-
-#: builtin/config.c:149
-msgid "use string equality when comparing values to 'value-pattern'"
-msgstr ""
-
-#: builtin/config.c:150
-msgid "open an editor"
-msgstr ""
-
-#: builtin/config.c:151
-msgid "find the color configured: slot [default]"
-msgstr ""
-
-#: builtin/config.c:152
-msgid "find the color setting: slot [stdout-is-tty]"
-msgstr ""
-
-#: builtin/config.c:153
-msgid "Type"
-msgstr ""
-
-#: builtin/config.c:154 builtin/env--helper.c:42 builtin/hash-object.c:97
-msgid "type"
-msgstr ""
-
-#: builtin/config.c:154 builtin/env--helper.c:43
-msgid "value is given this type"
-msgstr ""
-
-#: builtin/config.c:155
-msgid "value is \"true\" or \"false\""
-msgstr ""
-
-#: builtin/config.c:156
-msgid "value is decimal number"
-msgstr ""
-
-#: builtin/config.c:157
-msgid "value is --bool or --int"
-msgstr ""
-
-#: builtin/config.c:158
-msgid "value is --bool or string"
-msgstr ""
-
-#: builtin/config.c:159
-msgid "value is a path (file or directory name)"
-msgstr ""
-
-#: builtin/config.c:160
-msgid "value is an expiry date"
-msgstr ""
-
-#: builtin/config.c:161
-msgid "Other"
-msgstr ""
-
-#: builtin/config.c:162
-msgid "terminate values with NUL byte"
-msgstr ""
-
-#: builtin/config.c:163
-msgid "show variable names only"
-msgstr ""
-
-#: builtin/config.c:164
-msgid "respect include directives on lookup"
-msgstr ""
-
-#: builtin/config.c:165
-msgid "show origin of config (file, standard input, blob, command line)"
-msgstr ""
-
-#: builtin/config.c:166
-msgid "show scope of config (worktree, local, global, system, command)"
-msgstr ""
-
-#: builtin/config.c:167 builtin/env--helper.c:45
-msgid "value"
-msgstr ""
-
-#: builtin/config.c:167
-msgid "with --get, use default value when missing entry"
-msgstr ""
-
-#: builtin/config.c:181
-#, c-format
-msgid "wrong number of arguments, should be %d"
-msgstr ""
-
-#: builtin/config.c:183
-#, c-format
-msgid "wrong number of arguments, should be from %d to %d"
-msgstr ""
-
-#: builtin/config.c:339
-#, c-format
-msgid "invalid key pattern: %s"
-msgstr ""
-
-#: builtin/config.c:377
-#, c-format
-msgid "failed to format default config value: %s"
-msgstr ""
-
-#: builtin/config.c:441
-#, c-format
-msgid "cannot parse color '%s'"
-msgstr ""
-
-#: builtin/config.c:483
-msgid "unable to parse default color value"
-msgstr ""
-
-#: builtin/config.c:536 builtin/config.c:833
-msgid "not in a git directory"
-msgstr ""
-
-#: builtin/config.c:539
-msgid "writing to stdin is not supported"
-msgstr ""
-
-#: builtin/config.c:542
-msgid "writing config blobs is not supported"
-msgstr ""
-
-#: builtin/config.c:627
-#, c-format
-msgid ""
-"# This is Git's per-user configuration file.\n"
-"[user]\n"
-"# Please adapt and uncomment the following lines:\n"
-"#\tname = %s\n"
-"#\temail = %s\n"
-msgstr ""
-
-#: builtin/config.c:652
-msgid "only one config file at a time"
-msgstr ""
-
-#: builtin/config.c:658
-msgid "--local can only be used inside a git repository"
-msgstr ""
-
-#: builtin/config.c:660
-msgid "--blob can only be used inside a git repository"
-msgstr ""
-
-#: builtin/config.c:662
-msgid "--worktree can only be used inside a git repository"
-msgstr ""
-
-#: builtin/config.c:684
-msgid "$HOME not set"
-msgstr ""
-
-#: builtin/config.c:708
-msgid ""
-"--worktree cannot be used with multiple working trees unless the config\n"
-"extension worktreeConfig is enabled. Please read \"CONFIGURATION FILE\"\n"
-"section in \"git help worktree\" for details"
-msgstr ""
-
-#: builtin/config.c:743
-msgid "--get-color and variable type are incoherent"
-msgstr ""
-
-#: builtin/config.c:748
-msgid "only one action at a time"
-msgstr ""
-
-#: builtin/config.c:761
-msgid "--name-only is only applicable to --list or --get-regexp"
-msgstr ""
-
-#: builtin/config.c:767
-msgid ""
-"--show-origin is only applicable to --get, --get-all, --get-regexp, and --"
-"list"
-msgstr ""
-
-#: builtin/config.c:773
-msgid "--default is only applicable to --get"
-msgstr ""
-
-#: builtin/config.c:806
-msgid "--fixed-value only applies with 'value-pattern'"
-msgstr ""
-
-#: builtin/config.c:822
-#, c-format
-msgid "unable to read config file '%s'"
-msgstr ""
-
-#: builtin/config.c:825
-msgid "error processing config file(s)"
-msgstr ""
-
-#: builtin/config.c:835
-msgid "editing stdin is not supported"
-msgstr ""
-
-#: builtin/config.c:837
-msgid "editing blobs is not supported"
-msgstr ""
-
-#: builtin/config.c:851
-#, c-format
-msgid "cannot create configuration file %s"
-msgstr ""
-
-#: builtin/config.c:864
-#, c-format
-msgid ""
-"cannot overwrite multiple values with a single value\n"
-"       Use a regexp, --add or --replace-all to change %s."
-msgstr ""
-
-#: builtin/config.c:943 builtin/config.c:954
-#, c-format
-msgid "no such section: %s"
-msgstr ""
-
-#: builtin/count-objects.c:100
-msgid "print sizes in human readable format"
-msgstr ""
-
-#: builtin/credential-cache--daemon.c:227
-#, c-format
-msgid ""
-"The permissions on your socket directory are too loose; other\n"
-"users may be able to read your cached credentials. Consider running:\n"
-"\n"
-"\tchmod 0700 %s"
-msgstr ""
-
-#: builtin/credential-cache--daemon.c:276
-msgid "print debugging messages to stderr"
-msgstr ""
-
-#: builtin/credential-cache--daemon.c:316
-msgid "credential-cache--daemon unavailable; no unix socket support"
-msgstr ""
-
-#: builtin/credential-cache.c:180
-msgid "credential-cache unavailable; no unix socket support"
-msgstr ""
-
-#: builtin/credential-store.c:66
-#, c-format
-msgid "unable to get credential storage lock in %d ms"
-msgstr ""
-
-#: builtin/describe.c:26
-msgid "git describe [<options>] [<commit-ish>...]"
-msgstr ""
-
-#: builtin/describe.c:27
-msgid "git describe [<options>] --dirty"
-msgstr ""
-
-#: builtin/describe.c:63
-msgid "head"
-msgstr ""
-
-#: builtin/describe.c:63
-msgid "lightweight"
-msgstr ""
-
-#: builtin/describe.c:63
-msgid "annotated"
-msgstr ""
-
-#: builtin/describe.c:277
-#, c-format
-msgid "annotated tag %s not available"
-msgstr ""
-
-#: builtin/describe.c:281
-#, c-format
-msgid "tag '%s' is externally known as '%s'"
-msgstr ""
-
-#: builtin/describe.c:328
-#, c-format
-msgid "no tag exactly matches '%s'"
-msgstr ""
-
-#: builtin/describe.c:330
-#, c-format
-msgid "No exact match on refs or tags, searching to describe\n"
-msgstr ""
-
-#: builtin/describe.c:397
-#, c-format
-msgid "finished search at %s\n"
-msgstr ""
-
-#: builtin/describe.c:424
-#, c-format
-msgid ""
-"No annotated tags can describe '%s'.\n"
-"However, there were unannotated tags: try --tags."
-msgstr ""
-
-#: builtin/describe.c:428
-#, c-format
-msgid ""
-"No tags can describe '%s'.\n"
-"Try --always, or create some tags."
-msgstr ""
-
-#: builtin/describe.c:458
-#, c-format
-msgid "traversed %lu commits\n"
-msgstr ""
-
-#: builtin/describe.c:461
-#, c-format
-msgid ""
-"more than %i tags found; listed %i most recent\n"
-"gave up search at %s\n"
-msgstr ""
-
-#: builtin/describe.c:529
-#, c-format
-msgid "describe %s\n"
-msgstr ""
-
-#: builtin/describe.c:532
-#, c-format
-msgid "Not a valid object name %s"
-msgstr ""
-
-#: builtin/describe.c:540
-#, c-format
-msgid "%s is neither a commit nor blob"
-msgstr ""
-
-#: builtin/describe.c:554
-msgid "find the tag that comes after the commit"
-msgstr ""
-
-#: builtin/describe.c:555
-msgid "debug search strategy on stderr"
-msgstr ""
-
-#: builtin/describe.c:556
-msgid "use any ref"
-msgstr ""
-
-#: builtin/describe.c:557
-msgid "use any tag, even unannotated"
-msgstr ""
-
-#: builtin/describe.c:558
-msgid "always use long format"
-msgstr ""
-
-#: builtin/describe.c:559
-msgid "only follow first parent"
-msgstr ""
-
-#: builtin/describe.c:562
-msgid "only output exact matches"
-msgstr ""
-
-#: builtin/describe.c:564
-msgid "consider <n> most recent tags (default: 10)"
-msgstr ""
-
-#: builtin/describe.c:566
-msgid "only consider tags matching <pattern>"
-msgstr ""
-
-#: builtin/describe.c:568
-msgid "do not consider tags matching <pattern>"
-msgstr ""
-
-#: builtin/describe.c:570 builtin/name-rev.c:595
-msgid "show abbreviated commit object as fallback"
-msgstr ""
-
-#: builtin/describe.c:571 builtin/describe.c:574
-msgid "mark"
-msgstr ""
-
-#: builtin/describe.c:572
-msgid "append <mark> on dirty working tree (default: \"-dirty\")"
-msgstr ""
-
-#: builtin/describe.c:575
-msgid "append <mark> on broken working tree (default: \"-broken\")"
-msgstr ""
-
-#: builtin/describe.c:622
-msgid "No names found, cannot describe anything."
-msgstr ""
-
-#: builtin/describe.c:673 builtin/describe.c:675
-#, c-format
-msgid "option '%s' and commit-ishes cannot be used together"
-msgstr ""
-
-#: builtin/diff-tree.c:157
-msgid "--merge-base only works with two commits"
-msgstr ""
-
-#: builtin/diff.c:92
-#, c-format
-msgid "'%s': not a regular file or symlink"
-msgstr ""
-
-#: builtin/diff.c:259
-#, c-format
-msgid "invalid option: %s"
-msgstr ""
-
-#: builtin/diff.c:376
-#, c-format
-msgid "%s...%s: no merge base"
-msgstr ""
-
-#: builtin/diff.c:491
-msgid "Not a git repository"
-msgstr ""
-
-#: builtin/diff.c:537 builtin/grep.c:700
-#, c-format
-msgid "invalid object '%s' given."
-msgstr ""
-
-#: builtin/diff.c:548
-#, c-format
-msgid "more than two blobs given: '%s'"
-msgstr ""
-
-#: builtin/diff.c:553
-#, c-format
-msgid "unhandled object '%s' given."
-msgstr ""
-
-#: builtin/diff.c:587
-#, c-format
-msgid "%s...%s: multiple merge bases, using %s"
-msgstr ""
-
-#: builtin/difftool.c:31
-msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
-msgstr ""
-
-#: builtin/difftool.c:287
-#, c-format
-msgid "could not read symlink %s"
-msgstr ""
-
-#: builtin/difftool.c:289
-#, c-format
-msgid "could not read symlink file %s"
-msgstr ""
-
-#: builtin/difftool.c:297
-#, c-format
-msgid "could not read object %s for symlink %s"
-msgstr ""
-
-#: builtin/difftool.c:421
-msgid ""
-"combined diff formats ('-c' and '--cc') are not supported in\n"
-"directory diff mode ('-d' and '--dir-diff')."
-msgstr ""
-
-#: builtin/difftool.c:626
-#, c-format
-msgid "both files modified: '%s' and '%s'."
-msgstr ""
-
-#: builtin/difftool.c:628
-msgid "working tree file has been left."
-msgstr ""
-
-#: builtin/difftool.c:639
-#, c-format
-msgid "temporary files exist in '%s'."
-msgstr ""
-
-#: builtin/difftool.c:640
-msgid "you may want to cleanup or recover these."
-msgstr ""
-
-#: builtin/difftool.c:645
-#, c-format
-msgid "failed: %d"
-msgstr ""
-
-#: builtin/difftool.c:690
-msgid "use `diff.guitool` instead of `diff.tool`"
-msgstr ""
-
-#: builtin/difftool.c:692
-msgid "perform a full-directory diff"
-msgstr ""
-
-#: builtin/difftool.c:694
-msgid "do not prompt before launching a diff tool"
-msgstr ""
-
-#: builtin/difftool.c:699
-msgid "use symlinks in dir-diff mode"
-msgstr ""
-
-#: builtin/difftool.c:700
-msgid "tool"
-msgstr ""
-
-#: builtin/difftool.c:701
-msgid "use the specified diff tool"
-msgstr ""
-
-#: builtin/difftool.c:703
-msgid "print a list of diff tools that may be used with `--tool`"
-msgstr ""
-
-#: builtin/difftool.c:706
-msgid ""
-"make 'git-difftool' exit when an invoked diff tool returns a non-zero exit "
-"code"
-msgstr ""
-
-#: builtin/difftool.c:709
-msgid "specify a custom command for viewing diffs"
-msgstr ""
-
-#: builtin/difftool.c:710
-msgid "passed to `diff`"
-msgstr ""
-
-#: builtin/difftool.c:726
-msgid "difftool requires worktree or --no-index"
-msgstr ""
-
-#: builtin/difftool.c:745
-msgid "no <tool> given for --tool=<tool>"
-msgstr ""
-
-#: builtin/difftool.c:752
-msgid "no <cmd> given for --extcmd=<cmd>"
-msgstr ""
-
-#: builtin/env--helper.c:6
-msgid "git env--helper --type=[bool|ulong] <options> <env-var>"
-msgstr ""
-
-#: builtin/env--helper.c:46
-msgid "default for git_env_*(...) to fall back on"
-msgstr ""
-
-#: builtin/env--helper.c:48
-msgid "be quiet only use git_env_*() value as exit code"
-msgstr ""
-
-#: builtin/env--helper.c:67
-#, c-format
-msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`"
-msgstr ""
-
-#: builtin/env--helper.c:82
-#, c-format
-msgid ""
-"option `--default' expects an unsigned long value with `--type=ulong`, not `"
-"%s`"
-msgstr ""
-
-#: builtin/fast-export.c:29
-msgid "git fast-export [<rev-list-opts>]"
-msgstr ""
-
-#: builtin/fast-export.c:843
-msgid "Error: Cannot export nested tags unless --mark-tags is specified."
-msgstr ""
-
-#: builtin/fast-export.c:1152
-msgid "--anonymize-map token cannot be empty"
-msgstr ""
-
-#: builtin/fast-export.c:1171
-msgid "show progress after <n> objects"
-msgstr ""
-
-#: builtin/fast-export.c:1173
-msgid "select handling of signed tags"
-msgstr ""
-
-#: builtin/fast-export.c:1176
-msgid "select handling of tags that tag filtered objects"
-msgstr ""
-
-#: builtin/fast-export.c:1179
-msgid "select handling of commit messages in an alternate encoding"
-msgstr ""
-
-#: builtin/fast-export.c:1182
-msgid "dump marks to this file"
-msgstr ""
-
-#: builtin/fast-export.c:1184
-msgid "import marks from this file"
-msgstr ""
-
-#: builtin/fast-export.c:1188
-msgid "import marks from this file if it exists"
-msgstr ""
-
-#: builtin/fast-export.c:1190
-msgid "fake a tagger when tags lack one"
-msgstr ""
-
-#: builtin/fast-export.c:1192
-msgid "output full tree for each commit"
-msgstr ""
-
-#: builtin/fast-export.c:1194
-msgid "use the done feature to terminate the stream"
-msgstr ""
-
-#: builtin/fast-export.c:1195
-msgid "skip output of blob data"
-msgstr ""
-
-#: builtin/fast-export.c:1196 builtin/log.c:1860
-msgid "refspec"
-msgstr ""
-
-#: builtin/fast-export.c:1197
-msgid "apply refspec to exported refs"
-msgstr ""
-
-#: builtin/fast-export.c:1198
-msgid "anonymize output"
-msgstr ""
-
-#: builtin/fast-export.c:1199
-msgid "from:to"
-msgstr ""
-
-#: builtin/fast-export.c:1200
-msgid "convert <from> to <to> in anonymized output"
-msgstr ""
-
-#: builtin/fast-export.c:1203
-msgid "reference parents which are not in fast-export stream by object id"
-msgstr ""
-
-#: builtin/fast-export.c:1205
-msgid "show original object ids of blobs/commits"
-msgstr ""
-
-#: builtin/fast-export.c:1207
-msgid "label tags with mark ids"
-msgstr ""
-
-#: builtin/fast-import.c:3097
-#, c-format
-msgid "Missing from marks for submodule '%s'"
-msgstr ""
-
-#: builtin/fast-import.c:3099
-#, c-format
-msgid "Missing to marks for submodule '%s'"
-msgstr ""
-
-#: builtin/fast-import.c:3234
-#, c-format
-msgid "Expected 'mark' command, got %s"
-msgstr ""
-
-#: builtin/fast-import.c:3239
-#, c-format
-msgid "Expected 'to' command, got %s"
-msgstr ""
-
-#: builtin/fast-import.c:3331
-msgid "Expected format name:filename for submodule rewrite option"
-msgstr ""
-
-#: builtin/fast-import.c:3386
-#, c-format
-msgid "feature '%s' forbidden in input without --allow-unsafe-features"
-msgstr ""
-
-#: builtin/fetch-pack.c:246
-#, c-format
-msgid "Lockfile created but not reported: %s"
-msgstr ""
-
-#: builtin/fetch.c:36
-msgid "git fetch [<options>] [<repository> [<refspec>...]]"
-msgstr ""
-
-#: builtin/fetch.c:37
-msgid "git fetch [<options>] <group>"
-msgstr ""
-
-#: builtin/fetch.c:38
-msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
-msgstr ""
-
-#: builtin/fetch.c:39
-msgid "git fetch --all [<options>]"
-msgstr ""
-
-#: builtin/fetch.c:124
-msgid "fetch.parallel cannot be negative"
-msgstr ""
-
-#: builtin/fetch.c:147 builtin/pull.c:189
-msgid "fetch from all remotes"
-msgstr ""
-
-#: builtin/fetch.c:149 builtin/pull.c:249
-msgid "set upstream for git pull/fetch"
-msgstr ""
-
-#: builtin/fetch.c:151 builtin/pull.c:192
-msgid "append to .git/FETCH_HEAD instead of overwriting"
-msgstr ""
-
-#: builtin/fetch.c:153
-msgid "use atomic transaction to update references"
-msgstr ""
-
-#: builtin/fetch.c:155 builtin/pull.c:195
-msgid "path to upload pack on remote end"
-msgstr ""
-
-#: builtin/fetch.c:156
-msgid "force overwrite of local reference"
-msgstr ""
-
-#: builtin/fetch.c:158
-msgid "fetch from multiple remotes"
-msgstr ""
-
-#: builtin/fetch.c:160 builtin/pull.c:199
-msgid "fetch all tags and associated objects"
-msgstr ""
-
-#: builtin/fetch.c:162
-msgid "do not fetch all tags (--no-tags)"
-msgstr ""
-
-#: builtin/fetch.c:164
-msgid "number of submodules fetched in parallel"
-msgstr ""
-
-#: builtin/fetch.c:166
-msgid "modify the refspec to place all refs within refs/prefetch/"
-msgstr ""
-
-#: builtin/fetch.c:168 builtin/pull.c:202
-msgid "prune remote-tracking branches no longer on remote"
-msgstr ""
-
-#: builtin/fetch.c:170
-msgid "prune local tags no longer on remote and clobber changed tags"
-msgstr ""
-
-#: builtin/fetch.c:171 builtin/fetch.c:199 builtin/pull.c:123
-msgid "on-demand"
-msgstr ""
-
-#: builtin/fetch.c:172
-msgid "control recursive fetching of submodules"
-msgstr ""
-
-#: builtin/fetch.c:177
-msgid "write fetched references to the FETCH_HEAD file"
-msgstr ""
-
-#: builtin/fetch.c:178 builtin/pull.c:210
-msgid "keep downloaded pack"
-msgstr ""
-
-#: builtin/fetch.c:180
-msgid "allow updating of HEAD ref"
-msgstr ""
-
-#: builtin/fetch.c:183 builtin/fetch.c:189 builtin/pull.c:213
-#: builtin/pull.c:222
-msgid "deepen history of shallow clone"
-msgstr ""
-
-#: builtin/fetch.c:185 builtin/pull.c:216
-msgid "deepen history of shallow repository based on time"
-msgstr ""
-
-#: builtin/fetch.c:191 builtin/pull.c:225
-msgid "convert to a complete repository"
-msgstr ""
-
-#: builtin/fetch.c:194
-msgid "re-fetch without negotiating common commits"
-msgstr ""
-
-#: builtin/fetch.c:197
-msgid "prepend this to submodule path output"
-msgstr ""
-
-#: builtin/fetch.c:200
-msgid ""
-"default for recursive fetching of submodules (lower priority than config "
-"files)"
-msgstr ""
-
-#: builtin/fetch.c:204 builtin/pull.c:228
-msgid "accept refs that update .git/shallow"
-msgstr ""
-
-#: builtin/fetch.c:205 builtin/pull.c:230
-msgid "refmap"
-msgstr ""
-
-#: builtin/fetch.c:206 builtin/pull.c:231
-msgid "specify fetch refmap"
-msgstr ""
-
-#: builtin/fetch.c:213 builtin/pull.c:244
-msgid "report that we have only objects reachable from this object"
-msgstr ""
-
-#: builtin/fetch.c:215
-msgid "do not fetch a packfile; instead, print ancestors of negotiation tips"
-msgstr ""
-
-#: builtin/fetch.c:218 builtin/fetch.c:220
-msgid "run 'maintenance --auto' after fetching"
-msgstr ""
-
-#: builtin/fetch.c:222 builtin/pull.c:247
-msgid "check for forced-updates on all updated branches"
-msgstr ""
-
-#: builtin/fetch.c:224
-msgid "write the commit-graph after fetching"
-msgstr ""
-
-#: builtin/fetch.c:226
-msgid "accept refspecs from stdin"
-msgstr ""
-
-#: builtin/fetch.c:618
-msgid "couldn't find remote ref HEAD"
-msgstr ""
-
-#: builtin/fetch.c:893
-#, c-format
-msgid "object %s not found"
-msgstr ""
-
-#: builtin/fetch.c:897
-msgid "[up to date]"
-msgstr ""
-
-#: builtin/fetch.c:909 builtin/fetch.c:927 builtin/fetch.c:999
-msgid "[rejected]"
-msgstr ""
-
-#: builtin/fetch.c:911
-msgid "can't fetch in current branch"
-msgstr ""
-
-#: builtin/fetch.c:912
-msgid "checked out in another worktree"
-msgstr ""
-
-#: builtin/fetch.c:922
-msgid "[tag update]"
-msgstr ""
-
-#: builtin/fetch.c:923 builtin/fetch.c:960 builtin/fetch.c:982
-#: builtin/fetch.c:994
-msgid "unable to update local ref"
-msgstr ""
-
-#: builtin/fetch.c:927
-msgid "would clobber existing tag"
-msgstr ""
-
-#: builtin/fetch.c:949
-msgid "[new tag]"
-msgstr ""
-
-#: builtin/fetch.c:952
-msgid "[new branch]"
-msgstr ""
-
-#: builtin/fetch.c:955
-msgid "[new ref]"
-msgstr ""
-
-#: builtin/fetch.c:994
-msgid "forced update"
-msgstr ""
-
-#: builtin/fetch.c:999
-msgid "non-fast-forward"
-msgstr ""
-
-#: builtin/fetch.c:1102
-msgid ""
-"fetch normally indicates which branches had a forced update,\n"
-"but that check has been disabled; to re-enable, use '--show-forced-updates'\n"
-"flag or run 'git config fetch.showForcedUpdates true'"
-msgstr ""
-
-#: builtin/fetch.c:1106
-#, c-format
-msgid ""
-"it took %.2f seconds to check forced updates; you can use\n"
-"'--no-show-forced-updates' or run 'git config fetch.showForcedUpdates "
-"false'\n"
-"to avoid this check\n"
-msgstr ""
-
-#: builtin/fetch.c:1136
-#, c-format
-msgid "%s did not send all necessary objects\n"
-msgstr ""
-
-#: builtin/fetch.c:1156
-#, c-format
-msgid "rejected %s because shallow roots are not allowed to be updated"
-msgstr ""
-
-#: builtin/fetch.c:1259 builtin/fetch.c:1418
-#, c-format
-msgid "From %.*s\n"
-msgstr ""
-
-#: builtin/fetch.c:1269
-#, c-format
-msgid ""
-"some local refs could not be updated; try running\n"
-" 'git remote prune %s' to remove any old, conflicting branches"
-msgstr ""
-
-#: builtin/fetch.c:1377
-#, c-format
-msgid "   (%s will become dangling)"
-msgstr ""
-
-#: builtin/fetch.c:1378
-#, c-format
-msgid "   (%s has become dangling)"
-msgstr ""
-
-#: builtin/fetch.c:1421
-msgid "[deleted]"
-msgstr ""
-
-#: builtin/fetch.c:1422 builtin/remote.c:1153
-msgid "(none)"
-msgstr ""
-
-#: builtin/fetch.c:1446
-#, c-format
-msgid "refusing to fetch into branch '%s' checked out at '%s'"
-msgstr ""
-
-#: builtin/fetch.c:1466
-#, c-format
-msgid "option \"%s\" value \"%s\" is not valid for %s"
-msgstr ""
-
-#: builtin/fetch.c:1469
-#, c-format
-msgid "option \"%s\" is ignored for %s\n"
-msgstr ""
-
-#: builtin/fetch.c:1496
-#, c-format
-msgid "the object %s does not exist"
-msgstr ""
-
-#: builtin/fetch.c:1748
-msgid "multiple branches detected, incompatible with --set-upstream"
-msgstr ""
-
-#: builtin/fetch.c:1760
-#, c-format
-msgid ""
-"could not set upstream of HEAD to '%s' from '%s' when it does not point to "
-"any branch."
-msgstr ""
-
-#: builtin/fetch.c:1773
-msgid "not setting upstream for a remote remote-tracking branch"
-msgstr ""
-
-#: builtin/fetch.c:1775
-msgid "not setting upstream for a remote tag"
-msgstr ""
-
-#: builtin/fetch.c:1777
-msgid "unknown branch type"
-msgstr ""
-
-#: builtin/fetch.c:1779
-msgid ""
-"no source branch found;\n"
-"you need to specify exactly one branch with the --set-upstream option"
-msgstr ""
-
-#: builtin/fetch.c:1904 builtin/fetch.c:1967
-#, c-format
-msgid "Fetching %s\n"
-msgstr ""
-
-#: builtin/fetch.c:1914 builtin/fetch.c:1969
-#, c-format
-msgid "could not fetch %s"
-msgstr ""
-
-#: builtin/fetch.c:1926
-#, c-format
-msgid "could not fetch '%s' (exit code: %d)\n"
-msgstr ""
-
-#: builtin/fetch.c:2030
-msgid ""
-"no remote repository specified; please specify either a URL or a\n"
-"remote name from which new revisions should be fetched"
-msgstr ""
-
-#: builtin/fetch.c:2066
-msgid "you need to specify a tag name"
-msgstr ""
-
-#: builtin/fetch.c:2156
-msgid "--negotiate-only needs one or more --negotiation-tip=*"
-msgstr ""
-
-#: builtin/fetch.c:2160
-msgid "negative depth in --deepen is not supported"
-msgstr ""
-
-#: builtin/fetch.c:2169
-msgid "--unshallow on a complete repository does not make sense"
-msgstr ""
-
-#: builtin/fetch.c:2186
-msgid "fetch --all does not take a repository argument"
-msgstr ""
-
-#: builtin/fetch.c:2188
-msgid "fetch --all does not make sense with refspecs"
-msgstr ""
-
-#: builtin/fetch.c:2197
-#, c-format
-msgid "no such remote or remote group: %s"
-msgstr ""
-
-#: builtin/fetch.c:2205
-msgid "fetching a group and specifying refspecs does not make sense"
-msgstr ""
-
-#: builtin/fetch.c:2221
-msgid "must supply remote when using --negotiate-only"
-msgstr ""
-
-#: builtin/fetch.c:2226
-msgid "protocol does not support --negotiate-only, exiting"
-msgstr ""
-
-#: builtin/fetch.c:2246
-msgid ""
-"--filter can only be used with the remote configured in extensions."
-"partialclone"
-msgstr ""
-
-#: builtin/fetch.c:2250
-msgid "--atomic can only be used when fetching from one remote"
-msgstr ""
-
-#: builtin/fetch.c:2254
-msgid "--stdin can only be used when fetching from one remote"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:7
-msgid ""
-"git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:19
-msgid "populate log with at most <n> entries from shortlog"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:22
-msgid "alias for --log (deprecated)"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:25
-msgid "text"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:26
-msgid "use <text> as start of message"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:28
-msgid "use <name> instead of the real target branch"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:29
-msgid "file to read from"
-msgstr ""
-
-#: builtin/for-each-ref.c:10
-msgid "git for-each-ref [<options>] [<pattern>]"
-msgstr ""
-
-#: builtin/for-each-ref.c:11
-msgid "git for-each-ref [--points-at <object>]"
-msgstr ""
-
-#: builtin/for-each-ref.c:12
-msgid "git for-each-ref [--merged [<commit>]] [--no-merged [<commit>]]"
-msgstr ""
-
-#: builtin/for-each-ref.c:13
-msgid "git for-each-ref [--contains [<commit>]] [--no-contains [<commit>]]"
-msgstr ""
-
-#: builtin/for-each-ref.c:31
-msgid "quote placeholders suitably for shells"
-msgstr ""
-
-#: builtin/for-each-ref.c:33
-msgid "quote placeholders suitably for perl"
-msgstr ""
-
-#: builtin/for-each-ref.c:35
-msgid "quote placeholders suitably for python"
-msgstr ""
-
-#: builtin/for-each-ref.c:37
-msgid "quote placeholders suitably for Tcl"
-msgstr ""
-
-#: builtin/for-each-ref.c:40
-msgid "show only <n> matched refs"
-msgstr ""
-
-#: builtin/for-each-ref.c:42 builtin/tag.c:482
-msgid "respect format colors"
-msgstr ""
-
-#: builtin/for-each-ref.c:45
-msgid "print only refs which points at the given object"
-msgstr ""
-
-#: builtin/for-each-ref.c:47
-msgid "print only refs that are merged"
-msgstr ""
-
-#: builtin/for-each-ref.c:48
-msgid "print only refs that are not merged"
-msgstr ""
-
-#: builtin/for-each-ref.c:49
-msgid "print only refs which contain the commit"
-msgstr ""
-
-#: builtin/for-each-ref.c:50
-msgid "print only refs which don't contain the commit"
-msgstr ""
-
-#: builtin/for-each-repo.c:9
-msgid "git for-each-repo --config=<config> <command-args>"
-msgstr ""
-
-#: builtin/for-each-repo.c:34
-msgid "config"
-msgstr ""
-
-#: builtin/for-each-repo.c:35
-msgid "config key storing a list of repository paths"
-msgstr ""
-
-#: builtin/for-each-repo.c:43
-msgid "missing --config=<config>"
-msgstr ""
-
-#: builtin/fsck.c:69 builtin/fsck.c:128 builtin/fsck.c:129
-msgid "unknown"
-msgstr ""
-
-#. TRANSLATORS: e.g. error in tree 01bfda: <more explanation>
-#: builtin/fsck.c:78 builtin/fsck.c:100
-#, c-format
-msgid "error in %s %s: %s"
-msgstr ""
-
-#. TRANSLATORS: e.g. warning in tree 01bfda: <more explanation>
-#: builtin/fsck.c:94
-#, c-format
-msgid "warning in %s %s: %s"
-msgstr ""
-
-#: builtin/fsck.c:124 builtin/fsck.c:127
-#, c-format
-msgid "broken link from %7s %s"
-msgstr ""
-
-#: builtin/fsck.c:136
-msgid "wrong object type in link"
-msgstr ""
-
-#: builtin/fsck.c:152
-#, c-format
-msgid ""
-"broken link from %7s %s\n"
-"              to %7s %s"
-msgstr ""
-
-#: builtin/fsck.c:264
-#, c-format
-msgid "missing %s %s"
-msgstr ""
-
-#: builtin/fsck.c:291
-#, c-format
-msgid "unreachable %s %s"
-msgstr ""
-
-#: builtin/fsck.c:311
-#, c-format
-msgid "dangling %s %s"
-msgstr ""
-
-#: builtin/fsck.c:321
-msgid "could not create lost-found"
-msgstr ""
-
-#: builtin/fsck.c:332
-#, c-format
-msgid "could not finish '%s'"
-msgstr ""
-
-#: builtin/fsck.c:349
-#, c-format
-msgid "Checking %s"
-msgstr ""
-
-#: builtin/fsck.c:387
-#, c-format
-msgid "Checking connectivity (%d objects)"
-msgstr ""
-
-#: builtin/fsck.c:406
-#, c-format
-msgid "Checking %s %s"
-msgstr ""
-
-#: builtin/fsck.c:411
-msgid "broken links"
-msgstr ""
-
-#: builtin/fsck.c:420
-#, c-format
-msgid "root %s"
-msgstr ""
-
-#: builtin/fsck.c:428
-#, c-format
-msgid "tagged %s %s (%s) in %s"
-msgstr ""
-
-#: builtin/fsck.c:457
-#, c-format
-msgid "%s: object corrupt or missing"
-msgstr ""
-
-#: builtin/fsck.c:482
-#, c-format
-msgid "%s: invalid reflog entry %s"
-msgstr ""
-
-#: builtin/fsck.c:496
-#, c-format
-msgid "Checking reflog %s->%s"
-msgstr ""
-
-#: builtin/fsck.c:530
-#, c-format
-msgid "%s: invalid sha1 pointer %s"
-msgstr ""
-
-#: builtin/fsck.c:537
-#, c-format
-msgid "%s: not a commit"
-msgstr ""
-
-#: builtin/fsck.c:591
-msgid "notice: No default references"
-msgstr ""
-
-#: builtin/fsck.c:621
-#, c-format
-msgid "%s: hash-path mismatch, found at: %s"
-msgstr ""
-
-#: builtin/fsck.c:624
-#, c-format
-msgid "%s: object corrupt or missing: %s"
-msgstr ""
-
-#: builtin/fsck.c:628
-#, c-format
-msgid "%s: object is of unknown type '%s': %s"
-msgstr ""
-
-#: builtin/fsck.c:645
-#, c-format
-msgid "%s: object could not be parsed: %s"
-msgstr ""
-
-#: builtin/fsck.c:665
-#, c-format
-msgid "bad sha1 file: %s"
-msgstr ""
-
-#: builtin/fsck.c:686
-msgid "Checking object directory"
-msgstr ""
-
-#: builtin/fsck.c:689
-msgid "Checking object directories"
-msgstr ""
-
-#: builtin/fsck.c:705
-#, c-format
-msgid "Checking %s link"
-msgstr ""
-
-#: builtin/fsck.c:710 builtin/index-pack.c:862
-#, c-format
-msgid "invalid %s"
-msgstr ""
-
-#: builtin/fsck.c:717
-#, c-format
-msgid "%s points to something strange (%s)"
-msgstr ""
-
-#: builtin/fsck.c:723
-#, c-format
-msgid "%s: detached HEAD points at nothing"
-msgstr ""
-
-#: builtin/fsck.c:727
-#, c-format
-msgid "notice: %s points to an unborn branch (%s)"
-msgstr ""
-
-#: builtin/fsck.c:739
-msgid "Checking cache tree"
-msgstr ""
-
-#: builtin/fsck.c:744
-#, c-format
-msgid "%s: invalid sha1 pointer in cache-tree"
-msgstr ""
-
-#: builtin/fsck.c:753
-msgid "non-tree in cache-tree"
-msgstr ""
-
-#: builtin/fsck.c:784
-msgid "git fsck [<options>] [<object>...]"
-msgstr ""
-
-#: builtin/fsck.c:790
-msgid "show unreachable objects"
-msgstr ""
-
-#: builtin/fsck.c:791
-msgid "show dangling objects"
-msgstr ""
-
-#: builtin/fsck.c:792
-msgid "report tags"
-msgstr ""
-
-#: builtin/fsck.c:793
-msgid "report root nodes"
-msgstr ""
-
-#: builtin/fsck.c:794
-msgid "make index objects head nodes"
-msgstr ""
-
-#: builtin/fsck.c:795
-msgid "make reflogs head nodes (default)"
-msgstr ""
-
-#: builtin/fsck.c:796
-msgid "also consider packs and alternate objects"
-msgstr ""
-
-#: builtin/fsck.c:797
-msgid "check only connectivity"
-msgstr ""
-
-#: builtin/fsck.c:798 builtin/mktag.c:75
-msgid "enable more strict checking"
-msgstr ""
-
-#: builtin/fsck.c:800
-msgid "write dangling objects in .git/lost-found"
-msgstr ""
-
-#: builtin/fsck.c:801 builtin/prune.c:146
-msgid "show progress"
-msgstr ""
-
-#: builtin/fsck.c:802
-msgid "show verbose names for reachable objects"
-msgstr ""
-
-#: builtin/fsck.c:862 builtin/index-pack.c:261
-msgid "Checking objects"
-msgstr ""
-
-#: builtin/fsck.c:890
-#, c-format
-msgid "%s: object missing"
-msgstr ""
-
-#: builtin/fsck.c:901
-#, c-format
-msgid "invalid parameter: expected sha1, got '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:13
-msgid "git fsmonitor--daemon start [<options>]"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:14
-msgid "git fsmonitor--daemon run [<options>]"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:15
-msgid "git fsmonitor--daemon stop"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:16
-msgid "git fsmonitor--daemon status"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:38 builtin/fsmonitor--daemon.c:47
-#, c-format
-msgid "value of '%s' out of range: %d"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:57
-#, c-format
-msgid "value of '%s' not bool or int: %d"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:99
-#, c-format
-msgid "fsmonitor-daemon is watching '%s'\n"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:104
-#, c-format
-msgid "fsmonitor-daemon is not watching '%s'\n"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:170
-#, c-format
-msgid "could not create fsmonitor cookie '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:753
-#, c-format
-msgid "fsmonitor: cookie_result '%d' != SEEN"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1187
-#, c-format
-msgid "could not start IPC thread pool on '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1199
-msgid "could not start fsmonitor listener thread"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1297
-msgid "could not initialize listener thread"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1328 builtin/fsmonitor--daemon.c:1383
-#, c-format
-msgid "fsmonitor--daemon is already running '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1332
-#, c-format
-msgid "running fsmonitor-daemon in '%s'\n"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1387
-#, c-format
-msgid "starting fsmonitor-daemon in '%s'\n"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1413
-msgid "daemon failed to start"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1416
-msgid "daemon not online yet"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1419
-msgid "daemon terminated"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1429
-msgid "detach from console"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1432
-msgid "use <n> ipc worker threads"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1435
-msgid "max seconds to wait for background daemon startup"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1449
-#, c-format
-msgid "invalid 'ipc-threads' value (%d)"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1464
-#, c-format
-msgid "Unhandled subcommand '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1477
-msgid "fsmonitor--daemon not supported on this platform"
-msgstr ""
-
-#: builtin/gc.c:39
-msgid "git gc [<options>]"
-msgstr ""
-
-#: builtin/gc.c:93
-#, c-format
-msgid "Failed to fstat %s: %s"
-msgstr ""
-
-#: builtin/gc.c:129
-#, c-format
-msgid "failed to parse '%s' value '%s'"
-msgstr ""
-
-#: builtin/gc.c:488 builtin/init-db.c:57
-#, c-format
-msgid "cannot stat '%s'"
-msgstr ""
-
-#: builtin/gc.c:504
-#, c-format
-msgid ""
-"The last gc run reported the following. Please correct the root cause\n"
-"and remove %s\n"
-"Automatic cleanup will not be performed until the file is removed.\n"
-"\n"
-"%s"
-msgstr ""
-
-#: builtin/gc.c:552
-msgid "prune unreferenced objects"
-msgstr ""
-
-#: builtin/gc.c:554
-msgid "be more thorough (increased runtime)"
-msgstr ""
-
-#: builtin/gc.c:555
-msgid "enable auto-gc mode"
-msgstr ""
-
-#: builtin/gc.c:558
-msgid "force running gc even if there may be another gc running"
-msgstr ""
-
-#: builtin/gc.c:561
-msgid "repack all other packs except the largest pack"
-msgstr ""
-
-#: builtin/gc.c:577
-#, c-format
-msgid "failed to parse gc.logexpiry value %s"
-msgstr ""
-
-#: builtin/gc.c:588
-#, c-format
-msgid "failed to parse prune expiry value %s"
-msgstr ""
-
-#: builtin/gc.c:608
-#, c-format
-msgid "Auto packing the repository in background for optimum performance.\n"
-msgstr ""
-
-#: builtin/gc.c:610
-#, c-format
-msgid "Auto packing the repository for optimum performance.\n"
-msgstr ""
-
-#: builtin/gc.c:611
-#, c-format
-msgid "See \"git help gc\" for manual housekeeping.\n"
-msgstr ""
-
-#: builtin/gc.c:652
-#, c-format
-msgid ""
-"gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
-msgstr ""
-
-#: builtin/gc.c:707
-msgid ""
-"There are too many unreachable loose objects; run 'git prune' to remove them."
-msgstr ""
-
-#: builtin/gc.c:717
-msgid ""
-"git maintenance run [--auto] [--[no-]quiet] [--task=<task>] [--schedule]"
-msgstr ""
-
-#: builtin/gc.c:747
-msgid "--no-schedule is not allowed"
-msgstr ""
-
-#: builtin/gc.c:752
-#, c-format
-msgid "unrecognized --schedule argument '%s'"
-msgstr ""
-
-#: builtin/gc.c:870
-msgid "failed to write commit-graph"
-msgstr ""
-
-#: builtin/gc.c:906
-msgid "failed to prefetch remotes"
-msgstr ""
-
-#: builtin/gc.c:1022
-msgid "failed to start 'git pack-objects' process"
-msgstr ""
-
-#: builtin/gc.c:1039
-msgid "failed to finish 'git pack-objects' process"
-msgstr ""
-
-#: builtin/gc.c:1090
-msgid "failed to write multi-pack-index"
-msgstr ""
-
-#: builtin/gc.c:1106
-msgid "'git multi-pack-index expire' failed"
-msgstr ""
-
-#: builtin/gc.c:1165
-msgid "'git multi-pack-index repack' failed"
-msgstr ""
-
-#: builtin/gc.c:1174
-msgid ""
-"skipping incremental-repack task because core.multiPackIndex is disabled"
-msgstr ""
-
-#: builtin/gc.c:1278
-#, c-format
-msgid "lock file '%s' exists, skipping maintenance"
-msgstr ""
-
-#: builtin/gc.c:1308
-#, c-format
-msgid "task '%s' failed"
-msgstr ""
-
-#: builtin/gc.c:1390
-#, c-format
-msgid "'%s' is not a valid task"
-msgstr ""
-
-#: builtin/gc.c:1395
-#, c-format
-msgid "task '%s' cannot be selected multiple times"
-msgstr ""
-
-#: builtin/gc.c:1410
-msgid "run tasks based on the state of the repository"
-msgstr ""
-
-#: builtin/gc.c:1411
-msgid "frequency"
-msgstr ""
-
-#: builtin/gc.c:1412
-msgid "run tasks based on frequency"
-msgstr ""
-
-#: builtin/gc.c:1415
-msgid "do not report progress or other information over stderr"
-msgstr ""
-
-#: builtin/gc.c:1416
-msgid "task"
-msgstr ""
-
-#: builtin/gc.c:1417
-msgid "run a specific task"
-msgstr ""
-
-#: builtin/gc.c:1434
-msgid "use at most one of --auto and --schedule=<frequency>"
-msgstr ""
-
-#: builtin/gc.c:1477
-msgid "failed to run 'git config'"
-msgstr ""
-
-#: builtin/gc.c:1629
-#, c-format
-msgid "failed to expand path '%s'"
-msgstr ""
-
-#: builtin/gc.c:1656 builtin/gc.c:1694
-msgid "failed to start launchctl"
-msgstr ""
-
-#: builtin/gc.c:1769 builtin/gc.c:2237
-#, c-format
-msgid "failed to create directories for '%s'"
-msgstr ""
-
-#: builtin/gc.c:1796
-#, c-format
-msgid "failed to bootstrap service %s"
-msgstr ""
-
-#: builtin/gc.c:1889
-msgid "failed to create temp xml file"
-msgstr ""
-
-#: builtin/gc.c:1979
-msgid "failed to start schtasks"
-msgstr ""
-
-#: builtin/gc.c:2063
-msgid "failed to run 'crontab -l'; your system might not support 'cron'"
-msgstr ""
-
-#: builtin/gc.c:2080
-msgid "failed to run 'crontab'; your system might not support 'cron'"
-msgstr ""
-
-#: builtin/gc.c:2084
-msgid "failed to open stdin of 'crontab'"
-msgstr ""
-
-#: builtin/gc.c:2126
-msgid "'crontab' died"
-msgstr ""
-
-#: builtin/gc.c:2191
-msgid "failed to start systemctl"
-msgstr ""
-
-#: builtin/gc.c:2201
-msgid "failed to run systemctl"
-msgstr ""
-
-#: builtin/gc.c:2210 builtin/gc.c:2215 builtin/worktree.c:63
-#: builtin/worktree.c:1024
-#, c-format
-msgid "failed to delete '%s'"
-msgstr ""
-
-#: builtin/gc.c:2395
-#, c-format
-msgid "unrecognized --scheduler argument '%s'"
-msgstr ""
-
-#: builtin/gc.c:2420
-msgid "neither systemd timers nor crontab are available"
-msgstr ""
-
-#: builtin/gc.c:2435
-#, c-format
-msgid "%s scheduler is not available"
-msgstr ""
-
-#: builtin/gc.c:2449
-msgid "another process is scheduling background maintenance"
-msgstr ""
-
-#: builtin/gc.c:2471
-msgid "git maintenance start [--scheduler=<scheduler>]"
-msgstr ""
-
-#: builtin/gc.c:2480
-msgid "scheduler"
-msgstr ""
-
-#: builtin/gc.c:2481
-msgid "scheduler to trigger git maintenance run"
-msgstr ""
-
-#: builtin/gc.c:2495
-msgid "failed to add repo to global config"
-msgstr ""
-
-#: builtin/gc.c:2504
-msgid "git maintenance <subcommand> [<options>]"
-msgstr ""
-
-#: builtin/gc.c:2523
-#, c-format
-msgid "invalid subcommand: %s"
-msgstr ""
-
-#: builtin/grep.c:32
-msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
-msgstr ""
-
-#: builtin/grep.c:241
-#, c-format
-msgid "grep: failed to create thread: %s"
-msgstr ""
-
-#: builtin/grep.c:295
-#, c-format
-msgid "invalid number of threads specified (%d) for %s"
-msgstr ""
-
-#. TRANSLATORS: %s is the configuration
-#. variable for tweaking threads, currently
-#. grep.threads
-#.
-#: builtin/grep.c:303 builtin/index-pack.c:1587 builtin/index-pack.c:1791
-#: builtin/pack-objects.c:3150
-#, c-format
-msgid "no threads support, ignoring %s"
-msgstr ""
-
-#: builtin/grep.c:490 builtin/grep.c:619 builtin/grep.c:659
-#, c-format
-msgid "unable to read tree (%s)"
-msgstr ""
-
-#: builtin/grep.c:674
-#, c-format
-msgid "unable to grep from object of type %s"
-msgstr ""
-
-#: builtin/grep.c:754
-#, c-format
-msgid "switch `%c' expects a numerical value"
-msgstr ""
-
-#: builtin/grep.c:852
-msgid "search in index instead of in the work tree"
-msgstr ""
-
-#: builtin/grep.c:854
-msgid "find in contents not managed by git"
-msgstr ""
-
-#: builtin/grep.c:856
-msgid "search in both tracked and untracked files"
-msgstr ""
-
-#: builtin/grep.c:858
-msgid "ignore files specified via '.gitignore'"
-msgstr ""
-
-#: builtin/grep.c:860
-msgid "recursively search in each submodule"
-msgstr ""
-
-#: builtin/grep.c:863
-msgid "show non-matching lines"
-msgstr ""
-
-#: builtin/grep.c:865
-msgid "case insensitive matching"
-msgstr ""
-
-#: builtin/grep.c:867
-msgid "match patterns only at word boundaries"
-msgstr ""
-
-#: builtin/grep.c:869
-msgid "process binary files as text"
-msgstr ""
-
-#: builtin/grep.c:871
-msgid "don't match patterns in binary files"
-msgstr ""
-
-#: builtin/grep.c:874
-msgid "process binary files with textconv filters"
-msgstr ""
-
-#: builtin/grep.c:876
-msgid "search in subdirectories (default)"
-msgstr ""
-
-#: builtin/grep.c:878
-msgid "descend at most <depth> levels"
-msgstr ""
-
-#: builtin/grep.c:882
-msgid "use extended POSIX regular expressions"
-msgstr ""
-
-#: builtin/grep.c:885
-msgid "use basic POSIX regular expressions (default)"
-msgstr ""
-
-#: builtin/grep.c:888
-msgid "interpret patterns as fixed strings"
-msgstr ""
-
-#: builtin/grep.c:891
-msgid "use Perl-compatible regular expressions"
-msgstr ""
-
-#: builtin/grep.c:894
-msgid "show line numbers"
-msgstr ""
-
-#: builtin/grep.c:895
-msgid "show column number of first match"
-msgstr ""
-
-#: builtin/grep.c:896
-msgid "don't show filenames"
-msgstr ""
-
-#: builtin/grep.c:897
-msgid "show filenames"
-msgstr ""
-
-#: builtin/grep.c:899
-msgid "show filenames relative to top directory"
-msgstr ""
-
-#: builtin/grep.c:901
-msgid "show only filenames instead of matching lines"
-msgstr ""
-
-#: builtin/grep.c:903
-msgid "synonym for --files-with-matches"
-msgstr ""
-
-#: builtin/grep.c:906
-msgid "show only the names of files without match"
-msgstr ""
-
-#: builtin/grep.c:908
-msgid "print NUL after filenames"
-msgstr ""
-
-#: builtin/grep.c:911
-msgid "show only matching parts of a line"
-msgstr ""
-
-#: builtin/grep.c:913
-msgid "show the number of matches instead of matching lines"
-msgstr ""
-
-#: builtin/grep.c:914
-msgid "highlight matches"
-msgstr ""
-
-#: builtin/grep.c:916
-msgid "print empty line between matches from different files"
-msgstr ""
-
-#: builtin/grep.c:918
-msgid "show filename only once above matches from same file"
-msgstr ""
-
-#: builtin/grep.c:921
-msgid "show <n> context lines before and after matches"
-msgstr ""
-
-#: builtin/grep.c:924
-msgid "show <n> context lines before matches"
-msgstr ""
-
-#: builtin/grep.c:926
-msgid "show <n> context lines after matches"
-msgstr ""
-
-#: builtin/grep.c:928
-msgid "use <n> worker threads"
-msgstr ""
-
-#: builtin/grep.c:929
-msgid "shortcut for -C NUM"
-msgstr ""
-
-#: builtin/grep.c:932
-msgid "show a line with the function name before matches"
-msgstr ""
-
-#: builtin/grep.c:934
-msgid "show the surrounding function"
-msgstr ""
-
-#: builtin/grep.c:937
-msgid "read patterns from file"
-msgstr ""
-
-#: builtin/grep.c:939
-msgid "match <pattern>"
-msgstr ""
-
-#: builtin/grep.c:941
-msgid "combine patterns specified with -e"
-msgstr ""
-
-#: builtin/grep.c:953
-msgid "indicate hit with exit status without output"
-msgstr ""
-
-#: builtin/grep.c:955
-msgid "show only matches from files that match all patterns"
-msgstr ""
-
-#: builtin/grep.c:958
-msgid "pager"
-msgstr ""
-
-#: builtin/grep.c:958
-msgid "show matching files in the pager"
-msgstr ""
-
-#: builtin/grep.c:962
-msgid "allow calling of grep(1) (ignored by this build)"
-msgstr ""
-
-#: builtin/grep.c:1028
-msgid "no pattern given"
-msgstr ""
-
-#: builtin/grep.c:1064
-msgid "--no-index or --untracked cannot be used with revs"
-msgstr ""
-
-#: builtin/grep.c:1072
-#, c-format
-msgid "unable to resolve revision: %s"
-msgstr ""
-
-#: builtin/grep.c:1102
-msgid "--untracked not supported with --recurse-submodules"
-msgstr ""
-
-#: builtin/grep.c:1106
-msgid "invalid option combination, ignoring --threads"
-msgstr ""
-
-#: builtin/grep.c:1109 builtin/pack-objects.c:4084
-msgid "no threads support, ignoring --threads"
-msgstr ""
-
-#: builtin/grep.c:1112 builtin/index-pack.c:1584 builtin/pack-objects.c:3147
-#, c-format
-msgid "invalid number of threads specified (%d)"
-msgstr ""
-
-#: builtin/grep.c:1146
-msgid "--open-files-in-pager only works on the worktree"
-msgstr ""
-
-#: builtin/grep.c:1179
-msgid "--[no-]exclude-standard cannot be used for tracked contents"
-msgstr ""
-
-#: builtin/grep.c:1187
-msgid "both --cached and trees are given"
-msgstr ""
-
-#: builtin/hash-object.c:83
-msgid ""
-"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
-"[--] <file>..."
-msgstr ""
-
-#: builtin/hash-object.c:97
-msgid "object type"
-msgstr ""
-
-#: builtin/hash-object.c:98
-msgid "write the object into the object database"
-msgstr ""
-
-#: builtin/hash-object.c:100
-msgid "read the object from stdin"
-msgstr ""
-
-#: builtin/hash-object.c:102
-msgid "store file as is without filters"
-msgstr ""
-
-#: builtin/hash-object.c:103
-msgid ""
-"just hash any random garbage to create corrupt objects for debugging Git"
-msgstr ""
-
-#: builtin/hash-object.c:104
-msgid "process file as it were from this path"
-msgstr ""
-
-#: builtin/help.c:57
-msgid "print all available commands"
-msgstr ""
-
-#: builtin/help.c:60
-msgid "show external commands in --all"
-msgstr ""
-
-#: builtin/help.c:61
-msgid "show aliases in --all"
-msgstr ""
-
-#: builtin/help.c:62
-msgid "exclude guides"
-msgstr ""
-
-#: builtin/help.c:63
-msgid "show man page"
-msgstr ""
-
-#: builtin/help.c:64
-msgid "show manual in web browser"
-msgstr ""
-
-#: builtin/help.c:66
-msgid "show info page"
-msgstr ""
-
-#: builtin/help.c:68
-msgid "print command description"
-msgstr ""
-
-#: builtin/help.c:70
-msgid "print list of useful guides"
-msgstr ""
-
-#: builtin/help.c:72
-msgid "print all configuration variable names"
-msgstr ""
-
-#: builtin/help.c:84
-msgid "git help [[-i|--info] [-m|--man] [-w|--web]] [<command>]"
-msgstr ""
-
-#: builtin/help.c:201
-#, c-format
-msgid "unrecognized help format '%s'"
-msgstr ""
-
-#: builtin/help.c:227
-msgid "Failed to start emacsclient."
-msgstr ""
-
-#: builtin/help.c:240
-msgid "Failed to parse emacsclient version."
-msgstr ""
-
-#: builtin/help.c:248
-#, c-format
-msgid "emacsclient version '%d' too old (< 22)."
-msgstr ""
-
-#: builtin/help.c:266 builtin/help.c:288 builtin/help.c:298 builtin/help.c:306
-#, c-format
-msgid "failed to exec '%s'"
-msgstr ""
-
-#: builtin/help.c:344
-#, c-format
-msgid ""
-"'%s': path for unsupported man viewer.\n"
-"Please consider using 'man.<tool>.cmd' instead."
-msgstr ""
-
-#: builtin/help.c:356
-#, c-format
-msgid ""
-"'%s': cmd for supported man viewer.\n"
-"Please consider using 'man.<tool>.path' instead."
-msgstr ""
-
-#: builtin/help.c:471
-#, c-format
-msgid "'%s': unknown man viewer."
-msgstr ""
-
-#: builtin/help.c:487
-msgid "no man viewer handled the request"
-msgstr ""
-
-#: builtin/help.c:494
-msgid "no info viewer handled the request"
-msgstr ""
-
-#: builtin/help.c:555 builtin/help.c:566 git.c:348
-#, c-format
-msgid "'%s' is aliased to '%s'"
-msgstr ""
-
-#: builtin/help.c:569 git.c:380
-#, c-format
-msgid "bad alias.%s string: %s"
-msgstr ""
-
-#: builtin/help.c:611
-#, c-format
-msgid "the '%s' option doesn't take any non-option arguments"
-msgstr ""
-
-#: builtin/help.c:631
-msgid ""
-"the '--no-[external-commands|aliases]' options can only be used with '--all'"
-msgstr ""
-
-#: builtin/help.c:643 builtin/help.c:671
-#, c-format
-msgid "usage: %s%s"
-msgstr ""
-
-#: builtin/help.c:666
-msgid "'git help config' for more information"
-msgstr ""
-
-#: builtin/hook.c:10
-msgid "git hook run [--ignore-missing] <hook-name> [-- <hook-args>]"
-msgstr ""
-
-#: builtin/hook.c:30
-msgid "silently ignore missing requested <hook-name>"
-msgstr ""
-
-#: builtin/index-pack.c:221
-#, c-format
-msgid "object type mismatch at %s"
-msgstr ""
-
-#: builtin/index-pack.c:241
-#, c-format
-msgid "did not receive expected object %s"
-msgstr ""
-
-#: builtin/index-pack.c:244
-#, c-format
-msgid "object %s: expected type %s, found %s"
-msgstr ""
-
-#: builtin/index-pack.c:294
-#, c-format
-msgid "cannot fill %d byte"
-msgid_plural "cannot fill %d bytes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:304
-msgid "early EOF"
-msgstr ""
-
-#: builtin/index-pack.c:305
-msgid "read error on input"
-msgstr ""
-
-#: builtin/index-pack.c:317
-msgid "used more bytes than were available"
-msgstr ""
-
-#: builtin/index-pack.c:324 builtin/pack-objects.c:754
-msgid "pack too large for current definition of off_t"
-msgstr ""
-
-#: builtin/index-pack.c:329
-#, c-format
-msgid "pack exceeds maximum allowed size (%s)"
-msgstr ""
-
-#: builtin/index-pack.c:362
-msgid "pack signature mismatch"
-msgstr ""
-
-#: builtin/index-pack.c:364
-#, c-format
-msgid "pack version %<PRIu32> unsupported"
-msgstr ""
-
-#: builtin/index-pack.c:380
-#, c-format
-msgid "pack has bad object at offset %<PRIuMAX>: %s"
-msgstr ""
-
-#: builtin/index-pack.c:485
-#, c-format
-msgid "inflate returned %d"
-msgstr ""
-
-#: builtin/index-pack.c:534
-msgid "offset value overflow for delta base object"
-msgstr ""
-
-#: builtin/index-pack.c:542
-msgid "delta base offset is out of bound"
-msgstr ""
-
-#: builtin/index-pack.c:550
-#, c-format
-msgid "unknown object type %d"
-msgstr ""
-
-#: builtin/index-pack.c:581
-msgid "cannot pread pack file"
-msgstr ""
-
-#: builtin/index-pack.c:583
-#, c-format
-msgid "premature end of pack file, %<PRIuMAX> byte missing"
-msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:609
-msgid "serious inflate inconsistency"
-msgstr ""
-
-#: builtin/index-pack.c:754 builtin/index-pack.c:760 builtin/index-pack.c:784
-#: builtin/index-pack.c:823 builtin/index-pack.c:832
-#, c-format
-msgid "SHA1 COLLISION FOUND WITH %s !"
-msgstr ""
-
-#: builtin/index-pack.c:757 builtin/pack-objects.c:290
-#: builtin/pack-objects.c:350 builtin/pack-objects.c:456
-#, c-format
-msgid "unable to read %s"
-msgstr ""
-
-#: builtin/index-pack.c:821
-#, c-format
-msgid "cannot read existing object info %s"
-msgstr ""
-
-#: builtin/index-pack.c:829
-#, c-format
-msgid "cannot read existing object %s"
-msgstr ""
-
-#: builtin/index-pack.c:843
-#, c-format
-msgid "invalid blob object %s"
-msgstr ""
-
-#: builtin/index-pack.c:846 builtin/index-pack.c:865
-msgid "fsck error in packed object"
-msgstr ""
-
-#: builtin/index-pack.c:867
-#, c-format
-msgid "Not all child objects of %s are reachable"
-msgstr ""
-
-#: builtin/index-pack.c:928 builtin/index-pack.c:975
-msgid "failed to apply delta"
-msgstr ""
-
-#: builtin/index-pack.c:1161
-msgid "Receiving objects"
-msgstr ""
-
-#: builtin/index-pack.c:1161
-msgid "Indexing objects"
-msgstr ""
-
-#: builtin/index-pack.c:1195
-msgid "pack is corrupted (SHA1 mismatch)"
-msgstr ""
-
-#: builtin/index-pack.c:1200
-msgid "cannot fstat packfile"
-msgstr ""
-
-#: builtin/index-pack.c:1203
-msgid "pack has junk at the end"
-msgstr ""
-
-#: builtin/index-pack.c:1215
-msgid "confusion beyond insanity in parse_pack_objects()"
-msgstr ""
-
-#: builtin/index-pack.c:1238
-msgid "Resolving deltas"
-msgstr ""
-
-#: builtin/index-pack.c:1249 builtin/pack-objects.c:2913
-#, c-format
-msgid "unable to create thread: %s"
-msgstr ""
-
-#: builtin/index-pack.c:1282
-msgid "confusion beyond insanity"
-msgstr ""
-
-#: builtin/index-pack.c:1288
-#, c-format
-msgid "completed with %d local object"
-msgid_plural "completed with %d local objects"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:1300
-#, c-format
-msgid "Unexpected tail checksum for %s (disk corruption?)"
-msgstr ""
-
-#: builtin/index-pack.c:1304
-#, c-format
-msgid "pack has %d unresolved delta"
-msgid_plural "pack has %d unresolved deltas"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:1328
-#, c-format
-msgid "unable to deflate appended object (%d)"
-msgstr ""
-
-#: builtin/index-pack.c:1423
-#, c-format
-msgid "local object %s is corrupt"
-msgstr ""
-
-#: builtin/index-pack.c:1445
-#, c-format
-msgid "packfile name '%s' does not end with '.%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1469
-#, c-format
-msgid "cannot write %s file '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1477
-#, c-format
-msgid "cannot close written %s file '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1494
-#, c-format
-msgid "unable to rename temporary '*.%s' file to '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1519
-msgid "error while closing pack file"
-msgstr ""
-
-#: builtin/index-pack.c:1578 builtin/pack-objects.c:3158
-#, c-format
-msgid "bad pack.indexversion=%<PRIu32>"
-msgstr ""
-
-#: builtin/index-pack.c:1648
-#, c-format
-msgid "Cannot open existing pack file '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1650
-#, c-format
-msgid "Cannot open existing pack idx file for '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1698
-#, c-format
-msgid "non delta: %d object"
-msgid_plural "non delta: %d objects"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:1705
-#, c-format
-msgid "chain length = %d: %lu object"
-msgid_plural "chain length = %d: %lu objects"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:1748
-msgid "Cannot come back to cwd"
-msgstr ""
-
-#: builtin/index-pack.c:1802 builtin/index-pack.c:1805
-#: builtin/index-pack.c:1825 builtin/index-pack.c:1829
-#, c-format
-msgid "bad %s"
-msgstr ""
-
-#: builtin/index-pack.c:1835 builtin/init-db.c:379 builtin/init-db.c:614
-#, c-format
-msgid "unknown hash algorithm '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1856
-msgid "--stdin requires a git repository"
-msgstr ""
-
-#: builtin/index-pack.c:1873
-msgid "--verify with no packfile name given"
-msgstr ""
-
-#: builtin/index-pack.c:1939 builtin/unpack-objects.c:584
-msgid "fsck error in pack objects"
-msgstr ""
-
-#: builtin/init-db.c:63
-#, c-format
-msgid "cannot stat template '%s'"
-msgstr ""
-
-#: builtin/init-db.c:68
-#, c-format
-msgid "cannot opendir '%s'"
-msgstr ""
-
-#: builtin/init-db.c:80
-#, c-format
-msgid "cannot readlink '%s'"
-msgstr ""
-
-#: builtin/init-db.c:82
-#, c-format
-msgid "cannot symlink '%s' '%s'"
-msgstr ""
-
-#: builtin/init-db.c:88
-#, c-format
-msgid "cannot copy '%s' to '%s'"
-msgstr ""
-
-#: builtin/init-db.c:92
-#, c-format
-msgid "ignoring template %s"
-msgstr ""
-
-#: builtin/init-db.c:123
-#, c-format
-msgid "templates not found in %s"
-msgstr ""
-
-#: builtin/init-db.c:138
-#, c-format
-msgid "not copying templates from '%s': %s"
-msgstr ""
-
-#: builtin/init-db.c:263
-#, c-format
-msgid "invalid initial branch name: '%s'"
-msgstr ""
-
-#: builtin/init-db.c:354
-#, c-format
-msgid "unable to handle file type %d"
-msgstr ""
-
-#: builtin/init-db.c:357
-#, c-format
-msgid "unable to move %s to %s"
-msgstr ""
-
-#: builtin/init-db.c:373
-msgid "attempt to reinitialize repository with different hash"
-msgstr ""
-
-#: builtin/init-db.c:397 builtin/init-db.c:400
-#, c-format
-msgid "%s already exists"
-msgstr ""
-
-#: builtin/init-db.c:432
-#, c-format
-msgid "re-init: ignored --initial-branch=%s"
-msgstr ""
-
-#: builtin/init-db.c:463
-#, c-format
-msgid "Reinitialized existing shared Git repository in %s%s\n"
-msgstr ""
-
-#: builtin/init-db.c:464
-#, c-format
-msgid "Reinitialized existing Git repository in %s%s\n"
-msgstr ""
-
-#: builtin/init-db.c:468
-#, c-format
-msgid "Initialized empty shared Git repository in %s%s\n"
-msgstr ""
-
-#: builtin/init-db.c:469
-#, c-format
-msgid "Initialized empty Git repository in %s%s\n"
-msgstr ""
-
-#: builtin/init-db.c:518
-msgid ""
-"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
-"shared[=<permissions>]] [<directory>]"
-msgstr ""
-
-#: builtin/init-db.c:544
-msgid "permissions"
-msgstr ""
-
-#: builtin/init-db.c:545
-msgid "specify that the git repository is to be shared amongst several users"
-msgstr ""
-
-#: builtin/init-db.c:551
-msgid "override the name of the initial branch"
-msgstr ""
-
-#: builtin/init-db.c:552 builtin/verify-pack.c:74
-msgid "hash"
-msgstr ""
-
-#: builtin/init-db.c:553 builtin/show-index.c:22 builtin/verify-pack.c:75
-msgid "specify the hash algorithm to use"
-msgstr ""
-
-#: builtin/init-db.c:591 builtin/init-db.c:596
-#, c-format
-msgid "cannot mkdir %s"
-msgstr ""
-
-#: builtin/init-db.c:600 builtin/init-db.c:655
-#, c-format
-msgid "cannot chdir to %s"
-msgstr ""
-
-#: builtin/init-db.c:627
-#, c-format
-msgid ""
-"%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
-"dir=<directory>)"
-msgstr ""
-
-#: builtin/init-db.c:679
-#, c-format
-msgid "Cannot access work tree '%s'"
-msgstr ""
-
-#: builtin/init-db.c:684
-msgid "--separate-git-dir incompatible with bare repository"
-msgstr ""
-
-#: builtin/interpret-trailers.c:16
-msgid ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<token>[(=|:)<value>])...] [<file>...]"
-msgstr ""
-
-#: builtin/interpret-trailers.c:95
-msgid "edit files in place"
-msgstr ""
-
-#: builtin/interpret-trailers.c:96
-msgid "trim empty trailers"
-msgstr ""
-
-#: builtin/interpret-trailers.c:99
-msgid "where to place the new trailer"
-msgstr ""
-
-#: builtin/interpret-trailers.c:101
-msgid "action if trailer already exists"
-msgstr ""
-
-#: builtin/interpret-trailers.c:103
-msgid "action if trailer is missing"
-msgstr ""
-
-#: builtin/interpret-trailers.c:105
-msgid "output only the trailers"
-msgstr ""
-
-#: builtin/interpret-trailers.c:106
-msgid "do not apply config rules"
-msgstr ""
-
-#: builtin/interpret-trailers.c:107
-msgid "join whitespace-continued values"
-msgstr ""
-
-#: builtin/interpret-trailers.c:108
-msgid "set parsing options"
-msgstr ""
-
-#: builtin/interpret-trailers.c:110
-msgid "do not treat --- specially"
-msgstr ""
-
-#: builtin/interpret-trailers.c:112
-msgid "trailer(s) to add"
-msgstr ""
-
-#: builtin/interpret-trailers.c:123
-msgid "--trailer with --only-input does not make sense"
-msgstr ""
-
-#: builtin/interpret-trailers.c:133
-msgid "no input file given for in-place editing"
-msgstr ""
-
-#: builtin/log.c:60
-msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
-msgstr ""
-
-#: builtin/log.c:61
-msgid "git show [<options>] <object>..."
-msgstr ""
-
-#: builtin/log.c:114
-#, c-format
-msgid "invalid --decorate option: %s"
-msgstr ""
-
-#: builtin/log.c:181
-msgid "show source"
-msgstr ""
-
-#: builtin/log.c:182
-msgid "use mail map file"
-msgstr ""
-
-#: builtin/log.c:185
-msgid "only decorate refs that match <pattern>"
-msgstr ""
-
-#: builtin/log.c:187
-msgid "do not decorate refs that match <pattern>"
-msgstr ""
-
-#: builtin/log.c:188
-msgid "decorate options"
-msgstr ""
-
-#: builtin/log.c:191
-msgid ""
-"trace the evolution of line range <start>,<end> or function :<funcname> in "
-"<file>"
-msgstr ""
-
-#: builtin/log.c:214
-msgid "-L<range>:<file> cannot be used with pathspec"
-msgstr ""
-
-#: builtin/log.c:322
-#, c-format
-msgid "Final output: %d %s\n"
-msgstr ""
-
-#: builtin/log.c:429
-msgid "unable to create temporary object directory"
-msgstr ""
-
-#: builtin/log.c:599
-#, c-format
-msgid "git show %s: bad file"
-msgstr ""
-
-#: builtin/log.c:614 builtin/log.c:706
-#, c-format
-msgid "could not read object %s"
-msgstr ""
-
-#: builtin/log.c:731
-#, c-format
-msgid "unknown type: %d"
-msgstr ""
-
-#: builtin/log.c:880
-#, c-format
-msgid "%s: invalid cover from description mode"
-msgstr ""
-
-#: builtin/log.c:887
-msgid "format.headers without value"
-msgstr ""
-
-#: builtin/log.c:1016
-#, c-format
-msgid "cannot open patch file %s"
-msgstr ""
-
-#: builtin/log.c:1033
-msgid "need exactly one range"
-msgstr ""
-
-#: builtin/log.c:1043
-msgid "not a range"
-msgstr ""
-
-#: builtin/log.c:1207
-msgid "cover letter needs email format"
-msgstr ""
-
-#: builtin/log.c:1213
-msgid "failed to create cover-letter file"
-msgstr ""
-
-#: builtin/log.c:1300
-#, c-format
-msgid "insane in-reply-to: %s"
-msgstr ""
-
-#: builtin/log.c:1327
-msgid "git format-patch [<options>] [<since> | <revision-range>]"
-msgstr ""
-
-#: builtin/log.c:1385
-msgid "two output directories?"
-msgstr ""
-
-#: builtin/log.c:1536 builtin/log.c:2369 builtin/log.c:2371 builtin/log.c:2383
-#, c-format
-msgid "unknown commit %s"
-msgstr ""
-
-#: builtin/log.c:1547 builtin/replace.c:58 builtin/replace.c:207
-#: builtin/replace.c:210
-#, c-format
-msgid "failed to resolve '%s' as a valid ref"
-msgstr ""
-
-#: builtin/log.c:1556
-msgid "could not find exact merge base"
-msgstr ""
-
-#: builtin/log.c:1566
-msgid ""
-"failed to get upstream, if you want to record base commit automatically,\n"
-"please use git branch --set-upstream-to to track a remote branch.\n"
-"Or you could specify base commit by --base=<base-commit-id> manually"
-msgstr ""
-
-#: builtin/log.c:1589
-msgid "failed to find exact merge base"
-msgstr ""
-
-#: builtin/log.c:1606
-msgid "base commit should be the ancestor of revision list"
-msgstr ""
-
-#: builtin/log.c:1616
-msgid "base commit shouldn't be in revision list"
-msgstr ""
-
-#: builtin/log.c:1674
-msgid "cannot get patch id"
-msgstr ""
-
-#: builtin/log.c:1737
-msgid "failed to infer range-diff origin of current series"
-msgstr ""
-
-#: builtin/log.c:1739
-#, c-format
-msgid "using '%s' as range-diff origin of current series"
-msgstr ""
-
-#: builtin/log.c:1783
-msgid "use [PATCH n/m] even with a single patch"
-msgstr ""
-
-#: builtin/log.c:1786
-msgid "use [PATCH] even with multiple patches"
-msgstr ""
-
-#: builtin/log.c:1790
-msgid "print patches to standard out"
-msgstr ""
-
-#: builtin/log.c:1792
-msgid "generate a cover letter"
-msgstr ""
-
-#: builtin/log.c:1794
-msgid "use simple number sequence for output file names"
-msgstr ""
-
-#: builtin/log.c:1795
-msgid "sfx"
-msgstr ""
-
-#: builtin/log.c:1796
-msgid "use <sfx> instead of '.patch'"
-msgstr ""
-
-#: builtin/log.c:1798
-msgid "start numbering patches at <n> instead of 1"
-msgstr ""
-
-#: builtin/log.c:1799
-msgid "reroll-count"
-msgstr ""
-
-#: builtin/log.c:1800
-msgid "mark the series as Nth re-roll"
-msgstr ""
-
-#: builtin/log.c:1802
-msgid "max length of output filename"
-msgstr ""
-
-#: builtin/log.c:1804
-msgid "use [RFC PATCH] instead of [PATCH]"
-msgstr ""
-
-#: builtin/log.c:1807
-msgid "cover-from-description-mode"
-msgstr ""
-
-#: builtin/log.c:1808
-msgid "generate parts of a cover letter based on a branch's description"
-msgstr ""
-
-#: builtin/log.c:1810
-msgid "use [<prefix>] instead of [PATCH]"
-msgstr ""
-
-#: builtin/log.c:1813
-msgid "store resulting files in <dir>"
-msgstr ""
-
-#: builtin/log.c:1816
-msgid "don't strip/add [PATCH]"
-msgstr ""
-
-#: builtin/log.c:1819
-msgid "don't output binary diffs"
-msgstr ""
-
-#: builtin/log.c:1821
-msgid "output all-zero hash in From header"
-msgstr ""
-
-#: builtin/log.c:1823
-msgid "don't include a patch matching a commit upstream"
-msgstr ""
-
-#: builtin/log.c:1825
-msgid "show patch format instead of default (patch + stat)"
-msgstr ""
-
-#: builtin/log.c:1827
-msgid "Messaging"
-msgstr ""
-
-#: builtin/log.c:1828
-msgid "header"
-msgstr ""
-
-#: builtin/log.c:1829
-msgid "add email header"
-msgstr ""
-
-#: builtin/log.c:1830 builtin/log.c:1831
-msgid "email"
-msgstr ""
-
-#: builtin/log.c:1830
-msgid "add To: header"
-msgstr ""
-
-#: builtin/log.c:1831
-msgid "add Cc: header"
-msgstr ""
-
-#: builtin/log.c:1832
-msgid "ident"
-msgstr ""
-
-#: builtin/log.c:1833
-msgid "set From address to <ident> (or committer ident if absent)"
-msgstr ""
-
-#: builtin/log.c:1835
-msgid "message-id"
-msgstr ""
-
-#: builtin/log.c:1836
-msgid "make first mail a reply to <message-id>"
-msgstr ""
-
-#: builtin/log.c:1837 builtin/log.c:1840
-msgid "boundary"
-msgstr ""
-
-#: builtin/log.c:1838
-msgid "attach the patch"
-msgstr ""
-
-#: builtin/log.c:1841
-msgid "inline the patch"
-msgstr ""
-
-#: builtin/log.c:1845
-msgid "enable message threading, styles: shallow, deep"
-msgstr ""
-
-#: builtin/log.c:1847
-msgid "signature"
-msgstr ""
-
-#: builtin/log.c:1848
-msgid "add a signature"
-msgstr ""
-
-#: builtin/log.c:1849
-msgid "base-commit"
-msgstr ""
-
-#: builtin/log.c:1850
-msgid "add prerequisite tree info to the patch series"
-msgstr ""
-
-#: builtin/log.c:1853
-msgid "add a signature from a file"
-msgstr ""
-
-#: builtin/log.c:1854
-msgid "don't print the patch filenames"
-msgstr ""
-
-#: builtin/log.c:1856
-msgid "show progress while generating patches"
-msgstr ""
-
-#: builtin/log.c:1858
-msgid "show changes against <rev> in cover letter or single patch"
-msgstr ""
-
-#: builtin/log.c:1861
-msgid "show changes against <refspec> in cover letter or single patch"
-msgstr ""
-
-#: builtin/log.c:1863 builtin/range-diff.c:28
-msgid "percentage by which creation is weighted"
-msgstr ""
-
-#: builtin/log.c:1953
-#, c-format
-msgid "invalid ident line: %s"
-msgstr ""
-
-#: builtin/log.c:1978
-msgid "--name-only does not make sense"
-msgstr ""
-
-#: builtin/log.c:1980
-msgid "--name-status does not make sense"
-msgstr ""
-
-#: builtin/log.c:1982
-msgid "--check does not make sense"
-msgstr ""
-
-#: builtin/log.c:1984
-msgid "--remerge-diff does not make sense"
-msgstr ""
-
-#: builtin/log.c:2129
-msgid "--interdiff requires --cover-letter or single patch"
-msgstr ""
-
-#: builtin/log.c:2133
-msgid "Interdiff:"
-msgstr ""
-
-#: builtin/log.c:2134
-#, c-format
-msgid "Interdiff against v%d:"
-msgstr ""
-
-#: builtin/log.c:2144
-msgid "--range-diff requires --cover-letter or single patch"
-msgstr ""
-
-#: builtin/log.c:2152
-msgid "Range-diff:"
-msgstr ""
-
-#: builtin/log.c:2153
-#, c-format
-msgid "Range-diff against v%d:"
-msgstr ""
-
-#: builtin/log.c:2164
-#, c-format
-msgid "unable to read signature file '%s'"
-msgstr ""
-
-#: builtin/log.c:2200
-msgid "Generating patches"
-msgstr ""
-
-#: builtin/log.c:2244
-msgid "failed to create output files"
-msgstr ""
-
-#: builtin/log.c:2304
-msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
-msgstr ""
-
-#: builtin/log.c:2358
-#, c-format
-msgid ""
-"Could not find a tracked remote branch, please specify <upstream> manually.\n"
-msgstr ""
-
-#: builtin/ls-files.c:564
-msgid "git ls-files [<options>] [<file>...]"
-msgstr ""
-
-#: builtin/ls-files.c:618
-msgid "separate paths with the NUL character"
-msgstr ""
-
-#: builtin/ls-files.c:620
-msgid "identify the file status with tags"
-msgstr ""
-
-#: builtin/ls-files.c:622
-msgid "use lowercase letters for 'assume unchanged' files"
-msgstr ""
-
-#: builtin/ls-files.c:624
-msgid "use lowercase letters for 'fsmonitor clean' files"
-msgstr ""
-
-#: builtin/ls-files.c:626
-msgid "show cached files in the output (default)"
-msgstr ""
-
-#: builtin/ls-files.c:628
-msgid "show deleted files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:630
-msgid "show modified files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:632
-msgid "show other files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:634
-msgid "show ignored files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:637
-msgid "show staged contents' object name in the output"
-msgstr ""
-
-#: builtin/ls-files.c:639
-msgid "show files on the filesystem that need to be removed"
-msgstr ""
-
-#: builtin/ls-files.c:641
-msgid "show 'other' directories' names only"
-msgstr ""
-
-#: builtin/ls-files.c:643
-msgid "show line endings of files"
-msgstr ""
-
-#: builtin/ls-files.c:645
-msgid "don't show empty directories"
-msgstr ""
-
-#: builtin/ls-files.c:648
-msgid "show unmerged files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:650
-msgid "show resolve-undo information"
-msgstr ""
-
-#: builtin/ls-files.c:652
-msgid "skip files matching pattern"
-msgstr ""
-
-#: builtin/ls-files.c:655
-msgid "read exclude patterns from <file>"
-msgstr ""
-
-#: builtin/ls-files.c:658
-msgid "read additional per-directory exclude patterns in <file>"
-msgstr ""
-
-#: builtin/ls-files.c:660
-msgid "add the standard git exclusions"
-msgstr ""
-
-#: builtin/ls-files.c:664
-msgid "make the output relative to the project top directory"
-msgstr ""
-
-#: builtin/ls-files.c:669
-msgid "if any <file> is not in the index, treat this as an error"
-msgstr ""
-
-#: builtin/ls-files.c:670
-msgid "tree-ish"
-msgstr ""
-
-#: builtin/ls-files.c:671
-msgid "pretend that paths removed since <tree-ish> are still present"
-msgstr ""
-
-#: builtin/ls-files.c:673
-msgid "show debugging data"
-msgstr ""
-
-#: builtin/ls-files.c:675
-msgid "suppress duplicate entries"
-msgstr ""
-
-#: builtin/ls-files.c:677
-msgid "show sparse directories in the presence of a sparse index"
-msgstr ""
-
-#: builtin/ls-remote.c:9
-msgid ""
-"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-"              [-q | --quiet] [--exit-code] [--get-url]\n"
-"              [--symref] [<repository> [<refs>...]]"
-msgstr ""
-
-#: builtin/ls-remote.c:60
-msgid "do not print remote URL"
-msgstr ""
-
-#: builtin/ls-remote.c:61 builtin/ls-remote.c:63 builtin/rebase.c:1131
-msgid "exec"
-msgstr ""
-
-#: builtin/ls-remote.c:62 builtin/ls-remote.c:64
-msgid "path of git-upload-pack on the remote host"
-msgstr ""
-
-#: builtin/ls-remote.c:66
-msgid "limit to tags"
-msgstr ""
-
-#: builtin/ls-remote.c:67
-msgid "limit to heads"
-msgstr ""
-
-#: builtin/ls-remote.c:68
-msgid "do not show peeled tags"
-msgstr ""
-
-#: builtin/ls-remote.c:70
-msgid "take url.<base>.insteadOf into account"
-msgstr ""
-
-#: builtin/ls-remote.c:73
-msgid "exit with exit code 2 if no matching refs are found"
-msgstr ""
-
-#: builtin/ls-remote.c:76
-msgid "show underlying ref in addition to the object pointed by it"
-msgstr ""
-
-#: builtin/ls-tree.c:36
-msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
-msgstr ""
-
-#: builtin/ls-tree.c:54
-#, c-format
-msgid "could not get object info about '%s'"
-msgstr ""
-
-#: builtin/ls-tree.c:79
-#, c-format
-msgid "bad ls-tree format: element '%s' does not start with '('"
-msgstr ""
-
-#: builtin/ls-tree.c:83
-#, c-format
-msgid "bad ls-tree format: element '%s' does not end in ')'"
-msgstr ""
-
-#: builtin/ls-tree.c:109
-#, c-format
-msgid "bad ls-tree format: %%%.*s"
-msgstr ""
-
-#: builtin/ls-tree.c:336
-msgid "only show trees"
-msgstr ""
-
-#: builtin/ls-tree.c:338
-msgid "recurse into subtrees"
-msgstr ""
-
-#: builtin/ls-tree.c:340
-msgid "show trees when recursing"
-msgstr ""
-
-#: builtin/ls-tree.c:343
-msgid "terminate entries with NUL byte"
-msgstr ""
-
-#: builtin/ls-tree.c:344
-msgid "include object size"
-msgstr ""
-
-#: builtin/ls-tree.c:346 builtin/ls-tree.c:348
-msgid "list only filenames"
-msgstr ""
-
-#: builtin/ls-tree.c:350
-msgid "list only objects"
-msgstr ""
-
-#: builtin/ls-tree.c:353
-msgid "use full path names"
-msgstr ""
-
-#: builtin/ls-tree.c:355
-msgid "list entire tree; not just current directory (implies --full-name)"
-msgstr ""
-
-#: builtin/ls-tree.c:391
-msgid "--format can't be combined with other format-altering options"
-msgstr ""
-
-#. TRANSLATORS: keep <> in "<" mail ">" info.
-#: builtin/mailinfo.c:14
-msgid "git mailinfo [<options>] <msg> <patch> < mail >info"
-msgstr ""
-
-#: builtin/mailinfo.c:58
-msgid "keep subject"
-msgstr ""
-
-#: builtin/mailinfo.c:60
-msgid "keep non patch brackets in subject"
-msgstr ""
-
-#: builtin/mailinfo.c:62
-msgid "copy Message-ID to the end of commit message"
-msgstr ""
-
-#: builtin/mailinfo.c:64
-msgid "re-code metadata to i18n.commitEncoding"
-msgstr ""
-
-#: builtin/mailinfo.c:67
-msgid "disable charset re-coding of metadata"
-msgstr ""
-
-#: builtin/mailinfo.c:69
-msgid "encoding"
-msgstr ""
-
-#: builtin/mailinfo.c:70
-msgid "re-code metadata to this encoding"
-msgstr ""
-
-#: builtin/mailinfo.c:72
-msgid "use scissors"
-msgstr ""
-
-#: builtin/mailinfo.c:73
-msgid "<action>"
-msgstr ""
-
-#: builtin/mailinfo.c:74
-msgid "action when quoted CR is found"
-msgstr ""
-
-#: builtin/mailinfo.c:77
-msgid "use headers in message's body"
-msgstr ""
-
-#: builtin/mailsplit.c:227
-msgid "reading patches from stdin/tty..."
-msgstr ""
-
-#: builtin/mailsplit.c:242
-#, c-format
-msgid "empty mbox: '%s'"
-msgstr ""
-
-#: builtin/merge-base.c:32
-msgid "git merge-base [-a | --all] <commit> <commit>..."
-msgstr ""
-
-#: builtin/merge-base.c:33
-msgid "git merge-base [-a | --all] --octopus <commit>..."
-msgstr ""
-
-#: builtin/merge-base.c:34
-msgid "git merge-base --independent <commit>..."
-msgstr ""
-
-#: builtin/merge-base.c:35
-msgid "git merge-base --is-ancestor <commit> <commit>"
-msgstr ""
-
-#: builtin/merge-base.c:36
-msgid "git merge-base --fork-point <ref> [<commit>]"
-msgstr ""
-
-#: builtin/merge-base.c:144
-msgid "output all common ancestors"
-msgstr ""
-
-#: builtin/merge-base.c:146
-msgid "find ancestors for a single n-way merge"
-msgstr ""
-
-#: builtin/merge-base.c:148
-msgid "list revs not reachable from others"
-msgstr ""
-
-#: builtin/merge-base.c:150
-msgid "is the first one ancestor of the other?"
-msgstr ""
-
-#: builtin/merge-base.c:152
-msgid "find where <commit> forked from reflog of <ref>"
-msgstr ""
-
-#: builtin/merge-file.c:9
-msgid ""
-"git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> "
-"<orig-file> <file2>"
-msgstr ""
-
-#: builtin/merge-file.c:35
-msgid "send results to standard output"
-msgstr ""
-
-#: builtin/merge-file.c:36
-msgid "use a diff3 based merge"
-msgstr ""
-
-#: builtin/merge-file.c:37
-msgid "use a zealous diff3 based merge"
-msgstr ""
-
-#: builtin/merge-file.c:39
-msgid "for conflicts, use our version"
-msgstr ""
-
-#: builtin/merge-file.c:41
-msgid "for conflicts, use their version"
-msgstr ""
-
-#: builtin/merge-file.c:43
-msgid "for conflicts, use a union version"
-msgstr ""
-
-#: builtin/merge-file.c:46
-msgid "for conflicts, use this marker size"
-msgstr ""
-
-#: builtin/merge-file.c:47
-msgid "do not warn about conflicts"
-msgstr ""
-
-#: builtin/merge-file.c:49
-msgid "set labels for file1/orig-file/file2"
-msgstr ""
-
-#: builtin/merge-recursive.c:47
-#, c-format
-msgid "unknown option %s"
-msgstr ""
-
-#: builtin/merge-recursive.c:53
-#, c-format
-msgid "could not parse object '%s'"
-msgstr ""
-
-#: builtin/merge-recursive.c:57
-#, c-format
-msgid "cannot handle more than %d base. Ignoring %s."
-msgid_plural "cannot handle more than %d bases. Ignoring %s."
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/merge-recursive.c:65
-msgid "not handling anything other than two heads merge."
-msgstr ""
-
-#: builtin/merge-recursive.c:74 builtin/merge-recursive.c:76
-#, c-format
-msgid "could not resolve ref '%s'"
-msgstr ""
-
-#: builtin/merge-recursive.c:82
-#, c-format
-msgid "Merging %s with %s\n"
-msgstr ""
-
-#: builtin/merge.c:59
-msgid "git merge [<options>] [<commit>...]"
-msgstr ""
-
-#: builtin/merge.c:125
-msgid "switch `m' requires a value"
-msgstr ""
-
-#: builtin/merge.c:148
-#, c-format
-msgid "option `%s' requires a value"
-msgstr ""
-
-#: builtin/merge.c:201
-#, c-format
-msgid "Could not find merge strategy '%s'.\n"
-msgstr ""
-
-#: builtin/merge.c:202
-#, c-format
-msgid "Available strategies are:"
-msgstr ""
-
-#: builtin/merge.c:207
-#, c-format
-msgid "Available custom strategies are:"
-msgstr ""
-
-#: builtin/merge.c:258 builtin/pull.c:134
-msgid "do not show a diffstat at the end of the merge"
-msgstr ""
-
-#: builtin/merge.c:261 builtin/pull.c:137
-msgid "show a diffstat at the end of the merge"
-msgstr ""
-
-#: builtin/merge.c:262 builtin/pull.c:140
-msgid "(synonym to --stat)"
-msgstr ""
-
-#: builtin/merge.c:264 builtin/pull.c:143
-msgid "add (at most <n>) entries from shortlog to merge commit message"
-msgstr ""
-
-#: builtin/merge.c:267 builtin/pull.c:149
-msgid "create a single commit instead of doing a merge"
-msgstr ""
-
-#: builtin/merge.c:269 builtin/pull.c:152
-msgid "perform a commit if the merge succeeds (default)"
-msgstr ""
-
-#: builtin/merge.c:271 builtin/pull.c:155
-msgid "edit message before committing"
-msgstr ""
-
-#: builtin/merge.c:273
-msgid "allow fast-forward (default)"
-msgstr ""
-
-#: builtin/merge.c:275 builtin/pull.c:162
-msgid "abort if fast-forward is not possible"
-msgstr ""
-
-#: builtin/merge.c:279 builtin/pull.c:168
-msgid "verify that the named commit has a valid GPG signature"
-msgstr ""
-
-#: builtin/merge.c:280 builtin/notes.c:785 builtin/pull.c:172
-#: builtin/rebase.c:1145 builtin/revert.c:114
-msgid "strategy"
-msgstr ""
-
-#: builtin/merge.c:281 builtin/pull.c:173
-msgid "merge strategy to use"
-msgstr ""
-
-#: builtin/merge.c:282 builtin/pull.c:176
-msgid "option=value"
-msgstr ""
-
-#: builtin/merge.c:283 builtin/pull.c:177
-msgid "option for selected merge strategy"
-msgstr ""
-
-#: builtin/merge.c:285
-msgid "merge commit message (for a non-fast-forward merge)"
-msgstr ""
-
-#: builtin/merge.c:291
-msgid "use <name> instead of the real target"
-msgstr ""
-
-#: builtin/merge.c:294
-msgid "abort the current in-progress merge"
-msgstr ""
-
-#: builtin/merge.c:296
-msgid "--abort but leave index and working tree alone"
-msgstr ""
-
-#: builtin/merge.c:298
-msgid "continue the current in-progress merge"
-msgstr ""
-
-#: builtin/merge.c:300 builtin/pull.c:184
-msgid "allow merging unrelated histories"
-msgstr ""
-
-#: builtin/merge.c:307
-msgid "bypass pre-merge-commit and commit-msg hooks"
-msgstr ""
-
-#: builtin/merge.c:323
-msgid "could not run stash."
-msgstr ""
-
-#: builtin/merge.c:328
-msgid "stash failed"
-msgstr ""
-
-#: builtin/merge.c:333
-#, c-format
-msgid "not a valid object: %s"
-msgstr ""
-
-#: builtin/merge.c:355 builtin/merge.c:372
-msgid "read-tree failed"
-msgstr ""
-
-#: builtin/merge.c:403
-msgid "Already up to date. (nothing to squash)"
-msgstr ""
-
-#: builtin/merge.c:417
-#, c-format
-msgid "Squash commit -- not updating HEAD\n"
-msgstr ""
-
-#: builtin/merge.c:467
-#, c-format
-msgid "No merge message -- not updating HEAD\n"
-msgstr ""
-
-#: builtin/merge.c:517
-#, c-format
-msgid "'%s' does not point to a commit"
-msgstr ""
-
-#: builtin/merge.c:605
-#, c-format
-msgid "Bad branch.%s.mergeoptions string: %s"
-msgstr ""
-
-#: builtin/merge.c:732
-msgid "Not handling anything other than two heads merge."
-msgstr ""
-
-#: builtin/merge.c:745
-#, c-format
-msgid "unknown strategy option: -X%s"
-msgstr ""
-
-#: builtin/merge.c:764 t/helper/test-fast-rebase.c:223
-#, c-format
-msgid "unable to write %s"
-msgstr ""
-
-#: builtin/merge.c:816
-#, c-format
-msgid "Could not read from '%s'"
-msgstr ""
-
-#: builtin/merge.c:825
-#, c-format
-msgid "Not committing merge; use 'git commit' to complete the merge.\n"
-msgstr ""
-
-#: builtin/merge.c:831
-msgid ""
-"Please enter a commit message to explain why this merge is necessary,\n"
-"especially if it merges an updated upstream into a topic branch.\n"
-"\n"
-msgstr ""
-
-#: builtin/merge.c:836
-msgid "An empty message aborts the commit.\n"
-msgstr ""
-
-#: builtin/merge.c:839
-#, c-format
-msgid ""
-"Lines starting with '%c' will be ignored, and an empty message aborts\n"
-"the commit.\n"
-msgstr ""
-
-#: builtin/merge.c:900
-msgid "Empty commit message."
-msgstr ""
-
-#: builtin/merge.c:915
-#, c-format
-msgid "Wonderful.\n"
-msgstr ""
-
-#: builtin/merge.c:976
-#, c-format
-msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
-msgstr ""
-
-#: builtin/merge.c:1015
-msgid "No current branch."
-msgstr ""
-
-#: builtin/merge.c:1017
-msgid "No remote for the current branch."
-msgstr ""
-
-#: builtin/merge.c:1019
-msgid "No default upstream defined for the current branch."
-msgstr ""
-
-#: builtin/merge.c:1024
-#, c-format
-msgid "No remote-tracking branch for %s from %s"
-msgstr ""
-
-#: builtin/merge.c:1081
-#, c-format
-msgid "Bad value '%s' in environment '%s'"
-msgstr ""
-
-#: builtin/merge.c:1183
-#, c-format
-msgid "not something we can merge in %s: %s"
-msgstr ""
-
-#: builtin/merge.c:1217
-msgid "not something we can merge"
-msgstr ""
-
-#: builtin/merge.c:1330
-msgid "--abort expects no arguments"
-msgstr ""
-
-#: builtin/merge.c:1334
-msgid "There is no merge to abort (MERGE_HEAD missing)."
-msgstr ""
-
-#: builtin/merge.c:1352
-msgid "--quit expects no arguments"
-msgstr ""
-
-#: builtin/merge.c:1365
-msgid "--continue expects no arguments"
-msgstr ""
-
-#: builtin/merge.c:1369
-msgid "There is no merge in progress (MERGE_HEAD missing)."
-msgstr ""
-
-#: builtin/merge.c:1385
-msgid ""
-"You have not concluded your merge (MERGE_HEAD exists).\n"
-"Please, commit your changes before you merge."
-msgstr ""
-
-#: builtin/merge.c:1392
-msgid ""
-"You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
-"Please, commit your changes before you merge."
-msgstr ""
-
-#: builtin/merge.c:1395
-msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
-msgstr ""
-
-#: builtin/merge.c:1427
-msgid "No commit specified and merge.defaultToUpstream not set."
-msgstr ""
-
-#: builtin/merge.c:1444
-msgid "Squash commit into empty head not supported yet"
-msgstr ""
-
-#: builtin/merge.c:1446
-msgid "Non-fast-forward commit does not make sense into an empty head"
-msgstr ""
-
-#: builtin/merge.c:1451
-#, c-format
-msgid "%s - not something we can merge"
-msgstr ""
-
-#: builtin/merge.c:1453
-msgid "Can merge only exactly one commit into empty head"
-msgstr ""
-
-#: builtin/merge.c:1540
-msgid "refusing to merge unrelated histories"
-msgstr ""
-
-#: builtin/merge.c:1559
-#, c-format
-msgid "Updating %s..%s\n"
-msgstr ""
-
-#: builtin/merge.c:1606
-#, c-format
-msgid "Trying really trivial in-index merge...\n"
-msgstr ""
-
-#: builtin/merge.c:1613
-#, c-format
-msgid "Nope.\n"
-msgstr ""
-
-#: builtin/merge.c:1671 builtin/merge.c:1737
-#, c-format
-msgid "Rewinding the tree to pristine...\n"
-msgstr ""
-
-#: builtin/merge.c:1675
-#, c-format
-msgid "Trying merge strategy %s...\n"
-msgstr ""
-
-#: builtin/merge.c:1727
-#, c-format
-msgid "No merge strategy handled the merge.\n"
-msgstr ""
-
-#: builtin/merge.c:1729
-#, c-format
-msgid "Merge with strategy %s failed.\n"
-msgstr ""
-
-#: builtin/merge.c:1739
-#, c-format
-msgid "Using the %s strategy to prepare resolving by hand.\n"
-msgstr ""
-
-#: builtin/merge.c:1753
-#, c-format
-msgid "Automatic merge went well; stopped before committing as requested\n"
-msgstr ""
-
-#: builtin/mktag.c:27
-#, c-format
-msgid "warning: tag input does not pass fsck: %s"
-msgstr ""
-
-#: builtin/mktag.c:38
-#, c-format
-msgid "error: tag input does not pass fsck: %s"
-msgstr ""
-
-#: builtin/mktag.c:41
-#, c-format
-msgid "%d (FSCK_IGNORE?) should never trigger this callback"
-msgstr ""
-
-#: builtin/mktag.c:56
-#, c-format
-msgid "could not read tagged object '%s'"
-msgstr ""
-
-#: builtin/mktag.c:59
-#, c-format
-msgid "object '%s' tagged as '%s', but is a '%s' type"
-msgstr ""
-
-#: builtin/mktag.c:97
-msgid "tag on stdin did not pass our strict fsck check"
-msgstr ""
-
-#: builtin/mktag.c:100
-msgid "tag on stdin did not refer to a valid object"
-msgstr ""
-
-#: builtin/mktag.c:103 builtin/tag.c:243
-msgid "unable to write tag file"
-msgstr ""
-
-#: builtin/mktree.c:154
-msgid "input is NUL terminated"
-msgstr ""
-
-#: builtin/mktree.c:155 builtin/write-tree.c:26
-msgid "allow missing objects"
-msgstr ""
-
-#: builtin/mktree.c:156
-msgid "allow creation of more than one tree"
-msgstr ""
-
-#: builtin/multi-pack-index.c:10
-msgid ""
-"git multi-pack-index [<options>] write [--preferred-pack=<pack>][--refs-"
-"snapshot=<path>]"
-msgstr ""
-
-#: builtin/multi-pack-index.c:14
-msgid "git multi-pack-index [<options>] verify"
-msgstr ""
-
-#: builtin/multi-pack-index.c:17
-msgid "git multi-pack-index [<options>] expire"
-msgstr ""
-
-#: builtin/multi-pack-index.c:20
-msgid "git multi-pack-index [<options>] repack [--batch-size=<size>]"
-msgstr ""
-
-#: builtin/multi-pack-index.c:57
-msgid "object directory containing set of packfile and pack-index pairs"
-msgstr ""
-
-#: builtin/multi-pack-index.c:98
-msgid "preferred-pack"
-msgstr ""
-
-#: builtin/multi-pack-index.c:99
-msgid "pack for reuse when computing a multi-pack bitmap"
-msgstr ""
-
-#: builtin/multi-pack-index.c:100
-msgid "write multi-pack bitmap"
-msgstr ""
-
-#: builtin/multi-pack-index.c:105
-msgid "write multi-pack index containing only given indexes"
-msgstr ""
-
-#: builtin/multi-pack-index.c:107
-msgid "refs snapshot for selecting bitmap commits"
-msgstr ""
-
-#: builtin/multi-pack-index.c:206
-msgid ""
-"during repack, collect pack-files of smaller size into a batch that is "
-"larger than this size"
-msgstr ""
-
-#: builtin/mv.c:18
-msgid "git mv [<options>] <source>... <destination>"
-msgstr ""
-
-#: builtin/mv.c:83
-#, c-format
-msgid "Directory %s is in index and no submodule?"
-msgstr ""
-
-#: builtin/mv.c:85
-msgid "Please stage your changes to .gitmodules or stash them to proceed"
-msgstr ""
-
-#: builtin/mv.c:103
-#, c-format
-msgid "%.*s is in index"
-msgstr ""
-
-#: builtin/mv.c:125
-msgid "force move/rename even if target exists"
-msgstr ""
-
-#: builtin/mv.c:127
-msgid "skip move/rename errors"
-msgstr ""
-
-#: builtin/mv.c:172
-#, c-format
-msgid "destination '%s' is not a directory"
-msgstr ""
-
-#: builtin/mv.c:184
-#, c-format
-msgid "Checking rename of '%s' to '%s'\n"
-msgstr ""
-
-#: builtin/mv.c:190
-msgid "bad source"
-msgstr ""
-
-#: builtin/mv.c:193
-msgid "can not move directory into itself"
-msgstr ""
-
-#: builtin/mv.c:196
-msgid "cannot move directory over file"
-msgstr ""
-
-#: builtin/mv.c:205
-msgid "source directory is empty"
-msgstr ""
-
-#: builtin/mv.c:231
-msgid "not under version control"
-msgstr ""
-
-#: builtin/mv.c:233
-msgid "conflicted"
-msgstr ""
-
-#: builtin/mv.c:236
-msgid "destination exists"
-msgstr ""
-
-#: builtin/mv.c:244
-#, c-format
-msgid "overwriting '%s'"
-msgstr ""
-
-#: builtin/mv.c:247
-msgid "Cannot overwrite"
-msgstr ""
-
-#: builtin/mv.c:250
-msgid "multiple sources for the same target"
-msgstr ""
-
-#: builtin/mv.c:252
-msgid "destination directory does not exist"
-msgstr ""
-
-#: builtin/mv.c:280
-#, c-format
-msgid "%s, source=%s, destination=%s"
-msgstr ""
-
-#: builtin/mv.c:308
-#, c-format
-msgid "Renaming %s to %s\n"
-msgstr ""
-
-#: builtin/mv.c:314 builtin/remote.c:812 builtin/repack.c:861
-#, c-format
-msgid "renaming '%s' failed"
-msgstr ""
-
-#: builtin/name-rev.c:524
-msgid "git name-rev [<options>] <commit>..."
-msgstr ""
-
-#: builtin/name-rev.c:525
-msgid "git name-rev [<options>] --all"
-msgstr ""
-
-#: builtin/name-rev.c:526
-msgid "git name-rev [<options>] --annotate-stdin"
-msgstr ""
-
-#: builtin/name-rev.c:583
-msgid "print only ref-based names (no object names)"
-msgstr ""
-
-#: builtin/name-rev.c:584
-msgid "only use tags to name the commits"
-msgstr ""
-
-#: builtin/name-rev.c:586
-msgid "only use refs matching <pattern>"
-msgstr ""
-
-#: builtin/name-rev.c:588
-msgid "ignore refs matching <pattern>"
-msgstr ""
-
-#: builtin/name-rev.c:590
-msgid "list all commits reachable from all refs"
-msgstr ""
-
-#: builtin/name-rev.c:591
-msgid "deprecated: use annotate-stdin instead"
-msgstr ""
-
-#: builtin/name-rev.c:592
-msgid "annotate text from stdin"
-msgstr ""
-
-#: builtin/name-rev.c:593
-msgid "allow to print `undefined` names (default)"
-msgstr ""
-
-#: builtin/name-rev.c:599
-msgid "dereference tags in the input (internal use)"
-msgstr ""
-
-#: builtin/notes.c:28
-msgid "git notes [--ref <notes-ref>] [list [<object>]]"
-msgstr ""
-
-#: builtin/notes.c:29
-msgid ""
-"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <msg> | -F <file> "
-"| (-c | -C) <object>] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:30
-msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
-msgstr ""
-
-#: builtin/notes.c:31
-msgid ""
-"git notes [--ref <notes-ref>] append [--allow-empty] [-m <msg> | -F <file> | "
-"(-c | -C) <object>] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:32
-msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:33
-msgid "git notes [--ref <notes-ref>] show [<object>]"
-msgstr ""
-
-#: builtin/notes.c:34
-msgid ""
-"git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>"
-msgstr ""
-
-#: builtin/notes.c:37
-msgid "git notes [--ref <notes-ref>] remove [<object>...]"
-msgstr ""
-
-#: builtin/notes.c:38
-msgid "git notes [--ref <notes-ref>] prune [-n] [-v]"
-msgstr ""
-
-#: builtin/notes.c:39
-msgid "git notes [--ref <notes-ref>] get-ref"
-msgstr ""
-
-#: builtin/notes.c:44
-msgid "git notes [list [<object>]]"
-msgstr ""
-
-#: builtin/notes.c:49
-msgid "git notes add [<options>] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:54
-msgid "git notes copy [<options>] <from-object> <to-object>"
-msgstr ""
-
-#: builtin/notes.c:55
-msgid "git notes copy --stdin [<from-object> <to-object>]..."
-msgstr ""
-
-#: builtin/notes.c:60
-msgid "git notes append [<options>] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:65
-msgid "git notes edit [<object>]"
-msgstr ""
-
-#: builtin/notes.c:70
-msgid "git notes show [<object>]"
-msgstr ""
-
-#: builtin/notes.c:75
-msgid "git notes merge [<options>] <notes-ref>"
-msgstr ""
-
-#: builtin/notes.c:76
-msgid "git notes merge --commit [<options>]"
-msgstr ""
-
-#: builtin/notes.c:77
-msgid "git notes merge --abort [<options>]"
-msgstr ""
-
-#: builtin/notes.c:82
-msgid "git notes remove [<object>]"
-msgstr ""
-
-#: builtin/notes.c:87
-msgid "git notes prune [<options>]"
-msgstr ""
-
-#: builtin/notes.c:97
-msgid "Write/edit the notes for the following object:"
-msgstr ""
-
-#: builtin/notes.c:149
-#, c-format
-msgid "unable to start 'show' for object '%s'"
-msgstr ""
-
-#: builtin/notes.c:153
-msgid "could not read 'show' output"
-msgstr ""
-
-#: builtin/notes.c:161
-#, c-format
-msgid "failed to finish 'show' for object '%s'"
-msgstr ""
-
-#: builtin/notes.c:194
-msgid "please supply the note contents using either -m or -F option"
-msgstr ""
-
-#: builtin/notes.c:203
-msgid "unable to write note object"
-msgstr ""
-
-#: builtin/notes.c:206
-#, c-format
-msgid "the note contents have been left in %s"
-msgstr ""
-
-#: builtin/notes.c:240 builtin/tag.c:582
-#, c-format
-msgid "could not open or read '%s'"
-msgstr ""
-
-#: builtin/notes.c:261 builtin/notes.c:311 builtin/notes.c:313
-#: builtin/notes.c:381 builtin/notes.c:436 builtin/notes.c:524
-#: builtin/notes.c:529 builtin/notes.c:608 builtin/notes.c:670
-#, c-format
-msgid "failed to resolve '%s' as a valid ref."
-msgstr ""
-
-#: builtin/notes.c:263
-#, c-format
-msgid "failed to read object '%s'."
-msgstr ""
-
-#: builtin/notes.c:266
-#, c-format
-msgid "cannot read note data from non-blob object '%s'."
-msgstr ""
-
-#: builtin/notes.c:307
-#, c-format
-msgid "malformed input line: '%s'."
-msgstr ""
-
-#: builtin/notes.c:322
-#, c-format
-msgid "failed to copy notes from '%s' to '%s'"
-msgstr ""
-
-#. TRANSLATORS: the first %s will be replaced by a git
-#. notes command: 'add', 'merge', 'remove', etc.
-#.
-#: builtin/notes.c:354
-#, c-format
-msgid "refusing to %s notes in %s (outside of refs/notes/)"
-msgstr ""
-
-#: builtin/notes.c:387 builtin/notes.c:676
-#, c-format
-msgid "no note found for object %s."
-msgstr ""
-
-#: builtin/notes.c:408 builtin/notes.c:574
-msgid "note contents as a string"
-msgstr ""
-
-#: builtin/notes.c:411 builtin/notes.c:577
-msgid "note contents in a file"
-msgstr ""
-
-#: builtin/notes.c:414 builtin/notes.c:580
-msgid "reuse and edit specified note object"
-msgstr ""
-
-#: builtin/notes.c:417 builtin/notes.c:583
-msgid "reuse specified note object"
-msgstr ""
-
-#: builtin/notes.c:420 builtin/notes.c:586
-msgid "allow storing empty note"
-msgstr ""
-
-#: builtin/notes.c:421 builtin/notes.c:494
-msgid "replace existing notes"
-msgstr ""
-
-#: builtin/notes.c:446
-#, c-format
-msgid ""
-"Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
-"existing notes"
-msgstr ""
-
-#: builtin/notes.c:461 builtin/notes.c:542
-#, c-format
-msgid "Overwriting existing notes for object %s\n"
-msgstr ""
-
-#: builtin/notes.c:473 builtin/notes.c:635 builtin/notes.c:904
-#, c-format
-msgid "Removing note for object %s\n"
-msgstr ""
-
-#: builtin/notes.c:495
-msgid "read objects from stdin"
-msgstr ""
-
-#: builtin/notes.c:497
-msgid "load rewriting config for <command> (implies --stdin)"
-msgstr ""
-
-#: builtin/notes.c:515
-msgid "too few arguments"
-msgstr ""
-
-#: builtin/notes.c:536
-#, c-format
-msgid ""
-"Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
-"existing notes"
-msgstr ""
-
-#: builtin/notes.c:548
-#, c-format
-msgid "missing notes on source object %s. Cannot copy."
-msgstr ""
-
-#: builtin/notes.c:601
-#, c-format
-msgid ""
-"The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
-"Please use 'git notes add -f -m/-F/-c/-C' instead.\n"
-msgstr ""
-
-#: builtin/notes.c:696
-msgid "failed to delete ref NOTES_MERGE_PARTIAL"
-msgstr ""
-
-#: builtin/notes.c:698
-msgid "failed to delete ref NOTES_MERGE_REF"
-msgstr ""
-
-#: builtin/notes.c:700
-msgid "failed to remove 'git notes merge' worktree"
-msgstr ""
-
-#: builtin/notes.c:720
-msgid "failed to read ref NOTES_MERGE_PARTIAL"
-msgstr ""
-
-#: builtin/notes.c:722
-msgid "could not find commit from NOTES_MERGE_PARTIAL."
-msgstr ""
-
-#: builtin/notes.c:724
-msgid "could not parse commit from NOTES_MERGE_PARTIAL."
-msgstr ""
-
-#: builtin/notes.c:737
-msgid "failed to resolve NOTES_MERGE_REF"
-msgstr ""
-
-#: builtin/notes.c:740
-msgid "failed to finalize notes merge"
-msgstr ""
-
-#: builtin/notes.c:766
-#, c-format
-msgid "unknown notes merge strategy %s"
-msgstr ""
-
-#: builtin/notes.c:782
-msgid "General options"
-msgstr ""
-
-#: builtin/notes.c:784
-msgid "Merge options"
-msgstr ""
-
-#: builtin/notes.c:786
-msgid ""
-"resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
-"cat_sort_uniq)"
-msgstr ""
-
-#: builtin/notes.c:788
-msgid "Committing unmerged notes"
-msgstr ""
-
-#: builtin/notes.c:790
-msgid "finalize notes merge by committing unmerged notes"
-msgstr ""
-
-#: builtin/notes.c:792
-msgid "Aborting notes merge resolution"
-msgstr ""
-
-#: builtin/notes.c:794
-msgid "abort notes merge"
-msgstr ""
-
-#: builtin/notes.c:805
-msgid "cannot mix --commit, --abort or -s/--strategy"
-msgstr ""
-
-#: builtin/notes.c:810
-msgid "must specify a notes ref to merge"
-msgstr ""
-
-#: builtin/notes.c:834
-#, c-format
-msgid "unknown -s/--strategy: %s"
-msgstr ""
-
-#: builtin/notes.c:874
-#, c-format
-msgid "a notes merge into %s is already in-progress at %s"
-msgstr ""
-
-#: builtin/notes.c:878
-#, c-format
-msgid "failed to store link to current notes ref (%s)"
-msgstr ""
-
-#: builtin/notes.c:880
-#, c-format
-msgid ""
-"Automatic notes merge failed. Fix conflicts in %s and commit the result with "
-"'git notes merge --commit', or abort the merge with 'git notes merge --"
-"abort'.\n"
-msgstr ""
-
-#: builtin/notes.c:899 builtin/tag.c:595
-#, c-format
-msgid "Failed to resolve '%s' as a valid ref."
-msgstr ""
-
-#: builtin/notes.c:902
-#, c-format
-msgid "Object %s has no note\n"
-msgstr ""
-
-#: builtin/notes.c:914
-msgid "attempt to remove non-existent note is not an error"
-msgstr ""
-
-#: builtin/notes.c:917
-msgid "read object names from the standard input"
-msgstr ""
-
-#: builtin/notes.c:956 builtin/prune.c:144 builtin/worktree.c:148
-msgid "do not remove, show only"
-msgstr ""
-
-#: builtin/notes.c:957
-msgid "report pruned notes"
-msgstr ""
-
-#: builtin/notes.c:1000
-msgid "notes-ref"
-msgstr ""
-
-#: builtin/notes.c:1001
-msgid "use notes from <notes-ref>"
-msgstr ""
-
-#: builtin/notes.c:1036 builtin/stash.c:1802
-#, c-format
-msgid "unknown subcommand: %s"
-msgstr ""
-
-#: builtin/pack-objects.c:182
-msgid ""
-"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
-msgstr ""
-
-#: builtin/pack-objects.c:183
-msgid ""
-"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
-msgstr ""
-
-#: builtin/pack-objects.c:570
-#, c-format
-msgid ""
-"write_reuse_object: could not locate %s, expected at offset %<PRIuMAX> in "
-"pack %s"
-msgstr ""
-
-#: builtin/pack-objects.c:578
-#, c-format
-msgid "bad packed object CRC for %s"
-msgstr ""
-
-#: builtin/pack-objects.c:589
-#, c-format
-msgid "corrupt packed object for %s"
-msgstr ""
-
-#: builtin/pack-objects.c:720
-#, c-format
-msgid "recursive delta detected for object %s"
-msgstr ""
-
-#: builtin/pack-objects.c:939
-#, c-format
-msgid "ordered %u objects, expected %<PRIu32>"
-msgstr ""
-
-#: builtin/pack-objects.c:1034
-#, c-format
-msgid "expected object at offset %<PRIuMAX> in pack %s"
-msgstr ""
-
-#: builtin/pack-objects.c:1158
-msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
-msgstr ""
-
-#: builtin/pack-objects.c:1171
-msgid "Writing objects"
-msgstr ""
-
-#: builtin/pack-objects.c:1243 builtin/update-index.c:90
-#, c-format
-msgid "failed to stat %s"
-msgstr ""
-
-#: builtin/pack-objects.c:1276
-msgid "failed to write bitmap index"
-msgstr ""
-
-#: builtin/pack-objects.c:1302
-#, c-format
-msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
-msgstr ""
-
-#: builtin/pack-objects.c:1544
-msgid "disabling bitmap writing, as some objects are not being packed"
-msgstr ""
-
-#: builtin/pack-objects.c:1992
-#, c-format
-msgid "delta base offset overflow in pack for %s"
-msgstr ""
-
-#: builtin/pack-objects.c:2001
-#, c-format
-msgid "delta base offset out of bound for %s"
-msgstr ""
-
-#: builtin/pack-objects.c:2282
-msgid "Counting objects"
-msgstr ""
-
-#: builtin/pack-objects.c:2447
-#, c-format
-msgid "unable to parse object header of %s"
-msgstr ""
-
-#: builtin/pack-objects.c:2517 builtin/pack-objects.c:2533
-#: builtin/pack-objects.c:2543
-#, c-format
-msgid "object %s cannot be read"
-msgstr ""
-
-#: builtin/pack-objects.c:2520 builtin/pack-objects.c:2547
-#, c-format
-msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
-msgstr ""
-
-#: builtin/pack-objects.c:2557
-msgid "suboptimal pack - out of memory"
-msgstr ""
-
-#: builtin/pack-objects.c:2872
-#, c-format
-msgid "Delta compression using up to %d threads"
-msgstr ""
-
-#: builtin/pack-objects.c:3011
-#, c-format
-msgid "unable to pack objects reachable from tag %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3097
-msgid "Compressing objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3103
-msgid "inconsistency with delta count"
-msgstr ""
-
-#: builtin/pack-objects.c:3182
-#, c-format
-msgid ""
-"value of uploadpack.blobpackfileuri must be of the form '<object-hash> <pack-"
-"hash> <uri>' (got '%s')"
-msgstr ""
-
-#: builtin/pack-objects.c:3185
-#, c-format
-msgid ""
-"object already configured in another uploadpack.blobpackfileuri (got '%s')"
-msgstr ""
-
-#: builtin/pack-objects.c:3220
-#, c-format
-msgid "could not get type of object %s in pack %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3348 builtin/pack-objects.c:3359
-#: builtin/pack-objects.c:3373
-#, c-format
-msgid "could not find pack '%s'"
-msgstr ""
-
-#: builtin/pack-objects.c:3416
-#, c-format
-msgid ""
-"expected edge object ID, got garbage:\n"
-" %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3422
-#, c-format
-msgid ""
-"expected object ID, got garbage:\n"
-" %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3540 builtin/pack-objects.c:3627
-msgid "cannot open pack index"
-msgstr ""
-
-#: builtin/pack-objects.c:3549
-#, c-format
-msgid "loose object at %s could not be examined"
-msgstr ""
-
-#: builtin/pack-objects.c:3635
-msgid "unable to force loose object"
-msgstr ""
-
-#: builtin/pack-objects.c:3763
-#, c-format
-msgid "not a rev '%s'"
-msgstr ""
-
-#: builtin/pack-objects.c:3766 builtin/rev-parse.c:1061
-#, c-format
-msgid "bad revision '%s'"
-msgstr ""
-
-#: builtin/pack-objects.c:3794
-msgid "unable to add recent objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3847
-#, c-format
-msgid "unsupported index version %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3851
-#, c-format
-msgid "bad index version '%s'"
-msgstr ""
-
-#: builtin/pack-objects.c:3907
-msgid "<version>[,<offset>]"
-msgstr ""
-
-#: builtin/pack-objects.c:3908
-msgid "write the pack index file in the specified idx format version"
-msgstr ""
-
-#: builtin/pack-objects.c:3911
-msgid "maximum size of each output pack file"
-msgstr ""
-
-#: builtin/pack-objects.c:3913
-msgid "ignore borrowed objects from alternate object store"
-msgstr ""
-
-#: builtin/pack-objects.c:3915
-msgid "ignore packed objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3917
-msgid "limit pack window by objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3919
-msgid "limit pack window by memory in addition to object limit"
-msgstr ""
-
-#: builtin/pack-objects.c:3921
-msgid "maximum length of delta chain allowed in the resulting pack"
-msgstr ""
-
-#: builtin/pack-objects.c:3923
-msgid "reuse existing deltas"
-msgstr ""
-
-#: builtin/pack-objects.c:3925
-msgid "reuse existing objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3927
-msgid "use OFS_DELTA objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3929
-msgid "use threads when searching for best delta matches"
-msgstr ""
-
-#: builtin/pack-objects.c:3931
-msgid "do not create an empty pack output"
-msgstr ""
-
-#: builtin/pack-objects.c:3933
-msgid "read revision arguments from standard input"
-msgstr ""
-
-#: builtin/pack-objects.c:3935
-msgid "limit the objects to those that are not yet packed"
-msgstr ""
-
-#: builtin/pack-objects.c:3938
-msgid "include objects reachable from any reference"
-msgstr ""
-
-#: builtin/pack-objects.c:3941
-msgid "include objects referred by reflog entries"
-msgstr ""
-
-#: builtin/pack-objects.c:3944
-msgid "include objects referred to by the index"
-msgstr ""
-
-#: builtin/pack-objects.c:3947
-msgid "read packs from stdin"
-msgstr ""
-
-#: builtin/pack-objects.c:3949
-msgid "output pack to stdout"
-msgstr ""
-
-#: builtin/pack-objects.c:3951
-msgid "include tag objects that refer to objects to be packed"
-msgstr ""
-
-#: builtin/pack-objects.c:3953
-msgid "keep unreachable objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3955
-msgid "pack loose unreachable objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3957
-msgid "unpack unreachable objects newer than <time>"
-msgstr ""
-
-#: builtin/pack-objects.c:3960
-msgid "use the sparse reachability algorithm"
-msgstr ""
-
-#: builtin/pack-objects.c:3962
-msgid "create thin packs"
-msgstr ""
-
-#: builtin/pack-objects.c:3964
-msgid "create packs suitable for shallow fetches"
-msgstr ""
-
-#: builtin/pack-objects.c:3966
-msgid "ignore packs that have companion .keep file"
-msgstr ""
-
-#: builtin/pack-objects.c:3968
-msgid "ignore this pack"
-msgstr ""
-
-#: builtin/pack-objects.c:3970
-msgid "pack compression level"
-msgstr ""
-
-#: builtin/pack-objects.c:3972
-msgid "do not hide commits by grafts"
-msgstr ""
-
-#: builtin/pack-objects.c:3974
-msgid "use a bitmap index if available to speed up counting objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3976
-msgid "write a bitmap index together with the pack index"
-msgstr ""
-
-#: builtin/pack-objects.c:3980
-msgid "write a bitmap index if possible"
-msgstr ""
-
-#: builtin/pack-objects.c:3984
-msgid "handling for missing objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3987
-msgid "do not pack objects in promisor packfiles"
-msgstr ""
-
-#: builtin/pack-objects.c:3989
-msgid "respect islands during delta compression"
-msgstr ""
-
-#: builtin/pack-objects.c:3991
-msgid "protocol"
-msgstr ""
-
-#: builtin/pack-objects.c:3992
-msgid "exclude any configured uploadpack.blobpackfileuri with this protocol"
-msgstr ""
-
-#: builtin/pack-objects.c:4027
-#, c-format
-msgid "delta chain depth %d is too deep, forcing %d"
-msgstr ""
-
-#: builtin/pack-objects.c:4032
-#, c-format
-msgid "pack.deltaCacheLimit is too high, forcing %d"
-msgstr ""
-
-#: builtin/pack-objects.c:4088
-msgid "--max-pack-size cannot be used to build a pack for transfer"
-msgstr ""
-
-#: builtin/pack-objects.c:4090
-msgid "minimum pack size limit is 1 MiB"
-msgstr ""
-
-#: builtin/pack-objects.c:4095
-msgid "--thin cannot be used to build an indexable pack"
-msgstr ""
-
-#: builtin/pack-objects.c:4104
-msgid "cannot use --filter without --stdout"
-msgstr ""
-
-#: builtin/pack-objects.c:4106
-msgid "cannot use --filter with --stdin-packs"
-msgstr ""
-
-#: builtin/pack-objects.c:4110
-msgid "cannot use internal rev list with --stdin-packs"
-msgstr ""
-
-#: builtin/pack-objects.c:4169
-msgid "Enumerating objects"
-msgstr ""
-
-#: builtin/pack-objects.c:4210
-#, c-format
-msgid ""
-"Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>), pack-"
-"reused %<PRIu32>"
-msgstr ""
-
-#: builtin/pack-redundant.c:601
-msgid ""
-"'git pack-redundant' is nominated for removal.\n"
-"If you still use this command, please add an extra\n"
-"option, '--i-still-use-this', on the command line\n"
-"and let us know you still use it by sending an e-mail\n"
-"to <git@vger.kernel.org>.  Thanks.\n"
-msgstr ""
-
-#: builtin/pack-refs.c:8
-msgid "git pack-refs [<options>]"
-msgstr ""
-
-#: builtin/pack-refs.c:16
-msgid "pack everything"
-msgstr ""
-
-#: builtin/pack-refs.c:17
-msgid "prune loose refs (default)"
-msgstr ""
-
-#: builtin/prune.c:14
-msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
-msgstr ""
-
-#: builtin/prune.c:145
-msgid "report pruned objects"
-msgstr ""
-
-#: builtin/prune.c:148
-msgid "expire objects older than <time>"
-msgstr ""
-
-#: builtin/prune.c:150
-msgid "limit traversal to objects outside promisor packfiles"
-msgstr ""
-
-#: builtin/prune.c:163
-msgid "cannot prune in a precious-objects repo"
-msgstr ""
-
-#: builtin/pull.c:67
-msgid "git pull [<options>] [<repository> [<refspec>...]]"
-msgstr ""
-
-#: builtin/pull.c:124
-msgid "control for recursive fetching of submodules"
-msgstr ""
-
-#: builtin/pull.c:128
-msgid "Options related to merging"
-msgstr ""
-
-#: builtin/pull.c:131
-msgid "incorporate changes by rebasing rather than merging"
-msgstr ""
-
-#: builtin/pull.c:159 builtin/revert.c:126
-msgid "allow fast-forward"
-msgstr ""
-
-#: builtin/pull.c:165
-msgid "control use of pre-merge-commit and commit-msg hooks"
-msgstr ""
-
-#: builtin/pull.c:171 parse-options.h:371
-msgid "automatically stash/stash pop before and after"
-msgstr ""
-
-#: builtin/pull.c:187
-msgid "Options related to fetching"
-msgstr ""
-
-#: builtin/pull.c:197
-msgid "force overwrite of local branch"
-msgstr ""
-
-#: builtin/pull.c:205
-msgid "number of submodules pulled in parallel"
-msgstr ""
-
-#: builtin/pull.c:449
-msgid ""
-"There is no candidate for rebasing against among the refs that you just "
-"fetched."
-msgstr ""
-
-#: builtin/pull.c:451
-msgid ""
-"There are no candidates for merging among the refs that you just fetched."
-msgstr ""
-
-#: builtin/pull.c:452
-msgid ""
-"Generally this means that you provided a wildcard refspec which had no\n"
-"matches on the remote end."
-msgstr ""
-
-#: builtin/pull.c:455
-#, c-format
-msgid ""
-"You asked to pull from the remote '%s', but did not specify\n"
-"a branch. Because this is not the default configured remote\n"
-"for your current branch, you must specify a branch on the command line."
-msgstr ""
-
-#: builtin/pull.c:460 builtin/rebase.c:978
-msgid "You are not currently on a branch."
-msgstr ""
-
-#: builtin/pull.c:462 builtin/pull.c:477
-msgid "Please specify which branch you want to rebase against."
-msgstr ""
-
-#: builtin/pull.c:464 builtin/pull.c:479
-msgid "Please specify which branch you want to merge with."
-msgstr ""
-
-#: builtin/pull.c:465 builtin/pull.c:480
-msgid "See git-pull(1) for details."
-msgstr ""
-
-#: builtin/pull.c:467 builtin/pull.c:473 builtin/pull.c:482
-#: builtin/rebase.c:984
-msgid "<remote>"
-msgstr ""
-
-#: builtin/pull.c:467 builtin/pull.c:482 builtin/pull.c:487
-#: contrib/scalar/scalar.c:374
-msgid "<branch>"
-msgstr ""
-
-#: builtin/pull.c:475 builtin/rebase.c:976
-msgid "There is no tracking information for the current branch."
-msgstr ""
-
-#: builtin/pull.c:484
-msgid ""
-"If you wish to set tracking information for this branch you can do so with:"
-msgstr ""
-
-#: builtin/pull.c:489
-#, c-format
-msgid ""
-"Your configuration specifies to merge with the ref '%s'\n"
-"from the remote, but no such ref was fetched."
-msgstr ""
-
-#: builtin/pull.c:600
-#, c-format
-msgid "unable to access commit %s"
-msgstr ""
-
-#: builtin/pull.c:908
-msgid "ignoring --verify-signatures for rebase"
-msgstr ""
-
-#: builtin/pull.c:969
-msgid ""
-"You have divergent branches and need to specify how to reconcile them.\n"
-"You can do so by running one of the following commands sometime before\n"
-"your next pull:\n"
-"\n"
-"  git config pull.rebase false  # merge\n"
-"  git config pull.rebase true   # rebase\n"
-"  git config pull.ff only       # fast-forward only\n"
-"\n"
-"You can replace \"git config\" with \"git config --global\" to set a "
-"default\n"
-"preference for all repositories. You can also pass --rebase, --no-rebase,\n"
-"or --ff-only on the command line to override the configured default per\n"
-"invocation.\n"
-msgstr ""
-
-#: builtin/pull.c:1047
-msgid "Updating an unborn branch with changes added to the index."
-msgstr ""
-
-#: builtin/pull.c:1051
-msgid "pull with rebase"
-msgstr ""
-
-#: builtin/pull.c:1052
-msgid "please commit or stash them."
-msgstr ""
-
-#: builtin/pull.c:1077
-#, c-format
-msgid ""
-"fetch updated the current branch head.\n"
-"fast-forwarding your working tree from\n"
-"commit %s."
-msgstr ""
-
-#: builtin/pull.c:1083
-#, c-format
-msgid ""
-"Cannot fast-forward your working tree.\n"
-"After making sure that you saved anything precious from\n"
-"$ git diff %s\n"
-"output, run\n"
-"$ git reset --hard\n"
-"to recover."
-msgstr ""
-
-#: builtin/pull.c:1098
-msgid "Cannot merge multiple branches into empty head."
-msgstr ""
-
-#: builtin/pull.c:1103
-msgid "Cannot rebase onto multiple branches."
-msgstr ""
-
-#: builtin/pull.c:1105
-msgid "Cannot fast-forward to multiple branches."
-msgstr ""
-
-#: builtin/pull.c:1120
-msgid "Need to specify how to reconcile divergent branches."
-msgstr ""
-
-#: builtin/pull.c:1134
-msgid "cannot rebase with locally recorded submodule modifications"
-msgstr ""
-
-#: builtin/push.c:19
-msgid "git push [<options>] [<repository> [<refspec>...]]"
-msgstr ""
-
-#: builtin/push.c:111
-msgid "tag shorthand without <tag>"
-msgstr ""
-
-#: builtin/push.c:119
-msgid "--delete only accepts plain target ref names"
-msgstr ""
-
-#: builtin/push.c:164
-msgid ""
-"\n"
-"To choose either option permanently, see push.default in 'git help config'."
-msgstr ""
-
-#: builtin/push.c:167
-#, c-format
-msgid ""
-"The upstream branch of your current branch does not match\n"
-"the name of your current branch.  To push to the upstream branch\n"
-"on the remote, use\n"
-"\n"
-"    git push %s HEAD:%s\n"
-"\n"
-"To push to the branch of the same name on the remote, use\n"
-"\n"
-"    git push %s HEAD\n"
-"%s"
-msgstr ""
-
-#: builtin/push.c:182
-#, c-format
-msgid ""
-"You are not currently on a branch.\n"
-"To push the history leading to the current (detached HEAD)\n"
-"state now, use\n"
-"\n"
-"    git push %s HEAD:<name-of-remote-branch>\n"
-msgstr ""
-
-#: builtin/push.c:191
-#, c-format
-msgid ""
-"The current branch %s has no upstream branch.\n"
-"To push the current branch and set the remote as upstream, use\n"
-"\n"
-"    git push --set-upstream %s %s\n"
-msgstr ""
-
-#: builtin/push.c:199
-#, c-format
-msgid "The current branch %s has multiple upstream branches, refusing to push."
-msgstr ""
-
-#: builtin/push.c:217
-msgid ""
-"You didn't specify any refspecs to push, and push.default is \"nothing\"."
-msgstr ""
-
-#: builtin/push.c:243
-#, c-format
-msgid ""
-"You are pushing to remote '%s', which is not the upstream of\n"
-"your current branch '%s', without telling me what to push\n"
-"to update which remote branch."
-msgstr ""
-
-#: builtin/push.c:258
-msgid ""
-"Updates were rejected because the tip of your current branch is behind\n"
-"its remote counterpart. Integrate the remote changes (e.g.\n"
-"'git pull ...') before pushing again.\n"
-"See the 'Note about fast-forwards' in 'git push --help' for details."
-msgstr ""
-
-#: builtin/push.c:264
-msgid ""
-"Updates were rejected because a pushed branch tip is behind its remote\n"
-"counterpart. Check out this branch and integrate the remote changes\n"
-"(e.g. 'git pull ...') before pushing again.\n"
-"See the 'Note about fast-forwards' in 'git push --help' for details."
-msgstr ""
-
-#: builtin/push.c:270
-msgid ""
-"Updates were rejected because the remote contains work that you do\n"
-"not have locally. This is usually caused by another repository pushing\n"
-"to the same ref. You may want to first integrate the remote changes\n"
-"(e.g., 'git pull ...') before pushing again.\n"
-"See the 'Note about fast-forwards' in 'git push --help' for details."
-msgstr ""
-
-#: builtin/push.c:277
-msgid "Updates were rejected because the tag already exists in the remote."
-msgstr ""
-
-#: builtin/push.c:280
-msgid ""
-"You cannot update a remote ref that points at a non-commit object,\n"
-"or update a remote ref to make it point at a non-commit object,\n"
-"without using the '--force' option.\n"
-msgstr ""
-
-#: builtin/push.c:285
-msgid ""
-"Updates were rejected because the tip of the remote-tracking\n"
-"branch has been updated since the last checkout. You may want\n"
-"to integrate those changes locally (e.g., 'git pull ...')\n"
-"before forcing an update.\n"
-msgstr ""
-
-#: builtin/push.c:355
-#, c-format
-msgid "Pushing to %s\n"
-msgstr ""
-
-#: builtin/push.c:362
-#, c-format
-msgid "failed to push some refs to '%s'"
-msgstr ""
-
-#: builtin/push.c:544 builtin/submodule--helper.c:3377
-msgid "repository"
-msgstr ""
-
-#: builtin/push.c:545 builtin/send-pack.c:193
-msgid "push all refs"
-msgstr ""
-
-#: builtin/push.c:546 builtin/send-pack.c:195
-msgid "mirror all refs"
-msgstr ""
-
-#: builtin/push.c:548
-msgid "delete refs"
-msgstr ""
-
-#: builtin/push.c:549
-msgid "push tags (can't be used with --all or --mirror)"
-msgstr ""
-
-#: builtin/push.c:552 builtin/send-pack.c:196
-msgid "force updates"
-msgstr ""
-
-#: builtin/push.c:553 builtin/send-pack.c:208
-msgid "<refname>:<expect>"
-msgstr ""
-
-#: builtin/push.c:554 builtin/send-pack.c:209
-msgid "require old value of ref to be at this value"
-msgstr ""
-
-#: builtin/push.c:557 builtin/send-pack.c:212
-msgid "require remote updates to be integrated locally"
-msgstr ""
-
-#: builtin/push.c:560
-msgid "control recursive pushing of submodules"
-msgstr ""
-
-#: builtin/push.c:561 builtin/send-pack.c:203
-msgid "use thin pack"
-msgstr ""
-
-#: builtin/push.c:562 builtin/push.c:563 builtin/send-pack.c:190
-#: builtin/send-pack.c:191
-msgid "receive pack program"
-msgstr ""
-
-#: builtin/push.c:564
-msgid "set upstream for git pull/status"
-msgstr ""
-
-#: builtin/push.c:567
-msgid "prune locally removed refs"
-msgstr ""
-
-#: builtin/push.c:569
-msgid "bypass pre-push hook"
-msgstr ""
-
-#: builtin/push.c:570
-msgid "push missing but relevant tags"
-msgstr ""
-
-#: builtin/push.c:572 builtin/send-pack.c:197
-msgid "GPG sign the push"
-msgstr ""
-
-#: builtin/push.c:574 builtin/send-pack.c:204
-msgid "request atomic transaction on remote side"
-msgstr ""
-
-#: builtin/push.c:594
-msgid "--delete doesn't make sense without any refs"
-msgstr ""
-
-#: builtin/push.c:614
-#, c-format
-msgid "bad repository '%s'"
-msgstr ""
-
-#: builtin/push.c:615
-msgid ""
-"No configured push destination.\n"
-"Either specify the URL from the command-line or configure a remote "
-"repository using\n"
-"\n"
-"    git remote add <name> <url>\n"
-"\n"
-"and then push using the remote name\n"
-"\n"
-"    git push <name>\n"
-msgstr ""
-
-#: builtin/push.c:632
-msgid "--all can't be combined with refspecs"
-msgstr ""
-
-#: builtin/push.c:638
-msgid "--mirror can't be combined with refspecs"
-msgstr ""
-
-#: builtin/push.c:648
-msgid "push options must not have new line characters"
-msgstr ""
-
-#: builtin/range-diff.c:9
-msgid "git range-diff [<options>] <old-base>..<old-tip> <new-base>..<new-tip>"
-msgstr ""
-
-#: builtin/range-diff.c:10
-msgid "git range-diff [<options>] <old-tip>...<new-tip>"
-msgstr ""
-
-#: builtin/range-diff.c:11
-msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
-msgstr ""
-
-#: builtin/range-diff.c:30
-msgid "use simple diff colors"
-msgstr ""
-
-#: builtin/range-diff.c:32
-msgid "notes"
-msgstr ""
-
-#: builtin/range-diff.c:32
-msgid "passed to 'git log'"
-msgstr ""
-
-#: builtin/range-diff.c:35
-msgid "only emit output related to the first range"
-msgstr ""
-
-#: builtin/range-diff.c:37
-msgid "only emit output related to the second range"
-msgstr ""
-
-#: builtin/range-diff.c:60 builtin/range-diff.c:64
-#, c-format
-msgid "not a commit range: '%s'"
-msgstr ""
-
-#: builtin/range-diff.c:74
-msgid "single arg format must be symmetric range"
-msgstr ""
-
-#: builtin/range-diff.c:89
-msgid "need two commit ranges"
-msgstr ""
-
-#: builtin/read-tree.c:41
-msgid ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
-"[-u | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-"
-"ish1> [<tree-ish2> [<tree-ish3>]])"
-msgstr ""
-
-#: builtin/read-tree.c:116
-msgid "write resulting index to <file>"
-msgstr ""
-
-#: builtin/read-tree.c:119
-msgid "only empty the index"
-msgstr ""
-
-#: builtin/read-tree.c:121
-msgid "Merging"
-msgstr ""
-
-#: builtin/read-tree.c:123
-msgid "perform a merge in addition to a read"
-msgstr ""
-
-#: builtin/read-tree.c:125
-msgid "3-way merge if no file level merging required"
-msgstr ""
-
-#: builtin/read-tree.c:127
-msgid "3-way merge in presence of adds and removes"
-msgstr ""
-
-#: builtin/read-tree.c:129
-msgid "same as -m, but discard unmerged entries"
-msgstr ""
-
-#: builtin/read-tree.c:130
-msgid "<subdirectory>/"
-msgstr ""
-
-#: builtin/read-tree.c:131
-msgid "read the tree into the index under <subdirectory>/"
-msgstr ""
-
-#: builtin/read-tree.c:134
-msgid "update working tree with merge result"
-msgstr ""
-
-#: builtin/read-tree.c:136
-msgid "gitignore"
-msgstr ""
-
-#: builtin/read-tree.c:137
-msgid "allow explicitly ignored files to be overwritten"
-msgstr ""
-
-#: builtin/read-tree.c:140
-msgid "don't check the working tree after merging"
-msgstr ""
-
-#: builtin/read-tree.c:141
-msgid "don't update the index or the work tree"
-msgstr ""
-
-#: builtin/read-tree.c:143
-msgid "skip applying sparse checkout filter"
-msgstr ""
-
-#: builtin/read-tree.c:145
-msgid "debug unpack-trees"
-msgstr ""
-
-#: builtin/read-tree.c:149
-msgid "suppress feedback messages"
-msgstr ""
-
-#: builtin/read-tree.c:190
-msgid "You need to resolve your current index first"
-msgstr ""
-
-#: builtin/rebase.c:36
-msgid ""
-"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] "
-"[<upstream> [<branch>]]"
-msgstr ""
-
-#: builtin/rebase.c:38
-msgid ""
-"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]"
-msgstr ""
-
-#: builtin/rebase.c:231
-#, c-format
-msgid "could not create temporary %s"
-msgstr ""
-
-#: builtin/rebase.c:237
-msgid "could not mark as interactive"
-msgstr ""
-
-#: builtin/rebase.c:290
-msgid "could not generate todo list"
-msgstr ""
-
-#: builtin/rebase.c:332
-msgid "a base commit must be provided with --upstream or --onto"
-msgstr ""
-
-#: builtin/rebase.c:391
-#, c-format
-msgid "%s requires the merge backend"
-msgstr ""
-
-#: builtin/rebase.c:433
-#, c-format
-msgid "could not get 'onto': '%s'"
-msgstr ""
-
-#: builtin/rebase.c:450
-#, c-format
-msgid "invalid orig-head: '%s'"
-msgstr ""
-
-#: builtin/rebase.c:475
-#, c-format
-msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
-msgstr ""
-
-#: builtin/rebase.c:600
-msgid ""
-"Resolve all conflicts manually, mark them as resolved with\n"
-"\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
-"You can instead skip this commit: run \"git rebase --skip\".\n"
-"To abort and get back to the state before \"git rebase\", run \"git rebase --"
-"abort\"."
-msgstr ""
-
-#: builtin/rebase.c:685
-#, c-format
-msgid ""
-"\n"
-"git encountered an error while preparing the patches to replay\n"
-"these revisions:\n"
-"\n"
-"    %s\n"
-"\n"
-"As a result, git cannot rebase them."
-msgstr ""
-
-#: builtin/rebase.c:836
-#, c-format
-msgid "could not switch to %s"
-msgstr ""
-
-#: builtin/rebase.c:952
-#, c-format
-msgid ""
-"unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask"
-"\"."
-msgstr ""
-
-#: builtin/rebase.c:970
-#, c-format
-msgid ""
-"%s\n"
-"Please specify which branch you want to rebase against.\n"
-"See git-rebase(1) for details.\n"
-"\n"
-"    git rebase '<branch>'\n"
-"\n"
-msgstr ""
-
-#: builtin/rebase.c:986
-#, c-format
-msgid ""
-"If you wish to set tracking information for this branch you can do so with:\n"
-"\n"
-"    git branch --set-upstream-to=%s/<branch> %s\n"
-"\n"
-msgstr ""
-
-#: builtin/rebase.c:1016
-msgid "exec commands cannot contain newlines"
-msgstr ""
-
-#: builtin/rebase.c:1020
-msgid "empty exec command"
-msgstr ""
-
-#: builtin/rebase.c:1051
-msgid "rebase onto given branch instead of upstream"
-msgstr ""
-
-#: builtin/rebase.c:1053
-msgid "use the merge-base of upstream and branch as the current base"
-msgstr ""
-
-#: builtin/rebase.c:1055
-msgid "allow pre-rebase hook to run"
-msgstr ""
-
-#: builtin/rebase.c:1057
-msgid "be quiet. implies --no-stat"
-msgstr ""
-
-#: builtin/rebase.c:1060
-msgid "display a diffstat of what changed upstream"
-msgstr ""
-
-#: builtin/rebase.c:1063
-msgid "do not show diffstat of what changed upstream"
-msgstr ""
-
-#: builtin/rebase.c:1066
-msgid "add a Signed-off-by trailer to each commit"
-msgstr ""
-
-#: builtin/rebase.c:1069
-msgid "make committer date match author date"
-msgstr ""
-
-#: builtin/rebase.c:1071
-msgid "ignore author date and use current date"
-msgstr ""
-
-#: builtin/rebase.c:1073
-msgid "synonym of --reset-author-date"
-msgstr ""
-
-#: builtin/rebase.c:1075 builtin/rebase.c:1079
-msgid "passed to 'git apply'"
-msgstr ""
-
-#: builtin/rebase.c:1077
-msgid "ignore changes in whitespace"
-msgstr ""
-
-#: builtin/rebase.c:1081 builtin/rebase.c:1084
-msgid "cherry-pick all commits, even if unchanged"
-msgstr ""
-
-#: builtin/rebase.c:1086
-msgid "continue"
-msgstr ""
-
-#: builtin/rebase.c:1089
-msgid "skip current patch and continue"
-msgstr ""
-
-#: builtin/rebase.c:1091
-msgid "abort and check out the original branch"
-msgstr ""
-
-#: builtin/rebase.c:1094
-msgid "abort but keep HEAD where it is"
-msgstr ""
-
-#: builtin/rebase.c:1095
-msgid "edit the todo list during an interactive rebase"
-msgstr ""
-
-#: builtin/rebase.c:1098
-msgid "show the patch file being applied or merged"
-msgstr ""
-
-#: builtin/rebase.c:1101
-msgid "use apply strategies to rebase"
-msgstr ""
-
-#: builtin/rebase.c:1105
-msgid "use merging strategies to rebase"
-msgstr ""
-
-#: builtin/rebase.c:1109
-msgid "let the user edit the list of commits to rebase"
-msgstr ""
-
-#: builtin/rebase.c:1113
-msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
-msgstr ""
-
-#: builtin/rebase.c:1118
-msgid "how to handle commits that become empty"
-msgstr ""
-
-#: builtin/rebase.c:1121
-msgid "keep commits which start empty"
-msgstr ""
-
-#: builtin/rebase.c:1125
-msgid "move commits that begin with squash!/fixup! under -i"
-msgstr ""
-
-#: builtin/rebase.c:1132
-msgid "add exec lines after each commit of the editable list"
-msgstr ""
-
-#: builtin/rebase.c:1136
-msgid "allow rebasing commits with empty messages"
-msgstr ""
-
-#: builtin/rebase.c:1140
-msgid "try to rebase merges instead of skipping them"
-msgstr ""
-
-#: builtin/rebase.c:1143
-msgid "use 'merge-base --fork-point' to refine upstream"
-msgstr ""
-
-#: builtin/rebase.c:1145
-msgid "use the given merge strategy"
-msgstr ""
-
-#: builtin/rebase.c:1147 builtin/revert.c:115
-msgid "option"
-msgstr ""
-
-#: builtin/rebase.c:1148
-msgid "pass the argument through to the merge strategy"
-msgstr ""
-
-#: builtin/rebase.c:1151
-msgid "rebase all reachable commits up to the root(s)"
-msgstr ""
-
-#: builtin/rebase.c:1154
-msgid "automatically re-schedule any `exec` that fails"
-msgstr ""
-
-#: builtin/rebase.c:1156
-msgid "apply all changes, even those already present upstream"
-msgstr ""
-
-#: builtin/rebase.c:1177
-msgid "It looks like 'git am' is in progress. Cannot rebase."
-msgstr ""
-
-#: builtin/rebase.c:1208
-msgid "--preserve-merges was replaced by --rebase-merges"
-msgstr ""
-
-#: builtin/rebase.c:1230
-msgid "No rebase in progress?"
-msgstr ""
-
-#: builtin/rebase.c:1234
-msgid "The --edit-todo action can only be used during interactive rebase."
-msgstr ""
-
-#: builtin/rebase.c:1257 t/helper/test-fast-rebase.c:122
-msgid "Cannot read HEAD"
-msgstr ""
-
-#: builtin/rebase.c:1269
-msgid ""
-"You must edit all merge conflicts and then\n"
-"mark them as resolved using git add"
-msgstr ""
-
-#: builtin/rebase.c:1287
-msgid "could not discard worktree changes"
-msgstr ""
-
-#: builtin/rebase.c:1308
-#, c-format
-msgid "could not move back to %s"
-msgstr ""
-
-#: builtin/rebase.c:1354
-#, c-format
-msgid ""
-"It seems that there is already a %s directory, and\n"
-"I wonder if you are in the middle of another rebase.  If that is the\n"
-"case, please try\n"
-"\t%s\n"
-"If that is not the case, please\n"
-"\t%s\n"
-"and run me again.  I am stopping in case you still have something\n"
-"valuable there.\n"
-msgstr ""
-
-#: builtin/rebase.c:1382
-msgid "switch `C' expects a numerical value"
-msgstr ""
-
-#: builtin/rebase.c:1424
-#, c-format
-msgid "Unknown mode: %s"
-msgstr ""
-
-#: builtin/rebase.c:1463
-msgid "--strategy requires --merge or --interactive"
-msgstr ""
-
-#: builtin/rebase.c:1492
-msgid "apply options and merge options cannot be used together"
-msgstr ""
-
-#: builtin/rebase.c:1505
-#, c-format
-msgid "Unknown rebase backend: %s"
-msgstr ""
-
-#: builtin/rebase.c:1534
-msgid "--reschedule-failed-exec requires --exec or --interactive"
-msgstr ""
-
-#: builtin/rebase.c:1565
-#, c-format
-msgid "invalid upstream '%s'"
-msgstr ""
-
-#: builtin/rebase.c:1571
-msgid "Could not create new root commit"
-msgstr ""
-
-#: builtin/rebase.c:1597
-#, c-format
-msgid "'%s': need exactly one merge base with branch"
-msgstr ""
-
-#: builtin/rebase.c:1600
-#, c-format
-msgid "'%s': need exactly one merge base"
-msgstr ""
-
-#: builtin/rebase.c:1609
-#, c-format
-msgid "Does not point to a valid commit '%s'"
-msgstr ""
-
-#: builtin/rebase.c:1636
-#, c-format
-msgid "no such branch/commit '%s'"
-msgstr ""
-
-#: builtin/rebase.c:1647 builtin/submodule--helper.c:43
-#: builtin/submodule--helper.c:2477
-#, c-format
-msgid "No such ref: %s"
-msgstr ""
-
-#: builtin/rebase.c:1658
-msgid "Could not resolve HEAD to a revision"
-msgstr ""
-
-#: builtin/rebase.c:1679
-msgid "Please commit or stash them."
-msgstr ""
-
-#: builtin/rebase.c:1714
-msgid "HEAD is up to date."
-msgstr ""
-
-#: builtin/rebase.c:1716
-#, c-format
-msgid "Current branch %s is up to date.\n"
-msgstr ""
-
-#: builtin/rebase.c:1724
-msgid "HEAD is up to date, rebase forced."
-msgstr ""
-
-#: builtin/rebase.c:1726
-#, c-format
-msgid "Current branch %s is up to date, rebase forced.\n"
-msgstr ""
-
-#: builtin/rebase.c:1734
-msgid "The pre-rebase hook refused to rebase."
-msgstr ""
-
-#: builtin/rebase.c:1741
-#, c-format
-msgid "Changes to %s:\n"
-msgstr ""
-
-#: builtin/rebase.c:1744
-#, c-format
-msgid "Changes from %s to %s:\n"
-msgstr ""
-
-#: builtin/rebase.c:1769
-#, c-format
-msgid "First, rewinding head to replay your work on top of it...\n"
-msgstr ""
-
-#: builtin/rebase.c:1781
-msgid "Could not detach HEAD"
-msgstr ""
-
-#: builtin/rebase.c:1790
-#, c-format
-msgid "Fast-forwarded %s to %s.\n"
-msgstr ""
-
-#: builtin/receive-pack.c:35
-msgid "git receive-pack <git-dir>"
-msgstr ""
-
-#: builtin/receive-pack.c:1263
-msgid ""
-"By default, updating the current branch in a non-bare repository\n"
-"is denied, because it will make the index and work tree inconsistent\n"
-"with what you pushed, and will require 'git reset --hard' to match\n"
-"the work tree to HEAD.\n"
-"\n"
-"You can set the 'receive.denyCurrentBranch' configuration variable\n"
-"to 'ignore' or 'warn' in the remote repository to allow pushing into\n"
-"its current branch; however, this is not recommended unless you\n"
-"arranged to update its work tree to match what you pushed in some\n"
-"other way.\n"
-"\n"
-"To squelch this message and still keep the default behaviour, set\n"
-"'receive.denyCurrentBranch' configuration variable to 'refuse'."
-msgstr ""
-
-#: builtin/receive-pack.c:1283
-msgid ""
-"By default, deleting the current branch is denied, because the next\n"
-"'git clone' won't result in any file checked out, causing confusion.\n"
-"\n"
-"You can set 'receive.denyDeleteCurrent' configuration variable to\n"
-"'warn' or 'ignore' in the remote repository to allow deleting the\n"
-"current branch, with or without a warning message.\n"
-"\n"
-"To squelch this message, you can set it to 'refuse'."
-msgstr ""
-
-#: builtin/receive-pack.c:2476
-msgid "quiet"
-msgstr ""
-
-#: builtin/receive-pack.c:2491
-msgid "you must specify a directory"
-msgstr ""
-
-#: builtin/reflog.c:9
-msgid "git reflog [show] [<log-options>] [<ref>]"
-msgstr ""
-
-#: builtin/reflog.c:12
-msgid ""
-"git reflog expire [--expire=<time>] [--expire-unreachable=<time>]\n"
-"                  [--rewrite] [--updateref] [--stale-fix]\n"
-"                  [--dry-run | -n] [--verbose] [--all [--single-worktree] | "
-"<refs>...]"
-msgstr ""
-
-#: builtin/reflog.c:17
-msgid ""
-"git reflog delete [--rewrite] [--updateref]\n"
-"                  [--dry-run | -n] [--verbose] <ref>@{<specifier>}..."
-msgstr ""
-
-#: builtin/reflog.c:21
-msgid "git reflog exists <ref>"
-msgstr ""
-
-#: builtin/reflog.c:197 builtin/reflog.c:211
-#, c-format
-msgid "invalid timestamp '%s' given to '--%s'"
-msgstr ""
-
-#: builtin/reflog.c:240 builtin/reflog.c:359
-msgid "do not actually prune any entries"
-msgstr ""
-
-#: builtin/reflog.c:243 builtin/reflog.c:362
-msgid ""
-"rewrite the old SHA1 with the new SHA1 of the entry that now precedes it"
-msgstr ""
-
-#: builtin/reflog.c:246 builtin/reflog.c:365
-msgid "update the reference to the value of the top reflog entry"
-msgstr ""
-
-#: builtin/reflog.c:248 builtin/reflog.c:367
-msgid "print extra information on screen"
-msgstr ""
-
-#: builtin/reflog.c:249 builtin/reflog.c:253
-msgid "timestamp"
-msgstr ""
-
-#: builtin/reflog.c:250
-msgid "prune entries older than the specified time"
-msgstr ""
-
-#: builtin/reflog.c:254
-msgid ""
-"prune entries older than <time> that are not reachable from the current tip "
-"of the branch"
-msgstr ""
-
-#: builtin/reflog.c:258
-msgid "prune any reflog entries that point to broken commits"
-msgstr ""
-
-#: builtin/reflog.c:259
-msgid "process the reflogs of all references"
-msgstr ""
-
-#: builtin/reflog.c:261
-msgid "limits processing to reflogs from the current worktree only"
-msgstr ""
-
-#: builtin/reflog.c:294
-#, c-format
-msgid "Marking reachable objects..."
-msgstr ""
-
-#: builtin/reflog.c:338
-#, c-format
-msgid "%s points nowhere!"
-msgstr ""
-
-#: builtin/reflog.c:374
-msgid "no reflog specified to delete"
-msgstr ""
-
-#: builtin/reflog.c:396
-#, c-format
-msgid "invalid ref format: %s"
-msgstr ""
-
-#: builtin/remote.c:19
-msgid ""
-"git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
-"mirror=<fetch|push>] <name> <url>"
-msgstr ""
-
-#: builtin/remote.c:20 builtin/remote.c:40
-msgid "git remote rename [--[no-]progress] <old> <new>"
-msgstr ""
-
-#: builtin/remote.c:21 builtin/remote.c:45
-msgid "git remote remove <name>"
-msgstr ""
-
-#: builtin/remote.c:22 builtin/remote.c:50
-msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
-msgstr ""
-
-#: builtin/remote.c:23
-msgid "git remote [-v | --verbose] show [-n] <name>"
-msgstr ""
-
-#: builtin/remote.c:24
-msgid "git remote prune [-n | --dry-run] <name>"
-msgstr ""
-
-#: builtin/remote.c:25
-msgid ""
-"git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
-msgstr ""
-
-#: builtin/remote.c:26
-msgid "git remote set-branches [--add] <name> <branch>..."
-msgstr ""
-
-#: builtin/remote.c:27 builtin/remote.c:76
-msgid "git remote get-url [--push] [--all] <name>"
-msgstr ""
-
-#: builtin/remote.c:28 builtin/remote.c:81
-msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
-msgstr ""
-
-#: builtin/remote.c:29 builtin/remote.c:82
-msgid "git remote set-url --add <name> <newurl>"
-msgstr ""
-
-#: builtin/remote.c:30 builtin/remote.c:83
-msgid "git remote set-url --delete <name> <url>"
-msgstr ""
-
-#: builtin/remote.c:35
-msgid "git remote add [<options>] <name> <url>"
-msgstr ""
-
-#: builtin/remote.c:55
-msgid "git remote set-branches <name> <branch>..."
-msgstr ""
-
-#: builtin/remote.c:56
-msgid "git remote set-branches --add <name> <branch>..."
-msgstr ""
-
-#: builtin/remote.c:61
-msgid "git remote show [<options>] <name>"
-msgstr ""
-
-#: builtin/remote.c:66
-msgid "git remote prune [<options>] <name>"
-msgstr ""
-
-#: builtin/remote.c:71
-msgid "git remote update [<options>] [<group> | <remote>]..."
-msgstr ""
-
-#: builtin/remote.c:100
-#, c-format
-msgid "Updating %s"
-msgstr ""
-
-#: builtin/remote.c:102
-#, c-format
-msgid "Could not fetch %s"
-msgstr ""
-
-#: builtin/remote.c:132
-msgid ""
-"--mirror is dangerous and deprecated; please\n"
-"\t use --mirror=fetch or --mirror=push instead"
-msgstr ""
-
-#: builtin/remote.c:149
-#, c-format
-msgid "unknown mirror argument: %s"
-msgstr ""
-
-#: builtin/remote.c:165
-msgid "fetch the remote branches"
-msgstr ""
-
-#: builtin/remote.c:167
-msgid "import all tags and associated objects when fetching"
-msgstr ""
-
-#: builtin/remote.c:170
-msgid "or do not fetch any tag at all (--no-tags)"
-msgstr ""
-
-#: builtin/remote.c:172
-msgid "branch(es) to track"
-msgstr ""
-
-#: builtin/remote.c:173
-msgid "master branch"
-msgstr ""
-
-#: builtin/remote.c:175
-msgid "set up remote as a mirror to push to or fetch from"
-msgstr ""
-
-#: builtin/remote.c:187
-msgid "specifying a master branch makes no sense with --mirror"
-msgstr ""
-
-#: builtin/remote.c:189
-msgid "specifying branches to track makes sense only with fetch mirrors"
-msgstr ""
-
-#: builtin/remote.c:196 builtin/remote.c:716
-#, c-format
-msgid "remote %s already exists."
-msgstr ""
-
-#: builtin/remote.c:241
-#, c-format
-msgid "Could not setup master '%s'"
-msgstr ""
-
-#: builtin/remote.c:323
-#, c-format
-msgid "unhandled branch.%s.rebase=%s; assuming 'true'"
-msgstr ""
-
-#: builtin/remote.c:367
-#, c-format
-msgid "Could not get fetch map for refspec %s"
-msgstr ""
-
-#: builtin/remote.c:461 builtin/remote.c:469
-msgid "(matching)"
-msgstr ""
-
-#: builtin/remote.c:473
-msgid "(delete)"
-msgstr ""
-
-#: builtin/remote.c:664
-#, c-format
-msgid "could not set '%s'"
-msgstr ""
-
-#: builtin/remote.c:669
-#, c-format
-msgid ""
-"The %s configuration remote.pushDefault in:\n"
-"\t%s:%d\n"
-"now names the non-existent remote '%s'"
-msgstr ""
-
-#: builtin/remote.c:707 builtin/remote.c:866 builtin/remote.c:973
-#, c-format
-msgid "No such remote: '%s'"
-msgstr ""
-
-#: builtin/remote.c:726
-#, c-format
-msgid "Could not rename config section '%s' to '%s'"
-msgstr ""
-
-#: builtin/remote.c:746
-#, c-format
-msgid ""
-"Not updating non-default fetch refspec\n"
-"\t%s\n"
-"\tPlease update the configuration manually if necessary."
-msgstr ""
-
-#: builtin/remote.c:783
-msgid "Renaming remote references"
-msgstr ""
-
-#: builtin/remote.c:794
-#, c-format
-msgid "deleting '%s' failed"
-msgstr ""
-
-#: builtin/remote.c:832
-#, c-format
-msgid "creating '%s' failed"
-msgstr ""
-
-#: builtin/remote.c:912
-msgid ""
-"Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
-"to delete it, use:"
-msgid_plural ""
-"Note: Some branches outside the refs/remotes/ hierarchy were not removed;\n"
-"to delete them, use:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/remote.c:926
-#, c-format
-msgid "Could not remove config section '%s'"
-msgstr ""
-
-#: builtin/remote.c:1034
-#, c-format
-msgid " new (next fetch will store in remotes/%s)"
-msgstr ""
-
-#: builtin/remote.c:1037
-msgid " tracked"
-msgstr ""
-
-#: builtin/remote.c:1039
-msgid " stale (use 'git remote prune' to remove)"
-msgstr ""
-
-#: builtin/remote.c:1041
-msgid " ???"
-msgstr ""
-
-#: builtin/remote.c:1082
-#, c-format
-msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
-msgstr ""
-
-#: builtin/remote.c:1091
-#, c-format
-msgid "rebases interactively onto remote %s"
-msgstr ""
-
-#: builtin/remote.c:1093
-#, c-format
-msgid "rebases interactively (with merges) onto remote %s"
-msgstr ""
-
-#: builtin/remote.c:1096
-#, c-format
-msgid "rebases onto remote %s"
-msgstr ""
-
-#: builtin/remote.c:1100
-#, c-format
-msgid " merges with remote %s"
-msgstr ""
-
-#: builtin/remote.c:1103
-#, c-format
-msgid "merges with remote %s"
-msgstr ""
-
-#: builtin/remote.c:1106
-#, c-format
-msgid "%-*s    and with remote %s\n"
-msgstr ""
-
-#: builtin/remote.c:1149
-msgid "create"
-msgstr ""
-
-#: builtin/remote.c:1152
-msgid "delete"
-msgstr ""
-
-#: builtin/remote.c:1156
-msgid "up to date"
-msgstr ""
-
-#: builtin/remote.c:1159
-msgid "fast-forwardable"
-msgstr ""
-
-#: builtin/remote.c:1162
-msgid "local out of date"
-msgstr ""
-
-#: builtin/remote.c:1169
-#, c-format
-msgid "    %-*s forces to %-*s (%s)"
-msgstr ""
-
-#: builtin/remote.c:1172
-#, c-format
-msgid "    %-*s pushes to %-*s (%s)"
-msgstr ""
-
-#: builtin/remote.c:1176
-#, c-format
-msgid "    %-*s forces to %s"
-msgstr ""
-
-#: builtin/remote.c:1179
-#, c-format
-msgid "    %-*s pushes to %s"
-msgstr ""
-
-#: builtin/remote.c:1247
-msgid "do not query remotes"
-msgstr ""
-
-#: builtin/remote.c:1268
-#, c-format
-msgid "* remote %s"
-msgstr ""
-
-#: builtin/remote.c:1269
-#, c-format
-msgid "  Fetch URL: %s"
-msgstr ""
-
-#: builtin/remote.c:1270 builtin/remote.c:1286 builtin/remote.c:1423
-msgid "(no URL)"
-msgstr ""
-
-#. TRANSLATORS: the colon ':' should align
-#. with the one in " Fetch URL: %s"
-#. translation.
-#.
-#: builtin/remote.c:1284 builtin/remote.c:1286
-#, c-format
-msgid "  Push  URL: %s"
-msgstr ""
-
-#: builtin/remote.c:1288 builtin/remote.c:1290 builtin/remote.c:1292
-#, c-format
-msgid "  HEAD branch: %s"
-msgstr ""
-
-#: builtin/remote.c:1288
-msgid "(not queried)"
-msgstr ""
-
-#: builtin/remote.c:1290
-msgid "(unknown)"
-msgstr ""
-
-#: builtin/remote.c:1294
-#, c-format
-msgid ""
-"  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
-msgstr ""
-
-#: builtin/remote.c:1306
-#, c-format
-msgid "  Remote branch:%s"
-msgid_plural "  Remote branches:%s"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/remote.c:1309 builtin/remote.c:1335
-msgid " (status not queried)"
-msgstr ""
-
-#: builtin/remote.c:1318
-msgid "  Local branch configured for 'git pull':"
-msgid_plural "  Local branches configured for 'git pull':"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/remote.c:1326
-msgid "  Local refs will be mirrored by 'git push'"
-msgstr ""
-
-#: builtin/remote.c:1332
-#, c-format
-msgid "  Local ref configured for 'git push'%s:"
-msgid_plural "  Local refs configured for 'git push'%s:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/remote.c:1353
-msgid "set refs/remotes/<name>/HEAD according to remote"
-msgstr ""
-
-#: builtin/remote.c:1355
-msgid "delete refs/remotes/<name>/HEAD"
-msgstr ""
-
-#: builtin/remote.c:1369
-msgid "Cannot determine remote HEAD"
-msgstr ""
-
-#: builtin/remote.c:1371
-msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
-msgstr ""
-
-#: builtin/remote.c:1381
-#, c-format
-msgid "Could not delete %s"
-msgstr ""
-
-#: builtin/remote.c:1389
-#, c-format
-msgid "Not a valid ref: %s"
-msgstr ""
-
-#: builtin/remote.c:1391
-#, c-format
-msgid "Could not setup %s"
-msgstr ""
-
-#: builtin/remote.c:1409
-#, c-format
-msgid " %s will become dangling!"
-msgstr ""
-
-#: builtin/remote.c:1410
-#, c-format
-msgid " %s has become dangling!"
-msgstr ""
-
-#: builtin/remote.c:1419
-#, c-format
-msgid "Pruning %s"
-msgstr ""
-
-#: builtin/remote.c:1420
-#, c-format
-msgid "URL: %s"
-msgstr ""
-
-#: builtin/remote.c:1436
-#, c-format
-msgid " * [would prune] %s"
-msgstr ""
-
-#: builtin/remote.c:1439
-#, c-format
-msgid " * [pruned] %s"
-msgstr ""
-
-#: builtin/remote.c:1484
-msgid "prune remotes after fetching"
-msgstr ""
-
-#: builtin/remote.c:1548 builtin/remote.c:1604 builtin/remote.c:1674
-#, c-format
-msgid "No such remote '%s'"
-msgstr ""
-
-#: builtin/remote.c:1566
-msgid "add branch"
-msgstr ""
-
-#: builtin/remote.c:1573
-msgid "no remote specified"
-msgstr ""
-
-#: builtin/remote.c:1590
-msgid "query push URLs rather than fetch URLs"
-msgstr ""
-
-#: builtin/remote.c:1592
-msgid "return all URLs"
-msgstr ""
-
-#: builtin/remote.c:1622
-#, c-format
-msgid "no URLs configured for remote '%s'"
-msgstr ""
-
-#: builtin/remote.c:1648
-msgid "manipulate push URLs"
-msgstr ""
-
-#: builtin/remote.c:1650
-msgid "add URL"
-msgstr ""
-
-#: builtin/remote.c:1652
-msgid "delete URLs"
-msgstr ""
-
-#: builtin/remote.c:1659
-msgid "--add --delete doesn't make sense"
-msgstr ""
-
-#: builtin/remote.c:1700
-#, c-format
-msgid "Invalid old URL pattern: %s"
-msgstr ""
-
-#: builtin/remote.c:1708
-#, c-format
-msgid "No such URL found: %s"
-msgstr ""
-
-#: builtin/remote.c:1710
-msgid "Will not delete all non-push URLs"
-msgstr ""
-
-#: builtin/remote.c:1727
-msgid "be verbose; must be placed before a subcommand"
-msgstr ""
-
-#: builtin/repack.c:29
-msgid "git repack [<options>]"
-msgstr ""
-
-#: builtin/repack.c:34
-msgid ""
-"Incremental repacks are incompatible with bitmap indexes.  Use\n"
-"--no-write-bitmap-index or disable the pack.writebitmaps configuration."
-msgstr ""
-
-#: builtin/repack.c:206
-msgid "could not start pack-objects to repack promisor objects"
-msgstr ""
-
-#: builtin/repack.c:280 builtin/repack.c:824
-msgid "repack: Expecting full hex object ID lines only from pack-objects."
-msgstr ""
-
-#: builtin/repack.c:304
-msgid "could not finish pack-objects to repack promisor objects"
-msgstr ""
-
-#: builtin/repack.c:319
-#, c-format
-msgid "cannot open index for %s"
-msgstr ""
-
-#: builtin/repack.c:378
-#, c-format
-msgid "pack %s too large to consider in geometric progression"
-msgstr ""
-
-#: builtin/repack.c:411 builtin/repack.c:418 builtin/repack.c:423
-#, c-format
-msgid "pack %s too large to roll up"
-msgstr ""
-
-#: builtin/repack.c:503
-#, c-format
-msgid "could not open tempfile %s for writing"
-msgstr ""
-
-#: builtin/repack.c:521
-msgid "could not close refs snapshot tempfile"
-msgstr ""
-
-#: builtin/repack.c:634
-msgid "pack everything in a single pack"
-msgstr ""
-
-#: builtin/repack.c:636
-msgid "same as -a, and turn unreachable objects loose"
-msgstr ""
-
-#: builtin/repack.c:639
-msgid "remove redundant packs, and run git-prune-packed"
-msgstr ""
-
-#: builtin/repack.c:641
-msgid "pass --no-reuse-delta to git-pack-objects"
-msgstr ""
-
-#: builtin/repack.c:643
-msgid "pass --no-reuse-object to git-pack-objects"
-msgstr ""
-
-#: builtin/repack.c:645
-msgid "do not run git-update-server-info"
-msgstr ""
-
-#: builtin/repack.c:648
-msgid "pass --local to git-pack-objects"
-msgstr ""
-
-#: builtin/repack.c:650
-msgid "write bitmap index"
-msgstr ""
-
-#: builtin/repack.c:652
-msgid "pass --delta-islands to git-pack-objects"
-msgstr ""
-
-#: builtin/repack.c:653
-msgid "approxidate"
-msgstr ""
-
-#: builtin/repack.c:654
-msgid "with -A, do not loosen objects older than this"
-msgstr ""
-
-#: builtin/repack.c:656
-msgid "with -a, repack unreachable objects"
-msgstr ""
-
-#: builtin/repack.c:658
-msgid "size of the window used for delta compression"
-msgstr ""
-
-#: builtin/repack.c:659 builtin/repack.c:665
-msgid "bytes"
-msgstr ""
-
-#: builtin/repack.c:660
-msgid "same as the above, but limit memory size instead of entries count"
-msgstr ""
-
-#: builtin/repack.c:662
-msgid "limits the maximum delta depth"
-msgstr ""
-
-#: builtin/repack.c:664
-msgid "limits the maximum number of threads"
-msgstr ""
-
-#: builtin/repack.c:666
-msgid "maximum size of each packfile"
-msgstr ""
-
-#: builtin/repack.c:668
-msgid "repack objects in packs marked with .keep"
-msgstr ""
-
-#: builtin/repack.c:670
-msgid "do not repack this pack"
-msgstr ""
-
-#: builtin/repack.c:672
-msgid "find a geometric progression with factor <N>"
-msgstr ""
-
-#: builtin/repack.c:674
-msgid "write a multi-pack index of the resulting packs"
-msgstr ""
-
-#: builtin/repack.c:684
-msgid "cannot delete packs in a precious-objects repo"
-msgstr ""
-
-#: builtin/repack.c:833
-msgid "Nothing new to pack."
-msgstr ""
-
-#: builtin/repack.c:863
-#, c-format
-msgid "missing required file: %s"
-msgstr ""
-
-#: builtin/repack.c:865
-#, c-format
-msgid "could not unlink: %s"
-msgstr ""
-
-#: builtin/replace.c:22
-msgid "git replace [-f] <object> <replacement>"
-msgstr ""
-
-#: builtin/replace.c:23
-msgid "git replace [-f] --edit <object>"
-msgstr ""
-
-#: builtin/replace.c:24
-msgid "git replace [-f] --graft <commit> [<parent>...]"
-msgstr ""
-
-#: builtin/replace.c:26
-msgid "git replace -d <object>..."
-msgstr ""
-
-#: builtin/replace.c:27
-msgid "git replace [--format=<format>] [-l [<pattern>]]"
-msgstr ""
-
-#: builtin/replace.c:90
-#, c-format
-msgid ""
-"invalid replace format '%s'\n"
-"valid formats are 'short', 'medium' and 'long'"
-msgstr ""
-
-#: builtin/replace.c:125
-#, c-format
-msgid "replace ref '%s' not found"
-msgstr ""
-
-#: builtin/replace.c:141
-#, c-format
-msgid "Deleted replace ref '%s'"
-msgstr ""
-
-#: builtin/replace.c:153
-#, c-format
-msgid "'%s' is not a valid ref name"
-msgstr ""
-
-#: builtin/replace.c:158
-#, c-format
-msgid "replace ref '%s' already exists"
-msgstr ""
-
-#: builtin/replace.c:178
-#, c-format
-msgid ""
-"Objects must be of the same type.\n"
-"'%s' points to a replaced object of type '%s'\n"
-"while '%s' points to a replacement object of type '%s'."
-msgstr ""
-
-#: builtin/replace.c:229
-#, c-format
-msgid "unable to open %s for writing"
-msgstr ""
-
-#: builtin/replace.c:242
-msgid "cat-file reported failure"
-msgstr ""
-
-#: builtin/replace.c:258
-#, c-format
-msgid "unable to open %s for reading"
-msgstr ""
-
-#: builtin/replace.c:271
-msgid "unable to spawn mktree"
-msgstr ""
-
-#: builtin/replace.c:275
-msgid "unable to read from mktree"
-msgstr ""
-
-#: builtin/replace.c:284
-msgid "mktree reported failure"
-msgstr ""
-
-#: builtin/replace.c:288
-msgid "mktree did not return an object name"
-msgstr ""
-
-#: builtin/replace.c:297
-#, c-format
-msgid "unable to fstat %s"
-msgstr ""
-
-#: builtin/replace.c:302
-msgid "unable to write object to database"
-msgstr ""
-
-#: builtin/replace.c:325
-#, c-format
-msgid "unable to get object type for %s"
-msgstr ""
-
-#: builtin/replace.c:341
-msgid "editing object file failed"
-msgstr ""
-
-#: builtin/replace.c:350
-#, c-format
-msgid "new object is the same as the old one: '%s'"
-msgstr ""
-
-#: builtin/replace.c:383
-#, c-format
-msgid "could not parse %s as a commit"
-msgstr ""
-
-#: builtin/replace.c:415
-#, c-format
-msgid "bad mergetag in commit '%s'"
-msgstr ""
-
-#: builtin/replace.c:417
-#, c-format
-msgid "malformed mergetag in commit '%s'"
-msgstr ""
-
-#: builtin/replace.c:429
-#, c-format
-msgid ""
-"original commit '%s' contains mergetag '%s' that is discarded; use --edit "
-"instead of --graft"
-msgstr ""
-
-#: builtin/replace.c:468
-#, c-format
-msgid "the original commit '%s' has a gpg signature"
-msgstr ""
-
-#: builtin/replace.c:469
-msgid "the signature will be removed in the replacement commit!"
-msgstr ""
-
-#: builtin/replace.c:479
-#, c-format
-msgid "could not write replacement commit for: '%s'"
-msgstr ""
-
-#: builtin/replace.c:487
-#, c-format
-msgid "graft for '%s' unnecessary"
-msgstr ""
-
-#: builtin/replace.c:491
-#, c-format
-msgid "new commit is the same as the old one: '%s'"
-msgstr ""
-
-#: builtin/replace.c:526
-#, c-format
-msgid ""
-"could not convert the following graft(s):\n"
-"%s"
-msgstr ""
-
-#: builtin/replace.c:547
-msgid "list replace refs"
-msgstr ""
-
-#: builtin/replace.c:548
-msgid "delete replace refs"
-msgstr ""
-
-#: builtin/replace.c:549
-msgid "edit existing object"
-msgstr ""
-
-#: builtin/replace.c:550
-msgid "change a commit's parents"
-msgstr ""
-
-#: builtin/replace.c:551
-msgid "convert existing graft file"
-msgstr ""
-
-#: builtin/replace.c:552
-msgid "replace the ref if it exists"
-msgstr ""
-
-#: builtin/replace.c:554
-msgid "do not pretty-print contents for --edit"
-msgstr ""
-
-#: builtin/replace.c:555
-msgid "use this format"
-msgstr ""
-
-#: builtin/replace.c:568
-msgid "--format cannot be used when not listing"
-msgstr ""
-
-#: builtin/replace.c:576
-msgid "-f only makes sense when writing a replacement"
-msgstr ""
-
-#: builtin/replace.c:580
-msgid "--raw only makes sense with --edit"
-msgstr ""
-
-#: builtin/replace.c:586
-msgid "-d needs at least one argument"
-msgstr ""
-
-#: builtin/replace.c:592
-msgid "bad number of arguments"
-msgstr ""
-
-#: builtin/replace.c:598
-msgid "-e needs exactly one argument"
-msgstr ""
-
-#: builtin/replace.c:604
-msgid "-g needs at least one argument"
-msgstr ""
-
-#: builtin/replace.c:610
-msgid "--convert-graft-file takes no argument"
-msgstr ""
-
-#: builtin/replace.c:616
-msgid "only one pattern can be given with -l"
-msgstr ""
-
-#: builtin/rerere.c:13
-msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
-msgstr ""
-
-#: builtin/rerere.c:58
-msgid "register clean resolutions in index"
-msgstr ""
-
-#: builtin/rerere.c:77
-msgid "'git rerere forget' without paths is deprecated"
-msgstr ""
-
-#: builtin/rerere.c:111
-#, c-format
-msgid "unable to generate diff for '%s'"
-msgstr ""
-
-#: builtin/reset.c:33
-msgid ""
-"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
-msgstr ""
-
-#: builtin/reset.c:34
-msgid "git reset [-q] [<tree-ish>] [--] <pathspec>..."
-msgstr ""
-
-#: builtin/reset.c:35
-msgid ""
-"git reset [-q] [--pathspec-from-file [--pathspec-file-nul]] [<tree-ish>]"
-msgstr ""
-
-#: builtin/reset.c:36
-msgid "git reset --patch [<tree-ish>] [--] [<pathspec>...]"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "mixed"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "soft"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "hard"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "merge"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "keep"
-msgstr ""
-
-#: builtin/reset.c:90
-msgid "You do not have a valid HEAD."
-msgstr ""
-
-#: builtin/reset.c:92
-msgid "Failed to find tree of HEAD."
-msgstr ""
-
-#: builtin/reset.c:98
-#, c-format
-msgid "Failed to find tree of %s."
-msgstr ""
-
-#: builtin/reset.c:123
-#, c-format
-msgid "HEAD is now at %s"
-msgstr ""
-
-#: builtin/reset.c:304
-#, c-format
-msgid "Cannot do a %s reset in the middle of a merge."
-msgstr ""
-
-#: builtin/reset.c:402 builtin/stash.c:606 builtin/stash.c:669
-#: builtin/stash.c:693
-msgid "be quiet, only report errors"
-msgstr ""
-
-#: builtin/reset.c:404
-msgid "skip refreshing the index after reset"
-msgstr ""
-
-#: builtin/reset.c:406
-msgid "reset HEAD and index"
-msgstr ""
-
-#: builtin/reset.c:407
-msgid "reset only HEAD"
-msgstr ""
-
-#: builtin/reset.c:409 builtin/reset.c:411
-msgid "reset HEAD, index and working tree"
-msgstr ""
-
-#: builtin/reset.c:413
-msgid "reset HEAD but keep local changes"
-msgstr ""
-
-#: builtin/reset.c:419
-msgid "record only the fact that removed paths will be added later"
-msgstr ""
-
-#: builtin/reset.c:452
-#, c-format
-msgid "Failed to resolve '%s' as a valid revision."
-msgstr ""
-
-#: builtin/reset.c:460
-#, c-format
-msgid "Failed to resolve '%s' as a valid tree."
-msgstr ""
-
-#: builtin/reset.c:479
-msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
-msgstr ""
-
-#: builtin/reset.c:481
-#, c-format
-msgid "Cannot do %s reset with paths."
-msgstr ""
-
-#: builtin/reset.c:496
-#, c-format
-msgid "%s reset is not allowed in a bare repository"
-msgstr ""
-
-#: builtin/reset.c:527
-msgid "Unstaged changes after reset:"
-msgstr ""
-
-#: builtin/reset.c:530
-#, c-format
-msgid ""
-"It took %.2f seconds to refresh the index after reset.  You can use\n"
-"'--no-refresh' to avoid this."
-msgstr ""
-
-#: builtin/reset.c:547
-#, c-format
-msgid "Could not reset index file to revision '%s'."
-msgstr ""
-
-#: builtin/reset.c:552
-msgid "Could not write new index file."
-msgstr ""
-
-#: builtin/rev-list.c:659
-msgid "rev-list does not support display of notes"
-msgstr ""
-
-#: builtin/rev-list.c:664
-#, c-format
-msgid "marked counting and '%s' cannot be used together"
-msgstr ""
-
-#: builtin/rev-parse.c:409
-msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
-msgstr ""
-
-#: builtin/rev-parse.c:414
-msgid "keep the `--` passed as an arg"
-msgstr ""
-
-#: builtin/rev-parse.c:416
-msgid "stop parsing after the first non-option argument"
-msgstr ""
-
-#: builtin/rev-parse.c:419
-msgid "output in stuck long form"
-msgstr ""
-
-#: builtin/rev-parse.c:438
-msgid "premature end of input"
-msgstr ""
-
-#: builtin/rev-parse.c:442
-msgid "no usage string given before the `--' separator"
-msgstr ""
-
-#: builtin/rev-parse.c:548
-msgid "Needed a single revision"
-msgstr ""
-
-#: builtin/rev-parse.c:552
-msgid ""
-"git rev-parse --parseopt [<options>] -- [<args>...]\n"
-"   or: git rev-parse --sq-quote [<arg>...]\n"
-"   or: git rev-parse [<options>] [<arg>...]\n"
-"\n"
-"Run \"git rev-parse --parseopt -h\" for more information on the first usage."
-msgstr ""
-
-#: builtin/rev-parse.c:712
-msgid "--resolve-git-dir requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:715
-#, c-format
-msgid "not a gitdir '%s'"
-msgstr ""
-
-#: builtin/rev-parse.c:739
-msgid "--git-path requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:749
-msgid "-n requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:763
-msgid "--path-format requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:769
-#, c-format
-msgid "unknown argument to --path-format: %s"
-msgstr ""
-
-#: builtin/rev-parse.c:776
-msgid "--default requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:782
-msgid "--prefix requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:851
-#, c-format
-msgid "unknown mode for --abbrev-ref: %s"
-msgstr ""
-
-#: builtin/rev-parse.c:1023
-#, c-format
-msgid "unknown mode for --show-object-format: %s"
-msgstr ""
-
-#: builtin/revert.c:24
-msgid "git revert [<options>] <commit-ish>..."
-msgstr ""
-
-#: builtin/revert.c:25
-msgid "git revert <subcommand>"
-msgstr ""
-
-#: builtin/revert.c:30
-msgid "git cherry-pick [<options>] <commit-ish>..."
-msgstr ""
-
-#: builtin/revert.c:31
-msgid "git cherry-pick <subcommand>"
-msgstr ""
-
-#: builtin/revert.c:72
-#, c-format
-msgid "option `%s' expects a number greater than zero"
-msgstr ""
-
-#: builtin/revert.c:92
-#, c-format
-msgid "%s: %s cannot be used with %s"
-msgstr ""
-
-#: builtin/revert.c:102
-msgid "end revert or cherry-pick sequence"
-msgstr ""
-
-#: builtin/revert.c:103
-msgid "resume revert or cherry-pick sequence"
-msgstr ""
-
-#: builtin/revert.c:104
-msgid "cancel revert or cherry-pick sequence"
-msgstr ""
-
-#: builtin/revert.c:105
-msgid "skip current commit and continue"
-msgstr ""
-
-#: builtin/revert.c:107
-msgid "don't automatically commit"
-msgstr ""
-
-#: builtin/revert.c:108
-msgid "edit the commit message"
-msgstr ""
-
-#: builtin/revert.c:111
-msgid "parent-number"
-msgstr ""
-
-#: builtin/revert.c:112
-msgid "select mainline parent"
-msgstr ""
-
-#: builtin/revert.c:114
-msgid "merge strategy"
-msgstr ""
-
-#: builtin/revert.c:116
-msgid "option for merge strategy"
-msgstr ""
-
-#: builtin/revert.c:125
-msgid "append commit name"
-msgstr ""
-
-#: builtin/revert.c:127
-msgid "preserve initially empty commits"
-msgstr ""
-
-#: builtin/revert.c:128
-msgid "allow commits with empty messages"
-msgstr ""
-
-#: builtin/revert.c:129
-msgid "keep redundant, empty commits"
-msgstr ""
-
-#: builtin/revert.c:241
-msgid "revert failed"
-msgstr ""
-
-#: builtin/revert.c:254
-msgid "cherry-pick failed"
-msgstr ""
-
-#: builtin/rm.c:20
-msgid "git rm [<options>] [--] <file>..."
-msgstr ""
-
-#: builtin/rm.c:208
-msgid ""
-"the following file has staged content different from both the\n"
-"file and the HEAD:"
-msgid_plural ""
-"the following files have staged content different from both the\n"
-"file and the HEAD:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/rm.c:213
-msgid ""
-"\n"
-"(use -f to force removal)"
-msgstr ""
-
-#: builtin/rm.c:217
-msgid "the following file has changes staged in the index:"
-msgid_plural "the following files have changes staged in the index:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/rm.c:221 builtin/rm.c:230
-msgid ""
-"\n"
-"(use --cached to keep the file, or -f to force removal)"
-msgstr ""
-
-#: builtin/rm.c:227
-msgid "the following file has local modifications:"
-msgid_plural "the following files have local modifications:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/rm.c:245
-msgid "do not list removed files"
-msgstr ""
-
-#: builtin/rm.c:246
-msgid "only remove from the index"
-msgstr ""
-
-#: builtin/rm.c:247
-msgid "override the up-to-date check"
-msgstr ""
-
-#: builtin/rm.c:248
-msgid "allow recursive removal"
-msgstr ""
-
-#: builtin/rm.c:250
-msgid "exit with a zero status even if nothing matched"
-msgstr ""
-
-#: builtin/rm.c:285
-msgid "No pathspec was given. Which files should I remove?"
-msgstr ""
-
-#: builtin/rm.c:315
-msgid "please stage your changes to .gitmodules or stash them to proceed"
-msgstr ""
-
-#: builtin/rm.c:337
-#, c-format
-msgid "not removing '%s' recursively without -r"
-msgstr ""
-
-#: builtin/rm.c:385
-#, c-format
-msgid "git rm: unable to remove %s"
-msgstr ""
-
-#: builtin/send-pack.c:20
-msgid ""
-"git send-pack [--mirror] [--dry-run] [--force]\n"
-"              [--receive-pack=<git-receive-pack>]\n"
-"              [--verbose] [--thin] [--atomic]\n"
-"              [<host>:]<directory> (--all | <ref>...)"
-msgstr ""
-
-#: builtin/send-pack.c:192
-msgid "remote name"
-msgstr ""
-
-#: builtin/send-pack.c:205
-msgid "use stateless RPC protocol"
-msgstr ""
-
-#: builtin/send-pack.c:206
-msgid "read refs from stdin"
-msgstr ""
-
-#: builtin/send-pack.c:207
-msgid "print status from remote helper"
-msgstr ""
-
-#: builtin/shortlog.c:16
-msgid "git shortlog [<options>] [<revision-range>] [[--] <path>...]"
-msgstr ""
-
-#: builtin/shortlog.c:17
-msgid "git log --pretty=short | git shortlog [<options>]"
-msgstr ""
-
-#: builtin/shortlog.c:123
-msgid "using multiple --group options with stdin is not supported"
-msgstr ""
-
-#: builtin/shortlog.c:133
-msgid "using --group=trailer with stdin is not supported"
-msgstr ""
-
-#: builtin/shortlog.c:323
-#, c-format
-msgid "unknown group type: %s"
-msgstr ""
-
-#: builtin/shortlog.c:351
-msgid "group by committer rather than author"
-msgstr ""
-
-#: builtin/shortlog.c:354
-msgid "sort output according to the number of commits per author"
-msgstr ""
-
-#: builtin/shortlog.c:356
-msgid "suppress commit descriptions, only provides commit count"
-msgstr ""
-
-#: builtin/shortlog.c:358
-msgid "show the email address of each author"
-msgstr ""
-
-#: builtin/shortlog.c:359
-msgid "<w>[,<i1>[,<i2>]]"
-msgstr ""
-
-#: builtin/shortlog.c:360
-msgid "linewrap output"
-msgstr ""
-
-#: builtin/shortlog.c:362
-msgid "field"
-msgstr ""
-
-#: builtin/shortlog.c:363
-msgid "group by field"
-msgstr ""
-
-#: builtin/shortlog.c:395
-msgid "too many arguments given outside repository"
-msgstr ""
-
-#: builtin/show-branch.c:14
-msgid ""
-"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
-"                [--current] [--color[=<when>] | --no-color] [--sparse]\n"
-"                [--more=<n> | --list | --independent | --merge-base]\n"
-"                [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
-msgstr ""
-
-#: builtin/show-branch.c:18
-msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
-msgstr ""
-
-#: builtin/show-branch.c:396
-#, c-format
-msgid "ignoring %s; cannot handle more than %d ref"
-msgid_plural "ignoring %s; cannot handle more than %d refs"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/show-branch.c:548
-#, c-format
-msgid "no matching refs with %s"
-msgstr ""
-
-#: builtin/show-branch.c:645
-msgid "show remote-tracking and local branches"
-msgstr ""
-
-#: builtin/show-branch.c:647
-msgid "show remote-tracking branches"
-msgstr ""
-
-#: builtin/show-branch.c:649
-msgid "color '*!+-' corresponding to the branch"
-msgstr ""
-
-#: builtin/show-branch.c:651
-msgid "show <n> more commits after the common ancestor"
-msgstr ""
-
-#: builtin/show-branch.c:653
-msgid "synonym to more=-1"
-msgstr ""
-
-#: builtin/show-branch.c:654
-msgid "suppress naming strings"
-msgstr ""
-
-#: builtin/show-branch.c:656
-msgid "include the current branch"
-msgstr ""
-
-#: builtin/show-branch.c:658
-msgid "name commits with their object names"
-msgstr ""
-
-#: builtin/show-branch.c:660
-msgid "show possible merge bases"
-msgstr ""
-
-#: builtin/show-branch.c:662
-msgid "show refs unreachable from any other ref"
-msgstr ""
-
-#: builtin/show-branch.c:664
-msgid "show commits in topological order"
-msgstr ""
-
-#: builtin/show-branch.c:667
-msgid "show only commits not on the first branch"
-msgstr ""
-
-#: builtin/show-branch.c:669
-msgid "show merges reachable from only one tip"
-msgstr ""
-
-#: builtin/show-branch.c:671
-msgid "topologically sort, maintaining date order where possible"
-msgstr ""
-
-#: builtin/show-branch.c:674
-msgid "<n>[,<base>]"
-msgstr ""
-
-#: builtin/show-branch.c:675
-msgid "show <n> most recent ref-log entries starting at base"
-msgstr ""
-
-#: builtin/show-branch.c:735
-msgid "no branches given, and HEAD is not valid"
-msgstr ""
-
-#: builtin/show-branch.c:738
-msgid "--reflog option needs one branch name"
-msgstr ""
-
-#: builtin/show-branch.c:741
-#, c-format
-msgid "only %d entry can be shown at one time."
-msgid_plural "only %d entries can be shown at one time."
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/show-branch.c:745
-#, c-format
-msgid "no such ref %s"
-msgstr ""
-
-#: builtin/show-branch.c:831
-#, c-format
-msgid "cannot handle more than %d rev."
-msgid_plural "cannot handle more than %d revs."
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/show-branch.c:835
-#, c-format
-msgid "'%s' is not a valid ref."
-msgstr ""
-
-#: builtin/show-branch.c:838
-#, c-format
-msgid "cannot find commit %s (%s)"
-msgstr ""
-
-#: builtin/show-index.c:21
-msgid "hash-algorithm"
-msgstr ""
-
-#: builtin/show-index.c:31
-msgid "Unknown hash algorithm"
-msgstr ""
-
-#: builtin/show-ref.c:12
-msgid ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
-msgstr ""
-
-#: builtin/show-ref.c:13
-msgid "git show-ref --exclude-existing[=<pattern>]"
-msgstr ""
-
-#: builtin/show-ref.c:162
-msgid "only show tags (can be combined with heads)"
-msgstr ""
-
-#: builtin/show-ref.c:163
-msgid "only show heads (can be combined with tags)"
-msgstr ""
-
-#: builtin/show-ref.c:164
-msgid "stricter reference checking, requires exact ref path"
-msgstr ""
-
-#: builtin/show-ref.c:167 builtin/show-ref.c:169
-msgid "show the HEAD reference, even if it would be filtered out"
-msgstr ""
-
-#: builtin/show-ref.c:171
-msgid "dereference tags into object IDs"
-msgstr ""
-
-#: builtin/show-ref.c:173
-msgid "only show SHA1 hash using <n> digits"
-msgstr ""
-
-#: builtin/show-ref.c:177
-msgid "do not print results to stdout (useful with --verify)"
-msgstr ""
-
-#: builtin/show-ref.c:179
-msgid "show refs from stdin that aren't in local repository"
-msgstr ""
-
-#: builtin/sparse-checkout.c:23
-msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
-msgstr ""
-
-#: builtin/sparse-checkout.c:61
-msgid "this worktree is not sparse"
-msgstr ""
-
-#: builtin/sparse-checkout.c:76
-msgid "this worktree is not sparse (sparse-checkout file may not exist)"
-msgstr ""
-
-#: builtin/sparse-checkout.c:177
-#, c-format
-msgid ""
-"directory '%s' contains untracked files, but is not in the sparse-checkout "
-"cone"
-msgstr ""
-
-#: builtin/sparse-checkout.c:185
-#, c-format
-msgid "failed to remove directory '%s'"
-msgstr ""
-
-#: builtin/sparse-checkout.c:327
-msgid "failed to create directory for sparse-checkout file"
-msgstr ""
-
-#: builtin/sparse-checkout.c:366
-msgid "failed to initialize worktree config"
-msgstr ""
-
-#: builtin/sparse-checkout.c:411
-msgid "failed to modify sparse-index config"
-msgstr ""
-
-#: builtin/sparse-checkout.c:441 builtin/sparse-checkout.c:793
-#: builtin/sparse-checkout.c:847
-msgid "initialize the sparse-checkout in cone mode"
-msgstr ""
-
-#: builtin/sparse-checkout.c:443 builtin/sparse-checkout.c:795
-#: builtin/sparse-checkout.c:849
-msgid "toggle the use of a sparse index"
-msgstr ""
-
-#: builtin/sparse-checkout.c:479
-#, c-format
-msgid "failed to open '%s'"
-msgstr ""
-
-#: builtin/sparse-checkout.c:531
-#, c-format
-msgid "could not normalize path %s"
-msgstr ""
-
-#: builtin/sparse-checkout.c:560
-#, c-format
-msgid "unable to unquote C-style string '%s'"
-msgstr ""
-
-#: builtin/sparse-checkout.c:615 builtin/sparse-checkout.c:643
-msgid "unable to load existing sparse-checkout patterns"
-msgstr ""
-
-#: builtin/sparse-checkout.c:619
-msgid "existing sparse-checkout patterns do not use cone mode"
-msgstr ""
-
-#: builtin/sparse-checkout.c:707
-msgid "please run from the toplevel directory in non-cone mode"
-msgstr ""
-
-#: builtin/sparse-checkout.c:712
-msgid "specify directories rather than patterns (no leading slash)"
-msgstr ""
-
-#: builtin/sparse-checkout.c:714
-msgid ""
-"specify directories rather than patterns.  If your directory starts with a "
-"'!', pass --skip-checks"
-msgstr ""
-
-#: builtin/sparse-checkout.c:716
-msgid ""
-"specify directories rather than patterns.  If your directory really has any "
-"of '*?[]\\' in it, pass --skip-checks"
-msgstr ""
-
-#: builtin/sparse-checkout.c:732
-#, c-format
-msgid ""
-"'%s' is not a directory; to treat it as a directory anyway, rerun with --"
-"skip-checks"
-msgstr ""
-
-#: builtin/sparse-checkout.c:734
-#, c-format
-msgid ""
-"pass a leading slash before paths such as '%s' if you want a single file "
-"(see NON-CONE PROBLEMS in the git-sparse-checkout manual)."
-msgstr ""
-
-#: builtin/sparse-checkout.c:739
-msgid "git sparse-checkout add [--skip-checks] (--stdin | <patterns>)"
-msgstr ""
-
-#: builtin/sparse-checkout.c:752 builtin/sparse-checkout.c:797
-msgid ""
-"skip some sanity checks on the given paths that might give false positives"
-msgstr ""
-
-#: builtin/sparse-checkout.c:755 builtin/sparse-checkout.c:800
-msgid "read patterns from standard in"
-msgstr ""
-
-#: builtin/sparse-checkout.c:760
-msgid "no sparse-checkout to add to"
-msgstr ""
-
-#: builtin/sparse-checkout.c:775
-msgid ""
-"git sparse-checkout set [--[no-]cone] [--[no-]sparse-index] [--skip-checks] "
-"(--stdin | <patterns>)"
-msgstr ""
-
-#: builtin/sparse-checkout.c:854
-msgid "must be in a sparse-checkout to reapply sparsity patterns"
-msgstr ""
-
-#: builtin/sparse-checkout.c:914
-msgid "error while refreshing working directory"
-msgstr ""
-
-#: builtin/stash.c:24 builtin/stash.c:40
-msgid "git stash list [<options>]"
-msgstr ""
-
-#: builtin/stash.c:25 builtin/stash.c:45
-msgid "git stash show [<options>] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:26 builtin/stash.c:50
-msgid "git stash drop [-q|--quiet] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:27
-msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:28 builtin/stash.c:65
-msgid "git stash branch <branchname> [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:30
-msgid ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-"          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-"          [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
-"          [--] [<pathspec>...]]"
-msgstr ""
-
-#: builtin/stash.c:34
-msgid ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-"          [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-
-#: builtin/stash.c:55
-msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:60
-msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:75
-msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
-msgstr ""
-
-#: builtin/stash.c:80
-msgid ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-"          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-"          [--] [<pathspec>...]]"
-msgstr ""
-
-#: builtin/stash.c:87
-msgid ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-"               [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-
-#: builtin/stash.c:130
-#, c-format
-msgid "'%s' is not a stash-like commit"
-msgstr ""
-
-#: builtin/stash.c:150
-#, c-format
-msgid "Too many revisions specified:%s"
-msgstr ""
-
-#: builtin/stash.c:164
-msgid "No stash entries found."
-msgstr ""
-
-#: builtin/stash.c:178
-#, c-format
-msgid "%s is not a valid reference"
-msgstr ""
-
-#: builtin/stash.c:227
-msgid "git stash clear with arguments is unimplemented"
-msgstr ""
-
-#: builtin/stash.c:447
-#, c-format
-msgid ""
-"WARNING: Untracked file in way of tracked file!  Renaming\n"
-"            %s -> %s\n"
-"         to make room.\n"
-msgstr ""
-
-#: builtin/stash.c:508
-msgid "cannot apply a stash in the middle of a merge"
-msgstr ""
-
-#: builtin/stash.c:519
-#, c-format
-msgid "could not generate diff %s^!."
-msgstr ""
-
-#: builtin/stash.c:526
-msgid "conflicts in index. Try without --index."
-msgstr ""
-
-#: builtin/stash.c:532
-msgid "could not save index tree"
-msgstr ""
-
-#: builtin/stash.c:552
-#, c-format
-msgid "Merging %s with %s"
-msgstr ""
-
-#: builtin/stash.c:562
-msgid "Index was not unstashed."
-msgstr ""
-
-#: builtin/stash.c:576
-msgid "could not restore untracked files from stash"
-msgstr ""
-
-#: builtin/stash.c:608 builtin/stash.c:695
-msgid "attempt to recreate the index"
-msgstr ""
-
-#: builtin/stash.c:641
-#, c-format
-msgid "Dropped %s (%s)"
-msgstr ""
-
-#: builtin/stash.c:644
-#, c-format
-msgid "%s: Could not drop stash entry"
-msgstr ""
-
-#: builtin/stash.c:657
-#, c-format
-msgid "'%s' is not a stash reference"
-msgstr ""
-
-#: builtin/stash.c:707
-msgid "The stash entry is kept in case you need it again."
-msgstr ""
-
-#: builtin/stash.c:730
-msgid "No branch name specified"
-msgstr ""
-
-#: builtin/stash.c:809
-msgid "failed to parse tree"
-msgstr ""
-
-#: builtin/stash.c:820
-msgid "failed to unpack trees"
-msgstr ""
-
-#: builtin/stash.c:840
-msgid "include untracked files in the stash"
-msgstr ""
-
-#: builtin/stash.c:843
-msgid "only show untracked files in the stash"
-msgstr ""
-
-#: builtin/stash.c:930 builtin/stash.c:967
-#, c-format
-msgid "Cannot update %s with %s"
-msgstr ""
-
-#: builtin/stash.c:948 builtin/stash.c:1667 builtin/stash.c:1739
-msgid "stash message"
-msgstr ""
-
-#: builtin/stash.c:958
-msgid "\"git stash store\" requires one <commit> argument"
-msgstr ""
-
-#: builtin/stash.c:1143
-msgid "No staged changes"
-msgstr ""
-
-#: builtin/stash.c:1204
-msgid "No changes selected"
-msgstr ""
-
-#: builtin/stash.c:1304
-msgid "You do not have the initial commit yet"
-msgstr ""
-
-#: builtin/stash.c:1331
-msgid "Cannot save the current index state"
-msgstr ""
-
-#: builtin/stash.c:1340
-msgid "Cannot save the untracked files"
-msgstr ""
-
-#: builtin/stash.c:1351 builtin/stash.c:1370
-msgid "Cannot save the current worktree state"
-msgstr ""
-
-#: builtin/stash.c:1361
-msgid "Cannot save the current staged state"
-msgstr ""
-
-#: builtin/stash.c:1398
-msgid "Cannot record working tree state"
-msgstr ""
-
-#: builtin/stash.c:1447
-msgid "Can't use --patch and --include-untracked or --all at the same time"
-msgstr ""
-
-#: builtin/stash.c:1458
-msgid "Can't use --staged and --include-untracked or --all at the same time"
-msgstr ""
-
-#: builtin/stash.c:1476
-msgid "Did you forget to 'git add'?"
-msgstr ""
-
-#: builtin/stash.c:1491
-msgid "No local changes to save"
-msgstr ""
-
-#: builtin/stash.c:1498
-msgid "Cannot initialize stash"
-msgstr ""
-
-#: builtin/stash.c:1513
-msgid "Cannot save the current status"
-msgstr ""
-
-#: builtin/stash.c:1518
-#, c-format
-msgid "Saved working directory and index state %s"
-msgstr ""
-
-#: builtin/stash.c:1615
-msgid "Cannot remove worktree changes"
-msgstr ""
-
-#: builtin/stash.c:1656 builtin/stash.c:1728
-msgid "keep index"
-msgstr ""
-
-#: builtin/stash.c:1658 builtin/stash.c:1730
-msgid "stash staged changes only"
-msgstr ""
-
-#: builtin/stash.c:1660 builtin/stash.c:1732
-msgid "stash in patch mode"
-msgstr ""
-
-#: builtin/stash.c:1661 builtin/stash.c:1733
-msgid "quiet mode"
-msgstr ""
-
-#: builtin/stash.c:1663 builtin/stash.c:1735
-msgid "include untracked files in stash"
-msgstr ""
-
-#: builtin/stash.c:1665 builtin/stash.c:1737
-msgid "include ignore files"
-msgstr ""
-
-#: builtin/stripspace.c:37
-msgid "skip and remove all lines starting with comment character"
-msgstr ""
-
-#: builtin/stripspace.c:40
-msgid "prepend comment character and space to each line"
-msgstr ""
-
-#: builtin/submodule--helper.c:50 builtin/submodule--helper.c:2486
-#, c-format
-msgid "Expecting a full ref name, got %s"
-msgstr ""
-
-#: builtin/submodule--helper.c:103
-#, c-format
-msgid "cannot strip one component off url '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:213
-#, c-format
-msgid ""
-"could not look up configuration '%s'. Assuming this repository is its own "
-"authoritative upstream."
-msgstr ""
-
-#: builtin/submodule--helper.c:413 builtin/submodule--helper.c:1873
-msgid "alternative anchor for relative paths"
-msgstr ""
-
-#: builtin/submodule--helper.c:418
-msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
-msgstr ""
-
-#: builtin/submodule--helper.c:476 builtin/submodule--helper.c:617
-#: builtin/submodule--helper.c:640
-#, c-format
-msgid "No url found for submodule path '%s' in .gitmodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:528
-#, c-format
-msgid "Entering '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:531
-#, c-format
-msgid ""
-"run_command returned non-zero status for %s\n"
-"."
-msgstr ""
-
-#: builtin/submodule--helper.c:553
-#, c-format
-msgid ""
-"run_command returned non-zero status while recursing in the nested "
-"submodules of %s\n"
-"."
-msgstr ""
-
-#: builtin/submodule--helper.c:569
-msgid "suppress output of entering each submodule command"
-msgstr ""
-
-#: builtin/submodule--helper.c:571 builtin/submodule--helper.c:876
-#: builtin/submodule--helper.c:1458
-msgid "recurse into nested submodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:576
-msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
-msgstr ""
-
-#: builtin/submodule--helper.c:654
-#, c-format
-msgid "Failed to register url for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:658
-#, c-format
-msgid "Submodule '%s' (%s) registered for path '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:668
-#, c-format
-msgid "warning: command update mode suggested for submodule '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:675
-#, c-format
-msgid "Failed to register update mode for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:697
-msgid "suppress output for initializing a submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:702
-msgid "git submodule--helper init [<options>] [<path>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:775 builtin/submodule--helper.c:910
-#, c-format
-msgid "no submodule mapping found in .gitmodules for path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:823
-#, c-format
-msgid "could not resolve HEAD ref inside the submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1428
-#, c-format
-msgid "failed to recurse into submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1595
-msgid "suppress submodule status output"
-msgstr ""
-
-#: builtin/submodule--helper.c:875
-msgid ""
-"use commit stored in the index instead of the one stored in the submodule "
-"HEAD"
-msgstr ""
-
-#: builtin/submodule--helper.c:881
-msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
-msgstr ""
-
-#: builtin/submodule--helper.c:905
-msgid "git submodule--helper name <path>"
-msgstr ""
-
-#: builtin/submodule--helper.c:977
-#, c-format
-msgid "* %s %s(blob)->%s(submodule)"
-msgstr ""
-
-#: builtin/submodule--helper.c:980
-#, c-format
-msgid "* %s %s(submodule)->%s(blob)"
-msgstr ""
-
-#: builtin/submodule--helper.c:993
-#, c-format
-msgid "%s"
-msgstr ""
-
-#: builtin/submodule--helper.c:1043
-#, c-format
-msgid "couldn't hash object from '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1047
-#, c-format
-msgid "unexpected mode %o\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1288
-msgid "use the commit stored in the index instead of the submodule HEAD"
-msgstr ""
-
-#: builtin/submodule--helper.c:1290
-msgid "compare the commit in the index with that in the submodule HEAD"
-msgstr ""
-
-#: builtin/submodule--helper.c:1292
-msgid "skip submodules with 'ignore_config' value set to 'all'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1294
-msgid "limit the summary size"
-msgstr ""
-
-#: builtin/submodule--helper.c:1299
-msgid "git submodule--helper summary [<options>] [<commit>] [--] [<path>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:1323
-msgid "could not fetch a revision for HEAD"
-msgstr ""
-
-#: builtin/submodule--helper.c:1384
-#, c-format
-msgid "Synchronizing submodule url for '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1390
-#, c-format
-msgid "failed to register url for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1399
-#, c-format
-msgid "failed to get the default remote for submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1409
-#, c-format
-msgid "failed to update remote for submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1456
-msgid "suppress output of synchronizing submodule url"
-msgstr ""
-
-#: builtin/submodule--helper.c:1463
-msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:1513
-#, c-format
-msgid ""
-"Submodule work tree '%s' contains a .git directory. This will be replaced "
-"with a .git file by using absorbgitdirs."
-msgstr ""
-
-#: builtin/submodule--helper.c:1530
-#, c-format
-msgid ""
-"Submodule work tree '%s' contains local modifications; use '-f' to discard "
-"them"
-msgstr ""
-
-#: builtin/submodule--helper.c:1538
-#, c-format
-msgid "Cleared directory '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1540
-#, c-format
-msgid "Could not remove submodule work tree '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1551
-#, c-format
-msgid "could not create empty submodule directory %s"
-msgstr ""
-
-#: builtin/submodule--helper.c:1567
-#, c-format
-msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1596
-msgid "remove submodule working trees even if they contain local changes"
-msgstr ""
-
-#: builtin/submodule--helper.c:1597
-msgid "unregister all submodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:1602
-msgid ""
-"git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
-msgstr ""
-
-#: builtin/submodule--helper.c:1616
-msgid "Use '--all' if you really want to deinitialize all submodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:1665
-msgid ""
-"An alternate computed from a superproject's alternate is invalid.\n"
-"To allow Git to clone without an alternate in such a case, set\n"
-"submodule.alternateErrorStrategy to 'info' or, equivalently, clone with\n"
-"'--reference-if-able' instead of '--reference'."
-msgstr ""
-
-#: builtin/submodule--helper.c:1710 builtin/submodule--helper.c:1713
-#, c-format
-msgid "submodule '%s' cannot add alternate: %s"
-msgstr ""
-
-#: builtin/submodule--helper.c:1749
-#, c-format
-msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
-msgstr ""
-
-#: builtin/submodule--helper.c:1756
-#, c-format
-msgid "Value '%s' for submodule.alternateLocation is not recognized"
-msgstr ""
-
-#: builtin/submodule--helper.c:1781
-#, c-format
-msgid "refusing to create/use '%s' in another submodule's git dir"
-msgstr ""
-
-#: builtin/submodule--helper.c:1826
-#, c-format
-msgid "clone of '%s' into submodule path '%s' failed"
-msgstr ""
-
-#: builtin/submodule--helper.c:1831
-#, c-format
-msgid "directory not empty: '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1843
-#, c-format
-msgid "could not get submodule directory for '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1876
-msgid "where the new submodule will be cloned to"
-msgstr ""
-
-#: builtin/submodule--helper.c:1879
-msgid "name of the new submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:1882
-msgid "url where to clone the submodule from"
-msgstr ""
-
-#: builtin/submodule--helper.c:1890 builtin/submodule--helper.c:3383
-msgid "depth for shallow clones"
-msgstr ""
-
-#: builtin/submodule--helper.c:1893 builtin/submodule--helper.c:2731
-#: builtin/submodule--helper.c:3376
-msgid "force cloning progress"
-msgstr ""
-
-#: builtin/submodule--helper.c:1895 builtin/submodule--helper.c:2733
-msgid "disallow cloning into non-empty directory"
-msgstr ""
-
-#: builtin/submodule--helper.c:1903
-msgid ""
-"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
-"<repository>] [--name <name>] [--depth <depth>] [--single-branch] [--filter "
-"<filter-spec>] --url <url> --path <path>"
-msgstr ""
-
-#: builtin/submodule--helper.c:1943
-#, c-format
-msgid "Invalid update mode '%s' for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1947
-#, c-format
-msgid "Invalid update mode '%s' configured for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2041
-#, c-format
-msgid "Submodule path '%s' not initialized"
-msgstr ""
-
-#: builtin/submodule--helper.c:2045
-msgid "Maybe you want to use 'update --init'?"
-msgstr ""
-
-#: builtin/submodule--helper.c:2075
-#, c-format
-msgid "Skipping unmerged submodule %s"
-msgstr ""
-
-#: builtin/submodule--helper.c:2104
-#, c-format
-msgid "Skipping submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2257
-#, c-format
-msgid "Failed to clone '%s'. Retry scheduled"
-msgstr ""
-
-#: builtin/submodule--helper.c:2268
-#, c-format
-msgid "Failed to clone '%s' a second time, aborting"
-msgstr ""
-
-#: builtin/submodule--helper.c:2371
-#, c-format
-msgid "Unable to checkout '%s' in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2375
-#, c-format
-msgid "Unable to rebase '%s' in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2379
-#, c-format
-msgid "Unable to merge '%s' in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2383
-#, c-format
-msgid "Execution of '%s %s' failed in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2402
-#, c-format
-msgid "Submodule path '%s': checked out '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:2406
-#, c-format
-msgid "Submodule path '%s': rebased into '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:2410
-#, c-format
-msgid "Submodule path '%s': merged in '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:2414
-#, c-format
-msgid "Submodule path '%s': '%s %s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:2438
-#, c-format
-msgid "Unable to fetch in submodule path '%s'; trying to directly fetch %s:"
-msgstr ""
-
-#: builtin/submodule--helper.c:2447
-#, c-format
-msgid ""
-"Fetched in submodule path '%s', but it did not contain %s. Direct fetching "
-"of that commit failed."
-msgstr ""
-
-#: builtin/submodule--helper.c:2481
-#, c-format
-msgid ""
-"Submodule (%s) branch configured to inherit branch from superproject, but "
-"the superproject is not on any branch"
-msgstr ""
-
-#: builtin/submodule--helper.c:2499
-#, c-format
-msgid "could not get a repository handle for submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2588
-#, c-format
-msgid "Unable to find current revision in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2599
-#, c-format
-msgid "Unable to fetch in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2604
-#, c-format
-msgid "Unable to find %s revision in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2640
-#, c-format
-msgid "Failed to recurse into submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2699
-msgid "force checkout updates"
-msgstr ""
-
-#: builtin/submodule--helper.c:2701
-msgid "initialize uninitialized submodules before update"
-msgstr ""
-
-#: builtin/submodule--helper.c:2703
-msgid "use SHA-1 of submodule's remote tracking branch"
-msgstr ""
-
-#: builtin/submodule--helper.c:2705
-msgid "traverse submodules recursively"
-msgstr ""
-
-#: builtin/submodule--helper.c:2707
-msgid "don't fetch new objects from the remote site"
-msgstr ""
-
-#: builtin/submodule--helper.c:2710 builtin/submodule--helper.c:2892
-msgid "path into the working tree"
-msgstr ""
-
-#: builtin/submodule--helper.c:2713
-msgid "path into the working tree, across nested submodule boundaries"
-msgstr ""
-
-#: builtin/submodule--helper.c:2717
-msgid "rebase, merge, checkout or none"
-msgstr ""
-
-#: builtin/submodule--helper.c:2723
-msgid "create a shallow clone truncated to the specified number of revisions"
-msgstr ""
-
-#: builtin/submodule--helper.c:2726
-msgid "parallel jobs"
-msgstr ""
-
-#: builtin/submodule--helper.c:2728
-msgid "whether the initial clone should follow the shallow recommendation"
-msgstr ""
-
-#: builtin/submodule--helper.c:2729
-msgid "don't print cloning progress"
-msgstr ""
-
-#: builtin/submodule--helper.c:2741
-msgid ""
-"git submodule [--quiet] update [--init [--filter=<filter-spec>]] [--remote] "
-"[-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-"
-"shallow] [--reference <repository>] [--recursive] [--[no-]single-branch] "
-"[--] [<path>...]"
-msgstr ""
-
-#: builtin/submodule--helper.c:2767
-msgid "bad value for update parameter"
-msgstr ""
-
-#: builtin/submodule--helper.c:2893
-msgid "recurse into submodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:2899
-msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
-msgstr ""
-
-#: builtin/submodule--helper.c:2955
-msgid "check if it is safe to write to the .gitmodules file"
-msgstr ""
-
-#: builtin/submodule--helper.c:2958
-msgid "unset the config in the .gitmodules file"
-msgstr ""
-
-#: builtin/submodule--helper.c:2963
-msgid "git submodule--helper config <name> [<value>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:2964
-msgid "git submodule--helper config --unset <name>"
-msgstr ""
-
-#: builtin/submodule--helper.c:2984 builtin/submodule--helper.c:3238
-#: builtin/submodule--helper.c:3395
-msgid "please make sure that the .gitmodules file is in the working tree"
-msgstr ""
-
-#: builtin/submodule--helper.c:3000
-msgid "suppress output for setting url of a submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:3004
-msgid "git submodule--helper set-url [--quiet] <path> <newurl>"
-msgstr ""
-
-#: builtin/submodule--helper.c:3037
-msgid "set the default tracking branch to master"
-msgstr ""
-
-#: builtin/submodule--helper.c:3039
-msgid "set the default tracking branch"
-msgstr ""
-
-#: builtin/submodule--helper.c:3043
-msgid "git submodule--helper set-branch [-q|--quiet] (-d|--default) <path>"
-msgstr ""
-
-#: builtin/submodule--helper.c:3044
-msgid ""
-"git submodule--helper set-branch [-q|--quiet] (-b|--branch) <branch> <path>"
-msgstr ""
-
-#: builtin/submodule--helper.c:3051
-msgid "--branch or --default required"
-msgstr ""
-
-#: builtin/submodule--helper.c:3072 builtin/submodule--helper.c:3375
-msgid "print only error messages"
-msgstr ""
-
-#: builtin/submodule--helper.c:3073
-msgid "force creation"
-msgstr ""
-
-#: builtin/submodule--helper.c:3081
-msgid "show whether the branch would be created"
-msgstr ""
-
-#: builtin/submodule--helper.c:3085
-msgid ""
-"git submodule--helper create-branch [-f|--force] [--create-reflog] [-q|--"
-"quiet] [-t|--track] [-n|--dry-run] <name> <start-oid> <start-name>"
-msgstr ""
-
-#: builtin/submodule--helper.c:3097
-#, c-format
-msgid "creating branch '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:3155
-#, c-format
-msgid "Adding existing repo at '%s' to the index\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:3158
-#, c-format
-msgid "'%s' already exists and is not a valid git repo"
-msgstr ""
-
-#: builtin/submodule--helper.c:3171
-#, c-format
-msgid "A git directory for '%s' is found locally with remote(s):\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:3178
-#, c-format
-msgid ""
-"If you want to reuse this local git directory instead of cloning again from\n"
-"  %s\n"
-"use the '--force' option. If the local git directory is not the correct "
-"repo\n"
-"or you are unsure what this means choose another name with the '--name' "
-"option."
-msgstr ""
-
-#: builtin/submodule--helper.c:3190
-#, c-format
-msgid "Reactivating local git directory for submodule '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:3227
-#, c-format
-msgid "unable to checkout submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:3266
-#, c-format
-msgid "Failed to add submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:3270 builtin/submodule--helper.c:3275
-#: builtin/submodule--helper.c:3283
-#, c-format
-msgid "Failed to register submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:3339
-#, c-format
-msgid "'%s' already exists in the index"
-msgstr ""
-
-#: builtin/submodule--helper.c:3342
-#, c-format
-msgid "'%s' already exists in the index and is not a submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:3372
-msgid "branch of repository to add as submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:3373
-msgid "allow adding an otherwise ignored submodule path"
-msgstr ""
-
-#: builtin/submodule--helper.c:3379
-msgid "borrow the objects from reference repositories"
-msgstr ""
-
-#: builtin/submodule--helper.c:3381
-msgid ""
-"sets the submodule’s name to the given string instead of defaulting to its "
-"path"
-msgstr ""
-
-#: builtin/submodule--helper.c:3388
-msgid "git submodule--helper add [<options>] [--] <repository> [<path>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:3416
-msgid "Relative path can only be used from the toplevel of the working tree"
-msgstr ""
-
-#: builtin/submodule--helper.c:3425
-#, c-format
-msgid "repo URL: '%s' must be absolute or begin with ./|../"
-msgstr ""
-
-#: builtin/submodule--helper.c:3460
-#, c-format
-msgid "'%s' is not a valid submodule name"
-msgstr ""
-
-#: builtin/submodule--helper.c:3520 git.c:453 git.c:729
-#, c-format
-msgid "%s doesn't support --super-prefix"
-msgstr ""
-
-#: builtin/submodule--helper.c:3526
-#, c-format
-msgid "'%s' is not a valid submodule--helper subcommand"
-msgstr ""
-
-#: builtin/symbolic-ref.c:8
-msgid "git symbolic-ref [<options>] <name> [<ref>]"
-msgstr ""
-
-#: builtin/symbolic-ref.c:9
-msgid "git symbolic-ref -d [-q] <name>"
-msgstr ""
-
-#: builtin/symbolic-ref.c:42
-msgid "suppress error message for non-symbolic (detached) refs"
-msgstr ""
-
-#: builtin/symbolic-ref.c:43
-msgid "delete symbolic ref"
-msgstr ""
-
-#: builtin/symbolic-ref.c:44
-msgid "shorten ref output"
-msgstr ""
-
-#: builtin/symbolic-ref.c:45 builtin/update-ref.c:505
-msgid "reason"
-msgstr ""
-
-#: builtin/symbolic-ref.c:45 builtin/update-ref.c:505
-msgid "reason of the update"
-msgstr ""
-
-#: builtin/tag.c:26
-msgid ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
-"        <tagname> [<head>]"
-msgstr ""
-
-#: builtin/tag.c:28
-msgid "git tag -d <tagname>..."
-msgstr ""
-
-#: builtin/tag.c:29
-msgid ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
-"points-at <object>]\n"
-"        [--format=<format>] [--merged <commit>] [--no-merged <commit>] "
-"[<pattern>...]"
-msgstr ""
-
-#: builtin/tag.c:31
-msgid "git tag -v [--format=<format>] <tagname>..."
-msgstr ""
-
-#: builtin/tag.c:101
-#, c-format
-msgid "tag '%s' not found."
-msgstr ""
-
-#: builtin/tag.c:136
-#, c-format
-msgid "Deleted tag '%s' (was %s)\n"
-msgstr ""
-
-#: builtin/tag.c:171
-#, c-format
-msgid ""
-"\n"
-"Write a message for tag:\n"
-"  %s\n"
-"Lines starting with '%c' will be ignored.\n"
-msgstr ""
-
-#: builtin/tag.c:175
-#, c-format
-msgid ""
-"\n"
-"Write a message for tag:\n"
-"  %s\n"
-"Lines starting with '%c' will be kept; you may remove them yourself if you "
-"want to.\n"
-msgstr ""
-
-#: builtin/tag.c:241
-msgid "unable to sign the tag"
-msgstr ""
-
-#: builtin/tag.c:259
-#, c-format
-msgid ""
-"You have created a nested tag. The object referred to by your new tag is\n"
-"already a tag. If you meant to tag the object that it points to, use:\n"
-"\n"
-"\tgit tag -f %s %s^{}"
-msgstr ""
-
-#: builtin/tag.c:275
-msgid "bad object type."
-msgstr ""
-
-#: builtin/tag.c:326
-msgid "no tag message?"
-msgstr ""
-
-#: builtin/tag.c:333
-#, c-format
-msgid "The tag message has been left in %s\n"
-msgstr ""
-
-#: builtin/tag.c:445
-msgid "list tag names"
-msgstr ""
-
-#: builtin/tag.c:447
-msgid "print <n> lines of each tag message"
-msgstr ""
-
-#: builtin/tag.c:449
-msgid "delete tags"
-msgstr ""
-
-#: builtin/tag.c:450
-msgid "verify tags"
-msgstr ""
-
-#: builtin/tag.c:452
-msgid "Tag creation options"
-msgstr ""
-
-#: builtin/tag.c:454
-msgid "annotated tag, needs a message"
-msgstr ""
-
-#: builtin/tag.c:456
-msgid "tag message"
-msgstr ""
-
-#: builtin/tag.c:458
-msgid "force edit of tag message"
-msgstr ""
-
-#: builtin/tag.c:459
-msgid "annotated and GPG-signed tag"
-msgstr ""
-
-#: builtin/tag.c:462
-msgid "use another key to sign the tag"
-msgstr ""
-
-#: builtin/tag.c:463
-msgid "replace the tag if exists"
-msgstr ""
-
-#: builtin/tag.c:464 builtin/update-ref.c:511
-msgid "create a reflog"
-msgstr ""
-
-#: builtin/tag.c:466
-msgid "Tag listing options"
-msgstr ""
-
-#: builtin/tag.c:467
-msgid "show tag list in columns"
-msgstr ""
-
-#: builtin/tag.c:468 builtin/tag.c:470
-msgid "print only tags that contain the commit"
-msgstr ""
-
-#: builtin/tag.c:469 builtin/tag.c:471
-msgid "print only tags that don't contain the commit"
-msgstr ""
-
-#: builtin/tag.c:472
-msgid "print only tags that are merged"
-msgstr ""
-
-#: builtin/tag.c:473
-msgid "print only tags that are not merged"
-msgstr ""
-
-#: builtin/tag.c:477
-msgid "print only tags of the object"
-msgstr ""
-
-#: builtin/tag.c:559
-#, c-format
-msgid "the '%s' option is only allowed in list mode"
-msgstr ""
-
-#: builtin/tag.c:598
-#, c-format
-msgid "'%s' is not a valid tag name."
-msgstr ""
-
-#: builtin/tag.c:603
-#, c-format
-msgid "tag '%s' already exists"
-msgstr ""
-
-#: builtin/tag.c:634
-#, c-format
-msgid "Updated tag '%s' (was %s)\n"
-msgstr ""
-
-#: builtin/unpack-objects.c:95
-msgid "pack exceeds maximum allowed size"
-msgstr ""
-
-#: builtin/unpack-objects.c:504
-msgid "Unpacking objects"
-msgstr ""
-
-#: builtin/update-index.c:84
-#, c-format
-msgid "failed to create directory %s"
-msgstr ""
-
-#: builtin/update-index.c:106
-#, c-format
-msgid "failed to delete file %s"
-msgstr ""
-
-#: builtin/update-index.c:113 builtin/update-index.c:219
-#, c-format
-msgid "failed to delete directory %s"
-msgstr ""
-
-#: builtin/update-index.c:138
-#, c-format
-msgid "Testing mtime in '%s' "
-msgstr ""
-
-#: builtin/update-index.c:152
-msgid "directory stat info does not change after adding a new file"
-msgstr ""
-
-#: builtin/update-index.c:165
-msgid "directory stat info does not change after adding a new directory"
-msgstr ""
-
-#: builtin/update-index.c:178
-msgid "directory stat info changes after updating a file"
-msgstr ""
-
-#: builtin/update-index.c:189
-msgid "directory stat info changes after adding a file inside subdirectory"
-msgstr ""
-
-#: builtin/update-index.c:200
-msgid "directory stat info does not change after deleting a file"
-msgstr ""
-
-#: builtin/update-index.c:213
-msgid "directory stat info does not change after deleting a directory"
-msgstr ""
-
-#: builtin/update-index.c:220
-msgid " OK"
-msgstr ""
-
-#: builtin/update-index.c:589
-msgid "git update-index [<options>] [--] [<file>...]"
-msgstr ""
-
-#: builtin/update-index.c:993
-msgid "continue refresh even when index needs update"
-msgstr ""
-
-#: builtin/update-index.c:996
-msgid "refresh: ignore submodules"
-msgstr ""
-
-#: builtin/update-index.c:999
-msgid "do not ignore new files"
-msgstr ""
-
-#: builtin/update-index.c:1001
-msgid "let files replace directories and vice-versa"
-msgstr ""
-
-#: builtin/update-index.c:1003
-msgid "notice files missing from worktree"
-msgstr ""
-
-#: builtin/update-index.c:1005
-msgid "refresh even if index contains unmerged entries"
-msgstr ""
-
-#: builtin/update-index.c:1008
-msgid "refresh stat information"
-msgstr ""
-
-#: builtin/update-index.c:1012
-msgid "like --refresh, but ignore assume-unchanged setting"
-msgstr ""
-
-#: builtin/update-index.c:1016
-msgid "<mode>,<object>,<path>"
-msgstr ""
-
-#: builtin/update-index.c:1017
-msgid "add the specified entry to the index"
-msgstr ""
-
-#: builtin/update-index.c:1027
-msgid "mark files as \"not changing\""
-msgstr ""
-
-#: builtin/update-index.c:1030
-msgid "clear assumed-unchanged bit"
-msgstr ""
-
-#: builtin/update-index.c:1033
-msgid "mark files as \"index-only\""
-msgstr ""
-
-#: builtin/update-index.c:1036
-msgid "clear skip-worktree bit"
-msgstr ""
-
-#: builtin/update-index.c:1039
-msgid "do not touch index-only entries"
-msgstr ""
-
-#: builtin/update-index.c:1041
-msgid "add to index only; do not add content to object database"
-msgstr ""
-
-#: builtin/update-index.c:1043
-msgid "remove named paths even if present in worktree"
-msgstr ""
-
-#: builtin/update-index.c:1045
-msgid "with --stdin: input lines are terminated by null bytes"
-msgstr ""
-
-#: builtin/update-index.c:1047
-msgid "read list of paths to be updated from standard input"
-msgstr ""
-
-#: builtin/update-index.c:1051
-msgid "add entries from standard input to the index"
-msgstr ""
-
-#: builtin/update-index.c:1055
-msgid "repopulate stages #2 and #3 for the listed paths"
-msgstr ""
-
-#: builtin/update-index.c:1059
-msgid "only update entries that differ from HEAD"
-msgstr ""
-
-#: builtin/update-index.c:1063
-msgid "ignore files missing from worktree"
-msgstr ""
-
-#: builtin/update-index.c:1066
-msgid "report actions to standard output"
-msgstr ""
-
-#: builtin/update-index.c:1068
-msgid "(for porcelains) forget saved unresolved conflicts"
-msgstr ""
-
-#: builtin/update-index.c:1072
-msgid "write index in this format"
-msgstr ""
-
-#: builtin/update-index.c:1074
-msgid "enable or disable split index"
-msgstr ""
-
-#: builtin/update-index.c:1076
-msgid "enable/disable untracked cache"
-msgstr ""
-
-#: builtin/update-index.c:1078
-msgid "test if the filesystem supports untracked cache"
-msgstr ""
-
-#: builtin/update-index.c:1080
-msgid "enable untracked cache without testing the filesystem"
-msgstr ""
-
-#: builtin/update-index.c:1082
-msgid "write out the index even if is not flagged as changed"
-msgstr ""
-
-#: builtin/update-index.c:1084
-msgid "enable or disable file system monitor"
-msgstr ""
-
-#: builtin/update-index.c:1086
-msgid "mark files as fsmonitor valid"
-msgstr ""
-
-#: builtin/update-index.c:1089
-msgid "clear fsmonitor valid bit"
-msgstr ""
-
-#: builtin/update-index.c:1195
-msgid ""
-"core.splitIndex is set to false; remove or change it, if you really want to "
-"enable split index"
-msgstr ""
-
-#: builtin/update-index.c:1204
-msgid ""
-"core.splitIndex is set to true; remove or change it, if you really want to "
-"disable split index"
-msgstr ""
-
-#: builtin/update-index.c:1216
-msgid ""
-"core.untrackedCache is set to true; remove or change it, if you really want "
-"to disable the untracked cache"
-msgstr ""
-
-#: builtin/update-index.c:1220
-msgid "Untracked cache disabled"
-msgstr ""
-
-#: builtin/update-index.c:1228
-msgid ""
-"core.untrackedCache is set to false; remove or change it, if you really want "
-"to enable the untracked cache"
-msgstr ""
-
-#: builtin/update-index.c:1232
-#, c-format
-msgid "Untracked cache enabled for '%s'"
-msgstr ""
-
-#: builtin/update-index.c:1241
-msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
-msgstr ""
-
-#: builtin/update-index.c:1246
-msgid "fsmonitor enabled"
-msgstr ""
-
-#: builtin/update-index.c:1250
-msgid ""
-"core.fsmonitor is set; remove it if you really want to disable fsmonitor"
-msgstr ""
-
-#: builtin/update-index.c:1254
-msgid "fsmonitor disabled"
-msgstr ""
-
-#: builtin/update-ref.c:10
-msgid "git update-ref [<options>] -d <refname> [<old-val>]"
-msgstr ""
-
-#: builtin/update-ref.c:11
-msgid "git update-ref [<options>]    <refname> <new-val> [<old-val>]"
-msgstr ""
-
-#: builtin/update-ref.c:12
-msgid "git update-ref [<options>] --stdin [-z]"
-msgstr ""
-
-#: builtin/update-ref.c:506
-msgid "delete the reference"
-msgstr ""
-
-#: builtin/update-ref.c:508
-msgid "update <refname> not the one it points to"
-msgstr ""
-
-#: builtin/update-ref.c:509
-msgid "stdin has NUL-terminated arguments"
-msgstr ""
-
-#: builtin/update-ref.c:510
-msgid "read updates from stdin"
-msgstr ""
-
-#: builtin/update-server-info.c:15
-msgid "update the info files from scratch"
-msgstr ""
-
-#: builtin/upload-pack.c:11
-msgid "git upload-pack [<options>] <dir>"
-msgstr ""
-
-#: builtin/upload-pack.c:24 t/helper/test-serve-v2.c:17
-msgid "quit after a single request/response exchange"
-msgstr ""
-
-#: builtin/upload-pack.c:26
-msgid "serve up the info/refs for git-http-backend"
-msgstr ""
-
-#: builtin/upload-pack.c:29
-msgid "do not try <directory>/.git/ if <directory> is no Git directory"
-msgstr ""
-
-#: builtin/upload-pack.c:31
-msgid "interrupt transfer after <n> seconds of inactivity"
-msgstr ""
-
-#: builtin/verify-commit.c:19
-msgid "git verify-commit [-v | --verbose] <commit>..."
-msgstr ""
-
-#: builtin/verify-commit.c:68
-msgid "print commit contents"
-msgstr ""
-
-#: builtin/verify-commit.c:69 builtin/verify-tag.c:37
-msgid "print raw gpg status output"
-msgstr ""
-
-#: builtin/verify-pack.c:59
-msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
-msgstr ""
-
-#: builtin/verify-pack.c:70
-msgid "verbose"
-msgstr ""
-
-#: builtin/verify-pack.c:72
-msgid "show statistics only"
-msgstr ""
-
-#: builtin/verify-tag.c:18
-msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
-msgstr ""
-
-#: builtin/verify-tag.c:36
-msgid "print tag contents"
-msgstr ""
-
-#: builtin/worktree.c:19
-msgid "git worktree add [<options>] <path> [<commit-ish>]"
-msgstr ""
-
-#: builtin/worktree.c:20
-msgid "git worktree list [<options>]"
-msgstr ""
-
-#: builtin/worktree.c:21
-msgid "git worktree lock [<options>] <path>"
-msgstr ""
-
-#: builtin/worktree.c:22
-msgid "git worktree move <worktree> <new-path>"
-msgstr ""
-
-#: builtin/worktree.c:23
-msgid "git worktree prune [<options>]"
-msgstr ""
-
-#: builtin/worktree.c:24
-msgid "git worktree remove [<options>] <worktree>"
-msgstr ""
-
-#: builtin/worktree.c:25
-msgid "git worktree repair [<path>...]"
-msgstr ""
-
-#: builtin/worktree.c:26
-msgid "git worktree unlock <path>"
-msgstr ""
-
-#: builtin/worktree.c:76
-#, c-format
-msgid "Removing %s/%s: %s"
-msgstr ""
-
-#: builtin/worktree.c:149
-msgid "report pruned working trees"
-msgstr ""
-
-#: builtin/worktree.c:151
-msgid "expire working trees older than <time>"
-msgstr ""
-
-#: builtin/worktree.c:221
-#, c-format
-msgid "'%s' already exists"
-msgstr ""
-
-#: builtin/worktree.c:230
-#, c-format
-msgid "unusable worktree destination '%s'"
-msgstr ""
-
-#: builtin/worktree.c:235
-#, c-format
-msgid ""
-"'%s' is a missing but locked worktree;\n"
-"use '%s -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear"
-msgstr ""
-
-#: builtin/worktree.c:237
-#, c-format
-msgid ""
-"'%s' is a missing but already registered worktree;\n"
-"use '%s -f' to override, or 'prune' or 'remove' to clear"
-msgstr ""
-
-#: builtin/worktree.c:248
-#, c-format
-msgid "failed to copy '%s' to '%s'; sparse-checkout may not work correctly"
-msgstr ""
-
-#: builtin/worktree.c:268
-#, c-format
-msgid "failed to copy worktree config from '%s' to '%s'"
-msgstr ""
-
-#: builtin/worktree.c:280 builtin/worktree.c:285
-#, c-format
-msgid "failed to unset '%s' in '%s'"
-msgstr ""
-
-#: builtin/worktree.c:356
-#, c-format
-msgid "could not create directory of '%s'"
-msgstr ""
-
-#: builtin/worktree.c:378
-msgid "initializing"
-msgstr ""
-
-#: builtin/worktree.c:492 builtin/worktree.c:498
-#, c-format
-msgid "Preparing worktree (new branch '%s')"
-msgstr ""
-
-#: builtin/worktree.c:494
-#, c-format
-msgid "Preparing worktree (resetting branch '%s'; was at %s)"
-msgstr ""
-
-#: builtin/worktree.c:503
-#, c-format
-msgid "Preparing worktree (checking out '%s')"
-msgstr ""
-
-#: builtin/worktree.c:509
-#, c-format
-msgid "Preparing worktree (detached HEAD %s)"
-msgstr ""
-
-#: builtin/worktree.c:554
-msgid "checkout <branch> even if already checked out in other worktree"
-msgstr ""
-
-#: builtin/worktree.c:557
-msgid "create a new branch"
-msgstr ""
-
-#: builtin/worktree.c:559
-msgid "create or reset a branch"
-msgstr ""
-
-#: builtin/worktree.c:561
-msgid "populate the new working tree"
-msgstr ""
-
-#: builtin/worktree.c:562
-msgid "keep the new working tree locked"
-msgstr ""
-
-#: builtin/worktree.c:564 builtin/worktree.c:809
-msgid "reason for locking"
-msgstr ""
-
-#: builtin/worktree.c:567
-msgid "set up tracking mode (see git-branch(1))"
-msgstr ""
-
-#: builtin/worktree.c:570
-msgid "try to match the new branch name with a remote-tracking branch"
-msgstr ""
-
-#: builtin/worktree.c:584
-msgid "added with --lock"
-msgstr ""
-
-#: builtin/worktree.c:646
-msgid "--[no-]track can only be used if a new branch is created"
-msgstr ""
-
-#: builtin/worktree.c:766
-msgid "show extended annotations and reasons, if available"
-msgstr ""
-
-#: builtin/worktree.c:768
-msgid "add 'prunable' annotation to worktrees older than <time>"
-msgstr ""
-
-#: builtin/worktree.c:770
-msgid "terminate records with a NUL character"
-msgstr ""
-
-#: builtin/worktree.c:821 builtin/worktree.c:854 builtin/worktree.c:928
-#: builtin/worktree.c:1052
-#, c-format
-msgid "'%s' is not a working tree"
-msgstr ""
-
-#: builtin/worktree.c:823 builtin/worktree.c:856
-msgid "The main working tree cannot be locked or unlocked"
-msgstr ""
-
-#: builtin/worktree.c:828
-#, c-format
-msgid "'%s' is already locked, reason: %s"
-msgstr ""
-
-#: builtin/worktree.c:830
-#, c-format
-msgid "'%s' is already locked"
-msgstr ""
-
-#: builtin/worktree.c:858
-#, c-format
-msgid "'%s' is not locked"
-msgstr ""
-
-#: builtin/worktree.c:899
-msgid "working trees containing submodules cannot be moved or removed"
-msgstr ""
-
-#: builtin/worktree.c:907
-msgid "force move even if worktree is dirty or locked"
-msgstr ""
-
-#: builtin/worktree.c:930 builtin/worktree.c:1054
-#, c-format
-msgid "'%s' is a main working tree"
-msgstr ""
-
-#: builtin/worktree.c:935
-#, c-format
-msgid "could not figure out destination name from '%s'"
-msgstr ""
-
-#: builtin/worktree.c:948
-#, c-format
-msgid ""
-"cannot move a locked working tree, lock reason: %s\n"
-"use 'move -f -f' to override or unlock first"
-msgstr ""
-
-#: builtin/worktree.c:950
-msgid ""
-"cannot move a locked working tree;\n"
-"use 'move -f -f' to override or unlock first"
-msgstr ""
-
-#: builtin/worktree.c:953
-#, c-format
-msgid "validation failed, cannot move working tree: %s"
-msgstr ""
-
-#: builtin/worktree.c:958
-#, c-format
-msgid "failed to move '%s' to '%s'"
-msgstr ""
-
-#: builtin/worktree.c:1004
-#, c-format
-msgid "failed to run 'git status' on '%s'"
-msgstr ""
-
-#: builtin/worktree.c:1008
-#, c-format
-msgid "'%s' contains modified or untracked files, use --force to delete it"
-msgstr ""
-
-#: builtin/worktree.c:1013
-#, c-format
-msgid "failed to run 'git status' on '%s', code %d"
-msgstr ""
-
-#: builtin/worktree.c:1036
-msgid "force removal even if worktree is dirty or locked"
-msgstr ""
-
-#: builtin/worktree.c:1059
-#, c-format
-msgid ""
-"cannot remove a locked working tree, lock reason: %s\n"
-"use 'remove -f -f' to override or unlock first"
-msgstr ""
-
-#: builtin/worktree.c:1061
-msgid ""
-"cannot remove a locked working tree;\n"
-"use 'remove -f -f' to override or unlock first"
-msgstr ""
-
-#: builtin/worktree.c:1064
-#, c-format
-msgid "validation failed, cannot remove working tree: %s"
-msgstr ""
-
-#: builtin/worktree.c:1088
-#, c-format
-msgid "repair: %s: %s"
-msgstr ""
-
-#: builtin/worktree.c:1091
-#, c-format
-msgid "error: %s: %s"
-msgstr ""
-
-#: builtin/write-tree.c:15
-msgid "git write-tree [--missing-ok] [--prefix=<prefix>/]"
-msgstr ""
-
-#: builtin/write-tree.c:28
-msgid "<prefix>/"
-msgstr ""
-
-#: builtin/write-tree.c:29
-msgid "write tree object for a subdirectory <prefix>"
-msgstr ""
-
-#: builtin/write-tree.c:31
-msgid "only useful for debugging"
-msgstr ""
-
-#: git.c:28
-msgid ""
-"git [--version] [--help] [-C <path>] [-c <name>=<value>]\n"
-"           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]\n"
-"           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--"
-"bare]\n"
-"           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]\n"
-"           [--super-prefix=<path>] [--config-env=<name>=<envvar>]\n"
-"           <command> [<args>]"
-msgstr ""
-
-#: git.c:36
-msgid ""
-"'git help -a' and 'git help -g' list available subcommands and some\n"
-"concept guides. See 'git help <command>' or 'git help <concept>'\n"
-"to read about a specific subcommand or concept.\n"
-"See 'git help git' for an overview of the system."
-msgstr ""
-
-#: git.c:188 git.c:216 git.c:300
-#, c-format
-msgid "no directory given for '%s' option\n"
-msgstr ""
-
-#: git.c:202
-#, c-format
-msgid "no namespace given for --namespace\n"
-msgstr ""
-
-#: git.c:230
-#, c-format
-msgid "no prefix given for --super-prefix\n"
-msgstr ""
-
-#: git.c:252
-#, c-format
-msgid "-c expects a configuration string\n"
-msgstr ""
-
-#: git.c:260
-#, c-format
-msgid "no config key given for --config-env\n"
-msgstr ""
-
-#: git.c:326
-#, c-format
-msgid "unknown option: %s\n"
-msgstr ""
-
-#: git.c:375
-#, c-format
-msgid "while expanding alias '%s': '%s'"
-msgstr ""
-
-#: git.c:384
-#, c-format
-msgid ""
-"alias '%s' changes environment variables.\n"
-"You can use '!git' in the alias to do this"
-msgstr ""
-
-#: git.c:391
-#, c-format
-msgid "empty alias for %s"
-msgstr ""
-
-#: git.c:394
-#, c-format
-msgid "recursive alias: %s"
-msgstr ""
-
-#: git.c:480
-msgid "write failure on standard output"
-msgstr ""
-
-#: git.c:482
-msgid "unknown write failure on standard output"
-msgstr ""
-
-#: git.c:484
-msgid "close failed on standard output"
-msgstr ""
-
-#: git.c:838
-#, c-format
-msgid "alias loop detected: expansion of '%s' does not terminate:%s"
-msgstr ""
-
-#: git.c:888
-#, c-format
-msgid "cannot handle %s as a builtin"
-msgstr ""
-
-#: git.c:901
-#, c-format
-msgid ""
-"usage: %s\n"
-"\n"
-msgstr ""
-
-#: git.c:921
-#, c-format
-msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
-msgstr ""
-
-#: git.c:933
-#, c-format
-msgid "failed to run command '%s': %s\n"
-msgstr ""
-
-#: http-fetch.c:128
-#, c-format
-msgid "argument to --packfile must be a valid hash (got '%s')"
-msgstr ""
-
-#: http-fetch.c:138
-msgid "not a git repository"
-msgstr ""
-
-#: t/helper/test-fast-rebase.c:141
-msgid "unhandled options"
-msgstr ""
-
-#: t/helper/test-fast-rebase.c:146
-msgid "error preparing revisions"
-msgstr ""
-
-#: t/helper/test-reach.c:154
-#, c-format
-msgid "commit %s is not marked reachable"
-msgstr ""
-
-#: t/helper/test-reach.c:164
-msgid "too many commits marked reachable"
-msgstr ""
-
-#: t/helper/test-serve-v2.c:7
-msgid "test-tool serve-v2 [<options>]"
-msgstr ""
-
-#: t/helper/test-serve-v2.c:19
-msgid "exit immediately after advertising capabilities"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:581
-msgid "test-helper simple-ipc is-active    [<name>] [<options>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:582
-msgid "test-helper simple-ipc run-daemon   [<name>] [<threads>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:583
-msgid "test-helper simple-ipc start-daemon [<name>] [<threads>] [<max-wait>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:584
-msgid "test-helper simple-ipc stop-daemon  [<name>] [<max-wait>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:585
-msgid "test-helper simple-ipc send         [<name>] [<token>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:586
-msgid "test-helper simple-ipc sendbytes    [<name>] [<bytecount>] [<byte>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:587
-msgid ""
-"test-helper simple-ipc multiple     [<name>] [<threads>] [<bytecount>] "
-"[<batchsize>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:595
-msgid "name or pathname of unix domain socket"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:597
-msgid "named-pipe name"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:599
-msgid "number of threads in server thread pool"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:600
-msgid "seconds to wait for daemon to start or stop"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:602
-msgid "number of bytes"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:603
-msgid "number of requests per thread"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:605
-msgid "byte"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:605
-msgid "ballast character"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:606
-msgid "token"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:606
-msgid "command token to send to the server"
-msgstr ""
-
-#: http.c:350
-#, c-format
-msgid "negative value for http.postbuffer; defaulting to %d"
-msgstr ""
-
-#: http.c:371
-msgid "Delegation control is not supported with cURL < 7.22.0"
-msgstr ""
-
-#: http.c:380
-msgid "Public key pinning not supported with cURL < 7.39.0"
-msgstr ""
-
-#: http.c:812
-msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
-msgstr ""
-
-#: http.c:1016
-#, c-format
-msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
-msgstr ""
-
-#: http.c:1023
-#, c-format
-msgid "Could not set SSL backend to '%s': cURL was built without SSL backends"
-msgstr ""
-
-#: http.c:1027
-#, c-format
-msgid "Could not set SSL backend to '%s': already set"
-msgstr ""
-
-#: http.c:1876
-#, c-format
-msgid ""
-"unable to update url base from redirection:\n"
-"  asked for: %s\n"
-"   redirect: %s"
-msgstr ""
-
-#: remote-curl.c:184
-#, c-format
-msgid "invalid quoting in push-option value: '%s'"
-msgstr ""
-
-#: remote-curl.c:308
-#, c-format
-msgid "%sinfo/refs not valid: is this a git repository?"
-msgstr ""
-
-#: remote-curl.c:409
-msgid "invalid server response; expected service, got flush packet"
-msgstr ""
-
-#: remote-curl.c:440
-#, c-format
-msgid "invalid server response; got '%s'"
-msgstr ""
-
-#: remote-curl.c:500
-#, c-format
-msgid "repository '%s' not found"
-msgstr ""
-
-#: remote-curl.c:504
-#, c-format
-msgid "Authentication failed for '%s'"
-msgstr ""
-
-#: remote-curl.c:508
-#, c-format
-msgid "unable to access '%s' with http.pinnedPubkey configuration: %s"
-msgstr ""
-
-#: remote-curl.c:512
-#, c-format
-msgid "unable to access '%s': %s"
-msgstr ""
-
-#: remote-curl.c:518
-#, c-format
-msgid "redirecting to %s"
-msgstr ""
-
-#: remote-curl.c:649
-msgid "shouldn't have EOF when not gentle on EOF"
-msgstr ""
-
-#: remote-curl.c:661
-msgid "remote server sent unexpected response end packet"
-msgstr ""
-
-#: remote-curl.c:730
-msgid "unable to rewind rpc post data - try increasing http.postBuffer"
-msgstr ""
-
-#: remote-curl.c:759
-#, c-format
-msgid "remote-curl: bad line length character: %.4s"
-msgstr ""
-
-#: remote-curl.c:761
-msgid "remote-curl: unexpected response end packet"
-msgstr ""
-
-#: remote-curl.c:837
-#, c-format
-msgid "RPC failed; %s"
-msgstr ""
-
-#: remote-curl.c:877
-msgid "cannot handle pushes this big"
-msgstr ""
-
-#: remote-curl.c:990
-#, c-format
-msgid "cannot deflate request; zlib deflate error %d"
-msgstr ""
-
-#: remote-curl.c:994
-#, c-format
-msgid "cannot deflate request; zlib end error %d"
-msgstr ""
-
-#: remote-curl.c:1044
-#, c-format
-msgid "%d bytes of length header were received"
-msgstr ""
-
-#: remote-curl.c:1046
-#, c-format
-msgid "%d bytes of body are still expected"
-msgstr ""
-
-#: remote-curl.c:1135
-msgid "dumb http transport does not support shallow capabilities"
-msgstr ""
-
-#: remote-curl.c:1150
-msgid "fetch failed."
-msgstr ""
-
-#: remote-curl.c:1198
-msgid "cannot fetch by sha1 over smart http"
-msgstr ""
-
-#: remote-curl.c:1242 remote-curl.c:1248
-#, c-format
-msgid "protocol error: expected sha/ref, got '%s'"
-msgstr ""
-
-#: remote-curl.c:1260 remote-curl.c:1378
-#, c-format
-msgid "http transport does not support %s"
-msgstr ""
-
-#: remote-curl.c:1296
-msgid "git-http-push failed"
-msgstr ""
-
-#: remote-curl.c:1485
-msgid "remote-curl: usage: git remote-curl <remote> [<url>]"
-msgstr ""
-
-#: remote-curl.c:1517
-msgid "remote-curl: error reading command stream from git"
-msgstr ""
-
-#: remote-curl.c:1524
-msgid "remote-curl: fetch attempted without a local repo"
-msgstr ""
-
-#: remote-curl.c:1565
-#, c-format
-msgid "remote-curl: unknown command '%s' from git"
-msgstr ""
-
-#: contrib/scalar/scalar.c:49
-msgid "need a working directory"
-msgstr ""
-
-#: contrib/scalar/scalar.c:86
-msgid "could not find enlistment root"
-msgstr ""
-
-#: contrib/scalar/scalar.c:89 contrib/scalar/scalar.c:350
-#: contrib/scalar/scalar.c:435 contrib/scalar/scalar.c:578
-#, c-format
-msgid "could not switch to '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:179
-#, c-format
-msgid "could not configure %s=%s"
-msgstr ""
-
-#: contrib/scalar/scalar.c:197
-msgid "could not configure log.excludeDecoration"
-msgstr ""
-
-#: contrib/scalar/scalar.c:218
-msgid "Scalar enlistments require a worktree"
-msgstr ""
-
-#: contrib/scalar/scalar.c:310
-#, c-format
-msgid "remote HEAD is not a branch: '%.*s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:316
-msgid "failed to get default branch name from remote; using local default"
-msgstr ""
-
-#: contrib/scalar/scalar.c:329
-msgid "failed to get default branch name"
-msgstr ""
-
-#: contrib/scalar/scalar.c:340
-msgid "failed to unregister repository"
-msgstr ""
-
-#: contrib/scalar/scalar.c:355
-msgid "failed to delete enlistment directory"
-msgstr ""
-
-#: contrib/scalar/scalar.c:375
-msgid "branch to checkout after clone"
-msgstr ""
-
-#: contrib/scalar/scalar.c:377
-msgid "when cloning, create full working directory"
-msgstr ""
-
-#: contrib/scalar/scalar.c:379
-msgid "only download metadata for the branch that will be checked out"
-msgstr ""
-
-#: contrib/scalar/scalar.c:384
-msgid "scalar clone [<options>] [--] <repo> [<dir>]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:409
-#, c-format
-msgid "cannot deduce worktree name from '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:418
-#, c-format
-msgid "directory '%s' exists already"
-msgstr ""
-
-#: contrib/scalar/scalar.c:445
-#, c-format
-msgid "failed to get default branch for '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:456
-#, c-format
-msgid "could not configure remote in '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:465
-#, c-format
-msgid "could not configure '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:468
-msgid "partial clone failed; attempting full clone"
-msgstr ""
-
-#: contrib/scalar/scalar.c:472
-msgid "could not configure for full clone"
-msgstr ""
-
-#: contrib/scalar/scalar.c:504
-msgid "`scalar list` does not take arguments"
-msgstr ""
-
-#: contrib/scalar/scalar.c:517
-msgid "scalar register [<enlistment>]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:544
-msgid "reconfigure all registered enlistments"
-msgstr ""
-
-#: contrib/scalar/scalar.c:548
-msgid "scalar reconfigure [--all | <enlistment>]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:566
-msgid "--all or <enlistment>, but not both"
-msgstr ""
-
-#: contrib/scalar/scalar.c:581
-#, c-format
-msgid "git repository gone in '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:621
-msgid ""
-"scalar run <task> [<enlistment>]\n"
-"Tasks:\n"
-msgstr ""
-
-#: contrib/scalar/scalar.c:639
-#, c-format
-msgid "no such task: '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:689
-msgid "scalar unregister [<enlistment>]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:736
-msgid "scalar delete <enlistment>"
-msgstr ""
-
-#: contrib/scalar/scalar.c:751
-msgid "refusing to delete current working directory"
-msgstr ""
-
-#: contrib/scalar/scalar.c:766
-msgid "include Git version"
-msgstr ""
-
-#: contrib/scalar/scalar.c:768
-msgid "include Git's build options"
-msgstr ""
-
-#: contrib/scalar/scalar.c:772
-msgid "scalar verbose [-v | --verbose] [--build-options]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:813
-msgid "-C requires a <directory>"
-msgstr ""
-
-#: contrib/scalar/scalar.c:815
-#, c-format
-msgid "could not change to '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:821
-msgid "-c requires a <key>=<value> argument"
-msgstr ""
-
-#: contrib/scalar/scalar.c:839
-msgid ""
-"scalar [-C <directory>] [-c <key>=<value>] <command> [<options>]\n"
-"\n"
-"Commands:\n"
-msgstr ""
-
-#: compat/compiler.h:26
-msgid "no compiler information available\n"
-msgstr ""
-
-#: compat/compiler.h:38
-msgid "no libc information available\n"
-msgstr ""
-
-#: list-objects-filter-options.h:126
-msgid "args"
-msgstr ""
-
-#: list-objects-filter-options.h:127
-msgid "object filtering"
-msgstr ""
-
-#: parse-options.h:188
-msgid "expiry-date"
-msgstr ""
-
-#: parse-options.h:202
-msgid "no-op (backward compatibility)"
-msgstr ""
-
-#: parse-options.h:341
-msgid "be more verbose"
-msgstr ""
-
-#: parse-options.h:343
-msgid "be more quiet"
-msgstr ""
-
-#: parse-options.h:349
-msgid "use <n> digits to display object names"
-msgstr ""
-
-#: parse-options.h:368
-msgid "how to strip spaces and #comments from message"
-msgstr ""
-
-#: parse-options.h:369
-msgid "read pathspec from file"
-msgstr ""
-
-#: parse-options.h:370
-msgid ""
-"with --pathspec-from-file, pathspec elements are separated with NUL character"
-msgstr ""
-
-#: ref-filter.h:98
-msgid "key"
-msgstr ""
-
-#: ref-filter.h:98
-msgid "field name to sort on"
-msgstr ""
-
-#: rerere.h:44
-msgid "update the index with reused conflict resolution if possible"
-msgstr ""
-
-#: command-list.h:50
-msgid "Add file contents to the index"
-msgstr ""
-
-#: command-list.h:51
-msgid "Apply a series of patches from a mailbox"
-msgstr ""
-
-#: command-list.h:52
-msgid "Annotate file lines with commit information"
-msgstr ""
-
-#: command-list.h:53
-msgid "Apply a patch to files and/or to the index"
-msgstr ""
-
-#: command-list.h:54
-msgid "Import a GNU Arch repository into Git"
-msgstr ""
-
-#: command-list.h:55
-msgid "Create an archive of files from a named tree"
-msgstr ""
-
-#: command-list.h:56
-msgid "Use binary search to find the commit that introduced a bug"
-msgstr ""
-
-#: command-list.h:57
-msgid "Show what revision and author last modified each line of a file"
-msgstr ""
-
-#: command-list.h:58
-msgid "List, create, or delete branches"
-msgstr ""
-
-#: command-list.h:59
-msgid "Collect information for user to file a bug report"
-msgstr ""
-
-#: command-list.h:60
-msgid "Move objects and refs by archive"
-msgstr ""
-
-#: command-list.h:61
-msgid "Provide content or type and size information for repository objects"
-msgstr ""
-
-#: command-list.h:62
-msgid "Display gitattributes information"
-msgstr ""
-
-#: command-list.h:63
-msgid "Debug gitignore / exclude files"
-msgstr ""
-
-#: command-list.h:64
-msgid "Show canonical names and email addresses of contacts"
-msgstr ""
-
-#: command-list.h:65
-msgid "Ensures that a reference name is well formed"
-msgstr ""
-
-#: command-list.h:66
-msgid "Switch branches or restore working tree files"
-msgstr ""
-
-#: command-list.h:67
-msgid "Copy files from the index to the working tree"
-msgstr ""
-
-#: command-list.h:68
-msgid "Find commits yet to be applied to upstream"
-msgstr ""
-
-#: command-list.h:69
-msgid "Apply the changes introduced by some existing commits"
-msgstr ""
-
-#: command-list.h:70
-msgid "Graphical alternative to git-commit"
-msgstr ""
-
-#: command-list.h:71
-msgid "Remove untracked files from the working tree"
-msgstr ""
-
-#: command-list.h:72
-msgid "Clone a repository into a new directory"
-msgstr ""
-
-#: command-list.h:73
-msgid "Display data in columns"
-msgstr ""
-
-#: command-list.h:74
-msgid "Record changes to the repository"
-msgstr ""
-
-#: command-list.h:75
-msgid "Write and verify Git commit-graph files"
-msgstr ""
-
-#: command-list.h:76
-msgid "Create a new commit object"
-msgstr ""
-
-#: command-list.h:77
-msgid "Get and set repository or global options"
-msgstr ""
-
-#: command-list.h:78
-msgid "Count unpacked number of objects and their disk consumption"
-msgstr ""
-
-#: command-list.h:79
-msgid "Retrieve and store user credentials"
-msgstr ""
-
-#: command-list.h:80
-msgid "Helper to temporarily store passwords in memory"
-msgstr ""
-
-#: command-list.h:81
-msgid "Helper to store credentials on disk"
-msgstr ""
-
-#: command-list.h:82
-msgid "Export a single commit to a CVS checkout"
-msgstr ""
-
-#: command-list.h:83
-msgid "Salvage your data out of another SCM people love to hate"
-msgstr ""
-
-#: command-list.h:84
-msgid "A CVS server emulator for Git"
-msgstr ""
-
-#: command-list.h:85
-msgid "A really simple server for Git repositories"
-msgstr ""
-
-#: command-list.h:86
-msgid "Give an object a human readable name based on an available ref"
-msgstr ""
-
-#: command-list.h:87
-msgid "Show changes between commits, commit and working tree, etc"
-msgstr ""
-
-#: command-list.h:88
-msgid "Compares files in the working tree and the index"
-msgstr ""
-
-#: command-list.h:89
-msgid "Compare a tree to the working tree or index"
-msgstr ""
-
-#: command-list.h:90
-msgid "Compares the content and mode of blobs found via two tree objects"
-msgstr ""
-
-#: command-list.h:91
-msgid "Show changes using common diff tools"
-msgstr ""
-
-#: command-list.h:92
-msgid "Git data exporter"
-msgstr ""
-
-#: command-list.h:93
-msgid "Backend for fast Git data importers"
-msgstr ""
-
-#: command-list.h:94
-msgid "Download objects and refs from another repository"
-msgstr ""
-
-#: command-list.h:95
-msgid "Receive missing objects from another repository"
-msgstr ""
-
-#: command-list.h:96
-msgid "Rewrite branches"
-msgstr ""
-
-#: command-list.h:97
-msgid "Produce a merge commit message"
-msgstr ""
-
-#: command-list.h:98
-msgid "Output information on each ref"
-msgstr ""
-
-#: command-list.h:99
-msgid "Run a Git command on a list of repositories"
-msgstr ""
-
-#: command-list.h:100
-msgid "Prepare patches for e-mail submission"
-msgstr ""
-
-#: command-list.h:101
-msgid "Verifies the connectivity and validity of the objects in the database"
-msgstr ""
-
-#: command-list.h:102
-msgid "Cleanup unnecessary files and optimize the local repository"
-msgstr ""
-
-#: command-list.h:103
-msgid "Extract commit ID from an archive created using git-archive"
-msgstr ""
-
-#: command-list.h:104
-msgid "Print lines matching a pattern"
-msgstr ""
-
-#: command-list.h:105
-msgid "A portable graphical interface to Git"
-msgstr ""
-
-#: command-list.h:106
-msgid "Compute object ID and optionally creates a blob from a file"
-msgstr ""
-
-#: command-list.h:107
-msgid "Display help information about Git"
-msgstr ""
-
-#: command-list.h:108
-msgid "Run git hooks"
-msgstr ""
-
-#: command-list.h:109
-msgid "Server side implementation of Git over HTTP"
-msgstr ""
-
-#: command-list.h:110
-msgid "Download from a remote Git repository via HTTP"
-msgstr ""
-
-#: command-list.h:111
-msgid "Push objects over HTTP/DAV to another repository"
-msgstr ""
-
-#: command-list.h:112
-msgid "Send a collection of patches from stdin to an IMAP folder"
-msgstr ""
-
-#: command-list.h:113
-msgid "Build pack index file for an existing packed archive"
-msgstr ""
-
-#: command-list.h:114
-msgid "Create an empty Git repository or reinitialize an existing one"
-msgstr ""
-
-#: command-list.h:115
-msgid "Instantly browse your working repository in gitweb"
-msgstr ""
-
-#: command-list.h:116
-msgid "Add or parse structured information in commit messages"
-msgstr ""
-
-#: command-list.h:117
-msgid "Show commit logs"
-msgstr ""
-
-#: command-list.h:118
-msgid "Show information about files in the index and the working tree"
-msgstr ""
-
-#: command-list.h:119
-msgid "List references in a remote repository"
-msgstr ""
-
-#: command-list.h:120
-msgid "List the contents of a tree object"
-msgstr ""
-
-#: command-list.h:121
-msgid "Extracts patch and authorship from a single e-mail message"
-msgstr ""
-
-#: command-list.h:122
-msgid "Simple UNIX mbox splitter program"
-msgstr ""
-
-#: command-list.h:123
-msgid "Run tasks to optimize Git repository data"
-msgstr ""
-
-#: command-list.h:124
-msgid "Join two or more development histories together"
-msgstr ""
-
-#: command-list.h:125
-msgid "Find as good common ancestors as possible for a merge"
-msgstr ""
-
-#: command-list.h:126
-msgid "Run a three-way file merge"
-msgstr ""
-
-#: command-list.h:127
-msgid "Run a merge for files needing merging"
-msgstr ""
-
-#: command-list.h:128
-msgid "The standard helper program to use with git-merge-index"
-msgstr ""
-
-#: command-list.h:129
-msgid "Show three-way merge without touching index"
-msgstr ""
-
-#: command-list.h:130
-msgid "Run merge conflict resolution tools to resolve merge conflicts"
-msgstr ""
-
-#: command-list.h:131
-msgid "Creates a tag object with extra validation"
-msgstr ""
-
-#: command-list.h:132
-msgid "Build a tree-object from ls-tree formatted text"
-msgstr ""
-
-#: command-list.h:133
-msgid "Write and verify multi-pack-indexes"
-msgstr ""
-
-#: command-list.h:134
-msgid "Move or rename a file, a directory, or a symlink"
-msgstr ""
-
-#: command-list.h:135
-msgid "Find symbolic names for given revs"
-msgstr ""
-
-#: command-list.h:136
-msgid "Add or inspect object notes"
-msgstr ""
-
-#: command-list.h:137
-msgid "Import from and submit to Perforce repositories"
-msgstr ""
-
-#: command-list.h:138
-msgid "Create a packed archive of objects"
-msgstr ""
-
-#: command-list.h:139
-msgid "Find redundant pack files"
-msgstr ""
-
-#: command-list.h:140
-msgid "Pack heads and tags for efficient repository access"
-msgstr ""
-
-#: command-list.h:141
-msgid "Compute unique ID for a patch"
-msgstr ""
-
-#: command-list.h:142
-msgid "Prune all unreachable objects from the object database"
-msgstr ""
-
-#: command-list.h:143
-msgid "Remove extra objects that are already in pack files"
-msgstr ""
-
-#: command-list.h:144
-msgid "Fetch from and integrate with another repository or a local branch"
-msgstr ""
-
-#: command-list.h:145
-msgid "Update remote refs along with associated objects"
-msgstr ""
-
-#: command-list.h:146
-msgid "Applies a quilt patchset onto the current branch"
-msgstr ""
-
-#: command-list.h:147
-msgid "Compare two commit ranges (e.g. two versions of a branch)"
-msgstr ""
-
-#: command-list.h:148
-msgid "Reads tree information into the index"
-msgstr ""
-
-#: command-list.h:149
-msgid "Reapply commits on top of another base tip"
-msgstr ""
-
-#: command-list.h:150
-msgid "Receive what is pushed into the repository"
-msgstr ""
-
-#: command-list.h:151
-msgid "Manage reflog information"
-msgstr ""
-
-#: command-list.h:152
-msgid "Manage set of tracked repositories"
-msgstr ""
-
-#: command-list.h:153
-msgid "Pack unpacked objects in a repository"
-msgstr ""
-
-#: command-list.h:154
-msgid "Create, list, delete refs to replace objects"
-msgstr ""
-
-#: command-list.h:155
-msgid "Generates a summary of pending changes"
-msgstr ""
-
-#: command-list.h:156
-msgid "Reuse recorded resolution of conflicted merges"
-msgstr ""
-
-#: command-list.h:157
-msgid "Reset current HEAD to the specified state"
-msgstr ""
-
-#: command-list.h:158
-msgid "Restore working tree files"
-msgstr ""
-
-#: command-list.h:159
-msgid "Lists commit objects in reverse chronological order"
-msgstr ""
-
-#: command-list.h:160
-msgid "Pick out and massage parameters"
-msgstr ""
-
-#: command-list.h:161
-msgid "Revert some existing commits"
-msgstr ""
-
-#: command-list.h:162
-msgid "Remove files from the working tree and from the index"
-msgstr ""
-
-#: command-list.h:163
-msgid "Send a collection of patches as emails"
-msgstr ""
-
-#: command-list.h:164
-msgid "Push objects over Git protocol to another repository"
-msgstr ""
-
-#: command-list.h:165
-msgid "Git's i18n setup code for shell scripts"
-msgstr ""
-
-#: command-list.h:166
-msgid "Common Git shell script setup code"
-msgstr ""
-
-#: command-list.h:167
-msgid "Restricted login shell for Git-only SSH access"
-msgstr ""
-
-#: command-list.h:168
-msgid "Summarize 'git log' output"
-msgstr ""
-
-#: command-list.h:169
-msgid "Show various types of objects"
-msgstr ""
-
-#: command-list.h:170
-msgid "Show branches and their commits"
-msgstr ""
-
-#: command-list.h:171
-msgid "Show packed archive index"
-msgstr ""
-
-#: command-list.h:172
-msgid "List references in a local repository"
-msgstr ""
-
-#: command-list.h:173
-msgid "Reduce your working tree to a subset of tracked files"
-msgstr ""
-
-#: command-list.h:174
-msgid "Add file contents to the staging area"
-msgstr ""
-
-#: command-list.h:175
-msgid "Stash the changes in a dirty working directory away"
-msgstr ""
-
-#: command-list.h:176
-msgid "Show the working tree status"
-msgstr ""
-
-#: command-list.h:177
-msgid "Remove unnecessary whitespace"
-msgstr ""
-
-#: command-list.h:178
-msgid "Initialize, update or inspect submodules"
-msgstr ""
-
-#: command-list.h:179
-msgid "Bidirectional operation between a Subversion repository and Git"
-msgstr ""
-
-#: command-list.h:180
-msgid "Switch branches"
-msgstr ""
-
-#: command-list.h:181
-msgid "Read, modify and delete symbolic refs"
-msgstr ""
-
-#: command-list.h:182
-msgid "Create, list, delete or verify a tag object signed with GPG"
-msgstr ""
-
-#: command-list.h:183
-msgid "Creates a temporary file with a blob's contents"
-msgstr ""
-
-#: command-list.h:184
-msgid "Unpack objects from a packed archive"
-msgstr ""
-
-#: command-list.h:185
-msgid "Register file contents in the working tree to the index"
-msgstr ""
-
-#: command-list.h:186
-msgid "Update the object name stored in a ref safely"
-msgstr ""
-
-#: command-list.h:187
-msgid "Update auxiliary info file to help dumb servers"
-msgstr ""
-
-#: command-list.h:188
-msgid "Send archive back to git-archive"
-msgstr ""
-
-#: command-list.h:189
-msgid "Send objects packed back to git-fetch-pack"
-msgstr ""
-
-#: command-list.h:190
-msgid "Show a Git logical variable"
-msgstr ""
-
-#: command-list.h:191
-msgid "Check the GPG signature of commits"
-msgstr ""
-
-#: command-list.h:192
-msgid "Validate packed Git archive files"
-msgstr ""
-
-#: command-list.h:193
-msgid "Check the GPG signature of tags"
-msgstr ""
-
-#: command-list.h:194
-msgid "Show logs with difference each commit introduces"
-msgstr ""
-
-#: command-list.h:195
-msgid "Manage multiple working trees"
-msgstr ""
-
-#: command-list.h:196
-msgid "Create a tree object from the current index"
-msgstr ""
-
-#: command-list.h:197
-msgid "Defining attributes per path"
-msgstr ""
-
-#: command-list.h:198
-msgid "Git command-line interface and conventions"
-msgstr ""
-
-#: command-list.h:199
-msgid "A Git core tutorial for developers"
-msgstr ""
-
-#: command-list.h:200
-msgid "Providing usernames and passwords to Git"
-msgstr ""
-
-#: command-list.h:201
-msgid "Git for CVS users"
-msgstr ""
-
-#: command-list.h:202
-msgid "Tweaking diff output"
-msgstr ""
-
-#: command-list.h:203
-msgid "A useful minimum set of commands for Everyday Git"
-msgstr ""
-
-#: command-list.h:204
-msgid "Frequently asked questions about using Git"
-msgstr ""
-
-#: command-list.h:205
-msgid "A Git Glossary"
-msgstr ""
-
-#: command-list.h:206
-msgid "Hooks used by Git"
-msgstr ""
-
-#: command-list.h:207
-msgid "Specifies intentionally untracked files to ignore"
-msgstr ""
-
-#: command-list.h:208
-msgid "The Git repository browser"
-msgstr ""
-
-#: command-list.h:209
-msgid "Map author/committer names and/or E-Mail addresses"
-msgstr ""
-
-#: command-list.h:210
-msgid "Defining submodule properties"
-msgstr ""
-
-#: command-list.h:211
-msgid "Git namespaces"
-msgstr ""
-
-#: command-list.h:212
-msgid "Helper programs to interact with remote repositories"
-msgstr ""
-
-#: command-list.h:213
-msgid "Git Repository Layout"
-msgstr ""
-
-#: command-list.h:214
-msgid "Specifying revisions and ranges for Git"
-msgstr ""
-
-#: command-list.h:215
-msgid "Mounting one repository inside another"
-msgstr ""
-
-#: command-list.h:216
-msgid "A tutorial introduction to Git"
-msgstr ""
-
-#: command-list.h:217
-msgid "A tutorial introduction to Git: part two"
-msgstr ""
-
-#: command-list.h:218
-msgid "Git web interface (web frontend to Git repositories)"
-msgstr ""
-
-#: command-list.h:219
-msgid "An overview of recommended workflows with Git"
-msgstr ""
-
-#: git-merge-octopus.sh:46
-msgid ""
-"Error: Your local changes to the following files would be overwritten by "
-"merge"
-msgstr ""
-
-#: git-merge-octopus.sh:61
-msgid "Automated merge did not work."
-msgstr ""
-
-#: git-merge-octopus.sh:62
-msgid "Should not be doing an octopus."
-msgstr ""
-
-#: git-merge-octopus.sh:73
-#, sh-format
-msgid "Unable to find common commit with $pretty_name"
-msgstr ""
-
-#: git-merge-octopus.sh:77
-#, sh-format
-msgid "Already up to date with $pretty_name"
-msgstr ""
-
-#: git-merge-octopus.sh:89
-#, sh-format
-msgid "Fast-forwarding to: $pretty_name"
-msgstr ""
-
-#: git-merge-octopus.sh:97
-#, sh-format
-msgid "Trying simple merge with $pretty_name"
-msgstr ""
-
-#: git-merge-octopus.sh:102
-msgid "Simple merge did not work, trying automatic merge."
-msgstr ""
-
-#: git-sh-setup.sh:89 git-sh-setup.sh:94
-#, sh-format
-msgid "usage: $dashless $USAGE"
-msgstr ""
-
-#: git-sh-setup.sh:182
-#, sh-format
-msgid "Cannot chdir to $cdup, the toplevel of the working tree"
-msgstr ""
-
-#: git-sh-setup.sh:191 git-sh-setup.sh:198
-#, sh-format
-msgid "fatal: $program_name cannot be used without a working tree."
-msgstr ""
-
-#: git-sh-setup.sh:212
-msgid "Cannot rewrite branches: You have unstaged changes."
-msgstr ""
-
-#: git-sh-setup.sh:215
-#, sh-format
-msgid "Cannot $action: You have unstaged changes."
-msgstr ""
-
-#: git-sh-setup.sh:226
-#, sh-format
-msgid "Cannot $action: Your index contains uncommitted changes."
-msgstr ""
-
-#: git-sh-setup.sh:228
-msgid "Additionally, your index contains uncommitted changes."
-msgstr ""
-
-#: git-sh-setup.sh:348
-msgid "You need to run this command from the toplevel of the working tree."
-msgstr ""
-
-#: git-sh-setup.sh:353
-msgid "Unable to determine absolute path of git directory"
-msgstr ""
-
-#. TRANSLATORS: you can adjust this to align "git add -i" status menu
-#: git-add--interactive.perl:212
-#, perl-format
-msgid "%12s %12s %s"
-msgstr ""
-
-#: git-add--interactive.perl:632
-#, perl-format
-msgid "touched %d path\n"
-msgid_plural "touched %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: git-add--interactive.perl:1056
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for staging."
-msgstr ""
-
-#: git-add--interactive.perl:1059
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for stashing."
-msgstr ""
-
-#: git-add--interactive.perl:1062
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for unstaging."
-msgstr ""
-
-#: git-add--interactive.perl:1065 git-add--interactive.perl:1074
-#: git-add--interactive.perl:1080
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for applying."
-msgstr ""
-
-#: git-add--interactive.perl:1068 git-add--interactive.perl:1071
-#: git-add--interactive.perl:1077
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for discarding."
-msgstr ""
-
-#: git-add--interactive.perl:1114
-#, perl-format
-msgid "failed to open hunk edit file for writing: %s"
-msgstr ""
-
-#: git-add--interactive.perl:1121
-#, perl-format
-msgid ""
-"---\n"
-"To remove '%s' lines, make them ' ' lines (context).\n"
-"To remove '%s' lines, delete them.\n"
-"Lines starting with %s will be removed.\n"
-msgstr ""
-
-#: git-add--interactive.perl:1143
-#, perl-format
-msgid "failed to open hunk edit file for reading: %s"
-msgstr ""
-
-#: git-add--interactive.perl:1253
-msgid ""
-"y - stage this hunk\n"
-"n - do not stage this hunk\n"
-"q - quit; do not stage this hunk or any of the remaining ones\n"
-"a - stage this hunk and all later hunks in the file\n"
-"d - do not stage this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1259
-msgid ""
-"y - stash this hunk\n"
-"n - do not stash this hunk\n"
-"q - quit; do not stash this hunk or any of the remaining ones\n"
-"a - stash this hunk and all later hunks in the file\n"
-"d - do not stash this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1265
-msgid ""
-"y - unstage this hunk\n"
-"n - do not unstage this hunk\n"
-"q - quit; do not unstage this hunk or any of the remaining ones\n"
-"a - unstage this hunk and all later hunks in the file\n"
-"d - do not unstage this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1271
-msgid ""
-"y - apply this hunk to index\n"
-"n - do not apply this hunk to index\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1277 git-add--interactive.perl:1295
-msgid ""
-"y - discard this hunk from worktree\n"
-"n - do not discard this hunk from worktree\n"
-"q - quit; do not discard this hunk or any of the remaining ones\n"
-"a - discard this hunk and all later hunks in the file\n"
-"d - do not discard this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1283
-msgid ""
-"y - discard this hunk from index and worktree\n"
-"n - do not discard this hunk from index and worktree\n"
-"q - quit; do not discard this hunk or any of the remaining ones\n"
-"a - discard this hunk and all later hunks in the file\n"
-"d - do not discard this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1289
-msgid ""
-"y - apply this hunk to index and worktree\n"
-"n - do not apply this hunk to index and worktree\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1301
-msgid ""
-"y - apply this hunk to worktree\n"
-"n - do not apply this hunk to worktree\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1316
-msgid ""
-"g - select a hunk to go to\n"
-"/ - search for a hunk matching the given regex\n"
-"j - leave this hunk undecided, see next undecided hunk\n"
-"J - leave this hunk undecided, see next hunk\n"
-"k - leave this hunk undecided, see previous undecided hunk\n"
-"K - leave this hunk undecided, see previous hunk\n"
-"s - split the current hunk into smaller hunks\n"
-"e - manually edit the current hunk\n"
-"? - print help\n"
-msgstr ""
-
-#: git-add--interactive.perl:1347
-msgid "The selected hunks do not apply to the index!\n"
-msgstr ""
-
-#: git-add--interactive.perl:1362
-#, perl-format
-msgid "ignoring unmerged: %s\n"
-msgstr ""
-
-#: git-add--interactive.perl:1481
-#, perl-format
-msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: git-add--interactive.perl:1482
-#, perl-format
-msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: git-add--interactive.perl:1483
-#, perl-format
-msgid "Apply addition to worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: git-add--interactive.perl:1484
-#, perl-format
-msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: git-add--interactive.perl:1601
-msgid "No other hunks to goto\n"
-msgstr ""
-
-#: git-add--interactive.perl:1619
-#, perl-format
-msgid "Invalid number: '%s'\n"
-msgstr ""
-
-#: git-add--interactive.perl:1624
-#, perl-format
-msgid "Sorry, only %d hunk available.\n"
-msgid_plural "Sorry, only %d hunks available.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: git-add--interactive.perl:1659
-msgid "No other hunks to search\n"
-msgstr ""
-
-#: git-add--interactive.perl:1676
-#, perl-format
-msgid "Malformed search regexp %s: %s\n"
-msgstr ""
-
-#: git-add--interactive.perl:1686
-msgid "No hunk matches the given pattern\n"
-msgstr ""
-
-#: git-add--interactive.perl:1698 git-add--interactive.perl:1720
-msgid "No previous hunk\n"
-msgstr ""
-
-#: git-add--interactive.perl:1707 git-add--interactive.perl:1726
-msgid "No next hunk\n"
-msgstr ""
-
-#: git-add--interactive.perl:1732
-msgid "Sorry, cannot split this hunk\n"
-msgstr ""
-
-#: git-add--interactive.perl:1738
-#, perl-format
-msgid "Split into %d hunk.\n"
-msgid_plural "Split into %d hunks.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: git-add--interactive.perl:1748
-msgid "Sorry, cannot edit this hunk\n"
-msgstr ""
-
-#. TRANSLATORS: please do not translate the command names
-#. 'status', 'update', 'revert', etc.
-#: git-add--interactive.perl:1813
-msgid ""
-"status        - show paths with changes\n"
-"update        - add working tree state to the staged set of changes\n"
-"revert        - revert staged set of changes back to the HEAD version\n"
-"patch         - pick hunks and update selectively\n"
-"diff          - view diff between HEAD and index\n"
-"add untracked - add contents of untracked files to the staged set of "
-"changes\n"
-msgstr ""
-
-#: git-add--interactive.perl:1830 git-add--interactive.perl:1842
-#: git-add--interactive.perl:1845 git-add--interactive.perl:1852
-#: git-add--interactive.perl:1855 git-add--interactive.perl:1862
-#: git-add--interactive.perl:1866 git-add--interactive.perl:1872
-msgid "missing --"
-msgstr ""
-
-#: git-add--interactive.perl:1868
-#, perl-format
-msgid "unknown --patch mode: %s"
-msgstr ""
-
-#: git-add--interactive.perl:1874 git-add--interactive.perl:1880
-#, perl-format
-msgid "invalid argument %s, expecting --"
-msgstr ""
-
-#: git-send-email.perl:159
-msgid "local zone differs from GMT by a non-minute interval\n"
-msgstr ""
-
-#: git-send-email.perl:166 git-send-email.perl:172
-msgid "local time offset greater than or equal to 24 hours\n"
-msgstr ""
-
-#: git-send-email.perl:244
-#, perl-format
-msgid "fatal: command '%s' died with exit code %d"
-msgstr ""
-
-#: git-send-email.perl:257
-msgid "the editor exited uncleanly, aborting everything"
-msgstr ""
-
-#: git-send-email.perl:346
-#, perl-format
-msgid ""
-"'%s' contains an intermediate version of the email you were composing.\n"
-msgstr ""
-
-#: git-send-email.perl:351
-#, perl-format
-msgid "'%s.final' contains the composed email.\n"
-msgstr ""
-
-#: git-send-email.perl:484
-msgid "--dump-aliases incompatible with other options\n"
-msgstr ""
-
-#: git-send-email.perl:561
-msgid ""
-"fatal: found configuration options for 'sendmail'\n"
-"git-send-email is configured with the sendemail.* options - note the 'e'.\n"
-"Set sendemail.forbidSendmailVariables to false to disable this check.\n"
-msgstr ""
-
-#: git-send-email.perl:566 git-send-email.perl:782
-msgid "Cannot run git format-patch from outside a repository\n"
-msgstr ""
-
-#: git-send-email.perl:569
-msgid ""
-"`batch-size` and `relogin` must be specified together (via command-line or "
-"configuration option)\n"
-msgstr ""
-
-#: git-send-email.perl:582
-#, perl-format
-msgid "Unknown --suppress-cc field: '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:613
-#, perl-format
-msgid "Unknown --confirm setting: '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:653
-#, perl-format
-msgid "warning: sendmail alias with quotes is not supported: %s\n"
-msgstr ""
-
-#: git-send-email.perl:655
-#, perl-format
-msgid "warning: `:include:` not supported: %s\n"
-msgstr ""
-
-#: git-send-email.perl:657
-#, perl-format
-msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
-msgstr ""
-
-#: git-send-email.perl:662
-#, perl-format
-msgid "warning: sendmail line is not recognized: %s\n"
-msgstr ""
-
-#: git-send-email.perl:747
-#, perl-format
-msgid ""
-"File '%s' exists but it could also be the range of commits\n"
-"to produce patches for.  Please disambiguate by...\n"
-"\n"
-"    * Saying \"./%s\" if you mean a file; or\n"
-"    * Giving --format-patch option if you mean a range.\n"
-msgstr ""
-
-#: git-send-email.perl:768
-#, perl-format
-msgid "Failed to opendir %s: %s"
-msgstr ""
-
-#: git-send-email.perl:803
-msgid ""
-"\n"
-"No patch files specified!\n"
-"\n"
-msgstr ""
-
-#: git-send-email.perl:816
-#, perl-format
-msgid "No subject line in %s?"
-msgstr ""
-
-#: git-send-email.perl:827
-#, perl-format
-msgid "Failed to open for writing %s: %s"
-msgstr ""
-
-#: git-send-email.perl:838
-msgid ""
-"Lines beginning in \"GIT:\" will be removed.\n"
-"Consider including an overall diffstat or table of contents\n"
-"for the patch you are writing.\n"
-"\n"
-"Clear the body content if you don't wish to send a summary.\n"
-msgstr ""
-
-#: git-send-email.perl:862
-#, perl-format
-msgid "Failed to open %s: %s"
-msgstr ""
-
-#: git-send-email.perl:879
-#, perl-format
-msgid "Failed to open %s.final: %s"
-msgstr ""
-
-#: git-send-email.perl:922
-msgid "Summary email is empty, skipping it\n"
-msgstr ""
-
-#. TRANSLATORS: please keep [y/N] as is.
-#: git-send-email.perl:971
-#, perl-format
-msgid "Are you sure you want to use <%s> [y/N]? "
-msgstr ""
-
-#: git-send-email.perl:1026
-msgid ""
-"The following files are 8bit, but do not declare a Content-Transfer-"
-"Encoding.\n"
-msgstr ""
-
-#: git-send-email.perl:1031
-msgid "Which 8bit encoding should I declare [UTF-8]? "
-msgstr ""
-
-#: git-send-email.perl:1039
-#, perl-format
-msgid ""
-"Refusing to send because the patch\n"
-"\t%s\n"
-"has the template subject '*** SUBJECT HERE ***'. Pass --force if you really "
-"want to send.\n"
-msgstr ""
-
-#: git-send-email.perl:1058
-msgid "To whom should the emails be sent (if anyone)?"
-msgstr ""
-
-#: git-send-email.perl:1076
-#, perl-format
-msgid "fatal: alias '%s' expands to itself\n"
-msgstr ""
-
-#: git-send-email.perl:1088
-msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
-msgstr ""
-
-#: git-send-email.perl:1150 git-send-email.perl:1158
-#, perl-format
-msgid "error: unable to extract a valid address from: %s\n"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [q] [d] [e] in your
-#. translation. The program will only accept English input
-#. at this point.
-#: git-send-email.perl:1162
-msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
-msgstr ""
-
-#: git-send-email.perl:1482
-#, perl-format
-msgid "CA path \"%s\" does not exist"
-msgstr ""
-
-#: git-send-email.perl:1565
-msgid ""
-"    The Cc list above has been expanded by additional\n"
-"    addresses found in the patch commit message. By default\n"
-"    send-email prompts before sending whenever this occurs.\n"
-"    This behavior is controlled by the sendemail.confirm\n"
-"    configuration setting.\n"
-"\n"
-"    For additional information, run 'git send-email --help'.\n"
-"    To retain the current behavior, but squelch this message,\n"
-"    run 'git config --global sendemail.confirm auto'.\n"
-"\n"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your
-#. translation. The program will only accept English input
-#. at this point.
-#: git-send-email.perl:1580
-msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
-msgstr ""
-
-#: git-send-email.perl:1583
-msgid "Send this email reply required"
-msgstr ""
-
-#: git-send-email.perl:1617
-msgid "The required SMTP server is not properly defined."
-msgstr ""
-
-#: git-send-email.perl:1664
-#, perl-format
-msgid "Server does not support STARTTLS! %s"
-msgstr ""
-
-#: git-send-email.perl:1669 git-send-email.perl:1673
-#, perl-format
-msgid "STARTTLS failed! %s"
-msgstr ""
-
-#: git-send-email.perl:1682
-msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
-msgstr ""
-
-#: git-send-email.perl:1700
-#, perl-format
-msgid "Failed to send %s\n"
-msgstr ""
-
-#: git-send-email.perl:1703
-#, perl-format
-msgid "Dry-Sent %s\n"
-msgstr ""
-
-#: git-send-email.perl:1703
-#, perl-format
-msgid "Sent %s\n"
-msgstr ""
-
-#: git-send-email.perl:1705
-msgid "Dry-OK. Log says:\n"
-msgstr ""
-
-#: git-send-email.perl:1705
-msgid "OK. Log says:\n"
-msgstr ""
-
-#: git-send-email.perl:1724
-msgid "Result: "
-msgstr ""
-
-#: git-send-email.perl:1727
-msgid "Result: OK\n"
-msgstr ""
-
-#: git-send-email.perl:1744
-#, perl-format
-msgid "can't open file %s"
-msgstr ""
-
-#: git-send-email.perl:1792 git-send-email.perl:1812
-#, perl-format
-msgid "(mbox) Adding cc: %s from line '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:1798
-#, perl-format
-msgid "(mbox) Adding to: %s from line '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:1855
-#, perl-format
-msgid "(non-mbox) Adding cc: %s from line '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:1890
-#, perl-format
-msgid "(body) Adding cc: %s from line '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:2009
-#, perl-format
-msgid "(%s) Could not execute '%s'"
-msgstr ""
-
-#: git-send-email.perl:2016
-#, perl-format
-msgid "(%s) Adding %s: %s from: '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:2020
-#, perl-format
-msgid "(%s) failed to close pipe to '%s'"
-msgstr ""
-
-#: git-send-email.perl:2050
-msgid "cannot send message as 7bit"
-msgstr ""
-
-#: git-send-email.perl:2058
-msgid "invalid transfer encoding"
-msgstr ""
-
-#: git-send-email.perl:2100
-#, perl-format
-msgid ""
-"fatal: %s: rejected by %s hook\n"
-"%s\n"
-"warning: no patches were sent\n"
-msgstr ""
-
-#: git-send-email.perl:2110 git-send-email.perl:2163 git-send-email.perl:2173
-#, perl-format
-msgid "unable to open %s: %s\n"
-msgstr ""
-
-#: git-send-email.perl:2113
-#, perl-format
-msgid ""
-"fatal: %s:%d is longer than 998 characters\n"
-"warning: no patches were sent\n"
-msgstr ""
-
-#: git-send-email.perl:2131
-#, perl-format
-msgid "Skipping %s with backup suffix '%s'.\n"
-msgstr ""
-
-#. TRANSLATORS: please keep "[y|N]" as is.
-#: git-send-email.perl:2135
-#, perl-format
-msgid "Do you really want to send %s? [y|N]: "
-msgstr ""
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v3 6/9] po/git.pot: don't check in result of "make pot"
  2022-05-19  8:15 ` [PATCH v2 " Jiang Xin
                     ` (6 preceding siblings ...)
  2022-05-23  1:25   ` [PATCH v3 5/9] po/git.pot: this is now a generated file Jiang Xin
@ 2022-05-23  1:25   ` Jiang Xin
  2022-05-23  7:26     ` Ævar Arnfjörð Bjarmason
  2022-05-23  1:25   ` [PATCH v3 7/9] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
                     ` (2 subsequent siblings)
  10 siblings, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-23  1:25 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin, Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Remove the "po/git.pot" file from being tracked, which started with
dce37b66fb0 (l10n: initial git.pot for 1.7.10 upcoming release,
2012-02-13).

The reason the po/git.pot started being checked in was because the
po/*.po files were changed a schema where we'd generate them from a
known-good snapshot of po/git.pot, instead of each translator running
"make pot" themselves.

This makes sense, but we don't need to carry this file in-tree just to
achieve that aim, and doing so has resulted in a significant amount of
"diff churn" since this method of doing it was introduced:

    $ git log -p --oneline -- po/git.pot|wc -l
    553743

We can instead let l10n contributors to generate "po/git.pot" in runtime
to update their own "po/XX.po", and the l10n coordinator can check
pull requests using CI pipeline.

This reverts to the schema introduced initially in cd5513a7168 (i18n:
Makefile: "pot" target to extract messages marked for translation,
2011-02-22).

The actual "git rm" of po/git.pot was in preceding commit to make this
change easier to review, and to preempt the mailing list from blocking
it due to it being too large.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Makefile      | 5 +++--
 po/.gitignore | 1 +
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 70d5f41c3f..3122672263 100644
--- a/Makefile
+++ b/Makefile
@@ -2788,8 +2788,8 @@ endef
 	$(call mkdir_p_parent_template)
 	$(QUIET_GEN)$(gen_pot_header)
 
-po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO) FORCE
-	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $(filter-out FORCE,$^) >$@
+po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
+	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
 
 .PHONY: pot
 pot: po/git.pot
@@ -3319,6 +3319,7 @@ dist-doc: git$X
 
 distclean: clean
 	$(RM) configure
+	$(RM) po/git.pot
 	$(RM) config.log config.status config.cache
 	$(RM) config.mak.autogen config.mak.append
 	$(RM) -r autom4te.cache
diff --git a/po/.gitignore b/po/.gitignore
index 796b96d1c4..37d1301b32 100644
--- a/po/.gitignore
+++ b/po/.gitignore
@@ -1 +1,2 @@
 /build
+/git.pot
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v3 7/9] Makefile: add "po-update" rule to update po/XX.po
  2022-05-19  8:15 ` [PATCH v2 " Jiang Xin
                     ` (7 preceding siblings ...)
  2022-05-23  1:25   ` [PATCH v3 6/9] po/git.pot: don't check in result of "make pot" Jiang Xin
@ 2022-05-23  1:25   ` Jiang Xin
  2022-05-23  1:25   ` [PATCH v3 8/9] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
  2022-05-23  1:25   ` [PATCH v3 9/9] l10n: Document the new l10n workflow Jiang Xin
  10 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23  1:25 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

Since there is no longer a "po/git.pot" file in tree, a l10n team leader
has to run several commands to update their "po/XX.po" file:

    $ make pot
    $ msgmerge --add-location --backup=off -U po/XX.po po/git.pot

To make this process easier, add a new rule so that l10n team leaders
can update their "po/XX.po" with one command. E.g.:

    $ make po-update PO_FILE=po/zh_CN.po

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Makefile   | 18 ++++++++++++++++++
 shared.mak |  1 +
 2 files changed, 19 insertions(+)

diff --git a/Makefile b/Makefile
index 3122672263..09cbde4c2a 100644
--- a/Makefile
+++ b/Makefile
@@ -571,6 +571,7 @@ TCLTK_PATH = wish
 XGETTEXT = xgettext
 MSGCAT = msgcat
 MSGFMT = msgfmt
+MSGMERGE = msgmerge
 CURL_CONFIG = curl-config
 GCOV = gcov
 STRIP = strip
@@ -2716,6 +2717,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
 XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
 MSGCAT_FLAGS = --sort-by-file
+MSGMERGE_FLAGS = --add-location --backup=off --update
 LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
 	      $(GENERATED_H)
 LOCALIZED_SH = $(SCRIPT_SH)
@@ -2794,6 +2796,22 @@ po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
 .PHONY: pot
 pot: po/git.pot
 
+define check_po_file_envvar
+	$(if $(PO_FILE), \
+		$(if $(filter po/%.po,$(PO_FILE)), , \
+			$(error PO_FILE should match pattern: "po/%.po")), \
+		$(error PO_FILE is not defined))
+endef
+
+.PHONY: po-update
+po-update: po/git.pot
+	$(check_po_file_envvar)
+	@if test ! -e $(PO_FILE); then \
+		echo >&2 "error: $(PO_FILE) does not exist"; \
+		exit 1; \
+	fi
+	$(QUIET_MSGMERGE)$(MSGMERGE) $(MSGMERGE_FLAGS) $(PO_FILE) po/git.pot
+
 .PHONY: check-pot
 check-pot: $(LOCALIZED_ALL_GEN_PO)
 
diff --git a/shared.mak b/shared.mak
index 50d4596f0d..8cd170a7e7 100644
--- a/shared.mak
+++ b/shared.mak
@@ -63,6 +63,7 @@ ifndef V
 	QUIET_LNCP     = @echo '   ' LN/CP $@;
 	QUIET_XGETTEXT = @echo '   ' XGETTEXT $@;
 	QUIET_MSGFMT   = @echo '   ' MSGFMT $@;
+	QUIET_MSGMERGE = @echo '   ' MSGMERGE $@;
 	QUIET_GCOV     = @echo '   ' GCOV $@;
 	QUIET_SP       = @echo '   ' SP $<;
 	QUIET_HDR      = @echo '   ' HDR $(<:hcc=h);
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v3 8/9] Makefile: add "po-init" rule to initialize po/XX.po
  2022-05-19  8:15 ` [PATCH v2 " Jiang Xin
                     ` (8 preceding siblings ...)
  2022-05-23  1:25   ` [PATCH v3 7/9] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
@ 2022-05-23  1:25   ` Jiang Xin
  2022-05-23  1:25   ` [PATCH v3 9/9] l10n: Document the new l10n workflow Jiang Xin
  10 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23  1:25 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin, Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

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 rule
"core-pot" to create this core translation message "po/git-core.pot":

    make 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: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Makefile      | 41 +++++++++++++++++++++++++++++++++++++++++
 po/.gitignore |  1 +
 shared.mak    |  1 +
 3 files changed, 43 insertions(+)

diff --git a/Makefile b/Makefile
index 09cbde4c2a..d3eae150de 100644
--- a/Makefile
+++ b/Makefile
@@ -2808,6 +2808,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
@@ -2815,6 +2816,46 @@ 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)
+
+.PHONY: core-pot
+core-pot: po/git-core.pot
+
+.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) $(MSGCAT_FLAGS) $^ >$@
+
+.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 :=
diff --git a/po/.gitignore b/po/.gitignore
index 37d1301b32..ff0e5176a6 100644
--- a/po/.gitignore
+++ b/po/.gitignore
@@ -1,2 +1,3 @@
 /build
 /git.pot
+/git-core.pot
diff --git a/shared.mak b/shared.mak
index 8cd170a7e7..4330192e9c 100644
--- a/shared.mak
+++ b/shared.mak
@@ -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 $@;
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v3 9/9] l10n: Document the new l10n workflow
  2022-05-19  8:15 ` [PATCH v2 " Jiang Xin
                     ` (9 preceding siblings ...)
  2022-05-23  1:25   ` [PATCH v3 8/9] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
@ 2022-05-23  1:25   ` Jiang Xin
  10 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23  1:25 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin, Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Change the "flow" of how translators interact with the l10n repository
at [1] to adjust it for a new workflow of not having a po/git.pot file
in-tree at all, and to not commit line numbers to the po/*.po files
that we do track in tree.

The current workflow was added in a combination of dce37b66fb0 (l10n:
initial git.pot for 1.7.10 upcoming release, 2012-02-13) and
271ce198cd0 (Update l10n guide, 2012-02-29).

As noted in preceding commits I think that it came about due to
technical debt I'd left behind in how the "po/git.pot" file was
created, and a mis-impression that the file:line comments were needed
as anything more than a transitory translation aid.

As the updated po/README.md shows the new workflow is substantially
the same, the difference is that translators no longer need to
initially pull from the l10n coordinator for a new po/git.pot, they
can simply use git.git's canonical source repository.

The l10n coordinator is still expected to announce a release to
translate, which presumably would always be Junio's latest release
tag. I'm not certain if this part of the process is actually
important. I.e. the delta translation-wise between that tag and
"master" is usually pretty small, so perhaps translators can just work
on "master" instead.

1. https://github.com/git-l10n/git-po/

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 po/README.md | 230 ++++++++++++++++++++++++++-------------------------
 1 file changed, 117 insertions(+), 113 deletions(-)

diff --git a/po/README.md b/po/README.md
index 19fabb4acf..74856ca5bf 100644
--- a/po/README.md
+++ b/po/README.md
@@ -9,8 +9,14 @@ coordinates our localization effort in the l10 coordinator repository:
 
     https://github.com/git-l10n/git-po/
 
-The two character language translation codes are defined by ISO\_639-1, as
-stated in the gettext(1) full manual, appendix A.1, Usual Language Codes.
+We will use XX as an alias to refer to the language translation code in
+the following paragraphs, for example we use "po/XX.po" to refer to the
+translation file for a specific language. But this doesn't mean that
+the language code has only two letters. The language code can be in one
+of two forms: "ll" or "ll\_CC". Here "ll" is the ISO 639 two-letter
+language code and "CC" is the ISO 3166 two-letter code for country names
+and subdivisions. For example: "de" for German language code, "zh\_CN"
+for Simplified Chinese language code.
 
 
 ## Contributing to an existing translation
@@ -39,72 +45,74 @@ language, so that the l10n coordinator only needs to interact with one
 person per language.
 
 
-## Core translation
+## Translation Process Flow
 
-The core translation is the smallest set of work that must be completed
-for a new language translation. Because there are more than 5000 messages
-in the template message file "po/git.pot" that need to be translated,
-this is not a piece of cake for the contributor for a new language.
+The overall data-flow looks like this:
 
-The core template message file which contains a small set of messages
-will be generated in "po-core/core.pot" automatically by running a helper
-program named "git-po-helper" (described later).
+    +-------------------+             +------------------+
+    | Git source code   | ----(2)---> | L10n coordinator |
+    | repository        | <---(5)---- | repository       |
+    +-------------------+             +------------------+
+                    |                     |    ^
+                   (1)                   (3)  (4)
+                    V                     v    |
+               +----------------------------------+
+               |        Language Team XX          |
+               +----------------------------------+
 
-```shell
-git-po-helper init --core XX.po
-```
+- Translatable strings are marked in the source file.
+- Language teams can start translation iterations at any time, even
+  before the l10n window opens:
 
-After translating the generated "po-core/XX.po", you can merge it to
-"po/XX.po" using the following commands:
+  + Pull from the master branch of the source (1)
+  + Update the message file by running "make po-update PO\_FILE=po/XX.po"
+  + Translate the message file "po/XX.po"
 
-```shell
-msgcat po-core/XX.po po/XX.po -s -o /tmp/XX.po
-mv /tmp/XX.po po/XX.po
-git-po-helper update XX.po
-```
+- The L10n coordinator pulls from source and announces the l10n window
+  open (2)
+- Language team pulls from the l10n coordinator, starts another
+  translation iteration against the l10n coordinator's tree (3)
 
-Edit "po/XX.po" by hand to fix "fuzzy" messages, which may have misplaced
-translated messages and duplicate messages.
+  + Run "git pull --rebase" from the l10n coordinator
+  + Update the message file by running "make po-update PO\_FILE=po/XX.po"
+  + Translate the message file "po/XX.po"
+  + Squash trivial l10n git commits using "git rebase -i"
 
+- Language team sends pull request to the l10n coordinator (4)
+- L10n coordinator checks and merges
+- L10n coordinator asks the result to be pulled (5).
 
-## Translation Process Flow
 
-The overall data-flow looks like this:
+## Dynamically generated POT files
 
-    +-------------------+            +------------------+
-    | Git source code   | ---(1)---> | L10n coordinator |
-    | repository        | <---(4)--- | repository       |
-    +-------------------+            +------------------+
-                                          |      ^
-                                         (2)    (3)
-                                          V      |
-                                     +------------------+
-                                     | Language Team XX |
-                                     +------------------+
+POT files are templates for l10n contributors to create or update their
+translation files. We used to have the "po/git.pot" file which was
+generated by the l10n coordinator, but this file had been removed from
+the tree.
 
-- Translatable strings are marked in the source file.
-- L10n coordinator pulls from the source (1)
-- L10n coordinator updates the message template "po/git.pot"
-- Language team pulls from L10n coordinator (2)
-- Language team updates the message file "po/XX.po"
-- L10n coordinator pulls from Language team (3)
-- L10n coordinator asks the result to be pulled (4).
+The two POT files "po/git.pot" and "po/git-core.pot" can be created
+dynamically when necessary.
 
+L10n contributors use "po/git.pot" to prepare translations for their
+languages, but they are not expected to modify it. The "po/git.pot" file
+can be generated manually with the following command:
 
-## Maintaining the "po/git.pot" file
+```shell
+make po/git.pot
+```
 
-(This is done by the l10n coordinator).
+The "po/git-core.pot" file is the template for core translations. A core
+translation is the minimum set of work necessary to complete a
+translation of a new language. Since there are more than 5000 messages
+in the full set of template message file "po/git.pot" that need to be
+translated, this is not a piece of cake for new language contributors.
 
-The "po/git.pot" file contains a message catalog extracted from Git's
-sources. The l10n coordinator maintains it by adding new translations with
-msginit(1), or update existing ones with msgmerge(1).  In order to update
-the Git sources to extract the messages from, the l10n coordinator is
-expected to pull from the main git repository at strategic point in
-history (e.g. when a major release and release candidates are tagged),
-and then run "make pot" at the top-level directory.
+The "core" template file "po/git-core.pot" can be generated manually
+by running:
 
-Language contributors use this file to prepare translations for their
-language, but they are not expected to modify it.
+```shell
+make po/git-core.pot
+```
 
 
 ## Initializing a "XX.po" file
@@ -115,32 +123,14 @@ If your language XX does not have translated message file "po/XX.po" yet,
 you add a translation for the first time by running:
 
 ```shell
-msginit --locale=XX
+make po-init PO_FILE=po/XX.po
 ```
 
-in the "po/" directory, where XX is the locale, e.g. "de", "is", "pt\_BR",
-"zh\_CN", etc.
-
-Then edit the automatically generated copyright info in your new "XX.po"
-to be correct, e.g. for Icelandic:
-
-```diff
-@@ -1,6 +1,6 @@
--# Icelandic translations for PACKAGE package.
--# Copyright (C) 2010 THE PACKAGE'S COPYRIGHT HOLDER
--# This file is distributed under the same license as the PACKAGE package.
-+# Icelandic translations for Git.
-+# Copyright (C) 2010 Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-+# This file is distributed under the same license as the Git package.
- # Ævar Arnfjörð Bjarmason <avarab@gmail.com>, 2010.
-```
-
-And change references to PACKAGE VERSION in the PO Header Entry to
-just "Git":
+where XX is the locale, e.g. "de", "is", "pt\_BR", "zh\_CN", etc.
 
-```shell
-perl -pi -e 's/(?<="Project-Id-Version: )PACKAGE VERSION/Git/' XX.po
-```
+The newly generated message file "po/XX.po" is based on the core pot
+file "po/git-core.pot", so it contains only a minimal set of messages
+and it's a good start for a new language contribution.
 
 Once you are done testing the translation (see below), commit the result
 and ask the l10n coordinator to pull from you.
@@ -153,19 +143,53 @@ and ask the l10n coordinator to pull from you.
 If you are replacing translation strings in an existing "XX.po" file to
 improve the translation, just edit the file.
 
-If there's an existing "XX.po" file for your language, but the repository
-of the l10n coordinator has newer "po/git.pot" file, you would need to first
-pull from the l10n coordinator (see the beginning of this document for its
-URL), and then update the existing translation by running:
+If you want to find new translatable strings in source files of upstream
+repository and propagate them to your "po/XX.po", run command:
 
 ```shell
-msgmerge --add-location --backup=off -U XX.po git.pot
+make po-update PO_FILE=po/XX.po
 ```
 
-in the "po/" directory, where "XX.po" is the file you want to update.
+It will:
 
-Once you are done testing the translation (see below), commit the result
-and ask the l10n coordinator to pull from you.
+- Call "make po/git.pot" to generate new "po/git.pot" file
+- Call "msgmerge --add-location --backup=off -U po/XX.po po/git.pot"
+  to update your "po/XX.po"
+- The "--add-location" option for msgmerge will add location lines,
+  and these location lines will help translation tools to locate
+  translation context easily.
+
+Once you are done testing the translation (see below), it's better
+to commit a location-less "po/XX.po" file to save repository space
+and make a user-friendly patch for review.
+
+To save a location-less "po/XX.po" automatically in repository, you
+can:
+
+First define a new attribute for "po/XX.po" by appending the following
+line in ".git/info/attributes":
+
+```
+/po/XX.po filter=gettext-no-location
+```
+
+Then define the driver for the "gettext-no-location" clean filter to
+strip out both filenames and locations from the contents as follows:
+
+```shell
+git config --global filter.gettext-no-location.clean \
+           "msgcat --no-location -"
+```
+
+For users who have gettext version 0.20 or higher, it is also possible
+to define a clean filter to preserve filenames but not locations:
+
+```shell
+git config --global filter.gettext-no-location.clean \
+           "msgcat --add-location=file -"
+```
+
+You're now ready to ask the l10n coordinator to pull from you.
 
 
 ## Fuzzy translation
@@ -196,6 +220,14 @@ common errors, e.g. missing printf format strings, or translated
 messages that deviate from the originals in whether they begin/end
 with a newline or not.
 
+L10n coordinator will check your contributions using a helper program
+(see "PO helper" section below):
+
+```shell
+git-po-helper check-po po/XX.po
+git-po-helper check-commits <rev-list-opts>
+```
+
 
 ## Marking strings for translation
 
@@ -370,29 +402,6 @@ l10n workflow.
 To build and install the helper program from source, see
 [git-po-helper/README][].
 
-Usage for git-po-helper:
-
-- To start a new language translation:
-
-  ```shell
-  git-po-helper init XX.po
-  ```
-
-- To update your "XX.po" file:
-
-  ```shell
-  git-po-helper update XX.po
-  ```
-
-- To check commit log and syntax of "XX.po":
-
-  ```shell
-  git-po-helper check-po XX.po
-  git-po-helper check-commits
-  ```
-
-Run "git-po-helper" without arguments to show usage.
-
 
 ## Conventions
 
@@ -436,13 +445,8 @@ additional conventions:
 - Initialize proper filename of the "XX.po" file conforming to
   iso-639 and iso-3166.
 
-- Must complete a minimal translation based on the "po-core/core.pot"
-  template. Using the following command to initialize the minimal
-  "po-core/XX.po" file:
-
-  ```shell
-  git-po-helper init --core <your-language>
-  ```
+- Must complete a minimal translation based on the "Core
+  translation". See that section above.
 
 - Add a new entry in the "po/TEAMS" file with proper format, and check
   the syntax of "po/TEAMS" by running the following command:
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* Re: [PATCH v3 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-23  1:25   ` [PATCH v3 " Jiang Xin
@ 2022-05-23  7:15     ` Ævar Arnfjörð Bjarmason
  2022-05-23  8:12       ` Ævar Arnfjörð Bjarmason
  2022-05-23  8:26       ` Jiang Xin
  2022-05-23 15:21     ` [PATCH v4 " Jiang Xin
                       ` (9 subsequent siblings)
  10 siblings, 2 replies; 110+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-05-23  7:15 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Junio C Hamano, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan


On Mon, May 23 2022, Jiang Xin wrote:

> From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
>
> A workflow change for translators are being proposed.
>
> Changes since v2:
>
>  1. Patch 1/9: reword.
>  2. Patch 2/9: reword.
>  3. Patch 3/9: reword, and add "FORCE" to prerequisites of "po/git.pot".
>  4. Patch 6/9: remove "FORCE" from prerequisites of "po/git.pot".
>  5. Patch 8/9: reword, and reuse "$(gen_pot_header)" to prepare pot
>                header for "po/git-core.pot".
>  6. Patch 9/9: various updates on po/README.md.

From skimming this the *.c.po v.s. *.c extension is still left in
comments. I'm not saying you need to go for my suggestions, but it would
be very useful in CL's to note things that were suggested but not
changed, such as that.

Right now I haven't paged that v2 discussion into my brain again, so I
don't know if that was the only thing, it's the only thing I remember
right now...

But let's read on:

> Range-diff vs v2:
>
>  1:  c45f34f233 !  1:  362cd0cbe1 Makefile: sort "po/git.pot" by file location
>     @@ Metadata
>       ## Commit message ##
>          Makefile: sort "po/git.pot" by file location
>      
>     -    Before feeding xgettext with more C souce files which may be ignored
>     -    by various compiler conditions, add new option "--sort-by-file" to
>     -    xgettext program to create stable message template file "po/git.pot".
>     +    We will feed xgettext with more C souce files and in different order in
>     +    subsequent commit. To generate a stable "po/git.pot" regardless of the
>     +    number and order of input source files, we add a new option
>     +    "--sort-by-file" to xgettext program.
>      
>          With this update, the newly generated "po/git.pot" will has the same
>     -    entries while in a different order. We won't checkin the newly generated
>     -    "po/git.pot", because we will remove it from tree in a later commit.
>     +    entries while in a different order.
>     +
>     +    With the help of a custom diff driver as shown below,
>     +
>     +        git config --global diff.gettext-fmt.textconv \
>     +            "msgcat --no-location --sort-by-file"
>     +
>     +    and appending a new entry "*.po diff=gettext-fmt" to git attributes,
>     +    we can see that there are no substantial changes in "po/git.pot".
>     +
>     +    We won't checkin the newly generated "po/git.pot", because we will
>     +    remove it from tree in a later commit.


Does this actually work? This seems to suggest adding a driver for *.po,
but using it against the *.pot file. Isn't that a typo (I haven't tested
it)>

>          But it is much simpler to use variables "$(FOUND_C_SOURCES)" and
>     -    "$(FOUND_C_SOURCES)" to form a stable "LOCALIZED_C".
>     +    "$(FOUND_C_SOURCES)" to form a stable "LOCALIZED_C". We also add
>     +    "$(SCALAR_SOURCES)" files, which are part of C_OBJ but not included in
>     +    "$(FOUND_C_SOURCES)" because they are in the "contrib/" directory.

Thanks, good to note that.

[snipped the rest, will re-read individual commits]

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v3 6/9] po/git.pot: don't check in result of "make pot"
  2022-05-23  1:25   ` [PATCH v3 6/9] po/git.pot: don't check in result of "make pot" Jiang Xin
@ 2022-05-23  7:26     ` Ævar Arnfjörð Bjarmason
  2022-05-23  8:30       ` Jiang Xin
  0 siblings, 1 reply; 110+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-05-23  7:26 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Junio C Hamano, Git List, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan, Jiang Xin


On Mon, May 23 2022, Jiang Xin wrote:

>  .PHONY: pot
>  pot: po/git.pot
> @@ -3319,6 +3319,7 @@ dist-doc: git$X
>  
>  distclean: clean
>  	$(RM) configure
> +	$(RM) po/git.pot

I think I noted "why not add this to clean?" in an earlier round, but
didn't think it through.

On second thought we should do that, but the reason is that "distclean"
should only clean things that you get if you do "make dist".

I.e. we add "configure" to a generated tarball, but not po/git.pot, so
this should just be under regular "clean", not "distclean".

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v3 3/9] Makefile: have "make pot" not "reset --hard"
  2022-05-23  1:25   ` [PATCH v3 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
@ 2022-05-23  7:28     ` Ævar Arnfjörð Bjarmason
  2022-05-23 15:00       ` Jiang Xin
  2022-05-24  0:56       ` Jiang Xin
  2022-05-23  8:15     ` Junio C Hamano
  1 sibling, 2 replies; 110+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-05-23  7:28 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Junio C Hamano, Git List, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan, Jiang Xin


On Mon, May 23 2022, Jiang Xin wrote:

> From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
>
> Before commit fc0fd5b23b (Makefile: help gettext tools to cope with our
> custom PRItime format, 2017-07-20) we'd consider source files as-is
> with gettext, but because we need to understand PRItime in the same way
> that gettext itself understands PRIuMAX we'd first check if we had a
> clean checkout, then munge all of the processed files in-place with
> "sed", generate "po/git.pot", and then finally "reset --hard" to undo
> our changes.
>
> By generating "pot" snippets in ".build/pot/po" for each source file
> and rewriting certain source files with PRItime macros to temporary
> files in ".build/pot/po", we can avoid running "make pot" by altering
> files in place and doing a "reset --hard" afterwards.
>
> This speed of "make pot" is slower than before on an initial run,
> because we run "xgettext" many times (once per source file), but it
> can be boosted by parallelization. It is *much* faster for incremental
> runs, and will allow us to implement related targets in subsequent
> commits.
>
> When the "pot" target was originally added in cd5513a7168 (i18n:
> Makefile: "pot" target to extract messages marked for translation,
> 2011-02-22) it behaved like a "normal" target. I.e. we'd skip the
> re-generation of the po/git.pot if nothing had to be done.
>
> Then after po/git.pot was checked in in dce37b66fb0 (l10n: initial
> git.pot for 1.7.10 upcoming release, 2012-02-13) the target was broken
> until 1f31963e921 (i18n: treat "make pot" as an explicitly-invoked
> target, 2014-08-22) when it was made to depend on "FORCE". I.e. the
> Makefile's dependency resolution inherently can't handle incremental
> building when the target file may be updated by git (or something else
> external to "make"). But this case no longer applies, so FORCE is no
> longer needed.
>
> That out of the way, the main logic change here is getting rid of the
> "reset --hard":
>
> We'll generate intermediate ".build/pot/po/%.po" files from "%", which
> is handy to see at a glance what strings (if any) in a given file are
> marked for translation:
>
> 	$ make .build/pot/po/pretty.c.po
> 	[...]
> 	$ cat .build/pot/po/pretty.c.po
> 	#: pretty.c:1051
> 	msgid "unable to parse --pretty format"
> 	msgstr ""
> 	$
>
> For these C source files which contain the PRItime macros, we will
> create temporary munged "*.c" files in a tree in ".build/pot/po"
> corresponding to our source tree, and have "xgettext" consider those.
> The rule needs to be careful to "(cd .build/pot/po && ...)", because
> otherwise the comments in the po/git.pot file wouldn't refer to the
> correct source locations (they'd be prefixed with ".build/pot/po").
> These temporary munged "*.c” files will be removed immediately after
> the corresponding po files are generated, because some development tools
> cannot ignore the duplicate source files in the ".build" directory
> according to the ".gitignore" file, and that may cause trouble.
>
> The output of the generated po/git.pot file is changed in one minor
> way: Because we're using msgcat(1) instead of xgettext(1) to
> concatenate the output we'll now disambiguate where "TRANSLATORS"
> comments come from, in cases where a message is the same in N files,
> and either only one has a "TRANSLATORS" comment, or they're
> different. E.g. for the "Your edited hunk[...]" message we'll now
> apply this change (comment content elided):
>
> 	+#. #-#-#-#-#  add-patch.c.po  #-#-#-#-#
> 	 #. TRANSLATORS: do not translate [y/n]
> 	[...]
> 	+#. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#
> 	 #. TRANSLATORS: do not translate [y/n]
> 	[...]
> 	 #: add-patch.c:1253 git-add--interactive.perl:1244
> 	 msgid ""
> 	 "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
> 	 msgstr ""
>
> There are six such changes, and they all make the context more
> understandable, as msgcat(1) is better at handling these edge cases
> than xgettext(1)'s previously used "--join-existing" flag.
>
> But filenames in the above disambiguation lines of extracted-comments
> have an extra ".po" extension compared to the filenames at the file
> locations. While we could rename the intermediate ".build/pot/po/%.po"
> files without the ".po" extension to use more intuitive filenames in
> the disambiguation lines of extracted-comments, but that will confuse
> developer tools with lots of invalid C or other source files in
> ".build/pot/po" directory.
>
> The addition of "--omit-header" option for xgettext makes the "pot"
> snippets in ".build/pot/po/*.po" smaller. But as we'll see in a
> subsequent commit this header behavior has been hiding an
> encoding-related bug from us, so let's carry it forward instead of
> re-generating it with xgettext(1).
>
> The "po/git.pot" file should have a header entry, because a proper
> header entry will increase the speed of creating a new po file using
> msginit and set a proper "POT-Creation-Date:" field in the header
> entry of a "po/XX.po" file. We use xgettext to generate a separate
> header file at ".build/pot/git.header" from "/dev/null", and use this
> header to assemble "po/git.pot".
>
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
>  .gitignore |  1 +
>  Makefile   | 80 ++++++++++++++++++++++++++++++++++++++++--------------
>  2 files changed, 60 insertions(+), 21 deletions(-)
>
> diff --git a/.gitignore b/.gitignore
> index e81de1063a..a452215764 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -200,6 +200,7 @@
>  *.[aos]
>  *.o.json
>  *.py[co]
> +.build/
>  .depend/
>  *.gcda
>  *.gcno
> diff --git a/Makefile b/Makefile
> index 46914dcd80..1962999c18 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -569,6 +569,7 @@ INSTALL = install
>  TCL_PATH = tclsh
>  TCLTK_PATH = wish
>  XGETTEXT = xgettext
> +MSGCAT = msgcat
>  MSGFMT = msgfmt
>  CURL_CONFIG = curl-config
>  GCOV = gcov
> @@ -2706,6 +2707,7 @@ XGETTEXT_FLAGS = \
>  	--force-po \
>  	--add-comments=TRANSLATORS: \
>  	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
> +	--package-name=Git \
>  	--sort-by-file \
>  	--from-code=UTF-8
>  XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
> @@ -2714,6 +2716,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
>  	--keyword=gettextln --keyword=eval_gettextln
>  XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
>  	--keyword=__ --keyword=N__ --keyword="__n:1,2"
> +MSGCAT_FLAGS = --sort-by-file
>  LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
>  	      $(GENERATED_H)
>  LOCALIZED_SH = $(SCRIPT_SH)
> @@ -2726,34 +2729,68 @@ LOCALIZED_SH += t/t0200/test.sh
>  LOCALIZED_PERL += t/t0200/test.perl
>  endif
>  
> -## Note that this is meant to be run only by the localization coordinator
> -## under a very controlled condition, i.e. (1) it is to be run in a
> -## Git repository (not a tarball extract), (2) any local modifications
> -## will be lost.
> +## We generate intermediate .build/pot/po/%.po files containing a
> +## extract of the translations we find in each file in the source
> +## tree. We will assemble them using msgcat to create the final
> +## "po/git.pot" file.
> +LOCALIZED_ALL_GEN_PO =
> +
> +LOCALIZED_C_GEN_PO = $(LOCALIZED_C:%=.build/pot/po/%.po)
> +LOCALIZED_ALL_GEN_PO += $(LOCALIZED_C_GEN_PO)
> +
> +LOCALIZED_SH_GEN_PO = $(LOCALIZED_SH:%=.build/pot/po/%.po)
> +LOCALIZED_ALL_GEN_PO += $(LOCALIZED_SH_GEN_PO)
> +
> +LOCALIZED_PERL_GEN_PO = $(LOCALIZED_PERL:%=.build/pot/po/%.po)
> +LOCALIZED_ALL_GEN_PO += $(LOCALIZED_PERL_GEN_PO)
> +
>  ## Gettext tools cannot work with our own custom PRItime type, so
>  ## we replace PRItime with PRIuMAX.  We need to update this to
>  ## PRIdMAX if we switch to a signed type later.
> +$(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %
> +	$(call mkdir_p_parent_template)
> +	$(QUIET_XGETTEXT) \
> +	    if grep -q PRItime $<; then \
> +		(\
> +			sed -e 's|PRItime|PRIuMAX|g' <$< \
> +				>.build/pot/po/$< && \
> +			cd .build/pot/po && \
> +			$(XGETTEXT) --omit-header \
> +				-o $(@:.build/pot/po/%=%) \
> +				$(XGETTEXT_FLAGS_C) $< && \
> +			rm $<; \
> +		); \
> +	    else \
> +		$(XGETTEXT) --omit-header \
> +			-o $@ $(XGETTEXT_FLAGS_C) $<; \
> +	    fi
>  
> -po/git.pot: $(GENERATED_H) FORCE
> -	# All modifications will be reverted at the end, so we do not
> -	# want to have any local change.
> -	git diff --quiet HEAD && git diff --quiet --cached
> +$(LOCALIZED_SH_GEN_PO): .build/pot/po/%.po: %
> +	$(call mkdir_p_parent_template)
> +	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
> +		-o$@ $(XGETTEXT_FLAGS_SH) $<
>  
> -	@for s in $(LOCALIZED_C) $(LOCALIZED_SH) $(LOCALIZED_PERL); \
> -	do \
> -		sed -e 's|PRItime|PRIuMAX|g' <"$$s" >"$$s+" && \
> -		cat "$$s+" >"$$s" && rm "$$s+"; \
> -	done
> +$(LOCALIZED_PERL_GEN_PO): .build/pot/po/%.po: %
> +	$(call mkdir_p_parent_template)
> +	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
> +		-o$@ $(XGETTEXT_FLAGS_PERL) $<
> +q
> +define gen_pot_header
> +$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
> +	-o - /dev/null | \
> +sed -e 's|charset=CHARSET|charset=UTF-8|' \
> +    -e 's|\(Last-Translator: \)FULL NAME <.*>|\1make by the Makefile|' \
> +    -e 's|\(Language-Team: \)LANGUAGE <.*>|\1Git Mailing List <git@vger.kernel.org>|' \
> +    >$@ && \
> +echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
> +endef
>  
> -	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ $(XGETTEXT_FLAGS_C) $(LOCALIZED_C)
> -	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_SH) \
> -		$(LOCALIZED_SH)
> -	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_PERL) \
> -		$(LOCALIZED_PERL)
> +.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
> +	$(call mkdir_p_parent_template)
> +	$(QUIET_GEN)$(gen_pot_header)

So re a previous round I think the addition of a header to po/git.pot
doesn't make sense, i.e. it's not needed, so we can just drop this
entirely.

But if you really want to include it anyway then this dependency is
broken, the header just depends on this gen_pot_header you've defined,
we don't need to re-generate it every time any single source file
changes.

Or is the intent to have its timestamp bumped if any of the source files
change?

If so I think that to the extent we need headers at all (for the *.po
files) it might be worthwhile to just have the timestamp be the same
epoch we use for the tests in t/, i.e. never update it and avoid the
needless churn. If people need to check when things were last changed,
or initially added, they can use this little thing called "git" :)

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v3 1/9] Makefile: sort "po/git.pot" by file location
  2022-05-23  1:25   ` [PATCH v3 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
@ 2022-05-23  8:05     ` Junio C Hamano
  2022-05-23  8:50       ` Jiang Xin
  0 siblings, 1 reply; 110+ messages in thread
From: Junio C Hamano @ 2022-05-23  8:05 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Ævar Arnfjörð Bjarmason, Git List, Jiang Xin,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

Jiang Xin <worldhello.net@gmail.com> writes:

> From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
>
> We will feed xgettext with more C souce files and in different order in

"source"

> subsequent commit. To generate a stable "po/git.pot" regardless of the
> number and order of input source files, we add a new option
> "--sort-by-file" to xgettext program.

Probably: ... we pass the option "--sort-by-file"

> With this update, the newly generated "po/git.pot" will has the same

"will have"

> entries while in a different order.
>
> With the help of a custom diff driver as shown below,
>
>     git config --global diff.gettext-fmt.textconv \
>         "msgcat --no-location --sort-by-file"
>
> and appending a new entry "*.po diff=gettext-fmt" to git attributes,
> we can see that there are no substantial changes in "po/git.pot".
>
> We won't checkin the newly generated "po/git.pot", because we will
> remove it from tree in a later commit.
>
> Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> Signed-off-by: Junio C Hamano <gitster@pobox.com>

This has no input from me (yet), so technically it is a bit
premature to add my sign-off here.  It wouldn't make a difference to
the end result, though ;-)

> ---
>  Makefile | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/Makefile b/Makefile
> index f8bccfab5e..83e968e2a4 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2706,6 +2706,7 @@ XGETTEXT_FLAGS = \
>  	--force-po \
>  	--add-comments=TRANSLATORS: \
>  	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
> +	--sort-by-file \
>  	--from-code=UTF-8
>  XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
>  	--keyword=_ --keyword=N_ --keyword="Q_:1,2"

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v3 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C
  2022-05-23  1:25   ` [PATCH v3 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
@ 2022-05-23  8:05     ` Junio C Hamano
  0 siblings, 0 replies; 110+ messages in thread
From: Junio C Hamano @ 2022-05-23  8:05 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Ævar Arnfjörð Bjarmason, Git List, Jiang Xin,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

Jiang Xin <worldhello.net@gmail.com> writes:

> From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
>
> When running "make pot" on different platform, we may get a different

"on a"

> message template file "po/git.pot". This is because the "LOCALIZED_C"
> variable may have different C source files on different platforms or
> different compiler conditions.
>
> We can make a stable "LOCALIZED_C" variable by applying patch snippets
> as follows:
>
>      ifdef NO_LIBGEN_H
>          COMPAT_CFLAGS += -DNO_LIBGEN_H
>          COMPAT_OBJS += compat/basename.o
>     +else
>     +    LOCALIZED_C += compat/basename.c
>      endif

While that is true, going into such a detail of an approach that you
rejected does not sound like a good use of readers' time.  Instead,
perhaps mention why ...

> But it is much simpler to use variables "$(FOUND_C_SOURCES)" and
> "$(FOUND_C_SOURCES)" to form a stable "LOCALIZED_C".

... FOUND_C_SOURCES approach works better by reminding the readers
what it is.  I'd probably discard everything after "This is
because..." up to point and replace it with something like:

    "$(LOCALIZED_C)" is supposed to list all the sources that we
    extract the strings to be translated from.  Instead of using
    "$(C_OBJ)", which only lists the source files used in the
    current build, to compute it, use "$(FOUND_C_SOURCES)", which
    lists all source files we keep track of (or ship in a tarball
    extract).

if I were writing this.

> We also add
> "$(SCALAR_SOURCES)" files, which are part of C_OBJ but not included in
> "$(FOUND_C_SOURCES)" because they are in the "contrib/" directory.

Good.

> With this update, the newly generated "po/git.pot" will have 30 new
> entries coming from the following C source files:
>
>  * compat/fsmonitor/fsm-listen-win32.c
>  * compat/mingw.c
>  * compat/regex/regcomp.c
>  * compat/simple-ipc/ipc-win32.c

Good.

> Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
>  Makefile | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 83e968e2a4..46914dcd80 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2714,7 +2714,8 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
>  	--keyword=gettextln --keyword=eval_gettextln
>  XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
>  	--keyword=__ --keyword=N__ --keyword="__n:1,2"
> -LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
> +LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
> +	      $(GENERATED_H)
>  LOCALIZED_SH = $(SCRIPT_SH)
>  LOCALIZED_SH += git-sh-setup.sh
>  LOCALIZED_PERL = $(SCRIPT_PERL)

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v3 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-23  7:15     ` Ævar Arnfjörð Bjarmason
@ 2022-05-23  8:12       ` Ævar Arnfjörð Bjarmason
  2022-05-23 13:42         ` Jiang Xin
  2022-05-23  8:26       ` Jiang Xin
  1 sibling, 1 reply; 110+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-05-23  8:12 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Junio C Hamano, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan


On Mon, May 23 2022, Ævar Arnfjörð Bjarmason wrote:

> On Mon, May 23 2022, Jiang Xin wrote:
>
>> From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
>>
>> A workflow change for translators are being proposed.
>>
>> Changes since v2:
>>
>>  1. Patch 1/9: reword.
>>  2. Patch 2/9: reword.
>>  3. Patch 3/9: reword, and add "FORCE" to prerequisites of "po/git.pot".
>>  4. Patch 6/9: remove "FORCE" from prerequisites of "po/git.pot".
>>  5. Patch 8/9: reword, and reuse "$(gen_pot_header)" to prepare pot
>>                header for "po/git-core.pot".
>>  6. Patch 9/9: various updates on po/README.md.
>
> From skimming this the *.c.po v.s. *.c extension is still left in
> comments. I'm not saying you need to go for my suggestions, but it would
> be very useful in CL's to note things that were suggested but not
> changed, such as that.
>
> Right now I haven't paged that v2 discussion into my brain again, so I
> don't know if that was the only thing, it's the only thing I remember
> right now...

This fix-up below implements what I suggested on v2, so now the comments
in the generated file are correct, and don't refer to our intermediate
files:
	
	$ grep '#-#' po/git.pot
	#. #-#-#-#-#  git-add--interactive.perl  #-#-#-#-#
	#. #-#-#-#-#  add-patch.c  #-#-#-#-#
	#. #-#-#-#-#  git-add--interactive.perl  #-#-#-#-#
	#. #-#-#-#-#  branch.c  #-#-#-#-#
	#. #-#-#-#-#  object-name.c  #-#-#-#-#
	#. #-#-#-#-#  grep.c  #-#-#-#-#

I gathered that the reason you preferred the whole "grep -q PRItime" was
because you wanted to mitigate the effects of your IDE discovering these
files.

With the below you can define AGGRESSIVE_INTERMEDIATE and when you "make
pot" the generated *.c files will only exist for as long as they're
needed to generate the next step.

But if you do a subsequent "make pot" will be slower, as we'll of course
need to generate them again.

I think it's better to go in this direction, and rename that
AGGRESSIVE_INTERMEDIATE to something like
MAKE_AVOID_REAL_EXTENSIONS_IN_GITIGNORED_FILES or whatever.

I.e. our correctness shouldn't suffer because we're trying to work
around some issue in a specific (and optional) developer tooling.

There's also the fix there for the "header" dependency, but as noted in
another reply it should probably be dropped altogether...
	
diff --git a/Makefile b/Makefile
index d3eae150de9..0b96b55b63f 100644
--- a/Makefile
+++ b/Makefile
@@ -2736,6 +2736,7 @@ endif
 ## "po/git.pot" file.
 LOCALIZED_ALL_GEN_PO =
 
+LOCALIZED_C_GEN_C = $(LOCALIZED_C:%=.build/pot/po-munged/%)
 LOCALIZED_C_GEN_PO = $(LOCALIZED_C:%=.build/pot/po/%.po)
 LOCALIZED_ALL_GEN_PO += $(LOCALIZED_C_GEN_PO)
 
@@ -2745,26 +2746,19 @@ LOCALIZED_ALL_GEN_PO += $(LOCALIZED_SH_GEN_PO)
 LOCALIZED_PERL_GEN_PO = $(LOCALIZED_PERL:%=.build/pot/po/%.po)
 LOCALIZED_ALL_GEN_PO += $(LOCALIZED_PERL_GEN_PO)
 
-## Gettext tools cannot work with our own custom PRItime type, so
-## we replace PRItime with PRIuMAX.  We need to update this to
-## PRIdMAX if we switch to a signed type later.
-$(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %
+ifdef AGGRESSIVE_INTERMEDIATE
+.INTERMEDIATE: $(LOCALIZED_C_GEN_C)
+endif
+$(LOCALIZED_C_GEN_C): .build/pot/po-munged/%: %
 	$(call mkdir_p_parent_template)
-	$(QUIET_XGETTEXT) \
-	    if grep -q PRItime $<; then \
-		(\
-			sed -e 's|PRItime|PRIuMAX|g' <$< \
-				>.build/pot/po/$< && \
-			cd .build/pot/po && \
-			$(XGETTEXT) --omit-header \
-				-o $(@:.build/pot/po/%=%) \
-				$(XGETTEXT_FLAGS_C) $< && \
-			rm $<; \
-		); \
-	    else \
-		$(XGETTEXT) --omit-header \
-			-o $@ $(XGETTEXT_FLAGS_C) $<; \
-	    fi
+	$(QUIET_GEN)sed -e 's|PRItime|PRIuMAX|g' <$< >$@
+
+$(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: .build/pot/po-munged/%
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT)( \
+		cd $(<D) && \
+		$(XGETTEXT) $(XGETTEXT_FLAGS_C) --omit-header -o - $(<F) \
+	) >$@
 
 $(LOCALIZED_SH_GEN_PO): .build/pot/po/%.po: %
 	$(call mkdir_p_parent_template)
@@ -2786,11 +2780,24 @@ sed -e 's|charset=CHARSET|charset=UTF-8|' \
 echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
 endef
 
-.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
+.build/pot/git.header:
 	$(call mkdir_p_parent_template)
 	$(QUIET_GEN)$(gen_pot_header)
 
-po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
+# We go through this dance of having a prepared
+# e.g. .build/pot/po/grep.c.po and copying it to
+# .build/pot/to-cat/grep.c only because some IDEs (e.g. VSCode) pick
+# up on the "real" extension for the purposes of auto-completion, even
+# if the .build directiory is in .gitignore.
+LOCALIZED_ALL_GEN_TO_CAT = $(LOCALIZED_ALL_GEN_PO:.build/pot/po/%.po=.build/pot/to-cat/%)
+ifdef AGGRESSIVE_INTERMEDIATE
+.INTERMEDIATE: $(LOCALIZED_ALL_GEN_TO_CAT)
+endif
+$(LOCALIZED_ALL_GEN_TO_CAT): .build/pot/to-cat/%: .build/pot/po/%.po
+	$(call mkdir_p_parent_template)
+	$(QUIET_GEN)cat $< >$@
+
+po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_TO_CAT)
 	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
 
 .PHONY: pot

^ permalink raw reply related	[flat|nested] 110+ messages in thread

* Re: [PATCH v3 3/9] Makefile: have "make pot" not "reset --hard"
  2022-05-23  1:25   ` [PATCH v3 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
  2022-05-23  7:28     ` Ævar Arnfjörð Bjarmason
@ 2022-05-23  8:15     ` Junio C Hamano
  2022-05-23  9:37       ` Jiang Xin
  1 sibling, 1 reply; 110+ messages in thread
From: Junio C Hamano @ 2022-05-23  8:15 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Ævar Arnfjörð Bjarmason, Git List,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

Jiang Xin <worldhello.net@gmail.com> writes:

> From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
>
> Before commit fc0fd5b23b (Makefile: help gettext tools to cope with our
> custom PRItime format, 2017-07-20) we'd consider source files as-is

", we'd consider".

> with gettext, but because we need to understand PRItime in the same way
> that gettext itself understands PRIuMAX we'd first check if we had a

"PRIuMAX, we'd first"

> clean checkout, then munge all of the processed files in-place with
> "sed", generate "po/git.pot", and then finally "reset --hard" to undo
> our changes.
>
> By generating "pot" snippets in ".build/pot/po" for each source file
> and rewriting certain source files with PRItime macros to temporary
> files in ".build/pot/po", we can avoid running "make pot" by altering
> files in place and doing a "reset --hard" afterwards.

Good.

> This speed of "make pot" is slower than before on an initial run,
> because we run "xgettext" many times (once per source file), but it
> can be boosted by parallelization. It is *much* faster for incremental
> runs, and will allow us to implement related targets in subsequent
> commits.

This is to show my ignorance, but is there any downside, other than
increased overhead coming from runing many instances of the program,
in the "one file at a time" approach?  I was wondering if two or
more identical translatable strings appear in multiple source files,
where they are coalesced into a single entry in the resulting .pot
file, and if xgettext having visibility into all these files would
somehow help the process, but presumably we'd use msgcat to unify
them into one entry so there wouldn't be such a downside there.  But
are there others?

Thanks.


^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v3 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-23  7:15     ` Ævar Arnfjörð Bjarmason
  2022-05-23  8:12       ` Ævar Arnfjörð Bjarmason
@ 2022-05-23  8:26       ` Jiang Xin
  1 sibling, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23  8:26 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: Junio C Hamano, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan

On Mon, May 23, 2022 at 3:25 PM Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
>
>
> On Mon, May 23 2022, Jiang Xin wrote:
>
> > From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> >
> > A workflow change for translators are being proposed.
> >
> > Changes since v2:
> >
> >  1. Patch 1/9: reword.
> >  2. Patch 2/9: reword.
> >  3. Patch 3/9: reword, and add "FORCE" to prerequisites of "po/git.pot".
> >  4. Patch 6/9: remove "FORCE" from prerequisites of "po/git.pot".
> >  5. Patch 8/9: reword, and reuse "$(gen_pot_header)" to prepare pot
> >                header for "po/git-core.pot".
> >  6. Patch 9/9: various updates on po/README.md.
>
> From skimming this the *.c.po v.s. *.c extension is still left in
> comments. I'm not saying you need to go for my suggestions, but it would
> be very useful in CL's to note things that were suggested but not
> changed, such as that.

I've tried to improve some commit logs to make my point that we should
name the po files in ".build/po/" with ".po" extension instead of ".c"
extension. We can choose plan A, move forward with this patch series,
and start using the new workflow in 2.37. If you want, we can try Plan
B during next release cycle.

> Right now I haven't paged that v2 discussion into my brain again, so I
> don't know if that was the only thing, it's the only thing I remember
> right now...
>
> But let's read on:
>
> > Range-diff vs v2:
> >
> >  1:  c45f34f233 !  1:  362cd0cbe1 Makefile: sort "po/git.pot" by file location
> >     @@ Metadata
> >       ## Commit message ##
> >          Makefile: sort "po/git.pot" by file location
> >
> >     -    Before feeding xgettext with more C souce files which may be ignored
> >     -    by various compiler conditions, add new option "--sort-by-file" to
> >     -    xgettext program to create stable message template file "po/git.pot".
> >     +    We will feed xgettext with more C souce files and in different order in
> >     +    subsequent commit. To generate a stable "po/git.pot" regardless of the
> >     +    number and order of input source files, we add a new option
> >     +    "--sort-by-file" to xgettext program.
> >
> >          With this update, the newly generated "po/git.pot" will has the same
> >     -    entries while in a different order. We won't checkin the newly generated
> >     -    "po/git.pot", because we will remove it from tree in a later commit.
> >     +    entries while in a different order.
> >     +
> >     +    With the help of a custom diff driver as shown below,
> >     +
> >     +        git config --global diff.gettext-fmt.textconv \
> >     +            "msgcat --no-location --sort-by-file"
> >     +
> >     +    and appending a new entry "*.po diff=gettext-fmt" to git attributes,
> >     +    we can see that there are no substantial changes in "po/git.pot".
> >     +
> >     +    We won't checkin the newly generated "po/git.pot", because we will
> >     +    remove it from tree in a later commit.
>
>
> Does this actually work? This seems to suggest adding a driver for *.po,
> but using it against the *.pot file. Isn't that a typo (I haven't tested
> it)>

Thanks, it's really a typo. s/*.po/*.pot/

>
> >          But it is much simpler to use variables "$(FOUND_C_SOURCES)" and
> >     -    "$(FOUND_C_SOURCES)" to form a stable "LOCALIZED_C".
> >     +    "$(FOUND_C_SOURCES)" to form a stable "LOCALIZED_C". We also add
> >     +    "$(SCALAR_SOURCES)" files, which are part of C_OBJ but not included in
> >     +    "$(FOUND_C_SOURCES)" because they are in the "contrib/" directory.
>
> Thanks, good to note that.
>
> [snipped the rest, will re-read individual commits]

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v3 6/9] po/git.pot: don't check in result of "make pot"
  2022-05-23  7:26     ` Ævar Arnfjörð Bjarmason
@ 2022-05-23  8:30       ` Jiang Xin
  2022-05-23  8:35         ` Jiang Xin
  2022-05-23  9:28         ` Ævar Arnfjörð Bjarmason
  0 siblings, 2 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23  8:30 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: Junio C Hamano, Git List, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan, Jiang Xin

On Mon, May 23, 2022 at 3:27 PM Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
>
>
> On Mon, May 23 2022, Jiang Xin wrote:
>
> >  .PHONY: pot
> >  pot: po/git.pot
> > @@ -3319,6 +3319,7 @@ dist-doc: git$X
> >
> >  distclean: clean
> >       $(RM) configure
> > +     $(RM) po/git.pot
>
> I think I noted "why not add this to clean?" in an earlier round, but
> didn't think it through.
>
> On second thought we should do that, but the reason is that "distclean"
> should only clean things that you get if you do "make dist".
>
> I.e. we add "configure" to a generated tarball, but not po/git.pot, so
> this should just be under regular "clean", not "distclean".

Will remove "po/git.pot" under regular "clean" rule in next reroll. I
copied it from your original patch without thinking carefully.

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v3 6/9] po/git.pot: don't check in result of "make pot"
  2022-05-23  8:30       ` Jiang Xin
@ 2022-05-23  8:35         ` Jiang Xin
  2022-05-23  9:28         ` Ævar Arnfjörð Bjarmason
  1 sibling, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23  8:35 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: Junio C Hamano, Git List, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan, Jiang Xin

On Mon, May 23, 2022 at 4:30 PM Jiang Xin <worldhello.net@gmail.com> wrote:
>
> On Mon, May 23, 2022 at 3:27 PM Ævar Arnfjörð Bjarmason
> <avarab@gmail.com> wrote:
> >
> >
> > On Mon, May 23 2022, Jiang Xin wrote:
> >
> > >  .PHONY: pot
> > >  pot: po/git.pot
> > > @@ -3319,6 +3319,7 @@ dist-doc: git$X
> > >
> > >  distclean: clean
> > >       $(RM) configure
> > > +     $(RM) po/git.pot
> >
> > I think I noted "why not add this to clean?" in an earlier round, but
> > didn't think it through.
> >
> > On second thought we should do that, but the reason is that "distclean"
> > should only clean things that you get if you do "make dist".
> >
> > I.e. we add "configure" to a generated tarball, but not po/git.pot, so
> > this should just be under regular "clean", not "distclean".
>
> Will remove "po/git.pot" under regular "clean" rule in next reroll. I
> copied it from your original patch without thinking carefully.

Like this:

-- snip --
diff --git a/Makefile b/Makefile
index 3122672263..161ebf4ff3 100644
--- a/Makefile
+++ b/Makefile
@@ -3319,7 +3319,6 @@ dist-doc: git$X

 distclean: clean
        $(RM) configure
-       $(RM) po/git.pot
        $(RM) config.log config.status config.cache
        $(RM) config.mak.autogen config.mak.append
        $(RM) -r autom4te.cache
@@ -3333,6 +3332,7 @@ cocciclean:

 clean: profile-clean coverage-clean cocciclean
        $(RM) -r .build
+       $(RM) po/git.pot
        $(RM) *.res
        $(RM) $(OBJECTS)
        $(RM) $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(REFTABLE_TEST_LIB)
-- snap --

^ permalink raw reply related	[flat|nested] 110+ messages in thread

* Re: [PATCH v3 1/9] Makefile: sort "po/git.pot" by file location
  2022-05-23  8:05     ` Junio C Hamano
@ 2022-05-23  8:50       ` Jiang Xin
  0 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23  8:50 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Ævar Arnfjörð Bjarmason, Git List, Jiang Xin,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

On Mon, May 23, 2022 at 4:05 PM Junio C Hamano <gitster@pobox.com> wrote:
>
> Jiang Xin <worldhello.net@gmail.com> writes:
>
> > From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> >
> > We will feed xgettext with more C souce files and in different order in
>
> "source"
>
> > subsequent commit. To generate a stable "po/git.pot" regardless of the
> > number and order of input source files, we add a new option
> > "--sort-by-file" to xgettext program.
>
> Probably: ... we pass the option "--sort-by-file"
>
> > With this update, the newly generated "po/git.pot" will has the same
>
> "will have"
>
> > entries while in a different order.
> >
> > With the help of a custom diff driver as shown below,
> >
> >     git config --global diff.gettext-fmt.textconv \
> >         "msgcat --no-location --sort-by-file"
> >
> > and appending a new entry "*.po diff=gettext-fmt" to git attributes,
> > we can see that there are no substantial changes in "po/git.pot".
> >
> > We won't checkin the newly generated "po/git.pot", because we will
> > remove it from tree in a later commit.
> >
> > Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> > Signed-off-by: Junio C Hamano <gitster@pobox.com>
>
> This has no input from me (yet), so technically it is a bit
> premature to add my sign-off here.  It wouldn't make a difference to
> the end result, though ;-)

I started reroll v3 on your branch, forgot to remove your signature.

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v3 6/9] po/git.pot: don't check in result of "make pot"
  2022-05-23  8:30       ` Jiang Xin
  2022-05-23  8:35         ` Jiang Xin
@ 2022-05-23  9:28         ` Ævar Arnfjörð Bjarmason
  1 sibling, 0 replies; 110+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-05-23  9:28 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Junio C Hamano, Git List, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan, Jiang Xin


On Mon, May 23 2022, Jiang Xin wrote:

> On Mon, May 23, 2022 at 3:27 PM Ævar Arnfjörð Bjarmason
> <avarab@gmail.com> wrote:
>>
>>
>> On Mon, May 23 2022, Jiang Xin wrote:
>>
>> >  .PHONY: pot
>> >  pot: po/git.pot
>> > @@ -3319,6 +3319,7 @@ dist-doc: git$X
>> >
>> >  distclean: clean
>> >       $(RM) configure
>> > +     $(RM) po/git.pot
>>
>> I think I noted "why not add this to clean?" in an earlier round, but
>> didn't think it through.
>>
>> On second thought we should do that, but the reason is that "distclean"
>> should only clean things that you get if you do "make dist".
>>
>> I.e. we add "configure" to a generated tarball, but not po/git.pot, so
>> this should just be under regular "clean", not "distclean".
>
> Will remove "po/git.pot" under regular "clean" rule in next reroll. I
> copied it from your original patch without thinking carefully.

Yes, sorry about that. Just to be clear I didn't think this was an issue
you introduced. To be honest I thought it could be mine or yours, and
didn't dig to look into the history :)

I have no idea why I added it to distclean, and it doesn't make any
sense to me now, but oh well, as long as we fix it ... :)

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v3 3/9] Makefile: have "make pot" not "reset --hard"
  2022-05-23  8:15     ` Junio C Hamano
@ 2022-05-23  9:37       ` Jiang Xin
  0 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23  9:37 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Ævar Arnfjörð Bjarmason, Git List,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

On Mon, May 23, 2022 at 4:15 PM Junio C Hamano <gitster@pobox.com> wrote:
>
> Jiang Xin <worldhello.net@gmail.com> writes:
>
> > From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> >
> > Before commit fc0fd5b23b (Makefile: help gettext tools to cope with our
> > custom PRItime format, 2017-07-20) we'd consider source files as-is
>
> ", we'd consider".
>
> > with gettext, but because we need to understand PRItime in the same way
> > that gettext itself understands PRIuMAX we'd first check if we had a
>
> "PRIuMAX, we'd first"
>
> > clean checkout, then munge all of the processed files in-place with
> > "sed", generate "po/git.pot", and then finally "reset --hard" to undo
> > our changes.
> >
> > By generating "pot" snippets in ".build/pot/po" for each source file
> > and rewriting certain source files with PRItime macros to temporary
> > files in ".build/pot/po", we can avoid running "make pot" by altering
> > files in place and doing a "reset --hard" afterwards.
>
> Good.
>
> > This speed of "make pot" is slower than before on an initial run,
> > because we run "xgettext" many times (once per source file), but it
> > can be boosted by parallelization. It is *much* faster for incremental
> > runs, and will allow us to implement related targets in subsequent
> > commits.
>
> This is to show my ignorance, but is there any downside, other than
> increased overhead coming from runing many instances of the program,
> in the "one file at a time" approach?  I was wondering if two or
> more identical translatable strings appear in multiple source files,
> where they are coalesced into a single entry in the resulting .pot
> file, and if xgettext having visibility into all these files would
> somehow help the process, but presumably we'd use msgcat to unify
> them into one entry so there wouldn't be such a downside there.  But
> are there others?

Both xgettext and msgcat have the ability to unify identical
translatable strings, and list all the filenames and locations in the
reference-comment part of the entry. In the following example, we can
see the message "could not write index" comes from several C source
files. We can also find this message in the corresponding intermediate
po files, such as: ".build/pot/po/add-interactive.c.po" and
".build/pot/po/reset.c.po".

    #: add-interactive.c:709 add-interactive.c:898 reset.c:160 ...
    msgid "could not write index"
    msgstr ""

If there are different contexts (I.E. notes for translators in source
code) for the identical translatable string from different files,
"msgcat" will add additional lines "#. #-#-#-#-# ... #-#-#-#-#" for
disambiguation like below:

    +#. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#
     #. TRANSLATORS: 'it' refers to the patch mentioned in the
previous messages.
     #: add-patch.c:1106 git-add--interactive.perl:1129
     msgid ""
     "If it does not apply cleanly, you will be given an opportunity to\n"
     "edit again.  If all lines of the hunk are removed, then the edit is\n"
     "aborted and the hunk is left unchanged.\n"
     msgstr ""

The filename in the disambiguation comment line ends with ".po"
extension. Ævar tries to fix this issue by introducing more
intermediate files (which I will try to understand by some experiment)
or remove ".po" extension from po files, while I think it is
tolerable.

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v3 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-23  8:12       ` Ævar Arnfjörð Bjarmason
@ 2022-05-23 13:42         ` Jiang Xin
  2022-05-23 14:38           ` Ævar Arnfjörð Bjarmason
  0 siblings, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-23 13:42 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: Junio C Hamano, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan

On Mon, May 23, 2022 at 4:19 PM Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
>
>
> On Mon, May 23 2022, Ævar Arnfjörð Bjarmason wrote:
>
> > On Mon, May 23 2022, Jiang Xin wrote:
> >
> >> From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> >>
> >> A workflow change for translators are being proposed.
> >>
> >> Changes since v2:
> >>
> >>  1. Patch 1/9: reword.
> >>  2. Patch 2/9: reword.
> >>  3. Patch 3/9: reword, and add "FORCE" to prerequisites of "po/git.pot".
> >>  4. Patch 6/9: remove "FORCE" from prerequisites of "po/git.pot".
> >>  5. Patch 8/9: reword, and reuse "$(gen_pot_header)" to prepare pot
> >>                header for "po/git-core.pot".
> >>  6. Patch 9/9: various updates on po/README.md.
> >
> > From skimming this the *.c.po v.s. *.c extension is still left in
> > comments. I'm not saying you need to go for my suggestions, but it would
> > be very useful in CL's to note things that were suggested but not
> > changed, such as that.
> >
> > Right now I haven't paged that v2 discussion into my brain again, so I
> > don't know if that was the only thing, it's the only thing I remember
> > right now...
>
> This fix-up below implements what I suggested on v2, so now the comments
> in the generated file are correct, and don't refer to our intermediate
> files:
>
>         $ grep '#-#' po/git.pot
>         #. #-#-#-#-#  git-add--interactive.perl  #-#-#-#-#
>         #. #-#-#-#-#  add-patch.c  #-#-#-#-#
>         #. #-#-#-#-#  git-add--interactive.perl  #-#-#-#-#
>         #. #-#-#-#-#  branch.c  #-#-#-#-#
>         #. #-#-#-#-#  object-name.c  #-#-#-#-#
>         #. #-#-#-#-#  grep.c  #-#-#-#-#
>
> I gathered that the reason you preferred the whole "grep -q PRItime" was
> because you wanted to mitigate the effects of your IDE discovering these
> files.
>
> With the below you can define AGGRESSIVE_INTERMEDIATE and when you "make
> pot" the generated *.c files will only exist for as long as they're
> needed to generate the next step.
>
> But if you do a subsequent "make pot" will be slower, as we'll of course
> need to generate them again.
>
> I think it's better to go in this direction, and rename that
> AGGRESSIVE_INTERMEDIATE to something like
> MAKE_AVOID_REAL_EXTENSIONS_IN_GITIGNORED_FILES or whatever.
>
> I.e. our correctness shouldn't suffer because we're trying to work
> around some issue in a specific (and optional) developer tooling.
>
> There's also the fix there for the "header" dependency, but as noted in
> another reply it should probably be dropped altogether...
>
> diff --git a/Makefile b/Makefile
> index d3eae150de9..0b96b55b63f 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2736,6 +2736,7 @@ endif
>  ## "po/git.pot" file.
>  LOCALIZED_ALL_GEN_PO =
>
> +LOCALIZED_C_GEN_C = $(LOCALIZED_C:%=.build/pot/po-munged/%)

Intermediate C source files copied from the original location, and
PRItime will be replaced by PRIuMAX, if any.

>  LOCALIZED_C_GEN_PO = $(LOCALIZED_C:%=.build/pot/po/%.po)
>  LOCALIZED_ALL_GEN_PO += $(LOCALIZED_C_GEN_PO)
>
> @@ -2745,26 +2746,19 @@ LOCALIZED_ALL_GEN_PO += $(LOCALIZED_SH_GEN_PO)
>  LOCALIZED_PERL_GEN_PO = $(LOCALIZED_PERL:%=.build/pot/po/%.po)
>  LOCALIZED_ALL_GEN_PO += $(LOCALIZED_PERL_GEN_PO)
>
> -## Gettext tools cannot work with our own custom PRItime type, so
> -## we replace PRItime with PRIuMAX.  We need to update this to
> -## PRIdMAX if we switch to a signed type later.
> -$(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %
> +ifdef AGGRESSIVE_INTERMEDIATE
> +.INTERMEDIATE: $(LOCALIZED_C_GEN_C)

Intermediate files "$(LOCALIZED_C_GEN_C)" will be removed automatically.

> +endif
> +$(LOCALIZED_C_GEN_C): .build/pot/po-munged/%: %
>         $(call mkdir_p_parent_template)
> -       $(QUIET_XGETTEXT) \
> -           if grep -q PRItime $<; then \
> -               (\
> -                       sed -e 's|PRItime|PRIuMAX|g' <$< \
> -                               >.build/pot/po/$< && \
> -                       cd .build/pot/po && \
> -                       $(XGETTEXT) --omit-header \
> -                               -o $(@:.build/pot/po/%=%) \
> -                               $(XGETTEXT_FLAGS_C) $< && \
> -                       rm $<; \
> -               ); \
> -           else \
> -               $(XGETTEXT) --omit-header \
> -                       -o $@ $(XGETTEXT_FLAGS_C) $<; \
> -           fi
> +       $(QUIET_GEN)sed -e 's|PRItime|PRIuMAX|g' <$< >$@

Copy each source files in $(LOCALIZED_C) to corresponding intermediate
file ($(LOCALIZED_C_GEN_C)) in ".build/pot/po-munged/", replacing
PRItime with PRIuMAX if any.

> +
> +$(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: .build/pot/po-munged/%
> +       $(call mkdir_p_parent_template)
> +       $(QUIET_XGETTEXT)( \
> +               cd $(<D) && \
> +               $(XGETTEXT) $(XGETTEXT_FLAGS_C) --omit-header -o - $(<F) \
> +       ) >$@

For each intermediate C source files in ".build/pot/po-munged/", call
xgettext to create corresponding po file in ".build/pot/po/"
directory.

>  $(LOCALIZED_SH_GEN_PO): .build/pot/po/%.po: %
>         $(call mkdir_p_parent_template)
> @@ -2786,11 +2780,24 @@ sed -e 's|charset=CHARSET|charset=UTF-8|' \
>  echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
>  endef
>
> -.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
> +.build/pot/git.header:

No. We should rebuild the pot header if any po file need to be update,
because we want to refresh the timestamp in the "POT-Creation-Date:"
filed of the pot header.

>         $(call mkdir_p_parent_template)
>         $(QUIET_GEN)$(gen_pot_header)
>
> -po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
> +# We go through this dance of having a prepared
> +# e.g. .build/pot/po/grep.c.po and copying it to
> +# .build/pot/to-cat/grep.c only because some IDEs (e.g. VSCode) pick
> +# up on the "real" extension for the purposes of auto-completion, even
> +# if the .build directiory is in .gitignore.
> +LOCALIZED_ALL_GEN_TO_CAT = $(LOCALIZED_ALL_GEN_PO:.build/pot/po/%.po=.build/pot/to-cat/%)
> +ifdef AGGRESSIVE_INTERMEDIATE
> +.INTERMEDIATE: $(LOCALIZED_ALL_GEN_TO_CAT)
> +endif
> +$(LOCALIZED_ALL_GEN_TO_CAT): .build/pot/to-cat/%: .build/pot/po/%.po
> +       $(call mkdir_p_parent_template)
> +       $(QUIET_GEN)cat $< >$@

Copy each po file in ".build/pot/po/" to another location
".build/pot/to-cat/", but without the ".po" extension.

Let's take "date.c" as an example:

1. Copy "date.c" to an intermediate C source file
".build/pot/po-munged/date.c" and replace PRItime with PRIuMAX in it.

2. Call xgettext to create  ".build/pot/po/date.c.po" from the
intermediate C source file ".build/pot/po-munged/date.c".

3. Optionally remove intermediate C source files like
".build/pot/po-munged/date.c". To have two identical C source files in
the same worktree is not good, some software may break. So I choose to
remove them.

4. Copy the po file (".build/pot/po/date.c.po") created in step 2 to
an intermediate fake C source file ".build/pot/to-cat/date.c" which is
a file without the ".po" extension. Please note this intermediate fake
C source file ".build/pot/to-cat/date.c" is not a valid C file, but a
PO file.

5. Call msgcat to create "po/git.pot" from all the intermediate fake C
source files including  ".build/pot/to-cat/date.c".

6. Optionally remove all the intermediate fake C source files in
".build/pot/to-cat/". I choose to remove them, because leave lots of
invalid C source files in worktree is not good.

For example, ".build/pot/po/date.c.po" was created from
> +
> +po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_TO_CAT)
>         $(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@

7. "po/git.pot" depends on the intermediate fake C source files. If
any single C source file has been changed, will run step 6 to copy all
po files in ".build/pot/po" to corresponding fake C source files in
".build/pot/to-cat/", if we choose to remove these intermediate fake C
source files.

This implementation is too heavy to solve a trivial issue. I think we
can push forward this patch series and leave these comments in
"po/git.pot":

>         $ grep '#-#' po/git.pot
>         #. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#
>         #. #-#-#-#-#  add-patch.c.po  #-#-#-#-#
>         #. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#
>         #. #-#-#-#-#  branch.c.po  #-#-#-#-#
>         #. #-#-#-#-#  object-name.c.po  #-#-#-#-#
>         #. #-#-#-#-#  grep.c.po  #-#-#-#-#

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v3 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-23 13:42         ` Jiang Xin
@ 2022-05-23 14:38           ` Ævar Arnfjörð Bjarmason
  2022-05-23 16:13             ` Jiang Xin
  0 siblings, 1 reply; 110+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-05-23 14:38 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Junio C Hamano, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan


On Mon, May 23 2022, Jiang Xin wrote:

> On Mon, May 23, 2022 at 4:19 PM Ævar Arnfjörð Bjarmason
>>  $(LOCALIZED_SH_GEN_PO): .build/pot/po/%.po: %
>>         $(call mkdir_p_parent_template)
>> @@ -2786,11 +2780,24 @@ sed -e 's|charset=CHARSET|charset=UTF-8|' \
>>  echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
>>  endef
>>
>> -.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
>> +.build/pot/git.header:
>
> No. We should rebuild the pot header if any po file need to be update,
> because we want to refresh the timestamp in the "POT-Creation-Date:"
> filed of the pot header.

Okey, I did leave a question about this in an earlier E-Mail though,
i.e. does anything actually rely on this, or the header at all, or is
this just cargo-culting?

I haven't found anything in our toolchain that cares about the header at
all (for the *.pot, not *.po!) let alone the update timestamp.

Except insofar as e.g. Emacs will add a timestamp or update it if it
finds a header already.

>>         $(call mkdir_p_parent_template)
>>         $(QUIET_GEN)$(gen_pot_header)
>>
>> -po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
>> +# We go through this dance of having a prepared
>> +# e.g. .build/pot/po/grep.c.po and copying it to
>> +# .build/pot/to-cat/grep.c only because some IDEs (e.g. VSCode) pick
>> +# up on the "real" extension for the purposes of auto-completion, even
>> +# if the .build directiory is in .gitignore.
>> +LOCALIZED_ALL_GEN_TO_CAT = $(LOCALIZED_ALL_GEN_PO:.build/pot/po/%.po=.build/pot/to-cat/%)
>> +ifdef AGGRESSIVE_INTERMEDIATE
>> +.INTERMEDIATE: $(LOCALIZED_ALL_GEN_TO_CAT)
>> +endif
>> +$(LOCALIZED_ALL_GEN_TO_CAT): .build/pot/to-cat/%: .build/pot/po/%.po
>> +       $(call mkdir_p_parent_template)
>> +       $(QUIET_GEN)cat $< >$@
>
> Copy each po file in ".build/pot/po/" to another location
> ".build/pot/to-cat/", but without the ".po" extension.
>
> Let's take "date.c" as an example:
>
> 1. Copy "date.c" to an intermediate C source file
> ".build/pot/po-munged/date.c" and replace PRItime with PRIuMAX in it.
>
> 2. Call xgettext to create  ".build/pot/po/date.c.po" from the
> intermediate C source file ".build/pot/po-munged/date.c".
>
> 3. Optionally remove intermediate C source files like
> ".build/pot/po-munged/date.c". To have two identical C source files in
> the same worktree is not good, some software may break. So I choose to
> remove them.
>
> 4. Copy the po file (".build/pot/po/date.c.po") created in step 2 to
> an intermediate fake C source file ".build/pot/to-cat/date.c" which is
> a file without the ".po" extension. Please note this intermediate fake
> C source file ".build/pot/to-cat/date.c" is not a valid C file, but a
> PO file.
>
> 5. Call msgcat to create "po/git.pot" from all the intermediate fake C
> source files including  ".build/pot/to-cat/date.c".
>
> 6. Optionally remove all the intermediate fake C source files in
> ".build/pot/to-cat/". I choose to remove them, because leave lots of
> invalid C source files in worktree is not good.
>
> For example, ".build/pot/po/date.c.po" was created from
>> +
>> +po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_TO_CAT)
>>         $(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
>
> 7. "po/git.pot" depends on the intermediate fake C source files. If
> any single C source file has been changed, will run step 6 to copy all
> po files in ".build/pot/po" to corresponding fake C source files in
> ".build/pot/to-cat/", if we choose to remove these intermediate fake C
> source files.
>
> This implementation is too heavy to solve a trivial issue. I think we
> can push forward this patch series and leave these comments in
> "po/git.pot":

If you find it too "heavy" & are trying to optimize it for some reason
then that whole extra special-dance can be made conditional on
MAKE_AVOID_REAL_EXTENSIONS_IN_GITIGNORED_FILES.

But really, it's 15MB of .build/pot in my local HEAD with this fix-up,
it's 1.4MB without it, but this whole thing just seems like premature
optimization. Especially given:
    
    $ git hyperfine -r 3 -L rev origin/master,HEAD~,HEAD,avar/Makefile-incremental-po-git-pot-rule~,avar/Makefile-incremental-po-git-pot-rule -p 'git clean -dxf; git reset --hard' 'make pot' --warmup 1
    Benchmark 1: make pot' in 'origin/master
      Time (mean ± σ):      1.970 s ±  0.014 s    [User: 1.683 s, System: 0.353 s]
      Range (min … max):    1.955 s …  1.982 s    3 runs
    
    Benchmark 2: make pot' in 'HEAD~
      Time (mean ± σ):     931.3 ms ±   4.7 ms    [User: 3358.5 ms, System: 1088.7 ms]
      Range (min … max):   927.0 ms … 936.3 ms    3 runs
    
    Benchmark 3: make pot' in 'HEAD
      Time (mean ± σ):      1.506 s ±  0.389 s    [User: 4.655 s, System: 1.363 s]
      Range (min … max):    1.257 s …  1.955 s    3 runs
    
    Benchmark 4: make pot' in 'avar/Makefile-incremental-po-git-pot-rule~
      Time (mean ± σ):      1.015 s ±  0.002 s    [User: 3.615 s, System: 1.224 s]
      Range (min … max):    1.013 s …  1.017 s    3 runs
    
    Benchmark 5: make pot' in 'avar/Makefile-incremental-po-git-pot-rule
      Time (mean ± σ):      1.014 s ±  0.008 s    [User: 3.540 s, System: 1.068 s]
      Range (min … max):    1.007 s …  1.023 s    3 runs
    
    Summary
      'make pot' in 'HEAD~' ran
        1.09 ± 0.01 times faster than 'make pot' in 'avar/Makefile-incremental-po-git-pot-rule'
        1.09 ± 0.01 times faster than 'make pot' in 'avar/Makefile-incremental-po-git-pot-rule~'
        1.62 ± 0.42 times faster than 'make pot' in 'HEAD'
        2.12 ± 0.02 times faster than 'make pot' in 'origin/master'

I.e. all of this is much faster than what we have on "master" now. My
22434ef36ae (Makefile: avoid "sed" on C files that don't need it,
2022-04-08) (avar/Makefile-incremental-po-git-pot-rule) is then just 10%
slower than the "grep or xgettext", its "~" is the corresponding
unoptimized.

The HEAD here is with my fix-up, and HEAD~ is your series here.

Anyway, if you really feel strongly about it let's go with your way of
doing it.

It just sounded like you weren't actually trying top optimize anything,
but to work around your editor. So if we had a method to do that....

...except it seems you also care about making it much faster than
"master" (or care about <20MB of disk space), which to be blunt seems a
bit crazy to me :) Last I checked "make test" ended up creating ~1GB of
data (not all at once, but in parallel testing a lot more than 10MB is
often in play at once).

As this was a pretty obscure target that I only expect CI, you,
translators & me to run in practice a small difference in the initial
run didn't seem to matter, especially as it's all an improvement over
"master".

Anyway, you do whatever you think is best with that :)

>>         $ grep '#-#' po/git.pot
>>         #. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#
>>         #. #-#-#-#-#  add-patch.c.po  #-#-#-#-#
>>         #. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#
>>         #. #-#-#-#-#  branch.c.po  #-#-#-#-#
>>         #. #-#-#-#-#  object-name.c.po  #-#-#-#-#
>>         #. #-#-#-#-#  grep.c.po  #-#-#-#-#


^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v3 3/9] Makefile: have "make pot" not "reset --hard"
  2022-05-23  7:28     ` Ævar Arnfjörð Bjarmason
@ 2022-05-23 15:00       ` Jiang Xin
  2022-05-24  0:56       ` Jiang Xin
  1 sibling, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23 15:00 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: Junio C Hamano, Git List, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan, Jiang Xin

On Mon, May 23, 2022 at 4:07 PM Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
>
>
> On Mon, May 23 2022, Jiang Xin wrote:
>
> > From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> >
> > Before commit fc0fd5b23b (Makefile: help gettext tools to cope with our
> > custom PRItime format, 2017-07-20) we'd consider source files as-is
> > with gettext, but because we need to understand PRItime in the same way
> > that gettext itself understands PRIuMAX we'd first check if we had a
> > clean checkout, then munge all of the processed files in-place with
> > "sed", generate "po/git.pot", and then finally "reset --hard" to undo
> > our changes.
> >
> > By generating "pot" snippets in ".build/pot/po" for each source file
> > and rewriting certain source files with PRItime macros to temporary
> > files in ".build/pot/po", we can avoid running "make pot" by altering
> > files in place and doing a "reset --hard" afterwards.
> >
> > This speed of "make pot" is slower than before on an initial run,
> > because we run "xgettext" many times (once per source file), but it
> > can be boosted by parallelization. It is *much* faster for incremental
> > runs, and will allow us to implement related targets in subsequent
> > commits.
> >
> > When the "pot" target was originally added in cd5513a7168 (i18n:
> > Makefile: "pot" target to extract messages marked for translation,
> > 2011-02-22) it behaved like a "normal" target. I.e. we'd skip the
> > re-generation of the po/git.pot if nothing had to be done.
> >
> > Then after po/git.pot was checked in in dce37b66fb0 (l10n: initial
> > git.pot for 1.7.10 upcoming release, 2012-02-13) the target was broken
> > until 1f31963e921 (i18n: treat "make pot" as an explicitly-invoked
> > target, 2014-08-22) when it was made to depend on "FORCE". I.e. the
> > Makefile's dependency resolution inherently can't handle incremental
> > building when the target file may be updated by git (or something else
> > external to "make"). But this case no longer applies, so FORCE is no
> > longer needed.
> >
> > That out of the way, the main logic change here is getting rid of the
> > "reset --hard":
> >
> > We'll generate intermediate ".build/pot/po/%.po" files from "%", which
> > is handy to see at a glance what strings (if any) in a given file are
> > marked for translation:
> >
> >       $ make .build/pot/po/pretty.c.po
> >       [...]
> >       $ cat .build/pot/po/pretty.c.po
> >       #: pretty.c:1051
> >       msgid "unable to parse --pretty format"
> >       msgstr ""
> >       $
> >
> > For these C source files which contain the PRItime macros, we will
> > create temporary munged "*.c" files in a tree in ".build/pot/po"
> > corresponding to our source tree, and have "xgettext" consider those.
> > The rule needs to be careful to "(cd .build/pot/po && ...)", because
> > otherwise the comments in the po/git.pot file wouldn't refer to the
> > correct source locations (they'd be prefixed with ".build/pot/po").
> > These temporary munged "*.c” files will be removed immediately after
> > the corresponding po files are generated, because some development tools
> > cannot ignore the duplicate source files in the ".build" directory
> > according to the ".gitignore" file, and that may cause trouble.
> >
> > The output of the generated po/git.pot file is changed in one minor
> > way: Because we're using msgcat(1) instead of xgettext(1) to
> > concatenate the output we'll now disambiguate where "TRANSLATORS"
> > comments come from, in cases where a message is the same in N files,
> > and either only one has a "TRANSLATORS" comment, or they're
> > different. E.g. for the "Your edited hunk[...]" message we'll now
> > apply this change (comment content elided):
> >
> >       +#. #-#-#-#-#  add-patch.c.po  #-#-#-#-#
> >        #. TRANSLATORS: do not translate [y/n]
> >       [...]
> >       +#. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#
> >        #. TRANSLATORS: do not translate [y/n]
> >       [...]
> >        #: add-patch.c:1253 git-add--interactive.perl:1244
> >        msgid ""
> >        "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
> >        msgstr ""
> >
> > There are six such changes, and they all make the context more
> > understandable, as msgcat(1) is better at handling these edge cases
> > than xgettext(1)'s previously used "--join-existing" flag.
> >
> > But filenames in the above disambiguation lines of extracted-comments
> > have an extra ".po" extension compared to the filenames at the file
> > locations. While we could rename the intermediate ".build/pot/po/%.po"
> > files without the ".po" extension to use more intuitive filenames in
> > the disambiguation lines of extracted-comments, but that will confuse
> > developer tools with lots of invalid C or other source files in
> > ".build/pot/po" directory.
> >
> > The addition of "--omit-header" option for xgettext makes the "pot"
> > snippets in ".build/pot/po/*.po" smaller. But as we'll see in a
> > subsequent commit this header behavior has been hiding an
> > encoding-related bug from us, so let's carry it forward instead of
> > re-generating it with xgettext(1).
> >
> > The "po/git.pot" file should have a header entry, because a proper
> > header entry will increase the speed of creating a new po file using
> > msginit and set a proper "POT-Creation-Date:" field in the header
> > entry of a "po/XX.po" file. We use xgettext to generate a separate
> > header file at ".build/pot/git.header" from "/dev/null", and use this
> > header to assemble "po/git.pot".
> >
> > Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> > Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> > Signed-off-by: Junio C Hamano <gitster@pobox.com>
> > ---
> >  .gitignore |  1 +
> >  Makefile   | 80 ++++++++++++++++++++++++++++++++++++++++--------------
> >  2 files changed, 60 insertions(+), 21 deletions(-)
> >
> > diff --git a/.gitignore b/.gitignore
> > index e81de1063a..a452215764 100644
> > --- a/.gitignore
> > +++ b/.gitignore
> > @@ -200,6 +200,7 @@
> >  *.[aos]
> >  *.o.json
> >  *.py[co]
> > +.build/
> >  .depend/
> >  *.gcda
> >  *.gcno
> > diff --git a/Makefile b/Makefile
> > index 46914dcd80..1962999c18 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -569,6 +569,7 @@ INSTALL = install
> >  TCL_PATH = tclsh
> >  TCLTK_PATH = wish
> >  XGETTEXT = xgettext
> > +MSGCAT = msgcat
> >  MSGFMT = msgfmt
> >  CURL_CONFIG = curl-config
> >  GCOV = gcov
> > @@ -2706,6 +2707,7 @@ XGETTEXT_FLAGS = \
> >       --force-po \
> >       --add-comments=TRANSLATORS: \
> >       --msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
> > +     --package-name=Git \
> >       --sort-by-file \
> >       --from-code=UTF-8
> >  XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
> > @@ -2714,6 +2716,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
> >       --keyword=gettextln --keyword=eval_gettextln
> >  XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
> >       --keyword=__ --keyword=N__ --keyword="__n:1,2"
> > +MSGCAT_FLAGS = --sort-by-file
> >  LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
> >             $(GENERATED_H)
> >  LOCALIZED_SH = $(SCRIPT_SH)
> > @@ -2726,34 +2729,68 @@ LOCALIZED_SH += t/t0200/test.sh
> >  LOCALIZED_PERL += t/t0200/test.perl
> >  endif
> >
> > -## Note that this is meant to be run only by the localization coordinator
> > -## under a very controlled condition, i.e. (1) it is to be run in a
> > -## Git repository (not a tarball extract), (2) any local modifications
> > -## will be lost.
> > +## We generate intermediate .build/pot/po/%.po files containing a
> > +## extract of the translations we find in each file in the source
> > +## tree. We will assemble them using msgcat to create the final
> > +## "po/git.pot" file.
> > +LOCALIZED_ALL_GEN_PO =
> > +
> > +LOCALIZED_C_GEN_PO = $(LOCALIZED_C:%=.build/pot/po/%.po)
> > +LOCALIZED_ALL_GEN_PO += $(LOCALIZED_C_GEN_PO)
> > +
> > +LOCALIZED_SH_GEN_PO = $(LOCALIZED_SH:%=.build/pot/po/%.po)
> > +LOCALIZED_ALL_GEN_PO += $(LOCALIZED_SH_GEN_PO)
> > +
> > +LOCALIZED_PERL_GEN_PO = $(LOCALIZED_PERL:%=.build/pot/po/%.po)
> > +LOCALIZED_ALL_GEN_PO += $(LOCALIZED_PERL_GEN_PO)
> > +
> >  ## Gettext tools cannot work with our own custom PRItime type, so
> >  ## we replace PRItime with PRIuMAX.  We need to update this to
> >  ## PRIdMAX if we switch to a signed type later.
> > +$(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %
> > +     $(call mkdir_p_parent_template)
> > +     $(QUIET_XGETTEXT) \
> > +         if grep -q PRItime $<; then \
> > +             (\
> > +                     sed -e 's|PRItime|PRIuMAX|g' <$< \
> > +                             >.build/pot/po/$< && \
> > +                     cd .build/pot/po && \
> > +                     $(XGETTEXT) --omit-header \
> > +                             -o $(@:.build/pot/po/%=%) \
> > +                             $(XGETTEXT_FLAGS_C) $< && \
> > +                     rm $<; \
> > +             ); \
> > +         else \
> > +             $(XGETTEXT) --omit-header \
> > +                     -o $@ $(XGETTEXT_FLAGS_C) $<; \
> > +         fi
> >
> > -po/git.pot: $(GENERATED_H) FORCE
> > -     # All modifications will be reverted at the end, so we do not
> > -     # want to have any local change.
> > -     git diff --quiet HEAD && git diff --quiet --cached
> > +$(LOCALIZED_SH_GEN_PO): .build/pot/po/%.po: %
> > +     $(call mkdir_p_parent_template)
> > +     $(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
> > +             -o$@ $(XGETTEXT_FLAGS_SH) $<
> >
> > -     @for s in $(LOCALIZED_C) $(LOCALIZED_SH) $(LOCALIZED_PERL); \
> > -     do \
> > -             sed -e 's|PRItime|PRIuMAX|g' <"$$s" >"$$s+" && \
> > -             cat "$$s+" >"$$s" && rm "$$s+"; \
> > -     done
> > +$(LOCALIZED_PERL_GEN_PO): .build/pot/po/%.po: %
> > +     $(call mkdir_p_parent_template)
> > +     $(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
> > +             -o$@ $(XGETTEXT_FLAGS_PERL) $<
> > +q
> > +define gen_pot_header
> > +$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
> > +     -o - /dev/null | \
> > +sed -e 's|charset=CHARSET|charset=UTF-8|' \
> > +    -e 's|\(Last-Translator: \)FULL NAME <.*>|\1make by the Makefile|' \
> > +    -e 's|\(Language-Team: \)LANGUAGE <.*>|\1Git Mailing List <git@vger.kernel.org>|' \
> > +    >$@ && \
> > +echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
> > +endef
> >
> > -     $(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ $(XGETTEXT_FLAGS_C) $(LOCALIZED_C)
> > -     $(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_SH) \
> > -             $(LOCALIZED_SH)
> > -     $(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_PERL) \
> > -             $(LOCALIZED_PERL)
> > +.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
> > +     $(call mkdir_p_parent_template)
> > +     $(QUIET_GEN)$(gen_pot_header)
>
> So re a previous round I think the addition of a header to po/git.pot
> doesn't make sense, i.e. it's not needed, so we can just drop this
> entirely.

You missed a note about this in commit log in this reroll:

    The "po/git.pot" file should have a header entry, because a proper
    header entry will increase the speed of creating a new po file using
    msginit and set a proper "POT-Creation-Date:" field in the header
    entry of a "po/XX.po" file. We use xgettext to generate a separate
    header file at ".build/pot/git.header" from "/dev/null", and use this
    header to assemble "po/git.pot".

> But if you really want to include it anyway then this dependency is
> broken, the header just depends on this gen_pot_header you've defined,
> we don't need to re-generate it every time any single source file
> changes.

The header file ".build/pot/git.header" should have the same
prerequisites as the file "po/git.pot". This is because we need to
refresh the timestamp of the "POT-Creation-Date:" field.

> Or is the intent to have its timestamp bumped if any of the source files
> change?

Right. Just like using xgettext to create a "po/git.pot" with a fresh
header entry, we should recreate the header file for msgcat to create
"po/git.pot".

We want to switch to a new l10n workflow, and we want everything works
as usual. When l10n contributors update their "po/XX.po" file, it
should contain the latest "POT-Creation-Date" timestamp instead of
sticking to a fixed and outdated timestamp.

> If so I think that to the extent we need headers at all (for the *.po
> files) it might be worthwhile to just have the timestamp be the same
> epoch we use for the tests in t/, i.e. never update it and avoid the
> needless churn. If people need to check when things were last changed,
> or initially added, they can use this little thing called "git" :)

I stick to my option, see above.

^ permalink raw reply	[flat|nested] 110+ messages in thread

* [PATCH v4 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-23  1:25   ` [PATCH v3 " Jiang Xin
  2022-05-23  7:15     ` Ævar Arnfjörð Bjarmason
@ 2022-05-23 15:21     ` Jiang Xin
  2022-05-23 18:19       ` Junio C Hamano
                         ` (11 more replies)
  2022-05-23 15:21     ` [PATCH v4 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
                       ` (8 subsequent siblings)
  10 siblings, 12 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23 15:21 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

Changes since v3:

1. Remove Junio's s-o-b introduced in v3.
2. Reword patch 1/9, 2/9 and 3/9.
3. Patch 6/9: should remove "po/git.pot" in "clean" instead of "distclean".
4. Patch 8/9: forget to remove "po/git-core.pot".


Range-diff vs v3:

 1:  362cd0cbe1 !  1:  325868b993 Makefile: sort "po/git.pot" by file location
    @@ Metadata
      ## Commit message ##
         Makefile: sort "po/git.pot" by file location
     
    -    We will feed xgettext with more C souce files and in different order in
    -    subsequent commit. To generate a stable "po/git.pot" regardless of the
    -    number and order of input source files, we add a new option
    +    We will feed xgettext with more C source files and in different order
    +    in subsequent commit. To generate a stable "po/git.pot" regardless of
    +    the number and order of input source files, we pass the option
         "--sort-by-file" to xgettext program.
     
    -    With this update, the newly generated "po/git.pot" will has the same
    +    With this update, the newly generated "po/git.pot" will have the same
         entries while in a different order.
     
         With the help of a custom diff driver as shown below,
    @@ Commit message
             git config --global diff.gettext-fmt.textconv \
                 "msgcat --no-location --sort-by-file"
     
    -    and appending a new entry "*.po diff=gettext-fmt" to git attributes,
    +    and appending a new entry "*.pot diff=gettext-fmt" to git attributes,
         we can see that there are no substantial changes in "po/git.pot".
     
         We won't checkin the newly generated "po/git.pot", because we will
         remove it from tree in a later commit.
     
         Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
    -    Signed-off-by: Junio C Hamano <gitster@pobox.com>
     
      ## Makefile ##
     @@ Makefile: XGETTEXT_FLAGS = \
 2:  096e700171 !  2:  acf2f62e66 Makefile: generate "po/git.pot" from stable LOCALIZED_C
    @@ Metadata
      ## Commit message ##
         Makefile: generate "po/git.pot" from stable LOCALIZED_C
     
    -    When running "make pot" on different platform, we may get a different
    -    message template file "po/git.pot". This is because the "LOCALIZED_C"
    -    variable may have different C source files on different platforms or
    -    different compiler conditions.
    -
    -    We can make a stable "LOCALIZED_C" variable by applying patch snippets
    -    as follows:
    -
    -         ifdef NO_LIBGEN_H
    -             COMPAT_CFLAGS += -DNO_LIBGEN_H
    -             COMPAT_OBJS += compat/basename.o
    -        +else
    -        +    LOCALIZED_C += compat/basename.c
    -         endif
    -
    -    But it is much simpler to use variables "$(FOUND_C_SOURCES)" and
    -    "$(FOUND_C_SOURCES)" to form a stable "LOCALIZED_C". We also add
    -    "$(SCALAR_SOURCES)" files, which are part of C_OBJ but not included in
    -    "$(FOUND_C_SOURCES)" because they are in the "contrib/" directory.
    +    Different users may generate a different message template file
    +    "po/git.pot". This is because the POT file is generated from
    +    "$(LOCALIZED_C)", which is supposed to list all the sources that we
    +    extract the strings to be translated from. But "$(LOCALIZED_C)"
    +    includes "$(C_OBJ)", which only lists the source files used in the
    +    current build for a specific platform and specific compiler
    +    conditions.
    +
    +    Instead of using "$(C_OBJ)", we use "$(FOUND_C_SOURCES)", which lists
    +    all source files we keep track of (or ship in a tarball extract), to
    +    form a stable "LOCALIZED_C". We also add "$(SCALAR_SOURCES)", which
    +    is part of "$(C_OBJ)" but not included in "$(FOUND_C_SOURCES)".
     
         With this update, the newly generated "po/git.pot" will have 30 new
         entries coming from the following C source files:
    @@ Commit message
          * compat/simple-ipc/ipc-win32.c
     
         Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
    -    Signed-off-by: Junio C Hamano <gitster@pobox.com>
     
      ## Makefile ##
     @@ Makefile: XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
 3:  dff3751260 !  3:  775c37bc69 Makefile: have "make pot" not "reset --hard"
    @@ Commit message
         Makefile: have "make pot" not "reset --hard"
     
         Before commit fc0fd5b23b (Makefile: help gettext tools to cope with our
    -    custom PRItime format, 2017-07-20) we'd consider source files as-is
    +    custom PRItime format, 2017-07-20), we'd consider source files as-is
         with gettext, but because we need to understand PRItime in the same way
    -    that gettext itself understands PRIuMAX we'd first check if we had a
    +    that gettext itself understands PRIuMAX, we'd first check if we had a
         clean checkout, then munge all of the processed files in-place with
         "sed", generate "po/git.pot", and then finally "reset --hard" to undo
         our changes.
    @@ Commit message
     
         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
         Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
    -    Signed-off-by: Junio C Hamano <gitster@pobox.com>
     
      ## .gitignore ##
     @@
 4:  1b7efb21ae !  4:  55ee049b0a i18n CI: stop allowing non-ASCII source messages in po/git.pot
    @@ Commit message
     
         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
         Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
    -    Signed-off-by: Junio C Hamano <gitster@pobox.com>
     
      ## Makefile ##
     @@ Makefile: XGETTEXT_FLAGS = \
 5:  8ce274b31f =  5:  69338521aa po/git.pot: this is now a generated file
 6:  4585be63f7 !  6:  6f80bd0461 po/git.pot: don't check in result of "make pot"
    @@ Commit message
     
         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
         Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
    -    Signed-off-by: Junio C Hamano <gitster@pobox.com>
     
      ## Makefile ##
     @@ Makefile: endef
    @@ Makefile: endef
      
      .PHONY: pot
      pot: po/git.pot
    -@@ Makefile: dist-doc: git$X
    +@@ Makefile: cocciclean:
      
    - distclean: clean
    - 	$(RM) configure
    + clean: profile-clean coverage-clean cocciclean
    + 	$(RM) -r .build
     +	$(RM) po/git.pot
    - 	$(RM) config.log config.status config.cache
    - 	$(RM) config.mak.autogen config.mak.append
    - 	$(RM) -r autom4te.cache
    + 	$(RM) *.res
    + 	$(RM) $(OBJECTS)
    + 	$(RM) $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(REFTABLE_TEST_LIB)
     
      ## po/.gitignore ##
     @@
 7:  b8f43b520c !  7:  5cd2c0741d Makefile: add "po-update" rule to update po/XX.po
    @@ Commit message
             $ make po-update PO_FILE=po/zh_CN.po
     
         Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
    -    Signed-off-by: Junio C Hamano <gitster@pobox.com>
     
      ## Makefile ##
     @@ Makefile: TCLTK_PATH = wish
 8:  019633c7a4 !  8:  246720695a Makefile: add "po-init" rule to initialize po/XX.po
    @@ Commit message
         [^1]: https://github.com/git-l10n/git-po-helper/
     
         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
    -    Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
    -    Signed-off-by: Junio C Hamano <gitster@pobox.com>
     
      ## Makefile ##
     @@ Makefile: po-update: po/git.pot
    @@ Makefile: po-update: po/git.pot
      ifdef NO_GETTEXT
      POFILES :=
      MOFILES :=
    +@@ Makefile: 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)
     
      ## po/.gitignore ##
     @@
 9:  334117bf48 !  9:  131f52ac3a l10n: Document the new l10n workflow
    @@ Commit message
     
         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
         Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
    -    Signed-off-by: Junio C Hamano <gitster@pobox.com>
     
      ## po/README.md ##
     @@ po/README.md: coordinates our localization effort in the l10 coordinator repository:

---

Jiang Xin (4):
  Makefile: sort "po/git.pot" by file location
  Makefile: generate "po/git.pot" from stable LOCALIZED_C
  po/git.pot: this is now a generated file
  Makefile: add "po-update" rule to update po/XX.po

Ævar Arnfjörð Bjarmason (5):
  Makefile: have "make pot" not "reset --hard"
  i18n CI: stop allowing non-ASCII source messages in po/git.pot
  po/git.pot: don't check in result of "make pot"
  Makefile: add "po-init" rule to initialize po/XX.po
  l10n: Document the new l10n workflow

 .gitignore                  |     1 +
 Makefile                    |   148 +-
 builtin/submodule--helper.c |     2 +-
 ci/run-static-analysis.sh   |     2 +
 po/.gitignore               |     2 +
 po/README.md                |   230 +-
 po/git.pot                  | 25151 ----------------------------------
 shared.mak                  |     2 +
 8 files changed, 250 insertions(+), 25288 deletions(-)
 delete mode 100644 po/git.pot

-- 
2.36.0.1.g15c4090757


^ permalink raw reply	[flat|nested] 110+ messages in thread

* [PATCH v4 1/9] Makefile: sort "po/git.pot" by file location
  2022-05-23  1:25   ` [PATCH v3 " Jiang Xin
  2022-05-23  7:15     ` Ævar Arnfjörð Bjarmason
  2022-05-23 15:21     ` [PATCH v4 " Jiang Xin
@ 2022-05-23 15:21     ` Jiang Xin
  2022-05-23 15:21     ` [PATCH v4 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
                       ` (7 subsequent siblings)
  10 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23 15:21 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

We will feed xgettext with more C source files and in different order
in subsequent commit. To generate a stable "po/git.pot" regardless of
the number and order of input source files, we pass the option
"--sort-by-file" to xgettext program.

With this update, the newly generated "po/git.pot" will have the same
entries while in a different order.

With the help of a custom diff driver as shown below,

    git config --global diff.gettext-fmt.textconv \
        "msgcat --no-location --sort-by-file"

and appending a new entry "*.pot diff=gettext-fmt" to git attributes,
we can see that there are no substantial changes in "po/git.pot".

We won't checkin the newly generated "po/git.pot", because we will
remove it from tree in a later commit.

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Makefile b/Makefile
index f8bccfab5e..83e968e2a4 100644
--- a/Makefile
+++ b/Makefile
@@ -2706,6 +2706,7 @@ XGETTEXT_FLAGS = \
 	--force-po \
 	--add-comments=TRANSLATORS: \
 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
+	--sort-by-file \
 	--from-code=UTF-8
 XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
 	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v4 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C
  2022-05-23  1:25   ` [PATCH v3 " Jiang Xin
                       ` (2 preceding siblings ...)
  2022-05-23 15:21     ` [PATCH v4 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
@ 2022-05-23 15:21     ` Jiang Xin
  2022-05-23 15:21     ` [PATCH v4 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
                       ` (6 subsequent siblings)
  10 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23 15:21 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

Different users may generate a different message template file
"po/git.pot". This is because the POT file is generated from
"$(LOCALIZED_C)", which is supposed to list all the sources that we
extract the strings to be translated from. But "$(LOCALIZED_C)"
includes "$(C_OBJ)", which only lists the source files used in the
current build for a specific platform and specific compiler
conditions.

Instead of using "$(C_OBJ)", we use "$(FOUND_C_SOURCES)", which lists
all source files we keep track of (or ship in a tarball extract), to
form a stable "LOCALIZED_C". We also add "$(SCALAR_SOURCES)", which
is part of "$(C_OBJ)" but not included in "$(FOUND_C_SOURCES)".

With this update, the newly generated "po/git.pot" will have 30 new
entries coming from the following C source files:

 * compat/fsmonitor/fsm-listen-win32.c
 * compat/mingw.c
 * compat/regex/regcomp.c
 * compat/simple-ipc/ipc-win32.c

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 83e968e2a4..46914dcd80 100644
--- a/Makefile
+++ b/Makefile
@@ -2714,7 +2714,8 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
 	--keyword=gettextln --keyword=eval_gettextln
 XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
-LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
+LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
+	      $(GENERATED_H)
 LOCALIZED_SH = $(SCRIPT_SH)
 LOCALIZED_SH += git-sh-setup.sh
 LOCALIZED_PERL = $(SCRIPT_PERL)
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v4 3/9] Makefile: have "make pot" not "reset --hard"
  2022-05-23  1:25   ` [PATCH v3 " Jiang Xin
                       ` (3 preceding siblings ...)
  2022-05-23 15:21     ` [PATCH v4 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
@ 2022-05-23 15:21     ` Jiang Xin
  2022-05-25 22:19       ` Junio C Hamano
  2022-05-23 15:21     ` [PATCH v4 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
                       ` (5 subsequent siblings)
  10 siblings, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-23 15:21 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin, Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Before commit fc0fd5b23b (Makefile: help gettext tools to cope with our
custom PRItime format, 2017-07-20), we'd consider source files as-is
with gettext, but because we need to understand PRItime in the same way
that gettext itself understands PRIuMAX, we'd first check if we had a
clean checkout, then munge all of the processed files in-place with
"sed", generate "po/git.pot", and then finally "reset --hard" to undo
our changes.

By generating "pot" snippets in ".build/pot/po" for each source file
and rewriting certain source files with PRItime macros to temporary
files in ".build/pot/po", we can avoid running "make pot" by altering
files in place and doing a "reset --hard" afterwards.

This speed of "make pot" is slower than before on an initial run,
because we run "xgettext" many times (once per source file), but it
can be boosted by parallelization. It is *much* faster for incremental
runs, and will allow us to implement related targets in subsequent
commits.

When the "pot" target was originally added in cd5513a7168 (i18n:
Makefile: "pot" target to extract messages marked for translation,
2011-02-22) it behaved like a "normal" target. I.e. we'd skip the
re-generation of the po/git.pot if nothing had to be done.

Then after po/git.pot was checked in in dce37b66fb0 (l10n: initial
git.pot for 1.7.10 upcoming release, 2012-02-13) the target was broken
until 1f31963e921 (i18n: treat "make pot" as an explicitly-invoked
target, 2014-08-22) when it was made to depend on "FORCE". I.e. the
Makefile's dependency resolution inherently can't handle incremental
building when the target file may be updated by git (or something else
external to "make"). But this case no longer applies, so FORCE is no
longer needed.

That out of the way, the main logic change here is getting rid of the
"reset --hard":

We'll generate intermediate ".build/pot/po/%.po" files from "%", which
is handy to see at a glance what strings (if any) in a given file are
marked for translation:

	$ make .build/pot/po/pretty.c.po
	[...]
	$ cat .build/pot/po/pretty.c.po
	#: pretty.c:1051
	msgid "unable to parse --pretty format"
	msgstr ""
	$

For these C source files which contain the PRItime macros, we will
create temporary munged "*.c" files in a tree in ".build/pot/po"
corresponding to our source tree, and have "xgettext" consider those.
The rule needs to be careful to "(cd .build/pot/po && ...)", because
otherwise the comments in the po/git.pot file wouldn't refer to the
correct source locations (they'd be prefixed with ".build/pot/po").
These temporary munged "*.c” files will be removed immediately after
the corresponding po files are generated, because some development tools
cannot ignore the duplicate source files in the ".build" directory
according to the ".gitignore" file, and that may cause trouble.

The output of the generated po/git.pot file is changed in one minor
way: Because we're using msgcat(1) instead of xgettext(1) to
concatenate the output we'll now disambiguate where "TRANSLATORS"
comments come from, in cases where a message is the same in N files,
and either only one has a "TRANSLATORS" comment, or they're
different. E.g. for the "Your edited hunk[...]" message we'll now
apply this change (comment content elided):

	+#. #-#-#-#-#  add-patch.c.po  #-#-#-#-#
	 #. TRANSLATORS: do not translate [y/n]
	[...]
	+#. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#
	 #. TRANSLATORS: do not translate [y/n]
	[...]
	 #: add-patch.c:1253 git-add--interactive.perl:1244
	 msgid ""
	 "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
	 msgstr ""

There are six such changes, and they all make the context more
understandable, as msgcat(1) is better at handling these edge cases
than xgettext(1)'s previously used "--join-existing" flag.

But filenames in the above disambiguation lines of extracted-comments
have an extra ".po" extension compared to the filenames at the file
locations. While we could rename the intermediate ".build/pot/po/%.po"
files without the ".po" extension to use more intuitive filenames in
the disambiguation lines of extracted-comments, but that will confuse
developer tools with lots of invalid C or other source files in
".build/pot/po" directory.

The addition of "--omit-header" option for xgettext makes the "pot"
snippets in ".build/pot/po/*.po" smaller. But as we'll see in a
subsequent commit this header behavior has been hiding an
encoding-related bug from us, so let's carry it forward instead of
re-generating it with xgettext(1).

The "po/git.pot" file should have a header entry, because a proper
header entry will increase the speed of creating a new po file using
msginit and set a proper "POT-Creation-Date:" field in the header
entry of a "po/XX.po" file. We use xgettext to generate a separate
header file at ".build/pot/git.header" from "/dev/null", and use this
header to assemble "po/git.pot".

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 .gitignore |  1 +
 Makefile   | 80 ++++++++++++++++++++++++++++++++++++++++--------------
 2 files changed, 60 insertions(+), 21 deletions(-)

diff --git a/.gitignore b/.gitignore
index e81de1063a..a452215764 100644
--- a/.gitignore
+++ b/.gitignore
@@ -200,6 +200,7 @@
 *.[aos]
 *.o.json
 *.py[co]
+.build/
 .depend/
 *.gcda
 *.gcno
diff --git a/Makefile b/Makefile
index 46914dcd80..1962999c18 100644
--- a/Makefile
+++ b/Makefile
@@ -569,6 +569,7 @@ INSTALL = install
 TCL_PATH = tclsh
 TCLTK_PATH = wish
 XGETTEXT = xgettext
+MSGCAT = msgcat
 MSGFMT = msgfmt
 CURL_CONFIG = curl-config
 GCOV = gcov
@@ -2706,6 +2707,7 @@ XGETTEXT_FLAGS = \
 	--force-po \
 	--add-comments=TRANSLATORS: \
 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
+	--package-name=Git \
 	--sort-by-file \
 	--from-code=UTF-8
 XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
@@ -2714,6 +2716,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
 	--keyword=gettextln --keyword=eval_gettextln
 XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
+MSGCAT_FLAGS = --sort-by-file
 LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
 	      $(GENERATED_H)
 LOCALIZED_SH = $(SCRIPT_SH)
@@ -2726,34 +2729,68 @@ LOCALIZED_SH += t/t0200/test.sh
 LOCALIZED_PERL += t/t0200/test.perl
 endif
 
-## Note that this is meant to be run only by the localization coordinator
-## under a very controlled condition, i.e. (1) it is to be run in a
-## Git repository (not a tarball extract), (2) any local modifications
-## will be lost.
+## We generate intermediate .build/pot/po/%.po files containing a
+## extract of the translations we find in each file in the source
+## tree. We will assemble them using msgcat to create the final
+## "po/git.pot" file.
+LOCALIZED_ALL_GEN_PO =
+
+LOCALIZED_C_GEN_PO = $(LOCALIZED_C:%=.build/pot/po/%.po)
+LOCALIZED_ALL_GEN_PO += $(LOCALIZED_C_GEN_PO)
+
+LOCALIZED_SH_GEN_PO = $(LOCALIZED_SH:%=.build/pot/po/%.po)
+LOCALIZED_ALL_GEN_PO += $(LOCALIZED_SH_GEN_PO)
+
+LOCALIZED_PERL_GEN_PO = $(LOCALIZED_PERL:%=.build/pot/po/%.po)
+LOCALIZED_ALL_GEN_PO += $(LOCALIZED_PERL_GEN_PO)
+
 ## Gettext tools cannot work with our own custom PRItime type, so
 ## we replace PRItime with PRIuMAX.  We need to update this to
 ## PRIdMAX if we switch to a signed type later.
+$(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT) \
+	    if grep -q PRItime $<; then \
+		(\
+			sed -e 's|PRItime|PRIuMAX|g' <$< \
+				>.build/pot/po/$< && \
+			cd .build/pot/po && \
+			$(XGETTEXT) --omit-header \
+				-o $(@:.build/pot/po/%=%) \
+				$(XGETTEXT_FLAGS_C) $< && \
+			rm $<; \
+		); \
+	    else \
+		$(XGETTEXT) --omit-header \
+			-o $@ $(XGETTEXT_FLAGS_C) $<; \
+	    fi
 
-po/git.pot: $(GENERATED_H) FORCE
-	# All modifications will be reverted at the end, so we do not
-	# want to have any local change.
-	git diff --quiet HEAD && git diff --quiet --cached
+$(LOCALIZED_SH_GEN_PO): .build/pot/po/%.po: %
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
+		-o$@ $(XGETTEXT_FLAGS_SH) $<
 
-	@for s in $(LOCALIZED_C) $(LOCALIZED_SH) $(LOCALIZED_PERL); \
-	do \
-		sed -e 's|PRItime|PRIuMAX|g' <"$$s" >"$$s+" && \
-		cat "$$s+" >"$$s" && rm "$$s+"; \
-	done
+$(LOCALIZED_PERL_GEN_PO): .build/pot/po/%.po: %
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
+		-o$@ $(XGETTEXT_FLAGS_PERL) $<
+
+define gen_pot_header
+$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
+	-o - /dev/null | \
+sed -e 's|charset=CHARSET|charset=UTF-8|' \
+    -e 's|\(Last-Translator: \)FULL NAME <.*>|\1make by the Makefile|' \
+    -e 's|\(Language-Team: \)LANGUAGE <.*>|\1Git Mailing List <git@vger.kernel.org>|' \
+    >$@ && \
+echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
+endef
 
-	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ $(XGETTEXT_FLAGS_C) $(LOCALIZED_C)
-	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_SH) \
-		$(LOCALIZED_SH)
-	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_PERL) \
-		$(LOCALIZED_PERL)
+.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
+	$(call mkdir_p_parent_template)
+	$(QUIET_GEN)$(gen_pot_header)
 
-	# Reverting the munged source, leaving only the updated $@
-	git reset --hard
-	mv $@+ $@
+po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO) FORCE
+	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $(filter-out FORCE,$^) >$@
 
 .PHONY: pot
 pot: po/git.pot
@@ -3292,6 +3329,7 @@ cocciclean:
 	$(RM) contrib/coccinelle/*.cocci.patch*
 
 clean: profile-clean coverage-clean cocciclean
+	$(RM) -r .build
 	$(RM) *.res
 	$(RM) $(OBJECTS)
 	$(RM) $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(REFTABLE_TEST_LIB)
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v4 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot
  2022-05-23  1:25   ` [PATCH v3 " Jiang Xin
                       ` (4 preceding siblings ...)
  2022-05-23 15:21     ` [PATCH v4 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
@ 2022-05-23 15:21     ` Jiang Xin
  2022-05-23 15:21     ` [PATCH v4 5/9] po/git.pot: this is now a generated file Jiang Xin
                       ` (4 subsequent siblings)
  10 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23 15:21 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin, Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

In the preceding commit we moved away from using xgettext(1) to both
generate the po/git.pot, and to merge the incrementally generated
po/git.pot+ file as we sourced translations from C, shell and Perl.

Doing it this way, which dates back to my initial
implementation[1][2][3] was conflating two things: With xgettext(1)
the --from-code both controls what encoding is specified in the
po/git.pot's header, and what encoding we allow in source messages.

We don't ever want to allow non-ASCII in *source messages*, and doing
so has hid e.g. a buggy message introduced in
a6226fd772b (submodule--helper: convert the bulk of cmd_add() to C,
2021-08-10) from us, we'd warn about it before, but only when running
"make pot", but the operation would still succeed. Now we'll error out
on it when running "make pot".

Since the preceding Makefile changes made this easy: let's add a "make
check-pot" target with the same prerequisites as the "po/git.pot"
target, but without changing the file "po/git.pot". Running it as part
of the "static-analysis" CI target will ensure that we catch any such
issues in the future. E.g.:

    $ make check-pot
        XGETTEXT .build/pot/po/builtin/submodule--helper.c.po
    xgettext: Non-ASCII string at builtin/submodule--helper.c:3381.
              Please specify the source encoding through --from-code.
    make: *** [.build/pot/po/builtin/submodule--helper.c.po] Error 1

1. cd5513a7168 (i18n: Makefile: "pot" target to extract messages
   marked for translation, 2011-02-22)
2. adc3b2b2767 (Makefile: add xgettext target for *.sh files,
   2011-05-14)
3. 5e9637c6297 (i18n: add infrastructure for translating Git with
   gettext, 2011-11-18)

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Makefile                    | 6 ++++--
 builtin/submodule--helper.c | 2 +-
 ci/run-static-analysis.sh   | 2 ++
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 1962999c18..70d5f41c3f 100644
--- a/Makefile
+++ b/Makefile
@@ -2708,8 +2708,7 @@ XGETTEXT_FLAGS = \
 	--add-comments=TRANSLATORS: \
 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
 	--package-name=Git \
-	--sort-by-file \
-	--from-code=UTF-8
+	--sort-by-file
 XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
 	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
 XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
@@ -2795,6 +2794,9 @@ po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO) FORCE
 .PHONY: pot
 pot: po/git.pot
 
+.PHONY: check-pot
+check-pot: $(LOCALIZED_ALL_GEN_PO)
+
 ifdef NO_GETTEXT
 POFILES :=
 MOFILES :=
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index 2c87ef9364..b97f02eed5 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -3378,7 +3378,7 @@ static int module_add(int argc, const char **argv, const char *prefix)
 			   N_("reference repository")),
 		OPT_BOOL(0, "dissociate", &dissociate, N_("borrow the objects from reference repositories")),
 		OPT_STRING(0, "name", &add_data.sm_name, N_("name"),
-			   N_("sets the submodule’s name to the given string "
+			   N_("sets the submodule's name to the given string "
 			      "instead of defaulting to its path")),
 		OPT_INTEGER(0, "depth", &add_data.depth, N_("depth for shallow clones")),
 		OPT_END()
diff --git a/ci/run-static-analysis.sh b/ci/run-static-analysis.sh
index 65bcebda41..0d51e5ce0e 100755
--- a/ci/run-static-analysis.sh
+++ b/ci/run-static-analysis.sh
@@ -29,4 +29,6 @@ fi
 make hdr-check ||
 exit 1
 
+make check-pot
+
 save_good_tree
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v4 5/9] po/git.pot: this is now a generated file
  2022-05-23  1:25   ` [PATCH v3 " Jiang Xin
                       ` (5 preceding siblings ...)
  2022-05-23 15:21     ` [PATCH v4 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
@ 2022-05-23 15:21     ` Jiang Xin
  2022-05-23 15:21     ` [PATCH v4 6/9] po/git.pot: don't check in result of "make pot" Jiang Xin
                       ` (3 subsequent siblings)
  10 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23 15:21 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

We no longer keep track of the contents of this file.

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 po/git.pot | 25151 ---------------------------------------------------
 1 file changed, 25151 deletions(-)
 delete mode 100644 po/git.pot

diff --git a/po/git.pot b/po/git.pot
deleted file mode 100644
index 054cb99c06..0000000000
--- a/po/git.pot
+++ /dev/null
@@ -1,25151 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2022-04-13 14:52+0800\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-
-#: add-interactive.c:382
-#, c-format
-msgid "Huh (%s)?"
-msgstr ""
-
-#: add-interactive.c:535 add-interactive.c:836 reset.c:136 sequencer.c:3505
-#: sequencer.c:3970 sequencer.c:4127 builtin/rebase.c:1261
-#: builtin/rebase.c:1671
-msgid "could not read index"
-msgstr ""
-
-#: add-interactive.c:590 git-add--interactive.perl:269
-#: git-add--interactive.perl:294
-msgid "binary"
-msgstr ""
-
-#: add-interactive.c:648 git-add--interactive.perl:278
-#: git-add--interactive.perl:332
-msgid "nothing"
-msgstr ""
-
-#: add-interactive.c:649 git-add--interactive.perl:314
-#: git-add--interactive.perl:329
-msgid "unchanged"
-msgstr ""
-
-#: add-interactive.c:686 git-add--interactive.perl:641
-msgid "Update"
-msgstr ""
-
-#: add-interactive.c:703 add-interactive.c:891
-#, c-format
-msgid "could not stage '%s'"
-msgstr ""
-
-#: add-interactive.c:709 add-interactive.c:898 reset.c:160 sequencer.c:3709
-msgid "could not write index"
-msgstr ""
-
-#: add-interactive.c:712 git-add--interactive.perl:626
-#, c-format, perl-format
-msgid "updated %d path\n"
-msgid_plural "updated %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: add-interactive.c:730 git-add--interactive.perl:676
-#, c-format, perl-format
-msgid "note: %s is untracked now.\n"
-msgstr ""
-
-#: add-interactive.c:735 apply.c:4133 builtin/checkout.c:311
-#: builtin/reset.c:167
-#, c-format
-msgid "make_cache_entry failed for path '%s'"
-msgstr ""
-
-#: add-interactive.c:765 git-add--interactive.perl:653
-msgid "Revert"
-msgstr ""
-
-#: add-interactive.c:781
-msgid "Could not parse HEAD^{tree}"
-msgstr ""
-
-#: add-interactive.c:819 git-add--interactive.perl:629
-#, c-format, perl-format
-msgid "reverted %d path\n"
-msgid_plural "reverted %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: add-interactive.c:870 git-add--interactive.perl:693
-#, c-format
-msgid "No untracked files.\n"
-msgstr ""
-
-#: add-interactive.c:874 git-add--interactive.perl:687
-msgid "Add untracked"
-msgstr ""
-
-#: add-interactive.c:901 git-add--interactive.perl:623
-#, c-format, perl-format
-msgid "added %d path\n"
-msgid_plural "added %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: add-interactive.c:931
-#, c-format
-msgid "ignoring unmerged: %s"
-msgstr ""
-
-#: add-interactive.c:943 add-patch.c:1758 git-add--interactive.perl:1371
-#, c-format
-msgid "Only binary files changed.\n"
-msgstr ""
-
-#: add-interactive.c:945 add-patch.c:1756 git-add--interactive.perl:1373
-#, c-format
-msgid "No changes.\n"
-msgstr ""
-
-#: add-interactive.c:949 git-add--interactive.perl:1381
-msgid "Patch update"
-msgstr ""
-
-#: add-interactive.c:988 git-add--interactive.perl:1794
-msgid "Review diff"
-msgstr ""
-
-#: add-interactive.c:1016
-msgid "show paths with changes"
-msgstr ""
-
-#: add-interactive.c:1018
-msgid "add working tree state to the staged set of changes"
-msgstr ""
-
-#: add-interactive.c:1020
-msgid "revert staged set of changes back to the HEAD version"
-msgstr ""
-
-#: add-interactive.c:1022
-msgid "pick hunks and update selectively"
-msgstr ""
-
-#: add-interactive.c:1024
-msgid "view diff between HEAD and index"
-msgstr ""
-
-#: add-interactive.c:1026
-msgid "add contents of untracked files to the staged set of changes"
-msgstr ""
-
-#: add-interactive.c:1034 add-interactive.c:1083
-msgid "Prompt help:"
-msgstr ""
-
-#: add-interactive.c:1036
-msgid "select a single item"
-msgstr ""
-
-#: add-interactive.c:1038
-msgid "select a range of items"
-msgstr ""
-
-#: add-interactive.c:1040
-msgid "select multiple ranges"
-msgstr ""
-
-#: add-interactive.c:1042 add-interactive.c:1087
-msgid "select item based on unique prefix"
-msgstr ""
-
-#: add-interactive.c:1044
-msgid "unselect specified items"
-msgstr ""
-
-#: add-interactive.c:1046
-msgid "choose all items"
-msgstr ""
-
-#: add-interactive.c:1048
-msgid "(empty) finish selecting"
-msgstr ""
-
-#: add-interactive.c:1085
-msgid "select a numbered item"
-msgstr ""
-
-#: add-interactive.c:1089
-msgid "(empty) select nothing"
-msgstr ""
-
-#: add-interactive.c:1097 builtin/clean.c:839 git-add--interactive.perl:1898
-msgid "*** Commands ***"
-msgstr ""
-
-#: add-interactive.c:1098 builtin/clean.c:840 git-add--interactive.perl:1895
-msgid "What now"
-msgstr ""
-
-#: add-interactive.c:1150 git-add--interactive.perl:213
-msgid "staged"
-msgstr ""
-
-#: add-interactive.c:1150 git-add--interactive.perl:213
-msgid "unstaged"
-msgstr ""
-
-#: add-interactive.c:1150 apply.c:5002 apply.c:5005 builtin/am.c:2370
-#: builtin/am.c:2373 builtin/bugreport.c:107 builtin/clone.c:132
-#: builtin/fetch.c:154 builtin/merge.c:287 builtin/pull.c:194
-#: builtin/submodule--helper.c:412 builtin/submodule--helper.c:1872
-#: builtin/submodule--helper.c:1875 builtin/submodule--helper.c:2709
-#: builtin/submodule--helper.c:2712 builtin/submodule--helper.c:2891
-#: git-add--interactive.perl:213
-msgid "path"
-msgstr ""
-
-#: add-interactive.c:1157
-msgid "could not refresh index"
-msgstr ""
-
-#: add-interactive.c:1171 builtin/clean.c:804 git-add--interactive.perl:1805
-#, c-format
-msgid "Bye.\n"
-msgstr ""
-
-#: add-patch.c:34 git-add--interactive.perl:1433
-#, c-format, perl-format
-msgid "Stage mode change [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:35 git-add--interactive.perl:1434
-#, c-format, perl-format
-msgid "Stage deletion [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:36 git-add--interactive.perl:1435
-#, c-format, perl-format
-msgid "Stage addition [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:37 git-add--interactive.perl:1436
-#, c-format, perl-format
-msgid "Stage this hunk [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:39
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"staging."
-msgstr ""
-
-#: add-patch.c:42
-msgid ""
-"y - stage this hunk\n"
-"n - do not stage this hunk\n"
-"q - quit; do not stage this hunk or any of the remaining ones\n"
-"a - stage this hunk and all later hunks in the file\n"
-"d - do not stage this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:56 git-add--interactive.perl:1439
-#, c-format, perl-format
-msgid "Stash mode change [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:57 git-add--interactive.perl:1440
-#, c-format, perl-format
-msgid "Stash deletion [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:58 git-add--interactive.perl:1441
-#, c-format, perl-format
-msgid "Stash addition [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:59 git-add--interactive.perl:1442
-#, c-format, perl-format
-msgid "Stash this hunk [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:61
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"stashing."
-msgstr ""
-
-#: add-patch.c:64
-msgid ""
-"y - stash this hunk\n"
-"n - do not stash this hunk\n"
-"q - quit; do not stash this hunk or any of the remaining ones\n"
-"a - stash this hunk and all later hunks in the file\n"
-"d - do not stash this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:80 git-add--interactive.perl:1445
-#, c-format, perl-format
-msgid "Unstage mode change [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:81 git-add--interactive.perl:1446
-#, c-format, perl-format
-msgid "Unstage deletion [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:82 git-add--interactive.perl:1447
-#, c-format, perl-format
-msgid "Unstage addition [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:83 git-add--interactive.perl:1448
-#, c-format, perl-format
-msgid "Unstage this hunk [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:85
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"unstaging."
-msgstr ""
-
-#: add-patch.c:88
-msgid ""
-"y - unstage this hunk\n"
-"n - do not unstage this hunk\n"
-"q - quit; do not unstage this hunk or any of the remaining ones\n"
-"a - unstage this hunk and all later hunks in the file\n"
-"d - do not unstage this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:103 git-add--interactive.perl:1451
-#, c-format, perl-format
-msgid "Apply mode change to index [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:104 git-add--interactive.perl:1452
-#, c-format, perl-format
-msgid "Apply deletion to index [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:105 git-add--interactive.perl:1453
-#, c-format, perl-format
-msgid "Apply addition to index [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:106 git-add--interactive.perl:1454
-#, c-format, perl-format
-msgid "Apply this hunk to index [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:108 add-patch.c:176 add-patch.c:221
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"applying."
-msgstr ""
-
-#: add-patch.c:111
-msgid ""
-"y - apply this hunk to index\n"
-"n - do not apply this hunk to index\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:126 git-add--interactive.perl:1457
-#: git-add--interactive.perl:1475
-#, c-format, perl-format
-msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:127 git-add--interactive.perl:1458
-#: git-add--interactive.perl:1476
-#, c-format, perl-format
-msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:128 git-add--interactive.perl:1459
-#: git-add--interactive.perl:1477
-#, c-format, perl-format
-msgid "Discard addition from worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:129 git-add--interactive.perl:1460
-#: git-add--interactive.perl:1478
-#, c-format, perl-format
-msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:131 add-patch.c:154 add-patch.c:199
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be marked for "
-"discarding."
-msgstr ""
-
-#: add-patch.c:134 add-patch.c:202
-msgid ""
-"y - discard this hunk from worktree\n"
-"n - do not discard this hunk from worktree\n"
-"q - quit; do not discard this hunk or any of the remaining ones\n"
-"a - discard this hunk and all later hunks in the file\n"
-"d - do not discard this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:149 add-patch.c:194 git-add--interactive.perl:1463
-#, c-format, perl-format
-msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:150 add-patch.c:195 git-add--interactive.perl:1464
-#, c-format, perl-format
-msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:151 add-patch.c:196 git-add--interactive.perl:1465
-#, c-format, perl-format
-msgid "Discard addition from index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:152 add-patch.c:197 git-add--interactive.perl:1466
-#, c-format, perl-format
-msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:157
-msgid ""
-"y - discard this hunk from index and worktree\n"
-"n - do not discard this hunk from index and worktree\n"
-"q - quit; do not discard this hunk or any of the remaining ones\n"
-"a - discard this hunk and all later hunks in the file\n"
-"d - do not discard this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:171 add-patch.c:216 git-add--interactive.perl:1469
-#, c-format, perl-format
-msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:172 add-patch.c:217 git-add--interactive.perl:1470
-#, c-format, perl-format
-msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:173 add-patch.c:218 git-add--interactive.perl:1471
-#, c-format, perl-format
-msgid "Apply addition to index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:174 add-patch.c:219 git-add--interactive.perl:1472
-#, c-format, perl-format
-msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: add-patch.c:179
-msgid ""
-"y - apply this hunk to index and worktree\n"
-"n - do not apply this hunk to index and worktree\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:224
-msgid ""
-"y - apply this hunk to worktree\n"
-"n - do not apply this hunk to worktree\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file\n"
-msgstr ""
-
-#: add-patch.c:343
-#, c-format
-msgid "could not parse hunk header '%.*s'"
-msgstr ""
-
-#: add-patch.c:362 add-patch.c:366
-#, c-format
-msgid "could not parse colored hunk header '%.*s'"
-msgstr ""
-
-#: add-patch.c:431
-msgid "could not parse diff"
-msgstr ""
-
-#: add-patch.c:450
-msgid "could not parse colored diff"
-msgstr ""
-
-#: add-patch.c:464
-#, c-format
-msgid "failed to run '%s'"
-msgstr ""
-
-#: add-patch.c:618
-msgid "mismatched output from interactive.diffFilter"
-msgstr ""
-
-#: add-patch.c:619
-msgid ""
-"Your filter must maintain a one-to-one correspondence\n"
-"between its input and output lines."
-msgstr ""
-
-#: add-patch.c:797
-#, c-format
-msgid ""
-"expected context line #%d in\n"
-"%.*s"
-msgstr ""
-
-#: add-patch.c:812
-#, c-format
-msgid ""
-"hunks do not overlap:\n"
-"%.*s\n"
-"\tdoes not end with:\n"
-"%.*s"
-msgstr ""
-
-#: add-patch.c:1088 git-add--interactive.perl:1115
-msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
-msgstr ""
-
-#: add-patch.c:1092
-#, c-format
-msgid ""
-"---\n"
-"To remove '%c' lines, make them ' ' lines (context).\n"
-"To remove '%c' lines, delete them.\n"
-"Lines starting with %c will be removed.\n"
-msgstr ""
-
-#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: add-patch.c:1106 git-add--interactive.perl:1129
-msgid ""
-"If it does not apply cleanly, you will be given an opportunity to\n"
-"edit again.  If all lines of the hunk are removed, then the edit is\n"
-"aborted and the hunk is left unchanged.\n"
-msgstr ""
-
-#: add-patch.c:1139
-msgid "could not parse hunk header"
-msgstr ""
-
-#: add-patch.c:1184
-msgid "'git apply --cached' failed"
-msgstr ""
-
-#. TRANSLATORS: do not translate [y/n]
-#. The program will only accept that input at this point.
-#. Consider translating (saying "no" discards!) as
-#. (saying "n" for "no" discards!) if the translation
-#. of the word "no" does not start with n.
-#.
-#. TRANSLATORS: do not translate [y/n]
-#. The program will only accept that input
-#. at this point.
-#. Consider translating (saying "no" discards!) as
-#. (saying "n" for "no" discards!) if the translation
-#. of the word "no" does not start with n.
-#: add-patch.c:1253 git-add--interactive.perl:1244
-msgid ""
-"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
-msgstr ""
-
-#: add-patch.c:1296
-msgid "The selected hunks do not apply to the index!"
-msgstr ""
-
-#: add-patch.c:1297 git-add--interactive.perl:1348
-msgid "Apply them to the worktree anyway? "
-msgstr ""
-
-#: add-patch.c:1304 git-add--interactive.perl:1351
-msgid "Nothing was applied.\n"
-msgstr ""
-
-#: add-patch.c:1361
-msgid ""
-"j - leave this hunk undecided, see next undecided hunk\n"
-"J - leave this hunk undecided, see next hunk\n"
-"k - leave this hunk undecided, see previous undecided hunk\n"
-"K - leave this hunk undecided, see previous hunk\n"
-"g - select a hunk to go to\n"
-"/ - search for a hunk matching the given regex\n"
-"s - split the current hunk into smaller hunks\n"
-"e - manually edit the current hunk\n"
-"? - print help\n"
-msgstr ""
-
-#: add-patch.c:1523 add-patch.c:1533
-msgid "No previous hunk"
-msgstr ""
-
-#: add-patch.c:1528 add-patch.c:1538
-msgid "No next hunk"
-msgstr ""
-
-#: add-patch.c:1544
-msgid "No other hunks to goto"
-msgstr ""
-
-#: add-patch.c:1555 git-add--interactive.perl:1608
-msgid "go to which hunk (<ret> to see more)? "
-msgstr ""
-
-#: add-patch.c:1556 git-add--interactive.perl:1610
-msgid "go to which hunk? "
-msgstr ""
-
-#: add-patch.c:1567
-#, c-format
-msgid "Invalid number: '%s'"
-msgstr ""
-
-#: add-patch.c:1572
-#, c-format
-msgid "Sorry, only %d hunk available."
-msgid_plural "Sorry, only %d hunks available."
-msgstr[0] ""
-msgstr[1] ""
-
-#: add-patch.c:1581
-msgid "No other hunks to search"
-msgstr ""
-
-#: add-patch.c:1587 git-add--interactive.perl:1663
-msgid "search for regex? "
-msgstr ""
-
-#: add-patch.c:1602
-#, c-format
-msgid "Malformed search regexp %s: %s"
-msgstr ""
-
-#: add-patch.c:1619
-msgid "No hunk matches the given pattern"
-msgstr ""
-
-#: add-patch.c:1626
-msgid "Sorry, cannot split this hunk"
-msgstr ""
-
-#: add-patch.c:1630
-#, c-format
-msgid "Split into %d hunks."
-msgstr ""
-
-#: add-patch.c:1634
-msgid "Sorry, cannot edit this hunk"
-msgstr ""
-
-#: add-patch.c:1686
-msgid "'git apply' failed"
-msgstr ""
-
-#: advice.c:81
-#, c-format
-msgid ""
-"\n"
-"Disable this message with \"git config advice.%s false\""
-msgstr ""
-
-#: advice.c:97
-#, c-format
-msgid "%shint: %.*s%s\n"
-msgstr ""
-
-#: advice.c:181
-msgid "Cherry-picking is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:183
-msgid "Committing is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:185
-msgid "Merging is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:187
-msgid "Pulling is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:189
-msgid "Reverting is not possible because you have unmerged files."
-msgstr ""
-
-#: advice.c:191
-#, c-format
-msgid "It is not possible to %s because you have unmerged files."
-msgstr ""
-
-#: advice.c:199
-msgid ""
-"Fix them up in the work tree, and then use 'git add/rm <file>'\n"
-"as appropriate to mark resolution and make a commit."
-msgstr ""
-
-#: advice.c:207
-msgid "Exiting because of an unresolved conflict."
-msgstr ""
-
-#: advice.c:212 builtin/merge.c:1388
-msgid "You have not concluded your merge (MERGE_HEAD exists)."
-msgstr ""
-
-#: advice.c:214
-msgid "Please, commit your changes before merging."
-msgstr ""
-
-#: advice.c:215
-msgid "Exiting because of unfinished merge."
-msgstr ""
-
-#: advice.c:220
-msgid "Not possible to fast-forward, aborting."
-msgstr ""
-
-#: advice.c:230
-#, c-format
-msgid ""
-"The following paths and/or pathspecs matched paths that exist\n"
-"outside of your sparse-checkout definition, so will not be\n"
-"updated in the index:\n"
-msgstr ""
-
-#: advice.c:237
-msgid ""
-"If you intend to update such entries, try one of the following:\n"
-"* Use the --sparse option.\n"
-"* Disable or modify the sparsity rules."
-msgstr ""
-
-#: advice.c:245
-#, c-format
-msgid ""
-"Note: switching to '%s'.\n"
-"\n"
-"You are in 'detached HEAD' state. You can look around, make experimental\n"
-"changes and commit them, and you can discard any commits you make in this\n"
-"state without impacting any branches by switching back to a branch.\n"
-"\n"
-"If you want to create a new branch to retain commits you create, you may\n"
-"do so (now or later) by using -c with the switch command. Example:\n"
-"\n"
-"  git switch -c <new-branch-name>\n"
-"\n"
-"Or undo this operation with:\n"
-"\n"
-"  git switch -\n"
-"\n"
-"Turn off this advice by setting config variable advice.detachedHead to "
-"false\n"
-"\n"
-msgstr ""
-
-#: alias.c:50
-msgid "cmdline ends with \\"
-msgstr ""
-
-#: alias.c:51
-msgid "unclosed quote"
-msgstr ""
-
-#: apply.c:70
-#, c-format
-msgid "unrecognized whitespace option '%s'"
-msgstr ""
-
-#: apply.c:86
-#, c-format
-msgid "unrecognized whitespace ignore option '%s'"
-msgstr ""
-
-#: apply.c:138 archive.c:584 parse-options.c:1122 range-diff.c:555
-#: revision.c:2314 revision.c:2318 revision.c:2327 revision.c:2332
-#: revision.c:2560 revision.c:2895 revision.c:2899 revision.c:2907
-#: revision.c:2910 revision.c:2912 builtin/add.c:507 builtin/add.c:509
-#: builtin/add.c:515 builtin/add.c:527 builtin/branch.c:755
-#: builtin/checkout.c:472 builtin/checkout.c:475 builtin/checkout.c:1663
-#: builtin/checkout.c:1773 builtin/checkout.c:1776 builtin/clone.c:921
-#: builtin/commit.c:359 builtin/commit.c:362 builtin/commit.c:1200
-#: builtin/commit.c:1256 builtin/commit.c:1273 builtin/describe.c:593
-#: builtin/diff-tree.c:155 builtin/difftool.c:733 builtin/fast-export.c:1245
-#: builtin/fetch.c:2141 builtin/fetch.c:2162 builtin/fetch.c:2167
-#: builtin/help.c:602 builtin/index-pack.c:1858 builtin/init-db.c:560
-#: builtin/log.c:1968 builtin/log.c:1970 builtin/ls-files.c:778
-#: builtin/merge-base.c:163 builtin/merge-base.c:169 builtin/merge.c:1409
-#: builtin/merge.c:1411 builtin/pack-objects.c:4098 builtin/push.c:592
-#: builtin/push.c:630 builtin/push.c:636 builtin/push.c:641
-#: builtin/rebase.c:1221 builtin/rebase.c:1223 builtin/rebase.c:1227
-#: builtin/repack.c:688 builtin/repack.c:719 builtin/reset.c:433
-#: builtin/reset.c:469 builtin/rev-list.c:537 builtin/show-branch.c:711
-#: builtin/stash.c:1696 builtin/stash.c:1699 builtin/submodule--helper.c:1328
-#: builtin/submodule--helper.c:3054 builtin/tag.c:527 builtin/tag.c:573
-#: builtin/worktree.c:779
-#, c-format
-msgid "options '%s' and '%s' cannot be used together"
-msgstr ""
-
-#: apply.c:141 apply.c:152 apply.c:155
-#, c-format
-msgid "'%s' outside a repository"
-msgstr ""
-
-#: apply.c:807
-#, c-format
-msgid "Cannot prepare timestamp regexp %s"
-msgstr ""
-
-#: apply.c:816
-#, c-format
-msgid "regexec returned %d for input: %s"
-msgstr ""
-
-#: apply.c:890
-#, c-format
-msgid "unable to find filename in patch at line %d"
-msgstr ""
-
-#: apply.c:928
-#, c-format
-msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
-msgstr ""
-
-#: apply.c:934
-#, c-format
-msgid "git apply: bad git-diff - inconsistent new filename on line %d"
-msgstr ""
-
-#: apply.c:935
-#, c-format
-msgid "git apply: bad git-diff - inconsistent old filename on line %d"
-msgstr ""
-
-#: apply.c:940
-#, c-format
-msgid "git apply: bad git-diff - expected /dev/null on line %d"
-msgstr ""
-
-#: apply.c:969
-#, c-format
-msgid "invalid mode on line %d: %s"
-msgstr ""
-
-#: apply.c:1288
-#, c-format
-msgid "inconsistent header lines %d and %d"
-msgstr ""
-
-#: apply.c:1378
-#, c-format
-msgid ""
-"git diff header lacks filename information when removing %d leading pathname "
-"component (line %d)"
-msgid_plural ""
-"git diff header lacks filename information when removing %d leading pathname "
-"components (line %d)"
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:1391
-#, c-format
-msgid "git diff header lacks filename information (line %d)"
-msgstr ""
-
-#: apply.c:1487
-#, c-format
-msgid "recount: unexpected line: %.*s"
-msgstr ""
-
-#: apply.c:1556
-#, c-format
-msgid "patch fragment without header at line %d: %.*s"
-msgstr ""
-
-#: apply.c:1759
-msgid "new file depends on old contents"
-msgstr ""
-
-#: apply.c:1761
-msgid "deleted file still has contents"
-msgstr ""
-
-#: apply.c:1795
-#, c-format
-msgid "corrupt patch at line %d"
-msgstr ""
-
-#: apply.c:1832
-#, c-format
-msgid "new file %s depends on old contents"
-msgstr ""
-
-#: apply.c:1834
-#, c-format
-msgid "deleted file %s still has contents"
-msgstr ""
-
-#: apply.c:1837
-#, c-format
-msgid "** warning: file %s becomes empty but is not deleted"
-msgstr ""
-
-#: apply.c:1985
-#, c-format
-msgid "corrupt binary patch at line %d: %.*s"
-msgstr ""
-
-#: apply.c:2022
-#, c-format
-msgid "unrecognized binary patch at line %d"
-msgstr ""
-
-#: apply.c:2184
-#, c-format
-msgid "patch with only garbage at line %d"
-msgstr ""
-
-#: apply.c:2270
-#, c-format
-msgid "unable to read symlink %s"
-msgstr ""
-
-#: apply.c:2274
-#, c-format
-msgid "unable to open or read %s"
-msgstr ""
-
-#: apply.c:2943
-#, c-format
-msgid "invalid start of line: '%c'"
-msgstr ""
-
-#: apply.c:3064
-#, c-format
-msgid "Hunk #%d succeeded at %d (offset %d line)."
-msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:3076
-#, c-format
-msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
-msgstr ""
-
-#: apply.c:3082
-#, c-format
-msgid ""
-"while searching for:\n"
-"%.*s"
-msgstr ""
-
-#: apply.c:3104
-#, c-format
-msgid "missing binary patch data for '%s'"
-msgstr ""
-
-#: apply.c:3112
-#, c-format
-msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
-msgstr ""
-
-#: apply.c:3159
-#, c-format
-msgid "cannot apply binary patch to '%s' without full index line"
-msgstr ""
-
-#: apply.c:3170
-#, c-format
-msgid ""
-"the patch applies to '%s' (%s), which does not match the current contents."
-msgstr ""
-
-#: apply.c:3178
-#, c-format
-msgid "the patch applies to an empty '%s' but it is not empty"
-msgstr ""
-
-#: apply.c:3196
-#, c-format
-msgid "the necessary postimage %s for '%s' cannot be read"
-msgstr ""
-
-#: apply.c:3209
-#, c-format
-msgid "binary patch does not apply to '%s'"
-msgstr ""
-
-#: apply.c:3216
-#, c-format
-msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
-msgstr ""
-
-#: apply.c:3237
-#, c-format
-msgid "patch failed: %s:%ld"
-msgstr ""
-
-#: apply.c:3360
-#, c-format
-msgid "cannot checkout %s"
-msgstr ""
-
-#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:105 pack-revindex.c:214
-#: setup.c:310
-#, c-format
-msgid "failed to read %s"
-msgstr ""
-
-#: apply.c:3420
-#, c-format
-msgid "reading from '%s' beyond a symbolic link"
-msgstr ""
-
-#: apply.c:3449 apply.c:3721
-#, c-format
-msgid "path %s has been renamed/deleted"
-msgstr ""
-
-#: apply.c:3559 apply.c:3736
-#, c-format
-msgid "%s: does not exist in index"
-msgstr ""
-
-#: apply.c:3568 apply.c:3744 apply.c:3960
-#, c-format
-msgid "%s: does not match index"
-msgstr ""
-
-#: apply.c:3605
-msgid "repository lacks the necessary blob to perform 3-way merge."
-msgstr ""
-
-#: apply.c:3608
-#, c-format
-msgid "Performing three-way merge...\n"
-msgstr ""
-
-#: apply.c:3624 apply.c:3628
-#, c-format
-msgid "cannot read the current contents of '%s'"
-msgstr ""
-
-#: apply.c:3640
-#, c-format
-msgid "Failed to perform three-way merge...\n"
-msgstr ""
-
-#: apply.c:3654
-#, c-format
-msgid "Applied patch to '%s' with conflicts.\n"
-msgstr ""
-
-#: apply.c:3659
-#, c-format
-msgid "Applied patch to '%s' cleanly.\n"
-msgstr ""
-
-#: apply.c:3676
-#, c-format
-msgid "Falling back to direct application...\n"
-msgstr ""
-
-#: apply.c:3688
-msgid "removal patch leaves file contents"
-msgstr ""
-
-#: apply.c:3761
-#, c-format
-msgid "%s: wrong type"
-msgstr ""
-
-#: apply.c:3763
-#, c-format
-msgid "%s has type %o, expected %o"
-msgstr ""
-
-#: apply.c:3900 apply.c:3902 read-cache.c:903 read-cache.c:932
-#: read-cache.c:1399
-#, c-format
-msgid "invalid path '%s'"
-msgstr ""
-
-#: apply.c:3958
-#, c-format
-msgid "%s: already exists in index"
-msgstr ""
-
-#: apply.c:3962
-#, c-format
-msgid "%s: already exists in working directory"
-msgstr ""
-
-#: apply.c:3982
-#, c-format
-msgid "new mode (%o) of %s does not match old mode (%o)"
-msgstr ""
-
-#: apply.c:3987
-#, c-format
-msgid "new mode (%o) of %s does not match old mode (%o) of %s"
-msgstr ""
-
-#: apply.c:4007
-#, c-format
-msgid "affected file '%s' is beyond a symbolic link"
-msgstr ""
-
-#: apply.c:4011
-#, c-format
-msgid "%s: patch does not apply"
-msgstr ""
-
-#: apply.c:4026
-#, c-format
-msgid "Checking patch %s..."
-msgstr ""
-
-#: apply.c:4118
-#, c-format
-msgid "sha1 information is lacking or useless for submodule %s"
-msgstr ""
-
-#: apply.c:4125
-#, c-format
-msgid "mode change for %s, which is not in current HEAD"
-msgstr ""
-
-#: apply.c:4128
-#, c-format
-msgid "sha1 information is lacking or useless (%s)."
-msgstr ""
-
-#: apply.c:4137
-#, c-format
-msgid "could not add %s to temporary index"
-msgstr ""
-
-#: apply.c:4147
-#, c-format
-msgid "could not write temporary index to %s"
-msgstr ""
-
-#: apply.c:4285
-#, c-format
-msgid "unable to remove %s from index"
-msgstr ""
-
-#: apply.c:4319
-#, c-format
-msgid "corrupt patch for submodule %s"
-msgstr ""
-
-#: apply.c:4325
-#, c-format
-msgid "unable to stat newly created file '%s'"
-msgstr ""
-
-#: apply.c:4333
-#, c-format
-msgid "unable to create backing store for newly created file %s"
-msgstr ""
-
-#: apply.c:4339 apply.c:4484
-#, c-format
-msgid "unable to add cache entry for %s"
-msgstr ""
-
-#: apply.c:4382 builtin/bisect--helper.c:540 builtin/gc.c:2258
-#: builtin/gc.c:2293
-#, c-format
-msgid "failed to write to '%s'"
-msgstr ""
-
-#: apply.c:4386
-#, c-format
-msgid "closing file '%s'"
-msgstr ""
-
-#: apply.c:4456
-#, c-format
-msgid "unable to write file '%s' mode %o"
-msgstr ""
-
-#: apply.c:4554
-#, c-format
-msgid "Applied patch %s cleanly."
-msgstr ""
-
-#: apply.c:4562
-msgid "internal error"
-msgstr ""
-
-#: apply.c:4565
-#, c-format
-msgid "Applying patch %%s with %d reject..."
-msgid_plural "Applying patch %%s with %d rejects..."
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:4576
-#, c-format
-msgid "truncating .rej filename to %.*s.rej"
-msgstr ""
-
-#: apply.c:4584
-#, c-format
-msgid "cannot open %s"
-msgstr ""
-
-#: apply.c:4598
-#, c-format
-msgid "Hunk #%d applied cleanly."
-msgstr ""
-
-#: apply.c:4602
-#, c-format
-msgid "Rejected hunk #%d."
-msgstr ""
-
-#: apply.c:4731
-#, c-format
-msgid "Skipped patch '%s'."
-msgstr ""
-
-#: apply.c:4740
-msgid "No valid patches in input (allow with \"--allow-empty\")"
-msgstr ""
-
-#: apply.c:4761
-msgid "unable to read index file"
-msgstr ""
-
-#: apply.c:4918
-#, c-format
-msgid "can't open patch '%s': %s"
-msgstr ""
-
-#: apply.c:4945
-#, c-format
-msgid "squelched %d whitespace error"
-msgid_plural "squelched %d whitespace errors"
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:4951 apply.c:4966
-#, c-format
-msgid "%d line adds whitespace errors."
-msgid_plural "%d lines add whitespace errors."
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:4959
-#, c-format
-msgid "%d line applied after fixing whitespace errors."
-msgid_plural "%d lines applied after fixing whitespace errors."
-msgstr[0] ""
-msgstr[1] ""
-
-#: apply.c:4975 builtin/add.c:690 builtin/mv.c:338 builtin/rm.c:430
-msgid "Unable to write new index file"
-msgstr ""
-
-#: apply.c:5003
-msgid "don't apply changes matching the given path"
-msgstr ""
-
-#: apply.c:5006
-msgid "apply changes matching the given path"
-msgstr ""
-
-#: apply.c:5008 builtin/am.c:2379
-msgid "num"
-msgstr ""
-
-#: apply.c:5009
-msgid "remove <num> leading slashes from traditional diff paths"
-msgstr ""
-
-#: apply.c:5012
-msgid "ignore additions made by the patch"
-msgstr ""
-
-#: apply.c:5014
-msgid "instead of applying the patch, output diffstat for the input"
-msgstr ""
-
-#: apply.c:5018
-msgid "show number of added and deleted lines in decimal notation"
-msgstr ""
-
-#: apply.c:5020
-msgid "instead of applying the patch, output a summary for the input"
-msgstr ""
-
-#: apply.c:5022
-msgid "instead of applying the patch, see if the patch is applicable"
-msgstr ""
-
-#: apply.c:5024
-msgid "make sure the patch is applicable to the current index"
-msgstr ""
-
-#: apply.c:5026
-msgid "mark new files with `git add --intent-to-add`"
-msgstr ""
-
-#: apply.c:5028
-msgid "apply a patch without touching the working tree"
-msgstr ""
-
-#: apply.c:5030
-msgid "accept a patch that touches outside the working area"
-msgstr ""
-
-#: apply.c:5033
-msgid "also apply the patch (use with --stat/--summary/--check)"
-msgstr ""
-
-#: apply.c:5035
-msgid "attempt three-way merge, fall back on normal patch if that fails"
-msgstr ""
-
-#: apply.c:5037
-msgid "build a temporary index based on embedded index information"
-msgstr ""
-
-#: apply.c:5040 builtin/checkout-index.c:230
-msgid "paths are separated with NUL character"
-msgstr ""
-
-#: apply.c:5042
-msgid "ensure at least <n> lines of context match"
-msgstr ""
-
-#: apply.c:5043 builtin/am.c:2355 builtin/am.c:2358
-#: builtin/interpret-trailers.c:98 builtin/interpret-trailers.c:100
-#: builtin/interpret-trailers.c:102 builtin/pack-objects.c:3983
-#: builtin/rebase.c:1079
-msgid "action"
-msgstr ""
-
-#: apply.c:5044
-msgid "detect new or modified lines that have whitespace errors"
-msgstr ""
-
-#: apply.c:5047 apply.c:5050
-msgid "ignore changes in whitespace when finding context"
-msgstr ""
-
-#: apply.c:5053
-msgid "apply the patch in reverse"
-msgstr ""
-
-#: apply.c:5055
-msgid "don't expect at least one line of context"
-msgstr ""
-
-#: apply.c:5057
-msgid "leave the rejected hunks in corresponding *.rej files"
-msgstr ""
-
-#: apply.c:5059
-msgid "allow overlapping hunks"
-msgstr ""
-
-#: apply.c:5062
-msgid "tolerate incorrectly detected missing new-line at the end of file"
-msgstr ""
-
-#: apply.c:5065
-msgid "do not trust the line counts in the hunk headers"
-msgstr ""
-
-#: apply.c:5067 builtin/am.c:2367
-msgid "root"
-msgstr ""
-
-#: apply.c:5068
-msgid "prepend <root> to all filenames"
-msgstr ""
-
-#: apply.c:5071
-msgid "don't return error for empty patches"
-msgstr ""
-
-#: archive-tar.c:125 archive-zip.c:346
-#, c-format
-msgid "cannot stream blob %s"
-msgstr ""
-
-#: archive-tar.c:265 archive-zip.c:359
-#, c-format
-msgid "unsupported file mode: 0%o (SHA1: %s)"
-msgstr ""
-
-#: archive-tar.c:447
-#, c-format
-msgid "unable to start '%s' filter"
-msgstr ""
-
-#: archive-tar.c:450
-msgid "unable to redirect descriptor"
-msgstr ""
-
-#: archive-tar.c:457
-#, c-format
-msgid "'%s' filter reported error"
-msgstr ""
-
-#: archive-zip.c:319
-#, c-format
-msgid "path is not valid UTF-8: %s"
-msgstr ""
-
-#: archive-zip.c:323
-#, c-format
-msgid "path too long (%d chars, SHA1: %s): %s"
-msgstr ""
-
-#: archive-zip.c:470 builtin/pack-objects.c:363 builtin/pack-objects.c:366
-#, c-format
-msgid "deflate error (%d)"
-msgstr ""
-
-#: archive-zip.c:604
-#, c-format
-msgid "timestamp too large for this system: %<PRIuMAX>"
-msgstr ""
-
-#: archive.c:14
-msgid "git archive [<options>] <tree-ish> [<path>...]"
-msgstr ""
-
-#: archive.c:16
-msgid ""
-"git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"
-msgstr ""
-
-#: archive.c:17
-msgid "git archive --remote <repo> [--exec <cmd>] --list"
-msgstr ""
-
-#: archive.c:188 archive.c:341 builtin/gc.c:497 builtin/notes.c:238
-#: builtin/tag.c:579
-#, c-format
-msgid "cannot read '%s'"
-msgstr ""
-
-#: archive.c:426 builtin/add.c:214 builtin/add.c:657 builtin/rm.c:334
-#, c-format
-msgid "pathspec '%s' did not match any files"
-msgstr ""
-
-#: archive.c:450
-#, c-format
-msgid "no such ref: %.*s"
-msgstr ""
-
-#: archive.c:456
-#, c-format
-msgid "not a valid object name: %s"
-msgstr ""
-
-#: archive.c:469
-#, c-format
-msgid "not a tree object: %s"
-msgstr ""
-
-#: archive.c:481
-msgid "current working directory is untracked"
-msgstr ""
-
-#: archive.c:522
-#, c-format
-msgid "File not found: %s"
-msgstr ""
-
-#: archive.c:524
-#, c-format
-msgid "Not a regular file: %s"
-msgstr ""
-
-#: archive.c:551
-msgid "fmt"
-msgstr ""
-
-#: archive.c:551
-msgid "archive format"
-msgstr ""
-
-#: archive.c:552 builtin/log.c:1809
-msgid "prefix"
-msgstr ""
-
-#: archive.c:553
-msgid "prepend prefix to each pathname in the archive"
-msgstr ""
-
-#: archive.c:554 archive.c:557 builtin/blame.c:881 builtin/blame.c:885
-#: builtin/blame.c:886 builtin/commit-tree.c:115 builtin/config.c:135
-#: builtin/fast-export.c:1181 builtin/fast-export.c:1183
-#: builtin/fast-export.c:1187 builtin/grep.c:936 builtin/hash-object.c:104
-#: builtin/ls-files.c:654 builtin/ls-files.c:657 builtin/notes.c:410
-#: builtin/notes.c:576 builtin/read-tree.c:115 parse-options.h:195
-msgid "file"
-msgstr ""
-
-#: archive.c:555
-msgid "add untracked file to archive"
-msgstr ""
-
-#: archive.c:558 builtin/archive.c:88
-msgid "write the archive to this file"
-msgstr ""
-
-#: archive.c:560
-msgid "read .gitattributes in working directory"
-msgstr ""
-
-#: archive.c:561
-msgid "report archived files on stderr"
-msgstr ""
-
-#: archive.c:563
-msgid "set compression level"
-msgstr ""
-
-#: archive.c:566
-msgid "list supported archive formats"
-msgstr ""
-
-#: archive.c:568 builtin/archive.c:89 builtin/clone.c:122 builtin/clone.c:125
-#: builtin/submodule--helper.c:1884 builtin/submodule--helper.c:2718
-msgid "repo"
-msgstr ""
-
-#: archive.c:569 builtin/archive.c:90
-msgid "retrieve the archive from remote repository <repo>"
-msgstr ""
-
-#: archive.c:570 builtin/archive.c:91 builtin/difftool.c:708
-#: builtin/notes.c:496
-msgid "command"
-msgstr ""
-
-#: archive.c:571 builtin/archive.c:92
-msgid "path to the remote git-upload-archive command"
-msgstr ""
-
-#: archive.c:578
-msgid "Unexpected option --remote"
-msgstr ""
-
-#: archive.c:580 fetch-pack.c:300 revision.c:2914 builtin/add.c:530
-#: builtin/add.c:562 builtin/checkout.c:1782 builtin/clone.c:1099
-#: builtin/clone.c:1102 builtin/commit.c:371 builtin/fast-export.c:1230
-#: builtin/index-pack.c:1854 builtin/log.c:2140 builtin/reset.c:442
-#: builtin/reset.c:500 builtin/rm.c:281 builtin/stash.c:1708
-#: builtin/worktree.c:580 builtin/worktree.c:781 http-fetch.c:144
-#: http-fetch.c:153
-#, c-format
-msgid "the option '%s' requires '%s'"
-msgstr ""
-
-#: archive.c:582
-msgid "Unexpected option --output"
-msgstr ""
-
-#: archive.c:606
-#, c-format
-msgid "Unknown archive format '%s'"
-msgstr ""
-
-#: archive.c:615
-#, c-format
-msgid "Argument not supported for format '%s': -%d"
-msgstr ""
-
-#: attr.c:202
-#, c-format
-msgid "%.*s is not a valid attribute name"
-msgstr ""
-
-#: attr.c:363
-#, c-format
-msgid "%s not allowed: %s:%d"
-msgstr ""
-
-#: attr.c:403
-msgid ""
-"Negative patterns are ignored in git attributes\n"
-"Use '\\!' for literal leading exclamation."
-msgstr ""
-
-#: bisect.c:488
-#, c-format
-msgid "Badly quoted content in file '%s': %s"
-msgstr ""
-
-#: bisect.c:698
-#, c-format
-msgid "We cannot bisect more!\n"
-msgstr ""
-
-#: bisect.c:765
-#, c-format
-msgid "Not a valid commit name %s"
-msgstr ""
-
-#: bisect.c:790
-#, c-format
-msgid ""
-"The merge base %s is bad.\n"
-"This means the bug has been fixed between %s and [%s].\n"
-msgstr ""
-
-#: bisect.c:795
-#, c-format
-msgid ""
-"The merge base %s is new.\n"
-"The property has changed between %s and [%s].\n"
-msgstr ""
-
-#: bisect.c:800
-#, c-format
-msgid ""
-"The merge base %s is %s.\n"
-"This means the first '%s' commit is between %s and [%s].\n"
-msgstr ""
-
-#: bisect.c:808
-#, c-format
-msgid ""
-"Some %s revs are not ancestors of the %s rev.\n"
-"git bisect cannot work properly in this case.\n"
-"Maybe you mistook %s and %s revs?\n"
-msgstr ""
-
-#: bisect.c:821
-#, c-format
-msgid ""
-"the merge base between %s and [%s] must be skipped.\n"
-"So we cannot be sure the first %s commit is between %s and %s.\n"
-"We continue anyway."
-msgstr ""
-
-#: bisect.c:860
-#, c-format
-msgid "Bisecting: a merge base must be tested\n"
-msgstr ""
-
-#: bisect.c:910
-#, c-format
-msgid "a %s revision is needed"
-msgstr ""
-
-#: bisect.c:940
-#, c-format
-msgid "could not create file '%s'"
-msgstr ""
-
-#: bisect.c:986 builtin/merge.c:155
-#, c-format
-msgid "could not read file '%s'"
-msgstr ""
-
-#: bisect.c:1026
-msgid "reading bisect refs failed"
-msgstr ""
-
-#: bisect.c:1056
-#, c-format
-msgid "%s was both %s and %s\n"
-msgstr ""
-
-#: bisect.c:1065
-#, c-format
-msgid ""
-"No testable commit found.\n"
-"Maybe you started with bad path arguments?\n"
-msgstr ""
-
-#: bisect.c:1094
-#, c-format
-msgid "(roughly %d step)"
-msgid_plural "(roughly %d steps)"
-msgstr[0] ""
-msgstr[1] ""
-
-#. TRANSLATORS: the last %s will be replaced with "(roughly %d
-#. steps)" translation.
-#.
-#: bisect.c:1100
-#, c-format
-msgid "Bisecting: %d revision left to test after this %s\n"
-msgid_plural "Bisecting: %d revisions left to test after this %s\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: blame.c:2773
-msgid "--contents and --reverse do not blend well."
-msgstr ""
-
-#: blame.c:2787
-msgid "cannot use --contents with final commit object name"
-msgstr ""
-
-#: blame.c:2808
-msgid "--reverse and --first-parent together require specified latest commit"
-msgstr ""
-
-#: blame.c:2817 bundle.c:231 midx.c:1058 ref-filter.c:2371 remote.c:2157
-#: sequencer.c:2348 sequencer.c:4872 submodule.c:913 builtin/commit.c:1118
-#: builtin/log.c:437 builtin/log.c:1055 builtin/log.c:1663 builtin/log.c:2096
-#: builtin/log.c:2387 builtin/merge.c:431 builtin/pack-objects.c:3381
-#: builtin/pack-objects.c:3781 builtin/pack-objects.c:3796
-#: builtin/shortlog.c:255
-msgid "revision walk setup failed"
-msgstr ""
-
-#: blame.c:2835
-msgid ""
-"--reverse --first-parent together require range along first-parent chain"
-msgstr ""
-
-#: blame.c:2846
-#, c-format
-msgid "no such path %s in %s"
-msgstr ""
-
-#: blame.c:2857
-#, c-format
-msgid "cannot read blob %s for path %s"
-msgstr ""
-
-#: branch.c:93
-msgid ""
-"cannot inherit upstream tracking configuration of multiple refs when "
-"rebasing is requested"
-msgstr ""
-
-#: branch.c:104
-#, c-format
-msgid "not setting branch '%s' as its own upstream"
-msgstr ""
-
-#: branch.c:160
-#, c-format
-msgid "branch '%s' set up to track '%s' by rebasing."
-msgstr ""
-
-#: branch.c:161
-#, c-format
-msgid "branch '%s' set up to track '%s'."
-msgstr ""
-
-#: branch.c:164
-#, c-format
-msgid "branch '%s' set up to track:"
-msgstr ""
-
-#: branch.c:176
-msgid "unable to write upstream branch configuration"
-msgstr ""
-
-#: branch.c:178
-msgid ""
-"\n"
-"After fixing the error cause you may try to fix up\n"
-"the remote tracking information by invoking:"
-msgstr ""
-
-#: branch.c:219
-#, c-format
-msgid "asked to inherit tracking from '%s', but no remote is set"
-msgstr ""
-
-#: branch.c:225
-#, c-format
-msgid "asked to inherit tracking from '%s', but no merge configuration is set"
-msgstr ""
-
-#: branch.c:277
-#, c-format
-msgid "not tracking: ambiguous information for ref '%s'"
-msgstr ""
-
-#. TRANSLATORS: This is a line listing a remote with duplicate
-#. refspecs in the advice message below. For RTL languages you'll
-#. probably want to swap the "%s" and leading "  " space around.
-#.
-#. TRANSLATORS: This is line item of ambiguous object output
-#. from describe_ambiguous_object() above. For RTL languages
-#. you'll probably want to swap the "%s" and leading " " space
-#. around.
-#.
-#: branch.c:289 object-name.c:464
-#, c-format
-msgid "  %s\n"
-msgstr ""
-
-#. TRANSLATORS: The second argument is a \n-delimited list of
-#. duplicate refspecs, composed above.
-#.
-#: branch.c:295
-#, c-format
-msgid ""
-"There are multiple remotes whose fetch refspecs map to the remote\n"
-"tracking ref '%s':\n"
-"%s\n"
-"This is typically a configuration error.\n"
-"\n"
-"To support setting up tracking branches, ensure that\n"
-"different remotes' fetch refspecs map into different\n"
-"tracking namespaces."
-msgstr ""
-
-#: branch.c:344
-#, c-format
-msgid "'%s' is not a valid branch name"
-msgstr ""
-
-#: branch.c:364
-#, c-format
-msgid "a branch named '%s' already exists"
-msgstr ""
-
-#: branch.c:370
-#, c-format
-msgid "cannot force update the branch '%s' checked out at '%s'"
-msgstr ""
-
-#: branch.c:393
-#, c-format
-msgid "cannot set up tracking information; starting point '%s' is not a branch"
-msgstr ""
-
-#: branch.c:395
-#, c-format
-msgid "the requested upstream branch '%s' does not exist"
-msgstr ""
-
-#: branch.c:397
-msgid ""
-"\n"
-"If you are planning on basing your work on an upstream\n"
-"branch that already exists at the remote, you may need to\n"
-"run \"git fetch\" to retrieve it.\n"
-"\n"
-"If you are planning to push out a new local branch that\n"
-"will track its remote counterpart, you may want to use\n"
-"\"git push -u\" to set the upstream config as you push."
-msgstr ""
-
-#: branch.c:445 builtin/replace.c:321 builtin/replace.c:377
-#: builtin/replace.c:423 builtin/replace.c:453
-#, c-format
-msgid "not a valid object name: '%s'"
-msgstr ""
-
-#: branch.c:465
-#, c-format
-msgid "ambiguous object name: '%s'"
-msgstr ""
-
-#: branch.c:470
-#, c-format
-msgid "not a valid branch point: '%s'"
-msgstr ""
-
-#: branch.c:658
-#, c-format
-msgid "submodule '%s': unable to find submodule"
-msgstr ""
-
-#: branch.c:661
-#, c-format
-msgid ""
-"You may try updating the submodules using 'git checkout %s && git submodule "
-"update --init'"
-msgstr ""
-
-#: branch.c:672 branch.c:698
-#, c-format
-msgid "submodule '%s': cannot create branch '%s'"
-msgstr ""
-
-#: branch.c:730
-#, c-format
-msgid "'%s' is already checked out at '%s'"
-msgstr ""
-
-#: branch.c:755
-#, c-format
-msgid "HEAD of working tree %s is not updated"
-msgstr ""
-
-#: bundle.c:45
-#, c-format
-msgid "unrecognized bundle hash algorithm: %s"
-msgstr ""
-
-#: bundle.c:53
-#, c-format
-msgid "unknown capability '%s'"
-msgstr ""
-
-#: bundle.c:79
-#, c-format
-msgid "'%s' does not look like a v2 or v3 bundle file"
-msgstr ""
-
-#: bundle.c:118
-#, c-format
-msgid "unrecognized header: %s%s (%d)"
-msgstr ""
-
-#: bundle.c:145 rerere.c:464 rerere.c:675 sequencer.c:2616 sequencer.c:3402
-#: builtin/commit.c:865
-#, c-format
-msgid "could not open '%s'"
-msgstr ""
-
-#: bundle.c:203
-msgid "Repository lacks these prerequisite commits:"
-msgstr ""
-
-#: bundle.c:206
-msgid "need a repository to verify a bundle"
-msgstr ""
-
-#: bundle.c:264
-#, c-format
-msgid "The bundle contains this ref:"
-msgid_plural "The bundle contains these %<PRIuMAX> refs:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: bundle.c:272
-msgid "The bundle records a complete history."
-msgstr ""
-
-#: bundle.c:274
-#, c-format
-msgid "The bundle requires this ref:"
-msgid_plural "The bundle requires these %<PRIuMAX> refs:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: bundle.c:350
-msgid "unable to dup bundle descriptor"
-msgstr ""
-
-#: bundle.c:357
-msgid "Could not spawn pack-objects"
-msgstr ""
-
-#: bundle.c:368
-msgid "pack-objects died"
-msgstr ""
-
-#: bundle.c:417
-#, c-format
-msgid "ref '%s' is excluded by the rev-list options"
-msgstr ""
-
-#: bundle.c:533 builtin/log.c:211 builtin/log.c:1975 builtin/shortlog.c:400
-#, c-format
-msgid "unrecognized argument: %s"
-msgstr ""
-
-#: bundle.c:548
-#, c-format
-msgid "unsupported bundle version %d"
-msgstr ""
-
-#: bundle.c:550
-#, c-format
-msgid "cannot write bundle version %d with algorithm %s"
-msgstr ""
-
-#: bundle.c:600
-msgid "Refusing to create empty bundle."
-msgstr ""
-
-#: bundle.c:610
-#, c-format
-msgid "cannot create '%s'"
-msgstr ""
-
-#: bundle.c:639
-msgid "index-pack died"
-msgstr ""
-
-#: chunk-format.c:117
-msgid "terminating chunk id appears earlier than expected"
-msgstr ""
-
-#: chunk-format.c:126
-#, c-format
-msgid "improper chunk offset(s) %<PRIx64> and %<PRIx64>"
-msgstr ""
-
-#: chunk-format.c:133
-#, c-format
-msgid "duplicate chunk ID %<PRIx32> found"
-msgstr ""
-
-#: chunk-format.c:147
-#, c-format
-msgid "final chunk has non-zero id %<PRIx32>"
-msgstr ""
-
-#: color.c:354
-#, c-format
-msgid "invalid color value: %.*s"
-msgstr ""
-
-#: commit-graph.c:204 midx.c:52
-msgid "invalid hash version"
-msgstr ""
-
-#: commit-graph.c:262
-msgid "commit-graph file is too small"
-msgstr ""
-
-#: commit-graph.c:355
-#, c-format
-msgid "commit-graph signature %X does not match signature %X"
-msgstr ""
-
-#: commit-graph.c:362
-#, c-format
-msgid "commit-graph version %X does not match version %X"
-msgstr ""
-
-#: commit-graph.c:369
-#, c-format
-msgid "commit-graph hash version %X does not match version %X"
-msgstr ""
-
-#: commit-graph.c:386
-#, c-format
-msgid "commit-graph file is too small to hold %u chunks"
-msgstr ""
-
-#: commit-graph.c:485
-msgid "commit-graph has no base graphs chunk"
-msgstr ""
-
-#: commit-graph.c:495
-msgid "commit-graph chain does not match"
-msgstr ""
-
-#: commit-graph.c:543
-#, c-format
-msgid "invalid commit-graph chain: line '%s' not a hash"
-msgstr ""
-
-#: commit-graph.c:567
-msgid "unable to find all commit-graph files"
-msgstr ""
-
-#: commit-graph.c:752 commit-graph.c:789
-msgid "invalid commit position. commit-graph is likely corrupt"
-msgstr ""
-
-#: commit-graph.c:773
-#, c-format
-msgid "could not find commit %s"
-msgstr ""
-
-#: commit-graph.c:806
-msgid "commit-graph requires overflow generation data but has none"
-msgstr ""
-
-#: commit-graph.c:1111 builtin/am.c:1370 builtin/checkout.c:775
-#: builtin/clone.c:705
-#, c-format
-msgid "unable to parse commit %s"
-msgstr ""
-
-#: commit-graph.c:1373 builtin/pack-objects.c:3078
-#, c-format
-msgid "unable to get type of object %s"
-msgstr ""
-
-#: commit-graph.c:1404
-msgid "Loading known commits in commit graph"
-msgstr ""
-
-#: commit-graph.c:1421
-msgid "Expanding reachable commits in commit graph"
-msgstr ""
-
-#: commit-graph.c:1441
-msgid "Clearing commit marks in commit graph"
-msgstr ""
-
-#: commit-graph.c:1460
-msgid "Computing commit graph topological levels"
-msgstr ""
-
-#: commit-graph.c:1513
-msgid "Computing commit graph generation numbers"
-msgstr ""
-
-#: commit-graph.c:1598
-msgid "Computing commit changed paths Bloom filters"
-msgstr ""
-
-#: commit-graph.c:1675
-msgid "Collecting referenced commits"
-msgstr ""
-
-#: commit-graph.c:1701
-#, c-format
-msgid "Finding commits for commit graph in %<PRIuMAX> pack"
-msgid_plural "Finding commits for commit graph in %<PRIuMAX> packs"
-msgstr[0] ""
-msgstr[1] ""
-
-#: commit-graph.c:1714
-#, c-format
-msgid "error adding pack %s"
-msgstr ""
-
-#: commit-graph.c:1718
-#, c-format
-msgid "error opening index for %s"
-msgstr ""
-
-#: commit-graph.c:1756
-msgid "Finding commits for commit graph among packed objects"
-msgstr ""
-
-#: commit-graph.c:1774
-msgid "Finding extra edges in commit graph"
-msgstr ""
-
-#: commit-graph.c:1823
-msgid "failed to write correct number of base graph ids"
-msgstr ""
-
-#: commit-graph.c:1854 midx.c:1168 builtin/sparse-checkout.c:475
-#, c-format
-msgid "unable to create leading directories of %s"
-msgstr ""
-
-#: commit-graph.c:1868
-msgid "unable to create temporary graph layer"
-msgstr ""
-
-#: commit-graph.c:1873
-#, c-format
-msgid "unable to adjust shared permissions for '%s'"
-msgstr ""
-
-#: commit-graph.c:1930
-#, c-format
-msgid "Writing out commit graph in %d pass"
-msgid_plural "Writing out commit graph in %d passes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: commit-graph.c:1967
-msgid "unable to open commit-graph chain file"
-msgstr ""
-
-#: commit-graph.c:1983
-msgid "failed to rename base commit-graph file"
-msgstr ""
-
-#: commit-graph.c:2004
-msgid "failed to rename temporary commit-graph file"
-msgstr ""
-
-#: commit-graph.c:2137
-msgid "Scanning merged commits"
-msgstr ""
-
-#: commit-graph.c:2181
-msgid "Merging commit-graph"
-msgstr ""
-
-#: commit-graph.c:2289
-msgid "attempting to write a commit-graph, but 'core.commitGraph' is disabled"
-msgstr ""
-
-#: commit-graph.c:2396
-msgid "too many commits to write graph"
-msgstr ""
-
-#: commit-graph.c:2494
-msgid "the commit-graph file has incorrect checksum and is likely corrupt"
-msgstr ""
-
-#: commit-graph.c:2504
-#, c-format
-msgid "commit-graph has incorrect OID order: %s then %s"
-msgstr ""
-
-#: commit-graph.c:2514 commit-graph.c:2529
-#, c-format
-msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
-msgstr ""
-
-#: commit-graph.c:2521
-#, c-format
-msgid "failed to parse commit %s from commit-graph"
-msgstr ""
-
-#: commit-graph.c:2539
-msgid "Verifying commits in commit graph"
-msgstr ""
-
-#: commit-graph.c:2554
-#, c-format
-msgid "failed to parse commit %s from object database for commit-graph"
-msgstr ""
-
-#: commit-graph.c:2561
-#, c-format
-msgid "root tree OID for commit %s in commit-graph is %s != %s"
-msgstr ""
-
-#: commit-graph.c:2571
-#, c-format
-msgid "commit-graph parent list for commit %s is too long"
-msgstr ""
-
-#: commit-graph.c:2580
-#, c-format
-msgid "commit-graph parent for %s is %s != %s"
-msgstr ""
-
-#: commit-graph.c:2594
-#, c-format
-msgid "commit-graph parent list for commit %s terminates early"
-msgstr ""
-
-#: commit-graph.c:2599
-#, c-format
-msgid ""
-"commit-graph has generation number zero for commit %s, but non-zero elsewhere"
-msgstr ""
-
-#: commit-graph.c:2603
-#, c-format
-msgid ""
-"commit-graph has non-zero generation number for commit %s, but zero elsewhere"
-msgstr ""
-
-#: commit-graph.c:2620
-#, c-format
-msgid "commit-graph generation for commit %s is %<PRIuMAX> < %<PRIuMAX>"
-msgstr ""
-
-#: commit-graph.c:2626
-#, c-format
-msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
-msgstr ""
-
-#: commit.c:54 sequencer.c:3105 builtin/am.c:400 builtin/am.c:445
-#: builtin/am.c:450 builtin/am.c:1449 builtin/am.c:2124 builtin/replace.c:456
-#, c-format
-msgid "could not parse %s"
-msgstr ""
-
-#: commit.c:56
-#, c-format
-msgid "%s %s is not a commit!"
-msgstr ""
-
-#: commit.c:197
-msgid ""
-"Support for <GIT_DIR>/info/grafts is deprecated\n"
-"and will be removed in a future Git version.\n"
-"\n"
-"Please use \"git replace --convert-graft-file\"\n"
-"to convert the grafts into replace refs.\n"
-"\n"
-"Turn this message off by running\n"
-"\"git config advice.graftFileDeprecated false\""
-msgstr ""
-
-#: commit.c:1252
-#, c-format
-msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
-msgstr ""
-
-#: commit.c:1256
-#, c-format
-msgid "Commit %s has a bad GPG signature allegedly by %s."
-msgstr ""
-
-#: commit.c:1259
-#, c-format
-msgid "Commit %s does not have a GPG signature."
-msgstr ""
-
-#: commit.c:1262
-#, c-format
-msgid "Commit %s has a good GPG signature by %s\n"
-msgstr ""
-
-#: commit.c:1516
-msgid ""
-"Warning: commit message did not conform to UTF-8.\n"
-"You may want to amend it after fixing the message, or set the config\n"
-"variable i18n.commitencoding to the encoding your project uses.\n"
-msgstr ""
-
-#: compat/obstack.c:406 compat/obstack.c:408
-msgid "memory exhausted"
-msgstr ""
-
-#: compat/terminal.c:167
-msgid "cannot resume in the background, please use 'fg' to resume"
-msgstr ""
-
-#: compat/terminal.c:168
-msgid "cannot restore terminal settings"
-msgstr ""
-
-#: config.c:143
-#, c-format
-msgid ""
-"exceeded maximum include depth (%d) while including\n"
-"\t%s\n"
-"from\n"
-"\t%s\n"
-"This might be due to circular includes."
-msgstr ""
-
-#: config.c:159
-#, c-format
-msgid "could not expand include path '%s'"
-msgstr ""
-
-#: config.c:170
-msgid "relative config includes must come from files"
-msgstr ""
-
-#: config.c:219
-msgid "relative config include conditionals must come from files"
-msgstr ""
-
-#: config.c:364
-msgid ""
-"remote URLs cannot be configured in file directly or indirectly included by "
-"includeIf.hasconfig:remote.*.url"
-msgstr ""
-
-#: config.c:508
-#, c-format
-msgid "invalid config format: %s"
-msgstr ""
-
-#: config.c:512
-#, c-format
-msgid "missing environment variable name for configuration '%.*s'"
-msgstr ""
-
-#: config.c:517
-#, c-format
-msgid "missing environment variable '%s' for configuration '%.*s'"
-msgstr ""
-
-#: config.c:553
-#, c-format
-msgid "key does not contain a section: %s"
-msgstr ""
-
-#: config.c:558
-#, c-format
-msgid "key does not contain variable name: %s"
-msgstr ""
-
-#: config.c:580 sequencer.c:2802
-#, c-format
-msgid "invalid key: %s"
-msgstr ""
-
-#: config.c:585
-#, c-format
-msgid "invalid key (newline): %s"
-msgstr ""
-
-#: config.c:605
-msgid "empty config key"
-msgstr ""
-
-#: config.c:623 config.c:635
-#, c-format
-msgid "bogus config parameter: %s"
-msgstr ""
-
-#: config.c:649 config.c:666 config.c:673 config.c:682
-#, c-format
-msgid "bogus format in %s"
-msgstr ""
-
-#: config.c:716
-#, c-format
-msgid "bogus count in %s"
-msgstr ""
-
-#: config.c:720
-#, c-format
-msgid "too many entries in %s"
-msgstr ""
-
-#: config.c:730
-#, c-format
-msgid "missing config key %s"
-msgstr ""
-
-#: config.c:738
-#, c-format
-msgid "missing config value %s"
-msgstr ""
-
-#: config.c:1089
-#, c-format
-msgid "bad config line %d in blob %s"
-msgstr ""
-
-#: config.c:1093
-#, c-format
-msgid "bad config line %d in file %s"
-msgstr ""
-
-#: config.c:1097
-#, c-format
-msgid "bad config line %d in standard input"
-msgstr ""
-
-#: config.c:1101
-#, c-format
-msgid "bad config line %d in submodule-blob %s"
-msgstr ""
-
-#: config.c:1105
-#, c-format
-msgid "bad config line %d in command line %s"
-msgstr ""
-
-#: config.c:1109
-#, c-format
-msgid "bad config line %d in %s"
-msgstr ""
-
-#: config.c:1246
-msgid "out of range"
-msgstr ""
-
-#: config.c:1246
-msgid "invalid unit"
-msgstr ""
-
-#: config.c:1247
-#, c-format
-msgid "bad numeric config value '%s' for '%s': %s"
-msgstr ""
-
-#: config.c:1257
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
-msgstr ""
-
-#: config.c:1260
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in file %s: %s"
-msgstr ""
-
-#: config.c:1263
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in standard input: %s"
-msgstr ""
-
-#: config.c:1266
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
-msgstr ""
-
-#: config.c:1269
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
-msgstr ""
-
-#: config.c:1272
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in %s: %s"
-msgstr ""
-
-#: config.c:1368
-#, c-format
-msgid "invalid value for variable %s"
-msgstr ""
-
-#: config.c:1389
-#, c-format
-msgid "ignoring unknown core.fsync component '%s'"
-msgstr ""
-
-#: config.c:1425
-#, c-format
-msgid "bad boolean config value '%s' for '%s'"
-msgstr ""
-
-#: config.c:1443
-#, c-format
-msgid "failed to expand user dir in: '%s'"
-msgstr ""
-
-#: config.c:1452
-#, c-format
-msgid "'%s' for '%s' is not a valid timestamp"
-msgstr ""
-
-#: config.c:1545
-#, c-format
-msgid "abbrev length out of range: %d"
-msgstr ""
-
-#: config.c:1559 config.c:1570
-#, c-format
-msgid "bad zlib compression level %d"
-msgstr ""
-
-#: config.c:1660
-msgid "core.commentChar should only be one character"
-msgstr ""
-
-#: config.c:1692
-#, c-format
-msgid "ignoring unknown core.fsyncMethod value '%s'"
-msgstr ""
-
-#: config.c:1698
-msgid "core.fsyncObjectFiles is deprecated; use core.fsync instead"
-msgstr ""
-
-#: config.c:1714
-#, c-format
-msgid "invalid mode for object creation: %s"
-msgstr ""
-
-#: config.c:1800
-#, c-format
-msgid "malformed value for %s"
-msgstr ""
-
-#: config.c:1826
-#, c-format
-msgid "malformed value for %s: %s"
-msgstr ""
-
-#: config.c:1827
-msgid "must be one of nothing, matching, simple, upstream or current"
-msgstr ""
-
-#: config.c:1888 builtin/pack-objects.c:4078
-#, c-format
-msgid "bad pack compression level %d"
-msgstr ""
-
-#: config.c:2014
-#, c-format
-msgid "unable to load config blob object '%s'"
-msgstr ""
-
-#: config.c:2017
-#, c-format
-msgid "reference '%s' does not point to a blob"
-msgstr ""
-
-#: config.c:2035
-#, c-format
-msgid "unable to resolve config blob '%s'"
-msgstr ""
-
-#: config.c:2080
-#, c-format
-msgid "failed to parse %s"
-msgstr ""
-
-#: config.c:2136
-msgid "unable to parse command-line config"
-msgstr ""
-
-#: config.c:2512
-msgid "unknown error occurred while reading the configuration files"
-msgstr ""
-
-#: config.c:2686
-#, c-format
-msgid "Invalid %s: '%s'"
-msgstr ""
-
-#: config.c:2731
-#, c-format
-msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
-msgstr ""
-
-#: config.c:2763
-#, c-format
-msgid "unable to parse '%s' from command-line config"
-msgstr ""
-
-#: config.c:2765
-#, c-format
-msgid "bad config variable '%s' in file '%s' at line %d"
-msgstr ""
-
-#: config.c:2850
-#, c-format
-msgid "invalid section name '%s'"
-msgstr ""
-
-#: config.c:2882
-#, c-format
-msgid "%s has multiple values"
-msgstr ""
-
-#: config.c:2911
-#, c-format
-msgid "failed to write new configuration file %s"
-msgstr ""
-
-#: config.c:3177 config.c:3518
-#, c-format
-msgid "could not lock config file %s"
-msgstr ""
-
-#: config.c:3188
-#, c-format
-msgid "opening %s"
-msgstr ""
-
-#: config.c:3225 builtin/config.c:361
-#, c-format
-msgid "invalid pattern: %s"
-msgstr ""
-
-#: config.c:3250
-#, c-format
-msgid "invalid config file %s"
-msgstr ""
-
-#: config.c:3263 config.c:3531
-#, c-format
-msgid "fstat on %s failed"
-msgstr ""
-
-#: config.c:3274
-#, c-format
-msgid "unable to mmap '%s'%s"
-msgstr ""
-
-#: config.c:3284 config.c:3536
-#, c-format
-msgid "chmod on %s failed"
-msgstr ""
-
-#: config.c:3369 config.c:3633
-#, c-format
-msgid "could not write config file %s"
-msgstr ""
-
-#: config.c:3403
-#, c-format
-msgid "could not set '%s' to '%s'"
-msgstr ""
-
-#: config.c:3405 builtin/remote.c:666 builtin/remote.c:885 builtin/remote.c:893
-#, c-format
-msgid "could not unset '%s'"
-msgstr ""
-
-#: config.c:3509
-#, c-format
-msgid "invalid section name: %s"
-msgstr ""
-
-#: config.c:3676
-#, c-format
-msgid "missing value for '%s'"
-msgstr ""
-
-#: connect.c:61
-msgid "the remote end hung up upon initial contact"
-msgstr ""
-
-#: connect.c:63
-msgid ""
-"Could not read from remote repository.\n"
-"\n"
-"Please make sure you have the correct access rights\n"
-"and the repository exists."
-msgstr ""
-
-#: connect.c:81
-#, c-format
-msgid "server doesn't support '%s'"
-msgstr ""
-
-#: connect.c:118
-#, c-format
-msgid "server doesn't support feature '%s'"
-msgstr ""
-
-#: connect.c:129
-msgid "expected flush after capabilities"
-msgstr ""
-
-#: connect.c:265
-#, c-format
-msgid "ignoring capabilities after first line '%s'"
-msgstr ""
-
-#: connect.c:286
-msgid "protocol error: unexpected capabilities^{}"
-msgstr ""
-
-#: connect.c:308
-#, c-format
-msgid "protocol error: expected shallow sha-1, got '%s'"
-msgstr ""
-
-#: connect.c:310
-msgid "repository on the other end cannot be shallow"
-msgstr ""
-
-#: connect.c:349
-msgid "invalid packet"
-msgstr ""
-
-#: connect.c:369
-#, c-format
-msgid "protocol error: unexpected '%s'"
-msgstr ""
-
-#: connect.c:499
-#, c-format
-msgid "unknown object format '%s' specified by server"
-msgstr ""
-
-#: connect.c:528
-#, c-format
-msgid "invalid ls-refs response: %s"
-msgstr ""
-
-#: connect.c:532
-msgid "expected flush after ref listing"
-msgstr ""
-
-#: connect.c:535
-msgid "expected response end packet after ref listing"
-msgstr ""
-
-#: connect.c:670
-#, c-format
-msgid "protocol '%s' is not supported"
-msgstr ""
-
-#: connect.c:721
-msgid "unable to set SO_KEEPALIVE on socket"
-msgstr ""
-
-#: connect.c:761 connect.c:824
-#, c-format
-msgid "Looking up %s ... "
-msgstr ""
-
-#: connect.c:765
-#, c-format
-msgid "unable to look up %s (port %s) (%s)"
-msgstr ""
-
-#. TRANSLATORS: this is the end of "Looking up %s ... "
-#: connect.c:769 connect.c:840
-#, c-format
-msgid ""
-"done.\n"
-"Connecting to %s (port %s) ... "
-msgstr ""
-
-#: connect.c:791 connect.c:868
-#, c-format
-msgid ""
-"unable to connect to %s:\n"
-"%s"
-msgstr ""
-
-#. TRANSLATORS: this is the end of "Connecting to %s (port %s) ... "
-#: connect.c:797 connect.c:874
-msgid "done."
-msgstr ""
-
-#: connect.c:828
-#, c-format
-msgid "unable to look up %s (%s)"
-msgstr ""
-
-#: connect.c:834
-#, c-format
-msgid "unknown port %s"
-msgstr ""
-
-#: connect.c:971 connect.c:1303
-#, c-format
-msgid "strange hostname '%s' blocked"
-msgstr ""
-
-#: connect.c:973
-#, c-format
-msgid "strange port '%s' blocked"
-msgstr ""
-
-#: connect.c:983
-#, c-format
-msgid "cannot start proxy %s"
-msgstr ""
-
-#: connect.c:1054
-msgid "no path specified; see 'git help pull' for valid url syntax"
-msgstr ""
-
-#: connect.c:1194
-msgid "newline is forbidden in git:// hosts and repo paths"
-msgstr ""
-
-#: connect.c:1251
-msgid "ssh variant 'simple' does not support -4"
-msgstr ""
-
-#: connect.c:1263
-msgid "ssh variant 'simple' does not support -6"
-msgstr ""
-
-#: connect.c:1280
-msgid "ssh variant 'simple' does not support setting port"
-msgstr ""
-
-#: connect.c:1392
-#, c-format
-msgid "strange pathname '%s' blocked"
-msgstr ""
-
-#: connect.c:1440
-msgid "unable to fork"
-msgstr ""
-
-#: connected.c:109 builtin/fsck.c:189 builtin/prune.c:57
-msgid "Checking connectivity"
-msgstr ""
-
-#: connected.c:122
-msgid "Could not run 'git rev-list'"
-msgstr ""
-
-#: connected.c:146
-msgid "failed write to rev-list"
-msgstr ""
-
-#: connected.c:151
-msgid "failed to close rev-list's stdin"
-msgstr ""
-
-#: convert.c:183
-#, c-format
-msgid "illegal crlf_action %d"
-msgstr ""
-
-#: convert.c:196
-#, c-format
-msgid "CRLF would be replaced by LF in %s"
-msgstr ""
-
-#: convert.c:198
-#, c-format
-msgid ""
-"CRLF will be replaced by LF in %s.\n"
-"The file will have its original line endings in your working directory"
-msgstr ""
-
-#: convert.c:206
-#, c-format
-msgid "LF would be replaced by CRLF in %s"
-msgstr ""
-
-#: convert.c:208
-#, c-format
-msgid ""
-"LF will be replaced by CRLF in %s.\n"
-"The file will have its original line endings in your working directory"
-msgstr ""
-
-#: convert.c:273
-#, c-format
-msgid "BOM is prohibited in '%s' if encoded as %s"
-msgstr ""
-
-#: convert.c:280
-#, c-format
-msgid ""
-"The file '%s' contains a byte order mark (BOM). Please use UTF-%.*s as "
-"working-tree-encoding."
-msgstr ""
-
-#: convert.c:293
-#, c-format
-msgid "BOM is required in '%s' if encoded as %s"
-msgstr ""
-
-#: convert.c:295
-#, c-format
-msgid ""
-"The file '%s' is missing a byte order mark (BOM). Please use UTF-%sBE or UTF-"
-"%sLE (depending on the byte order) as working-tree-encoding."
-msgstr ""
-
-#: convert.c:408 convert.c:479
-#, c-format
-msgid "failed to encode '%s' from %s to %s"
-msgstr ""
-
-#: convert.c:451
-#, c-format
-msgid "encoding '%s' from %s to %s and back is not the same"
-msgstr ""
-
-#: convert.c:654
-#, c-format
-msgid "cannot fork to run external filter '%s'"
-msgstr ""
-
-#: convert.c:674
-#, c-format
-msgid "cannot feed the input to external filter '%s'"
-msgstr ""
-
-#: convert.c:681
-#, c-format
-msgid "external filter '%s' failed %d"
-msgstr ""
-
-#: convert.c:716 convert.c:719
-#, c-format
-msgid "read from external filter '%s' failed"
-msgstr ""
-
-#: convert.c:722 convert.c:777
-#, c-format
-msgid "external filter '%s' failed"
-msgstr ""
-
-#: convert.c:826
-msgid "unexpected filter type"
-msgstr ""
-
-#: convert.c:837
-msgid "path name too long for external filter"
-msgstr ""
-
-#: convert.c:935
-#, c-format
-msgid ""
-"external filter '%s' is not available anymore although not all paths have "
-"been filtered"
-msgstr ""
-
-#: convert.c:1236
-msgid "true/false are no valid working-tree-encodings"
-msgstr ""
-
-#: convert.c:1416 convert.c:1449
-#, c-format
-msgid "%s: clean filter '%s' failed"
-msgstr ""
-
-#: convert.c:1492
-#, c-format
-msgid "%s: smudge filter %s failed"
-msgstr ""
-
-#: credential.c:96
-#, c-format
-msgid "skipping credential lookup for key: credential.%s"
-msgstr ""
-
-#: credential.c:112
-msgid "refusing to work with credential missing host field"
-msgstr ""
-
-#: credential.c:114
-msgid "refusing to work with credential missing protocol field"
-msgstr ""
-
-#: credential.c:396
-#, c-format
-msgid "url contains a newline in its %s component: %s"
-msgstr ""
-
-#: credential.c:440
-#, c-format
-msgid "url has no scheme: %s"
-msgstr ""
-
-#: credential.c:513
-#, c-format
-msgid "credential url cannot be parsed: %s"
-msgstr ""
-
-#: date.c:139
-msgid "in the future"
-msgstr ""
-
-#: date.c:145
-#, c-format
-msgid "%<PRIuMAX> second ago"
-msgid_plural "%<PRIuMAX> seconds ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:152
-#, c-format
-msgid "%<PRIuMAX> minute ago"
-msgid_plural "%<PRIuMAX> minutes ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:159
-#, c-format
-msgid "%<PRIuMAX> hour ago"
-msgid_plural "%<PRIuMAX> hours ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:166
-#, c-format
-msgid "%<PRIuMAX> day ago"
-msgid_plural "%<PRIuMAX> days ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:172
-#, c-format
-msgid "%<PRIuMAX> week ago"
-msgid_plural "%<PRIuMAX> weeks ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:179
-#, c-format
-msgid "%<PRIuMAX> month ago"
-msgid_plural "%<PRIuMAX> months ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:190
-#, c-format
-msgid "%<PRIuMAX> year"
-msgid_plural "%<PRIuMAX> years"
-msgstr[0] ""
-msgstr[1] ""
-
-#. TRANSLATORS: "%s" is "<n> years"
-#: date.c:193
-#, c-format
-msgid "%s, %<PRIuMAX> month ago"
-msgid_plural "%s, %<PRIuMAX> months ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: date.c:198 date.c:203
-#, c-format
-msgid "%<PRIuMAX> year ago"
-msgid_plural "%<PRIuMAX> years ago"
-msgstr[0] ""
-msgstr[1] ""
-
-#: delta-islands.c:272
-msgid "Propagating island marks"
-msgstr ""
-
-#: delta-islands.c:290
-#, c-format
-msgid "bad tree object %s"
-msgstr ""
-
-#: delta-islands.c:334
-#, c-format
-msgid "failed to load island regex for '%s': %s"
-msgstr ""
-
-#: delta-islands.c:390
-#, c-format
-msgid "island regex from config has too many capture groups (max=%d)"
-msgstr ""
-
-#: delta-islands.c:467
-#, c-format
-msgid "Marked %d islands, done.\n"
-msgstr ""
-
-#: diff-merges.c:81 gpg-interface.c:719 gpg-interface.c:734 ls-refs.c:37
-#: parallel-checkout.c:42 sequencer.c:2805 setup.c:563 builtin/am.c:203
-#: builtin/am.c:2243 builtin/am.c:2287 builtin/blame.c:724 builtin/blame.c:742
-#: builtin/fetch.c:792 builtin/pack-objects.c:3515 builtin/pull.c:45
-#: builtin/pull.c:47 builtin/pull.c:321
-#, c-format
-msgid "invalid value for '%s': '%s'"
-msgstr ""
-
-#: diff-lib.c:561
-msgid "--merge-base does not work with ranges"
-msgstr ""
-
-#: diff-lib.c:563
-msgid "--merge-base only works with commits"
-msgstr ""
-
-#: diff-lib.c:580
-msgid "unable to get HEAD"
-msgstr ""
-
-#: diff-lib.c:587
-msgid "no merge base found"
-msgstr ""
-
-#: diff-lib.c:589
-msgid "multiple merge bases found"
-msgstr ""
-
-#: diff-no-index.c:237
-msgid "git diff --no-index [<options>] <path> <path>"
-msgstr ""
-
-#: diff-no-index.c:262
-msgid ""
-"Not a git repository. Use --no-index to compare two paths outside a working "
-"tree"
-msgstr ""
-
-#: diff.c:159
-#, c-format
-msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
-msgstr ""
-
-#: diff.c:164
-#, c-format
-msgid "  Unknown dirstat parameter '%s'\n"
-msgstr ""
-
-#: diff.c:300
-msgid ""
-"color moved setting must be one of 'no', 'default', 'blocks', 'zebra', "
-"'dimmed-zebra', 'plain'"
-msgstr ""
-
-#: diff.c:328
-#, c-format
-msgid ""
-"unknown color-moved-ws mode '%s', possible values are 'ignore-space-change', "
-"'ignore-space-at-eol', 'ignore-all-space', 'allow-indentation-change'"
-msgstr ""
-
-#: diff.c:336
-msgid ""
-"color-moved-ws: allow-indentation-change cannot be combined with other "
-"whitespace modes"
-msgstr ""
-
-#: diff.c:413
-#, c-format
-msgid "Unknown value for 'diff.submodule' config variable: '%s'"
-msgstr ""
-
-#: diff.c:473
-#, c-format
-msgid ""
-"Found errors in 'diff.dirstat' config variable:\n"
-"%s"
-msgstr ""
-
-#: diff.c:4282
-#, c-format
-msgid "external diff died, stopping at %s"
-msgstr ""
-
-#: diff.c:4677 parse-options.c:1114
-#, c-format
-msgid "options '%s', '%s', '%s', and '%s' cannot be used together"
-msgstr ""
-
-#: diff.c:4681 parse-options.c:1118 builtin/worktree.c:578
-#, c-format
-msgid "options '%s', '%s', and '%s' cannot be used together"
-msgstr ""
-
-#: diff.c:4685
-#, c-format
-msgid "options '%s' and '%s' cannot be used together, use '%s' with '%s'"
-msgstr ""
-
-#: diff.c:4689
-#, c-format
-msgid ""
-"options '%s' and '%s' cannot be used together, use '%s' with '%s' and '%s'"
-msgstr ""
-
-#: diff.c:4769
-msgid "--follow requires exactly one pathspec"
-msgstr ""
-
-#: diff.c:4823
-#, c-format
-msgid "invalid --stat value: %s"
-msgstr ""
-
-#: diff.c:4828 diff.c:4833 diff.c:4838 diff.c:4843 diff.c:5319
-#: parse-options.c:217 parse-options.c:221
-#, c-format
-msgid "%s expects a numerical value"
-msgstr ""
-
-#: diff.c:4860
-#, c-format
-msgid ""
-"Failed to parse --dirstat/-X option parameter:\n"
-"%s"
-msgstr ""
-
-#: diff.c:4893
-#, c-format
-msgid "unknown change class '%c' in --diff-filter=%s"
-msgstr ""
-
-#: diff.c:4917
-#, c-format
-msgid "unknown value after ws-error-highlight=%.*s"
-msgstr ""
-
-#: diff.c:4931
-#, c-format
-msgid "unable to resolve '%s'"
-msgstr ""
-
-#: diff.c:4981 diff.c:4987
-#, c-format
-msgid "%s expects <n>/<m> form"
-msgstr ""
-
-#: diff.c:4999
-#, c-format
-msgid "%s expects a character, got '%s'"
-msgstr ""
-
-#: diff.c:5020
-#, c-format
-msgid "bad --color-moved argument: %s"
-msgstr ""
-
-#: diff.c:5039
-#, c-format
-msgid "invalid mode '%s' in --color-moved-ws"
-msgstr ""
-
-#: diff.c:5079
-msgid ""
-"option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
-"\"histogram\""
-msgstr ""
-
-#: diff.c:5115 diff.c:5135
-#, c-format
-msgid "invalid argument to %s"
-msgstr ""
-
-#: diff.c:5239
-#, c-format
-msgid "invalid regex given to -I: '%s'"
-msgstr ""
-
-#: diff.c:5288
-#, c-format
-msgid "failed to parse --submodule option parameter: '%s'"
-msgstr ""
-
-#: diff.c:5344
-#, c-format
-msgid "bad --word-diff argument: %s"
-msgstr ""
-
-#: diff.c:5380
-msgid "Diff output format options"
-msgstr ""
-
-#: diff.c:5382 diff.c:5388
-msgid "generate patch"
-msgstr ""
-
-#: diff.c:5385 builtin/log.c:180
-msgid "suppress diff output"
-msgstr ""
-
-#: diff.c:5390 diff.c:5504 diff.c:5511
-msgid "<n>"
-msgstr ""
-
-#: diff.c:5391 diff.c:5394
-msgid "generate diffs with <n> lines context"
-msgstr ""
-
-#: diff.c:5396
-msgid "generate the diff in raw format"
-msgstr ""
-
-#: diff.c:5399
-msgid "synonym for '-p --raw'"
-msgstr ""
-
-#: diff.c:5403
-msgid "synonym for '-p --stat'"
-msgstr ""
-
-#: diff.c:5407
-msgid "machine friendly --stat"
-msgstr ""
-
-#: diff.c:5410
-msgid "output only the last line of --stat"
-msgstr ""
-
-#: diff.c:5412 diff.c:5420
-msgid "<param1,param2>..."
-msgstr ""
-
-#: diff.c:5413
-msgid ""
-"output the distribution of relative amount of changes for each sub-directory"
-msgstr ""
-
-#: diff.c:5417
-msgid "synonym for --dirstat=cumulative"
-msgstr ""
-
-#: diff.c:5421
-msgid "synonym for --dirstat=files,param1,param2..."
-msgstr ""
-
-#: diff.c:5425
-msgid "warn if changes introduce conflict markers or whitespace errors"
-msgstr ""
-
-#: diff.c:5428
-msgid "condensed summary such as creations, renames and mode changes"
-msgstr ""
-
-#: diff.c:5431
-msgid "show only names of changed files"
-msgstr ""
-
-#: diff.c:5434
-msgid "show only names and status of changed files"
-msgstr ""
-
-#: diff.c:5436
-msgid "<width>[,<name-width>[,<count>]]"
-msgstr ""
-
-#: diff.c:5437
-msgid "generate diffstat"
-msgstr ""
-
-#: diff.c:5439 diff.c:5442 diff.c:5445
-msgid "<width>"
-msgstr ""
-
-#: diff.c:5440
-msgid "generate diffstat with a given width"
-msgstr ""
-
-#: diff.c:5443
-msgid "generate diffstat with a given name width"
-msgstr ""
-
-#: diff.c:5446
-msgid "generate diffstat with a given graph width"
-msgstr ""
-
-#: diff.c:5448
-msgid "<count>"
-msgstr ""
-
-#: diff.c:5449
-msgid "generate diffstat with limited lines"
-msgstr ""
-
-#: diff.c:5452
-msgid "generate compact summary in diffstat"
-msgstr ""
-
-#: diff.c:5455
-msgid "output a binary diff that can be applied"
-msgstr ""
-
-#: diff.c:5458
-msgid "show full pre- and post-image object names on the \"index\" lines"
-msgstr ""
-
-#: diff.c:5460
-msgid "show colored diff"
-msgstr ""
-
-#: diff.c:5461
-msgid "<kind>"
-msgstr ""
-
-#: diff.c:5462
-msgid ""
-"highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
-"diff"
-msgstr ""
-
-#: diff.c:5465
-msgid ""
-"do not munge pathnames and use NULs as output field terminators in --raw or "
-"--numstat"
-msgstr ""
-
-#: diff.c:5468 diff.c:5471 diff.c:5474 diff.c:5583
-msgid "<prefix>"
-msgstr ""
-
-#: diff.c:5469
-msgid "show the given source prefix instead of \"a/\""
-msgstr ""
-
-#: diff.c:5472
-msgid "show the given destination prefix instead of \"b/\""
-msgstr ""
-
-#: diff.c:5475
-msgid "prepend an additional prefix to every line of output"
-msgstr ""
-
-#: diff.c:5478
-msgid "do not show any source or destination prefix"
-msgstr ""
-
-#: diff.c:5481
-msgid "show context between diff hunks up to the specified number of lines"
-msgstr ""
-
-#: diff.c:5485 diff.c:5490 diff.c:5495
-msgid "<char>"
-msgstr ""
-
-#: diff.c:5486
-msgid "specify the character to indicate a new line instead of '+'"
-msgstr ""
-
-#: diff.c:5491
-msgid "specify the character to indicate an old line instead of '-'"
-msgstr ""
-
-#: diff.c:5496
-msgid "specify the character to indicate a context instead of ' '"
-msgstr ""
-
-#: diff.c:5499
-msgid "Diff rename options"
-msgstr ""
-
-#: diff.c:5500
-msgid "<n>[/<m>]"
-msgstr ""
-
-#: diff.c:5501
-msgid "break complete rewrite changes into pairs of delete and create"
-msgstr ""
-
-#: diff.c:5505
-msgid "detect renames"
-msgstr ""
-
-#: diff.c:5509
-msgid "omit the preimage for deletes"
-msgstr ""
-
-#: diff.c:5512
-msgid "detect copies"
-msgstr ""
-
-#: diff.c:5516
-msgid "use unmodified files as source to find copies"
-msgstr ""
-
-#: diff.c:5518
-msgid "disable rename detection"
-msgstr ""
-
-#: diff.c:5521
-msgid "use empty blobs as rename source"
-msgstr ""
-
-#: diff.c:5523
-msgid "continue listing the history of a file beyond renames"
-msgstr ""
-
-#: diff.c:5526
-msgid ""
-"prevent rename/copy detection if the number of rename/copy targets exceeds "
-"given limit"
-msgstr ""
-
-#: diff.c:5528
-msgid "Diff algorithm options"
-msgstr ""
-
-#: diff.c:5530
-msgid "produce the smallest possible diff"
-msgstr ""
-
-#: diff.c:5533
-msgid "ignore whitespace when comparing lines"
-msgstr ""
-
-#: diff.c:5536
-msgid "ignore changes in amount of whitespace"
-msgstr ""
-
-#: diff.c:5539
-msgid "ignore changes in whitespace at EOL"
-msgstr ""
-
-#: diff.c:5542
-msgid "ignore carrier-return at the end of line"
-msgstr ""
-
-#: diff.c:5545
-msgid "ignore changes whose lines are all blank"
-msgstr ""
-
-#: diff.c:5547 diff.c:5569 diff.c:5572 diff.c:5617
-msgid "<regex>"
-msgstr ""
-
-#: diff.c:5548
-msgid "ignore changes whose all lines match <regex>"
-msgstr ""
-
-#: diff.c:5551
-msgid "heuristic to shift diff hunk boundaries for easy reading"
-msgstr ""
-
-#: diff.c:5554
-msgid "generate diff using the \"patience diff\" algorithm"
-msgstr ""
-
-#: diff.c:5558
-msgid "generate diff using the \"histogram diff\" algorithm"
-msgstr ""
-
-#: diff.c:5560
-msgid "<algorithm>"
-msgstr ""
-
-#: diff.c:5561
-msgid "choose a diff algorithm"
-msgstr ""
-
-#: diff.c:5563
-msgid "<text>"
-msgstr ""
-
-#: diff.c:5564
-msgid "generate diff using the \"anchored diff\" algorithm"
-msgstr ""
-
-#: diff.c:5566 diff.c:5575 diff.c:5578
-msgid "<mode>"
-msgstr ""
-
-#: diff.c:5567
-msgid "show word diff, using <mode> to delimit changed words"
-msgstr ""
-
-#: diff.c:5570
-msgid "use <regex> to decide what a word is"
-msgstr ""
-
-#: diff.c:5573
-msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
-msgstr ""
-
-#: diff.c:5576
-msgid "moved lines of code are colored differently"
-msgstr ""
-
-#: diff.c:5579
-msgid "how white spaces are ignored in --color-moved"
-msgstr ""
-
-#: diff.c:5582
-msgid "Other diff options"
-msgstr ""
-
-#: diff.c:5584
-msgid "when run from subdir, exclude changes outside and show relative paths"
-msgstr ""
-
-#: diff.c:5588
-msgid "treat all files as text"
-msgstr ""
-
-#: diff.c:5590
-msgid "swap two inputs, reverse the diff"
-msgstr ""
-
-#: diff.c:5592
-msgid "exit with 1 if there were differences, 0 otherwise"
-msgstr ""
-
-#: diff.c:5594
-msgid "disable all output of the program"
-msgstr ""
-
-#: diff.c:5596
-msgid "allow an external diff helper to be executed"
-msgstr ""
-
-#: diff.c:5598
-msgid "run external text conversion filters when comparing binary files"
-msgstr ""
-
-#: diff.c:5600
-msgid "<when>"
-msgstr ""
-
-#: diff.c:5601
-msgid "ignore changes to submodules in the diff generation"
-msgstr ""
-
-#: diff.c:5604
-msgid "<format>"
-msgstr ""
-
-#: diff.c:5605
-msgid "specify how differences in submodules are shown"
-msgstr ""
-
-#: diff.c:5609
-msgid "hide 'git add -N' entries from the index"
-msgstr ""
-
-#: diff.c:5612
-msgid "treat 'git add -N' entries as real in the index"
-msgstr ""
-
-#: diff.c:5614
-msgid "<string>"
-msgstr ""
-
-#: diff.c:5615
-msgid ""
-"look for differences that change the number of occurrences of the specified "
-"string"
-msgstr ""
-
-#: diff.c:5618
-msgid ""
-"look for differences that change the number of occurrences of the specified "
-"regex"
-msgstr ""
-
-#: diff.c:5621
-msgid "show all changes in the changeset with -S or -G"
-msgstr ""
-
-#: diff.c:5624
-msgid "treat <string> in -S as extended POSIX regular expression"
-msgstr ""
-
-#: diff.c:5627
-msgid "control the order in which files appear in the output"
-msgstr ""
-
-#: diff.c:5628 diff.c:5631
-msgid "<path>"
-msgstr ""
-
-#: diff.c:5629
-msgid "show the change in the specified path first"
-msgstr ""
-
-#: diff.c:5632
-msgid "skip the output to the specified path"
-msgstr ""
-
-#: diff.c:5634
-msgid "<object-id>"
-msgstr ""
-
-#: diff.c:5635
-msgid ""
-"look for differences that change the number of occurrences of the specified "
-"object"
-msgstr ""
-
-#: diff.c:5637
-msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
-msgstr ""
-
-#: diff.c:5638
-msgid "select files by diff type"
-msgstr ""
-
-#: diff.c:5640
-msgid "<file>"
-msgstr ""
-
-#: diff.c:5641
-msgid "output to a specific file"
-msgstr ""
-
-#: diff.c:6321
-msgid "exhaustive rename detection was skipped due to too many files."
-msgstr ""
-
-#: diff.c:6324
-msgid "only found copies from modified paths due to too many files."
-msgstr ""
-
-#: diff.c:6327
-#, c-format
-msgid ""
-"you may want to set your %s variable to at least %d and retry the command."
-msgstr ""
-
-#: diffcore-order.c:24
-#, c-format
-msgid "failed to read orderfile '%s'"
-msgstr ""
-
-#: diffcore-rename.c:1564
-msgid "Performing inexact rename detection"
-msgstr ""
-
-#: diffcore-rotate.c:29
-#, c-format
-msgid "No such path '%s' in the diff"
-msgstr ""
-
-#: dir.c:593
-#, c-format
-msgid "pathspec '%s' did not match any file(s) known to git"
-msgstr ""
-
-#: dir.c:733 dir.c:762 dir.c:775
-#, c-format
-msgid "unrecognized pattern: '%s'"
-msgstr ""
-
-#: dir.c:790 dir.c:804
-#, c-format
-msgid "unrecognized negative pattern: '%s'"
-msgstr ""
-
-#: dir.c:820
-#, c-format
-msgid "your sparse-checkout file may have issues: pattern '%s' is repeated"
-msgstr ""
-
-#: dir.c:828
-msgid "disabling cone pattern matching"
-msgstr ""
-
-#: dir.c:1212
-#, c-format
-msgid "cannot use %s as an exclude file"
-msgstr ""
-
-#: dir.c:2419
-#, c-format
-msgid "could not open directory '%s'"
-msgstr ""
-
-#: dir.c:2721
-msgid "failed to get kernel name and information"
-msgstr ""
-
-#: dir.c:2846
-msgid "untracked cache is disabled on this system or location"
-msgstr ""
-
-#: dir.c:3119
-msgid ""
-"No directory name could be guessed.\n"
-"Please specify a directory on the command line"
-msgstr ""
-
-#: dir.c:3807
-#, c-format
-msgid "index file corrupt in repo %s"
-msgstr ""
-
-#: dir.c:3854 dir.c:3859
-#, c-format
-msgid "could not create directories for %s"
-msgstr ""
-
-#: dir.c:3888
-#, c-format
-msgid "could not migrate git directory from '%s' to '%s'"
-msgstr ""
-
-#: editor.c:74
-#, c-format
-msgid "hint: Waiting for your editor to close the file...%c"
-msgstr ""
-
-#: entry.c:179
-msgid "Filtering content"
-msgstr ""
-
-#: entry.c:500
-#, c-format
-msgid "could not stat file '%s'"
-msgstr ""
-
-#: environment.c:147
-#, c-format
-msgid "bad git namespace path \"%s\""
-msgstr ""
-
-#: exec-cmd.c:363
-#, c-format
-msgid "too many args to run %s"
-msgstr ""
-
-#: fetch-pack.c:194
-msgid "git fetch-pack: expected shallow list"
-msgstr ""
-
-#: fetch-pack.c:197
-msgid "git fetch-pack: expected a flush packet after shallow list"
-msgstr ""
-
-#: fetch-pack.c:208
-msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
-msgstr ""
-
-#: fetch-pack.c:228
-#, c-format
-msgid "git fetch-pack: expected ACK/NAK, got '%s'"
-msgstr ""
-
-#: fetch-pack.c:239
-msgid "unable to write to remote"
-msgstr ""
-
-#: fetch-pack.c:397 fetch-pack.c:1460
-#, c-format
-msgid "invalid shallow line: %s"
-msgstr ""
-
-#: fetch-pack.c:403 fetch-pack.c:1466
-#, c-format
-msgid "invalid unshallow line: %s"
-msgstr ""
-
-#: fetch-pack.c:405 fetch-pack.c:1468
-#, c-format
-msgid "object not found: %s"
-msgstr ""
-
-#: fetch-pack.c:408 fetch-pack.c:1471
-#, c-format
-msgid "error in object: %s"
-msgstr ""
-
-#: fetch-pack.c:410 fetch-pack.c:1473
-#, c-format
-msgid "no shallow found: %s"
-msgstr ""
-
-#: fetch-pack.c:413 fetch-pack.c:1477
-#, c-format
-msgid "expected shallow/unshallow, got %s"
-msgstr ""
-
-#: fetch-pack.c:453
-#, c-format
-msgid "got %s %d %s"
-msgstr ""
-
-#: fetch-pack.c:470
-#, c-format
-msgid "invalid commit %s"
-msgstr ""
-
-#: fetch-pack.c:501
-msgid "giving up"
-msgstr ""
-
-#: fetch-pack.c:514 progress.h:25
-msgid "done"
-msgstr ""
-
-#: fetch-pack.c:526
-#, c-format
-msgid "got %s (%d) %s"
-msgstr ""
-
-#: fetch-pack.c:562
-#, c-format
-msgid "Marking %s as complete"
-msgstr ""
-
-#: fetch-pack.c:784
-#, c-format
-msgid "already have %s (%s)"
-msgstr ""
-
-#: fetch-pack.c:870
-msgid "fetch-pack: unable to fork off sideband demultiplexer"
-msgstr ""
-
-#: fetch-pack.c:878
-msgid "protocol error: bad pack header"
-msgstr ""
-
-#: fetch-pack.c:974
-#, c-format
-msgid "fetch-pack: unable to fork off %s"
-msgstr ""
-
-#: fetch-pack.c:980
-msgid "fetch-pack: invalid index-pack output"
-msgstr ""
-
-#: fetch-pack.c:997
-#, c-format
-msgid "%s failed"
-msgstr ""
-
-#: fetch-pack.c:999
-msgid "error in sideband demultiplexer"
-msgstr ""
-
-#: fetch-pack.c:1048
-#, c-format
-msgid "Server version is %.*s"
-msgstr ""
-
-#: fetch-pack.c:1056 fetch-pack.c:1062 fetch-pack.c:1065 fetch-pack.c:1071
-#: fetch-pack.c:1075 fetch-pack.c:1079 fetch-pack.c:1083 fetch-pack.c:1087
-#: fetch-pack.c:1091 fetch-pack.c:1095 fetch-pack.c:1099 fetch-pack.c:1103
-#: fetch-pack.c:1109 fetch-pack.c:1115 fetch-pack.c:1120 fetch-pack.c:1125
-#, c-format
-msgid "Server supports %s"
-msgstr ""
-
-#: fetch-pack.c:1058
-msgid "Server does not support shallow clients"
-msgstr ""
-
-#: fetch-pack.c:1118
-msgid "Server does not support --shallow-since"
-msgstr ""
-
-#: fetch-pack.c:1123
-msgid "Server does not support --shallow-exclude"
-msgstr ""
-
-#: fetch-pack.c:1127
-msgid "Server does not support --deepen"
-msgstr ""
-
-#: fetch-pack.c:1129
-msgid "Server does not support this repository's object format"
-msgstr ""
-
-#: fetch-pack.c:1142
-msgid "no common commits"
-msgstr ""
-
-#: fetch-pack.c:1151 fetch-pack.c:1506 builtin/clone.c:1166
-msgid "source repository is shallow, reject to clone."
-msgstr ""
-
-#: fetch-pack.c:1157 fetch-pack.c:1705
-msgid "git fetch-pack: fetch failed."
-msgstr ""
-
-#: fetch-pack.c:1271
-#, c-format
-msgid "mismatched algorithms: client %s; server %s"
-msgstr ""
-
-#: fetch-pack.c:1275
-#, c-format
-msgid "the server does not support algorithm '%s'"
-msgstr ""
-
-#: fetch-pack.c:1308
-msgid "Server does not support shallow requests"
-msgstr ""
-
-#: fetch-pack.c:1315
-msgid "Server supports filter"
-msgstr ""
-
-#: fetch-pack.c:1358 fetch-pack.c:2087
-msgid "unable to write request to remote"
-msgstr ""
-
-#: fetch-pack.c:1376
-#, c-format
-msgid "error reading section header '%s'"
-msgstr ""
-
-#: fetch-pack.c:1382
-#, c-format
-msgid "expected '%s', received '%s'"
-msgstr ""
-
-#: fetch-pack.c:1416
-#, c-format
-msgid "unexpected acknowledgment line: '%s'"
-msgstr ""
-
-#: fetch-pack.c:1421
-#, c-format
-msgid "error processing acks: %d"
-msgstr ""
-
-#. TRANSLATORS: The parameter will be 'ready', a protocol
-#. keyword.
-#.
-#: fetch-pack.c:1435
-#, c-format
-msgid "expected packfile to be sent after '%s'"
-msgstr ""
-
-#. TRANSLATORS: The parameter will be 'ready', a protocol
-#. keyword.
-#.
-#: fetch-pack.c:1441
-#, c-format
-msgid "expected no other sections to be sent after no '%s'"
-msgstr ""
-
-#: fetch-pack.c:1482
-#, c-format
-msgid "error processing shallow info: %d"
-msgstr ""
-
-#: fetch-pack.c:1531
-#, c-format
-msgid "expected wanted-ref, got '%s'"
-msgstr ""
-
-#: fetch-pack.c:1536
-#, c-format
-msgid "unexpected wanted-ref: '%s'"
-msgstr ""
-
-#: fetch-pack.c:1541
-#, c-format
-msgid "error processing wanted refs: %d"
-msgstr ""
-
-#: fetch-pack.c:1571
-msgid "git fetch-pack: expected response end packet"
-msgstr ""
-
-#: fetch-pack.c:1983
-msgid "no matching remote head"
-msgstr ""
-
-#: fetch-pack.c:2006 builtin/clone.c:587
-msgid "remote did not send all necessary objects"
-msgstr ""
-
-#: fetch-pack.c:2109
-msgid "unexpected 'ready' from remote"
-msgstr ""
-
-#: fetch-pack.c:2132
-#, c-format
-msgid "no such remote ref %s"
-msgstr ""
-
-#: fetch-pack.c:2135
-#, c-format
-msgid "Server does not allow request for unadvertised object %s"
-msgstr ""
-
-#: fsmonitor-ipc.c:119
-#, c-format
-msgid "fsmonitor_ipc__send_query: invalid path '%s'"
-msgstr ""
-
-#: fsmonitor-ipc.c:125
-#, c-format
-msgid "fsmonitor_ipc__send_query: unspecified error on '%s'"
-msgstr ""
-
-#: fsmonitor-ipc.c:155
-msgid "fsmonitor--daemon is not running"
-msgstr ""
-
-#: fsmonitor-ipc.c:164
-#, c-format
-msgid "could not send '%s' command to fsmonitor--daemon"
-msgstr ""
-
-#: gpg-interface.c:329 gpg-interface.c:456 gpg-interface.c:995
-#: gpg-interface.c:1011
-msgid "could not create temporary file"
-msgstr ""
-
-#: gpg-interface.c:332 gpg-interface.c:459
-#, c-format
-msgid "failed writing detached signature to '%s'"
-msgstr ""
-
-#: gpg-interface.c:450
-msgid ""
-"gpg.ssh.allowedSignersFile needs to be configured and exist for ssh "
-"signature verification"
-msgstr ""
-
-#: gpg-interface.c:479
-msgid ""
-"ssh-keygen -Y find-principals/verify is needed for ssh signature "
-"verification (available in openssh version 8.2p1+)"
-msgstr ""
-
-#: gpg-interface.c:550
-#, c-format
-msgid "ssh signing revocation file configured but not found: %s"
-msgstr ""
-
-#: gpg-interface.c:638
-#, c-format
-msgid "bad/incompatible signature '%s'"
-msgstr ""
-
-#: gpg-interface.c:815 gpg-interface.c:820
-#, c-format
-msgid "failed to get the ssh fingerprint for key '%s'"
-msgstr ""
-
-#: gpg-interface.c:843
-msgid ""
-"either user.signingkey or gpg.ssh.defaultKeyCommand needs to be configured"
-msgstr ""
-
-#: gpg-interface.c:865
-#, c-format
-msgid "gpg.ssh.defaultKeyCommand succeeded but returned no keys: %s %s"
-msgstr ""
-
-#: gpg-interface.c:871
-#, c-format
-msgid "gpg.ssh.defaultKeyCommand failed: %s %s"
-msgstr ""
-
-#: gpg-interface.c:966
-msgid "gpg failed to sign the data"
-msgstr ""
-
-#: gpg-interface.c:988
-msgid "user.signingkey needs to be set for ssh signing"
-msgstr ""
-
-#: gpg-interface.c:999
-#, c-format
-msgid "failed writing ssh signing key to '%s'"
-msgstr ""
-
-#: gpg-interface.c:1017
-#, c-format
-msgid "failed writing ssh signing key buffer to '%s'"
-msgstr ""
-
-#: gpg-interface.c:1035
-msgid ""
-"ssh-keygen -Y sign is needed for ssh signing (available in openssh version "
-"8.2p1+)"
-msgstr ""
-
-#: gpg-interface.c:1047
-#, c-format
-msgid "failed reading ssh signing data buffer from '%s'"
-msgstr ""
-
-#: graph.c:98
-#, c-format
-msgid "ignored invalid color '%.*s' in log.graphColors"
-msgstr ""
-
-#: grep.c:446
-msgid ""
-"given pattern contains NULL byte (via -f <file>). This is only supported "
-"with -P under PCRE v2"
-msgstr ""
-
-#: grep.c:1859
-#, c-format
-msgid "'%s': unable to read %s"
-msgstr ""
-
-#: grep.c:1876 setup.c:178 builtin/clone.c:308 builtin/diff.c:90
-#: builtin/rm.c:136
-#, c-format
-msgid "failed to stat '%s'"
-msgstr ""
-
-#: grep.c:1887
-#, c-format
-msgid "'%s': short read"
-msgstr ""
-
-#: help.c:25
-msgid "start a working area (see also: git help tutorial)"
-msgstr ""
-
-#: help.c:26
-msgid "work on the current change (see also: git help everyday)"
-msgstr ""
-
-#: help.c:27
-msgid "examine the history and state (see also: git help revisions)"
-msgstr ""
-
-#: help.c:28
-msgid "grow, mark and tweak your common history"
-msgstr ""
-
-#: help.c:29
-msgid "collaborate (see also: git help workflows)"
-msgstr ""
-
-#: help.c:33
-msgid "Main Porcelain Commands"
-msgstr ""
-
-#: help.c:34
-msgid "Ancillary Commands / Manipulators"
-msgstr ""
-
-#: help.c:35
-msgid "Ancillary Commands / Interrogators"
-msgstr ""
-
-#: help.c:36
-msgid "Interacting with Others"
-msgstr ""
-
-#: help.c:37
-msgid "Low-level Commands / Manipulators"
-msgstr ""
-
-#: help.c:38
-msgid "Low-level Commands / Interrogators"
-msgstr ""
-
-#: help.c:39
-msgid "Low-level Commands / Syncing Repositories"
-msgstr ""
-
-#: help.c:40
-msgid "Low-level Commands / Internal Helpers"
-msgstr ""
-
-#: help.c:316
-#, c-format
-msgid "available git commands in '%s'"
-msgstr ""
-
-#: help.c:323
-msgid "git commands available from elsewhere on your $PATH"
-msgstr ""
-
-#: help.c:332
-msgid "These are common Git commands used in various situations:"
-msgstr ""
-
-#: help.c:382 git.c:100
-#, c-format
-msgid "unsupported command listing type '%s'"
-msgstr ""
-
-#: help.c:422
-msgid "The Git concept guides are:"
-msgstr ""
-
-#: help.c:446
-msgid "External commands"
-msgstr ""
-
-#: help.c:468
-msgid "Command aliases"
-msgstr ""
-
-#: help.c:486
-msgid "See 'git help <command>' to read about a specific subcommand"
-msgstr ""
-
-#: help.c:563
-#, c-format
-msgid ""
-"'%s' appears to be a git command, but we were not\n"
-"able to execute it. Maybe git-%s is broken?"
-msgstr ""
-
-#: help.c:585 help.c:682
-#, c-format
-msgid "git: '%s' is not a git command. See 'git --help'."
-msgstr ""
-
-#: help.c:633
-msgid "Uh oh. Your system reports no Git commands at all."
-msgstr ""
-
-#: help.c:655
-#, c-format
-msgid "WARNING: You called a Git command named '%s', which does not exist."
-msgstr ""
-
-#: help.c:660
-#, c-format
-msgid "Continuing under the assumption that you meant '%s'."
-msgstr ""
-
-#: help.c:666
-#, c-format
-msgid "Run '%s' instead [y/N]? "
-msgstr ""
-
-#: help.c:674
-#, c-format
-msgid "Continuing in %0.1f seconds, assuming that you meant '%s'."
-msgstr ""
-
-#: help.c:686
-msgid ""
-"\n"
-"The most similar command is"
-msgid_plural ""
-"\n"
-"The most similar commands are"
-msgstr[0] ""
-msgstr[1] ""
-
-#: help.c:729
-msgid "git version [<options>]"
-msgstr ""
-
-#: help.c:784
-#, c-format
-msgid "%s: %s - %s"
-msgstr ""
-
-#: help.c:788
-msgid ""
-"\n"
-"Did you mean this?"
-msgid_plural ""
-"\n"
-"Did you mean one of these?"
-msgstr[0] ""
-msgstr[1] ""
-
-#: hook.c:28
-#, c-format
-msgid ""
-"The '%s' hook was ignored because it's not set as executable.\n"
-"You can disable this warning with `git config advice.ignoredHook false`."
-msgstr ""
-
-#: hook.c:87
-#, c-format
-msgid "Couldn't start hook '%s'\n"
-msgstr ""
-
-#: ident.c:354
-msgid "Author identity unknown\n"
-msgstr ""
-
-#: ident.c:357
-msgid "Committer identity unknown\n"
-msgstr ""
-
-#: ident.c:363
-msgid ""
-"\n"
-"*** Please tell me who you are.\n"
-"\n"
-"Run\n"
-"\n"
-"  git config --global user.email \"you@example.com\"\n"
-"  git config --global user.name \"Your Name\"\n"
-"\n"
-"to set your account's default identity.\n"
-"Omit --global to set the identity only in this repository.\n"
-"\n"
-msgstr ""
-
-#: ident.c:398
-msgid "no email was given and auto-detection is disabled"
-msgstr ""
-
-#: ident.c:403
-#, c-format
-msgid "unable to auto-detect email address (got '%s')"
-msgstr ""
-
-#: ident.c:420
-msgid "no name was given and auto-detection is disabled"
-msgstr ""
-
-#: ident.c:426
-#, c-format
-msgid "unable to auto-detect name (got '%s')"
-msgstr ""
-
-#: ident.c:434
-#, c-format
-msgid "empty ident name (for <%s>) not allowed"
-msgstr ""
-
-#: ident.c:440
-#, c-format
-msgid "name consists only of disallowed characters: %s"
-msgstr ""
-
-#: ident.c:455 builtin/commit.c:649
-#, c-format
-msgid "invalid date format: %s"
-msgstr ""
-
-#: list-objects-filter-options.c:68
-msgid "expected 'tree:<depth>'"
-msgstr ""
-
-#: list-objects-filter-options.c:83
-msgid "sparse:path filters support has been dropped"
-msgstr ""
-
-#: list-objects-filter-options.c:90
-#, c-format
-msgid "'%s' for 'object:type=<type>' is not a valid object type"
-msgstr ""
-
-#: list-objects-filter-options.c:109
-#, c-format
-msgid "invalid filter-spec '%s'"
-msgstr ""
-
-#: list-objects-filter-options.c:125
-#, c-format
-msgid "must escape char in sub-filter-spec: '%c'"
-msgstr ""
-
-#: list-objects-filter-options.c:167
-msgid "expected something after combine:"
-msgstr ""
-
-#: list-objects-filter-options.c:249
-msgid "multiple filter-specs cannot be combined"
-msgstr ""
-
-#: list-objects-filter-options.c:365
-msgid "unable to upgrade repository format to support partial clone"
-msgstr ""
-
-#: list-objects-filter.c:532
-#, c-format
-msgid "unable to access sparse blob in '%s'"
-msgstr ""
-
-#: list-objects-filter.c:535
-#, c-format
-msgid "unable to parse sparse filter data in %s"
-msgstr ""
-
-#: list-objects.c:144
-#, c-format
-msgid "entry '%s' in tree %s has tree mode, but is not a tree"
-msgstr ""
-
-#: list-objects.c:157
-#, c-format
-msgid "entry '%s' in tree %s has blob mode, but is not a blob"
-msgstr ""
-
-#: list-objects.c:415
-#, c-format
-msgid "unable to load root tree for commit %s"
-msgstr ""
-
-#: lockfile.c:152
-#, c-format
-msgid ""
-"Unable to create '%s.lock': %s.\n"
-"\n"
-"Another git process seems to be running in this repository, e.g.\n"
-"an editor opened by 'git commit'. Please make sure all processes\n"
-"are terminated then try again. If it still fails, a git process\n"
-"may have crashed in this repository earlier:\n"
-"remove the file manually to continue."
-msgstr ""
-
-#: lockfile.c:160
-#, c-format
-msgid "Unable to create '%s.lock': %s"
-msgstr ""
-
-#: ls-refs.c:175
-#, c-format
-msgid "unexpected line: '%s'"
-msgstr ""
-
-#: ls-refs.c:179
-msgid "expected flush after ls-refs arguments"
-msgstr ""
-
-#: mailinfo.c:1050
-msgid "quoted CRLF detected"
-msgstr ""
-
-#: mailinfo.c:1254 builtin/am.c:185 builtin/mailinfo.c:46
-#, c-format
-msgid "bad action '%s' for '%s'"
-msgstr ""
-
-#: merge-ort.c:1630 merge-recursive.c:1214
-#, c-format
-msgid "Failed to merge submodule %s (not checked out)"
-msgstr ""
-
-#: merge-ort.c:1639 merge-recursive.c:1221
-#, c-format
-msgid "Failed to merge submodule %s (commits not present)"
-msgstr ""
-
-#: merge-ort.c:1648 merge-recursive.c:1228
-#, c-format
-msgid "Failed to merge submodule %s (commits don't follow merge-base)"
-msgstr ""
-
-#: merge-ort.c:1658 merge-ort.c:1666
-#, c-format
-msgid "Note: Fast-forwarding submodule %s to %s"
-msgstr ""
-
-#: merge-ort.c:1688
-#, c-format
-msgid "Failed to merge submodule %s"
-msgstr ""
-
-#: merge-ort.c:1695
-#, c-format
-msgid ""
-"Failed to merge submodule %s, but a possible merge resolution exists:\n"
-"%s\n"
-msgstr ""
-
-#: merge-ort.c:1699 merge-recursive.c:1284
-#, c-format
-msgid ""
-"If this is correct simply add it to the index for example\n"
-"by using:\n"
-"\n"
-"  git update-index --cacheinfo 160000 %s \"%s\"\n"
-"\n"
-"which will accept this suggestion.\n"
-msgstr ""
-
-#: merge-ort.c:1712
-#, c-format
-msgid ""
-"Failed to merge submodule %s, but multiple possible merges exist:\n"
-"%s"
-msgstr ""
-
-#: merge-ort.c:1937 merge-recursive.c:1375
-msgid "Failed to execute internal merge"
-msgstr ""
-
-#: merge-ort.c:1942 merge-recursive.c:1380
-#, c-format
-msgid "Unable to add %s to database"
-msgstr ""
-
-#: merge-ort.c:1949 merge-recursive.c:1413
-#, c-format
-msgid "Auto-merging %s"
-msgstr ""
-
-#: merge-ort.c:2088 merge-recursive.c:2135
-#, c-format
-msgid ""
-"CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
-"implicit directory rename(s) putting the following path(s) there: %s."
-msgstr ""
-
-#: merge-ort.c:2098 merge-recursive.c:2145
-#, c-format
-msgid ""
-"CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
-"implicit directory renames tried to put these paths there: %s"
-msgstr ""
-
-#: merge-ort.c:2156
-#, c-format
-msgid ""
-"CONFLICT (directory rename split): Unclear where to rename %s to; it was "
-"renamed to multiple other directories, with no destination getting a "
-"majority of the files."
-msgstr ""
-
-#: merge-ort.c:2310 merge-recursive.c:2481
-#, c-format
-msgid ""
-"WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
-"renamed."
-msgstr ""
-
-#: merge-ort.c:2450 merge-recursive.c:3264
-#, c-format
-msgid ""
-"Path updated: %s added in %s inside a directory that was renamed in %s; "
-"moving it to %s."
-msgstr ""
-
-#: merge-ort.c:2457 merge-recursive.c:3271
-#, c-format
-msgid ""
-"Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
-"%s; moving it to %s."
-msgstr ""
-
-#: merge-ort.c:2470 merge-recursive.c:3267
-#, c-format
-msgid ""
-"CONFLICT (file location): %s added in %s inside a directory that was renamed "
-"in %s, suggesting it should perhaps be moved to %s."
-msgstr ""
-
-#: merge-ort.c:2478 merge-recursive.c:3274
-#, c-format
-msgid ""
-"CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
-"was renamed in %s, suggesting it should perhaps be moved to %s."
-msgstr ""
-
-#: merge-ort.c:2634
-#, c-format
-msgid "CONFLICT (rename/rename): %s renamed to %s in %s and to %s in %s."
-msgstr ""
-
-#: merge-ort.c:2729
-#, c-format
-msgid ""
-"CONFLICT (rename involved in collision): rename of %s -> %s has content "
-"conflicts AND collides with another path; this may result in nested conflict "
-"markers."
-msgstr ""
-
-#: merge-ort.c:2748 merge-ort.c:2772
-#, c-format
-msgid "CONFLICT (rename/delete): %s renamed to %s in %s, but deleted in %s."
-msgstr ""
-
-#: merge-ort.c:3261 merge-recursive.c:3025
-#, c-format
-msgid "cannot read object %s"
-msgstr ""
-
-#: merge-ort.c:3264 merge-recursive.c:3028
-#, c-format
-msgid "object %s is not a blob"
-msgstr ""
-
-#: merge-ort.c:3693
-#, c-format
-msgid ""
-"CONFLICT (file/directory): directory in the way of %s from %s; moving it to "
-"%s instead."
-msgstr ""
-
-#: merge-ort.c:3770
-#, c-format
-msgid ""
-"CONFLICT (distinct types): %s had different types on each side; renamed both "
-"of them so each can be recorded somewhere."
-msgstr ""
-
-#: merge-ort.c:3777
-#, c-format
-msgid ""
-"CONFLICT (distinct types): %s had different types on each side; renamed one "
-"of them so each can be recorded somewhere."
-msgstr ""
-
-#: merge-ort.c:3866 merge-recursive.c:3104
-msgid "content"
-msgstr ""
-
-#: merge-ort.c:3868 merge-recursive.c:3108
-msgid "add/add"
-msgstr ""
-
-#: merge-ort.c:3870 merge-recursive.c:3153
-msgid "submodule"
-msgstr ""
-
-#: merge-ort.c:3872 merge-recursive.c:3154
-#, c-format
-msgid "CONFLICT (%s): Merge conflict in %s"
-msgstr ""
-
-#: merge-ort.c:3916
-#, c-format
-msgid ""
-"CONFLICT (modify/delete): %s deleted in %s and modified in %s.  Version %s "
-"of %s left in tree."
-msgstr ""
-
-#: merge-ort.c:4212
-#, c-format
-msgid ""
-"Note: %s not up to date and in way of checking out conflicted version; old "
-"copy renamed to %s"
-msgstr ""
-
-#. TRANSLATORS: The %s arguments are: 1) tree hash of a merge
-#. base, and 2-3) the trees for the two trees we're merging.
-#.
-#: merge-ort.c:4586
-#, c-format
-msgid "collecting merge info failed for trees %s, %s, %s"
-msgstr ""
-
-#: merge-ort-wrappers.c:13 merge-recursive.c:3723
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"  %s"
-msgstr ""
-
-#: merge-ort-wrappers.c:33 merge-recursive.c:3485 builtin/merge.c:405
-msgid "Already up to date."
-msgstr ""
-
-#: merge-recursive.c:353
-msgid "(bad commit)\n"
-msgstr ""
-
-#: merge-recursive.c:381
-#, c-format
-msgid "add_cacheinfo failed for path '%s'; merge aborting."
-msgstr ""
-
-#: merge-recursive.c:390
-#, c-format
-msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
-msgstr ""
-
-#: merge-recursive.c:881
-#, c-format
-msgid "failed to create path '%s'%s"
-msgstr ""
-
-#: merge-recursive.c:892
-#, c-format
-msgid "Removing %s to make room for subdirectory\n"
-msgstr ""
-
-#: merge-recursive.c:906 merge-recursive.c:925
-msgid ": perhaps a D/F conflict?"
-msgstr ""
-
-#: merge-recursive.c:915
-#, c-format
-msgid "refusing to lose untracked file at '%s'"
-msgstr ""
-
-#: merge-recursive.c:956 builtin/cat-file.c:47
-#, c-format
-msgid "cannot read object %s '%s'"
-msgstr ""
-
-#: merge-recursive.c:961
-#, c-format
-msgid "blob expected for %s '%s'"
-msgstr ""
-
-#: merge-recursive.c:986
-#, c-format
-msgid "failed to open '%s': %s"
-msgstr ""
-
-#: merge-recursive.c:997
-#, c-format
-msgid "failed to symlink '%s': %s"
-msgstr ""
-
-#: merge-recursive.c:1002
-#, c-format
-msgid "do not know what to do with %06o %s '%s'"
-msgstr ""
-
-#: merge-recursive.c:1236 merge-recursive.c:1249
-#, c-format
-msgid "Fast-forwarding submodule %s to the following commit:"
-msgstr ""
-
-#: merge-recursive.c:1239 merge-recursive.c:1252
-#, c-format
-msgid "Fast-forwarding submodule %s"
-msgstr ""
-
-#: merge-recursive.c:1276
-#, c-format
-msgid "Failed to merge submodule %s (merge following commits not found)"
-msgstr ""
-
-#: merge-recursive.c:1280
-#, c-format
-msgid "Failed to merge submodule %s (not fast-forward)"
-msgstr ""
-
-#: merge-recursive.c:1281
-msgid "Found a possible merge resolution for the submodule:\n"
-msgstr ""
-
-#: merge-recursive.c:1293
-#, c-format
-msgid "Failed to merge submodule %s (multiple merges found)"
-msgstr ""
-
-#: merge-recursive.c:1437
-#, c-format
-msgid "Error: Refusing to lose untracked file at %s; writing to %s instead."
-msgstr ""
-
-#: merge-recursive.c:1509
-#, c-format
-msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
-"in tree."
-msgstr ""
-
-#: merge-recursive.c:1514
-#, c-format
-msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
-"left in tree."
-msgstr ""
-
-#: merge-recursive.c:1521
-#, c-format
-msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
-"in tree at %s."
-msgstr ""
-
-#: merge-recursive.c:1526
-#, c-format
-msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
-"left in tree at %s."
-msgstr ""
-
-#: merge-recursive.c:1561
-msgid "rename"
-msgstr ""
-
-#: merge-recursive.c:1561
-msgid "renamed"
-msgstr ""
-
-#: merge-recursive.c:1612 merge-recursive.c:2518 merge-recursive.c:3181
-#, c-format
-msgid "Refusing to lose dirty file at %s"
-msgstr ""
-
-#: merge-recursive.c:1622
-#, c-format
-msgid "Refusing to lose untracked file at %s, even though it's in the way."
-msgstr ""
-
-#: merge-recursive.c:1680
-#, c-format
-msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
-msgstr ""
-
-#: merge-recursive.c:1711
-#, c-format
-msgid "%s is a directory in %s adding as %s instead"
-msgstr ""
-
-#: merge-recursive.c:1716
-#, c-format
-msgid "Refusing to lose untracked file at %s; adding as %s instead"
-msgstr ""
-
-#: merge-recursive.c:1743
-#, c-format
-msgid ""
-"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
-"\"->\"%s\" in \"%s\"%s"
-msgstr ""
-
-#: merge-recursive.c:1748
-msgid " (left unresolved)"
-msgstr ""
-
-#: merge-recursive.c:1840
-#, c-format
-msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
-msgstr ""
-
-#: merge-recursive.c:2103
-#, c-format
-msgid ""
-"CONFLICT (directory rename split): Unclear where to place %s because "
-"directory %s was renamed to multiple other directories, with no destination "
-"getting a majority of the files."
-msgstr ""
-
-#: merge-recursive.c:2237
-#, c-format
-msgid ""
-"CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
-">%s in %s"
-msgstr ""
-
-#: merge-recursive.c:3092
-msgid "modify"
-msgstr ""
-
-#: merge-recursive.c:3092
-msgid "modified"
-msgstr ""
-
-#: merge-recursive.c:3131
-#, c-format
-msgid "Skipped %s (merged same as existing)"
-msgstr ""
-
-#: merge-recursive.c:3184
-#, c-format
-msgid "Adding as %s instead"
-msgstr ""
-
-#: merge-recursive.c:3388
-#, c-format
-msgid "Removing %s"
-msgstr ""
-
-#: merge-recursive.c:3411
-msgid "file/directory"
-msgstr ""
-
-#: merge-recursive.c:3416
-msgid "directory/file"
-msgstr ""
-
-#: merge-recursive.c:3423
-#, c-format
-msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
-msgstr ""
-
-#: merge-recursive.c:3432
-#, c-format
-msgid "Adding %s"
-msgstr ""
-
-#: merge-recursive.c:3441
-#, c-format
-msgid "CONFLICT (add/add): Merge conflict in %s"
-msgstr ""
-
-#: merge-recursive.c:3494
-#, c-format
-msgid "merging of trees %s and %s failed"
-msgstr ""
-
-#: merge-recursive.c:3588
-msgid "Merging:"
-msgstr ""
-
-#: merge-recursive.c:3601
-#, c-format
-msgid "found %u common ancestor:"
-msgid_plural "found %u common ancestors:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: merge-recursive.c:3651
-msgid "merge returned no commit"
-msgstr ""
-
-#: merge-recursive.c:3823
-#, c-format
-msgid "Could not parse object '%s'"
-msgstr ""
-
-#: merge-recursive.c:3841 builtin/merge.c:720 builtin/merge.c:912
-#: builtin/stash.c:489
-msgid "Unable to write index."
-msgstr ""
-
-#: merge.c:41
-msgid "failed to read the cache"
-msgstr ""
-
-#: merge.c:102 rerere.c:705 builtin/am.c:1989 builtin/am.c:2023
-#: builtin/checkout.c:603 builtin/checkout.c:865 builtin/clone.c:714
-#: builtin/stash.c:269
-msgid "unable to write new index file"
-msgstr ""
-
-#: midx.c:79
-msgid "multi-pack-index OID fanout is of the wrong size"
-msgstr ""
-
-#: midx.c:112
-#, c-format
-msgid "multi-pack-index file %s is too small"
-msgstr ""
-
-#: midx.c:128
-#, c-format
-msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
-msgstr ""
-
-#: midx.c:133
-#, c-format
-msgid "multi-pack-index version %d not recognized"
-msgstr ""
-
-#: midx.c:138
-#, c-format
-msgid "multi-pack-index hash version %u does not match version %u"
-msgstr ""
-
-#: midx.c:155
-msgid "multi-pack-index missing required pack-name chunk"
-msgstr ""
-
-#: midx.c:157
-msgid "multi-pack-index missing required OID fanout chunk"
-msgstr ""
-
-#: midx.c:159
-msgid "multi-pack-index missing required OID lookup chunk"
-msgstr ""
-
-#: midx.c:161
-msgid "multi-pack-index missing required object offsets chunk"
-msgstr ""
-
-#: midx.c:180
-#, c-format
-msgid "multi-pack-index pack names out of order: '%s' before '%s'"
-msgstr ""
-
-#: midx.c:228
-#, c-format
-msgid "bad pack-int-id: %u (%u total packs)"
-msgstr ""
-
-#: midx.c:278
-msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
-msgstr ""
-
-#: midx.c:509
-#, c-format
-msgid "failed to add packfile '%s'"
-msgstr ""
-
-#: midx.c:515
-#, c-format
-msgid "failed to open pack-index '%s'"
-msgstr ""
-
-#: midx.c:583
-#, c-format
-msgid "failed to locate object %d in packfile"
-msgstr ""
-
-#: midx.c:911
-msgid "cannot store reverse index file"
-msgstr ""
-
-#: midx.c:1009
-#, c-format
-msgid "could not parse line: %s"
-msgstr ""
-
-#: midx.c:1011
-#, c-format
-msgid "malformed line: %s"
-msgstr ""
-
-#: midx.c:1181
-msgid "ignoring existing multi-pack-index; checksum mismatch"
-msgstr ""
-
-#: midx.c:1206
-msgid "could not load pack"
-msgstr ""
-
-#: midx.c:1212
-#, c-format
-msgid "could not open index for %s"
-msgstr ""
-
-#: midx.c:1223
-msgid "Adding packfiles to multi-pack-index"
-msgstr ""
-
-#: midx.c:1266
-#, c-format
-msgid "unknown preferred pack: '%s'"
-msgstr ""
-
-#: midx.c:1311
-#, c-format
-msgid "cannot select preferred pack %s with no objects"
-msgstr ""
-
-#: midx.c:1343
-#, c-format
-msgid "did not see pack-file %s to drop"
-msgstr ""
-
-#: midx.c:1389
-#, c-format
-msgid "preferred pack '%s' is expired"
-msgstr ""
-
-#: midx.c:1402
-msgid "no pack files to index."
-msgstr ""
-
-#: midx.c:1409
-msgid "refusing to write multi-pack .bitmap without any objects"
-msgstr ""
-
-#: midx.c:1451
-msgid "could not write multi-pack bitmap"
-msgstr ""
-
-#: midx.c:1461
-msgid "could not write multi-pack-index"
-msgstr ""
-
-#: midx.c:1520 builtin/clean.c:37
-#, c-format
-msgid "failed to remove %s"
-msgstr ""
-
-#: midx.c:1553
-#, c-format
-msgid "failed to clear multi-pack-index at %s"
-msgstr ""
-
-#: midx.c:1616
-msgid "multi-pack-index file exists, but failed to parse"
-msgstr ""
-
-#: midx.c:1624
-msgid "incorrect checksum"
-msgstr ""
-
-#: midx.c:1627
-msgid "Looking for referenced packfiles"
-msgstr ""
-
-#: midx.c:1642
-#, c-format
-msgid ""
-"oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
-msgstr ""
-
-#: midx.c:1647
-msgid "the midx contains no oid"
-msgstr ""
-
-#: midx.c:1656
-msgid "Verifying OID order in multi-pack-index"
-msgstr ""
-
-#: midx.c:1665
-#, c-format
-msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
-msgstr ""
-
-#: midx.c:1685
-msgid "Sorting objects by packfile"
-msgstr ""
-
-#: midx.c:1692
-msgid "Verifying object offsets"
-msgstr ""
-
-#: midx.c:1708
-#, c-format
-msgid "failed to load pack entry for oid[%d] = %s"
-msgstr ""
-
-#: midx.c:1714
-#, c-format
-msgid "failed to load pack-index for packfile %s"
-msgstr ""
-
-#: midx.c:1723
-#, c-format
-msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
-msgstr ""
-
-#: midx.c:1750
-msgid "Counting referenced objects"
-msgstr ""
-
-#: midx.c:1760
-msgid "Finding and deleting unreferenced packfiles"
-msgstr ""
-
-#: midx.c:1952
-msgid "could not start pack-objects"
-msgstr ""
-
-#: midx.c:1972
-msgid "could not finish pack-objects"
-msgstr ""
-
-#: name-hash.c:542
-#, c-format
-msgid "unable to create lazy_dir thread: %s"
-msgstr ""
-
-#: name-hash.c:564
-#, c-format
-msgid "unable to create lazy_name thread: %s"
-msgstr ""
-
-#: name-hash.c:570
-#, c-format
-msgid "unable to join lazy_name thread: %s"
-msgstr ""
-
-#: notes-merge.c:276
-#, c-format
-msgid ""
-"You have not concluded your previous notes merge (%s exists).\n"
-"Please, use 'git notes merge --commit' or 'git notes merge --abort' to "
-"commit/abort the previous merge before you start a new notes merge."
-msgstr ""
-
-#: notes-merge.c:283
-#, c-format
-msgid "You have not concluded your notes merge (%s exists)."
-msgstr ""
-
-#: notes-utils.c:46
-msgid "Cannot commit uninitialized/unreferenced notes tree"
-msgstr ""
-
-#: notes-utils.c:105
-#, c-format
-msgid "Bad notes.rewriteMode value: '%s'"
-msgstr ""
-
-#: notes-utils.c:115
-#, c-format
-msgid "Refusing to rewrite notes in %s (outside of refs/notes/)"
-msgstr ""
-
-#. TRANSLATORS: The first %s is the name of
-#. the environment variable, the second %s is
-#. its value.
-#.
-#: notes-utils.c:145
-#, c-format
-msgid "Bad %s value: '%s'"
-msgstr ""
-
-#: object-file.c:457
-#, c-format
-msgid "object directory %s does not exist; check .git/objects/info/alternates"
-msgstr ""
-
-#: object-file.c:515
-#, c-format
-msgid "unable to normalize alternate object path: %s"
-msgstr ""
-
-#: object-file.c:589
-#, c-format
-msgid "%s: ignoring alternate object stores, nesting too deep"
-msgstr ""
-
-#: object-file.c:596
-#, c-format
-msgid "unable to normalize object directory: %s"
-msgstr ""
-
-#: object-file.c:639
-msgid "unable to fdopen alternates lockfile"
-msgstr ""
-
-#: object-file.c:657
-msgid "unable to read alternates file"
-msgstr ""
-
-#: object-file.c:664
-msgid "unable to move new alternates file into place"
-msgstr ""
-
-#: object-file.c:742
-#, c-format
-msgid "path '%s' does not exist"
-msgstr ""
-
-#: object-file.c:763
-#, c-format
-msgid "reference repository '%s' as a linked checkout is not supported yet."
-msgstr ""
-
-#: object-file.c:769
-#, c-format
-msgid "reference repository '%s' is not a local repository."
-msgstr ""
-
-#: object-file.c:775
-#, c-format
-msgid "reference repository '%s' is shallow"
-msgstr ""
-
-#: object-file.c:783
-#, c-format
-msgid "reference repository '%s' is grafted"
-msgstr ""
-
-#: object-file.c:814
-#, c-format
-msgid "could not find object directory matching %s"
-msgstr ""
-
-#: object-file.c:864
-#, c-format
-msgid "invalid line while parsing alternate refs: %s"
-msgstr ""
-
-#: object-file.c:1014
-#, c-format
-msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
-msgstr ""
-
-#: object-file.c:1049
-#, c-format
-msgid "mmap failed%s"
-msgstr ""
-
-#: object-file.c:1230
-#, c-format
-msgid "object file %s is empty"
-msgstr ""
-
-#: object-file.c:1349 object-file.c:2588
-#, c-format
-msgid "corrupt loose object '%s'"
-msgstr ""
-
-#: object-file.c:1351 object-file.c:2592
-#, c-format
-msgid "garbage at end of loose object '%s'"
-msgstr ""
-
-#: object-file.c:1473
-#, c-format
-msgid "unable to parse %s header"
-msgstr ""
-
-#: object-file.c:1475
-msgid "invalid object type"
-msgstr ""
-
-#: object-file.c:1486
-#, c-format
-msgid "unable to unpack %s header"
-msgstr ""
-
-#: object-file.c:1490
-#, c-format
-msgid "header for %s too long, exceeds %d bytes"
-msgstr ""
-
-#: object-file.c:1720
-#, c-format
-msgid "failed to read object %s"
-msgstr ""
-
-#: object-file.c:1724
-#, c-format
-msgid "replacement %s not found for %s"
-msgstr ""
-
-#: object-file.c:1728
-#, c-format
-msgid "loose object %s (stored in %s) is corrupt"
-msgstr ""
-
-#: object-file.c:1732
-#, c-format
-msgid "packed object %s (stored in %s) is corrupt"
-msgstr ""
-
-#: object-file.c:1855
-#, c-format
-msgid "unable to write file %s"
-msgstr ""
-
-#: object-file.c:1862
-#, c-format
-msgid "unable to set permission to '%s'"
-msgstr ""
-
-#: object-file.c:1869
-msgid "file write error"
-msgstr ""
-
-#: object-file.c:1904
-msgid "error when closing loose object file"
-msgstr ""
-
-#: object-file.c:1971
-#, c-format
-msgid "insufficient permission for adding an object to repository database %s"
-msgstr ""
-
-#: object-file.c:1973
-msgid "unable to create temporary file"
-msgstr ""
-
-#: object-file.c:1997
-msgid "unable to write loose object file"
-msgstr ""
-
-#: object-file.c:2003
-#, c-format
-msgid "unable to deflate new object %s (%d)"
-msgstr ""
-
-#: object-file.c:2007
-#, c-format
-msgid "deflateEnd on object %s failed (%d)"
-msgstr ""
-
-#: object-file.c:2011
-#, c-format
-msgid "confused by unstable object source data for %s"
-msgstr ""
-
-#: object-file.c:2022 builtin/pack-objects.c:1251
-#, c-format
-msgid "failed utime() on %s"
-msgstr ""
-
-#: object-file.c:2100
-#, c-format
-msgid "cannot read object for %s"
-msgstr ""
-
-#: object-file.c:2151
-msgid "corrupt commit"
-msgstr ""
-
-#: object-file.c:2159
-msgid "corrupt tag"
-msgstr ""
-
-#: object-file.c:2259
-#, c-format
-msgid "read error while indexing %s"
-msgstr ""
-
-#: object-file.c:2262
-#, c-format
-msgid "short read while indexing %s"
-msgstr ""
-
-#: object-file.c:2335 object-file.c:2345
-#, c-format
-msgid "%s: failed to insert into database"
-msgstr ""
-
-#: object-file.c:2351
-#, c-format
-msgid "%s: unsupported file type"
-msgstr ""
-
-#: object-file.c:2375 builtin/fetch.c:1494
-#, c-format
-msgid "%s is not a valid object"
-msgstr ""
-
-#: object-file.c:2377
-#, c-format
-msgid "%s is not a valid '%s' object"
-msgstr ""
-
-#: object-file.c:2404
-#, c-format
-msgid "unable to open %s"
-msgstr ""
-
-#: object-file.c:2599
-#, c-format
-msgid "hash mismatch for %s (expected %s)"
-msgstr ""
-
-#: object-file.c:2622
-#, c-format
-msgid "unable to mmap %s"
-msgstr ""
-
-#: object-file.c:2628
-#, c-format
-msgid "unable to unpack header of %s"
-msgstr ""
-
-#: object-file.c:2633
-#, c-format
-msgid "unable to parse header of %s"
-msgstr ""
-
-#: object-file.c:2644
-#, c-format
-msgid "unable to unpack contents of %s"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous object
-#. output shown when we cannot look up or parse the
-#. object in question. E.g. "deadbeef [bad object]".
-#.
-#: object-name.c:382
-#, c-format
-msgid "%s [bad object]"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous commit
-#. object output. E.g.:
-#. *
-#.    "deadbeef commit 2021-01-01 - Some Commit Message"
-#.
-#: object-name.c:407
-#, c-format
-msgid "%s commit %s - %s"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous
-#. tag object output. E.g.:
-#. *
-#.    "deadbeef tag 2022-01-01 - Some Tag Message"
-#. *
-#. The second argument is the YYYY-MM-DD found
-#. in the tag.
-#. *
-#. The third argument is the "tag" string
-#. from object.c.
-#.
-#: object-name.c:428
-#, c-format
-msgid "%s tag %s - %s"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous
-#. tag object output where we couldn't parse
-#. the tag itself. E.g.:
-#. *
-#.    "deadbeef [bad tag, could not parse it]"
-#.
-#: object-name.c:439
-#, c-format
-msgid "%s [bad tag, could not parse it]"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous <type>
-#. object output. E.g. "deadbeef tree".
-#.
-#: object-name.c:447
-#, c-format
-msgid "%s tree"
-msgstr ""
-
-#. TRANSLATORS: This is a line of ambiguous <type>
-#. object output. E.g. "deadbeef blob".
-#.
-#: object-name.c:453
-#, c-format
-msgid "%s blob"
-msgstr ""
-
-#: object-name.c:569
-#, c-format
-msgid "short object ID %s is ambiguous"
-msgstr ""
-
-#. TRANSLATORS: The argument is the list of ambiguous
-#. objects composed in show_ambiguous_object(). See
-#. its "TRANSLATORS" comments for details.
-#.
-#: object-name.c:591
-#, c-format
-msgid ""
-"The candidates are:\n"
-"%s"
-msgstr ""
-
-#: object-name.c:888
-msgid ""
-"Git normally never creates a ref that ends with 40 hex characters\n"
-"because it will be ignored when you just specify 40-hex. These refs\n"
-"may be created by mistake. For example,\n"
-"\n"
-"  git switch -c $br $(git rev-parse ...)\n"
-"\n"
-"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
-"examine these refs and maybe delete them. Turn this message off by\n"
-"running \"git config advice.objectNameWarning false\""
-msgstr ""
-
-#: object-name.c:1008
-#, c-format
-msgid "log for '%.*s' only goes back to %s"
-msgstr ""
-
-#: object-name.c:1016
-#, c-format
-msgid "log for '%.*s' only has %d entries"
-msgstr ""
-
-#: object-name.c:1794
-#, c-format
-msgid "path '%s' exists on disk, but not in '%.*s'"
-msgstr ""
-
-#: object-name.c:1800
-#, c-format
-msgid ""
-"path '%s' exists, but not '%s'\n"
-"hint: Did you mean '%.*s:%s' aka '%.*s:./%s'?"
-msgstr ""
-
-#: object-name.c:1809
-#, c-format
-msgid "path '%s' does not exist in '%.*s'"
-msgstr ""
-
-#: object-name.c:1837
-#, c-format
-msgid ""
-"path '%s' is in the index, but not at stage %d\n"
-"hint: Did you mean ':%d:%s'?"
-msgstr ""
-
-#: object-name.c:1853
-#, c-format
-msgid ""
-"path '%s' is in the index, but not '%s'\n"
-"hint: Did you mean ':%d:%s' aka ':%d:./%s'?"
-msgstr ""
-
-#: object-name.c:1861
-#, c-format
-msgid "path '%s' exists on disk, but not in the index"
-msgstr ""
-
-#: object-name.c:1863
-#, c-format
-msgid "path '%s' does not exist (neither on disk nor in the index)"
-msgstr ""
-
-#: object-name.c:1876
-msgid "relative path syntax can't be used outside working tree"
-msgstr ""
-
-#: object-name.c:1901
-#, c-format
-msgid "<object>:<path> required, only <object> '%s' given"
-msgstr ""
-
-#: object-name.c:2014
-#, c-format
-msgid "invalid object name '%.*s'."
-msgstr ""
-
-#: object.c:53
-#, c-format
-msgid "invalid object type \"%s\""
-msgstr ""
-
-#: object.c:173
-#, c-format
-msgid "object %s is a %s, not a %s"
-msgstr ""
-
-#: object.c:250
-#, c-format
-msgid "object %s has unknown type id %d"
-msgstr ""
-
-#: object.c:263
-#, c-format
-msgid "unable to parse object: %s"
-msgstr ""
-
-#: object.c:283 object.c:294
-#, c-format
-msgid "hash mismatch %s"
-msgstr ""
-
-#: pack-bitmap.c:353
-msgid "multi-pack bitmap is missing required reverse index"
-msgstr ""
-
-#: pack-bitmap.c:433
-msgid "load_reverse_index: could not open pack"
-msgstr ""
-
-#: pack-bitmap.c:1072 pack-bitmap.c:1078 builtin/pack-objects.c:2432
-#, c-format
-msgid "unable to get size of %s"
-msgstr ""
-
-#: pack-bitmap.c:1937
-#, c-format
-msgid "could not find %s in pack %s at offset %<PRIuMAX>"
-msgstr ""
-
-#: pack-bitmap.c:1973 builtin/rev-list.c:91
-#, c-format
-msgid "unable to get disk usage of %s"
-msgstr ""
-
-#: pack-revindex.c:221
-#, c-format
-msgid "reverse-index file %s is too small"
-msgstr ""
-
-#: pack-revindex.c:226
-#, c-format
-msgid "reverse-index file %s is corrupt"
-msgstr ""
-
-#: pack-revindex.c:234
-#, c-format
-msgid "reverse-index file %s has unknown signature"
-msgstr ""
-
-#: pack-revindex.c:238
-#, c-format
-msgid "reverse-index file %s has unsupported version %<PRIu32>"
-msgstr ""
-
-#: pack-revindex.c:243
-#, c-format
-msgid "reverse-index file %s has unsupported hash id %<PRIu32>"
-msgstr ""
-
-#: pack-write.c:251
-msgid "cannot both write and verify reverse index"
-msgstr ""
-
-#: pack-write.c:270
-#, c-format
-msgid "could not stat: %s"
-msgstr ""
-
-#: pack-write.c:282
-#, c-format
-msgid "failed to make %s readable"
-msgstr ""
-
-#: pack-write.c:521
-#, c-format
-msgid "could not write '%s' promisor file"
-msgstr ""
-
-#: packfile.c:627
-msgid "offset before end of packfile (broken .idx?)"
-msgstr ""
-
-#: packfile.c:657
-#, c-format
-msgid "packfile %s cannot be mapped%s"
-msgstr ""
-
-#: packfile.c:1924
-#, c-format
-msgid "offset before start of pack index for %s (corrupt index?)"
-msgstr ""
-
-#: packfile.c:1928
-#, c-format
-msgid "offset beyond end of pack index for %s (truncated index?)"
-msgstr ""
-
-#: parse-options-cb.c:21 parse-options-cb.c:25 builtin/commit-graph.c:175
-#, c-format
-msgid "option `%s' expects a numerical value"
-msgstr ""
-
-#: parse-options-cb.c:42
-#, c-format
-msgid "malformed expiration date '%s'"
-msgstr ""
-
-#: parse-options-cb.c:55
-#, c-format
-msgid "option `%s' expects \"always\", \"auto\", or \"never\""
-msgstr ""
-
-#: parse-options-cb.c:133 parse-options-cb.c:150
-#, c-format
-msgid "malformed object name '%s'"
-msgstr ""
-
-#: parse-options-cb.c:307
-#, c-format
-msgid "option `%s' expects \"%s\" or \"%s\""
-msgstr ""
-
-#: parse-options.c:58
-#, c-format
-msgid "%s requires a value"
-msgstr ""
-
-#: parse-options.c:93
-#, c-format
-msgid "%s is incompatible with %s"
-msgstr ""
-
-#: parse-options.c:98
-#, c-format
-msgid "%s : incompatible with something else"
-msgstr ""
-
-#: parse-options.c:112 parse-options.c:116
-#, c-format
-msgid "%s takes no value"
-msgstr ""
-
-#: parse-options.c:114
-#, c-format
-msgid "%s isn't available"
-msgstr ""
-
-#: parse-options.c:237
-#, c-format
-msgid "%s expects a non-negative integer value with an optional k/m/g suffix"
-msgstr ""
-
-#: parse-options.c:393
-#, c-format
-msgid "ambiguous option: %s (could be --%s%s or --%s%s)"
-msgstr ""
-
-#: parse-options.c:428 parse-options.c:436
-#, c-format
-msgid "did you mean `--%s` (with two dashes)?"
-msgstr ""
-
-#: parse-options.c:678 parse-options.c:1054
-#, c-format
-msgid "alias of --%s"
-msgstr ""
-
-#: parse-options.c:892
-#, c-format
-msgid "unknown option `%s'"
-msgstr ""
-
-#: parse-options.c:894
-#, c-format
-msgid "unknown switch `%c'"
-msgstr ""
-
-#: parse-options.c:896
-#, c-format
-msgid "unknown non-ascii option in string: `%s'"
-msgstr ""
-
-#: parse-options.c:920
-msgid "..."
-msgstr ""
-
-#: parse-options.c:934
-#, c-format
-msgid "usage: %s"
-msgstr ""
-
-#. TRANSLATORS: the colon here should align with the
-#. one in "usage: %s" translation.
-#.
-#: parse-options.c:949
-#, c-format
-msgid "   or: %s"
-msgstr ""
-
-#. TRANSLATORS: You should only need to translate this format
-#. string if your language is a RTL language (e.g. Arabic,
-#. Hebrew etc.), not if it's a LTR language (e.g. German,
-#. Russian, Chinese etc.).
-#. *
-#. When a translated usage string has an embedded "\n" it's
-#. because options have wrapped to the next line. The line
-#. after the "\n" will then be padded to align with the
-#. command name, such as N_("git cmd [opt]\n<8
-#. spaces>[opt2]"), where the 8 spaces are the same length as
-#. "git cmd ".
-#. *
-#. This format string prints out that already-translated
-#. line. The "%*s" is whitespace padding to account for the
-#. padding at the start of the line that we add in this
-#. function. The "%s" is a line in the (hopefully already
-#. translated) N_() usage string, which contained embedded
-#. newlines before we split it up.
-#.
-#: parse-options.c:970
-#, c-format
-msgid "%*s%s"
-msgstr ""
-
-#: parse-options.c:993
-#, c-format
-msgid "    %s"
-msgstr ""
-
-#: parse-options.c:1040
-msgid "-NUM"
-msgstr ""
-
-#: path.c:922
-#, c-format
-msgid "Could not make %s writable by group"
-msgstr ""
-
-#: pathspec.c:150
-msgid "Escape character '\\' not allowed as last character in attr value"
-msgstr ""
-
-#: pathspec.c:168
-msgid "Only one 'attr:' specification is allowed."
-msgstr ""
-
-#: pathspec.c:171
-msgid "attr spec must not be empty"
-msgstr ""
-
-#: pathspec.c:214
-#, c-format
-msgid "invalid attribute name %s"
-msgstr ""
-
-#: pathspec.c:279
-msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
-msgstr ""
-
-#: pathspec.c:286
-msgid ""
-"global 'literal' pathspec setting is incompatible with all other global "
-"pathspec settings"
-msgstr ""
-
-#: pathspec.c:326
-msgid "invalid parameter for pathspec magic 'prefix'"
-msgstr ""
-
-#: pathspec.c:347
-#, c-format
-msgid "Invalid pathspec magic '%.*s' in '%s'"
-msgstr ""
-
-#: pathspec.c:352
-#, c-format
-msgid "Missing ')' at the end of pathspec magic in '%s'"
-msgstr ""
-
-#: pathspec.c:390
-#, c-format
-msgid "Unimplemented pathspec magic '%c' in '%s'"
-msgstr ""
-
-#: pathspec.c:449
-#, c-format
-msgid "%s: 'literal' and 'glob' are incompatible"
-msgstr ""
-
-#: pathspec.c:465
-#, c-format
-msgid "%s: '%s' is outside repository at '%s'"
-msgstr ""
-
-#: pathspec.c:541
-#, c-format
-msgid "'%s' (mnemonic: '%c')"
-msgstr ""
-
-#: pathspec.c:551
-#, c-format
-msgid "%s: pathspec magic not supported by this command: %s"
-msgstr ""
-
-#: pathspec.c:618
-#, c-format
-msgid "pathspec '%s' is beyond a symbolic link"
-msgstr ""
-
-#: pathspec.c:663
-#, c-format
-msgid "line is badly quoted: %s"
-msgstr ""
-
-#: pkt-line.c:92
-msgid "unable to write flush packet"
-msgstr ""
-
-#: pkt-line.c:99
-msgid "unable to write delim packet"
-msgstr ""
-
-#: pkt-line.c:106
-msgid "unable to write response end packet"
-msgstr ""
-
-#: pkt-line.c:113
-msgid "flush packet write failed"
-msgstr ""
-
-#: pkt-line.c:153
-msgid "protocol error: impossibly long line"
-msgstr ""
-
-#: pkt-line.c:169 pkt-line.c:171
-msgid "packet write with format failed"
-msgstr ""
-
-#: pkt-line.c:204 pkt-line.c:252
-msgid "packet write failed - data exceeds max packet size"
-msgstr ""
-
-#: pkt-line.c:222
-#, c-format
-msgid "packet write failed: %s"
-msgstr ""
-
-#: pkt-line.c:349 pkt-line.c:350
-msgid "read error"
-msgstr ""
-
-#: pkt-line.c:360 pkt-line.c:361
-msgid "the remote end hung up unexpectedly"
-msgstr ""
-
-#: pkt-line.c:417 pkt-line.c:419
-#, c-format
-msgid "protocol error: bad line length character: %.4s"
-msgstr ""
-
-#: pkt-line.c:434 pkt-line.c:436 pkt-line.c:442 pkt-line.c:444
-#, c-format
-msgid "protocol error: bad line length %d"
-msgstr ""
-
-#: pkt-line.c:472 sideband.c:165
-#, c-format
-msgid "remote error: %s"
-msgstr ""
-
-#: preload-index.c:125
-msgid "Refreshing index"
-msgstr ""
-
-#: preload-index.c:144
-#, c-format
-msgid "unable to create threaded lstat: %s"
-msgstr ""
-
-#: pretty.c:1051
-msgid "unable to parse --pretty format"
-msgstr ""
-
-#: promisor-remote.c:31
-msgid "promisor-remote: unable to fork off fetch subprocess"
-msgstr ""
-
-#: promisor-remote.c:38 promisor-remote.c:40
-msgid "promisor-remote: could not write to fetch subprocess"
-msgstr ""
-
-#: promisor-remote.c:44
-msgid "promisor-remote: could not close stdin to fetch subprocess"
-msgstr ""
-
-#: promisor-remote.c:54
-#, c-format
-msgid "promisor remote name cannot begin with '/': %s"
-msgstr ""
-
-#: protocol-caps.c:103
-msgid "object-info: expected flush after arguments"
-msgstr ""
-
-#: prune-packed.c:35
-msgid "Removing duplicate objects"
-msgstr ""
-
-#: range-diff.c:68
-msgid "could not start `log`"
-msgstr ""
-
-#: range-diff.c:70
-msgid "could not read `log` output"
-msgstr ""
-
-#: range-diff.c:98 sequencer.c:5575
-#, c-format
-msgid "could not parse commit '%s'"
-msgstr ""
-
-#: range-diff.c:109
-#, c-format
-msgid ""
-"could not parse first line of `log` output: did not start with 'commit ': "
-"'%s'"
-msgstr ""
-
-#: range-diff.c:132
-#, c-format
-msgid "could not parse git header '%.*s'"
-msgstr ""
-
-#: range-diff.c:300
-msgid "failed to generate diff"
-msgstr ""
-
-#: range-diff.c:558 range-diff.c:560
-#, c-format
-msgid "could not parse log for '%s'"
-msgstr ""
-
-#: read-cache.c:737
-#, c-format
-msgid "will not add file alias '%s' ('%s' already exists in index)"
-msgstr ""
-
-#: read-cache.c:753
-msgid "cannot create an empty blob in the object database"
-msgstr ""
-
-#: read-cache.c:775
-#, c-format
-msgid "%s: can only add regular files, symbolic links or git-directories"
-msgstr ""
-
-#: read-cache.c:780 builtin/submodule--helper.c:3359
-#, c-format
-msgid "'%s' does not have a commit checked out"
-msgstr ""
-
-#: read-cache.c:832
-#, c-format
-msgid "unable to index file '%s'"
-msgstr ""
-
-#: read-cache.c:851
-#, c-format
-msgid "unable to add '%s' to index"
-msgstr ""
-
-#: read-cache.c:862
-#, c-format
-msgid "unable to stat '%s'"
-msgstr ""
-
-#: read-cache.c:1404
-#, c-format
-msgid "'%s' appears as both a file and as a directory"
-msgstr ""
-
-#: read-cache.c:1619
-msgid "Refresh index"
-msgstr ""
-
-#: read-cache.c:1751
-#, c-format
-msgid ""
-"index.version set, but the value is invalid.\n"
-"Using version %i"
-msgstr ""
-
-#: read-cache.c:1761
-#, c-format
-msgid ""
-"GIT_INDEX_VERSION set, but the value is invalid.\n"
-"Using version %i"
-msgstr ""
-
-#: read-cache.c:1817
-#, c-format
-msgid "bad signature 0x%08x"
-msgstr ""
-
-#: read-cache.c:1820
-#, c-format
-msgid "bad index version %d"
-msgstr ""
-
-#: read-cache.c:1829
-msgid "bad index file sha1 signature"
-msgstr ""
-
-#: read-cache.c:1863
-#, c-format
-msgid "index uses %.4s extension, which we do not understand"
-msgstr ""
-
-#: read-cache.c:1865
-#, c-format
-msgid "ignoring %.4s extension"
-msgstr ""
-
-#: read-cache.c:1902
-#, c-format
-msgid "unknown index entry format 0x%08x"
-msgstr ""
-
-#: read-cache.c:1918
-#, c-format
-msgid "malformed name field in the index, near path '%s'"
-msgstr ""
-
-#: read-cache.c:1975
-msgid "unordered stage entries in index"
-msgstr ""
-
-#: read-cache.c:1978
-#, c-format
-msgid "multiple stage entries for merged file '%s'"
-msgstr ""
-
-#: read-cache.c:1981
-#, c-format
-msgid "unordered stage entries for '%s'"
-msgstr ""
-
-#: read-cache.c:2096 read-cache.c:2402 rerere.c:549 rerere.c:583 rerere.c:1096
-#: submodule.c:1831 builtin/add.c:586 builtin/check-ignore.c:183
-#: builtin/checkout.c:532 builtin/checkout.c:724 builtin/clean.c:1016
-#: builtin/commit.c:379 builtin/diff-tree.c:122 builtin/grep.c:521
-#: builtin/mv.c:148 builtin/reset.c:506 builtin/rm.c:293
-#: builtin/submodule--helper.c:335 builtin/submodule--helper.c:3319
-msgid "index file corrupt"
-msgstr ""
-
-#: read-cache.c:2240
-#, c-format
-msgid "unable to create load_cache_entries thread: %s"
-msgstr ""
-
-#: read-cache.c:2253
-#, c-format
-msgid "unable to join load_cache_entries thread: %s"
-msgstr ""
-
-#: read-cache.c:2286
-#, c-format
-msgid "%s: index file open failed"
-msgstr ""
-
-#: read-cache.c:2290
-#, c-format
-msgid "%s: cannot stat the open index"
-msgstr ""
-
-#: read-cache.c:2294
-#, c-format
-msgid "%s: index file smaller than expected"
-msgstr ""
-
-#: read-cache.c:2298
-#, c-format
-msgid "%s: unable to map index file%s"
-msgstr ""
-
-#: read-cache.c:2341
-#, c-format
-msgid "unable to create load_index_extensions thread: %s"
-msgstr ""
-
-#: read-cache.c:2368
-#, c-format
-msgid "unable to join load_index_extensions thread: %s"
-msgstr ""
-
-#: read-cache.c:2414
-#, c-format
-msgid "could not freshen shared index '%s'"
-msgstr ""
-
-#: read-cache.c:2473
-#, c-format
-msgid "broken index, expect %s in %s, got %s"
-msgstr ""
-
-#: read-cache.c:3032
-msgid "cannot write split index for a sparse index"
-msgstr ""
-
-#: read-cache.c:3114 strbuf.c:1192 wrapper.c:717 builtin/merge.c:1156
-#, c-format
-msgid "could not close '%s'"
-msgstr ""
-
-#: read-cache.c:3157
-msgid "failed to convert to a sparse-index"
-msgstr ""
-
-#: read-cache.c:3228
-#, c-format
-msgid "could not stat '%s'"
-msgstr ""
-
-#: read-cache.c:3241
-#, c-format
-msgid "unable to open git dir: %s"
-msgstr ""
-
-#: read-cache.c:3253
-#, c-format
-msgid "unable to unlink: %s"
-msgstr ""
-
-#: read-cache.c:3282
-#, c-format
-msgid "cannot fix permission bits on '%s'"
-msgstr ""
-
-#: read-cache.c:3439
-#, c-format
-msgid "%s: cannot drop to stage #0"
-msgstr ""
-
-#: rebase-interactive.c:11
-msgid ""
-"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
-"continue'.\n"
-"Or you can abort the rebase with 'git rebase --abort'.\n"
-msgstr ""
-
-#: rebase-interactive.c:33
-#, c-format
-msgid ""
-"unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
-msgstr ""
-
-#: rebase-interactive.c:42
-msgid ""
-"\n"
-"Commands:\n"
-"p, pick <commit> = use commit\n"
-"r, reword <commit> = use commit, but edit the commit message\n"
-"e, edit <commit> = use commit, but stop for amending\n"
-"s, squash <commit> = use commit, but meld into previous commit\n"
-"f, fixup [-C | -c] <commit> = like \"squash\" but keep only the previous\n"
-"                   commit's log message, unless -C is used, in which case\n"
-"                   keep only this commit's message; -c is same as -C but\n"
-"                   opens the editor\n"
-"x, exec <command> = run command (the rest of the line) using shell\n"
-"b, break = stop here (continue rebase later with 'git rebase --continue')\n"
-"d, drop <commit> = remove commit\n"
-"l, label <label> = label current HEAD with a name\n"
-"t, reset <label> = reset HEAD to a label\n"
-"m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
-".       create a merge commit using the original merge commit's\n"
-".       message (or the oneline, if no original merge commit was\n"
-".       specified); use -c <commit> to reword the commit message\n"
-"\n"
-"These lines can be re-ordered; they are executed from top to bottom.\n"
-msgstr ""
-
-#: rebase-interactive.c:66
-#, c-format
-msgid "Rebase %s onto %s (%d command)"
-msgid_plural "Rebase %s onto %s (%d commands)"
-msgstr[0] ""
-msgstr[1] ""
-
-#: rebase-interactive.c:75
-msgid ""
-"\n"
-"Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
-msgstr ""
-
-#: rebase-interactive.c:78
-msgid ""
-"\n"
-"If you remove a line here THAT COMMIT WILL BE LOST.\n"
-msgstr ""
-
-#: rebase-interactive.c:84
-msgid ""
-"\n"
-"You are editing the todo file of an ongoing interactive rebase.\n"
-"To continue rebase after editing, run:\n"
-"    git rebase --continue\n"
-"\n"
-msgstr ""
-
-#: rebase-interactive.c:89
-msgid ""
-"\n"
-"However, if you remove everything, the rebase will be aborted.\n"
-"\n"
-msgstr ""
-
-#: rebase-interactive.c:113 rerere.c:469 rerere.c:677 sequencer.c:3879
-#: sequencer.c:3905 sequencer.c:5681 builtin/fsck.c:328 builtin/gc.c:1791
-#: builtin/rebase.c:191
-#, c-format
-msgid "could not write '%s'"
-msgstr ""
-
-#: rebase-interactive.c:119
-#, c-format
-msgid "could not write '%s'."
-msgstr ""
-
-#: rebase-interactive.c:196
-#, c-format
-msgid ""
-"Warning: some commits may have been dropped accidentally.\n"
-"Dropped commits (newer to older):\n"
-msgstr ""
-
-#: rebase-interactive.c:203
-#, c-format
-msgid ""
-"To avoid this message, use \"drop\" to explicitly remove a commit.\n"
-"\n"
-"Use 'git config rebase.missingCommitsCheck' to change the level of "
-"warnings.\n"
-"The possible behaviours are: ignore, warn, error.\n"
-"\n"
-msgstr ""
-
-#: rebase.c:29
-#, c-format
-msgid "%s: 'preserve' superseded by 'merges'"
-msgstr ""
-
-#: ref-filter.c:42 wt-status.c:2057
-msgid "gone"
-msgstr ""
-
-#: ref-filter.c:43
-#, c-format
-msgid "ahead %d"
-msgstr ""
-
-#: ref-filter.c:44
-#, c-format
-msgid "behind %d"
-msgstr ""
-
-#: ref-filter.c:45
-#, c-format
-msgid "ahead %d, behind %d"
-msgstr ""
-
-#: ref-filter.c:235
-#, c-format
-msgid "expected format: %%(color:<color>)"
-msgstr ""
-
-#: ref-filter.c:237
-#, c-format
-msgid "unrecognized color: %%(color:%s)"
-msgstr ""
-
-#: ref-filter.c:259
-#, c-format
-msgid "Integer value expected refname:lstrip=%s"
-msgstr ""
-
-#: ref-filter.c:263
-#, c-format
-msgid "Integer value expected refname:rstrip=%s"
-msgstr ""
-
-#: ref-filter.c:265 ref-filter.c:344 ref-filter.c:377 ref-filter.c:431
-#: ref-filter.c:443 ref-filter.c:462 ref-filter.c:534 ref-filter.c:560
-#, c-format
-msgid "unrecognized %%(%s) argument: %s"
-msgstr ""
-
-#: ref-filter.c:320
-#, c-format
-msgid "%%(objecttype) does not take arguments"
-msgstr ""
-
-#: ref-filter.c:352
-#, c-format
-msgid "%%(deltabase) does not take arguments"
-msgstr ""
-
-#: ref-filter.c:364
-#, c-format
-msgid "%%(body) does not take arguments"
-msgstr ""
-
-#: ref-filter.c:396
-#, c-format
-msgid "expected %%(trailers:key=<value>)"
-msgstr ""
-
-#: ref-filter.c:398
-#, c-format
-msgid "unknown %%(trailers) argument: %s"
-msgstr ""
-
-#: ref-filter.c:429
-#, c-format
-msgid "positive value expected contents:lines=%s"
-msgstr ""
-
-#: ref-filter.c:458
-#, c-format
-msgid "positive value expected '%s' in %%(%s)"
-msgstr ""
-
-#: ref-filter.c:476
-#, c-format
-msgid "unrecognized email option: %s"
-msgstr ""
-
-#: ref-filter.c:506
-#, c-format
-msgid "expected format: %%(align:<width>,<position>)"
-msgstr ""
-
-#: ref-filter.c:518
-#, c-format
-msgid "unrecognized position:%s"
-msgstr ""
-
-#: ref-filter.c:525
-#, c-format
-msgid "unrecognized width:%s"
-msgstr ""
-
-#: ref-filter.c:542
-#, c-format
-msgid "positive width expected with the %%(align) atom"
-msgstr ""
-
-#: ref-filter.c:568
-#, c-format
-msgid "%%(rest) does not take arguments"
-msgstr ""
-
-#: ref-filter.c:680
-#, c-format
-msgid "malformed field name: %.*s"
-msgstr ""
-
-#: ref-filter.c:707
-#, c-format
-msgid "unknown field name: %.*s"
-msgstr ""
-
-#: ref-filter.c:711
-#, c-format
-msgid ""
-"not a git repository, but the field '%.*s' requires access to object data"
-msgstr ""
-
-#: ref-filter.c:844 ref-filter.c:910 ref-filter.c:946 ref-filter.c:948
-#, c-format
-msgid "format: %%(%s) atom used without a %%(%s) atom"
-msgstr ""
-
-#: ref-filter.c:912
-#, c-format
-msgid "format: %%(then) atom used more than once"
-msgstr ""
-
-#: ref-filter.c:914
-#, c-format
-msgid "format: %%(then) atom used after %%(else)"
-msgstr ""
-
-#: ref-filter.c:950
-#, c-format
-msgid "format: %%(else) atom used more than once"
-msgstr ""
-
-#: ref-filter.c:965
-#, c-format
-msgid "format: %%(end) atom used without corresponding atom"
-msgstr ""
-
-#: ref-filter.c:1027
-#, c-format
-msgid "malformed format string %s"
-msgstr ""
-
-#: ref-filter.c:1033
-#, c-format
-msgid "this command reject atom %%(%.*s)"
-msgstr ""
-
-#: ref-filter.c:1040
-#, c-format
-msgid "--format=%.*s cannot be used with --python, --shell, --tcl"
-msgstr ""
-
-#: ref-filter.c:1707
-#, c-format
-msgid "(no branch, rebasing %s)"
-msgstr ""
-
-#: ref-filter.c:1710
-#, c-format
-msgid "(no branch, rebasing detached HEAD %s)"
-msgstr ""
-
-#: ref-filter.c:1713
-#, c-format
-msgid "(no branch, bisect started on %s)"
-msgstr ""
-
-#: ref-filter.c:1717
-#, c-format
-msgid "(HEAD detached at %s)"
-msgstr ""
-
-#: ref-filter.c:1720
-#, c-format
-msgid "(HEAD detached from %s)"
-msgstr ""
-
-#: ref-filter.c:1723
-msgid "(no branch)"
-msgstr ""
-
-#: ref-filter.c:1755 ref-filter.c:1973
-#, c-format
-msgid "missing object %s for %s"
-msgstr ""
-
-#: ref-filter.c:1765
-#, c-format
-msgid "parse_object_buffer failed on %s for %s"
-msgstr ""
-
-#: ref-filter.c:2156
-#, c-format
-msgid "malformed object at '%s'"
-msgstr ""
-
-#: ref-filter.c:2246
-#, c-format
-msgid "ignoring ref with broken name %s"
-msgstr ""
-
-#: ref-filter.c:2251 refs.c:672
-#, c-format
-msgid "ignoring broken ref %s"
-msgstr ""
-
-#: ref-filter.c:2630
-#, c-format
-msgid "format: %%(end) atom missing"
-msgstr ""
-
-#: ref-filter.c:2741
-#, c-format
-msgid "malformed object name %s"
-msgstr ""
-
-#: ref-filter.c:2746
-#, c-format
-msgid "option `%s' must point to a commit"
-msgstr ""
-
-#: reflog.c:407
-#, c-format
-msgid "not a reflog: %s"
-msgstr ""
-
-#: reflog.c:410
-#, c-format
-msgid "no reflog for '%s'"
-msgstr ""
-
-#: refs.c:262
-#, c-format
-msgid "%s does not point to a valid object!"
-msgstr ""
-
-#: refs.c:561
-#, c-format
-msgid ""
-"Using '%s' as the name for the initial branch. This default branch name\n"
-"is subject to change. To configure the initial branch name to use in all\n"
-"of your new repositories, which will suppress this warning, call:\n"
-"\n"
-"\tgit config --global init.defaultBranch <name>\n"
-"\n"
-"Names commonly chosen instead of 'master' are 'main', 'trunk' and\n"
-"'development'. The just-created branch can be renamed via this command:\n"
-"\n"
-"\tgit branch -m <name>\n"
-msgstr ""
-
-#: refs.c:583
-#, c-format
-msgid "could not retrieve `%s`"
-msgstr ""
-
-#: refs.c:593
-#, c-format
-msgid "invalid branch name: %s = %s"
-msgstr ""
-
-#: refs.c:670
-#, c-format
-msgid "ignoring dangling symref %s"
-msgstr ""
-
-#: refs.c:919
-#, c-format
-msgid "log for ref %s has gap after %s"
-msgstr ""
-
-#: refs.c:926
-#, c-format
-msgid "log for ref %s unexpectedly ended on %s"
-msgstr ""
-
-#: refs.c:991
-#, c-format
-msgid "log for %s is empty"
-msgstr ""
-
-#: refs.c:1086
-#, c-format
-msgid "refusing to update ref with bad name '%s'"
-msgstr ""
-
-#: refs.c:1164
-#, c-format
-msgid "update_ref failed for ref '%s': %s"
-msgstr ""
-
-#: refs.c:2059
-#, c-format
-msgid "multiple updates for ref '%s' not allowed"
-msgstr ""
-
-#: refs.c:2145
-msgid "ref updates forbidden inside quarantine environment"
-msgstr ""
-
-#: refs.c:2156
-msgid "ref updates aborted by hook"
-msgstr ""
-
-#: refs.c:2264 refs.c:2294
-#, c-format
-msgid "'%s' exists; cannot create '%s'"
-msgstr ""
-
-#: refs.c:2270 refs.c:2305
-#, c-format
-msgid "cannot process '%s' and '%s' at the same time"
-msgstr ""
-
-#: refs/files-backend.c:1295
-#, c-format
-msgid "could not remove reference %s"
-msgstr ""
-
-#: refs/files-backend.c:1310 refs/packed-backend.c:1565
-#: refs/packed-backend.c:1575
-#, c-format
-msgid "could not delete reference %s: %s"
-msgstr ""
-
-#: refs/files-backend.c:1313 refs/packed-backend.c:1578
-#, c-format
-msgid "could not delete references: %s"
-msgstr ""
-
-#: refspec.c:170
-#, c-format
-msgid "invalid refspec '%s'"
-msgstr ""
-
-#: remote.c:402
-#, c-format
-msgid "config remote shorthand cannot begin with '/': %s"
-msgstr ""
-
-#: remote.c:450
-msgid "more than one receivepack given, using the first"
-msgstr ""
-
-#: remote.c:458
-msgid "more than one uploadpack given, using the first"
-msgstr ""
-
-#: remote.c:698
-#, c-format
-msgid "Cannot fetch both %s and %s to %s"
-msgstr ""
-
-#: remote.c:702
-#, c-format
-msgid "%s usually tracks %s, not %s"
-msgstr ""
-
-#: remote.c:706
-#, c-format
-msgid "%s tracks both %s and %s"
-msgstr ""
-
-#: remote.c:774
-#, c-format
-msgid "key '%s' of pattern had no '*'"
-msgstr ""
-
-#: remote.c:784
-#, c-format
-msgid "value '%s' of pattern has no '*'"
-msgstr ""
-
-#: remote.c:1191
-#, c-format
-msgid "src refspec %s does not match any"
-msgstr ""
-
-#: remote.c:1196
-#, c-format
-msgid "src refspec %s matches more than one"
-msgstr ""
-
-#. TRANSLATORS: "matches '%s'%" is the <dst> part of "git push
-#. <remote> <src>:<dst>" push, and "being pushed ('%s')" is
-#. the <src>.
-#.
-#: remote.c:1211
-#, c-format
-msgid ""
-"The destination you provided is not a full refname (i.e.,\n"
-"starting with \"refs/\"). We tried to guess what you meant by:\n"
-"\n"
-"- Looking for a ref that matches '%s' on the remote side.\n"
-"- Checking if the <src> being pushed ('%s')\n"
-"  is a ref in \"refs/{heads,tags}/\". If so we add a corresponding\n"
-"  refs/{heads,tags}/ prefix on the remote side.\n"
-"\n"
-"Neither worked, so we gave up. You must fully qualify the ref."
-msgstr ""
-
-#: remote.c:1231
-#, c-format
-msgid ""
-"The <src> part of the refspec is a commit object.\n"
-"Did you mean to create a new branch by pushing to\n"
-"'%s:refs/heads/%s'?"
-msgstr ""
-
-#: remote.c:1236
-#, c-format
-msgid ""
-"The <src> part of the refspec is a tag object.\n"
-"Did you mean to create a new tag by pushing to\n"
-"'%s:refs/tags/%s'?"
-msgstr ""
-
-#: remote.c:1241
-#, c-format
-msgid ""
-"The <src> part of the refspec is a tree object.\n"
-"Did you mean to tag a new tree by pushing to\n"
-"'%s:refs/tags/%s'?"
-msgstr ""
-
-#: remote.c:1246
-#, c-format
-msgid ""
-"The <src> part of the refspec is a blob object.\n"
-"Did you mean to tag a new blob by pushing to\n"
-"'%s:refs/tags/%s'?"
-msgstr ""
-
-#: remote.c:1282
-#, c-format
-msgid "%s cannot be resolved to branch"
-msgstr ""
-
-#: remote.c:1293
-#, c-format
-msgid "unable to delete '%s': remote ref does not exist"
-msgstr ""
-
-#: remote.c:1305
-#, c-format
-msgid "dst refspec %s matches more than one"
-msgstr ""
-
-#: remote.c:1312
-#, c-format
-msgid "dst ref %s receives from more than one src"
-msgstr ""
-
-#: remote.c:1833 remote.c:1940
-msgid "HEAD does not point to a branch"
-msgstr ""
-
-#: remote.c:1842
-#, c-format
-msgid "no such branch: '%s'"
-msgstr ""
-
-#: remote.c:1845
-#, c-format
-msgid "no upstream configured for branch '%s'"
-msgstr ""
-
-#: remote.c:1851
-#, c-format
-msgid "upstream branch '%s' not stored as a remote-tracking branch"
-msgstr ""
-
-#: remote.c:1866
-#, c-format
-msgid "push destination '%s' on remote '%s' has no local tracking branch"
-msgstr ""
-
-#: remote.c:1881
-#, c-format
-msgid "branch '%s' has no remote for pushing"
-msgstr ""
-
-#: remote.c:1891
-#, c-format
-msgid "push refspecs for '%s' do not include '%s'"
-msgstr ""
-
-#: remote.c:1904
-msgid "push has no destination (push.default is 'nothing')"
-msgstr ""
-
-#: remote.c:1926
-msgid "cannot resolve 'simple' push to a single destination"
-msgstr ""
-
-#: remote.c:2059
-#, c-format
-msgid "couldn't find remote ref %s"
-msgstr ""
-
-#: remote.c:2072
-#, c-format
-msgid "* Ignoring funny ref '%s' locally"
-msgstr ""
-
-#: remote.c:2235
-#, c-format
-msgid "Your branch is based on '%s', but the upstream is gone.\n"
-msgstr ""
-
-#: remote.c:2239
-msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
-msgstr ""
-
-#: remote.c:2242
-#, c-format
-msgid "Your branch is up to date with '%s'.\n"
-msgstr ""
-
-#: remote.c:2246
-#, c-format
-msgid "Your branch and '%s' refer to different commits.\n"
-msgstr ""
-
-#: remote.c:2249
-#, c-format
-msgid "  (use \"%s\" for details)\n"
-msgstr ""
-
-#: remote.c:2253
-#, c-format
-msgid "Your branch is ahead of '%s' by %d commit.\n"
-msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: remote.c:2259
-msgid "  (use \"git push\" to publish your local commits)\n"
-msgstr ""
-
-#: remote.c:2262
-#, c-format
-msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
-msgid_plural ""
-"Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: remote.c:2270
-msgid "  (use \"git pull\" to update your local branch)\n"
-msgstr ""
-
-#: remote.c:2273
-#, c-format
-msgid ""
-"Your branch and '%s' have diverged,\n"
-"and have %d and %d different commit each, respectively.\n"
-msgid_plural ""
-"Your branch and '%s' have diverged,\n"
-"and have %d and %d different commits each, respectively.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: remote.c:2283
-msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
-msgstr ""
-
-#: remote.c:2475
-#, c-format
-msgid "cannot parse expected object name '%s'"
-msgstr ""
-
-#: replace-object.c:21
-#, c-format
-msgid "bad replace ref name: %s"
-msgstr ""
-
-#: replace-object.c:30
-#, c-format
-msgid "duplicate replace ref: %s"
-msgstr ""
-
-#: replace-object.c:82
-#, c-format
-msgid "replace depth too high for object %s"
-msgstr ""
-
-#: rerere.c:201 rerere.c:210 rerere.c:213
-msgid "corrupt MERGE_RR"
-msgstr ""
-
-#: rerere.c:248 rerere.c:253
-msgid "unable to write rerere record"
-msgstr ""
-
-#: rerere.c:479
-#, c-format
-msgid "there were errors while writing '%s' (%s)"
-msgstr ""
-
-#: rerere.c:482 builtin/gc.c:2263 builtin/gc.c:2298
-#, c-format
-msgid "failed to flush '%s'"
-msgstr ""
-
-#: rerere.c:487 rerere.c:1024
-#, c-format
-msgid "could not parse conflict hunks in '%s'"
-msgstr ""
-
-#: rerere.c:669
-#, c-format
-msgid "failed utime() on '%s'"
-msgstr ""
-
-#: rerere.c:679
-#, c-format
-msgid "writing '%s' failed"
-msgstr ""
-
-#: rerere.c:699
-#, c-format
-msgid "Staged '%s' using previous resolution."
-msgstr ""
-
-#: rerere.c:738
-#, c-format
-msgid "Recorded resolution for '%s'."
-msgstr ""
-
-#: rerere.c:773
-#, c-format
-msgid "Resolved '%s' using previous resolution."
-msgstr ""
-
-#: rerere.c:788
-#, c-format
-msgid "cannot unlink stray '%s'"
-msgstr ""
-
-#: rerere.c:792
-#, c-format
-msgid "Recorded preimage for '%s'"
-msgstr ""
-
-#: rerere.c:866 submodule.c:2290 builtin/log.c:2042
-#: builtin/submodule--helper.c:1786 builtin/submodule--helper.c:1833
-#, c-format
-msgid "could not create directory '%s'"
-msgstr ""
-
-#: rerere.c:1042
-#, c-format
-msgid "failed to update conflicted state in '%s'"
-msgstr ""
-
-#: rerere.c:1053 rerere.c:1060
-#, c-format
-msgid "no remembered resolution for '%s'"
-msgstr ""
-
-#: rerere.c:1062
-#, c-format
-msgid "cannot unlink '%s'"
-msgstr ""
-
-#: rerere.c:1072
-#, c-format
-msgid "Updated preimage for '%s'"
-msgstr ""
-
-#: rerere.c:1081
-#, c-format
-msgid "Forgot resolution for '%s'\n"
-msgstr ""
-
-#: rerere.c:1192
-msgid "unable to open rr-cache directory"
-msgstr ""
-
-#: reset.c:112
-msgid "could not determine HEAD revision"
-msgstr ""
-
-#: reset.c:141 reset.c:147 sequencer.c:3696
-#, c-format
-msgid "failed to find tree of %s"
-msgstr ""
-
-#: revision.c:2358
-msgid "--unpacked=<packfile> no longer supported"
-msgstr ""
-
-#: revision.c:2712
-msgid "your current branch appears to be broken"
-msgstr ""
-
-#: revision.c:2715
-#, c-format
-msgid "your current branch '%s' does not have any commits yet"
-msgstr ""
-
-#: revision.c:2901
-msgid "object filtering requires --objects"
-msgstr ""
-
-#: revision.c:2918
-msgid "-L does not yet support diff formats besides -p and -s"
-msgstr ""
-
-#: run-command.c:1262
-#, c-format
-msgid "cannot create async thread: %s"
-msgstr ""
-
-#: send-pack.c:150
-msgid "unexpected flush packet while reading remote unpack status"
-msgstr ""
-
-#: send-pack.c:152
-#, c-format
-msgid "unable to parse remote unpack status: %s"
-msgstr ""
-
-#: send-pack.c:154
-#, c-format
-msgid "remote unpack failed: %s"
-msgstr ""
-
-#: send-pack.c:378
-msgid "failed to sign the push certificate"
-msgstr ""
-
-#: send-pack.c:435
-msgid "send-pack: unable to fork off fetch subprocess"
-msgstr ""
-
-#: send-pack.c:457
-msgid "push negotiation failed; proceeding anyway with push"
-msgstr ""
-
-#: send-pack.c:528
-msgid "the receiving end does not support this repository's hash algorithm"
-msgstr ""
-
-#: send-pack.c:537
-msgid "the receiving end does not support --signed push"
-msgstr ""
-
-#: send-pack.c:539
-msgid ""
-"not sending a push certificate since the receiving end does not support --"
-"signed push"
-msgstr ""
-
-#: send-pack.c:546
-msgid "the receiving end does not support --atomic push"
-msgstr ""
-
-#: send-pack.c:551
-msgid "the receiving end does not support push options"
-msgstr ""
-
-#: sequencer.c:197
-#, c-format
-msgid "invalid commit message cleanup mode '%s'"
-msgstr ""
-
-#: sequencer.c:325
-#, c-format
-msgid "could not delete '%s'"
-msgstr ""
-
-#: sequencer.c:345 sequencer.c:4724 builtin/rebase.c:564 builtin/rebase.c:1326
-#: builtin/rm.c:409
-#, c-format
-msgid "could not remove '%s'"
-msgstr ""
-
-#: sequencer.c:355
-msgid "revert"
-msgstr ""
-
-#: sequencer.c:357
-msgid "cherry-pick"
-msgstr ""
-
-#: sequencer.c:359
-msgid "rebase"
-msgstr ""
-
-#: sequencer.c:361
-#, c-format
-msgid "unknown action: %d"
-msgstr ""
-
-#: sequencer.c:420
-msgid ""
-"after resolving the conflicts, mark the corrected paths\n"
-"with 'git add <paths>' or 'git rm <paths>'"
-msgstr ""
-
-#: sequencer.c:423
-msgid ""
-"After resolving the conflicts, mark them with\n"
-"\"git add/rm <pathspec>\", then run\n"
-"\"git cherry-pick --continue\".\n"
-"You can instead skip this commit with \"git cherry-pick --skip\".\n"
-"To abort and get back to the state before \"git cherry-pick\",\n"
-"run \"git cherry-pick --abort\"."
-msgstr ""
-
-#: sequencer.c:430
-msgid ""
-"After resolving the conflicts, mark them with\n"
-"\"git add/rm <pathspec>\", then run\n"
-"\"git revert --continue\".\n"
-"You can instead skip this commit with \"git revert --skip\".\n"
-"To abort and get back to the state before \"git revert\",\n"
-"run \"git revert --abort\"."
-msgstr ""
-
-#: sequencer.c:448 sequencer.c:3288
-#, c-format
-msgid "could not lock '%s'"
-msgstr ""
-
-#: sequencer.c:450 sequencer.c:3087 sequencer.c:3292 sequencer.c:3306
-#: sequencer.c:3557 sequencer.c:5591 strbuf.c:1189 wrapper.c:715
-#, c-format
-msgid "could not write to '%s'"
-msgstr ""
-
-#: sequencer.c:455
-#, c-format
-msgid "could not write eol to '%s'"
-msgstr ""
-
-#: sequencer.c:460 sequencer.c:3092 sequencer.c:3294 sequencer.c:3308
-#: sequencer.c:3565
-#, c-format
-msgid "failed to finalize '%s'"
-msgstr ""
-
-#: sequencer.c:473 sequencer.c:1930 sequencer.c:3112 sequencer.c:3547
-#: sequencer.c:3675 builtin/am.c:290 builtin/commit.c:837 builtin/merge.c:1154
-#, c-format
-msgid "could not read '%s'"
-msgstr ""
-
-#: sequencer.c:499
-#, c-format
-msgid "your local changes would be overwritten by %s."
-msgstr ""
-
-#: sequencer.c:503
-msgid "commit your changes or stash them to proceed."
-msgstr ""
-
-#: sequencer.c:535
-#, c-format
-msgid "%s: fast-forward"
-msgstr ""
-
-#: sequencer.c:574 builtin/tag.c:615
-#, c-format
-msgid "Invalid cleanup mode %s"
-msgstr ""
-
-#. TRANSLATORS: %s will be "revert", "cherry-pick" or
-#. "rebase".
-#.
-#: sequencer.c:685
-#, c-format
-msgid "%s: Unable to write new index file"
-msgstr ""
-
-#: sequencer.c:699
-msgid "unable to update cache tree"
-msgstr ""
-
-#: sequencer.c:713
-msgid "could not resolve HEAD commit"
-msgstr ""
-
-#: sequencer.c:793
-#, c-format
-msgid "no key present in '%.*s'"
-msgstr ""
-
-#: sequencer.c:804
-#, c-format
-msgid "unable to dequote value of '%s'"
-msgstr ""
-
-#: sequencer.c:841 wrapper.c:219 wrapper.c:389 builtin/am.c:757
-#: builtin/am.c:849 builtin/rebase.c:699
-#, c-format
-msgid "could not open '%s' for reading"
-msgstr ""
-
-#: sequencer.c:851
-msgid "'GIT_AUTHOR_NAME' already given"
-msgstr ""
-
-#: sequencer.c:856
-msgid "'GIT_AUTHOR_EMAIL' already given"
-msgstr ""
-
-#: sequencer.c:861
-msgid "'GIT_AUTHOR_DATE' already given"
-msgstr ""
-
-#: sequencer.c:865
-#, c-format
-msgid "unknown variable '%s'"
-msgstr ""
-
-#: sequencer.c:870
-msgid "missing 'GIT_AUTHOR_NAME'"
-msgstr ""
-
-#: sequencer.c:872
-msgid "missing 'GIT_AUTHOR_EMAIL'"
-msgstr ""
-
-#: sequencer.c:874
-msgid "missing 'GIT_AUTHOR_DATE'"
-msgstr ""
-
-#: sequencer.c:939
-#, c-format
-msgid ""
-"you have staged changes in your working tree\n"
-"If these changes are meant to be squashed into the previous commit, run:\n"
-"\n"
-"  git commit --amend %s\n"
-"\n"
-"If they are meant to go into a new commit, run:\n"
-"\n"
-"  git commit %s\n"
-"\n"
-"In both cases, once you're done, continue with:\n"
-"\n"
-"  git rebase --continue\n"
-msgstr ""
-
-#: sequencer.c:1225
-msgid "'prepare-commit-msg' hook failed"
-msgstr ""
-
-#: sequencer.c:1231
-msgid ""
-"Your name and email address were configured automatically based\n"
-"on your username and hostname. Please check that they are accurate.\n"
-"You can suppress this message by setting them explicitly. Run the\n"
-"following command and follow the instructions in your editor to edit\n"
-"your configuration file:\n"
-"\n"
-"    git config --global --edit\n"
-"\n"
-"After doing this, you may fix the identity used for this commit with:\n"
-"\n"
-"    git commit --amend --reset-author\n"
-msgstr ""
-
-#: sequencer.c:1244
-msgid ""
-"Your name and email address were configured automatically based\n"
-"on your username and hostname. Please check that they are accurate.\n"
-"You can suppress this message by setting them explicitly:\n"
-"\n"
-"    git config --global user.name \"Your Name\"\n"
-"    git config --global user.email you@example.com\n"
-"\n"
-"After doing this, you may fix the identity used for this commit with:\n"
-"\n"
-"    git commit --amend --reset-author\n"
-msgstr ""
-
-#: sequencer.c:1287
-msgid "couldn't look up newly created commit"
-msgstr ""
-
-#: sequencer.c:1289
-msgid "could not parse newly created commit"
-msgstr ""
-
-#: sequencer.c:1336
-msgid "unable to resolve HEAD after creating commit"
-msgstr ""
-
-#: sequencer.c:1338
-msgid "detached HEAD"
-msgstr ""
-
-#: sequencer.c:1342
-msgid " (root-commit)"
-msgstr ""
-
-#: sequencer.c:1363
-msgid "could not parse HEAD"
-msgstr ""
-
-#: sequencer.c:1365
-#, c-format
-msgid "HEAD %s is not a commit!"
-msgstr ""
-
-#: sequencer.c:1369 sequencer.c:1447 builtin/commit.c:1707
-msgid "could not parse HEAD commit"
-msgstr ""
-
-#: sequencer.c:1425 sequencer.c:2310
-msgid "unable to parse commit author"
-msgstr ""
-
-#: sequencer.c:1436 builtin/am.c:1644 builtin/merge.c:710
-msgid "git write-tree failed to write a tree"
-msgstr ""
-
-#: sequencer.c:1469 sequencer.c:1589
-#, c-format
-msgid "unable to read commit message from '%s'"
-msgstr ""
-
-#: sequencer.c:1500 sequencer.c:1532
-#, c-format
-msgid "invalid author identity '%s'"
-msgstr ""
-
-#: sequencer.c:1506
-msgid "corrupt author: missing date information"
-msgstr ""
-
-#: sequencer.c:1545 builtin/am.c:1671 builtin/commit.c:1821 builtin/merge.c:921
-#: builtin/merge.c:946 t/helper/test-fast-rebase.c:78
-msgid "failed to write commit object"
-msgstr ""
-
-#: sequencer.c:1572 sequencer.c:4496 t/helper/test-fast-rebase.c:199
-#: t/helper/test-fast-rebase.c:217
-#, c-format
-msgid "could not update %s"
-msgstr ""
-
-#: sequencer.c:1621
-#, c-format
-msgid "could not parse commit %s"
-msgstr ""
-
-#: sequencer.c:1626
-#, c-format
-msgid "could not parse parent commit %s"
-msgstr ""
-
-#: sequencer.c:1709 sequencer.c:1990
-#, c-format
-msgid "unknown command: %d"
-msgstr ""
-
-#: sequencer.c:1751
-msgid "This is the 1st commit message:"
-msgstr ""
-
-#: sequencer.c:1752
-#, c-format
-msgid "This is the commit message #%d:"
-msgstr ""
-
-#: sequencer.c:1753
-msgid "The 1st commit message will be skipped:"
-msgstr ""
-
-#: sequencer.c:1754
-#, c-format
-msgid "The commit message #%d will be skipped:"
-msgstr ""
-
-#: sequencer.c:1755
-#, c-format
-msgid "This is a combination of %d commits."
-msgstr ""
-
-#: sequencer.c:1902 sequencer.c:1959
-#, c-format
-msgid "cannot write '%s'"
-msgstr ""
-
-#: sequencer.c:1949
-msgid "need a HEAD to fixup"
-msgstr ""
-
-#: sequencer.c:1951 sequencer.c:3592
-msgid "could not read HEAD"
-msgstr ""
-
-#: sequencer.c:1953
-msgid "could not read HEAD's commit message"
-msgstr ""
-
-#: sequencer.c:1977
-#, c-format
-msgid "could not read commit message of %s"
-msgstr ""
-
-#: sequencer.c:2087
-msgid "your index file is unmerged."
-msgstr ""
-
-#: sequencer.c:2094
-msgid "cannot fixup root commit"
-msgstr ""
-
-#: sequencer.c:2113
-#, c-format
-msgid "commit %s is a merge but no -m option was given."
-msgstr ""
-
-#: sequencer.c:2121 sequencer.c:2129
-#, c-format
-msgid "commit %s does not have parent %d"
-msgstr ""
-
-#: sequencer.c:2135
-#, c-format
-msgid "cannot get commit message for %s"
-msgstr ""
-
-#. TRANSLATORS: The first %s will be a "todo" command like
-#. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:2154
-#, c-format
-msgid "%s: cannot parse parent commit %s"
-msgstr ""
-
-#: sequencer.c:2220
-#, c-format
-msgid "could not rename '%s' to '%s'"
-msgstr ""
-
-#: sequencer.c:2280
-#, c-format
-msgid "could not revert %s... %s"
-msgstr ""
-
-#: sequencer.c:2281
-#, c-format
-msgid "could not apply %s... %s"
-msgstr ""
-
-#: sequencer.c:2302
-#, c-format
-msgid "dropping %s %s -- patch contents already upstream\n"
-msgstr ""
-
-#: sequencer.c:2360
-#, c-format
-msgid "git %s: failed to read the index"
-msgstr ""
-
-#: sequencer.c:2368
-#, c-format
-msgid "git %s: failed to refresh the index"
-msgstr ""
-
-#: sequencer.c:2448
-#, c-format
-msgid "%s does not accept arguments: '%s'"
-msgstr ""
-
-#: sequencer.c:2457
-#, c-format
-msgid "missing arguments for %s"
-msgstr ""
-
-#: sequencer.c:2500
-#, c-format
-msgid "could not parse '%s'"
-msgstr ""
-
-#: sequencer.c:2561
-#, c-format
-msgid "invalid line %d: %.*s"
-msgstr ""
-
-#: sequencer.c:2572
-#, c-format
-msgid "cannot '%s' without a previous commit"
-msgstr ""
-
-#: sequencer.c:2620 builtin/rebase.c:185
-#, c-format
-msgid "could not read '%s'."
-msgstr ""
-
-#: sequencer.c:2658
-msgid "cancelling a cherry picking in progress"
-msgstr ""
-
-#: sequencer.c:2667
-msgid "cancelling a revert in progress"
-msgstr ""
-
-#: sequencer.c:2707
-msgid "please fix this using 'git rebase --edit-todo'."
-msgstr ""
-
-#: sequencer.c:2709
-#, c-format
-msgid "unusable instruction sheet: '%s'"
-msgstr ""
-
-#: sequencer.c:2714
-msgid "no commits parsed."
-msgstr ""
-
-#: sequencer.c:2725
-msgid "cannot cherry-pick during a revert."
-msgstr ""
-
-#: sequencer.c:2727
-msgid "cannot revert during a cherry-pick."
-msgstr ""
-
-#: sequencer.c:2914
-msgid "unusable squash-onto"
-msgstr ""
-
-#: sequencer.c:2934
-#, c-format
-msgid "malformed options sheet: '%s'"
-msgstr ""
-
-#: sequencer.c:3029 sequencer.c:4875
-msgid "empty commit set passed"
-msgstr ""
-
-#: sequencer.c:3046
-msgid "revert is already in progress"
-msgstr ""
-
-#: sequencer.c:3048
-#, c-format
-msgid "try \"git revert (--continue | %s--abort | --quit)\""
-msgstr ""
-
-#: sequencer.c:3051
-msgid "cherry-pick is already in progress"
-msgstr ""
-
-#: sequencer.c:3053
-#, c-format
-msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
-msgstr ""
-
-#: sequencer.c:3067
-#, c-format
-msgid "could not create sequencer directory '%s'"
-msgstr ""
-
-#: sequencer.c:3082
-msgid "could not lock HEAD"
-msgstr ""
-
-#: sequencer.c:3142 sequencer.c:4585
-msgid "no cherry-pick or revert in progress"
-msgstr ""
-
-#: sequencer.c:3144 sequencer.c:3155
-msgid "cannot resolve HEAD"
-msgstr ""
-
-#: sequencer.c:3146 sequencer.c:3190
-msgid "cannot abort from a branch yet to be born"
-msgstr ""
-
-#: sequencer.c:3176 builtin/fetch.c:1030 builtin/fetch.c:1457
-#: builtin/grep.c:774
-#, c-format
-msgid "cannot open '%s'"
-msgstr ""
-
-#: sequencer.c:3178
-#, c-format
-msgid "cannot read '%s': %s"
-msgstr ""
-
-#: sequencer.c:3179
-msgid "unexpected end of file"
-msgstr ""
-
-#: sequencer.c:3185
-#, c-format
-msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
-msgstr ""
-
-#: sequencer.c:3196
-msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
-msgstr ""
-
-#: sequencer.c:3237
-msgid "no revert in progress"
-msgstr ""
-
-#: sequencer.c:3246
-msgid "no cherry-pick in progress"
-msgstr ""
-
-#: sequencer.c:3256
-msgid "failed to skip the commit"
-msgstr ""
-
-#: sequencer.c:3263
-msgid "there is nothing to skip"
-msgstr ""
-
-#: sequencer.c:3266
-#, c-format
-msgid ""
-"have you committed already?\n"
-"try \"git %s --continue\""
-msgstr ""
-
-#: sequencer.c:3428 sequencer.c:4476
-msgid "cannot read HEAD"
-msgstr ""
-
-#: sequencer.c:3445
-#, c-format
-msgid "unable to copy '%s' to '%s'"
-msgstr ""
-
-#: sequencer.c:3453
-#, c-format
-msgid ""
-"You can amend the commit now, with\n"
-"\n"
-"  git commit --amend %s\n"
-"\n"
-"Once you are satisfied with your changes, run\n"
-"\n"
-"  git rebase --continue\n"
-msgstr ""
-
-#: sequencer.c:3463
-#, c-format
-msgid "Could not apply %s... %.*s"
-msgstr ""
-
-#: sequencer.c:3470
-#, c-format
-msgid "Could not merge %.*s"
-msgstr ""
-
-#: sequencer.c:3484 sequencer.c:3488 builtin/difftool.c:633
-#, c-format
-msgid "could not copy '%s' to '%s'"
-msgstr ""
-
-#: sequencer.c:3499
-#, c-format
-msgid "Executing: %s\n"
-msgstr ""
-
-#: sequencer.c:3510
-#, c-format
-msgid ""
-"execution failed: %s\n"
-"%sYou can fix the problem, and then run\n"
-"\n"
-"  git rebase --continue\n"
-"\n"
-msgstr ""
-
-#: sequencer.c:3516
-msgid "and made changes to the index and/or the working tree\n"
-msgstr ""
-
-#: sequencer.c:3522
-#, c-format
-msgid ""
-"execution succeeded: %s\n"
-"but left changes to the index and/or the working tree\n"
-"Commit or stash your changes, and then run\n"
-"\n"
-"  git rebase --continue\n"
-"\n"
-msgstr ""
-
-#: sequencer.c:3582
-#, c-format
-msgid "illegal label name: '%.*s'"
-msgstr ""
-
-#: sequencer.c:3655
-msgid "writing fake root commit"
-msgstr ""
-
-#: sequencer.c:3660
-msgid "writing squash-onto"
-msgstr ""
-
-#: sequencer.c:3739
-#, c-format
-msgid "could not resolve '%s'"
-msgstr ""
-
-#: sequencer.c:3771
-msgid "cannot merge without a current revision"
-msgstr ""
-
-#: sequencer.c:3793
-#, c-format
-msgid "unable to parse '%.*s'"
-msgstr ""
-
-#: sequencer.c:3802
-#, c-format
-msgid "nothing to merge: '%.*s'"
-msgstr ""
-
-#: sequencer.c:3814
-msgid "octopus merge cannot be executed on top of a [new root]"
-msgstr ""
-
-#: sequencer.c:3869
-#, c-format
-msgid "could not get commit message of '%s'"
-msgstr ""
-
-#: sequencer.c:4013
-#, c-format
-msgid "could not even attempt to merge '%.*s'"
-msgstr ""
-
-#: sequencer.c:4029
-msgid "merge: Unable to write new index file"
-msgstr ""
-
-#: sequencer.c:4110
-msgid "Cannot autostash"
-msgstr ""
-
-#: sequencer.c:4113
-#, c-format
-msgid "Unexpected stash response: '%s'"
-msgstr ""
-
-#: sequencer.c:4119
-#, c-format
-msgid "Could not create directory for '%s'"
-msgstr ""
-
-#: sequencer.c:4122
-#, c-format
-msgid "Created autostash: %s\n"
-msgstr ""
-
-#: sequencer.c:4124
-msgid "could not reset --hard"
-msgstr ""
-
-#: sequencer.c:4148
-#, c-format
-msgid "Applied autostash.\n"
-msgstr ""
-
-#: sequencer.c:4160
-#, c-format
-msgid "cannot store %s"
-msgstr ""
-
-#: sequencer.c:4163
-#, c-format
-msgid ""
-"%s\n"
-"Your changes are safe in the stash.\n"
-"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
-msgstr ""
-
-#: sequencer.c:4168
-msgid "Applying autostash resulted in conflicts."
-msgstr ""
-
-#: sequencer.c:4169
-msgid "Autostash exists; creating a new stash entry."
-msgstr ""
-
-#: sequencer.c:4225
-msgid "could not detach HEAD"
-msgstr ""
-
-#: sequencer.c:4240
-#, c-format
-msgid "Stopped at HEAD\n"
-msgstr ""
-
-#: sequencer.c:4242
-#, c-format
-msgid "Stopped at %s\n"
-msgstr ""
-
-#: sequencer.c:4274
-#, c-format
-msgid ""
-"Could not execute the todo command\n"
-"\n"
-"    %.*s\n"
-"It has been rescheduled; To edit the command before continuing, please\n"
-"edit the todo list first:\n"
-"\n"
-"    git rebase --edit-todo\n"
-"    git rebase --continue\n"
-msgstr ""
-
-#: sequencer.c:4320
-#, c-format
-msgid "Rebasing (%d/%d)%s"
-msgstr ""
-
-#: sequencer.c:4366
-#, c-format
-msgid "Stopped at %s...  %.*s\n"
-msgstr ""
-
-#: sequencer.c:4436
-#, c-format
-msgid "unknown command %d"
-msgstr ""
-
-#: sequencer.c:4484
-msgid "could not read orig-head"
-msgstr ""
-
-#: sequencer.c:4489
-msgid "could not read 'onto'"
-msgstr ""
-
-#: sequencer.c:4503
-#, c-format
-msgid "could not update HEAD to %s"
-msgstr ""
-
-#: sequencer.c:4563
-#, c-format
-msgid "Successfully rebased and updated %s.\n"
-msgstr ""
-
-#: sequencer.c:4615
-msgid "cannot rebase: You have unstaged changes."
-msgstr ""
-
-#: sequencer.c:4624
-msgid "cannot amend non-existing commit"
-msgstr ""
-
-#: sequencer.c:4626
-#, c-format
-msgid "invalid file: '%s'"
-msgstr ""
-
-#: sequencer.c:4628
-#, c-format
-msgid "invalid contents: '%s'"
-msgstr ""
-
-#: sequencer.c:4631
-msgid ""
-"\n"
-"You have uncommitted changes in your working tree. Please, commit them\n"
-"first and then run 'git rebase --continue' again."
-msgstr ""
-
-#: sequencer.c:4667 sequencer.c:4706
-#, c-format
-msgid "could not write file: '%s'"
-msgstr ""
-
-#: sequencer.c:4722
-msgid "could not remove CHERRY_PICK_HEAD"
-msgstr ""
-
-#: sequencer.c:4732
-msgid "could not commit staged changes."
-msgstr ""
-
-#: sequencer.c:4852
-#, c-format
-msgid "%s: can't cherry-pick a %s"
-msgstr ""
-
-#: sequencer.c:4856
-#, c-format
-msgid "%s: bad revision"
-msgstr ""
-
-#: sequencer.c:4891
-msgid "can't revert as initial commit"
-msgstr ""
-
-#: sequencer.c:5162 sequencer.c:5391
-#, c-format
-msgid "skipped previously applied commit %s"
-msgstr ""
-
-#: sequencer.c:5232 sequencer.c:5407
-msgid "use --reapply-cherry-picks to include skipped commits"
-msgstr ""
-
-#: sequencer.c:5378
-msgid "make_script: unhandled options"
-msgstr ""
-
-#: sequencer.c:5381
-msgid "make_script: error preparing revisions"
-msgstr ""
-
-#: sequencer.c:5639 sequencer.c:5656
-msgid "nothing to do"
-msgstr ""
-
-#: sequencer.c:5675
-msgid "could not skip unnecessary pick commands"
-msgstr ""
-
-#: sequencer.c:5775
-msgid "the script was already rearranged."
-msgstr ""
-
-#: setup.c:135
-#, c-format
-msgid "'%s' is outside repository at '%s'"
-msgstr ""
-
-#: setup.c:187
-#, c-format
-msgid ""
-"%s: no such path in the working tree.\n"
-"Use 'git <command> -- <path>...' to specify paths that do not exist locally."
-msgstr ""
-
-#: setup.c:200
-#, c-format
-msgid ""
-"ambiguous argument '%s': unknown revision or path not in the working tree.\n"
-"Use '--' to separate paths from revisions, like this:\n"
-"'git <command> [<revision>...] -- [<file>...]'"
-msgstr ""
-
-#: setup.c:266
-#, c-format
-msgid "option '%s' must come before non-option arguments"
-msgstr ""
-
-#: setup.c:285
-#, c-format
-msgid ""
-"ambiguous argument '%s': both revision and filename\n"
-"Use '--' to separate paths from revisions, like this:\n"
-"'git <command> [<revision>...] -- [<file>...]'"
-msgstr ""
-
-#: setup.c:421
-msgid "unable to set up work tree using invalid config"
-msgstr ""
-
-#: setup.c:425 builtin/rev-parse.c:895
-msgid "this operation must be run in a work tree"
-msgstr ""
-
-#: setup.c:724
-#, c-format
-msgid "Expected git repo version <= %d, found %d"
-msgstr ""
-
-#: setup.c:732
-msgid "unknown repository extension found:"
-msgid_plural "unknown repository extensions found:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: setup.c:746
-msgid "repo version is 0, but v1-only extension found:"
-msgid_plural "repo version is 0, but v1-only extensions found:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: setup.c:767
-#, c-format
-msgid "error opening '%s'"
-msgstr ""
-
-#: setup.c:769
-#, c-format
-msgid "too large to be a .git file: '%s'"
-msgstr ""
-
-#: setup.c:771
-#, c-format
-msgid "error reading %s"
-msgstr ""
-
-#: setup.c:773
-#, c-format
-msgid "invalid gitfile format: %s"
-msgstr ""
-
-#: setup.c:775
-#, c-format
-msgid "no path in gitfile: %s"
-msgstr ""
-
-#: setup.c:777
-#, c-format
-msgid "not a git repository: %s"
-msgstr ""
-
-#: setup.c:879
-#, c-format
-msgid "'$%s' too big"
-msgstr ""
-
-#: setup.c:893
-#, c-format
-msgid "not a git repository: '%s'"
-msgstr ""
-
-#: setup.c:922 setup.c:924 setup.c:955
-#, c-format
-msgid "cannot chdir to '%s'"
-msgstr ""
-
-#: setup.c:927 setup.c:983 setup.c:993 setup.c:1032 setup.c:1040
-msgid "cannot come back to cwd"
-msgstr ""
-
-#: setup.c:1054
-#, c-format
-msgid "failed to stat '%*s%s%s'"
-msgstr ""
-
-#: setup.c:1338
-msgid "Unable to read current working directory"
-msgstr ""
-
-#: setup.c:1347 setup.c:1353
-#, c-format
-msgid "cannot change to '%s'"
-msgstr ""
-
-#: setup.c:1358
-#, c-format
-msgid "not a git repository (or any of the parent directories): %s"
-msgstr ""
-
-#: setup.c:1364
-#, c-format
-msgid ""
-"not a git repository (or any parent up to mount point %s)\n"
-"Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."
-msgstr ""
-
-#: setup.c:1374
-#, c-format
-msgid ""
-"unsafe repository ('%s' is owned by someone else)\n"
-"To add an exception for this directory, call:\n"
-"\n"
-"\tgit config --global --add safe.directory %s"
-msgstr ""
-
-#: setup.c:1502
-#, c-format
-msgid ""
-"problem with core.sharedRepository filemode value (0%.3o).\n"
-"The owner of files must always have read and write permissions."
-msgstr ""
-
-#: setup.c:1564
-msgid "fork failed"
-msgstr ""
-
-#: setup.c:1569
-msgid "setsid failed"
-msgstr ""
-
-#: sparse-index.c:285
-#, c-format
-msgid "index entry is a directory, but not sparse (%08x)"
-msgstr ""
-
-#: split-index.c:9
-msgid "cannot use split index with a sparse index"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 gibibyte
-#: strbuf.c:851
-#, c-format
-msgid "%u.%2.2u GiB"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second
-#: strbuf.c:853
-#, c-format
-msgid "%u.%2.2u GiB/s"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 mebibyte
-#: strbuf.c:861
-#, c-format
-msgid "%u.%2.2u MiB"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second
-#: strbuf.c:863
-#, c-format
-msgid "%u.%2.2u MiB/s"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 kibibyte
-#: strbuf.c:870
-#, c-format
-msgid "%u.%2.2u KiB"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second
-#: strbuf.c:872
-#, c-format
-msgid "%u.%2.2u KiB/s"
-msgstr ""
-
-#. TRANSLATORS: IEC 80000-13:2008 byte
-#: strbuf.c:878
-#, c-format
-msgid "%u byte"
-msgid_plural "%u bytes"
-msgstr[0] ""
-msgstr[1] ""
-
-#. TRANSLATORS: IEC 80000-13:2008 byte/second
-#: strbuf.c:880
-#, c-format
-msgid "%u byte/s"
-msgid_plural "%u bytes/s"
-msgstr[0] ""
-msgstr[1] ""
-
-#: strbuf.c:1187 wrapper.c:217 wrapper.c:387 builtin/am.c:766
-#: builtin/rebase.c:653
-#, c-format
-msgid "could not open '%s' for writing"
-msgstr ""
-
-#: strbuf.c:1196
-#, c-format
-msgid "could not edit '%s'"
-msgstr ""
-
-#: submodule-config.c:238
-#, c-format
-msgid "ignoring suspicious submodule name: %s"
-msgstr ""
-
-#: submodule-config.c:305
-msgid "negative values not allowed for submodule.fetchjobs"
-msgstr ""
-
-#: submodule-config.c:403
-#, c-format
-msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
-msgstr ""
-
-#: submodule-config.c:500 builtin/push.c:489 builtin/send-pack.c:148
-#, c-format
-msgid "invalid value for '%s'"
-msgstr ""
-
-#: submodule-config.c:828
-#, c-format
-msgid "Could not update .gitmodules entry %s"
-msgstr ""
-
-#: submodule.c:115 submodule.c:144
-msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
-msgstr ""
-
-#: submodule.c:119 submodule.c:148
-#, c-format
-msgid "Could not find section in .gitmodules where path=%s"
-msgstr ""
-
-#: submodule.c:155
-#, c-format
-msgid "Could not remove .gitmodules entry for %s"
-msgstr ""
-
-#: submodule.c:166
-msgid "staging updated .gitmodules failed"
-msgstr ""
-
-#: submodule.c:346
-#, c-format
-msgid "in unpopulated submodule '%s'"
-msgstr ""
-
-#: submodule.c:377
-#, c-format
-msgid "Pathspec '%s' is in submodule '%.*s'"
-msgstr ""
-
-#: submodule.c:454
-#, c-format
-msgid "bad --ignore-submodules argument: %s"
-msgstr ""
-
-#: submodule.c:866
-#, c-format
-msgid ""
-"Submodule in commit %s at path: '%s' collides with a submodule named the "
-"same. Skipping it."
-msgstr ""
-
-#: submodule.c:987
-#, c-format
-msgid "submodule entry '%s' (%s) is a %s, not a commit"
-msgstr ""
-
-#: submodule.c:1069
-#, c-format
-msgid ""
-"Could not run 'git rev-list <commits> --not --remotes -n 1' command in "
-"submodule %s"
-msgstr ""
-
-#: submodule.c:1192
-#, c-format
-msgid "process for submodule '%s' failed"
-msgstr ""
-
-#: submodule.c:1221 builtin/branch.c:714 builtin/submodule--helper.c:2827
-msgid "Failed to resolve HEAD as a valid ref."
-msgstr ""
-
-#: submodule.c:1232
-#, c-format
-msgid "Pushing submodule '%s'\n"
-msgstr ""
-
-#: submodule.c:1235
-#, c-format
-msgid "Unable to push submodule '%s'\n"
-msgstr ""
-
-#: submodule.c:1567
-#, c-format
-msgid "Fetching submodule %s%s\n"
-msgstr ""
-
-#: submodule.c:1589
-#, c-format
-msgid "Could not access submodule '%s'\n"
-msgstr ""
-
-#: submodule.c:1618
-#, c-format
-msgid "Could not access submodule '%s' at commit %s\n"
-msgstr ""
-
-#: submodule.c:1629
-#, c-format
-msgid "Fetching submodule %s%s at commit %s\n"
-msgstr ""
-
-#: submodule.c:1849
-#, c-format
-msgid ""
-"Errors during submodule fetch:\n"
-"%s"
-msgstr ""
-
-#: submodule.c:1874
-#, c-format
-msgid "'%s' not recognized as a git repository"
-msgstr ""
-
-#: submodule.c:1891
-#, c-format
-msgid "Could not run 'git status --porcelain=2' in submodule %s"
-msgstr ""
-
-#: submodule.c:1932
-#, c-format
-msgid "'git status --porcelain=2' failed in submodule %s"
-msgstr ""
-
-#: submodule.c:2007
-#, c-format
-msgid "could not start 'git status' in submodule '%s'"
-msgstr ""
-
-#: submodule.c:2020
-#, c-format
-msgid "could not run 'git status' in submodule '%s'"
-msgstr ""
-
-#: submodule.c:2037
-#, c-format
-msgid "Could not unset core.worktree setting in submodule '%s'"
-msgstr ""
-
-#: submodule.c:2064 submodule.c:2379
-#, c-format
-msgid "could not recurse into submodule '%s'"
-msgstr ""
-
-#: submodule.c:2086
-msgid "could not reset submodule index"
-msgstr ""
-
-#: submodule.c:2128
-#, c-format
-msgid "submodule '%s' has dirty index"
-msgstr ""
-
-#: submodule.c:2182
-#, c-format
-msgid "Submodule '%s' could not be updated."
-msgstr ""
-
-#: submodule.c:2250
-#, c-format
-msgid "submodule git dir '%s' is inside git dir '%.*s'"
-msgstr ""
-
-#: submodule.c:2271
-#, c-format
-msgid ""
-"relocate_gitdir for submodule '%s' with more than one worktree not supported"
-msgstr ""
-
-#: submodule.c:2283 submodule.c:2343
-#, c-format
-msgid "could not lookup name for submodule '%s'"
-msgstr ""
-
-#: submodule.c:2287
-#, c-format
-msgid "refusing to move '%s' into an existing git dir"
-msgstr ""
-
-#: submodule.c:2293
-#, c-format
-msgid ""
-"Migrating git directory of '%s%s' from\n"
-"'%s' to\n"
-"'%s'\n"
-msgstr ""
-
-#: submodule.c:2424
-msgid "could not start ls-files in .."
-msgstr ""
-
-#: submodule.c:2464
-#, c-format
-msgid "ls-tree returned unexpected return code %d"
-msgstr ""
-
-#: symlinks.c:244
-#, c-format
-msgid "failed to lstat '%s'"
-msgstr ""
-
-#: trailer.c:244
-#, c-format
-msgid "running trailer command '%s' failed"
-msgstr ""
-
-#: trailer.c:493 trailer.c:498 trailer.c:503 trailer.c:562 trailer.c:566
-#: trailer.c:570
-#, c-format
-msgid "unknown value '%s' for key '%s'"
-msgstr ""
-
-#: trailer.c:547 trailer.c:552 trailer.c:557 builtin/remote.c:300
-#: builtin/remote.c:328
-#, c-format
-msgid "more than one %s"
-msgstr ""
-
-#: trailer.c:743
-#, c-format
-msgid "empty trailer token in trailer '%.*s'"
-msgstr ""
-
-#: trailer.c:763
-#, c-format
-msgid "could not read input file '%s'"
-msgstr ""
-
-#: trailer.c:766 builtin/mktag.c:88 imap-send.c:1563
-msgid "could not read from stdin"
-msgstr ""
-
-#: trailer.c:1024 wrapper.c:760
-#, c-format
-msgid "could not stat %s"
-msgstr ""
-
-#: trailer.c:1026
-#, c-format
-msgid "file %s is not a regular file"
-msgstr ""
-
-#: trailer.c:1028
-#, c-format
-msgid "file %s is not writable by user"
-msgstr ""
-
-#: trailer.c:1040
-msgid "could not open temporary file"
-msgstr ""
-
-#: trailer.c:1080
-#, c-format
-msgid "could not rename temporary file to %s"
-msgstr ""
-
-#: transport-helper.c:62 transport-helper.c:91
-msgid "full write to remote helper failed"
-msgstr ""
-
-#: transport-helper.c:145
-#, c-format
-msgid "unable to find remote helper for '%s'"
-msgstr ""
-
-#: transport-helper.c:161 transport-helper.c:575
-msgid "can't dup helper output fd"
-msgstr ""
-
-#: transport-helper.c:214
-#, c-format
-msgid ""
-"unknown mandatory capability %s; this remote helper probably needs newer "
-"version of Git"
-msgstr ""
-
-#: transport-helper.c:220
-msgid "this remote helper should implement refspec capability"
-msgstr ""
-
-#: transport-helper.c:287 transport-helper.c:429
-#, c-format
-msgid "%s unexpectedly said: '%s'"
-msgstr ""
-
-#: transport-helper.c:417
-#, c-format
-msgid "%s also locked %s"
-msgstr ""
-
-#: transport-helper.c:497
-msgid "couldn't run fast-import"
-msgstr ""
-
-#: transport-helper.c:520
-msgid "error while running fast-import"
-msgstr ""
-
-#: transport-helper.c:549 transport-helper.c:1254
-#, c-format
-msgid "could not read ref %s"
-msgstr ""
-
-#: transport-helper.c:594
-#, c-format
-msgid "unknown response to connect: %s"
-msgstr ""
-
-#: transport-helper.c:616
-msgid "setting remote service path not supported by protocol"
-msgstr ""
-
-#: transport-helper.c:618
-msgid "invalid remote service path"
-msgstr ""
-
-#: transport-helper.c:661 transport.c:1496
-msgid "operation not supported by protocol"
-msgstr ""
-
-#: transport-helper.c:664
-#, c-format
-msgid "can't connect to subservice %s"
-msgstr ""
-
-#: transport-helper.c:693 transport.c:415
-msgid "--negotiate-only requires protocol v2"
-msgstr ""
-
-#: transport-helper.c:758
-msgid "'option' without a matching 'ok/error' directive"
-msgstr ""
-
-#: transport-helper.c:801
-#, c-format
-msgid "expected ok/error, helper said '%s'"
-msgstr ""
-
-#: transport-helper.c:862
-#, c-format
-msgid "helper reported unexpected status of %s"
-msgstr ""
-
-#: transport-helper.c:945
-#, c-format
-msgid "helper %s does not support dry-run"
-msgstr ""
-
-#: transport-helper.c:948
-#, c-format
-msgid "helper %s does not support --signed"
-msgstr ""
-
-#: transport-helper.c:951
-#, c-format
-msgid "helper %s does not support --signed=if-asked"
-msgstr ""
-
-#: transport-helper.c:956
-#, c-format
-msgid "helper %s does not support --atomic"
-msgstr ""
-
-#: transport-helper.c:960
-#, c-format
-msgid "helper %s does not support --%s"
-msgstr ""
-
-#: transport-helper.c:967
-#, c-format
-msgid "helper %s does not support 'push-option'"
-msgstr ""
-
-#: transport-helper.c:1067
-msgid "remote-helper doesn't support push; refspec needed"
-msgstr ""
-
-#: transport-helper.c:1072
-#, c-format
-msgid "helper %s does not support 'force'"
-msgstr ""
-
-#: transport-helper.c:1119
-msgid "couldn't run fast-export"
-msgstr ""
-
-#: transport-helper.c:1124
-msgid "error while running fast-export"
-msgstr ""
-
-#: transport-helper.c:1149
-#, c-format
-msgid ""
-"No refs in common and none specified; doing nothing.\n"
-"Perhaps you should specify a branch.\n"
-msgstr ""
-
-#: transport-helper.c:1231
-#, c-format
-msgid "unsupported object format '%s'"
-msgstr ""
-
-#: transport-helper.c:1240
-#, c-format
-msgid "malformed response in ref list: %s"
-msgstr ""
-
-#: transport-helper.c:1392
-#, c-format
-msgid "read(%s) failed"
-msgstr ""
-
-#: transport-helper.c:1419
-#, c-format
-msgid "write(%s) failed"
-msgstr ""
-
-#: transport-helper.c:1468
-#, c-format
-msgid "%s thread failed"
-msgstr ""
-
-#: transport-helper.c:1472
-#, c-format
-msgid "%s thread failed to join: %s"
-msgstr ""
-
-#: transport-helper.c:1491 transport-helper.c:1495
-#, c-format
-msgid "can't start thread for copying data: %s"
-msgstr ""
-
-#: transport-helper.c:1532
-#, c-format
-msgid "%s process failed to wait"
-msgstr ""
-
-#: transport-helper.c:1536
-#, c-format
-msgid "%s process failed"
-msgstr ""
-
-#: transport-helper.c:1554 transport-helper.c:1563
-msgid "can't start thread for copying data"
-msgstr ""
-
-#: transport.c:116
-#, c-format
-msgid "Would set upstream of '%s' to '%s' of '%s'\n"
-msgstr ""
-
-#: transport.c:138
-#, c-format
-msgid "could not read bundle '%s'"
-msgstr ""
-
-#: transport.c:234
-#, c-format
-msgid "transport: invalid depth option '%s'"
-msgstr ""
-
-#: transport.c:289
-msgid "see protocol.version in 'git help config' for more details"
-msgstr ""
-
-#: transport.c:290
-msgid "server options require protocol version 2 or later"
-msgstr ""
-
-#: transport.c:418
-msgid "server does not support wait-for-done"
-msgstr ""
-
-#: transport.c:770
-msgid "could not parse transport.color.* config"
-msgstr ""
-
-#: transport.c:845
-msgid "support for protocol v2 not implemented yet"
-msgstr ""
-
-#: transport.c:978
-#, c-format
-msgid "unknown value for config '%s': %s"
-msgstr ""
-
-#: transport.c:1044
-#, c-format
-msgid "transport '%s' not allowed"
-msgstr ""
-
-#: transport.c:1093
-msgid "git-over-rsync is no longer supported"
-msgstr ""
-
-#: transport.c:1196
-#, c-format
-msgid ""
-"The following submodule paths contain changes that can\n"
-"not be found on any remote:\n"
-msgstr ""
-
-#: transport.c:1200
-#, c-format
-msgid ""
-"\n"
-"Please try\n"
-"\n"
-"\tgit push --recurse-submodules=on-demand\n"
-"\n"
-"or cd to the path and use\n"
-"\n"
-"\tgit push\n"
-"\n"
-"to push them to a remote.\n"
-"\n"
-msgstr ""
-
-#: transport.c:1208
-msgid "Aborting."
-msgstr ""
-
-#: transport.c:1354
-msgid "failed to push all needed submodules"
-msgstr ""
-
-#: tree-walk.c:33
-msgid "too-short tree object"
-msgstr ""
-
-#: tree-walk.c:39
-msgid "malformed mode in tree entry"
-msgstr ""
-
-#: tree-walk.c:43
-msgid "empty filename in tree entry"
-msgstr ""
-
-#: tree-walk.c:118
-msgid "too-short tree file"
-msgstr ""
-
-#: unpack-trees.c:118
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by checkout:\n"
-"%%sPlease commit your changes or stash them before you switch branches."
-msgstr ""
-
-#: unpack-trees.c:120
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by checkout:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:123
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"%%sPlease commit your changes or stash them before you merge."
-msgstr ""
-
-#: unpack-trees.c:125
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:128
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by %s:\n"
-"%%sPlease commit your changes or stash them before you %s."
-msgstr ""
-
-#: unpack-trees.c:130
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by %s:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:135
-#, c-format
-msgid ""
-"Updating the following directories would lose untracked files in them:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:138
-#, c-format
-msgid ""
-"Refusing to remove the current working directory:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:142
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by checkout:\n"
-"%%sPlease move or remove them before you switch branches."
-msgstr ""
-
-#: unpack-trees.c:144
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by checkout:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:147
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by merge:\n"
-"%%sPlease move or remove them before you merge."
-msgstr ""
-
-#: unpack-trees.c:149
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by merge:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:152
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by %s:\n"
-"%%sPlease move or remove them before you %s."
-msgstr ""
-
-#: unpack-trees.c:154
-#, c-format
-msgid ""
-"The following untracked working tree files would be removed by %s:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:160
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by "
-"checkout:\n"
-"%%sPlease move or remove them before you switch branches."
-msgstr ""
-
-#: unpack-trees.c:162
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by "
-"checkout:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:165
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by merge:\n"
-"%%sPlease move or remove them before you merge."
-msgstr ""
-
-#: unpack-trees.c:167
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by merge:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:170
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by %s:\n"
-"%%sPlease move or remove them before you %s."
-msgstr ""
-
-#: unpack-trees.c:172
-#, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by %s:\n"
-"%%s"
-msgstr ""
-
-#: unpack-trees.c:180
-#, c-format
-msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
-msgstr ""
-
-#: unpack-trees.c:183
-#, c-format
-msgid ""
-"Cannot update submodule:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:186
-#, c-format
-msgid ""
-"The following paths are not up to date and were left despite sparse "
-"patterns:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:188
-#, c-format
-msgid ""
-"The following paths are unmerged and were left despite sparse patterns:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:190
-#, c-format
-msgid ""
-"The following paths were already present and thus not updated despite sparse "
-"patterns:\n"
-"%s"
-msgstr ""
-
-#: unpack-trees.c:270
-#, c-format
-msgid "Aborting\n"
-msgstr ""
-
-#: unpack-trees.c:297
-#, c-format
-msgid ""
-"After fixing the above paths, you may want to run `git sparse-checkout "
-"reapply`.\n"
-msgstr ""
-
-#: unpack-trees.c:358
-msgid "Updating files"
-msgstr ""
-
-#: unpack-trees.c:390
-msgid ""
-"the following paths have collided (e.g. case-sensitive paths\n"
-"on a case-insensitive filesystem) and only one from the same\n"
-"colliding group is in the working tree:\n"
-msgstr ""
-
-#: unpack-trees.c:1664
-msgid "Updating index flags"
-msgstr ""
-
-#: unpack-trees.c:2925
-#, c-format
-msgid "worktree and untracked commit have duplicate entries: %s"
-msgstr ""
-
-#: upload-pack.c:1579
-msgid "expected flush after fetch arguments"
-msgstr ""
-
-#: urlmatch.c:163
-msgid "invalid URL scheme name or missing '://' suffix"
-msgstr ""
-
-#: urlmatch.c:187 urlmatch.c:346 urlmatch.c:405
-#, c-format
-msgid "invalid %XX escape sequence"
-msgstr ""
-
-#: urlmatch.c:215
-msgid "missing host and scheme is not 'file:'"
-msgstr ""
-
-#: urlmatch.c:232
-msgid "a 'file:' URL may not have a port number"
-msgstr ""
-
-#: urlmatch.c:247
-msgid "invalid characters in host name"
-msgstr ""
-
-#: urlmatch.c:292 urlmatch.c:303
-msgid "invalid port number"
-msgstr ""
-
-#: urlmatch.c:371
-msgid "invalid '..' path segment"
-msgstr ""
-
-#: walker.c:170
-msgid "Fetching objects"
-msgstr ""
-
-#: worktree.c:237 builtin/am.c:2210 builtin/bisect--helper.c:156
-#, c-format
-msgid "failed to read '%s'"
-msgstr ""
-
-#: worktree.c:304
-#, c-format
-msgid "'%s' at main working tree is not the repository directory"
-msgstr ""
-
-#: worktree.c:315
-#, c-format
-msgid "'%s' file does not contain absolute path to the working tree location"
-msgstr ""
-
-#: worktree.c:327
-#, c-format
-msgid "'%s' does not exist"
-msgstr ""
-
-#: worktree.c:333
-#, c-format
-msgid "'%s' is not a .git file, error code %d"
-msgstr ""
-
-#: worktree.c:342
-#, c-format
-msgid "'%s' does not point back to '%s'"
-msgstr ""
-
-#: worktree.c:600
-msgid "not a directory"
-msgstr ""
-
-#: worktree.c:609
-msgid ".git is not a file"
-msgstr ""
-
-#: worktree.c:611
-msgid ".git file broken"
-msgstr ""
-
-#: worktree.c:613
-msgid ".git file incorrect"
-msgstr ""
-
-#: worktree.c:719
-msgid "not a valid path"
-msgstr ""
-
-#: worktree.c:725
-msgid "unable to locate repository; .git is not a file"
-msgstr ""
-
-#: worktree.c:729
-msgid "unable to locate repository; .git file does not reference a repository"
-msgstr ""
-
-#: worktree.c:733
-msgid "unable to locate repository; .git file broken"
-msgstr ""
-
-#: worktree.c:739
-msgid "gitdir unreadable"
-msgstr ""
-
-#: worktree.c:743
-msgid "gitdir incorrect"
-msgstr ""
-
-#: worktree.c:768
-msgid "not a valid directory"
-msgstr ""
-
-#: worktree.c:774
-msgid "gitdir file does not exist"
-msgstr ""
-
-#: worktree.c:779 worktree.c:788
-#, c-format
-msgid "unable to read gitdir file (%s)"
-msgstr ""
-
-#: worktree.c:798
-#, c-format
-msgid "short read (expected %<PRIuMAX> bytes, read %<PRIuMAX>)"
-msgstr ""
-
-#: worktree.c:806
-msgid "invalid gitdir file"
-msgstr ""
-
-#: worktree.c:814
-msgid "gitdir file points to non-existent location"
-msgstr ""
-
-#: worktree.c:830
-#, c-format
-msgid "unable to set %s in '%s'"
-msgstr ""
-
-#: worktree.c:832
-#, c-format
-msgid "unable to unset %s in '%s'"
-msgstr ""
-
-#: worktree.c:852
-msgid "failed to set extensions.worktreeConfig setting"
-msgstr ""
-
-#: wrapper.c:161
-#, c-format
-msgid "could not setenv '%s'"
-msgstr ""
-
-#: wrapper.c:213
-#, c-format
-msgid "unable to create '%s'"
-msgstr ""
-
-#: wrapper.c:215 wrapper.c:385
-#, c-format
-msgid "could not open '%s' for reading and writing"
-msgstr ""
-
-#: wrapper.c:416 wrapper.c:683
-#, c-format
-msgid "unable to access '%s'"
-msgstr ""
-
-#: wrapper.c:691
-msgid "unable to get current working directory"
-msgstr ""
-
-#: wt-status.c:158
-msgid "Unmerged paths:"
-msgstr ""
-
-#: wt-status.c:187 wt-status.c:219
-msgid "  (use \"git restore --staged <file>...\" to unstage)"
-msgstr ""
-
-#: wt-status.c:190 wt-status.c:222
-#, c-format
-msgid "  (use \"git restore --source=%s --staged <file>...\" to unstage)"
-msgstr ""
-
-#: wt-status.c:193 wt-status.c:225
-msgid "  (use \"git rm --cached <file>...\" to unstage)"
-msgstr ""
-
-#: wt-status.c:197
-msgid "  (use \"git add <file>...\" to mark resolution)"
-msgstr ""
-
-#: wt-status.c:199 wt-status.c:203
-msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
-msgstr ""
-
-#: wt-status.c:201
-msgid "  (use \"git rm <file>...\" to mark resolution)"
-msgstr ""
-
-#: wt-status.c:211 wt-status.c:1140
-msgid "Changes to be committed:"
-msgstr ""
-
-#: wt-status.c:234 wt-status.c:1149
-msgid "Changes not staged for commit:"
-msgstr ""
-
-#: wt-status.c:238
-msgid "  (use \"git add <file>...\" to update what will be committed)"
-msgstr ""
-
-#: wt-status.c:240
-msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
-msgstr ""
-
-#: wt-status.c:241
-msgid ""
-"  (use \"git restore <file>...\" to discard changes in working directory)"
-msgstr ""
-
-#: wt-status.c:243
-msgid "  (commit or discard the untracked or modified content in submodules)"
-msgstr ""
-
-#: wt-status.c:254
-#, c-format
-msgid "  (use \"git %s <file>...\" to include in what will be committed)"
-msgstr ""
-
-#: wt-status.c:266
-msgid "both deleted:"
-msgstr ""
-
-#: wt-status.c:268
-msgid "added by us:"
-msgstr ""
-
-#: wt-status.c:270
-msgid "deleted by them:"
-msgstr ""
-
-#: wt-status.c:272
-msgid "added by them:"
-msgstr ""
-
-#: wt-status.c:274
-msgid "deleted by us:"
-msgstr ""
-
-#: wt-status.c:276
-msgid "both added:"
-msgstr ""
-
-#: wt-status.c:278
-msgid "both modified:"
-msgstr ""
-
-#: wt-status.c:288
-msgid "new file:"
-msgstr ""
-
-#: wt-status.c:290
-msgid "copied:"
-msgstr ""
-
-#: wt-status.c:292
-msgid "deleted:"
-msgstr ""
-
-#: wt-status.c:294
-msgid "modified:"
-msgstr ""
-
-#: wt-status.c:296
-msgid "renamed:"
-msgstr ""
-
-#: wt-status.c:298
-msgid "typechange:"
-msgstr ""
-
-#: wt-status.c:300
-msgid "unknown:"
-msgstr ""
-
-#: wt-status.c:302
-msgid "unmerged:"
-msgstr ""
-
-#: wt-status.c:382
-msgid "new commits, "
-msgstr ""
-
-#: wt-status.c:384
-msgid "modified content, "
-msgstr ""
-
-#: wt-status.c:386
-msgid "untracked content, "
-msgstr ""
-
-#: wt-status.c:973
-#, c-format
-msgid "Your stash currently has %d entry"
-msgid_plural "Your stash currently has %d entries"
-msgstr[0] ""
-msgstr[1] ""
-
-#: wt-status.c:1004
-msgid "Submodules changed but not updated:"
-msgstr ""
-
-#: wt-status.c:1006
-msgid "Submodule changes to be committed:"
-msgstr ""
-
-#: wt-status.c:1088
-msgid ""
-"Do not modify or remove the line above.\n"
-"Everything below it will be ignored."
-msgstr ""
-
-#: wt-status.c:1180
-#, c-format
-msgid ""
-"\n"
-"It took %.2f seconds to compute the branch ahead/behind values.\n"
-"You can use '--no-ahead-behind' to avoid this.\n"
-msgstr ""
-
-#: wt-status.c:1210
-msgid "You have unmerged paths."
-msgstr ""
-
-#: wt-status.c:1213
-msgid "  (fix conflicts and run \"git commit\")"
-msgstr ""
-
-#: wt-status.c:1215
-msgid "  (use \"git merge --abort\" to abort the merge)"
-msgstr ""
-
-#: wt-status.c:1219
-msgid "All conflicts fixed but you are still merging."
-msgstr ""
-
-#: wt-status.c:1222
-msgid "  (use \"git commit\" to conclude merge)"
-msgstr ""
-
-#: wt-status.c:1233
-msgid "You are in the middle of an am session."
-msgstr ""
-
-#: wt-status.c:1236
-msgid "The current patch is empty."
-msgstr ""
-
-#: wt-status.c:1241
-msgid "  (fix conflicts and then run \"git am --continue\")"
-msgstr ""
-
-#: wt-status.c:1243
-msgid "  (use \"git am --skip\" to skip this patch)"
-msgstr ""
-
-#: wt-status.c:1246
-msgid ""
-"  (use \"git am --allow-empty\" to record this patch as an empty commit)"
-msgstr ""
-
-#: wt-status.c:1248
-msgid "  (use \"git am --abort\" to restore the original branch)"
-msgstr ""
-
-#: wt-status.c:1381
-msgid "git-rebase-todo is missing."
-msgstr ""
-
-#: wt-status.c:1383
-msgid "No commands done."
-msgstr ""
-
-#: wt-status.c:1386
-#, c-format
-msgid "Last command done (%<PRIuMAX> command done):"
-msgid_plural "Last commands done (%<PRIuMAX> commands done):"
-msgstr[0] ""
-msgstr[1] ""
-
-#: wt-status.c:1397
-#, c-format
-msgid "  (see more in file %s)"
-msgstr ""
-
-#: wt-status.c:1402
-msgid "No commands remaining."
-msgstr ""
-
-#: wt-status.c:1405
-#, c-format
-msgid "Next command to do (%<PRIuMAX> remaining command):"
-msgid_plural "Next commands to do (%<PRIuMAX> remaining commands):"
-msgstr[0] ""
-msgstr[1] ""
-
-#: wt-status.c:1413
-msgid "  (use \"git rebase --edit-todo\" to view and edit)"
-msgstr ""
-
-#: wt-status.c:1425
-#, c-format
-msgid "You are currently rebasing branch '%s' on '%s'."
-msgstr ""
-
-#: wt-status.c:1430
-msgid "You are currently rebasing."
-msgstr ""
-
-#: wt-status.c:1443
-msgid "  (fix conflicts and then run \"git rebase --continue\")"
-msgstr ""
-
-#: wt-status.c:1445
-msgid "  (use \"git rebase --skip\" to skip this patch)"
-msgstr ""
-
-#: wt-status.c:1447
-msgid "  (use \"git rebase --abort\" to check out the original branch)"
-msgstr ""
-
-#: wt-status.c:1454
-msgid "  (all conflicts fixed: run \"git rebase --continue\")"
-msgstr ""
-
-#: wt-status.c:1458
-#, c-format
-msgid ""
-"You are currently splitting a commit while rebasing branch '%s' on '%s'."
-msgstr ""
-
-#: wt-status.c:1463
-msgid "You are currently splitting a commit during a rebase."
-msgstr ""
-
-#: wt-status.c:1466
-msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
-msgstr ""
-
-#: wt-status.c:1470
-#, c-format
-msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
-msgstr ""
-
-#: wt-status.c:1475
-msgid "You are currently editing a commit during a rebase."
-msgstr ""
-
-#: wt-status.c:1478
-msgid "  (use \"git commit --amend\" to amend the current commit)"
-msgstr ""
-
-#: wt-status.c:1480
-msgid ""
-"  (use \"git rebase --continue\" once you are satisfied with your changes)"
-msgstr ""
-
-#: wt-status.c:1491
-msgid "Cherry-pick currently in progress."
-msgstr ""
-
-#: wt-status.c:1494
-#, c-format
-msgid "You are currently cherry-picking commit %s."
-msgstr ""
-
-#: wt-status.c:1501
-msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
-msgstr ""
-
-#: wt-status.c:1504
-msgid "  (run \"git cherry-pick --continue\" to continue)"
-msgstr ""
-
-#: wt-status.c:1507
-msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
-msgstr ""
-
-#: wt-status.c:1509
-msgid "  (use \"git cherry-pick --skip\" to skip this patch)"
-msgstr ""
-
-#: wt-status.c:1511
-msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
-msgstr ""
-
-#: wt-status.c:1521
-msgid "Revert currently in progress."
-msgstr ""
-
-#: wt-status.c:1524
-#, c-format
-msgid "You are currently reverting commit %s."
-msgstr ""
-
-#: wt-status.c:1530
-msgid "  (fix conflicts and run \"git revert --continue\")"
-msgstr ""
-
-#: wt-status.c:1533
-msgid "  (run \"git revert --continue\" to continue)"
-msgstr ""
-
-#: wt-status.c:1536
-msgid "  (all conflicts fixed: run \"git revert --continue\")"
-msgstr ""
-
-#: wt-status.c:1538
-msgid "  (use \"git revert --skip\" to skip this patch)"
-msgstr ""
-
-#: wt-status.c:1540
-msgid "  (use \"git revert --abort\" to cancel the revert operation)"
-msgstr ""
-
-#: wt-status.c:1550
-#, c-format
-msgid "You are currently bisecting, started from branch '%s'."
-msgstr ""
-
-#: wt-status.c:1554
-msgid "You are currently bisecting."
-msgstr ""
-
-#: wt-status.c:1557
-msgid "  (use \"git bisect reset\" to get back to the original branch)"
-msgstr ""
-
-#: wt-status.c:1568
-msgid "You are in a sparse checkout."
-msgstr ""
-
-#: wt-status.c:1571
-#, c-format
-msgid "You are in a sparse checkout with %d%% of tracked files present."
-msgstr ""
-
-#: wt-status.c:1815
-msgid "On branch "
-msgstr ""
-
-#: wt-status.c:1822
-msgid "interactive rebase in progress; onto "
-msgstr ""
-
-#: wt-status.c:1824
-msgid "rebase in progress; onto "
-msgstr ""
-
-#: wt-status.c:1829
-msgid "HEAD detached at "
-msgstr ""
-
-#: wt-status.c:1831
-msgid "HEAD detached from "
-msgstr ""
-
-#: wt-status.c:1834
-msgid "Not currently on any branch."
-msgstr ""
-
-#: wt-status.c:1851
-msgid "Initial commit"
-msgstr ""
-
-#: wt-status.c:1852
-msgid "No commits yet"
-msgstr ""
-
-#: wt-status.c:1866
-msgid "Untracked files"
-msgstr ""
-
-#: wt-status.c:1868
-msgid "Ignored files"
-msgstr ""
-
-#: wt-status.c:1872
-#, c-format
-msgid ""
-"It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
-"may speed it up, but you have to be careful not to forget to add\n"
-"new files yourself (see 'git help status')."
-msgstr ""
-
-#: wt-status.c:1878
-#, c-format
-msgid "Untracked files not listed%s"
-msgstr ""
-
-#: wt-status.c:1880
-msgid " (use -u option to show untracked files)"
-msgstr ""
-
-#: wt-status.c:1886
-msgid "No changes"
-msgstr ""
-
-#: wt-status.c:1891
-#, c-format
-msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
-msgstr ""
-
-#: wt-status.c:1895
-#, c-format
-msgid "no changes added to commit\n"
-msgstr ""
-
-#: wt-status.c:1899
-#, c-format
-msgid ""
-"nothing added to commit but untracked files present (use \"git add\" to "
-"track)\n"
-msgstr ""
-
-#: wt-status.c:1903
-#, c-format
-msgid "nothing added to commit but untracked files present\n"
-msgstr ""
-
-#: wt-status.c:1907
-#, c-format
-msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
-msgstr ""
-
-#: wt-status.c:1911 wt-status.c:1917
-#, c-format
-msgid "nothing to commit\n"
-msgstr ""
-
-#: wt-status.c:1914
-#, c-format
-msgid "nothing to commit (use -u to show untracked files)\n"
-msgstr ""
-
-#: wt-status.c:1919
-#, c-format
-msgid "nothing to commit, working tree clean\n"
-msgstr ""
-
-#: wt-status.c:2024
-msgid "No commits yet on "
-msgstr ""
-
-#: wt-status.c:2028
-msgid "HEAD (no branch)"
-msgstr ""
-
-#: wt-status.c:2059
-msgid "different"
-msgstr ""
-
-#: wt-status.c:2061 wt-status.c:2069
-msgid "behind "
-msgstr ""
-
-#: wt-status.c:2064 wt-status.c:2067
-msgid "ahead "
-msgstr ""
-
-#. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2605
-#, c-format
-msgid "cannot %s: You have unstaged changes."
-msgstr ""
-
-#: wt-status.c:2611
-msgid "additionally, your index contains uncommitted changes."
-msgstr ""
-
-#: wt-status.c:2613
-#, c-format
-msgid "cannot %s: Your index contains uncommitted changes."
-msgstr ""
-
-#: compat/simple-ipc/ipc-unix-socket.c:205
-msgid "could not send IPC command"
-msgstr ""
-
-#: compat/simple-ipc/ipc-unix-socket.c:212
-msgid "could not read IPC response"
-msgstr ""
-
-#: compat/simple-ipc/ipc-unix-socket.c:892
-#, c-format
-msgid "could not start accept_thread '%s'"
-msgstr ""
-
-#: compat/simple-ipc/ipc-unix-socket.c:904
-#, c-format
-msgid "could not start worker[0] for '%s'"
-msgstr ""
-
-#: compat/precompose_utf8.c:58 builtin/clone.c:353
-#, c-format
-msgid "failed to unlink '%s'"
-msgstr ""
-
-#: compat/fsmonitor/fsm-listen-darwin.c:355
-msgid "Unable to create FSEventStream."
-msgstr ""
-
-#: compat/fsmonitor/fsm-listen-darwin.c:403
-msgid "Failed to start the FSEventStream"
-msgstr ""
-
-#: builtin/add.c:26
-msgid "git add [<options>] [--] <pathspec>..."
-msgstr ""
-
-#: builtin/add.c:63
-#, c-format
-msgid "cannot chmod %cx '%s'"
-msgstr ""
-
-#: builtin/add.c:105
-#, c-format
-msgid "unexpected diff status %c"
-msgstr ""
-
-#: builtin/add.c:110 builtin/commit.c:299
-msgid "updating files failed"
-msgstr ""
-
-#: builtin/add.c:120
-#, c-format
-msgid "remove '%s'\n"
-msgstr ""
-
-#: builtin/add.c:204
-msgid "Unstaged changes after refreshing the index:"
-msgstr ""
-
-#: builtin/add.c:312 builtin/rev-parse.c:993
-msgid "Could not read the index"
-msgstr ""
-
-#: builtin/add.c:325
-msgid "Could not write patch"
-msgstr ""
-
-#: builtin/add.c:328
-msgid "editing patch failed"
-msgstr ""
-
-#: builtin/add.c:331
-#, c-format
-msgid "Could not stat '%s'"
-msgstr ""
-
-#: builtin/add.c:333
-msgid "Empty patch. Aborted."
-msgstr ""
-
-#: builtin/add.c:339
-#, c-format
-msgid "Could not apply '%s'"
-msgstr ""
-
-#: builtin/add.c:347
-msgid "The following paths are ignored by one of your .gitignore files:\n"
-msgstr ""
-
-#: builtin/add.c:367 builtin/clean.c:927 builtin/fetch.c:175 builtin/mv.c:124
-#: builtin/prune-packed.c:14 builtin/pull.c:208 builtin/push.c:550
-#: builtin/remote.c:1454 builtin/rm.c:244 builtin/send-pack.c:194
-msgid "dry run"
-msgstr ""
-
-#: builtin/add.c:368 builtin/check-ignore.c:22 builtin/commit.c:1483
-#: builtin/count-objects.c:98 builtin/fsck.c:789 builtin/log.c:2338
-#: builtin/mv.c:123 builtin/read-tree.c:120
-msgid "be verbose"
-msgstr ""
-
-#: builtin/add.c:370
-msgid "interactive picking"
-msgstr ""
-
-#: builtin/add.c:371 builtin/checkout.c:1599 builtin/reset.c:417
-msgid "select hunks interactively"
-msgstr ""
-
-#: builtin/add.c:372
-msgid "edit current diff and apply"
-msgstr ""
-
-#: builtin/add.c:373
-msgid "allow adding otherwise ignored files"
-msgstr ""
-
-#: builtin/add.c:374
-msgid "update tracked files"
-msgstr ""
-
-#: builtin/add.c:375
-msgid "renormalize EOL of tracked files (implies -u)"
-msgstr ""
-
-#: builtin/add.c:376
-msgid "record only the fact that the path will be added later"
-msgstr ""
-
-#: builtin/add.c:377
-msgid "add changes from all tracked and untracked files"
-msgstr ""
-
-#: builtin/add.c:380
-msgid "ignore paths removed in the working tree (same as --no-all)"
-msgstr ""
-
-#: builtin/add.c:382
-msgid "don't add, only refresh the index"
-msgstr ""
-
-#: builtin/add.c:383
-msgid "just skip files which cannot be added because of errors"
-msgstr ""
-
-#: builtin/add.c:384
-msgid "check if - even missing - files are ignored in dry run"
-msgstr ""
-
-#: builtin/add.c:385 builtin/mv.c:128 builtin/rm.c:251
-msgid "allow updating entries outside of the sparse-checkout cone"
-msgstr ""
-
-#: builtin/add.c:387 builtin/update-index.c:1023
-msgid "override the executable bit of the listed files"
-msgstr ""
-
-#: builtin/add.c:389
-msgid "warn when adding an embedded repository"
-msgstr ""
-
-#: builtin/add.c:407
-#, c-format
-msgid ""
-"You've added another git repository inside your current repository.\n"
-"Clones of the outer repository will not contain the contents of\n"
-"the embedded repository and will not know how to obtain it.\n"
-"If you meant to add a submodule, use:\n"
-"\n"
-"\tgit submodule add <url> %s\n"
-"\n"
-"If you added this path by mistake, you can remove it from the\n"
-"index with:\n"
-"\n"
-"\tgit rm --cached %s\n"
-"\n"
-"See \"git help submodule\" for more information."
-msgstr ""
-
-#: builtin/add.c:436
-#, c-format
-msgid "adding embedded git repository: %s"
-msgstr ""
-
-#: builtin/add.c:456
-msgid ""
-"Use -f if you really want to add them.\n"
-"Turn this message off by running\n"
-"\"git config advice.addIgnoredFile false\""
-msgstr ""
-
-#: builtin/add.c:471
-msgid "adding files failed"
-msgstr ""
-
-#: builtin/add.c:534
-#, c-format
-msgid "--chmod param '%s' must be either -x or +x"
-msgstr ""
-
-#: builtin/add.c:555 builtin/checkout.c:1770 builtin/commit.c:365
-#: builtin/reset.c:436 builtin/rm.c:275 builtin/stash.c:1702
-#, c-format
-msgid "'%s' and pathspec arguments cannot be used together"
-msgstr ""
-
-#: builtin/add.c:566
-#, c-format
-msgid "Nothing specified, nothing added.\n"
-msgstr ""
-
-#: builtin/add.c:568
-msgid ""
-"Maybe you wanted to say 'git add .'?\n"
-"Turn this message off by running\n"
-"\"git config advice.addEmptyPathspec false\""
-msgstr ""
-
-#: builtin/am.c:393
-msgid "could not parse author script"
-msgstr ""
-
-#: builtin/am.c:483
-#, c-format
-msgid "'%s' was deleted by the applypatch-msg hook"
-msgstr ""
-
-#: builtin/am.c:525
-#, c-format
-msgid "Malformed input line: '%s'."
-msgstr ""
-
-#: builtin/am.c:563
-#, c-format
-msgid "Failed to copy notes from '%s' to '%s'"
-msgstr ""
-
-#: builtin/am.c:589
-msgid "fseek failed"
-msgstr ""
-
-#: builtin/am.c:777
-#, c-format
-msgid "could not parse patch '%s'"
-msgstr ""
-
-#: builtin/am.c:842
-msgid "Only one StGIT patch series can be applied at once"
-msgstr ""
-
-#: builtin/am.c:890
-msgid "invalid timestamp"
-msgstr ""
-
-#: builtin/am.c:895 builtin/am.c:907
-msgid "invalid Date line"
-msgstr ""
-
-#: builtin/am.c:902
-msgid "invalid timezone offset"
-msgstr ""
-
-#: builtin/am.c:995
-msgid "Patch format detection failed."
-msgstr ""
-
-#: builtin/am.c:1000 builtin/clone.c:306
-#, c-format
-msgid "failed to create directory '%s'"
-msgstr ""
-
-#: builtin/am.c:1005
-msgid "Failed to split patches."
-msgstr ""
-
-#: builtin/am.c:1154
-#, c-format
-msgid "When you have resolved this problem, run \"%s --continue\"."
-msgstr ""
-
-#: builtin/am.c:1155
-#, c-format
-msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
-msgstr ""
-
-#: builtin/am.c:1160
-#, c-format
-msgid "To record the empty patch as an empty commit, run \"%s --allow-empty\"."
-msgstr ""
-
-#: builtin/am.c:1162
-#, c-format
-msgid "To restore the original branch and stop patching, run \"%s --abort\"."
-msgstr ""
-
-#: builtin/am.c:1257
-msgid "Patch sent with format=flowed; space at the end of lines might be lost."
-msgstr ""
-
-#: builtin/am.c:1345
-#, c-format
-msgid "missing author line in commit %s"
-msgstr ""
-
-#: builtin/am.c:1348
-#, c-format
-msgid "invalid ident line: %.*s"
-msgstr ""
-
-#: builtin/am.c:1567
-msgid "Repository lacks necessary blobs to fall back on 3-way merge."
-msgstr ""
-
-#: builtin/am.c:1569
-msgid "Using index info to reconstruct a base tree..."
-msgstr ""
-
-#: builtin/am.c:1588
-msgid ""
-"Did you hand edit your patch?\n"
-"It does not apply to blobs recorded in its index."
-msgstr ""
-
-#: builtin/am.c:1594
-msgid "Falling back to patching base and 3-way merge..."
-msgstr ""
-
-#: builtin/am.c:1620
-msgid "Failed to merge in the changes."
-msgstr ""
-
-#: builtin/am.c:1652
-msgid "applying to an empty history"
-msgstr ""
-
-#: builtin/am.c:1704 builtin/am.c:1708
-#, c-format
-msgid "cannot resume: %s does not exist."
-msgstr ""
-
-#: builtin/am.c:1726
-msgid "Commit Body is:"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
-#. in your translation. The program will only accept English
-#. input at this point.
-#.
-#: builtin/am.c:1736
-#, c-format
-msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
-msgstr ""
-
-#: builtin/am.c:1782 builtin/commit.c:410
-msgid "unable to write index file"
-msgstr ""
-
-#: builtin/am.c:1786
-#, c-format
-msgid "Dirty index: cannot apply patches (dirty: %s)"
-msgstr ""
-
-#: builtin/am.c:1828
-#, c-format
-msgid "Skipping: %.*s"
-msgstr ""
-
-#: builtin/am.c:1833
-#, c-format
-msgid "Creating an empty commit: %.*s"
-msgstr ""
-
-#: builtin/am.c:1837
-msgid "Patch is empty."
-msgstr ""
-
-#: builtin/am.c:1848 builtin/am.c:1917
-#, c-format
-msgid "Applying: %.*s"
-msgstr ""
-
-#: builtin/am.c:1865
-msgid "No changes -- Patch already applied."
-msgstr ""
-
-#: builtin/am.c:1871
-#, c-format
-msgid "Patch failed at %s %.*s"
-msgstr ""
-
-#: builtin/am.c:1875
-msgid "Use 'git am --show-current-patch=diff' to see the failed patch"
-msgstr ""
-
-#: builtin/am.c:1921
-msgid "No changes - recorded it as an empty commit."
-msgstr ""
-
-#: builtin/am.c:1923
-msgid ""
-"No changes - did you forget to use 'git add'?\n"
-"If there is nothing left to stage, chances are that something else\n"
-"already introduced the same changes; you might want to skip this patch."
-msgstr ""
-
-#: builtin/am.c:1931
-msgid ""
-"You still have unmerged paths in your index.\n"
-"You should 'git add' each file with resolved conflicts to mark them as "
-"such.\n"
-"You might run `git rm` on a file to accept \"deleted by them\" for it."
-msgstr ""
-
-#: builtin/am.c:2039 builtin/am.c:2043 builtin/am.c:2055 builtin/reset.c:455
-#: builtin/reset.c:463
-#, c-format
-msgid "Could not parse object '%s'."
-msgstr ""
-
-#: builtin/am.c:2091 builtin/am.c:2167
-msgid "failed to clean index"
-msgstr ""
-
-#: builtin/am.c:2135
-msgid ""
-"You seem to have moved HEAD since the last 'am' failure.\n"
-"Not rewinding to ORIG_HEAD"
-msgstr ""
-
-#: builtin/am.c:2292
-#, c-format
-msgid "options '%s=%s' and '%s=%s' cannot be used together"
-msgstr ""
-
-#: builtin/am.c:2323
-msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
-msgstr ""
-
-#: builtin/am.c:2324
-msgid "git am [<options>] (--continue | --skip | --abort)"
-msgstr ""
-
-#: builtin/am.c:2330
-msgid "run interactively"
-msgstr ""
-
-#: builtin/am.c:2332
-msgid "historical option -- no-op"
-msgstr ""
-
-#: builtin/am.c:2334
-msgid "allow fall back on 3way merging if needed"
-msgstr ""
-
-#: builtin/am.c:2335 builtin/init-db.c:547 builtin/prune-packed.c:16
-#: builtin/repack.c:646 builtin/stash.c:946
-msgid "be quiet"
-msgstr ""
-
-#: builtin/am.c:2337
-msgid "add a Signed-off-by trailer to the commit message"
-msgstr ""
-
-#: builtin/am.c:2340
-msgid "recode into utf8 (default)"
-msgstr ""
-
-#: builtin/am.c:2342
-msgid "pass -k flag to git-mailinfo"
-msgstr ""
-
-#: builtin/am.c:2344
-msgid "pass -b flag to git-mailinfo"
-msgstr ""
-
-#: builtin/am.c:2346
-msgid "pass -m flag to git-mailinfo"
-msgstr ""
-
-#: builtin/am.c:2348
-msgid "pass --keep-cr flag to git-mailsplit for mbox format"
-msgstr ""
-
-#: builtin/am.c:2351
-msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
-msgstr ""
-
-#: builtin/am.c:2354
-msgid "strip everything before a scissors line"
-msgstr ""
-
-#: builtin/am.c:2356
-msgid "pass it through git-mailinfo"
-msgstr ""
-
-#: builtin/am.c:2359 builtin/am.c:2362 builtin/am.c:2365 builtin/am.c:2368
-#: builtin/am.c:2371 builtin/am.c:2374 builtin/am.c:2377 builtin/am.c:2380
-#: builtin/am.c:2386
-msgid "pass it through git-apply"
-msgstr ""
-
-#: builtin/am.c:2376 builtin/commit.c:1514 builtin/fmt-merge-msg.c:18
-#: builtin/fmt-merge-msg.c:21 builtin/grep.c:920 builtin/merge.c:263
-#: builtin/pull.c:142 builtin/pull.c:204 builtin/pull.c:221
-#: builtin/rebase.c:1074 builtin/repack.c:657 builtin/repack.c:661
-#: builtin/repack.c:663 builtin/show-branch.c:650 builtin/show-ref.c:172
-#: builtin/tag.c:446 parse-options.h:159 parse-options.h:180
-#: parse-options.h:348
-msgid "n"
-msgstr ""
-
-#: builtin/am.c:2382 builtin/branch.c:695 builtin/bugreport.c:109
-#: builtin/cat-file.c:848 builtin/cat-file.c:852 builtin/cat-file.c:856
-#: builtin/for-each-ref.c:41 builtin/ls-tree.c:357 builtin/replace.c:555
-#: builtin/tag.c:480 builtin/verify-tag.c:38
-msgid "format"
-msgstr ""
-
-#: builtin/am.c:2383
-msgid "format the patch(es) are in"
-msgstr ""
-
-#: builtin/am.c:2389
-msgid "override error message when patch failure occurs"
-msgstr ""
-
-#: builtin/am.c:2391
-msgid "continue applying patches after resolving a conflict"
-msgstr ""
-
-#: builtin/am.c:2394
-msgid "synonyms for --continue"
-msgstr ""
-
-#: builtin/am.c:2397
-msgid "skip the current patch"
-msgstr ""
-
-#: builtin/am.c:2400
-msgid "restore the original branch and abort the patching operation"
-msgstr ""
-
-#: builtin/am.c:2403
-msgid "abort the patching operation but keep HEAD where it is"
-msgstr ""
-
-#: builtin/am.c:2407
-msgid "show the patch being applied"
-msgstr ""
-
-#: builtin/am.c:2411
-msgid "record the empty patch as an empty commit"
-msgstr ""
-
-#: builtin/am.c:2415
-msgid "lie about committer date"
-msgstr ""
-
-#: builtin/am.c:2417
-msgid "use current timestamp for author date"
-msgstr ""
-
-#: builtin/am.c:2419 builtin/commit-tree.c:118 builtin/commit.c:1642
-#: builtin/merge.c:302 builtin/pull.c:179 builtin/rebase.c:1127
-#: builtin/revert.c:117 builtin/tag.c:461
-msgid "key-id"
-msgstr ""
-
-#: builtin/am.c:2420 builtin/rebase.c:1128
-msgid "GPG-sign commits"
-msgstr ""
-
-#: builtin/am.c:2423
-msgid "how to handle empty patches"
-msgstr ""
-
-#: builtin/am.c:2426
-msgid "(internal use for git-rebase)"
-msgstr ""
-
-#: builtin/am.c:2444
-msgid ""
-"The -b/--binary option has been a no-op for long time, and\n"
-"it will be removed. Please do not use it anymore."
-msgstr ""
-
-#: builtin/am.c:2451
-msgid "failed to read the index"
-msgstr ""
-
-#: builtin/am.c:2466
-#, c-format
-msgid "previous rebase directory %s still exists but mbox given."
-msgstr ""
-
-#: builtin/am.c:2490
-#, c-format
-msgid ""
-"Stray %s directory found.\n"
-"Use \"git am --abort\" to remove it."
-msgstr ""
-
-#: builtin/am.c:2496
-msgid "Resolve operation not in progress, we are not resuming."
-msgstr ""
-
-#: builtin/am.c:2506
-msgid "interactive mode requires patches on the command line"
-msgstr ""
-
-#: builtin/apply.c:8
-msgid "git apply [<options>] [<patch>...]"
-msgstr ""
-
-#: builtin/archive.c:18
-msgid "could not redirect output"
-msgstr ""
-
-#: builtin/archive.c:35
-msgid "git archive: Remote with no URL"
-msgstr ""
-
-#: builtin/archive.c:59
-msgid "git archive: expected ACK/NAK, got a flush packet"
-msgstr ""
-
-#: builtin/archive.c:62
-#, c-format
-msgid "git archive: NACK %s"
-msgstr ""
-
-#: builtin/archive.c:63
-msgid "git archive: protocol error"
-msgstr ""
-
-#: builtin/archive.c:67
-msgid "git archive: expected a flush"
-msgstr ""
-
-#: builtin/bisect--helper.c:24
-msgid "git bisect--helper --bisect-reset [<commit>]"
-msgstr ""
-
-#: builtin/bisect--helper.c:26
-msgid ""
-"git bisect--helper --bisect-start [--term-{new,bad}=<term> --term-{old,good}"
-"=<term>] [--no-checkout] [--first-parent] [<bad> [<good>...]] [--] "
-"[<paths>...]"
-msgstr ""
-
-#: builtin/bisect--helper.c:29
-msgid "git bisect--helper --bisect-state (bad|new) [<rev>]"
-msgstr ""
-
-#: builtin/bisect--helper.c:30
-msgid "git bisect--helper --bisect-state (good|old) [<rev>...]"
-msgstr ""
-
-#: builtin/bisect--helper.c:31
-msgid "git bisect--helper --bisect-replay <filename>"
-msgstr ""
-
-#: builtin/bisect--helper.c:32
-msgid "git bisect--helper --bisect-skip [(<rev>|<range>)...]"
-msgstr ""
-
-#: builtin/bisect--helper.c:34
-msgid "git bisect--helper --bisect-run <cmd>..."
-msgstr ""
-
-#: builtin/bisect--helper.c:109
-#, c-format
-msgid "cannot open file '%s' in mode '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:116
-#, c-format
-msgid "could not write to file '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:154
-#, c-format
-msgid "cannot open file '%s' for reading"
-msgstr ""
-
-#: builtin/bisect--helper.c:170
-#, c-format
-msgid "'%s' is not a valid term"
-msgstr ""
-
-#: builtin/bisect--helper.c:174
-#, c-format
-msgid "can't use the builtin command '%s' as a term"
-msgstr ""
-
-#: builtin/bisect--helper.c:184
-#, c-format
-msgid "can't change the meaning of the term '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:194
-msgid "please use two different terms"
-msgstr ""
-
-#: builtin/bisect--helper.c:210
-#, c-format
-msgid "We are not bisecting.\n"
-msgstr ""
-
-#: builtin/bisect--helper.c:218
-#, c-format
-msgid "'%s' is not a valid commit"
-msgstr ""
-
-#: builtin/bisect--helper.c:227
-#, c-format
-msgid ""
-"could not check out original HEAD '%s'. Try 'git bisect reset <commit>'."
-msgstr ""
-
-#: builtin/bisect--helper.c:271
-#, c-format
-msgid "Bad bisect_write argument: %s"
-msgstr ""
-
-#: builtin/bisect--helper.c:276
-#, c-format
-msgid "couldn't get the oid of the rev '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:288
-#, c-format
-msgid "couldn't open the file '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:314
-#, c-format
-msgid "Invalid command: you're currently in a %s/%s bisect"
-msgstr ""
-
-#: builtin/bisect--helper.c:341
-#, c-format
-msgid ""
-"You need to give me at least one %s and %s revision.\n"
-"You can use \"git bisect %s\" and \"git bisect %s\" for that."
-msgstr ""
-
-#: builtin/bisect--helper.c:345
-#, c-format
-msgid ""
-"You need to start by \"git bisect start\".\n"
-"You then need to give me at least one %s and %s revision.\n"
-"You can use \"git bisect %s\" and \"git bisect %s\" for that."
-msgstr ""
-
-#: builtin/bisect--helper.c:365
-#, c-format
-msgid "bisecting only with a %s commit"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [Y] and [n] in your
-#. translation. The program will only accept English input
-#. at this point.
-#.
-#: builtin/bisect--helper.c:373
-msgid "Are you sure [Y/n]? "
-msgstr ""
-
-#: builtin/bisect--helper.c:434
-msgid "no terms defined"
-msgstr ""
-
-#: builtin/bisect--helper.c:437
-#, c-format
-msgid ""
-"Your current terms are %s for the old state\n"
-"and %s for the new state.\n"
-msgstr ""
-
-#: builtin/bisect--helper.c:447
-#, c-format
-msgid ""
-"invalid argument %s for 'git bisect terms'.\n"
-"Supported options are: --term-good|--term-old and --term-bad|--term-new."
-msgstr ""
-
-#: builtin/bisect--helper.c:514 builtin/bisect--helper.c:1038
-msgid "revision walk setup failed\n"
-msgstr ""
-
-#: builtin/bisect--helper.c:536
-#, c-format
-msgid "could not open '%s' for appending"
-msgstr ""
-
-#: builtin/bisect--helper.c:655 builtin/bisect--helper.c:668
-msgid "'' is not a valid term"
-msgstr ""
-
-#: builtin/bisect--helper.c:678
-#, c-format
-msgid "unrecognized option: '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:682
-#, c-format
-msgid "'%s' does not appear to be a valid revision"
-msgstr ""
-
-#: builtin/bisect--helper.c:713
-msgid "bad HEAD - I need a HEAD"
-msgstr ""
-
-#: builtin/bisect--helper.c:728
-#, c-format
-msgid "checking out '%s' failed. Try 'git bisect start <valid-branch>'."
-msgstr ""
-
-#: builtin/bisect--helper.c:749
-msgid "won't bisect on cg-seek'ed tree"
-msgstr ""
-
-#: builtin/bisect--helper.c:752
-msgid "bad HEAD - strange symbolic ref"
-msgstr ""
-
-#: builtin/bisect--helper.c:772
-#, c-format
-msgid "invalid ref: '%s'"
-msgstr ""
-
-#: builtin/bisect--helper.c:830
-msgid "You need to start by \"git bisect start\"\n"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [Y] and [n] in your
-#. translation. The program will only accept English input
-#. at this point.
-#.
-#: builtin/bisect--helper.c:841
-msgid "Do you want me to do it for you [Y/n]? "
-msgstr ""
-
-#: builtin/bisect--helper.c:859
-msgid "Please call `--bisect-state` with at least one argument"
-msgstr ""
-
-#: builtin/bisect--helper.c:872
-#, c-format
-msgid "'git bisect %s' can take only one argument."
-msgstr ""
-
-#: builtin/bisect--helper.c:884 builtin/bisect--helper.c:897
-#, c-format
-msgid "Bad rev input: %s"
-msgstr ""
-
-#: builtin/bisect--helper.c:904
-#, c-format
-msgid "Bad rev input (not a commit): %s"
-msgstr ""
-
-#: builtin/bisect--helper.c:936
-msgid "We are not bisecting."
-msgstr ""
-
-#: builtin/bisect--helper.c:986
-#, c-format
-msgid "'%s'?? what are you talking about?"
-msgstr ""
-
-#: builtin/bisect--helper.c:998
-#, c-format
-msgid "cannot read file '%s' for replaying"
-msgstr ""
-
-#: builtin/bisect--helper.c:1120 builtin/bisect--helper.c:1152
-#, c-format
-msgid "running %s\n"
-msgstr ""
-
-#: builtin/bisect--helper.c:1145 builtin/bisect--helper.c:1335
-msgid "bisect run failed: no command provided."
-msgstr ""
-
-#: builtin/bisect--helper.c:1166
-#, c-format
-msgid "unable to verify '%s' on good revision"
-msgstr ""
-
-#: builtin/bisect--helper.c:1172
-#, c-format
-msgid "bogus exit code %d for good revision"
-msgstr ""
-
-#: builtin/bisect--helper.c:1180
-#, c-format
-msgid "bisect run failed: exit code %d from '%s' is < 0 or >= 128"
-msgstr ""
-
-#: builtin/bisect--helper.c:1195
-#, c-format
-msgid "cannot open file '%s' for writing"
-msgstr ""
-
-#: builtin/bisect--helper.c:1213
-msgid "bisect run cannot continue any more"
-msgstr ""
-
-#: builtin/bisect--helper.c:1215
-#, c-format
-msgid "bisect run success"
-msgstr ""
-
-#: builtin/bisect--helper.c:1218
-#, c-format
-msgid "bisect found first bad commit"
-msgstr ""
-
-#: builtin/bisect--helper.c:1221
-#, c-format
-msgid ""
-"bisect run failed: 'git bisect--helper --bisect-state %s' exited with error "
-"code %d"
-msgstr ""
-
-#: builtin/bisect--helper.c:1253
-msgid "reset the bisection state"
-msgstr ""
-
-#: builtin/bisect--helper.c:1255
-msgid "check whether bad or good terms exist"
-msgstr ""
-
-#: builtin/bisect--helper.c:1257
-msgid "print out the bisect terms"
-msgstr ""
-
-#: builtin/bisect--helper.c:1259
-msgid "start the bisect session"
-msgstr ""
-
-#: builtin/bisect--helper.c:1261
-msgid "find the next bisection commit"
-msgstr ""
-
-#: builtin/bisect--helper.c:1263
-msgid "mark the state of ref (or refs)"
-msgstr ""
-
-#: builtin/bisect--helper.c:1265
-msgid "list the bisection steps so far"
-msgstr ""
-
-#: builtin/bisect--helper.c:1267
-msgid "replay the bisection process from the given file"
-msgstr ""
-
-#: builtin/bisect--helper.c:1269
-msgid "skip some commits for checkout"
-msgstr ""
-
-#: builtin/bisect--helper.c:1271
-msgid "visualize the bisection"
-msgstr ""
-
-#: builtin/bisect--helper.c:1273
-msgid "use <cmd>... to automatically bisect"
-msgstr ""
-
-#: builtin/bisect--helper.c:1275
-msgid "no log for BISECT_WRITE"
-msgstr ""
-
-#: builtin/bisect--helper.c:1290
-msgid "--bisect-reset requires either no argument or a commit"
-msgstr ""
-
-#: builtin/bisect--helper.c:1295
-msgid "--bisect-terms requires 0 or 1 argument"
-msgstr ""
-
-#: builtin/bisect--helper.c:1304
-msgid "--bisect-next requires 0 arguments"
-msgstr ""
-
-#: builtin/bisect--helper.c:1315
-msgid "--bisect-log requires 0 arguments"
-msgstr ""
-
-#: builtin/bisect--helper.c:1320
-msgid "no logfile given"
-msgstr ""
-
-#: builtin/blame.c:32
-msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
-msgstr ""
-
-#: builtin/blame.c:37
-msgid "<rev-opts> are documented in git-rev-list(1)"
-msgstr ""
-
-#: builtin/blame.c:406
-#, c-format
-msgid "expecting a color: %s"
-msgstr ""
-
-#: builtin/blame.c:413
-msgid "must end with a color"
-msgstr ""
-
-#: builtin/blame.c:842
-#, c-format
-msgid "cannot find revision %s to ignore"
-msgstr ""
-
-#: builtin/blame.c:864
-msgid "show blame entries as we find them, incrementally"
-msgstr ""
-
-#: builtin/blame.c:865
-msgid "do not show object names of boundary commits (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:866
-msgid "do not treat root commits as boundaries (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:867
-msgid "show work cost statistics"
-msgstr ""
-
-#: builtin/blame.c:868 builtin/checkout.c:1554 builtin/clone.c:98
-#: builtin/commit-graph.c:75 builtin/commit-graph.c:228 builtin/fetch.c:181
-#: builtin/merge.c:301 builtin/multi-pack-index.c:103
-#: builtin/multi-pack-index.c:154 builtin/multi-pack-index.c:180
-#: builtin/multi-pack-index.c:208 builtin/pull.c:120 builtin/push.c:566
-#: builtin/remote.c:683 builtin/send-pack.c:202
-msgid "force progress reporting"
-msgstr ""
-
-#: builtin/blame.c:869
-msgid "show output score for blame entries"
-msgstr ""
-
-#: builtin/blame.c:870
-msgid "show original filename (Default: auto)"
-msgstr ""
-
-#: builtin/blame.c:871
-msgid "show original linenumber (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:872
-msgid "show in a format designed for machine consumption"
-msgstr ""
-
-#: builtin/blame.c:873
-msgid "show porcelain format with per-line commit information"
-msgstr ""
-
-#: builtin/blame.c:874
-msgid "use the same output mode as git-annotate (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:875
-msgid "show raw timestamp (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:876
-msgid "show long commit SHA1 (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:877
-msgid "suppress author name and timestamp (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:878
-msgid "show author email instead of name (Default: off)"
-msgstr ""
-
-#: builtin/blame.c:879
-msgid "ignore whitespace differences"
-msgstr ""
-
-#: builtin/blame.c:880 builtin/log.c:1857
-msgid "rev"
-msgstr ""
-
-#: builtin/blame.c:880
-msgid "ignore <rev> when blaming"
-msgstr ""
-
-#: builtin/blame.c:881
-msgid "ignore revisions from <file>"
-msgstr ""
-
-#: builtin/blame.c:882
-msgid "color redundant metadata from previous line differently"
-msgstr ""
-
-#: builtin/blame.c:883
-msgid "color lines by age"
-msgstr ""
-
-#: builtin/blame.c:884
-msgid "spend extra cycles to find better match"
-msgstr ""
-
-#: builtin/blame.c:885
-msgid "use revisions from <file> instead of calling git-rev-list"
-msgstr ""
-
-#: builtin/blame.c:886
-msgid "use <file>'s contents as the final image"
-msgstr ""
-
-#: builtin/blame.c:887 builtin/blame.c:888
-msgid "score"
-msgstr ""
-
-#: builtin/blame.c:887
-msgid "find line copies within and across files"
-msgstr ""
-
-#: builtin/blame.c:888
-msgid "find line movements within and across files"
-msgstr ""
-
-#: builtin/blame.c:889
-msgid "range"
-msgstr ""
-
-#: builtin/blame.c:890
-msgid "process only line range <start>,<end> or function :<funcname>"
-msgstr ""
-
-#: builtin/blame.c:949
-msgid "--progress can't be used with --incremental or porcelain formats"
-msgstr ""
-
-#. TRANSLATORS: This string is used to tell us the
-#. maximum display width for a relative timestamp in
-#. "git blame" output.  For C locale, "4 years, 11
-#. months ago", which takes 22 places, is the longest
-#. among various forms of relative timestamps, but
-#. your language may need more or fewer display
-#. columns.
-#.
-#: builtin/blame.c:1000
-msgid "4 years, 11 months ago"
-msgstr ""
-
-#: builtin/blame.c:1116
-#, c-format
-msgid "file %s has only %lu line"
-msgid_plural "file %s has only %lu lines"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/blame.c:1161
-msgid "Blaming lines"
-msgstr ""
-
-#: builtin/branch.c:29
-msgid "git branch [<options>] [-r | -a] [--merged] [--no-merged]"
-msgstr ""
-
-#: builtin/branch.c:30
-msgid ""
-"git branch [<options>] [-f] [--recurse-submodules] <branch-name> [<start-"
-"point>]"
-msgstr ""
-
-#: builtin/branch.c:31
-msgid "git branch [<options>] [-l] [<pattern>...]"
-msgstr ""
-
-#: builtin/branch.c:32
-msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..."
-msgstr ""
-
-#: builtin/branch.c:33
-msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>"
-msgstr ""
-
-#: builtin/branch.c:34
-msgid "git branch [<options>] (-c | -C) [<old-branch>] <new-branch>"
-msgstr ""
-
-#: builtin/branch.c:35
-msgid "git branch [<options>] [-r | -a] [--points-at]"
-msgstr ""
-
-#: builtin/branch.c:36
-msgid "git branch [<options>] [-r | -a] [--format]"
-msgstr ""
-
-#: builtin/branch.c:165
-#, c-format
-msgid ""
-"deleting branch '%s' that has been merged to\n"
-"         '%s', but not yet merged to HEAD."
-msgstr ""
-
-#: builtin/branch.c:169
-#, c-format
-msgid ""
-"not deleting branch '%s' that is not yet merged to\n"
-"         '%s', even though it is merged to HEAD."
-msgstr ""
-
-#: builtin/branch.c:183
-#, c-format
-msgid "Couldn't look up commit object for '%s'"
-msgstr ""
-
-#: builtin/branch.c:187
-#, c-format
-msgid ""
-"The branch '%s' is not fully merged.\n"
-"If you are sure you want to delete it, run 'git branch -D %s'."
-msgstr ""
-
-#: builtin/branch.c:200
-msgid "Update of config-file failed"
-msgstr ""
-
-#: builtin/branch.c:235
-msgid "cannot use -a with -d"
-msgstr ""
-
-#: builtin/branch.c:242
-msgid "Couldn't look up commit object for HEAD"
-msgstr ""
-
-#: builtin/branch.c:259
-#, c-format
-msgid "Cannot delete branch '%s' checked out at '%s'"
-msgstr ""
-
-#: builtin/branch.c:274
-#, c-format
-msgid "remote-tracking branch '%s' not found."
-msgstr ""
-
-#: builtin/branch.c:275
-#, c-format
-msgid "branch '%s' not found."
-msgstr ""
-
-#: builtin/branch.c:306
-#, c-format
-msgid "Deleted remote-tracking branch %s (was %s).\n"
-msgstr ""
-
-#: builtin/branch.c:307
-#, c-format
-msgid "Deleted branch %s (was %s).\n"
-msgstr ""
-
-#: builtin/branch.c:457 builtin/tag.c:64
-msgid "unable to parse format string"
-msgstr ""
-
-#: builtin/branch.c:488
-msgid "could not resolve HEAD"
-msgstr ""
-
-#: builtin/branch.c:494
-#, c-format
-msgid "HEAD (%s) points outside of refs/heads/"
-msgstr ""
-
-#: builtin/branch.c:509
-#, c-format
-msgid "Branch %s is being rebased at %s"
-msgstr ""
-
-#: builtin/branch.c:513
-#, c-format
-msgid "Branch %s is being bisected at %s"
-msgstr ""
-
-#: builtin/branch.c:530
-msgid "cannot copy the current branch while not on any."
-msgstr ""
-
-#: builtin/branch.c:532
-msgid "cannot rename the current branch while not on any."
-msgstr ""
-
-#: builtin/branch.c:543
-#, c-format
-msgid "Invalid branch name: '%s'"
-msgstr ""
-
-#: builtin/branch.c:572
-msgid "Branch rename failed"
-msgstr ""
-
-#: builtin/branch.c:574
-msgid "Branch copy failed"
-msgstr ""
-
-#: builtin/branch.c:578
-#, c-format
-msgid "Created a copy of a misnamed branch '%s'"
-msgstr ""
-
-#: builtin/branch.c:581
-#, c-format
-msgid "Renamed a misnamed branch '%s' away"
-msgstr ""
-
-#: builtin/branch.c:587
-#, c-format
-msgid "Branch renamed to %s, but HEAD is not updated!"
-msgstr ""
-
-#: builtin/branch.c:596
-msgid "Branch is renamed, but update of config-file failed"
-msgstr ""
-
-#: builtin/branch.c:598
-msgid "Branch is copied, but update of config-file failed"
-msgstr ""
-
-#: builtin/branch.c:614
-#, c-format
-msgid ""
-"Please edit the description for the branch\n"
-"  %s\n"
-"Lines starting with '%c' will be stripped.\n"
-msgstr ""
-
-#: builtin/branch.c:651
-msgid "Generic options"
-msgstr ""
-
-#: builtin/branch.c:653
-msgid "show hash and subject, give twice for upstream branch"
-msgstr ""
-
-#: builtin/branch.c:654
-msgid "suppress informational messages"
-msgstr ""
-
-#: builtin/branch.c:656 builtin/checkout.c:1571
-#: builtin/submodule--helper.c:3077
-msgid "set branch tracking configuration"
-msgstr ""
-
-#: builtin/branch.c:659
-msgid "do not use"
-msgstr ""
-
-#: builtin/branch.c:661
-msgid "upstream"
-msgstr ""
-
-#: builtin/branch.c:661
-msgid "change the upstream info"
-msgstr ""
-
-#: builtin/branch.c:662
-msgid "unset the upstream info"
-msgstr ""
-
-#: builtin/branch.c:663
-msgid "use colored output"
-msgstr ""
-
-#: builtin/branch.c:664
-msgid "act on remote-tracking branches"
-msgstr ""
-
-#: builtin/branch.c:666 builtin/branch.c:668
-msgid "print only branches that contain the commit"
-msgstr ""
-
-#: builtin/branch.c:667 builtin/branch.c:669
-msgid "print only branches that don't contain the commit"
-msgstr ""
-
-#: builtin/branch.c:672
-msgid "Specific git-branch actions:"
-msgstr ""
-
-#: builtin/branch.c:673
-msgid "list both remote-tracking and local branches"
-msgstr ""
-
-#: builtin/branch.c:675
-msgid "delete fully merged branch"
-msgstr ""
-
-#: builtin/branch.c:676
-msgid "delete branch (even if not merged)"
-msgstr ""
-
-#: builtin/branch.c:677
-msgid "move/rename a branch and its reflog"
-msgstr ""
-
-#: builtin/branch.c:678
-msgid "move/rename a branch, even if target exists"
-msgstr ""
-
-#: builtin/branch.c:679
-msgid "copy a branch and its reflog"
-msgstr ""
-
-#: builtin/branch.c:680
-msgid "copy a branch, even if target exists"
-msgstr ""
-
-#: builtin/branch.c:681
-msgid "list branch names"
-msgstr ""
-
-#: builtin/branch.c:682
-msgid "show current branch name"
-msgstr ""
-
-#: builtin/branch.c:683 builtin/submodule--helper.c:3075
-msgid "create the branch's reflog"
-msgstr ""
-
-#: builtin/branch.c:685
-msgid "edit the description for the branch"
-msgstr ""
-
-#: builtin/branch.c:686
-msgid "force creation, move/rename, deletion"
-msgstr ""
-
-#: builtin/branch.c:687
-msgid "print only branches that are merged"
-msgstr ""
-
-#: builtin/branch.c:688
-msgid "print only branches that are not merged"
-msgstr ""
-
-#: builtin/branch.c:689
-msgid "list branches in columns"
-msgstr ""
-
-#: builtin/branch.c:691 builtin/for-each-ref.c:45 builtin/notes.c:413
-#: builtin/notes.c:416 builtin/notes.c:579 builtin/notes.c:582
-#: builtin/tag.c:476
-msgid "object"
-msgstr ""
-
-#: builtin/branch.c:692
-msgid "print only branches of the object"
-msgstr ""
-
-#: builtin/branch.c:693 builtin/for-each-ref.c:51 builtin/tag.c:483
-msgid "sorting and filtering are case insensitive"
-msgstr ""
-
-#: builtin/branch.c:694 builtin/ls-files.c:667
-msgid "recurse through submodules"
-msgstr ""
-
-#: builtin/branch.c:695 builtin/for-each-ref.c:41 builtin/ls-tree.c:358
-#: builtin/tag.c:481 builtin/verify-tag.c:38
-msgid "format to use for the output"
-msgstr ""
-
-#: builtin/branch.c:718 builtin/clone.c:684
-msgid "HEAD not found below refs/heads!"
-msgstr ""
-
-#: builtin/branch.c:739
-msgid ""
-"branch with --recurse-submodules can only be used if submodule."
-"propagateBranches is enabled"
-msgstr ""
-
-#: builtin/branch.c:741
-msgid "--recurse-submodules can only be used to create branches"
-msgstr ""
-
-#: builtin/branch.c:770 builtin/branch.c:826 builtin/branch.c:835
-msgid "branch name required"
-msgstr ""
-
-#: builtin/branch.c:802
-msgid "Cannot give description to detached HEAD"
-msgstr ""
-
-#: builtin/branch.c:807
-msgid "cannot edit description of more than one branch"
-msgstr ""
-
-#: builtin/branch.c:814
-#, c-format
-msgid "No commit on branch '%s' yet."
-msgstr ""
-
-#: builtin/branch.c:817
-#, c-format
-msgid "No branch named '%s'."
-msgstr ""
-
-#: builtin/branch.c:832
-msgid "too many branches for a copy operation"
-msgstr ""
-
-#: builtin/branch.c:841
-msgid "too many arguments for a rename operation"
-msgstr ""
-
-#: builtin/branch.c:846
-msgid "too many arguments to set new upstream"
-msgstr ""
-
-#: builtin/branch.c:850
-#, c-format
-msgid ""
-"could not set upstream of HEAD to %s when it does not point to any branch."
-msgstr ""
-
-#: builtin/branch.c:853 builtin/branch.c:873
-#, c-format
-msgid "no such branch '%s'"
-msgstr ""
-
-#: builtin/branch.c:857
-#, c-format
-msgid "branch '%s' does not exist"
-msgstr ""
-
-#: builtin/branch.c:867
-msgid "too many arguments to unset upstream"
-msgstr ""
-
-#: builtin/branch.c:871
-msgid "could not unset upstream of HEAD when it does not point to any branch."
-msgstr ""
-
-#: builtin/branch.c:877
-#, c-format
-msgid "Branch '%s' has no upstream information"
-msgstr ""
-
-#: builtin/branch.c:890
-msgid ""
-"The -a, and -r, options to 'git branch' do not take a branch name.\n"
-"Did you mean to use: -a|-r --list <pattern>?"
-msgstr ""
-
-#: builtin/branch.c:894
-msgid ""
-"the '--set-upstream' option is no longer supported. Please use '--track' or "
-"'--set-upstream-to' instead."
-msgstr ""
-
-#: builtin/bugreport.c:16
-msgid "git version:\n"
-msgstr ""
-
-#: builtin/bugreport.c:22
-#, c-format
-msgid "uname() failed with error '%s' (%d)\n"
-msgstr ""
-
-#: builtin/bugreport.c:32
-msgid "compiler info: "
-msgstr ""
-
-#: builtin/bugreport.c:35
-msgid "libc info: "
-msgstr ""
-
-#: builtin/bugreport.c:49
-msgid "not run from a git repository - no hooks to show\n"
-msgstr ""
-
-#: builtin/bugreport.c:62
-msgid "git bugreport [-o|--output-directory <file>] [-s|--suffix <format>]"
-msgstr ""
-
-#: builtin/bugreport.c:69
-msgid ""
-"Thank you for filling out a Git bug report!\n"
-"Please answer the following questions to help us understand your issue.\n"
-"\n"
-"What did you do before the bug happened? (Steps to reproduce your issue)\n"
-"\n"
-"What did you expect to happen? (Expected behavior)\n"
-"\n"
-"What happened instead? (Actual behavior)\n"
-"\n"
-"What's different between what you expected and what actually happened?\n"
-"\n"
-"Anything else you want to add:\n"
-"\n"
-"Please review the rest of the bug report below.\n"
-"You can delete any lines you don't wish to share.\n"
-msgstr ""
-
-#: builtin/bugreport.c:108
-msgid "specify a destination for the bugreport file"
-msgstr ""
-
-#: builtin/bugreport.c:110
-msgid "specify a strftime format suffix for the filename"
-msgstr ""
-
-#: builtin/bugreport.c:132
-#, c-format
-msgid "could not create leading directories for '%s'"
-msgstr ""
-
-#: builtin/bugreport.c:139
-msgid "System Info"
-msgstr ""
-
-#: builtin/bugreport.c:142
-msgid "Enabled Hooks"
-msgstr ""
-
-#: builtin/bugreport.c:149
-#, c-format
-msgid "unable to write to %s"
-msgstr ""
-
-#: builtin/bugreport.c:159
-#, c-format
-msgid "Created new report at '%s'.\n"
-msgstr ""
-
-#: builtin/bundle.c:15 builtin/bundle.c:23
-msgid "git bundle create [<options>] <file> <git-rev-list args>"
-msgstr ""
-
-#: builtin/bundle.c:16 builtin/bundle.c:28
-msgid "git bundle verify [<options>] <file>"
-msgstr ""
-
-#: builtin/bundle.c:17 builtin/bundle.c:33
-msgid "git bundle list-heads <file> [<refname>...]"
-msgstr ""
-
-#: builtin/bundle.c:18 builtin/bundle.c:38
-msgid "git bundle unbundle <file> [<refname>...]"
-msgstr ""
-
-#: builtin/bundle.c:65 builtin/pack-objects.c:3899
-msgid "do not show progress meter"
-msgstr ""
-
-#: builtin/bundle.c:67 builtin/bundle.c:168 builtin/pack-objects.c:3901
-msgid "show progress meter"
-msgstr ""
-
-#: builtin/bundle.c:69 builtin/pack-objects.c:3903
-msgid "show progress meter during object writing phase"
-msgstr ""
-
-#: builtin/bundle.c:72 builtin/pack-objects.c:3906
-msgid "similar to --all-progress when progress meter is shown"
-msgstr ""
-
-#: builtin/bundle.c:74
-msgid "specify bundle format version"
-msgstr ""
-
-#: builtin/bundle.c:94
-msgid "Need a repository to create a bundle."
-msgstr ""
-
-#: builtin/bundle.c:108
-msgid "do not show bundle details"
-msgstr ""
-
-#: builtin/bundle.c:127
-#, c-format
-msgid "%s is okay\n"
-msgstr ""
-
-#: builtin/bundle.c:183
-msgid "Need a repository to unbundle."
-msgstr ""
-
-#: builtin/bundle.c:186
-msgid "Unbundling objects"
-msgstr ""
-
-#: builtin/bundle.c:220 builtin/remote.c:1758
-#, c-format
-msgid "Unknown subcommand: %s"
-msgstr ""
-
-#: builtin/cat-file.c:568
-msgid "flush is only for --buffer mode"
-msgstr ""
-
-#: builtin/cat-file.c:612
-msgid "empty command in input"
-msgstr ""
-
-#: builtin/cat-file.c:614
-#, c-format
-msgid "whitespace before command: '%s'"
-msgstr ""
-
-#: builtin/cat-file.c:623
-#, c-format
-msgid "%s requires arguments"
-msgstr ""
-
-#: builtin/cat-file.c:628
-#, c-format
-msgid "%s takes no arguments"
-msgstr ""
-
-#: builtin/cat-file.c:636
-#, c-format
-msgid "unknown command: '%s'"
-msgstr ""
-
-#: builtin/cat-file.c:795
-msgid "only one batch option may be specified"
-msgstr ""
-
-#: builtin/cat-file.c:824
-msgid "git cat-file <type> <object>"
-msgstr ""
-
-#: builtin/cat-file.c:825
-msgid "git cat-file (-e | -p) <object>"
-msgstr ""
-
-#: builtin/cat-file.c:826
-msgid "git cat-file (-t | -s) [--allow-unknown-type] <object>"
-msgstr ""
-
-#: builtin/cat-file.c:827
-msgid ""
-"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
-"objects]\n"
-"             [--buffer] [--follow-symlinks] [--unordered]\n"
-"             [--textconv | --filters]"
-msgstr ""
-
-#: builtin/cat-file.c:830
-msgid ""
-"git cat-file (--textconv | --filters)\n"
-"             [<rev>:<path|tree-ish> | --path=<path|tree-ish> <rev>]"
-msgstr ""
-
-#: builtin/cat-file.c:836
-msgid "Check object existence or emit object contents"
-msgstr ""
-
-#: builtin/cat-file.c:838
-msgid "check if <object> exists"
-msgstr ""
-
-#: builtin/cat-file.c:839
-msgid "pretty-print <object> content"
-msgstr ""
-
-#: builtin/cat-file.c:841
-msgid "Emit [broken] object attributes"
-msgstr ""
-
-#: builtin/cat-file.c:842
-msgid "show object type (one of 'blob', 'tree', 'commit', 'tag', ...)"
-msgstr ""
-
-#: builtin/cat-file.c:843
-msgid "show object size"
-msgstr ""
-
-#: builtin/cat-file.c:845
-msgid "allow -s and -t to work with broken/corrupt objects"
-msgstr ""
-
-#: builtin/cat-file.c:847
-msgid "Batch objects requested on stdin (or --batch-all-objects)"
-msgstr ""
-
-#: builtin/cat-file.c:849
-msgid "show full <object> or <rev> contents"
-msgstr ""
-
-#: builtin/cat-file.c:853
-msgid "like --batch, but don't emit <contents>"
-msgstr ""
-
-#: builtin/cat-file.c:857
-msgid "read commands from stdin"
-msgstr ""
-
-#: builtin/cat-file.c:861
-msgid "with --batch[-check]: ignores stdin, batches all known objects"
-msgstr ""
-
-#: builtin/cat-file.c:863
-msgid "Change or optimize batch output"
-msgstr ""
-
-#: builtin/cat-file.c:864
-msgid "buffer --batch output"
-msgstr ""
-
-#: builtin/cat-file.c:866
-msgid "follow in-tree symlinks"
-msgstr ""
-
-#: builtin/cat-file.c:868
-msgid "do not order objects before emitting them"
-msgstr ""
-
-#: builtin/cat-file.c:870
-msgid ""
-"Emit object (blob or tree) with conversion or filter (stand-alone, or with "
-"batch)"
-msgstr ""
-
-#: builtin/cat-file.c:872
-msgid "run textconv on object's content"
-msgstr ""
-
-#: builtin/cat-file.c:874
-msgid "run filters on object's content"
-msgstr ""
-
-#: builtin/cat-file.c:875
-msgid "blob|tree"
-msgstr ""
-
-#: builtin/cat-file.c:876
-msgid "use a <path> for (--textconv | --filters); Not with 'batch'"
-msgstr ""
-
-#: builtin/cat-file.c:894
-#, c-format
-msgid "'%s=<%s>' needs '%s' or '%s'"
-msgstr ""
-
-#: builtin/cat-file.c:896
-msgid "path|tree-ish"
-msgstr ""
-
-#: builtin/cat-file.c:903 builtin/cat-file.c:906 builtin/cat-file.c:909
-#, c-format
-msgid "'%s' requires a batch mode"
-msgstr ""
-
-#: builtin/cat-file.c:921
-#, c-format
-msgid "'-%c' is incompatible with batch mode"
-msgstr ""
-
-#: builtin/cat-file.c:924
-msgid "batch modes take no arguments"
-msgstr ""
-
-#: builtin/cat-file.c:932 builtin/cat-file.c:935
-#, c-format
-msgid "<rev> required with '%s'"
-msgstr ""
-
-#: builtin/cat-file.c:938
-#, c-format
-msgid "<object> required with '-%c'"
-msgstr ""
-
-#: builtin/cat-file.c:943 builtin/notes.c:374 builtin/notes.c:429
-#: builtin/notes.c:507 builtin/notes.c:519 builtin/notes.c:596
-#: builtin/notes.c:663 builtin/notes.c:813 builtin/notes.c:965
-#: builtin/notes.c:987 builtin/prune-packed.c:25 builtin/receive-pack.c:2489
-#: builtin/tag.c:592
-msgid "too many arguments"
-msgstr ""
-
-#: builtin/cat-file.c:947
-#, c-format
-msgid "only two arguments allowed in <type> <object> mode, not %d"
-msgstr ""
-
-#: builtin/check-attr.c:13
-msgid "git check-attr [-a | --all | <attr>...] [--] <pathname>..."
-msgstr ""
-
-#: builtin/check-attr.c:14
-msgid "git check-attr --stdin [-z] [-a | --all | <attr>...]"
-msgstr ""
-
-#: builtin/check-attr.c:21
-msgid "report all attributes set on file"
-msgstr ""
-
-#: builtin/check-attr.c:22
-msgid "use .gitattributes only from the index"
-msgstr ""
-
-#: builtin/check-attr.c:23 builtin/check-ignore.c:25 builtin/hash-object.c:101
-msgid "read file names from stdin"
-msgstr ""
-
-#: builtin/check-attr.c:25 builtin/check-ignore.c:27
-msgid "terminate input and output records by a NUL character"
-msgstr ""
-
-#: builtin/check-ignore.c:21 builtin/checkout.c:1550 builtin/gc.c:550
-#: builtin/worktree.c:565
-msgid "suppress progress reporting"
-msgstr ""
-
-#: builtin/check-ignore.c:29
-msgid "show non-matching input paths"
-msgstr ""
-
-#: builtin/check-ignore.c:31
-msgid "ignore index when checking"
-msgstr ""
-
-#: builtin/check-ignore.c:165
-msgid "cannot specify pathnames with --stdin"
-msgstr ""
-
-#: builtin/check-ignore.c:168
-msgid "-z only makes sense with --stdin"
-msgstr ""
-
-#: builtin/check-ignore.c:170
-msgid "no path specified"
-msgstr ""
-
-#: builtin/check-ignore.c:174
-msgid "--quiet is only valid with a single pathname"
-msgstr ""
-
-#: builtin/check-ignore.c:176
-msgid "cannot have both --quiet and --verbose"
-msgstr ""
-
-#: builtin/check-ignore.c:179
-msgid "--non-matching is only valid with --verbose"
-msgstr ""
-
-#: builtin/check-mailmap.c:9
-msgid "git check-mailmap [<options>] <contact>..."
-msgstr ""
-
-#: builtin/check-mailmap.c:14
-msgid "also read contacts from stdin"
-msgstr ""
-
-#: builtin/check-mailmap.c:25
-#, c-format
-msgid "unable to parse contact: %s"
-msgstr ""
-
-#: builtin/check-mailmap.c:48
-msgid "no contacts specified"
-msgstr ""
-
-#: builtin/checkout--worker.c:110
-msgid "git checkout--worker [<options>]"
-msgstr ""
-
-#: builtin/checkout--worker.c:118 builtin/checkout-index.c:235
-#: builtin/column.c:31 builtin/column.c:32 builtin/submodule--helper.c:1878
-#: builtin/submodule--helper.c:1881 builtin/submodule--helper.c:1889
-#: builtin/submodule--helper.c:2716 builtin/worktree.c:563
-#: builtin/worktree.c:808
-msgid "string"
-msgstr ""
-
-#: builtin/checkout--worker.c:119 builtin/checkout-index.c:236
-msgid "when creating files, prepend <string>"
-msgstr ""
-
-#: builtin/checkout-index.c:184
-msgid "git checkout-index [<options>] [--] [<file>...]"
-msgstr ""
-
-#: builtin/checkout-index.c:201
-msgid "stage should be between 1 and 3 or all"
-msgstr ""
-
-#: builtin/checkout-index.c:219
-msgid "check out all files in the index"
-msgstr ""
-
-#: builtin/checkout-index.c:221
-msgid "do not skip files with skip-worktree set"
-msgstr ""
-
-#: builtin/checkout-index.c:222
-msgid "force overwrite of existing files"
-msgstr ""
-
-#: builtin/checkout-index.c:224
-msgid "no warning for existing files and files not in index"
-msgstr ""
-
-#: builtin/checkout-index.c:226
-msgid "don't checkout new files"
-msgstr ""
-
-#: builtin/checkout-index.c:228
-msgid "update stat information in the index file"
-msgstr ""
-
-#: builtin/checkout-index.c:232
-msgid "read list of paths from the standard input"
-msgstr ""
-
-#: builtin/checkout-index.c:234
-msgid "write the content to temporary files"
-msgstr ""
-
-#: builtin/checkout-index.c:238
-msgid "copy out the files from named stage"
-msgstr ""
-
-#: builtin/checkout.c:34
-msgid "git checkout [<options>] <branch>"
-msgstr ""
-
-#: builtin/checkout.c:35
-msgid "git checkout [<options>] [<branch>] -- <file>..."
-msgstr ""
-
-#: builtin/checkout.c:40
-msgid "git switch [<options>] [<branch>]"
-msgstr ""
-
-#: builtin/checkout.c:45
-msgid "git restore [<options>] [--source=<branch>] <file>..."
-msgstr ""
-
-#: builtin/checkout.c:199 builtin/checkout.c:238
-#, c-format
-msgid "path '%s' does not have our version"
-msgstr ""
-
-#: builtin/checkout.c:201 builtin/checkout.c:240
-#, c-format
-msgid "path '%s' does not have their version"
-msgstr ""
-
-#: builtin/checkout.c:217
-#, c-format
-msgid "path '%s' does not have all necessary versions"
-msgstr ""
-
-#: builtin/checkout.c:271
-#, c-format
-msgid "path '%s' does not have necessary versions"
-msgstr ""
-
-#: builtin/checkout.c:291
-#, c-format
-msgid "path '%s': cannot merge"
-msgstr ""
-
-#: builtin/checkout.c:307
-#, c-format
-msgid "Unable to add merge result for '%s'"
-msgstr ""
-
-#: builtin/checkout.c:424
-#, c-format
-msgid "Recreated %d merge conflict"
-msgid_plural "Recreated %d merge conflicts"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:429
-#, c-format
-msgid "Updated %d path from %s"
-msgid_plural "Updated %d paths from %s"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:436
-#, c-format
-msgid "Updated %d path from the index"
-msgid_plural "Updated %d paths from the index"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:459 builtin/checkout.c:462 builtin/checkout.c:465
-#: builtin/checkout.c:469
-#, c-format
-msgid "'%s' cannot be used with updating paths"
-msgstr ""
-
-#: builtin/checkout.c:479
-#, c-format
-msgid "Cannot update paths and switch to branch '%s' at the same time."
-msgstr ""
-
-#: builtin/checkout.c:483
-#, c-format
-msgid "neither '%s' or '%s' is specified"
-msgstr ""
-
-#: builtin/checkout.c:487
-#, c-format
-msgid "'%s' must be used when '%s' is not specified"
-msgstr ""
-
-#: builtin/checkout.c:492 builtin/checkout.c:497
-#, c-format
-msgid "'%s' or '%s' cannot be used with %s"
-msgstr ""
-
-#: builtin/checkout.c:571 builtin/checkout.c:578
-#, c-format
-msgid "path '%s' is unmerged"
-msgstr ""
-
-#: builtin/checkout.c:753
-msgid "you need to resolve your current index first"
-msgstr ""
-
-#: builtin/checkout.c:809
-#, c-format
-msgid ""
-"cannot continue with staged changes in the following files:\n"
-"%s"
-msgstr ""
-
-#: builtin/checkout.c:902
-#, c-format
-msgid "Can not do reflog for '%s': %s\n"
-msgstr ""
-
-#: builtin/checkout.c:947
-msgid "HEAD is now at"
-msgstr ""
-
-#: builtin/checkout.c:951 builtin/clone.c:615 t/helper/test-fast-rebase.c:203
-msgid "unable to update HEAD"
-msgstr ""
-
-#: builtin/checkout.c:955
-#, c-format
-msgid "Reset branch '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:958
-#, c-format
-msgid "Already on '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:962
-#, c-format
-msgid "Switched to and reset branch '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:964 builtin/checkout.c:1398
-#, c-format
-msgid "Switched to a new branch '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:966
-#, c-format
-msgid "Switched to branch '%s'\n"
-msgstr ""
-
-#: builtin/checkout.c:1017
-#, c-format
-msgid " ... and %d more.\n"
-msgstr ""
-
-#: builtin/checkout.c:1023
-#, c-format
-msgid ""
-"Warning: you are leaving %d commit behind, not connected to\n"
-"any of your branches:\n"
-"\n"
-"%s\n"
-msgid_plural ""
-"Warning: you are leaving %d commits behind, not connected to\n"
-"any of your branches:\n"
-"\n"
-"%s\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:1042
-#, c-format
-msgid ""
-"If you want to keep it by creating a new branch, this may be a good time\n"
-"to do so with:\n"
-"\n"
-" git branch <new-branch-name> %s\n"
-"\n"
-msgid_plural ""
-"If you want to keep them by creating a new branch, this may be a good time\n"
-"to do so with:\n"
-"\n"
-" git branch <new-branch-name> %s\n"
-"\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/checkout.c:1077
-msgid "internal error in revision walk"
-msgstr ""
-
-#: builtin/checkout.c:1081
-msgid "Previous HEAD position was"
-msgstr ""
-
-#: builtin/checkout.c:1124 builtin/checkout.c:1393
-msgid "You are on a branch yet to be born"
-msgstr ""
-
-#: builtin/checkout.c:1206
-#, c-format
-msgid ""
-"'%s' could be both a local file and a tracking branch.\n"
-"Please use -- (and optionally --no-guess) to disambiguate"
-msgstr ""
-
-#: builtin/checkout.c:1213
-msgid ""
-"If you meant to check out a remote tracking branch on, e.g. 'origin',\n"
-"you can do so by fully qualifying the name with the --track option:\n"
-"\n"
-"    git checkout --track origin/<name>\n"
-"\n"
-"If you'd like to always have checkouts of an ambiguous <name> prefer\n"
-"one remote, e.g. the 'origin' remote, consider setting\n"
-"checkout.defaultRemote=origin in your config."
-msgstr ""
-
-#: builtin/checkout.c:1223
-#, c-format
-msgid "'%s' matched multiple (%d) remote tracking branches"
-msgstr ""
-
-#: builtin/checkout.c:1289
-msgid "only one reference expected"
-msgstr ""
-
-#: builtin/checkout.c:1306
-#, c-format
-msgid "only one reference expected, %d given."
-msgstr ""
-
-#: builtin/checkout.c:1352 builtin/worktree.c:338 builtin/worktree.c:508
-#, c-format
-msgid "invalid reference: %s"
-msgstr ""
-
-#: builtin/checkout.c:1365 builtin/checkout.c:1744
-#, c-format
-msgid "reference is not a tree: %s"
-msgstr ""
-
-#: builtin/checkout.c:1413
-#, c-format
-msgid "a branch is expected, got tag '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1415
-#, c-format
-msgid "a branch is expected, got remote branch '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1417 builtin/checkout.c:1426
-#, c-format
-msgid "a branch is expected, got '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1420
-#, c-format
-msgid "a branch is expected, got commit '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1429
-msgid ""
-"If you want to detach HEAD at the commit, try again with the --detach option."
-msgstr ""
-
-#: builtin/checkout.c:1442
-msgid ""
-"cannot switch branch while merging\n"
-"Consider \"git merge --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1446
-msgid ""
-"cannot switch branch in the middle of an am session\n"
-"Consider \"git am --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1450
-msgid ""
-"cannot switch branch while rebasing\n"
-"Consider \"git rebase --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1454
-msgid ""
-"cannot switch branch while cherry-picking\n"
-"Consider \"git cherry-pick --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1458
-msgid ""
-"cannot switch branch while reverting\n"
-"Consider \"git revert --quit\" or \"git worktree add\"."
-msgstr ""
-
-#: builtin/checkout.c:1462
-msgid "you are switching branch while bisecting"
-msgstr ""
-
-#: builtin/checkout.c:1469
-msgid "paths cannot be used with switching branches"
-msgstr ""
-
-#: builtin/checkout.c:1472 builtin/checkout.c:1476 builtin/checkout.c:1480
-#, c-format
-msgid "'%s' cannot be used with switching branches"
-msgstr ""
-
-#: builtin/checkout.c:1484 builtin/checkout.c:1487 builtin/checkout.c:1490
-#: builtin/checkout.c:1495 builtin/checkout.c:1500
-#, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1497
-#, c-format
-msgid "'%s' cannot take <start-point>"
-msgstr ""
-
-#: builtin/checkout.c:1505
-#, c-format
-msgid "Cannot switch branch to a non-commit '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1512
-msgid "missing branch or commit argument"
-msgstr ""
-
-#: builtin/checkout.c:1555
-msgid "perform a 3-way merge with the new branch"
-msgstr ""
-
-#: builtin/checkout.c:1556 builtin/log.c:1844 parse-options.h:354
-msgid "style"
-msgstr ""
-
-#: builtin/checkout.c:1557
-msgid "conflict style (merge, diff3, or zdiff3)"
-msgstr ""
-
-#: builtin/checkout.c:1569 builtin/worktree.c:560
-msgid "detach HEAD at named commit"
-msgstr ""
-
-#: builtin/checkout.c:1574
-msgid "force checkout (throw away local modifications)"
-msgstr ""
-
-#: builtin/checkout.c:1576
-msgid "new-branch"
-msgstr ""
-
-#: builtin/checkout.c:1576
-msgid "new unparented branch"
-msgstr ""
-
-#: builtin/checkout.c:1578 builtin/merge.c:305
-msgid "update ignored files (default)"
-msgstr ""
-
-#: builtin/checkout.c:1581
-msgid "do not check if another worktree is holding the given ref"
-msgstr ""
-
-#: builtin/checkout.c:1594
-msgid "checkout our version for unmerged files"
-msgstr ""
-
-#: builtin/checkout.c:1597
-msgid "checkout their version for unmerged files"
-msgstr ""
-
-#: builtin/checkout.c:1601
-msgid "do not limit pathspecs to sparse entries only"
-msgstr ""
-
-#: builtin/checkout.c:1659
-#, c-format
-msgid "options '-%c', '-%c', and '%s' cannot be used together"
-msgstr ""
-
-#: builtin/checkout.c:1700
-msgid "--track needs a branch name"
-msgstr ""
-
-#: builtin/checkout.c:1705
-#, c-format
-msgid "missing branch name; try -%c"
-msgstr ""
-
-#: builtin/checkout.c:1737
-#, c-format
-msgid "could not resolve %s"
-msgstr ""
-
-#: builtin/checkout.c:1753
-msgid "invalid path specification"
-msgstr ""
-
-#: builtin/checkout.c:1760
-#, c-format
-msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
-msgstr ""
-
-#: builtin/checkout.c:1764
-#, c-format
-msgid "git checkout: --detach does not take a path argument '%s'"
-msgstr ""
-
-#: builtin/checkout.c:1789
-msgid ""
-"git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
-"checking out of the index."
-msgstr ""
-
-#: builtin/checkout.c:1794
-msgid "you must specify path(s) to restore"
-msgstr ""
-
-#: builtin/checkout.c:1819 builtin/checkout.c:1821 builtin/checkout.c:1873
-#: builtin/checkout.c:1875 builtin/clone.c:130 builtin/remote.c:171
-#: builtin/remote.c:173 builtin/submodule--helper.c:3038
-#: builtin/submodule--helper.c:3371 builtin/worktree.c:556
-#: builtin/worktree.c:558
-msgid "branch"
-msgstr ""
-
-#: builtin/checkout.c:1820
-msgid "create and checkout a new branch"
-msgstr ""
-
-#: builtin/checkout.c:1822
-msgid "create/reset and checkout a branch"
-msgstr ""
-
-#: builtin/checkout.c:1823
-msgid "create reflog for new branch"
-msgstr ""
-
-#: builtin/checkout.c:1825
-msgid "second guess 'git checkout <no-such-branch>' (default)"
-msgstr ""
-
-#: builtin/checkout.c:1826
-msgid "use overlay mode (default)"
-msgstr ""
-
-#: builtin/checkout.c:1874
-msgid "create and switch to a new branch"
-msgstr ""
-
-#: builtin/checkout.c:1876
-msgid "create/reset and switch to a branch"
-msgstr ""
-
-#: builtin/checkout.c:1878
-msgid "second guess 'git switch <no-such-branch>'"
-msgstr ""
-
-#: builtin/checkout.c:1880
-msgid "throw away local modifications"
-msgstr ""
-
-#: builtin/checkout.c:1916
-msgid "which tree-ish to checkout from"
-msgstr ""
-
-#: builtin/checkout.c:1918
-msgid "restore the index"
-msgstr ""
-
-#: builtin/checkout.c:1920
-msgid "restore the working tree (default)"
-msgstr ""
-
-#: builtin/checkout.c:1922
-msgid "ignore unmerged entries"
-msgstr ""
-
-#: builtin/checkout.c:1923
-msgid "use overlay mode"
-msgstr ""
-
-#: builtin/clean.c:29
-msgid ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
-msgstr ""
-
-#: builtin/clean.c:33
-#, c-format
-msgid "Removing %s\n"
-msgstr ""
-
-#: builtin/clean.c:34
-#, c-format
-msgid "Would remove %s\n"
-msgstr ""
-
-#: builtin/clean.c:35
-#, c-format
-msgid "Skipping repository %s\n"
-msgstr ""
-
-#: builtin/clean.c:36
-#, c-format
-msgid "Would skip repository %s\n"
-msgstr ""
-
-#: builtin/clean.c:38
-#, c-format
-msgid "could not lstat %s\n"
-msgstr ""
-
-#: builtin/clean.c:39
-msgid "Refusing to remove current working directory\n"
-msgstr ""
-
-#: builtin/clean.c:40
-msgid "Would refuse to remove current working directory\n"
-msgstr ""
-
-#: builtin/clean.c:326 git-add--interactive.perl:593
-#, c-format
-msgid ""
-"Prompt help:\n"
-"1          - select a numbered item\n"
-"foo        - select item based on unique prefix\n"
-"           - (empty) select nothing\n"
-msgstr ""
-
-#: builtin/clean.c:330 git-add--interactive.perl:602
-#, c-format
-msgid ""
-"Prompt help:\n"
-"1          - select a single item\n"
-"3-5        - select a range of items\n"
-"2-3,6-9    - select multiple ranges\n"
-"foo        - select item based on unique prefix\n"
-"-...       - unselect specified items\n"
-"*          - choose all items\n"
-"           - (empty) finish selecting\n"
-msgstr ""
-
-#: builtin/clean.c:545 git-add--interactive.perl:568
-#: git-add--interactive.perl:573
-#, c-format, perl-format
-msgid "Huh (%s)?\n"
-msgstr ""
-
-#: builtin/clean.c:685
-#, c-format
-msgid "Input ignore patterns>> "
-msgstr ""
-
-#: builtin/clean.c:719
-#, c-format
-msgid "WARNING: Cannot find items matched by: %s"
-msgstr ""
-
-#: builtin/clean.c:740
-msgid "Select items to delete"
-msgstr ""
-
-#. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:781
-#, c-format
-msgid "Remove %s [y/N]? "
-msgstr ""
-
-#: builtin/clean.c:812
-msgid ""
-"clean               - start cleaning\n"
-"filter by pattern   - exclude items from deletion\n"
-"select by numbers   - select items to be deleted by numbers\n"
-"ask each            - confirm each deletion (like \"rm -i\")\n"
-"quit                - stop cleaning\n"
-"help                - this screen\n"
-"?                   - help for prompt selection"
-msgstr ""
-
-#: builtin/clean.c:848
-msgid "Would remove the following item:"
-msgid_plural "Would remove the following items:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/clean.c:864
-msgid "No more files to clean, exiting."
-msgstr ""
-
-#: builtin/clean.c:926
-msgid "do not print names of files removed"
-msgstr ""
-
-#: builtin/clean.c:928
-msgid "force"
-msgstr ""
-
-#: builtin/clean.c:929
-msgid "interactive cleaning"
-msgstr ""
-
-#: builtin/clean.c:931
-msgid "remove whole directories"
-msgstr ""
-
-#: builtin/clean.c:932 builtin/describe.c:565 builtin/describe.c:567
-#: builtin/grep.c:938 builtin/log.c:185 builtin/log.c:187
-#: builtin/ls-files.c:651 builtin/name-rev.c:585 builtin/name-rev.c:587
-#: builtin/show-ref.c:179
-msgid "pattern"
-msgstr ""
-
-#: builtin/clean.c:933
-msgid "add <pattern> to ignore rules"
-msgstr ""
-
-#: builtin/clean.c:934
-msgid "remove ignored files, too"
-msgstr ""
-
-#: builtin/clean.c:936
-msgid "remove only ignored files"
-msgstr ""
-
-#: builtin/clean.c:951
-msgid ""
-"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
-"clean"
-msgstr ""
-
-#: builtin/clean.c:954
-msgid ""
-"clean.requireForce defaults to true and neither -i, -n, nor -f given; "
-"refusing to clean"
-msgstr ""
-
-#: builtin/clean.c:966
-msgid "-x and -X cannot be used together"
-msgstr ""
-
-#: builtin/clone.c:47
-msgid "git clone [<options>] [--] <repo> [<dir>]"
-msgstr ""
-
-#: builtin/clone.c:100
-msgid "don't clone shallow repository"
-msgstr ""
-
-#: builtin/clone.c:102
-msgid "don't create a checkout"
-msgstr ""
-
-#: builtin/clone.c:103 builtin/clone.c:105 builtin/init-db.c:542
-msgid "create a bare repository"
-msgstr ""
-
-#: builtin/clone.c:107
-msgid "create a mirror repository (implies bare)"
-msgstr ""
-
-#: builtin/clone.c:109
-msgid "to clone from a local repository"
-msgstr ""
-
-#: builtin/clone.c:111
-msgid "don't use local hardlinks, always copy"
-msgstr ""
-
-#: builtin/clone.c:113
-msgid "setup as shared repository"
-msgstr ""
-
-#: builtin/clone.c:115
-msgid "pathspec"
-msgstr ""
-
-#: builtin/clone.c:115
-msgid "initialize submodules in the clone"
-msgstr ""
-
-#: builtin/clone.c:119
-msgid "number of submodules cloned in parallel"
-msgstr ""
-
-#: builtin/clone.c:120 builtin/init-db.c:539
-msgid "template-directory"
-msgstr ""
-
-#: builtin/clone.c:121 builtin/init-db.c:540
-msgid "directory from which templates will be used"
-msgstr ""
-
-#: builtin/clone.c:123 builtin/clone.c:125 builtin/submodule--helper.c:1885
-#: builtin/submodule--helper.c:2719 builtin/submodule--helper.c:3378
-msgid "reference repository"
-msgstr ""
-
-#: builtin/clone.c:127 builtin/submodule--helper.c:1887
-#: builtin/submodule--helper.c:2721
-msgid "use --reference only while cloning"
-msgstr ""
-
-#: builtin/clone.c:128 builtin/column.c:27 builtin/fmt-merge-msg.c:27
-#: builtin/init-db.c:550 builtin/merge-file.c:48 builtin/merge.c:290
-#: builtin/pack-objects.c:3967 builtin/repack.c:669
-#: builtin/submodule--helper.c:3380 t/helper/test-simple-ipc.c:595
-#: t/helper/test-simple-ipc.c:597
-msgid "name"
-msgstr ""
-
-#: builtin/clone.c:129
-msgid "use <name> instead of 'origin' to track upstream"
-msgstr ""
-
-#: builtin/clone.c:131
-msgid "checkout <branch> instead of the remote's HEAD"
-msgstr ""
-
-#: builtin/clone.c:133
-msgid "path to git-upload-pack on the remote"
-msgstr ""
-
-#: builtin/clone.c:134 builtin/fetch.c:182 builtin/grep.c:877
-#: builtin/pull.c:212
-msgid "depth"
-msgstr ""
-
-#: builtin/clone.c:135
-msgid "create a shallow clone of that depth"
-msgstr ""
-
-#: builtin/clone.c:136 builtin/fetch.c:184 builtin/pack-objects.c:3956
-#: builtin/pull.c:215
-msgid "time"
-msgstr ""
-
-#: builtin/clone.c:137
-msgid "create a shallow clone since a specific time"
-msgstr ""
-
-#: builtin/clone.c:138 builtin/fetch.c:186 builtin/fetch.c:212
-#: builtin/pull.c:218 builtin/pull.c:243 builtin/rebase.c:1050
-msgid "revision"
-msgstr ""
-
-#: builtin/clone.c:139 builtin/fetch.c:187 builtin/pull.c:219
-msgid "deepen history of shallow clone, excluding rev"
-msgstr ""
-
-#: builtin/clone.c:141 builtin/submodule--helper.c:1897
-#: builtin/submodule--helper.c:2735
-msgid "clone only one branch, HEAD or --branch"
-msgstr ""
-
-#: builtin/clone.c:143
-msgid "don't clone any tags, and make later fetches not to follow them"
-msgstr ""
-
-#: builtin/clone.c:145
-msgid "any cloned submodules will be shallow"
-msgstr ""
-
-#: builtin/clone.c:146 builtin/init-db.c:548
-msgid "gitdir"
-msgstr ""
-
-#: builtin/clone.c:147 builtin/init-db.c:549
-msgid "separate git dir from working tree"
-msgstr ""
-
-#: builtin/clone.c:148
-msgid "key=value"
-msgstr ""
-
-#: builtin/clone.c:149
-msgid "set config inside the new repository"
-msgstr ""
-
-#: builtin/clone.c:151 builtin/fetch.c:207 builtin/ls-remote.c:77
-#: builtin/pull.c:234 builtin/push.c:575 builtin/send-pack.c:200
-msgid "server-specific"
-msgstr ""
-
-#: builtin/clone.c:151 builtin/fetch.c:207 builtin/ls-remote.c:77
-#: builtin/pull.c:235 builtin/push.c:575 builtin/send-pack.c:201
-msgid "option to transmit"
-msgstr ""
-
-#: builtin/clone.c:152 builtin/fetch.c:208 builtin/pull.c:238
-#: builtin/push.c:576
-msgid "use IPv4 addresses only"
-msgstr ""
-
-#: builtin/clone.c:154 builtin/fetch.c:210 builtin/pull.c:241
-#: builtin/push.c:578
-msgid "use IPv6 addresses only"
-msgstr ""
-
-#: builtin/clone.c:158
-msgid "apply partial clone filters to submodules"
-msgstr ""
-
-#: builtin/clone.c:160
-msgid "any cloned submodules will use their remote-tracking branch"
-msgstr ""
-
-#: builtin/clone.c:162
-msgid "initialize sparse-checkout file to include only files at root"
-msgstr ""
-
-#: builtin/clone.c:237
-#, c-format
-msgid "info: Could not add alternate for '%s': %s\n"
-msgstr ""
-
-#: builtin/clone.c:310
-#, c-format
-msgid "%s exists and is not a directory"
-msgstr ""
-
-#: builtin/clone.c:328
-#, c-format
-msgid "failed to start iterator over '%s'"
-msgstr ""
-
-#: builtin/clone.c:359
-#, c-format
-msgid "failed to create link '%s'"
-msgstr ""
-
-#: builtin/clone.c:363
-#, c-format
-msgid "failed to copy file to '%s'"
-msgstr ""
-
-#: builtin/clone.c:368
-#, c-format
-msgid "failed to iterate over '%s'"
-msgstr ""
-
-#: builtin/clone.c:395
-#, c-format
-msgid "done.\n"
-msgstr ""
-
-#: builtin/clone.c:409
-msgid ""
-"Clone succeeded, but checkout failed.\n"
-"You can inspect what was checked out with 'git status'\n"
-"and retry with 'git restore --source=HEAD :/'\n"
-msgstr ""
-
-#: builtin/clone.c:486
-#, c-format
-msgid "Could not find remote branch %s to clone."
-msgstr ""
-
-#: builtin/clone.c:603
-#, c-format
-msgid "unable to update %s"
-msgstr ""
-
-#: builtin/clone.c:651
-msgid "failed to initialize sparse-checkout"
-msgstr ""
-
-#: builtin/clone.c:674
-msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
-msgstr ""
-
-#: builtin/clone.c:709
-msgid "unable to checkout working tree"
-msgstr ""
-
-#: builtin/clone.c:793
-msgid "unable to write parameters to config file"
-msgstr ""
-
-#: builtin/clone.c:856
-msgid "cannot repack to clean up"
-msgstr ""
-
-#: builtin/clone.c:858
-msgid "cannot unlink temporary alternates file"
-msgstr ""
-
-#: builtin/clone.c:901
-msgid "Too many arguments."
-msgstr ""
-
-#: builtin/clone.c:905 contrib/scalar/scalar.c:413
-msgid "You must specify a repository to clone."
-msgstr ""
-
-#: builtin/clone.c:918
-#, c-format
-msgid "options '%s' and '%s %s' cannot be used together"
-msgstr ""
-
-#: builtin/clone.c:935
-#, c-format
-msgid "repository '%s' does not exist"
-msgstr ""
-
-#: builtin/clone.c:939 builtin/fetch.c:2176
-#, c-format
-msgid "depth %s is not a positive number"
-msgstr ""
-
-#: builtin/clone.c:949
-#, c-format
-msgid "destination path '%s' already exists and is not an empty directory."
-msgstr ""
-
-#: builtin/clone.c:955
-#, c-format
-msgid "repository path '%s' already exists and is not an empty directory."
-msgstr ""
-
-#: builtin/clone.c:969
-#, c-format
-msgid "working tree '%s' already exists."
-msgstr ""
-
-#: builtin/clone.c:984 builtin/clone.c:1005 builtin/difftool.c:256
-#: builtin/log.c:2037 builtin/worktree.c:350 builtin/worktree.c:382
-#, c-format
-msgid "could not create leading directories of '%s'"
-msgstr ""
-
-#: builtin/clone.c:989
-#, c-format
-msgid "could not create work tree dir '%s'"
-msgstr ""
-
-#: builtin/clone.c:1009
-#, c-format
-msgid "Cloning into bare repository '%s'...\n"
-msgstr ""
-
-#: builtin/clone.c:1011
-#, c-format
-msgid "Cloning into '%s'...\n"
-msgstr ""
-
-#: builtin/clone.c:1040
-msgid ""
-"clone --recursive is not compatible with both --reference and --reference-if-"
-"able"
-msgstr ""
-
-#: builtin/clone.c:1116 builtin/remote.c:201 builtin/remote.c:721
-#, c-format
-msgid "'%s' is not a valid remote name"
-msgstr ""
-
-#: builtin/clone.c:1157
-msgid "--depth is ignored in local clones; use file:// instead."
-msgstr ""
-
-#: builtin/clone.c:1159
-msgid "--shallow-since is ignored in local clones; use file:// instead."
-msgstr ""
-
-#: builtin/clone.c:1161
-msgid "--shallow-exclude is ignored in local clones; use file:// instead."
-msgstr ""
-
-#: builtin/clone.c:1163
-msgid "--filter is ignored in local clones; use file:// instead."
-msgstr ""
-
-#: builtin/clone.c:1168
-msgid "source repository is shallow, ignoring --local"
-msgstr ""
-
-#: builtin/clone.c:1173
-msgid "--local is ignored"
-msgstr ""
-
-#: builtin/clone.c:1185
-msgid "cannot clone from filtered bundle"
-msgstr ""
-
-#: builtin/clone.c:1265 builtin/clone.c:1324
-msgid "remote transport reported error"
-msgstr ""
-
-#: builtin/clone.c:1277 builtin/clone.c:1289
-#, c-format
-msgid "Remote branch %s not found in upstream %s"
-msgstr ""
-
-#: builtin/clone.c:1292
-msgid "You appear to have cloned an empty repository."
-msgstr ""
-
-#: builtin/column.c:10
-msgid "git column [<options>]"
-msgstr ""
-
-#: builtin/column.c:27
-msgid "lookup config vars"
-msgstr ""
-
-#: builtin/column.c:28 builtin/column.c:29
-msgid "layout to use"
-msgstr ""
-
-#: builtin/column.c:30
-msgid "maximum width"
-msgstr ""
-
-#: builtin/column.c:31
-msgid "padding space on left border"
-msgstr ""
-
-#: builtin/column.c:32
-msgid "padding space on right border"
-msgstr ""
-
-#: builtin/column.c:33
-msgid "padding space between columns"
-msgstr ""
-
-#: builtin/column.c:51
-msgid "--command must be the first argument"
-msgstr ""
-
-#: builtin/commit-graph.c:13
-msgid ""
-"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
-msgstr ""
-
-#: builtin/commit-graph.c:16
-msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--"
-"split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split options>"
-msgstr ""
-
-#: builtin/commit-graph.c:51 builtin/fetch.c:196 builtin/log.c:1813
-msgid "dir"
-msgstr ""
-
-#: builtin/commit-graph.c:52
-msgid "the object directory to store the graph"
-msgstr ""
-
-#: builtin/commit-graph.c:73
-msgid "if the commit-graph is split, only verify the tip file"
-msgstr ""
-
-#: builtin/commit-graph.c:100
-#, c-format
-msgid "Could not open commit-graph '%s'"
-msgstr ""
-
-#: builtin/commit-graph.c:137
-#, c-format
-msgid "unrecognized --split argument, %s"
-msgstr ""
-
-#: builtin/commit-graph.c:150
-#, c-format
-msgid "unexpected non-hex object ID: %s"
-msgstr ""
-
-#: builtin/commit-graph.c:155
-#, c-format
-msgid "invalid object: %s"
-msgstr ""
-
-#: builtin/commit-graph.c:205
-msgid "start walk at all refs"
-msgstr ""
-
-#: builtin/commit-graph.c:207
-msgid "scan pack-indexes listed by stdin for commits"
-msgstr ""
-
-#: builtin/commit-graph.c:209
-msgid "start walk at commits listed by stdin"
-msgstr ""
-
-#: builtin/commit-graph.c:211
-msgid "include all commits already in the commit-graph file"
-msgstr ""
-
-#: builtin/commit-graph.c:213
-msgid "enable computation for changed paths"
-msgstr ""
-
-#: builtin/commit-graph.c:215
-msgid "allow writing an incremental commit-graph file"
-msgstr ""
-
-#: builtin/commit-graph.c:219
-msgid "maximum number of commits in a non-base split commit-graph"
-msgstr ""
-
-#: builtin/commit-graph.c:221
-msgid "maximum ratio between two levels of a split commit-graph"
-msgstr ""
-
-#: builtin/commit-graph.c:223
-msgid "only expire files older than a given date-time"
-msgstr ""
-
-#: builtin/commit-graph.c:225
-msgid "maximum number of changed-path Bloom filters to compute"
-msgstr ""
-
-#: builtin/commit-graph.c:251
-msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
-msgstr ""
-
-#: builtin/commit-graph.c:282
-msgid "Collecting commits from input"
-msgstr ""
-
-#: builtin/commit-graph.c:328 builtin/multi-pack-index.c:259
-#, c-format
-msgid "unrecognized subcommand: %s"
-msgstr ""
-
-#: builtin/commit-tree.c:18
-msgid ""
-"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
-"<file>)...] <tree>"
-msgstr ""
-
-#: builtin/commit-tree.c:31
-#, c-format
-msgid "duplicate parent %s ignored"
-msgstr ""
-
-#: builtin/commit-tree.c:56 builtin/commit-tree.c:134 builtin/log.c:590
-#, c-format
-msgid "not a valid object name %s"
-msgstr ""
-
-#: builtin/commit-tree.c:94
-#, c-format
-msgid "git commit-tree: failed to read '%s'"
-msgstr ""
-
-#: builtin/commit-tree.c:96
-#, c-format
-msgid "git commit-tree: failed to close '%s'"
-msgstr ""
-
-#: builtin/commit-tree.c:109
-msgid "parent"
-msgstr ""
-
-#: builtin/commit-tree.c:110
-msgid "id of a parent commit object"
-msgstr ""
-
-#: builtin/commit-tree.c:112 builtin/commit.c:1626 builtin/merge.c:284
-#: builtin/notes.c:407 builtin/notes.c:573 builtin/stash.c:1666
-#: builtin/tag.c:455
-msgid "message"
-msgstr ""
-
-#: builtin/commit-tree.c:113 builtin/commit.c:1626
-msgid "commit message"
-msgstr ""
-
-#: builtin/commit-tree.c:116
-msgid "read commit log message from file"
-msgstr ""
-
-#: builtin/commit-tree.c:119 builtin/commit.c:1643 builtin/merge.c:303
-#: builtin/pull.c:180 builtin/revert.c:118
-msgid "GPG sign commit"
-msgstr ""
-
-#: builtin/commit-tree.c:131
-msgid "must give exactly one tree"
-msgstr ""
-
-#: builtin/commit-tree.c:138
-msgid "git commit-tree: failed to read"
-msgstr ""
-
-#: builtin/commit.c:43
-msgid "git commit [<options>] [--] <pathspec>..."
-msgstr ""
-
-#: builtin/commit.c:48
-msgid "git status [<options>] [--] <pathspec>..."
-msgstr ""
-
-#: builtin/commit.c:53
-msgid ""
-"You asked to amend the most recent commit, but doing so would make\n"
-"it empty. You can repeat your command with --allow-empty, or you can\n"
-"remove the commit entirely with \"git reset HEAD^\".\n"
-msgstr ""
-
-#: builtin/commit.c:58
-msgid ""
-"The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
-"If you wish to commit it anyway, use:\n"
-"\n"
-"    git commit --allow-empty\n"
-"\n"
-msgstr ""
-
-#: builtin/commit.c:65
-msgid "Otherwise, please use 'git rebase --skip'\n"
-msgstr ""
-
-#: builtin/commit.c:68
-msgid "Otherwise, please use 'git cherry-pick --skip'\n"
-msgstr ""
-
-#: builtin/commit.c:71
-msgid ""
-"and then use:\n"
-"\n"
-"    git cherry-pick --continue\n"
-"\n"
-"to resume cherry-picking the remaining commits.\n"
-"If you wish to skip this commit, use:\n"
-"\n"
-"    git cherry-pick --skip\n"
-"\n"
-msgstr ""
-
-#: builtin/commit.c:326
-msgid "failed to unpack HEAD tree object"
-msgstr ""
-
-#: builtin/commit.c:376
-msgid "No paths with --include/--only does not make sense."
-msgstr ""
-
-#: builtin/commit.c:388
-msgid "unable to create temporary index"
-msgstr ""
-
-#: builtin/commit.c:397
-msgid "interactive add failed"
-msgstr ""
-
-#: builtin/commit.c:412
-msgid "unable to update temporary index"
-msgstr ""
-
-#: builtin/commit.c:414
-msgid "Failed to update main cache tree"
-msgstr ""
-
-#: builtin/commit.c:439 builtin/commit.c:462 builtin/commit.c:510
-msgid "unable to write new_index file"
-msgstr ""
-
-#: builtin/commit.c:491
-msgid "cannot do a partial commit during a merge."
-msgstr ""
-
-#: builtin/commit.c:493
-msgid "cannot do a partial commit during a cherry-pick."
-msgstr ""
-
-#: builtin/commit.c:495
-msgid "cannot do a partial commit during a rebase."
-msgstr ""
-
-#: builtin/commit.c:503
-msgid "cannot read the index"
-msgstr ""
-
-#: builtin/commit.c:522
-msgid "unable to write temporary index file"
-msgstr ""
-
-#: builtin/commit.c:620
-#, c-format
-msgid "commit '%s' lacks author header"
-msgstr ""
-
-#: builtin/commit.c:622
-#, c-format
-msgid "commit '%s' has malformed author line"
-msgstr ""
-
-#: builtin/commit.c:641
-msgid "malformed --author parameter"
-msgstr ""
-
-#: builtin/commit.c:694
-msgid ""
-"unable to select a comment character that is not used\n"
-"in the current commit message"
-msgstr ""
-
-#: builtin/commit.c:750 builtin/commit.c:784 builtin/commit.c:1170
-#, c-format
-msgid "could not lookup commit %s"
-msgstr ""
-
-#: builtin/commit.c:762 builtin/shortlog.c:417
-#, c-format
-msgid "(reading log message from standard input)\n"
-msgstr ""
-
-#: builtin/commit.c:764
-msgid "could not read log from standard input"
-msgstr ""
-
-#: builtin/commit.c:768
-#, c-format
-msgid "could not read log file '%s'"
-msgstr ""
-
-#: builtin/commit.c:805
-#, c-format
-msgid "options '%s' and '%s:%s' cannot be used together"
-msgstr ""
-
-#: builtin/commit.c:817 builtin/commit.c:833
-msgid "could not read SQUASH_MSG"
-msgstr ""
-
-#: builtin/commit.c:824
-msgid "could not read MERGE_MSG"
-msgstr ""
-
-#: builtin/commit.c:884
-msgid "could not write commit template"
-msgstr ""
-
-#: builtin/commit.c:897
-#, c-format
-msgid ""
-"Please enter the commit message for your changes. Lines starting\n"
-"with '%c' will be ignored.\n"
-msgstr ""
-
-#: builtin/commit.c:899
-#, c-format
-msgid ""
-"Please enter the commit message for your changes. Lines starting\n"
-"with '%c' will be ignored, and an empty message aborts the commit.\n"
-msgstr ""
-
-#: builtin/commit.c:903
-#, c-format
-msgid ""
-"Please enter the commit message for your changes. Lines starting\n"
-"with '%c' will be kept; you may remove them yourself if you want to.\n"
-msgstr ""
-
-#: builtin/commit.c:907
-#, c-format
-msgid ""
-"Please enter the commit message for your changes. Lines starting\n"
-"with '%c' will be kept; you may remove them yourself if you want to.\n"
-"An empty message aborts the commit.\n"
-msgstr ""
-
-#: builtin/commit.c:919
-msgid ""
-"\n"
-"It looks like you may be committing a merge.\n"
-"If this is not correct, please run\n"
-"\tgit update-ref -d MERGE_HEAD\n"
-"and try again.\n"
-msgstr ""
-
-#: builtin/commit.c:924
-msgid ""
-"\n"
-"It looks like you may be committing a cherry-pick.\n"
-"If this is not correct, please run\n"
-"\tgit update-ref -d CHERRY_PICK_HEAD\n"
-"and try again.\n"
-msgstr ""
-
-#: builtin/commit.c:951
-#, c-format
-msgid "%sAuthor:    %.*s <%.*s>"
-msgstr ""
-
-#: builtin/commit.c:959
-#, c-format
-msgid "%sDate:      %s"
-msgstr ""
-
-#: builtin/commit.c:966
-#, c-format
-msgid "%sCommitter: %.*s <%.*s>"
-msgstr ""
-
-#: builtin/commit.c:984
-msgid "Cannot read index"
-msgstr ""
-
-#: builtin/commit.c:1029
-msgid "unable to pass trailers to --trailers"
-msgstr ""
-
-#: builtin/commit.c:1069
-msgid "Error building trees"
-msgstr ""
-
-#: builtin/commit.c:1083 builtin/tag.c:317
-#, c-format
-msgid "Please supply the message using either -m or -F option.\n"
-msgstr ""
-
-#: builtin/commit.c:1128
-#, c-format
-msgid "--author '%s' is not 'Name <email>' and matches no existing author"
-msgstr ""
-
-#: builtin/commit.c:1142
-#, c-format
-msgid "Invalid ignored mode '%s'"
-msgstr ""
-
-#: builtin/commit.c:1160 builtin/commit.c:1450
-#, c-format
-msgid "Invalid untracked files mode '%s'"
-msgstr ""
-
-#: builtin/commit.c:1231
-msgid "You are in the middle of a merge -- cannot reword."
-msgstr ""
-
-#: builtin/commit.c:1233
-msgid "You are in the middle of a cherry-pick -- cannot reword."
-msgstr ""
-
-#: builtin/commit.c:1236
-#, c-format
-msgid "reword option of '%s' and path '%s' cannot be used together"
-msgstr ""
-
-#: builtin/commit.c:1238
-#, c-format
-msgid "reword option of '%s' and '%s' cannot be used together"
-msgstr ""
-
-#: builtin/commit.c:1263
-msgid "You have nothing to amend."
-msgstr ""
-
-#: builtin/commit.c:1266
-msgid "You are in the middle of a merge -- cannot amend."
-msgstr ""
-
-#: builtin/commit.c:1268
-msgid "You are in the middle of a cherry-pick -- cannot amend."
-msgstr ""
-
-#: builtin/commit.c:1270
-msgid "You are in the middle of a rebase -- cannot amend."
-msgstr ""
-
-#: builtin/commit.c:1290
-msgid "--reset-author can be used only with -C, -c or --amend."
-msgstr ""
-
-#: builtin/commit.c:1337
-#, c-format
-msgid "unknown option: --fixup=%s:%s"
-msgstr ""
-
-#: builtin/commit.c:1354
-#, c-format
-msgid "paths '%s ...' with -a does not make sense"
-msgstr ""
-
-#: builtin/commit.c:1485 builtin/commit.c:1654
-msgid "show status concisely"
-msgstr ""
-
-#: builtin/commit.c:1487 builtin/commit.c:1656
-msgid "show branch information"
-msgstr ""
-
-#: builtin/commit.c:1489
-msgid "show stash information"
-msgstr ""
-
-#: builtin/commit.c:1491 builtin/commit.c:1658
-msgid "compute full ahead/behind values"
-msgstr ""
-
-#: builtin/commit.c:1493
-msgid "version"
-msgstr ""
-
-#: builtin/commit.c:1493 builtin/commit.c:1660 builtin/push.c:551
-#: builtin/worktree.c:765
-msgid "machine-readable output"
-msgstr ""
-
-#: builtin/commit.c:1496 builtin/commit.c:1662
-msgid "show status in long format (default)"
-msgstr ""
-
-#: builtin/commit.c:1499 builtin/commit.c:1665
-msgid "terminate entries with NUL"
-msgstr ""
-
-#: builtin/commit.c:1501 builtin/commit.c:1505 builtin/commit.c:1668
-#: builtin/fast-export.c:1172 builtin/fast-export.c:1175
-#: builtin/fast-export.c:1178 builtin/rebase.c:1139 parse-options.h:368
-msgid "mode"
-msgstr ""
-
-#: builtin/commit.c:1502 builtin/commit.c:1668
-msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
-msgstr ""
-
-#: builtin/commit.c:1506
-msgid ""
-"show ignored files, optional modes: traditional, matching, no. (Default: "
-"traditional)"
-msgstr ""
-
-#: builtin/commit.c:1508 parse-options.h:197
-msgid "when"
-msgstr ""
-
-#: builtin/commit.c:1509
-msgid ""
-"ignore changes to submodules, optional when: all, dirty, untracked. "
-"(Default: all)"
-msgstr ""
-
-#: builtin/commit.c:1511
-msgid "list untracked files in columns"
-msgstr ""
-
-#: builtin/commit.c:1512
-msgid "do not detect renames"
-msgstr ""
-
-#: builtin/commit.c:1514
-msgid "detect renames, optionally set similarity index"
-msgstr ""
-
-#: builtin/commit.c:1537
-msgid "Unsupported combination of ignored and untracked-files arguments"
-msgstr ""
-
-#: builtin/commit.c:1619
-msgid "suppress summary after successful commit"
-msgstr ""
-
-#: builtin/commit.c:1620
-msgid "show diff in commit message template"
-msgstr ""
-
-#: builtin/commit.c:1622
-msgid "Commit message options"
-msgstr ""
-
-#: builtin/commit.c:1623 builtin/merge.c:288 builtin/tag.c:457
-msgid "read message from file"
-msgstr ""
-
-#: builtin/commit.c:1624
-msgid "author"
-msgstr ""
-
-#: builtin/commit.c:1624
-msgid "override author for commit"
-msgstr ""
-
-#: builtin/commit.c:1625 builtin/gc.c:551
-msgid "date"
-msgstr ""
-
-#: builtin/commit.c:1625
-msgid "override date for commit"
-msgstr ""
-
-#: builtin/commit.c:1627 builtin/commit.c:1628 builtin/commit.c:1634
-#: parse-options.h:360 ref-filter.h:89
-msgid "commit"
-msgstr ""
-
-#: builtin/commit.c:1627
-msgid "reuse and edit message from specified commit"
-msgstr ""
-
-#: builtin/commit.c:1628
-msgid "reuse message from specified commit"
-msgstr ""
-
-#. TRANSLATORS: Leave "[(amend|reword):]" as-is,
-#. and only translate <commit>.
-#.
-#: builtin/commit.c:1633
-msgid "[(amend|reword):]commit"
-msgstr ""
-
-#: builtin/commit.c:1633
-msgid ""
-"use autosquash formatted message to fixup or amend/reword specified commit"
-msgstr ""
-
-#: builtin/commit.c:1634
-msgid "use autosquash formatted message to squash specified commit"
-msgstr ""
-
-#: builtin/commit.c:1635
-msgid "the commit is authored by me now (used with -C/-c/--amend)"
-msgstr ""
-
-#: builtin/commit.c:1636 builtin/interpret-trailers.c:111
-msgid "trailer"
-msgstr ""
-
-#: builtin/commit.c:1636
-msgid "add custom trailer(s)"
-msgstr ""
-
-#: builtin/commit.c:1637 builtin/log.c:1788 builtin/merge.c:306
-#: builtin/pull.c:146 builtin/revert.c:110
-msgid "add a Signed-off-by trailer"
-msgstr ""
-
-#: builtin/commit.c:1638
-msgid "use specified template file"
-msgstr ""
-
-#: builtin/commit.c:1639
-msgid "force edit of commit"
-msgstr ""
-
-#: builtin/commit.c:1641
-msgid "include status in commit message template"
-msgstr ""
-
-#: builtin/commit.c:1646
-msgid "Commit contents options"
-msgstr ""
-
-#: builtin/commit.c:1647
-msgid "commit all changed files"
-msgstr ""
-
-#: builtin/commit.c:1648
-msgid "add specified files to index for commit"
-msgstr ""
-
-#: builtin/commit.c:1649
-msgid "interactively add files"
-msgstr ""
-
-#: builtin/commit.c:1650
-msgid "interactively add changes"
-msgstr ""
-
-#: builtin/commit.c:1651
-msgid "commit only specified files"
-msgstr ""
-
-#: builtin/commit.c:1652
-msgid "bypass pre-commit and commit-msg hooks"
-msgstr ""
-
-#: builtin/commit.c:1653
-msgid "show what would be committed"
-msgstr ""
-
-#: builtin/commit.c:1666
-msgid "amend previous commit"
-msgstr ""
-
-#: builtin/commit.c:1667
-msgid "bypass post-rewrite hook"
-msgstr ""
-
-#: builtin/commit.c:1674
-msgid "ok to record an empty change"
-msgstr ""
-
-#: builtin/commit.c:1676
-msgid "ok to record a change with an empty message"
-msgstr ""
-
-#: builtin/commit.c:1752
-#, c-format
-msgid "Corrupt MERGE_HEAD file (%s)"
-msgstr ""
-
-#: builtin/commit.c:1759
-msgid "could not read MERGE_MODE"
-msgstr ""
-
-#: builtin/commit.c:1780
-#, c-format
-msgid "could not read commit message: %s"
-msgstr ""
-
-#: builtin/commit.c:1787
-#, c-format
-msgid "Aborting commit due to empty commit message.\n"
-msgstr ""
-
-#: builtin/commit.c:1792
-#, c-format
-msgid "Aborting commit; you did not edit the message.\n"
-msgstr ""
-
-#: builtin/commit.c:1803
-#, c-format
-msgid "Aborting commit due to empty commit message body.\n"
-msgstr ""
-
-#: builtin/commit.c:1839
-msgid ""
-"repository has been updated, but unable to write\n"
-"new_index file. Check that disk is not full and quota is\n"
-"not exceeded, and then \"git restore --staged :/\" to recover."
-msgstr ""
-
-#: builtin/config.c:11
-msgid "git config [<options>]"
-msgstr ""
-
-#: builtin/config.c:109 builtin/env--helper.c:27
-#, c-format
-msgid "unrecognized --type argument, %s"
-msgstr ""
-
-#: builtin/config.c:121
-msgid "only one type at a time"
-msgstr ""
-
-#: builtin/config.c:130
-msgid "Config file location"
-msgstr ""
-
-#: builtin/config.c:131
-msgid "use global config file"
-msgstr ""
-
-#: builtin/config.c:132
-msgid "use system config file"
-msgstr ""
-
-#: builtin/config.c:133
-msgid "use repository config file"
-msgstr ""
-
-#: builtin/config.c:134
-msgid "use per-worktree config file"
-msgstr ""
-
-#: builtin/config.c:135
-msgid "use given config file"
-msgstr ""
-
-#: builtin/config.c:136
-msgid "blob-id"
-msgstr ""
-
-#: builtin/config.c:136
-msgid "read config from given blob object"
-msgstr ""
-
-#: builtin/config.c:137
-msgid "Action"
-msgstr ""
-
-#: builtin/config.c:138
-msgid "get value: name [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:139
-msgid "get all values: key [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:140
-msgid "get values for regexp: name-regex [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:141
-msgid "get value specific for the URL: section[.var] URL"
-msgstr ""
-
-#: builtin/config.c:142
-msgid "replace all matching variables: name value [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:143
-msgid "add a new variable: name value"
-msgstr ""
-
-#: builtin/config.c:144
-msgid "remove a variable: name [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:145
-msgid "remove all matches: name [value-pattern]"
-msgstr ""
-
-#: builtin/config.c:146
-msgid "rename section: old-name new-name"
-msgstr ""
-
-#: builtin/config.c:147
-msgid "remove a section: name"
-msgstr ""
-
-#: builtin/config.c:148
-msgid "list all"
-msgstr ""
-
-#: builtin/config.c:149
-msgid "use string equality when comparing values to 'value-pattern'"
-msgstr ""
-
-#: builtin/config.c:150
-msgid "open an editor"
-msgstr ""
-
-#: builtin/config.c:151
-msgid "find the color configured: slot [default]"
-msgstr ""
-
-#: builtin/config.c:152
-msgid "find the color setting: slot [stdout-is-tty]"
-msgstr ""
-
-#: builtin/config.c:153
-msgid "Type"
-msgstr ""
-
-#: builtin/config.c:154 builtin/env--helper.c:42 builtin/hash-object.c:97
-msgid "type"
-msgstr ""
-
-#: builtin/config.c:154 builtin/env--helper.c:43
-msgid "value is given this type"
-msgstr ""
-
-#: builtin/config.c:155
-msgid "value is \"true\" or \"false\""
-msgstr ""
-
-#: builtin/config.c:156
-msgid "value is decimal number"
-msgstr ""
-
-#: builtin/config.c:157
-msgid "value is --bool or --int"
-msgstr ""
-
-#: builtin/config.c:158
-msgid "value is --bool or string"
-msgstr ""
-
-#: builtin/config.c:159
-msgid "value is a path (file or directory name)"
-msgstr ""
-
-#: builtin/config.c:160
-msgid "value is an expiry date"
-msgstr ""
-
-#: builtin/config.c:161
-msgid "Other"
-msgstr ""
-
-#: builtin/config.c:162
-msgid "terminate values with NUL byte"
-msgstr ""
-
-#: builtin/config.c:163
-msgid "show variable names only"
-msgstr ""
-
-#: builtin/config.c:164
-msgid "respect include directives on lookup"
-msgstr ""
-
-#: builtin/config.c:165
-msgid "show origin of config (file, standard input, blob, command line)"
-msgstr ""
-
-#: builtin/config.c:166
-msgid "show scope of config (worktree, local, global, system, command)"
-msgstr ""
-
-#: builtin/config.c:167 builtin/env--helper.c:45
-msgid "value"
-msgstr ""
-
-#: builtin/config.c:167
-msgid "with --get, use default value when missing entry"
-msgstr ""
-
-#: builtin/config.c:181
-#, c-format
-msgid "wrong number of arguments, should be %d"
-msgstr ""
-
-#: builtin/config.c:183
-#, c-format
-msgid "wrong number of arguments, should be from %d to %d"
-msgstr ""
-
-#: builtin/config.c:339
-#, c-format
-msgid "invalid key pattern: %s"
-msgstr ""
-
-#: builtin/config.c:377
-#, c-format
-msgid "failed to format default config value: %s"
-msgstr ""
-
-#: builtin/config.c:441
-#, c-format
-msgid "cannot parse color '%s'"
-msgstr ""
-
-#: builtin/config.c:483
-msgid "unable to parse default color value"
-msgstr ""
-
-#: builtin/config.c:536 builtin/config.c:833
-msgid "not in a git directory"
-msgstr ""
-
-#: builtin/config.c:539
-msgid "writing to stdin is not supported"
-msgstr ""
-
-#: builtin/config.c:542
-msgid "writing config blobs is not supported"
-msgstr ""
-
-#: builtin/config.c:627
-#, c-format
-msgid ""
-"# This is Git's per-user configuration file.\n"
-"[user]\n"
-"# Please adapt and uncomment the following lines:\n"
-"#\tname = %s\n"
-"#\temail = %s\n"
-msgstr ""
-
-#: builtin/config.c:652
-msgid "only one config file at a time"
-msgstr ""
-
-#: builtin/config.c:658
-msgid "--local can only be used inside a git repository"
-msgstr ""
-
-#: builtin/config.c:660
-msgid "--blob can only be used inside a git repository"
-msgstr ""
-
-#: builtin/config.c:662
-msgid "--worktree can only be used inside a git repository"
-msgstr ""
-
-#: builtin/config.c:684
-msgid "$HOME not set"
-msgstr ""
-
-#: builtin/config.c:708
-msgid ""
-"--worktree cannot be used with multiple working trees unless the config\n"
-"extension worktreeConfig is enabled. Please read \"CONFIGURATION FILE\"\n"
-"section in \"git help worktree\" for details"
-msgstr ""
-
-#: builtin/config.c:743
-msgid "--get-color and variable type are incoherent"
-msgstr ""
-
-#: builtin/config.c:748
-msgid "only one action at a time"
-msgstr ""
-
-#: builtin/config.c:761
-msgid "--name-only is only applicable to --list or --get-regexp"
-msgstr ""
-
-#: builtin/config.c:767
-msgid ""
-"--show-origin is only applicable to --get, --get-all, --get-regexp, and --"
-"list"
-msgstr ""
-
-#: builtin/config.c:773
-msgid "--default is only applicable to --get"
-msgstr ""
-
-#: builtin/config.c:806
-msgid "--fixed-value only applies with 'value-pattern'"
-msgstr ""
-
-#: builtin/config.c:822
-#, c-format
-msgid "unable to read config file '%s'"
-msgstr ""
-
-#: builtin/config.c:825
-msgid "error processing config file(s)"
-msgstr ""
-
-#: builtin/config.c:835
-msgid "editing stdin is not supported"
-msgstr ""
-
-#: builtin/config.c:837
-msgid "editing blobs is not supported"
-msgstr ""
-
-#: builtin/config.c:851
-#, c-format
-msgid "cannot create configuration file %s"
-msgstr ""
-
-#: builtin/config.c:864
-#, c-format
-msgid ""
-"cannot overwrite multiple values with a single value\n"
-"       Use a regexp, --add or --replace-all to change %s."
-msgstr ""
-
-#: builtin/config.c:943 builtin/config.c:954
-#, c-format
-msgid "no such section: %s"
-msgstr ""
-
-#: builtin/count-objects.c:100
-msgid "print sizes in human readable format"
-msgstr ""
-
-#: builtin/credential-cache--daemon.c:227
-#, c-format
-msgid ""
-"The permissions on your socket directory are too loose; other\n"
-"users may be able to read your cached credentials. Consider running:\n"
-"\n"
-"\tchmod 0700 %s"
-msgstr ""
-
-#: builtin/credential-cache--daemon.c:276
-msgid "print debugging messages to stderr"
-msgstr ""
-
-#: builtin/credential-cache--daemon.c:316
-msgid "credential-cache--daemon unavailable; no unix socket support"
-msgstr ""
-
-#: builtin/credential-cache.c:180
-msgid "credential-cache unavailable; no unix socket support"
-msgstr ""
-
-#: builtin/credential-store.c:66
-#, c-format
-msgid "unable to get credential storage lock in %d ms"
-msgstr ""
-
-#: builtin/describe.c:26
-msgid "git describe [<options>] [<commit-ish>...]"
-msgstr ""
-
-#: builtin/describe.c:27
-msgid "git describe [<options>] --dirty"
-msgstr ""
-
-#: builtin/describe.c:63
-msgid "head"
-msgstr ""
-
-#: builtin/describe.c:63
-msgid "lightweight"
-msgstr ""
-
-#: builtin/describe.c:63
-msgid "annotated"
-msgstr ""
-
-#: builtin/describe.c:277
-#, c-format
-msgid "annotated tag %s not available"
-msgstr ""
-
-#: builtin/describe.c:281
-#, c-format
-msgid "tag '%s' is externally known as '%s'"
-msgstr ""
-
-#: builtin/describe.c:328
-#, c-format
-msgid "no tag exactly matches '%s'"
-msgstr ""
-
-#: builtin/describe.c:330
-#, c-format
-msgid "No exact match on refs or tags, searching to describe\n"
-msgstr ""
-
-#: builtin/describe.c:397
-#, c-format
-msgid "finished search at %s\n"
-msgstr ""
-
-#: builtin/describe.c:424
-#, c-format
-msgid ""
-"No annotated tags can describe '%s'.\n"
-"However, there were unannotated tags: try --tags."
-msgstr ""
-
-#: builtin/describe.c:428
-#, c-format
-msgid ""
-"No tags can describe '%s'.\n"
-"Try --always, or create some tags."
-msgstr ""
-
-#: builtin/describe.c:458
-#, c-format
-msgid "traversed %lu commits\n"
-msgstr ""
-
-#: builtin/describe.c:461
-#, c-format
-msgid ""
-"more than %i tags found; listed %i most recent\n"
-"gave up search at %s\n"
-msgstr ""
-
-#: builtin/describe.c:529
-#, c-format
-msgid "describe %s\n"
-msgstr ""
-
-#: builtin/describe.c:532
-#, c-format
-msgid "Not a valid object name %s"
-msgstr ""
-
-#: builtin/describe.c:540
-#, c-format
-msgid "%s is neither a commit nor blob"
-msgstr ""
-
-#: builtin/describe.c:554
-msgid "find the tag that comes after the commit"
-msgstr ""
-
-#: builtin/describe.c:555
-msgid "debug search strategy on stderr"
-msgstr ""
-
-#: builtin/describe.c:556
-msgid "use any ref"
-msgstr ""
-
-#: builtin/describe.c:557
-msgid "use any tag, even unannotated"
-msgstr ""
-
-#: builtin/describe.c:558
-msgid "always use long format"
-msgstr ""
-
-#: builtin/describe.c:559
-msgid "only follow first parent"
-msgstr ""
-
-#: builtin/describe.c:562
-msgid "only output exact matches"
-msgstr ""
-
-#: builtin/describe.c:564
-msgid "consider <n> most recent tags (default: 10)"
-msgstr ""
-
-#: builtin/describe.c:566
-msgid "only consider tags matching <pattern>"
-msgstr ""
-
-#: builtin/describe.c:568
-msgid "do not consider tags matching <pattern>"
-msgstr ""
-
-#: builtin/describe.c:570 builtin/name-rev.c:595
-msgid "show abbreviated commit object as fallback"
-msgstr ""
-
-#: builtin/describe.c:571 builtin/describe.c:574
-msgid "mark"
-msgstr ""
-
-#: builtin/describe.c:572
-msgid "append <mark> on dirty working tree (default: \"-dirty\")"
-msgstr ""
-
-#: builtin/describe.c:575
-msgid "append <mark> on broken working tree (default: \"-broken\")"
-msgstr ""
-
-#: builtin/describe.c:622
-msgid "No names found, cannot describe anything."
-msgstr ""
-
-#: builtin/describe.c:673 builtin/describe.c:675
-#, c-format
-msgid "option '%s' and commit-ishes cannot be used together"
-msgstr ""
-
-#: builtin/diff-tree.c:157
-msgid "--merge-base only works with two commits"
-msgstr ""
-
-#: builtin/diff.c:92
-#, c-format
-msgid "'%s': not a regular file or symlink"
-msgstr ""
-
-#: builtin/diff.c:259
-#, c-format
-msgid "invalid option: %s"
-msgstr ""
-
-#: builtin/diff.c:376
-#, c-format
-msgid "%s...%s: no merge base"
-msgstr ""
-
-#: builtin/diff.c:491
-msgid "Not a git repository"
-msgstr ""
-
-#: builtin/diff.c:537 builtin/grep.c:700
-#, c-format
-msgid "invalid object '%s' given."
-msgstr ""
-
-#: builtin/diff.c:548
-#, c-format
-msgid "more than two blobs given: '%s'"
-msgstr ""
-
-#: builtin/diff.c:553
-#, c-format
-msgid "unhandled object '%s' given."
-msgstr ""
-
-#: builtin/diff.c:587
-#, c-format
-msgid "%s...%s: multiple merge bases, using %s"
-msgstr ""
-
-#: builtin/difftool.c:31
-msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
-msgstr ""
-
-#: builtin/difftool.c:287
-#, c-format
-msgid "could not read symlink %s"
-msgstr ""
-
-#: builtin/difftool.c:289
-#, c-format
-msgid "could not read symlink file %s"
-msgstr ""
-
-#: builtin/difftool.c:297
-#, c-format
-msgid "could not read object %s for symlink %s"
-msgstr ""
-
-#: builtin/difftool.c:421
-msgid ""
-"combined diff formats ('-c' and '--cc') are not supported in\n"
-"directory diff mode ('-d' and '--dir-diff')."
-msgstr ""
-
-#: builtin/difftool.c:626
-#, c-format
-msgid "both files modified: '%s' and '%s'."
-msgstr ""
-
-#: builtin/difftool.c:628
-msgid "working tree file has been left."
-msgstr ""
-
-#: builtin/difftool.c:639
-#, c-format
-msgid "temporary files exist in '%s'."
-msgstr ""
-
-#: builtin/difftool.c:640
-msgid "you may want to cleanup or recover these."
-msgstr ""
-
-#: builtin/difftool.c:645
-#, c-format
-msgid "failed: %d"
-msgstr ""
-
-#: builtin/difftool.c:690
-msgid "use `diff.guitool` instead of `diff.tool`"
-msgstr ""
-
-#: builtin/difftool.c:692
-msgid "perform a full-directory diff"
-msgstr ""
-
-#: builtin/difftool.c:694
-msgid "do not prompt before launching a diff tool"
-msgstr ""
-
-#: builtin/difftool.c:699
-msgid "use symlinks in dir-diff mode"
-msgstr ""
-
-#: builtin/difftool.c:700
-msgid "tool"
-msgstr ""
-
-#: builtin/difftool.c:701
-msgid "use the specified diff tool"
-msgstr ""
-
-#: builtin/difftool.c:703
-msgid "print a list of diff tools that may be used with `--tool`"
-msgstr ""
-
-#: builtin/difftool.c:706
-msgid ""
-"make 'git-difftool' exit when an invoked diff tool returns a non-zero exit "
-"code"
-msgstr ""
-
-#: builtin/difftool.c:709
-msgid "specify a custom command for viewing diffs"
-msgstr ""
-
-#: builtin/difftool.c:710
-msgid "passed to `diff`"
-msgstr ""
-
-#: builtin/difftool.c:726
-msgid "difftool requires worktree or --no-index"
-msgstr ""
-
-#: builtin/difftool.c:745
-msgid "no <tool> given for --tool=<tool>"
-msgstr ""
-
-#: builtin/difftool.c:752
-msgid "no <cmd> given for --extcmd=<cmd>"
-msgstr ""
-
-#: builtin/env--helper.c:6
-msgid "git env--helper --type=[bool|ulong] <options> <env-var>"
-msgstr ""
-
-#: builtin/env--helper.c:46
-msgid "default for git_env_*(...) to fall back on"
-msgstr ""
-
-#: builtin/env--helper.c:48
-msgid "be quiet only use git_env_*() value as exit code"
-msgstr ""
-
-#: builtin/env--helper.c:67
-#, c-format
-msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`"
-msgstr ""
-
-#: builtin/env--helper.c:82
-#, c-format
-msgid ""
-"option `--default' expects an unsigned long value with `--type=ulong`, not `"
-"%s`"
-msgstr ""
-
-#: builtin/fast-export.c:29
-msgid "git fast-export [<rev-list-opts>]"
-msgstr ""
-
-#: builtin/fast-export.c:843
-msgid "Error: Cannot export nested tags unless --mark-tags is specified."
-msgstr ""
-
-#: builtin/fast-export.c:1152
-msgid "--anonymize-map token cannot be empty"
-msgstr ""
-
-#: builtin/fast-export.c:1171
-msgid "show progress after <n> objects"
-msgstr ""
-
-#: builtin/fast-export.c:1173
-msgid "select handling of signed tags"
-msgstr ""
-
-#: builtin/fast-export.c:1176
-msgid "select handling of tags that tag filtered objects"
-msgstr ""
-
-#: builtin/fast-export.c:1179
-msgid "select handling of commit messages in an alternate encoding"
-msgstr ""
-
-#: builtin/fast-export.c:1182
-msgid "dump marks to this file"
-msgstr ""
-
-#: builtin/fast-export.c:1184
-msgid "import marks from this file"
-msgstr ""
-
-#: builtin/fast-export.c:1188
-msgid "import marks from this file if it exists"
-msgstr ""
-
-#: builtin/fast-export.c:1190
-msgid "fake a tagger when tags lack one"
-msgstr ""
-
-#: builtin/fast-export.c:1192
-msgid "output full tree for each commit"
-msgstr ""
-
-#: builtin/fast-export.c:1194
-msgid "use the done feature to terminate the stream"
-msgstr ""
-
-#: builtin/fast-export.c:1195
-msgid "skip output of blob data"
-msgstr ""
-
-#: builtin/fast-export.c:1196 builtin/log.c:1860
-msgid "refspec"
-msgstr ""
-
-#: builtin/fast-export.c:1197
-msgid "apply refspec to exported refs"
-msgstr ""
-
-#: builtin/fast-export.c:1198
-msgid "anonymize output"
-msgstr ""
-
-#: builtin/fast-export.c:1199
-msgid "from:to"
-msgstr ""
-
-#: builtin/fast-export.c:1200
-msgid "convert <from> to <to> in anonymized output"
-msgstr ""
-
-#: builtin/fast-export.c:1203
-msgid "reference parents which are not in fast-export stream by object id"
-msgstr ""
-
-#: builtin/fast-export.c:1205
-msgid "show original object ids of blobs/commits"
-msgstr ""
-
-#: builtin/fast-export.c:1207
-msgid "label tags with mark ids"
-msgstr ""
-
-#: builtin/fast-import.c:3097
-#, c-format
-msgid "Missing from marks for submodule '%s'"
-msgstr ""
-
-#: builtin/fast-import.c:3099
-#, c-format
-msgid "Missing to marks for submodule '%s'"
-msgstr ""
-
-#: builtin/fast-import.c:3234
-#, c-format
-msgid "Expected 'mark' command, got %s"
-msgstr ""
-
-#: builtin/fast-import.c:3239
-#, c-format
-msgid "Expected 'to' command, got %s"
-msgstr ""
-
-#: builtin/fast-import.c:3331
-msgid "Expected format name:filename for submodule rewrite option"
-msgstr ""
-
-#: builtin/fast-import.c:3386
-#, c-format
-msgid "feature '%s' forbidden in input without --allow-unsafe-features"
-msgstr ""
-
-#: builtin/fetch-pack.c:246
-#, c-format
-msgid "Lockfile created but not reported: %s"
-msgstr ""
-
-#: builtin/fetch.c:36
-msgid "git fetch [<options>] [<repository> [<refspec>...]]"
-msgstr ""
-
-#: builtin/fetch.c:37
-msgid "git fetch [<options>] <group>"
-msgstr ""
-
-#: builtin/fetch.c:38
-msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
-msgstr ""
-
-#: builtin/fetch.c:39
-msgid "git fetch --all [<options>]"
-msgstr ""
-
-#: builtin/fetch.c:124
-msgid "fetch.parallel cannot be negative"
-msgstr ""
-
-#: builtin/fetch.c:147 builtin/pull.c:189
-msgid "fetch from all remotes"
-msgstr ""
-
-#: builtin/fetch.c:149 builtin/pull.c:249
-msgid "set upstream for git pull/fetch"
-msgstr ""
-
-#: builtin/fetch.c:151 builtin/pull.c:192
-msgid "append to .git/FETCH_HEAD instead of overwriting"
-msgstr ""
-
-#: builtin/fetch.c:153
-msgid "use atomic transaction to update references"
-msgstr ""
-
-#: builtin/fetch.c:155 builtin/pull.c:195
-msgid "path to upload pack on remote end"
-msgstr ""
-
-#: builtin/fetch.c:156
-msgid "force overwrite of local reference"
-msgstr ""
-
-#: builtin/fetch.c:158
-msgid "fetch from multiple remotes"
-msgstr ""
-
-#: builtin/fetch.c:160 builtin/pull.c:199
-msgid "fetch all tags and associated objects"
-msgstr ""
-
-#: builtin/fetch.c:162
-msgid "do not fetch all tags (--no-tags)"
-msgstr ""
-
-#: builtin/fetch.c:164
-msgid "number of submodules fetched in parallel"
-msgstr ""
-
-#: builtin/fetch.c:166
-msgid "modify the refspec to place all refs within refs/prefetch/"
-msgstr ""
-
-#: builtin/fetch.c:168 builtin/pull.c:202
-msgid "prune remote-tracking branches no longer on remote"
-msgstr ""
-
-#: builtin/fetch.c:170
-msgid "prune local tags no longer on remote and clobber changed tags"
-msgstr ""
-
-#: builtin/fetch.c:171 builtin/fetch.c:199 builtin/pull.c:123
-msgid "on-demand"
-msgstr ""
-
-#: builtin/fetch.c:172
-msgid "control recursive fetching of submodules"
-msgstr ""
-
-#: builtin/fetch.c:177
-msgid "write fetched references to the FETCH_HEAD file"
-msgstr ""
-
-#: builtin/fetch.c:178 builtin/pull.c:210
-msgid "keep downloaded pack"
-msgstr ""
-
-#: builtin/fetch.c:180
-msgid "allow updating of HEAD ref"
-msgstr ""
-
-#: builtin/fetch.c:183 builtin/fetch.c:189 builtin/pull.c:213
-#: builtin/pull.c:222
-msgid "deepen history of shallow clone"
-msgstr ""
-
-#: builtin/fetch.c:185 builtin/pull.c:216
-msgid "deepen history of shallow repository based on time"
-msgstr ""
-
-#: builtin/fetch.c:191 builtin/pull.c:225
-msgid "convert to a complete repository"
-msgstr ""
-
-#: builtin/fetch.c:194
-msgid "re-fetch without negotiating common commits"
-msgstr ""
-
-#: builtin/fetch.c:197
-msgid "prepend this to submodule path output"
-msgstr ""
-
-#: builtin/fetch.c:200
-msgid ""
-"default for recursive fetching of submodules (lower priority than config "
-"files)"
-msgstr ""
-
-#: builtin/fetch.c:204 builtin/pull.c:228
-msgid "accept refs that update .git/shallow"
-msgstr ""
-
-#: builtin/fetch.c:205 builtin/pull.c:230
-msgid "refmap"
-msgstr ""
-
-#: builtin/fetch.c:206 builtin/pull.c:231
-msgid "specify fetch refmap"
-msgstr ""
-
-#: builtin/fetch.c:213 builtin/pull.c:244
-msgid "report that we have only objects reachable from this object"
-msgstr ""
-
-#: builtin/fetch.c:215
-msgid "do not fetch a packfile; instead, print ancestors of negotiation tips"
-msgstr ""
-
-#: builtin/fetch.c:218 builtin/fetch.c:220
-msgid "run 'maintenance --auto' after fetching"
-msgstr ""
-
-#: builtin/fetch.c:222 builtin/pull.c:247
-msgid "check for forced-updates on all updated branches"
-msgstr ""
-
-#: builtin/fetch.c:224
-msgid "write the commit-graph after fetching"
-msgstr ""
-
-#: builtin/fetch.c:226
-msgid "accept refspecs from stdin"
-msgstr ""
-
-#: builtin/fetch.c:618
-msgid "couldn't find remote ref HEAD"
-msgstr ""
-
-#: builtin/fetch.c:893
-#, c-format
-msgid "object %s not found"
-msgstr ""
-
-#: builtin/fetch.c:897
-msgid "[up to date]"
-msgstr ""
-
-#: builtin/fetch.c:909 builtin/fetch.c:927 builtin/fetch.c:999
-msgid "[rejected]"
-msgstr ""
-
-#: builtin/fetch.c:911
-msgid "can't fetch in current branch"
-msgstr ""
-
-#: builtin/fetch.c:912
-msgid "checked out in another worktree"
-msgstr ""
-
-#: builtin/fetch.c:922
-msgid "[tag update]"
-msgstr ""
-
-#: builtin/fetch.c:923 builtin/fetch.c:960 builtin/fetch.c:982
-#: builtin/fetch.c:994
-msgid "unable to update local ref"
-msgstr ""
-
-#: builtin/fetch.c:927
-msgid "would clobber existing tag"
-msgstr ""
-
-#: builtin/fetch.c:949
-msgid "[new tag]"
-msgstr ""
-
-#: builtin/fetch.c:952
-msgid "[new branch]"
-msgstr ""
-
-#: builtin/fetch.c:955
-msgid "[new ref]"
-msgstr ""
-
-#: builtin/fetch.c:994
-msgid "forced update"
-msgstr ""
-
-#: builtin/fetch.c:999
-msgid "non-fast-forward"
-msgstr ""
-
-#: builtin/fetch.c:1102
-msgid ""
-"fetch normally indicates which branches had a forced update,\n"
-"but that check has been disabled; to re-enable, use '--show-forced-updates'\n"
-"flag or run 'git config fetch.showForcedUpdates true'"
-msgstr ""
-
-#: builtin/fetch.c:1106
-#, c-format
-msgid ""
-"it took %.2f seconds to check forced updates; you can use\n"
-"'--no-show-forced-updates' or run 'git config fetch.showForcedUpdates "
-"false'\n"
-"to avoid this check\n"
-msgstr ""
-
-#: builtin/fetch.c:1136
-#, c-format
-msgid "%s did not send all necessary objects\n"
-msgstr ""
-
-#: builtin/fetch.c:1156
-#, c-format
-msgid "rejected %s because shallow roots are not allowed to be updated"
-msgstr ""
-
-#: builtin/fetch.c:1259 builtin/fetch.c:1418
-#, c-format
-msgid "From %.*s\n"
-msgstr ""
-
-#: builtin/fetch.c:1269
-#, c-format
-msgid ""
-"some local refs could not be updated; try running\n"
-" 'git remote prune %s' to remove any old, conflicting branches"
-msgstr ""
-
-#: builtin/fetch.c:1377
-#, c-format
-msgid "   (%s will become dangling)"
-msgstr ""
-
-#: builtin/fetch.c:1378
-#, c-format
-msgid "   (%s has become dangling)"
-msgstr ""
-
-#: builtin/fetch.c:1421
-msgid "[deleted]"
-msgstr ""
-
-#: builtin/fetch.c:1422 builtin/remote.c:1153
-msgid "(none)"
-msgstr ""
-
-#: builtin/fetch.c:1446
-#, c-format
-msgid "refusing to fetch into branch '%s' checked out at '%s'"
-msgstr ""
-
-#: builtin/fetch.c:1466
-#, c-format
-msgid "option \"%s\" value \"%s\" is not valid for %s"
-msgstr ""
-
-#: builtin/fetch.c:1469
-#, c-format
-msgid "option \"%s\" is ignored for %s\n"
-msgstr ""
-
-#: builtin/fetch.c:1496
-#, c-format
-msgid "the object %s does not exist"
-msgstr ""
-
-#: builtin/fetch.c:1748
-msgid "multiple branches detected, incompatible with --set-upstream"
-msgstr ""
-
-#: builtin/fetch.c:1760
-#, c-format
-msgid ""
-"could not set upstream of HEAD to '%s' from '%s' when it does not point to "
-"any branch."
-msgstr ""
-
-#: builtin/fetch.c:1773
-msgid "not setting upstream for a remote remote-tracking branch"
-msgstr ""
-
-#: builtin/fetch.c:1775
-msgid "not setting upstream for a remote tag"
-msgstr ""
-
-#: builtin/fetch.c:1777
-msgid "unknown branch type"
-msgstr ""
-
-#: builtin/fetch.c:1779
-msgid ""
-"no source branch found;\n"
-"you need to specify exactly one branch with the --set-upstream option"
-msgstr ""
-
-#: builtin/fetch.c:1904 builtin/fetch.c:1967
-#, c-format
-msgid "Fetching %s\n"
-msgstr ""
-
-#: builtin/fetch.c:1914 builtin/fetch.c:1969
-#, c-format
-msgid "could not fetch %s"
-msgstr ""
-
-#: builtin/fetch.c:1926
-#, c-format
-msgid "could not fetch '%s' (exit code: %d)\n"
-msgstr ""
-
-#: builtin/fetch.c:2030
-msgid ""
-"no remote repository specified; please specify either a URL or a\n"
-"remote name from which new revisions should be fetched"
-msgstr ""
-
-#: builtin/fetch.c:2066
-msgid "you need to specify a tag name"
-msgstr ""
-
-#: builtin/fetch.c:2156
-msgid "--negotiate-only needs one or more --negotiation-tip=*"
-msgstr ""
-
-#: builtin/fetch.c:2160
-msgid "negative depth in --deepen is not supported"
-msgstr ""
-
-#: builtin/fetch.c:2169
-msgid "--unshallow on a complete repository does not make sense"
-msgstr ""
-
-#: builtin/fetch.c:2186
-msgid "fetch --all does not take a repository argument"
-msgstr ""
-
-#: builtin/fetch.c:2188
-msgid "fetch --all does not make sense with refspecs"
-msgstr ""
-
-#: builtin/fetch.c:2197
-#, c-format
-msgid "no such remote or remote group: %s"
-msgstr ""
-
-#: builtin/fetch.c:2205
-msgid "fetching a group and specifying refspecs does not make sense"
-msgstr ""
-
-#: builtin/fetch.c:2221
-msgid "must supply remote when using --negotiate-only"
-msgstr ""
-
-#: builtin/fetch.c:2226
-msgid "protocol does not support --negotiate-only, exiting"
-msgstr ""
-
-#: builtin/fetch.c:2246
-msgid ""
-"--filter can only be used with the remote configured in extensions."
-"partialclone"
-msgstr ""
-
-#: builtin/fetch.c:2250
-msgid "--atomic can only be used when fetching from one remote"
-msgstr ""
-
-#: builtin/fetch.c:2254
-msgid "--stdin can only be used when fetching from one remote"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:7
-msgid ""
-"git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:19
-msgid "populate log with at most <n> entries from shortlog"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:22
-msgid "alias for --log (deprecated)"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:25
-msgid "text"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:26
-msgid "use <text> as start of message"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:28
-msgid "use <name> instead of the real target branch"
-msgstr ""
-
-#: builtin/fmt-merge-msg.c:29
-msgid "file to read from"
-msgstr ""
-
-#: builtin/for-each-ref.c:10
-msgid "git for-each-ref [<options>] [<pattern>]"
-msgstr ""
-
-#: builtin/for-each-ref.c:11
-msgid "git for-each-ref [--points-at <object>]"
-msgstr ""
-
-#: builtin/for-each-ref.c:12
-msgid "git for-each-ref [--merged [<commit>]] [--no-merged [<commit>]]"
-msgstr ""
-
-#: builtin/for-each-ref.c:13
-msgid "git for-each-ref [--contains [<commit>]] [--no-contains [<commit>]]"
-msgstr ""
-
-#: builtin/for-each-ref.c:31
-msgid "quote placeholders suitably for shells"
-msgstr ""
-
-#: builtin/for-each-ref.c:33
-msgid "quote placeholders suitably for perl"
-msgstr ""
-
-#: builtin/for-each-ref.c:35
-msgid "quote placeholders suitably for python"
-msgstr ""
-
-#: builtin/for-each-ref.c:37
-msgid "quote placeholders suitably for Tcl"
-msgstr ""
-
-#: builtin/for-each-ref.c:40
-msgid "show only <n> matched refs"
-msgstr ""
-
-#: builtin/for-each-ref.c:42 builtin/tag.c:482
-msgid "respect format colors"
-msgstr ""
-
-#: builtin/for-each-ref.c:45
-msgid "print only refs which points at the given object"
-msgstr ""
-
-#: builtin/for-each-ref.c:47
-msgid "print only refs that are merged"
-msgstr ""
-
-#: builtin/for-each-ref.c:48
-msgid "print only refs that are not merged"
-msgstr ""
-
-#: builtin/for-each-ref.c:49
-msgid "print only refs which contain the commit"
-msgstr ""
-
-#: builtin/for-each-ref.c:50
-msgid "print only refs which don't contain the commit"
-msgstr ""
-
-#: builtin/for-each-repo.c:9
-msgid "git for-each-repo --config=<config> <command-args>"
-msgstr ""
-
-#: builtin/for-each-repo.c:34
-msgid "config"
-msgstr ""
-
-#: builtin/for-each-repo.c:35
-msgid "config key storing a list of repository paths"
-msgstr ""
-
-#: builtin/for-each-repo.c:43
-msgid "missing --config=<config>"
-msgstr ""
-
-#: builtin/fsck.c:69 builtin/fsck.c:128 builtin/fsck.c:129
-msgid "unknown"
-msgstr ""
-
-#. TRANSLATORS: e.g. error in tree 01bfda: <more explanation>
-#: builtin/fsck.c:78 builtin/fsck.c:100
-#, c-format
-msgid "error in %s %s: %s"
-msgstr ""
-
-#. TRANSLATORS: e.g. warning in tree 01bfda: <more explanation>
-#: builtin/fsck.c:94
-#, c-format
-msgid "warning in %s %s: %s"
-msgstr ""
-
-#: builtin/fsck.c:124 builtin/fsck.c:127
-#, c-format
-msgid "broken link from %7s %s"
-msgstr ""
-
-#: builtin/fsck.c:136
-msgid "wrong object type in link"
-msgstr ""
-
-#: builtin/fsck.c:152
-#, c-format
-msgid ""
-"broken link from %7s %s\n"
-"              to %7s %s"
-msgstr ""
-
-#: builtin/fsck.c:264
-#, c-format
-msgid "missing %s %s"
-msgstr ""
-
-#: builtin/fsck.c:291
-#, c-format
-msgid "unreachable %s %s"
-msgstr ""
-
-#: builtin/fsck.c:311
-#, c-format
-msgid "dangling %s %s"
-msgstr ""
-
-#: builtin/fsck.c:321
-msgid "could not create lost-found"
-msgstr ""
-
-#: builtin/fsck.c:332
-#, c-format
-msgid "could not finish '%s'"
-msgstr ""
-
-#: builtin/fsck.c:349
-#, c-format
-msgid "Checking %s"
-msgstr ""
-
-#: builtin/fsck.c:387
-#, c-format
-msgid "Checking connectivity (%d objects)"
-msgstr ""
-
-#: builtin/fsck.c:406
-#, c-format
-msgid "Checking %s %s"
-msgstr ""
-
-#: builtin/fsck.c:411
-msgid "broken links"
-msgstr ""
-
-#: builtin/fsck.c:420
-#, c-format
-msgid "root %s"
-msgstr ""
-
-#: builtin/fsck.c:428
-#, c-format
-msgid "tagged %s %s (%s) in %s"
-msgstr ""
-
-#: builtin/fsck.c:457
-#, c-format
-msgid "%s: object corrupt or missing"
-msgstr ""
-
-#: builtin/fsck.c:482
-#, c-format
-msgid "%s: invalid reflog entry %s"
-msgstr ""
-
-#: builtin/fsck.c:496
-#, c-format
-msgid "Checking reflog %s->%s"
-msgstr ""
-
-#: builtin/fsck.c:530
-#, c-format
-msgid "%s: invalid sha1 pointer %s"
-msgstr ""
-
-#: builtin/fsck.c:537
-#, c-format
-msgid "%s: not a commit"
-msgstr ""
-
-#: builtin/fsck.c:591
-msgid "notice: No default references"
-msgstr ""
-
-#: builtin/fsck.c:621
-#, c-format
-msgid "%s: hash-path mismatch, found at: %s"
-msgstr ""
-
-#: builtin/fsck.c:624
-#, c-format
-msgid "%s: object corrupt or missing: %s"
-msgstr ""
-
-#: builtin/fsck.c:628
-#, c-format
-msgid "%s: object is of unknown type '%s': %s"
-msgstr ""
-
-#: builtin/fsck.c:645
-#, c-format
-msgid "%s: object could not be parsed: %s"
-msgstr ""
-
-#: builtin/fsck.c:665
-#, c-format
-msgid "bad sha1 file: %s"
-msgstr ""
-
-#: builtin/fsck.c:686
-msgid "Checking object directory"
-msgstr ""
-
-#: builtin/fsck.c:689
-msgid "Checking object directories"
-msgstr ""
-
-#: builtin/fsck.c:705
-#, c-format
-msgid "Checking %s link"
-msgstr ""
-
-#: builtin/fsck.c:710 builtin/index-pack.c:862
-#, c-format
-msgid "invalid %s"
-msgstr ""
-
-#: builtin/fsck.c:717
-#, c-format
-msgid "%s points to something strange (%s)"
-msgstr ""
-
-#: builtin/fsck.c:723
-#, c-format
-msgid "%s: detached HEAD points at nothing"
-msgstr ""
-
-#: builtin/fsck.c:727
-#, c-format
-msgid "notice: %s points to an unborn branch (%s)"
-msgstr ""
-
-#: builtin/fsck.c:739
-msgid "Checking cache tree"
-msgstr ""
-
-#: builtin/fsck.c:744
-#, c-format
-msgid "%s: invalid sha1 pointer in cache-tree"
-msgstr ""
-
-#: builtin/fsck.c:753
-msgid "non-tree in cache-tree"
-msgstr ""
-
-#: builtin/fsck.c:784
-msgid "git fsck [<options>] [<object>...]"
-msgstr ""
-
-#: builtin/fsck.c:790
-msgid "show unreachable objects"
-msgstr ""
-
-#: builtin/fsck.c:791
-msgid "show dangling objects"
-msgstr ""
-
-#: builtin/fsck.c:792
-msgid "report tags"
-msgstr ""
-
-#: builtin/fsck.c:793
-msgid "report root nodes"
-msgstr ""
-
-#: builtin/fsck.c:794
-msgid "make index objects head nodes"
-msgstr ""
-
-#: builtin/fsck.c:795
-msgid "make reflogs head nodes (default)"
-msgstr ""
-
-#: builtin/fsck.c:796
-msgid "also consider packs and alternate objects"
-msgstr ""
-
-#: builtin/fsck.c:797
-msgid "check only connectivity"
-msgstr ""
-
-#: builtin/fsck.c:798 builtin/mktag.c:75
-msgid "enable more strict checking"
-msgstr ""
-
-#: builtin/fsck.c:800
-msgid "write dangling objects in .git/lost-found"
-msgstr ""
-
-#: builtin/fsck.c:801 builtin/prune.c:146
-msgid "show progress"
-msgstr ""
-
-#: builtin/fsck.c:802
-msgid "show verbose names for reachable objects"
-msgstr ""
-
-#: builtin/fsck.c:862 builtin/index-pack.c:261
-msgid "Checking objects"
-msgstr ""
-
-#: builtin/fsck.c:890
-#, c-format
-msgid "%s: object missing"
-msgstr ""
-
-#: builtin/fsck.c:901
-#, c-format
-msgid "invalid parameter: expected sha1, got '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:13
-msgid "git fsmonitor--daemon start [<options>]"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:14
-msgid "git fsmonitor--daemon run [<options>]"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:15
-msgid "git fsmonitor--daemon stop"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:16
-msgid "git fsmonitor--daemon status"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:38 builtin/fsmonitor--daemon.c:47
-#, c-format
-msgid "value of '%s' out of range: %d"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:57
-#, c-format
-msgid "value of '%s' not bool or int: %d"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:99
-#, c-format
-msgid "fsmonitor-daemon is watching '%s'\n"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:104
-#, c-format
-msgid "fsmonitor-daemon is not watching '%s'\n"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:170
-#, c-format
-msgid "could not create fsmonitor cookie '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:753
-#, c-format
-msgid "fsmonitor: cookie_result '%d' != SEEN"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1187
-#, c-format
-msgid "could not start IPC thread pool on '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1199
-msgid "could not start fsmonitor listener thread"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1297
-msgid "could not initialize listener thread"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1328 builtin/fsmonitor--daemon.c:1383
-#, c-format
-msgid "fsmonitor--daemon is already running '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1332
-#, c-format
-msgid "running fsmonitor-daemon in '%s'\n"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1387
-#, c-format
-msgid "starting fsmonitor-daemon in '%s'\n"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1413
-msgid "daemon failed to start"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1416
-msgid "daemon not online yet"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1419
-msgid "daemon terminated"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1429
-msgid "detach from console"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1432
-msgid "use <n> ipc worker threads"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1435
-msgid "max seconds to wait for background daemon startup"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1449
-#, c-format
-msgid "invalid 'ipc-threads' value (%d)"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1464
-#, c-format
-msgid "Unhandled subcommand '%s'"
-msgstr ""
-
-#: builtin/fsmonitor--daemon.c:1477
-msgid "fsmonitor--daemon not supported on this platform"
-msgstr ""
-
-#: builtin/gc.c:39
-msgid "git gc [<options>]"
-msgstr ""
-
-#: builtin/gc.c:93
-#, c-format
-msgid "Failed to fstat %s: %s"
-msgstr ""
-
-#: builtin/gc.c:129
-#, c-format
-msgid "failed to parse '%s' value '%s'"
-msgstr ""
-
-#: builtin/gc.c:488 builtin/init-db.c:57
-#, c-format
-msgid "cannot stat '%s'"
-msgstr ""
-
-#: builtin/gc.c:504
-#, c-format
-msgid ""
-"The last gc run reported the following. Please correct the root cause\n"
-"and remove %s\n"
-"Automatic cleanup will not be performed until the file is removed.\n"
-"\n"
-"%s"
-msgstr ""
-
-#: builtin/gc.c:552
-msgid "prune unreferenced objects"
-msgstr ""
-
-#: builtin/gc.c:554
-msgid "be more thorough (increased runtime)"
-msgstr ""
-
-#: builtin/gc.c:555
-msgid "enable auto-gc mode"
-msgstr ""
-
-#: builtin/gc.c:558
-msgid "force running gc even if there may be another gc running"
-msgstr ""
-
-#: builtin/gc.c:561
-msgid "repack all other packs except the largest pack"
-msgstr ""
-
-#: builtin/gc.c:577
-#, c-format
-msgid "failed to parse gc.logexpiry value %s"
-msgstr ""
-
-#: builtin/gc.c:588
-#, c-format
-msgid "failed to parse prune expiry value %s"
-msgstr ""
-
-#: builtin/gc.c:608
-#, c-format
-msgid "Auto packing the repository in background for optimum performance.\n"
-msgstr ""
-
-#: builtin/gc.c:610
-#, c-format
-msgid "Auto packing the repository for optimum performance.\n"
-msgstr ""
-
-#: builtin/gc.c:611
-#, c-format
-msgid "See \"git help gc\" for manual housekeeping.\n"
-msgstr ""
-
-#: builtin/gc.c:652
-#, c-format
-msgid ""
-"gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
-msgstr ""
-
-#: builtin/gc.c:707
-msgid ""
-"There are too many unreachable loose objects; run 'git prune' to remove them."
-msgstr ""
-
-#: builtin/gc.c:717
-msgid ""
-"git maintenance run [--auto] [--[no-]quiet] [--task=<task>] [--schedule]"
-msgstr ""
-
-#: builtin/gc.c:747
-msgid "--no-schedule is not allowed"
-msgstr ""
-
-#: builtin/gc.c:752
-#, c-format
-msgid "unrecognized --schedule argument '%s'"
-msgstr ""
-
-#: builtin/gc.c:870
-msgid "failed to write commit-graph"
-msgstr ""
-
-#: builtin/gc.c:906
-msgid "failed to prefetch remotes"
-msgstr ""
-
-#: builtin/gc.c:1022
-msgid "failed to start 'git pack-objects' process"
-msgstr ""
-
-#: builtin/gc.c:1039
-msgid "failed to finish 'git pack-objects' process"
-msgstr ""
-
-#: builtin/gc.c:1090
-msgid "failed to write multi-pack-index"
-msgstr ""
-
-#: builtin/gc.c:1106
-msgid "'git multi-pack-index expire' failed"
-msgstr ""
-
-#: builtin/gc.c:1165
-msgid "'git multi-pack-index repack' failed"
-msgstr ""
-
-#: builtin/gc.c:1174
-msgid ""
-"skipping incremental-repack task because core.multiPackIndex is disabled"
-msgstr ""
-
-#: builtin/gc.c:1278
-#, c-format
-msgid "lock file '%s' exists, skipping maintenance"
-msgstr ""
-
-#: builtin/gc.c:1308
-#, c-format
-msgid "task '%s' failed"
-msgstr ""
-
-#: builtin/gc.c:1390
-#, c-format
-msgid "'%s' is not a valid task"
-msgstr ""
-
-#: builtin/gc.c:1395
-#, c-format
-msgid "task '%s' cannot be selected multiple times"
-msgstr ""
-
-#: builtin/gc.c:1410
-msgid "run tasks based on the state of the repository"
-msgstr ""
-
-#: builtin/gc.c:1411
-msgid "frequency"
-msgstr ""
-
-#: builtin/gc.c:1412
-msgid "run tasks based on frequency"
-msgstr ""
-
-#: builtin/gc.c:1415
-msgid "do not report progress or other information over stderr"
-msgstr ""
-
-#: builtin/gc.c:1416
-msgid "task"
-msgstr ""
-
-#: builtin/gc.c:1417
-msgid "run a specific task"
-msgstr ""
-
-#: builtin/gc.c:1434
-msgid "use at most one of --auto and --schedule=<frequency>"
-msgstr ""
-
-#: builtin/gc.c:1477
-msgid "failed to run 'git config'"
-msgstr ""
-
-#: builtin/gc.c:1629
-#, c-format
-msgid "failed to expand path '%s'"
-msgstr ""
-
-#: builtin/gc.c:1656 builtin/gc.c:1694
-msgid "failed to start launchctl"
-msgstr ""
-
-#: builtin/gc.c:1769 builtin/gc.c:2237
-#, c-format
-msgid "failed to create directories for '%s'"
-msgstr ""
-
-#: builtin/gc.c:1796
-#, c-format
-msgid "failed to bootstrap service %s"
-msgstr ""
-
-#: builtin/gc.c:1889
-msgid "failed to create temp xml file"
-msgstr ""
-
-#: builtin/gc.c:1979
-msgid "failed to start schtasks"
-msgstr ""
-
-#: builtin/gc.c:2063
-msgid "failed to run 'crontab -l'; your system might not support 'cron'"
-msgstr ""
-
-#: builtin/gc.c:2080
-msgid "failed to run 'crontab'; your system might not support 'cron'"
-msgstr ""
-
-#: builtin/gc.c:2084
-msgid "failed to open stdin of 'crontab'"
-msgstr ""
-
-#: builtin/gc.c:2126
-msgid "'crontab' died"
-msgstr ""
-
-#: builtin/gc.c:2191
-msgid "failed to start systemctl"
-msgstr ""
-
-#: builtin/gc.c:2201
-msgid "failed to run systemctl"
-msgstr ""
-
-#: builtin/gc.c:2210 builtin/gc.c:2215 builtin/worktree.c:63
-#: builtin/worktree.c:1024
-#, c-format
-msgid "failed to delete '%s'"
-msgstr ""
-
-#: builtin/gc.c:2395
-#, c-format
-msgid "unrecognized --scheduler argument '%s'"
-msgstr ""
-
-#: builtin/gc.c:2420
-msgid "neither systemd timers nor crontab are available"
-msgstr ""
-
-#: builtin/gc.c:2435
-#, c-format
-msgid "%s scheduler is not available"
-msgstr ""
-
-#: builtin/gc.c:2449
-msgid "another process is scheduling background maintenance"
-msgstr ""
-
-#: builtin/gc.c:2471
-msgid "git maintenance start [--scheduler=<scheduler>]"
-msgstr ""
-
-#: builtin/gc.c:2480
-msgid "scheduler"
-msgstr ""
-
-#: builtin/gc.c:2481
-msgid "scheduler to trigger git maintenance run"
-msgstr ""
-
-#: builtin/gc.c:2495
-msgid "failed to add repo to global config"
-msgstr ""
-
-#: builtin/gc.c:2504
-msgid "git maintenance <subcommand> [<options>]"
-msgstr ""
-
-#: builtin/gc.c:2523
-#, c-format
-msgid "invalid subcommand: %s"
-msgstr ""
-
-#: builtin/grep.c:32
-msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
-msgstr ""
-
-#: builtin/grep.c:241
-#, c-format
-msgid "grep: failed to create thread: %s"
-msgstr ""
-
-#: builtin/grep.c:295
-#, c-format
-msgid "invalid number of threads specified (%d) for %s"
-msgstr ""
-
-#. TRANSLATORS: %s is the configuration
-#. variable for tweaking threads, currently
-#. grep.threads
-#.
-#: builtin/grep.c:303 builtin/index-pack.c:1587 builtin/index-pack.c:1791
-#: builtin/pack-objects.c:3150
-#, c-format
-msgid "no threads support, ignoring %s"
-msgstr ""
-
-#: builtin/grep.c:490 builtin/grep.c:619 builtin/grep.c:659
-#, c-format
-msgid "unable to read tree (%s)"
-msgstr ""
-
-#: builtin/grep.c:674
-#, c-format
-msgid "unable to grep from object of type %s"
-msgstr ""
-
-#: builtin/grep.c:754
-#, c-format
-msgid "switch `%c' expects a numerical value"
-msgstr ""
-
-#: builtin/grep.c:852
-msgid "search in index instead of in the work tree"
-msgstr ""
-
-#: builtin/grep.c:854
-msgid "find in contents not managed by git"
-msgstr ""
-
-#: builtin/grep.c:856
-msgid "search in both tracked and untracked files"
-msgstr ""
-
-#: builtin/grep.c:858
-msgid "ignore files specified via '.gitignore'"
-msgstr ""
-
-#: builtin/grep.c:860
-msgid "recursively search in each submodule"
-msgstr ""
-
-#: builtin/grep.c:863
-msgid "show non-matching lines"
-msgstr ""
-
-#: builtin/grep.c:865
-msgid "case insensitive matching"
-msgstr ""
-
-#: builtin/grep.c:867
-msgid "match patterns only at word boundaries"
-msgstr ""
-
-#: builtin/grep.c:869
-msgid "process binary files as text"
-msgstr ""
-
-#: builtin/grep.c:871
-msgid "don't match patterns in binary files"
-msgstr ""
-
-#: builtin/grep.c:874
-msgid "process binary files with textconv filters"
-msgstr ""
-
-#: builtin/grep.c:876
-msgid "search in subdirectories (default)"
-msgstr ""
-
-#: builtin/grep.c:878
-msgid "descend at most <depth> levels"
-msgstr ""
-
-#: builtin/grep.c:882
-msgid "use extended POSIX regular expressions"
-msgstr ""
-
-#: builtin/grep.c:885
-msgid "use basic POSIX regular expressions (default)"
-msgstr ""
-
-#: builtin/grep.c:888
-msgid "interpret patterns as fixed strings"
-msgstr ""
-
-#: builtin/grep.c:891
-msgid "use Perl-compatible regular expressions"
-msgstr ""
-
-#: builtin/grep.c:894
-msgid "show line numbers"
-msgstr ""
-
-#: builtin/grep.c:895
-msgid "show column number of first match"
-msgstr ""
-
-#: builtin/grep.c:896
-msgid "don't show filenames"
-msgstr ""
-
-#: builtin/grep.c:897
-msgid "show filenames"
-msgstr ""
-
-#: builtin/grep.c:899
-msgid "show filenames relative to top directory"
-msgstr ""
-
-#: builtin/grep.c:901
-msgid "show only filenames instead of matching lines"
-msgstr ""
-
-#: builtin/grep.c:903
-msgid "synonym for --files-with-matches"
-msgstr ""
-
-#: builtin/grep.c:906
-msgid "show only the names of files without match"
-msgstr ""
-
-#: builtin/grep.c:908
-msgid "print NUL after filenames"
-msgstr ""
-
-#: builtin/grep.c:911
-msgid "show only matching parts of a line"
-msgstr ""
-
-#: builtin/grep.c:913
-msgid "show the number of matches instead of matching lines"
-msgstr ""
-
-#: builtin/grep.c:914
-msgid "highlight matches"
-msgstr ""
-
-#: builtin/grep.c:916
-msgid "print empty line between matches from different files"
-msgstr ""
-
-#: builtin/grep.c:918
-msgid "show filename only once above matches from same file"
-msgstr ""
-
-#: builtin/grep.c:921
-msgid "show <n> context lines before and after matches"
-msgstr ""
-
-#: builtin/grep.c:924
-msgid "show <n> context lines before matches"
-msgstr ""
-
-#: builtin/grep.c:926
-msgid "show <n> context lines after matches"
-msgstr ""
-
-#: builtin/grep.c:928
-msgid "use <n> worker threads"
-msgstr ""
-
-#: builtin/grep.c:929
-msgid "shortcut for -C NUM"
-msgstr ""
-
-#: builtin/grep.c:932
-msgid "show a line with the function name before matches"
-msgstr ""
-
-#: builtin/grep.c:934
-msgid "show the surrounding function"
-msgstr ""
-
-#: builtin/grep.c:937
-msgid "read patterns from file"
-msgstr ""
-
-#: builtin/grep.c:939
-msgid "match <pattern>"
-msgstr ""
-
-#: builtin/grep.c:941
-msgid "combine patterns specified with -e"
-msgstr ""
-
-#: builtin/grep.c:953
-msgid "indicate hit with exit status without output"
-msgstr ""
-
-#: builtin/grep.c:955
-msgid "show only matches from files that match all patterns"
-msgstr ""
-
-#: builtin/grep.c:958
-msgid "pager"
-msgstr ""
-
-#: builtin/grep.c:958
-msgid "show matching files in the pager"
-msgstr ""
-
-#: builtin/grep.c:962
-msgid "allow calling of grep(1) (ignored by this build)"
-msgstr ""
-
-#: builtin/grep.c:1028
-msgid "no pattern given"
-msgstr ""
-
-#: builtin/grep.c:1064
-msgid "--no-index or --untracked cannot be used with revs"
-msgstr ""
-
-#: builtin/grep.c:1072
-#, c-format
-msgid "unable to resolve revision: %s"
-msgstr ""
-
-#: builtin/grep.c:1102
-msgid "--untracked not supported with --recurse-submodules"
-msgstr ""
-
-#: builtin/grep.c:1106
-msgid "invalid option combination, ignoring --threads"
-msgstr ""
-
-#: builtin/grep.c:1109 builtin/pack-objects.c:4084
-msgid "no threads support, ignoring --threads"
-msgstr ""
-
-#: builtin/grep.c:1112 builtin/index-pack.c:1584 builtin/pack-objects.c:3147
-#, c-format
-msgid "invalid number of threads specified (%d)"
-msgstr ""
-
-#: builtin/grep.c:1146
-msgid "--open-files-in-pager only works on the worktree"
-msgstr ""
-
-#: builtin/grep.c:1179
-msgid "--[no-]exclude-standard cannot be used for tracked contents"
-msgstr ""
-
-#: builtin/grep.c:1187
-msgid "both --cached and trees are given"
-msgstr ""
-
-#: builtin/hash-object.c:83
-msgid ""
-"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
-"[--] <file>..."
-msgstr ""
-
-#: builtin/hash-object.c:97
-msgid "object type"
-msgstr ""
-
-#: builtin/hash-object.c:98
-msgid "write the object into the object database"
-msgstr ""
-
-#: builtin/hash-object.c:100
-msgid "read the object from stdin"
-msgstr ""
-
-#: builtin/hash-object.c:102
-msgid "store file as is without filters"
-msgstr ""
-
-#: builtin/hash-object.c:103
-msgid ""
-"just hash any random garbage to create corrupt objects for debugging Git"
-msgstr ""
-
-#: builtin/hash-object.c:104
-msgid "process file as it were from this path"
-msgstr ""
-
-#: builtin/help.c:57
-msgid "print all available commands"
-msgstr ""
-
-#: builtin/help.c:60
-msgid "show external commands in --all"
-msgstr ""
-
-#: builtin/help.c:61
-msgid "show aliases in --all"
-msgstr ""
-
-#: builtin/help.c:62
-msgid "exclude guides"
-msgstr ""
-
-#: builtin/help.c:63
-msgid "show man page"
-msgstr ""
-
-#: builtin/help.c:64
-msgid "show manual in web browser"
-msgstr ""
-
-#: builtin/help.c:66
-msgid "show info page"
-msgstr ""
-
-#: builtin/help.c:68
-msgid "print command description"
-msgstr ""
-
-#: builtin/help.c:70
-msgid "print list of useful guides"
-msgstr ""
-
-#: builtin/help.c:72
-msgid "print all configuration variable names"
-msgstr ""
-
-#: builtin/help.c:84
-msgid "git help [[-i|--info] [-m|--man] [-w|--web]] [<command>]"
-msgstr ""
-
-#: builtin/help.c:201
-#, c-format
-msgid "unrecognized help format '%s'"
-msgstr ""
-
-#: builtin/help.c:227
-msgid "Failed to start emacsclient."
-msgstr ""
-
-#: builtin/help.c:240
-msgid "Failed to parse emacsclient version."
-msgstr ""
-
-#: builtin/help.c:248
-#, c-format
-msgid "emacsclient version '%d' too old (< 22)."
-msgstr ""
-
-#: builtin/help.c:266 builtin/help.c:288 builtin/help.c:298 builtin/help.c:306
-#, c-format
-msgid "failed to exec '%s'"
-msgstr ""
-
-#: builtin/help.c:344
-#, c-format
-msgid ""
-"'%s': path for unsupported man viewer.\n"
-"Please consider using 'man.<tool>.cmd' instead."
-msgstr ""
-
-#: builtin/help.c:356
-#, c-format
-msgid ""
-"'%s': cmd for supported man viewer.\n"
-"Please consider using 'man.<tool>.path' instead."
-msgstr ""
-
-#: builtin/help.c:471
-#, c-format
-msgid "'%s': unknown man viewer."
-msgstr ""
-
-#: builtin/help.c:487
-msgid "no man viewer handled the request"
-msgstr ""
-
-#: builtin/help.c:494
-msgid "no info viewer handled the request"
-msgstr ""
-
-#: builtin/help.c:555 builtin/help.c:566 git.c:348
-#, c-format
-msgid "'%s' is aliased to '%s'"
-msgstr ""
-
-#: builtin/help.c:569 git.c:380
-#, c-format
-msgid "bad alias.%s string: %s"
-msgstr ""
-
-#: builtin/help.c:611
-#, c-format
-msgid "the '%s' option doesn't take any non-option arguments"
-msgstr ""
-
-#: builtin/help.c:631
-msgid ""
-"the '--no-[external-commands|aliases]' options can only be used with '--all'"
-msgstr ""
-
-#: builtin/help.c:643 builtin/help.c:671
-#, c-format
-msgid "usage: %s%s"
-msgstr ""
-
-#: builtin/help.c:666
-msgid "'git help config' for more information"
-msgstr ""
-
-#: builtin/hook.c:10
-msgid "git hook run [--ignore-missing] <hook-name> [-- <hook-args>]"
-msgstr ""
-
-#: builtin/hook.c:30
-msgid "silently ignore missing requested <hook-name>"
-msgstr ""
-
-#: builtin/index-pack.c:221
-#, c-format
-msgid "object type mismatch at %s"
-msgstr ""
-
-#: builtin/index-pack.c:241
-#, c-format
-msgid "did not receive expected object %s"
-msgstr ""
-
-#: builtin/index-pack.c:244
-#, c-format
-msgid "object %s: expected type %s, found %s"
-msgstr ""
-
-#: builtin/index-pack.c:294
-#, c-format
-msgid "cannot fill %d byte"
-msgid_plural "cannot fill %d bytes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:304
-msgid "early EOF"
-msgstr ""
-
-#: builtin/index-pack.c:305
-msgid "read error on input"
-msgstr ""
-
-#: builtin/index-pack.c:317
-msgid "used more bytes than were available"
-msgstr ""
-
-#: builtin/index-pack.c:324 builtin/pack-objects.c:754
-msgid "pack too large for current definition of off_t"
-msgstr ""
-
-#: builtin/index-pack.c:329
-#, c-format
-msgid "pack exceeds maximum allowed size (%s)"
-msgstr ""
-
-#: builtin/index-pack.c:362
-msgid "pack signature mismatch"
-msgstr ""
-
-#: builtin/index-pack.c:364
-#, c-format
-msgid "pack version %<PRIu32> unsupported"
-msgstr ""
-
-#: builtin/index-pack.c:380
-#, c-format
-msgid "pack has bad object at offset %<PRIuMAX>: %s"
-msgstr ""
-
-#: builtin/index-pack.c:485
-#, c-format
-msgid "inflate returned %d"
-msgstr ""
-
-#: builtin/index-pack.c:534
-msgid "offset value overflow for delta base object"
-msgstr ""
-
-#: builtin/index-pack.c:542
-msgid "delta base offset is out of bound"
-msgstr ""
-
-#: builtin/index-pack.c:550
-#, c-format
-msgid "unknown object type %d"
-msgstr ""
-
-#: builtin/index-pack.c:581
-msgid "cannot pread pack file"
-msgstr ""
-
-#: builtin/index-pack.c:583
-#, c-format
-msgid "premature end of pack file, %<PRIuMAX> byte missing"
-msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:609
-msgid "serious inflate inconsistency"
-msgstr ""
-
-#: builtin/index-pack.c:754 builtin/index-pack.c:760 builtin/index-pack.c:784
-#: builtin/index-pack.c:823 builtin/index-pack.c:832
-#, c-format
-msgid "SHA1 COLLISION FOUND WITH %s !"
-msgstr ""
-
-#: builtin/index-pack.c:757 builtin/pack-objects.c:290
-#: builtin/pack-objects.c:350 builtin/pack-objects.c:456
-#, c-format
-msgid "unable to read %s"
-msgstr ""
-
-#: builtin/index-pack.c:821
-#, c-format
-msgid "cannot read existing object info %s"
-msgstr ""
-
-#: builtin/index-pack.c:829
-#, c-format
-msgid "cannot read existing object %s"
-msgstr ""
-
-#: builtin/index-pack.c:843
-#, c-format
-msgid "invalid blob object %s"
-msgstr ""
-
-#: builtin/index-pack.c:846 builtin/index-pack.c:865
-msgid "fsck error in packed object"
-msgstr ""
-
-#: builtin/index-pack.c:867
-#, c-format
-msgid "Not all child objects of %s are reachable"
-msgstr ""
-
-#: builtin/index-pack.c:928 builtin/index-pack.c:975
-msgid "failed to apply delta"
-msgstr ""
-
-#: builtin/index-pack.c:1161
-msgid "Receiving objects"
-msgstr ""
-
-#: builtin/index-pack.c:1161
-msgid "Indexing objects"
-msgstr ""
-
-#: builtin/index-pack.c:1195
-msgid "pack is corrupted (SHA1 mismatch)"
-msgstr ""
-
-#: builtin/index-pack.c:1200
-msgid "cannot fstat packfile"
-msgstr ""
-
-#: builtin/index-pack.c:1203
-msgid "pack has junk at the end"
-msgstr ""
-
-#: builtin/index-pack.c:1215
-msgid "confusion beyond insanity in parse_pack_objects()"
-msgstr ""
-
-#: builtin/index-pack.c:1238
-msgid "Resolving deltas"
-msgstr ""
-
-#: builtin/index-pack.c:1249 builtin/pack-objects.c:2913
-#, c-format
-msgid "unable to create thread: %s"
-msgstr ""
-
-#: builtin/index-pack.c:1282
-msgid "confusion beyond insanity"
-msgstr ""
-
-#: builtin/index-pack.c:1288
-#, c-format
-msgid "completed with %d local object"
-msgid_plural "completed with %d local objects"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:1300
-#, c-format
-msgid "Unexpected tail checksum for %s (disk corruption?)"
-msgstr ""
-
-#: builtin/index-pack.c:1304
-#, c-format
-msgid "pack has %d unresolved delta"
-msgid_plural "pack has %d unresolved deltas"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:1328
-#, c-format
-msgid "unable to deflate appended object (%d)"
-msgstr ""
-
-#: builtin/index-pack.c:1423
-#, c-format
-msgid "local object %s is corrupt"
-msgstr ""
-
-#: builtin/index-pack.c:1445
-#, c-format
-msgid "packfile name '%s' does not end with '.%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1469
-#, c-format
-msgid "cannot write %s file '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1477
-#, c-format
-msgid "cannot close written %s file '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1494
-#, c-format
-msgid "unable to rename temporary '*.%s' file to '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1519
-msgid "error while closing pack file"
-msgstr ""
-
-#: builtin/index-pack.c:1578 builtin/pack-objects.c:3158
-#, c-format
-msgid "bad pack.indexversion=%<PRIu32>"
-msgstr ""
-
-#: builtin/index-pack.c:1648
-#, c-format
-msgid "Cannot open existing pack file '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1650
-#, c-format
-msgid "Cannot open existing pack idx file for '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1698
-#, c-format
-msgid "non delta: %d object"
-msgid_plural "non delta: %d objects"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:1705
-#, c-format
-msgid "chain length = %d: %lu object"
-msgid_plural "chain length = %d: %lu objects"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/index-pack.c:1748
-msgid "Cannot come back to cwd"
-msgstr ""
-
-#: builtin/index-pack.c:1802 builtin/index-pack.c:1805
-#: builtin/index-pack.c:1825 builtin/index-pack.c:1829
-#, c-format
-msgid "bad %s"
-msgstr ""
-
-#: builtin/index-pack.c:1835 builtin/init-db.c:379 builtin/init-db.c:614
-#, c-format
-msgid "unknown hash algorithm '%s'"
-msgstr ""
-
-#: builtin/index-pack.c:1856
-msgid "--stdin requires a git repository"
-msgstr ""
-
-#: builtin/index-pack.c:1873
-msgid "--verify with no packfile name given"
-msgstr ""
-
-#: builtin/index-pack.c:1939 builtin/unpack-objects.c:584
-msgid "fsck error in pack objects"
-msgstr ""
-
-#: builtin/init-db.c:63
-#, c-format
-msgid "cannot stat template '%s'"
-msgstr ""
-
-#: builtin/init-db.c:68
-#, c-format
-msgid "cannot opendir '%s'"
-msgstr ""
-
-#: builtin/init-db.c:80
-#, c-format
-msgid "cannot readlink '%s'"
-msgstr ""
-
-#: builtin/init-db.c:82
-#, c-format
-msgid "cannot symlink '%s' '%s'"
-msgstr ""
-
-#: builtin/init-db.c:88
-#, c-format
-msgid "cannot copy '%s' to '%s'"
-msgstr ""
-
-#: builtin/init-db.c:92
-#, c-format
-msgid "ignoring template %s"
-msgstr ""
-
-#: builtin/init-db.c:123
-#, c-format
-msgid "templates not found in %s"
-msgstr ""
-
-#: builtin/init-db.c:138
-#, c-format
-msgid "not copying templates from '%s': %s"
-msgstr ""
-
-#: builtin/init-db.c:263
-#, c-format
-msgid "invalid initial branch name: '%s'"
-msgstr ""
-
-#: builtin/init-db.c:354
-#, c-format
-msgid "unable to handle file type %d"
-msgstr ""
-
-#: builtin/init-db.c:357
-#, c-format
-msgid "unable to move %s to %s"
-msgstr ""
-
-#: builtin/init-db.c:373
-msgid "attempt to reinitialize repository with different hash"
-msgstr ""
-
-#: builtin/init-db.c:397 builtin/init-db.c:400
-#, c-format
-msgid "%s already exists"
-msgstr ""
-
-#: builtin/init-db.c:432
-#, c-format
-msgid "re-init: ignored --initial-branch=%s"
-msgstr ""
-
-#: builtin/init-db.c:463
-#, c-format
-msgid "Reinitialized existing shared Git repository in %s%s\n"
-msgstr ""
-
-#: builtin/init-db.c:464
-#, c-format
-msgid "Reinitialized existing Git repository in %s%s\n"
-msgstr ""
-
-#: builtin/init-db.c:468
-#, c-format
-msgid "Initialized empty shared Git repository in %s%s\n"
-msgstr ""
-
-#: builtin/init-db.c:469
-#, c-format
-msgid "Initialized empty Git repository in %s%s\n"
-msgstr ""
-
-#: builtin/init-db.c:518
-msgid ""
-"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
-"shared[=<permissions>]] [<directory>]"
-msgstr ""
-
-#: builtin/init-db.c:544
-msgid "permissions"
-msgstr ""
-
-#: builtin/init-db.c:545
-msgid "specify that the git repository is to be shared amongst several users"
-msgstr ""
-
-#: builtin/init-db.c:551
-msgid "override the name of the initial branch"
-msgstr ""
-
-#: builtin/init-db.c:552 builtin/verify-pack.c:74
-msgid "hash"
-msgstr ""
-
-#: builtin/init-db.c:553 builtin/show-index.c:22 builtin/verify-pack.c:75
-msgid "specify the hash algorithm to use"
-msgstr ""
-
-#: builtin/init-db.c:591 builtin/init-db.c:596
-#, c-format
-msgid "cannot mkdir %s"
-msgstr ""
-
-#: builtin/init-db.c:600 builtin/init-db.c:655
-#, c-format
-msgid "cannot chdir to %s"
-msgstr ""
-
-#: builtin/init-db.c:627
-#, c-format
-msgid ""
-"%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
-"dir=<directory>)"
-msgstr ""
-
-#: builtin/init-db.c:679
-#, c-format
-msgid "Cannot access work tree '%s'"
-msgstr ""
-
-#: builtin/init-db.c:684
-msgid "--separate-git-dir incompatible with bare repository"
-msgstr ""
-
-#: builtin/interpret-trailers.c:16
-msgid ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<token>[(=|:)<value>])...] [<file>...]"
-msgstr ""
-
-#: builtin/interpret-trailers.c:95
-msgid "edit files in place"
-msgstr ""
-
-#: builtin/interpret-trailers.c:96
-msgid "trim empty trailers"
-msgstr ""
-
-#: builtin/interpret-trailers.c:99
-msgid "where to place the new trailer"
-msgstr ""
-
-#: builtin/interpret-trailers.c:101
-msgid "action if trailer already exists"
-msgstr ""
-
-#: builtin/interpret-trailers.c:103
-msgid "action if trailer is missing"
-msgstr ""
-
-#: builtin/interpret-trailers.c:105
-msgid "output only the trailers"
-msgstr ""
-
-#: builtin/interpret-trailers.c:106
-msgid "do not apply config rules"
-msgstr ""
-
-#: builtin/interpret-trailers.c:107
-msgid "join whitespace-continued values"
-msgstr ""
-
-#: builtin/interpret-trailers.c:108
-msgid "set parsing options"
-msgstr ""
-
-#: builtin/interpret-trailers.c:110
-msgid "do not treat --- specially"
-msgstr ""
-
-#: builtin/interpret-trailers.c:112
-msgid "trailer(s) to add"
-msgstr ""
-
-#: builtin/interpret-trailers.c:123
-msgid "--trailer with --only-input does not make sense"
-msgstr ""
-
-#: builtin/interpret-trailers.c:133
-msgid "no input file given for in-place editing"
-msgstr ""
-
-#: builtin/log.c:60
-msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
-msgstr ""
-
-#: builtin/log.c:61
-msgid "git show [<options>] <object>..."
-msgstr ""
-
-#: builtin/log.c:114
-#, c-format
-msgid "invalid --decorate option: %s"
-msgstr ""
-
-#: builtin/log.c:181
-msgid "show source"
-msgstr ""
-
-#: builtin/log.c:182
-msgid "use mail map file"
-msgstr ""
-
-#: builtin/log.c:185
-msgid "only decorate refs that match <pattern>"
-msgstr ""
-
-#: builtin/log.c:187
-msgid "do not decorate refs that match <pattern>"
-msgstr ""
-
-#: builtin/log.c:188
-msgid "decorate options"
-msgstr ""
-
-#: builtin/log.c:191
-msgid ""
-"trace the evolution of line range <start>,<end> or function :<funcname> in "
-"<file>"
-msgstr ""
-
-#: builtin/log.c:214
-msgid "-L<range>:<file> cannot be used with pathspec"
-msgstr ""
-
-#: builtin/log.c:322
-#, c-format
-msgid "Final output: %d %s\n"
-msgstr ""
-
-#: builtin/log.c:429
-msgid "unable to create temporary object directory"
-msgstr ""
-
-#: builtin/log.c:599
-#, c-format
-msgid "git show %s: bad file"
-msgstr ""
-
-#: builtin/log.c:614 builtin/log.c:706
-#, c-format
-msgid "could not read object %s"
-msgstr ""
-
-#: builtin/log.c:731
-#, c-format
-msgid "unknown type: %d"
-msgstr ""
-
-#: builtin/log.c:880
-#, c-format
-msgid "%s: invalid cover from description mode"
-msgstr ""
-
-#: builtin/log.c:887
-msgid "format.headers without value"
-msgstr ""
-
-#: builtin/log.c:1016
-#, c-format
-msgid "cannot open patch file %s"
-msgstr ""
-
-#: builtin/log.c:1033
-msgid "need exactly one range"
-msgstr ""
-
-#: builtin/log.c:1043
-msgid "not a range"
-msgstr ""
-
-#: builtin/log.c:1207
-msgid "cover letter needs email format"
-msgstr ""
-
-#: builtin/log.c:1213
-msgid "failed to create cover-letter file"
-msgstr ""
-
-#: builtin/log.c:1300
-#, c-format
-msgid "insane in-reply-to: %s"
-msgstr ""
-
-#: builtin/log.c:1327
-msgid "git format-patch [<options>] [<since> | <revision-range>]"
-msgstr ""
-
-#: builtin/log.c:1385
-msgid "two output directories?"
-msgstr ""
-
-#: builtin/log.c:1536 builtin/log.c:2369 builtin/log.c:2371 builtin/log.c:2383
-#, c-format
-msgid "unknown commit %s"
-msgstr ""
-
-#: builtin/log.c:1547 builtin/replace.c:58 builtin/replace.c:207
-#: builtin/replace.c:210
-#, c-format
-msgid "failed to resolve '%s' as a valid ref"
-msgstr ""
-
-#: builtin/log.c:1556
-msgid "could not find exact merge base"
-msgstr ""
-
-#: builtin/log.c:1566
-msgid ""
-"failed to get upstream, if you want to record base commit automatically,\n"
-"please use git branch --set-upstream-to to track a remote branch.\n"
-"Or you could specify base commit by --base=<base-commit-id> manually"
-msgstr ""
-
-#: builtin/log.c:1589
-msgid "failed to find exact merge base"
-msgstr ""
-
-#: builtin/log.c:1606
-msgid "base commit should be the ancestor of revision list"
-msgstr ""
-
-#: builtin/log.c:1616
-msgid "base commit shouldn't be in revision list"
-msgstr ""
-
-#: builtin/log.c:1674
-msgid "cannot get patch id"
-msgstr ""
-
-#: builtin/log.c:1737
-msgid "failed to infer range-diff origin of current series"
-msgstr ""
-
-#: builtin/log.c:1739
-#, c-format
-msgid "using '%s' as range-diff origin of current series"
-msgstr ""
-
-#: builtin/log.c:1783
-msgid "use [PATCH n/m] even with a single patch"
-msgstr ""
-
-#: builtin/log.c:1786
-msgid "use [PATCH] even with multiple patches"
-msgstr ""
-
-#: builtin/log.c:1790
-msgid "print patches to standard out"
-msgstr ""
-
-#: builtin/log.c:1792
-msgid "generate a cover letter"
-msgstr ""
-
-#: builtin/log.c:1794
-msgid "use simple number sequence for output file names"
-msgstr ""
-
-#: builtin/log.c:1795
-msgid "sfx"
-msgstr ""
-
-#: builtin/log.c:1796
-msgid "use <sfx> instead of '.patch'"
-msgstr ""
-
-#: builtin/log.c:1798
-msgid "start numbering patches at <n> instead of 1"
-msgstr ""
-
-#: builtin/log.c:1799
-msgid "reroll-count"
-msgstr ""
-
-#: builtin/log.c:1800
-msgid "mark the series as Nth re-roll"
-msgstr ""
-
-#: builtin/log.c:1802
-msgid "max length of output filename"
-msgstr ""
-
-#: builtin/log.c:1804
-msgid "use [RFC PATCH] instead of [PATCH]"
-msgstr ""
-
-#: builtin/log.c:1807
-msgid "cover-from-description-mode"
-msgstr ""
-
-#: builtin/log.c:1808
-msgid "generate parts of a cover letter based on a branch's description"
-msgstr ""
-
-#: builtin/log.c:1810
-msgid "use [<prefix>] instead of [PATCH]"
-msgstr ""
-
-#: builtin/log.c:1813
-msgid "store resulting files in <dir>"
-msgstr ""
-
-#: builtin/log.c:1816
-msgid "don't strip/add [PATCH]"
-msgstr ""
-
-#: builtin/log.c:1819
-msgid "don't output binary diffs"
-msgstr ""
-
-#: builtin/log.c:1821
-msgid "output all-zero hash in From header"
-msgstr ""
-
-#: builtin/log.c:1823
-msgid "don't include a patch matching a commit upstream"
-msgstr ""
-
-#: builtin/log.c:1825
-msgid "show patch format instead of default (patch + stat)"
-msgstr ""
-
-#: builtin/log.c:1827
-msgid "Messaging"
-msgstr ""
-
-#: builtin/log.c:1828
-msgid "header"
-msgstr ""
-
-#: builtin/log.c:1829
-msgid "add email header"
-msgstr ""
-
-#: builtin/log.c:1830 builtin/log.c:1831
-msgid "email"
-msgstr ""
-
-#: builtin/log.c:1830
-msgid "add To: header"
-msgstr ""
-
-#: builtin/log.c:1831
-msgid "add Cc: header"
-msgstr ""
-
-#: builtin/log.c:1832
-msgid "ident"
-msgstr ""
-
-#: builtin/log.c:1833
-msgid "set From address to <ident> (or committer ident if absent)"
-msgstr ""
-
-#: builtin/log.c:1835
-msgid "message-id"
-msgstr ""
-
-#: builtin/log.c:1836
-msgid "make first mail a reply to <message-id>"
-msgstr ""
-
-#: builtin/log.c:1837 builtin/log.c:1840
-msgid "boundary"
-msgstr ""
-
-#: builtin/log.c:1838
-msgid "attach the patch"
-msgstr ""
-
-#: builtin/log.c:1841
-msgid "inline the patch"
-msgstr ""
-
-#: builtin/log.c:1845
-msgid "enable message threading, styles: shallow, deep"
-msgstr ""
-
-#: builtin/log.c:1847
-msgid "signature"
-msgstr ""
-
-#: builtin/log.c:1848
-msgid "add a signature"
-msgstr ""
-
-#: builtin/log.c:1849
-msgid "base-commit"
-msgstr ""
-
-#: builtin/log.c:1850
-msgid "add prerequisite tree info to the patch series"
-msgstr ""
-
-#: builtin/log.c:1853
-msgid "add a signature from a file"
-msgstr ""
-
-#: builtin/log.c:1854
-msgid "don't print the patch filenames"
-msgstr ""
-
-#: builtin/log.c:1856
-msgid "show progress while generating patches"
-msgstr ""
-
-#: builtin/log.c:1858
-msgid "show changes against <rev> in cover letter or single patch"
-msgstr ""
-
-#: builtin/log.c:1861
-msgid "show changes against <refspec> in cover letter or single patch"
-msgstr ""
-
-#: builtin/log.c:1863 builtin/range-diff.c:28
-msgid "percentage by which creation is weighted"
-msgstr ""
-
-#: builtin/log.c:1953
-#, c-format
-msgid "invalid ident line: %s"
-msgstr ""
-
-#: builtin/log.c:1978
-msgid "--name-only does not make sense"
-msgstr ""
-
-#: builtin/log.c:1980
-msgid "--name-status does not make sense"
-msgstr ""
-
-#: builtin/log.c:1982
-msgid "--check does not make sense"
-msgstr ""
-
-#: builtin/log.c:1984
-msgid "--remerge-diff does not make sense"
-msgstr ""
-
-#: builtin/log.c:2129
-msgid "--interdiff requires --cover-letter or single patch"
-msgstr ""
-
-#: builtin/log.c:2133
-msgid "Interdiff:"
-msgstr ""
-
-#: builtin/log.c:2134
-#, c-format
-msgid "Interdiff against v%d:"
-msgstr ""
-
-#: builtin/log.c:2144
-msgid "--range-diff requires --cover-letter or single patch"
-msgstr ""
-
-#: builtin/log.c:2152
-msgid "Range-diff:"
-msgstr ""
-
-#: builtin/log.c:2153
-#, c-format
-msgid "Range-diff against v%d:"
-msgstr ""
-
-#: builtin/log.c:2164
-#, c-format
-msgid "unable to read signature file '%s'"
-msgstr ""
-
-#: builtin/log.c:2200
-msgid "Generating patches"
-msgstr ""
-
-#: builtin/log.c:2244
-msgid "failed to create output files"
-msgstr ""
-
-#: builtin/log.c:2304
-msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
-msgstr ""
-
-#: builtin/log.c:2358
-#, c-format
-msgid ""
-"Could not find a tracked remote branch, please specify <upstream> manually.\n"
-msgstr ""
-
-#: builtin/ls-files.c:564
-msgid "git ls-files [<options>] [<file>...]"
-msgstr ""
-
-#: builtin/ls-files.c:618
-msgid "separate paths with the NUL character"
-msgstr ""
-
-#: builtin/ls-files.c:620
-msgid "identify the file status with tags"
-msgstr ""
-
-#: builtin/ls-files.c:622
-msgid "use lowercase letters for 'assume unchanged' files"
-msgstr ""
-
-#: builtin/ls-files.c:624
-msgid "use lowercase letters for 'fsmonitor clean' files"
-msgstr ""
-
-#: builtin/ls-files.c:626
-msgid "show cached files in the output (default)"
-msgstr ""
-
-#: builtin/ls-files.c:628
-msgid "show deleted files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:630
-msgid "show modified files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:632
-msgid "show other files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:634
-msgid "show ignored files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:637
-msgid "show staged contents' object name in the output"
-msgstr ""
-
-#: builtin/ls-files.c:639
-msgid "show files on the filesystem that need to be removed"
-msgstr ""
-
-#: builtin/ls-files.c:641
-msgid "show 'other' directories' names only"
-msgstr ""
-
-#: builtin/ls-files.c:643
-msgid "show line endings of files"
-msgstr ""
-
-#: builtin/ls-files.c:645
-msgid "don't show empty directories"
-msgstr ""
-
-#: builtin/ls-files.c:648
-msgid "show unmerged files in the output"
-msgstr ""
-
-#: builtin/ls-files.c:650
-msgid "show resolve-undo information"
-msgstr ""
-
-#: builtin/ls-files.c:652
-msgid "skip files matching pattern"
-msgstr ""
-
-#: builtin/ls-files.c:655
-msgid "read exclude patterns from <file>"
-msgstr ""
-
-#: builtin/ls-files.c:658
-msgid "read additional per-directory exclude patterns in <file>"
-msgstr ""
-
-#: builtin/ls-files.c:660
-msgid "add the standard git exclusions"
-msgstr ""
-
-#: builtin/ls-files.c:664
-msgid "make the output relative to the project top directory"
-msgstr ""
-
-#: builtin/ls-files.c:669
-msgid "if any <file> is not in the index, treat this as an error"
-msgstr ""
-
-#: builtin/ls-files.c:670
-msgid "tree-ish"
-msgstr ""
-
-#: builtin/ls-files.c:671
-msgid "pretend that paths removed since <tree-ish> are still present"
-msgstr ""
-
-#: builtin/ls-files.c:673
-msgid "show debugging data"
-msgstr ""
-
-#: builtin/ls-files.c:675
-msgid "suppress duplicate entries"
-msgstr ""
-
-#: builtin/ls-files.c:677
-msgid "show sparse directories in the presence of a sparse index"
-msgstr ""
-
-#: builtin/ls-remote.c:9
-msgid ""
-"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-"              [-q | --quiet] [--exit-code] [--get-url]\n"
-"              [--symref] [<repository> [<refs>...]]"
-msgstr ""
-
-#: builtin/ls-remote.c:60
-msgid "do not print remote URL"
-msgstr ""
-
-#: builtin/ls-remote.c:61 builtin/ls-remote.c:63 builtin/rebase.c:1131
-msgid "exec"
-msgstr ""
-
-#: builtin/ls-remote.c:62 builtin/ls-remote.c:64
-msgid "path of git-upload-pack on the remote host"
-msgstr ""
-
-#: builtin/ls-remote.c:66
-msgid "limit to tags"
-msgstr ""
-
-#: builtin/ls-remote.c:67
-msgid "limit to heads"
-msgstr ""
-
-#: builtin/ls-remote.c:68
-msgid "do not show peeled tags"
-msgstr ""
-
-#: builtin/ls-remote.c:70
-msgid "take url.<base>.insteadOf into account"
-msgstr ""
-
-#: builtin/ls-remote.c:73
-msgid "exit with exit code 2 if no matching refs are found"
-msgstr ""
-
-#: builtin/ls-remote.c:76
-msgid "show underlying ref in addition to the object pointed by it"
-msgstr ""
-
-#: builtin/ls-tree.c:36
-msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
-msgstr ""
-
-#: builtin/ls-tree.c:54
-#, c-format
-msgid "could not get object info about '%s'"
-msgstr ""
-
-#: builtin/ls-tree.c:79
-#, c-format
-msgid "bad ls-tree format: element '%s' does not start with '('"
-msgstr ""
-
-#: builtin/ls-tree.c:83
-#, c-format
-msgid "bad ls-tree format: element '%s' does not end in ')'"
-msgstr ""
-
-#: builtin/ls-tree.c:109
-#, c-format
-msgid "bad ls-tree format: %%%.*s"
-msgstr ""
-
-#: builtin/ls-tree.c:336
-msgid "only show trees"
-msgstr ""
-
-#: builtin/ls-tree.c:338
-msgid "recurse into subtrees"
-msgstr ""
-
-#: builtin/ls-tree.c:340
-msgid "show trees when recursing"
-msgstr ""
-
-#: builtin/ls-tree.c:343
-msgid "terminate entries with NUL byte"
-msgstr ""
-
-#: builtin/ls-tree.c:344
-msgid "include object size"
-msgstr ""
-
-#: builtin/ls-tree.c:346 builtin/ls-tree.c:348
-msgid "list only filenames"
-msgstr ""
-
-#: builtin/ls-tree.c:350
-msgid "list only objects"
-msgstr ""
-
-#: builtin/ls-tree.c:353
-msgid "use full path names"
-msgstr ""
-
-#: builtin/ls-tree.c:355
-msgid "list entire tree; not just current directory (implies --full-name)"
-msgstr ""
-
-#: builtin/ls-tree.c:391
-msgid "--format can't be combined with other format-altering options"
-msgstr ""
-
-#. TRANSLATORS: keep <> in "<" mail ">" info.
-#: builtin/mailinfo.c:14
-msgid "git mailinfo [<options>] <msg> <patch> < mail >info"
-msgstr ""
-
-#: builtin/mailinfo.c:58
-msgid "keep subject"
-msgstr ""
-
-#: builtin/mailinfo.c:60
-msgid "keep non patch brackets in subject"
-msgstr ""
-
-#: builtin/mailinfo.c:62
-msgid "copy Message-ID to the end of commit message"
-msgstr ""
-
-#: builtin/mailinfo.c:64
-msgid "re-code metadata to i18n.commitEncoding"
-msgstr ""
-
-#: builtin/mailinfo.c:67
-msgid "disable charset re-coding of metadata"
-msgstr ""
-
-#: builtin/mailinfo.c:69
-msgid "encoding"
-msgstr ""
-
-#: builtin/mailinfo.c:70
-msgid "re-code metadata to this encoding"
-msgstr ""
-
-#: builtin/mailinfo.c:72
-msgid "use scissors"
-msgstr ""
-
-#: builtin/mailinfo.c:73
-msgid "<action>"
-msgstr ""
-
-#: builtin/mailinfo.c:74
-msgid "action when quoted CR is found"
-msgstr ""
-
-#: builtin/mailinfo.c:77
-msgid "use headers in message's body"
-msgstr ""
-
-#: builtin/mailsplit.c:227
-msgid "reading patches from stdin/tty..."
-msgstr ""
-
-#: builtin/mailsplit.c:242
-#, c-format
-msgid "empty mbox: '%s'"
-msgstr ""
-
-#: builtin/merge-base.c:32
-msgid "git merge-base [-a | --all] <commit> <commit>..."
-msgstr ""
-
-#: builtin/merge-base.c:33
-msgid "git merge-base [-a | --all] --octopus <commit>..."
-msgstr ""
-
-#: builtin/merge-base.c:34
-msgid "git merge-base --independent <commit>..."
-msgstr ""
-
-#: builtin/merge-base.c:35
-msgid "git merge-base --is-ancestor <commit> <commit>"
-msgstr ""
-
-#: builtin/merge-base.c:36
-msgid "git merge-base --fork-point <ref> [<commit>]"
-msgstr ""
-
-#: builtin/merge-base.c:144
-msgid "output all common ancestors"
-msgstr ""
-
-#: builtin/merge-base.c:146
-msgid "find ancestors for a single n-way merge"
-msgstr ""
-
-#: builtin/merge-base.c:148
-msgid "list revs not reachable from others"
-msgstr ""
-
-#: builtin/merge-base.c:150
-msgid "is the first one ancestor of the other?"
-msgstr ""
-
-#: builtin/merge-base.c:152
-msgid "find where <commit> forked from reflog of <ref>"
-msgstr ""
-
-#: builtin/merge-file.c:9
-msgid ""
-"git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> "
-"<orig-file> <file2>"
-msgstr ""
-
-#: builtin/merge-file.c:35
-msgid "send results to standard output"
-msgstr ""
-
-#: builtin/merge-file.c:36
-msgid "use a diff3 based merge"
-msgstr ""
-
-#: builtin/merge-file.c:37
-msgid "use a zealous diff3 based merge"
-msgstr ""
-
-#: builtin/merge-file.c:39
-msgid "for conflicts, use our version"
-msgstr ""
-
-#: builtin/merge-file.c:41
-msgid "for conflicts, use their version"
-msgstr ""
-
-#: builtin/merge-file.c:43
-msgid "for conflicts, use a union version"
-msgstr ""
-
-#: builtin/merge-file.c:46
-msgid "for conflicts, use this marker size"
-msgstr ""
-
-#: builtin/merge-file.c:47
-msgid "do not warn about conflicts"
-msgstr ""
-
-#: builtin/merge-file.c:49
-msgid "set labels for file1/orig-file/file2"
-msgstr ""
-
-#: builtin/merge-recursive.c:47
-#, c-format
-msgid "unknown option %s"
-msgstr ""
-
-#: builtin/merge-recursive.c:53
-#, c-format
-msgid "could not parse object '%s'"
-msgstr ""
-
-#: builtin/merge-recursive.c:57
-#, c-format
-msgid "cannot handle more than %d base. Ignoring %s."
-msgid_plural "cannot handle more than %d bases. Ignoring %s."
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/merge-recursive.c:65
-msgid "not handling anything other than two heads merge."
-msgstr ""
-
-#: builtin/merge-recursive.c:74 builtin/merge-recursive.c:76
-#, c-format
-msgid "could not resolve ref '%s'"
-msgstr ""
-
-#: builtin/merge-recursive.c:82
-#, c-format
-msgid "Merging %s with %s\n"
-msgstr ""
-
-#: builtin/merge.c:59
-msgid "git merge [<options>] [<commit>...]"
-msgstr ""
-
-#: builtin/merge.c:125
-msgid "switch `m' requires a value"
-msgstr ""
-
-#: builtin/merge.c:148
-#, c-format
-msgid "option `%s' requires a value"
-msgstr ""
-
-#: builtin/merge.c:201
-#, c-format
-msgid "Could not find merge strategy '%s'.\n"
-msgstr ""
-
-#: builtin/merge.c:202
-#, c-format
-msgid "Available strategies are:"
-msgstr ""
-
-#: builtin/merge.c:207
-#, c-format
-msgid "Available custom strategies are:"
-msgstr ""
-
-#: builtin/merge.c:258 builtin/pull.c:134
-msgid "do not show a diffstat at the end of the merge"
-msgstr ""
-
-#: builtin/merge.c:261 builtin/pull.c:137
-msgid "show a diffstat at the end of the merge"
-msgstr ""
-
-#: builtin/merge.c:262 builtin/pull.c:140
-msgid "(synonym to --stat)"
-msgstr ""
-
-#: builtin/merge.c:264 builtin/pull.c:143
-msgid "add (at most <n>) entries from shortlog to merge commit message"
-msgstr ""
-
-#: builtin/merge.c:267 builtin/pull.c:149
-msgid "create a single commit instead of doing a merge"
-msgstr ""
-
-#: builtin/merge.c:269 builtin/pull.c:152
-msgid "perform a commit if the merge succeeds (default)"
-msgstr ""
-
-#: builtin/merge.c:271 builtin/pull.c:155
-msgid "edit message before committing"
-msgstr ""
-
-#: builtin/merge.c:273
-msgid "allow fast-forward (default)"
-msgstr ""
-
-#: builtin/merge.c:275 builtin/pull.c:162
-msgid "abort if fast-forward is not possible"
-msgstr ""
-
-#: builtin/merge.c:279 builtin/pull.c:168
-msgid "verify that the named commit has a valid GPG signature"
-msgstr ""
-
-#: builtin/merge.c:280 builtin/notes.c:785 builtin/pull.c:172
-#: builtin/rebase.c:1145 builtin/revert.c:114
-msgid "strategy"
-msgstr ""
-
-#: builtin/merge.c:281 builtin/pull.c:173
-msgid "merge strategy to use"
-msgstr ""
-
-#: builtin/merge.c:282 builtin/pull.c:176
-msgid "option=value"
-msgstr ""
-
-#: builtin/merge.c:283 builtin/pull.c:177
-msgid "option for selected merge strategy"
-msgstr ""
-
-#: builtin/merge.c:285
-msgid "merge commit message (for a non-fast-forward merge)"
-msgstr ""
-
-#: builtin/merge.c:291
-msgid "use <name> instead of the real target"
-msgstr ""
-
-#: builtin/merge.c:294
-msgid "abort the current in-progress merge"
-msgstr ""
-
-#: builtin/merge.c:296
-msgid "--abort but leave index and working tree alone"
-msgstr ""
-
-#: builtin/merge.c:298
-msgid "continue the current in-progress merge"
-msgstr ""
-
-#: builtin/merge.c:300 builtin/pull.c:184
-msgid "allow merging unrelated histories"
-msgstr ""
-
-#: builtin/merge.c:307
-msgid "bypass pre-merge-commit and commit-msg hooks"
-msgstr ""
-
-#: builtin/merge.c:323
-msgid "could not run stash."
-msgstr ""
-
-#: builtin/merge.c:328
-msgid "stash failed"
-msgstr ""
-
-#: builtin/merge.c:333
-#, c-format
-msgid "not a valid object: %s"
-msgstr ""
-
-#: builtin/merge.c:355 builtin/merge.c:372
-msgid "read-tree failed"
-msgstr ""
-
-#: builtin/merge.c:403
-msgid "Already up to date. (nothing to squash)"
-msgstr ""
-
-#: builtin/merge.c:417
-#, c-format
-msgid "Squash commit -- not updating HEAD\n"
-msgstr ""
-
-#: builtin/merge.c:467
-#, c-format
-msgid "No merge message -- not updating HEAD\n"
-msgstr ""
-
-#: builtin/merge.c:517
-#, c-format
-msgid "'%s' does not point to a commit"
-msgstr ""
-
-#: builtin/merge.c:605
-#, c-format
-msgid "Bad branch.%s.mergeoptions string: %s"
-msgstr ""
-
-#: builtin/merge.c:732
-msgid "Not handling anything other than two heads merge."
-msgstr ""
-
-#: builtin/merge.c:745
-#, c-format
-msgid "unknown strategy option: -X%s"
-msgstr ""
-
-#: builtin/merge.c:764 t/helper/test-fast-rebase.c:223
-#, c-format
-msgid "unable to write %s"
-msgstr ""
-
-#: builtin/merge.c:816
-#, c-format
-msgid "Could not read from '%s'"
-msgstr ""
-
-#: builtin/merge.c:825
-#, c-format
-msgid "Not committing merge; use 'git commit' to complete the merge.\n"
-msgstr ""
-
-#: builtin/merge.c:831
-msgid ""
-"Please enter a commit message to explain why this merge is necessary,\n"
-"especially if it merges an updated upstream into a topic branch.\n"
-"\n"
-msgstr ""
-
-#: builtin/merge.c:836
-msgid "An empty message aborts the commit.\n"
-msgstr ""
-
-#: builtin/merge.c:839
-#, c-format
-msgid ""
-"Lines starting with '%c' will be ignored, and an empty message aborts\n"
-"the commit.\n"
-msgstr ""
-
-#: builtin/merge.c:900
-msgid "Empty commit message."
-msgstr ""
-
-#: builtin/merge.c:915
-#, c-format
-msgid "Wonderful.\n"
-msgstr ""
-
-#: builtin/merge.c:976
-#, c-format
-msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
-msgstr ""
-
-#: builtin/merge.c:1015
-msgid "No current branch."
-msgstr ""
-
-#: builtin/merge.c:1017
-msgid "No remote for the current branch."
-msgstr ""
-
-#: builtin/merge.c:1019
-msgid "No default upstream defined for the current branch."
-msgstr ""
-
-#: builtin/merge.c:1024
-#, c-format
-msgid "No remote-tracking branch for %s from %s"
-msgstr ""
-
-#: builtin/merge.c:1081
-#, c-format
-msgid "Bad value '%s' in environment '%s'"
-msgstr ""
-
-#: builtin/merge.c:1183
-#, c-format
-msgid "not something we can merge in %s: %s"
-msgstr ""
-
-#: builtin/merge.c:1217
-msgid "not something we can merge"
-msgstr ""
-
-#: builtin/merge.c:1330
-msgid "--abort expects no arguments"
-msgstr ""
-
-#: builtin/merge.c:1334
-msgid "There is no merge to abort (MERGE_HEAD missing)."
-msgstr ""
-
-#: builtin/merge.c:1352
-msgid "--quit expects no arguments"
-msgstr ""
-
-#: builtin/merge.c:1365
-msgid "--continue expects no arguments"
-msgstr ""
-
-#: builtin/merge.c:1369
-msgid "There is no merge in progress (MERGE_HEAD missing)."
-msgstr ""
-
-#: builtin/merge.c:1385
-msgid ""
-"You have not concluded your merge (MERGE_HEAD exists).\n"
-"Please, commit your changes before you merge."
-msgstr ""
-
-#: builtin/merge.c:1392
-msgid ""
-"You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
-"Please, commit your changes before you merge."
-msgstr ""
-
-#: builtin/merge.c:1395
-msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
-msgstr ""
-
-#: builtin/merge.c:1427
-msgid "No commit specified and merge.defaultToUpstream not set."
-msgstr ""
-
-#: builtin/merge.c:1444
-msgid "Squash commit into empty head not supported yet"
-msgstr ""
-
-#: builtin/merge.c:1446
-msgid "Non-fast-forward commit does not make sense into an empty head"
-msgstr ""
-
-#: builtin/merge.c:1451
-#, c-format
-msgid "%s - not something we can merge"
-msgstr ""
-
-#: builtin/merge.c:1453
-msgid "Can merge only exactly one commit into empty head"
-msgstr ""
-
-#: builtin/merge.c:1540
-msgid "refusing to merge unrelated histories"
-msgstr ""
-
-#: builtin/merge.c:1559
-#, c-format
-msgid "Updating %s..%s\n"
-msgstr ""
-
-#: builtin/merge.c:1606
-#, c-format
-msgid "Trying really trivial in-index merge...\n"
-msgstr ""
-
-#: builtin/merge.c:1613
-#, c-format
-msgid "Nope.\n"
-msgstr ""
-
-#: builtin/merge.c:1671 builtin/merge.c:1737
-#, c-format
-msgid "Rewinding the tree to pristine...\n"
-msgstr ""
-
-#: builtin/merge.c:1675
-#, c-format
-msgid "Trying merge strategy %s...\n"
-msgstr ""
-
-#: builtin/merge.c:1727
-#, c-format
-msgid "No merge strategy handled the merge.\n"
-msgstr ""
-
-#: builtin/merge.c:1729
-#, c-format
-msgid "Merge with strategy %s failed.\n"
-msgstr ""
-
-#: builtin/merge.c:1739
-#, c-format
-msgid "Using the %s strategy to prepare resolving by hand.\n"
-msgstr ""
-
-#: builtin/merge.c:1753
-#, c-format
-msgid "Automatic merge went well; stopped before committing as requested\n"
-msgstr ""
-
-#: builtin/mktag.c:27
-#, c-format
-msgid "warning: tag input does not pass fsck: %s"
-msgstr ""
-
-#: builtin/mktag.c:38
-#, c-format
-msgid "error: tag input does not pass fsck: %s"
-msgstr ""
-
-#: builtin/mktag.c:41
-#, c-format
-msgid "%d (FSCK_IGNORE?) should never trigger this callback"
-msgstr ""
-
-#: builtin/mktag.c:56
-#, c-format
-msgid "could not read tagged object '%s'"
-msgstr ""
-
-#: builtin/mktag.c:59
-#, c-format
-msgid "object '%s' tagged as '%s', but is a '%s' type"
-msgstr ""
-
-#: builtin/mktag.c:97
-msgid "tag on stdin did not pass our strict fsck check"
-msgstr ""
-
-#: builtin/mktag.c:100
-msgid "tag on stdin did not refer to a valid object"
-msgstr ""
-
-#: builtin/mktag.c:103 builtin/tag.c:243
-msgid "unable to write tag file"
-msgstr ""
-
-#: builtin/mktree.c:154
-msgid "input is NUL terminated"
-msgstr ""
-
-#: builtin/mktree.c:155 builtin/write-tree.c:26
-msgid "allow missing objects"
-msgstr ""
-
-#: builtin/mktree.c:156
-msgid "allow creation of more than one tree"
-msgstr ""
-
-#: builtin/multi-pack-index.c:10
-msgid ""
-"git multi-pack-index [<options>] write [--preferred-pack=<pack>][--refs-"
-"snapshot=<path>]"
-msgstr ""
-
-#: builtin/multi-pack-index.c:14
-msgid "git multi-pack-index [<options>] verify"
-msgstr ""
-
-#: builtin/multi-pack-index.c:17
-msgid "git multi-pack-index [<options>] expire"
-msgstr ""
-
-#: builtin/multi-pack-index.c:20
-msgid "git multi-pack-index [<options>] repack [--batch-size=<size>]"
-msgstr ""
-
-#: builtin/multi-pack-index.c:57
-msgid "object directory containing set of packfile and pack-index pairs"
-msgstr ""
-
-#: builtin/multi-pack-index.c:98
-msgid "preferred-pack"
-msgstr ""
-
-#: builtin/multi-pack-index.c:99
-msgid "pack for reuse when computing a multi-pack bitmap"
-msgstr ""
-
-#: builtin/multi-pack-index.c:100
-msgid "write multi-pack bitmap"
-msgstr ""
-
-#: builtin/multi-pack-index.c:105
-msgid "write multi-pack index containing only given indexes"
-msgstr ""
-
-#: builtin/multi-pack-index.c:107
-msgid "refs snapshot for selecting bitmap commits"
-msgstr ""
-
-#: builtin/multi-pack-index.c:206
-msgid ""
-"during repack, collect pack-files of smaller size into a batch that is "
-"larger than this size"
-msgstr ""
-
-#: builtin/mv.c:18
-msgid "git mv [<options>] <source>... <destination>"
-msgstr ""
-
-#: builtin/mv.c:83
-#, c-format
-msgid "Directory %s is in index and no submodule?"
-msgstr ""
-
-#: builtin/mv.c:85
-msgid "Please stage your changes to .gitmodules or stash them to proceed"
-msgstr ""
-
-#: builtin/mv.c:103
-#, c-format
-msgid "%.*s is in index"
-msgstr ""
-
-#: builtin/mv.c:125
-msgid "force move/rename even if target exists"
-msgstr ""
-
-#: builtin/mv.c:127
-msgid "skip move/rename errors"
-msgstr ""
-
-#: builtin/mv.c:172
-#, c-format
-msgid "destination '%s' is not a directory"
-msgstr ""
-
-#: builtin/mv.c:184
-#, c-format
-msgid "Checking rename of '%s' to '%s'\n"
-msgstr ""
-
-#: builtin/mv.c:190
-msgid "bad source"
-msgstr ""
-
-#: builtin/mv.c:193
-msgid "can not move directory into itself"
-msgstr ""
-
-#: builtin/mv.c:196
-msgid "cannot move directory over file"
-msgstr ""
-
-#: builtin/mv.c:205
-msgid "source directory is empty"
-msgstr ""
-
-#: builtin/mv.c:231
-msgid "not under version control"
-msgstr ""
-
-#: builtin/mv.c:233
-msgid "conflicted"
-msgstr ""
-
-#: builtin/mv.c:236
-msgid "destination exists"
-msgstr ""
-
-#: builtin/mv.c:244
-#, c-format
-msgid "overwriting '%s'"
-msgstr ""
-
-#: builtin/mv.c:247
-msgid "Cannot overwrite"
-msgstr ""
-
-#: builtin/mv.c:250
-msgid "multiple sources for the same target"
-msgstr ""
-
-#: builtin/mv.c:252
-msgid "destination directory does not exist"
-msgstr ""
-
-#: builtin/mv.c:280
-#, c-format
-msgid "%s, source=%s, destination=%s"
-msgstr ""
-
-#: builtin/mv.c:308
-#, c-format
-msgid "Renaming %s to %s\n"
-msgstr ""
-
-#: builtin/mv.c:314 builtin/remote.c:812 builtin/repack.c:861
-#, c-format
-msgid "renaming '%s' failed"
-msgstr ""
-
-#: builtin/name-rev.c:524
-msgid "git name-rev [<options>] <commit>..."
-msgstr ""
-
-#: builtin/name-rev.c:525
-msgid "git name-rev [<options>] --all"
-msgstr ""
-
-#: builtin/name-rev.c:526
-msgid "git name-rev [<options>] --annotate-stdin"
-msgstr ""
-
-#: builtin/name-rev.c:583
-msgid "print only ref-based names (no object names)"
-msgstr ""
-
-#: builtin/name-rev.c:584
-msgid "only use tags to name the commits"
-msgstr ""
-
-#: builtin/name-rev.c:586
-msgid "only use refs matching <pattern>"
-msgstr ""
-
-#: builtin/name-rev.c:588
-msgid "ignore refs matching <pattern>"
-msgstr ""
-
-#: builtin/name-rev.c:590
-msgid "list all commits reachable from all refs"
-msgstr ""
-
-#: builtin/name-rev.c:591
-msgid "deprecated: use annotate-stdin instead"
-msgstr ""
-
-#: builtin/name-rev.c:592
-msgid "annotate text from stdin"
-msgstr ""
-
-#: builtin/name-rev.c:593
-msgid "allow to print `undefined` names (default)"
-msgstr ""
-
-#: builtin/name-rev.c:599
-msgid "dereference tags in the input (internal use)"
-msgstr ""
-
-#: builtin/notes.c:28
-msgid "git notes [--ref <notes-ref>] [list [<object>]]"
-msgstr ""
-
-#: builtin/notes.c:29
-msgid ""
-"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <msg> | -F <file> "
-"| (-c | -C) <object>] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:30
-msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
-msgstr ""
-
-#: builtin/notes.c:31
-msgid ""
-"git notes [--ref <notes-ref>] append [--allow-empty] [-m <msg> | -F <file> | "
-"(-c | -C) <object>] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:32
-msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:33
-msgid "git notes [--ref <notes-ref>] show [<object>]"
-msgstr ""
-
-#: builtin/notes.c:34
-msgid ""
-"git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>"
-msgstr ""
-
-#: builtin/notes.c:37
-msgid "git notes [--ref <notes-ref>] remove [<object>...]"
-msgstr ""
-
-#: builtin/notes.c:38
-msgid "git notes [--ref <notes-ref>] prune [-n] [-v]"
-msgstr ""
-
-#: builtin/notes.c:39
-msgid "git notes [--ref <notes-ref>] get-ref"
-msgstr ""
-
-#: builtin/notes.c:44
-msgid "git notes [list [<object>]]"
-msgstr ""
-
-#: builtin/notes.c:49
-msgid "git notes add [<options>] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:54
-msgid "git notes copy [<options>] <from-object> <to-object>"
-msgstr ""
-
-#: builtin/notes.c:55
-msgid "git notes copy --stdin [<from-object> <to-object>]..."
-msgstr ""
-
-#: builtin/notes.c:60
-msgid "git notes append [<options>] [<object>]"
-msgstr ""
-
-#: builtin/notes.c:65
-msgid "git notes edit [<object>]"
-msgstr ""
-
-#: builtin/notes.c:70
-msgid "git notes show [<object>]"
-msgstr ""
-
-#: builtin/notes.c:75
-msgid "git notes merge [<options>] <notes-ref>"
-msgstr ""
-
-#: builtin/notes.c:76
-msgid "git notes merge --commit [<options>]"
-msgstr ""
-
-#: builtin/notes.c:77
-msgid "git notes merge --abort [<options>]"
-msgstr ""
-
-#: builtin/notes.c:82
-msgid "git notes remove [<object>]"
-msgstr ""
-
-#: builtin/notes.c:87
-msgid "git notes prune [<options>]"
-msgstr ""
-
-#: builtin/notes.c:97
-msgid "Write/edit the notes for the following object:"
-msgstr ""
-
-#: builtin/notes.c:149
-#, c-format
-msgid "unable to start 'show' for object '%s'"
-msgstr ""
-
-#: builtin/notes.c:153
-msgid "could not read 'show' output"
-msgstr ""
-
-#: builtin/notes.c:161
-#, c-format
-msgid "failed to finish 'show' for object '%s'"
-msgstr ""
-
-#: builtin/notes.c:194
-msgid "please supply the note contents using either -m or -F option"
-msgstr ""
-
-#: builtin/notes.c:203
-msgid "unable to write note object"
-msgstr ""
-
-#: builtin/notes.c:206
-#, c-format
-msgid "the note contents have been left in %s"
-msgstr ""
-
-#: builtin/notes.c:240 builtin/tag.c:582
-#, c-format
-msgid "could not open or read '%s'"
-msgstr ""
-
-#: builtin/notes.c:261 builtin/notes.c:311 builtin/notes.c:313
-#: builtin/notes.c:381 builtin/notes.c:436 builtin/notes.c:524
-#: builtin/notes.c:529 builtin/notes.c:608 builtin/notes.c:670
-#, c-format
-msgid "failed to resolve '%s' as a valid ref."
-msgstr ""
-
-#: builtin/notes.c:263
-#, c-format
-msgid "failed to read object '%s'."
-msgstr ""
-
-#: builtin/notes.c:266
-#, c-format
-msgid "cannot read note data from non-blob object '%s'."
-msgstr ""
-
-#: builtin/notes.c:307
-#, c-format
-msgid "malformed input line: '%s'."
-msgstr ""
-
-#: builtin/notes.c:322
-#, c-format
-msgid "failed to copy notes from '%s' to '%s'"
-msgstr ""
-
-#. TRANSLATORS: the first %s will be replaced by a git
-#. notes command: 'add', 'merge', 'remove', etc.
-#.
-#: builtin/notes.c:354
-#, c-format
-msgid "refusing to %s notes in %s (outside of refs/notes/)"
-msgstr ""
-
-#: builtin/notes.c:387 builtin/notes.c:676
-#, c-format
-msgid "no note found for object %s."
-msgstr ""
-
-#: builtin/notes.c:408 builtin/notes.c:574
-msgid "note contents as a string"
-msgstr ""
-
-#: builtin/notes.c:411 builtin/notes.c:577
-msgid "note contents in a file"
-msgstr ""
-
-#: builtin/notes.c:414 builtin/notes.c:580
-msgid "reuse and edit specified note object"
-msgstr ""
-
-#: builtin/notes.c:417 builtin/notes.c:583
-msgid "reuse specified note object"
-msgstr ""
-
-#: builtin/notes.c:420 builtin/notes.c:586
-msgid "allow storing empty note"
-msgstr ""
-
-#: builtin/notes.c:421 builtin/notes.c:494
-msgid "replace existing notes"
-msgstr ""
-
-#: builtin/notes.c:446
-#, c-format
-msgid ""
-"Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
-"existing notes"
-msgstr ""
-
-#: builtin/notes.c:461 builtin/notes.c:542
-#, c-format
-msgid "Overwriting existing notes for object %s\n"
-msgstr ""
-
-#: builtin/notes.c:473 builtin/notes.c:635 builtin/notes.c:904
-#, c-format
-msgid "Removing note for object %s\n"
-msgstr ""
-
-#: builtin/notes.c:495
-msgid "read objects from stdin"
-msgstr ""
-
-#: builtin/notes.c:497
-msgid "load rewriting config for <command> (implies --stdin)"
-msgstr ""
-
-#: builtin/notes.c:515
-msgid "too few arguments"
-msgstr ""
-
-#: builtin/notes.c:536
-#, c-format
-msgid ""
-"Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
-"existing notes"
-msgstr ""
-
-#: builtin/notes.c:548
-#, c-format
-msgid "missing notes on source object %s. Cannot copy."
-msgstr ""
-
-#: builtin/notes.c:601
-#, c-format
-msgid ""
-"The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
-"Please use 'git notes add -f -m/-F/-c/-C' instead.\n"
-msgstr ""
-
-#: builtin/notes.c:696
-msgid "failed to delete ref NOTES_MERGE_PARTIAL"
-msgstr ""
-
-#: builtin/notes.c:698
-msgid "failed to delete ref NOTES_MERGE_REF"
-msgstr ""
-
-#: builtin/notes.c:700
-msgid "failed to remove 'git notes merge' worktree"
-msgstr ""
-
-#: builtin/notes.c:720
-msgid "failed to read ref NOTES_MERGE_PARTIAL"
-msgstr ""
-
-#: builtin/notes.c:722
-msgid "could not find commit from NOTES_MERGE_PARTIAL."
-msgstr ""
-
-#: builtin/notes.c:724
-msgid "could not parse commit from NOTES_MERGE_PARTIAL."
-msgstr ""
-
-#: builtin/notes.c:737
-msgid "failed to resolve NOTES_MERGE_REF"
-msgstr ""
-
-#: builtin/notes.c:740
-msgid "failed to finalize notes merge"
-msgstr ""
-
-#: builtin/notes.c:766
-#, c-format
-msgid "unknown notes merge strategy %s"
-msgstr ""
-
-#: builtin/notes.c:782
-msgid "General options"
-msgstr ""
-
-#: builtin/notes.c:784
-msgid "Merge options"
-msgstr ""
-
-#: builtin/notes.c:786
-msgid ""
-"resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
-"cat_sort_uniq)"
-msgstr ""
-
-#: builtin/notes.c:788
-msgid "Committing unmerged notes"
-msgstr ""
-
-#: builtin/notes.c:790
-msgid "finalize notes merge by committing unmerged notes"
-msgstr ""
-
-#: builtin/notes.c:792
-msgid "Aborting notes merge resolution"
-msgstr ""
-
-#: builtin/notes.c:794
-msgid "abort notes merge"
-msgstr ""
-
-#: builtin/notes.c:805
-msgid "cannot mix --commit, --abort or -s/--strategy"
-msgstr ""
-
-#: builtin/notes.c:810
-msgid "must specify a notes ref to merge"
-msgstr ""
-
-#: builtin/notes.c:834
-#, c-format
-msgid "unknown -s/--strategy: %s"
-msgstr ""
-
-#: builtin/notes.c:874
-#, c-format
-msgid "a notes merge into %s is already in-progress at %s"
-msgstr ""
-
-#: builtin/notes.c:878
-#, c-format
-msgid "failed to store link to current notes ref (%s)"
-msgstr ""
-
-#: builtin/notes.c:880
-#, c-format
-msgid ""
-"Automatic notes merge failed. Fix conflicts in %s and commit the result with "
-"'git notes merge --commit', or abort the merge with 'git notes merge --"
-"abort'.\n"
-msgstr ""
-
-#: builtin/notes.c:899 builtin/tag.c:595
-#, c-format
-msgid "Failed to resolve '%s' as a valid ref."
-msgstr ""
-
-#: builtin/notes.c:902
-#, c-format
-msgid "Object %s has no note\n"
-msgstr ""
-
-#: builtin/notes.c:914
-msgid "attempt to remove non-existent note is not an error"
-msgstr ""
-
-#: builtin/notes.c:917
-msgid "read object names from the standard input"
-msgstr ""
-
-#: builtin/notes.c:956 builtin/prune.c:144 builtin/worktree.c:148
-msgid "do not remove, show only"
-msgstr ""
-
-#: builtin/notes.c:957
-msgid "report pruned notes"
-msgstr ""
-
-#: builtin/notes.c:1000
-msgid "notes-ref"
-msgstr ""
-
-#: builtin/notes.c:1001
-msgid "use notes from <notes-ref>"
-msgstr ""
-
-#: builtin/notes.c:1036 builtin/stash.c:1802
-#, c-format
-msgid "unknown subcommand: %s"
-msgstr ""
-
-#: builtin/pack-objects.c:182
-msgid ""
-"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
-msgstr ""
-
-#: builtin/pack-objects.c:183
-msgid ""
-"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
-msgstr ""
-
-#: builtin/pack-objects.c:570
-#, c-format
-msgid ""
-"write_reuse_object: could not locate %s, expected at offset %<PRIuMAX> in "
-"pack %s"
-msgstr ""
-
-#: builtin/pack-objects.c:578
-#, c-format
-msgid "bad packed object CRC for %s"
-msgstr ""
-
-#: builtin/pack-objects.c:589
-#, c-format
-msgid "corrupt packed object for %s"
-msgstr ""
-
-#: builtin/pack-objects.c:720
-#, c-format
-msgid "recursive delta detected for object %s"
-msgstr ""
-
-#: builtin/pack-objects.c:939
-#, c-format
-msgid "ordered %u objects, expected %<PRIu32>"
-msgstr ""
-
-#: builtin/pack-objects.c:1034
-#, c-format
-msgid "expected object at offset %<PRIuMAX> in pack %s"
-msgstr ""
-
-#: builtin/pack-objects.c:1158
-msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
-msgstr ""
-
-#: builtin/pack-objects.c:1171
-msgid "Writing objects"
-msgstr ""
-
-#: builtin/pack-objects.c:1243 builtin/update-index.c:90
-#, c-format
-msgid "failed to stat %s"
-msgstr ""
-
-#: builtin/pack-objects.c:1276
-msgid "failed to write bitmap index"
-msgstr ""
-
-#: builtin/pack-objects.c:1302
-#, c-format
-msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
-msgstr ""
-
-#: builtin/pack-objects.c:1544
-msgid "disabling bitmap writing, as some objects are not being packed"
-msgstr ""
-
-#: builtin/pack-objects.c:1992
-#, c-format
-msgid "delta base offset overflow in pack for %s"
-msgstr ""
-
-#: builtin/pack-objects.c:2001
-#, c-format
-msgid "delta base offset out of bound for %s"
-msgstr ""
-
-#: builtin/pack-objects.c:2282
-msgid "Counting objects"
-msgstr ""
-
-#: builtin/pack-objects.c:2447
-#, c-format
-msgid "unable to parse object header of %s"
-msgstr ""
-
-#: builtin/pack-objects.c:2517 builtin/pack-objects.c:2533
-#: builtin/pack-objects.c:2543
-#, c-format
-msgid "object %s cannot be read"
-msgstr ""
-
-#: builtin/pack-objects.c:2520 builtin/pack-objects.c:2547
-#, c-format
-msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
-msgstr ""
-
-#: builtin/pack-objects.c:2557
-msgid "suboptimal pack - out of memory"
-msgstr ""
-
-#: builtin/pack-objects.c:2872
-#, c-format
-msgid "Delta compression using up to %d threads"
-msgstr ""
-
-#: builtin/pack-objects.c:3011
-#, c-format
-msgid "unable to pack objects reachable from tag %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3097
-msgid "Compressing objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3103
-msgid "inconsistency with delta count"
-msgstr ""
-
-#: builtin/pack-objects.c:3182
-#, c-format
-msgid ""
-"value of uploadpack.blobpackfileuri must be of the form '<object-hash> <pack-"
-"hash> <uri>' (got '%s')"
-msgstr ""
-
-#: builtin/pack-objects.c:3185
-#, c-format
-msgid ""
-"object already configured in another uploadpack.blobpackfileuri (got '%s')"
-msgstr ""
-
-#: builtin/pack-objects.c:3220
-#, c-format
-msgid "could not get type of object %s in pack %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3348 builtin/pack-objects.c:3359
-#: builtin/pack-objects.c:3373
-#, c-format
-msgid "could not find pack '%s'"
-msgstr ""
-
-#: builtin/pack-objects.c:3416
-#, c-format
-msgid ""
-"expected edge object ID, got garbage:\n"
-" %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3422
-#, c-format
-msgid ""
-"expected object ID, got garbage:\n"
-" %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3540 builtin/pack-objects.c:3627
-msgid "cannot open pack index"
-msgstr ""
-
-#: builtin/pack-objects.c:3549
-#, c-format
-msgid "loose object at %s could not be examined"
-msgstr ""
-
-#: builtin/pack-objects.c:3635
-msgid "unable to force loose object"
-msgstr ""
-
-#: builtin/pack-objects.c:3763
-#, c-format
-msgid "not a rev '%s'"
-msgstr ""
-
-#: builtin/pack-objects.c:3766 builtin/rev-parse.c:1061
-#, c-format
-msgid "bad revision '%s'"
-msgstr ""
-
-#: builtin/pack-objects.c:3794
-msgid "unable to add recent objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3847
-#, c-format
-msgid "unsupported index version %s"
-msgstr ""
-
-#: builtin/pack-objects.c:3851
-#, c-format
-msgid "bad index version '%s'"
-msgstr ""
-
-#: builtin/pack-objects.c:3907
-msgid "<version>[,<offset>]"
-msgstr ""
-
-#: builtin/pack-objects.c:3908
-msgid "write the pack index file in the specified idx format version"
-msgstr ""
-
-#: builtin/pack-objects.c:3911
-msgid "maximum size of each output pack file"
-msgstr ""
-
-#: builtin/pack-objects.c:3913
-msgid "ignore borrowed objects from alternate object store"
-msgstr ""
-
-#: builtin/pack-objects.c:3915
-msgid "ignore packed objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3917
-msgid "limit pack window by objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3919
-msgid "limit pack window by memory in addition to object limit"
-msgstr ""
-
-#: builtin/pack-objects.c:3921
-msgid "maximum length of delta chain allowed in the resulting pack"
-msgstr ""
-
-#: builtin/pack-objects.c:3923
-msgid "reuse existing deltas"
-msgstr ""
-
-#: builtin/pack-objects.c:3925
-msgid "reuse existing objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3927
-msgid "use OFS_DELTA objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3929
-msgid "use threads when searching for best delta matches"
-msgstr ""
-
-#: builtin/pack-objects.c:3931
-msgid "do not create an empty pack output"
-msgstr ""
-
-#: builtin/pack-objects.c:3933
-msgid "read revision arguments from standard input"
-msgstr ""
-
-#: builtin/pack-objects.c:3935
-msgid "limit the objects to those that are not yet packed"
-msgstr ""
-
-#: builtin/pack-objects.c:3938
-msgid "include objects reachable from any reference"
-msgstr ""
-
-#: builtin/pack-objects.c:3941
-msgid "include objects referred by reflog entries"
-msgstr ""
-
-#: builtin/pack-objects.c:3944
-msgid "include objects referred to by the index"
-msgstr ""
-
-#: builtin/pack-objects.c:3947
-msgid "read packs from stdin"
-msgstr ""
-
-#: builtin/pack-objects.c:3949
-msgid "output pack to stdout"
-msgstr ""
-
-#: builtin/pack-objects.c:3951
-msgid "include tag objects that refer to objects to be packed"
-msgstr ""
-
-#: builtin/pack-objects.c:3953
-msgid "keep unreachable objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3955
-msgid "pack loose unreachable objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3957
-msgid "unpack unreachable objects newer than <time>"
-msgstr ""
-
-#: builtin/pack-objects.c:3960
-msgid "use the sparse reachability algorithm"
-msgstr ""
-
-#: builtin/pack-objects.c:3962
-msgid "create thin packs"
-msgstr ""
-
-#: builtin/pack-objects.c:3964
-msgid "create packs suitable for shallow fetches"
-msgstr ""
-
-#: builtin/pack-objects.c:3966
-msgid "ignore packs that have companion .keep file"
-msgstr ""
-
-#: builtin/pack-objects.c:3968
-msgid "ignore this pack"
-msgstr ""
-
-#: builtin/pack-objects.c:3970
-msgid "pack compression level"
-msgstr ""
-
-#: builtin/pack-objects.c:3972
-msgid "do not hide commits by grafts"
-msgstr ""
-
-#: builtin/pack-objects.c:3974
-msgid "use a bitmap index if available to speed up counting objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3976
-msgid "write a bitmap index together with the pack index"
-msgstr ""
-
-#: builtin/pack-objects.c:3980
-msgid "write a bitmap index if possible"
-msgstr ""
-
-#: builtin/pack-objects.c:3984
-msgid "handling for missing objects"
-msgstr ""
-
-#: builtin/pack-objects.c:3987
-msgid "do not pack objects in promisor packfiles"
-msgstr ""
-
-#: builtin/pack-objects.c:3989
-msgid "respect islands during delta compression"
-msgstr ""
-
-#: builtin/pack-objects.c:3991
-msgid "protocol"
-msgstr ""
-
-#: builtin/pack-objects.c:3992
-msgid "exclude any configured uploadpack.blobpackfileuri with this protocol"
-msgstr ""
-
-#: builtin/pack-objects.c:4027
-#, c-format
-msgid "delta chain depth %d is too deep, forcing %d"
-msgstr ""
-
-#: builtin/pack-objects.c:4032
-#, c-format
-msgid "pack.deltaCacheLimit is too high, forcing %d"
-msgstr ""
-
-#: builtin/pack-objects.c:4088
-msgid "--max-pack-size cannot be used to build a pack for transfer"
-msgstr ""
-
-#: builtin/pack-objects.c:4090
-msgid "minimum pack size limit is 1 MiB"
-msgstr ""
-
-#: builtin/pack-objects.c:4095
-msgid "--thin cannot be used to build an indexable pack"
-msgstr ""
-
-#: builtin/pack-objects.c:4104
-msgid "cannot use --filter without --stdout"
-msgstr ""
-
-#: builtin/pack-objects.c:4106
-msgid "cannot use --filter with --stdin-packs"
-msgstr ""
-
-#: builtin/pack-objects.c:4110
-msgid "cannot use internal rev list with --stdin-packs"
-msgstr ""
-
-#: builtin/pack-objects.c:4169
-msgid "Enumerating objects"
-msgstr ""
-
-#: builtin/pack-objects.c:4210
-#, c-format
-msgid ""
-"Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>), pack-"
-"reused %<PRIu32>"
-msgstr ""
-
-#: builtin/pack-redundant.c:601
-msgid ""
-"'git pack-redundant' is nominated for removal.\n"
-"If you still use this command, please add an extra\n"
-"option, '--i-still-use-this', on the command line\n"
-"and let us know you still use it by sending an e-mail\n"
-"to <git@vger.kernel.org>.  Thanks.\n"
-msgstr ""
-
-#: builtin/pack-refs.c:8
-msgid "git pack-refs [<options>]"
-msgstr ""
-
-#: builtin/pack-refs.c:16
-msgid "pack everything"
-msgstr ""
-
-#: builtin/pack-refs.c:17
-msgid "prune loose refs (default)"
-msgstr ""
-
-#: builtin/prune.c:14
-msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
-msgstr ""
-
-#: builtin/prune.c:145
-msgid "report pruned objects"
-msgstr ""
-
-#: builtin/prune.c:148
-msgid "expire objects older than <time>"
-msgstr ""
-
-#: builtin/prune.c:150
-msgid "limit traversal to objects outside promisor packfiles"
-msgstr ""
-
-#: builtin/prune.c:163
-msgid "cannot prune in a precious-objects repo"
-msgstr ""
-
-#: builtin/pull.c:67
-msgid "git pull [<options>] [<repository> [<refspec>...]]"
-msgstr ""
-
-#: builtin/pull.c:124
-msgid "control for recursive fetching of submodules"
-msgstr ""
-
-#: builtin/pull.c:128
-msgid "Options related to merging"
-msgstr ""
-
-#: builtin/pull.c:131
-msgid "incorporate changes by rebasing rather than merging"
-msgstr ""
-
-#: builtin/pull.c:159 builtin/revert.c:126
-msgid "allow fast-forward"
-msgstr ""
-
-#: builtin/pull.c:165
-msgid "control use of pre-merge-commit and commit-msg hooks"
-msgstr ""
-
-#: builtin/pull.c:171 parse-options.h:371
-msgid "automatically stash/stash pop before and after"
-msgstr ""
-
-#: builtin/pull.c:187
-msgid "Options related to fetching"
-msgstr ""
-
-#: builtin/pull.c:197
-msgid "force overwrite of local branch"
-msgstr ""
-
-#: builtin/pull.c:205
-msgid "number of submodules pulled in parallel"
-msgstr ""
-
-#: builtin/pull.c:449
-msgid ""
-"There is no candidate for rebasing against among the refs that you just "
-"fetched."
-msgstr ""
-
-#: builtin/pull.c:451
-msgid ""
-"There are no candidates for merging among the refs that you just fetched."
-msgstr ""
-
-#: builtin/pull.c:452
-msgid ""
-"Generally this means that you provided a wildcard refspec which had no\n"
-"matches on the remote end."
-msgstr ""
-
-#: builtin/pull.c:455
-#, c-format
-msgid ""
-"You asked to pull from the remote '%s', but did not specify\n"
-"a branch. Because this is not the default configured remote\n"
-"for your current branch, you must specify a branch on the command line."
-msgstr ""
-
-#: builtin/pull.c:460 builtin/rebase.c:978
-msgid "You are not currently on a branch."
-msgstr ""
-
-#: builtin/pull.c:462 builtin/pull.c:477
-msgid "Please specify which branch you want to rebase against."
-msgstr ""
-
-#: builtin/pull.c:464 builtin/pull.c:479
-msgid "Please specify which branch you want to merge with."
-msgstr ""
-
-#: builtin/pull.c:465 builtin/pull.c:480
-msgid "See git-pull(1) for details."
-msgstr ""
-
-#: builtin/pull.c:467 builtin/pull.c:473 builtin/pull.c:482
-#: builtin/rebase.c:984
-msgid "<remote>"
-msgstr ""
-
-#: builtin/pull.c:467 builtin/pull.c:482 builtin/pull.c:487
-#: contrib/scalar/scalar.c:374
-msgid "<branch>"
-msgstr ""
-
-#: builtin/pull.c:475 builtin/rebase.c:976
-msgid "There is no tracking information for the current branch."
-msgstr ""
-
-#: builtin/pull.c:484
-msgid ""
-"If you wish to set tracking information for this branch you can do so with:"
-msgstr ""
-
-#: builtin/pull.c:489
-#, c-format
-msgid ""
-"Your configuration specifies to merge with the ref '%s'\n"
-"from the remote, but no such ref was fetched."
-msgstr ""
-
-#: builtin/pull.c:600
-#, c-format
-msgid "unable to access commit %s"
-msgstr ""
-
-#: builtin/pull.c:908
-msgid "ignoring --verify-signatures for rebase"
-msgstr ""
-
-#: builtin/pull.c:969
-msgid ""
-"You have divergent branches and need to specify how to reconcile them.\n"
-"You can do so by running one of the following commands sometime before\n"
-"your next pull:\n"
-"\n"
-"  git config pull.rebase false  # merge\n"
-"  git config pull.rebase true   # rebase\n"
-"  git config pull.ff only       # fast-forward only\n"
-"\n"
-"You can replace \"git config\" with \"git config --global\" to set a "
-"default\n"
-"preference for all repositories. You can also pass --rebase, --no-rebase,\n"
-"or --ff-only on the command line to override the configured default per\n"
-"invocation.\n"
-msgstr ""
-
-#: builtin/pull.c:1047
-msgid "Updating an unborn branch with changes added to the index."
-msgstr ""
-
-#: builtin/pull.c:1051
-msgid "pull with rebase"
-msgstr ""
-
-#: builtin/pull.c:1052
-msgid "please commit or stash them."
-msgstr ""
-
-#: builtin/pull.c:1077
-#, c-format
-msgid ""
-"fetch updated the current branch head.\n"
-"fast-forwarding your working tree from\n"
-"commit %s."
-msgstr ""
-
-#: builtin/pull.c:1083
-#, c-format
-msgid ""
-"Cannot fast-forward your working tree.\n"
-"After making sure that you saved anything precious from\n"
-"$ git diff %s\n"
-"output, run\n"
-"$ git reset --hard\n"
-"to recover."
-msgstr ""
-
-#: builtin/pull.c:1098
-msgid "Cannot merge multiple branches into empty head."
-msgstr ""
-
-#: builtin/pull.c:1103
-msgid "Cannot rebase onto multiple branches."
-msgstr ""
-
-#: builtin/pull.c:1105
-msgid "Cannot fast-forward to multiple branches."
-msgstr ""
-
-#: builtin/pull.c:1120
-msgid "Need to specify how to reconcile divergent branches."
-msgstr ""
-
-#: builtin/pull.c:1134
-msgid "cannot rebase with locally recorded submodule modifications"
-msgstr ""
-
-#: builtin/push.c:19
-msgid "git push [<options>] [<repository> [<refspec>...]]"
-msgstr ""
-
-#: builtin/push.c:111
-msgid "tag shorthand without <tag>"
-msgstr ""
-
-#: builtin/push.c:119
-msgid "--delete only accepts plain target ref names"
-msgstr ""
-
-#: builtin/push.c:164
-msgid ""
-"\n"
-"To choose either option permanently, see push.default in 'git help config'."
-msgstr ""
-
-#: builtin/push.c:167
-#, c-format
-msgid ""
-"The upstream branch of your current branch does not match\n"
-"the name of your current branch.  To push to the upstream branch\n"
-"on the remote, use\n"
-"\n"
-"    git push %s HEAD:%s\n"
-"\n"
-"To push to the branch of the same name on the remote, use\n"
-"\n"
-"    git push %s HEAD\n"
-"%s"
-msgstr ""
-
-#: builtin/push.c:182
-#, c-format
-msgid ""
-"You are not currently on a branch.\n"
-"To push the history leading to the current (detached HEAD)\n"
-"state now, use\n"
-"\n"
-"    git push %s HEAD:<name-of-remote-branch>\n"
-msgstr ""
-
-#: builtin/push.c:191
-#, c-format
-msgid ""
-"The current branch %s has no upstream branch.\n"
-"To push the current branch and set the remote as upstream, use\n"
-"\n"
-"    git push --set-upstream %s %s\n"
-msgstr ""
-
-#: builtin/push.c:199
-#, c-format
-msgid "The current branch %s has multiple upstream branches, refusing to push."
-msgstr ""
-
-#: builtin/push.c:217
-msgid ""
-"You didn't specify any refspecs to push, and push.default is \"nothing\"."
-msgstr ""
-
-#: builtin/push.c:243
-#, c-format
-msgid ""
-"You are pushing to remote '%s', which is not the upstream of\n"
-"your current branch '%s', without telling me what to push\n"
-"to update which remote branch."
-msgstr ""
-
-#: builtin/push.c:258
-msgid ""
-"Updates were rejected because the tip of your current branch is behind\n"
-"its remote counterpart. Integrate the remote changes (e.g.\n"
-"'git pull ...') before pushing again.\n"
-"See the 'Note about fast-forwards' in 'git push --help' for details."
-msgstr ""
-
-#: builtin/push.c:264
-msgid ""
-"Updates were rejected because a pushed branch tip is behind its remote\n"
-"counterpart. Check out this branch and integrate the remote changes\n"
-"(e.g. 'git pull ...') before pushing again.\n"
-"See the 'Note about fast-forwards' in 'git push --help' for details."
-msgstr ""
-
-#: builtin/push.c:270
-msgid ""
-"Updates were rejected because the remote contains work that you do\n"
-"not have locally. This is usually caused by another repository pushing\n"
-"to the same ref. You may want to first integrate the remote changes\n"
-"(e.g., 'git pull ...') before pushing again.\n"
-"See the 'Note about fast-forwards' in 'git push --help' for details."
-msgstr ""
-
-#: builtin/push.c:277
-msgid "Updates were rejected because the tag already exists in the remote."
-msgstr ""
-
-#: builtin/push.c:280
-msgid ""
-"You cannot update a remote ref that points at a non-commit object,\n"
-"or update a remote ref to make it point at a non-commit object,\n"
-"without using the '--force' option.\n"
-msgstr ""
-
-#: builtin/push.c:285
-msgid ""
-"Updates were rejected because the tip of the remote-tracking\n"
-"branch has been updated since the last checkout. You may want\n"
-"to integrate those changes locally (e.g., 'git pull ...')\n"
-"before forcing an update.\n"
-msgstr ""
-
-#: builtin/push.c:355
-#, c-format
-msgid "Pushing to %s\n"
-msgstr ""
-
-#: builtin/push.c:362
-#, c-format
-msgid "failed to push some refs to '%s'"
-msgstr ""
-
-#: builtin/push.c:544 builtin/submodule--helper.c:3377
-msgid "repository"
-msgstr ""
-
-#: builtin/push.c:545 builtin/send-pack.c:193
-msgid "push all refs"
-msgstr ""
-
-#: builtin/push.c:546 builtin/send-pack.c:195
-msgid "mirror all refs"
-msgstr ""
-
-#: builtin/push.c:548
-msgid "delete refs"
-msgstr ""
-
-#: builtin/push.c:549
-msgid "push tags (can't be used with --all or --mirror)"
-msgstr ""
-
-#: builtin/push.c:552 builtin/send-pack.c:196
-msgid "force updates"
-msgstr ""
-
-#: builtin/push.c:553 builtin/send-pack.c:208
-msgid "<refname>:<expect>"
-msgstr ""
-
-#: builtin/push.c:554 builtin/send-pack.c:209
-msgid "require old value of ref to be at this value"
-msgstr ""
-
-#: builtin/push.c:557 builtin/send-pack.c:212
-msgid "require remote updates to be integrated locally"
-msgstr ""
-
-#: builtin/push.c:560
-msgid "control recursive pushing of submodules"
-msgstr ""
-
-#: builtin/push.c:561 builtin/send-pack.c:203
-msgid "use thin pack"
-msgstr ""
-
-#: builtin/push.c:562 builtin/push.c:563 builtin/send-pack.c:190
-#: builtin/send-pack.c:191
-msgid "receive pack program"
-msgstr ""
-
-#: builtin/push.c:564
-msgid "set upstream for git pull/status"
-msgstr ""
-
-#: builtin/push.c:567
-msgid "prune locally removed refs"
-msgstr ""
-
-#: builtin/push.c:569
-msgid "bypass pre-push hook"
-msgstr ""
-
-#: builtin/push.c:570
-msgid "push missing but relevant tags"
-msgstr ""
-
-#: builtin/push.c:572 builtin/send-pack.c:197
-msgid "GPG sign the push"
-msgstr ""
-
-#: builtin/push.c:574 builtin/send-pack.c:204
-msgid "request atomic transaction on remote side"
-msgstr ""
-
-#: builtin/push.c:594
-msgid "--delete doesn't make sense without any refs"
-msgstr ""
-
-#: builtin/push.c:614
-#, c-format
-msgid "bad repository '%s'"
-msgstr ""
-
-#: builtin/push.c:615
-msgid ""
-"No configured push destination.\n"
-"Either specify the URL from the command-line or configure a remote "
-"repository using\n"
-"\n"
-"    git remote add <name> <url>\n"
-"\n"
-"and then push using the remote name\n"
-"\n"
-"    git push <name>\n"
-msgstr ""
-
-#: builtin/push.c:632
-msgid "--all can't be combined with refspecs"
-msgstr ""
-
-#: builtin/push.c:638
-msgid "--mirror can't be combined with refspecs"
-msgstr ""
-
-#: builtin/push.c:648
-msgid "push options must not have new line characters"
-msgstr ""
-
-#: builtin/range-diff.c:9
-msgid "git range-diff [<options>] <old-base>..<old-tip> <new-base>..<new-tip>"
-msgstr ""
-
-#: builtin/range-diff.c:10
-msgid "git range-diff [<options>] <old-tip>...<new-tip>"
-msgstr ""
-
-#: builtin/range-diff.c:11
-msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
-msgstr ""
-
-#: builtin/range-diff.c:30
-msgid "use simple diff colors"
-msgstr ""
-
-#: builtin/range-diff.c:32
-msgid "notes"
-msgstr ""
-
-#: builtin/range-diff.c:32
-msgid "passed to 'git log'"
-msgstr ""
-
-#: builtin/range-diff.c:35
-msgid "only emit output related to the first range"
-msgstr ""
-
-#: builtin/range-diff.c:37
-msgid "only emit output related to the second range"
-msgstr ""
-
-#: builtin/range-diff.c:60 builtin/range-diff.c:64
-#, c-format
-msgid "not a commit range: '%s'"
-msgstr ""
-
-#: builtin/range-diff.c:74
-msgid "single arg format must be symmetric range"
-msgstr ""
-
-#: builtin/range-diff.c:89
-msgid "need two commit ranges"
-msgstr ""
-
-#: builtin/read-tree.c:41
-msgid ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
-"[-u | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-"
-"ish1> [<tree-ish2> [<tree-ish3>]])"
-msgstr ""
-
-#: builtin/read-tree.c:116
-msgid "write resulting index to <file>"
-msgstr ""
-
-#: builtin/read-tree.c:119
-msgid "only empty the index"
-msgstr ""
-
-#: builtin/read-tree.c:121
-msgid "Merging"
-msgstr ""
-
-#: builtin/read-tree.c:123
-msgid "perform a merge in addition to a read"
-msgstr ""
-
-#: builtin/read-tree.c:125
-msgid "3-way merge if no file level merging required"
-msgstr ""
-
-#: builtin/read-tree.c:127
-msgid "3-way merge in presence of adds and removes"
-msgstr ""
-
-#: builtin/read-tree.c:129
-msgid "same as -m, but discard unmerged entries"
-msgstr ""
-
-#: builtin/read-tree.c:130
-msgid "<subdirectory>/"
-msgstr ""
-
-#: builtin/read-tree.c:131
-msgid "read the tree into the index under <subdirectory>/"
-msgstr ""
-
-#: builtin/read-tree.c:134
-msgid "update working tree with merge result"
-msgstr ""
-
-#: builtin/read-tree.c:136
-msgid "gitignore"
-msgstr ""
-
-#: builtin/read-tree.c:137
-msgid "allow explicitly ignored files to be overwritten"
-msgstr ""
-
-#: builtin/read-tree.c:140
-msgid "don't check the working tree after merging"
-msgstr ""
-
-#: builtin/read-tree.c:141
-msgid "don't update the index or the work tree"
-msgstr ""
-
-#: builtin/read-tree.c:143
-msgid "skip applying sparse checkout filter"
-msgstr ""
-
-#: builtin/read-tree.c:145
-msgid "debug unpack-trees"
-msgstr ""
-
-#: builtin/read-tree.c:149
-msgid "suppress feedback messages"
-msgstr ""
-
-#: builtin/read-tree.c:190
-msgid "You need to resolve your current index first"
-msgstr ""
-
-#: builtin/rebase.c:36
-msgid ""
-"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] "
-"[<upstream> [<branch>]]"
-msgstr ""
-
-#: builtin/rebase.c:38
-msgid ""
-"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]"
-msgstr ""
-
-#: builtin/rebase.c:231
-#, c-format
-msgid "could not create temporary %s"
-msgstr ""
-
-#: builtin/rebase.c:237
-msgid "could not mark as interactive"
-msgstr ""
-
-#: builtin/rebase.c:290
-msgid "could not generate todo list"
-msgstr ""
-
-#: builtin/rebase.c:332
-msgid "a base commit must be provided with --upstream or --onto"
-msgstr ""
-
-#: builtin/rebase.c:391
-#, c-format
-msgid "%s requires the merge backend"
-msgstr ""
-
-#: builtin/rebase.c:433
-#, c-format
-msgid "could not get 'onto': '%s'"
-msgstr ""
-
-#: builtin/rebase.c:450
-#, c-format
-msgid "invalid orig-head: '%s'"
-msgstr ""
-
-#: builtin/rebase.c:475
-#, c-format
-msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
-msgstr ""
-
-#: builtin/rebase.c:600
-msgid ""
-"Resolve all conflicts manually, mark them as resolved with\n"
-"\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
-"You can instead skip this commit: run \"git rebase --skip\".\n"
-"To abort and get back to the state before \"git rebase\", run \"git rebase --"
-"abort\"."
-msgstr ""
-
-#: builtin/rebase.c:685
-#, c-format
-msgid ""
-"\n"
-"git encountered an error while preparing the patches to replay\n"
-"these revisions:\n"
-"\n"
-"    %s\n"
-"\n"
-"As a result, git cannot rebase them."
-msgstr ""
-
-#: builtin/rebase.c:836
-#, c-format
-msgid "could not switch to %s"
-msgstr ""
-
-#: builtin/rebase.c:952
-#, c-format
-msgid ""
-"unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask"
-"\"."
-msgstr ""
-
-#: builtin/rebase.c:970
-#, c-format
-msgid ""
-"%s\n"
-"Please specify which branch you want to rebase against.\n"
-"See git-rebase(1) for details.\n"
-"\n"
-"    git rebase '<branch>'\n"
-"\n"
-msgstr ""
-
-#: builtin/rebase.c:986
-#, c-format
-msgid ""
-"If you wish to set tracking information for this branch you can do so with:\n"
-"\n"
-"    git branch --set-upstream-to=%s/<branch> %s\n"
-"\n"
-msgstr ""
-
-#: builtin/rebase.c:1016
-msgid "exec commands cannot contain newlines"
-msgstr ""
-
-#: builtin/rebase.c:1020
-msgid "empty exec command"
-msgstr ""
-
-#: builtin/rebase.c:1051
-msgid "rebase onto given branch instead of upstream"
-msgstr ""
-
-#: builtin/rebase.c:1053
-msgid "use the merge-base of upstream and branch as the current base"
-msgstr ""
-
-#: builtin/rebase.c:1055
-msgid "allow pre-rebase hook to run"
-msgstr ""
-
-#: builtin/rebase.c:1057
-msgid "be quiet. implies --no-stat"
-msgstr ""
-
-#: builtin/rebase.c:1060
-msgid "display a diffstat of what changed upstream"
-msgstr ""
-
-#: builtin/rebase.c:1063
-msgid "do not show diffstat of what changed upstream"
-msgstr ""
-
-#: builtin/rebase.c:1066
-msgid "add a Signed-off-by trailer to each commit"
-msgstr ""
-
-#: builtin/rebase.c:1069
-msgid "make committer date match author date"
-msgstr ""
-
-#: builtin/rebase.c:1071
-msgid "ignore author date and use current date"
-msgstr ""
-
-#: builtin/rebase.c:1073
-msgid "synonym of --reset-author-date"
-msgstr ""
-
-#: builtin/rebase.c:1075 builtin/rebase.c:1079
-msgid "passed to 'git apply'"
-msgstr ""
-
-#: builtin/rebase.c:1077
-msgid "ignore changes in whitespace"
-msgstr ""
-
-#: builtin/rebase.c:1081 builtin/rebase.c:1084
-msgid "cherry-pick all commits, even if unchanged"
-msgstr ""
-
-#: builtin/rebase.c:1086
-msgid "continue"
-msgstr ""
-
-#: builtin/rebase.c:1089
-msgid "skip current patch and continue"
-msgstr ""
-
-#: builtin/rebase.c:1091
-msgid "abort and check out the original branch"
-msgstr ""
-
-#: builtin/rebase.c:1094
-msgid "abort but keep HEAD where it is"
-msgstr ""
-
-#: builtin/rebase.c:1095
-msgid "edit the todo list during an interactive rebase"
-msgstr ""
-
-#: builtin/rebase.c:1098
-msgid "show the patch file being applied or merged"
-msgstr ""
-
-#: builtin/rebase.c:1101
-msgid "use apply strategies to rebase"
-msgstr ""
-
-#: builtin/rebase.c:1105
-msgid "use merging strategies to rebase"
-msgstr ""
-
-#: builtin/rebase.c:1109
-msgid "let the user edit the list of commits to rebase"
-msgstr ""
-
-#: builtin/rebase.c:1113
-msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
-msgstr ""
-
-#: builtin/rebase.c:1118
-msgid "how to handle commits that become empty"
-msgstr ""
-
-#: builtin/rebase.c:1121
-msgid "keep commits which start empty"
-msgstr ""
-
-#: builtin/rebase.c:1125
-msgid "move commits that begin with squash!/fixup! under -i"
-msgstr ""
-
-#: builtin/rebase.c:1132
-msgid "add exec lines after each commit of the editable list"
-msgstr ""
-
-#: builtin/rebase.c:1136
-msgid "allow rebasing commits with empty messages"
-msgstr ""
-
-#: builtin/rebase.c:1140
-msgid "try to rebase merges instead of skipping them"
-msgstr ""
-
-#: builtin/rebase.c:1143
-msgid "use 'merge-base --fork-point' to refine upstream"
-msgstr ""
-
-#: builtin/rebase.c:1145
-msgid "use the given merge strategy"
-msgstr ""
-
-#: builtin/rebase.c:1147 builtin/revert.c:115
-msgid "option"
-msgstr ""
-
-#: builtin/rebase.c:1148
-msgid "pass the argument through to the merge strategy"
-msgstr ""
-
-#: builtin/rebase.c:1151
-msgid "rebase all reachable commits up to the root(s)"
-msgstr ""
-
-#: builtin/rebase.c:1154
-msgid "automatically re-schedule any `exec` that fails"
-msgstr ""
-
-#: builtin/rebase.c:1156
-msgid "apply all changes, even those already present upstream"
-msgstr ""
-
-#: builtin/rebase.c:1177
-msgid "It looks like 'git am' is in progress. Cannot rebase."
-msgstr ""
-
-#: builtin/rebase.c:1208
-msgid "--preserve-merges was replaced by --rebase-merges"
-msgstr ""
-
-#: builtin/rebase.c:1230
-msgid "No rebase in progress?"
-msgstr ""
-
-#: builtin/rebase.c:1234
-msgid "The --edit-todo action can only be used during interactive rebase."
-msgstr ""
-
-#: builtin/rebase.c:1257 t/helper/test-fast-rebase.c:122
-msgid "Cannot read HEAD"
-msgstr ""
-
-#: builtin/rebase.c:1269
-msgid ""
-"You must edit all merge conflicts and then\n"
-"mark them as resolved using git add"
-msgstr ""
-
-#: builtin/rebase.c:1287
-msgid "could not discard worktree changes"
-msgstr ""
-
-#: builtin/rebase.c:1308
-#, c-format
-msgid "could not move back to %s"
-msgstr ""
-
-#: builtin/rebase.c:1354
-#, c-format
-msgid ""
-"It seems that there is already a %s directory, and\n"
-"I wonder if you are in the middle of another rebase.  If that is the\n"
-"case, please try\n"
-"\t%s\n"
-"If that is not the case, please\n"
-"\t%s\n"
-"and run me again.  I am stopping in case you still have something\n"
-"valuable there.\n"
-msgstr ""
-
-#: builtin/rebase.c:1382
-msgid "switch `C' expects a numerical value"
-msgstr ""
-
-#: builtin/rebase.c:1424
-#, c-format
-msgid "Unknown mode: %s"
-msgstr ""
-
-#: builtin/rebase.c:1463
-msgid "--strategy requires --merge or --interactive"
-msgstr ""
-
-#: builtin/rebase.c:1492
-msgid "apply options and merge options cannot be used together"
-msgstr ""
-
-#: builtin/rebase.c:1505
-#, c-format
-msgid "Unknown rebase backend: %s"
-msgstr ""
-
-#: builtin/rebase.c:1534
-msgid "--reschedule-failed-exec requires --exec or --interactive"
-msgstr ""
-
-#: builtin/rebase.c:1565
-#, c-format
-msgid "invalid upstream '%s'"
-msgstr ""
-
-#: builtin/rebase.c:1571
-msgid "Could not create new root commit"
-msgstr ""
-
-#: builtin/rebase.c:1597
-#, c-format
-msgid "'%s': need exactly one merge base with branch"
-msgstr ""
-
-#: builtin/rebase.c:1600
-#, c-format
-msgid "'%s': need exactly one merge base"
-msgstr ""
-
-#: builtin/rebase.c:1609
-#, c-format
-msgid "Does not point to a valid commit '%s'"
-msgstr ""
-
-#: builtin/rebase.c:1636
-#, c-format
-msgid "no such branch/commit '%s'"
-msgstr ""
-
-#: builtin/rebase.c:1647 builtin/submodule--helper.c:43
-#: builtin/submodule--helper.c:2477
-#, c-format
-msgid "No such ref: %s"
-msgstr ""
-
-#: builtin/rebase.c:1658
-msgid "Could not resolve HEAD to a revision"
-msgstr ""
-
-#: builtin/rebase.c:1679
-msgid "Please commit or stash them."
-msgstr ""
-
-#: builtin/rebase.c:1714
-msgid "HEAD is up to date."
-msgstr ""
-
-#: builtin/rebase.c:1716
-#, c-format
-msgid "Current branch %s is up to date.\n"
-msgstr ""
-
-#: builtin/rebase.c:1724
-msgid "HEAD is up to date, rebase forced."
-msgstr ""
-
-#: builtin/rebase.c:1726
-#, c-format
-msgid "Current branch %s is up to date, rebase forced.\n"
-msgstr ""
-
-#: builtin/rebase.c:1734
-msgid "The pre-rebase hook refused to rebase."
-msgstr ""
-
-#: builtin/rebase.c:1741
-#, c-format
-msgid "Changes to %s:\n"
-msgstr ""
-
-#: builtin/rebase.c:1744
-#, c-format
-msgid "Changes from %s to %s:\n"
-msgstr ""
-
-#: builtin/rebase.c:1769
-#, c-format
-msgid "First, rewinding head to replay your work on top of it...\n"
-msgstr ""
-
-#: builtin/rebase.c:1781
-msgid "Could not detach HEAD"
-msgstr ""
-
-#: builtin/rebase.c:1790
-#, c-format
-msgid "Fast-forwarded %s to %s.\n"
-msgstr ""
-
-#: builtin/receive-pack.c:35
-msgid "git receive-pack <git-dir>"
-msgstr ""
-
-#: builtin/receive-pack.c:1263
-msgid ""
-"By default, updating the current branch in a non-bare repository\n"
-"is denied, because it will make the index and work tree inconsistent\n"
-"with what you pushed, and will require 'git reset --hard' to match\n"
-"the work tree to HEAD.\n"
-"\n"
-"You can set the 'receive.denyCurrentBranch' configuration variable\n"
-"to 'ignore' or 'warn' in the remote repository to allow pushing into\n"
-"its current branch; however, this is not recommended unless you\n"
-"arranged to update its work tree to match what you pushed in some\n"
-"other way.\n"
-"\n"
-"To squelch this message and still keep the default behaviour, set\n"
-"'receive.denyCurrentBranch' configuration variable to 'refuse'."
-msgstr ""
-
-#: builtin/receive-pack.c:1283
-msgid ""
-"By default, deleting the current branch is denied, because the next\n"
-"'git clone' won't result in any file checked out, causing confusion.\n"
-"\n"
-"You can set 'receive.denyDeleteCurrent' configuration variable to\n"
-"'warn' or 'ignore' in the remote repository to allow deleting the\n"
-"current branch, with or without a warning message.\n"
-"\n"
-"To squelch this message, you can set it to 'refuse'."
-msgstr ""
-
-#: builtin/receive-pack.c:2476
-msgid "quiet"
-msgstr ""
-
-#: builtin/receive-pack.c:2491
-msgid "you must specify a directory"
-msgstr ""
-
-#: builtin/reflog.c:9
-msgid "git reflog [show] [<log-options>] [<ref>]"
-msgstr ""
-
-#: builtin/reflog.c:12
-msgid ""
-"git reflog expire [--expire=<time>] [--expire-unreachable=<time>]\n"
-"                  [--rewrite] [--updateref] [--stale-fix]\n"
-"                  [--dry-run | -n] [--verbose] [--all [--single-worktree] | "
-"<refs>...]"
-msgstr ""
-
-#: builtin/reflog.c:17
-msgid ""
-"git reflog delete [--rewrite] [--updateref]\n"
-"                  [--dry-run | -n] [--verbose] <ref>@{<specifier>}..."
-msgstr ""
-
-#: builtin/reflog.c:21
-msgid "git reflog exists <ref>"
-msgstr ""
-
-#: builtin/reflog.c:197 builtin/reflog.c:211
-#, c-format
-msgid "invalid timestamp '%s' given to '--%s'"
-msgstr ""
-
-#: builtin/reflog.c:240 builtin/reflog.c:359
-msgid "do not actually prune any entries"
-msgstr ""
-
-#: builtin/reflog.c:243 builtin/reflog.c:362
-msgid ""
-"rewrite the old SHA1 with the new SHA1 of the entry that now precedes it"
-msgstr ""
-
-#: builtin/reflog.c:246 builtin/reflog.c:365
-msgid "update the reference to the value of the top reflog entry"
-msgstr ""
-
-#: builtin/reflog.c:248 builtin/reflog.c:367
-msgid "print extra information on screen"
-msgstr ""
-
-#: builtin/reflog.c:249 builtin/reflog.c:253
-msgid "timestamp"
-msgstr ""
-
-#: builtin/reflog.c:250
-msgid "prune entries older than the specified time"
-msgstr ""
-
-#: builtin/reflog.c:254
-msgid ""
-"prune entries older than <time> that are not reachable from the current tip "
-"of the branch"
-msgstr ""
-
-#: builtin/reflog.c:258
-msgid "prune any reflog entries that point to broken commits"
-msgstr ""
-
-#: builtin/reflog.c:259
-msgid "process the reflogs of all references"
-msgstr ""
-
-#: builtin/reflog.c:261
-msgid "limits processing to reflogs from the current worktree only"
-msgstr ""
-
-#: builtin/reflog.c:294
-#, c-format
-msgid "Marking reachable objects..."
-msgstr ""
-
-#: builtin/reflog.c:338
-#, c-format
-msgid "%s points nowhere!"
-msgstr ""
-
-#: builtin/reflog.c:374
-msgid "no reflog specified to delete"
-msgstr ""
-
-#: builtin/reflog.c:396
-#, c-format
-msgid "invalid ref format: %s"
-msgstr ""
-
-#: builtin/remote.c:19
-msgid ""
-"git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
-"mirror=<fetch|push>] <name> <url>"
-msgstr ""
-
-#: builtin/remote.c:20 builtin/remote.c:40
-msgid "git remote rename [--[no-]progress] <old> <new>"
-msgstr ""
-
-#: builtin/remote.c:21 builtin/remote.c:45
-msgid "git remote remove <name>"
-msgstr ""
-
-#: builtin/remote.c:22 builtin/remote.c:50
-msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
-msgstr ""
-
-#: builtin/remote.c:23
-msgid "git remote [-v | --verbose] show [-n] <name>"
-msgstr ""
-
-#: builtin/remote.c:24
-msgid "git remote prune [-n | --dry-run] <name>"
-msgstr ""
-
-#: builtin/remote.c:25
-msgid ""
-"git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
-msgstr ""
-
-#: builtin/remote.c:26
-msgid "git remote set-branches [--add] <name> <branch>..."
-msgstr ""
-
-#: builtin/remote.c:27 builtin/remote.c:76
-msgid "git remote get-url [--push] [--all] <name>"
-msgstr ""
-
-#: builtin/remote.c:28 builtin/remote.c:81
-msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
-msgstr ""
-
-#: builtin/remote.c:29 builtin/remote.c:82
-msgid "git remote set-url --add <name> <newurl>"
-msgstr ""
-
-#: builtin/remote.c:30 builtin/remote.c:83
-msgid "git remote set-url --delete <name> <url>"
-msgstr ""
-
-#: builtin/remote.c:35
-msgid "git remote add [<options>] <name> <url>"
-msgstr ""
-
-#: builtin/remote.c:55
-msgid "git remote set-branches <name> <branch>..."
-msgstr ""
-
-#: builtin/remote.c:56
-msgid "git remote set-branches --add <name> <branch>..."
-msgstr ""
-
-#: builtin/remote.c:61
-msgid "git remote show [<options>] <name>"
-msgstr ""
-
-#: builtin/remote.c:66
-msgid "git remote prune [<options>] <name>"
-msgstr ""
-
-#: builtin/remote.c:71
-msgid "git remote update [<options>] [<group> | <remote>]..."
-msgstr ""
-
-#: builtin/remote.c:100
-#, c-format
-msgid "Updating %s"
-msgstr ""
-
-#: builtin/remote.c:102
-#, c-format
-msgid "Could not fetch %s"
-msgstr ""
-
-#: builtin/remote.c:132
-msgid ""
-"--mirror is dangerous and deprecated; please\n"
-"\t use --mirror=fetch or --mirror=push instead"
-msgstr ""
-
-#: builtin/remote.c:149
-#, c-format
-msgid "unknown mirror argument: %s"
-msgstr ""
-
-#: builtin/remote.c:165
-msgid "fetch the remote branches"
-msgstr ""
-
-#: builtin/remote.c:167
-msgid "import all tags and associated objects when fetching"
-msgstr ""
-
-#: builtin/remote.c:170
-msgid "or do not fetch any tag at all (--no-tags)"
-msgstr ""
-
-#: builtin/remote.c:172
-msgid "branch(es) to track"
-msgstr ""
-
-#: builtin/remote.c:173
-msgid "master branch"
-msgstr ""
-
-#: builtin/remote.c:175
-msgid "set up remote as a mirror to push to or fetch from"
-msgstr ""
-
-#: builtin/remote.c:187
-msgid "specifying a master branch makes no sense with --mirror"
-msgstr ""
-
-#: builtin/remote.c:189
-msgid "specifying branches to track makes sense only with fetch mirrors"
-msgstr ""
-
-#: builtin/remote.c:196 builtin/remote.c:716
-#, c-format
-msgid "remote %s already exists."
-msgstr ""
-
-#: builtin/remote.c:241
-#, c-format
-msgid "Could not setup master '%s'"
-msgstr ""
-
-#: builtin/remote.c:323
-#, c-format
-msgid "unhandled branch.%s.rebase=%s; assuming 'true'"
-msgstr ""
-
-#: builtin/remote.c:367
-#, c-format
-msgid "Could not get fetch map for refspec %s"
-msgstr ""
-
-#: builtin/remote.c:461 builtin/remote.c:469
-msgid "(matching)"
-msgstr ""
-
-#: builtin/remote.c:473
-msgid "(delete)"
-msgstr ""
-
-#: builtin/remote.c:664
-#, c-format
-msgid "could not set '%s'"
-msgstr ""
-
-#: builtin/remote.c:669
-#, c-format
-msgid ""
-"The %s configuration remote.pushDefault in:\n"
-"\t%s:%d\n"
-"now names the non-existent remote '%s'"
-msgstr ""
-
-#: builtin/remote.c:707 builtin/remote.c:866 builtin/remote.c:973
-#, c-format
-msgid "No such remote: '%s'"
-msgstr ""
-
-#: builtin/remote.c:726
-#, c-format
-msgid "Could not rename config section '%s' to '%s'"
-msgstr ""
-
-#: builtin/remote.c:746
-#, c-format
-msgid ""
-"Not updating non-default fetch refspec\n"
-"\t%s\n"
-"\tPlease update the configuration manually if necessary."
-msgstr ""
-
-#: builtin/remote.c:783
-msgid "Renaming remote references"
-msgstr ""
-
-#: builtin/remote.c:794
-#, c-format
-msgid "deleting '%s' failed"
-msgstr ""
-
-#: builtin/remote.c:832
-#, c-format
-msgid "creating '%s' failed"
-msgstr ""
-
-#: builtin/remote.c:912
-msgid ""
-"Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
-"to delete it, use:"
-msgid_plural ""
-"Note: Some branches outside the refs/remotes/ hierarchy were not removed;\n"
-"to delete them, use:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/remote.c:926
-#, c-format
-msgid "Could not remove config section '%s'"
-msgstr ""
-
-#: builtin/remote.c:1034
-#, c-format
-msgid " new (next fetch will store in remotes/%s)"
-msgstr ""
-
-#: builtin/remote.c:1037
-msgid " tracked"
-msgstr ""
-
-#: builtin/remote.c:1039
-msgid " stale (use 'git remote prune' to remove)"
-msgstr ""
-
-#: builtin/remote.c:1041
-msgid " ???"
-msgstr ""
-
-#: builtin/remote.c:1082
-#, c-format
-msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
-msgstr ""
-
-#: builtin/remote.c:1091
-#, c-format
-msgid "rebases interactively onto remote %s"
-msgstr ""
-
-#: builtin/remote.c:1093
-#, c-format
-msgid "rebases interactively (with merges) onto remote %s"
-msgstr ""
-
-#: builtin/remote.c:1096
-#, c-format
-msgid "rebases onto remote %s"
-msgstr ""
-
-#: builtin/remote.c:1100
-#, c-format
-msgid " merges with remote %s"
-msgstr ""
-
-#: builtin/remote.c:1103
-#, c-format
-msgid "merges with remote %s"
-msgstr ""
-
-#: builtin/remote.c:1106
-#, c-format
-msgid "%-*s    and with remote %s\n"
-msgstr ""
-
-#: builtin/remote.c:1149
-msgid "create"
-msgstr ""
-
-#: builtin/remote.c:1152
-msgid "delete"
-msgstr ""
-
-#: builtin/remote.c:1156
-msgid "up to date"
-msgstr ""
-
-#: builtin/remote.c:1159
-msgid "fast-forwardable"
-msgstr ""
-
-#: builtin/remote.c:1162
-msgid "local out of date"
-msgstr ""
-
-#: builtin/remote.c:1169
-#, c-format
-msgid "    %-*s forces to %-*s (%s)"
-msgstr ""
-
-#: builtin/remote.c:1172
-#, c-format
-msgid "    %-*s pushes to %-*s (%s)"
-msgstr ""
-
-#: builtin/remote.c:1176
-#, c-format
-msgid "    %-*s forces to %s"
-msgstr ""
-
-#: builtin/remote.c:1179
-#, c-format
-msgid "    %-*s pushes to %s"
-msgstr ""
-
-#: builtin/remote.c:1247
-msgid "do not query remotes"
-msgstr ""
-
-#: builtin/remote.c:1268
-#, c-format
-msgid "* remote %s"
-msgstr ""
-
-#: builtin/remote.c:1269
-#, c-format
-msgid "  Fetch URL: %s"
-msgstr ""
-
-#: builtin/remote.c:1270 builtin/remote.c:1286 builtin/remote.c:1423
-msgid "(no URL)"
-msgstr ""
-
-#. TRANSLATORS: the colon ':' should align
-#. with the one in " Fetch URL: %s"
-#. translation.
-#.
-#: builtin/remote.c:1284 builtin/remote.c:1286
-#, c-format
-msgid "  Push  URL: %s"
-msgstr ""
-
-#: builtin/remote.c:1288 builtin/remote.c:1290 builtin/remote.c:1292
-#, c-format
-msgid "  HEAD branch: %s"
-msgstr ""
-
-#: builtin/remote.c:1288
-msgid "(not queried)"
-msgstr ""
-
-#: builtin/remote.c:1290
-msgid "(unknown)"
-msgstr ""
-
-#: builtin/remote.c:1294
-#, c-format
-msgid ""
-"  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
-msgstr ""
-
-#: builtin/remote.c:1306
-#, c-format
-msgid "  Remote branch:%s"
-msgid_plural "  Remote branches:%s"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/remote.c:1309 builtin/remote.c:1335
-msgid " (status not queried)"
-msgstr ""
-
-#: builtin/remote.c:1318
-msgid "  Local branch configured for 'git pull':"
-msgid_plural "  Local branches configured for 'git pull':"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/remote.c:1326
-msgid "  Local refs will be mirrored by 'git push'"
-msgstr ""
-
-#: builtin/remote.c:1332
-#, c-format
-msgid "  Local ref configured for 'git push'%s:"
-msgid_plural "  Local refs configured for 'git push'%s:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/remote.c:1353
-msgid "set refs/remotes/<name>/HEAD according to remote"
-msgstr ""
-
-#: builtin/remote.c:1355
-msgid "delete refs/remotes/<name>/HEAD"
-msgstr ""
-
-#: builtin/remote.c:1369
-msgid "Cannot determine remote HEAD"
-msgstr ""
-
-#: builtin/remote.c:1371
-msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
-msgstr ""
-
-#: builtin/remote.c:1381
-#, c-format
-msgid "Could not delete %s"
-msgstr ""
-
-#: builtin/remote.c:1389
-#, c-format
-msgid "Not a valid ref: %s"
-msgstr ""
-
-#: builtin/remote.c:1391
-#, c-format
-msgid "Could not setup %s"
-msgstr ""
-
-#: builtin/remote.c:1409
-#, c-format
-msgid " %s will become dangling!"
-msgstr ""
-
-#: builtin/remote.c:1410
-#, c-format
-msgid " %s has become dangling!"
-msgstr ""
-
-#: builtin/remote.c:1419
-#, c-format
-msgid "Pruning %s"
-msgstr ""
-
-#: builtin/remote.c:1420
-#, c-format
-msgid "URL: %s"
-msgstr ""
-
-#: builtin/remote.c:1436
-#, c-format
-msgid " * [would prune] %s"
-msgstr ""
-
-#: builtin/remote.c:1439
-#, c-format
-msgid " * [pruned] %s"
-msgstr ""
-
-#: builtin/remote.c:1484
-msgid "prune remotes after fetching"
-msgstr ""
-
-#: builtin/remote.c:1548 builtin/remote.c:1604 builtin/remote.c:1674
-#, c-format
-msgid "No such remote '%s'"
-msgstr ""
-
-#: builtin/remote.c:1566
-msgid "add branch"
-msgstr ""
-
-#: builtin/remote.c:1573
-msgid "no remote specified"
-msgstr ""
-
-#: builtin/remote.c:1590
-msgid "query push URLs rather than fetch URLs"
-msgstr ""
-
-#: builtin/remote.c:1592
-msgid "return all URLs"
-msgstr ""
-
-#: builtin/remote.c:1622
-#, c-format
-msgid "no URLs configured for remote '%s'"
-msgstr ""
-
-#: builtin/remote.c:1648
-msgid "manipulate push URLs"
-msgstr ""
-
-#: builtin/remote.c:1650
-msgid "add URL"
-msgstr ""
-
-#: builtin/remote.c:1652
-msgid "delete URLs"
-msgstr ""
-
-#: builtin/remote.c:1659
-msgid "--add --delete doesn't make sense"
-msgstr ""
-
-#: builtin/remote.c:1700
-#, c-format
-msgid "Invalid old URL pattern: %s"
-msgstr ""
-
-#: builtin/remote.c:1708
-#, c-format
-msgid "No such URL found: %s"
-msgstr ""
-
-#: builtin/remote.c:1710
-msgid "Will not delete all non-push URLs"
-msgstr ""
-
-#: builtin/remote.c:1727
-msgid "be verbose; must be placed before a subcommand"
-msgstr ""
-
-#: builtin/repack.c:29
-msgid "git repack [<options>]"
-msgstr ""
-
-#: builtin/repack.c:34
-msgid ""
-"Incremental repacks are incompatible with bitmap indexes.  Use\n"
-"--no-write-bitmap-index or disable the pack.writebitmaps configuration."
-msgstr ""
-
-#: builtin/repack.c:206
-msgid "could not start pack-objects to repack promisor objects"
-msgstr ""
-
-#: builtin/repack.c:280 builtin/repack.c:824
-msgid "repack: Expecting full hex object ID lines only from pack-objects."
-msgstr ""
-
-#: builtin/repack.c:304
-msgid "could not finish pack-objects to repack promisor objects"
-msgstr ""
-
-#: builtin/repack.c:319
-#, c-format
-msgid "cannot open index for %s"
-msgstr ""
-
-#: builtin/repack.c:378
-#, c-format
-msgid "pack %s too large to consider in geometric progression"
-msgstr ""
-
-#: builtin/repack.c:411 builtin/repack.c:418 builtin/repack.c:423
-#, c-format
-msgid "pack %s too large to roll up"
-msgstr ""
-
-#: builtin/repack.c:503
-#, c-format
-msgid "could not open tempfile %s for writing"
-msgstr ""
-
-#: builtin/repack.c:521
-msgid "could not close refs snapshot tempfile"
-msgstr ""
-
-#: builtin/repack.c:634
-msgid "pack everything in a single pack"
-msgstr ""
-
-#: builtin/repack.c:636
-msgid "same as -a, and turn unreachable objects loose"
-msgstr ""
-
-#: builtin/repack.c:639
-msgid "remove redundant packs, and run git-prune-packed"
-msgstr ""
-
-#: builtin/repack.c:641
-msgid "pass --no-reuse-delta to git-pack-objects"
-msgstr ""
-
-#: builtin/repack.c:643
-msgid "pass --no-reuse-object to git-pack-objects"
-msgstr ""
-
-#: builtin/repack.c:645
-msgid "do not run git-update-server-info"
-msgstr ""
-
-#: builtin/repack.c:648
-msgid "pass --local to git-pack-objects"
-msgstr ""
-
-#: builtin/repack.c:650
-msgid "write bitmap index"
-msgstr ""
-
-#: builtin/repack.c:652
-msgid "pass --delta-islands to git-pack-objects"
-msgstr ""
-
-#: builtin/repack.c:653
-msgid "approxidate"
-msgstr ""
-
-#: builtin/repack.c:654
-msgid "with -A, do not loosen objects older than this"
-msgstr ""
-
-#: builtin/repack.c:656
-msgid "with -a, repack unreachable objects"
-msgstr ""
-
-#: builtin/repack.c:658
-msgid "size of the window used for delta compression"
-msgstr ""
-
-#: builtin/repack.c:659 builtin/repack.c:665
-msgid "bytes"
-msgstr ""
-
-#: builtin/repack.c:660
-msgid "same as the above, but limit memory size instead of entries count"
-msgstr ""
-
-#: builtin/repack.c:662
-msgid "limits the maximum delta depth"
-msgstr ""
-
-#: builtin/repack.c:664
-msgid "limits the maximum number of threads"
-msgstr ""
-
-#: builtin/repack.c:666
-msgid "maximum size of each packfile"
-msgstr ""
-
-#: builtin/repack.c:668
-msgid "repack objects in packs marked with .keep"
-msgstr ""
-
-#: builtin/repack.c:670
-msgid "do not repack this pack"
-msgstr ""
-
-#: builtin/repack.c:672
-msgid "find a geometric progression with factor <N>"
-msgstr ""
-
-#: builtin/repack.c:674
-msgid "write a multi-pack index of the resulting packs"
-msgstr ""
-
-#: builtin/repack.c:684
-msgid "cannot delete packs in a precious-objects repo"
-msgstr ""
-
-#: builtin/repack.c:833
-msgid "Nothing new to pack."
-msgstr ""
-
-#: builtin/repack.c:863
-#, c-format
-msgid "missing required file: %s"
-msgstr ""
-
-#: builtin/repack.c:865
-#, c-format
-msgid "could not unlink: %s"
-msgstr ""
-
-#: builtin/replace.c:22
-msgid "git replace [-f] <object> <replacement>"
-msgstr ""
-
-#: builtin/replace.c:23
-msgid "git replace [-f] --edit <object>"
-msgstr ""
-
-#: builtin/replace.c:24
-msgid "git replace [-f] --graft <commit> [<parent>...]"
-msgstr ""
-
-#: builtin/replace.c:26
-msgid "git replace -d <object>..."
-msgstr ""
-
-#: builtin/replace.c:27
-msgid "git replace [--format=<format>] [-l [<pattern>]]"
-msgstr ""
-
-#: builtin/replace.c:90
-#, c-format
-msgid ""
-"invalid replace format '%s'\n"
-"valid formats are 'short', 'medium' and 'long'"
-msgstr ""
-
-#: builtin/replace.c:125
-#, c-format
-msgid "replace ref '%s' not found"
-msgstr ""
-
-#: builtin/replace.c:141
-#, c-format
-msgid "Deleted replace ref '%s'"
-msgstr ""
-
-#: builtin/replace.c:153
-#, c-format
-msgid "'%s' is not a valid ref name"
-msgstr ""
-
-#: builtin/replace.c:158
-#, c-format
-msgid "replace ref '%s' already exists"
-msgstr ""
-
-#: builtin/replace.c:178
-#, c-format
-msgid ""
-"Objects must be of the same type.\n"
-"'%s' points to a replaced object of type '%s'\n"
-"while '%s' points to a replacement object of type '%s'."
-msgstr ""
-
-#: builtin/replace.c:229
-#, c-format
-msgid "unable to open %s for writing"
-msgstr ""
-
-#: builtin/replace.c:242
-msgid "cat-file reported failure"
-msgstr ""
-
-#: builtin/replace.c:258
-#, c-format
-msgid "unable to open %s for reading"
-msgstr ""
-
-#: builtin/replace.c:271
-msgid "unable to spawn mktree"
-msgstr ""
-
-#: builtin/replace.c:275
-msgid "unable to read from mktree"
-msgstr ""
-
-#: builtin/replace.c:284
-msgid "mktree reported failure"
-msgstr ""
-
-#: builtin/replace.c:288
-msgid "mktree did not return an object name"
-msgstr ""
-
-#: builtin/replace.c:297
-#, c-format
-msgid "unable to fstat %s"
-msgstr ""
-
-#: builtin/replace.c:302
-msgid "unable to write object to database"
-msgstr ""
-
-#: builtin/replace.c:325
-#, c-format
-msgid "unable to get object type for %s"
-msgstr ""
-
-#: builtin/replace.c:341
-msgid "editing object file failed"
-msgstr ""
-
-#: builtin/replace.c:350
-#, c-format
-msgid "new object is the same as the old one: '%s'"
-msgstr ""
-
-#: builtin/replace.c:383
-#, c-format
-msgid "could not parse %s as a commit"
-msgstr ""
-
-#: builtin/replace.c:415
-#, c-format
-msgid "bad mergetag in commit '%s'"
-msgstr ""
-
-#: builtin/replace.c:417
-#, c-format
-msgid "malformed mergetag in commit '%s'"
-msgstr ""
-
-#: builtin/replace.c:429
-#, c-format
-msgid ""
-"original commit '%s' contains mergetag '%s' that is discarded; use --edit "
-"instead of --graft"
-msgstr ""
-
-#: builtin/replace.c:468
-#, c-format
-msgid "the original commit '%s' has a gpg signature"
-msgstr ""
-
-#: builtin/replace.c:469
-msgid "the signature will be removed in the replacement commit!"
-msgstr ""
-
-#: builtin/replace.c:479
-#, c-format
-msgid "could not write replacement commit for: '%s'"
-msgstr ""
-
-#: builtin/replace.c:487
-#, c-format
-msgid "graft for '%s' unnecessary"
-msgstr ""
-
-#: builtin/replace.c:491
-#, c-format
-msgid "new commit is the same as the old one: '%s'"
-msgstr ""
-
-#: builtin/replace.c:526
-#, c-format
-msgid ""
-"could not convert the following graft(s):\n"
-"%s"
-msgstr ""
-
-#: builtin/replace.c:547
-msgid "list replace refs"
-msgstr ""
-
-#: builtin/replace.c:548
-msgid "delete replace refs"
-msgstr ""
-
-#: builtin/replace.c:549
-msgid "edit existing object"
-msgstr ""
-
-#: builtin/replace.c:550
-msgid "change a commit's parents"
-msgstr ""
-
-#: builtin/replace.c:551
-msgid "convert existing graft file"
-msgstr ""
-
-#: builtin/replace.c:552
-msgid "replace the ref if it exists"
-msgstr ""
-
-#: builtin/replace.c:554
-msgid "do not pretty-print contents for --edit"
-msgstr ""
-
-#: builtin/replace.c:555
-msgid "use this format"
-msgstr ""
-
-#: builtin/replace.c:568
-msgid "--format cannot be used when not listing"
-msgstr ""
-
-#: builtin/replace.c:576
-msgid "-f only makes sense when writing a replacement"
-msgstr ""
-
-#: builtin/replace.c:580
-msgid "--raw only makes sense with --edit"
-msgstr ""
-
-#: builtin/replace.c:586
-msgid "-d needs at least one argument"
-msgstr ""
-
-#: builtin/replace.c:592
-msgid "bad number of arguments"
-msgstr ""
-
-#: builtin/replace.c:598
-msgid "-e needs exactly one argument"
-msgstr ""
-
-#: builtin/replace.c:604
-msgid "-g needs at least one argument"
-msgstr ""
-
-#: builtin/replace.c:610
-msgid "--convert-graft-file takes no argument"
-msgstr ""
-
-#: builtin/replace.c:616
-msgid "only one pattern can be given with -l"
-msgstr ""
-
-#: builtin/rerere.c:13
-msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
-msgstr ""
-
-#: builtin/rerere.c:58
-msgid "register clean resolutions in index"
-msgstr ""
-
-#: builtin/rerere.c:77
-msgid "'git rerere forget' without paths is deprecated"
-msgstr ""
-
-#: builtin/rerere.c:111
-#, c-format
-msgid "unable to generate diff for '%s'"
-msgstr ""
-
-#: builtin/reset.c:33
-msgid ""
-"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
-msgstr ""
-
-#: builtin/reset.c:34
-msgid "git reset [-q] [<tree-ish>] [--] <pathspec>..."
-msgstr ""
-
-#: builtin/reset.c:35
-msgid ""
-"git reset [-q] [--pathspec-from-file [--pathspec-file-nul]] [<tree-ish>]"
-msgstr ""
-
-#: builtin/reset.c:36
-msgid "git reset --patch [<tree-ish>] [--] [<pathspec>...]"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "mixed"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "soft"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "hard"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "merge"
-msgstr ""
-
-#: builtin/reset.c:42
-msgid "keep"
-msgstr ""
-
-#: builtin/reset.c:90
-msgid "You do not have a valid HEAD."
-msgstr ""
-
-#: builtin/reset.c:92
-msgid "Failed to find tree of HEAD."
-msgstr ""
-
-#: builtin/reset.c:98
-#, c-format
-msgid "Failed to find tree of %s."
-msgstr ""
-
-#: builtin/reset.c:123
-#, c-format
-msgid "HEAD is now at %s"
-msgstr ""
-
-#: builtin/reset.c:304
-#, c-format
-msgid "Cannot do a %s reset in the middle of a merge."
-msgstr ""
-
-#: builtin/reset.c:402 builtin/stash.c:606 builtin/stash.c:669
-#: builtin/stash.c:693
-msgid "be quiet, only report errors"
-msgstr ""
-
-#: builtin/reset.c:404
-msgid "skip refreshing the index after reset"
-msgstr ""
-
-#: builtin/reset.c:406
-msgid "reset HEAD and index"
-msgstr ""
-
-#: builtin/reset.c:407
-msgid "reset only HEAD"
-msgstr ""
-
-#: builtin/reset.c:409 builtin/reset.c:411
-msgid "reset HEAD, index and working tree"
-msgstr ""
-
-#: builtin/reset.c:413
-msgid "reset HEAD but keep local changes"
-msgstr ""
-
-#: builtin/reset.c:419
-msgid "record only the fact that removed paths will be added later"
-msgstr ""
-
-#: builtin/reset.c:452
-#, c-format
-msgid "Failed to resolve '%s' as a valid revision."
-msgstr ""
-
-#: builtin/reset.c:460
-#, c-format
-msgid "Failed to resolve '%s' as a valid tree."
-msgstr ""
-
-#: builtin/reset.c:479
-msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
-msgstr ""
-
-#: builtin/reset.c:481
-#, c-format
-msgid "Cannot do %s reset with paths."
-msgstr ""
-
-#: builtin/reset.c:496
-#, c-format
-msgid "%s reset is not allowed in a bare repository"
-msgstr ""
-
-#: builtin/reset.c:527
-msgid "Unstaged changes after reset:"
-msgstr ""
-
-#: builtin/reset.c:530
-#, c-format
-msgid ""
-"It took %.2f seconds to refresh the index after reset.  You can use\n"
-"'--no-refresh' to avoid this."
-msgstr ""
-
-#: builtin/reset.c:547
-#, c-format
-msgid "Could not reset index file to revision '%s'."
-msgstr ""
-
-#: builtin/reset.c:552
-msgid "Could not write new index file."
-msgstr ""
-
-#: builtin/rev-list.c:659
-msgid "rev-list does not support display of notes"
-msgstr ""
-
-#: builtin/rev-list.c:664
-#, c-format
-msgid "marked counting and '%s' cannot be used together"
-msgstr ""
-
-#: builtin/rev-parse.c:409
-msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
-msgstr ""
-
-#: builtin/rev-parse.c:414
-msgid "keep the `--` passed as an arg"
-msgstr ""
-
-#: builtin/rev-parse.c:416
-msgid "stop parsing after the first non-option argument"
-msgstr ""
-
-#: builtin/rev-parse.c:419
-msgid "output in stuck long form"
-msgstr ""
-
-#: builtin/rev-parse.c:438
-msgid "premature end of input"
-msgstr ""
-
-#: builtin/rev-parse.c:442
-msgid "no usage string given before the `--' separator"
-msgstr ""
-
-#: builtin/rev-parse.c:548
-msgid "Needed a single revision"
-msgstr ""
-
-#: builtin/rev-parse.c:552
-msgid ""
-"git rev-parse --parseopt [<options>] -- [<args>...]\n"
-"   or: git rev-parse --sq-quote [<arg>...]\n"
-"   or: git rev-parse [<options>] [<arg>...]\n"
-"\n"
-"Run \"git rev-parse --parseopt -h\" for more information on the first usage."
-msgstr ""
-
-#: builtin/rev-parse.c:712
-msgid "--resolve-git-dir requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:715
-#, c-format
-msgid "not a gitdir '%s'"
-msgstr ""
-
-#: builtin/rev-parse.c:739
-msgid "--git-path requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:749
-msgid "-n requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:763
-msgid "--path-format requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:769
-#, c-format
-msgid "unknown argument to --path-format: %s"
-msgstr ""
-
-#: builtin/rev-parse.c:776
-msgid "--default requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:782
-msgid "--prefix requires an argument"
-msgstr ""
-
-#: builtin/rev-parse.c:851
-#, c-format
-msgid "unknown mode for --abbrev-ref: %s"
-msgstr ""
-
-#: builtin/rev-parse.c:1023
-#, c-format
-msgid "unknown mode for --show-object-format: %s"
-msgstr ""
-
-#: builtin/revert.c:24
-msgid "git revert [<options>] <commit-ish>..."
-msgstr ""
-
-#: builtin/revert.c:25
-msgid "git revert <subcommand>"
-msgstr ""
-
-#: builtin/revert.c:30
-msgid "git cherry-pick [<options>] <commit-ish>..."
-msgstr ""
-
-#: builtin/revert.c:31
-msgid "git cherry-pick <subcommand>"
-msgstr ""
-
-#: builtin/revert.c:72
-#, c-format
-msgid "option `%s' expects a number greater than zero"
-msgstr ""
-
-#: builtin/revert.c:92
-#, c-format
-msgid "%s: %s cannot be used with %s"
-msgstr ""
-
-#: builtin/revert.c:102
-msgid "end revert or cherry-pick sequence"
-msgstr ""
-
-#: builtin/revert.c:103
-msgid "resume revert or cherry-pick sequence"
-msgstr ""
-
-#: builtin/revert.c:104
-msgid "cancel revert or cherry-pick sequence"
-msgstr ""
-
-#: builtin/revert.c:105
-msgid "skip current commit and continue"
-msgstr ""
-
-#: builtin/revert.c:107
-msgid "don't automatically commit"
-msgstr ""
-
-#: builtin/revert.c:108
-msgid "edit the commit message"
-msgstr ""
-
-#: builtin/revert.c:111
-msgid "parent-number"
-msgstr ""
-
-#: builtin/revert.c:112
-msgid "select mainline parent"
-msgstr ""
-
-#: builtin/revert.c:114
-msgid "merge strategy"
-msgstr ""
-
-#: builtin/revert.c:116
-msgid "option for merge strategy"
-msgstr ""
-
-#: builtin/revert.c:125
-msgid "append commit name"
-msgstr ""
-
-#: builtin/revert.c:127
-msgid "preserve initially empty commits"
-msgstr ""
-
-#: builtin/revert.c:128
-msgid "allow commits with empty messages"
-msgstr ""
-
-#: builtin/revert.c:129
-msgid "keep redundant, empty commits"
-msgstr ""
-
-#: builtin/revert.c:241
-msgid "revert failed"
-msgstr ""
-
-#: builtin/revert.c:254
-msgid "cherry-pick failed"
-msgstr ""
-
-#: builtin/rm.c:20
-msgid "git rm [<options>] [--] <file>..."
-msgstr ""
-
-#: builtin/rm.c:208
-msgid ""
-"the following file has staged content different from both the\n"
-"file and the HEAD:"
-msgid_plural ""
-"the following files have staged content different from both the\n"
-"file and the HEAD:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/rm.c:213
-msgid ""
-"\n"
-"(use -f to force removal)"
-msgstr ""
-
-#: builtin/rm.c:217
-msgid "the following file has changes staged in the index:"
-msgid_plural "the following files have changes staged in the index:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/rm.c:221 builtin/rm.c:230
-msgid ""
-"\n"
-"(use --cached to keep the file, or -f to force removal)"
-msgstr ""
-
-#: builtin/rm.c:227
-msgid "the following file has local modifications:"
-msgid_plural "the following files have local modifications:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/rm.c:245
-msgid "do not list removed files"
-msgstr ""
-
-#: builtin/rm.c:246
-msgid "only remove from the index"
-msgstr ""
-
-#: builtin/rm.c:247
-msgid "override the up-to-date check"
-msgstr ""
-
-#: builtin/rm.c:248
-msgid "allow recursive removal"
-msgstr ""
-
-#: builtin/rm.c:250
-msgid "exit with a zero status even if nothing matched"
-msgstr ""
-
-#: builtin/rm.c:285
-msgid "No pathspec was given. Which files should I remove?"
-msgstr ""
-
-#: builtin/rm.c:315
-msgid "please stage your changes to .gitmodules or stash them to proceed"
-msgstr ""
-
-#: builtin/rm.c:337
-#, c-format
-msgid "not removing '%s' recursively without -r"
-msgstr ""
-
-#: builtin/rm.c:385
-#, c-format
-msgid "git rm: unable to remove %s"
-msgstr ""
-
-#: builtin/send-pack.c:20
-msgid ""
-"git send-pack [--mirror] [--dry-run] [--force]\n"
-"              [--receive-pack=<git-receive-pack>]\n"
-"              [--verbose] [--thin] [--atomic]\n"
-"              [<host>:]<directory> (--all | <ref>...)"
-msgstr ""
-
-#: builtin/send-pack.c:192
-msgid "remote name"
-msgstr ""
-
-#: builtin/send-pack.c:205
-msgid "use stateless RPC protocol"
-msgstr ""
-
-#: builtin/send-pack.c:206
-msgid "read refs from stdin"
-msgstr ""
-
-#: builtin/send-pack.c:207
-msgid "print status from remote helper"
-msgstr ""
-
-#: builtin/shortlog.c:16
-msgid "git shortlog [<options>] [<revision-range>] [[--] <path>...]"
-msgstr ""
-
-#: builtin/shortlog.c:17
-msgid "git log --pretty=short | git shortlog [<options>]"
-msgstr ""
-
-#: builtin/shortlog.c:123
-msgid "using multiple --group options with stdin is not supported"
-msgstr ""
-
-#: builtin/shortlog.c:133
-msgid "using --group=trailer with stdin is not supported"
-msgstr ""
-
-#: builtin/shortlog.c:323
-#, c-format
-msgid "unknown group type: %s"
-msgstr ""
-
-#: builtin/shortlog.c:351
-msgid "group by committer rather than author"
-msgstr ""
-
-#: builtin/shortlog.c:354
-msgid "sort output according to the number of commits per author"
-msgstr ""
-
-#: builtin/shortlog.c:356
-msgid "suppress commit descriptions, only provides commit count"
-msgstr ""
-
-#: builtin/shortlog.c:358
-msgid "show the email address of each author"
-msgstr ""
-
-#: builtin/shortlog.c:359
-msgid "<w>[,<i1>[,<i2>]]"
-msgstr ""
-
-#: builtin/shortlog.c:360
-msgid "linewrap output"
-msgstr ""
-
-#: builtin/shortlog.c:362
-msgid "field"
-msgstr ""
-
-#: builtin/shortlog.c:363
-msgid "group by field"
-msgstr ""
-
-#: builtin/shortlog.c:395
-msgid "too many arguments given outside repository"
-msgstr ""
-
-#: builtin/show-branch.c:14
-msgid ""
-"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
-"                [--current] [--color[=<when>] | --no-color] [--sparse]\n"
-"                [--more=<n> | --list | --independent | --merge-base]\n"
-"                [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
-msgstr ""
-
-#: builtin/show-branch.c:18
-msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
-msgstr ""
-
-#: builtin/show-branch.c:396
-#, c-format
-msgid "ignoring %s; cannot handle more than %d ref"
-msgid_plural "ignoring %s; cannot handle more than %d refs"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/show-branch.c:548
-#, c-format
-msgid "no matching refs with %s"
-msgstr ""
-
-#: builtin/show-branch.c:645
-msgid "show remote-tracking and local branches"
-msgstr ""
-
-#: builtin/show-branch.c:647
-msgid "show remote-tracking branches"
-msgstr ""
-
-#: builtin/show-branch.c:649
-msgid "color '*!+-' corresponding to the branch"
-msgstr ""
-
-#: builtin/show-branch.c:651
-msgid "show <n> more commits after the common ancestor"
-msgstr ""
-
-#: builtin/show-branch.c:653
-msgid "synonym to more=-1"
-msgstr ""
-
-#: builtin/show-branch.c:654
-msgid "suppress naming strings"
-msgstr ""
-
-#: builtin/show-branch.c:656
-msgid "include the current branch"
-msgstr ""
-
-#: builtin/show-branch.c:658
-msgid "name commits with their object names"
-msgstr ""
-
-#: builtin/show-branch.c:660
-msgid "show possible merge bases"
-msgstr ""
-
-#: builtin/show-branch.c:662
-msgid "show refs unreachable from any other ref"
-msgstr ""
-
-#: builtin/show-branch.c:664
-msgid "show commits in topological order"
-msgstr ""
-
-#: builtin/show-branch.c:667
-msgid "show only commits not on the first branch"
-msgstr ""
-
-#: builtin/show-branch.c:669
-msgid "show merges reachable from only one tip"
-msgstr ""
-
-#: builtin/show-branch.c:671
-msgid "topologically sort, maintaining date order where possible"
-msgstr ""
-
-#: builtin/show-branch.c:674
-msgid "<n>[,<base>]"
-msgstr ""
-
-#: builtin/show-branch.c:675
-msgid "show <n> most recent ref-log entries starting at base"
-msgstr ""
-
-#: builtin/show-branch.c:735
-msgid "no branches given, and HEAD is not valid"
-msgstr ""
-
-#: builtin/show-branch.c:738
-msgid "--reflog option needs one branch name"
-msgstr ""
-
-#: builtin/show-branch.c:741
-#, c-format
-msgid "only %d entry can be shown at one time."
-msgid_plural "only %d entries can be shown at one time."
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/show-branch.c:745
-#, c-format
-msgid "no such ref %s"
-msgstr ""
-
-#: builtin/show-branch.c:831
-#, c-format
-msgid "cannot handle more than %d rev."
-msgid_plural "cannot handle more than %d revs."
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/show-branch.c:835
-#, c-format
-msgid "'%s' is not a valid ref."
-msgstr ""
-
-#: builtin/show-branch.c:838
-#, c-format
-msgid "cannot find commit %s (%s)"
-msgstr ""
-
-#: builtin/show-index.c:21
-msgid "hash-algorithm"
-msgstr ""
-
-#: builtin/show-index.c:31
-msgid "Unknown hash algorithm"
-msgstr ""
-
-#: builtin/show-ref.c:12
-msgid ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
-msgstr ""
-
-#: builtin/show-ref.c:13
-msgid "git show-ref --exclude-existing[=<pattern>]"
-msgstr ""
-
-#: builtin/show-ref.c:162
-msgid "only show tags (can be combined with heads)"
-msgstr ""
-
-#: builtin/show-ref.c:163
-msgid "only show heads (can be combined with tags)"
-msgstr ""
-
-#: builtin/show-ref.c:164
-msgid "stricter reference checking, requires exact ref path"
-msgstr ""
-
-#: builtin/show-ref.c:167 builtin/show-ref.c:169
-msgid "show the HEAD reference, even if it would be filtered out"
-msgstr ""
-
-#: builtin/show-ref.c:171
-msgid "dereference tags into object IDs"
-msgstr ""
-
-#: builtin/show-ref.c:173
-msgid "only show SHA1 hash using <n> digits"
-msgstr ""
-
-#: builtin/show-ref.c:177
-msgid "do not print results to stdout (useful with --verify)"
-msgstr ""
-
-#: builtin/show-ref.c:179
-msgid "show refs from stdin that aren't in local repository"
-msgstr ""
-
-#: builtin/sparse-checkout.c:23
-msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
-msgstr ""
-
-#: builtin/sparse-checkout.c:61
-msgid "this worktree is not sparse"
-msgstr ""
-
-#: builtin/sparse-checkout.c:76
-msgid "this worktree is not sparse (sparse-checkout file may not exist)"
-msgstr ""
-
-#: builtin/sparse-checkout.c:177
-#, c-format
-msgid ""
-"directory '%s' contains untracked files, but is not in the sparse-checkout "
-"cone"
-msgstr ""
-
-#: builtin/sparse-checkout.c:185
-#, c-format
-msgid "failed to remove directory '%s'"
-msgstr ""
-
-#: builtin/sparse-checkout.c:327
-msgid "failed to create directory for sparse-checkout file"
-msgstr ""
-
-#: builtin/sparse-checkout.c:366
-msgid "failed to initialize worktree config"
-msgstr ""
-
-#: builtin/sparse-checkout.c:411
-msgid "failed to modify sparse-index config"
-msgstr ""
-
-#: builtin/sparse-checkout.c:441 builtin/sparse-checkout.c:793
-#: builtin/sparse-checkout.c:847
-msgid "initialize the sparse-checkout in cone mode"
-msgstr ""
-
-#: builtin/sparse-checkout.c:443 builtin/sparse-checkout.c:795
-#: builtin/sparse-checkout.c:849
-msgid "toggle the use of a sparse index"
-msgstr ""
-
-#: builtin/sparse-checkout.c:479
-#, c-format
-msgid "failed to open '%s'"
-msgstr ""
-
-#: builtin/sparse-checkout.c:531
-#, c-format
-msgid "could not normalize path %s"
-msgstr ""
-
-#: builtin/sparse-checkout.c:560
-#, c-format
-msgid "unable to unquote C-style string '%s'"
-msgstr ""
-
-#: builtin/sparse-checkout.c:615 builtin/sparse-checkout.c:643
-msgid "unable to load existing sparse-checkout patterns"
-msgstr ""
-
-#: builtin/sparse-checkout.c:619
-msgid "existing sparse-checkout patterns do not use cone mode"
-msgstr ""
-
-#: builtin/sparse-checkout.c:707
-msgid "please run from the toplevel directory in non-cone mode"
-msgstr ""
-
-#: builtin/sparse-checkout.c:712
-msgid "specify directories rather than patterns (no leading slash)"
-msgstr ""
-
-#: builtin/sparse-checkout.c:714
-msgid ""
-"specify directories rather than patterns.  If your directory starts with a "
-"'!', pass --skip-checks"
-msgstr ""
-
-#: builtin/sparse-checkout.c:716
-msgid ""
-"specify directories rather than patterns.  If your directory really has any "
-"of '*?[]\\' in it, pass --skip-checks"
-msgstr ""
-
-#: builtin/sparse-checkout.c:732
-#, c-format
-msgid ""
-"'%s' is not a directory; to treat it as a directory anyway, rerun with --"
-"skip-checks"
-msgstr ""
-
-#: builtin/sparse-checkout.c:734
-#, c-format
-msgid ""
-"pass a leading slash before paths such as '%s' if you want a single file "
-"(see NON-CONE PROBLEMS in the git-sparse-checkout manual)."
-msgstr ""
-
-#: builtin/sparse-checkout.c:739
-msgid "git sparse-checkout add [--skip-checks] (--stdin | <patterns>)"
-msgstr ""
-
-#: builtin/sparse-checkout.c:752 builtin/sparse-checkout.c:797
-msgid ""
-"skip some sanity checks on the given paths that might give false positives"
-msgstr ""
-
-#: builtin/sparse-checkout.c:755 builtin/sparse-checkout.c:800
-msgid "read patterns from standard in"
-msgstr ""
-
-#: builtin/sparse-checkout.c:760
-msgid "no sparse-checkout to add to"
-msgstr ""
-
-#: builtin/sparse-checkout.c:775
-msgid ""
-"git sparse-checkout set [--[no-]cone] [--[no-]sparse-index] [--skip-checks] "
-"(--stdin | <patterns>)"
-msgstr ""
-
-#: builtin/sparse-checkout.c:854
-msgid "must be in a sparse-checkout to reapply sparsity patterns"
-msgstr ""
-
-#: builtin/sparse-checkout.c:914
-msgid "error while refreshing working directory"
-msgstr ""
-
-#: builtin/stash.c:24 builtin/stash.c:40
-msgid "git stash list [<options>]"
-msgstr ""
-
-#: builtin/stash.c:25 builtin/stash.c:45
-msgid "git stash show [<options>] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:26 builtin/stash.c:50
-msgid "git stash drop [-q|--quiet] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:27
-msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:28 builtin/stash.c:65
-msgid "git stash branch <branchname> [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:30
-msgid ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-"          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-"          [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
-"          [--] [<pathspec>...]]"
-msgstr ""
-
-#: builtin/stash.c:34
-msgid ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-"          [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-
-#: builtin/stash.c:55
-msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:60
-msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
-msgstr ""
-
-#: builtin/stash.c:75
-msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
-msgstr ""
-
-#: builtin/stash.c:80
-msgid ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-"          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-"          [--] [<pathspec>...]]"
-msgstr ""
-
-#: builtin/stash.c:87
-msgid ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-"               [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-
-#: builtin/stash.c:130
-#, c-format
-msgid "'%s' is not a stash-like commit"
-msgstr ""
-
-#: builtin/stash.c:150
-#, c-format
-msgid "Too many revisions specified:%s"
-msgstr ""
-
-#: builtin/stash.c:164
-msgid "No stash entries found."
-msgstr ""
-
-#: builtin/stash.c:178
-#, c-format
-msgid "%s is not a valid reference"
-msgstr ""
-
-#: builtin/stash.c:227
-msgid "git stash clear with arguments is unimplemented"
-msgstr ""
-
-#: builtin/stash.c:447
-#, c-format
-msgid ""
-"WARNING: Untracked file in way of tracked file!  Renaming\n"
-"            %s -> %s\n"
-"         to make room.\n"
-msgstr ""
-
-#: builtin/stash.c:508
-msgid "cannot apply a stash in the middle of a merge"
-msgstr ""
-
-#: builtin/stash.c:519
-#, c-format
-msgid "could not generate diff %s^!."
-msgstr ""
-
-#: builtin/stash.c:526
-msgid "conflicts in index. Try without --index."
-msgstr ""
-
-#: builtin/stash.c:532
-msgid "could not save index tree"
-msgstr ""
-
-#: builtin/stash.c:552
-#, c-format
-msgid "Merging %s with %s"
-msgstr ""
-
-#: builtin/stash.c:562
-msgid "Index was not unstashed."
-msgstr ""
-
-#: builtin/stash.c:576
-msgid "could not restore untracked files from stash"
-msgstr ""
-
-#: builtin/stash.c:608 builtin/stash.c:695
-msgid "attempt to recreate the index"
-msgstr ""
-
-#: builtin/stash.c:641
-#, c-format
-msgid "Dropped %s (%s)"
-msgstr ""
-
-#: builtin/stash.c:644
-#, c-format
-msgid "%s: Could not drop stash entry"
-msgstr ""
-
-#: builtin/stash.c:657
-#, c-format
-msgid "'%s' is not a stash reference"
-msgstr ""
-
-#: builtin/stash.c:707
-msgid "The stash entry is kept in case you need it again."
-msgstr ""
-
-#: builtin/stash.c:730
-msgid "No branch name specified"
-msgstr ""
-
-#: builtin/stash.c:809
-msgid "failed to parse tree"
-msgstr ""
-
-#: builtin/stash.c:820
-msgid "failed to unpack trees"
-msgstr ""
-
-#: builtin/stash.c:840
-msgid "include untracked files in the stash"
-msgstr ""
-
-#: builtin/stash.c:843
-msgid "only show untracked files in the stash"
-msgstr ""
-
-#: builtin/stash.c:930 builtin/stash.c:967
-#, c-format
-msgid "Cannot update %s with %s"
-msgstr ""
-
-#: builtin/stash.c:948 builtin/stash.c:1667 builtin/stash.c:1739
-msgid "stash message"
-msgstr ""
-
-#: builtin/stash.c:958
-msgid "\"git stash store\" requires one <commit> argument"
-msgstr ""
-
-#: builtin/stash.c:1143
-msgid "No staged changes"
-msgstr ""
-
-#: builtin/stash.c:1204
-msgid "No changes selected"
-msgstr ""
-
-#: builtin/stash.c:1304
-msgid "You do not have the initial commit yet"
-msgstr ""
-
-#: builtin/stash.c:1331
-msgid "Cannot save the current index state"
-msgstr ""
-
-#: builtin/stash.c:1340
-msgid "Cannot save the untracked files"
-msgstr ""
-
-#: builtin/stash.c:1351 builtin/stash.c:1370
-msgid "Cannot save the current worktree state"
-msgstr ""
-
-#: builtin/stash.c:1361
-msgid "Cannot save the current staged state"
-msgstr ""
-
-#: builtin/stash.c:1398
-msgid "Cannot record working tree state"
-msgstr ""
-
-#: builtin/stash.c:1447
-msgid "Can't use --patch and --include-untracked or --all at the same time"
-msgstr ""
-
-#: builtin/stash.c:1458
-msgid "Can't use --staged and --include-untracked or --all at the same time"
-msgstr ""
-
-#: builtin/stash.c:1476
-msgid "Did you forget to 'git add'?"
-msgstr ""
-
-#: builtin/stash.c:1491
-msgid "No local changes to save"
-msgstr ""
-
-#: builtin/stash.c:1498
-msgid "Cannot initialize stash"
-msgstr ""
-
-#: builtin/stash.c:1513
-msgid "Cannot save the current status"
-msgstr ""
-
-#: builtin/stash.c:1518
-#, c-format
-msgid "Saved working directory and index state %s"
-msgstr ""
-
-#: builtin/stash.c:1615
-msgid "Cannot remove worktree changes"
-msgstr ""
-
-#: builtin/stash.c:1656 builtin/stash.c:1728
-msgid "keep index"
-msgstr ""
-
-#: builtin/stash.c:1658 builtin/stash.c:1730
-msgid "stash staged changes only"
-msgstr ""
-
-#: builtin/stash.c:1660 builtin/stash.c:1732
-msgid "stash in patch mode"
-msgstr ""
-
-#: builtin/stash.c:1661 builtin/stash.c:1733
-msgid "quiet mode"
-msgstr ""
-
-#: builtin/stash.c:1663 builtin/stash.c:1735
-msgid "include untracked files in stash"
-msgstr ""
-
-#: builtin/stash.c:1665 builtin/stash.c:1737
-msgid "include ignore files"
-msgstr ""
-
-#: builtin/stripspace.c:37
-msgid "skip and remove all lines starting with comment character"
-msgstr ""
-
-#: builtin/stripspace.c:40
-msgid "prepend comment character and space to each line"
-msgstr ""
-
-#: builtin/submodule--helper.c:50 builtin/submodule--helper.c:2486
-#, c-format
-msgid "Expecting a full ref name, got %s"
-msgstr ""
-
-#: builtin/submodule--helper.c:103
-#, c-format
-msgid "cannot strip one component off url '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:213
-#, c-format
-msgid ""
-"could not look up configuration '%s'. Assuming this repository is its own "
-"authoritative upstream."
-msgstr ""
-
-#: builtin/submodule--helper.c:413 builtin/submodule--helper.c:1873
-msgid "alternative anchor for relative paths"
-msgstr ""
-
-#: builtin/submodule--helper.c:418
-msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
-msgstr ""
-
-#: builtin/submodule--helper.c:476 builtin/submodule--helper.c:617
-#: builtin/submodule--helper.c:640
-#, c-format
-msgid "No url found for submodule path '%s' in .gitmodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:528
-#, c-format
-msgid "Entering '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:531
-#, c-format
-msgid ""
-"run_command returned non-zero status for %s\n"
-"."
-msgstr ""
-
-#: builtin/submodule--helper.c:553
-#, c-format
-msgid ""
-"run_command returned non-zero status while recursing in the nested "
-"submodules of %s\n"
-"."
-msgstr ""
-
-#: builtin/submodule--helper.c:569
-msgid "suppress output of entering each submodule command"
-msgstr ""
-
-#: builtin/submodule--helper.c:571 builtin/submodule--helper.c:876
-#: builtin/submodule--helper.c:1458
-msgid "recurse into nested submodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:576
-msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
-msgstr ""
-
-#: builtin/submodule--helper.c:654
-#, c-format
-msgid "Failed to register url for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:658
-#, c-format
-msgid "Submodule '%s' (%s) registered for path '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:668
-#, c-format
-msgid "warning: command update mode suggested for submodule '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:675
-#, c-format
-msgid "Failed to register update mode for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:697
-msgid "suppress output for initializing a submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:702
-msgid "git submodule--helper init [<options>] [<path>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:775 builtin/submodule--helper.c:910
-#, c-format
-msgid "no submodule mapping found in .gitmodules for path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:823
-#, c-format
-msgid "could not resolve HEAD ref inside the submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1428
-#, c-format
-msgid "failed to recurse into submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1595
-msgid "suppress submodule status output"
-msgstr ""
-
-#: builtin/submodule--helper.c:875
-msgid ""
-"use commit stored in the index instead of the one stored in the submodule "
-"HEAD"
-msgstr ""
-
-#: builtin/submodule--helper.c:881
-msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
-msgstr ""
-
-#: builtin/submodule--helper.c:905
-msgid "git submodule--helper name <path>"
-msgstr ""
-
-#: builtin/submodule--helper.c:977
-#, c-format
-msgid "* %s %s(blob)->%s(submodule)"
-msgstr ""
-
-#: builtin/submodule--helper.c:980
-#, c-format
-msgid "* %s %s(submodule)->%s(blob)"
-msgstr ""
-
-#: builtin/submodule--helper.c:993
-#, c-format
-msgid "%s"
-msgstr ""
-
-#: builtin/submodule--helper.c:1043
-#, c-format
-msgid "couldn't hash object from '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1047
-#, c-format
-msgid "unexpected mode %o\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1288
-msgid "use the commit stored in the index instead of the submodule HEAD"
-msgstr ""
-
-#: builtin/submodule--helper.c:1290
-msgid "compare the commit in the index with that in the submodule HEAD"
-msgstr ""
-
-#: builtin/submodule--helper.c:1292
-msgid "skip submodules with 'ignore_config' value set to 'all'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1294
-msgid "limit the summary size"
-msgstr ""
-
-#: builtin/submodule--helper.c:1299
-msgid "git submodule--helper summary [<options>] [<commit>] [--] [<path>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:1323
-msgid "could not fetch a revision for HEAD"
-msgstr ""
-
-#: builtin/submodule--helper.c:1384
-#, c-format
-msgid "Synchronizing submodule url for '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1390
-#, c-format
-msgid "failed to register url for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1399
-#, c-format
-msgid "failed to get the default remote for submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1409
-#, c-format
-msgid "failed to update remote for submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1456
-msgid "suppress output of synchronizing submodule url"
-msgstr ""
-
-#: builtin/submodule--helper.c:1463
-msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:1513
-#, c-format
-msgid ""
-"Submodule work tree '%s' contains a .git directory. This will be replaced "
-"with a .git file by using absorbgitdirs."
-msgstr ""
-
-#: builtin/submodule--helper.c:1530
-#, c-format
-msgid ""
-"Submodule work tree '%s' contains local modifications; use '-f' to discard "
-"them"
-msgstr ""
-
-#: builtin/submodule--helper.c:1538
-#, c-format
-msgid "Cleared directory '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1540
-#, c-format
-msgid "Could not remove submodule work tree '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1551
-#, c-format
-msgid "could not create empty submodule directory %s"
-msgstr ""
-
-#: builtin/submodule--helper.c:1567
-#, c-format
-msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:1596
-msgid "remove submodule working trees even if they contain local changes"
-msgstr ""
-
-#: builtin/submodule--helper.c:1597
-msgid "unregister all submodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:1602
-msgid ""
-"git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
-msgstr ""
-
-#: builtin/submodule--helper.c:1616
-msgid "Use '--all' if you really want to deinitialize all submodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:1665
-msgid ""
-"An alternate computed from a superproject's alternate is invalid.\n"
-"To allow Git to clone without an alternate in such a case, set\n"
-"submodule.alternateErrorStrategy to 'info' or, equivalently, clone with\n"
-"'--reference-if-able' instead of '--reference'."
-msgstr ""
-
-#: builtin/submodule--helper.c:1710 builtin/submodule--helper.c:1713
-#, c-format
-msgid "submodule '%s' cannot add alternate: %s"
-msgstr ""
-
-#: builtin/submodule--helper.c:1749
-#, c-format
-msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
-msgstr ""
-
-#: builtin/submodule--helper.c:1756
-#, c-format
-msgid "Value '%s' for submodule.alternateLocation is not recognized"
-msgstr ""
-
-#: builtin/submodule--helper.c:1781
-#, c-format
-msgid "refusing to create/use '%s' in another submodule's git dir"
-msgstr ""
-
-#: builtin/submodule--helper.c:1826
-#, c-format
-msgid "clone of '%s' into submodule path '%s' failed"
-msgstr ""
-
-#: builtin/submodule--helper.c:1831
-#, c-format
-msgid "directory not empty: '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1843
-#, c-format
-msgid "could not get submodule directory for '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1876
-msgid "where the new submodule will be cloned to"
-msgstr ""
-
-#: builtin/submodule--helper.c:1879
-msgid "name of the new submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:1882
-msgid "url where to clone the submodule from"
-msgstr ""
-
-#: builtin/submodule--helper.c:1890 builtin/submodule--helper.c:3383
-msgid "depth for shallow clones"
-msgstr ""
-
-#: builtin/submodule--helper.c:1893 builtin/submodule--helper.c:2731
-#: builtin/submodule--helper.c:3376
-msgid "force cloning progress"
-msgstr ""
-
-#: builtin/submodule--helper.c:1895 builtin/submodule--helper.c:2733
-msgid "disallow cloning into non-empty directory"
-msgstr ""
-
-#: builtin/submodule--helper.c:1903
-msgid ""
-"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
-"<repository>] [--name <name>] [--depth <depth>] [--single-branch] [--filter "
-"<filter-spec>] --url <url> --path <path>"
-msgstr ""
-
-#: builtin/submodule--helper.c:1943
-#, c-format
-msgid "Invalid update mode '%s' for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:1947
-#, c-format
-msgid "Invalid update mode '%s' configured for submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2041
-#, c-format
-msgid "Submodule path '%s' not initialized"
-msgstr ""
-
-#: builtin/submodule--helper.c:2045
-msgid "Maybe you want to use 'update --init'?"
-msgstr ""
-
-#: builtin/submodule--helper.c:2075
-#, c-format
-msgid "Skipping unmerged submodule %s"
-msgstr ""
-
-#: builtin/submodule--helper.c:2104
-#, c-format
-msgid "Skipping submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2257
-#, c-format
-msgid "Failed to clone '%s'. Retry scheduled"
-msgstr ""
-
-#: builtin/submodule--helper.c:2268
-#, c-format
-msgid "Failed to clone '%s' a second time, aborting"
-msgstr ""
-
-#: builtin/submodule--helper.c:2371
-#, c-format
-msgid "Unable to checkout '%s' in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2375
-#, c-format
-msgid "Unable to rebase '%s' in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2379
-#, c-format
-msgid "Unable to merge '%s' in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2383
-#, c-format
-msgid "Execution of '%s %s' failed in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2402
-#, c-format
-msgid "Submodule path '%s': checked out '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:2406
-#, c-format
-msgid "Submodule path '%s': rebased into '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:2410
-#, c-format
-msgid "Submodule path '%s': merged in '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:2414
-#, c-format
-msgid "Submodule path '%s': '%s %s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:2438
-#, c-format
-msgid "Unable to fetch in submodule path '%s'; trying to directly fetch %s:"
-msgstr ""
-
-#: builtin/submodule--helper.c:2447
-#, c-format
-msgid ""
-"Fetched in submodule path '%s', but it did not contain %s. Direct fetching "
-"of that commit failed."
-msgstr ""
-
-#: builtin/submodule--helper.c:2481
-#, c-format
-msgid ""
-"Submodule (%s) branch configured to inherit branch from superproject, but "
-"the superproject is not on any branch"
-msgstr ""
-
-#: builtin/submodule--helper.c:2499
-#, c-format
-msgid "could not get a repository handle for submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2588
-#, c-format
-msgid "Unable to find current revision in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2599
-#, c-format
-msgid "Unable to fetch in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2604
-#, c-format
-msgid "Unable to find %s revision in submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2640
-#, c-format
-msgid "Failed to recurse into submodule path '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:2699
-msgid "force checkout updates"
-msgstr ""
-
-#: builtin/submodule--helper.c:2701
-msgid "initialize uninitialized submodules before update"
-msgstr ""
-
-#: builtin/submodule--helper.c:2703
-msgid "use SHA-1 of submodule's remote tracking branch"
-msgstr ""
-
-#: builtin/submodule--helper.c:2705
-msgid "traverse submodules recursively"
-msgstr ""
-
-#: builtin/submodule--helper.c:2707
-msgid "don't fetch new objects from the remote site"
-msgstr ""
-
-#: builtin/submodule--helper.c:2710 builtin/submodule--helper.c:2892
-msgid "path into the working tree"
-msgstr ""
-
-#: builtin/submodule--helper.c:2713
-msgid "path into the working tree, across nested submodule boundaries"
-msgstr ""
-
-#: builtin/submodule--helper.c:2717
-msgid "rebase, merge, checkout or none"
-msgstr ""
-
-#: builtin/submodule--helper.c:2723
-msgid "create a shallow clone truncated to the specified number of revisions"
-msgstr ""
-
-#: builtin/submodule--helper.c:2726
-msgid "parallel jobs"
-msgstr ""
-
-#: builtin/submodule--helper.c:2728
-msgid "whether the initial clone should follow the shallow recommendation"
-msgstr ""
-
-#: builtin/submodule--helper.c:2729
-msgid "don't print cloning progress"
-msgstr ""
-
-#: builtin/submodule--helper.c:2741
-msgid ""
-"git submodule [--quiet] update [--init [--filter=<filter-spec>]] [--remote] "
-"[-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-"
-"shallow] [--reference <repository>] [--recursive] [--[no-]single-branch] "
-"[--] [<path>...]"
-msgstr ""
-
-#: builtin/submodule--helper.c:2767
-msgid "bad value for update parameter"
-msgstr ""
-
-#: builtin/submodule--helper.c:2893
-msgid "recurse into submodules"
-msgstr ""
-
-#: builtin/submodule--helper.c:2899
-msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
-msgstr ""
-
-#: builtin/submodule--helper.c:2955
-msgid "check if it is safe to write to the .gitmodules file"
-msgstr ""
-
-#: builtin/submodule--helper.c:2958
-msgid "unset the config in the .gitmodules file"
-msgstr ""
-
-#: builtin/submodule--helper.c:2963
-msgid "git submodule--helper config <name> [<value>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:2964
-msgid "git submodule--helper config --unset <name>"
-msgstr ""
-
-#: builtin/submodule--helper.c:2984 builtin/submodule--helper.c:3238
-#: builtin/submodule--helper.c:3395
-msgid "please make sure that the .gitmodules file is in the working tree"
-msgstr ""
-
-#: builtin/submodule--helper.c:3000
-msgid "suppress output for setting url of a submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:3004
-msgid "git submodule--helper set-url [--quiet] <path> <newurl>"
-msgstr ""
-
-#: builtin/submodule--helper.c:3037
-msgid "set the default tracking branch to master"
-msgstr ""
-
-#: builtin/submodule--helper.c:3039
-msgid "set the default tracking branch"
-msgstr ""
-
-#: builtin/submodule--helper.c:3043
-msgid "git submodule--helper set-branch [-q|--quiet] (-d|--default) <path>"
-msgstr ""
-
-#: builtin/submodule--helper.c:3044
-msgid ""
-"git submodule--helper set-branch [-q|--quiet] (-b|--branch) <branch> <path>"
-msgstr ""
-
-#: builtin/submodule--helper.c:3051
-msgid "--branch or --default required"
-msgstr ""
-
-#: builtin/submodule--helper.c:3072 builtin/submodule--helper.c:3375
-msgid "print only error messages"
-msgstr ""
-
-#: builtin/submodule--helper.c:3073
-msgid "force creation"
-msgstr ""
-
-#: builtin/submodule--helper.c:3081
-msgid "show whether the branch would be created"
-msgstr ""
-
-#: builtin/submodule--helper.c:3085
-msgid ""
-"git submodule--helper create-branch [-f|--force] [--create-reflog] [-q|--"
-"quiet] [-t|--track] [-n|--dry-run] <name> <start-oid> <start-name>"
-msgstr ""
-
-#: builtin/submodule--helper.c:3097
-#, c-format
-msgid "creating branch '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:3155
-#, c-format
-msgid "Adding existing repo at '%s' to the index\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:3158
-#, c-format
-msgid "'%s' already exists and is not a valid git repo"
-msgstr ""
-
-#: builtin/submodule--helper.c:3171
-#, c-format
-msgid "A git directory for '%s' is found locally with remote(s):\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:3178
-#, c-format
-msgid ""
-"If you want to reuse this local git directory instead of cloning again from\n"
-"  %s\n"
-"use the '--force' option. If the local git directory is not the correct "
-"repo\n"
-"or you are unsure what this means choose another name with the '--name' "
-"option."
-msgstr ""
-
-#: builtin/submodule--helper.c:3190
-#, c-format
-msgid "Reactivating local git directory for submodule '%s'\n"
-msgstr ""
-
-#: builtin/submodule--helper.c:3227
-#, c-format
-msgid "unable to checkout submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:3266
-#, c-format
-msgid "Failed to add submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:3270 builtin/submodule--helper.c:3275
-#: builtin/submodule--helper.c:3283
-#, c-format
-msgid "Failed to register submodule '%s'"
-msgstr ""
-
-#: builtin/submodule--helper.c:3339
-#, c-format
-msgid "'%s' already exists in the index"
-msgstr ""
-
-#: builtin/submodule--helper.c:3342
-#, c-format
-msgid "'%s' already exists in the index and is not a submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:3372
-msgid "branch of repository to add as submodule"
-msgstr ""
-
-#: builtin/submodule--helper.c:3373
-msgid "allow adding an otherwise ignored submodule path"
-msgstr ""
-
-#: builtin/submodule--helper.c:3379
-msgid "borrow the objects from reference repositories"
-msgstr ""
-
-#: builtin/submodule--helper.c:3381
-msgid ""
-"sets the submodule’s name to the given string instead of defaulting to its "
-"path"
-msgstr ""
-
-#: builtin/submodule--helper.c:3388
-msgid "git submodule--helper add [<options>] [--] <repository> [<path>]"
-msgstr ""
-
-#: builtin/submodule--helper.c:3416
-msgid "Relative path can only be used from the toplevel of the working tree"
-msgstr ""
-
-#: builtin/submodule--helper.c:3425
-#, c-format
-msgid "repo URL: '%s' must be absolute or begin with ./|../"
-msgstr ""
-
-#: builtin/submodule--helper.c:3460
-#, c-format
-msgid "'%s' is not a valid submodule name"
-msgstr ""
-
-#: builtin/submodule--helper.c:3520 git.c:453 git.c:729
-#, c-format
-msgid "%s doesn't support --super-prefix"
-msgstr ""
-
-#: builtin/submodule--helper.c:3526
-#, c-format
-msgid "'%s' is not a valid submodule--helper subcommand"
-msgstr ""
-
-#: builtin/symbolic-ref.c:8
-msgid "git symbolic-ref [<options>] <name> [<ref>]"
-msgstr ""
-
-#: builtin/symbolic-ref.c:9
-msgid "git symbolic-ref -d [-q] <name>"
-msgstr ""
-
-#: builtin/symbolic-ref.c:42
-msgid "suppress error message for non-symbolic (detached) refs"
-msgstr ""
-
-#: builtin/symbolic-ref.c:43
-msgid "delete symbolic ref"
-msgstr ""
-
-#: builtin/symbolic-ref.c:44
-msgid "shorten ref output"
-msgstr ""
-
-#: builtin/symbolic-ref.c:45 builtin/update-ref.c:505
-msgid "reason"
-msgstr ""
-
-#: builtin/symbolic-ref.c:45 builtin/update-ref.c:505
-msgid "reason of the update"
-msgstr ""
-
-#: builtin/tag.c:26
-msgid ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
-"        <tagname> [<head>]"
-msgstr ""
-
-#: builtin/tag.c:28
-msgid "git tag -d <tagname>..."
-msgstr ""
-
-#: builtin/tag.c:29
-msgid ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
-"points-at <object>]\n"
-"        [--format=<format>] [--merged <commit>] [--no-merged <commit>] "
-"[<pattern>...]"
-msgstr ""
-
-#: builtin/tag.c:31
-msgid "git tag -v [--format=<format>] <tagname>..."
-msgstr ""
-
-#: builtin/tag.c:101
-#, c-format
-msgid "tag '%s' not found."
-msgstr ""
-
-#: builtin/tag.c:136
-#, c-format
-msgid "Deleted tag '%s' (was %s)\n"
-msgstr ""
-
-#: builtin/tag.c:171
-#, c-format
-msgid ""
-"\n"
-"Write a message for tag:\n"
-"  %s\n"
-"Lines starting with '%c' will be ignored.\n"
-msgstr ""
-
-#: builtin/tag.c:175
-#, c-format
-msgid ""
-"\n"
-"Write a message for tag:\n"
-"  %s\n"
-"Lines starting with '%c' will be kept; you may remove them yourself if you "
-"want to.\n"
-msgstr ""
-
-#: builtin/tag.c:241
-msgid "unable to sign the tag"
-msgstr ""
-
-#: builtin/tag.c:259
-#, c-format
-msgid ""
-"You have created a nested tag. The object referred to by your new tag is\n"
-"already a tag. If you meant to tag the object that it points to, use:\n"
-"\n"
-"\tgit tag -f %s %s^{}"
-msgstr ""
-
-#: builtin/tag.c:275
-msgid "bad object type."
-msgstr ""
-
-#: builtin/tag.c:326
-msgid "no tag message?"
-msgstr ""
-
-#: builtin/tag.c:333
-#, c-format
-msgid "The tag message has been left in %s\n"
-msgstr ""
-
-#: builtin/tag.c:445
-msgid "list tag names"
-msgstr ""
-
-#: builtin/tag.c:447
-msgid "print <n> lines of each tag message"
-msgstr ""
-
-#: builtin/tag.c:449
-msgid "delete tags"
-msgstr ""
-
-#: builtin/tag.c:450
-msgid "verify tags"
-msgstr ""
-
-#: builtin/tag.c:452
-msgid "Tag creation options"
-msgstr ""
-
-#: builtin/tag.c:454
-msgid "annotated tag, needs a message"
-msgstr ""
-
-#: builtin/tag.c:456
-msgid "tag message"
-msgstr ""
-
-#: builtin/tag.c:458
-msgid "force edit of tag message"
-msgstr ""
-
-#: builtin/tag.c:459
-msgid "annotated and GPG-signed tag"
-msgstr ""
-
-#: builtin/tag.c:462
-msgid "use another key to sign the tag"
-msgstr ""
-
-#: builtin/tag.c:463
-msgid "replace the tag if exists"
-msgstr ""
-
-#: builtin/tag.c:464 builtin/update-ref.c:511
-msgid "create a reflog"
-msgstr ""
-
-#: builtin/tag.c:466
-msgid "Tag listing options"
-msgstr ""
-
-#: builtin/tag.c:467
-msgid "show tag list in columns"
-msgstr ""
-
-#: builtin/tag.c:468 builtin/tag.c:470
-msgid "print only tags that contain the commit"
-msgstr ""
-
-#: builtin/tag.c:469 builtin/tag.c:471
-msgid "print only tags that don't contain the commit"
-msgstr ""
-
-#: builtin/tag.c:472
-msgid "print only tags that are merged"
-msgstr ""
-
-#: builtin/tag.c:473
-msgid "print only tags that are not merged"
-msgstr ""
-
-#: builtin/tag.c:477
-msgid "print only tags of the object"
-msgstr ""
-
-#: builtin/tag.c:559
-#, c-format
-msgid "the '%s' option is only allowed in list mode"
-msgstr ""
-
-#: builtin/tag.c:598
-#, c-format
-msgid "'%s' is not a valid tag name."
-msgstr ""
-
-#: builtin/tag.c:603
-#, c-format
-msgid "tag '%s' already exists"
-msgstr ""
-
-#: builtin/tag.c:634
-#, c-format
-msgid "Updated tag '%s' (was %s)\n"
-msgstr ""
-
-#: builtin/unpack-objects.c:95
-msgid "pack exceeds maximum allowed size"
-msgstr ""
-
-#: builtin/unpack-objects.c:504
-msgid "Unpacking objects"
-msgstr ""
-
-#: builtin/update-index.c:84
-#, c-format
-msgid "failed to create directory %s"
-msgstr ""
-
-#: builtin/update-index.c:106
-#, c-format
-msgid "failed to delete file %s"
-msgstr ""
-
-#: builtin/update-index.c:113 builtin/update-index.c:219
-#, c-format
-msgid "failed to delete directory %s"
-msgstr ""
-
-#: builtin/update-index.c:138
-#, c-format
-msgid "Testing mtime in '%s' "
-msgstr ""
-
-#: builtin/update-index.c:152
-msgid "directory stat info does not change after adding a new file"
-msgstr ""
-
-#: builtin/update-index.c:165
-msgid "directory stat info does not change after adding a new directory"
-msgstr ""
-
-#: builtin/update-index.c:178
-msgid "directory stat info changes after updating a file"
-msgstr ""
-
-#: builtin/update-index.c:189
-msgid "directory stat info changes after adding a file inside subdirectory"
-msgstr ""
-
-#: builtin/update-index.c:200
-msgid "directory stat info does not change after deleting a file"
-msgstr ""
-
-#: builtin/update-index.c:213
-msgid "directory stat info does not change after deleting a directory"
-msgstr ""
-
-#: builtin/update-index.c:220
-msgid " OK"
-msgstr ""
-
-#: builtin/update-index.c:589
-msgid "git update-index [<options>] [--] [<file>...]"
-msgstr ""
-
-#: builtin/update-index.c:993
-msgid "continue refresh even when index needs update"
-msgstr ""
-
-#: builtin/update-index.c:996
-msgid "refresh: ignore submodules"
-msgstr ""
-
-#: builtin/update-index.c:999
-msgid "do not ignore new files"
-msgstr ""
-
-#: builtin/update-index.c:1001
-msgid "let files replace directories and vice-versa"
-msgstr ""
-
-#: builtin/update-index.c:1003
-msgid "notice files missing from worktree"
-msgstr ""
-
-#: builtin/update-index.c:1005
-msgid "refresh even if index contains unmerged entries"
-msgstr ""
-
-#: builtin/update-index.c:1008
-msgid "refresh stat information"
-msgstr ""
-
-#: builtin/update-index.c:1012
-msgid "like --refresh, but ignore assume-unchanged setting"
-msgstr ""
-
-#: builtin/update-index.c:1016
-msgid "<mode>,<object>,<path>"
-msgstr ""
-
-#: builtin/update-index.c:1017
-msgid "add the specified entry to the index"
-msgstr ""
-
-#: builtin/update-index.c:1027
-msgid "mark files as \"not changing\""
-msgstr ""
-
-#: builtin/update-index.c:1030
-msgid "clear assumed-unchanged bit"
-msgstr ""
-
-#: builtin/update-index.c:1033
-msgid "mark files as \"index-only\""
-msgstr ""
-
-#: builtin/update-index.c:1036
-msgid "clear skip-worktree bit"
-msgstr ""
-
-#: builtin/update-index.c:1039
-msgid "do not touch index-only entries"
-msgstr ""
-
-#: builtin/update-index.c:1041
-msgid "add to index only; do not add content to object database"
-msgstr ""
-
-#: builtin/update-index.c:1043
-msgid "remove named paths even if present in worktree"
-msgstr ""
-
-#: builtin/update-index.c:1045
-msgid "with --stdin: input lines are terminated by null bytes"
-msgstr ""
-
-#: builtin/update-index.c:1047
-msgid "read list of paths to be updated from standard input"
-msgstr ""
-
-#: builtin/update-index.c:1051
-msgid "add entries from standard input to the index"
-msgstr ""
-
-#: builtin/update-index.c:1055
-msgid "repopulate stages #2 and #3 for the listed paths"
-msgstr ""
-
-#: builtin/update-index.c:1059
-msgid "only update entries that differ from HEAD"
-msgstr ""
-
-#: builtin/update-index.c:1063
-msgid "ignore files missing from worktree"
-msgstr ""
-
-#: builtin/update-index.c:1066
-msgid "report actions to standard output"
-msgstr ""
-
-#: builtin/update-index.c:1068
-msgid "(for porcelains) forget saved unresolved conflicts"
-msgstr ""
-
-#: builtin/update-index.c:1072
-msgid "write index in this format"
-msgstr ""
-
-#: builtin/update-index.c:1074
-msgid "enable or disable split index"
-msgstr ""
-
-#: builtin/update-index.c:1076
-msgid "enable/disable untracked cache"
-msgstr ""
-
-#: builtin/update-index.c:1078
-msgid "test if the filesystem supports untracked cache"
-msgstr ""
-
-#: builtin/update-index.c:1080
-msgid "enable untracked cache without testing the filesystem"
-msgstr ""
-
-#: builtin/update-index.c:1082
-msgid "write out the index even if is not flagged as changed"
-msgstr ""
-
-#: builtin/update-index.c:1084
-msgid "enable or disable file system monitor"
-msgstr ""
-
-#: builtin/update-index.c:1086
-msgid "mark files as fsmonitor valid"
-msgstr ""
-
-#: builtin/update-index.c:1089
-msgid "clear fsmonitor valid bit"
-msgstr ""
-
-#: builtin/update-index.c:1195
-msgid ""
-"core.splitIndex is set to false; remove or change it, if you really want to "
-"enable split index"
-msgstr ""
-
-#: builtin/update-index.c:1204
-msgid ""
-"core.splitIndex is set to true; remove or change it, if you really want to "
-"disable split index"
-msgstr ""
-
-#: builtin/update-index.c:1216
-msgid ""
-"core.untrackedCache is set to true; remove or change it, if you really want "
-"to disable the untracked cache"
-msgstr ""
-
-#: builtin/update-index.c:1220
-msgid "Untracked cache disabled"
-msgstr ""
-
-#: builtin/update-index.c:1228
-msgid ""
-"core.untrackedCache is set to false; remove or change it, if you really want "
-"to enable the untracked cache"
-msgstr ""
-
-#: builtin/update-index.c:1232
-#, c-format
-msgid "Untracked cache enabled for '%s'"
-msgstr ""
-
-#: builtin/update-index.c:1241
-msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
-msgstr ""
-
-#: builtin/update-index.c:1246
-msgid "fsmonitor enabled"
-msgstr ""
-
-#: builtin/update-index.c:1250
-msgid ""
-"core.fsmonitor is set; remove it if you really want to disable fsmonitor"
-msgstr ""
-
-#: builtin/update-index.c:1254
-msgid "fsmonitor disabled"
-msgstr ""
-
-#: builtin/update-ref.c:10
-msgid "git update-ref [<options>] -d <refname> [<old-val>]"
-msgstr ""
-
-#: builtin/update-ref.c:11
-msgid "git update-ref [<options>]    <refname> <new-val> [<old-val>]"
-msgstr ""
-
-#: builtin/update-ref.c:12
-msgid "git update-ref [<options>] --stdin [-z]"
-msgstr ""
-
-#: builtin/update-ref.c:506
-msgid "delete the reference"
-msgstr ""
-
-#: builtin/update-ref.c:508
-msgid "update <refname> not the one it points to"
-msgstr ""
-
-#: builtin/update-ref.c:509
-msgid "stdin has NUL-terminated arguments"
-msgstr ""
-
-#: builtin/update-ref.c:510
-msgid "read updates from stdin"
-msgstr ""
-
-#: builtin/update-server-info.c:15
-msgid "update the info files from scratch"
-msgstr ""
-
-#: builtin/upload-pack.c:11
-msgid "git upload-pack [<options>] <dir>"
-msgstr ""
-
-#: builtin/upload-pack.c:24 t/helper/test-serve-v2.c:17
-msgid "quit after a single request/response exchange"
-msgstr ""
-
-#: builtin/upload-pack.c:26
-msgid "serve up the info/refs for git-http-backend"
-msgstr ""
-
-#: builtin/upload-pack.c:29
-msgid "do not try <directory>/.git/ if <directory> is no Git directory"
-msgstr ""
-
-#: builtin/upload-pack.c:31
-msgid "interrupt transfer after <n> seconds of inactivity"
-msgstr ""
-
-#: builtin/verify-commit.c:19
-msgid "git verify-commit [-v | --verbose] <commit>..."
-msgstr ""
-
-#: builtin/verify-commit.c:68
-msgid "print commit contents"
-msgstr ""
-
-#: builtin/verify-commit.c:69 builtin/verify-tag.c:37
-msgid "print raw gpg status output"
-msgstr ""
-
-#: builtin/verify-pack.c:59
-msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
-msgstr ""
-
-#: builtin/verify-pack.c:70
-msgid "verbose"
-msgstr ""
-
-#: builtin/verify-pack.c:72
-msgid "show statistics only"
-msgstr ""
-
-#: builtin/verify-tag.c:18
-msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
-msgstr ""
-
-#: builtin/verify-tag.c:36
-msgid "print tag contents"
-msgstr ""
-
-#: builtin/worktree.c:19
-msgid "git worktree add [<options>] <path> [<commit-ish>]"
-msgstr ""
-
-#: builtin/worktree.c:20
-msgid "git worktree list [<options>]"
-msgstr ""
-
-#: builtin/worktree.c:21
-msgid "git worktree lock [<options>] <path>"
-msgstr ""
-
-#: builtin/worktree.c:22
-msgid "git worktree move <worktree> <new-path>"
-msgstr ""
-
-#: builtin/worktree.c:23
-msgid "git worktree prune [<options>]"
-msgstr ""
-
-#: builtin/worktree.c:24
-msgid "git worktree remove [<options>] <worktree>"
-msgstr ""
-
-#: builtin/worktree.c:25
-msgid "git worktree repair [<path>...]"
-msgstr ""
-
-#: builtin/worktree.c:26
-msgid "git worktree unlock <path>"
-msgstr ""
-
-#: builtin/worktree.c:76
-#, c-format
-msgid "Removing %s/%s: %s"
-msgstr ""
-
-#: builtin/worktree.c:149
-msgid "report pruned working trees"
-msgstr ""
-
-#: builtin/worktree.c:151
-msgid "expire working trees older than <time>"
-msgstr ""
-
-#: builtin/worktree.c:221
-#, c-format
-msgid "'%s' already exists"
-msgstr ""
-
-#: builtin/worktree.c:230
-#, c-format
-msgid "unusable worktree destination '%s'"
-msgstr ""
-
-#: builtin/worktree.c:235
-#, c-format
-msgid ""
-"'%s' is a missing but locked worktree;\n"
-"use '%s -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear"
-msgstr ""
-
-#: builtin/worktree.c:237
-#, c-format
-msgid ""
-"'%s' is a missing but already registered worktree;\n"
-"use '%s -f' to override, or 'prune' or 'remove' to clear"
-msgstr ""
-
-#: builtin/worktree.c:248
-#, c-format
-msgid "failed to copy '%s' to '%s'; sparse-checkout may not work correctly"
-msgstr ""
-
-#: builtin/worktree.c:268
-#, c-format
-msgid "failed to copy worktree config from '%s' to '%s'"
-msgstr ""
-
-#: builtin/worktree.c:280 builtin/worktree.c:285
-#, c-format
-msgid "failed to unset '%s' in '%s'"
-msgstr ""
-
-#: builtin/worktree.c:356
-#, c-format
-msgid "could not create directory of '%s'"
-msgstr ""
-
-#: builtin/worktree.c:378
-msgid "initializing"
-msgstr ""
-
-#: builtin/worktree.c:492 builtin/worktree.c:498
-#, c-format
-msgid "Preparing worktree (new branch '%s')"
-msgstr ""
-
-#: builtin/worktree.c:494
-#, c-format
-msgid "Preparing worktree (resetting branch '%s'; was at %s)"
-msgstr ""
-
-#: builtin/worktree.c:503
-#, c-format
-msgid "Preparing worktree (checking out '%s')"
-msgstr ""
-
-#: builtin/worktree.c:509
-#, c-format
-msgid "Preparing worktree (detached HEAD %s)"
-msgstr ""
-
-#: builtin/worktree.c:554
-msgid "checkout <branch> even if already checked out in other worktree"
-msgstr ""
-
-#: builtin/worktree.c:557
-msgid "create a new branch"
-msgstr ""
-
-#: builtin/worktree.c:559
-msgid "create or reset a branch"
-msgstr ""
-
-#: builtin/worktree.c:561
-msgid "populate the new working tree"
-msgstr ""
-
-#: builtin/worktree.c:562
-msgid "keep the new working tree locked"
-msgstr ""
-
-#: builtin/worktree.c:564 builtin/worktree.c:809
-msgid "reason for locking"
-msgstr ""
-
-#: builtin/worktree.c:567
-msgid "set up tracking mode (see git-branch(1))"
-msgstr ""
-
-#: builtin/worktree.c:570
-msgid "try to match the new branch name with a remote-tracking branch"
-msgstr ""
-
-#: builtin/worktree.c:584
-msgid "added with --lock"
-msgstr ""
-
-#: builtin/worktree.c:646
-msgid "--[no-]track can only be used if a new branch is created"
-msgstr ""
-
-#: builtin/worktree.c:766
-msgid "show extended annotations and reasons, if available"
-msgstr ""
-
-#: builtin/worktree.c:768
-msgid "add 'prunable' annotation to worktrees older than <time>"
-msgstr ""
-
-#: builtin/worktree.c:770
-msgid "terminate records with a NUL character"
-msgstr ""
-
-#: builtin/worktree.c:821 builtin/worktree.c:854 builtin/worktree.c:928
-#: builtin/worktree.c:1052
-#, c-format
-msgid "'%s' is not a working tree"
-msgstr ""
-
-#: builtin/worktree.c:823 builtin/worktree.c:856
-msgid "The main working tree cannot be locked or unlocked"
-msgstr ""
-
-#: builtin/worktree.c:828
-#, c-format
-msgid "'%s' is already locked, reason: %s"
-msgstr ""
-
-#: builtin/worktree.c:830
-#, c-format
-msgid "'%s' is already locked"
-msgstr ""
-
-#: builtin/worktree.c:858
-#, c-format
-msgid "'%s' is not locked"
-msgstr ""
-
-#: builtin/worktree.c:899
-msgid "working trees containing submodules cannot be moved or removed"
-msgstr ""
-
-#: builtin/worktree.c:907
-msgid "force move even if worktree is dirty or locked"
-msgstr ""
-
-#: builtin/worktree.c:930 builtin/worktree.c:1054
-#, c-format
-msgid "'%s' is a main working tree"
-msgstr ""
-
-#: builtin/worktree.c:935
-#, c-format
-msgid "could not figure out destination name from '%s'"
-msgstr ""
-
-#: builtin/worktree.c:948
-#, c-format
-msgid ""
-"cannot move a locked working tree, lock reason: %s\n"
-"use 'move -f -f' to override or unlock first"
-msgstr ""
-
-#: builtin/worktree.c:950
-msgid ""
-"cannot move a locked working tree;\n"
-"use 'move -f -f' to override or unlock first"
-msgstr ""
-
-#: builtin/worktree.c:953
-#, c-format
-msgid "validation failed, cannot move working tree: %s"
-msgstr ""
-
-#: builtin/worktree.c:958
-#, c-format
-msgid "failed to move '%s' to '%s'"
-msgstr ""
-
-#: builtin/worktree.c:1004
-#, c-format
-msgid "failed to run 'git status' on '%s'"
-msgstr ""
-
-#: builtin/worktree.c:1008
-#, c-format
-msgid "'%s' contains modified or untracked files, use --force to delete it"
-msgstr ""
-
-#: builtin/worktree.c:1013
-#, c-format
-msgid "failed to run 'git status' on '%s', code %d"
-msgstr ""
-
-#: builtin/worktree.c:1036
-msgid "force removal even if worktree is dirty or locked"
-msgstr ""
-
-#: builtin/worktree.c:1059
-#, c-format
-msgid ""
-"cannot remove a locked working tree, lock reason: %s\n"
-"use 'remove -f -f' to override or unlock first"
-msgstr ""
-
-#: builtin/worktree.c:1061
-msgid ""
-"cannot remove a locked working tree;\n"
-"use 'remove -f -f' to override or unlock first"
-msgstr ""
-
-#: builtin/worktree.c:1064
-#, c-format
-msgid "validation failed, cannot remove working tree: %s"
-msgstr ""
-
-#: builtin/worktree.c:1088
-#, c-format
-msgid "repair: %s: %s"
-msgstr ""
-
-#: builtin/worktree.c:1091
-#, c-format
-msgid "error: %s: %s"
-msgstr ""
-
-#: builtin/write-tree.c:15
-msgid "git write-tree [--missing-ok] [--prefix=<prefix>/]"
-msgstr ""
-
-#: builtin/write-tree.c:28
-msgid "<prefix>/"
-msgstr ""
-
-#: builtin/write-tree.c:29
-msgid "write tree object for a subdirectory <prefix>"
-msgstr ""
-
-#: builtin/write-tree.c:31
-msgid "only useful for debugging"
-msgstr ""
-
-#: git.c:28
-msgid ""
-"git [--version] [--help] [-C <path>] [-c <name>=<value>]\n"
-"           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]\n"
-"           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--"
-"bare]\n"
-"           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]\n"
-"           [--super-prefix=<path>] [--config-env=<name>=<envvar>]\n"
-"           <command> [<args>]"
-msgstr ""
-
-#: git.c:36
-msgid ""
-"'git help -a' and 'git help -g' list available subcommands and some\n"
-"concept guides. See 'git help <command>' or 'git help <concept>'\n"
-"to read about a specific subcommand or concept.\n"
-"See 'git help git' for an overview of the system."
-msgstr ""
-
-#: git.c:188 git.c:216 git.c:300
-#, c-format
-msgid "no directory given for '%s' option\n"
-msgstr ""
-
-#: git.c:202
-#, c-format
-msgid "no namespace given for --namespace\n"
-msgstr ""
-
-#: git.c:230
-#, c-format
-msgid "no prefix given for --super-prefix\n"
-msgstr ""
-
-#: git.c:252
-#, c-format
-msgid "-c expects a configuration string\n"
-msgstr ""
-
-#: git.c:260
-#, c-format
-msgid "no config key given for --config-env\n"
-msgstr ""
-
-#: git.c:326
-#, c-format
-msgid "unknown option: %s\n"
-msgstr ""
-
-#: git.c:375
-#, c-format
-msgid "while expanding alias '%s': '%s'"
-msgstr ""
-
-#: git.c:384
-#, c-format
-msgid ""
-"alias '%s' changes environment variables.\n"
-"You can use '!git' in the alias to do this"
-msgstr ""
-
-#: git.c:391
-#, c-format
-msgid "empty alias for %s"
-msgstr ""
-
-#: git.c:394
-#, c-format
-msgid "recursive alias: %s"
-msgstr ""
-
-#: git.c:480
-msgid "write failure on standard output"
-msgstr ""
-
-#: git.c:482
-msgid "unknown write failure on standard output"
-msgstr ""
-
-#: git.c:484
-msgid "close failed on standard output"
-msgstr ""
-
-#: git.c:838
-#, c-format
-msgid "alias loop detected: expansion of '%s' does not terminate:%s"
-msgstr ""
-
-#: git.c:888
-#, c-format
-msgid "cannot handle %s as a builtin"
-msgstr ""
-
-#: git.c:901
-#, c-format
-msgid ""
-"usage: %s\n"
-"\n"
-msgstr ""
-
-#: git.c:921
-#, c-format
-msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
-msgstr ""
-
-#: git.c:933
-#, c-format
-msgid "failed to run command '%s': %s\n"
-msgstr ""
-
-#: http-fetch.c:128
-#, c-format
-msgid "argument to --packfile must be a valid hash (got '%s')"
-msgstr ""
-
-#: http-fetch.c:138
-msgid "not a git repository"
-msgstr ""
-
-#: t/helper/test-fast-rebase.c:141
-msgid "unhandled options"
-msgstr ""
-
-#: t/helper/test-fast-rebase.c:146
-msgid "error preparing revisions"
-msgstr ""
-
-#: t/helper/test-reach.c:154
-#, c-format
-msgid "commit %s is not marked reachable"
-msgstr ""
-
-#: t/helper/test-reach.c:164
-msgid "too many commits marked reachable"
-msgstr ""
-
-#: t/helper/test-serve-v2.c:7
-msgid "test-tool serve-v2 [<options>]"
-msgstr ""
-
-#: t/helper/test-serve-v2.c:19
-msgid "exit immediately after advertising capabilities"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:581
-msgid "test-helper simple-ipc is-active    [<name>] [<options>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:582
-msgid "test-helper simple-ipc run-daemon   [<name>] [<threads>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:583
-msgid "test-helper simple-ipc start-daemon [<name>] [<threads>] [<max-wait>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:584
-msgid "test-helper simple-ipc stop-daemon  [<name>] [<max-wait>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:585
-msgid "test-helper simple-ipc send         [<name>] [<token>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:586
-msgid "test-helper simple-ipc sendbytes    [<name>] [<bytecount>] [<byte>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:587
-msgid ""
-"test-helper simple-ipc multiple     [<name>] [<threads>] [<bytecount>] "
-"[<batchsize>]"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:595
-msgid "name or pathname of unix domain socket"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:597
-msgid "named-pipe name"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:599
-msgid "number of threads in server thread pool"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:600
-msgid "seconds to wait for daemon to start or stop"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:602
-msgid "number of bytes"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:603
-msgid "number of requests per thread"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:605
-msgid "byte"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:605
-msgid "ballast character"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:606
-msgid "token"
-msgstr ""
-
-#: t/helper/test-simple-ipc.c:606
-msgid "command token to send to the server"
-msgstr ""
-
-#: http.c:350
-#, c-format
-msgid "negative value for http.postbuffer; defaulting to %d"
-msgstr ""
-
-#: http.c:371
-msgid "Delegation control is not supported with cURL < 7.22.0"
-msgstr ""
-
-#: http.c:380
-msgid "Public key pinning not supported with cURL < 7.39.0"
-msgstr ""
-
-#: http.c:812
-msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
-msgstr ""
-
-#: http.c:1016
-#, c-format
-msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
-msgstr ""
-
-#: http.c:1023
-#, c-format
-msgid "Could not set SSL backend to '%s': cURL was built without SSL backends"
-msgstr ""
-
-#: http.c:1027
-#, c-format
-msgid "Could not set SSL backend to '%s': already set"
-msgstr ""
-
-#: http.c:1876
-#, c-format
-msgid ""
-"unable to update url base from redirection:\n"
-"  asked for: %s\n"
-"   redirect: %s"
-msgstr ""
-
-#: remote-curl.c:184
-#, c-format
-msgid "invalid quoting in push-option value: '%s'"
-msgstr ""
-
-#: remote-curl.c:308
-#, c-format
-msgid "%sinfo/refs not valid: is this a git repository?"
-msgstr ""
-
-#: remote-curl.c:409
-msgid "invalid server response; expected service, got flush packet"
-msgstr ""
-
-#: remote-curl.c:440
-#, c-format
-msgid "invalid server response; got '%s'"
-msgstr ""
-
-#: remote-curl.c:500
-#, c-format
-msgid "repository '%s' not found"
-msgstr ""
-
-#: remote-curl.c:504
-#, c-format
-msgid "Authentication failed for '%s'"
-msgstr ""
-
-#: remote-curl.c:508
-#, c-format
-msgid "unable to access '%s' with http.pinnedPubkey configuration: %s"
-msgstr ""
-
-#: remote-curl.c:512
-#, c-format
-msgid "unable to access '%s': %s"
-msgstr ""
-
-#: remote-curl.c:518
-#, c-format
-msgid "redirecting to %s"
-msgstr ""
-
-#: remote-curl.c:649
-msgid "shouldn't have EOF when not gentle on EOF"
-msgstr ""
-
-#: remote-curl.c:661
-msgid "remote server sent unexpected response end packet"
-msgstr ""
-
-#: remote-curl.c:730
-msgid "unable to rewind rpc post data - try increasing http.postBuffer"
-msgstr ""
-
-#: remote-curl.c:759
-#, c-format
-msgid "remote-curl: bad line length character: %.4s"
-msgstr ""
-
-#: remote-curl.c:761
-msgid "remote-curl: unexpected response end packet"
-msgstr ""
-
-#: remote-curl.c:837
-#, c-format
-msgid "RPC failed; %s"
-msgstr ""
-
-#: remote-curl.c:877
-msgid "cannot handle pushes this big"
-msgstr ""
-
-#: remote-curl.c:990
-#, c-format
-msgid "cannot deflate request; zlib deflate error %d"
-msgstr ""
-
-#: remote-curl.c:994
-#, c-format
-msgid "cannot deflate request; zlib end error %d"
-msgstr ""
-
-#: remote-curl.c:1044
-#, c-format
-msgid "%d bytes of length header were received"
-msgstr ""
-
-#: remote-curl.c:1046
-#, c-format
-msgid "%d bytes of body are still expected"
-msgstr ""
-
-#: remote-curl.c:1135
-msgid "dumb http transport does not support shallow capabilities"
-msgstr ""
-
-#: remote-curl.c:1150
-msgid "fetch failed."
-msgstr ""
-
-#: remote-curl.c:1198
-msgid "cannot fetch by sha1 over smart http"
-msgstr ""
-
-#: remote-curl.c:1242 remote-curl.c:1248
-#, c-format
-msgid "protocol error: expected sha/ref, got '%s'"
-msgstr ""
-
-#: remote-curl.c:1260 remote-curl.c:1378
-#, c-format
-msgid "http transport does not support %s"
-msgstr ""
-
-#: remote-curl.c:1296
-msgid "git-http-push failed"
-msgstr ""
-
-#: remote-curl.c:1485
-msgid "remote-curl: usage: git remote-curl <remote> [<url>]"
-msgstr ""
-
-#: remote-curl.c:1517
-msgid "remote-curl: error reading command stream from git"
-msgstr ""
-
-#: remote-curl.c:1524
-msgid "remote-curl: fetch attempted without a local repo"
-msgstr ""
-
-#: remote-curl.c:1565
-#, c-format
-msgid "remote-curl: unknown command '%s' from git"
-msgstr ""
-
-#: contrib/scalar/scalar.c:49
-msgid "need a working directory"
-msgstr ""
-
-#: contrib/scalar/scalar.c:86
-msgid "could not find enlistment root"
-msgstr ""
-
-#: contrib/scalar/scalar.c:89 contrib/scalar/scalar.c:350
-#: contrib/scalar/scalar.c:435 contrib/scalar/scalar.c:578
-#, c-format
-msgid "could not switch to '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:179
-#, c-format
-msgid "could not configure %s=%s"
-msgstr ""
-
-#: contrib/scalar/scalar.c:197
-msgid "could not configure log.excludeDecoration"
-msgstr ""
-
-#: contrib/scalar/scalar.c:218
-msgid "Scalar enlistments require a worktree"
-msgstr ""
-
-#: contrib/scalar/scalar.c:310
-#, c-format
-msgid "remote HEAD is not a branch: '%.*s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:316
-msgid "failed to get default branch name from remote; using local default"
-msgstr ""
-
-#: contrib/scalar/scalar.c:329
-msgid "failed to get default branch name"
-msgstr ""
-
-#: contrib/scalar/scalar.c:340
-msgid "failed to unregister repository"
-msgstr ""
-
-#: contrib/scalar/scalar.c:355
-msgid "failed to delete enlistment directory"
-msgstr ""
-
-#: contrib/scalar/scalar.c:375
-msgid "branch to checkout after clone"
-msgstr ""
-
-#: contrib/scalar/scalar.c:377
-msgid "when cloning, create full working directory"
-msgstr ""
-
-#: contrib/scalar/scalar.c:379
-msgid "only download metadata for the branch that will be checked out"
-msgstr ""
-
-#: contrib/scalar/scalar.c:384
-msgid "scalar clone [<options>] [--] <repo> [<dir>]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:409
-#, c-format
-msgid "cannot deduce worktree name from '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:418
-#, c-format
-msgid "directory '%s' exists already"
-msgstr ""
-
-#: contrib/scalar/scalar.c:445
-#, c-format
-msgid "failed to get default branch for '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:456
-#, c-format
-msgid "could not configure remote in '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:465
-#, c-format
-msgid "could not configure '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:468
-msgid "partial clone failed; attempting full clone"
-msgstr ""
-
-#: contrib/scalar/scalar.c:472
-msgid "could not configure for full clone"
-msgstr ""
-
-#: contrib/scalar/scalar.c:504
-msgid "`scalar list` does not take arguments"
-msgstr ""
-
-#: contrib/scalar/scalar.c:517
-msgid "scalar register [<enlistment>]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:544
-msgid "reconfigure all registered enlistments"
-msgstr ""
-
-#: contrib/scalar/scalar.c:548
-msgid "scalar reconfigure [--all | <enlistment>]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:566
-msgid "--all or <enlistment>, but not both"
-msgstr ""
-
-#: contrib/scalar/scalar.c:581
-#, c-format
-msgid "git repository gone in '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:621
-msgid ""
-"scalar run <task> [<enlistment>]\n"
-"Tasks:\n"
-msgstr ""
-
-#: contrib/scalar/scalar.c:639
-#, c-format
-msgid "no such task: '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:689
-msgid "scalar unregister [<enlistment>]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:736
-msgid "scalar delete <enlistment>"
-msgstr ""
-
-#: contrib/scalar/scalar.c:751
-msgid "refusing to delete current working directory"
-msgstr ""
-
-#: contrib/scalar/scalar.c:766
-msgid "include Git version"
-msgstr ""
-
-#: contrib/scalar/scalar.c:768
-msgid "include Git's build options"
-msgstr ""
-
-#: contrib/scalar/scalar.c:772
-msgid "scalar verbose [-v | --verbose] [--build-options]"
-msgstr ""
-
-#: contrib/scalar/scalar.c:813
-msgid "-C requires a <directory>"
-msgstr ""
-
-#: contrib/scalar/scalar.c:815
-#, c-format
-msgid "could not change to '%s'"
-msgstr ""
-
-#: contrib/scalar/scalar.c:821
-msgid "-c requires a <key>=<value> argument"
-msgstr ""
-
-#: contrib/scalar/scalar.c:839
-msgid ""
-"scalar [-C <directory>] [-c <key>=<value>] <command> [<options>]\n"
-"\n"
-"Commands:\n"
-msgstr ""
-
-#: compat/compiler.h:26
-msgid "no compiler information available\n"
-msgstr ""
-
-#: compat/compiler.h:38
-msgid "no libc information available\n"
-msgstr ""
-
-#: list-objects-filter-options.h:126
-msgid "args"
-msgstr ""
-
-#: list-objects-filter-options.h:127
-msgid "object filtering"
-msgstr ""
-
-#: parse-options.h:188
-msgid "expiry-date"
-msgstr ""
-
-#: parse-options.h:202
-msgid "no-op (backward compatibility)"
-msgstr ""
-
-#: parse-options.h:341
-msgid "be more verbose"
-msgstr ""
-
-#: parse-options.h:343
-msgid "be more quiet"
-msgstr ""
-
-#: parse-options.h:349
-msgid "use <n> digits to display object names"
-msgstr ""
-
-#: parse-options.h:368
-msgid "how to strip spaces and #comments from message"
-msgstr ""
-
-#: parse-options.h:369
-msgid "read pathspec from file"
-msgstr ""
-
-#: parse-options.h:370
-msgid ""
-"with --pathspec-from-file, pathspec elements are separated with NUL character"
-msgstr ""
-
-#: ref-filter.h:98
-msgid "key"
-msgstr ""
-
-#: ref-filter.h:98
-msgid "field name to sort on"
-msgstr ""
-
-#: rerere.h:44
-msgid "update the index with reused conflict resolution if possible"
-msgstr ""
-
-#: command-list.h:50
-msgid "Add file contents to the index"
-msgstr ""
-
-#: command-list.h:51
-msgid "Apply a series of patches from a mailbox"
-msgstr ""
-
-#: command-list.h:52
-msgid "Annotate file lines with commit information"
-msgstr ""
-
-#: command-list.h:53
-msgid "Apply a patch to files and/or to the index"
-msgstr ""
-
-#: command-list.h:54
-msgid "Import a GNU Arch repository into Git"
-msgstr ""
-
-#: command-list.h:55
-msgid "Create an archive of files from a named tree"
-msgstr ""
-
-#: command-list.h:56
-msgid "Use binary search to find the commit that introduced a bug"
-msgstr ""
-
-#: command-list.h:57
-msgid "Show what revision and author last modified each line of a file"
-msgstr ""
-
-#: command-list.h:58
-msgid "List, create, or delete branches"
-msgstr ""
-
-#: command-list.h:59
-msgid "Collect information for user to file a bug report"
-msgstr ""
-
-#: command-list.h:60
-msgid "Move objects and refs by archive"
-msgstr ""
-
-#: command-list.h:61
-msgid "Provide content or type and size information for repository objects"
-msgstr ""
-
-#: command-list.h:62
-msgid "Display gitattributes information"
-msgstr ""
-
-#: command-list.h:63
-msgid "Debug gitignore / exclude files"
-msgstr ""
-
-#: command-list.h:64
-msgid "Show canonical names and email addresses of contacts"
-msgstr ""
-
-#: command-list.h:65
-msgid "Ensures that a reference name is well formed"
-msgstr ""
-
-#: command-list.h:66
-msgid "Switch branches or restore working tree files"
-msgstr ""
-
-#: command-list.h:67
-msgid "Copy files from the index to the working tree"
-msgstr ""
-
-#: command-list.h:68
-msgid "Find commits yet to be applied to upstream"
-msgstr ""
-
-#: command-list.h:69
-msgid "Apply the changes introduced by some existing commits"
-msgstr ""
-
-#: command-list.h:70
-msgid "Graphical alternative to git-commit"
-msgstr ""
-
-#: command-list.h:71
-msgid "Remove untracked files from the working tree"
-msgstr ""
-
-#: command-list.h:72
-msgid "Clone a repository into a new directory"
-msgstr ""
-
-#: command-list.h:73
-msgid "Display data in columns"
-msgstr ""
-
-#: command-list.h:74
-msgid "Record changes to the repository"
-msgstr ""
-
-#: command-list.h:75
-msgid "Write and verify Git commit-graph files"
-msgstr ""
-
-#: command-list.h:76
-msgid "Create a new commit object"
-msgstr ""
-
-#: command-list.h:77
-msgid "Get and set repository or global options"
-msgstr ""
-
-#: command-list.h:78
-msgid "Count unpacked number of objects and their disk consumption"
-msgstr ""
-
-#: command-list.h:79
-msgid "Retrieve and store user credentials"
-msgstr ""
-
-#: command-list.h:80
-msgid "Helper to temporarily store passwords in memory"
-msgstr ""
-
-#: command-list.h:81
-msgid "Helper to store credentials on disk"
-msgstr ""
-
-#: command-list.h:82
-msgid "Export a single commit to a CVS checkout"
-msgstr ""
-
-#: command-list.h:83
-msgid "Salvage your data out of another SCM people love to hate"
-msgstr ""
-
-#: command-list.h:84
-msgid "A CVS server emulator for Git"
-msgstr ""
-
-#: command-list.h:85
-msgid "A really simple server for Git repositories"
-msgstr ""
-
-#: command-list.h:86
-msgid "Give an object a human readable name based on an available ref"
-msgstr ""
-
-#: command-list.h:87
-msgid "Show changes between commits, commit and working tree, etc"
-msgstr ""
-
-#: command-list.h:88
-msgid "Compares files in the working tree and the index"
-msgstr ""
-
-#: command-list.h:89
-msgid "Compare a tree to the working tree or index"
-msgstr ""
-
-#: command-list.h:90
-msgid "Compares the content and mode of blobs found via two tree objects"
-msgstr ""
-
-#: command-list.h:91
-msgid "Show changes using common diff tools"
-msgstr ""
-
-#: command-list.h:92
-msgid "Git data exporter"
-msgstr ""
-
-#: command-list.h:93
-msgid "Backend for fast Git data importers"
-msgstr ""
-
-#: command-list.h:94
-msgid "Download objects and refs from another repository"
-msgstr ""
-
-#: command-list.h:95
-msgid "Receive missing objects from another repository"
-msgstr ""
-
-#: command-list.h:96
-msgid "Rewrite branches"
-msgstr ""
-
-#: command-list.h:97
-msgid "Produce a merge commit message"
-msgstr ""
-
-#: command-list.h:98
-msgid "Output information on each ref"
-msgstr ""
-
-#: command-list.h:99
-msgid "Run a Git command on a list of repositories"
-msgstr ""
-
-#: command-list.h:100
-msgid "Prepare patches for e-mail submission"
-msgstr ""
-
-#: command-list.h:101
-msgid "Verifies the connectivity and validity of the objects in the database"
-msgstr ""
-
-#: command-list.h:102
-msgid "Cleanup unnecessary files and optimize the local repository"
-msgstr ""
-
-#: command-list.h:103
-msgid "Extract commit ID from an archive created using git-archive"
-msgstr ""
-
-#: command-list.h:104
-msgid "Print lines matching a pattern"
-msgstr ""
-
-#: command-list.h:105
-msgid "A portable graphical interface to Git"
-msgstr ""
-
-#: command-list.h:106
-msgid "Compute object ID and optionally creates a blob from a file"
-msgstr ""
-
-#: command-list.h:107
-msgid "Display help information about Git"
-msgstr ""
-
-#: command-list.h:108
-msgid "Run git hooks"
-msgstr ""
-
-#: command-list.h:109
-msgid "Server side implementation of Git over HTTP"
-msgstr ""
-
-#: command-list.h:110
-msgid "Download from a remote Git repository via HTTP"
-msgstr ""
-
-#: command-list.h:111
-msgid "Push objects over HTTP/DAV to another repository"
-msgstr ""
-
-#: command-list.h:112
-msgid "Send a collection of patches from stdin to an IMAP folder"
-msgstr ""
-
-#: command-list.h:113
-msgid "Build pack index file for an existing packed archive"
-msgstr ""
-
-#: command-list.h:114
-msgid "Create an empty Git repository or reinitialize an existing one"
-msgstr ""
-
-#: command-list.h:115
-msgid "Instantly browse your working repository in gitweb"
-msgstr ""
-
-#: command-list.h:116
-msgid "Add or parse structured information in commit messages"
-msgstr ""
-
-#: command-list.h:117
-msgid "Show commit logs"
-msgstr ""
-
-#: command-list.h:118
-msgid "Show information about files in the index and the working tree"
-msgstr ""
-
-#: command-list.h:119
-msgid "List references in a remote repository"
-msgstr ""
-
-#: command-list.h:120
-msgid "List the contents of a tree object"
-msgstr ""
-
-#: command-list.h:121
-msgid "Extracts patch and authorship from a single e-mail message"
-msgstr ""
-
-#: command-list.h:122
-msgid "Simple UNIX mbox splitter program"
-msgstr ""
-
-#: command-list.h:123
-msgid "Run tasks to optimize Git repository data"
-msgstr ""
-
-#: command-list.h:124
-msgid "Join two or more development histories together"
-msgstr ""
-
-#: command-list.h:125
-msgid "Find as good common ancestors as possible for a merge"
-msgstr ""
-
-#: command-list.h:126
-msgid "Run a three-way file merge"
-msgstr ""
-
-#: command-list.h:127
-msgid "Run a merge for files needing merging"
-msgstr ""
-
-#: command-list.h:128
-msgid "The standard helper program to use with git-merge-index"
-msgstr ""
-
-#: command-list.h:129
-msgid "Show three-way merge without touching index"
-msgstr ""
-
-#: command-list.h:130
-msgid "Run merge conflict resolution tools to resolve merge conflicts"
-msgstr ""
-
-#: command-list.h:131
-msgid "Creates a tag object with extra validation"
-msgstr ""
-
-#: command-list.h:132
-msgid "Build a tree-object from ls-tree formatted text"
-msgstr ""
-
-#: command-list.h:133
-msgid "Write and verify multi-pack-indexes"
-msgstr ""
-
-#: command-list.h:134
-msgid "Move or rename a file, a directory, or a symlink"
-msgstr ""
-
-#: command-list.h:135
-msgid "Find symbolic names for given revs"
-msgstr ""
-
-#: command-list.h:136
-msgid "Add or inspect object notes"
-msgstr ""
-
-#: command-list.h:137
-msgid "Import from and submit to Perforce repositories"
-msgstr ""
-
-#: command-list.h:138
-msgid "Create a packed archive of objects"
-msgstr ""
-
-#: command-list.h:139
-msgid "Find redundant pack files"
-msgstr ""
-
-#: command-list.h:140
-msgid "Pack heads and tags for efficient repository access"
-msgstr ""
-
-#: command-list.h:141
-msgid "Compute unique ID for a patch"
-msgstr ""
-
-#: command-list.h:142
-msgid "Prune all unreachable objects from the object database"
-msgstr ""
-
-#: command-list.h:143
-msgid "Remove extra objects that are already in pack files"
-msgstr ""
-
-#: command-list.h:144
-msgid "Fetch from and integrate with another repository or a local branch"
-msgstr ""
-
-#: command-list.h:145
-msgid "Update remote refs along with associated objects"
-msgstr ""
-
-#: command-list.h:146
-msgid "Applies a quilt patchset onto the current branch"
-msgstr ""
-
-#: command-list.h:147
-msgid "Compare two commit ranges (e.g. two versions of a branch)"
-msgstr ""
-
-#: command-list.h:148
-msgid "Reads tree information into the index"
-msgstr ""
-
-#: command-list.h:149
-msgid "Reapply commits on top of another base tip"
-msgstr ""
-
-#: command-list.h:150
-msgid "Receive what is pushed into the repository"
-msgstr ""
-
-#: command-list.h:151
-msgid "Manage reflog information"
-msgstr ""
-
-#: command-list.h:152
-msgid "Manage set of tracked repositories"
-msgstr ""
-
-#: command-list.h:153
-msgid "Pack unpacked objects in a repository"
-msgstr ""
-
-#: command-list.h:154
-msgid "Create, list, delete refs to replace objects"
-msgstr ""
-
-#: command-list.h:155
-msgid "Generates a summary of pending changes"
-msgstr ""
-
-#: command-list.h:156
-msgid "Reuse recorded resolution of conflicted merges"
-msgstr ""
-
-#: command-list.h:157
-msgid "Reset current HEAD to the specified state"
-msgstr ""
-
-#: command-list.h:158
-msgid "Restore working tree files"
-msgstr ""
-
-#: command-list.h:159
-msgid "Lists commit objects in reverse chronological order"
-msgstr ""
-
-#: command-list.h:160
-msgid "Pick out and massage parameters"
-msgstr ""
-
-#: command-list.h:161
-msgid "Revert some existing commits"
-msgstr ""
-
-#: command-list.h:162
-msgid "Remove files from the working tree and from the index"
-msgstr ""
-
-#: command-list.h:163
-msgid "Send a collection of patches as emails"
-msgstr ""
-
-#: command-list.h:164
-msgid "Push objects over Git protocol to another repository"
-msgstr ""
-
-#: command-list.h:165
-msgid "Git's i18n setup code for shell scripts"
-msgstr ""
-
-#: command-list.h:166
-msgid "Common Git shell script setup code"
-msgstr ""
-
-#: command-list.h:167
-msgid "Restricted login shell for Git-only SSH access"
-msgstr ""
-
-#: command-list.h:168
-msgid "Summarize 'git log' output"
-msgstr ""
-
-#: command-list.h:169
-msgid "Show various types of objects"
-msgstr ""
-
-#: command-list.h:170
-msgid "Show branches and their commits"
-msgstr ""
-
-#: command-list.h:171
-msgid "Show packed archive index"
-msgstr ""
-
-#: command-list.h:172
-msgid "List references in a local repository"
-msgstr ""
-
-#: command-list.h:173
-msgid "Reduce your working tree to a subset of tracked files"
-msgstr ""
-
-#: command-list.h:174
-msgid "Add file contents to the staging area"
-msgstr ""
-
-#: command-list.h:175
-msgid "Stash the changes in a dirty working directory away"
-msgstr ""
-
-#: command-list.h:176
-msgid "Show the working tree status"
-msgstr ""
-
-#: command-list.h:177
-msgid "Remove unnecessary whitespace"
-msgstr ""
-
-#: command-list.h:178
-msgid "Initialize, update or inspect submodules"
-msgstr ""
-
-#: command-list.h:179
-msgid "Bidirectional operation between a Subversion repository and Git"
-msgstr ""
-
-#: command-list.h:180
-msgid "Switch branches"
-msgstr ""
-
-#: command-list.h:181
-msgid "Read, modify and delete symbolic refs"
-msgstr ""
-
-#: command-list.h:182
-msgid "Create, list, delete or verify a tag object signed with GPG"
-msgstr ""
-
-#: command-list.h:183
-msgid "Creates a temporary file with a blob's contents"
-msgstr ""
-
-#: command-list.h:184
-msgid "Unpack objects from a packed archive"
-msgstr ""
-
-#: command-list.h:185
-msgid "Register file contents in the working tree to the index"
-msgstr ""
-
-#: command-list.h:186
-msgid "Update the object name stored in a ref safely"
-msgstr ""
-
-#: command-list.h:187
-msgid "Update auxiliary info file to help dumb servers"
-msgstr ""
-
-#: command-list.h:188
-msgid "Send archive back to git-archive"
-msgstr ""
-
-#: command-list.h:189
-msgid "Send objects packed back to git-fetch-pack"
-msgstr ""
-
-#: command-list.h:190
-msgid "Show a Git logical variable"
-msgstr ""
-
-#: command-list.h:191
-msgid "Check the GPG signature of commits"
-msgstr ""
-
-#: command-list.h:192
-msgid "Validate packed Git archive files"
-msgstr ""
-
-#: command-list.h:193
-msgid "Check the GPG signature of tags"
-msgstr ""
-
-#: command-list.h:194
-msgid "Show logs with difference each commit introduces"
-msgstr ""
-
-#: command-list.h:195
-msgid "Manage multiple working trees"
-msgstr ""
-
-#: command-list.h:196
-msgid "Create a tree object from the current index"
-msgstr ""
-
-#: command-list.h:197
-msgid "Defining attributes per path"
-msgstr ""
-
-#: command-list.h:198
-msgid "Git command-line interface and conventions"
-msgstr ""
-
-#: command-list.h:199
-msgid "A Git core tutorial for developers"
-msgstr ""
-
-#: command-list.h:200
-msgid "Providing usernames and passwords to Git"
-msgstr ""
-
-#: command-list.h:201
-msgid "Git for CVS users"
-msgstr ""
-
-#: command-list.h:202
-msgid "Tweaking diff output"
-msgstr ""
-
-#: command-list.h:203
-msgid "A useful minimum set of commands for Everyday Git"
-msgstr ""
-
-#: command-list.h:204
-msgid "Frequently asked questions about using Git"
-msgstr ""
-
-#: command-list.h:205
-msgid "A Git Glossary"
-msgstr ""
-
-#: command-list.h:206
-msgid "Hooks used by Git"
-msgstr ""
-
-#: command-list.h:207
-msgid "Specifies intentionally untracked files to ignore"
-msgstr ""
-
-#: command-list.h:208
-msgid "The Git repository browser"
-msgstr ""
-
-#: command-list.h:209
-msgid "Map author/committer names and/or E-Mail addresses"
-msgstr ""
-
-#: command-list.h:210
-msgid "Defining submodule properties"
-msgstr ""
-
-#: command-list.h:211
-msgid "Git namespaces"
-msgstr ""
-
-#: command-list.h:212
-msgid "Helper programs to interact with remote repositories"
-msgstr ""
-
-#: command-list.h:213
-msgid "Git Repository Layout"
-msgstr ""
-
-#: command-list.h:214
-msgid "Specifying revisions and ranges for Git"
-msgstr ""
-
-#: command-list.h:215
-msgid "Mounting one repository inside another"
-msgstr ""
-
-#: command-list.h:216
-msgid "A tutorial introduction to Git"
-msgstr ""
-
-#: command-list.h:217
-msgid "A tutorial introduction to Git: part two"
-msgstr ""
-
-#: command-list.h:218
-msgid "Git web interface (web frontend to Git repositories)"
-msgstr ""
-
-#: command-list.h:219
-msgid "An overview of recommended workflows with Git"
-msgstr ""
-
-#: git-merge-octopus.sh:46
-msgid ""
-"Error: Your local changes to the following files would be overwritten by "
-"merge"
-msgstr ""
-
-#: git-merge-octopus.sh:61
-msgid "Automated merge did not work."
-msgstr ""
-
-#: git-merge-octopus.sh:62
-msgid "Should not be doing an octopus."
-msgstr ""
-
-#: git-merge-octopus.sh:73
-#, sh-format
-msgid "Unable to find common commit with $pretty_name"
-msgstr ""
-
-#: git-merge-octopus.sh:77
-#, sh-format
-msgid "Already up to date with $pretty_name"
-msgstr ""
-
-#: git-merge-octopus.sh:89
-#, sh-format
-msgid "Fast-forwarding to: $pretty_name"
-msgstr ""
-
-#: git-merge-octopus.sh:97
-#, sh-format
-msgid "Trying simple merge with $pretty_name"
-msgstr ""
-
-#: git-merge-octopus.sh:102
-msgid "Simple merge did not work, trying automatic merge."
-msgstr ""
-
-#: git-sh-setup.sh:89 git-sh-setup.sh:94
-#, sh-format
-msgid "usage: $dashless $USAGE"
-msgstr ""
-
-#: git-sh-setup.sh:182
-#, sh-format
-msgid "Cannot chdir to $cdup, the toplevel of the working tree"
-msgstr ""
-
-#: git-sh-setup.sh:191 git-sh-setup.sh:198
-#, sh-format
-msgid "fatal: $program_name cannot be used without a working tree."
-msgstr ""
-
-#: git-sh-setup.sh:212
-msgid "Cannot rewrite branches: You have unstaged changes."
-msgstr ""
-
-#: git-sh-setup.sh:215
-#, sh-format
-msgid "Cannot $action: You have unstaged changes."
-msgstr ""
-
-#: git-sh-setup.sh:226
-#, sh-format
-msgid "Cannot $action: Your index contains uncommitted changes."
-msgstr ""
-
-#: git-sh-setup.sh:228
-msgid "Additionally, your index contains uncommitted changes."
-msgstr ""
-
-#: git-sh-setup.sh:348
-msgid "You need to run this command from the toplevel of the working tree."
-msgstr ""
-
-#: git-sh-setup.sh:353
-msgid "Unable to determine absolute path of git directory"
-msgstr ""
-
-#. TRANSLATORS: you can adjust this to align "git add -i" status menu
-#: git-add--interactive.perl:212
-#, perl-format
-msgid "%12s %12s %s"
-msgstr ""
-
-#: git-add--interactive.perl:632
-#, perl-format
-msgid "touched %d path\n"
-msgid_plural "touched %d paths\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: git-add--interactive.perl:1056
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for staging."
-msgstr ""
-
-#: git-add--interactive.perl:1059
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for stashing."
-msgstr ""
-
-#: git-add--interactive.perl:1062
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for unstaging."
-msgstr ""
-
-#: git-add--interactive.perl:1065 git-add--interactive.perl:1074
-#: git-add--interactive.perl:1080
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for applying."
-msgstr ""
-
-#: git-add--interactive.perl:1068 git-add--interactive.perl:1071
-#: git-add--interactive.perl:1077
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for discarding."
-msgstr ""
-
-#: git-add--interactive.perl:1114
-#, perl-format
-msgid "failed to open hunk edit file for writing: %s"
-msgstr ""
-
-#: git-add--interactive.perl:1121
-#, perl-format
-msgid ""
-"---\n"
-"To remove '%s' lines, make them ' ' lines (context).\n"
-"To remove '%s' lines, delete them.\n"
-"Lines starting with %s will be removed.\n"
-msgstr ""
-
-#: git-add--interactive.perl:1143
-#, perl-format
-msgid "failed to open hunk edit file for reading: %s"
-msgstr ""
-
-#: git-add--interactive.perl:1253
-msgid ""
-"y - stage this hunk\n"
-"n - do not stage this hunk\n"
-"q - quit; do not stage this hunk or any of the remaining ones\n"
-"a - stage this hunk and all later hunks in the file\n"
-"d - do not stage this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1259
-msgid ""
-"y - stash this hunk\n"
-"n - do not stash this hunk\n"
-"q - quit; do not stash this hunk or any of the remaining ones\n"
-"a - stash this hunk and all later hunks in the file\n"
-"d - do not stash this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1265
-msgid ""
-"y - unstage this hunk\n"
-"n - do not unstage this hunk\n"
-"q - quit; do not unstage this hunk or any of the remaining ones\n"
-"a - unstage this hunk and all later hunks in the file\n"
-"d - do not unstage this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1271
-msgid ""
-"y - apply this hunk to index\n"
-"n - do not apply this hunk to index\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1277 git-add--interactive.perl:1295
-msgid ""
-"y - discard this hunk from worktree\n"
-"n - do not discard this hunk from worktree\n"
-"q - quit; do not discard this hunk or any of the remaining ones\n"
-"a - discard this hunk and all later hunks in the file\n"
-"d - do not discard this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1283
-msgid ""
-"y - discard this hunk from index and worktree\n"
-"n - do not discard this hunk from index and worktree\n"
-"q - quit; do not discard this hunk or any of the remaining ones\n"
-"a - discard this hunk and all later hunks in the file\n"
-"d - do not discard this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1289
-msgid ""
-"y - apply this hunk to index and worktree\n"
-"n - do not apply this hunk to index and worktree\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1301
-msgid ""
-"y - apply this hunk to worktree\n"
-"n - do not apply this hunk to worktree\n"
-"q - quit; do not apply this hunk or any of the remaining ones\n"
-"a - apply this hunk and all later hunks in the file\n"
-"d - do not apply this hunk or any of the later hunks in the file"
-msgstr ""
-
-#: git-add--interactive.perl:1316
-msgid ""
-"g - select a hunk to go to\n"
-"/ - search for a hunk matching the given regex\n"
-"j - leave this hunk undecided, see next undecided hunk\n"
-"J - leave this hunk undecided, see next hunk\n"
-"k - leave this hunk undecided, see previous undecided hunk\n"
-"K - leave this hunk undecided, see previous hunk\n"
-"s - split the current hunk into smaller hunks\n"
-"e - manually edit the current hunk\n"
-"? - print help\n"
-msgstr ""
-
-#: git-add--interactive.perl:1347
-msgid "The selected hunks do not apply to the index!\n"
-msgstr ""
-
-#: git-add--interactive.perl:1362
-#, perl-format
-msgid "ignoring unmerged: %s\n"
-msgstr ""
-
-#: git-add--interactive.perl:1481
-#, perl-format
-msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: git-add--interactive.perl:1482
-#, perl-format
-msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: git-add--interactive.perl:1483
-#, perl-format
-msgid "Apply addition to worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: git-add--interactive.perl:1484
-#, perl-format
-msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-
-#: git-add--interactive.perl:1601
-msgid "No other hunks to goto\n"
-msgstr ""
-
-#: git-add--interactive.perl:1619
-#, perl-format
-msgid "Invalid number: '%s'\n"
-msgstr ""
-
-#: git-add--interactive.perl:1624
-#, perl-format
-msgid "Sorry, only %d hunk available.\n"
-msgid_plural "Sorry, only %d hunks available.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: git-add--interactive.perl:1659
-msgid "No other hunks to search\n"
-msgstr ""
-
-#: git-add--interactive.perl:1676
-#, perl-format
-msgid "Malformed search regexp %s: %s\n"
-msgstr ""
-
-#: git-add--interactive.perl:1686
-msgid "No hunk matches the given pattern\n"
-msgstr ""
-
-#: git-add--interactive.perl:1698 git-add--interactive.perl:1720
-msgid "No previous hunk\n"
-msgstr ""
-
-#: git-add--interactive.perl:1707 git-add--interactive.perl:1726
-msgid "No next hunk\n"
-msgstr ""
-
-#: git-add--interactive.perl:1732
-msgid "Sorry, cannot split this hunk\n"
-msgstr ""
-
-#: git-add--interactive.perl:1738
-#, perl-format
-msgid "Split into %d hunk.\n"
-msgid_plural "Split into %d hunks.\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: git-add--interactive.perl:1748
-msgid "Sorry, cannot edit this hunk\n"
-msgstr ""
-
-#. TRANSLATORS: please do not translate the command names
-#. 'status', 'update', 'revert', etc.
-#: git-add--interactive.perl:1813
-msgid ""
-"status        - show paths with changes\n"
-"update        - add working tree state to the staged set of changes\n"
-"revert        - revert staged set of changes back to the HEAD version\n"
-"patch         - pick hunks and update selectively\n"
-"diff          - view diff between HEAD and index\n"
-"add untracked - add contents of untracked files to the staged set of "
-"changes\n"
-msgstr ""
-
-#: git-add--interactive.perl:1830 git-add--interactive.perl:1842
-#: git-add--interactive.perl:1845 git-add--interactive.perl:1852
-#: git-add--interactive.perl:1855 git-add--interactive.perl:1862
-#: git-add--interactive.perl:1866 git-add--interactive.perl:1872
-msgid "missing --"
-msgstr ""
-
-#: git-add--interactive.perl:1868
-#, perl-format
-msgid "unknown --patch mode: %s"
-msgstr ""
-
-#: git-add--interactive.perl:1874 git-add--interactive.perl:1880
-#, perl-format
-msgid "invalid argument %s, expecting --"
-msgstr ""
-
-#: git-send-email.perl:159
-msgid "local zone differs from GMT by a non-minute interval\n"
-msgstr ""
-
-#: git-send-email.perl:166 git-send-email.perl:172
-msgid "local time offset greater than or equal to 24 hours\n"
-msgstr ""
-
-#: git-send-email.perl:244
-#, perl-format
-msgid "fatal: command '%s' died with exit code %d"
-msgstr ""
-
-#: git-send-email.perl:257
-msgid "the editor exited uncleanly, aborting everything"
-msgstr ""
-
-#: git-send-email.perl:346
-#, perl-format
-msgid ""
-"'%s' contains an intermediate version of the email you were composing.\n"
-msgstr ""
-
-#: git-send-email.perl:351
-#, perl-format
-msgid "'%s.final' contains the composed email.\n"
-msgstr ""
-
-#: git-send-email.perl:484
-msgid "--dump-aliases incompatible with other options\n"
-msgstr ""
-
-#: git-send-email.perl:561
-msgid ""
-"fatal: found configuration options for 'sendmail'\n"
-"git-send-email is configured with the sendemail.* options - note the 'e'.\n"
-"Set sendemail.forbidSendmailVariables to false to disable this check.\n"
-msgstr ""
-
-#: git-send-email.perl:566 git-send-email.perl:782
-msgid "Cannot run git format-patch from outside a repository\n"
-msgstr ""
-
-#: git-send-email.perl:569
-msgid ""
-"`batch-size` and `relogin` must be specified together (via command-line or "
-"configuration option)\n"
-msgstr ""
-
-#: git-send-email.perl:582
-#, perl-format
-msgid "Unknown --suppress-cc field: '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:613
-#, perl-format
-msgid "Unknown --confirm setting: '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:653
-#, perl-format
-msgid "warning: sendmail alias with quotes is not supported: %s\n"
-msgstr ""
-
-#: git-send-email.perl:655
-#, perl-format
-msgid "warning: `:include:` not supported: %s\n"
-msgstr ""
-
-#: git-send-email.perl:657
-#, perl-format
-msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
-msgstr ""
-
-#: git-send-email.perl:662
-#, perl-format
-msgid "warning: sendmail line is not recognized: %s\n"
-msgstr ""
-
-#: git-send-email.perl:747
-#, perl-format
-msgid ""
-"File '%s' exists but it could also be the range of commits\n"
-"to produce patches for.  Please disambiguate by...\n"
-"\n"
-"    * Saying \"./%s\" if you mean a file; or\n"
-"    * Giving --format-patch option if you mean a range.\n"
-msgstr ""
-
-#: git-send-email.perl:768
-#, perl-format
-msgid "Failed to opendir %s: %s"
-msgstr ""
-
-#: git-send-email.perl:803
-msgid ""
-"\n"
-"No patch files specified!\n"
-"\n"
-msgstr ""
-
-#: git-send-email.perl:816
-#, perl-format
-msgid "No subject line in %s?"
-msgstr ""
-
-#: git-send-email.perl:827
-#, perl-format
-msgid "Failed to open for writing %s: %s"
-msgstr ""
-
-#: git-send-email.perl:838
-msgid ""
-"Lines beginning in \"GIT:\" will be removed.\n"
-"Consider including an overall diffstat or table of contents\n"
-"for the patch you are writing.\n"
-"\n"
-"Clear the body content if you don't wish to send a summary.\n"
-msgstr ""
-
-#: git-send-email.perl:862
-#, perl-format
-msgid "Failed to open %s: %s"
-msgstr ""
-
-#: git-send-email.perl:879
-#, perl-format
-msgid "Failed to open %s.final: %s"
-msgstr ""
-
-#: git-send-email.perl:922
-msgid "Summary email is empty, skipping it\n"
-msgstr ""
-
-#. TRANSLATORS: please keep [y/N] as is.
-#: git-send-email.perl:971
-#, perl-format
-msgid "Are you sure you want to use <%s> [y/N]? "
-msgstr ""
-
-#: git-send-email.perl:1026
-msgid ""
-"The following files are 8bit, but do not declare a Content-Transfer-"
-"Encoding.\n"
-msgstr ""
-
-#: git-send-email.perl:1031
-msgid "Which 8bit encoding should I declare [UTF-8]? "
-msgstr ""
-
-#: git-send-email.perl:1039
-#, perl-format
-msgid ""
-"Refusing to send because the patch\n"
-"\t%s\n"
-"has the template subject '*** SUBJECT HERE ***'. Pass --force if you really "
-"want to send.\n"
-msgstr ""
-
-#: git-send-email.perl:1058
-msgid "To whom should the emails be sent (if anyone)?"
-msgstr ""
-
-#: git-send-email.perl:1076
-#, perl-format
-msgid "fatal: alias '%s' expands to itself\n"
-msgstr ""
-
-#: git-send-email.perl:1088
-msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
-msgstr ""
-
-#: git-send-email.perl:1150 git-send-email.perl:1158
-#, perl-format
-msgid "error: unable to extract a valid address from: %s\n"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [q] [d] [e] in your
-#. translation. The program will only accept English input
-#. at this point.
-#: git-send-email.perl:1162
-msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
-msgstr ""
-
-#: git-send-email.perl:1482
-#, perl-format
-msgid "CA path \"%s\" does not exist"
-msgstr ""
-
-#: git-send-email.perl:1565
-msgid ""
-"    The Cc list above has been expanded by additional\n"
-"    addresses found in the patch commit message. By default\n"
-"    send-email prompts before sending whenever this occurs.\n"
-"    This behavior is controlled by the sendemail.confirm\n"
-"    configuration setting.\n"
-"\n"
-"    For additional information, run 'git send-email --help'.\n"
-"    To retain the current behavior, but squelch this message,\n"
-"    run 'git config --global sendemail.confirm auto'.\n"
-"\n"
-msgstr ""
-
-#. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your
-#. translation. The program will only accept English input
-#. at this point.
-#: git-send-email.perl:1580
-msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
-msgstr ""
-
-#: git-send-email.perl:1583
-msgid "Send this email reply required"
-msgstr ""
-
-#: git-send-email.perl:1617
-msgid "The required SMTP server is not properly defined."
-msgstr ""
-
-#: git-send-email.perl:1664
-#, perl-format
-msgid "Server does not support STARTTLS! %s"
-msgstr ""
-
-#: git-send-email.perl:1669 git-send-email.perl:1673
-#, perl-format
-msgid "STARTTLS failed! %s"
-msgstr ""
-
-#: git-send-email.perl:1682
-msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
-msgstr ""
-
-#: git-send-email.perl:1700
-#, perl-format
-msgid "Failed to send %s\n"
-msgstr ""
-
-#: git-send-email.perl:1703
-#, perl-format
-msgid "Dry-Sent %s\n"
-msgstr ""
-
-#: git-send-email.perl:1703
-#, perl-format
-msgid "Sent %s\n"
-msgstr ""
-
-#: git-send-email.perl:1705
-msgid "Dry-OK. Log says:\n"
-msgstr ""
-
-#: git-send-email.perl:1705
-msgid "OK. Log says:\n"
-msgstr ""
-
-#: git-send-email.perl:1724
-msgid "Result: "
-msgstr ""
-
-#: git-send-email.perl:1727
-msgid "Result: OK\n"
-msgstr ""
-
-#: git-send-email.perl:1744
-#, perl-format
-msgid "can't open file %s"
-msgstr ""
-
-#: git-send-email.perl:1792 git-send-email.perl:1812
-#, perl-format
-msgid "(mbox) Adding cc: %s from line '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:1798
-#, perl-format
-msgid "(mbox) Adding to: %s from line '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:1855
-#, perl-format
-msgid "(non-mbox) Adding cc: %s from line '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:1890
-#, perl-format
-msgid "(body) Adding cc: %s from line '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:2009
-#, perl-format
-msgid "(%s) Could not execute '%s'"
-msgstr ""
-
-#: git-send-email.perl:2016
-#, perl-format
-msgid "(%s) Adding %s: %s from: '%s'\n"
-msgstr ""
-
-#: git-send-email.perl:2020
-#, perl-format
-msgid "(%s) failed to close pipe to '%s'"
-msgstr ""
-
-#: git-send-email.perl:2050
-msgid "cannot send message as 7bit"
-msgstr ""
-
-#: git-send-email.perl:2058
-msgid "invalid transfer encoding"
-msgstr ""
-
-#: git-send-email.perl:2100
-#, perl-format
-msgid ""
-"fatal: %s: rejected by %s hook\n"
-"%s\n"
-"warning: no patches were sent\n"
-msgstr ""
-
-#: git-send-email.perl:2110 git-send-email.perl:2163 git-send-email.perl:2173
-#, perl-format
-msgid "unable to open %s: %s\n"
-msgstr ""
-
-#: git-send-email.perl:2113
-#, perl-format
-msgid ""
-"fatal: %s:%d is longer than 998 characters\n"
-"warning: no patches were sent\n"
-msgstr ""
-
-#: git-send-email.perl:2131
-#, perl-format
-msgid "Skipping %s with backup suffix '%s'.\n"
-msgstr ""
-
-#. TRANSLATORS: please keep "[y|N]" as is.
-#: git-send-email.perl:2135
-#, perl-format
-msgid "Do you really want to send %s? [y|N]: "
-msgstr ""
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v4 6/9] po/git.pot: don't check in result of "make pot"
  2022-05-23  1:25   ` [PATCH v3 " Jiang Xin
                       ` (6 preceding siblings ...)
  2022-05-23 15:21     ` [PATCH v4 5/9] po/git.pot: this is now a generated file Jiang Xin
@ 2022-05-23 15:21     ` Jiang Xin
  2022-05-23 15:21     ` [PATCH v4 7/9] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
                       ` (2 subsequent siblings)
  10 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23 15:21 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin, Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Remove the "po/git.pot" file from being tracked, which started with
dce37b66fb0 (l10n: initial git.pot for 1.7.10 upcoming release,
2012-02-13).

The reason the po/git.pot started being checked in was because the
po/*.po files were changed a schema where we'd generate them from a
known-good snapshot of po/git.pot, instead of each translator running
"make pot" themselves.

This makes sense, but we don't need to carry this file in-tree just to
achieve that aim, and doing so has resulted in a significant amount of
"diff churn" since this method of doing it was introduced:

    $ git log -p --oneline -- po/git.pot|wc -l
    553743

We can instead let l10n contributors to generate "po/git.pot" in runtime
to update their own "po/XX.po", and the l10n coordinator can check
pull requests using CI pipeline.

This reverts to the schema introduced initially in cd5513a7168 (i18n:
Makefile: "pot" target to extract messages marked for translation,
2011-02-22).

The actual "git rm" of po/git.pot was in preceding commit to make this
change easier to review, and to preempt the mailing list from blocking
it due to it being too large.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Makefile      | 5 +++--
 po/.gitignore | 1 +
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 70d5f41c3f..161ebf4ff3 100644
--- a/Makefile
+++ b/Makefile
@@ -2788,8 +2788,8 @@ endef
 	$(call mkdir_p_parent_template)
 	$(QUIET_GEN)$(gen_pot_header)
 
-po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO) FORCE
-	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $(filter-out FORCE,$^) >$@
+po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
+	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
 
 .PHONY: pot
 pot: po/git.pot
@@ -3332,6 +3332,7 @@ cocciclean:
 
 clean: profile-clean coverage-clean cocciclean
 	$(RM) -r .build
+	$(RM) po/git.pot
 	$(RM) *.res
 	$(RM) $(OBJECTS)
 	$(RM) $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(REFTABLE_TEST_LIB)
diff --git a/po/.gitignore b/po/.gitignore
index 796b96d1c4..37d1301b32 100644
--- a/po/.gitignore
+++ b/po/.gitignore
@@ -1 +1,2 @@
 /build
+/git.pot
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v4 7/9] Makefile: add "po-update" rule to update po/XX.po
  2022-05-23  1:25   ` [PATCH v3 " Jiang Xin
                       ` (7 preceding siblings ...)
  2022-05-23 15:21     ` [PATCH v4 6/9] po/git.pot: don't check in result of "make pot" Jiang Xin
@ 2022-05-23 15:21     ` Jiang Xin
  2022-05-23 15:21     ` [PATCH v4 8/9] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
  2022-05-23 15:21     ` [PATCH v4 9/9] l10n: Document the new l10n workflow Jiang Xin
  10 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23 15:21 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

Since there is no longer a "po/git.pot" file in tree, a l10n team leader
has to run several commands to update their "po/XX.po" file:

    $ make pot
    $ msgmerge --add-location --backup=off -U po/XX.po po/git.pot

To make this process easier, add a new rule so that l10n team leaders
can update their "po/XX.po" with one command. E.g.:

    $ make po-update PO_FILE=po/zh_CN.po

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Makefile   | 18 ++++++++++++++++++
 shared.mak |  1 +
 2 files changed, 19 insertions(+)

diff --git a/Makefile b/Makefile
index 161ebf4ff3..34a64c5fa7 100644
--- a/Makefile
+++ b/Makefile
@@ -571,6 +571,7 @@ TCLTK_PATH = wish
 XGETTEXT = xgettext
 MSGCAT = msgcat
 MSGFMT = msgfmt
+MSGMERGE = msgmerge
 CURL_CONFIG = curl-config
 GCOV = gcov
 STRIP = strip
@@ -2716,6 +2717,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
 XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
 MSGCAT_FLAGS = --sort-by-file
+MSGMERGE_FLAGS = --add-location --backup=off --update
 LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
 	      $(GENERATED_H)
 LOCALIZED_SH = $(SCRIPT_SH)
@@ -2794,6 +2796,22 @@ po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
 .PHONY: pot
 pot: po/git.pot
 
+define check_po_file_envvar
+	$(if $(PO_FILE), \
+		$(if $(filter po/%.po,$(PO_FILE)), , \
+			$(error PO_FILE should match pattern: "po/%.po")), \
+		$(error PO_FILE is not defined))
+endef
+
+.PHONY: po-update
+po-update: po/git.pot
+	$(check_po_file_envvar)
+	@if test ! -e $(PO_FILE); then \
+		echo >&2 "error: $(PO_FILE) does not exist"; \
+		exit 1; \
+	fi
+	$(QUIET_MSGMERGE)$(MSGMERGE) $(MSGMERGE_FLAGS) $(PO_FILE) po/git.pot
+
 .PHONY: check-pot
 check-pot: $(LOCALIZED_ALL_GEN_PO)
 
diff --git a/shared.mak b/shared.mak
index 50d4596f0d..8cd170a7e7 100644
--- a/shared.mak
+++ b/shared.mak
@@ -63,6 +63,7 @@ ifndef V
 	QUIET_LNCP     = @echo '   ' LN/CP $@;
 	QUIET_XGETTEXT = @echo '   ' XGETTEXT $@;
 	QUIET_MSGFMT   = @echo '   ' MSGFMT $@;
+	QUIET_MSGMERGE = @echo '   ' MSGMERGE $@;
 	QUIET_GCOV     = @echo '   ' GCOV $@;
 	QUIET_SP       = @echo '   ' SP $<;
 	QUIET_HDR      = @echo '   ' HDR $(<:hcc=h);
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v4 8/9] Makefile: add "po-init" rule to initialize po/XX.po
  2022-05-23  1:25   ` [PATCH v3 " Jiang Xin
                       ` (8 preceding siblings ...)
  2022-05-23 15:21     ` [PATCH v4 7/9] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
@ 2022-05-23 15:21     ` Jiang Xin
  2022-05-23 15:21     ` [PATCH v4 9/9] l10n: Document the new l10n workflow Jiang Xin
  10 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23 15:21 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

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 rule
"core-pot" to create this core translation message "po/git-core.pot":

    make 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>
---
 Makefile      | 43 ++++++++++++++++++++++++++++++++++++++++++-
 po/.gitignore |  1 +
 shared.mak    |  1 +
 3 files changed, 44 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 34a64c5fa7..a3f8446de9 100644
--- a/Makefile
+++ b/Makefile
@@ -2808,6 +2808,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
@@ -2815,6 +2816,46 @@ 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)
+
+.PHONY: core-pot
+core-pot: po/git-core.pot
+
+.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) $(MSGCAT_FLAGS) $^ >$@
+
+.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 :=
@@ -3350,7 +3391,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)
diff --git a/po/.gitignore b/po/.gitignore
index 37d1301b32..ff0e5176a6 100644
--- a/po/.gitignore
+++ b/po/.gitignore
@@ -1,2 +1,3 @@
 /build
 /git.pot
+/git-core.pot
diff --git a/shared.mak b/shared.mak
index 8cd170a7e7..4330192e9c 100644
--- a/shared.mak
+++ b/shared.mak
@@ -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 $@;
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v4 9/9] l10n: Document the new l10n workflow
  2022-05-23  1:25   ` [PATCH v3 " Jiang Xin
                       ` (9 preceding siblings ...)
  2022-05-23 15:21     ` [PATCH v4 8/9] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
@ 2022-05-23 15:21     ` Jiang Xin
  10 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23 15:21 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin, Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Change the "flow" of how translators interact with the l10n repository
at [1] to adjust it for a new workflow of not having a po/git.pot file
in-tree at all, and to not commit line numbers to the po/*.po files
that we do track in tree.

The current workflow was added in a combination of dce37b66fb0 (l10n:
initial git.pot for 1.7.10 upcoming release, 2012-02-13) and
271ce198cd0 (Update l10n guide, 2012-02-29).

As noted in preceding commits I think that it came about due to
technical debt I'd left behind in how the "po/git.pot" file was
created, and a mis-impression that the file:line comments were needed
as anything more than a transitory translation aid.

As the updated po/README.md shows the new workflow is substantially
the same, the difference is that translators no longer need to
initially pull from the l10n coordinator for a new po/git.pot, they
can simply use git.git's canonical source repository.

The l10n coordinator is still expected to announce a release to
translate, which presumably would always be Junio's latest release
tag. I'm not certain if this part of the process is actually
important. I.e. the delta translation-wise between that tag and
"master" is usually pretty small, so perhaps translators can just work
on "master" instead.

1. https://github.com/git-l10n/git-po/

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 po/README.md | 230 ++++++++++++++++++++++++++-------------------------
 1 file changed, 117 insertions(+), 113 deletions(-)

diff --git a/po/README.md b/po/README.md
index 19fabb4acf..74856ca5bf 100644
--- a/po/README.md
+++ b/po/README.md
@@ -9,8 +9,14 @@ coordinates our localization effort in the l10 coordinator repository:
 
     https://github.com/git-l10n/git-po/
 
-The two character language translation codes are defined by ISO\_639-1, as
-stated in the gettext(1) full manual, appendix A.1, Usual Language Codes.
+We will use XX as an alias to refer to the language translation code in
+the following paragraphs, for example we use "po/XX.po" to refer to the
+translation file for a specific language. But this doesn't mean that
+the language code has only two letters. The language code can be in one
+of two forms: "ll" or "ll\_CC". Here "ll" is the ISO 639 two-letter
+language code and "CC" is the ISO 3166 two-letter code for country names
+and subdivisions. For example: "de" for German language code, "zh\_CN"
+for Simplified Chinese language code.
 
 
 ## Contributing to an existing translation
@@ -39,72 +45,74 @@ language, so that the l10n coordinator only needs to interact with one
 person per language.
 
 
-## Core translation
+## Translation Process Flow
 
-The core translation is the smallest set of work that must be completed
-for a new language translation. Because there are more than 5000 messages
-in the template message file "po/git.pot" that need to be translated,
-this is not a piece of cake for the contributor for a new language.
+The overall data-flow looks like this:
 
-The core template message file which contains a small set of messages
-will be generated in "po-core/core.pot" automatically by running a helper
-program named "git-po-helper" (described later).
+    +-------------------+             +------------------+
+    | Git source code   | ----(2)---> | L10n coordinator |
+    | repository        | <---(5)---- | repository       |
+    +-------------------+             +------------------+
+                    |                     |    ^
+                   (1)                   (3)  (4)
+                    V                     v    |
+               +----------------------------------+
+               |        Language Team XX          |
+               +----------------------------------+
 
-```shell
-git-po-helper init --core XX.po
-```
+- Translatable strings are marked in the source file.
+- Language teams can start translation iterations at any time, even
+  before the l10n window opens:
 
-After translating the generated "po-core/XX.po", you can merge it to
-"po/XX.po" using the following commands:
+  + Pull from the master branch of the source (1)
+  + Update the message file by running "make po-update PO\_FILE=po/XX.po"
+  + Translate the message file "po/XX.po"
 
-```shell
-msgcat po-core/XX.po po/XX.po -s -o /tmp/XX.po
-mv /tmp/XX.po po/XX.po
-git-po-helper update XX.po
-```
+- The L10n coordinator pulls from source and announces the l10n window
+  open (2)
+- Language team pulls from the l10n coordinator, starts another
+  translation iteration against the l10n coordinator's tree (3)
 
-Edit "po/XX.po" by hand to fix "fuzzy" messages, which may have misplaced
-translated messages and duplicate messages.
+  + Run "git pull --rebase" from the l10n coordinator
+  + Update the message file by running "make po-update PO\_FILE=po/XX.po"
+  + Translate the message file "po/XX.po"
+  + Squash trivial l10n git commits using "git rebase -i"
 
+- Language team sends pull request to the l10n coordinator (4)
+- L10n coordinator checks and merges
+- L10n coordinator asks the result to be pulled (5).
 
-## Translation Process Flow
 
-The overall data-flow looks like this:
+## Dynamically generated POT files
 
-    +-------------------+            +------------------+
-    | Git source code   | ---(1)---> | L10n coordinator |
-    | repository        | <---(4)--- | repository       |
-    +-------------------+            +------------------+
-                                          |      ^
-                                         (2)    (3)
-                                          V      |
-                                     +------------------+
-                                     | Language Team XX |
-                                     +------------------+
+POT files are templates for l10n contributors to create or update their
+translation files. We used to have the "po/git.pot" file which was
+generated by the l10n coordinator, but this file had been removed from
+the tree.
 
-- Translatable strings are marked in the source file.
-- L10n coordinator pulls from the source (1)
-- L10n coordinator updates the message template "po/git.pot"
-- Language team pulls from L10n coordinator (2)
-- Language team updates the message file "po/XX.po"
-- L10n coordinator pulls from Language team (3)
-- L10n coordinator asks the result to be pulled (4).
+The two POT files "po/git.pot" and "po/git-core.pot" can be created
+dynamically when necessary.
 
+L10n contributors use "po/git.pot" to prepare translations for their
+languages, but they are not expected to modify it. The "po/git.pot" file
+can be generated manually with the following command:
 
-## Maintaining the "po/git.pot" file
+```shell
+make po/git.pot
+```
 
-(This is done by the l10n coordinator).
+The "po/git-core.pot" file is the template for core translations. A core
+translation is the minimum set of work necessary to complete a
+translation of a new language. Since there are more than 5000 messages
+in the full set of template message file "po/git.pot" that need to be
+translated, this is not a piece of cake for new language contributors.
 
-The "po/git.pot" file contains a message catalog extracted from Git's
-sources. The l10n coordinator maintains it by adding new translations with
-msginit(1), or update existing ones with msgmerge(1).  In order to update
-the Git sources to extract the messages from, the l10n coordinator is
-expected to pull from the main git repository at strategic point in
-history (e.g. when a major release and release candidates are tagged),
-and then run "make pot" at the top-level directory.
+The "core" template file "po/git-core.pot" can be generated manually
+by running:
 
-Language contributors use this file to prepare translations for their
-language, but they are not expected to modify it.
+```shell
+make po/git-core.pot
+```
 
 
 ## Initializing a "XX.po" file
@@ -115,32 +123,14 @@ If your language XX does not have translated message file "po/XX.po" yet,
 you add a translation for the first time by running:
 
 ```shell
-msginit --locale=XX
+make po-init PO_FILE=po/XX.po
 ```
 
-in the "po/" directory, where XX is the locale, e.g. "de", "is", "pt\_BR",
-"zh\_CN", etc.
-
-Then edit the automatically generated copyright info in your new "XX.po"
-to be correct, e.g. for Icelandic:
-
-```diff
-@@ -1,6 +1,6 @@
--# Icelandic translations for PACKAGE package.
--# Copyright (C) 2010 THE PACKAGE'S COPYRIGHT HOLDER
--# This file is distributed under the same license as the PACKAGE package.
-+# Icelandic translations for Git.
-+# Copyright (C) 2010 Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-+# This file is distributed under the same license as the Git package.
- # Ævar Arnfjörð Bjarmason <avarab@gmail.com>, 2010.
-```
-
-And change references to PACKAGE VERSION in the PO Header Entry to
-just "Git":
+where XX is the locale, e.g. "de", "is", "pt\_BR", "zh\_CN", etc.
 
-```shell
-perl -pi -e 's/(?<="Project-Id-Version: )PACKAGE VERSION/Git/' XX.po
-```
+The newly generated message file "po/XX.po" is based on the core pot
+file "po/git-core.pot", so it contains only a minimal set of messages
+and it's a good start for a new language contribution.
 
 Once you are done testing the translation (see below), commit the result
 and ask the l10n coordinator to pull from you.
@@ -153,19 +143,53 @@ and ask the l10n coordinator to pull from you.
 If you are replacing translation strings in an existing "XX.po" file to
 improve the translation, just edit the file.
 
-If there's an existing "XX.po" file for your language, but the repository
-of the l10n coordinator has newer "po/git.pot" file, you would need to first
-pull from the l10n coordinator (see the beginning of this document for its
-URL), and then update the existing translation by running:
+If you want to find new translatable strings in source files of upstream
+repository and propagate them to your "po/XX.po", run command:
 
 ```shell
-msgmerge --add-location --backup=off -U XX.po git.pot
+make po-update PO_FILE=po/XX.po
 ```
 
-in the "po/" directory, where "XX.po" is the file you want to update.
+It will:
 
-Once you are done testing the translation (see below), commit the result
-and ask the l10n coordinator to pull from you.
+- Call "make po/git.pot" to generate new "po/git.pot" file
+- Call "msgmerge --add-location --backup=off -U po/XX.po po/git.pot"
+  to update your "po/XX.po"
+- The "--add-location" option for msgmerge will add location lines,
+  and these location lines will help translation tools to locate
+  translation context easily.
+
+Once you are done testing the translation (see below), it's better
+to commit a location-less "po/XX.po" file to save repository space
+and make a user-friendly patch for review.
+
+To save a location-less "po/XX.po" automatically in repository, you
+can:
+
+First define a new attribute for "po/XX.po" by appending the following
+line in ".git/info/attributes":
+
+```
+/po/XX.po filter=gettext-no-location
+```
+
+Then define the driver for the "gettext-no-location" clean filter to
+strip out both filenames and locations from the contents as follows:
+
+```shell
+git config --global filter.gettext-no-location.clean \
+           "msgcat --no-location -"
+```
+
+For users who have gettext version 0.20 or higher, it is also possible
+to define a clean filter to preserve filenames but not locations:
+
+```shell
+git config --global filter.gettext-no-location.clean \
+           "msgcat --add-location=file -"
+```
+
+You're now ready to ask the l10n coordinator to pull from you.
 
 
 ## Fuzzy translation
@@ -196,6 +220,14 @@ common errors, e.g. missing printf format strings, or translated
 messages that deviate from the originals in whether they begin/end
 with a newline or not.
 
+L10n coordinator will check your contributions using a helper program
+(see "PO helper" section below):
+
+```shell
+git-po-helper check-po po/XX.po
+git-po-helper check-commits <rev-list-opts>
+```
+
 
 ## Marking strings for translation
 
@@ -370,29 +402,6 @@ l10n workflow.
 To build and install the helper program from source, see
 [git-po-helper/README][].
 
-Usage for git-po-helper:
-
-- To start a new language translation:
-
-  ```shell
-  git-po-helper init XX.po
-  ```
-
-- To update your "XX.po" file:
-
-  ```shell
-  git-po-helper update XX.po
-  ```
-
-- To check commit log and syntax of "XX.po":
-
-  ```shell
-  git-po-helper check-po XX.po
-  git-po-helper check-commits
-  ```
-
-Run "git-po-helper" without arguments to show usage.
-
 
 ## Conventions
 
@@ -436,13 +445,8 @@ additional conventions:
 - Initialize proper filename of the "XX.po" file conforming to
   iso-639 and iso-3166.
 
-- Must complete a minimal translation based on the "po-core/core.pot"
-  template. Using the following command to initialize the minimal
-  "po-core/XX.po" file:
-
-  ```shell
-  git-po-helper init --core <your-language>
-  ```
+- Must complete a minimal translation based on the "Core
+  translation". See that section above.
 
 - Add a new entry in the "po/TEAMS" file with proper format, and check
   the syntax of "po/TEAMS" by running the following command:
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* Re: [PATCH v3 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-23 14:38           ` Ævar Arnfjörð Bjarmason
@ 2022-05-23 16:13             ` Jiang Xin
  0 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-23 16:13 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: Junio C Hamano, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan

On Mon, May 23, 2022 at 10:56 PM Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
>
>
> On Mon, May 23 2022, Jiang Xin wrote:
>
> > On Mon, May 23, 2022 at 4:19 PM Ævar Arnfjörð Bjarmason
> >>  $(LOCALIZED_SH_GEN_PO): .build/pot/po/%.po: %
> >>         $(call mkdir_p_parent_template)
> >> @@ -2786,11 +2780,24 @@ sed -e 's|charset=CHARSET|charset=UTF-8|' \
> >>  echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
> >>  endef
> >>
> >> -.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
> >> +.build/pot/git.header:
> >
> > No. We should rebuild the pot header if any po file need to be update,
> > because we want to refresh the timestamp in the "POT-Creation-Date:"
> > filed of the pot header.
>
> Okey, I did leave a question about this in an earlier E-Mail though,
> i.e. does anything actually rely on this, or the header at all, or is
> this just cargo-culting?
>
> I haven't found anything in our toolchain that cares about the header at
> all (for the *.pot, not *.po!) let alone the update timestamp.

When creating a new po/XX.po manually using msginit from POT file with
or without a header, the new generated po/XX.po has different header.

  $ msginit -i po/git.pot -o po/XX-with-header.po \
      --locale=ja --no-translator
  $ msginit -i po/git-headless.pot -o po/XX-without-header.po \
      --locale=ja --no-translator
  $ diff po/XX-with-header.po po/XX-without-header.po
  1,5d0
  < # Japanese translations for Git package.
  < # Copyright (C) 2022 THE Git'S COPYRIGHT HOLDER
  < # This file is distributed under the same license as the Git package.
  < # Automatically generated, 2022.
  < #
  8,11c3
  < "Project-Id-Version: Git\n"
  < "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
  < "POT-Creation-Date: 2022-05-23 23:27+0800\n"
  < "PO-Revision-Date: 2022-05-23 23:27+0800\n"
  ---
  > "Project-Id-Version: git 2.36.0.7.g31429651cf.dirty\n"
  16c8
  < "Content-Type: text/plain; charset=UTF-8\n"
  ---
  > "Content-Type: text/plain; charset=ASCII\n"

Should we ignore this change?

>
> >>         $(call mkdir_p_parent_template)
> >>         $(QUIET_GEN)$(gen_pot_header)
> >>
> >> -po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
> >> +# We go through this dance of having a prepared
> >> +# e.g. .build/pot/po/grep.c.po and copying it to
> >> +# .build/pot/to-cat/grep.c only because some IDEs (e.g. VSCode) pick
> >> +# up on the "real" extension for the purposes of auto-completion, even
> >> +# if the .build directiory is in .gitignore.
> >> +LOCALIZED_ALL_GEN_TO_CAT = $(LOCALIZED_ALL_GEN_PO:.build/pot/po/%.po=.build/pot/to-cat/%)
> >> +ifdef AGGRESSIVE_INTERMEDIATE
> >> +.INTERMEDIATE: $(LOCALIZED_ALL_GEN_TO_CAT)
> >> +endif
> >> +$(LOCALIZED_ALL_GEN_TO_CAT): .build/pot/to-cat/%: .build/pot/po/%.po
> >> +       $(call mkdir_p_parent_template)
> >> +       $(QUIET_GEN)cat $< >$@
> >
> > Copy each po file in ".build/pot/po/" to another location
> > ".build/pot/to-cat/", but without the ".po" extension.
> >
> > Let's take "date.c" as an example:
> >
> > 1. Copy "date.c" to an intermediate C source file
> > ".build/pot/po-munged/date.c" and replace PRItime with PRIuMAX in it.
> >
> > 2. Call xgettext to create  ".build/pot/po/date.c.po" from the
> > intermediate C source file ".build/pot/po-munged/date.c".
> >
> > 3. Optionally remove intermediate C source files like
> > ".build/pot/po-munged/date.c". To have two identical C source files in
> > the same worktree is not good, some software may break. So I choose to
> > remove them.
> >
> > 4. Copy the po file (".build/pot/po/date.c.po") created in step 2 to
> > an intermediate fake C source file ".build/pot/to-cat/date.c" which is
> > a file without the ".po" extension. Please note this intermediate fake
> > C source file ".build/pot/to-cat/date.c" is not a valid C file, but a
> > PO file.
> >
> > 5. Call msgcat to create "po/git.pot" from all the intermediate fake C
> > source files including  ".build/pot/to-cat/date.c".
> >
> > 6. Optionally remove all the intermediate fake C source files in
> > ".build/pot/to-cat/". I choose to remove them, because leave lots of
> > invalid C source files in worktree is not good.
> >
> > For example, ".build/pot/po/date.c.po" was created from
> >> +
> >> +po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_TO_CAT)
> >>         $(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
> >
> > 7. "po/git.pot" depends on the intermediate fake C source files. If
> > any single C source file has been changed, will run step 6 to copy all
> > po files in ".build/pot/po" to corresponding fake C source files in
> > ".build/pot/to-cat/", if we choose to remove these intermediate fake C
> > source files.
> >
> > This implementation is too heavy to solve a trivial issue. I think we
> > can push forward this patch series and leave these comments in
> > "po/git.pot":
>
> If you find it too "heavy" & are trying to optimize it for some reason
> then that whole extra special-dance can be made conditional on
> MAKE_AVOID_REAL_EXTENSIONS_IN_GITIGNORED_FILES.
>
> But really, it's 15MB of .build/pot in my local HEAD with this fix-up,
> it's 1.4MB without it, but this whole thing just seems like premature
> optimization. Especially given:
>
>     $ git hyperfine -r 3 -L rev origin/master,HEAD~,HEAD,avar/Makefile-incremental-po-git-pot-rule~,avar/Makefile-incremental-po-git-pot-rule -p 'git clean -dxf; git reset --hard' 'make pot' --warmup 1
>     Benchmark 1: make pot' in 'origin/master
>       Time (mean ± σ):      1.970 s ±  0.014 s    [User: 1.683 s, System: 0.353 s]
>       Range (min … max):    1.955 s …  1.982 s    3 runs
>
>     Benchmark 2: make pot' in 'HEAD~
>       Time (mean ± σ):     931.3 ms ±   4.7 ms    [User: 3358.5 ms, System: 1088.7 ms]
>       Range (min … max):   927.0 ms … 936.3 ms    3 runs
>
>     Benchmark 3: make pot' in 'HEAD
>       Time (mean ± σ):      1.506 s ±  0.389 s    [User: 4.655 s, System: 1.363 s]
>       Range (min … max):    1.257 s …  1.955 s    3 runs
>
>     Benchmark 4: make pot' in 'avar/Makefile-incremental-po-git-pot-rule~
>       Time (mean ± σ):      1.015 s ±  0.002 s    [User: 3.615 s, System: 1.224 s]
>       Range (min … max):    1.013 s …  1.017 s    3 runs
>
>     Benchmark 5: make pot' in 'avar/Makefile-incremental-po-git-pot-rule
>       Time (mean ± σ):      1.014 s ±  0.008 s    [User: 3.540 s, System: 1.068 s]
>       Range (min … max):    1.007 s …  1.023 s    3 runs
>
>     Summary
>       'make pot' in 'HEAD~' ran
>         1.09 ± 0.01 times faster than 'make pot' in 'avar/Makefile-incremental-po-git-pot-rule'
>         1.09 ± 0.01 times faster than 'make pot' in 'avar/Makefile-incremental-po-git-pot-rule~'
>         1.62 ± 0.42 times faster than 'make pot' in 'HEAD'
>         2.12 ± 0.02 times faster than 'make pot' in 'origin/master'
>
> I.e. all of this is much faster than what we have on "master" now. My
> 22434ef36ae (Makefile: avoid "sed" on C files that don't need it,
> 2022-04-08) (avar/Makefile-incremental-po-git-pot-rule) is then just 10%
> slower than the "grep or xgettext", its "~" is the corresponding
> unoptimized.
>
> The HEAD here is with my fix-up, and HEAD~ is your series here.
>
> Anyway, if you really feel strongly about it let's go with your way of
> doing it.
>
> It just sounded like you weren't actually trying top optimize anything,
> but to work around your editor. So if we had a method to do that....

But for users who prefer to delete all the intermediate files in
".build/pot/to-cat" and ".build/pot/po-munged/", then they will get
performance penalty.

> ...except it seems you also care about making it much faster than
> "master" (or care about <20MB of disk space), which to be blunt seems a
> bit crazy to me :) Last I checked "make test" ended up creating ~1GB of
> data (not all at once, but in parallel testing a lot more than 10MB is
> often in play at once).
>
> As this was a pretty obscure target that I only expect CI, you,
> translators & me to run in practice a small difference in the initial
> run didn't seem to matter, especially as it's all an improvement over
> "master".
>
> Anyway, you do whatever you think is best with that :)
>
> >>         $ grep '#-#' po/git.pot
> >>         #. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#
> >>         #. #-#-#-#-#  add-patch.c.po  #-#-#-#-#
> >>         #. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#
> >>         #. #-#-#-#-#  branch.c.po  #-#-#-#-#
> >>         #. #-#-#-#-#  object-name.c.po  #-#-#-#-#
> >>         #. #-#-#-#-#  grep.c.po  #-#-#-#-#
>

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v4 0/9] Incremental po/git.pot update and new l10n workflow
  2022-05-23 15:21     ` [PATCH v4 " Jiang Xin
@ 2022-05-23 18:19       ` Junio C Hamano
  2022-05-26 14:50       ` [PATCH v5 00/10] " Jiang Xin
                         ` (10 subsequent siblings)
  11 siblings, 0 replies; 110+ messages in thread
From: Junio C Hamano @ 2022-05-23 18:19 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Ævar Arnfjörð Bjarmason, Git List, Jiang Xin,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

Jiang Xin <worldhello.net@gmail.com> writes:

> From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
>
> Changes since v3:
>
> 1. Remove Junio's s-o-b introduced in v3.
> 2. Reword patch 1/9, 2/9 and 3/9.
> 3. Patch 6/9: should remove "po/git.pot" in "clean" instead of "distclean".

As 5/9 did not reach the list, just like all the previous rounds
missed, I'd squash an equivalent (i.e. removal of po/git.pot) into
6/9 while queuing.

> 4. Patch 8/9: forget to remove "po/git-core.pot".

Will repace.  Thanks.

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v3 3/9] Makefile: have "make pot" not "reset --hard"
  2022-05-23  7:28     ` Ævar Arnfjörð Bjarmason
  2022-05-23 15:00       ` Jiang Xin
@ 2022-05-24  0:56       ` Jiang Xin
  1 sibling, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-24  0:56 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: Junio C Hamano, Git List, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan, Jiang Xin

On Mon, May 23, 2022 at 4:07 PM Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
>
>
> On Mon, May 23 2022, Jiang Xin wrote:
>
> > From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> >
> > Before commit fc0fd5b23b (Makefile: help gettext tools to cope with our
> > custom PRItime format, 2017-07-20) we'd consider source files as-is
> > with gettext, but because we need to understand PRItime in the same way
> > that gettext itself understands PRIuMAX we'd first check if we had a
> > clean checkout, then munge all of the processed files in-place with
> > "sed", generate "po/git.pot", and then finally "reset --hard" to undo
> > our changes.
> >
> > By generating "pot" snippets in ".build/pot/po" for each source file
> > and rewriting certain source files with PRItime macros to temporary
> > files in ".build/pot/po", we can avoid running "make pot" by altering
> > files in place and doing a "reset --hard" afterwards.
> >
> > This speed of "make pot" is slower than before on an initial run,
> > because we run "xgettext" many times (once per source file), but it
> > can be boosted by parallelization. It is *much* faster for incremental
> > runs, and will allow us to implement related targets in subsequent
> > commits.
> >
> > When the "pot" target was originally added in cd5513a7168 (i18n:
> > Makefile: "pot" target to extract messages marked for translation,
> > 2011-02-22) it behaved like a "normal" target. I.e. we'd skip the
> > re-generation of the po/git.pot if nothing had to be done.
> >
> > Then after po/git.pot was checked in in dce37b66fb0 (l10n: initial
> > git.pot for 1.7.10 upcoming release, 2012-02-13) the target was broken
> > until 1f31963e921 (i18n: treat "make pot" as an explicitly-invoked
> > target, 2014-08-22) when it was made to depend on "FORCE". I.e. the
> > Makefile's dependency resolution inherently can't handle incremental
> > building when the target file may be updated by git (or something else
> > external to "make"). But this case no longer applies, so FORCE is no
> > longer needed.
> >
> > That out of the way, the main logic change here is getting rid of the
> > "reset --hard":
> >
> > We'll generate intermediate ".build/pot/po/%.po" files from "%", which
> > is handy to see at a glance what strings (if any) in a given file are
> > marked for translation:
> >
> >       $ make .build/pot/po/pretty.c.po
> >       [...]
> >       $ cat .build/pot/po/pretty.c.po
> >       #: pretty.c:1051
> >       msgid "unable to parse --pretty format"
> >       msgstr ""
> >       $
> >
> > For these C source files which contain the PRItime macros, we will
> > create temporary munged "*.c" files in a tree in ".build/pot/po"
> > corresponding to our source tree, and have "xgettext" consider those.
> > The rule needs to be careful to "(cd .build/pot/po && ...)", because
> > otherwise the comments in the po/git.pot file wouldn't refer to the
> > correct source locations (they'd be prefixed with ".build/pot/po").
> > These temporary munged "*.c” files will be removed immediately after
> > the corresponding po files are generated, because some development tools
> > cannot ignore the duplicate source files in the ".build" directory
> > according to the ".gitignore" file, and that may cause trouble.
> >
> > The output of the generated po/git.pot file is changed in one minor
> > way: Because we're using msgcat(1) instead of xgettext(1) to
> > concatenate the output we'll now disambiguate where "TRANSLATORS"
> > comments come from, in cases where a message is the same in N files,
> > and either only one has a "TRANSLATORS" comment, or they're
> > different. E.g. for the "Your edited hunk[...]" message we'll now
> > apply this change (comment content elided):
> >
> >       +#. #-#-#-#-#  add-patch.c.po  #-#-#-#-#
> >        #. TRANSLATORS: do not translate [y/n]
> >       [...]
> >       +#. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#
> >        #. TRANSLATORS: do not translate [y/n]
> >       [...]
> >        #: add-patch.c:1253 git-add--interactive.perl:1244
> >        msgid ""
> >        "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
> >        msgstr ""
> >
> > There are six such changes, and they all make the context more
> > understandable, as msgcat(1) is better at handling these edge cases
> > than xgettext(1)'s previously used "--join-existing" flag.
> >
> > But filenames in the above disambiguation lines of extracted-comments
> > have an extra ".po" extension compared to the filenames at the file
> > locations. While we could rename the intermediate ".build/pot/po/%.po"
> > files without the ".po" extension to use more intuitive filenames in
> > the disambiguation lines of extracted-comments, but that will confuse
> > developer tools with lots of invalid C or other source files in
> > ".build/pot/po" directory.
> >
> > The addition of "--omit-header" option for xgettext makes the "pot"
> > snippets in ".build/pot/po/*.po" smaller. But as we'll see in a
> > subsequent commit this header behavior has been hiding an
> > encoding-related bug from us, so let's carry it forward instead of
> > re-generating it with xgettext(1).
> >
> > The "po/git.pot" file should have a header entry, because a proper
> > header entry will increase the speed of creating a new po file using
> > msginit and set a proper "POT-Creation-Date:" field in the header
> > entry of a "po/XX.po" file. We use xgettext to generate a separate
> > header file at ".build/pot/git.header" from "/dev/null", and use this
> > header to assemble "po/git.pot".
> >
> > Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> > Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> > Signed-off-by: Junio C Hamano <gitster@pobox.com>
> > ---
> >  .gitignore |  1 +
> >  Makefile   | 80 ++++++++++++++++++++++++++++++++++++++++--------------
> >  2 files changed, 60 insertions(+), 21 deletions(-)
> >
> > diff --git a/.gitignore b/.gitignore
> > index e81de1063a..a452215764 100644
> > --- a/.gitignore
> > +++ b/.gitignore
> > @@ -200,6 +200,7 @@
> >  *.[aos]
> >  *.o.json
> >  *.py[co]
> > +.build/
> >  .depend/
> >  *.gcda
> >  *.gcno
> > diff --git a/Makefile b/Makefile
> > index 46914dcd80..1962999c18 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -569,6 +569,7 @@ INSTALL = install
> >  TCL_PATH = tclsh
> >  TCLTK_PATH = wish
> >  XGETTEXT = xgettext
> > +MSGCAT = msgcat
> >  MSGFMT = msgfmt
> >  CURL_CONFIG = curl-config
> >  GCOV = gcov
> > @@ -2706,6 +2707,7 @@ XGETTEXT_FLAGS = \
> >       --force-po \
> >       --add-comments=TRANSLATORS: \
> >       --msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
> > +     --package-name=Git \
> >       --sort-by-file \
> >       --from-code=UTF-8
> >  XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
> > @@ -2714,6 +2716,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
> >       --keyword=gettextln --keyword=eval_gettextln
> >  XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
> >       --keyword=__ --keyword=N__ --keyword="__n:1,2"
> > +MSGCAT_FLAGS = --sort-by-file
> >  LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
> >             $(GENERATED_H)
> >  LOCALIZED_SH = $(SCRIPT_SH)
> > @@ -2726,34 +2729,68 @@ LOCALIZED_SH += t/t0200/test.sh
> >  LOCALIZED_PERL += t/t0200/test.perl
> >  endif
> >
> > -## Note that this is meant to be run only by the localization coordinator
> > -## under a very controlled condition, i.e. (1) it is to be run in a
> > -## Git repository (not a tarball extract), (2) any local modifications
> > -## will be lost.
> > +## We generate intermediate .build/pot/po/%.po files containing a
> > +## extract of the translations we find in each file in the source
> > +## tree. We will assemble them using msgcat to create the final
> > +## "po/git.pot" file.
> > +LOCALIZED_ALL_GEN_PO =
> > +
> > +LOCALIZED_C_GEN_PO = $(LOCALIZED_C:%=.build/pot/po/%.po)
> > +LOCALIZED_ALL_GEN_PO += $(LOCALIZED_C_GEN_PO)
> > +
> > +LOCALIZED_SH_GEN_PO = $(LOCALIZED_SH:%=.build/pot/po/%.po)
> > +LOCALIZED_ALL_GEN_PO += $(LOCALIZED_SH_GEN_PO)
> > +
> > +LOCALIZED_PERL_GEN_PO = $(LOCALIZED_PERL:%=.build/pot/po/%.po)
> > +LOCALIZED_ALL_GEN_PO += $(LOCALIZED_PERL_GEN_PO)
> > +
> >  ## Gettext tools cannot work with our own custom PRItime type, so
> >  ## we replace PRItime with PRIuMAX.  We need to update this to
> >  ## PRIdMAX if we switch to a signed type later.
> > +$(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %
> > +     $(call mkdir_p_parent_template)
> > +     $(QUIET_XGETTEXT) \
> > +         if grep -q PRItime $<; then \
> > +             (\
> > +                     sed -e 's|PRItime|PRIuMAX|g' <$< \
> > +                             >.build/pot/po/$< && \
> > +                     cd .build/pot/po && \
> > +                     $(XGETTEXT) --omit-header \
> > +                             -o $(@:.build/pot/po/%=%) \
> > +                             $(XGETTEXT_FLAGS_C) $< && \
> > +                     rm $<; \
> > +             ); \
> > +         else \
> > +             $(XGETTEXT) --omit-header \
> > +                     -o $@ $(XGETTEXT_FLAGS_C) $<; \
> > +         fi
> >
> > -po/git.pot: $(GENERATED_H) FORCE
> > -     # All modifications will be reverted at the end, so we do not
> > -     # want to have any local change.
> > -     git diff --quiet HEAD && git diff --quiet --cached
> > +$(LOCALIZED_SH_GEN_PO): .build/pot/po/%.po: %
> > +     $(call mkdir_p_parent_template)
> > +     $(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
> > +             -o$@ $(XGETTEXT_FLAGS_SH) $<
> >
> > -     @for s in $(LOCALIZED_C) $(LOCALIZED_SH) $(LOCALIZED_PERL); \
> > -     do \
> > -             sed -e 's|PRItime|PRIuMAX|g' <"$$s" >"$$s+" && \
> > -             cat "$$s+" >"$$s" && rm "$$s+"; \
> > -     done
> > +$(LOCALIZED_PERL_GEN_PO): .build/pot/po/%.po: %
> > +     $(call mkdir_p_parent_template)
> > +     $(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
> > +             -o$@ $(XGETTEXT_FLAGS_PERL) $<
> > +q
> > +define gen_pot_header
> > +$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
> > +     -o - /dev/null | \
> > +sed -e 's|charset=CHARSET|charset=UTF-8|' \
> > +    -e 's|\(Last-Translator: \)FULL NAME <.*>|\1make by the Makefile|' \
> > +    -e 's|\(Language-Team: \)LANGUAGE <.*>|\1Git Mailing List <git@vger.kernel.org>|' \
> > +    >$@ && \
> > +echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
> > +endef
> >
> > -     $(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ $(XGETTEXT_FLAGS_C) $(LOCALIZED_C)
> > -     $(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_SH) \
> > -             $(LOCALIZED_SH)
> > -     $(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_PERL) \
> > -             $(LOCALIZED_PERL)
> > +.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
> > +     $(call mkdir_p_parent_template)
> > +     $(QUIET_GEN)$(gen_pot_header)
>
> So re a previous round I think the addition of a header to po/git.pot
> doesn't make sense, i.e. it's not needed, so we can just drop this
> entirely.
>
> But if you really want to include it anyway then this dependency is
> broken, the header just depends on this gen_pot_header you've defined,
> we don't need to re-generate it every time any single source file
> changes.
>
> Or is the intent to have its timestamp bumped if any of the source files
> change?
>
> If so I think that to the extent we need headers at all (for the *.po
> files) it might be worthwhile to just have the timestamp be the same
> epoch we use for the tests in t/, i.e. never update it and avoid the
> needless churn. If people need to check when things were last changed,
> or initially added, they can use this little thing called "git" :)

After rereading all the replies, I feel it's better to to leave a note
here to make my point clear. As we removed the "po/git.pot" file, it
is not easy to find the base version of a "po/XX.po" file, and we need
the "POT-Creation-Date:" field which comes from the header of the
generated POT file to tell us the version of the base.

    $ git -P grep POT-Creation-Date -- po/
    po/bg.po:"POT-Creation-Date: 2022-01-17 08:34+0800\n"
    po/ca.po:"POT-Creation-Date: 2022-04-06 14:40+0800\n"
    po/de.po:"POT-Creation-Date: 2022-04-13 14:52+0800\n"
    po/el.po:"POT-Creation-Date: 2019-02-15 10:09+0800\n"
    po/es.po:"POT-Creation-Date: 2021-11-04 08:34+0800\n"
    po/fr.po:"POT-Creation-Date: 2022-04-13 14:52+0800\n"
    po/id.po:"POT-Creation-Date: 2022-04-13 14:52+0800\n"
    po/is.po:"POT-Creation-Date: 2016-06-17 18:55+0000\n"
    po/it.po:"POT-Creation-Date: 2020-10-10 09:32+0800\n"
    po/ko.po:"POT-Creation-Date: 2018-06-16 22:06+0800\n"
    po/pl.po:"POT-Creation-Date: 2021-11-10 08:55+0800\n"
    po/pt_PT.po:"POT-Creation-Date: 2022-04-13 14:52+0800\n"
    po/ru.po:"POT-Creation-Date: 2020-12-21 07:10+0800\n"
    po/sv.po:"POT-Creation-Date: 2022-04-13 14:52+0800\n"
    po/tr.po:"POT-Creation-Date: 2022-04-13 14:52+0800\n"
    po/vi.po:"POT-Creation-Date: 2022-04-13 14:52+0800\n"
    po/zh_CN.po:"POT-Creation-Date: 2022-04-13 14:52+0800\n"
    po/zh_TW.po:"POT-Creation-Date: 2022-04-13 14:52+0800\n"

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v4 3/9] Makefile: have "make pot" not "reset --hard"
  2022-05-23 15:21     ` [PATCH v4 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
@ 2022-05-25 22:19       ` Junio C Hamano
  2022-05-25 22:24         ` Junio C Hamano
  0 siblings, 1 reply; 110+ messages in thread
From: Junio C Hamano @ 2022-05-25 22:19 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Ævar Arnfjörð Bjarmason, Git List,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

Jiang Xin <worldhello.net@gmail.com> writes:

>  ## Gettext tools cannot work with our own custom PRItime type, so
>  ## we replace PRItime with PRIuMAX.  We need to update this to
>  ## PRIdMAX if we switch to a signed type later.
> +$(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %
> +	$(call mkdir_p_parent_template)
> +	$(QUIET_XGETTEXT) \
> +	    if grep -q PRItime $<; then \
> +		(\
> +			sed -e 's|PRItime|PRIuMAX|g' <$< \
> +				>.build/pot/po/$< && \
> +			cd .build/pot/po && \
> +			$(XGETTEXT) --omit-header \
> +				-o $(@:.build/pot/po/%=%) \
> +				$(XGETTEXT_FLAGS_C) $< && \
> +			rm $<; \
> +		); \
> +	    else \
> +		$(XGETTEXT) --omit-header \
> +			-o $@ $(XGETTEXT_FLAGS_C) $<; \
> +	    fi

My build (a random hack on top of 'seen') is getting this message

$ make
Makefile:2755: target '.build/pot/po/archive.c.po' given more than once in the same rule
Makefile:2755: target '.build/pot/po/archive.c.po' given more than once in the same rule
    SUBDIR git-gui

I haven't changed archive.c in particular relative to 'seen', and
.build/pot/po directory seems to be empty (understandably---I have
not run the po/ stuff myself lately).


^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v4 3/9] Makefile: have "make pot" not "reset --hard"
  2022-05-25 22:19       ` Junio C Hamano
@ 2022-05-25 22:24         ` Junio C Hamano
  2022-05-26  1:10           ` Jiang Xin
  2022-05-26  2:15           ` [PATCH] Makefile: dedup git-ls-files output to prevent duplicate targets Jiang Xin
  0 siblings, 2 replies; 110+ messages in thread
From: Junio C Hamano @ 2022-05-25 22:24 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Ævar Arnfjörð Bjarmason, Git List,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

Junio C Hamano <gitster@pobox.com> writes:

> Jiang Xin <worldhello.net@gmail.com> writes:
>
>>  ## Gettext tools cannot work with our own custom PRItime type, so
>>  ## we replace PRItime with PRIuMAX.  We need to update this to
>>  ## PRIdMAX if we switch to a signed type later.
>> +$(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %
>> +	$(call mkdir_p_parent_template)
>> +	$(QUIET_XGETTEXT) \
>> +	    if grep -q PRItime $<; then \
>> +		(\
>> +			sed -e 's|PRItime|PRIuMAX|g' <$< \
>> +				>.build/pot/po/$< && \
>> +			cd .build/pot/po && \
>> +			$(XGETTEXT) --omit-header \
>> +				-o $(@:.build/pot/po/%=%) \
>> +				$(XGETTEXT_FLAGS_C) $< && \
>> +			rm $<; \
>> +		); \
>> +	    else \
>> +		$(XGETTEXT) --omit-header \
>> +			-o $@ $(XGETTEXT_FLAGS_C) $<; \
>> +	    fi
>
> My build (a random hack on top of 'seen') is getting this message
>
> $ make
> Makefile:2755: target '.build/pot/po/archive.c.po' given more than once in the same rule
> Makefile:2755: target '.build/pot/po/archive.c.po' given more than once in the same rule
>     SUBDIR git-gui
>
> I haven't changed archive.c in particular relative to 'seen', and
> .build/pot/po directory seems to be empty (understandably---I have
> not run the po/ stuff myself lately).

Well, I lied.  I am doing the random hack while in a conflicted
state coming from an interrupted merge that had conflicts in the
archive.c.

Perhaps we need some logic to dedup "ls-files" output?

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v4 3/9] Makefile: have "make pot" not "reset --hard"
  2022-05-25 22:24         ` Junio C Hamano
@ 2022-05-26  1:10           ` Jiang Xin
  2022-05-26  2:15           ` [PATCH] Makefile: dedup git-ls-files output to prevent duplicate targets Jiang Xin
  1 sibling, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-26  1:10 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Ævar Arnfjörð Bjarmason, Git List,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

On Thu, May 26, 2022 at 6:24 AM Junio C Hamano <gitster@pobox.com> wrote:
>
> Junio C Hamano <gitster@pobox.com> writes:
>
> > Jiang Xin <worldhello.net@gmail.com> writes:
> >
> >>  ## Gettext tools cannot work with our own custom PRItime type, so
> >>  ## we replace PRItime with PRIuMAX.  We need to update this to
> >>  ## PRIdMAX if we switch to a signed type later.
> >> +$(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %
> >> +    $(call mkdir_p_parent_template)
> >> +    $(QUIET_XGETTEXT) \
> >> +        if grep -q PRItime $<; then \
> >> +            (\
> >> +                    sed -e 's|PRItime|PRIuMAX|g' <$< \
> >> +                            >.build/pot/po/$< && \
> >> +                    cd .build/pot/po && \
> >> +                    $(XGETTEXT) --omit-header \
> >> +                            -o $(@:.build/pot/po/%=%) \
> >> +                            $(XGETTEXT_FLAGS_C) $< && \
> >> +                    rm $<; \
> >> +            ); \
> >> +        else \
> >> +            $(XGETTEXT) --omit-header \
> >> +                    -o $@ $(XGETTEXT_FLAGS_C) $<; \
> >> +        fi
> >
> > My build (a random hack on top of 'seen') is getting this message
> >
> > $ make
> > Makefile:2755: target '.build/pot/po/archive.c.po' given more than once in the same rule
> > Makefile:2755: target '.build/pot/po/archive.c.po' given more than once in the same rule
> >     SUBDIR git-gui
> >
> > I haven't changed archive.c in particular relative to 'seen', and
> > .build/pot/po directory seems to be empty (understandably---I have
> > not run the po/ stuff myself lately).
>
> Well, I lied.  I am doing the random hack while in a conflicted
> state coming from an interrupted merge that had conflicts in the
> archive.c.
>
> Perhaps we need some logic to dedup "ls-files" output?

Yes, we can pass the option "--deduplicate" to git-ls-files to
suppress duplicate entries for unresolved conflicts. Will send an
additional patch for this.

^ permalink raw reply	[flat|nested] 110+ messages in thread

* [PATCH] Makefile: dedup git-ls-files output to prevent duplicate targets
  2022-05-25 22:24         ` Junio C Hamano
  2022-05-26  1:10           ` Jiang Xin
@ 2022-05-26  2:15           ` Jiang Xin
  2022-05-26  4:02             ` Junio C Hamano
  1 sibling, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-26  2:15 UTC (permalink / raw)
  To: Junio C Hamano, Git List
  Cc: Jiang Xin, Ævar Arnfjörð Bjarmason,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

If there are unresolved conflicts left in the working tree, "make" may
report warnings as follows:

    Makefile:xxxx: target '.build/pot/po/FOO.c.po' given more than once
                   in the same rule

The duplicate targets are introduced by the following pattern rule we
added in the preceding commit for incremental build of "po/git.pot",

    $(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %

and the duplicate entries in $(LOCALIZED_C_GEN_PO) come from the
"git ls-files" command in SOURCES_CMD.

We can pass the option "--deduplicate" to git-ls-files to suppress
duplicate entries for unresolved conflicts.

Reported-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index a3f8446de9..a8880ed482 100644
--- a/Makefile
+++ b/Makefile
@@ -846,7 +846,7 @@ generated-hdrs: $(GENERATED_H)
 ## Exhaustive lists of our source files, either dynamically generated,
 ## or hardcoded.
 SOURCES_CMD = ( \
-	git ls-files \
+	git ls-files --deduplicate \
 		'*.[hcS]' \
 		'*.sh' \
 		':!*[tp][0-9][0-9][0-9][0-9]*' \
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* Re: [PATCH] Makefile: dedup git-ls-files output to prevent duplicate targets
  2022-05-26  2:15           ` [PATCH] Makefile: dedup git-ls-files output to prevent duplicate targets Jiang Xin
@ 2022-05-26  4:02             ` Junio C Hamano
  2022-05-26  6:06               ` Jiang Xin
  0 siblings, 1 reply; 110+ messages in thread
From: Junio C Hamano @ 2022-05-26  4:02 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Git List, Jiang Xin, Ævar Arnfjörð Bjarmason,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

Jiang Xin <worldhello.net@gmail.com> writes:

> From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
>
> If there are unresolved conflicts left in the working tree, "make" may
> report warnings as follows:
>
>     Makefile:xxxx: target '.build/pot/po/FOO.c.po' given more than once
>                    in the same rule
>
> The duplicate targets are introduced by the following pattern rule we
> added in the preceding commit for incremental build of "po/git.pot",
>
>     $(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %
>
> and the duplicate entries in $(LOCALIZED_C_GEN_PO) come from the
> "git ls-files" command in SOURCES_CMD.
>
> We can pass the option "--deduplicate" to git-ls-files to suppress
> duplicate entries for unresolved conflicts.

Thanks for a quick response.

We certainly can say "your SOURCES_CMD MUST NOT produce duplicates"
and passing the --deduplicate option is one valid way to fix this
specific case.

But I wonder if a more future-proof solution is to dedup the output
of the SOURCES_CMD ourselves on the Makefile side.  That way, even
if we update SOURCES_CMD in a way that could contain duplicates, we
won't have to worry about duplicates.

---

It feels way overkill to "sort" the list just to dedup its elements,
but that is what GNU Make documentation info page recommends us to
do, and we already do use it for deduplication in our Makefile
twice.

'$(sort LIST)'
     Sorts the words of LIST in lexical order, removing duplicate words.
     The output is a list of words separated by single spaces.  Thus,

          $(sort foo bar lose)

     returns the value 'bar foo lose'.

     Incidentally, since 'sort' removes duplicate words, you can use it
     for this purpose even if you don't care about the sort order.


diff --git i/Makefile w/Makefile
index 2b61f66259..1d3d3deba1 100644
--- i/Makefile
+++ w/Makefile
@@ -860,7 +860,7 @@ SOURCES_CMD = ( \
 		-o \( -name '*.sh' -type f -print \) \
 		| sed -e 's|^\./||' \
 	)
-FOUND_SOURCE_FILES := $(shell $(SOURCES_CMD))
+FOUND_SOURCE_FILES := $(sort $(shell $(SOURCES_CMD)))
 
 FOUND_C_SOURCES = $(filter %.c,$(FOUND_SOURCE_FILES))
 FOUND_H_SOURCES = $(filter %.h,$(FOUND_SOURCE_FILES))


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* Re: [PATCH] Makefile: dedup git-ls-files output to prevent duplicate targets
  2022-05-26  4:02             ` Junio C Hamano
@ 2022-05-26  6:06               ` Jiang Xin
  2022-05-26  6:23                 ` Junio C Hamano
  0 siblings, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-26  6:06 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Git List, Jiang Xin, Ævar Arnfjörð Bjarmason,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

On Thu, May 26, 2022 at 12:03 PM Junio C Hamano <gitster@pobox.com> wrote:
>
> Jiang Xin <worldhello.net@gmail.com> writes:
>
> > From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> >
> > If there are unresolved conflicts left in the working tree, "make" may
> > report warnings as follows:
> >
> >     Makefile:xxxx: target '.build/pot/po/FOO.c.po' given more than once
> >                    in the same rule
> >
> > The duplicate targets are introduced by the following pattern rule we
> > added in the preceding commit for incremental build of "po/git.pot",
> >
> >     $(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %
> >
> > and the duplicate entries in $(LOCALIZED_C_GEN_PO) come from the
> > "git ls-files" command in SOURCES_CMD.
> >
> > We can pass the option "--deduplicate" to git-ls-files to suppress
> > duplicate entries for unresolved conflicts.
>
> Thanks for a quick response.
>
> We certainly can say "your SOURCES_CMD MUST NOT produce duplicates"
> and passing the --deduplicate option is one valid way to fix this
> specific case.
>
> But I wonder if a more future-proof solution is to dedup the output
> of the SOURCES_CMD ourselves on the Makefile side.  That way, even
> if we update SOURCES_CMD in a way that could contain duplicates, we
> won't have to worry about duplicates.
>
> ---
>
> It feels way overkill to "sort" the list just to dedup its elements,
> but that is what GNU Make documentation info page recommends us to
> do, and we already do use it for deduplication in our Makefile
> twice.
>
> '$(sort LIST)'
>      Sorts the words of LIST in lexical order, removing duplicate words.
>      The output is a list of words separated by single spaces.  Thus,
>
>           $(sort foo bar lose)
>
>      returns the value 'bar foo lose'.
>
>      Incidentally, since 'sort' removes duplicate words, you can use it
>      for this purpose even if you don't care about the sort order.
>
>
> diff --git i/Makefile w/Makefile
> index 2b61f66259..1d3d3deba1 100644
> --- i/Makefile
> +++ w/Makefile
> @@ -860,7 +860,7 @@ SOURCES_CMD = ( \
>                 -o \( -name '*.sh' -type f -print \) \
>                 | sed -e 's|^\./||' \
>         )
> -FOUND_SOURCE_FILES := $(shell $(SOURCES_CMD))
> +FOUND_SOURCE_FILES := $(sort $(shell $(SOURCES_CMD)))
>
>  FOUND_C_SOURCES = $(filter %.c,$(FOUND_SOURCE_FILES))
>  FOUND_H_SOURCES = $(filter %.h,$(FOUND_SOURCE_FILES))
>

If I disabled the git-ls-files command like below,

    @@ -846,7 +846,7 @@ generated-hdrs: $(GENERATED_H)
     ## Exhaustive lists of our source files, either dynamically generated,
     ## or hardcoded.
     SOURCES_CMD = ( \
    -       git ls-files --deduplicate \
    +       git bad-ls-files --deduplicate \
                    '*.[hcS]' \
                    '*.sh' \
                    ':!*[tp][0-9][0-9][0-9][0-9]*' \

, and run "make", will display the following warnings:

    Makefile:2751: target `.build/pot/po/command-list.h.po' given more
than once in the same rule.
    Makefile:2751: target `.build/pot/po/config-list.h.po' given more
than once in the same rule.
    Makefile:2751: target `.build/pot/po/hook-list.h.po' given more
than once in the same rule.

This is because the three generated header files (defined in
$(GENERATED_H)) are also included in the result of "SOURCES_CMD". We
can fix this by sorting LOCALIZED_C:

    -LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
    -             $(GENERATED_H)
    +LOCALIZED_C = $(sort $(FOUND_C_SOURCES) $(FOUND_H_SOURCES)
$(SCALAR_SOURCES) \
    +               $(GENERATED_H))

Will send v2 patch.

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH] Makefile: dedup git-ls-files output to prevent duplicate targets
  2022-05-26  6:06               ` Jiang Xin
@ 2022-05-26  6:23                 ` Junio C Hamano
  2022-05-26  7:04                   ` Jiang Xin
  0 siblings, 1 reply; 110+ messages in thread
From: Junio C Hamano @ 2022-05-26  6:23 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Git List, Jiang Xin, Ævar Arnfjörð Bjarmason,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

Jiang Xin <worldhello.net@gmail.com> writes:

>>         )
>> -FOUND_SOURCE_FILES := $(shell $(SOURCES_CMD))
>> +FOUND_SOURCE_FILES := $(sort $(shell $(SOURCES_CMD)))
>>
>>  FOUND_C_SOURCES = $(filter %.c,$(FOUND_SOURCE_FILES))
>>  FOUND_H_SOURCES = $(filter %.h,$(FOUND_SOURCE_FILES))
>>
>
> If I disabled the git-ls-files command like below,
>
>     @@ -846,7 +846,7 @@ generated-hdrs: $(GENERATED_H)
>...
> This is because the three generated header files (defined in
> $(GENERATED_H)) are also included in the result of "SOURCES_CMD". We
> can fix this by sorting LOCALIZED_C:
>
>     -LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
>     -             $(GENERATED_H)
>     +LOCALIZED_C = $(sort $(FOUND_C_SOURCES) $(FOUND_H_SOURCES)
> $(SCALAR_SOURCES) \
>     +               $(GENERATED_H))

If you make FOUND_SOURCE_FILES unique upfront, the at least there
wouldn't be any duplicates there.  Do you mean that some of what is
in FOUND_SOURCE_FILES appear in either SCALAR_SOURCES or GENERATED_H?

If not, I think deduplicating near the source of the issue, i.e.

  FOUND_SOURCE_FILES := $(sort $(shell $(SOURCES_CMD)))

may be sufficient.  Deduplicating near the consumer, like
LOCALIZED_C, may force us to dedup all the consumers of it (e.g.
LOCALIZED_C is not the sole consumer of FOUND_C_SOURCES; you'd need
to sort the input to COCCI_SOURCES, for example).

Thanks.

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH] Makefile: dedup git-ls-files output to prevent duplicate targets
  2022-05-26  6:23                 ` Junio C Hamano
@ 2022-05-26  7:04                   ` Jiang Xin
  2022-05-26 10:00                     ` Ævar Arnfjörð Bjarmason
  0 siblings, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-26  7:04 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Git List, Jiang Xin, Ævar Arnfjörð Bjarmason,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan

On Thu, May 26, 2022 at 2:23 PM Junio C Hamano <gitster@pobox.com> wrote:
>
> Jiang Xin <worldhello.net@gmail.com> writes:
>
> >>         )
> >> -FOUND_SOURCE_FILES := $(shell $(SOURCES_CMD))
> >> +FOUND_SOURCE_FILES := $(sort $(shell $(SOURCES_CMD)))
> >>
> >>  FOUND_C_SOURCES = $(filter %.c,$(FOUND_SOURCE_FILES))
> >>  FOUND_H_SOURCES = $(filter %.h,$(FOUND_SOURCE_FILES))
> >>
> >
> > If I disabled the git-ls-files command like below,
> >
> >     @@ -846,7 +846,7 @@ generated-hdrs: $(GENERATED_H)
> >...
> > This is because the three generated header files (defined in
> > $(GENERATED_H)) are also included in the result of "SOURCES_CMD". We
> > can fix this by sorting LOCALIZED_C:
> >
> >     -LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
> >     -             $(GENERATED_H)
> >     +LOCALIZED_C = $(sort $(FOUND_C_SOURCES) $(FOUND_H_SOURCES)
> > $(SCALAR_SOURCES) \
> >     +               $(GENERATED_H))
>
> If you make FOUND_SOURCE_FILES unique upfront, the at least there
> wouldn't be any duplicates there.  Do you mean that some of what is
> in FOUND_SOURCE_FILES appear in either SCALAR_SOURCES or GENERATED_H?

Yes. If find source files using "git-ls-files", the generated headers
are not included in FOUND_SOURCE_FILES, but this is not the case for
the find command.

> If not, I think deduplicating near the source of the issue, i.e.
>
>   FOUND_SOURCE_FILES := $(sort $(shell $(SOURCES_CMD)))

If we pass the "--deduplicate" option to git-ls-files, we can make
sure files are unique in FOUND_SOURCE_FILES. So sorting
FOUND_SOURCE_FILES becomes unnecessary. But FOUND_SOURCE_FILES may
contain generated files if using find instead of git-ls-files in
SOURCES_CMD, that means sort FOUND_SOURCE_FILES is not enough. Instead
of sorting it, we may want to filter-out the generated files from it,
like:

    FOUND_SOURCE_FILES := $(filter-out $(GENERATED_H),$(shell $(SOURCES_CMD)))

Exclude the several generated headers by add extra fixed options to
find command is not good, but we may need to exclude the ".build"
directory from the find command in SOURCES_CMD, in case we may
duplicate C files in it in future version.


    --- a/Makefile
    +++ b/Makefile
    @@ -846,7 +846,7 @@ generated-hdrs: $(GENERATED_H)
    ## Exhaustive lists of our source files, either dynamically generated,
    ## or hardcoded.
    SOURCES_CMD = ( \
    -       git ls-files \
    +       git ls-files --deduplicate \
                   '*.[hcS]' \
                   '*.sh' \
                   ':!*[tp][0-9][0-9][0-9][0-9]*' \
    @@ -857,12 +857,13 @@ SOURCES_CMD = ( \
                   -o \( -name '[tp][0-9][0-9][0-9][0-9]*' -prune \) \
                   -o \( -name contrib -type d -prune \) \
                   -o \( -name build -type d -prune \) \
    +               -o \( -name .build -type d -prune \) \
                   -o \( -name 'trash*' -type d -prune \) \
                   -o \( -name '*.[hcS]' -type f -print \) \
                   -o \( -name '*.sh' -type f -print \) \
                   | sed -e 's|^\./||' \
           )
    -FOUND_SOURCE_FILES := $(shell $(SOURCES_CMD))
    +FOUND_SOURCE_FILES := $(filter-out $(GENERATED_H),$(shell $(SOURCES_CMD)))

    FOUND_C_SOURCES = $(filter %.c,$(FOUND_SOURCE_FILES))
    FOUND_H_SOURCES = $(filter %.h,$(FOUND_SOURCE_FILES))

> may be sufficient.  Deduplicating near the consumer, like
> LOCALIZED_C, may force us to dedup all the consumers of it (e.g.
> LOCALIZED_C is not the sole consumer of FOUND_C_SOURCES; you'd need
> to sort the input to COCCI_SOURCES, for example).

If we apply the above patch, sorting LOCALIZED_C is not necessary.

--
Jiang Xin

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH] Makefile: dedup git-ls-files output to prevent duplicate targets
  2022-05-26  7:04                   ` Jiang Xin
@ 2022-05-26 10:00                     ` Ævar Arnfjörð Bjarmason
  2022-05-26 11:06                       ` Jiang Xin
  2022-05-26 17:18                       ` Junio C Hamano
  0 siblings, 2 replies; 110+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-05-26 10:00 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Junio C Hamano, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan


On Thu, May 26 2022, Jiang Xin wrote:

> On Thu, May 26, 2022 at 2:23 PM Junio C Hamano <gitster@pobox.com> wrote:
>>
>> Jiang Xin <worldhello.net@gmail.com> writes:
>>
>> >>         )
>> >> -FOUND_SOURCE_FILES := $(shell $(SOURCES_CMD))
>> >> +FOUND_SOURCE_FILES := $(sort $(shell $(SOURCES_CMD)))
>> >>
>> >>  FOUND_C_SOURCES = $(filter %.c,$(FOUND_SOURCE_FILES))
>> >>  FOUND_H_SOURCES = $(filter %.h,$(FOUND_SOURCE_FILES))
>> >>
>> >
>> > If I disabled the git-ls-files command like below,
>> >
>> >     @@ -846,7 +846,7 @@ generated-hdrs: $(GENERATED_H)
>> >...
>> > This is because the three generated header files (defined in
>> > $(GENERATED_H)) are also included in the result of "SOURCES_CMD". We
>> > can fix this by sorting LOCALIZED_C:
>> >
>> >     -LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
>> >     -             $(GENERATED_H)
>> >     +LOCALIZED_C = $(sort $(FOUND_C_SOURCES) $(FOUND_H_SOURCES)
>> > $(SCALAR_SOURCES) \
>> >     +               $(GENERATED_H))
>>
>> If you make FOUND_SOURCE_FILES unique upfront, the at least there
>> wouldn't be any duplicates there.  Do you mean that some of what is
>> in FOUND_SOURCE_FILES appear in either SCALAR_SOURCES or GENERATED_H?
>
> Yes. If find source files using "git-ls-files", the generated headers
> are not included in FOUND_SOURCE_FILES, but this is not the case for
> the find command.
>
>> If not, I think deduplicating near the source of the issue, i.e.
>>
>>   FOUND_SOURCE_FILES := $(sort $(shell $(SOURCES_CMD)))
>
> If we pass the "--deduplicate" option to git-ls-files, we can make
> sure files are unique in FOUND_SOURCE_FILES. So sorting
> FOUND_SOURCE_FILES becomes unnecessary. But FOUND_SOURCE_FILES may
> contain generated files if using find instead of git-ls-files in
> SOURCES_CMD, that means sort FOUND_SOURCE_FILES is not enough. Instead
> of sorting it, we may want to filter-out the generated files from it,
> like:
>
>     FOUND_SOURCE_FILES := $(filter-out $(GENERATED_H),$(shell $(SOURCES_CMD)))
>
> Exclude the several generated headers by add extra fixed options to
> find command is not good, but we may need to exclude the ".build"
> directory from the find command in SOURCES_CMD, in case we may
> duplicate C files in it in future version.
>
>
>     --- a/Makefile
>     +++ b/Makefile
>     @@ -846,7 +846,7 @@ generated-hdrs: $(GENERATED_H)
>     ## Exhaustive lists of our source files, either dynamically generated,
>     ## or hardcoded.
>     SOURCES_CMD = ( \
>     -       git ls-files \
>     +       git ls-files --deduplicate \
>                    '*.[hcS]' \
>                    '*.sh' \
>                    ':!*[tp][0-9][0-9][0-9][0-9]*' \
>     @@ -857,12 +857,13 @@ SOURCES_CMD = ( \
>                    -o \( -name '[tp][0-9][0-9][0-9][0-9]*' -prune \) \
>                    -o \( -name contrib -type d -prune \) \
>                    -o \( -name build -type d -prune \) \
>     +               -o \( -name .build -type d -prune \) \

This change is good and something we should do in any case, I think (and
this is my fault) that due to this we'd have broken other things,
e.g. included these in the TAGS file if we don't have "git ls-files".

>                    -o \( -name 'trash*' -type d -prune \) \
>                    -o \( -name '*.[hcS]' -type f -print \) \
>                    -o \( -name '*.sh' -type f -print \) \
>                    | sed -e 's|^\./||' \
>            )
>     -FOUND_SOURCE_FILES := $(shell $(SOURCES_CMD))
>     +FOUND_SOURCE_FILES := $(filter-out $(GENERATED_H),$(shell $(SOURCES_CMD)))
>
>     FOUND_C_SOURCES = $(filter %.c,$(FOUND_SOURCE_FILES))
>     FOUND_H_SOURCES = $(filter %.h,$(FOUND_SOURCE_FILES))
>
>> may be sufficient.  Deduplicating near the consumer, like
>> LOCALIZED_C, may force us to dedup all the consumers of it (e.g.
>> LOCALIZED_C is not the sole consumer of FOUND_C_SOURCES; you'd need
>> to sort the input to COCCI_SOURCES, for example).
>
> If we apply the above patch, sorting LOCALIZED_C is not necessary.

Per earlier feedback in
https://lore.kernel.org/git/220519.86tu9l6fw4.gmgdl@evledraar.gmail.com/
this all seesm a bit too complex, especially now.

I pointed out then that with --sort-by-file added we:

 * Don't group the translations by C/SH/Perl anymore
 * Change the sort order within files, to be line/sorted instead of
   line/order (i.e. first occurring translations first)

I suggested then to just use $(sort) on the respective lists.

So why not just:

 1. Switch to the $(FOUND_C_SOURCES) (good)
 2. Filter that by C/Perl/SH as before (just a simple $(filter)
 3. $(sort) that (which as noted, also de-dupes it)

Then we don't have any of the behavior change of --sort-by-file, and we
don't have to carefully curate the ls-files/find commands to not include
duplicates (although as seen here that seems to have been a useful
canary in the "find" case).

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH] Makefile: dedup git-ls-files output to prevent duplicate targets
  2022-05-26 10:00                     ` Ævar Arnfjörð Bjarmason
@ 2022-05-26 11:06                       ` Jiang Xin
  2022-05-26 17:18                       ` Junio C Hamano
  1 sibling, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-26 11:06 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: Junio C Hamano, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan

On Thu, May 26, 2022 at 6:04 PM Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
> > If we apply the above patch, sorting LOCALIZED_C is not necessary.
>
> Per earlier feedback in
> https://lore.kernel.org/git/220519.86tu9l6fw4.gmgdl@evledraar.gmail.com/
> this all seesm a bit too complex, especially now.
>
> I pointed out then that with --sort-by-file added we:
>
>  * Don't group the translations by C/SH/Perl anymore

I missed this point in the previous discussion. Will take this into
account in next reroll.

>  * Change the sort order within files, to be line/sorted instead of
>    line/order (i.e. first occurring translations first)
>
> I suggested then to just use $(sort) on the respective lists.
>
> So why not just:
>
>  1. Switch to the $(FOUND_C_SOURCES) (good)
>  2. Filter that by C/Perl/SH as before (just a simple $(filter)
>  3. $(sort) that (which as noted, also de-dupes it)

Will try this direction.

> Then we don't have any of the behavior change of --sort-by-file, and we
> don't have to carefully curate the ls-files/find commands to not include
> duplicates (although as seen here that seems to have been a useful
> canary in the "find" case).

^ permalink raw reply	[flat|nested] 110+ messages in thread

* [PATCH v5 00/10] Incremental po/git.pot update and new l10n workflow
  2022-05-23 15:21     ` [PATCH v4 " Jiang Xin
  2022-05-23 18:19       ` Junio C Hamano
@ 2022-05-26 14:50       ` Jiang Xin
  2022-05-26 14:50       ` [PATCH v5 01/10] Makefile: sort source files before feeding to xgettext Jiang Xin
                         ` (9 subsequent siblings)
  11 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-26 14:50 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

Changes since v4:

1. Patch 1/10: use sort function instead of passing option "--sort-by-file".
2. Patch 3/10: when finding source files, ignore ".build" directory.
3. New patch 5/10: remove duplicate and unwanted files in FOUND_SOURCE_FILES
4. Patch 7/10: no "--sort-by-file" option $(MSGCAT_FLAGS) for msgcat.
5. Patch 9/10: no "--sort-by-file" option $(MSGCAT_FLAGS) for msgcat,
               and remove unused "core-pot" target.


Range-diff vs v4:

 1:  325868b993 ! 1:  6a5409fd4f Makefile: sort "po/git.pot" by file location
    @@ Metadata
     Author: Jiang Xin <zhiyou.jx@alibaba-inc.com>
     
      ## Commit message ##
    -    Makefile: sort "po/git.pot" by file location
    +    Makefile: sort source files before feeding to xgettext
     
         We will feed xgettext with more C source files and in different order
         in subsequent commit. To generate a stable "po/git.pot" regardless of
    -    the number and order of input source files, we pass the option
    -    "--sort-by-file" to xgettext program.
    +    the number and order of input source files, we sort the c, perl, and
    +    shell source files in groups before feeding them to xgettext.
    +
    +    Ævar suggested that we should not pass the option "--sort-by-file" to
    +    xgettext to sort the translatable strings, as it will mix the three
    +    groups of source files (c, perl and shell) in the file "po/git.pot",
    +    and change the order of translatable strings in the same line of a file.
     
         With this update, the newly generated "po/git.pot" will have the same
         entries while in a different order.
    @@ Commit message
         We won't checkin the newly generated "po/git.pot", because we will
         remove it from tree in a later commit.
     
    +    Suggested-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
         Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
     
      ## Makefile ##
    -@@ Makefile: XGETTEXT_FLAGS = \
    - 	--force-po \
    - 	--add-comments=TRANSLATORS: \
    - 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
    -+	--sort-by-file \
    - 	--from-code=UTF-8
    - XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
    - 	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
    +@@ Makefile: XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
    + 	--keyword=gettextln --keyword=eval_gettextln
    + XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
    + 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
    +-LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
    +-LOCALIZED_SH = $(SCRIPT_SH)
    +-LOCALIZED_SH += git-sh-setup.sh
    +-LOCALIZED_PERL = $(SCRIPT_PERL)
    ++LOCALIZED_C = $(sort $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H))
    ++LOCALIZED_SH = $(sort $(SCRIPT_SH) git-sh-setup.sh)
    ++LOCALIZED_PERL = $(sort $(SCRIPT_PERL))
    + 
    + ifdef XGETTEXT_INCLUDE_TESTS
    + LOCALIZED_C += t/t0200/test.c
 2:  acf2f62e66 ! 2:  976f75ce00 Makefile: generate "po/git.pot" from stable LOCALIZED_C
    @@ Makefile: XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
      	--keyword=gettextln --keyword=eval_gettextln
      XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
      	--keyword=__ --keyword=N__ --keyword="__n:1,2"
    --LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
    -+LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
    -+	      $(GENERATED_H)
    - LOCALIZED_SH = $(SCRIPT_SH)
    - LOCALIZED_SH += git-sh-setup.sh
    - LOCALIZED_PERL = $(SCRIPT_PERL)
    +-LOCALIZED_C = $(sort $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H))
    ++LOCALIZED_C = $(sort $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
    ++	        $(GENERATED_H))
    + LOCALIZED_SH = $(sort $(SCRIPT_SH) git-sh-setup.sh)
    + LOCALIZED_PERL = $(sort $(SCRIPT_PERL))
    + 
 3:  775c37bc69 !  3:  c881176a8f Makefile: have "make pot" not "reset --hard"
    @@ Makefile: INSTALL = install
      MSGFMT = msgfmt
      CURL_CONFIG = curl-config
      GCOV = gcov
    +@@ Makefile: SOURCES_CMD = ( \
    + 		-o \( -name '[tp][0-9][0-9][0-9][0-9]*' -prune \) \
    + 		-o \( -name contrib -type d -prune \) \
    + 		-o \( -name build -type d -prune \) \
    ++		-o \( -name .build -type d -prune \) \
    + 		-o \( -name 'trash*' -type d -prune \) \
    + 		-o \( -name '*.[hcS]' -type f -print \) \
    + 		-o \( -name '*.sh' -type f -print \) \
     @@ Makefile: XGETTEXT_FLAGS = \
      	--force-po \
      	--add-comments=TRANSLATORS: \
      	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
     +	--package-name=Git \
    - 	--sort-by-file \
      	--from-code=UTF-8
      XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
    -@@ Makefile: XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
    - 	--keyword=gettextln --keyword=eval_gettextln
    - XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
    - 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
    -+MSGCAT_FLAGS = --sort-by-file
    - LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
    - 	      $(GENERATED_H)
    - LOCALIZED_SH = $(SCRIPT_SH)
    + 	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
     @@ Makefile: LOCALIZED_SH += t/t0200/test.sh
      LOCALIZED_PERL += t/t0200/test.perl
      endif
    @@ Makefile: LOCALIZED_SH += t/t0200/test.sh
     -	git reset --hard
     -	mv $@+ $@
     +po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO) FORCE
    -+	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $(filter-out FORCE,$^) >$@
    ++	$(QUIET_GEN)$(MSGCAT) $(filter-out FORCE,$^) >$@
      
      .PHONY: pot
      pot: po/git.pot
 4:  55ee049b0a !  4:  672c91c341 i18n CI: stop allowing non-ASCII source messages in po/git.pot
    @@ Commit message
     
      ## Makefile ##
     @@ Makefile: XGETTEXT_FLAGS = \
    + 	--force-po \
      	--add-comments=TRANSLATORS: \
      	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
    - 	--package-name=Git \
    --	--sort-by-file \
    +-	--package-name=Git \
     -	--from-code=UTF-8
    -+	--sort-by-file
    ++	--package-name=Git
      XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
      	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
      XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
 -:  ---------- >  5:  475680c594 Makefile: remove duplicate and unwanted files in FOUND_SOURCE_FILES
 5:  69338521aa =  6:  9023b94c65 po/git.pot: this is now a generated file
 6:  6f80bd0461 !  7:  a46dca5e0d po/git.pot: don't check in result of "make pot"
    @@ Makefile: endef
      	$(QUIET_GEN)$(gen_pot_header)
      
     -po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO) FORCE
    --	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $(filter-out FORCE,$^) >$@
    +-	$(QUIET_GEN)$(MSGCAT) $(filter-out FORCE,$^) >$@
     +po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
    -+	$(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
    ++	$(QUIET_GEN)$(MSGCAT) $^ >$@
      
      .PHONY: pot
      pot: po/git.pot
 7:  5cd2c0741d !  8:  2077310e57 Makefile: add "po-update" rule to update po/XX.po
    @@ Makefile: TCLTK_PATH = wish
      GCOV = gcov
      STRIP = strip
     @@ Makefile: XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
    + 	--keyword=gettextln --keyword=eval_gettextln
      XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
      	--keyword=__ --keyword=N__ --keyword="__n:1,2"
    - MSGCAT_FLAGS = --sort-by-file
     +MSGMERGE_FLAGS = --add-location --backup=off --update
    - LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
    - 	      $(GENERATED_H)
    - LOCALIZED_SH = $(SCRIPT_SH)
    + LOCALIZED_C = $(sort $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
    + 	        $(GENERATED_H))
    + LOCALIZED_SH = $(sort $(SCRIPT_SH) git-sh-setup.sh)
     @@ Makefile: po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
      .PHONY: pot
      pot: po/git.pot
 8:  246720695a !  9:  bd810adb20 Makefile: add "po-init" rule to initialize po/XX.po
    @@ Commit message
         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 rule
    -    "core-pot" to create this core translation message "po/git-core.pot":
    +    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 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":
    @@ Makefile: po-update: po/git.pot
     +
     +LOCALIZED_C_CORE_GEN_PO = $(LOCALIZED_C_CORE:%=.build/pot/po/%.po)
     +
    -+.PHONY: core-pot
    -+core-pot: po/git-core.pot
    -+
     +.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) $(MSGCAT_FLAGS) $^ >$@
    ++	$(QUIET_GEN)$(MSGCAT) $^ >$@
     +
     +.PHONY: po-init
     +po-init: po/git-core.pot
 9:  131f52ac3a = 10:  38ab065c55 l10n: Document the new l10n workflow
---

Jiang Xin (5):
  Makefile: sort source files before feeding to xgettext
  Makefile: generate "po/git.pot" from stable LOCALIZED_C
  Makefile: remove duplicate and unwanted files in FOUND_SOURCE_FILES
  po/git.pot: this is now a generated file
  Makefile: add "po-update" rule to update po/XX.po

Ævar Arnfjörð Bjarmason (5):
  Makefile: have "make pot" not "reset --hard"
  i18n CI: stop allowing non-ASCII source messages in po/git.pot
  po/git.pot: don't check in result of "make pot"
  Makefile: add "po-init" rule to initialize po/XX.po
  l10n: Document the new l10n workflow

 .gitignore                  |     1 +
 Makefile                    |   153 +-
 builtin/submodule--helper.c |     2 +-
 ci/run-static-analysis.sh   |     2 +
 po/.gitignore               |     2 +
 po/README.md                |   230 +-
 po/git.pot                  | 25151 ----------------------------------
 shared.mak                  |     2 +
 8 files changed, 250 insertions(+), 25293 deletions(-)
 delete mode 100644 po/git.pot

-- 
2.36.0.1.g15c4090757


^ permalink raw reply	[flat|nested] 110+ messages in thread

* [PATCH v5 01/10] Makefile: sort source files before feeding to xgettext
  2022-05-23 15:21     ` [PATCH v4 " Jiang Xin
  2022-05-23 18:19       ` Junio C Hamano
  2022-05-26 14:50       ` [PATCH v5 00/10] " Jiang Xin
@ 2022-05-26 14:50       ` Jiang Xin
  2022-05-26 14:50       ` [PATCH v5 02/10] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
                         ` (8 subsequent siblings)
  11 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-26 14:50 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

We will feed xgettext with more C source files and in different order
in subsequent commit. To generate a stable "po/git.pot" regardless of
the number and order of input source files, we sort the c, perl, and
shell source files in groups before feeding them to xgettext.

Ævar suggested that we should not pass the option "--sort-by-file" to
xgettext to sort the translatable strings, as it will mix the three
groups of source files (c, perl and shell) in the file "po/git.pot",
and change the order of translatable strings in the same line of a file.

With this update, the newly generated "po/git.pot" will have the same
entries while in a different order.

With the help of a custom diff driver as shown below,

    git config --global diff.gettext-fmt.textconv \
        "msgcat --no-location --sort-by-file"

and appending a new entry "*.pot diff=gettext-fmt" to git attributes,
we can see that there are no substantial changes in "po/git.pot".

We won't checkin the newly generated "po/git.pot", because we will
remove it from tree in a later commit.

Suggested-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Makefile | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index f8bccfab5e..7ca95cdb82 100644
--- a/Makefile
+++ b/Makefile
@@ -2713,10 +2713,9 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
 	--keyword=gettextln --keyword=eval_gettextln
 XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
-LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
-LOCALIZED_SH = $(SCRIPT_SH)
-LOCALIZED_SH += git-sh-setup.sh
-LOCALIZED_PERL = $(SCRIPT_PERL)
+LOCALIZED_C = $(sort $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H))
+LOCALIZED_SH = $(sort $(SCRIPT_SH) git-sh-setup.sh)
+LOCALIZED_PERL = $(sort $(SCRIPT_PERL))
 
 ifdef XGETTEXT_INCLUDE_TESTS
 LOCALIZED_C += t/t0200/test.c
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v5 02/10] Makefile: generate "po/git.pot" from stable LOCALIZED_C
  2022-05-23 15:21     ` [PATCH v4 " Jiang Xin
                         ` (2 preceding siblings ...)
  2022-05-26 14:50       ` [PATCH v5 01/10] Makefile: sort source files before feeding to xgettext Jiang Xin
@ 2022-05-26 14:50       ` Jiang Xin
  2022-05-26 14:50       ` [PATCH v5 03/10] Makefile: have "make pot" not "reset --hard" Jiang Xin
                         ` (7 subsequent siblings)
  11 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-26 14:50 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

Different users may generate a different message template file
"po/git.pot". This is because the POT file is generated from
"$(LOCALIZED_C)", which is supposed to list all the sources that we
extract the strings to be translated from. But "$(LOCALIZED_C)"
includes "$(C_OBJ)", which only lists the source files used in the
current build for a specific platform and specific compiler
conditions.

Instead of using "$(C_OBJ)", we use "$(FOUND_C_SOURCES)", which lists
all source files we keep track of (or ship in a tarball extract), to
form a stable "LOCALIZED_C". We also add "$(SCALAR_SOURCES)", which
is part of "$(C_OBJ)" but not included in "$(FOUND_C_SOURCES)".

With this update, the newly generated "po/git.pot" will have 30 new
entries coming from the following C source files:

 * compat/fsmonitor/fsm-listen-win32.c
 * compat/mingw.c
 * compat/regex/regcomp.c
 * compat/simple-ipc/ipc-win32.c

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 7ca95cdb82..f2f9c9bc81 100644
--- a/Makefile
+++ b/Makefile
@@ -2713,7 +2713,8 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
 	--keyword=gettextln --keyword=eval_gettextln
 XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
-LOCALIZED_C = $(sort $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H))
+LOCALIZED_C = $(sort $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
+	        $(GENERATED_H))
 LOCALIZED_SH = $(sort $(SCRIPT_SH) git-sh-setup.sh)
 LOCALIZED_PERL = $(sort $(SCRIPT_PERL))
 
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v5 03/10] Makefile: have "make pot" not "reset --hard"
  2022-05-23 15:21     ` [PATCH v4 " Jiang Xin
                         ` (3 preceding siblings ...)
  2022-05-26 14:50       ` [PATCH v5 02/10] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
@ 2022-05-26 14:50       ` Jiang Xin
  2022-05-26 14:50       ` [PATCH v5 04/10] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
                         ` (6 subsequent siblings)
  11 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-26 14:50 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin, Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Before commit fc0fd5b23b (Makefile: help gettext tools to cope with our
custom PRItime format, 2017-07-20), we'd consider source files as-is
with gettext, but because we need to understand PRItime in the same way
that gettext itself understands PRIuMAX, we'd first check if we had a
clean checkout, then munge all of the processed files in-place with
"sed", generate "po/git.pot", and then finally "reset --hard" to undo
our changes.

By generating "pot" snippets in ".build/pot/po" for each source file
and rewriting certain source files with PRItime macros to temporary
files in ".build/pot/po", we can avoid running "make pot" by altering
files in place and doing a "reset --hard" afterwards.

This speed of "make pot" is slower than before on an initial run,
because we run "xgettext" many times (once per source file), but it
can be boosted by parallelization. It is *much* faster for incremental
runs, and will allow us to implement related targets in subsequent
commits.

When the "pot" target was originally added in cd5513a7168 (i18n:
Makefile: "pot" target to extract messages marked for translation,
2011-02-22) it behaved like a "normal" target. I.e. we'd skip the
re-generation of the po/git.pot if nothing had to be done.

Then after po/git.pot was checked in in dce37b66fb0 (l10n: initial
git.pot for 1.7.10 upcoming release, 2012-02-13) the target was broken
until 1f31963e921 (i18n: treat "make pot" as an explicitly-invoked
target, 2014-08-22) when it was made to depend on "FORCE". I.e. the
Makefile's dependency resolution inherently can't handle incremental
building when the target file may be updated by git (or something else
external to "make"). But this case no longer applies, so FORCE is no
longer needed.

That out of the way, the main logic change here is getting rid of the
"reset --hard":

We'll generate intermediate ".build/pot/po/%.po" files from "%", which
is handy to see at a glance what strings (if any) in a given file are
marked for translation:

	$ make .build/pot/po/pretty.c.po
	[...]
	$ cat .build/pot/po/pretty.c.po
	#: pretty.c:1051
	msgid "unable to parse --pretty format"
	msgstr ""
	$

For these C source files which contain the PRItime macros, we will
create temporary munged "*.c" files in a tree in ".build/pot/po"
corresponding to our source tree, and have "xgettext" consider those.
The rule needs to be careful to "(cd .build/pot/po && ...)", because
otherwise the comments in the po/git.pot file wouldn't refer to the
correct source locations (they'd be prefixed with ".build/pot/po").
These temporary munged "*.c” files will be removed immediately after
the corresponding po files are generated, because some development tools
cannot ignore the duplicate source files in the ".build" directory
according to the ".gitignore" file, and that may cause trouble.

The output of the generated po/git.pot file is changed in one minor
way: Because we're using msgcat(1) instead of xgettext(1) to
concatenate the output we'll now disambiguate where "TRANSLATORS"
comments come from, in cases where a message is the same in N files,
and either only one has a "TRANSLATORS" comment, or they're
different. E.g. for the "Your edited hunk[...]" message we'll now
apply this change (comment content elided):

	+#. #-#-#-#-#  add-patch.c.po  #-#-#-#-#
	 #. TRANSLATORS: do not translate [y/n]
	[...]
	+#. #-#-#-#-#  git-add--interactive.perl.po  #-#-#-#-#
	 #. TRANSLATORS: do not translate [y/n]
	[...]
	 #: add-patch.c:1253 git-add--interactive.perl:1244
	 msgid ""
	 "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
	 msgstr ""

There are six such changes, and they all make the context more
understandable, as msgcat(1) is better at handling these edge cases
than xgettext(1)'s previously used "--join-existing" flag.

But filenames in the above disambiguation lines of extracted-comments
have an extra ".po" extension compared to the filenames at the file
locations. While we could rename the intermediate ".build/pot/po/%.po"
files without the ".po" extension to use more intuitive filenames in
the disambiguation lines of extracted-comments, but that will confuse
developer tools with lots of invalid C or other source files in
".build/pot/po" directory.

The addition of "--omit-header" option for xgettext makes the "pot"
snippets in ".build/pot/po/*.po" smaller. But as we'll see in a
subsequent commit this header behavior has been hiding an
encoding-related bug from us, so let's carry it forward instead of
re-generating it with xgettext(1).

The "po/git.pot" file should have a header entry, because a proper
header entry will increase the speed of creating a new po file using
msginit and set a proper "POT-Creation-Date:" field in the header
entry of a "po/XX.po" file. We use xgettext to generate a separate
header file at ".build/pot/git.header" from "/dev/null", and use this
header to assemble "po/git.pot".

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 .gitignore |  1 +
 Makefile   | 80 ++++++++++++++++++++++++++++++++++++++++--------------
 2 files changed, 60 insertions(+), 21 deletions(-)

diff --git a/.gitignore b/.gitignore
index e81de1063a..a452215764 100644
--- a/.gitignore
+++ b/.gitignore
@@ -200,6 +200,7 @@
 *.[aos]
 *.o.json
 *.py[co]
+.build/
 .depend/
 *.gcda
 *.gcno
diff --git a/Makefile b/Makefile
index f2f9c9bc81..49176822ad 100644
--- a/Makefile
+++ b/Makefile
@@ -569,6 +569,7 @@ INSTALL = install
 TCL_PATH = tclsh
 TCLTK_PATH = wish
 XGETTEXT = xgettext
+MSGCAT = msgcat
 MSGFMT = msgfmt
 CURL_CONFIG = curl-config
 GCOV = gcov
@@ -855,6 +856,7 @@ SOURCES_CMD = ( \
 		-o \( -name '[tp][0-9][0-9][0-9][0-9]*' -prune \) \
 		-o \( -name contrib -type d -prune \) \
 		-o \( -name build -type d -prune \) \
+		-o \( -name .build -type d -prune \) \
 		-o \( -name 'trash*' -type d -prune \) \
 		-o \( -name '*.[hcS]' -type f -print \) \
 		-o \( -name '*.sh' -type f -print \) \
@@ -2706,6 +2708,7 @@ XGETTEXT_FLAGS = \
 	--force-po \
 	--add-comments=TRANSLATORS: \
 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
+	--package-name=Git \
 	--from-code=UTF-8
 XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
 	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
@@ -2724,34 +2727,68 @@ LOCALIZED_SH += t/t0200/test.sh
 LOCALIZED_PERL += t/t0200/test.perl
 endif
 
-## Note that this is meant to be run only by the localization coordinator
-## under a very controlled condition, i.e. (1) it is to be run in a
-## Git repository (not a tarball extract), (2) any local modifications
-## will be lost.
+## We generate intermediate .build/pot/po/%.po files containing a
+## extract of the translations we find in each file in the source
+## tree. We will assemble them using msgcat to create the final
+## "po/git.pot" file.
+LOCALIZED_ALL_GEN_PO =
+
+LOCALIZED_C_GEN_PO = $(LOCALIZED_C:%=.build/pot/po/%.po)
+LOCALIZED_ALL_GEN_PO += $(LOCALIZED_C_GEN_PO)
+
+LOCALIZED_SH_GEN_PO = $(LOCALIZED_SH:%=.build/pot/po/%.po)
+LOCALIZED_ALL_GEN_PO += $(LOCALIZED_SH_GEN_PO)
+
+LOCALIZED_PERL_GEN_PO = $(LOCALIZED_PERL:%=.build/pot/po/%.po)
+LOCALIZED_ALL_GEN_PO += $(LOCALIZED_PERL_GEN_PO)
+
 ## Gettext tools cannot work with our own custom PRItime type, so
 ## we replace PRItime with PRIuMAX.  We need to update this to
 ## PRIdMAX if we switch to a signed type later.
+$(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT) \
+	    if grep -q PRItime $<; then \
+		(\
+			sed -e 's|PRItime|PRIuMAX|g' <$< \
+				>.build/pot/po/$< && \
+			cd .build/pot/po && \
+			$(XGETTEXT) --omit-header \
+				-o $(@:.build/pot/po/%=%) \
+				$(XGETTEXT_FLAGS_C) $< && \
+			rm $<; \
+		); \
+	    else \
+		$(XGETTEXT) --omit-header \
+			-o $@ $(XGETTEXT_FLAGS_C) $<; \
+	    fi
 
-po/git.pot: $(GENERATED_H) FORCE
-	# All modifications will be reverted at the end, so we do not
-	# want to have any local change.
-	git diff --quiet HEAD && git diff --quiet --cached
+$(LOCALIZED_SH_GEN_PO): .build/pot/po/%.po: %
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
+		-o$@ $(XGETTEXT_FLAGS_SH) $<
 
-	@for s in $(LOCALIZED_C) $(LOCALIZED_SH) $(LOCALIZED_PERL); \
-	do \
-		sed -e 's|PRItime|PRIuMAX|g' <"$$s" >"$$s+" && \
-		cat "$$s+" >"$$s" && rm "$$s+"; \
-	done
+$(LOCALIZED_PERL_GEN_PO): .build/pot/po/%.po: %
+	$(call mkdir_p_parent_template)
+	$(QUIET_XGETTEXT)$(XGETTEXT) --omit-header \
+		-o$@ $(XGETTEXT_FLAGS_PERL) $<
+
+define gen_pot_header
+$(XGETTEXT) $(XGETTEXT_FLAGS_C) \
+	-o - /dev/null | \
+sed -e 's|charset=CHARSET|charset=UTF-8|' \
+    -e 's|\(Last-Translator: \)FULL NAME <.*>|\1make by the Makefile|' \
+    -e 's|\(Language-Team: \)LANGUAGE <.*>|\1Git Mailing List <git@vger.kernel.org>|' \
+    >$@ && \
+echo '"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"' >>$@
+endef
 
-	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ $(XGETTEXT_FLAGS_C) $(LOCALIZED_C)
-	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_SH) \
-		$(LOCALIZED_SH)
-	$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_PERL) \
-		$(LOCALIZED_PERL)
+.build/pot/git.header: $(LOCALIZED_ALL_GEN_PO)
+	$(call mkdir_p_parent_template)
+	$(QUIET_GEN)$(gen_pot_header)
 
-	# Reverting the munged source, leaving only the updated $@
-	git reset --hard
-	mv $@+ $@
+po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO) FORCE
+	$(QUIET_GEN)$(MSGCAT) $(filter-out FORCE,$^) >$@
 
 .PHONY: pot
 pot: po/git.pot
@@ -3290,6 +3327,7 @@ cocciclean:
 	$(RM) contrib/coccinelle/*.cocci.patch*
 
 clean: profile-clean coverage-clean cocciclean
+	$(RM) -r .build
 	$(RM) *.res
 	$(RM) $(OBJECTS)
 	$(RM) $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(REFTABLE_TEST_LIB)
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v5 04/10] i18n CI: stop allowing non-ASCII source messages in po/git.pot
  2022-05-23 15:21     ` [PATCH v4 " Jiang Xin
                         ` (4 preceding siblings ...)
  2022-05-26 14:50       ` [PATCH v5 03/10] Makefile: have "make pot" not "reset --hard" Jiang Xin
@ 2022-05-26 14:50       ` Jiang Xin
  2022-05-26 14:50       ` [PATCH v5 05/10] Makefile: remove duplicate and unwanted files in FOUND_SOURCE_FILES Jiang Xin
                         ` (5 subsequent siblings)
  11 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-26 14:50 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin, Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

In the preceding commit we moved away from using xgettext(1) to both
generate the po/git.pot, and to merge the incrementally generated
po/git.pot+ file as we sourced translations from C, shell and Perl.

Doing it this way, which dates back to my initial
implementation[1][2][3] was conflating two things: With xgettext(1)
the --from-code both controls what encoding is specified in the
po/git.pot's header, and what encoding we allow in source messages.

We don't ever want to allow non-ASCII in *source messages*, and doing
so has hid e.g. a buggy message introduced in
a6226fd772b (submodule--helper: convert the bulk of cmd_add() to C,
2021-08-10) from us, we'd warn about it before, but only when running
"make pot", but the operation would still succeed. Now we'll error out
on it when running "make pot".

Since the preceding Makefile changes made this easy: let's add a "make
check-pot" target with the same prerequisites as the "po/git.pot"
target, but without changing the file "po/git.pot". Running it as part
of the "static-analysis" CI target will ensure that we catch any such
issues in the future. E.g.:

    $ make check-pot
        XGETTEXT .build/pot/po/builtin/submodule--helper.c.po
    xgettext: Non-ASCII string at builtin/submodule--helper.c:3381.
              Please specify the source encoding through --from-code.
    make: *** [.build/pot/po/builtin/submodule--helper.c.po] Error 1

1. cd5513a7168 (i18n: Makefile: "pot" target to extract messages
   marked for translation, 2011-02-22)
2. adc3b2b2767 (Makefile: add xgettext target for *.sh files,
   2011-05-14)
3. 5e9637c6297 (i18n: add infrastructure for translating Git with
   gettext, 2011-11-18)

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Makefile                    | 6 ++++--
 builtin/submodule--helper.c | 2 +-
 ci/run-static-analysis.sh   | 2 ++
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 49176822ad..72a3ddaed4 100644
--- a/Makefile
+++ b/Makefile
@@ -2708,8 +2708,7 @@ XGETTEXT_FLAGS = \
 	--force-po \
 	--add-comments=TRANSLATORS: \
 	--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
-	--package-name=Git \
-	--from-code=UTF-8
+	--package-name=Git
 XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
 	--keyword=_ --keyword=N_ --keyword="Q_:1,2"
 XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
@@ -2793,6 +2792,9 @@ po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO) FORCE
 .PHONY: pot
 pot: po/git.pot
 
+.PHONY: check-pot
+check-pot: $(LOCALIZED_ALL_GEN_PO)
+
 ifdef NO_GETTEXT
 POFILES :=
 MOFILES :=
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index 2c87ef9364..b97f02eed5 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -3378,7 +3378,7 @@ static int module_add(int argc, const char **argv, const char *prefix)
 			   N_("reference repository")),
 		OPT_BOOL(0, "dissociate", &dissociate, N_("borrow the objects from reference repositories")),
 		OPT_STRING(0, "name", &add_data.sm_name, N_("name"),
-			   N_("sets the submodule’s name to the given string "
+			   N_("sets the submodule's name to the given string "
 			      "instead of defaulting to its path")),
 		OPT_INTEGER(0, "depth", &add_data.depth, N_("depth for shallow clones")),
 		OPT_END()
diff --git a/ci/run-static-analysis.sh b/ci/run-static-analysis.sh
index 65bcebda41..0d51e5ce0e 100755
--- a/ci/run-static-analysis.sh
+++ b/ci/run-static-analysis.sh
@@ -29,4 +29,6 @@ fi
 make hdr-check ||
 exit 1
 
+make check-pot
+
 save_good_tree
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v5 05/10] Makefile: remove duplicate and unwanted files in FOUND_SOURCE_FILES
  2022-05-23 15:21     ` [PATCH v4 " Jiang Xin
                         ` (5 preceding siblings ...)
  2022-05-26 14:50       ` [PATCH v5 04/10] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
@ 2022-05-26 14:50       ` Jiang Xin
  2022-05-26 14:50       ` [PATCH v5 06/10] po/git.pot: this is now a generated file Jiang Xin
                         ` (4 subsequent siblings)
  11 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-26 14:50 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

We get source files saved in "$(FOUND_SOURCE_FILES)" by running the
command "git ls-files" or the command "find". We tried to have the
both commands return the same list of files, but apparently the "find"
command will return more files, such as the generated headers. We can
filter out these generated headers to get closer results.

In addition to this, "$(FOUND_SOURCE_FILES)" may contain duplicate
files. E.g. "git-ls-files" may have duplicate entries for the same file
in different staging areas if there are unresolved conflicts in the
working tree. For this case, we can reduce duplicate entries by passing
the option "--deduplicate" to git-ls-files.

Junio reported that when running "make" in a working tree with
unresolved conflicts, "make" may report warnings like below:

    Makefile:xxxx: target '.build/pot/po/FOO.c.po' given more than once
                   in the same rule

The duplicate targets are introduced by the following pattern rule we
added in the preceding commit for incremental build of "po/git.pot".

    $(LOCALIZED_C_GEN_PO): .build/pot/po/%.po: %

Although we have resolved this issue by sorting to create a unique
$(LOCALIZED_C), other targets may benefit from this. Such as: tags,
cscope.out, etc.

Reported-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 72a3ddaed4..0cc397d214 100644
--- a/Makefile
+++ b/Makefile
@@ -845,7 +845,7 @@ generated-hdrs: $(GENERATED_H)
 ## Exhaustive lists of our source files, either dynamically generated,
 ## or hardcoded.
 SOURCES_CMD = ( \
-	git ls-files \
+	git ls-files --deduplicate \
 		'*.[hcS]' \
 		'*.sh' \
 		':!*[tp][0-9][0-9][0-9][0-9]*' \
@@ -862,7 +862,7 @@ SOURCES_CMD = ( \
 		-o \( -name '*.sh' -type f -print \) \
 		| sed -e 's|^\./||' \
 	)
-FOUND_SOURCE_FILES := $(shell $(SOURCES_CMD))
+FOUND_SOURCE_FILES := $(filter-out $(GENERATED_H),$(shell $(SOURCES_CMD)))
 
 FOUND_C_SOURCES = $(filter %.c,$(FOUND_SOURCE_FILES))
 FOUND_H_SOURCES = $(filter %.h,$(FOUND_SOURCE_FILES))
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v5 06/10] po/git.pot: this is now a generated file
  2022-05-23 15:21     ` [PATCH v4 " Jiang Xin
                         ` (6 preceding siblings ...)
  2022-05-26 14:50       ` [PATCH v5 05/10] Makefile: remove duplicate and unwanted files in FOUND_SOURCE_FILES Jiang Xin
@ 2022-05-26 14:50       ` Jiang Xin
  2022-05-26 17:32         ` Junio C Hamano
  2022-05-26 14:50       ` [PATCH v5 07/10] po/git.pot: don't check in result of "make pot" Jiang Xin
                         ` (3 subsequent siblings)
  11 siblings, 1 reply; 110+ messages in thread
From: Jiang Xin @ 2022-05-26 14:50 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

We no longer keep track of the contents of this file.

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Please remove the "po/git.pot" file manually.

 po/git.pot | 25151 ---------------------------------------------------
 1 file changed, 25151 deletions(-)
 delete mode 100644 po/git.pot


^ permalink raw reply	[flat|nested] 110+ messages in thread

* [PATCH v5 07/10] po/git.pot: don't check in result of "make pot"
  2022-05-23 15:21     ` [PATCH v4 " Jiang Xin
                         ` (7 preceding siblings ...)
  2022-05-26 14:50       ` [PATCH v5 06/10] po/git.pot: this is now a generated file Jiang Xin
@ 2022-05-26 14:50       ` Jiang Xin
  2022-05-26 14:50       ` [PATCH v5 08/10] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
                         ` (2 subsequent siblings)
  11 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-26 14:50 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin, Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Remove the "po/git.pot" file from being tracked, which started with
dce37b66fb0 (l10n: initial git.pot for 1.7.10 upcoming release,
2012-02-13).

The reason the po/git.pot started being checked in was because the
po/*.po files were changed a schema where we'd generate them from a
known-good snapshot of po/git.pot, instead of each translator running
"make pot" themselves.

This makes sense, but we don't need to carry this file in-tree just to
achieve that aim, and doing so has resulted in a significant amount of
"diff churn" since this method of doing it was introduced:

    $ git log -p --oneline -- po/git.pot|wc -l
    553743

We can instead let l10n contributors to generate "po/git.pot" in runtime
to update their own "po/XX.po", and the l10n coordinator can check
pull requests using CI pipeline.

This reverts to the schema introduced initially in cd5513a7168 (i18n:
Makefile: "pot" target to extract messages marked for translation,
2011-02-22).

The actual "git rm" of po/git.pot was in preceding commit to make this
change easier to review, and to preempt the mailing list from blocking
it due to it being too large.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Makefile      | 5 +++--
 po/.gitignore | 1 +
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 0cc397d214..cc3eb856b2 100644
--- a/Makefile
+++ b/Makefile
@@ -2786,8 +2786,8 @@ endef
 	$(call mkdir_p_parent_template)
 	$(QUIET_GEN)$(gen_pot_header)
 
-po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO) FORCE
-	$(QUIET_GEN)$(MSGCAT) $(filter-out FORCE,$^) >$@
+po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
+	$(QUIET_GEN)$(MSGCAT) $^ >$@
 
 .PHONY: pot
 pot: po/git.pot
@@ -3330,6 +3330,7 @@ cocciclean:
 
 clean: profile-clean coverage-clean cocciclean
 	$(RM) -r .build
+	$(RM) po/git.pot
 	$(RM) *.res
 	$(RM) $(OBJECTS)
 	$(RM) $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(REFTABLE_TEST_LIB)
diff --git a/po/.gitignore b/po/.gitignore
index 796b96d1c4..37d1301b32 100644
--- a/po/.gitignore
+++ b/po/.gitignore
@@ -1 +1,2 @@
 /build
+/git.pot
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v5 08/10] Makefile: add "po-update" rule to update po/XX.po
  2022-05-23 15:21     ` [PATCH v4 " Jiang Xin
                         ` (8 preceding siblings ...)
  2022-05-26 14:50       ` [PATCH v5 07/10] po/git.pot: don't check in result of "make pot" Jiang Xin
@ 2022-05-26 14:50       ` Jiang Xin
  2022-05-26 14:50       ` [PATCH v5 09/10] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
  2022-05-26 14:50       ` [PATCH v5 10/10] l10n: Document the new l10n workflow Jiang Xin
  11 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-26 14:50 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Jiang Xin, Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

Since there is no longer a "po/git.pot" file in tree, a l10n team leader
has to run several commands to update their "po/XX.po" file:

    $ make pot
    $ msgmerge --add-location --backup=off -U po/XX.po po/git.pot

To make this process easier, add a new rule so that l10n team leaders
can update their "po/XX.po" with one command. E.g.:

    $ make po-update PO_FILE=po/zh_CN.po

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 Makefile   | 18 ++++++++++++++++++
 shared.mak |  1 +
 2 files changed, 19 insertions(+)

diff --git a/Makefile b/Makefile
index cc3eb856b2..efd242b255 100644
--- a/Makefile
+++ b/Makefile
@@ -571,6 +571,7 @@ TCLTK_PATH = wish
 XGETTEXT = xgettext
 MSGCAT = msgcat
 MSGFMT = msgfmt
+MSGMERGE = msgmerge
 CURL_CONFIG = curl-config
 GCOV = gcov
 STRIP = strip
@@ -2715,6 +2716,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
 	--keyword=gettextln --keyword=eval_gettextln
 XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
 	--keyword=__ --keyword=N__ --keyword="__n:1,2"
+MSGMERGE_FLAGS = --add-location --backup=off --update
 LOCALIZED_C = $(sort $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
 	        $(GENERATED_H))
 LOCALIZED_SH = $(sort $(SCRIPT_SH) git-sh-setup.sh)
@@ -2792,6 +2794,22 @@ po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
 .PHONY: pot
 pot: po/git.pot
 
+define check_po_file_envvar
+	$(if $(PO_FILE), \
+		$(if $(filter po/%.po,$(PO_FILE)), , \
+			$(error PO_FILE should match pattern: "po/%.po")), \
+		$(error PO_FILE is not defined))
+endef
+
+.PHONY: po-update
+po-update: po/git.pot
+	$(check_po_file_envvar)
+	@if test ! -e $(PO_FILE); then \
+		echo >&2 "error: $(PO_FILE) does not exist"; \
+		exit 1; \
+	fi
+	$(QUIET_MSGMERGE)$(MSGMERGE) $(MSGMERGE_FLAGS) $(PO_FILE) po/git.pot
+
 .PHONY: check-pot
 check-pot: $(LOCALIZED_ALL_GEN_PO)
 
diff --git a/shared.mak b/shared.mak
index 50d4596f0d..8cd170a7e7 100644
--- a/shared.mak
+++ b/shared.mak
@@ -63,6 +63,7 @@ ifndef V
 	QUIET_LNCP     = @echo '   ' LN/CP $@;
 	QUIET_XGETTEXT = @echo '   ' XGETTEXT $@;
 	QUIET_MSGFMT   = @echo '   ' MSGFMT $@;
+	QUIET_MSGMERGE = @echo '   ' MSGMERGE $@;
 	QUIET_GCOV     = @echo '   ' GCOV $@;
 	QUIET_SP       = @echo '   ' SP $<;
 	QUIET_HDR      = @echo '   ' HDR $(<:hcc=h);
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v5 09/10] Makefile: add "po-init" rule to initialize po/XX.po
  2022-05-23 15:21     ` [PATCH v4 " Jiang Xin
                         ` (9 preceding siblings ...)
  2022-05-26 14:50       ` [PATCH v5 08/10] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
@ 2022-05-26 14:50       ` Jiang Xin
  2022-05-26 14:50       ` [PATCH v5 10/10] l10n: Document the new l10n workflow Jiang Xin
  11 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-26 14:50 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

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>
---
 Makefile      | 40 +++++++++++++++++++++++++++++++++++++++-
 po/.gitignore |  1 +
 shared.mak    |  1 +
 3 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index efd242b255..0a5b4b4ede 100644
--- a/Makefile
+++ b/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)
diff --git a/po/.gitignore b/po/.gitignore
index 37d1301b32..ff0e5176a6 100644
--- a/po/.gitignore
+++ b/po/.gitignore
@@ -1,2 +1,3 @@
 /build
 /git.pot
+/git-core.pot
diff --git a/shared.mak b/shared.mak
index 8cd170a7e7..4330192e9c 100644
--- a/shared.mak
+++ b/shared.mak
@@ -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 $@;
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* [PATCH v5 10/10] l10n: Document the new l10n workflow
  2022-05-23 15:21     ` [PATCH v4 " Jiang Xin
                         ` (10 preceding siblings ...)
  2022-05-26 14:50       ` [PATCH v5 09/10] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
@ 2022-05-26 14:50       ` Jiang Xin
  11 siblings, 0 replies; 110+ messages in thread
From: Jiang Xin @ 2022-05-26 14:50 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano, Git List
  Cc: Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin, Jiang Xin

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Change the "flow" of how translators interact with the l10n repository
at [1] to adjust it for a new workflow of not having a po/git.pot file
in-tree at all, and to not commit line numbers to the po/*.po files
that we do track in tree.

The current workflow was added in a combination of dce37b66fb0 (l10n:
initial git.pot for 1.7.10 upcoming release, 2012-02-13) and
271ce198cd0 (Update l10n guide, 2012-02-29).

As noted in preceding commits I think that it came about due to
technical debt I'd left behind in how the "po/git.pot" file was
created, and a mis-impression that the file:line comments were needed
as anything more than a transitory translation aid.

As the updated po/README.md shows the new workflow is substantially
the same, the difference is that translators no longer need to
initially pull from the l10n coordinator for a new po/git.pot, they
can simply use git.git's canonical source repository.

The l10n coordinator is still expected to announce a release to
translate, which presumably would always be Junio's latest release
tag. I'm not certain if this part of the process is actually
important. I.e. the delta translation-wise between that tag and
"master" is usually pretty small, so perhaps translators can just work
on "master" instead.

1. https://github.com/git-l10n/git-po/

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 po/README.md | 230 ++++++++++++++++++++++++++-------------------------
 1 file changed, 117 insertions(+), 113 deletions(-)

diff --git a/po/README.md b/po/README.md
index 19fabb4acf..74856ca5bf 100644
--- a/po/README.md
+++ b/po/README.md
@@ -9,8 +9,14 @@ coordinates our localization effort in the l10 coordinator repository:
 
     https://github.com/git-l10n/git-po/
 
-The two character language translation codes are defined by ISO\_639-1, as
-stated in the gettext(1) full manual, appendix A.1, Usual Language Codes.
+We will use XX as an alias to refer to the language translation code in
+the following paragraphs, for example we use "po/XX.po" to refer to the
+translation file for a specific language. But this doesn't mean that
+the language code has only two letters. The language code can be in one
+of two forms: "ll" or "ll\_CC". Here "ll" is the ISO 639 two-letter
+language code and "CC" is the ISO 3166 two-letter code for country names
+and subdivisions. For example: "de" for German language code, "zh\_CN"
+for Simplified Chinese language code.
 
 
 ## Contributing to an existing translation
@@ -39,72 +45,74 @@ language, so that the l10n coordinator only needs to interact with one
 person per language.
 
 
-## Core translation
+## Translation Process Flow
 
-The core translation is the smallest set of work that must be completed
-for a new language translation. Because there are more than 5000 messages
-in the template message file "po/git.pot" that need to be translated,
-this is not a piece of cake for the contributor for a new language.
+The overall data-flow looks like this:
 
-The core template message file which contains a small set of messages
-will be generated in "po-core/core.pot" automatically by running a helper
-program named "git-po-helper" (described later).
+    +-------------------+             +------------------+
+    | Git source code   | ----(2)---> | L10n coordinator |
+    | repository        | <---(5)---- | repository       |
+    +-------------------+             +------------------+
+                    |                     |    ^
+                   (1)                   (3)  (4)
+                    V                     v    |
+               +----------------------------------+
+               |        Language Team XX          |
+               +----------------------------------+
 
-```shell
-git-po-helper init --core XX.po
-```
+- Translatable strings are marked in the source file.
+- Language teams can start translation iterations at any time, even
+  before the l10n window opens:
 
-After translating the generated "po-core/XX.po", you can merge it to
-"po/XX.po" using the following commands:
+  + Pull from the master branch of the source (1)
+  + Update the message file by running "make po-update PO\_FILE=po/XX.po"
+  + Translate the message file "po/XX.po"
 
-```shell
-msgcat po-core/XX.po po/XX.po -s -o /tmp/XX.po
-mv /tmp/XX.po po/XX.po
-git-po-helper update XX.po
-```
+- The L10n coordinator pulls from source and announces the l10n window
+  open (2)
+- Language team pulls from the l10n coordinator, starts another
+  translation iteration against the l10n coordinator's tree (3)
 
-Edit "po/XX.po" by hand to fix "fuzzy" messages, which may have misplaced
-translated messages and duplicate messages.
+  + Run "git pull --rebase" from the l10n coordinator
+  + Update the message file by running "make po-update PO\_FILE=po/XX.po"
+  + Translate the message file "po/XX.po"
+  + Squash trivial l10n git commits using "git rebase -i"
 
+- Language team sends pull request to the l10n coordinator (4)
+- L10n coordinator checks and merges
+- L10n coordinator asks the result to be pulled (5).
 
-## Translation Process Flow
 
-The overall data-flow looks like this:
+## Dynamically generated POT files
 
-    +-------------------+            +------------------+
-    | Git source code   | ---(1)---> | L10n coordinator |
-    | repository        | <---(4)--- | repository       |
-    +-------------------+            +------------------+
-                                          |      ^
-                                         (2)    (3)
-                                          V      |
-                                     +------------------+
-                                     | Language Team XX |
-                                     +------------------+
+POT files are templates for l10n contributors to create or update their
+translation files. We used to have the "po/git.pot" file which was
+generated by the l10n coordinator, but this file had been removed from
+the tree.
 
-- Translatable strings are marked in the source file.
-- L10n coordinator pulls from the source (1)
-- L10n coordinator updates the message template "po/git.pot"
-- Language team pulls from L10n coordinator (2)
-- Language team updates the message file "po/XX.po"
-- L10n coordinator pulls from Language team (3)
-- L10n coordinator asks the result to be pulled (4).
+The two POT files "po/git.pot" and "po/git-core.pot" can be created
+dynamically when necessary.
 
+L10n contributors use "po/git.pot" to prepare translations for their
+languages, but they are not expected to modify it. The "po/git.pot" file
+can be generated manually with the following command:
 
-## Maintaining the "po/git.pot" file
+```shell
+make po/git.pot
+```
 
-(This is done by the l10n coordinator).
+The "po/git-core.pot" file is the template for core translations. A core
+translation is the minimum set of work necessary to complete a
+translation of a new language. Since there are more than 5000 messages
+in the full set of template message file "po/git.pot" that need to be
+translated, this is not a piece of cake for new language contributors.
 
-The "po/git.pot" file contains a message catalog extracted from Git's
-sources. The l10n coordinator maintains it by adding new translations with
-msginit(1), or update existing ones with msgmerge(1).  In order to update
-the Git sources to extract the messages from, the l10n coordinator is
-expected to pull from the main git repository at strategic point in
-history (e.g. when a major release and release candidates are tagged),
-and then run "make pot" at the top-level directory.
+The "core" template file "po/git-core.pot" can be generated manually
+by running:
 
-Language contributors use this file to prepare translations for their
-language, but they are not expected to modify it.
+```shell
+make po/git-core.pot
+```
 
 
 ## Initializing a "XX.po" file
@@ -115,32 +123,14 @@ If your language XX does not have translated message file "po/XX.po" yet,
 you add a translation for the first time by running:
 
 ```shell
-msginit --locale=XX
+make po-init PO_FILE=po/XX.po
 ```
 
-in the "po/" directory, where XX is the locale, e.g. "de", "is", "pt\_BR",
-"zh\_CN", etc.
-
-Then edit the automatically generated copyright info in your new "XX.po"
-to be correct, e.g. for Icelandic:
-
-```diff
-@@ -1,6 +1,6 @@
--# Icelandic translations for PACKAGE package.
--# Copyright (C) 2010 THE PACKAGE'S COPYRIGHT HOLDER
--# This file is distributed under the same license as the PACKAGE package.
-+# Icelandic translations for Git.
-+# Copyright (C) 2010 Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-+# This file is distributed under the same license as the Git package.
- # Ævar Arnfjörð Bjarmason <avarab@gmail.com>, 2010.
-```
-
-And change references to PACKAGE VERSION in the PO Header Entry to
-just "Git":
+where XX is the locale, e.g. "de", "is", "pt\_BR", "zh\_CN", etc.
 
-```shell
-perl -pi -e 's/(?<="Project-Id-Version: )PACKAGE VERSION/Git/' XX.po
-```
+The newly generated message file "po/XX.po" is based on the core pot
+file "po/git-core.pot", so it contains only a minimal set of messages
+and it's a good start for a new language contribution.
 
 Once you are done testing the translation (see below), commit the result
 and ask the l10n coordinator to pull from you.
@@ -153,19 +143,53 @@ and ask the l10n coordinator to pull from you.
 If you are replacing translation strings in an existing "XX.po" file to
 improve the translation, just edit the file.
 
-If there's an existing "XX.po" file for your language, but the repository
-of the l10n coordinator has newer "po/git.pot" file, you would need to first
-pull from the l10n coordinator (see the beginning of this document for its
-URL), and then update the existing translation by running:
+If you want to find new translatable strings in source files of upstream
+repository and propagate them to your "po/XX.po", run command:
 
 ```shell
-msgmerge --add-location --backup=off -U XX.po git.pot
+make po-update PO_FILE=po/XX.po
 ```
 
-in the "po/" directory, where "XX.po" is the file you want to update.
+It will:
 
-Once you are done testing the translation (see below), commit the result
-and ask the l10n coordinator to pull from you.
+- Call "make po/git.pot" to generate new "po/git.pot" file
+- Call "msgmerge --add-location --backup=off -U po/XX.po po/git.pot"
+  to update your "po/XX.po"
+- The "--add-location" option for msgmerge will add location lines,
+  and these location lines will help translation tools to locate
+  translation context easily.
+
+Once you are done testing the translation (see below), it's better
+to commit a location-less "po/XX.po" file to save repository space
+and make a user-friendly patch for review.
+
+To save a location-less "po/XX.po" automatically in repository, you
+can:
+
+First define a new attribute for "po/XX.po" by appending the following
+line in ".git/info/attributes":
+
+```
+/po/XX.po filter=gettext-no-location
+```
+
+Then define the driver for the "gettext-no-location" clean filter to
+strip out both filenames and locations from the contents as follows:
+
+```shell
+git config --global filter.gettext-no-location.clean \
+           "msgcat --no-location -"
+```
+
+For users who have gettext version 0.20 or higher, it is also possible
+to define a clean filter to preserve filenames but not locations:
+
+```shell
+git config --global filter.gettext-no-location.clean \
+           "msgcat --add-location=file -"
+```
+
+You're now ready to ask the l10n coordinator to pull from you.
 
 
 ## Fuzzy translation
@@ -196,6 +220,14 @@ common errors, e.g. missing printf format strings, or translated
 messages that deviate from the originals in whether they begin/end
 with a newline or not.
 
+L10n coordinator will check your contributions using a helper program
+(see "PO helper" section below):
+
+```shell
+git-po-helper check-po po/XX.po
+git-po-helper check-commits <rev-list-opts>
+```
+
 
 ## Marking strings for translation
 
@@ -370,29 +402,6 @@ l10n workflow.
 To build and install the helper program from source, see
 [git-po-helper/README][].
 
-Usage for git-po-helper:
-
-- To start a new language translation:
-
-  ```shell
-  git-po-helper init XX.po
-  ```
-
-- To update your "XX.po" file:
-
-  ```shell
-  git-po-helper update XX.po
-  ```
-
-- To check commit log and syntax of "XX.po":
-
-  ```shell
-  git-po-helper check-po XX.po
-  git-po-helper check-commits
-  ```
-
-Run "git-po-helper" without arguments to show usage.
-
 
 ## Conventions
 
@@ -436,13 +445,8 @@ additional conventions:
 - Initialize proper filename of the "XX.po" file conforming to
   iso-639 and iso-3166.
 
-- Must complete a minimal translation based on the "po-core/core.pot"
-  template. Using the following command to initialize the minimal
-  "po-core/XX.po" file:
-
-  ```shell
-  git-po-helper init --core <your-language>
-  ```
+- Must complete a minimal translation based on the "Core
+  translation". See that section above.
 
 - Add a new entry in the "po/TEAMS" file with proper format, and check
   the syntax of "po/TEAMS" by running the following command:
-- 
2.36.0.1.g15c4090757


^ permalink raw reply related	[flat|nested] 110+ messages in thread

* Re: [PATCH] Makefile: dedup git-ls-files output to prevent duplicate targets
  2022-05-26 10:00                     ` Ævar Arnfjörð Bjarmason
  2022-05-26 11:06                       ` Jiang Xin
@ 2022-05-26 17:18                       ` Junio C Hamano
  2022-05-26 18:25                         ` Ævar Arnfjörð Bjarmason
  1 sibling, 1 reply; 110+ messages in thread
From: Junio C Hamano @ 2022-05-26 17:18 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: Jiang Xin, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan

Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:

> I pointed out then that with --sort-by-file added we:
>
>  * Don't group the translations by C/SH/Perl anymore
>  * Change the sort order within files, to be line/sorted instead of
>    line/order (i.e. first occurring translations first)
>
> I suggested then to just use $(sort) on the respective lists.
>
> So why not just:
>
>  1. Switch to the $(FOUND_C_SOURCES) (good)
>  2. Filter that by C/Perl/SH as before (just a simple $(filter)
>  3. $(sort) that (which as noted, also de-dupes it)
>
> Then we don't have any of the behavior change of --sort-by-file, and we
> don't have to carefully curate the ls-files/find commands to not include
> duplicates (although as seen here that seems to have been a useful
> canary in the "find" case).

Does "--sort-by-file" really mean that?

The option is documented to sort output by file location, but does
it mean without the option (i.e. default), there is no guarantee in
the output order?  Or are we sure that the output is sorted by the
order of input files, and that is guaranteed to hold in the future?

If we are depending on certain ordering of the output produced by
gettext suite of programs, I would keep the option, regardless of
what we do to the input to them, if I were running the i18n part of
this project.

But I am not, so I would not complain if --sort-by-file is dropped
against my advice ;-)


^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH v5 06/10] po/git.pot: this is now a generated file
  2022-05-26 14:50       ` [PATCH v5 06/10] po/git.pot: this is now a generated file Jiang Xin
@ 2022-05-26 17:32         ` Junio C Hamano
  0 siblings, 0 replies; 110+ messages in thread
From: Junio C Hamano @ 2022-05-26 17:32 UTC (permalink / raw)
  To: Jiang Xin
  Cc: Ævar Arnfjörð Bjarmason, Git List,
	Alexander Shopov, Jordi Mas, Matthias Rüster,
	Jimmy Angelakos, Christopher Díaz, Jean-Noël Avila,
	Bagas Sanjaya, Alessandro Menti, Gwan-gyeong Mun, Arusekk,
	Daniel Santos, Dimitriy Ryazantcev, Peter Krefting, Emir SARI,
	Trần Ngọc Quân, Fangyi Zhou, Yi-Jyun Pan,
	Jiang Xin

Jiang Xin <worldhello.net@gmail.com> writes:

> We no longer keep track of the contents of this file.
>
> Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> ---
>  Please remove the "po/git.pot" file manually.
>
>  po/git.pot | 25151 ---------------------------------------------------
>  1 file changed, 25151 deletions(-)
>  delete mode 100644 po/git.pot

FWIW, these large patches from previous rounds seem to have finally
appeared in the list archive, e.g.

https://lore.kernel.org/git/20220523152128.26380-1-worldhello.net@gmail.com/T/#m505ac9e82e1bbd280c4993027e6bcf0740473fda

Will commit a removal for now.

Thanks.

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH] Makefile: dedup git-ls-files output to prevent duplicate targets
  2022-05-26 17:18                       ` Junio C Hamano
@ 2022-05-26 18:25                         ` Ævar Arnfjörð Bjarmason
  2022-05-26 19:00                           ` Junio C Hamano
  0 siblings, 1 reply; 110+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-05-26 18:25 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Jiang Xin, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan


On Thu, May 26 2022, Junio C Hamano wrote:

> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
>
>> I pointed out then that with --sort-by-file added we:
>>
>>  * Don't group the translations by C/SH/Perl anymore
>>  * Change the sort order within files, to be line/sorted instead of
>>    line/order (i.e. first occurring translations first)
>>
>> I suggested then to just use $(sort) on the respective lists.
>>
>> So why not just:
>>
>>  1. Switch to the $(FOUND_C_SOURCES) (good)
>>  2. Filter that by C/Perl/SH as before (just a simple $(filter)
>>  3. $(sort) that (which as noted, also de-dupes it)
>>
>> Then we don't have any of the behavior change of --sort-by-file, and we
>> don't have to carefully curate the ls-files/find commands to not include
>> duplicates (although as seen here that seems to have been a useful
>> canary in the "find" case).
>
> Does "--sort-by-file" really mean that?
>
> The option is documented to sort output by file location, but does
> it mean without the option (i.e. default), there is no guarantee in
> the output order?  Or are we sure that the output is sorted by the
> order of input files, and that is guaranteed to hold in the future?
>
> If we are depending on certain ordering of the output produced by
> gettext suite of programs, I would keep the option, regardless of
> what we do to the input to them, if I were running the i18n part of
> this project.
>
> But I am not, so I would not complain if --sort-by-file is dropped
> against my advice ;-)

The gettext docs are pretty light on the subject, but the default "sort
order" is none at all. I.e. it'll just inhale source and spew out
translations in the order you feed them to xgettext.

So in order of input files, and then in order they're seen in the
program.

I don't think that's ever going to change.

The --sort-output and and --sort-by-file then re-sort that.

AFAICT the --sort-by-file could be more accurately named
--sort-by-file-then-line-number-then-by-msgid.

I.e. the semantics seem to be to sort by file, then emit messages in the
order they appear in the file *by line*, but within a line act as though
--sort-output was given. I don't know if that's intentional or not.


^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH] Makefile: dedup git-ls-files output to prevent duplicate targets
  2022-05-26 18:25                         ` Ævar Arnfjörð Bjarmason
@ 2022-05-26 19:00                           ` Junio C Hamano
  2022-05-26 19:17                             ` Ævar Arnfjörð Bjarmason
  0 siblings, 1 reply; 110+ messages in thread
From: Junio C Hamano @ 2022-05-26 19:00 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: Jiang Xin, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan

Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:

>> Does "--sort-by-file" really mean that?
>>
>> The option is documented to sort output by file location, but does
>> it mean without the option (i.e. default), there is no guarantee in
>> the output order?  Or are we sure that the output is sorted by the
>> order of input files, and that is guaranteed to hold in the future?
>>
>> If we are depending on certain ordering of the output produced by
>> gettext suite of programs, I would keep the option, regardless of
>> what we do to the input to them, if I were running the i18n part of
>> this project.
>>
>> But I am not, so I would not complain if --sort-by-file is dropped
>> against my advice ;-)
>
> The gettext docs are pretty light on the subject, but the default "sort
> order" is none at all. I.e. it'll just inhale source and spew out
> translations in the order you feed them to xgettext.
>
> So in order of input files, and then in order they're seen in the
> program.
>
> I don't think that's ever going to change.

OK, so as long as make's notion of $(sort) and gettext suite's
notion of --sort-by-file are the same, we didn't make any change,
and even if they were different, since there is no version of Git
that uses "--sort-by-file" while preparing the po and pot files, it
still is OK.  As long as make's $(sort) is as stable as gettext
suite's "--sort-by-file" across developer locales (and our filenames
are ascii-only and hopefully will stay that way), everybody will get
the messages in the same order either way (or we would have the same
problem so switching from --sort-by-file to $(sort) is not making
anything worse).



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: [PATCH] Makefile: dedup git-ls-files output to prevent duplicate targets
  2022-05-26 19:00                           ` Junio C Hamano
@ 2022-05-26 19:17                             ` Ævar Arnfjörð Bjarmason
  0 siblings, 0 replies; 110+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-05-26 19:17 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Jiang Xin, Git List, Jiang Xin, Alexander Shopov, Jordi Mas,
	Matthias Rüster, Jimmy Angelakos, Christopher Díaz,
	Jean-Noël Avila, Bagas Sanjaya, Alessandro Menti,
	Gwan-gyeong Mun, Arusekk, Daniel Santos, Dimitriy Ryazantcev,
	Peter Krefting, Emir SARI, Trần Ngọc Quân,
	Fangyi Zhou, Yi-Jyun Pan


On Thu, May 26 2022, Junio C Hamano wrote:

> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
>
>>> Does "--sort-by-file" really mean that?
>>>
>>> The option is documented to sort output by file location, but does
>>> it mean without the option (i.e. default), there is no guarantee in
>>> the output order?  Or are we sure that the output is sorted by the
>>> order of input files, and that is guaranteed to hold in the future?
>>>
>>> If we are depending on certain ordering of the output produced by
>>> gettext suite of programs, I would keep the option, regardless of
>>> what we do to the input to them, if I were running the i18n part of
>>> this project.
>>>
>>> But I am not, so I would not complain if --sort-by-file is dropped
>>> against my advice ;-)
>>
>> The gettext docs are pretty light on the subject, but the default "sort
>> order" is none at all. I.e. it'll just inhale source and spew out
>> translations in the order you feed them to xgettext.
>>
>> So in order of input files, and then in order they're seen in the
>> program.
>>
>> I don't think that's ever going to change.
>
> OK, so as long as make's notion of $(sort) and gettext suite's
> notion of --sort-by-file are the same.

They're not, I mean $(sort) and xgettext's *default* behavior are the
same, but the --sort-by-file is not only a sort by file, it also affects
intra-line-number sorting, although that's an admittedly obscure case
(we have <10 messages where it matters, I think).

> , we didn't make any change, and even if they were different, since
> there is no version of Git that uses "--sort-by-file" while preparing
> the po and pot files, it still is OK.

Well, it would be OK in any case, this is just how we prepare the
git.pot file, but it does affect diff churn eventually in the *.po
files.

> As long as make's $(sort) is as stable as gettext
> suite's "--sort-by-file" across developer locales (and our filenames
> are ascii-only and hopefully will stay that way), everybody will get
> the messages in the same order either way (or we would have the same
> problem so switching from --sort-by-file to $(sort) is not making
> anything worse).

FWIW we can't in the general case rely on the Makefile's $(sort) working
the same way across our platforms, but I don't think it matters in this
case. IIRC there's versions of one Windows setup or another (this was
via CI) where "-" at least (the purely ASCII one) sorts differently.

I ran into that in some Makefile experiments where I wanted to use
$(sort) to assert that our various hardcoded lists were in sorted order
already.

^ permalink raw reply	[flat|nested] 110+ messages in thread

end of thread, other threads:[~2022-05-26 19:21 UTC | newest]

Thread overview: 110+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
2022-05-03 13:23 ` [PATCH 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
2022-05-03 13:23 ` [PATCH 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
2022-05-03 13:23 ` [PATCH 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
2022-05-03 13:23 ` [PATCH 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
2022-05-03 13:23 ` [PATCH 5/9] po/git.pot: don't check in result of "make pot" Jiang Xin
2022-05-03 13:23 ` [PATCH 6/9] po/git.pot: remove this now generated file, see preceding commit Jiang Xin
2022-05-03 13:23 ` [PATCH 7/9] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
2022-05-03 13:23 ` [PATCH 8/9] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
2022-05-03 13:23 ` [PATCH 9/9] l10n: Document the new l10n workflow Jiang Xin
2022-05-03 14:07 ` [PATCH 0/9] Incremental po/git.pot update and " Peter Krefting
2022-05-04 12:41   ` Jiang Xin
2022-05-04 14:35 ` Junio C Hamano
2022-05-04 14:51   ` Daniel Santos
2022-05-05  0:20     ` Jiang Xin
2022-05-05 22:00       ` Daniel Santos
2022-05-05 22:49         ` Junio C Hamano
2022-05-06  0:50         ` Jiang Xin
2022-05-05  0:07   ` Jiang Xin
2022-05-04 17:58 ` Junio C Hamano
2022-05-19  8:15 ` [PATCH v2 " Jiang Xin
2022-05-19 10:28   ` Ævar Arnfjörð Bjarmason
2022-05-19 14:32     ` Jiang Xin
2022-05-19 14:41       ` Ævar Arnfjörð Bjarmason
2022-05-23  1:25   ` [PATCH v3 " Jiang Xin
2022-05-23  7:15     ` Ævar Arnfjörð Bjarmason
2022-05-23  8:12       ` Ævar Arnfjörð Bjarmason
2022-05-23 13:42         ` Jiang Xin
2022-05-23 14:38           ` Ævar Arnfjörð Bjarmason
2022-05-23 16:13             ` Jiang Xin
2022-05-23  8:26       ` Jiang Xin
2022-05-23 15:21     ` [PATCH v4 " Jiang Xin
2022-05-23 18:19       ` Junio C Hamano
2022-05-26 14:50       ` [PATCH v5 00/10] " Jiang Xin
2022-05-26 14:50       ` [PATCH v5 01/10] Makefile: sort source files before feeding to xgettext Jiang Xin
2022-05-26 14:50       ` [PATCH v5 02/10] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
2022-05-26 14:50       ` [PATCH v5 03/10] Makefile: have "make pot" not "reset --hard" Jiang Xin
2022-05-26 14:50       ` [PATCH v5 04/10] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
2022-05-26 14:50       ` [PATCH v5 05/10] Makefile: remove duplicate and unwanted files in FOUND_SOURCE_FILES Jiang Xin
2022-05-26 14:50       ` [PATCH v5 06/10] po/git.pot: this is now a generated file Jiang Xin
2022-05-26 17:32         ` Junio C Hamano
2022-05-26 14:50       ` [PATCH v5 07/10] po/git.pot: don't check in result of "make pot" Jiang Xin
2022-05-26 14:50       ` [PATCH v5 08/10] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
2022-05-26 14:50       ` [PATCH v5 09/10] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
2022-05-26 14:50       ` [PATCH v5 10/10] l10n: Document the new l10n workflow Jiang Xin
2022-05-23 15:21     ` [PATCH v4 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
2022-05-23 15:21     ` [PATCH v4 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
2022-05-23 15:21     ` [PATCH v4 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
2022-05-25 22:19       ` Junio C Hamano
2022-05-25 22:24         ` Junio C Hamano
2022-05-26  1:10           ` Jiang Xin
2022-05-26  2:15           ` [PATCH] Makefile: dedup git-ls-files output to prevent duplicate targets Jiang Xin
2022-05-26  4:02             ` Junio C Hamano
2022-05-26  6:06               ` Jiang Xin
2022-05-26  6:23                 ` Junio C Hamano
2022-05-26  7:04                   ` Jiang Xin
2022-05-26 10:00                     ` Ævar Arnfjörð Bjarmason
2022-05-26 11:06                       ` Jiang Xin
2022-05-26 17:18                       ` Junio C Hamano
2022-05-26 18:25                         ` Ævar Arnfjörð Bjarmason
2022-05-26 19:00                           ` Junio C Hamano
2022-05-26 19:17                             ` Ævar Arnfjörð Bjarmason
2022-05-23 15:21     ` [PATCH v4 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
2022-05-23 15:21     ` [PATCH v4 5/9] po/git.pot: this is now a generated file Jiang Xin
2022-05-23 15:21     ` [PATCH v4 6/9] po/git.pot: don't check in result of "make pot" Jiang Xin
2022-05-23 15:21     ` [PATCH v4 7/9] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
2022-05-23 15:21     ` [PATCH v4 8/9] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
2022-05-23 15:21     ` [PATCH v4 9/9] l10n: Document the new l10n workflow Jiang Xin
2022-05-23  1:25   ` [PATCH v3 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
2022-05-23  8:05     ` Junio C Hamano
2022-05-23  8:50       ` Jiang Xin
2022-05-23  1:25   ` [PATCH v3 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
2022-05-23  8:05     ` Junio C Hamano
2022-05-23  1:25   ` [PATCH v3 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
2022-05-23  7:28     ` Ævar Arnfjörð Bjarmason
2022-05-23 15:00       ` Jiang Xin
2022-05-24  0:56       ` Jiang Xin
2022-05-23  8:15     ` Junio C Hamano
2022-05-23  9:37       ` Jiang Xin
2022-05-23  1:25   ` [PATCH v3 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
2022-05-23  1:25   ` [PATCH v3 5/9] po/git.pot: this is now a generated file Jiang Xin
2022-05-23  1:25   ` [PATCH v3 6/9] po/git.pot: don't check in result of "make pot" Jiang Xin
2022-05-23  7:26     ` Ævar Arnfjörð Bjarmason
2022-05-23  8:30       ` Jiang Xin
2022-05-23  8:35         ` Jiang Xin
2022-05-23  9:28         ` Ævar Arnfjörð Bjarmason
2022-05-23  1:25   ` [PATCH v3 7/9] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
2022-05-23  1:25   ` [PATCH v3 8/9] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
2022-05-23  1:25   ` [PATCH v3 9/9] l10n: Document the new l10n workflow Jiang Xin
2022-05-19  8:15 ` [PATCH v2 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
2022-05-19  8:53   ` Ævar Arnfjörð Bjarmason
2022-05-19 12:41     ` Jiang Xin
2022-05-19  8:15 ` [PATCH v2 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
2022-05-19  9:18   ` Ævar Arnfjörð Bjarmason
2022-05-19 12:48     ` Jiang Xin
2022-05-19  8:15 ` [PATCH v2 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
2022-05-19  9:43   ` Ævar Arnfjörð Bjarmason
2022-05-19 13:19     ` Jiang Xin
2022-05-19 14:06       ` Ævar Arnfjörð Bjarmason
2022-05-19  8:15 ` [PATCH v2 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
2022-05-19 10:02   ` Ævar Arnfjörð Bjarmason
2022-05-19  8:15 ` [PATCH v2 5/9] po/git.pot: this is now a generated file Jiang Xin
2022-05-19  8:15 ` [PATCH v2 6/9] po/git.pot: don't check in result of "make pot" Jiang Xin
2022-05-19  8:15 ` [PATCH v2 7/9] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
2022-05-19 10:07   ` Ævar Arnfjörð Bjarmason
2022-05-19  8:15 ` [PATCH v2 8/9] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
2022-05-19 10:22   ` Ævar Arnfjörð Bjarmason
2022-05-19  8:15 ` [PATCH v2 9/9] l10n: Document the new l10n workflow Jiang Xin
2022-05-19 17:18   ` Junio C Hamano
2022-05-21 15:06     ` Jiang Xin

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).