Git development
 help / color / mirror / Atom feed
From: Jiang Xin <worldhello.net@gmail.com>
To: "Git List" <git@vger.kernel.org>,
	"Git l10n discussion group" <git-l10n@googlegroups.com>,
	"Alexander Shopov" <ash@kambanaria.org>,
	"Mikel Forcada" <mikel.forcada@gmail.com>,
	"Ralf Thielow" <ralf.thielow@gmail.com>,
	"Jean-Noël Avila" <jn.avila@free.fr>,
	"Bagas Sanjaya" <bagasdotme@gmail.com>,
	"Dimitriy Ryazantcev" <DJm00n@mail.ru>,
	"Peter Krefting" <peter@softwolves.pp.se>,
	"Emir SARI" <bitigchi@me.com>, "Arkadii Yakovets" <ark@cho.red>,
	"Vũ Tiến Hưng" <newcomerminecraft@gmail.com>,
	"Teng Long" <dyroneteng@gmail.com>,
	"Yi-Jyun Pan" <pan93412@gmail.com>
Cc: Jiang Xin <worldhello.net@gmail.com>
Subject: [L10N] Kickoff for Git 2.54.0 translations
Date: Fri,  3 Apr 2026 09:47:26 +0800	[thread overview]
Message-ID: <20260403014729.1519952-1-worldhello.net@gmail.com> (raw)

Hi,

Git v2.54.0-rc0 has been released, and we are starting a new round of
localization for Git 2.54.0. Since the last release, 182 catalog entries need
to be translated. Please open a pull request against the l10n coordinator
repository (URL below) before the update window closes on Sat, 18 Apr 2026.

    https://github.com/git-l10n/git-po/

The workflow below is adapted from `po/README.md`.


## The `po/git.pot` file is generated and not kept in the repository

The l10n coordinator no longer generates `po/git.pot` before each round, and
that file is not committed to the repository.

You can build it locally with:

    make po/git.pot

This step is optional: when you refresh your `po/XX.po` file (see below),
`po/git.pot` is generated automatically as part of the process.


## Refresh `po/XX.po` before you translate

Before updating `po/XX.po`, pull the latest commits from the `master` branch
of `git-l10n/git-po`, for example:

    git pull --rebase git@github.com:git-l10n/git-po.git master

Then refresh `po/XX.po` against the current sources with:

    make po-update PO_FILE=po/XX.po


## AI-assisted translation

Using AI coding tools together with `po/AGENTS.md`, l10n contributors can
translate a freshly generated `po/XX.po` with a prompt such as:

    Translate po/XX.po with reference to po/AGENTS.md

Please treat any AI-generated output as a draft. It should be reviewed and
approved by someone who understands both the technical context and the target
language. The best outcomes combine AI-assisted speed with human judgment,
cultural nuance, and community review.


## Set up filter drivers for `po/XX.po` before you commit

Comments in `po/XX.po` may include source location lines like:

    #: add-interactive.c:334

Those locations help translators find context in the source, but they add
noise and consume a lot of repository space, so we strip them from `po/XX.po`
before commits.

Content filters are configured for `po/XX.po` files so that the clean filter
removes location comments (`#: ...` lines) from what Git commits. Inspect
the active filter with:

    git check-attr filter po/XX.po

Configure whichever filter driver matches your setup for `po/XX.po`, or
configure both:

    git config --global filter.gettext-no-location.clean \
               "msgcat --no-location -"

    git config --global filter.gettext-no-line-number.clean \
               "msgcat --add-location=file -"

After you commit your `po/XX.po` changes, open a pull request against the
l10n coordinator repository:

    https://github.com/git-l10n/git-po/


## Address feedback from the l10n CI on your pull request

The helper at https://github.com/git-l10n/git-po-helper helps the Git l10n
coordinator and contributors check Git l10n contribution conventions. It also
runs in GitHub Actions as the l10n CI pipeline that validates each pull request
to the `git-l10n/git-po` repository. Please address any issues it reports.


**Reminder: the update window closes on Sat, 18 Apr 2026.**


--
Jiang Xin

                 reply	other threads:[~2026-04-03  1:47 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260403014729.1519952-1-worldhello.net@gmail.com \
    --to=worldhello.net@gmail.com \
    --cc=DJm00n@mail.ru \
    --cc=ark@cho.red \
    --cc=ash@kambanaria.org \
    --cc=bagasdotme@gmail.com \
    --cc=bitigchi@me.com \
    --cc=dyroneteng@gmail.com \
    --cc=git-l10n@googlegroups.com \
    --cc=git@vger.kernel.org \
    --cc=jn.avila@free.fr \
    --cc=mikel.forcada@gmail.com \
    --cc=newcomerminecraft@gmail.com \
    --cc=pan93412@gmail.com \
    --cc=peter@softwolves.pp.se \
    --cc=ralf.thielow@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox