Internationalisation

11 views
Skip to first unread message

Rosario Borda

unread,
Apr 20, 2020, 9:50:45 AM4/20/20
to codeworld-discuss
Hello! 
I'm a teacher based in Milan. As I'm starting a course in software development to child of 7, I would need to internationalize the haskell dialect of Code World. Where can I start in the code?

Thank you very much for your super project, I think it is the best for teach FP to childhood.

See you!
Rosario

Chris Smith

unread,
Apr 20, 2020, 10:09:38 AM4/20/20
to codeworl...@googlegroups.com
Great question!  I've definitely thought about translating CodeWorld to make it more accessible to non-English speakers.  I think it would be easy to do a partial job, but unfortunately, translating the whole thing is very difficult.

There are two particularly tricky parts:

1. The error messages from CodeWorld are partly generated by GHC, a Haskell compiler outside of this project.  GHC has no idea at all about translations, and it's a pretty hairy bunch of code.  Most of those errors dynamically build up text, so it's not just a matter of translating the strings, but also reorganizing the way it handles grammar.  And to do this, you'd have to either make the contributions upstream in GHC, or fork GHC.  Either one is an immense effort.  Since no one is involved in this project consistently who could maintain that fork, I don't think I'd be willing to do that in the mainline project.  So then you're maintaining a fork of CodeWorld, as well.

2. CodeWorld gives students a library to program with, and that library is designed to read fluently in English.  Certain assumptions about the language (especially that adjectives come before the nouns they modify, and that this is the same order as functions and their arguments) are reflected in that design pretty deeply.  You'd have to put significant thought into designing a replacement for the standard library that makes sense to native speakers of another language.  And then, again, you've forked a significant part of the project, and in a way that I cannot maintain on my own.

That's what has prevented me from looking into translation in the past.

If the standard library and error messages being in English are okay, then it should be easier to translate the user interface.  But before I go further, let me get your sense on whether that would be good enough.

--
You received this message because you are subscribed to the Google Groups "codeworld-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to codeworld-disc...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/codeworld-discuss/cda0d85b-0b85-4391-b543-b0e079a949c8%40googlegroups.com.

Rosario Borda

unread,
Apr 20, 2020, 12:27:11 PM4/20/20
to codeworl...@googlegroups.com
Thank you for your kind answer.
Some years ago I went in a translation of ghc from the parser, and I meet the same issues. But for me it is not a problem, because with I think I can duplicate all the simpler expressions, when my pupils are at ease, I can move in English… So, thank you very much for yours directions!  

Reply all
Reply to author
Forward
0 new messages