Internationalisation of a chart in a user interface

I’m putting together an implementation of this chart:

It’s to show number of hours spent using the computer in a week, with days of the week along the bottom axis, and usage time along the right-hand axis.

There are a few things I know I need to do to internationalise this:

  • Day name translations
  • Allow starting the week on a Sunday rather than a Monday
  • Translate the units (’h’ and ‘m’ for hours and minutes)
  • The arrow buttons below (which scroll between weeks) would be swapped in RTL locales

However, there are a couple of other things that I have questions about, which hopefully the GNOME translators can help me with :slight_smile:

  1. In RTL locales, would you expect the right-hand axis to be drawn on the left of the chart? This Stack Overflow answer suggests not, but I’m interested in what our RTL translators have to say about it
  2. Regardless of the location of the axis, would you expect the columns to be ordered right-to-left in RTL locales, so that the first day of the week is rightmost (as seen) and the last day of the week is leftmost (as seen)?

I hope that makes sense. I can answer questions to help describe the interface further if that’s needed. If anyone has other thoughts/feedback about the internationalisation of this UI I’m also very interested to hear it. Thanks!

(Edited to number the questions for clarity)

1 Like

Hey, this is an example of a Hebrew graph, it’s usually easier to work with in RTL context.

I guess that’s a yes to all your questions.

Thank you! Unless I’m misinterpreting, that graph example does still show years increasing from left-to-right. So that would be a no to my second question. Or am I misinterpreting the context of your example graph?

Oh sorry, yes.
That’s an example of English labels, with Hebrew labels it makes more sense to flip it around.

The axis labels are in place.

1 Like

As the Stackoverflow post suggested, I don’t think there’s solid established rule. If you go by Google’s Material design guidelines, it says to flip anything indicating the passage of time, except things representing real-life objects like video playback and clock symbols.

IMO you should flip the graph used here since it’s not a proper coordinates plane and it has arrows underneath for navigation.

For reference, here’s a screenshot from an Android’s wellness tracker (Last day is on the left):

1 Like

Thank you! The Android guidelines and fact they mirror exactly this graph is particularly useful to know.

OK, I’ve implemented RTL support so the order of the bars is mirrored in RTL mode, and the vertical axis is moved from the right side to the left side.

Here’s a screenshot with LANG=he_IL.UTF-8. The translations are hard-coded for now, and incomplete in any case — they’re just indicative for the moment. I went with Hebrew as an example because I could find a list of abbreviated day names for it easily — if you can point me to such a list for Arabic then I could test with that too.

The numbers are still to be localised, for example.

Let me know if anything there looks fundamentally wrong!

1 Like

It looks good to me.