18 votes

Comment puis-je changer la langue de la dictée à la volée ?

L'anglais n'étant pas ma langue maternelle, j'ai généralement besoin de la prise en charge d'au moins deux langues lorsque j'utilise des fonctions telles que la correction automatique et la dictée.

Est-il possible de basculer la langue utilisée pour la dictée via un raccourci ?

Pour l'instant, je dois toujours naviguer manuellement dans les menus des Préférences Système, ce qui est loin d'être pratique. J'ai essayé de voir s'il y avait des actions prédéfinies dans Automator, mais je n'en ai trouvé aucune.

11voto

WGroleau Points 3272

Eh bien, lorsque je veux changer de langue, je clique simplement sur le nom de la langue actuelle dans le petit widget de dictée et j'obtiens un menu :
Language menu for MacOS Dictation

Clarification : le menu ne vous montrera que les langues que vous avez activées dans le panneau de préférences Dictée. Par défaut, il n'affiche donc que la langue principale de l'installation d'O.S.

6voto

Fuzzy Purple Monkey Points 702

Vous pouvez soit éditer les listes de propriétés qui stockent le paramètre et rouvrir le processus DictationIM :

#!/bin/bash

k="com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMLocaleIdentifier"
if [[ "$(defaults read $k)" == en-US ]]; then
  defaults write $k fr-FR
  defaults write com.apple.assistant "Session Language" fr-FR
else
  defaults write $k en-US 
  defaults write com.apple.assistant "Session Language" en-US
fi
killall -HUP DictationIM

Ou utilisez les scripts de l'interface utilisateur :

tell application "System Preferences"
    reveal anchor "Dictation" of pane "com.apple.preference.speech"
end tell
tell application "System Events" to tell process "System Preferences"
    tell pop up button 1 of tab group 1 of window 1
        click
        if value is "English (United States)" then
            click menu item "French" of menu 1
        else
            click menu item "English (United States)" of menu 1
        end if
    end tell
end tell
quit application "System Preferences"

Les deux scripts sont copiés de ma réponse à Comment utiliser applescript pour basculer le paramètre de langue du nouvel outil de dictée (10.8) - Stack Overflow .

0 votes

Il semble y avoir une erreur de syntaxe. "," ou "]" attendu.

1 votes

-eq ne fonctionne pas pour les chaînes de caractères IIRC.

0 votes

@DanielBeck Vous avez raison. J'ai édité le scripts et j'ai également supprimé l'élément activate de l'AppleScript.

1voto

pasawaya Points 2116

J'ai trouvé un filetage dans lequel se trouvait l'Applescript suivant :

tell application "System Events" to set p to (path to frontmost application) as string
tell application "System Preferences"
    activate
    reveal anchor "Dictation" of pane "com.apple.preference.speech"
end tell
tell application "System Events"
    tell process "System Preferences"
        tell pop up button 1 of tab group 1 of window "Dictation & Speech"
            click
            if (get value of attribute "AXValue") contains "English (United States)" then
                click menu item "German" of menu 1
                say "Dictation set to German"
            else if (get value of attribute "AXValue") contains "German" then
                click menu item "English (United States)" of menu 1
                say "Dictation set to English"
            end if
        end tell
    end tell
end tell
quit application "System Preferences"
activate application p

Je l'ai testé et ça marche. Il suffit de remplacer "Allemand" par la langue de votre choix.

En outre, puis-je suggérer une application appelée FastScripts qui vous permet d'exécuter l'applescript soit à partir de la barre de menu supérieure, soit à partir d'un raccourci clavier.

J'espère que cela a résolu votre problème !

0 votes

Pour être honnête, cette solution n'est pas très belle (je n'aime pas voir les préférences s'ouvrir et tout ça...), mais elle fonctionne donc je vais m'en contenter pour l'instant. Merci d'avoir partagé cette idée ! J'utilise déjà FastScripts, donc c'est parfait.

2 votes

Vous pouvez laisser de côté le activate il fonctionnera tout aussi bien et ne fera pas apparaître la fenêtre.

1voto

user37577 Points 31

Vérifiez ceci http://fouquet.me/apps/dictationswitcher/ est très bien. J'espère que cela aidera

1voto

ahyeah Points 11

Sous OSX El Capitan, j'ai eu des difficultés à faire fonctionner le script de l'utilisateur 495470 et de même avec le code de pasawaya. J'ai fini par modifier le code de pasawaya pour l'inclure :

repeat until exists tab group 1 of window "Dictation & Speech"
end repeat

Voici l'intégralité du script légèrement modifié qui fonctionne parfaitement pour moi :

tell application "System Events" to set currentWindow to (path to frontmost application) as string
tell application "System Preferences"
    reveal anchor "Dictation" of pane "com.apple.preference.speech"
end tell
tell application "System Events"
    tell process "System Preferences"
        repeat until exists tab group 1 of window "Dictation & Speech"
        end repeat
        tell pop up button 1 of tab group 1 of window "Dictation & Speech"
            click
            if (get value of attribute "AXValue") contains "English" then
                click menu item "Danish (Denmark)" of menu 1
                say "Dictation Danish"
            else if (get value of attribute "AXValue") contains "Danish" then
                click menu item "English (United Kingdom)" of menu 1
                say "Dictation English"
            end if
        end tell
    end tell
end tell
quit application "System Preferences"
activate application currentWindow

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X