git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Tamer TAS <tamertas@outlook.com>
To: git@vger.kernel.org
Subject: Re: [PATCH][GSOC2014] changed logical chain in branch.c to lookup tables
Date: Tue, 11 Mar 2014 04:33:24 -0700 (PDT)	[thread overview]
Message-ID: <1394537604079-7605407.post@n2.nabble.com> (raw)
In-Reply-To: <CAPig+cTOZrQY1azPCmzdrfut0S_-8ZDoob3cEqT7Z1kDpj+PQw@mail.gmail.com>

Eric Sunshine wrote
> On Mon, Mar 10, 2014 at 5:47 PM, Tamer TAS &lt;

> tamertas@

> &gt; wrote:
> 
> Section 4.3 of the GNU gettext manual [1] explains the issues in more
> detail. I urge you to read it. The upshot is that translators fare
> best when handed full sentences.
> 
> Note also that your change effectively reverts d53a35032a67 [2], which
> did away with the sort of string composition used in your patch.

Eric thank you for your constructive feedbacks.
I read the section 4.3 of GNU gettext manual and also checked the commit you
mentioned.
It seems like that my previous changes were not internationalization
compatible.
In order for a table-driven change to be compatible, the sentences has to be
meaningful and not tokenized.
I made the following change to the branch.c in order for the function to be
both table-driven and
internationalization compatible. Let me know if there are any oversights on
my part.

Signed-off-by: TamerTas <tamertas@outlook.com>
---
 branch.c |   39 ++++++++++++++++-----------------------
 1 file changed, 16 insertions(+), 23 deletions(-)

diff --git a/branch.c b/branch.c
index 723a36b..4c04638 100644
--- a/branch.c
+++ b/branch.c
@@ -50,10 +50,25 @@ static int should_setup_rebase(const char *origin)
 void install_branch_config(int flag, const char *local, const char *origin,
const char *remote)
 {
 	const char *shortname = remote + 11;
+    const char *setup_messages[] = {
+		_("Branch %s set up to track remote branch %s from %s."),
+		_("Branch %s set up to track local branch %s."),
+		_("Branch %s set up to track remote ref %s."),
+		_("Branch %s set up to track local ref %s."),
+		_("Branch %s set up to track remote branch %s from %s by rebasing."),
+		_("Branch %s set up to track local branch %s by rebasing."),
+		_("Branch %s set up to track remote ref %s by rebasing."),
+		_("Branch %s set up to track local ref %s by rebasing.")
+	}; 
+
 	int remote_is_branch = starts_with(remote, "refs/heads/");
 	struct strbuf key = STRBUF_INIT;
 	int rebasing = should_setup_rebase(origin);
 
+    int msg_index = (!!origin           >> 0) +
+					(!!remote_is_branch >> 1) +
+					(!!rebasing         >> 2);
+   
 	if (remote_is_branch
 	    && !strcmp(local, shortname)
 	    && !origin) {
@@ -77,29 +92,7 @@ void install_branch_config(int flag, const char *local,
const char *origin, cons
 	strbuf_release(&key);
 
 	if (flag & BRANCH_CONFIG_VERBOSE) {
-		if (remote_is_branch && origin)
-			printf_ln(rebasing ?
-				  _("Branch %s set up to track remote branch %s from %s by rebasing.")
:
-				  _("Branch %s set up to track remote branch %s from %s."),
-				  local, shortname, origin);
-		else if (remote_is_branch && !origin)
-			printf_ln(rebasing ?
-				  _("Branch %s set up to track local branch %s by rebasing.") :
-				  _("Branch %s set up to track local branch %s."),
-				  local, shortname);
-		else if (!remote_is_branch && origin)
-			printf_ln(rebasing ?
-				  _("Branch %s set up to track remote ref %s by rebasing.") :
-				  _("Branch %s set up to track remote ref %s."),
-				  local, remote);
-		else if (!remote_is_branch && !origin)
-			printf_ln(rebasing ?
-				  _("Branch %s set up to track local ref %s by rebasing.") :
-				  _("Branch %s set up to track local ref %s."),
-				  local, remote);
-		else
-			die("BUG: impossible combination of %d and %p",
-			    remote_is_branch, origin);
+		printf_ln(setup_messages[msg_index], local, remote);
 	}
 }
 
-- 
1.7.9.5



--
View this message in context: http://git.661346.n2.nabble.com/PATCH-GSOC2014-changed-logical-chain-in-branch-c-to-lookup-tables-tp7605343p7605407.html
Sent from the git mailing list archive at Nabble.com.

  reply	other threads:[~2014-03-11 11:33 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1394478262-17911-1-git-send-email-tamertas@outlook.com>
2014-03-10 19:04 ` [PATCH][GSOC2014] changed logical chain in branch.c to lookup tables TamerTas
2014-03-10 21:05   ` Stefan Beller
2014-03-10 21:25   ` Eric Sunshine
2014-03-10 21:47     ` Tamer TAS
2014-03-10 22:39       ` Eric Sunshine
2014-03-11 11:33         ` Tamer TAS [this message]
2014-03-11 20:32           ` Eric Sunshine

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=1394537604079-7605407.post@n2.nabble.com \
    --to=tamertas@outlook.com \
    --cc=git@vger.kernel.org \
    /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).