====== Steps to Fill in the QuestionOptionsLang Table (Complete Guide) ====== This guide provides a step-by-step approach to correctly fill the **QuestionOptionsLang** table. This table is used to store **multilingual text** for each answer option in the survey. It supports multi-language surveys, allowing the same option to appear in **multiple languages** with corresponding text, labels, and import/export values. The table is linked to the **QuestionOptions Table** via **optionid**, meaning each option from [[questionoptions|QuestionOptions Table]] has a corresponding language text entry in **fw_questionoptionslang**. You can find the detailed structure of the **QuestionOptionsLang** table here: 👉 [[questionoptionslang|QuestionOptionsLang 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 Option to Question Option (optionid) ===== The **optionid** is a **foreign key** that links the answer option to the **QuestionOptions Table (fw_questionnairedetailsoptions)**. This ensures that the multilingual text is linked to the correct option. **Example:** Suppose your answer options in **QuestionOptions** are: * **id = 201** → Very Satisfied * **id = 202** → Satisfied * **id = 203** → Neutral You need to link the text to these options using: * optionid = 201 * optionid = 202 * optionid = 203 ===== 3. Set the Language (language) ===== This column specifies the **language** in which the option text appears.\\ Use standard **language codes** like: * **EN** → English * **NL** → Dutch * **FR** → French **Example:** For the option **Very Satisfied**: * language = EN → Very Satisfied * language = NL → Zeer Tevreden * language = FR → Très Satisfait ===== 4. Add the Option Text (optionname) ===== This is the **text** that will appear in the survey as the answer option for respondents.\\ It should be clear and concise. **Example:** ^ optionid ^ language ^ optionname ^ | 201 | EN | Very Satisfied | | 201 | NL | Zeer Tevreden | | 201 | FR | Très Satisfait | ===== 5. Add the Graph Option Text (graphoptionname) ===== The **graphoptionname** is the text that will appear in **graphical reports** like **bar charts, pie charts, etc.**. This text is usually shorter or abbreviated to ensure it fits in the graph display. **Example:** ^ optionid ^ language ^ graphoptionname ^ | 201 | EN | Very Satis. | | 201 | NL | Zeer Tev. | | 201 | FR | Très Satis. | ===== 6. Add the Report Option Text (reportoptionname) ===== The **reportoptionname** is the text that will appear in the **downloadable PDF/Excel reports**. This text is typically the same as the **option text**, but you can customize it for clarity. **Example:** ^ optionid ^ language ^ reportoptionname ^ | 201 | EN | Very Satisfied | | 201 | NL | Zeer Tevreden | | 201 | FR | Très Satisfait | ===== 7. Add the Import Option Text (importoptionname) ===== The **importoptionname** is the value that will appear in the **Excel/CSV import files** during bulk data import.\\ This should be a **short code or abbreviation** to make data mapping easier. **Example:** ^ optionid ^ language ^ importoptionname ^ | 201 | EN | VS | | 201 | NL | ZT | | 201 | FR | TS | ===== 8. Add the Import Open Answer Name (importopenansname) (Optional) ===== If the option allows respondents to provide an **open-ended text answer** (like "Other, please specify"), this field holds the import name for that text. This is useful when importing survey data with open-ended responses. **Example:** ^ optionid ^ language ^ importopenansname ^ | 205 | EN | OtherText | | 205 | NL | AndereTekst | | 205 | FR | AutreTexte | ===== 9. Add the Report Open Answer Name (reportopenansname) (Optional) ===== The **reportopenansname** is the text that will appear in **downloaded reports** for open-ended responses.\\ This text ensures the report clearly identifies open text answers. **Example:** ^ optionid ^ language ^ reportopenansname ^ | 205 | EN | Other Answer | | 205 | NL | Andere Antwoord | | 205 | FR | Autre Réponse | ===== 10. Set Added From Module Language Settings (addedfrommodlangsettings) ===== This column indicates whether the text was: * **0** → Manually added * **1** → Automatically generated by **Module Language Settings** **Example:** ^ optionid ^ language ^ addedfrommodlangsettings ^ | 201 | EN | 0 | | 201 | NL | 0 | | 201 | FR | 1 | This allows you to differentiate between auto-generated and manually added text. ===== 11. Final Record Example ===== Here’s an example of a complete record for the **Very Satisfied** option: ^ optionid ^ language ^ optionname ^ graphoptionname ^ reportoptionname ^ importoptionname ^ importopenansname ^ reportopenansname ^ addedfrommodlangsettings ^ | 201 | EN | Very Satisfied | Very Satis. | Very Satisfied | VS | OtherText | Other Answer | 0 | | 201 | NL | Zeer Tevreden | Zeer Tev. | Zeer Tevreden | ZT | AndereTekst | Andere Antwoord | 0 | | 201 | FR | Très Satisfait | Très Satis. | Très Satisfait | TS | AutreTexte | Autre Réponse | 1 | ===== ✅ Notes ===== - Always ensure the **optionid** matches the ID from [[questionoptions|QuestionOptions Table]]. - Always test the survey after inserting multilingual text. - For open-ended responses, ensure you fill **importopenansname** and **reportopenansname**. .