About Copying Existing Bot Scenario
Kwizbot supports multilingualism, allowing creating scenarios for different languages. When creating a scenario in one language, you can translate it to other languages while preserving scenario structure and logic.
Context and Problem
In many cases, you need to create multilingual scenarios:
- Different languages for different regions
- Content localization for better understanding
- Support for multiple languages in one bot
- Preserving structure during translation
Multilingualism solves this task by allowing creating scenarios for different languages while preserving structure and logic.
Key Concepts
Switching Between Languages
In the lower left corner of the scenario, there is an icon for switching between bot language versions. You can add/remove languages in bot settings.
Translation Process
- Create scenario in one language
- Switch to the next bot language version
- Make changes to corresponding blocks that need translation
- Save the scenario
Visual Indicators
- Red color — untranslated text in scenario blocks
- Gray color — translated text after filling fields
- Empty fields — when opening block editing in a new language version
Approach Options
Manual Translation vs Automatic Translation
Manual Translation:
- ✅ Pros: Accuracy, quality control, context consideration
- ❌ Cons: Slowness, requires language knowledge
Automatic Translation:
- ✅ Pros: Speed
- ❌ Cons: Possible errors, lack of context
Why we use manual translation: Manual translation ensures better quality and context consideration, which is important for effective communication with users.
Adopted Solutions
What Needs to Be Translated
Needs translation:
- Message texts
- Button texts
- Block names (if used in messages)
- Text in action blocks (if contains text for user)
Does not need translation:
- Action block names
- JSON configurations (except text for user)
- Block aliases
- Technical parameters
Using Placeholders
Placeholders (for example, {{user_name}}) work the same for all languages. You only need to translate text around placeholders.
Implications for Users and Implementation
For Integrators
When translating a scenario, it's important to:
- Check all blocks — for presence of untranslated texts (red color)
- Translate text around placeholders — preserving the placeholders themselves
- Preserve structure — do not change logic and block aliases
- Check translation — for correctness and context compliance
Common Errors
Error: Some blocks are not translated
Problem: Forgot to translate text in some blocks
Solution: Check all blocks for red color and translate untranslated text
Error: Placeholders do not work after translation
Problem: Accidentally deleted or changed placeholders
Solution: Check preservation of placeholders in translated texts
Error: Scenario structure broke after translation
Problem: Changed aliases or block structure
Solution: Check preservation of aliases and structure during translation
Usage Examples
Translation with Placeholders
Ukrainian version:
Привіт, {{user_name}}! Як справи?
English version:
Hello, {{user_name}}! How are you?
Automatic Language Detection
The system can automatically detect user language based on:
- Messenger settings
- User's first message
- Bot settings
Related Documents
- How-to: Add Translations — detailed instruction on adding translations