Introduction

Learn about Rosey i18n and how to use it in CloudCannon

If you’re already using CloudCannon’s i18n feature, you might want to consider moving to Rosey. Rosey is an open-source tool developed by CloudCannon, which does the same job a bit better. In this guide, we’ll first discuss some of the advantages of using Rosey over CloudCannon’s built-in i18n functionality. Then, we’ll look at a step-by-step walkthough you can use to migrate your site.

Advantages of Rosey#

  • Rosey is open-source, so if there’s something you don’t like you can create an issue on GitHub or submit a pull request to have it changed. The code is completely public if you want to check out what’s happening under the hood.
  • Rosey is extremely performant and can handle large multilingual sites with a marginal impact to your total build time.
  • Since Rosey is available as an NPM package, you can develop and test your translated site locally, instead of pushing to CloudCannon to build the site every time you make a change.
  • Rosey has a nicer file format than CloudCannon’s i18n, but is also completely backwards-compatible.
  • Rosey has a much wider feature set, including:
    • A --wrap flag, which can ensure that languages with no spaces are appropriately wordwrapped for better readability and accessibility.
    • Tooling to easily check which parts of the site haven’t been translated, or where the translations have become outdated from the original text.
    • Support for translating images, JSON, and HTML attributes like img alt tags and meta descriptions.

Caveats#

One consideration when integrating Rosey with CloudCannon is that it can interfere with the Visual Editor. The Visual Editor needs to know where your site's output files are, and in the workflow described in this guide Rosey moves those files around. For this reason, we recommend using Rosey only in conjunction with a staging workflow.

You can read more about the advantages of a staging workflow, and how to set it up in CloudCannon, in our Staging Workflow Guide.

The final step of this guide assumes that you are using a workflow with separate staging and production branches.

Open in a new tab