====== 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|QuestionnaireDetails]] has a corresponding language text entry in **fw_questiondetailslang**. You can find the detailed structure of the **QuestionnaireDetailsLang** table here: πŸ‘‰ [[questionnairedetailslang|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|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.