How do you use English letters as the first letter in an RTL language?

Some strings such as ‘%s is selected’ start with a %s but if I try putting them in the beginning of a string of an RTL it ends up at the end, like ‘%s کا انتخاب کیا گیا ہے’ (remember that the %s is supposed to be the right-most thing as opposed to the left-most thing in an RTL language). How do you make sure it ends up in the correct place?

Good question, since we don’t know exactly where this text is going to be rendered (In some cases it’s pretty clear and after several years there’s a re-implementation, and libraries are changing and then it’s suddenly pretty vague), but the rule of thumb is that if you add RLM in the beginning it should appear as RTL regardless of how the parameter is handled.
There are cases where the library is automatically setting RTL for all labels given that the selected language is RTL itself but there might be glitches and so the RLM solution is pretty solid usually.

Good luck!

Yep, that worked. Apparently gTranslator would treat the string as RTL if the first character was of an RTL language, and as LTR if the first character was of an LTR language. The RLM did fix the issue, so thanks a lot!

You don’t need to add marks unless the base direction of the box in the program you’re translating is left-to-right, or the substituted text will start with a strongly type left-to-right character like Latin characters. This is just an issue with GTranslator not either being run in LTR mode or a bug in the text box direction.

I generally don’t use direction marks unless necessary.