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.

[i18n] Multi-lingual Content Publishing (Mockups)

See original GitHub issue

In 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

screen shot 2017-05-31 at 15 54 51

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.

screen shot 2017-05-31 at 15 55 04

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.

screen shot 2017-05-31 at 15 55 18

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 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

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Reactions:38
  • Comments:29 (12 by maintainers)

github_iconTop GitHub Comments

12reactions
andrewanswercommented, Aug 2, 2018

@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.

9reactions
ErisDScommented, Jun 11, 2020

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/

Read more comments on GitHub >

github_iconTop Results From Across the Web

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 >
Multilingual Content Publishing - Future Group
Our multilingual desktop publishing services or typesetting includes text, image and all the DTP types to localize your manuals, brochures and documents.
Read more >
i18n - Hugo
Translates a piece of content based on your i18n configuration files. ... see Translation of Strings in Multilingual Mode.
Read more >
Babel's I18n Advantages for Multilingual Apps | Phrase
Python Babel is a well-known library for Python i18n and l10n. Learn how to use it and integrate it with Jinja2 templates in...
Read more >
Multilingual content management and localization in an ...
Localization has been part of the content management lexicon for more than a decade now. Contentful has a new way to approach the...
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