Help translate Ghost (beta)

By popular demand, we’re introducing translatable components for the membership and email features in Ghost. Previously: Your entire site might be in Spanish, but the Portal signup UI and login emails would all be in English. Now: It’s possible to translate those elements into your chosen language so your members have a consistent experience.

This is a beta. The translation system is pretty basic/minimal at the moment, but we plan to improve it over time.

What can be translated

  • Portal - the member signup/signin/account management user interface
  • System emails - the signup/login emails sent to members
  • Injected theme components - for example “you need to be a paid member to read this post”

Call for translators

The Ghost core team has already submitted translations for most of the languages we speak, and we’d love your help expanding translations for any languages that you’d like to use on your sites. Any translation you submit will be usable by you personally, as well as anyone else who speaks that language.

How to submit a new translation

Adding support for new languages to Ghost involves using GitHub, but you don’t need to be a developer to be able to participate. We’ve put together a complete tutorial for anyone who wants to get involved and add new translations to Ghost:

You can see which languages have already been added, here:
https://github.com/TryGhost/Ghost/tree/main/ghost/i18n/locales

If a language you speak has already been added, you can follow the exact same steps as in the video above — but rather than create a new folder, review files in the existing folder and make any changes there if there are missing translations if you have suggestions for improvements.

If you need to look up the locale code for a language you’ll be adding, you can find a list of supported ISO639-1 locale codes below.
https://www.w3schools.com/tags/ref_language_codes.asp

*Note: We don’t (yet) support RTL languages

If you’re working on translations for a particular locale, leave a note on this topic so others know you’re working on it. If two people end up submitting translations for the same language, at the same time, we’ll default to accepting translations on a first-come-first-served basis — but we’ll try to merge translations where possible or applicable.

If someone submits a translation before you, it’s still really valuable if you can help review/improve the translations.

Feel free to leave any notes below if you get stuck or need help, and hopefully everyone can help each other out.

20 Likes

Great tutorial!

Are there directions for how to get one’s own translations into a specific Ghost site? Or do these files remain in core where a theme can’t override?

I have a lot of clients who want to CHANGE the current strings, whether to another language (now supported, YAY!) or just to tweak the wording in English. Can we load a custom English translation?

2 Likes

The focus of this work is on translating Portal into other languages - it’s not designed as a generalised system for changing the English strings to alternative English strings :slight_smile: That’s a reasonable suggestion, but it’s a whole different thing

Theme translations are separate / already possible using the translate helper:

1 Like

Right, understood! I was just hoping that if we could load translation strings for portal the same way the translate helper works that it might accidentally solve my use case. :)

2 Likes

Great. Added Czech translation!

3 Likes

Hi John,

I was thinking about the localization settings. By default, we can have the ‘fr’ option (Standard French), but how about also adding ‘fr-ca’ (Canadian French, specifically Québec)? As you know, there can be many subtle differences between French dialects from different countries.

Let me know what you think and I will can do a PR.

ref:

Cheers!
P

2 Likes

Hi, that’s great news.

Any idea of a release date on Ghost pro ?
I saw that French is already available. Many thanks to the translators.

Yes, locales such as fr-ca or pt-br are welcome

3 Likes

Ghost is released every Friday and rolled out to Pro at some point the following week. New translations will be continuously added/updated as they are submitted

That’s really awesome! Looking forward to running ghost update :)
Any reason why one can’t do site-specific lanuage adjustements through a combination of editing theme locales and i18n locales?

1 Like

Grateful for this feature! I’ve submitted Esperanto translations just now.

3 Likes

This is so great. Makes everything so much better for us.
This morning i’ve submitted Italian translation.
Question. Does this cover the commenting area as well?

This does not (yet) cover comments. We’re working on Portal + select member emails during this stage of the beta :slightly_smiling_face:

1 Like

Thanks for all the PRs so far! :man_dancing: I’ve merged all the new locales and they should be available in an upcoming Ghost release

Hi @daniellockyer. Do you know when the new translation will be available? i can see there is a new code version available but I can’t see on my website yet.

As John mentioned above, Ghost is released every Friday and rolled out to Ghost(Pro) early in the next week :slightly_smiling_face:

3 Likes

Such a cool thing to see italian traslation in place :D.
Question for you guys from Ghost. How do we know when other bits will be available for translation so I can update the italian one?

1 Like

This Forum is the place to be! We’ll share updates, requests, features, and more here.

1 Like

We’re now taking PRs to wrap more of the public-facing strings in the translations helper :slightly_smiling_face:

2 Likes