Show 12 quoted lines
> --- a/help.c
> +++ b/help.c
> @@ -217,8 +217,9 @@ void list_commands(const char *title, struct cmdnames *main_cmds,
>
> if (main_cmds->cnt) {
> const char *exec_path = git_exec_path();
> - printf("available %s in '%s'\n", title, exec_path);
> - printf("----------------");
> + printf_ln(_("available %s in '%s'"), title, exec_path);
> + /* TRANSLATORS: this must align with "available %s in '%s'" */
> + printf(_("----------------"));
> mput_char('-', strlen(title) + strlen(exec_path));Yuck. :)
I would be tempted to do:
static int strbuf_utf8_width(const struct strbuf *sb)
{
char char *p = sb->buf;
size_t remainder = sb->len;
int width; width = utf8_width(&p, &remainder);
if (!p || remainder)
return sb->len;
return width;
}
...
struct strbuf sb = STRBUF_INIT;
const char *p;
strbuf_addf(&sb, _("available %s in '%s'"), title, exec_path);
fwrite(sb.buf, sb.len, 1, stdout);
putchar('\n'); /* NEEDSWORK: handle non-UTF8 locales? */
mput_char('-', strbuf_utf8_width(&sb)); strbuf_release(&sb);