WeBWorK News

Internationalization of WeBWorK -- A Call for Help

Internationalization of WeBWorK -- A Call for Help

by Michael Gage -
Number of replies: 0

First  a short news item:  Those not in the US have long remarked on the confusion caused by due dates such as:   06/07/2012   for their students.  Is that the 7th of June or the 6th of July that the homework is due?   


Danny Glin from the University of Calgary (and one of the participants at WeBWorK::Rochester::2012 code camp) has come to the rescue and created the ability to customize the format for dates for your site or for your course.


The customization takes place in the conf/ localOverrides.conf or if you want to customize only one course  the course.conf file.  The new software is available in the webwork repository at github.com/openwebwork/webwork2-dev.  


Thanks, Danny.


This fix is currently part of the 2.5.1 beta version of WeBWorK which will be issued as a stable release some time in late 2012.  It is already pretty stable and is being used successfully at many sites this summer.  Eventually we'll make it possible to choose common time formats from the course administration page, but we'll take this one step at a time.


And this brings me to the larger issue of this post.


WeBWorK is going international.  We already have much of the WeBWorK interface localized so that commands appear in any of several languages such as French, Spanish, Turkish and English.  (Localization is software-speak for presenting the user interface in the local language, with the local timezones and the local manner of expressing dates, currencies and so forth.)  


The project is far from  completed in these languages (if you switch to languages other than English on the course configuration page you will still notice that some of the buttons and links still appear in English) but there has been significant progress.  Much of this progress is thanks to the initial work by Ben Walter and his colleagues at the Middle East Technical University in Northern Cyprus. Since then Grant He with some help from me has continued to markup large parts of the current code base

so that the "strings" can be individually translated and presented in any language.  Those using old versions of WeBWorK can see the internationalization effect for themselves by using the demo courses at https://hosted2.webwork.rochester.edu/webwork2/maa101, (maa102, etc) and using profa for login and profa for the password.  


To finish this task and change the internationalization of WeBWorK from its current proof-of-concept stage to a finished and polished product  will take a focused and sustained effort.  The initial burst of progress came from massive and enthusiastic effort from a few people, but to  make sure that every phrase has been marked for translation and that every translation has been checked for colloquial accuracy will require more organization.


This is what I think will be required:  (1) We will need people to volunteer to work to translate phrases from English to their native language.  (2) We will need one or two people who are familiar (or willing to become familiar )  with the perl language who will continue to mark up old (and sometimes new code) to make sure that all strings, including commands, buttons, warning strings, directions and so forth are properly marked up so that the strings can be sent to the translators.


 (3) Most importantly we'll need an Internationalization Coordinator, one person or two people working together, who will  be the central organizers for localization.  The Internationalization Coordinator will recruit translators, see that they have up-to-date lists of strings to be translated, (bug them until they get around to translating them) and then place the translated strings into the WeBWorK releases so that new languages or upgraded translations for old languages are available for all users of WeBWorK.


 Volunteers interested in helping WeBWorK thrive and grow internationally by serving for a term as the Internationalization Coordinator should contact Mike Gage (gage@math.rochester.edu) or  Jason Aubrey (aubreyja@missouri.edu)  The Internationalization Coordinator has duties similar in many ways to that of a a journal editor, although probably not as time consuming.


While the central organizing job does not involve a lot of time (it's mostly about making it possible for others to do work) it does need to be done on a steady and sustained basis.  For example when new translations come in they need to be promptly placed where they can be downloaded to update active sites. This is both for the sake of WeBWorK students and to encourage the translator to review their work and make corrections by giving them rapid feedback.   I've been fulfilling this role to some extent, but while a lot might get done over one  short period other WeBWorK issues will distract me, submissions will pile up and the whole translation process slows down. This job needs a person who can take it on as their mission, make it the focus of their attention for a year or so and then pass it on to someone else.


Preliminary instructions for the translator job are at http://webwork.maa.org/wiki/Instructions_for_translators.  Translating is a task that many people can contribute to in their spare time with the Internationalization Coordinator keeping track of what is

left to be done.  The best software I've found so far for this job is the open source Poedit java applet described on the wiki page above.


Marking up the code using the CPAN  Localization::Maketext::Simple package is a slightly more technical job that can be done well by undergraduates with some supervision.  Preliminary instructions about using the CPAN module can be found linked to http://webwork.maa.org/wiki/Localization. Those writing new interface code for WeBWorK should also look at this page and include the "maketext()" markups as they write the new code in order to ease the work load of the code mark up crew.


There is general information on the localization process on the wiki at http://webwork.maa.org/wiki/Localization.



Writing or translating homework problems into other languages is a separate project which is  closely tied to the new Open Problem Library project.  We currently know of collections of problems in French, Spanish and Turkish that we hope to include in the OPL.  As the number of problems, and the number of languages increases this project will undoubtedly require its own coordinator.  Some have already remarked that it will be interesting to compare calculus homework problems across countries since even calculus problems will probably have cultural differences as well as linguistic ones.



-- Mike