Skip to content

Context Menu Module

The module allows creating the item in the context menu where possible.

Crowdin context menus:

  • Resources > TM > TM record
  • Resources > Glossary > Glossary record
  • Project home tab > Language record
  • Project > Content > Files > File record
  • Project > Content > Screenshots > Screenshot record
  • Project > Language page > File record

Crowdin Enterprise context menus:

  • Workspace > TM > TM record
  • Workspace > Glossary > Glossary record
  • Project home page > Language record
  • Project > Content > Files > File record
  • Project > Content > Screenshots > Screenshot record
  • Project home page > Language page > File record

A context menu item can open a specified app module with additional context related to the selected record or custom URL. There are the following types of actions:

  • Open the specified app module in a modal dialog (see Modal module)
  • Redirect to the specified app module
  • Open custom URL in new tab

Access

You can grant access to this module to one of the following user categories:

For Crowdin:

  • Only me (i.e., project owner)
  • Me, project managers and developers (if location: language, screenshot, source_file, translated_file)
  • All project members
  • Selected users

For Crowdin Enterprise:

  • Only organization admins
  • Organization admins, project managers and developers (if location: language, screenshot, source_file, translated_file)
  • All users in the organization projects
  • Selected users

Structure

Context menu item shows the specified module in the modal.

manifest.json
{
"modules": {
"context-menu": [
{
"key": "context-menu-key",
"name": "Name of Context Menu Item",
"description": "Description of Context Menu Item",
"options": {
"location": "source_file",
"type": "modal",
"module": {
"project-integrations": "integration-module-key"
}
}
}
],
"project-integrations": [
{
"key": "integration-module-key",
"name": "New Integration",
"logo": "/integration-logo.png",
"url": "/path/to/integration/module"
}
]
}
}

Redirect

Context menu item redirects to the specified module.

manifest.json
{
"modules": {
"context-menu": [
{
"key": "context-menu-key",
"name": "Name of Context Menu Item",
"description": "Description of Context Menu Item",
"options": {
"location": "source_file",
"type": "redirect",
"module": {
"project-integrations": "integration-module-key"
}
}
}
],
"project-integrations": [
{
"key": "integration-module-key",
"name": "New Integration",
"logo": "/integration-logo.png",
"url": "/path/to/integration/module"
}
]
}
}

New Tab

Context menu item opens a new tab with the URL: baseUrl/options.url.

manifest.json
{
"baseUrl": "https://app.example.com",
"modules": {
"context-menu": [
{
"key": "context-menu-key",
"name": "Name of Context Menu Item",
"description": "Description of Context Menu Item",
"options": {
"location": "source_file",
"type": "new_tab",
"url": "/example/path"
}
}
]
}
}

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. Uses as Context menu text

description

Type: string

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

options.location

Type: string

Required: yes

Allowed values: tm, glossary, language, screenshot, source_file, translated_file

Description: The location in UI where the context menu can be added.

options.type

Type: string

Required: yes

Allowed values: modal, new_tab, redirect

Description: The type of action this module will perform.

options.url

Type: string

Use it only with new_tab type

Description: Relative URL.

environments

Type: string

Allowed values: crowdin, crowdin-enterprise

Description: Set of environments where a module could be installed.
This parameter is needed for cross-product applications.

Was this page helpful?