Насколько я знаю, определить язык фрагмента текста невозможно в обычном AppleScript, но это можно сделать с помощью AppleScriptObjC.
Хотя вы не были заинтересованы в этом откровении, тем не менее, я включаю фрагмент, который демонстрирует, что на самом деле довольно легко делать то, что вы хотите:
to guessLanguage for input
script
use framework "Foundation"
property this : a reference to current application
property NSLTag : a reference to NSLinguisticTagger of this
to guessLanguage()
(NSLTag's dominantLanguageForString:input) as text
end guessLanguage
end script
result's guessLanguage()
end guessLanguage
Вы должны поместить этот обработчик внизу вашего скрипта после end run
. Его можно вызвать из любого места в вашем скрипте, например:
on run {input, parameters}
set [input] to the input
guessLanguage for the input
set lang to text 1 thru 2 of result
open location "https://" & lang & ".wikipedia.org/wiki/" & input
end run
to guessLanguage for input
.
.
.
end guessLanguage
Вот несколько тестовых прогонов на разных лингвистических примерах, показывающих возвращенный результат рядом с каждым из них:
guessLanguage for "Hello, how are you?" --> "en"
guessLanguage for "Guten Tag, wie gehts?" --> "de"
guessLanguage for "Salut, ça va?" --> "fr"
guessLanguage for "你好!你好嗎?" --> "zh-Hant"
guessLanguage for "こんにちは、元気ですか?" --> "ja"