LocalazyPlugin verified by Strapi
Translate your content with ease. Fully automate the internationalization (i18n) & localization of your Strapi project and feel the seamless experience of multilingual content management.
📦 @localazy/strapi-plugin
The official Strapi Plugin by Localazy
🚀 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
- Sign up & Upload your content to Localazy.
- 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.
- 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-pluginNote: 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):
| Action | Unlocks |
|---|---|
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/usersendpoint, which is gated by Strapi's ownadmin::users.readpermission — independent of the plugin's actions. A role with only the plugin'sSettings → Readwill 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
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.