View Issue Details

IDProjectCategoryView StatusLast Update
0018742phpList 3 applicationInternationalization (l18n)public16-01-18 15:18
Reporterduncanc 
PrioritynormalSeverityminorReproducibilityalways
Status assignedResolutionopen 
Product Version3.3.1 
Target Versionnext patchFixed in Version 
Summary0018742: Process bounces message omits number of bounces
DescriptionPage processbounces.php has

    outputProcessBounce(s('%d bounces to fetch from the mailbox', $num).PHP_EOL);


The translation in English for the string '%d bounces to fetch from the mailbox' seems to omit the % character but that is present for other languages, see the attached screenshot.

There is a similar problem with a message about updating top level domains. See the second screenshot.
TagsNo tags attached.

Relationships

duplicate of 0018612 resolvedxheni Incorrect translation 

Activities

duncanc

04-06-17 10:47

developer  

translation.png (29,201 bytes)
translation.png (29,201 bytes)

duncanc

04-06-17 11:22

developer  

top level domains.png (11,681 bytes)
top level domains.png (11,681 bytes)

samtuke

05-06-17 13:03

administrator   ~0059165

Should the %d be included in the translation or not?

'Bounces to fetch' string:
https://translate.phplist.org/en/phplist/translate/phplist.po#unit=282866

'Top level domains' string:
https://translate.phplist.org/en/phplist/translate/phplist.po#unit=283386

michiel

05-06-17 22:05

manager   ~0059167

Yes, the %d needs to be in the translation. That is clearly explained here:
https://resources.phplist.com/translations/start

I think we need to extend the "s" function to scan the translated string and verify it has the correct number of %s and %d in it, and otherwise reject it.

duncanc

14-11-17 09:33

developer   ~0059669

Can at least the translations be corrected without waiting for any code changes?

duncanc

14-11-17 11:12

developer   ~0059670

Looking at that specific translation, it appears to fail two pofilter tests - starting punctuation and printf(), which are caused by the mismatch of % placeholders.
https://translate.phplist.org/en/phplist/translate/phplist.po#unit=282866

http://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/pofilter.html

So these sort of errors should be caught by the translation process.