Bug 38445 - msgid "" breaks translation process
Summary: msgid "" breaks translation process
Status: NEW
Alias: None
Product: Koha
Classification: Unclassified
Component: I18N/L10N (show other bugs)
Version: unspecified
Hardware: All All
: P5 - low normal
Assignee: Bugs List
QA Contact: Testopia
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-11-14 13:52 UTC by Jonathan Druart
Modified: 2024-11-15 13:33 UTC (History)
2 users (show)

See Also:
GIT URL:
Change sponsored?: ---
Patch complexity: ---
Documentation contact:
Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Druart 2024-11-14 13:52:00 UTC
Added Tibetan and ended up with an empty msgid and it broke the translation process

https://gitlab.com/koha-community/koha-l10n/-/commit/c4fa26cc6023fc67428ae83c9eec7d22e30d5fa7

misc/translator/po/bo-CN-marc-MARC21.po: warning: Charset missing in header.
                                                  Message conversion to user's charset will not work.
misc/translator/po/bo-CN-marc-MARC21.po:19859: duplicate message definition...
misc/translator/po/bo-CN-marc-MARC21.po:2: ...this is the location of the first definition
msgmerge: found 1 fatal error

Coming from koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slimUtils-MODS31.xsl:16
Comment 1 Jonathan Druart 2024-11-15 12:55:35 UTC
Same in 24.05 with 
koha-tmpl/opac-tmpl/bootstrap/en/includes/authorities-search-results.inc:136
Comment 2 Jonathan Druart 2024-11-15 12:58:34 UTC
staff-prog 23.11

#: koha-tmpl/intranet-tmpl/prog/en/includes/ill-batch-modal.inc:7
#: koha-tmpl/intranet-tmpl/prog/en/includes/mana/mana-subscription-search-result.inc:97
#: koha-tmpl/intranet-tmpl/prog/en/includes/modals/cataloguing_create_av.inc:5
#: koha-tmpl/intranet-tmpl/prog/en/includes/modals/checkout_renewals.inc:6
#: koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt:124
#: koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoice.tt:497
#: koha-tmpl/intranet-tmpl/prog/en/modules/acqui/z3950_search.tt:236
#: koha-tmpl/intranet-tmpl/prog/en/modules/admin/authtypes.tt:232
#: koha-tmpl/intranet-tmpl/prog/en/modules/admin/authtypes.tt:257
#: koha-tmpl/intranet-tmpl/prog/en/modules/admin/biblio_framework.tt:203
#: koha-tmpl/intranet-tmpl/prog/en/modules/admin/biblio_framework.tt:228
#: koha-tmpl/intranet-tmpl/prog/en/modules/admin/biblio_framework.tt:273
#: koha-tmpl/intranet-tmpl/prog/en/modules/admin/biblio_framework.tt:298
#: koha-tmpl/intranet-tmpl/prog/en/modules/admin/identity_provider_domains.tt:302
#: koha-tmpl/intranet-tmpl/prog/en/modules/admin/identity_providers.tt:374
#: koha-tmpl/intranet-tmpl/prog/en/modules/admin/smtp_servers.tt:279
#: koha-tmpl/intranet-tmpl/prog/en/modules/admin/smtp_servers.tt:297
#: koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt:1112
#: koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt:1129
#: koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt:1158
#: koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt:1191
#: koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt:1222
#: koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt:1240
#: koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt:1270
#: koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt:1290
#: koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt:1319
#: koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt:738
#: koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbooks.tt:263
#: koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/editor.tt:157
#: koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/editor.tt:238
#: koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/editor.tt:285
#: koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/merge.tt:150
#: koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/z3950_auth_search.tt:130
#: koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/z3950_search.tt:217
#: koha-tmpl/intranet-tmpl/prog/en/modules/circ/article-requests.tt:102
#: koha-tmpl/intranet-tmpl/prog/en/modules/circ/request-article.tt:32
#: koha-tmpl/intranet-tmpl/prog/en/modules/circ/waitingreserves.tt:181
#: koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt:372
#: koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt:727
#: koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt:751
#: koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt:153
#: koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt:1268
#: koha-tmpl/intranet-tmpl/prog/en/modules/tools/batch_record_modification.tt:186
#: koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt:113
#: koha-tmpl/intranet-tmpl/prog/en/modules/tools/manage-marc-import.tt:419
#: koha-tmpl/intranet-tmpl/prog/en/modules/tools/marc_modification_templates.tt:322
#: koha-tmpl/intranet-tmpl/prog/en/modules/tools/quotes.tt:148
Comment 3 Jonathan Druart 2024-11-15 13:03:21 UTC
(In reply to Jonathan Druart from comment #2)
> staff-prog 23.11

Same in all stables actually, see commit "(follow-up 3) Add bo-CN - Tibetan (China)" in koha-l10n
Comment 4 Katrin Fischer 2024-11-15 13:17:47 UTC
Can you explain the problem a bit more? What do we need to fix it?
Comment 5 Jonathan Druart 2024-11-15 13:24:18 UTC
It's several things going wrong.

I've added Tibetan (bo-CN) to koha-l10n with empty files. Weblate generated the files but without the headers.

When headers are in the po files, it starts with:
msgid ""

Koha-side, the translation script found an empty string and add it to some po files, as it was not there already.

I've then added the headers because the sync script exploded because of missing headers. But then it exploded again because of duplicated message (the empty msgid).

This situation should not happen when everything is made correctly (ie. don't forget the headers when creating new po files). But Koha should not pick empty string for translation.

Nothing to do right now. Logging here more as a note for self.

May need to be fixed later anyway as we don't need to pick empty strings for translation anyway.
Comment 6 Katrin Fischer 2024-11-15 13:33:36 UTC
Thanks for explaining the problem!