Many percussions elements/sounds are not getting translated in status bar and Edit Drumset dialog

• Apr 4, 2021 - 07:33
Reported version
3.6
Type
Wording/Translation
Frequency
Once
Severity
S4 - Minor
Reproducibility
Always
Status
PR created
Regression
No
Workaround
Yes
Project

Example (as it came up here in a tangent): Congas, there only the "Low Conga" gets properly translated, "Mute High Conga" and "High Conga" does not.
The same is true however for many other prercussion elements in many other percussion instruments.

Workaround: in the Drumset editor rename them to match the strings from libmscore/drumset.cpp and/or importexport/guitarpro/importgtp.cpp (the latter is the more complete set, the former seems to duplicate a selection of the latter), here for example to "Mute Hi Conga" and "Open Hi Conga", (i.e. shorten "High" to "Hi" and add the "Open ")


Comments

The strings for those elements/sounds are not taken (nor extracted) from instruments.xml, but only from the drumset context, so only from those files mentioned above.
So I see two possible fixes:

  1. Make the strings in instruments.xml match those from importgtp.cpp (or drumset.cpp)
  2. Extract those string from instruments.xpp into instrumentsxml.h, via generateTs.py and getting them translated.

Method 1 has the charm that it's work immediatelly for all new scores (and for existing ones after 'changing' the instrument to the same it is already, to pick up the new definitions), no translates needed at all. Downsides: a) existing scrores need extra stapes to benefit and b) getting (and keeping) the strings in sync (between instruments.xml and importgtp.cpp (and drumset.cpp) seems quite painful.

Method 2 means to a) the need to translated a whole new set of strings, and either change the context used in status bar and Edit drumset dialog to InstrumentsXML , or get generateTs.py to make that context being drumset (probably the better option), for just those strings. Here the extra charm is that even existing scores would benefit from the translations, but the costs (esp. the extra work for the translators) are quite high. And needs someone with suitable Python wizardry to get generateTs.py to do it.

Maybe even a combination is needed, like using method 1 wherever the strings are similar enough already (like the Congas example, but also Bongos, Wood Blocks, Vibraslap and some more) and using method 2 where they are entirely different (like it seems the case for all/most of the marching percussion instrument group).

"Cowbell" reveals a difference between importgtp.cpp an drumset.cpp, where what is a plain "Cowbell" in the latter is a "Cowbell Medium" in the former, for the same pitch (56). So both strings work in instruments.xml and are getting translated, it is an inconsistency though.

There's "Bell Tree" (in importgtp.cpp only) vs. "Mark Tree" (in instruments.xml only), not sure which is the correct one, or whether it is both?
Seems different instruments to me (as per WikiPedia), and I'd tend to "Mark tree", just not sure whether and how that impacts GTP import? At least one GTP and 4 limbmescore/midimapping mtest ref. scores use "Bell Tree".