Eric Sunshine wrote
> On Mon, Mar 10, 2014 at 5:47 PM, Tamer TAS <
> tamertas@
> > 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
---
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.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html