Influence of different localisation settings on Audio/Subtitle track selector #6123

Open
opened 2025-12-22 03:38:41 +01:00 by backuprepo · 1 comment
Owner

Originally created by @jmercz on GitHub (Jul 15, 2024).

Please describe your bug

This issue is based on the closing recommendation of issue #12272 to split the described problems into separate issues, namely recommendation 2 and 3. I decided to combine these two recommendations into one issue, as I lack the knowledge of the backend and cannot reasonably decompose the problems further, but can only describe my observations. Feel free to have a look into said issue, as it might give a better complete picture of the problems in the track selector.

This issue focuses on the influence of different localisation settings that can be made on the user side and the server side. The main issue is, that as a user I would expect the audio and subtitle track selection to be localised based on the user localisation setting. The resulting strings in the selector are however mainly influenced by several server settings, that may be inaccessible to said user.

Reproduction Steps

The following example uses German as the language for localisation. However this should be reproducable with any other language.

Starting from an all English setup with the following GUI options:

  • Administration > Dashboard > General > Preferred display language: English (United Kingdom)
  • User > Settings > Display > Display language: English (United Kingdom)

and the following environment variables set for the Docker container:

LC_ALL=en_UK.UTF-8
LANG=en_UK.UTF-8
LANGUAGE=en

the track selector looks like:
1_server-en_gui-en_environment-en
Now we will gradually change to a German localisation by changing several settings and see the outcome.

User setting: Display language

Changing the user display language under User > Settings > Display > Display language to German yields
2_server-en_gui-de_environment-en
Only the labels for the categories are localised ("Subtitle" -> "Untertitel"). However, the string of the selector itself remains untouched.

Server setting: Preferred display language

Changing the preferred server display language under Administration > Dashboard > General > Preferred display language to German yields
3_server-de_gui-de_environment-en
localising only the default flag of the string in the track selector ("Default" -> "Standard"). (Though only for the subtitle track, refer to issue #12276).

Server environment: Environment variables

Only when we change the environment variables of the server itself - which I consider even a level above the server settings you can set in Jellyfin's GUI - to

LC_ALL=de_DE.UTF-8
LANG=de_DE.UTF-8
LANGUAGE=de:en

the strings in the selector are fully localised:
4_server-de_gui-de_environment-de
where the language flags are successfully localised ("German" -> "Deutsch").

Summary

As @felix920506 suggested in his closing recommendation of #12272, the selector should be made into a client string, instead of a server string for better localisation support. On that note, I would propose that the localisation of the track selection should be controlled by only one setting, namely the user display language, since it is a crucial item of GUI interaction with the user. Furthermore, it is the only setting a restricted user can set by itself, without any admin rights.

Jellyfin Version

10.9.0

if other:

No response

Environment

- OS: DSM 7.2.1-69057 Update 5
- Linux Kernel: unknown
- Virtualization: Docker
- Clients: universal
- Browser:
- FFmpeg Version:
- Playback Method:
- Hardware Acceleration:
- GPU Model:
- Plugins:
- Reverse Proxy:
- Base URL:
- Networking:
- Storage:

Jellyfin logs

No actions are taken, thus no log file should be of any use here.

FFmpeg logs

No response

Please attach any browser or client logs here

No response

Please attach any screenshots here

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
Originally created by @jmercz on GitHub (Jul 15, 2024). ### Please describe your bug This issue is based on the closing recommendation of issue #12272 to split the described problems into separate issues, namely recommendation 2 and 3. I decided to combine these two recommendations into one issue, as I lack the knowledge of the backend and cannot reasonably decompose the problems further, but can only describe my observations. Feel free to have a look into said issue, as it might give a better complete picture of the problems in the track selector. This issue focuses on the influence of different localisation settings that can be made on the user side and the server side. The main issue is, that as a user I would expect the audio and subtitle track selection to be localised based on the user localisation setting. The resulting strings in the selector are however mainly influenced by **several** server settings, that may be inaccessible to said user. ### Reproduction Steps The following example uses German as the language for localisation. However this should be reproducable with any other language. Starting from an all English setup with the following GUI options: - Administration > Dashboard > General > Preferred display language: English (United Kingdom) - User > Settings > Display > Display language: English (United Kingdom) and the following environment variables set for the Docker container: ``` LC_ALL=en_UK.UTF-8 LANG=en_UK.UTF-8 LANGUAGE=en ``` the track selector looks like: ![1_server-en_gui-en_environment-en](https://github.com/user-attachments/assets/32fb59f3-f9c5-4e8a-a56c-2d3a43711b75) Now we will gradually change to a German localisation by changing several settings and see the outcome. ### User setting: Display language Changing the user display language under _User > Settings > Display > Display language_ to German yields ![2_server-en_gui-de_environment-en](https://github.com/user-attachments/assets/0e3b5637-6ca5-41de-a2fd-e82f259e107f) Only the labels for the categories are localised ("Subtitle" -> "Untertitel"). However, the string of the selector itself remains untouched. ### Server setting: Preferred display language Changing the preferred server display language under _Administration > Dashboard > General > Preferred display language_ to German yields ![3_server-de_gui-de_environment-en](https://github.com/user-attachments/assets/855043ec-19b0-4adb-a075-4348d2ac47b9) localising only the _default_ flag of the string in the track selector ("Default" -> "Standard"). (Though only for the subtitle track, refer to issue #12276). ### Server environment: Environment variables Only when we change the environment variables of the server itself - which I consider even a level above the server settings you can set in Jellyfin's GUI - to ``` LC_ALL=de_DE.UTF-8 LANG=de_DE.UTF-8 LANGUAGE=de:en ``` the strings in the selector are fully localised: ![4_server-de_gui-de_environment-de](https://github.com/user-attachments/assets/66f8e156-907c-45c9-8ac6-ff8fb53ae156) where the language flags are successfully localised ("German" -> "Deutsch"). ### Summary As @felix920506 suggested in his closing recommendation of #12272, the selector should be made into a client string, instead of a server string for better localisation support. On that note, I would propose that the localisation of the track selection should be controlled by only **one** setting, namely the user display language, since it is a crucial item of GUI interaction with the user. Furthermore, it is the only setting a restricted user can set by itself, without any admin rights. ### Jellyfin Version 10.9.0 ### if other: _No response_ ### Environment ```markdown - OS: DSM 7.2.1-69057 Update 5 - Linux Kernel: unknown - Virtualization: Docker - Clients: universal - Browser: - FFmpeg Version: - Playback Method: - Hardware Acceleration: - GPU Model: - Plugins: - Reverse Proxy: - Base URL: - Networking: - Storage: ``` ### Jellyfin logs ```shell No actions are taken, thus no log file should be of any use here. ``` ### FFmpeg logs _No response_ ### Please attach any browser or client logs here _No response_ ### Please attach any screenshots here _No response_ ### Code of Conduct - [X] I agree to follow this project's Code of Conduct
backuprepo added the
enhancement
label 2025-12-22 03:38:41 +01:00
Author
Owner

@jellyfin-bot commented on GitHub (Jul 15, 2024):

Hi, it seems like your issue report has the following item(s) that need to be addressed:

  • The title of this issue report is empty. Please change it to something descriptive.
  • You have not filled in the environment completely.

This is an automated message, currently under testing. Please file an issue here if you encounter any problems.

@jellyfin-bot commented on GitHub (Jul 15, 2024): Hi, it seems like your issue report has the following item(s) that need to be addressed: - The title of this issue report is empty. Please change it to something descriptive. - You have not filled in the environment completely. This is an automated message, currently under testing. Please file an issue [here](https://github.com/jellyfin/jellyfin-triage-scripts/issues) if you encounter any problems.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: starred/jellyfin#6123
No description provided.