Skip to content
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

[FEATURE] Accommodate right-to-left languages #2254

Open
12 of 16 tasks
esmeetewinkel opened this issue Mar 22, 2024 · 7 comments
Open
12 of 16 tasks

[FEATURE] Accommodate right-to-left languages #2254

esmeetewinkel opened this issue Mar 22, 2024 · 7 comments
Assignees
Labels
feature Work on app features/modules

Comments

@esmeetewinkel
Copy link
Collaborator

esmeetewinkel commented Mar 22, 2024

What?
App to accommodate translations to left-to-right languages.

Why?
ParentApp Kids Kuwait is planning to deploy in Arabic, which is left-to-right.

Issues found post-merge of #2317:

Not prioritised:

  • Task cards with icon / toggle don't display sensibly
  • Toggle bar + debug toggle have not swapped
@esmeetewinkel esmeetewinkel added the feature Work on app features/modules label Mar 22, 2024
@chrismclarke
Copy link
Member

chrismclarke commented Mar 27, 2024

Ionic has a blog post on adding support for RTL, I think the post makes it sound simpler than it actually is as a lot of our custom content has a somewhat hardcoded layout (like you identified with nav buttons), so we might need a bunch of extra styling overrides to accommodate as required

https://ionic.io/blog/ionic-and-rtl

There's also a few good examples in:
https://enappd.com/blog/how-to-use-rtl-right-to-left-in-ionic-apps-pwa/152/

@chrismclarke chrismclarke changed the title [FEATURE] Accommodate left-to-right languages [FEATURE] Accommodate right-to-left languages Mar 27, 2024
@jfmcquade
Copy link
Collaborator

A few interesting points here: https://twitter.com/kepano/status/1777813094619840535

@chrismclarke
Copy link
Member

chrismclarke commented Apr 18, 2024

Discussed on call, recommend keeping in config (or app_config) a languages property that stores language metadata, such as right-to-left e.g.

languages:{
   en_rtl:{
      rtl: true
  }
}

Then when setting the language should lookup app config in case there's any extra metadata to apply.
For initial testing recommend adding an English rtl alternate language to debug repo

@esmeetewinkel
Copy link
Collaborator Author

esmeetewinkel commented May 23, 2024

Issues found post-merge of #2317:

  • Toggle bar + debug toggle have not swapped
  • Left-aligned buttons need to become right-aligned
  • Need to confirm markdown works in RTL translation (in particular, bulleted / numbered lists)
  • Need to confirm punctuation (., ;, :) at the end of a line works in RTL translation (it seems that this displays on the left automatically)
  • Need to confirm text box works correctly (it seems that although the cursor shows on the left of the text, characters are added on the right as you type)
  • Cards with icon / toggle don't display sensibly
  • Controls on video component have not reflected (need to confirm with RTL user)
  • Audio player bar that fills up should fill up from the right. Also, the icons for "fast forward" and "rewind" should swap (need to confirm with RTL user)
  • Two right-most columns in a display group touch
    image image

@jfmcquade
Copy link
Collaborator

We already have data lists for most deployments that store language metadata, e.g. this language_select template in the minimal sheets folder. Currently I believe this is just used to display the language select options as a radio_button_grid component, but if we're going to have a list of languages and associated metadata (e.g. the syntax suggested in this comment), it may make sense to make this authorable from a named data list sheet rather than directly in the deployment config.

@esmeetewinkel
Copy link
Collaborator Author

In an RTL language, the app-code version number in the side menu doesn't appear when clicking / hovering over the code version number. This is probably because it appears on the left of the content version number, which is outside of the screen.

image

@esmeetewinkel
Copy link
Collaborator Author

#2397

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Work on app features/modules
Projects
None yet
Development

No branches or pull requests

3 participants