script changement de langue et de clavier

Arcadia

Membre confirmé
8 Juin 2022
15
1
39
Bonjour, je souhaite créer un script qui me permettrait avec un simple click de changer la langue du systeme de mon mac ainsi que le clavier associer.
Je n'aurait besoins que de 3 langues: francais, allemand et espagnole.
J'ai beaucoup chercher mais la seule chose que j'ai trouvé c'est ce script qui ne donne que la langue actuelle du systeme.

# Example call.

set activeKbdLayout to my getActiveKeyboardLayout() # ->, e.g., "U.S."



on getActiveKeyboardLayout()



# Surprisingly, using POSIX-style paths (even with '~') works with

# the property list file type.

set plistPath to "~/Library/Preferences/com.apple.HIToolbox.plist"



# !! First, ensure that the plist cache is flushed and that the

# !! *.plist file contains the current value; simply executing

# !! default read against the file - even with a dummy

# !! key - does that.

try

do shell script "defaults read " & plistPath & " dummy"

end try



tell application "System Events"



repeat with pli in property list items of ¬

property list item "AppleSelectedInputSources" of ¬

property list file plistPath

# Look for (first) entry with key "KeyboardLayout Name" and return

# its value.

# Note: Not all entries may have a 'KeyboardLayout Name' key,

# so we must ignore errors.

try

return value of property list item "KeyboardLayout Name" of pli

end try

end repeat



end tell

end
getActiveKeyboardLayout
 
Bonsoir,

Il me paraît plus simple de créer 3 sessions , chacune avec sa langue et son clavier.
Afficher le menu de permutation, dans la barre menu.
Changer de langue en changeant de session !
 
Dans les préférences système > Langues et régions : onglet Apps, on peut ajouter des applications que l'on veut faire tourner dans une langue particulière (autre que la langue du système).
Ça, combiné à la possibilité de cocher dans les préférences Clavier > Méthodes de saisie : "Basculer automatiquement vers la méthode de saisie du document", pourrait aussi aider dans certains cas.