Using Ghost with multiple languages: best approach?

We are looking to use Ghost for a site that will eventually have to support a fairly large number of languages.

  1. I saw this post Does ghost have a system for content localization in headless mode?, where the user wants to support 9 languages, and the response from Ghost staff was

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

As to the first point, is Ghost a good choice if we cant to have multiple languages supported? As to the second, what precisely does “Create a Ghost site for each language and pull them all in with the Ghost Content API” mean?

  1. I saw this page on the Ghost site – https://ghost.org/tutorials/multi-language-content/ – and tried to follow along using the Casper theme, but in step 2, where it speaks of placing <HTML> tags in post.hbs I lost the thread, since post.hbs doesn’t seem to contain these tags, rather it is default.hbs

  2. Can someone recommend a good theme (preferably free, but doesn’t have to be) that we could use to explore internationalisation? We’d want to support English, French, German to begin with, but expand from there.

Thanks!

2 Likes

Hey @fantasma,

If you’re using Casper with the Mulit-language tutorial you’ll need to duplicate the default.hbs template and use it for different languages, because the theme reuses the default file and this is where the html lang attribute resides. This is explained directly inside the Casper theme code:

So for you it might be default.hbs (en version), default-fr.hbs and default-de.hbs.

The Ghost Content API is an API for pulling in content into an external application, where you can have more control of where your content goes and furthermore pull in additional content from other sources. You can read up more about the Content API in our docs:

Hope this helps with your decision making :slight_smile:

1 Like

Thanks. I’m familiar with the Content API.

If this is the Ghost recommendation on how to handle multi-language sites – https://ghost.org/tutorials/multi-language-content/ – I’m a bit fuzzy on what the difference is between dividing the posts into collections and filtering through tags (which is what I get out of the page I linked), and “creating a site for each language” and “pulling them all in” with the content API. Does that basically amount to the same thing?

More importantly, in reference to the first point I noted, someone from Ghost seemed to be saying that perhaps Ghost wasn’t such a great solution for handling many languages, and I was wondering whether this was true. Or whether things had changed since that post was made.

Yes, I was merely providing different options :slight_smile:. The best way to find out if Ghost is right for you is to try it out, there’s a free trial over here: Sign up for Ghost(Pro)

I found Pressbase.io (a 3rd party SaaS based on Ghost 3) has multiple language support out of the box.
It has integrated some public relations related features like media kits, press clippings, media contacts, multiple language support, multiple newsrooms support, etc. into the default Ghost 3 software.

I use Gtranslate.io, and it’s amazing – it generates and hosts 120+ versions of the site in different languages. It can’t translate Portal/Stripe UI or newsletters, though. I’m not sure how to handle that.