question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Epic] Ghost and i18n

See original GitHub issue

Project description: Ghost is currently pretty much UK-based English-language only, and has barely any features to account for timezones, locales, languages, alphabets, keyboard layouts or anything else that isn’t UTC/English in either the admin or in themes. Even the USA folks luck out, sorry! All this is set to change with full support for multiple locales and languages across the admin and your blog posts. Throughout the Ghost GitHub, support for all of these sorts of features is referred to as i18n (internationalisation).


Currently, Ghost effectively doesn’t work properly unless you’re writing in English or something very similar. Throughout the application, from the ember admin, to the API and even down to themes there are things missing which make it hard to use Ghost if you aren’t English speaking.

This issue is intended as a placeholder to keep track of all the different places where we know we need to add i18n support so that it becomes possible for anyone to publish content comfortably in their own language and locale.

i18n for Ghost falls into 2 broad categories

1. Publish content in your language/locale

We need to make it possible for anyone to create a blog and publish content which is 100% in their language. This includes extending theme helpers, adding support for non latin-standard chars in URLs and other files, and many other things.

2. Use Ghost in your language/locale

Much less important, it would be great for our users if they could have the admin UI appear in their language, with a tailored layout and specific fonts.

Features and Support

The following is a list of things we know we need to do / make possible / add support for:

Publishing
  • Level 1: blog language setting
  • Level 2: post language
  • customisable permalinks where english words are used
  • set <html lang="?">
  • add language output in JSON/LD
  • non-latin chars in slugs
  • non-latin chars in urls
  • non-latin chars when uploading files
  • non-latin chars handled by words and characters features of excerpt/content helpers
  • non-latin chars in generated heading id attributes
  • non-latin chars supported fully in editor
  • customisable permalinks for /tag/, /author/, and /page/ urls
  • locale dates in themes (moment.js language support)
  • different plural structures in the {{plurals}} helper
  • extensible rules for what constitutes paragraphs and words in the excerpt and content helpers
  • extensible rules for what constitutes paragraphs and words in the editor
Admin UI
  • translate the Admin UI
  • locale dates when entering published at date
  • register different fonts for use in the admin interface and specifically the editor
  • extend the admin interface with layout tweaks for different languages
  • install language packs which provide the translations and layout tweaks
  • non-latin chars handled by word count and counters on bio/description fields
  • ability to include extra character sets in admin via language packs

i18n and Apps

Not all features and support for other languages will exist in core. Different writing systems require very different layouts and as such it should be expected that if your language is significantly different to English, that an App may be required to make Ghost work for you.

The advantage of splitting functionality this way is that we don’t have to design one UI that works for all languages and writing systems. Furthermore we don’t have to bloat the core of Ghost with features that will only ever be used by one specific group. Language packs which add translations for the Ghost admin UI could also add layout tweaks, better fonts, and other modifications to make Ghost work just as well for other languages as it does for English.

Issue Analytics

  • State:closed
  • Created 9 years ago
  • Reactions:14
  • Comments:17 (4 by maintainers)

github_iconTop GitHub Comments

12reactions
Nettsentriskcommented, Mar 9, 2017

Stopped using Ghost about a year ago due to only being able to use it for English-based sites. Still no progress? 😦

8reactions
ErisDScommented, Mar 10, 2017

I understand the replies here come from a place of frustration and a desire to see this implemented, however the comments here are achieving the opposite effect.

Anyone who comes to this issue with the intention of contributing will be put off by the negativity in the comments. This article does a great job of explaining what it feels like being a maintainer on GitHub. It is extremely demotivating to put in tonnes of work only to have people rock up to GitHub to moan about all the things we haven’t done or got wrong.

Moving forward:

This is an enormous issue, relating to 3 different concepts that people commonly mix up:

  • translating the admin UI
  • localising a theme
  • being able to publish content in multiple languages

We have said these aren’t features the core team plan to build in the near future, instead looking for people from the community to lead the effort. We had a page on ghost.org dedicated to it for over a year, and we’ve had an #i18n channel in Slack for even longer.

If you want to see this implemented, then contribute something. Positivity, ideas and encouragement are all contributions. Rally together a group of people who could make this happen, use the tools we’ve provided and work with us to affect a change.

For now - I am going to close this issue. It serves only as a beacon of frustration for a feature set that does not exist, and that really belongs on https://ideas.ghost.org. If an individual or group wants to work on one of the 3 aspects of locatisation/internationalisation, we can raise a new issue to cover the spec of what they want to build, as happened with #5345.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Adding internationalization "i18n" to your posts in Ghost
In this post, I explain in detail my experience and method which I had to implement to be able to write posts in...
Read more >
I18n and custom theme - Ghost Forum
Hello! I am developing internationalized ghost theme. And there are certain things that I need to switch depending on current locale.
Read more >
Hard deletion of internal user did not move groups epics to ghost ...
This user created group epics. After "deletion with contributions" Gitlab works as expected (as mentioned in docs) but did not transfer epics to...
Read more >
Ghost Detectors: I'm Gonna Get You! Book by Dotti Enderle
Ghost Detectors: I'm Gonna Get You! ; Halloween. By Mayme Lange. 18 Views ; Epic reaches 75 million kids in class and after...
Read more >
Localization Dashboard preview, and explanation of UE4's ...
Gwenn;428757: What kind of tools are you usin at Epic to translate the games ? The translation editor is fine, but I don't...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found