Modules

Modules allow apps to extend the Crowdin Enterprise user interface, create integrations with external services, etc.

Supported Modules

  • Integrations module – provides a possibility to insert a new integration page in Crowdin Enterprise.
  • Crowdsource-panels module – provides a possibility to create additional panels on the crowdsourcing public page.
  • Editor-panels module – provides a possibility to create additional panels in the Editor.
  • Resources module – provides a possibility to create an additional panel in the organization’s resources.

More Crowdin Apps modules are coming soon.

Module Overview

Integrations Module

Integrations module provides a possibility to create and insert a new integration within the Crowdin Enterprise project. You can find it in the Resources > Integrations & API. This module is available to project members with manager permissions (or higher).

Integration module structure:

{
  "integrations": [
    {
      "key": "my-module-key",
      "name": "Module name",
      "description": "Module description",
      "logo": "/logo.png",
      "url": "/integration-page"
    }
  ]
}

Properties:

key

Type: string

Required: yes

Description: Module identifier within the Crowdin app.

name

Type: string

Required: yes

Description: The human-readable name of the module.

description

Type: string

Description: The human-readable description of what the module does.
The description will be visible in the Crowdin UI.

logo

Type: string

Required: yes

Description: The relative URL to the integration's logo, that will be displayed in the Crowdin Enterprise UI.
The recommended resolution is 48x48 pixels.

url

Type: string

Required: yes

Description: The relative URL to the content page of the module, that will be integrated into the Crowdin Enterprise UI.

Crowdsource-panels Module

Crowdsource-panels module provides a possibility to create additional tabs on the crowdsourcing public page of the project. To work with this module, make sure that your project meets the following requirements:

  • The project’s workflow contains the Crowdsourcing step.
  • The project is published on the Crowdsourcing settings page.

This module is available to all authorized users.

Crowdsource-panel module structure:

{
  "crowdsource-panels": [
    {
      "key": "my-module-key",
      "name": "Module name",
      "url": "/crowdsource-page"
    }
  ]
}

Properties:

key

Type: string

Required: yes

Description: Module identifier within the Crowdin app.

name

Type: string

Required: yes

Description: The human-readable name of the module.

url

Type: string

Required: yes

Description: The relative URL to the content page of the module, that will be integrated into the Crowdin Enterprise UI.

Editor-panels Module

Editor-panels module provides a possibility to create additional tabs in the Editor. When using this module in your Crowdin app, you can choose the Editor mode where you’d like the additional tabs to be displayed. Editor-panels module is available only to the project members that have access to the Editor.

Editor-panel module structure:

{
  "editor-panels": [
    {
      "key": "my-module-key",
      "position": "right",
      "name": "Module name",
      "modes": ["translate", "proofread"],
      "url": "/editor-page"
    }
  ]
}

Properties:

key

Type: string

Required: yes

Description: Module identifier within the Crowdin app.

position

Type: string

Required: yes

Allowed values: right

Description: The position where the module will be placed.

name

Type: string

Required: yes

Description: The human-readable name of the module.

modes

Type: array

Required: yes

Allowed values: assets, review, translate, proofread

Description: The Editor's mode list where the module will be available.

url

Type: string

Required: yes

Description: The relative URL to the content page of the module, that will be integrated into the Crowdin Enterprise UI.

Resources Module

Resources module provides a possibility to create an additional panel in the organization’s resources. This module is available to project members with manager permissions (or higher).

Resource module structure:

{
  "resources": [
    {
      "key": "my-module-key",
      "name": "Module name",
      "url": "/resource-page"
    }
  ]
}

Properties:

key

Type: string

Required: yes

Description: Module identifier within the Crowdin app.

name

Type: string

Required: yes

Description: The human-readable name of the module.

url

Type: string

Required: yes

Description: The relative URL to the content page of the module, that will be integrated into the Crowdin Enterprise UI.

Add Modules to Your Crowdin App

To use a module in your app, declare the module in your App Descriptor file under modules, including any required properties. The properties you include will control the customization options for your module.

Basic module structure:

{
  "{module_type}": [
    {
      "key": "my-module-key",
      "name": "Module Name"
    }
  ]
}

Properties:

{module_type}

Type: string

Required: yes

Allowed values: integrations, crowdsource-panels, editor-panels, resources

Description: The type of module Crowdin app uses.

key

Type: string

Required: yes

Description: Module identifier within the Crowdin app.

name

Type: string

Required: yes

Description: The human-readable name of the module.

Was this article helpful?