Ich nutze auf meinen Mac die deutsche Version des MacOS, aber manchmal benötige ich doch mal einen Screenshot in englischer Sprache. Dies ist besonders bei Programmen wie dem Kurzbefehle-Programm relevant, bei denen nicht nur die Menüs, sondern auch der Inhalt, also die Benennung der Aktionen, von der Anzeigesprache der App abhängen.
Bisher kannte ich nur die Lösung, das gesamte MacOS auf die gewünschte Sprache umzustellen. Es gibt jedoch mittlerweile – und das nicht erst seit MacOS Sonoma – die Möglichkeit, dies für einzelne Programme unabhängig von der Sprache des MacOS zu tun, sofern die Programme die entsprechenden Ressourcen implementiert haben. Dazu muss man in den Systemeinstellungen unter Allgemein → Sprache und Region in der unteren Box Apps das jeweilige Programm mit einem Klick auf die +-Taste hinzufügen. Danach kann über ein Dropdown-Menü die gewünschte Sprache eingestellt werden. Im Menü werden nur die Sprachen angezeigt, die das Programm unterstützt. Falls keine weitere Sprache unterstützt wird, wird man darauf hingewiesen. Allerdings gibt es Programme, die hier auftauchen, obwohl die Sprachressourcen nicht vollständig implementiert sind. Obsidian ist dafür ein schlechtes Beispiel.
Das ist allerdings eine umständliche Prozedur, für die ich gerne in einen Kurzbefehl erstellen würde, der dies mit nur einem Aufruf erledigt. Da die Systemeinstellungen sich nicht in skripten lassen, mussten andere Wege gesucht werden. Google lieferte einige Vorschläge, die aber nicht (mehr?) funktionierten, wie z.B. die Verwendung des dafault
-Befehls. Eine interessante Lösung fand ich als Alfred.app Workflow, in dem das Umschalten mit einem Swift-Skript umgesetzt wurde. Der Workflow funktionierte zwar, aber er lief auch immer auf einen Fehler samt Fehler-Feedbackbox an Apple.
In dem Artikel „Run applications in specific languages on Mac – Software RT” fand ich dann die Lösung, der leider nicht mehr online ist. Im Terminal gibt man einfach folgenden Befehl ein, wobei das Prgrammm zuvor nicht laufen darf:
open -a Shortcuts --args -AppleLanguages '(en)'
Dieser Befehl öffnet das Kurzbefehle-Programm mit dem englischen UI, wobei auch die Aktionen in englischer Sprache angezeigt werden. Die andere im Artikel vorgeschlagene Befehlszeile
open -a /System/Applications/Shortcuts.app --args -AppleLanguages '(en)'
funktioniert mit den Apple eigenen Programmen, die im Ordner /System/Applications
abgelegt sind, nicht. Dass dies im Beispiel des Artikels mit dem Programm Safari funktioniert, liegt wohl daran, dass Safari als einziges Apple-Programm noch im Ordner /Applications
abgelegt ist.
Die Programme müssen mit Ihrem englischen Namen aufgerufen werden, also „Shortcuts“ statt „Kurzbefehle“ oder „Clock“ statt „Uhr“.
Ein angenehmer Nebeneffekt dieser Methode ist, dass das Umstellen der Programmsprache nur temporär ist. Nach dem Beenden und Neustarten der App startet sie wieder in der im MacOS eingestellten Sprache.
Programme können natürlich auch in anderen, unterstützten Sprachen gestartet werden. Dazu muss das Kürzel '(en)'
durch entsprechende Kürzel, z. B. '(fr)'
für Französisch oder '(dk)'
für Dänisch, ersetzt werden.
Bei den Apple Programmen kann man davon ausgehen, dass sie alle notwendigen Sprachen unterstützen. Bei anderen Apps kann man den Aufruf ausprobieren oder in der entsprechenden Systemeinstellung nachsehen, welche Sprachen unterstützt werden. Man kann auch in die Programmdaten mit dem Kontextmenübefehl Paketinhalt zeigen im Ordner /Contents/Resources
nach den .lproj
-Ordnern suchen. Im Ordner de.lproj
liegen beispielsweise die deutschen Sprachressourcen, entsprechend in fr.lproj
die französischen.
Für terminalaffine Nutzer geht es einfacher mit dem Befehl (am Beispiel Cyberduck
ls -d /Applications/Cyberduck.app/Contents/Resources/*lproj
Wenn die gewünschte Sprache unterstützt wird, können die beiden Befehlszeilenvarianten für diese Programme verwendet werden, um die Anzeigesprache vorübergehend umzuschalten:
open -a Cyberduck --args -AppleLanguages '(en)'
open -a /Applications/Cyberduck.app --args -AppleLanguages '(en)'
Achtung: Es ist unbedingt darauf zu achten, dass vor dem Sprachenkürzel nur ein Leerzeichen steht, sonst startet die Anwendung nicht in der anderen Sprache!
Falls es mal nicht klappen sollte gibt es noch einen anderen Weg, den man ausprobieren kann:
/Applications/Cyberduck.app/Contents/MacOS/Cyberduck -AppleLanguages '(en)'
Das Programm läuft dann allerdings als ein Terminalprozess solange bis es normal oder mit im Terminal mit Ctrl‑C beendet wird, daher darf das Terminal nicht geschlossnen werden.
Der Shortcuts Kurzbefehl
Mein Kurzbefehl um das Programm Kurzbefehle auf englisch umzustellen sieht so aus:
In dem Kurzbefehl wird zunächst das Programm zunächst beendet. Danach die Aktion Shell Skript ausführen mit der oben erarbeiteten Befehlszeile augeführt. That’s it. Beim dem ersten Testlauf wird noch abgefragt, ob der Kurzbefehl ein Shell-Skript ausführen darf, was natürlich zu erlauben ist. Für die Änderung der Sprache des Kurzbefehle-Programmes funktioniert der Kurzbefehl allerdings nur, wenn er nicht in direkt aus dem Kurzbefehle-Programm heraus gestartet wird, also wenn er über die Menüleiste oder das definierten Tastenkürzel ausgeführt wird. Bei anderen Programmen kann der Kurzbefehl auch direkt im Kurzbefehle-Programm gestartet werden.
Wie immer sind Kritik, Kommentare und Anregungen in den Kommentaren willkommen.
Schreibe einen Kommentar