From: Luca Boccassi Date: Mon, 18 May 2026 11:56:39 +0000 (+0100) Subject: po: skip automated fuzzy translations when generating new po files X-Git-Tag: v261-rc1~76 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d3f38e09ac2a421e700123ce3615d07e16257925;p=thirdparty%2Fsystemd.git po: skip automated fuzzy translations when generating new po files The fuzzy translations are always wrong, but meson's integration does not allow skipping them. Add a tiny wrapper for 'msgmerge' to workaround the issue and skip them when running ninja systemd-update-po --- diff --git a/po/meson.build b/po/meson.build index 0a140b40b50..682c16ab118 100644 --- a/po/meson.build +++ b/po/meson.build @@ -3,6 +3,12 @@ want_translations = get_option('translations') if want_translations + # The msgmerge invocation hidden behind i18n.gettext()'s update-po target inserts auto-guessed + # "fuzzy" translations for new strings, which are almost always wrong, use a wrapper to skip it. + meson.override_find_program( + 'msgmerge', + find_program('../tools/msgmerge-no-fuzzy.py')) + i18n = import('i18n') i18n.gettext(meson.project_name(), preset : 'glib', diff --git a/tools/msgmerge-no-fuzzy.py b/tools/msgmerge-no-fuzzy.py new file mode 100755 index 00000000000..a9171db695f --- /dev/null +++ b/tools/msgmerge-no-fuzzy.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: LGPL-2.1-or-later +""" +Fuzzy translations are always bogus, but the meson integration doesn't allow overriding. With this wrapper +we can skip them. +""" + +import os +import shutil +import sys + +msgmerge = shutil.which('msgmerge') +if msgmerge is None: + sys.exit('msgmerge-no-fuzzy: msgmerge not found in PATH') + +os.execv(msgmerge, [msgmerge, '--no-fuzzy-matching', *sys.argv[1:]])