Picture of Daryl Hedley
RTL support
by Daryl Hedley - Monday, 24 March 2014, 8:35 AM
 

Hey,

Just a quick post to make sure we capture everything we need for RTL support. It's important that we consider everything and every approach. I would also like to keep a few things consistent (i.e. the navigation bar - does this work?). Do narratives need to be switched over? As part of building something in Adapt do you need to create it as a RTL standard or does this become an additional task once a component is complete?

Please feel free to add any information when dealing with RTL and the support we might need.

Thanks,

Daryl

Picture of Amir Elion
Re: RTL support
by Amir Elion - Monday, 24 March 2014, 11:51 AM
 

Hi Daryl,

Thanks for posting this. I started this issue on git and agree that it's a good idea we have the detailed discussion here, and get ideas and feedback on this from the community.

Below I'll detail what I was able to do so far when it comes to RTL support, but I'd start with what I suggest might be the ideal solution in my view for RTL support.

Ideally, I'd like to see a LESS variable, in which you could indicate the course content direction (e.g. right-to-left, left-to-right), and that would impact all the content and behavior. That variable would impact all needed CSS properties, all icons used that are relevant, all positions of layout blocks, and even contrib elements and plugins, etc. See below my description of what's required at this point to support RTL, to understand why I consider this an ideal solution.

I've played around with the default Adapt course of the framework, to see what needs to be done to make it RTL. Here is a summary of my actions and results:

  1. I started by changing the theme main CSS and making element properties from left to right (and vice versa), including body text directions, paddings, alignments, etc.
  2. I also had to change some of the graphic elements (e.g. arrows, progress bars) to fit RTL reading direction.
  3. I noticed that contrib elements seemed to override the CSS properties I added to the main theme, so I had to individually modify the LESS properties for these elements as well.
  4. With some elements, things seemed to work with just "left" property. A good example is the hotgraphic pin elements where I could change the position from left:80 to right:80, but in fact had to subtract that from 100 i.e. left:20 for the design to work.

These above process is quite time-demanding in terms of finding and replacing all the relevant CSS properties and prone to errors and issues. Hopefully this explains why the ideal solution is as I described above. Not sure if technically it would be possible but what it would mean, and happy to hear others' ideas and suggestions.

Picture of Amir Elion
Re: RTL support
by Amir Elion - Saturday, 29 March 2014, 9:44 AM
 

Posting here for future reference. We prepared a demo in Hebrew of the RTL behavior of an Adapt course.

This is an example of how an RTL course would behave. Although the demo is based on the old Adapt code (not the refractored framewrok), the behaviour of the components should be as demonstrated there:

https://community.adaptlearning.org/mod/scorm/view.php?id=42

Amir

Picture of Matt Leathes
Re: RTL support
by Matt Leathes - Wednesday, 2 April 2014, 12:04 PM
 

Just spotted this - might be of use for implementing RTL in Adapt?

https://github.com/operasoftware/flipcss

Picture of Tim Newham
Re: RTL support
by Tim Newham - Friday, 16 May 2014, 10:52 AM
 

Just registering my interest in this. I may have an Arabian client who could fund RTL work and Arabic language pack. Actually I should say "prospect" rather than client - we're pitching Totara to them and they want an online e-learning authoring tool.

No money yet, so no response needed.

Thanks,

Tim @ Think

Picture of Amir Elion
Re: RTL support
by Amir Elion - Monday, 22 September 2014, 12:32 PM
 

Hi Darryl,

Dennis Dobrenko from Kineo Israel, has now implemented RTL support to core, following your discussions.

As requested, Dennis has forked all Adapt core and core contribs, committed RTL fixes, and sent Pull requests.

See repo's https://github.com/dennisdobrenko?tab=repositories

We would like to see this moving forward.

Please let us know what else is needed in order to get this part of core.

Later we can add some documentation to help developers making their plugins support RTL.

Thanks,

Amir

Picture of Daryl Hedley
Re: RTL support
by Daryl Hedley - Tuesday, 23 September 2014, 9:11 AM
 

Hey Amir,

I've started sorting out the repos. To get these changes pushed into the contrib status plugins and core the Pull Requests need at least three +1's - including one from a core team member. I've pushed that some of the core contributors look over the code. So hopefully won't be too long before we see this implemented back into the core.

Hope this helps.

Thanks,

Daryl

me
Re: RTL support
by Sven Laux - Monday, 10 November 2014, 2:31 PM
 

Just to add that I have added this page on the Wiki - thanks to Amir and Dennis from Kineo Israel for doing. https://github.com/adaptlearning/adapt_framework/wiki/Adapt-Framework-Right-to-Left-(RTL)-support

The next step is to plan merging the code into core and testing it.

The functionality should be included in the 1.2 framework release.

Thanks,
Sven