iina / iina

The modern video player for macOS.

Home Page:https://iina.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Incorrect directionality in RTL OSD

ShlomoCode opened this issue · comments

System and IINA version:

macOS 14.4.1
IINA 1.3.4 + PR #4922

Expected behavior:
The audio progress indicator in the OSD should always be from left to right (see #4878 (comment)).
The OSD itself should be on the left side of the screen in RTL mode.

Actual behavior:

  • The OSD (on screen display) has a playback progress slider while changing the position, and it should be like the slider in the OSC (from left to right, like a tape).
  • The numbers in the OSD are also not in the right direction, meaning it should be
    {current_time} / {remaining_time} (as in the OSC slider)
    and not {remaining_time} / {current_time}
  • In addition, the OSD should be on the left side of the window and not on the right side

Screenshort:

Video
CleanShot.2024-04-19.at.01.46.36.mp4

Steps to reproduce:

  • Open the IINA project in Xcode
  • Under the Product menu open the Scheme menu and select Edit Scheme…
  • Click on the Options tab
  • Scroll down to the App Language setting
  • In the pull down select Right-to-Left Pseudolanguage near the end of the list
  • Start IINA running under Xcode
  • Start playing a video
  • Change playback position (for example by tapping on a position in the progress slider)

Or you can build with PR #4922 and set your language to Hebrew.

[x] MPV does not have this problem.

mpv does not support localization.

Originally posted by @ShlomoCode in #4878 (comment)

This is the part I don't understand:

In addition, the OSD should be on the left side of the window and not on the right side

Why would the OSD not flip location like other components?

The OSD is "interesting" since it needs to not flip when showing playback progress, but needs to flip when showing other information such as volume, yes?

Why would the OSD not flip location like other components?

Mmm... I forgot that in the LTR version it's already on the left side of the screen, I'm used to notifications (toasts) appearing at the "end" of the screen, that is, in English it's usually on the right side. It's like that in macos notifications, in English it's on the right and in Hebrew it's on the left.
But iina is the opposite of normal in English... you know why?

The OSD is "interesting" since it needs to not flip when showing playback progress, but needs to flip when showing other information such as volume, yes?

Yes

Caught me working on this. There are a number of OSD messages that need to be corrected. Juggling multiple tasks. I may not finish this one today.

On this:

But iina is the opposite of normal in English... you know why?

I'm a newbie (relative to others) junior IINA developer. I wasn't around when IINA was initially developed and still don't have any knowledge about such design decisions. My guess is that IINA matched mpv whose OSD is also on the left side. As you can disable IINA's OSD and switch to the mpv OSD it makes sense that they are both in the same part of the window. I believe the attraction of the mpv OSD is that it can be customized.

Proposed fix posted in PR #4886.

i pulled the pr, build and checked the abLoop, pause, resume, volume and progress messages
Looks good!

Great! Next up is the remaining problems in issue #4776.

In IINA's instance of Crowdin Hebrew is 99% translated. There are still a few missing translations. Are you able to bring it to 100%?

@low-batt There were 5 strings left that I couldn't understand the context/meaning of. If you comment on them it will help!

p.s. still the location of the OSD toast on the right side of the screen seems illogical to me

As I don't normally work on localization I don't have a Crowdin account yet. I'm trying to create one now. Having some trouble. I will help with the translations once I gain access.

For something like the OSD location it is best to comment on the PR so when I get a senior developer to review the proposed changes they may be able to comment on why things are the way they are, or suggest a change.

I am now on Crowdin. I answered the questions I found. Crowdin wouldn't let me use my normal email, so I will be very slow to notice messages posted there.

Thank you, now Hebrew is 100% complete