strcpy(path + len, "CoNfIg");
                if (!access(path, F_OK))
                        git_config_set("core.ignorecase", "true");
+               probe_utf8_pathname_composition(path, len);
        }
 
        return reinit;
                struct stat st;
 
                if (!exist_ok && !stat(git_dir, &st))
-                       die("%s already exists", git_dir);
+                       die(_("%s already exists"), git_dir);
 
                if (!exist_ok && !stat(real_git_dir, &st))
-                       die("%s already exists", real_git_dir);
+                       die(_("%s already exists"), real_git_dir);
 
                /*
                 * make sure symlinks are resolved because we'll be
                const char *src;
 
                if (S_ISREG(st.st_mode))
-                       src = read_gitfile_gently(git_link);
+                       src = read_gitfile(git_link);
                else if (S_ISDIR(st.st_mode))
                        src = git_link;
                else
-                       die("unable to handle file type %d", st.st_mode);
+                       die(_("unable to handle file type %d"), (int)st.st_mode);
 
                if (rename(src, git_dir))
-                       die_errno("unable to move %s to %s", src, git_dir);
+                       die_errno(_("unable to move %s to %s"), src, git_dir);
        }
 
        fp = fopen(git_link, "w");
        if (!fp)
-               die("Could not create git link %s", git_link);
+               die(_("Could not create git link %s"), git_link);
        fprintf(fp, "gitdir: %s\n", git_dir);
        fclose(fp);
 }
 }
 
 static const char *const init_db_usage[] = {
-       "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--shared[=<permissions>]] [directory]",
+       N_("git init [-q | --quiet] [--bare] [--template=<template-directory>] [--shared[=<permissions>]] [directory]"),
        NULL
 };
 
        const char *template_dir = NULL;
        unsigned int flags = 0;
        const struct option init_db_options[] = {
-               OPT_STRING(0, "template", &template_dir, "template-directory",
-                               "directory from which templates will be used"),
+               OPT_STRING(0, "template", &template_dir, N_("template-directory"),
+                               N_("directory from which templates will be used")),
                OPT_SET_INT(0, "bare", &is_bare_repository_cfg,
-                               "create a bare repository", 1),
+                               N_("create a bare repository"), 1),
                { OPTION_CALLBACK, 0, "shared", &init_shared_repository,
-                       "permissions",
-                       "specify that the git repository is to be shared amongst several users",
+                       N_("permissions"),
+                       N_("specify that the git repository is to be shared amongst several users"),
                        PARSE_OPT_OPTARG | PARSE_OPT_NONEG, shared_callback, 0},
-               OPT_BIT('q', "quiet", &flags, "be quiet", INIT_DB_QUIET),
-               OPT_STRING(0, "separate-git-dir", &real_git_dir, "gitdir",
-                          "separate git dir from working tree"),
+               OPT_BIT('q', "quiet", &flags, N_("be quiet"), INIT_DB_QUIET),
+               OPT_STRING(0, "separate-git-dir", &real_git_dir, N_("gitdir"),
+                          N_("separate git dir from working tree")),
                OPT_END()
        };