i18n: fix uncatchable comments for translators in date.c

Comment for l10n translators can not be extracted by xgettext if it
is not right above the l10n tag.  Moving the comment right before
the l10n tag will fix this issue.

Reported-by: Brian Gesiak <modocache@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
i18n: remove obsolete comments for translators in diffstat generation

Since we do not translate diffstat any more, remove the obsolete comments.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
i18n: only extract comments marked with "TRANSLATORS:"

When extract l10n messages, we use "--add-comments" option to keep
comments right above the l10n messages for references.  But sometimes
irrelevant comments are also extracted.  For example in the following
code block, the comment in line 2 will be extracted as comment for the
l10n message in line 3, but obviously it's wrong.

        { OPTION_CALLBACK, 0, "ignore-removal", &addremove_explicit,
          NULL /* takes no arguments */,
          N_("ignore paths removed in the working tree (same as
          --no-all)"),
          PARSE_OPT_NOARG, ignore_removal_cb },

Since almost all comments for l10n translators are marked with the same
prefix (tag): "TRANSLATORS:", it's safe to only extract comments with
this special tag.  I.E. it's better to call xgettext as:

        xgettext --add-comments=TRANSLATORS: ...

Also tweaks the multi-line comment in "init-db.c", to make it start with
the proper tag, not "* TRANSLATORS:" (which has a star before the tag).

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
blame: add correct paddings in time_buf for align

When show blame information with relative time, the UTF-8 characters in
`time_str` will break the alignment of columns after the date field.
This is because the `time_buf` padding with spaces should have a
constant display width, not a fixed strlen size.  So we should call
utf8_strwidth() instead of strlen() for calibration.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
l10n: git.pot: proposed updates for v2.0.0 (+45)

The 1st round of Git l10n often starts very late duing the release
cycle of Git, usually after the release of rc1. This leads to a
gaint update of "po/git.pot" and lots of works for translators with
a tight deadline (about one week).

This "pu" branch holds proposed updates of the file "po/git.pot" for
Git next release (2.0.0), and will be updated and rewound without
notification when there are remarkable updates for it.

Translators could work on this "pu" branch before the l10n coordinator
starts the 1st round of l10n for this release cycle of Git, and
rebase their works onto the master branch (with the commit for the
1st round of l10n), then send pull request to the l10n coordinator.

Please note:

 1. Because this branch will be rewound occasionally, translators
    SHOULD NOT merge, but SHOULD rebase to this rewound branch
    instead.

        $ git fetch git://github.com/git-l10n/git-po.git pu
        $ git rebase --onto FETCH_HEAD HEAD~1

 2. Update your translated message file "po/XX.po".

        $ msgmerge --add-location --backup=off -U "po/XX.po" \
          po/git.pot

 3. Then start to translate "po/XX.po" and commit.

 4. DO NOT send pull request to the l10n coordinator for
    translations on this "pu" branch.

 5. When the l10n coordinator starts the 1st round l10n for the
    current Git release cycle, translators should rebase and squash
    their works onto the master branch, and then send pull request.

        $ git fetch git://github.com/git-l10n/git-po.git master
        $ git rebase --onto FETCH_HEAD HEAD~1

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
l10n: zh_CN.po: proposed updates for v2.0.0 (+45)

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>