WordPress / gutenberg

The Block Editor project for WordPress and beyond. Plugin is available from the official repository.
https://wordpress.org/gutenberg/
Other
10.4k stars 4.16k forks source link

Test the interface in languages other than English (especially on mobile) #4231

Closed afercia closed 6 years ago

afercia commented 6 years ago

Ideally, a large application like Gutenberg that is meant to be translated and used in several languages should be designed with localization in mind and continuously tested in other languages during development iterations.

I'd like to take this opportunity to suggest to everyone, especially the ones who are not native English speakers, to start testing Gutenberg in their language now, even though the interface is not fully translated yet.

I feel this is an area where, historically, WordPress hasn't always done its best. Of course, most of the development has always been made in English (not arguing that) and testing in other languages has been often an afterthought, if that ever happened. Yes, some additional space is generally reserved to longer strings that may come from other languages, but that's not enough.

This applies to all the interface, on any screen size, but let's consider just the mobile view for now, and just the top toolbar.

What is the minimum display size Gutenberg is optimizing for?

At a 320 pixels viewport, the top toolbar starts being cutted off on the right, even in English (see in the screenshot below: editing a draft):

screen shot 2018-01-02 at 15 09 47

Other languages typically have longer strings. Actually, English is one of the Western languages with the shorter words. Let's consider, for example, German:

screen shot 2018-01-02 at 15 12 21

See how there's no space to display the ellipsis button. Notice the word "Saved" is not translated yet. I think it's "Gespeichert"? Anyways, I'm pretty sure it's longer than "Saved" πŸ™‚

Even at a 375 pixels viewport, the toolbar is cutted off on the right:

screen shot 2018-01-02 at 15 12 33

There are several ways to address these issues, more related to design so I'm not the best person to give suggestions. However, I'd like to mention a few things:

afercia commented 6 years ago

See the new buttons introduced in https://github.com/WordPress/gutenberg/pull/5300 I think they're definitely an improvement, the UI is more clear. However, they take more space. I'd strongly recommend to consider translations in other languages may use longer strings. A couple examples:

German:

screen shot 2018-03-01 at 11 02 19

Worth considering the buttons labels change depending on various conditions, for example when a user with contributor role creates a new post the publish button becomes "Submit for Review". The translations of this label will very likely be longer:

screen shot 2018-03-01 at 11 05 20

(any native German speaker willing to translate this ^^ for testing? πŸ™‚ )

/cc @jasmussen

Soean commented 6 years ago

German

buttons_german

Save: Speichern Saved: Gespeichert Preview: Vorschau Submit for Review: Zur Revision vorlegen

moorscode commented 6 years ago

In a general sense, elements need be able to be as big as they need to be. Designing for a certain translation is not a solid basis to rely on.

In this case the bar should be able to grow higher to accommodate the space needed to place all buttons.

Having a fixed menu-button at the right-top is something that might help to maintain functionality at an expected location.

Overflowing the buttons and saved-message allows for a usable state of all the elements.

Suggested functionality:

moorscode commented 6 years ago

In line of the comment above, this issue is a bit too specific in my opinion.

Making it broader; an issue to determine usability of all elements with dynamic length (translatable strings) instead of language-specific tests/checks.

I can imagine a testing method of overriding the translations globally with just random words and seeing which buttons/elements are being obscured or overflowed.

jasmussen commented 6 years ago

I have a solution that I'm pushing in a minute :)

jasmussen commented 6 years ago

In #5329 I believe I've addressed the mobile issues present, and verified it works with at the very least the german translations provided here.

I could not find out how to get into a situation where the big primary button said "Submit for Review". I'm very likely missing something here.

afercia commented 6 years ago

I could not find out how to get into a situation where the big primary button said "Submit for Review".

Login as contributor πŸ™‚

jasmussen commented 6 years ago

Login as contributor πŸ™‚

Thank you, that worked :)

So, this is what that looks like in English, per that branch:

english

And here's German:

german

Womp womp.

What I propose we do is to first shepard https://github.com/WordPress/gutenberg/pull/5329 through and merge that, as it fixes real issues and mitigates the issues in this ticket. As far as I can tell, it fixes every issue around the editor bar, except for the contributor issue.

I will then open a separate ticket for the "Submit for Review" button, and tackle that separately. I've been meaning to look at the pre-publish and post-publish flow regardless, and this feels to me like a perfect situation for such a flow. Decide you are done -> Get into Publish Flow -> Submit for Review. In such a situation, here's what a contributor would see:

prepublish-contributor

postpublish-contributor

In German, that would give you this pre-publish screen:

screen shot 2018-03-01 at 15 12 03

Now keep in mind, that fits on an iPhone 5, as it should as that's the smallest width phone we support. But most phones today have way wider screens, so if you're missing some whitespace here, most users would have that.

Thoughts?

karmatosed commented 6 years ago

What I propose we do is to first shepard #5329 through and merge that, as it fixes real issues and mitigates the issues in this ticket. As far as I can tell, it fixes every issue around the editor bar, except for the contributor issue.

Solid +1 from me on that.

afercia commented 6 years ago

I'd recommend to not close this, as it's more a general task that should run from now on and not related just to the header, and not just mobile. Or maybe open a new one, or include testing in other languages as a task that should run from now on.

jasmussen commented 6 years ago

I'm not personally opposed to reopening this, but think in this phase it would be better to open one or multiple other tickets for specific issues, like for example #5343. We should always test for other languages, and for mobile responsiveness and a slew of other things. Ideally we should have tickets that are specifically actionable. What do you think?

afercia commented 6 years ago

Sure, up to you, My point is more about including testing in other languages in the ongoing tasks. HAving actual working translations would help :)