¿Cómo cambiar el idioma de ortografía en OS X con AppleScript?

2

A menudo necesito cambiar el idioma de ortografía en OS X del inglés al turco y viceversa, ¿cómo puedo hacerlo con un AppleScript?

Nota: He leído esta pregunta ya, pero ahí, la respuesta sugiere usar Automatic by Language, que no funciona correctamente, así que necesito hacer estos cambios específicos.

Estoy usando una MacBook Air de mediados de 2015 con OS X El Capitan 10.11.6.

    
pregunta onurcanbektas 04.10.2017 - 12:27

1 respuesta

3

El AppleScript código , a continuación, emplea UI Scripting y como un menú emergente está involucrado, Las Preferencias del sistema se harán visibles ( activate ) durante el proceso. Si no se hubiera involucrado un menú emergente , esto podría haberse hecho sin hacerlo visible.

Dicho esto, técnicamente todavía se puede hacer sin hacer visible la ventana principal, pero luego todo lo que verá es el menú emergente parpadear por un momento en la pantalla. Como esto podría ser más una molestia, preguntarse qué acaba de aparecer en la pantalla, mostrar la ventana Preferencias del sistema completa es probablemente una molestia menor. Puedes ver la diferencia y probarla comentando activate , p. Ej. -- activate , y elige el que prefieras.

El AppleScript código hace lo siguiente:

  • Abre Preferencias del sistema en: Teclado > Texto
  • Cambió el idioma en Ortografía: menú emergente según lo siguiente:
    • Si se establece en Automático por idioma , cambia a EE. UU. Inglés .
    • Si se establece en U.S. Inglés , lo cambia a Türkçe .
    • Si se establece en Türkçe , cambia a EE. UU. Inglés .
  • Cierra Preferencias del sistema .

Esencialmente, una vez que no se configura en Automático por idioma , alterna entre EE. UU. Inglés y Türkçe . cada vez que se ejecuta.

Puede guardar esto como una aplicación AppleScript , colocarlo en el Dock , 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á agregarse a Preferencias del sistema > Seguridad & Privacidad > Privacidad > Accesibilidad , agregando la aplicación a la Permitir que las aplicaciones a continuación controlen su computadora .

Esto también podría convertirse en un Automator servicio , donde se podría asignar un método abreviado de teclado . (Vea las instrucciones al final de esta respuesta).

Nota: El siguiente AppleScript Código se probó en OS X El Capitan 10.11.6 y puede ser necesario para volver a trabajar para su uso con otras versiones de OS X / macOS .

AppleScript Código :

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 UI Scripting a veces puede depender de la sincronización de las cosas, el valor del comando delay es posible que deba ajustarse y / o comandos delay deben agregarse como / si es necesario cuando se ejecutan en su sistema. Realice los cambios según corresponda.

Además, si desea que sea simplemente alternar entre los dos idiomas, ya que 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 utilizar este AppleScript código como Automator Service , haga lo siguiente:

  • En Automator , selecciona: Archivo > Nuevo > Servicio
  • Establecer: El servicio no recibe ninguna entrada en cualquier aplicación
  • Agregue un Ejecutar AppleScript Acción .
    • Eliminar las líneas que contienen (* Your script goes here *) y return input .
    • Pegue el AppleScript código dentro del controlador on run .
  • Guarde el Servicio de automatización y asígnele un nombre adecuado, por ejemplo: Alternar idioma de ortografía

En Preferencias del sistema > Teclado > Accesos directos > Servicios > (Nombre que dio el servicio) , puede agregar el método abreviado de teclado a activar este servicio.

    
respondido por el user3439894 04.10.2017 - 15:10

Lea otras preguntas en las etiquetas