Continuous translation for MuseScore 2.0

• أكتوبر 2, 2013 - 08:14

Translating MuseScore 1.3

MuseScore 1.3 has been translated in 47 languages. It's huge! The translation has been made possible thanks to the involvement of translators using our online translation server.
The translation server was a drupal website at "translate.musescore.org" with a set of modules to enable collaborative translation. It served us well, but still we are not satisfied.

Doing better for 2.0

For MuseScore 2.0, we want to do it better. We looked around and we found Transifex, a software dedicated to online collaborative translation.
Transifex is a free and open source sofware and can be installed on your own server. It's also a commercial hosted service, free for open source project. A model we like!

So, we setup a MuseScore project on Transifex.com. Once registered with Transifex, translators will be able to translate MuseScore using one of the best interface in the industry and a lot of great features such as Translation Memory.

Continuous translation

We wanted to make it easy for translators to test their translation with minimal effort. The plan was to add a dialog in MuseScore where users can easily update their translation.

During the GSoC period, we proposed a topic about this problem. Unfortunately, we had many requests and this topic hadn't been selected. Nevertheless Manan Dang, a student from India, reached out to us on IRC (#musescore on freenode.net) and started to work on it. Manan created a script to download the translation from Transifex and upload them on a file server (Amazon S3). This script is now running every 5 minutes. Another script runs every 15 minutes and make sure that transifex gets any new strings that need to be translated.

Manan also created a new dialog in MuseScore, currently under Help → Resource Manager. This dialog displays any new translation update, and the new translation is downloadable and will be installed automatically. When MuseScore will be restarted, the new translation will be used.

shot_131002_091109.png

The Resource Manager is available in the last nightly and Transifex is open to accept your translations. Feel free to test our new solution, start translating, play with the new toys. We applaud any feedback, so be critical and let us know how we could further improve the workflow and user interface.


Comments

Transifex seems to have a massive problem working with IE8, the pages look entirely different and translation is not possible at all. Here at work I'm forced to use it that somewhat oudated IE8...

In reply to by Thomas

Apparently they changed now and don't allow for non-supoorted browsers, although without saying that IE8 is not supported...

Something different: the plugin documentation can't get translated currently, it gets generated from comments in the source and these are not part of what is available on transifex.

And I see some odd effects, some strings that I'm sure to have translated still show untranslated when viewed in a nighly build, after having updated the translation and restarted.
One example: the "Add" from the main menu.

Those translations updated via the Resource Manager get stored in the individual User's space, they don't overwrite the one that come with the package (the nighly build)
Which on is taking precedence, the personal one, the 'system wide' one, or the newer of the two?
I'd hope for the latter...

PS: the German translation is almost complete (as is the Spanish), proof readers needed...

PPS: I miss many of my new translations in the latest nighly build, even after having downloaded the latest translation and restarted MuseScore, why is that?

In reply to by Jojo-Schmitz

and it does not even help to delete the user translations (on Windows 7 in %LOCALAPPDATA%\MuseScore\MuseScoreDevelopement\locale\), download afresh and restart. Don't understand why, as now these files are definitly newer.
Not even a 'dummy' update (changing a translation on transifex) seems to help!?!

In reply to by [DELETED] 5

This still doesn't seem to work. Loading and running the latest nightly build, upgrading to the most recent German (or Spanish) Translation (100% complete), restarting it, and still see many untranslated strings, (most of) which are translated on Tranisefex.
Example: palatte->"Bagpipe Embellishments" and menu->Help->"Resource Manager"

Could this be because the .ts files in the git(Hub) repository are not updated with the changed strings of the past couple commits?

In reply to by Jojo-Schmitz

It gets better, when overwriting the qm file from the nightly build with that from the translation server (rather than having both and let MuseScore decide which to use), but still not completely: some of the palette items that were recently changed from singular to plural still shod up in English and in singular?!? Example "Breath & Spacer" (vs. "Breaths & Spacers").
Works in the master palette though

In reply to by [DELETED] 5

Nope, doesn't help.
Unless I missed some file/directory belonging to the settings.
I did delete my entire AppData/Roaming/MuseSore/ and AppData/Local/MuseScore/, downloaded a fresh nightly build and unpacked it into a new directory.
Work though when overwriting the qm from the nighly build wit the one from transifex (resp. AppData/Roaming/MuseSore/MuseScoreDevelompent/locale)

Edit: no, not even that: it seems to be a difference between the advanced and the default workspace ?!?

Some Problems:

  • The new translations on transifex don't make it back into the next nightly build
  • New to be translated texts don't make it into transifex (examples are the "Resource Manager" itself and the new help browser)
  • Even if loading a new translation via the Resource Manager and restarting MuseScore, the new translations are not shown (mentioned above already, example: Menu->Add, not shown in German regardless being translated in transifex since quite a while).
  • Either the need to restart MuseScore for translations to take effect needs to be overcome or a message should be shown with this hint
  • Transifex needs IE9 or above (or some other Browsers) but don't say so when opening with e.g. IE8. (not a Problem for me anymore, as we just got the permission at work to upgrade to IE10). It says that the browser is too old, bit lists IE as being supported. No mention that it has to be IE9 or higher...
  • transifex' 'Remember me for 30 days' doesn't work properly
  • transifex needs quite a lot of screen real estate (and I'm on a 19" 1280x1024 screen), the old translation server far less demanding

In reply to by Jojo-Schmitz

Thanks for this extensive feedback Jojo.

1/ Indeed. For now we do it manually. Making it automated is still on our todo list.
2/ Could be that 'Resource Manager' string is not translatable in the code. We'll check it out.
3/ Need investigation
4/ A message is needed bc lasconic hasn't found a way to make it happen without restarting MuseScore
5/ http://support.transifex.com/customer/en/portal/questions/3396608-brows…
6/ could you report this in the support forum at transifex please? Thanks a lot!
7/ A valid remark. Let's post this as well on the forum together with a screenshot and potentially some ideas on how they can improve things. Going back to the old translation server is not an option for us unfortunately.

In reply to by Thomas

1/ OK, but the Picture in the 1st post gives a different impession ;-)
2/ No, it is (marked as being) translatable. As is Menu->Add, and the new metronom lead in tick.
5/ yes I saw that, but they should really tell that upfront, accessing with IE( and being told to use IE inestead without mentioning that it needs to be IE9 more higher is... suboptimal (phew, that was close). Not a MuseScore Problem though, same for 6/ and 7/

6/ see http://support.transifex.com/customer/portal/questions/3429697--remembe…

In reply to by Thomas

1/ when can we expect such a manual update to take place?
It seems a "tx push -s" is missing in the picture of the initial article (to update Transifex with new/changed original strings) and it should rather be 'tx pull' (i.e. without the "-s")?

In reply to by Thomas

/5 apparently, as I just found today, having IE10 is not sufficient, it seems that Transifex.com can't deal with me being behind a proxy, the pages looks as garbled as they did with IE8 before they changed to not allow for that anymore. Completly unusable from work here (but then again, I should better do my $dayjob in the first place ;-), also I'm more or less done with the German translation)

In reply to by Jojo-Schmitz

Even if loading a new translation via the Resource Manager and restarting MuseScore, the new translations are not shown (mentioned above already, example: Menu->Add, not shown in German regardless being translated in transifex since quite a while).

This point should be fixed in 8a35d821fd It was a bug in the code. If you find a string that should be translatable but it's not, please file a bug report.

In reply to by [DELETED] 5

Nope, it is not, unfortunatly, as new nightly builds don't pull (not yet?) the newest translations from transifex, but rather build their own qm files from older tm files. These are than newer (but still outdated) than the newest translations from transifex and hence those are not getting used used...
Unless a dummy change is done to them...

It is a good move in itself, but needs another step to be usefull, a new nighly build not only needs to push updated ts files up to transifex (if any), it also needs to pull updated qm files from there rather than building ist own afreash on every build.

Should the UK English translation be complete or just cater for the few differences between it and US English (e.g. measure->bar, quarter note->crotchet, pickup measure->anacrusis, etc.)?
Currently it is neither ;-)

There is an English US translation in the Resource Manager, but no means of changing that on transifex. I believe that a) this was possible on the old translation server, and b) there are differences between the strings embeded in the source code (the source language) and the US English translation (mainly just for spelling fixes like upper/lower case changes).

In reply to by Jojo-Schmitz

I'm not convinced that a UK translation is necessary. All the UK musicians I have worked with are bilingual in terms of the US terminology, and some, indeed, use it in preference - I always used to teach American time names alongside the English because it made it easier when the student reached the explanation of time signatures.

So the only reason for including it would be for those that insist on UK terms out of sheer frowardness.

Unless, of course, you are seeking academic accuracy.

Just my 2p

In reply to by ChurchOrganist

Thanks, I learned a new word today (frowardness) ;-)
I'd rather have it academically correct. I think we had enough questions in the forum which stemmed from the subtle language diffs. And because MuseScore is used for/in education!
So my question still remains whether we'd want a very brief UK translation on just those terms or a complete one.
And the question about the US 'translation'. Either we need one or we should drop the musescore_en.qm completly and just rely on the embeded ones (and get them fixed if/when/where needed, see #23219: Spelling errors in the original embeded texts)
I had though about an Austrian German and Swiss German translation, but regardless of real existing differences (e.g. Januar vs. Jänner), I haven't found any of them being used in MuseScore so far.
Not too sure about Flemish vs. Dutch? I know that my cousins in Belgium frown upon being said to speak Dutch. In these cases we'd need complete translations, even if they overlap in 99%, but for UK English is would be different.

In reply to by Jojo-Schmitz

I'm not a specialist, but I played with languages all along my life, and I know languages are a touchy matters. My favorite story is in fact about the very Flemish / Dutch distinction Jojo quotes above: a few decades ago, Belgium and Netherlands discussed a unification of the orthography; the issue got delayed in endless discussions.

The funny point is that they were not disagreeing in whether to accept the Flemish or the Dutch othography for this or that detail; rather, each part was resisting any change which could bring the orthography nearer to the 'incumbent' neighbor: the Flemish objected to any change which looked (even vaguely) French and the Dutch any change which looked (also maybe vaguely) German!

I hope Asturian colleagues will not take offence (none is intended and I know that autonomic languages are a serious issue in today Spain), but I was a little surprized to see there is a (still on-going) Asturian translation of MuseScore; when translations for valencià, balear, aragonese or leonese? (and maybe andalù or other Spanish autonomic speeches I may well have forgotten?) Maybe Italian interested peoples should ask for translations in furlan, in sardo or in engiadinés? How many furlan-speaking users are there?

Generally speaking, Asturia seems to have done a very good job at promoting its language and, if a few Asturian users are willing to implement the Asturian translation, this is fine: a few more happy users and one more language for MuseScore.

If users from Friuli or Sardinia (if any) do not feel the same urge, it's also fine, as it is essentially their own business. And similarly for matters as the distinction between U.S. and UK English (which however probably have a more substantial installed base...).

Ultimately, my opinion is that these matters are better left to the interested parties themselves, particularly if they are also those who do the actual work. The only concern might be not to have too many unfinished translations hanging around...

Just my 2 cents (of $, € or £, at your choice),

M.

Some more remarks

  1. in MuseScore the .ts files are called mscore_<lang>.ts, on Transifex the corresponding resource is named musescore. Why not mscore?
  2. There are more files in the MuseScore locale directory, qt_<lang>.ts (resp. .qm), These are not available on Transifex, why, not needed? Planned for the next step, possible together with plugin translations?
  3. There is a mscore_en_US "Translation" in the locale directory, but not on Transifex, there in turn it is called "English (source language)" and is not translatable, but in the resource Manager we see it as mcore_en.qm and named "English (US)", so adding an "English (US)" translation on Tranisfex may result in a conflict? Ist this a flaw in http://extensions.musescore.org/languages/details.json?
    Also there is no mscore_en.ts or .qm in MuseScore locale Directory, just mscore_en_US (and mscore_en_GB). Why offering it, if the source language is US English already and no translation files are required at all? Just to be able to fix typos in the source more easily and from the outside? If so, we need to be able to "translate" it, if not it should not be offered in the first place, as it just overwrites what's already there, build into the program, instead it might be taken as request to fix the builtin strings?
    In short: there is an mscore_en.qm in the Resource Manager, but it should not and there is no mscore_en_US.qm, but maybe it should.
    BTW: (see above) there is no qt_en*.{ts,qm} at all.
  4. Now that translation memberships are granted automagically, how do we prevent vandalism?
  5. What about reviewers? In combination with only taking reviewed translations over into the resource Manager, this might be the answer to the above question ;-)

In reply to by Jojo-Schmitz

1. In public, we rather use the full musescore naming instead of the short one. It has no technical consequence.
2. qt_.ts comes from upstream Qt project. We rely on them for the translations.
3. We shall remove mscore_en_US from the locale directory as the English source language is the en_US.
4. We don't think about preventing vandalism unless vandalism happens.
5. Yes, we will grant the reviewer role to translators on Transifex to guarantee the quality of the translations. There will be an update about this after we have implemented all the remaining technical todos.

In reply to by Jojo-Schmitz

Ok, just talked it through with lasconic and we are not going to remove the en_US one. Actually, we are going to add the en_US one on Transifex. This gives us the opportunity to override strings in the code in case there were typos in the original code. If this is not clear, no worries, we got it sorted out. Thanks for bringing this to our attention.

Btw still traveling so we'll get this done next week.

In reply to by [DELETED] 5

How about going forward with translating the rest, like intruments.xml, plugins, etc.

See the topic I started in the translation forum

Other lose end: in http://musescore.org/en/node/22982#comment-88909 I've asked about reviewers on transifex, in http://musescore.org/en/node/22982#comment-88909 the reply was:

Yes, we will grant the reviewer role to translators on Transifex to guarantee the quality of the translations. There will be an update about this after we have implemented all the remaining technical todos.

That too was back in October 2013 ;-)
With the addition of Uzbek I noticed that for that language there is a reviewer, Dutch and French seem to have reviewers too?

YOU DONT NEED TO BE A WELSH SPEAKER TO HELP

Has there been a translation from English to Welsh in previous versions of MuseScore if so can I get to consult them them strings. I have so far translated over three thousand strings there must be some parts in earlier translations that would be helppful to me for finishing my on going work. Hope to finish the whole work this week.

I am stuck on several word.

It would be good to have some one give me some information on some words so that I can finish the work.
For example, the word "Dip", "Closest", "Parc", "sori", "Glissaqndo", I am not looking for a translation but a disruption, If it tells the person playng the piano to do so lively, then I can find a Welsh word. An other way would be to get onto the Transfix and look at the strings that i HAVE NOT WORKED ON SO FAR a send me a description of that word or string.

Looking forward

Wena Parry

In reply to by Shoichi

Thank you Shoichi, but i didn't understand your instructions how to get that terms in other languages sorry. I am down to just over 800 strings.

Some one has been and added sum suggestions for me.

There is 3 a massive strings at the start with a lot of complected HTML code. they are impossible. If only I could turn the code off so I could see the text.

Wena

Thank you for your help I had hoped to avoid the very large string!! But that will help I am sure I have found that a highlighting copy and passed is useful. I have done that in the strings. I don't understand HTML .

I hope to get back to work this afternoon.

I have sent the strings that are related to Bagpipes to the Welsh University that have a music department in the hope that some who also speak Welsh will translate the parts for me.

Thanks very much

Wena Parry

I managed them two very big strings, down to 440 now. I feel as if some one is adding strings to it. At leases I found some strings that I have done but don't show that their translated.

Hi I am looking forward to do some more music.

Wena

MuseScore's translation system is very impressive. I'm considering setting up something similar for AppImageKit to ensure that messages are displayed in the local language when installing an AppImage.

I just have a couple of questions...

1) Are there separate translations maintained for each branch/release of MuseScore?

In other words, if I open the Resource Manager in a stable MuseScore release (e.g. 2.0.3) and update a translation, does the update contain translations for strings in:

  1. My release version (2.0.3) only
  2. MuseScore's master branch only (some strings needed by 2.0.3 might be missing)
  3. Both?

2) If the answer to (1) was B and a particular string from 2.0.3 has been deleted in Master, what gets used as a fallback translation?

  1. The translation that shipped with 2.0.3
  2. The text in the source code?

In reply to by Jojo-Schmitz

Cool, thanks. For anyone else who is interested, I spoke with @lasconic earlier and he explained that the Transifex repository always points to the current release version until shortly before the next version is released. Currently the translations are all for 2.0.3 and the translation effort for 3.0 won't begin until just before its release, at which point the translations for 2.0.3 will be frozen.

Do you still have an unanswered question? Please log in first to post your question.