Opened 4 years ago
Closed 4 years ago
Last modified 4 years ago
#13585 closed Bug Report - General (fixed)
Channelscan progress lost in translation
Reported by: | Klaas de Waal | Owned by: | Klaas de Waal |
---|---|---|---|
Priority: | minor | Milestone: | 31.0 |
Component: | MythTV - Channel Scanner | Version: | Master Head |
Severity: | medium | Keywords: | Translation |
Cc: | Nick, Morrott, John, Poet | Ticket locked: | no |
Description (last modified by )
The presentation of the progress and the signal strength by the channelscanner is wrong since a few days. See the attached picture. This regression is likely to be have been introduced by the translations recently committed.
The relevant bit of code in channelscanner_gui_scan_pane.cpp is from 15 Jul 2017, commit 24064ac6e618bc5f340c08116c6ed4dae2c0aaa6 and has always worked correct. This is the code:
void ChannelScannerGUIScanPane::SetStatusSignalStrength(int value) { if (m_signalStrengthText) m_signalStrengthText->SetText(tr("%1%") .arg(static_cast<uint>(value * 100 / 65535)));
It looks to me that it tries to translate the number. I am not aware that this is done anywhere else in the code and if the translation is done by a string to string replacement then you need a lot of strings.....
I intend to fix this now for the time being by changing the code to this:
void ChannelScannerGUIScanPane::SetStatusSignalStrength(int value) { if (m_signalStrengthText) m_signalStrengthText->SetText(QString("%1%") .arg(static_cast<uint>(value * 100 / 65535)));
which will restore the old behavior.
If the intention is really to translate the number then the original code can always be restored once the translation is fixed.
It is possible that the changed behavior of the "tr" function may have effects elsewhere as well.
Attachments (1)
Change History (9)
Changed 4 years ago by
Attachment: | mythtv-setup-scan-screenshot.png added |
---|
comment:3 Changed 4 years ago by
Description: | modified (diff) |
---|---|
Milestone: | needs_triage → 31.0 |
This does of course not solve the underlying problem in the translation system, which produces now the string "18:{1%?}" instead of "18%" for
tr("%1%).arg(18)
as shown in the attached screenshot.
comment:5 Changed 4 years ago by
Resolution: | → Fixed |
---|---|
Status: | assigned → closed |
Channelscan Scan Progress and Signal Strength presentation wrong