LogoLogo
Try it outResourcesAPIsAddOnsBook a demo
  • Getting Started
    • Introduction to Beefree SDK
      • Create an Application
      • Installation and Fundamentals
        • Configuration parameters
          • Configuration Reload
          • Workspaces
          • Debugging the Beefree SDK Editor
        • Methods and Events
        • Authorization Process
        • How the UID parameter works
        • Set up two-factor authentication
        • Naming conventions
      • Development Applications
      • Manage Users
      • Manage Subscriptions
    • Tracking Message Changes
    • Sample Code
    • Release Candidate Environment
  • Visual Builders
    • Email Builder
    • Page Builder
      • Integrating Page Builder
      • Embedding videos in a page
    • Popup Builder
      • Popup Builder - Getting Started
      • Testing and Integrating
      • Setting layout and size
        • Advanced settings
    • AI-Driven Design Creation
  • APIs
    • Content Services API
      • Authentication
      • Export
      • Convert
      • Row Processing
      • AI Collection
      • Brand Style
      • Check
    • Template Catalog API
      • Authentication
      • Templates
      • Categories
      • Collections
      • Designers
      • Tags
    • HTML Importer API
      • Authentication
      • Import HTML
  • Forms
    • Form Block
    • Integrating and using the Form block
      • Passing forms to the builder
      • Form structure and parameters
      • Form layout customization
      • Allowed form fields
      • Edit form field modal
  • Rows
    • Reusable Content
      • Create Reusable Content
        • Pre-build Reusable Content
          • Implement Custom Rows
        • Save Reusable Content
          • Implement Hosted Saved Rows
          • Implement Self-hosted Saved Rows
            • Self-hosted Saved Rows Concepts and Tutorial
      • Sync Reusable Content
        • Implement Synced Rows
        • Initialize Edit Single Row Mode
      • Manage Reusable Content
    • Storage for Reusable Content
      • Hosted Saved Rows
      • Self-Hosted Saved Rows
  • File manager
    • File manager application overview
      • Mime Types and Groups
  • Server-side configurations
    • Server-side options
      • Toolbar options
      • Storage options
        • Configure your AWS S3 bucket
        • Connect your file storage system
      • Content options
      • Services options
      • Undo & Changes history
      • Custom JavaScript Libraries Injection
  • Other Customizations
    • Advanced options
      • Special Links and Merge Tags
      • Content Dialog
      • Custom Color Palette
      • Font management
      • Roles and Permissions
      • Smart Merge Tags
      • Commenting
      • Custom Attributes
      • Meta Tags
      • Custom Languages
      • Display Conditions
      • Advanced Permissions
      • Custom File Picker
      • Custom Headers
    • Appearance
      • Content Defaults
      • Custom Sidebar Position
      • Content Tile Sorting
      • Content Tile Grouping
      • Loading Spinner Theme
      • Custom Tab Layout
      • Themes
      • Custom CSS
        • Change Log
    • AMP for Email
    • Collaborative Editing
      • Co-editing Integration Guide
    • Mobile Design Mode
    • Multi-language Templates
    • Cards Style and Image Round Corners
    • Hover Effect for Buttons
    • Content Area Padding
    • Line Height
    • Frontend Commands
  • Data Structures
    • Getting Started
    • Schema Catalog
    • Simple Schema
      • Template Schema
      • Definitions Schema
      • Row Schema
      • Column Schema
      • Title Schema
      • Image Schema
      • Button Schema
      • Paragraph Schema
      • HTML Schema
      • Menu Schema
      • List Schema
      • Icon Schema
      • Divider Schema
    • Row Metadata
    • Form Validation Schema
    • Comments Schema
      • Change Schema for Comments
  • Builder AddOns
    • AddOns
      • AddOns Overview
      • Partner AddOns
        • Partner AddOns directory
        • Installing Partner AddOns
        • DeepL
        • Stability AI
        • Azure AI Vision - Image Analysis
          • Alternate Text Generation with AI
          • AI Alt Text Bulk Generation
        • AI Writing Assistant
          • Available Providers
            • OpenAI
            • Azure OpenAI
            • Anthropic
          • AI Providers and Data Security
          • AI-Generated Meta Tag Fields
          • Token Upselling
          • Apply a Brand Tone
        • Custom AI Writing Assistant
      • Custom AddOns
        • AddOn Development
        • Contribute to the Partner AddOn Marketplace
      • AddOns Configuration
      • AddOn FAQs
  • Resources
    • Error Management
      • onWarning
      • Beefree SDK Editor Errors
      • File System Provider errors
      • JSON Parser errors
      • Template Validation and Update
      • Template validation and update errors
    • Scheduled maintenances
Powered by GitBook
LogoLogo

Policies

  • Privacy & Cookies
  • Terms of Services
  • GDPR Compliance
  • Trust Center

Contact Us

  • Submit a request
  • Book a demo
  • Report a security issue
  • Beefree SDK Startup Program

Resources

  • Developer website
  • Create a Developer Account

© Bee Content Design, Inc. San Francisco, CA | Part of Growens

On this page
  • What are Custom Languages?
  • How to Use Custom Languages
  • Using a Translation URL
  • Using a JSON Object
  • Additional Examples
  • Overriding AI Writing Assistant Default Text
  • Paragraph Block
  • Title Block
  • List Block
  • Button Block
  • Confirmation Dialogs
  • Delete Row
  • Delete Column
  • Delete Module
  • Hide Row on Mobile with Module Already Hidden on Desktop
  • Remove Custom Display Condition
  • Confirm Delete Single File
  • Confirm Delete Multiple Files
  • Confirm Update Existing File | Custom FSP
  • Confirm Update Existing File
  • File Manager - Move File Replace Confirmation
  • Sample language file

Was this helpful?

Export as PDF
  1. Other Customizations
  2. Advanced options

Custom Languages

You can choose one of 20+ languages for the visual builder's UI when initializing the builder. If you want to use custom language strings, however, you will need to use a Custom Language. This feature is available on Beefree SDK Core plan and above. Upgrade a development application at no extra charge to explore features from higher plan tiers. Note: Usage on a development application still counts toward usage-based fees and limits.

What are Custom Languages?

In Beefree SDK, Custom Languages allow you to accomplish two things:

  • Translate the default text in the builder to your preferred language.

  • Override the default text in the builder to your preferred text, even if you keep the same language.

Translating the default text in the builder is useful when you have diverse end users and you'd like to provide them with a builder experience that resonates with them.

Overriding the default text in the builder with your preferred text is useful when you want to customize the builder experience and apply your application's unique tone.

This page discusses how you can accomplish both use cases with Custom Languages. Keep in mind that you can utilize Custom Languages for overriding default text in the builder, even if you are not translating any of it to another language.

Before getting started, ensure you access and familiarize yourself with the beefree-sdk-assets-languages GitHub repository. This repository includes important JSON files for you to utilize to accomplish the steps outlined on this page.

Important: Familiarize yourself with the beefree-sdk-assets-lanaguges GitHub repository prior to continuing into the steps.

How to Use Custom Languages

This section includes two examples on how to use Custom Languages based on the above scenarios.

Example One: Overriding Default Text

In the .en-US JSON file, you'll find the following section at the beginning:

{
    "bee-common-top-bar": {
        "actions": "Actions",
        "help": "Help",
        "preview": "Preview",
        "save": "SAVE",
        "save-as-template": "Save as template",
        "show-structure": "Show structure",
    },

This JSON includes the default text in the builder, which you can see in the image of the Top bar below.

By adding the translations parameter to the beeConfig with the following configuration, the top bar can easily be customized.

const beeConfig = {
  uid: config.uid,
  container: 'bee-plugin-container',
  translations: {
    'bee-common-top-bar': {
      'actions': 'Design Management',
      'send-test': 'Test your design',
      'help': 'Need support? Contact us.',
      'preview': 'View your masterpiece',
      'save': 'Save changes',
      'save-as-template': 'Download your design',
      'show-structure': 'Show outline',
    },
  },

The following image shows how this configuration appears in the builder.

Example Two: Translating Default Text

Translating the content to another language follows the same approach. The following configuration overrides the default text with the Spanish translation.

const beeConfig = {
  uid: config.uid,
  container: 'bee-plugin-container',
  translations: {
    'bee-common-top-bar': {
      'actions': 'Acciones',
      'send-test': 'Enviar prueba',
      'help': 'Ayuda',
      'preview': 'Vista Previa',
      'save': 'GUARDAR',
      'save-as-template': 'Guardar como plantilla',
      'show-structure': 'Mostrar estructura',
    },

The following image shows the result of the configuration with the Spanish configuration.

Using a Translation URL

You can override the default Beefree SDK language file by providing a URL to your own translations. This is an advanced feature and will replace all languages used by the editor with the languages defined in the custom file.


var beeConfig = {
      uid: config.uid,
      ...
      translationsUrl: 'https://www.yourdomain.com/xx-XX.json',
      ...
}

Using a JSON Object

The easiest method to override specific text labels is to pass a JSON object in your beeConfig, which contains the segments of the language file you want to override.

var beeConfig = {
    uid: config.uid,
    // additional configuration properties...
    language: 'en-US',
    translations: {
        'bee-common-widget-bar': {
            content: 'MODULES',
        },
        // additional translations...
    },
    // other properties...
};

Additional Examples

Overriding the Help icon label in the default toolbar


var beeConfig = {
      uid: config.uid,
      ...
      translations: {
         "bee-common-top-bar": {
           help: "Support"
         },
      }
      ...
}

Overriding the Rows tab label in the sidebar


var beeConfig = {
      uid: config.uid,
      ...
      translations: {
          "bee-common-widget-bar": {
            "structure": "Catalog"
          }
        },
      }
      ...
}

Overriding the Preheader

{
    "translations": {
        "bee-head-meta-preheader": {
            "name": "New Preheader",
            "placeholder": "New Enter Preheader"
        }
    }
}

Defining or adding a translation for "email"

The following code defines a translation object where the title for "bee-settings-details" is set to "New Email Details" specifically for the "email" field.

translations: {
    "bee-settings-details": {
        "title": {
            "email": "New Email Details"
        }
    }
}

Overriding AI Writing Assistant Default Text

You can override the default text for the AI Writing Assistant. The following configuration sample includes the AI component and the various default text fields you can override.

const beeConfig = {
  uid: config.uid,
  container: 'bee-plugin-container',
  translations: {
    'bee-common-top-bar': {
      'actions': 'Design Management',
      'send-test': 'Test your design',
      'help': 'Need support? Contact us.',
      'preview': 'View your masterpiece',
      'save': 'Save changes',
      'save-as-template': 'Download your design',
      'show-structure': 'Show outline',
    },
    'mailup-bee-common-component-ai': {
      'welcome-body-title': 'Welcome to Your Design Journey',
      'welcome-body-subtitle': 'Start creating stunning emails with ease.',
      'welcome-example': 'Example: Explore our templates to get inspired.',
      'welcome-heading-title': 'Craft Your Message',
      'welcome-heading-subtitle': 'Make every word count with our tools.',
      'welcome-heading-example': 'Example: Write a compelling subject line.',
      'welcome-list-title': 'Key Features to Explore',
      'welcome-list-subtitle': 'Discover what makes our editor unique.',
      'welcome-list-example': 'Example: Drag-and-drop functionality.',
      'welcome-button-title': 'Get Started Now',
      'welcome-button-subtitle': 'Click to begin your design adventure.',
      'welcome-button-example': 'Example: Create your first email.',
    },
  },
};

Paragraph Block

The following image shows the results for the overwritten default text for AI Paragraph Assistant based on the above configuration.

Title Block

The following image shows the results for the overwritten default text for AI Title Assistant based on the above configuration.

List Block

The following image shows the results for the overwritten default text for AI List Assistant based on the above configuration.

Button Block

The following image shows the results for the overwritten default text for AI Button Assistant based on the above configuration.

Reference the Customize Prompt Suggestions section of the AI Writing Assistant page for additional customization options and details.

Confirmation Dialogs

The following section lists translations that correspond with Confirmation Dialogs for Rows, Columns, Modules, and the File Manager.

Delete Row

This list details the translations corresponding with the Delete Row Confirmation Dialog.

Translations Variations

  • Title: 🆕 Delete row

    • confirmation-dialogs.delete-row-confirmation-title

  • Secondary Button: 🆕 Keep

    • confirmation-dialogs.keep-button

  • Primary Button: 🆕 Delete

    • confirmation-dialogs.delete-button

Reference the corresponding classnames for Delete Row.

Delete Column

This list details the translations corresponding with the Delete Column Confirmation Dialog.

Translations Variations

  • Title: 🆕 Delete column

    • confirmation-dialogs.delete-column-confirmation-title

  • Secondary Button: 🆕 Keep

    • confirmation-dialogs.keep-button

  • Primary Button: 🆕 Delete

    • confirmation-dialogs.delete-button

Reference the corresponding classnames for Delete Column.

Delete Module

This list details the translations corresponding with the Delete Module Confirmation Dialog.

Translations Variations

  • Title: 🆕 Delete module

    • confirmation-dialogs.delete-module-confirmation-title

  • Secondary Button: 🆕 Keep

    • confirmation-dialogs.keep-button

  • Primary Button: 🆕 Delete

    • confirmation-dialogs.delete-button

Reference the corresponding classnames for Delete Module.

Hide Row on Mobile with Module Already Hidden on Desktop

This list details the translations corresponding with the Hide Row on Mobile Confirmation Dialog.

Translations Variations

  • Title: 🆕 Hide row

    • confirmation-dialogs.hide-row-confirmation-title

  • Heading: 🆕 Are you sure you want to hide this?

    • confirmation-dialogs.hide-row-confirmation-heading

Reference the corresponding classnames for Hide Row on Mobile with Module Already Hidden on Desktop.

Remove Custom Display Condition

This list details the translations corresponding with the Remove Custom Display Condition Confirmation Dialog.

Translations Variations

  • Title: 🆕 Delete display condition

    • confirmation-dialogs.delete-display-condition-confirmation-title

Reference the corresponding classnames for Remove Custom Display Condition.

Confirm Delete Single File

This list details the translations corresponding with the Confirm Delete Single File Confirmation Dialog.

Translations Variations

  • Title: 🆕 Delete {filename}

    • confirmation-dialogs.delete-file-confirmation-title

  • Secondary Button: 🆕 Keep

    • confirmation-dialogs.keep-button

  • Primary Button: 🆕 Delete

    • confirmation-dialogs.delete-button

Reference the corresponding classnames for Confirm Delete Single File.

Confirm Delete Multiple Files

This list details the translations corresponding with the Confirm Delete Multiple Files Confirmation Dialog.

Translations Variations

  • Title: 🆕 Delete {count} files

    • confirmation-dialogs.delete-files-confirmation-title

  • Secondary Button: 🆕 Keep

    • confirmation-dialogs.keep-button

  • Primary Button: 🆕 Delete

    • confirmation-dialogs.delete-button

Reference the corresponding classnames for Confirm Delete Multiple Files.

Confirm Update Existing File | Custom FSP

Note: This section is relevant if both the Custom FSP and ConfirmOverwriteModalEnabled are activate.

This list details the translations corresponding with the Confirm Update Existing File Confirmation Dialog.

Text Updates:

  • Title: 🆕 Replace {filename}

    • confirmation-dialogs.replace-file-confirmation-title

  • Secondary Button: 🆕 Keep

    • confirmation-dialogs.keep-button

Reference the corresponding classnames for Confirm Update Existing File.

Confirm Update Existing File

This list details the translations corresponding with the Update Existing File Confirmation Dialog.

Translations Variations

  • Title: 🆕 File {filename} already exists

    • confirmation-dialogs.file-already-exists-title

  • Heading: 🆕 Do you want to replace or keep both files?

    • confirmation-dialogs.replace-file-confirmation-heading

Reference the corresponding classnames: Not applicable.

File Manager - Move File Replace Confirmation

This list details the translations corresponding with the Move File Replace Confirmation Dialog.

Translations Variations

  • Title: 🆕 File {filename} already exists

    • confirmation-dialogs.file-already-exists-title

  • Heading: 🆕 Do you want to replace or keep both files?

    • confirmation-dialogs.replace-file-confirmation-heading

Reference the corresponding classnames: Not applicable.

Sample language file

Check out our Github repository for starter language templates in all supported languages.

PreviousMeta TagsNextDisplay Conditions

Last updated 1 month ago

Was this helpful?