Anzeigesprachen von Mac-Apps: Einfach wechseln!

Das Bild zeigt einen stilisierten Macintosh als Schmuckbild

Ich nut­ze auf mei­nen Mac die deut­sche Version des MacOS, aber manch­mal benö­ti­ge ich doch mal einen Screenshot in eng­li­scher Sprache. Dies ist beson­ders bei Programmen wie dem Kurzbefehle-Programm rele­vant, bei denen nicht nur die Menüs, son­dern auch der Inhalt, also die Benennung der Aktionen, von der Anzeigesprache der App abhän­gen.

Bisher kann­te ich nur die Lösung, das gesam­te MacOS auf die gewünsch­te Sprache umzu­stel­len. Es gibt jedoch mitt­ler­wei­le – und das nicht erst seit MacOS Sonoma – die Möglichkeit, dies für ein­zel­ne Programme unab­hän­gig von der Sprache des MacOS zu tun, sofern die Programme die ent­spre­chen­den Ressourcen imple­men­tiert haben. Dazu muss man in den Systemeinstellungen unter Allgemein → Sprache und Region in der unte­ren Box Apps das jewei­li­ge Programm mit einem Klick auf die +-Taste hin­zu­fü­gen. Danach kann über ein Dropdown-Menü die gewünsch­te Sprache ein­ge­stellt wer­den. Im Menü wer­den nur die Sprachen ange­zeigt, die das Programm unter­stützt. Falls kei­ne wei­te­re Sprache unter­stützt wird, wird man dar­auf hin­ge­wie­sen. Allerdings gibt es Programme, die hier auf­tau­chen, obwohl die Sprachressourcen nicht voll­stän­dig imple­men­tiert sind. Obsidian ist dafür ein schlech­tes Beispiel.

Das ist aller­dings eine umständ­li­che Prozedur, für die ich ger­ne in einen Kurzbefehl erstel­len wür­de, der dies mit nur einem Aufruf erle­digt. Da die Systemeinstellungen sich nicht in skrip­ten las­sen, muss­ten ande­re Wege gesucht wer­den. Google lie­fer­te eini­ge Vorschläge, die aber nicht (mehr?) funk­tio­nier­ten, wie z.B. die Verwendung des dafault-Befehls. Eine inter­es­san­te Lösung fand ich als Alfred.app Workflow, in dem das Umschalten mit einem Swift-Skript umge­setzt wur­de. Der Workflow funk­tio­nier­te zwar, aber er lief auch immer auf einen Fehler samt Fehler-Feedbackbox an Apple.

In dem Artikel „Run appli­ca­ti­ons in spe­ci­fic lan­guages on Mac – Software RT” fand ich dann die Lösung, der lei­der nicht mehr online ist. Im Terminal gibt man ein­fach fol­gen­den Befehl ein, wobei das Prgrammm zuvor nicht lau­fen darf:

open -a Shortcuts --args -AppleLanguages '(en)'

Dieser Befehl öff­net das Kurzbefehle-Programm mit dem eng­li­schen UI, wobei auch die Aktionen in eng­li­scher Sprache ange­zeigt wer­den. Die ande­re im Artikel vor­ge­schla­ge­ne Befehlszeile

open -a /System/Applications/Shortcuts.app --args -AppleLanguages '(en)'

funk­tio­niert mit den Apple eige­nen Programmen, die im Ordner /System/Applicationsabge­legt sind, nicht. Dass dies im Beispiel des Artikels mit dem Programm Safari funk­tio­niert, liegt wohl dar­an, dass Safari als ein­zi­ges Apple-Programm noch im Ordner /Applications abge­legt ist.

Die Programme müs­sen mit Ihrem eng­li­schen Namen auf­ge­ru­fen wer­den, also „Shortcuts“ statt „Kurzbefehle“ oder „Clock“ statt „Uhr“.

Ein ange­neh­mer Nebeneffekt die­ser Methode ist, dass das Umstellen der Programmsprache nur tem­po­rär ist. Nach dem Beenden und Neustarten der App star­tet sie wie­der in der im MacOS ein­ge­stell­ten Sprache.

Programme kön­nen natür­lich auch in ande­ren, unter­stütz­ten Sprachen gestar­tet wer­den. Dazu muss das Kürzel '(en)' durch ent­spre­chen­de Kürzel, z. B. '(fr)' für Französisch oder '(dk)' für Dänisch, ersetzt wer­den.

Bei den Apple Programmen kann man davon aus­ge­hen, dass sie alle not­wen­di­gen Sprachen unter­stüt­zen. Bei ande­ren Apps kann man den Aufruf aus­pro­bie­ren oder in der ent­spre­chen­den Systemeinstellung nach­se­hen, wel­che Sprachen unter­stützt wer­den. Man kann auch in die Programmdaten mit dem Kontextmenübefehl Paketinhalt zei­gen im Ordner /Contents/Resources nach den .lproj-Ordnern suchen. Im Ordner de.lproj lie­gen bei­spiels­wei­se die deut­schen Sprachressourcen, ent­spre­chend in fr.lproj die fran­zö­si­schen.

Für ter­mi­nal­af­fi­ne Nutzer geht es ein­fa­cher mit dem Befehl (am Beispiel Cyberduck

ls -d /Applications/Cyberduck.app/Contents/Resources/*lproj

Wenn die gewünsch­te Sprache unter­stützt wird, kön­nen die bei­den Befehlszeilenvarianten für die­se Programme ver­wen­det wer­den, um die Anzeigesprache vor­über­ge­hend umzu­schal­ten:

open -a Cyberduck --args -AppleLanguages '(en)'
open -a /Applications/Cyberduck.app --args -AppleLanguages '(en)'

Achtung: Es ist unbe­dingt dar­auf zu ach­ten, dass vor dem Sprachenkürzel nur ein Leerzeichen steht, sonst star­tet die Anwendung nicht in der ande­ren Sprache!

Falls es mal nicht klap­pen soll­te gibt es noch einen ande­ren Weg, den man aus­pro­bie­ren kann:

/Applications/Cyberduck.app/Contents/MacOS/Cyberduck -AppleLanguages '(en)'

Das Programm läuft dann aller­dings als ein Terminalprozess solan­ge bis es nor­mal oder mit im Terminal mit Ctrl‑C been­det wird, daher darf das Terminal nicht geschloss­nen wer­den.

Der Shortcuts Kurzbefehl

Mein Kurzbefehl um das Programm Kurzbefehle auf eng­lisch umzu­stel­len sieht so aus:

Screenshot des Kurzbefehls

In dem Kurzbefehl wird zunächst das Programm zunächst been­det. Danach die Aktion Shell Skript aus­füh­ren mit der oben erar­bei­te­ten Befehlszeile augeführt. That’s it. Beim dem ers­ten Testlauf wird noch abge­fragt, ob der Kurzbefehl ein Shell-Skript aus­füh­ren darf, was natür­lich zu erlau­ben ist. Für die Änderung der Sprache des Kurzbefehle-Programmes funk­tio­niert der Kurzbefehl aller­dings nur, wenn er nicht in direkt aus dem Kurzbefehle-Programm her­aus gestar­tet wird, also wenn er über die Menüleiste oder das defi­nier­ten Tastenkürzel aus­ge­führt wird. Bei ande­ren Programmen kann der Kurzbefehl auch direkt im Kurzbefehle-Programm gestar­tet wer­den.

Wie immer sind Kritik, Kommentare und Anregungen in den Kommentaren will­kom­men.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert