Arabic didn't flip sides because I assumed that updating the rtlLocales in scratch-l10n would take care of it. Unfortunately, there was preliminary code in gui (with a TODO to move it to l10n)
https://github.com/LLK/scratch-gui/blob/8ffae77ffec4989c1cd72a74e3662ad0d46797c6/src/lib/locale-utils.js#L1-L3
isRtl has been added to scratch-l10n. It should be the source of which languages are rtl. All gui uses of this rtlLocales will need to be updated.
This will also