View Issue Details

IDProjectCategoryView StatusLast Update
01735User patchesTranslationpublic2010-12-14 13:02
Reporteruser898Assigned Touser9189 
Status closedResolutionfixed 
Product Version1.70 
Target VersionFixed in Version1.91 
Summary01735: Remote translating feature

My survey needed to be translated into various languages and I did not want people to have admin access to limesurvey for translating.
Perhaps there are better ways but could not find them. Therefore made a few scripts to enable remote translating.
Copy the scripts in the root of your survey directory and call starttrans.php like this starttrans.php?survey=12345
It will check the languages connected to the survey and also verify the labelsets used.
You will then get a screen with for each language the required links for translating, aswell for the labels as the survey itself. From the survey, the question and tip fields are presented for translation.

It is a very basic script and should be included into the application itself with proper authorisation. Perhaps soemthing for the development team.

The scripts are attached, comments/remarks/improvements are appreciated.

Have fun,

Tagsremote translation, survey translation
Complete LimeSurvey version number (& build)



2008-02-27 13:50


Hi, is this modification for v1.53+ or for 1.70?


2008-02-27 16:17


It is stated in the report, product version 1.70


2008-02-27 16:45


k, THX; I didn't give it a try yet and thought your entry wasn't correct - sorry.


2008-02-27 16:55


Have added translation scripts for groups and some of the surverysettings.
It stays work in progress.............


2008-02-28 11:51


I encounter some problems with the Chinese language.

When I use my script, I get various western characters in the table, when I transalte through the standard interface, i get chinese in the table.
Equally when I retrieve my Chinese input through my script, it looks ok. When I retrieve translation through the standard interface, my script shows question marks.

Can someone explain how this works within the application.


2008-02-28 15:34


Looks like I cracked the issue with the Chinese Chars.
All it took was one more MySql statement.
Unfortunately I cannot delete old attached files so now there are 4.
In addition I have made all DB references variable.

2008-02-29 14:37 (36,641 bytes)


2008-02-29 14:44


Another version with some improvements and extensions.
Just copy the contents(3 directories) of the zip file (no 5) into the root of your limesurvey directory.
I have made a change to HTMl.php such that a link to this functionality pops up in the admin section.

Now also the answer table is taken into account, special characters are handled also.


2008-08-19 22:57


Hi, we just started working on LimeSurvey v1.8. Is it possible, that you provide a patch of this modification for this version/branch?


2008-08-20 21:21


I am not to familiar with creating patches but will gladly adjust the code to fit version 1.8 as soon as apropriate.



2009-10-16 01:50

partner   ~09805

Any news on this?



2010-03-14 00:25

administrator   ~11339

CasN, this feature is scheduled for 1.90. Can you provide an updated patch, maybe?


2010-03-21 11:50


Last edited: 2010-03-21 12:01

View 2 revisions

I can make it for version 1.90. Where can I download this version?



2010-03-21 12:22

reporter   ~11453

Last edited: 2010-03-21 13:24

View 2 revisions

great !

You can download the latest revision off the svn and provide a patch against it.


PS: URL to the svn directory:

EDIT: Sorry, Wrong URL, please refer to the next post by ElMetador69 for the correct link of the source code for 1.90 dev branch.


2010-03-21 12:33


@ CasN:

Please start here:

and the correct link to the svn directory for the development branch for 1.90 is:



2010-03-30 07:28

reporter   ~11543

Hi CasN

Did you get time to pull the 1.90 dev branch off the aforementioned link. Please let me know if you come across any problem in grabbing the source code or generating the patch.


2010-03-30 08:49


I got the dev branch and am reviewing the code in between other activities.



2010-04-01 17:36

administrator   ~11564

Please note that the dev branch shifted now to



2010-06-09 15:23

partner   ~12209

Any news on this?

Check #2 at


2010-08-17 13:07


translator (36,961 bytes)


2010-08-17 13:31


Since I need this functionality for a project I am working on, I have updated and rewritten the code to be compatible with LimeSurvey v1.90.

I have attached this in the files section above ("translator").

The instructions that CasN wrote originally still holds.

Exceptions: This code doesn't help to translate any of the following:

  • Survey description
  • Welcome text
  • End text

The reason is as follows: During testing of my own sites I realised that I made use of extended descriptions in the FCKeditor. In other words, my descriptions contain line breaks, center alignment, linked graphics, etc. The existing code strips these special HTML characters before presenting it to the translator.

This means that the code should be modified to present the translator with the FCKeditor, in order to preserve the formatting and special characters.

I don't know how to do this, but will get in touch with the development team to try and find a solution.

Meanwhile, I hope this bit of code is useful.



2010-08-18 15:23

partner   ~12653

Great work!

We'll look into it and with some additions this feature might make it into the next 1.91 release. It's very useful, our users will love it.


2010-09-10 15:34



I have now implemented this feature on my live site, and have successfully used translation agencies to translate into Chinese and Japanese. In the process, I have made a number of further improvements to the code.

I am prepared to do even more and become part of the LimeSurvey development team to get this feature implemented and integrated into future versions.

I have followed the instructions on how to join the development team, and signed up to all of the developer mailing lists, but no response so far.

Please contact me at andrie dot de dot vries at yahoo dot com.

I attach my further improvements.



2010-09-10 15:36


translator v1-9 (38,404 bytes)


2010-09-10 15:40


Forgot to add:

In attachment "translator v1.9" I have modified the paramater to ?sid= rather than ?survey=, since this is more in line with general practise.

Thus to start the translator, copy the scripts in the root of your survey directory and call starttrans.php like this:


This will give you a link for each translate-to language. This is particularly helpful if you are working with multi-language surveys, where different agents will translate each language.



2010-09-13 17:02

partner   ~12838

Carsten, can you have a look please!?

This is a very useful feature that is often requested in the forum. The developer is willed to make this ready for the next release so please give some advice.


2010-09-13 18:29


As suggested by Mazi, a few notes on known issues and ideas for future development.

You can view an on-line demonstration here:

Known issues:

1) Validation of input parameters should be improved
2) Handling of HTML in fields is poor. At the moment I strip HTML from the fields, because I prefer to use CSS styling of the questionnaire. An option is to create a user-definable setting to use the in-line fckEditor HTML editor.
3) Security can be improved by creating a new field in the surveys table that defines whether a given survey may be remote translated or not. This will prevent unauthorised tampering with surveys.
4) There is no admin UI at the moment.
5) The presentation should be improved, by providing a default CSS template, at the least.


2010-10-01 10:37


I have created a forum discussion asking for suggested features on this idea:

There is also a new idea discussion:



2010-10-01 13:38

partner   ~12970

Thibault, you replied first to the mailing list message so I consider that you want to volunteer for helping Andrie making this a nice new LS1.9x feature ;-)

Mailing list text:
"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
1) Bug tracker:
2) Ideas:
3) Forum:

You can view a demonstration of the code in action here:

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."


2010-11-10 13:44


This feature has been integrated into the development version of LimeSurvey. We expect it to be released in version 1.91


2010-11-10 13:45


This feature has been integrated into the development branch of LimeSurvey, and should be released with the next version (1.91)

Issue History

Date Modified Username Field Change
2008-02-27 13:27 user898 New Issue
2008-02-27 13:27 user898 Status new => assigned
2008-02-27 13:27 user898 Assigned To => user372
2008-02-27 13:27 user898 File Added:
2008-02-27 13:27 user898 Browser => IE7
2008-02-27 13:27 user898 Database & DB-Version => MySQL 5.0.45
2008-02-27 13:27 user898 Operating System => WIN2K3
2008-02-27 13:27 user898 PHP Version => 5.2.5
2008-02-27 13:27 user898 Webserver => IIS
2008-02-27 13:50 user372 Note Added: 03684
2008-02-27 16:17 user898 Note Added: 03685
2008-02-27 16:45 user372 Note Added: 03686
2008-02-27 16:46 user372 Assigned To user372 => c_schmitz
2008-02-27 16:54 user898 File Added:
2008-02-27 16:55 user898 Note Added: 03687
2008-02-27 23:13 c_schmitz Assigned To c_schmitz =>
2008-02-27 23:13 c_schmitz Status assigned => acknowledged
2008-02-27 23:13 c_schmitz Project Bug reports => User patches
2008-02-28 11:51 user898 Note Added: 03695
2008-02-28 15:28 user898 File Added:
2008-02-28 15:34 user898 Note Added: 03701
2008-02-28 15:34 user898 File Added:
2008-02-29 14:37 user898 File Added:
2008-02-29 14:44 user898 Note Added: 03728
2008-08-19 22:57 user372 Note Added: 05600
2008-08-20 21:21 user898 Note Added: 05613
2009-10-16 01:50 Mazi Note Added: 09805
2010-03-11 17:23 c_schmitz Assigned To => c_schmitz
2010-03-11 17:23 c_schmitz Status acknowledged => confirmed
2010-03-13 16:13 c_schmitz Status confirmed => acknowledged
2010-03-14 00:23 c_schmitz File Deleted:
2010-03-14 00:23 c_schmitz File Deleted:
2010-03-14 00:23 c_schmitz File Deleted:
2010-03-14 00:24 c_schmitz File Deleted:
2010-03-14 00:25 c_schmitz Note Added: 11339
2010-03-14 00:25 c_schmitz Status acknowledged => feedback
2010-03-15 23:47 c_schmitz Assigned To c_schmitz => texens
2010-03-15 23:47 c_schmitz Severity feature => trivial
2010-03-21 11:50 user898 Note Added: 11452
2010-03-21 11:50 user898 Status feedback => assigned
2010-03-21 12:01 user898 Note Edited: 11452 View Revisions
2010-03-21 12:22 texens Note Added: 11453
2010-03-21 12:25 texens Status assigned => feedback
2010-03-21 12:33 user372 Note Added: 11454
2010-03-21 12:35 user372 Target Version => 1.88
2010-03-21 13:24 texens Note Edited: 11453 View Revisions
2010-03-30 07:28 texens Note Added: 11543
2010-03-30 08:49 user898 Note Added: 11544
2010-03-30 08:49 user898 Status feedback => assigned
2010-04-01 17:36 c_schmitz Note Added: 11564
2010-06-09 15:23 Mazi Note Added: 12209
2010-08-17 13:07 user9189 File Added: translator
2010-08-17 13:31 user9189 Note Added: 12646
2010-08-18 15:23 Mazi Note Added: 12653
2010-09-10 15:34 user9189 Note Added: 12823
2010-09-10 15:36 user9189 File Added: translator v1-9
2010-09-10 15:40 user9189 Note Added: 12824
2010-09-13 17:01 Mazi Assigned To texens => c_schmitz
2010-09-13 17:02 Mazi Note Added: 12838
2010-09-13 18:29 user9189 Note Added: 12841
2010-09-13 18:30 user9189 Tag Attached: remote translation
2010-10-01 10:37 user9189 Note Added: 12965
2010-10-01 10:37 user9189 Tag Attached: survey translation
2010-10-01 13:37 Mazi Assigned To c_schmitz => lemeur
2010-10-01 13:38 Mazi Note Added: 12970
2010-10-12 00:14 c_schmitz Assigned To lemeur => user9189
2010-11-10 13:44 user9189 Note Added: 13479
2010-11-10 13:45 user9189 Note Added: 13480
2010-11-10 13:45 user9189 Status assigned => resolved
2010-11-10 13:45 user9189 Fixed in Version => 1.91
2010-11-10 13:45 user9189 Resolution open => fixed
2010-12-14 13:02 c_schmitz Status resolved => closed