intro_programming
intro_programming copied to clipboard
Translation support
I wouldn't call it a "Issue". I would prefer the term "Wish".
I wish there was a easy way to add translations to intro_programming. But I couldn't find a way to add translations to IPython notebooks.
I'd be willing to make an attempt for a translation to german, but I feel that without support from the library side this will fail as soon as there are updates from the original english course.
That's a very interesting question. I'm sure it has been wrestled with before, so I'm going to try to ask around and see how others have approached this issue.
I wonder if one approach might involve recognizing what aspects of the project are mature enough to be translated, without worrying that they will see much change. For example, the first notebooks are pretty stable. The value in translating this project seems to be that the thinking about how to organize content has been done, and the examples and exercises have been created.
With more careful commit logs, a translator could read through logs and watch for significant changes. Commit logs could also note which commits should be carried through to translated versions.
There's also an interesting question of deployment. Someone could easily fork the project, translate it, and post a parallel version in another language. But a more integrated approach might be to create translated versions within this repository, and deploy them straight to introtopython.org, and include a language selector. I don't have any firm opinion on that, because "introtopython" is very english-centric.
I haven't had time to work on introtopython much, but as some of my other projects clear up I'm going to do another sprint on this project. If you are interested in doing anything soon, feel free to get in touch. I'll support your work in any way I can.
- Eric
Thanks for your thorough answer. I'm no expert either with translating or translation frameworks. It's really my enthusiasm for python and introducing people to programming computers pushing me to check the options.
I think what is needed for a translator is some kind of check-sum of stuff that have been translated. Like this it would be easy to tell what parts a update changed and would need to be re-translated.
Closing this for now, as there has been no action on this to date.
After reading a post from the Python Edu-sig mailing list, I'm reopening this.
A good approach to translation would be really meaningful for this project. There may be no good automatic way to do it. The best approach may simply be identifying strong partners in each language supported.
However it's approached, this is a pretty important issue.
There's also an interesting question of deployment. Someone could easily fork the project, translate it, and post a parallel version in another language. But a more integrated approach might be to create translated versions within this repository, and deploy them straight to introtopython.org, and include a language selector. I don't have any firm opinion on that, because "introtopython" is very english-centric.
I'm a new CS teacher at a dual language highschool. I'm bilingual, Spanish. Any guidance or recommendations before I spend time doing this?
I'm a new CS teacher at a dual language highschool. I'm bilingual, Spanish. Any guidance or recommendations before I spend time doing this?
I'm hoping to spend some time on introtopython this summer, and this would be a great collaboration.
I wonder if it would be reasonable to take each notebook and make a translated version of it? So the first code-centered notebook is hello_world.ipynb. Maybe we make a notebook called hello_world_es.ipynb, or hello_world.es.ipynb? Then as each notebook evolves, they could be compared from time to time. It still runs the risk of evolving into two different projects, but I imagine we could do some realignment work from time to time.
How does that sound?
I wonder if it would be reasonable to take each notebook and make a translated version of it? So the first code-centered notebook is hello_world.ipynb. Maybe we make a notebook called hello_world_es.ipynb, or hello_world.es.ipynb? Then as each notebook evolves, they could be compared from time to time. It still runs the risk of evolving into two different projects, but I imagine we could do some realignment work from time to time.
How does that sound?
This setup sounds ideal. Do you plan to make any significant updates over the summer or is it safe to begin?
Maybe these tools could help:
- https://github.com/devrt/nbtranslate
- https://github.com/jfbercher/jupyter_nbTranslate
I would happily contribute to Hungarian translation :) Those tools seem great for automated translations, when could you take time to implement translations support?