`localeapp cp` has landed!

Hi everyone,

We just released a new version of the `localeapp` gem that introduces a most expected feature:

localeapp cp <source key> <destination key>

As you may have guessed, it lets you copy a translation. If the destination key already exists, it will be overwritten (except if it is a namespace, for obvious data safety reasons).

We hope you will enjoy it: simply upgrade to `localeapp` gem version 3.1.0.

Happy translating 🌐

Posted in LocaleApp | Comments Off on `localeapp cp` has landed!

Gem version 3.0 released

We just released a new version of the ‘localeapp’ gem, which includes a bugfix a a few security safeguards.


Last released version introduced a bug when you didn’t explicitely configured `blacklisted_keys_pattern` option. This is now fixed 🔧

Dependencies safeguards

We dropped support for several legacy dependencies (which explains the major version bump), but it shouldn’t impact you much since most of them have been obsolete for at least 4 years now:

We hope that it will keep you safe 🛡

Happy translating πŸ™‚

Posted in LocaleApp | Comments Off on Gem version 3.0 released

Gem version 2.5.0 released

We just released a new version of the ‘localeapp’ gem, which includes a new feature and various small improvements.

New feature

Actually part of the 2.4.0 release, but we never wrote a blog post about it so here it is: you can now pull a single translation from a project using the CLI.

Simply run:

localeapp pull <key>

Thanks to @full-of-foo for this contribution.

Other improvements

Thanks to two contributions from @leonhooijer, you can now:

  • see full key path in the CLI log messages when you pass the ‘:scope’ option to ‘I18n.translate()’.
  • we properly stop injecting any custom behavior on blacklisted keys which should make integrations with other gems (e.g. will_paginate) smoother (specially those who expect an exception to be raised).

Happy translating πŸ™‚

Posted in LocaleApp | Comments Off on Gem version 2.5.0 released

Gem version 2.2.0 released

We just released a new version of the ‘localeapp’ gem, which includes a new feature and various small improvements.

New features

For obvious security reasons, the configuration files generated by the CLI ‘install’ sub-command do not hardcode your API key anymore: it instead includes necessary code to read it from the ‘LOCALEAPP_API_KEY’ environment variable.

Thus, the ‘install’ sub-command now supports a new ‘-e’ option which will write the API key to a ‘.env’ file so you don’t have to actually modify your environment locally.


Some failing API HTTP requests won’t be retried anymore. Exit status is thus non-zero in those cases, to comply with Unix standards.

Happy translating πŸ™‚

Posted in LocaleApp | Leave a comment

Rails 5 support

Hi dear Locale users,

Today, we’re glad to announce that our gem officially supports Rails 5 since its version 2.0.0.

This version is major-numbered (according to SemVer) not because of Rails 5 support (which is not breaking anything by itself) but because we also dropped support for Rails 2.3.x and i18n 0.3.x (current version is 0.7.0).

We hope you’ll like it. As usual, we appreciate any feedback about it and we’d also like to thank Rob Cameron for his help.

Happy translating πŸ™‚

Posted in LocaleApp | Leave a comment

Gem 1.0, SemVer and Ruby 1.9.2 support dropped

Hi everyone,

Today, we’ve released localeapp gem 1.0 \o/

As we recently decided to properly stick to semantic versioning for our gem version numbering, this means that.. well… we broke something and are thus not 100% backward-compatible with previous versions.

Worry not, though! The breaking change we introduced is very unlikely to impact you (or if it does, please do something about it quickly): we officially dropped support for Ruby 1.9.2, which end-of-life was actually 1.5 years ago.

For the moment, the test suite is not passing in Ruby 1.9.2 but the code itself should be. But since we’re not testing it against 1.9.2 anymore, please don’t expect any miracle from the next versions: they will break at some point.

You may now include the localeapp gem with the following line in your Gemfile:

gem “localeapp”, “~> 1.0”


Happy translating πŸ™‚

Posted in LocaleApp | Leave a comment

Better Rails 4 support

The past few weeks, we’ve been hard at work to integrate with Rails 4 as seamlessly as possible. There are 3 major points we’ve been focusing on: the Rails 4 library, the localeapp gem bug fixes and how we display missing translation. Continue reading “Better Rails 4 support” »

Posted in LocaleApp | Leave a comment

New feature on Locale : Mark for review

We justΒ  released a new feature that should make your translation process even more effective: you can now mark some of your translation entries to be reviewed. It’s particularly useful when you modify your default locale and need all other locales to be modified as well on a specific string.

Click the cog icon next to the translation key and then click “Mark for review” from the dropdown.

Image Markdown Review

It will mark all translations not in the default locale as incomplete, like this:

Image Markdown review 2

Happy translating!

Posted in LocaleApp | Leave a comment

Locale enters Heroku private beta

HerokuConnecting your Heroku-hosted Rails app to Locale and streamlining the entire localization process is now even easier.

The Locale add-on for Heroku entered private beta today. Members of the Heroku private beta program are encouraged to check it out and contact us with any questions or issues.

More information about setting up the Locale Heroku add-on.

Posted in LocaleApp | Tagged , | Leave a comment

YAML Security

As you’re probably aware, the recent serious vulnerability in the Ruby on Rails framework was caused by the way loading YAML works in Ruby.

As Locale both loads your YAML files and sends content which you then load into your application via YAML this affects us more than most Rails applications.

On learning of the vulnerability we immediately applied the patch so that we wouldn’t be affected by the Rails bug.

We then checked the content in the database for any potentially insecure YAML and thankfully found none.

The next step was to audit the code everywhere we accept YAML input and ensure that potentially insecure content is never loaded by Ruby.

This was all implemented and deployed before the first exploits became widely available and we’ll continue to monitor the content we receive to make sure there are no problems.

We’ve updated the localeapp gem so that it won’t load anything that looks suspicious. This has been released as the 0.6.9 version which you should update to as soon as you can.

Posted in LocaleApp | Leave a comment