A menudo necesito cambiar el idioma de ortografía en OS X de inglés a turco y viceversa, ¿cómo puedo hacerlo con un AppleScript?
Nota: ya he leído esta pregunta, pero allí, la respuesta sugiere usar Automático por idioma, que no funciona correctamente, por lo que necesito hacer estos cambios específicos.
Estoy usando una MacBook Air de mediados de 2015 con OS X El Capitan 10.11.6.
El código AppleScript , a continuación, emplea UI Scripting y debido a que se trata de un menú emergente , las preferencias del sistema se harán visibles ( ) durante el proceso. Si no hubiera estado involucrado un menú emergente , esto podría haberse hecho sin hacerlo visible.activate
Dicho esto, técnicamente todavía se puede hacer sin que la ventana principal sea visible, pero entonces todo lo que verá es el menú emergente parpadear por un momento en la pantalla. Como esto podría ser más molesto, preguntarse qué acaba de aparecer en la pantalla, mostrar toda la ventana de Preferencias del sistema probablemente sea menos molesto. Puedes ver la diferencia y probarlo comentando activate
, por ejemplo -- activate
, y elige cuál prefieres.
El código AppleScript hace lo siguiente:
Esencialmente, una vez que no está configurado en Automático por idioma , alterna entre inglés de EE. UU . y Türkçe . cada vez que se ejecuta.
Puede guardar esto como una aplicación AppleScript , colocarlo en el Dock y luego, cada vez que haga clic en él, alternará entre los dos idiomas. (Una vez que se establece por primera vez en uno de los idiomas).
Nota: guardó una aplicación AppleScript , deberá agregarla a Preferencias del sistema > Seguridad y privacidad > Privacidad > Accesibilidad , agregando la aplicación a la lista Permitir que las aplicaciones a continuación controlen su computadora .
Esto también podría convertirse en un servicio de Automator , donde se podría asignar un atajo de teclado . (Consulte las instrucciones al final de esta respuesta).
Nota: El siguiente código AppleScript se probó en OS X El Capitan 10.11.6 y es posible que deba modificarse para usarlo con otras versiones de OS X/macOS .
Código AppleScript :
tell application "System Preferences"
activate
reveal anchor "Text" of pane id "com.apple.preference.keyboard"
delay 0.5
tell application "System Events"
tell pop up button 3 of tab group 1 of window 1 of application process "System Preferences"
if (value) is "U.S. English" then
click
click menu item "Türkçe" of menu 1
else if (value) is "Türkçe" then
click
click menu item "U.S. English" of menu 1
else if (value) is "Automatic by Language" then
click
click menu item "U.S. English" of menu 1
end if
end tell
end tell
quit
end tell
Nota: Debido a que las secuencias de comandos de la interfaz de usuario a veces pueden depender de la sincronización de las cosas, es posible que se deba ajustar el valor del delay
comando o que se deban agregar delay
comandos adicionales si es necesario cuando se ejecuta en su sistema. Realice esos cambios según corresponda.
Además, si desea que siempre cambie entre los dos idiomas, ya que ya lo ha configurado en uno u otro en circunstancias normales, puede eliminar las siguientes líneas de código del if
bloque de instrucciones en el script :
else if (value) is "Automatic by Language" then
click
click menu item "U.S. English" of menu 1
Para usar este código AppleScript como un servicio de Automator , haga lo siguiente:
(* Your script goes here *)
y return input
.on run
En Preferencias del sistema > Teclado > Atajos > Servicios > (Nombre que le diste al servicio) , puedes agregar el atajo de teclado para activar este servicio.
usuario3439894