Skip to main content
Version: Next

Configuring Language

This guide walks you through enabling languages, translating text, and applying multi-language support in your SCADA project.


Configuration Locationโ€‹

Navigate to Basic Management > Language in the development environment.

๐Ÿ“ท [Screenshot: Language management interface]


Step 1: Enable Languagesโ€‹

Enable the languages you want to support in your project.

View Available Languagesโ€‹

  1. Open the Language management interface
  2. View the list of available languages
  3. Each language shows:
    • Language name
    • Language code (e.g., en-US, zh-CN)
    • Enable/disable toggle

๐Ÿ“ท [Screenshot: Language list with enable toggles]

Enable a Languageโ€‹

  1. Locate the language you want to enable
  2. Click the toggle switch to enable
  3. The language is now available for translation

Commonly Used Languages:

  • English (United States) - en-US
  • Chinese (Simplified) - zh-CN
  • Spanish - es
  • German - de
  • French - fr
  • Japanese - ja
  • Korean - ko

๐Ÿ’ก Tip: Enable only the languages you will actively use to keep the translation list manageable.

Disable a Languageโ€‹

  1. Click the toggle switch to disable
  2. Translations are preserved but not available in runtime
  3. Re-enable anytime to restore translations

โš ๏ธ Caution: Disabling a language does not delete translations. They are preserved for future use.


Step 2: Translate Textโ€‹

Translate user-defined text (configurable text) for each enabled language.

Understanding the Translation Listโ€‹

The translation list automatically includes:

  • All text from components in views
  • Custom text added manually
  • Text is organized by original (source) text

Translation List Columns:

ColumnDescription
Original TextSource text (usually in default language)
Language 1Translation for first enabled language
Language 2Translation for second enabled language
...Additional enabled languages
ActionsTranslate, edit, delete

๐Ÿ“ท [Screenshot: Translation list showing original text and translations]

Auto-Detect Text from Viewsโ€‹

Text is automatically detected when you:

  • Add components with text to views
  • Modify text in existing components
  • Save views

To manually refresh the list:

  1. Click Sync or Refresh button
  2. System scans all views for text
  3. New text is added to translation list

Translate Text Manuallyโ€‹

Single Text Translationโ€‹

  1. Locate the original text in the list
  2. Click in the translation column for target language
  3. Enter the translated text
  4. Press Enter or click outside to save

๐Ÿ“ท [Screenshot: Manual text entry in translation column]

Batch Quick Translationโ€‹

  1. Select multiple text entries (checkboxes)
  2. Click Quick Translate button
  3. Enter translations in the dialog:
    • Original text is shown for reference
    • Enter translation for each selected text
  4. Click Confirm to save all translations

๐Ÿ“ท [Screenshot: Quick translate dialog with multiple entries]

๐Ÿ’ก Tip: Use Quick Translate for translating related text entries together (e.g., all button labels).

Translate Text Automaticallyโ€‹

Use built-in auto-translation for quick translations.

Configure Translation Engineโ€‹

  1. Click the dropdown arrow (โˆจ) next to Auto Translate button
  2. Select translation engine:
    • Google Translate
    • Microsoft Translator
    • Baidu Translate
    • Custom API
  3. Configure API credentials if required

๐Ÿ“ท [Screenshot: Translation engine configuration]

Auto-Translate Single Textโ€‹

  1. Locate the text to translate
  2. Click the Translate button (icon) for that text
  3. System automatically translates to target language
  4. Review and edit if needed

Auto-Translate Multiple Textsโ€‹

  1. Select multiple text entries (checkboxes)
  2. Click Auto Translate button
  3. System translates all selected texts
  4. Review translations and make corrections

๐Ÿ’ก Tip: Auto-translation is convenient but may not be accurate for technical terms. Always review auto-translated text.

โš ๏ธ Caution: Auto-translation requires internet connection and may have usage limits depending on the translation service.

Add Custom Text Manuallyโ€‹

Add text that is not automatically detected:

  1. Click Add Text button
  2. Enter original text
  3. Enter translations for enabled languages
  4. Click Confirm

Use Cases:

  • Text used in scripts
  • Dynamic text generated at runtime
  • Text for future use

Step 3: Export and Import Translationsโ€‹

Export translations for professional translation services or backup.

Export Translationsโ€‹

  1. Click Export button
  2. Select export location
  3. System exports to Excel file (.xlsx)

Excel File Structure:

Column AColumn BColumn CColumn D
Original TextLanguage 1Language 2Language 3
Button1Button1ๆŒ‰้’ฎ1Botรณn1
StartStartๅฏๅŠจIniciar
StopStopๅœๆญขDetener

๐Ÿ“ท [Screenshot: Exported Excel file showing translation columns]

Export Uses:

  • Send to professional translators
  • Backup translations
  • Share translations across projects
  • Review translations offline

Import Translationsโ€‹

Import translations from Excel file:

  1. Select the target language in the language list
  2. Click Import button
  3. Select Excel file to import
  4. System imports translations for selected language

Import Process:

Step 1: Select target language

๐Ÿ“ท [Screenshot: Language selection before import]

Step 2: Choose Excel file

๐Ÿ“ท [Screenshot: File selection dialog]

Step 3: Review imported translations

๐Ÿ“ท [Screenshot: Translation list after import]

Import Rules:

  • Original text is matched to existing entries
  • Translation is imported to selected language column
  • New original text creates new entries
  • Existing translations are overwritten

๐Ÿ’ก Tip: Use the same Excel file structure as exported to ensure successful import.

Example Import Workflow:

  1. Export translations to Excel
  2. Send Excel to translator
  3. Translator fills in translation column
  4. Import completed Excel file
  5. Review and test translations

Step 4: Preview Translationsโ€‹

Preview translations in the development environment before deploying to runtime.

Enable Preview Modeโ€‹

  1. Open a view in the View Editor
  2. Click Language button in the toolbar
  3. Select language to preview
  4. View updates to show translations

๐Ÿ“ท [Screenshot: Language selector in View Editor toolbar]

Adjust Layout for Translationsโ€‹

When previewing, you may need to adjust layouts:

Text Overflow:

  • Increase component width
  • Reduce font size
  • Use line breaks in text
  • Abbreviate if necessary

Layout Adjustments:

  • Resize components to fit translated text
  • Reposition components if needed
  • Adjust alignment and spacing
  • Test with longest translations

๐Ÿ’ก Tip: Design layouts with 30-50% extra space to accommodate text expansion in translations.

Test All Languagesโ€‹

  1. Switch between languages in preview mode
  2. Check each view for:
    • Text overflow or truncation
    • Layout issues
    • Alignment problems
    • Font size readability
  3. Make adjustments as needed
  4. Save changes

Step 5: Apply Multi-Language in Runtimeโ€‹

Enable language switching for operators in the runtime environment.

Method 1: Language Switcher Componentโ€‹

Add a pre-built language switcher component to your views.

  1. Open a view in the View Editor
  2. Navigate to Components > Standard > Language Switcher
  3. Drag component to the canvas
  4. Position and resize as needed

Component Features:

  • Dropdown list of enabled languages
  • Automatic language switching
  • Saves user preference
  • Updates all views instantly

๐Ÿ“ท [Screenshot: Language switcher component in view]

Configuration:

  • No configuration required
  • Automatically shows all enabled languages
  • Can be styled like other components

Method 2: Custom Language Switchingโ€‹

Create custom language switching using event-actions.

Example: Language Selection Buttons

  1. Add buttons for each language (e.g., "English", "ไธญๆ–‡", "Espaรฑol")
  2. For each button, add event-action:
    • Event: Click
    • Action: System > Switch Language
    • Language: Select target language

๐Ÿ“ท [Screenshot: Event-action configuration for language switching]

Example: Dropdown Language Selector

  1. Add dropdown component
  2. Configure options: List of languages
  3. Add event-action:
    • Event: Input Change
    • Action: System > Switch Language
    • Language: event.target.value

Example: Automatic Language Selection

  1. Add event-action to view load:
    • Event: View Load
    • Condition: Check user preference or system locale
    • Action: System > Switch Language
    • Language: Based on condition

Default Language Settingโ€‹

Configure the default language for new sessions:

  1. Navigate to Project Settings
  2. Find Language section
  3. Set Default Language:
    • Follow System: Use operating system language
    • Specific Language: Always use selected language
  4. Save settings

๐Ÿ“ท [Screenshot: Default language setting in project settings]

Behavior:

  • Follow System: Automatically selects language based on OS locale
  • Specific Language: Always starts with selected language
  • User can override with language switcher

Advanced Scenariosโ€‹

Scenario 1: Role-Based Languageโ€‹

Use Case: Automatically set language based on user role or location.

Implementation:

  1. Store user language preference in database
  2. On login, query user's preferred language
  3. Use event-action to switch language:
    • Event: System Startup or View Load
    • Action: Query to Tags (get user language)
    • Action: System > Switch Language

Scenario 2: Language-Specific Viewsโ€‹

Use Case: Show different views for different languages.

Implementation:

  1. Create separate views for each language
  2. Use event-action to navigate based on language:
    • Event: System Startup
    • Condition: Check current language
    • Action: Navigate to language-specific view

Scenario 3: Partial Translationโ€‹

Use Case: Translate only critical text, leave technical terms in English.

Implementation:

  1. Identify text that should not be translated
  2. Use same text for all languages in translation list
  3. Or use language-specific formatting (e.g., "Temperature (ๆธฉๅบฆ)")

Scenario 4: Dynamic Text Translationโ€‹

Use Case: Translate text generated dynamically in scripts.

Implementation:

  1. Create translation entries for all possible dynamic text
  2. In script, use translation lookup:
    var translatedText = GetTranslation("Original Text");
  3. Display translated text in components

Best Practicesโ€‹

Translation Qualityโ€‹

Professional Translation:

  • Use professional translators for critical text
  • Provide context for technical terms
  • Review translations with native speakers
  • Test translations in actual use cases

Consistency:

  • Create and maintain a translation glossary
  • Use consistent terminology across all views
  • Standardize common phrases and labels
  • Review translations periodically for consistency

Accuracy:

  • Verify technical terms are translated correctly
  • Ensure safety-critical text is accurate
  • Test translations with end users
  • Correct errors promptly

Workflow Efficiencyโ€‹

Batch Operations:

  • Translate related text together
  • Use Quick Translate for similar entries
  • Export/import for large translation projects
  • Leverage auto-translation for initial drafts

Version Control:

  • Export translations regularly for backup
  • Track translation changes over time
  • Maintain translation history
  • Document translation decisions

Collaboration:

  • Assign translation responsibilities
  • Use export/import for external translators
  • Review translations as a team
  • Establish approval process

Maintenanceโ€‹

Regular Updates:

  • Update translations when source text changes
  • Review translations after view modifications
  • Check for missing translations periodically
  • Keep translation list synchronized with views

Quality Checks:

  • Test all languages before deployment
  • Verify text fits in layouts
  • Check for truncation or overflow
  • Ensure readability at runtime

Documentation:

  • Document translation standards
  • Maintain glossary of technical terms
  • Record translation decisions
  • Provide guidelines for future translations

Troubleshootingโ€‹

Text Not Translatingโ€‹

Problem: Text remains in original language after switching.

Possible Causes:

  1. Text not in translation list
  2. Translation not entered for target language
  3. Component not supporting translation

Solutions:

  1. Click Sync to refresh translation list
  2. Check if translation exists for target language
  3. Verify component type supports translation
  4. Check if text is in image (not translatable)

Translation Not Savingโ€‹

Problem: Entered translations disappear after closing.

Possible Causes:

  1. Not clicking Save or Confirm
  2. Database write error
  3. Insufficient permissions

Solutions:

  1. Always click Save after entering translations
  2. Check database connection
  3. Verify user has write permissions
  4. Review system logs for errors

Layout Issues After Translationโ€‹

Problem: Text overflows or layout breaks in translated language.

Possible Causes:

  1. Translated text is longer than original
  2. Component size too small
  3. Fixed layout not accommodating text expansion

Solutions:

  1. Increase component width
  2. Reduce font size
  3. Use line breaks in translation
  4. Redesign layout with flexible sizing
  5. Abbreviate text if necessary

Import Not Workingโ€‹

Problem: Import fails or imports incorrect data.

Possible Causes:

  1. Excel file format incorrect
  2. Original text doesn't match
  3. Wrong language selected for import

Solutions:

  1. Use exported Excel as template
  2. Ensure original text column matches exactly
  3. Select correct target language before import
  4. Check Excel file for formatting issues
  5. Verify file is not corrupted

Auto-Translation Failsโ€‹

Problem: Auto-translate button does nothing or shows error.

Possible Causes:

  1. No internet connection
  2. Translation API not configured
  3. API quota exceeded
  4. Service unavailable

Solutions:

  1. Check internet connectivity
  2. Configure translation engine settings
  3. Verify API credentials
  4. Check API usage limits
  5. Try different translation engine
  6. Use manual translation as fallback

Next Stepsโ€‹

Now that you know how to configure multi-language support, explore: