add: mark --chmod error string for translation

This error message is intended for humans, so mark it for translation.
Also use error() instead of fprintf(stderr, ...), to make the
corresponding line a bit cleaner, and to display the "error:" prefix,
which helps classifying the nature/severity of the message.

Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
Reviewed-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff --git a/builtin/add.c b/builtin/add.c
index 1e33ab8..0c5f53c 100644
--- a/builtin/add.c
+++ b/builtin/add.c
@@ -55,7 +55,7 @@
 			err = S_ISREG(ce->ce_mode) ? 0 : -1;
 
 		if (err < 0)
-			fprintf(stderr, "cannot chmod %cx '%s'\n", flip, ce->name);
+			error(_("cannot chmod %cx '%s'"), flip, ce->name);
 	}
 }
 
diff --git a/t/t3700-add.sh b/t/t3700-add.sh
index fc81f2e..6a8b94a 100755
--- a/t/t3700-add.sh
+++ b/t/t3700-add.sh
@@ -398,7 +398,7 @@
 	git reset --hard &&
 	test_ln_s_add foo foo4 &&
 	git add --chmod=+x --dry-run foo4 2>stderr &&
-	grep "cannot chmod +x .foo4." stderr
+	test_i18ngrep "cannot chmod +x .foo4." stderr
 '
 
 test_expect_success 'git add --chmod --dry-run reports error for unmatched pathspec' '