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
closed
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".

Status PR created fixed

Fixed in branch master, commit 6fa6818d60

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

  • Fix missing translations for Hi Congas
  • Fix missing translation for Hi Bongo
  • Fix missing translation for Hi Woodblock
  • Fix missing translation for Vibraslap
  • Fix wrong translation/name for Sleigh Bell
  • Fix missing translations for Snare drums
  • Fix missing translations for Bell Tree by changing it to the apparently more correct "Mark Tree", requires updated translations though.
  • Fix missing translations for Toms
  • Fix missing/wrong translation/name and sound for Slap
  • Fix/add wrong translation/missing name and sound for Castanets/Hand Clap
  • Fix missing translations for Bass Drums
  • Fix missing translations for Ride Cymbal_
Fix version
4.0.0