From 6d212f0d1aeb9dc7c7cc5b8915155033718552cb Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 11 Oct 2023 11:35:41 +0200 Subject: [PATCH] Bug 35024: Do not wrap translations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PO files wrap differently depending on versions. Looks like (thanks Julian!) it's coming from libunistring, between 0.9.10 and 1.0 I am seeing a change in how the strings in the PO files are wrapped. Debian 11 (using libunistring 0.9): "%s %sPrintemps%s %s %sÉté%s %s %sAutomne%s %s %sHiver%s %s %sPrtps%s %s %sÉté" "%s %s %sAut%s %s %sHiv%s %s %s %s" Debian 12, Ubuntu 22.04(using libunistring 1.0) "%s %sPrintemps%s %s %sÉté%s %s %sAutomne%s %s %sHiver%s %s %sPrtps%s %s " "%sÉté%s %s %sAut%s %s %sHiv%s %s %s %s" It *could* come from this changes: https://git.savannah.gnu.org/gitweb/?p=libunistring.git;a=blob;f=NEWS;h=5a43ddd7011d62a952733f6c0b7ad52aa4f385c7;hb=HEAD * The functions u*_possible_linebreaks and u*_width_linebreaks now make it easier to work with strings that contain CR-LF sequences: In this case, in the returned array, it will return UC_BREAK_CR_BEFORE_LF followed by UC_BREAK_MANDATORY (instead of twice UC_BREAK_MANDATORY). The command used is: % msgmerge --backup=off --quiet -F --update misc/translator/po/fr-FR-staff-prog.po misc/translator/Koha-staff-prog.pot No matter the value of --width. One solution is to use --no-wrap, and never wrap :) I sent an email to the list about this suggestion https://lists.katipo.co.nz/pipermail/koha/2023-October/060143.html Test plan: % gulp po:update --lang LANG And notice that the lines are no wrapped anymore. Note that in master there were already not wrapped (?) commit edd378f4d14d79107d662b053c8e6f750326dd23 Translation updates for Koha 23.05.00 Signed-off-by: David Nind --- gulpfile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gulpfile.js b/gulpfile.js index 95f557c5c7..52ee337ef7 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -284,7 +284,7 @@ function po_create_installer_marc21 () { return po_create_type('installer-MARC2 function po_create_installer_unimarc () { return po_create_type('installer-UNIMARC') } function po_update_type (type) { - const msgmerge_opts = '--backup=off --quiet -F --update'; + const msgmerge_opts = '--backup=off --no-wrap --quiet -F --update'; const cmd = `msgmerge ${msgmerge_opts} <%= file.path %> misc/translator/Koha-${type}.pot`; const languages = getLanguages(); const globs = languages.map(language => `misc/translator/po/${language}-${type}.po`); -- 2.30.2