Is there some way to make localization (translate to other languages) an easier task when digitally making scores?

Currently, I have two options:

  • write a page before the score with all the expression/technique/whatever texts with corresponding translations. Relatively easy for me, very bad to musicians (and not so elegant) or
  • maintain a different score for each language. Good for musicians, very bad for me, and hard to maintain and revise.

Since we are digitally making scores, we could get some "digital intelligence" to do it for us. For instance, insert all translations of each text in the same score file, just selecting which language must be used for each printing job.

I mainly use Sibelius, but I'm open to other software too.

  • 1
    How much of this localization is really necessary? For example, I see English tempo markings in concert band music a lot (these might be candidates for localization, but then again, they might not if the German tempo markings in Beethoven's and Schumann's works are any indication), and I see "m.d." and "m.s." markings in piano music a lot (they're Italian for "r.h." and "l.h.", respectively--this seems to be evidence that they aren't candidates for localization, even if some people think they should).
    – Dekkadeci
    Commented Sep 13, 2018 at 0:09
  • Sounds like a good feature request for your engraver of choice. That said, in the European Art Music tradition Italian was used to get around the issue. Unless you’re writing complex instructions, the traditional musical language should do just fine. Commented Sep 13, 2018 at 2:04

3 Answers 3


This is relatively straightforward in Lilypond, but I don't think there's a standard. There's no localization support per se but markup text can be stored in variables (see e.g. Lilypond docs on formatting text) and you can even redefine or customise the built-in expressive marks with your own text, see Lilypond snippets: expressive marks for some examples.

Then you just need a system for defining those variables differently for different languages. This could be as simple as having separate variable definitions next to each other in your lilypond file which you comment out depending on which language you want. That's what I do for translations of lyrics as it's usually only a single line to change and I rarely have more than two languages.

For more complicated texts, or if you will be re-using text definitions or expressive marks across different scores (which sounds likely), you could declare your text variables in an external file and have a different file for each language. Then you just need to include the appropriate file for whichever language you want. You'll quickly build up a library of terms that you commonly use, and collaborators can easily write their own versions for their languages.

If you're used to a WYSIWIG editor like Sibelius you'll have a bit of a steep learning curve, but this kind of flexibility and extensibility is one of the advantages of Lilypond's programmatic approach.

  • 1
    You could go further and have a myLanguage variable which controlled everything through Lilypond functions, but that's probably over-complicating things. Commented Sep 14, 2018 at 11:25
  • I've already dived into Lilypond, two years ago, and liked the results. But, in practice, it was difficult to achieve non-traditional notation (or, at least, took a bit more time, which is quite the same thing), so I returned then to Sibelius. But thank you, perhaps this possibility brings me back to Lilypond.
    – Josí Neto
    Commented Sep 16, 2018 at 16:19

This is why there is a convention of using Italian terms - allegro, lento etc. Localised versions are rarely encountered, and musicians don't expect them.

However, there's a case for localising other text, instructions that don't fall into the lexicon of standard musical terms. As far as I know no engraving program offers auto-translation of instructions like 'Mr. Bumble raises his mace and holds it aloft for several seconds. Then he brings it smartly down.' (a random selection from the first score that came to hand).

As Google Translate passes this through French and then back to English as 'Mr. Bumble raised his ground and keeps the air for several seconds.', this is probably fortunate!

  • Thank you! What I meant was not auto translation (if even Google Translator is a mess, imagine in other programs...) I use standard Italian terms whenever possible (sul pont., frullato, boca chiusa etc); so I was talking about instructions and other terms.
    – Josí Neto
    Commented Sep 14, 2018 at 1:24

Export to MusicXML from Sibelius and then do some sort of search-and-replace on the XML text file before re-importing back into Sibelius.

Problems with this would be:

  • Round tripping (exporting to MusicXML and then reimporting) doesn't always give you exactly the same score you started with. You'd have to experiment to see if there was any layout that got broken by the round-tripping process.
  • It's monotonous and error-prone to do this manually. You could automate this - a database of musical terms in various languages and some sort of executable which would dip into the database and replace certain items in the MusicXML.
  • You'd need to format your starting score accommodating text whose character count may well change depending on what translation you're using.
  • This could be a solution, but in fact I see it as another option, because it relies on Music XML conversion, which, as far as I know, is not good enough if you use non-standard or contemporary (or even modern) notation (my case). But thank you anyway!
    – Josí Neto
    Commented Sep 14, 2018 at 1:20
  • 1
    You can search-and-replace within Sibelius. I imagine the plugin that does this could be extended to eal with a list of terms, not just one at a time.
    – Laurence
    Commented Sep 14, 2018 at 9:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.