[limesurvey-developers] Remote survey translation
The leading Open Source survey tool
Brought to you by:
c_schmitz
From: Andrie de V. <apd...@ya...> - 2010-10-01 09:17:21
|
Dear development team A quick introduction: I am Andrie de Vries, owner and research director at PentaLibra, an independent market research firm based in London, England. I specialise in surveys, statistical analysis and strategy. I use LimeSurvey for in-house survey hosting, and R (the R-project for statistical computing) for statistical analysis. First of all, thank you and congratulations with creating a marvellous piece of software! On a recent project, I had to translate the survey from English into Chinese and Japanese. I made use of the code originally written by CasN, but had to rewrite most of it to work with LimeSurvey 1.90. I am now quite keen to contribute this back to the project, to ensure that it stays up to date with future releases. On the LimeSurvey website, there are three active discussions of this feature: 1) Bug tracker: http://bugs.limesurvey.org/view.php?id=1735 2) Ideas: http://ideas.limesurvey.org/ideatorrent/idea/205/ 3) Forum: http://www.limesurvey.org/en/support/forums/6-development/49852-survey-translation#49852 You can view a demonstration of the code in action here: http://surveys.pentalibra.com/translator/starttrans.php?sid=29846 My code has been used on my production server for a real-word project, by translators in China and Japan, so I know it works. However, to productise this to the mainline, at least the following needs to happen: 1) Decide on a security model At the least, each survey should be flagged in the database as being allowed remote translation. My solution is to create a flag on the surveys table, and allow translation only when this flag is set to true. The flag can be set by the administrator on the survey administration screen, i.e. I created a new tab with one field with a yes/no setting. 2) Modify the LimeSurvey installation and upgrade script to create this new field on the surveys table. I have (tested) sample code to do this, but at the moment this is standalone, and needs to be integrated. 3) Decide on a presentation style. As I see it, there are two options. Option (a) is to present the translation screen to the user outside of the LimeSurvey admin system, i.e. in the style of surveys. This look and feel will then be customizable using CSS templates. The benefit is that the translator doesn't have to log in to the LimeSurvey admin system. This is the approach I have taken. Option (b) is to build the interface into the admin system. This will require creating a new user security profile of translator, and will require the translator to log in. 4) Decide on a location for the files. At the moment the file location is root\translator. This is possibly appropriate for option (a) above. However, it may be more appropriate to put the files in \root\admin\ 5) Modify my code to be more robust for generic database support. At the moment it makes use of PHP calls to mysql. I am aware of the abstraction layer for generic database support in LimeSurvey, but will have to modify the code to make use of this. 6) Modify html.php and database.php - I know what changes should be made. 7) Modify code to enable HTML FCKeditor. At the moment I strip our HTML tags, and present the code to the translator in PHP input text or textarea fields. There are some other details to consider, but this is probably better dealt with at a later time. Regards Andrie -- |