From LimeSurvey Manual
Revision as of 17:07, 29 December 2021 by FuzzyBot (Updating to match new version of source page)
Wouldn't it be great to have LimeSurvey completely translated to your native language? The LimeSurvey team is always on the lookout for new translations and for people who help update the existing ones. Please read these instructions and don't hesitate to send an email to email@example.com if you are in doubt or have any other questions.
How to translate - step-by-step instructions
Updating an existing translation
- Sign up on the LimeSurvey website and then log in to your account.
- Go to https://translate.limesurvey.org and log in there with the same username and password.
- Pick the LimeSurvey version you want to translate and simply get started. After your translation is approved, it will automatically be included in the weekly stable release and your username will be credited in the change log.
- If you are interested in becoming a prime translator for your language with the ability to approve newly translated strings, please contact us at firstname.lastname@example.org. Such a position requires a maximum of about an hour of work per week - it's important to us that you are reliable in doing this.
Customize an existing translation
Sometimes you might want to modify an existing translation so it accommodates your particular survey situation better. In that case, do the following:
- Go to https://translate.limesurvey.org, pick the LimeSurvey version you want to translate and the particular language you want to modify.
- On the bottom of the translation page you will find an option to export all strings as *.po file. Click on the export and save it as *.po file to your local hard-disk:
- Download and install Poedit.
- Start Poedit and edit the downloaded *.po file - modify the particular translations.
- When you save the *.po file, a *.mo file is automatically created. The latter will be read by LimeSurvey.
- The last step is to place the particular *.mo file in the right language folder in /locale by replacing the existing one.
Creating a new translation
- First of all, get access to the development version of LimeSurvey. For detailed instructions, access the source code.
- Download and install Poedit .
- Now you have to find out the language-code for your language - you can search for your language-code in the IANA Language Subtag Registry.
- Go into the /locale directory (located in the LimeSurvey root directory) and create a directory named after your language code.
- Download your language template by going to on the following link . Select the project, then any language (e.g. go for the English entry), and scroll to the bottom. There you have the possibility to export the language file as <your_language_code>.po file.
- Copy the <your_language_code>.po file to the newly created folder located in the /locale directory.
- Open the file with Poedit and translate everything you need to translate.
- To make LimeSurvey know about your language, you must add it in application/helpers/surveytranslator_helper.php (located in the LimeSurvey root directory). Open that file with a text editor and add your language in the same way the other languages are defined in that file.
- Save - in order to allow LimeSurvey to see the newly added language, save the modified *.po file. This will automatically generate the *.mo file in the same folder, which will be read by LimeSurvey.
- Send the new *.po file and the updated surveytranslator_helper.php file to email@example.com.
Sample code for add a new language
$supportedLanguages['code']['description'] = gT('Language'); // Your language name in English $supportedLanguages['code']['nativedescription'] = 'Language in native'; // The native name of your language $supportedLanguages['code']['rtl'] = (true|false); // RTL $supportedLanguages['code']['dateformat'] = integer; // See getDateFormatData function $supportedLanguages['code']['radixpoint'] = (0|1); // 0 : ., 1 : , for radix point $supportedLanguages['code']['cldr'] = 'code'; // If the related Yii language code differs you can here map your language to a new code $supportedLanguages['code']['momentjs'] = 'code'; // Used by moment.js
Other part to be translated
- LimeSurvey use moment.js. When you send the message to firstname.lastname@example.org check what language code must be used.