Does ghost have a system for content localization in headless mode?

So for static pages on our site I use Ghost as a headless CMS with React rendering the content from the API on the frontend. This way non-developers can easily edit pages.

Problem is our site supports 9 languages, and there doesn’t seem to be an easy way to create multiple versions of a Ghost page according to a selection of langauges and then return the one in the language the frontend requires.

Also, there doesn’t seem to be an easy way to integrate ghost pages and posts with localization systems (etc CrowdIn).

Given the Ghost architecture, what is the best practices way to deal with Ghost pages and posts for sites that are localized into many different languages?

I feel like proper pages/post localization support in Ghost would be a killer feature! Currently it seems i’ll have to give translators access to Ghost backend and have them create a new version of each page/post in their local language, insert all the different URL’s in an array in frontend, and then grab the appropriate version according to the frontend users locale.

Hey there @nathanLCS! Awesome to see you using Ghost as headless CMS and in conjunction with a custom React app (if that’s right?).

That’s a lot of languages you’re having to manage there and I wonder if Ghost is the right thing to use to solve this problem. The two avenues you could take are:

  1. Create a Ghost site for each language and pull them all in with the Ghost Content API
  2. Leverage tags and use them to split mark content as a certain language and then associate them in some way to a “master” post

Really this is something that would be offloaded to a tool that’s designed to provide localisation to existing applications. Have you checked out Phrase? https://phrase.com/ You can use their API to retrieve translations of Ghost articles without having to over-clutter your Ghost admin Phrase Strings API Documentation

I hope sheds a bit of light on the aspect of localisation with Ghost :)