Вики IT-KB

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

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

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


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

Это старая версия документа!


Создание службы быстрой транслитерации, вызываемой через сочетание клавиш в macOS High Sierra

В одной из предыдущих статей нашего Блога представлялся Powershell-скрипт для создания псевдонимов почтовых ящиков из ФИО пользователя. Нечто подобное можно организовать на MAC с помощью Automator.app

При создании нового документа выберем тип «Служба»

Затем на рабочее пространство из библиотеки «утилиты» добавим шаг «Запустить shell-скрипт», настроим службу и шаг: Служба получает «текст» в приложении Firefox.app, установим галочку на «Заменить выбранный текст выходными данными». В настройках шага установим передачу входных данных как аргумента и изменим shell на perl.

Вставим скрипт:

#!/usr/bin/perl
use utf8;
use Encode;
 
for ( map { decode_utf8 join '.', reverse(( split' ', $_ )[0..1])  } @ARGV) {
	s/й/y/g;
	s/Й/Y/g;
    	s/ё/ye/g;
	s/Ё/Ye/g;
	y/абвгдезиклмнопрстуфыэ/abvgdeziklmnoprstufye/;
	y/АБВГДЕЗИКЛМНОПРСТУФЫЭ/ABVGDEZIKLMNOPRSTUFYE/;
    	s/ж/zh/g;
    	s/Ж/Zh/g;
    	s/х/kh/g;
   	s/Х/kh/g;
   	s/ц/ts/g;
    	s/Ц/Ts/g;
    	s/ч/ch/g;
    	s/Ч/Ch/g;
    	s/ш/sh/g;
    	s/Ш/Sh/g;
    	s/щ/sch/g;
    	s/Щ/Sch/g;
    	s/(ъ|ь)//g;
    	s/ю/yu/g;
    	s/Ю/Yu/g;
    	s/я/ya/g;
    	s/Я/Ya/g;
    	print $_
}

Сохраним службу под именем Translit. Для удобства в настройках клавиатуры «Сочетания клавиш» назначим удобное для нас сочетание, например Option+Command+T

Откроем консоль Exchange в Firefox, перейдём в мастер создания ящика и введём в строку «Псевдоним» ФИО пользователя

Выделим Command+A, и вызовем службу Option+Command+T


Проверено на следующих конфигурациях:

Версия ОС
Apple macOS High Sierra (10.13.4)
Apple macOS Mojave (10.14)

Автор первичной редакции:
Виталий Якоб
Время публикации: 01.05.2018 17:36

Обсуждение

АлексейАлексей, 21.12.2020 07:58
Шикарная функция. У меня тут возникла задача преобразовать из транслита на русский. То есть обратная функция. Интересно как это можно реализовать на мас. Можете помочь с вопросом ?
Виталий ЯкобВиталий Якоб, 19.01.2022 17:26, 19.01.2022 17:28
В обновлённом варианте Вам будет проще составить "словарь" для замены букв.
Ваш комментарий:
 
apple-mac-os/macos-high-sierra/how-to-create-service-of-fast-transliteration-based-on-perl-script-in-macos-high-sierra.1540821918.txt.gz · Последнее изменение: 29.10.2018 17:05 — Виталий Якоб

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki