Disclaimer: The following is my initial opinion on the matter, not having considered many of the more technical aspects.
I think I have some mixed feelings about this, but most of them will probably be changed as this project gets rolling.
The majority of the people I know personally are multilingual and quite fluent in English, so the language barrier doesn’t seem that big of a gap to me personally, but It definitely exists. It’s also somewhat sad that good learning resources (for programming) in my native language don’t exist because everyone seems to assume that English is ubiquitous.
In support of translations, I can provide a personal anecdote about my dad. He’s oldschool, he has studied English at a later point of his life and isn’t quite fluent but has good enough understanding to deal with most day-to-day things. Recently he has expressed an interest in learning some higher level programming, but the majority of the resources are in English and it’s been enough of a hurdle to discourage him, so I can see how having at least some translation would help, regardless if it’s machine or man made.
That being said, I support the point that was made that English is somewhat necessary for learning programming and specifically technical English terms like currying or short-circuiting or hoisting etc. Translating things like this wouldn’t necessarily add much value, because as @mk-mxp said:
I think the translation problem/project can be separated into two topics:
- Translating the site, the docs and the learning resources
- Translations during mentoring
About the first point, I’m apprehensive because having 50+ locales and 50+ versions of every .md file in the repo of a given track would add a lot of maintenance overhead, or at the very least clutter things up a lot. It would also make it harder to maintain translations for one language/locale, because you’d have to work across all track repos. So from that point of view, I think a central separate repo for each locale that contains all the translations for that locale/language would be easier to maintain.
Also, what happens if a certain language/locale doesn’t have maintainers? Do we just go with the “good enough” machine translations and add a disclaimer? Do we deprecate the locale when it is unmaintained for X amount of time?
About point two, I often see mentoring requests from people in their native languages and those requests typically stay for a bit longer in the queue, so i think that having translations there would be most beneficial. It also makes the signature unique feature of Exercism more accessible. Even if it’s some sort of ad-hoc machine translation that isn’t stored anywhere, it would be easier to communicate things like this, so I’m all for this point.
Lastly, for now, I know you said you don’t want to discuss the technical aspect of things but I can’t help but ask, why not consider some ready made localization tool to help, instead of building our own or relying entirely on GitHub. Maybe something like Mozilla’s pontoon or similar?
I also think it would be too hard to get this project going if we don’t have something to help keep track of translations and visualise things.