-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for multilingual content authoring #716
Comments
If you're looking for multiple languages in the admin interface, there's a PR here that's close: #403 |
In that case I'd expect it to be a bit of both, as selecting a global language setting should cause the UI to be labelled in that language. It sounds like you're looking to have the same content in multiple languages, so I imagine you'd want some way to see what entries exist that have no translation in the current language? Beyond that each language should publish to a separate directory, and we'd need certain string properties in the config to start accepting an object of language-keyed strings. Thoughts? |
I think @fool was more pointing at handling automation of translation. This is about supporting the manual creation of multilingual content. |
Not even "automation" so much as "easy support for". But yes not in the
admin gui, in the content. E.g. Being able to take a template from an
English post with graphics and code blocks and turning it Spanish. One
click "clone" with ability to identify articles that are missing
translations would be most of it. Configuring your site to serve the
different content would be out of scope for the cms by my reckoning
On Dec 8, 2017 23:56, "Shawn Erquhart" <notifications@github.com> wrote:
I think @fool <https://github.com/fool> was more pointing at handling
automation of translation. This is about supporting the manual creation of
multilingual content.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#716 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAN-oBGRQfIQC0kvYnAkfF8_tI9xkU3Dks5s-j05gaJpZM4P_IL->
.
|
@fool In addition, It should allow to add a language suffix to the filename: i.e. "mypost.es.md". However, I realised that I cannot create this suffix ".es" using slug for naming the file because the code remove dots from slug. Any ideas? EDIT: I am not requesting a major change, but some configuration that would allow to easily create miltilingual content |
haven't used one but this link makes it seem like maybe drupal and joomla
both did it in 2015:
https://www.acclaro.com/blog/how-to-choose-cms-for-multilingual-website/
…On Dec 20, 2017 10:15, "Shawn Erquhart" ***@***.***> wrote:
@gibujin <https://github.com/gibujin> you can already create multiple cms
instances as you described, since the CMS is just a single page app.
@blgo <https://github.com/blgo> @fool <https://github.com/fool> can you
point to any examples out there of a CMS with the described clone
functionality?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#716 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAN-oB2n46-evcyNEO5HSw35Rzkt_YQIks5tCU7AgaJpZM4P_IL->
.
|
So it sounds like we need product level contributions at this point. So far we have:
Anything missing? UX considerations? How do we make this unobtrusive? |
just dropping my 2 cents. Contentful has a very neat UX for content translation / 'locales'. You may find it inspiring to have a look. |
Great tip @MarcCoet, will do! Feel free to drop specifcs, screenshots, etc if you think any aspect is particularly impactful for the project. |
@erquhart do you have a plan in terms of timings to develop multilingual? |
There's no active development at the moment, still need to determine the right approach. You're welcome to help move things along if you're interested in digging in. |
I'm a freelancer in South America 🇨🇱 and almost all my clients need a Spanish site for local clients and an English translation to reach foreign tourists. So having official support for multiple languages would be really useful! I agree with @MarcCoet that Contentful has a really convenient UI for translations. Basically there are some checkboxes in the sidebar that let you select which languages to work on, and then it will show a copy of each field for each language. Here's a screenshot to show what I mean: IMO an anti-pattern for localization is to simply offer a language switcher with no ability to view multiple languages at once. You have to open multiple windows to see the original text and new text and it's annoying, although still much better than nothing. |
Awesome, thanks for the specifics @whmountains. @hcavalieri this ^^ just pointed out an issue with the tabbed i18n approach from #1166 - folks are going to want to look at multiple translations at once, especially while translating. |
Exactly. I'm glad you inferred my use-case even though I forgot to state it explicitly. 😄 |
Multilanguage implies many issues, like: - links in header and footer are differents (sogilis.com vs sogilis.fr) - showing all articles regardless current languages requires to do some tricky things - then links of english article will switch to english language (even if current language is french) - Netlify CMS does not support yet multilanguage content (see decaporg/decap-cms#716)
So we have a PR #2988 that attempts to solve this issue. The approach is based on comments #716 (comment) and #716 (comment) . Any feedback is highly appreciated, thanks. |
To provide a different perspective, my current approach for the issue is to setup separate netlify sites (and cms admin) for different locales. the repo directory structure looks like this:
for the different locales, I created multiple netlify sites, each pointing its base directory to the locale it targets, such as
and lastly, the development support is implemented as a script in
hope the above solution offer help to someone facing the similar situation. |
So I can see from #2988 that we're still looking for UI/UX solutions on this. Thanks @barthc for the initiative by the way! To explain my background, I'm a francophone who's been scouring the English internets for a long time; translating Wordpress posts has been my job a long time ago; I've worked on Middleman's I18n features; and am a total UI-UX geek. So I've been thinking about localization interfaces for a long time. Here's what I'd like to see in an L10n interface. Explanations after the image.
As a matter of implementation, those are enough for me and a huge leap forward. This could be PR One. Now, the nice to haves:
|
Now on to the index view and filtering: (Keep in mind, I don't really know what the index view looks like, sorry about that) --- Index/Collection viewOn the index view, I want to get a gist of which version is present or needs work ("done-ness"). A faded bubble could indicate absence, a warning color could indicate need to update. This suggests two things:
Also, this could probably support max 6-8 languages/bubbles in sight, optionally on two rows. You can also see one Nice to have feature is to display content in some language. FilteringIf I'm a translator, I probably need to know which records need work on.
If I'm an editor, I probably need to know what's there and that I can publish
Those are the filtering use cases I can come up with for now. I'm mainly thinking about Airtable's filtering interface as a matter of inspiration. To divide it into PRs:
|
@joallard I could have sworn I responded to your comments long ago, sorry about that. I'm really loving the approach you've laid out. It brings the best of what we've discussed so far, rounds out the editor experience with sensible functionality, and matches really well to our current editor model (two big panes side by side). This issue is very close to hitting active development, I'm in strong agreement with the order of implementation and prioritization you proposed as well. Thank you! |
@erquhart I'm really glad it's appreciated! I've been wanting to see a good I18n interface in a CMS for a long time. I'm open to be reached if there's any question or if I can help. Since then I've taken a look at what Ghost does for blog articles (turns out their "multi-language" feature is not really one after all) and more precisely that fact that textareas don't scroll, they just expand/fill the page. That could be a simple way to work around the scroll problem: no scroll! The box just resizes according to its content. That would more or less do it for a variety of cases. We just have to ensure the next cells in the columns are at the same height, and off we go. |
Update: Copying my comment from #2988 (comment):
Unless @barthc or @jmdrawneek have already made significant progress in implementing this feature, we might be able to split up the work. As @barthc is more familiar with the backends code I'm thinking he can do 1, and as doing the UI part doesn't require that much pre-knowledge of the code base @jmdrawneek can do 2. I might be completely off here as well, thoughts? |
As a side note, it would be great to have flexibility as to how translations are handled: by file name ( |
As you folks are implementing this, feel free to reach out to me on Keybase or by email if you need a sounding board on this! I'm really glad to see the enthusiasm! |
The collection |
hey after showing my example on discourse, I got suggested to come and link my project here. I just want to share the way I implemented to add multilingual support on my site. Project: https://github.com/tbille/multilingual-jekyll-netlify/ Just to quote. This is my source of inspiration to make jekyll multilingual. I tweaked a bit the solution to make it work with netlify-cms |
Excellent link @tbille, Durand is spot on about the goals. I can't help but highlight one of them, that was discussed in the PR:
The only lowlight? I can never endorse plain wrong date formats such as |
The good people at Netlify has confirmed to me that multilingual content is not really supported. But that doesn't necessarily mean that its not possible. For example having a post with a title field * languages supported doesn't really seem like a good idea. Another approach could be to create multiple admin interfaces (/admin/en, /admin/es etc.)for each language (if thats possible, haven't tested it). How would you approach this, any other suggestions?
The text was updated successfully, but these errors were encountered: