Set direction of text depending on text itself

Facebook has it !

When Writing with an RTL language the ticker goes to the other way which gives a very intuitive experience.

I need this for my community because we are bilingual.
Thanks Discourse … Love

6 Likes

@codinghorror, Hi Jeff, do you think this is something we can have in the short term ?

Have a look at an old topic here about RTL support.

https://meta.discourse.org/t/rtl-support/1784

There is a library that automatically sets the direction of each paragraph based on the content.

https://github.com/hasenj/bidiweb

1 Like

Sure, submit a pull request with the work if you want it. This is how open source works.

Is there any update for this feature? I desperately need it.

Even if there is a button to change direction of text, when we write english/arabic/persian, would be great.

I just added pr-welcome on this, hopefully a bilingual developer looking for a contribution will look at this one day.

1 Like

I just found that there is an html5 tag dir=auto that simply works in most situations.

For example I wrote this html

<html>
<body>

<p dir="auto">Write this جمله چپ به راست text left-to-right!</p>

<p dir="auto">این RTL sentence  جمله را از راست به چپ بنویس</p>

</body>
</html>

And pasted it in a simple html editor and it works perfectly fine

Could we use the same thing in discourse @sam?

btw I tried dir="auto" with firebug on <p> tags in discourse. However it didn’t do anything. I don’t know why.

1 Like

years later, this is still an issue. even when a post is written entirely in an RTL language, it doesn’t get auto-aligned.


(this is the editor, but the preview on the right is an accurate representation of the final product)
the only working solution is to add <div dir="auto"> tags. as @hnaseri noted, <p> doesn’t work, only <dir> does.

i must be honest, this is quite abysmal. surely there’s a better way than to require users to add <div dir="auto">. in fact it’s not a good enough solution, because if you just open your div but don’t close it, the rest of the text will be forced to the direction of the very first line, rather than on a paragraph-by-paragraph basis. needing to add another <div dir="auto"> before every paragraph is not really a solution.