Higher Quality, Stronger Performance, Increased Stability, Better Developer Experience, discover everything we've shipped recently!

Strapi plugin logo for Localazy

Localazy

Translate your content with ease. Fully automate the internationalization (i18n) & localization of your Strapi project and feel the seamless experience of multilingual content management.

thumbnail for Localazy

Localazy

📦 @localazy/strapi-plugin

Documentation  |  Blog Articles

The official Strapi Plugin by Localazy

version

🚀 Quick Start

This is a README for Strapi v5. For Strapi v4, please refer to the Strapi v4 README file.

npm install @localazy/strapi-plugin@latest && npx @localazy/strapi-plugin

✨ The Official Strapi Localization Plugin by Localazy

Strapi localization doesn't have to be a headache! Install the Strapi localization plugin and seamlessly translate your content into multiple languages with Localazy.

Manage your multilingual content with ease

  1. Sign up & Upload your content to Localazy.
  2. Translate your content with machine translation assistance, or let the Localazy Continuous Localization Team translate your content for you. You can also quickly pre-translate everything in bulk or invite your translators.
  3. Download translated content back to Strapi and feel the seamless experience of multilingual content management.

📰 Learn more in the Strapi + Localazy tutorial.

🔧 Installation & Setup

The plugin is available on NPM. You can also follow the installation commands located in your Strapi project Marketplace or Strapi Marketplace > Localazy itself. This is the recommended approach.

npm install @localazy/strapi-plugin@latest && npx @localazy/strapi-plugin

Note: Localazy plugin requires an updated bundler configuration of your Strapi project. Follow the instructions in the console output during the installation process. Steps are also available in the Install plugin via NPM section of the Localazy Docs.

Plugin supports automatic recognition of a bundler configuration. If you are using either Vite or Webpack, respectively, the plugin will automatically create an example configuration file for you.

Due to the changes in Strapi core code it's also necessary to add an environment variable to your Strapi project. Add the following line to your .env file (value is empty):

STRAPI_ADMIN_LOCALAZY_ENV=

⚙️ Configuration

Additional configuration object may be provided in the plugins.js file. The following options are available:

localazy: {
    config: {
      /**
       * both options may help guard against DoS attacks
       * if `populateMaxDepth` < 5; the Localazy Strapi Plugin may not work as expected
       */
      populateDefaultDepth?: number, // default is 5
      populateMaxDepth?: number, // default is 10
      skipCreatorFields?: boolean, // default is false
      enableSocketIO?: boolean, // default is true
    },
  },

🔐 Access control (RBAC)

The plugin registers four Strapi permission actions, all visible under Settings → Administration Panel → Roles → Plugins → Localazy (grouped by General and Settings sub-categories):

ActionUnlocks
Localazy → Read (plugin::localazy.read)Localazy menu link, Overview, Activity Logs (list + detail), Content-Manager side panel & Localazy status column, read endpoints (identity, project, models, plugin settings, content-transfer-setup, sync cursor, activity logs, troubleshooting bundle, entry-exclusion state).
Localazy → Transfer (plugin::localazy.transfer)Upload, Download, Entry Exclusion mutations (incl. Content-Manager bulk actions), Activity Log session clearing. Reading the content-transfer-setup is bundled under Read above so transfer-only roles can still open the Upload/Download pages.
Localazy → Settings → Read (plugin::localazy.settings.read)Adds the Localazy Settings menu links (Global Settings, Content Transfer Setup) to the admin sidebar. Form controls render read-only — Save, Cancel, the Content Transfer Setup tree, and the webhook setup buttons are disabled without Settings → Update.
Localazy → Settings → Update (plugin::localazy.settings.update)Connecting / disconnecting the Localazy account, webhook setup, updating Content Transfer Setup, and updating Global Settings.

Note: the Webhook author picker in Localazy Settings → Global Settings populates from Strapi's core /admin/users endpoint, which is gated by Strapi's own admin::users.read permission — independent of the plugin's actions. A role with only the plugin's Settings → Read will still see the rest of the page; the author dropdown silently falls back to an empty list.

Server is the enforcement perimeter — all admin-typed plugin routes are gated by admin::hasPermissions, so UI gates are convenience only.

Upgrade note

Strapi grants new actions to the Super Admin role automatically. Other roles (Editor, Author, custom roles) keep no Localazy access until an admin re-grants the actions under Settings → Administration Panel → Roles → Plugins → Localazy. Plan this step when upgrading from <= 1.4.x.

🛟 Support

If you encounter any issues or have questions, feel free to contact us through whichever channel suits you best:

📜 License

This project is licensed under the MIT License.

See LICENSE for details.

Install now

npm install @localazy/strapi-plugin

STATS

21 GitHub stars99 weekly downloads

Last updated

1 day ago

Strapi Version

5.6.0 and above

Author

github profile image for Localazy
Localazy

Useful links

Create your own plugin

Check out the available plugin resources that will help you to develop your plugin or provider and get it listed on the marketplace.