Dear experienced language pack maintainers, contributors and number lovers,
The question comes up occasionally when setting up new languages or when assigning new language pack maintainers. I came up with the following way to calculate the time needed to translate Moodle and would be interested in your thoughts.
I tried to calculate it from a bytes point of view, starting from English, where a byte is more or less a character.
A string contains 16 technical characters + the string Identifier. An average word is 5 strings, but string identifiers are often concatenated words so I estimated 9 characters per identifier, giving us 25 characters that don't need translating per string.
The total English language pack contains today 49122 strings (that is for a standard Moodle installation + all strings that exists for every plugin that is in the plugins database). I calculated that by choosing all in Amos and see what number it produces. The same way you can find what is in the standard installation and that comes up to 27075 strings today.
The English language pack is 12.2 MB in size, that means 12792627 Bytes in total. I got that number by downloading the language pack from https://download.moodle.org/langpack/3.7, unzip it and look at the folder size.
An average string contains 12792627 bytes / 49122 strings = 260 bytes. We don't have to translate the technicalities, so we remove 25 bytes per string, giving us 235 bytes or characters to translate per string.
27075 strings * 235 bytes per string is 6362625 bytes or characters. (With http://extraconversion.com/data-storage/kilobytes/kilobytes-to-words.html you can calculate that it is 3181312 words, which is nice to know but pointless for this calculation. Even more pointless, leaning towards discouraging is converting it to pages, using http://wordstopages.com/ which comes up with 7069 pages.)
Someone who can type well, types 180 characters per minute, so 6362625 characters / 180 characters/minute / 60 minutes/hour = 590 hours for a complete language pack, (without thinking, correcting, researching or communicating. The time involved in that is of course a lot harder to calculate and is also depending on experience, (translating - )memory, how large the group of contributors is (larger is probably more total time since more communicating) etc.
I started translating in January 2011 and I'm still not done. Many colleagues translated before me.
Something in the calculation doesn't fit. :-o
I have to apologize for not being serious. I remembered my beginnings. Fortunately, I had a good mentor (David).
There are really a lot of translated areas and I had to learn, seek and consult with colleagues.
Competence, machine learning and analytics, LDAP and GDPR are very different disciplines.
interesting calculation .
The amount of time differs from my experience a lot by this aspects:
- how familar is the translator in English
- how familar is the translator with Moodle as trainer and as admin, with features and processes.
- how familar is the translator with IT technical terms.
- what is the translation strategy
Yes, Ralph and Bohus,
My calculation only involves the typing. For myself, it's usually only that - just typing away and then it goes really fast. I don't have a strategy, except fixing outdated strings first and then head down and get on with the new ones.
But researching, thinking or discussing things in a group can take up a lot of time. And Bohus, I hope you stopped translating occasionally since 2011 - I know, new stuff keeps on piling up. 500 - 1500 strings per release I would guess, so that would be 10-30 hours twice a year.
The calculations comes up with 1 minute 25 seconds per string on average.
Thank you for your thoughts
On the positive side: the other way around is also true: you get to know Moodle rather well by translating it.
As an intermediate conclusion: It seems like no one is doubting my calculation, but the last sentence saying " The time involved in that (thinking, correcting, researching or communicating) is of course a lot harder to calculate and is also depending on experience, (translating - )memory, how large the group of contributors is (larger is probably more total time since more communicating) etc." gets quite elaborated here in the forum.
- having good knowledge of Moodle makes translating go faster
- having good knowledge of English makes translating go faster
- also knowledge of IT terminology and e-learning is helpful
- then there is working with Amos and having some sort of strategy.
- general good language skills in the target language (tone, style, i would add correctness too ...)
So it is definitely (and that is how I intended my estimate) 590 hours + a very variable amount of time, depending on a wide range of skills of the translator.
And what about translation quality? I've got people trying to contribute, but so badly that we lose time trying to fix their contributions, since translating from scratch would be quicker.
We should maybe add that making a good translation is important, and using Google or any other IA to make it doesn't cut significantly the time (IMHO).
Quality is a good point. What is quality in translation? For me its a terminology that the prospective users can understand because the wording ist the same that they use in normal life.
We've seen often english developer texts that were very technical and trie to solve it with a better more explaining translated text for German.
One aspect that we also try is a stringent use of major terms. The most often one is teacher and student und English but Trainer and participant (Teilnehmer) in German. As far as I remember there is only one third party element. That uses an other terminology in German. But we had a long discussion about this.
An other very helpfull aspect is that there is a small group translating and discussing complicate terms. For German this are Ralf Krause and me who are translating since much more than 10 years. From time to time we discuss some aspects together. There is a wider group of experienced users and forum moderators who support us. Together with Gisela who maintains the German docs pages we discuss major changes. I.e. after seveeal tries we changed the title of workshop module to 'Gegenseitige Beurteilung'. Its really good that translation is not a one human show.
"We should maybe add that making a good translation is important, and using Google or any other IA to make it doesn't cut significantly the time (IMHO)."
Maybe the first paragraph at https://docs.moodle.org/dev/Contributing_a_translation should state exactly that message.
If you are interested in finding out how much time is needed to render the EN pack into a target language you will probably also want to take the following aspects into consideration:
- Is the task to be completed by one translator or is it going to be a concerted action?
- Is/are the translator(s) experts in e-learning?
- Is/are the translator(s) skilled Amos users?
- Does she or he / do they have experience in managing large sets of terminology?
- Does she or he / do they have experience in correectly addressing the target users (style, tone, etc.)?
- Does she or he / do they have a strategy to correctly find ways out of insufficient or deficient input?
And that is just a couple of relevant issues to be considered.
If you have the time and energy, it would also be nice think about how translators could be assisted at times when
- context is scarce
- a term is used by some developer in a sense that is not the same is the "standard" moodle-ese
- consistency checking is facilitated by, e.g., making instant access to terms used earlier in a similar or dissimilar context.
My two cents,
Thank you Karoly.
To take your 3 last points (rest of your post discussed higher):
For scarce context: there is https://docs.moodle.org/37/en/Language_customisation#Finding_the_component_and_string_identifier, which somewhat works in the wrong direction from a translator point of view. Here you have the context, but where is the sting. What translators would help is: here is a string, where is the context? Hard to implement I think.
For a different term used then in the standard Moodle way: that is a bug. You can make a suggestion through en_fix to change the English wording.
Consistency checking: also difficult to implement I think. What is normally used in professional translation environments is a translation memory. There is some documentation about that: https://docs.moodle.org/dev/Translation_FAQ#What_is_a_translation_memory_and_how_can_I_create_a_translation_memory_out_of_a_Moodle_language_pack.3F
A lot of time can be spent when a translator encounters an English string that could have two meanings.
If the string is from a Moodle core file, posting the issue in this forum would probably be the best approach, as the issue likely affects many other translators.
If the string is from a third party plugin, it is probably better handled if the translator posts an issue in the GitHub site of the plugin author (it really isn´t as difficult as it sounds). I have found that many third party plugin authors are very happy to change the string itself or to change the name of the string (so that it reflects it's true meaning), and make the plugin easier to translate accurately
Also, knowledge of other languages can be very handy, as you could then use AMOS to check the excellent german, french, italian (or many other) language packs and find out how the most seasoned AMOS translators handled that string.
Finally, some AMOS translators may also help with the translation/updating of Moodle Docs into their home language. That translation is usually more time-consuming than the AMOS translation, as many original English-language screengrabs should ideally be replaced by screengrabs taken from a properly translated site
I hate it when I realize I made a silly typo in AMOS that shows up inside an image in a Moodle Docs page in Spanish
That reminds me that mere humans can, and do, make mistakes, and patiently double checking all strings before commiting them into AMOS is really a good investment.