Jiang Xin <worldhello.net@xxxxxxxxx> writes: > Starting with the release of git 2.34.0 two years ago, we had a new > l10n pipeline and the git-po-helper tool as part of our l10n workflow. > The first version of git-po-helper introduced a validator to protect > git command parameters and variable names in megid. Ahh, that is the piece I was missing. I didn't know you guys are doing extra checks that could trigger false positives. > E.g. In pull > request 541 (https://github.com/git-l10n/git-po/pull/541), a > mismatched variable name "new_index" was reported in bg.po as below: > > level=warning msg="mismatch variable names in msgstr: new_index" > level=warning msg=">> msgid: unable to write new_index file" > level=warning msg=">> msgstr: новият индекс не може да бъде записан" > > And po/bg.po changed as below: > > msgid "unable to write new_index file" > msgstr "новият индекс (new_index) не може да бъде записан" Wait. Is this supposed to be a good example of validator working well? We use this exact message three times in builtin/commit.c; is the validator insisting on the translated message to have verbatim string "new_index" in it so that the end-users will see it? I may still be confused, but if that is what is going on, I think it is a wrong validation in this particular case. I can understand if we were creating say .git/new_index file and it helps the end users to diagnose a troubled repository by running "ls .git" to see if a file called "new_index" exists and getting in the way, but I do not think it is the case. A new file ".git/index.lock" is created via repo_hold_locked_index() and I do not think it helps the end-user to know that we may be calling it "new_index" internally among the developers' circle. If the message were about "index.lock", it might be a different story, but such an error would probably have been issued long before write_locked_index() gets called. I'd suggest doing s/new_index/new index/ to msgid string for these anyway. > Later, more validators were introduced into git-po-helper for checking > git config name, place holders, etc. "git-po-helper" used a list of > regular expressions to find git config names, placeholders, and there > are some false positive cases need to be ignored. OK, and "<file>" in msgid string, for example, will automatically insist on the translated msgstr string to have a string that is enclosed by a pair of such angle brackets, regardless of the target language convention? If so, I can now understand where Alexander comes from (assuming that the common convention in Bulgarian language is not to use a pair of angle brackets to highlight such a placeholder word). I can see that you have a lot better handle on the matter than I do, so I trust you and Alexander can resolve what the best "validation" (and possibly override per language) should be in the git-po-helper tool. Thanks for explaining.