From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Calvin Wan <calvinwan@google.com>
Cc: git@vger.kernel.org, chooglen@google.com, gitster@pobox.com,
newren@gmail.com, levraiphilippeblain@gmail.com,
Johannes.Schindelin@gmx.de
Subject: Re: [PATCH v5] submodule merge: update conflict error message
Date: Mon, 25 Jul 2022 14:31:39 +0200 [thread overview]
Message-ID: <220725.86v8rlpdix.gmgdl@evledraar.gmail.com> (raw)
In-Reply-To: <20220718214349.3379328-1-calvinwan@google.com>
On Mon, Jul 18 2022, Calvin Wan wrote:
I'll have some more comments, but just on the output/i18n:
> + printf(_("Recursive merging with submodules currently only supports trivial cases.\n"
> + "Please manually handle the merging of each conflicted submodule.\n"
> + "This can be accomplished with the following steps:\n"));
> + for (i = 0; i < csub->nr; i++) {
> + printf(_(" - go to submodule (%s), and either merge commit %s\n"
> + "or update to an existing commit which has merged those changes\n"),
This seems to have some formatting issues, i.e. we'll emit things like:
- one
one continued
- tow
two continued
Whereas we want this, surely?;
- one
one continued
- two
two continued
I.e. we're using " - " to mark list items, but then not indenting the
items.
> + csub->items[i].path,
> + csub->items[i].oid);
> + if (csub->items[i].resolution_exists)
> + printf(_("such as one listed above\n"));
that people might read this backwards
You need to consider
:)
I.e. this is "translation lego" that we try to avoid.
It's a bit more verbose (but it often is, unfortunately)
I think you can borrow a bit from ba5e8a0eb80 (object-name: make
ambiguous object output translatable, 2022-01-27) here, i.e.:
1. Just translate a message like "go to submodule ...\nor update to
an", have another variant for the "resolution exists".
2. As translators retain those \n split those lines and format them
with e.g. _(" %s") (you could borrow the string used in
object-name.c via ba5e8a0eb80), or _("- %s").
This will give you list-itemized output, which will also format
correctly in RTL languages, and takes the formatting concerns
completely out of the hands of translators, and allows us to change
it later ourselves.
I.e. we can safely assume that for a \n-delimited translation we can
take \n-delimited input from a translator and treat the first line
specially as a "first line in new list item".
> + }
> + printf(_(" - come back to superproject, and `git add"));
> + for (i = 0; i < csub->nr; i++)
> + printf(_(" %s"), csub->items[i].path);
More inconsistent indentation, and per ba5e8a0eb80 you should explain
any addition of magical formatting like " %s" with a TRANSLATORS
comment.
> + printf(_("` to record the above merge or update \n"
> + " - resolve any other conflicts in the superproject\n"
> + " - commit the resulting index in the superproject\n"));
A bit more odd formatting, i.e.:
- A trailing " " before a \n?
- " " after `, what is that ` doing? At first I thought it was a typo,
but looking again it's a continuation of `` from above
It's quite odd to tell a user to run a command with the `` syntax,
which is used for interpolation. Let's instead suggest:
blah blah blah run:
git add foo \
bar \ [...]
baz
I.e. use \ at the end of lines to note a multi-line command, not wrap
the whole thing in ``-quotes.
- If a message must always end in a \n just add it between _()'s,
instead of making it part of the _() string.
next prev parent reply other threads:[~2022-07-25 12:45 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-06 23:54 [PATCH] submodule merge: update conflict error message Calvin Wan
2022-06-07 0:48 ` Junio C Hamano
2022-06-08 17:19 ` Calvin Wan
2022-06-08 17:34 ` Glen Choo
2022-06-08 18:01 ` Calvin Wan
2022-06-08 19:13 ` Junio C Hamano
2022-06-10 23:11 ` [PATCH v2] " Calvin Wan
2022-06-11 4:53 ` Elijah Newren
2022-06-11 17:08 ` Philippe Blain
2022-06-12 6:56 ` Elijah Newren
2022-06-13 2:03 ` Calvin Wan
2022-06-12 23:30 ` Junio C Hamano
2022-06-13 1:54 ` Calvin Wan
2022-06-29 22:40 ` [PATCH v3] " Calvin Wan
2022-06-30 2:40 ` Elijah Newren
2022-06-30 19:48 ` Calvin Wan
2022-07-01 4:27 ` Elijah Newren
2022-06-30 20:35 ` Glen Choo
2022-06-30 20:45 ` Glen Choo
2022-06-30 21:08 ` Calvin Wan
2022-07-12 23:19 ` [PATCH v4] " Calvin Wan
2022-07-13 18:11 ` Junio C Hamano
2022-07-17 2:46 ` Elijah Newren
2022-07-15 12:57 ` Johannes Schindelin
2022-07-16 6:22 ` Junio C Hamano
2022-07-17 2:44 ` Elijah Newren
2022-07-18 17:03 ` Calvin Wan
2022-07-18 21:43 ` [PATCH v5] " Calvin Wan
2022-07-19 6:39 ` Junio C Hamano
2022-07-19 19:30 ` Calvin Wan
2022-07-19 20:16 ` Junio C Hamano
2022-07-19 7:13 ` Junio C Hamano
2022-07-19 19:07 ` Calvin Wan
2022-07-19 20:30 ` Junio C Hamano
2022-07-25 6:05 ` Ævar Arnfjörð Bjarmason
2022-07-25 12:11 ` Ævar Arnfjörð Bjarmason
2022-07-25 22:03 ` Calvin Wan
2022-07-25 12:31 ` Ævar Arnfjörð Bjarmason [this message]
2022-07-25 21:27 ` Calvin Wan
2022-07-26 21:00 ` [PATCH v6] " Calvin Wan
2022-07-27 1:13 ` Elijah Newren
2022-07-27 22:00 ` Calvin Wan
2022-07-28 0:41 ` Elijah Newren
2022-07-28 19:06 ` Calvin Wan
2022-07-27 9:20 ` Ævar Arnfjörð Bjarmason
2022-07-28 21:12 ` [PATCH v7] " Calvin Wan
2022-07-28 23:22 ` Ævar Arnfjörð Bjarmason
2022-07-29 0:24 ` Elijah Newren
2022-08-01 22:24 ` Calvin Wan
2022-08-01 12:06 ` Ævar Arnfjörð Bjarmason
2022-08-02 0:50 ` Junio C Hamano
2022-08-02 21:03 ` Calvin Wan
2022-08-02 21:11 ` Junio C Hamano
2022-08-02 21:55 ` Calvin Wan
2022-08-02 22:22 ` Junio C Hamano
2022-08-04 19:51 ` [PATCH v8] " Calvin Wan
2022-08-16 15:58 ` Junio C Hamano
2022-08-16 18:58 ` Junio C Hamano
2022-08-16 19:34 ` Calvin Wan
2022-08-16 19:39 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=220725.86v8rlpdix.gmgdl@evledraar.gmail.com \
--to=avarab@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=calvinwan@google.com \
--cc=chooglen@google.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=levraiphilippeblain@gmail.com \
--cc=newren@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).