Table of Contents
Steps to Fill in the QuestionnaireDetailsLang Table (Complete Guide)
This guide provides a step-by-step approach to correctly fill the QuestionnaireDetailsLang table. This table is used to store language-specific text for each question in the survey. It supports multi-language surveys, allowing the same question to appear in multiple languages with corresponding text, labels, and media files.
The table is linked to the QuestionnaireDetails table via qdetailid, meaning each question from QuestionnaireDetails has a corresponding language text entry in fw_questiondetailslang.
You can find the detailed structure of the QuestionnaireDetailsLang table here: 👉 QuestionnaireDetailsLang Table Structure
1. Add the ID (id)
This is the primary key (auto-incremented) for the table.
Do not manually enter this value if inserting data directly via the database.
It is automatically generated.
2. Link Question to Details (qdetailid)
qdetailid refers to the ID of the question from the QuestionnaireDetails table.
This creates a link between the question text and the question details.
Without this linkage, the text will not appear in the survey.
Example:
Suppose your question in QuestionnaireDetails has:
id = 1001 (This is the question ID in fw_questiondetails)
majorqid = 1, minorqid = 0
You need to link the text to this question using: qdetailid = 1001
3. Set the Language (language)
This column specifies the language in which the question text appears.
Use standard language codes like:
- EN → English
- NL → Dutch
- DE → German
- FR → French
Example: For an English version of the question: language = EN
For a Dutch version of the same question: language = NL
4. Add the Question Text (question)
This column holds the actual text of the question in the specified language.
Example: For an English version: question = “How satisfied are you with our service?”
For a Dutch version: question = “Hoe tevreden bent u met onze service?”
5. Set the Client Sheet Question Text (clientsheetqtext)
This text appears specifically on the Client Sheet (CS) report.
It is usually a shorter version of the full question text for reporting purposes.
Example: For the full question: question = “How satisfied are you with our service?”
For the client sheet: clientsheetqtext = “Service satisfaction”
6. Set the Download Question Text (downloadqtext)
This text will appear in the Excel/CSV export of the survey data.
It should be a simplified version of the question text to fit within the download file.
Example: For the full question: question = “How satisfied are you with our service?”
For download purposes: downloadqtext = “Service Satisfaction Rating”
7. Set the Import Question Text (importqtext)
This text will appear if the survey data is being imported (bulk response data).
It should clearly reflect the question context for easy data mapping.
Example: For an NPS: importqtext = “NPS Score”
For service satisfaction: importqtext = “Service Satisfaction Level”
8. Set the Report Question Text (reportqtext)
The reportqtext is used in drill-down reports to generate a natural language summary of the respondent's answer instead of showing the raw question text.
The placeholder ^answerQ^ should be used in the text to indicate where the respondent's answer will be inserted.
This helps make the report easier to read and more conversational when reviewing answers.
Example: If the response was: Answer: 8/10
The report will display: The respondent rated us 8 out of 10.
Here is a reference table for the reportqtext:
| Question Type | Actual Question in Survey | Suggested Report Text (reportqtext) |
|---|---|---|
| NPS | How likely are you to recommend us to a friend? | The respondent rated us ^answerQ^ out of 10. |
| Satisfaction | How satisfied were you with our service? | The customer satisfaction rating was: ^answerQ^. |
| Open Text | What can we do to improve our service? | The customer suggested: ^answerQ^. |
| Multiple Choice | Which service did you use? | The customer used: ^answerQ^. |
| Yes/No | Did the doctor listen to your concerns? | The customer answered: ^answerQ^. |
9. Set the App Question Text (appqtext)
This text appears in the mobile app case details screen if the survey is accessible via an app.
Example: For service satisfaction: appqtext = “Satisfaction”
For NPS: appqtext = “NPS Score”
10. Set the Client Sheet Category (cscategory)
This defines the category in which the question falls in the Client Sheet.
Common categories include:
- Service Quality
- Product Quality
- Customer Satisfaction
- Recommendation
Example: For Service Satisfaction: cscategory = “Service Quality”
For NPS: cscategory = “Recommendation”
11. Add Basis Text (basistext)
The basis text is shown in the Voorbeeld Vragenlijst (Example Questionnaire).
It explains why this question is being asked.
Example: basistext = “This question is asked when variable client is Swiesktly.”
For NPS: basistext = “This question is asked when the respondent is a promoter.”
12. Set Added From Module Language Settings (addedfrommodlangsettings)
This is a technical flag to indicate if the text was auto-generated from module settings.
Use:
1 → Yes, text was added from module language settings
0 → No, manually added text
Example: If you manually entered the text: addedfrommodlangsettings = 0
13. Upload Audio File (audiofile) (optional)
This is an optional column where you can upload an audio recording of the question.
The file should be uploaded as a BLOB (binary large object).
Supported formats:
- MP3
- WAV
14. Upload Video File (videofile) (optional)
This is an optional column where you can upload a video file related to the question.
The file should be uploaded as a BLOB.
Supported formats:
- MP4
- MOV
Example: Final Record
Here’s an example of a complete record for a single question:
| id | qdetailid | language | question | clientsheetqtext | downloadqtext | importqtext | reportqtext | appqtext | cscategory | basistext | addedfrommodlangsettings | audiofile | videofile |
| 1 | 1001 | EN | How satisfied are you with our service? | Service Satisfaction | Service Rating | Satisfaction Level | The respondent rated us ^answerQ^. | Satisfaction | Service Quality | Understand customer satisfaction |
✅ Notes
Always ensure the qdetailid matches the ID from QuestionnaireDetails.
The reportqtext should always use ^answerQ^ to dynamically insert the response.
💡 In most cases:
- The question text and reportqtext are usually identical.
- The clientsheetqtext, downloadqtext, importqtext, and appqtext often have the same text unless there's a specific reason to differentiate them.
