Using AMOS tool for language pack translation

Unable to achieve 100% translation

 
Nicolas
Unable to achieve 100% translation
by Nicolas Martignoni - Sunday, 20 October 2013, 9:53 PM
Language pack maintainers

Hi,

I just finished yesterday the translation of all (or I thought so smile) strings of dev branch, and noticed that, though AMOS doesn't find any untranslated string, the download page (http://download.moodle.org/langpack/2.6/) doesn't agree and says for french 99% (19736/19737).

I can imagine that español - Mexico is in the same case.

Any idea?

Picture of David Mudrák
Re: Unable to achieve 100% translation
by David Mudrák - Monday, 21 October 2013, 12:46 AM
Language pack maintainers

I'll look at it. Thanks for the report Nicolas.

Picture of German Valero
Re: Unable to achieve 100% translation
by German Valero - Tuesday, 22 October 2013, 10:35 PM
Language pack maintainers

Español de México has indeed the same situation.

Also, another strange behaviour:

The number of missing strings in standard components for DEV is different depending whether you tick the 'missing and outdated strings only' box or not sad

Picture of David Mudrák
Re: Unable to achieve 100% translation
by David Mudrák - Wednesday, 30 October 2013, 1:40 AM
Language pack maintainers

Thanks for these reports. These issues are caused by empty strings in the English pack that AMOS does not handle well mixed

I just did couple of changes in the code:

  • Strings without committed translation are now correctly reported as missing even if the original string itself is empty. This was the reason why the translator did not display them so it looked like all strings were translated. In the French and Italian pack, this revealed two untranslated strings [advanced_dlg:,editor_tinymce] and [sectionname,format_singleactivity]. Both of them are empty in English (so there is no real reason to translate them) but other parts of the AMOS machinery considered them as missing. I have committed them as empty for the French and Italian already as a part of my testing.
  • It is now possible to commit empty string. The only trick you need to master is to realize how to actually stage them. What I do is that I translate them to some random non-empty value first and right after that, I change them to an empty string. Then I can go to the Stage page and commit them as empty strings.

The only remaining thing on my todo list is to review the code that calculates the translations stats at the download page. As I said above, both French and Italian had actually two missing (empty) strings. But the stats page reports that 19750 of 19751 are translated, that is only one is considered as missing. The logic behind this calculation is surprisingly complex (as for example there are some strings that are not translatable via AMOS and therefore can not be counted as missing etc) so I believe the bug is hiding somewhere there.

Picture of David Mudrák
Re: Unable to achieve 100% translation
by David Mudrák - Wednesday, 30 October 2013, 2:33 AM
Language pack maintainers

Right, so it should be sorted out now. The mismatch is probably caused by the string 'plugins/fullpage_dlg:add_link' defined by the 'editor_tinymce' component. You can't find it in the translator because AMOS hides all *_link strings from the translator UI. But it has been imported into our lang packs from the upstream TinyMCE translations. So at the end, that string is counted twice as translated: once because it ends with _link suffix (and all such strings are automatically considered as translated) and then again because it is really present. That explains the displayed figures.

Anyway, I am not going to change this now. Fully translated packs are now displayed as 100% translated and that's enough for now. Thanks everybody who helped with reporting and testing this.

Nicolas
Re: Unable to achieve 100% translation
by Nicolas Martignoni - Wednesday, 30 October 2013, 4:42 AM
Language pack maintainers

Thank YOU David.

Cheers, Nicolas