thunderbird-patches icon indicating copy to clipboard operation
thunderbird-patches copied to clipboard

Native Right-To-Left Support

Open orennahum opened this issue 1 year ago • 13 comments

Hi,

For a very long time, Thunderbird supports right-to-left languages with the aid of the "BiDi Mail UI" add-on. This means, that whenever a new version of Thunderbird is release, I'm unable to use it until the add-on is updated. It will be great if you can add native support to right-to-left languages.

Thanks, Oren

orennahum avatar Jun 03 '23 15:06 orennahum

Hi. I see that the "funding needed" label is applied to this and other issues. Is it possible to give an estimate of roughly how much funds would be needed? Perhaps people can get together and crowdfund for specific issues/features?

RasheedAZ avatar Jun 23 '23 12:06 RasheedAZ

Well, good question. The initial complaint was the BiDi add-on breaks on every major release, and it's really up to the author to fix that. We're not opposed to integrating some of the functionality of the add-on. You'd have to get an estimate from the author @EyalRoz.

Betterbird avatar Jun 23 '23 12:06 Betterbird

This means, that whenever a new version of Thunderbird is release, I'm unable to use it until the add-on is updated.

That's directly because:

  1. Mozilla doesn't properly document the changes they make the APIs, so that I can easily adapt my extension. Although TBH John Bieling has been doing quite a bit of work in the direction. But it's an afterthought for the project, and incomplete, and they're always trying to pressure people into limiting themselves into silly "WebExtensions" when you can't do anything.
  2. I'm the only maintainer and don't always have the time.

So, right now for example, I'm wrestling with conflicts when overloading the 3-pane window and the menu - in the other extension I'm the maintainer of (Remove Duplicate Messages). I expected to be done and move on to BiDi Mail UI, but I'm kind of stuck. And that one is 20x more popular, so it takes priority.

eyalroz avatar Jun 23 '23 13:06 eyalroz

Now, about the possibility of integrating this into BetterBird - that has two potential levels of depth.

Integrating the existing extension's functionality - very doable. Would take a bit of time, but I don't see any obstacle to doing this. The thing is, the way the extension does things is very hacky and patchy - and somewhat limited (especially the mis-encoding detection logic, but also in handling changes to text in the editor). See also Bugzilla bug 434436 about the same request for TB itself, and specifically my comment 19. That was said 14 years ago, and TB has not found it appropriate to integrate support for right-to-left languages since then. 25 years or so since the first Mozilla suite release. And when about 8-10% of all people in the world use right-to-left written languages.

eyalroz avatar Jun 23 '23 13:06 eyalroz

The bug is a good read, also the attached list of issues (https://bugzilla.mozilla.org/attachment.cgi?id=401710) in comment 26. Looks like some tweaks are necessary in the Mozilla and TB code base, which of course will increase the BB maintenance burden since the patches need to be maintained in the future.

BB isn't localised into any RTL language at the moment, so it's unclear if it RTL support would bring users.

For crowd funding, you'd need to define the targeted functionality. With the right resource (and a lot of ❤) you're likely looking at a few man weeks. So put a price tag onto that.

Betterbird avatar Jun 23 '23 14:06 Betterbird

BB isn't localised into any RTL language at the moment, so it's unclear if it RTL support would bring users.

I can't make "marketing" estimates, but - RTL language users don't need localization to adopt software. A person who is already tech-savvy enough to notice BetterBird is likely not to care that much about the localization - but they will care about the RTL functionality.

eyalroz avatar Jun 23 '23 18:06 eyalroz

We did some more reading of bug 464436. We'd need to take stock of what RTL support is already there, which items on the list need doing and what the expected target is. If someone wants to set up crowd funding for a few man weeks (in the bug it talks about months) and if @eyalroz is prepared to help out with his detailed knowledge, we can tackle it.

BTW, there isn't only this bug, there are at least two more: https://bugzilla.mozilla.org/show_bug.cgi?id=119857, https://bugzilla.mozilla.org/show_bug.cgi?id=96057 (has large patch). Bug 464436 also has a short patch.

Betterbird avatar Jun 23 '23 18:06 Betterbird

Naturally, a few of the items on the list are outdated by now. But not as many as one might expect...

I'll definitely help out.

eyalroz avatar Jun 23 '23 23:06 eyalroz

@eyalroz I appreciate all your efforts so far on the extension. I'm sure we can crowdfund if this feature were to be integrated into Thunder/Betterbird once and for all, as you mentioned there are many users who would benefit from RTL support.

ma-sadeghi avatar Jun 19 '24 17:06 ma-sadeghi

I have just started work on updating the extension for TB 128.

As for crowd-funding work on TB's core - I am very much for it. @Betterbird : can you give a rough over-estimate, which could be used as a target for crowd-funding? I'm not saying a crowd-funding call can come out right now, but it will let us have an idea of what kind of sum we're looking at (and thus an idea of number of people x donation per person).

(and just so as to clarify - this money will all go to the BetterBird project and/or developers the BB project hires/contracts for this purpose; my work towards this will be donated and on my spare time from my day-job.)

eyalroz avatar Jul 27 '24 14:07 eyalroz

I've updated 7 extensions in one day, mostly changing imports, for example:

https://github.com/Betterbird/quick-folder-move-extension-classic/commit/dba207965ddbcc32404de078dea5d32a538fcf05 (wrong committer, but anyway)

As for the crowd funding: If you do the work, you need to know how much it's worth. Best not to discuss this publicly.

Betterbird avatar Jul 27 '24 14:07 Betterbird

edit: Try this build: bidimailui_0.15.0_tbird.xpi.zip

eyalroz avatar Jul 27 '24 14:07 eyalroz

edit: Try this build: bidimailui_0.15.0_tbird.xpi.zip

I just tried and it worked like a charm, thanks!

ma-sadeghi avatar Jul 29 '24 01:07 ma-sadeghi