Changelog

Stay informed on the latest product updates, new features, and improvements.
Help us shape the future of SimpleLocalize by sharing and voting for features.

ImprovedAndroidFile formats

Supported HTML markup for Android Strings

Android Strings export now writes tags Android's string resources actually support (<b>, <u>, <font>, and the rest of the documented list) as real markup instead of always wrapping them in CDATA, so styled strings render correctly instead of showing literal angle brackets. Anything not on that list still falls back to CDATA, as before.

See the full supported tag list: Android Strings documentation.

NewSecuritySSO

SSO and 2FA badges, and SSO linking

The team member list now shows whether each member has SSO and 2FA enabled, so you can see who still needs to set them up.

We also added an option to link an organization SSO to your account.

NewDashboard

Configure navigation tabs

You can now pick which tabs stay visible in the project tab bar and which ones are tucked away under the menu. This gives you more control over what you see in the project page, and allows us to provide more specialized views in the future updates while keeping the UI clean.

ImprovedREST API

Review details in translations API endpoint

The GET /api/v2/translations endpoint now returns a review object with by and at fields, showing who reviewed a translation and when it was marked as reviewed.

See details: API documentation

NewSecuritySSO

Enforce SSO for team members

You can now require team members who signed up through your organization's identity provider to always sign in with SSO. Enable the new Enforce SSO option in the SSO configuration popup (Team > SSO details) to block, for those members:
  • logging in with a password,
  • logging in with another authentication provider (e.g. Google, GitHub),
  • linking additional sign-in methods to their account,
  • resetting their password.
Learn more in the Custom Identity Provider documentation.

ImprovedIn-context editor

In-Context Editor 2.0

We have released a major update to the In-Context Editor:
  • Updated UI: improved the user interface for a better experience.
  • Public suggestions: project members can now also suggest translations, with an optional message explaining why instead of just changing them directly.
  • Anonymous suggestions: if your project accepts anonymous suggestions, users can now use ICE to provide them.
  • Highlight keys: outline every detected translation on the page.
  • Review translations: highlight translations that need review and accept them directly on the page.
  • Linebreaks: improved handling of linebreaks in translations.

ImprovedPublic Suggestions

New Suggestions tab and improvements

We have added a new Suggestions tab in the Translation Editor, which allows you to view and manage all public suggestions for your translations in one place. You can filter suggestions by language, status (pending, approved, all), contributor, and search for specific suggestions.
The new Suggestions tab also includes several improvements to the suggestions workflow:
  • Edit suggestions directly from the Suggestions tab before they are approved.
  • Compare suggestions side by side before approving them, which is great for longer translations.
  • On approving a suggestion, all other pending suggestions for the same translation key are automatically ignored.
  • Allow anonymous suggestions for translations (in Settings > Suggestions)
  • Keyboard shortcuts for navigating suggestions in Public Suggestions page with Ctrl + Arrows and posting suggestions with Ctrl + Enter. The same shortcuts apply in the Translation Editor and the new Suggestions tab.
New Suggestions tab and improvements

ImprovedTranslation Editor

Drag image to upload screenshot

You can now drag and drop an image file directly onto the screenshot area in the Translation Editor to upload a screenshot for a specific translation key. This makes it easier to add visual context for translators without having to click through multiple menus.

ImprovedREST API

API endpoint for updating custom hosting credentials

We have added a new endpoint for updating custom translation hosting provider credentials (e.g. AWS S3, Azure Blob Storage, Google Cloud Storage).

See details: API documentation

ImprovedIntegrations

VSCode Extension 1.2

We have released version 1.2 of the SimpleLocalize Visual Studio Code extension with major improvements for in-editor translation workflows:
  • Hover over translation keys used in code (for example t("key"), intl.formatMessage({ id: "key" }), and <FormattedMessage id="key" />) to preview translations.
  • Inline translations now show the default-language value next to recognized keys in code, with hover details for full per-language breakdown.
  • Smarter recognition of translation key usage patterns across codebases.
  • Missing-key warnings now appear in the Problems panel, with a one-click Create key quick fix.
  • Placeholder/interpolation checks for patterns like {{name}}, {name}, and %s, flagging languages that miss placeholders present in the default translation.
  • New status bar item showing the active project and current number of keys.
  • CodeLens in local translation files now shows translation coverage by language and highlights placeholder mismatches.
  • New SimpleLocalize: Find unused translation keys command scans the workspace and opens a checklist-style report of potentially unused keys.
  • New SimpleLocalize: Insert translation key command to search existing keys by name or translation text.
  • Automatic detection of simplelocalize.yml CLI configuration files, with a prompt to configure the extension.
VSCode Extension 1.2

ImprovedFilters

Filters: Has screenshot and No screenshots

We have added a new filter option in the Translation Editor to help you quickly find translation keys that have screenshots or don't have any screenshots. This makes it easier to manage context for translations and ensure that translators have the necessary visual references when working on translations.

ImprovedIntegrations

IntelliJ Plugin 1.4.0

We have released a new version of the SimpleLocalize IntelliJ plugin which includes several improvements and new features:
  • Settings: Added new setting options to enable/disable some features (useful for large projects e.g.: to prevent cluttering standard IDE completion suggestions).
  • SimpleLocalize CLI support: Automatic detection of simplelocalize.yml config files, and context menu action to launch a command.
  • Gutter icons: Icons appear in the gutter next to code referencing a known translation key. Supports Android, and some well-known JavaScript/TypeScript.
  • Missing key inspection: Optional heuristic inspection that detects string literals resembling keys (e.g., home.titel) that don't match any known key, featuring a quick-fix to create the missing key (disabled by default).
  • Find unused keys: Toolbar action in the Translations tab that scans the project for unused translation keys.
  • Find usages: Context menu action in the Translations tab (matching the functionality of the gutter icon click).
  • Extract key intent: Select a string in the code to quickly extract it into a SimpleLocalize key/value via API and replace the selection with the key name.
IntelliJ Plugin 1.4.0

ImprovedCLI

CLI: `UPDATE_TRANSLATIONS` option

We have added a new UPDATE_TRANSLATIONS option to the CLI that replaces existing REPLACE_TRANSLATION_IF_FOUND option. Both options allow you to update existing translations when uploading files, but the new option is more intuitive and easier to understand.

The REPLACE_TRANSLATION_IF_FOUND option is still available for backward compatibility.

ImprovedAndroid

Android folder structure

When you export Android translations through the web UI, files are now organized in the res/values-{lang}/strings.xml structure, which is the standard for Android projects.

Learn more about mapping language keys for Android translations.

ImprovedCLI

CLI v2.11.0: Language mapping

You can now map SimpleLocalize language keys to custom placeholders when uploading or downloading files using the CLI. This provides greater control over file naming conventions across different platforms and frameworks.

Check out the CLI documentation for more details on how to configure language mapping.

ImprovedPublic Suggestions

Public Suggestions: Ignore suggestion

We have added a new option to ignore public suggestions in the Translation Editor. This allows you to dismiss suggestions that are not relevant or useful for your translations, keeping your pending suggestion list clean and focused on the most important suggestions. You can Unignore suggestions later if you change your mind.
Public Suggestions: Ignore suggestion

ImprovedFilters

Filters: Translations the same as source

We have added a new option to the Translation filter in the Translation Editor to help you quickly find translations that are the same as the source text. It can be combined with other filters, e.g. languages, to find translations that are the same as the source in a specific language.
Filters: Translations the same as source

ImprovedTranslation Memory

Translation Memory: Perfect matches improvements

We've improved how perfect matches work in Translation Memory, making them easier to find and apply to your translations. Here's what's new:
  • Filter perfect matches in the Translation Editor to quickly locate translations with a match in Translation Memory.
  • Apply perfect matches to empty translations using the new "Apply perfect matches" option in the Translation Editor (accessible via right-click context menu).
  • See the count of perfect matches in your project Overview tab. Click to filter and quickly apply them to translation keys.
Translation Memory: Perfect matches improvements

ImprovedOverview

Overview: QA checks summary

Check critical QA issues in your project at a glance with the new QA checks summary in the Overview tab. The summary provides a quick overview of the number of QA issues and their types. Click on the issue type to filter translation keys in the Translation Editor and quickly address the issues.
Overview: QA checks summary

ImprovedImport/Export

Import preview diff view

We have added a new preview diff view for imports, giving you an option to see the changes that will be made to your translations before confirming the import.

In import preview, switch to the Translation changes tab and click the View diff option to see the differences between the current translations and the imported ones in a side-by-side or an inline view.
Import preview diff view

ImprovedGitHub App

GitHub App: Customize commit message

You can now customize the commit message for translation changes pushed to your GitHub repository via the GitHub App integration. This way you can include relevant information in the commit message, such as the project name, language, or any other details that help you identify the changes made to your translations.

Learn more in our GitHub App documentation.

ImprovedQA Checks

QA Checks: New check invalid JSON structure

For translation keys with JSON content, we have added a new QA check that validates the JSON structure of translations. This check helps prevent issues caused by invalid JSON formatting, ensuring that translations are correctly structured and can be parsed without errors.

ImprovedShopify

Shopify: Push only selected translation keys

You can now push only selected translation keys with translations to your Shopify store using the right-click context menu in the Translation Editor. This allows you to selectively update translations in your Shopify store without having to push all translations at once.

ImprovedFiltersPublic Suggestions

Filters: Show translations with pending public suggestions

We have added a new option to the Suggestions filter in the Translation Editor to help you quickly find translations with pending (not yet approved) public suggestions.
Filters: Show translations with pending public suggestions

ImprovedTranslation Editor

Improved auto-translation via Bulk Actions

When you run auto-translation via Bulk Actions, the modal will now close and you will see a progress bar in the top right corner of the Translation Editor. This way you can continue working on other translations while the auto-translation process is running in the background.

ImprovedTranslation Editor

Warning about conflicting translation keys

When adding new translation keys, we now automatically check for potential conflicts with existing ones. A warning will appear if a new key differs only in letter casing from an existing key, or if it could cause conflicts in nested JSON structures, helping you catch and prevent translation issues before they occur.
Warning about conflicting translation keys

ImprovedTranslation Editor

Filter by issue severity and QA check type

We have added new filters in the Translation Editor to help you quickly find translation keys with specific QA issues. You can now filter by:
  • Issue severity: Filter translation keys based on the severity of QA issues (high, medium, low).
  • QA check type: Filter translation keys based on the type of QA check that generated the issue (e.g., variables, length, formatting, etc.).
Re-run quality checks to apply the new issue severity and QA check type filters to your translations. Click the "Run quality checks" option under the actions button (lightning bolt icon).
Filter by issue severity and QA check type

NewGlossary

Glossary: New UI, auto-translation and QA checks

We have completely redesigned the Glossary feature to make it more user-friendly and powerful. Key updates include:
  • New user interface for easier navigation and management of glossary entries, available also for translators in the Translation Editor.
  • An option to populate glossary entries for faster terms management.
  • Glossary entries are now checked by QA checks to ensure consistency and accuracy in translations.
  • Glossary entries are now used in auto-translation to improve translation quality and consistency.
  • Glossary entries are also available in the Translation Memory to improve match accuracy.
  • Glossary is now available in all paid plans.
Glossary: New UI, auto-translation and QA checks

ImprovedTeam Collaboration

Option to resend invitation to project members

You can now resend invitations to project members who haven't accepted them yet. To do so, click the "Invited" label in the project members list or "Pending invitation" in the Team Management section.
Option to resend invitation to project members

ImprovedTranslation Editor

Translation key attributes

The new Attributes option in the translation key settings store additional information about the translation key. You can add custom attributes to translation keys, which can be used for various purposes, such as storing metadata, categorizing keys, or providing additional context for translators.

You can also filter by attributes in the Translation Editor, making it easier to find and manage translation keys based on their attributes.
Translation key attributes