[i18n] Multi-lingual Content Publishing (Mockups)
See original GitHub issueIn the spirit of the exciting work being done on #8437 I thought I would take a stab at mocking up a design for publishing content in multiple languages. The purpose of this is merely to mockup a workflow for a user to create multi-lingual content.
Below are the preliminary designs, mess around with the XD link to see the design in action.
Adobe XD mockup: https://xd.adobe.com/view/bfec5bf4-85bf-4d3a-b78b-67c19cc963f8/
Concept
Here you can see the that nothing has changed on the current admin interface (Alpha.17) with the exception of an added “translations” box in the post settings.
Upon selecting that box, the user would be taken to a settings screen (just like the meta data box functionality) where they can see all of the languages they’ve added for this post, as well as add additional languages.
After selecting a language (in this example the user selects Spanish), they would be taken to a new/existing content post where you can create a custom permalink, metadata, tags, and add a translator. It might be better to have both the author and translator fields present across all translated posts.
The approach I’ve taken here is akin to Drupal 8’s translation workflow which ties translated content nodes to the original node using the same node ID in the database.
In the Stories section, each post in a different language could appear as a separate content post with an additional language filter added at the top for sorting, or, alternatively, a translated post could be linked with the original post and listed together with a marker/link to indicate that the current post has been translated in another language(s).
Benefits to this approach
- Easy to manage as a user
- Intuitive
- Streamlined with minimal clutter
- No need to mess with tags
- Allows custom permalinks
- Allows custom metadata (could default to include
<html lang="?">
) - Ability to reference the same post in different languages when theming
- Flexibility
- some posts can be translated in multiple languages, while others can remain in only one language
I would love to hear feedback on this, and I hope to work on the implementation once a workflow has been decided on.
Features and Support
Taken from #3801. I’ve crossed out features that would immediately be solved with this workflow.
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 languagecustomisable permalinks where english words are usedset<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
Issue Analytics
- State:
- Created 6 years ago
- Reactions:38
- Comments:29 (12 by maintainers)
Top GitHub Comments
@kevinansfield @mprinc I have an interesting idea - what if Ghost platform will translate the site content on the fly using AWS.Translate/Yandex.Translate API? We can use power of machine learning this way.
We can talk about this. Please contact me through my site http://answe.ru - you can find my Skype in header.
It’s not a hack, but thanks for making me regret taking the time to reply to you. I recommend having a read of this: https://ghost.org/faq/open-source-etiquette/