Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


apple-mac-os:macos-high-sierra:how-to-create-service-of-fast-transliteration-based-on-perl-script-in-macos-high-sierra

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
Последняя версияСледующая версия справа и слева
apple-mac-os:macos-high-sierra:how-to-create-service-of-fast-transliteration-based-on-perl-script-in-macos-high-sierra [01.05.2018 17:49] – создано Алексей Максимовapple-mac-os:macos-high-sierra:how-to-create-service-of-fast-transliteration-based-on-perl-script-in-macos-high-sierra [20.01.2022 17:14] Виталий Якоб
Строка 58: Строка 58:
  
 {{ :apple-mac-os:macos-high-sierra:pasted:20180501-174855.png }} {{ :apple-mac-os:macos-high-sierra:pasted:20180501-174855.png }}
 +
 +**[UPDATE: 19.01.2022]**
 +
 +[[https://macscripter.net/viewtopic.php?id=48874|Адаптация]] задачи на AppleScript для выполнения в Команды.app или Automator.app, так же как и в предыдущем варианте через сочетание клавиш.
 +В случае использования Команды.app для работы необходимо разрешить выполнение скриптов в настройках, а так же разрешить использование "/System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd" в "Системные настройки -> Защита и безопасность -> Конфиденциальность -> Универсальный доступ". Система добавит этот файл в универсальный доступ автоматически, пользователю необходимо только разрешить использование.
 +
 +<code AppleScript>
 +set theString to the clipboard
 +set countwords to count words of theString
 +
 +if countwords is 3 then
 +
 + set toTranslit to theString
 +
 + set RULow1 to "а"
 + set RULow2 to "б"
 + set RULow3 to "в"
 + set RULow4 to "г"
 + set RULow5 to "д"
 + set RULow6 to "е"
 + set RULow7 to "ё"
 + set RULow8 to "ж"
 + set RULow9 to "з"
 + set RULow10 to "и"
 + set RULow11 to "й"
 + set RULow12 to "к"
 + set RULow13 to "л"
 + set RULow14 to "м"
 + set RULow15 to "н"
 + set RULow16 to "о"
 + set RULow17 to "п"
 + set RULow18 to "р"
 + set RULow19 to "с"
 + set RULow20 to "т"
 + set RULow21 to "у"
 + set RULow22 to "ф"
 + set RULow23 to "х"
 + set RULow24 to "ц"
 + set RULow25 to "ч"
 + set RULow26 to "ш"
 + set RULow27 to "щ"
 + set RULow28 to "ъ"
 + set RULow29 to "ы"
 + set RULow30 to "ь"
 + set RULow31 to "э"
 + set RULow32 to "ю"
 + set RULow33 to "я"
 + --
 + set RUCap1 to "А"
 + set RUCap2 to "Б"
 + set RUCap3 to "В"
 + set RUCap4 to "Г"
 + set RUCap5 to "Д"
 + set RUCap6 to "Е"
 + set RUCap7 to "Ё"
 + set RUCap8 to "Ж"
 + set RUCap9 to "З"
 + set RUCap10 to "И"
 + set RUCap11 to "Й"
 + set RUCap12 to "К"
 + set RUCap13 to "Л"
 + set RUCap14 to "М"
 + set RUCap15 to "Н"
 + set RUCap16 to "О"
 + set RUCap17 to "П"
 + set RUCap18 to "Р"
 + set RUCap19 to "С"
 + set RUCap20 to "Т"
 + set RUCap21 to "У"
 + set RUCap22 to "Ф"
 + set RUCap23 to "Х"
 + set RUCap24 to "Ц"
 + set RUCap25 to "Ч"
 + set RUCap26 to "Ш"
 + set RUCap27 to "Щ"
 + set RUCap28 to "Э"
 + set RUCap29 to "Ю"
 + set RUCap30 to "Я"
 + --
 + set ENLow1 to "a"
 + set ENLow2 to "b"
 + set ENLow3 to "v"
 + set ENLow4 to "g"
 + set ENLow5 to "d"
 + set ENLow6 to "e"
 + set ENLow7 to "ye"
 + set ENLow8 to "zh"
 + set ENLow9 to "z"
 + set ENLow10 to "i"
 + set ENLow11 to "y"
 + set ENLow12 to "k"
 + set ENLow13 to "l"
 + set ENLow14 to "m"
 + set ENLow15 to "n"
 + set ENLow16 to "o"
 + set ENLow17 to "p"
 + set ENLow18 to "r"
 + set ENLow19 to "s"
 + set ENLow20 to "t"
 + set ENLow21 to "u"
 + set ENLow22 to "f"
 + set ENLow23 to "kh"
 + set ENLow24 to "ts"
 + set ENLow25 to "ch"
 + set ENLow26 to "sh"
 + set ENLow27 to "sch"
 + set ENLow28 to ""
 + set ENLow29 to "y"
 + set ENLow30 to ""
 + set ENLow31 to "e"
 + set ENLow32 to "yu"
 + set ENLow33 to "ya"
 + --
 + set ENCap1 to "A"
 + set ENCap2 to "B"
 + set ENCap3 to "V"
 + set ENCap4 to "G"
 + set ENCap5 to "D"
 + set ENCap6 to "E"
 + set ENCap7 to "Ye"
 + set ENCap8 to "Zh"
 + set ENCap9 to "Z"
 + set ENCap10 to "I"
 + set ENCap11 to "Y"
 + set ENCap12 to "K"
 + set ENCap13 to "L"
 + set ENCap14 to "M"
 + set ENCap15 to "N"
 + set ENCap16 to "O"
 + set ENCap17 to "P"
 + set ENCap18 to "R"
 + set ENCap19 to "S"
 + set ENCap20 to "T"
 + set ENCap21 to "U"
 + set ENCap22 to "F"
 + set ENCap23 to "Kh"
 + set ENCap24 to "Ts"
 + set ENCap25 to "Ch"
 + set ENCap26 to "Sh"
 + set ENCap27 to "Sch"
 + set ENCap28 to "E"
 + set ENCap29 to "Yu"
 + set ENCap30 to "Ya"
 + --
 +
 + set sourceList to {RULow1, RULow2, RULow3, RULow4, RULow5, RULow6, ¬
 + RULow7, RULow8, RULow9, RULow10, RULow11, RULow12, RULow13, ¬
 + RULow14, RULow15, RULow16, RULow17, RULow18, RULow19, ¬
 + RULow20, RULow21, RULow22, RULow23, RULow24, RULow25, ¬
 + RULow26, RULow27, RULow28, RULow29, RULow30, RULow31, ¬
 + RULow32, RULow33, RUCap1, RUCap2, RUCap3, RUCap4, RUCap5, ¬
 + RUCap6, RUCap7, RUCap8, RUCap9, RUCap10, RUCap11, RUCap12, ¬
 + RUCap13, RUCap14, RUCap15, RUCap16, RUCap17, RUCap18, ¬
 + RUCap19, RUCap20, RUCap21, RUCap22, RUCap23, RUCap24, ¬
 + RUCap25, RUCap26, RUCap27, RUCap28, RUCap29, RUCap30}
 + set targetList to {ENLow1, ENLow2, ENLow3, ENLow4, ENLow5, ENLow6, ¬
 + ENLow7, ENLow8, ENLow9, ENLow10, ENLow11, ENLow12, ENLow13, ¬
 + ENLow14, ENLow15, ENLow16, ENLow17, ENLow18, ENLow19, ¬
 + ENLow20, ENLow21, ENLow22, ENLow23, ENLow24, ENLow25, ¬
 + ENLow26, ENLow27, ENLow28, ENLow29, ENLow30, ENLow31, ¬
 + ENLow32, ENLow33, ENCap1, ENCap2, ENCap3, ENCap4, ENCap5, ¬
 + ENCap6, ENCap7, ENCap8, ENCap9, ENCap10, ENCap11, ENCap12, ¬
 + ENCap13, ENCap14, ENCap15, ENCap16, ENCap17, ENCap18, ¬
 + ENCap19, ENCap20, ENCap21, ENCap22, ENCap23, ENCap24, ¬
 + ENCap25, ENCap26, ENCap27, ENCap28, ENCap29, ENCap30}
 +
 + set ASTID to AppleScript's text item delimiters
 + repeat with i from 1 to count of sourceList
 + considering case
 + set toTranslit to findReplace(item i of sourceList, ¬
 + item i of targetList, toTranslit)
 + end considering
 + end repeat
 + set AppleScript's text item delimiters to ASTID
 +
 + set results to toTranslit's word 2 & "." & toTranslit's word 1
 + set the clipboard to results
 + tell application "System Events" to key code "9" using command down
 + delay 0.1
 + set the clipboard to theString
 +end if
 +
 +on findReplace(findText, replaceText, sourceText)
 + set AppleScript's text item delimiters to findText
 + set sourceText to text items of sourceText
 + set AppleScript's text item delimiters to replaceText
 + return sourceText as text
 +end findReplace
 +</code>
 +
  
 ---- ----
 Проверено на следующих конфигурациях: Проверено на следующих конфигурациях:
-^ Версия ОС  ^  +^ Версия ОС                                   
-|Apple macOS High Sierra (10.13.4)|+| Apple macOS High Sierra (10.13.4)           | 
 +| Apple macOS Mojave (10.14)                  | 
 +| Apple macOS Catalina (10.15)                | 
 +| Apple macOS Monterey (12.0.1, Apple/Intel)  |
  
 ---- ----
 {{:user:vyakob.png?50&nolink |}} Автор первичной редакции:\\ [[user:vyakob|Виталий Якоб]] \\ Время публикации: 01.05.2018 17:36 {{:user:vyakob.png?50&nolink |}} Автор первичной редакции:\\ [[user:vyakob|Виталий Якоб]] \\ Время публикации: 01.05.2018 17:36
-{{tag>Apple "Mac OS" macOS "High Sierra" "macOS High Sierra" Automator Service Transliteration Translit Perl Script Firefox}}+{{tag>Apple "Mac OS" macOS "High Sierra" "macOS High Sierra" Automator Service Transliteration Translit Perl Script AppleScript Firefox}}
 ~~DISCUSSION~~ ~~DISCUSSION~~
apple-mac-os/macos-high-sierra/how-to-create-service-of-fast-transliteration-based-on-perl-script-in-macos-high-sierra.txt · Последнее изменение: 07.07.2023 09:58 — Виталий Якоб

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki