musescore / musescore/MuseScore

macOS: "Enter full screen" item does not appear if MuseScore language ≠ macOS language

Open
#12,682 0 comments 0 reactions 2 assignees View on GitHub

@Eism is already working on this.

Since Jul 28, 2023.

os: macOS P2 UI
Dominant language
C++
Stars
15.1k
Forks
3.3k
Avg merge
2d 2h
Merged PRs (30d)
91

Description

Describe the bug
If the title of the "View" menu in MuseScore does not match the translation of title of the "View" in the OS language, macOS is unable to identify the View menu and thus doesn't create an "Enter full screen" menu item.

To Reproduce
Steps to reproduce the behavior:

  1. In MuseScore, choose a language where the title of the View menu matches macOS's translation of "View" in the current system language. Restart MuseScore.
  2. Note that the View menu contains an "Enter full screen" item.
  3. Choose a language where the title of the View menu does not match macOS's view menu title. Restart MuseScore.
  4. Note that the View menu does not contain an "Enter full screen" item.

Possible solutions

  • Only support following the system language on macOS, which is what Apple wants all macOS apps to do (not guaranteed to solve it, because "our" translators might use a different title than Apple's; guaranteed to cause angry people)
  • Use some trick to make macOS still identify the View menu correctly (but how?)
  • Disable automatic creation of the "Enter full screen" item entirely, and always use our own item (probably most reliable, and simple; but Apple's own "Enter full screen" item is nicer because its title reflects the current state instead of having a static title with a checkmark, and it brings the correct keyboard shortcut with it, namely globe key + F on newer Macs, which we cannot recreate ourselves)
  • Somehow detect whether macOS will identify the View menu correctly; if it does, let it go ahead and create its own "Enter full screen" item; if it doesn't, create our own less nice item (but how? Probably won't be reliable anyway)

General conclusion
As you see: for logic, never rely on translatable strings, otherwise you get bugs like this.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.