Working Group for Adding Bidirectional Text Support

NextCloud works only in Left-to-Right direction even if the user sets the language to some of the Right-to-Left ones (like Persian, Arabic, Urdy, Hebru,…). Moreover, NextCloud users might need to use and create new content on both LTR and RTL languages.

There are two solutions for this:

  • Add a feature to support RTL (like adding rtl.css)
  • Add bidirectional text support

The first approach is not ideal. It is actually not fixing the issue. It only works if all the content is in RTL. But the second approach (if applied properly) can give the app enough flexibility to adapt itself based on the content.

I, along with some other developers am working on adding bidirectional text support to NextCloud ecosystem. As of now, there are some improvement merged into nextcloud-vue and nextcloud-notes projects, and there is an open WIP PR for NextCloud-server.

I do understand the challenge of reviewing such changes for those who have only written and read in LTR. Adding bidi text support is not just a technical matter but also a PM issue. There are some edge cases and also some UX issues to take into consideration. Beyond that, we need to make a roadmap that helps the ecosystem transition into a fully compatible phase with bidirectional text support.

I would like to propose the formation of a “Bidirectional Text Support Working Group” that includes designers, PM, developers, and in particular, developers/testers who actively use RTL languages . This working group will be responsible for defining the roadmap and strategy and supervising the UI changes till we reach a stable stage.

I have already thought about the challenges, but I prefer to discuss them within such a group.

Since each commit in the NextCloud server includes built assets, it becomes harder and harder to maintain the bidi PR. The sooner we can work on this issue and make a clear decision, the faster and more effective bidi support we get.

5 Likes

Hi Mostafa. Thanks for your efforts on pushing the bidirectional support in Nextcloud.

I also read and write a couple of RTL scripts, and have personal interest to use Nextcloud web interface in those languages. I have also consulted the project about RTL issues in the past.

I am happy to help with testing, planning, and occasionally also programming to implement proper bidirectional support in Nextcloud. I think forming a Bidirectional Text Support Working Group is a great idea. I would gladly join it to help.

2 Likes

Hey Mostafa,

I have previous experience with RTL and BiDi, serving as the Coordinator of Localization in Free Software platforms such as GNOME, Ubuntu, Debian, F-Droid, etc.

I am enthusiastic about contributing to the work group and would be delighted to be a part of it.

2 Likes

RTL and BiDi support for Nextcloud is a long-waited step. Despite the huge demand and the frequent raising of this issue, I feel that Nextcloud AG is not encouraged enough to consider this as a priority and to include BiDi in the core of Nexctcloud.

Anyway, I’m so glad with this repetitive demand and the persistent interest in adding this significant feature to Nextcloud.

So, As an Arabic language speaker, I’d like to join the “Bidirectional Text Support Working Group”.

1 Like

Hello,

I have a few comments, some generic, some specific on the RTL topic (and sorry, I am not able to read RTL languages so I need to ask a few very basic and possible dumb questions):

  1. There is the design group who holds a weekly meeting for various topics. Are you aware of them? I guess the RTL might be interesting to them as well (if they do not yet have that on their mind anyways). There you could have a good multiplication effect.
  2. Just out of curiosity: are you used to read RTL even when the navigation is design LTR? I mean many pages have a left navigation bar. Would you like to have tat shifted to the right (naturally for RTL so to call)?
  3. I am working with the cookbook app where we are also parsing recipes from foreign web sites (using schema.org standardized metadata). I have no clue how this will work with RTL languages and if I might accidentially reverse the letter ordering by badly parsing. As this is a clearly encapsulated question, we might start a new topic on this if there is someone willing to answer this question for me.
  4. Another parsing question: (I am hoping to gain some generic grammar information) I want to parse natural language stubs (like 1 kg of fine flour) to extract the parts of this information. I would like to know if there are languages with changed order and one candidate I was suspecting to have a non-English-like grammar were the RTL languages. Again, this is a dedicated topic.

For the dedicated topics: Where could I put my questions best? Is there already a working group installed somewhere?

Thanks a lot
Christian

1 Like

Thanks for your reply.

Regarding the design team, I am not aware or in touch with them. This matter has implications on UI/UX and it is very important to work closely with them.

For other questions, we may discuss case by case. Generally, it is better to have RTL layout when an RTL language is selected. This is not a big issue with NC since in my first implementation, this issue was resolved. For the last question I can say it depends on the level of translation. If units are not translated, then the number and the unit may be wrapped in a tag to endure LTR direction for it. but still the implementation may vary based on the current implementation.

See here: Nextcloud Just go there and make yourself known.