El siguiente código de AppleScript se puede usar en una acción Ejecutar AppleScript como un Servicio de Automatización, y se le puede asignar un método abreviado de teclado para actuar en una palabra seleccionada para abrirla en el Diccionario y registrarla, si aún no está en el archivo de registro.
on run {input, parameters}
try
considering diacriticals
if first character of (input as text) is not in "abcdefghijklmnopqrstuvwxyz" then
tell current application
activate
display dialog "The selected text starts with a non-valid character." & return & return & ¬
"Make a different selection and try again." buttons {"OK"} default button 1 ¬
with title "Dictionary Look Up Logging Service"
end tell
return
end if
end considering
open location "dict://" & input
set theDictionaryHistoryFilename to "Dictionary Look Up Service History Log File.txt"
set theTargetFilename to quoted form of (POSIX path of (path to documents folder as string) & theDictionaryHistoryFilename)
set foundSelectedWord to (do shell script "grep '^" & input & "$' " & theTargetFilename & " > /dev/null; echo $?") as integer
if foundSelectedWord is greater than 0 then
do shell script "echo \"" & input & "\" >> " & theTargetFilename
end if
end try
end run
Tenga en cuenta que si el archivo de registro está abierto cuando se ejecuta el servicio, es posible que la palabra agregada no aparezca hasta que cierre y vuelva a abrir el archivo de registro, dependiendo de la aplicación en la que tenga abierto el archivo de registro.