bi-directional text direction is wrong #3066

Closed
opened 2026-02-05 07:36:30 +03:00 by OVERLORD · 1 comment
Owner

Originally created by @codokie on GitHub (May 6, 2024).

The bug

Bi-directional text (a mix of a right-to-left (RTL) language, such as Hebrew or Arabic, and a left-to-right (LTR) language, such as English) is rendered incorrectly.

For example, the translation of the string "Only on WiFi" to Hebrew appears as "רק ב WiFi" instead of "Wi-Fi רק ב".

Strings with numbers also exhibit this behavior.
For example, "20 assets" appears in Hebrew as:
image
instead of:
image

In essence, LTR text direction is applied to RTL text.

The OS that Immich Server is running on

Arch

Version of Immich Server

v1.107.2

Version of Immich Mobile App

v1.107.2

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

Same as https://github.com/immich-app/immich/blob/main/docker/docker-compose.yml 

Your .env content

Same as example.env (except for the password)

Reproduction steps

1. open Immich app on iOS/Android/web
2. go to Settings -> Languages and set language to Hebrew
3. go to a screen with a string of bi-directional text.
One such string is the translation of the "Allow self-signed SSL certificates" text found in Settings -> Advanced (mobile).
4. the text direction is partially reversed. For example the aforementioned string is shown as  "התר תעודות SSL בחתימה עצמית" instead of "בחתימה עצמית SSL התר תעודות".

Additional information

A solution would be to set the direction of all text in the app to RTL whenever an RTL language like Hebrew or Arabic is selected, I think that should make the text render in the correct order.
While at it, maybe the direction of the layout could be adjusted as well? It usually does in other apps which fully support RTL languages.
See the following example (circled in the "current" layout is bi-directional text with wrong direction, circled in the "RTL layout" is text with corrected direction):
Untitled

Originally created by @codokie on GitHub (May 6, 2024). ### The bug Bi-directional text (a mix of a _right-to-left_ (RTL) language, such as Hebrew or Arabic, and a _left-to-right_ (LTR) language, such as English) is rendered incorrectly. For example, the translation of the string "Only on WiFi" to Hebrew appears as "**רק ב** WiFi" instead of "Wi-Fi **רק ב**". Strings with numbers also exhibit this behavior. For example, "20 assets" appears in Hebrew as: ![image](https://github.com/immich-app/immich/assets/151087174/69e2f150-00a1-4085-bb46-c9ec3cddd31d) instead of: ![image](https://github.com/immich-app/immich/assets/151087174/eb9b04a2-6a8c-4f71-95a5-f2e811d68897) In essence, LTR text direction is applied to RTL text. ### The OS that Immich Server is running on Arch ### Version of Immich Server v1.107.2 ### Version of Immich Mobile App v1.107.2 ### Platform with the issue - [ ] Server - [X] Web - [X] Mobile ### Your docker-compose.yml content ```YAML Same as https://github.com/immich-app/immich/blob/main/docker/docker-compose.yml ``` ### Your .env content ```Shell Same as example.env (except for the password) ``` ### Reproduction steps ```bash 1. open Immich app on iOS/Android/web 2. go to Settings -> Languages and set language to Hebrew 3. go to a screen with a string of bi-directional text. One such string is the translation of the "Allow self-signed SSL certificates" text found in Settings -> Advanced (mobile). 4. the text direction is partially reversed. For example the aforementioned string is shown as "התר תעודות SSL בחתימה עצמית" instead of "בחתימה עצמית SSL התר תעודות". ``` ### Additional information A solution would be to set the direction of all text in the app to RTL whenever an RTL language like Hebrew or Arabic is selected, I think that should make the text render in the correct order. While at it, maybe the direction of the layout could be adjusted as well? It usually does in other apps which fully support RTL languages. See the following example (circled in the "current" layout is bi-directional text with wrong direction, circled in the "RTL layout" is text with corrected direction): ![Untitled](https://github.com/immich-app/immich/assets/151087174/a699b0a5-d806-4000-869c-01a213c40db8)
Author
Owner

@jrasm91 commented on GitHub (Jun 19, 2025):

Fixed in #17860

@jrasm91 commented on GitHub (Jun 19, 2025): Fixed in #17860
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#3066