Hello. Can you add support for RTL (Right-to-left) script?
Languages such as Hebrew, Persian, and Arabic, absolutely require this feature and without them, the product is simply unusable for all the middle eastern users.
Let me know if I could assist you in any way.
Hi AmirHossein,
Thank you for the suggestion.
Yeah, it’d be definitely great for all the middle eastern users.
But I’m afraid that the RTL is not going to be supported.
Because I’m developing this app alone and I don’t use any of these languages.
It’d be hard to support features that I will never use.
Sorry but thanks!
Hi @craftzdog,
sorry for opening up this again, but the last reply is now 5 years ago. I’m wondering if you’ve maybe changed your mind with regards to the RTL-question.
I’m currently looking for a noteapp for everything (work, private stuff and learning hebrew). Inkdrop works great on my iPhone, private Mac will be tested today and on my work ThinkPad with Windows (even after our proxy). Far better than iCloud Notes which is pretty bad. But, by learning hebrew, I need a place to store all the learned words.
Many thanks in advance!
Ciao
Dennis
I’m afraid to say no.
Imagine you implement features specifically for Japanese/Chinese, which is not your primary focus.
You like my app because it works flawlessly.
You will not be happy with using broken features.
Hi @craftzdog,
Are you open to the idea of letting another developer enter your codebase and adjust it to i18n
and l10n
code sorcery?
I would love to take this challenge because of my believe in “just works” should be the baseline of products.
Hi @IdanG
Thanks for your kind suggestion.
Ideally, it would be possible to accept some contributions for supporting other locales.
However, in reality, you will not always be available to fix bugs in future versions.
Also, you will ask a lot of questions when working on it since the codebase is very complicated. I make so many changes in the codebase that could break
the RTL support.
In conclusion, I just don’t see it as feasible for such a small business, unfortunately.
Hi @craftzdog,
Well, we can always break-down “big unknowns” into “small achievables”, for example:
- Add
i18n
linter to scan the codebase for texts locations. - Implement
i18n
library and variables usage instead of texts in couple of iterations. You can view it as adding another coding practice or structure as you have done with plugins architecture. - Get help translating Inkdrop from the community via Weblate or another solution, same as you have done with Discourse for forums.
- As for the RTL support it can be divided into 2:
- Detection of RTL text inside the editor/view and applying CSS rules, if you are using a 3rd-party text-editor this option 99% already supported by the editor itself.
- Fully supported RTL UI — this is defiantly an overkill not worth exploring.
I understand the assumption for RTL being a small market, this might be true if we dismiss the Arabic world of developers, power users, note takers, etc…
Also, RTLCSS is a library worth mentioning while discussing RTL-LTR CSS support, basically it’s a parser that takes a style.css
file and generates style-rtl.css
file that compliments the original file.
From a business expansion point of view, UI i18n
support for only left to right languages for starters as another channel of natural growth, like you have done with plugins and themes.
Yet, I can’t argue with developer’s logic for not wanting to refactor his codebase or add more people to make his code structured and clean.
Thanks for the explanation.
CodeMirror supports RTL out of the box, and I’m currently working on migrating it from v5 to v6, along with the roadmap.
I guess you are also talking about multi-lingual support, but I’m not planning to add other languages, even Japanese (my native language).
My target users are those who are comfortable with using English dev tools.
Thanks for sharing the library.
If it’s possible, perhaps you can create a plugin for the RTL support, like adding direction: rtl;
to the html
element and applying custom CSS rules.
Thanks for sharing the roadmap and showing interest in a RTL plugin, it’s defiantly an easier route for everyone! I will take a look at creating one and get back to you with something to play with.