Untranslatable strings in KStars
Some messages recently added to ekos/capture/sequencejobstate.cpp file cannot be translated. Most of them follow the same pattern: "Turn X light %1...", where %1 is either "on" or "off". The translation of "Turn on" to other languages does not follow the same two-words construction as in English, so it is a word puzzle. It would be convenient to split this type of message in two, one to "turn on the lights" and another to "turn off the lights".
Also, "Turn X light %1..." uses the i18n()
function, so it can be translated, while "on" and "off" do not, so they can't be translated.
Another possible solution would be:
emit newLog(i18nc("%1 can be \"on\" or \"off\"", "Turn light box light %1...",
captureFlats ? i18nc("Turn the light on", "on") : i18nc("Turn the light off", "off")));
Please use context strings in i18n()
calls (i.e., use i18nc()
) whenever possible or advisable, as in isolated words which can cause confusion.
On the other hand, if these messages are not visible to the user, what makes no sense is the use of i18n()
calls. I can see there are several calls to the newLog()
function that don't use i18n()
at all.