Uproszczenie klawiszologii za pomocą AutoHotkey

Kiedy pojawia się zlecenie, które trzeba wykonać w nieużywanym wcześniej narzędziu, zwykle nie da się uniknąć konieczności nauki nowych kombinacji klawiszy. Nie obowiązuje w tym zakresie żaden standard. I nie chodzi tylko o klawisze przypisane do konkretnych funkcji, ale nawet o zestaw funkcji, które są obsługiwane przez programy do tłumaczenia. Weźmy na przykład OpenTM2 i Trados 2007. W OpenTM2 po otwarciu pliku kursor zostaje umieszczony w pierwszym segmencie tłumaczenia i użytkownik może od razu rozpocząć pracę. W Trados 2007, żeby rozpocząć tłumaczenie po otwarciu pliku w TagEditor, trzeba najpierw nacisnąć kombinację klawiszy Alt+Home. Podczas tłumaczenia w OpenTM2 w oknie Translation Memory wyświetlane są podpowiedzi i może być ich kilka. Do segmentu można wstawić dowolną spośród wyświetlanych, naciskając kombinację klawiszy Ctrl+nr podpowiedzi. Natomiast w oknie Translator’s Workbench wyświetlana jest tylko jedna podpowiedź i aby ją wstawić do tłumaczenia, trzeba nacisnąć kombinację klawiszy Alt+Shift+Ins.

Jestem człowiekiem leniwym i nie mam ochoty za każdym razem uczyć się obsługi nowego programu. Poza tym po prostu nie byłbym w stanie tego robić i musiałbym bez przerwy korzystać z pomocy do danego programu albo wydrukować sobie wszystkie ważniejsze kombinacje klawiszy i co chwila zerkać do tej kartki. Wolę wykorzystać do tego program AutoHotkey. Więcej na temat tego programu napisałem tutaj.

Pracę z nowym narzędziem do tłumaczenia zaczynam zawsze od zdefiniowania odpowiednich hotkey. Hotkey trzeba zdefiniować w skrypcie Autohotkey, a ponieważ dla różnych programów do tłumaczenia potrzebne są różne hotkey, dla każdego z nich przygotowuję osobny skrypt .ahk. Z uwagi na to, że wychowałem się na OpenTM2 (a właściwie na jego wcześniejszej wersji, czyli IBM® TM/2), stosuję używaną tam klawiszologię i do niej właśnie przystosowuję inne programy, ale wybór należy oczywiście do użytkownika.

Możliwości przypisywania kombinacji klawiszy do konkretnych funkcji programu są w OpenTM2 ogromne (pod tym względem jedynym porównywalnym programem jest chyba tylko Trados Studio). Podstawowe znaczenie mają dla mnie następujące funkcje:

  • Wstawienie tekstu źródłowego do tłumaczenia
  • Wstawienie do tłumaczenia jednej z wyświetlanych podpowiedzi
  • Zatwierdzenie tłumaczenia i przejście do następnego segmentu
  • Zatwierdzenie tłumaczenia i przejście do następnego nieprzetłumaczonego segmentu

W mojej instalacji OpenTM2 mam do nich przypisane odpowiednio kombinacje klawiszy: Ctrl+0, Ctrl+nr podpowiedzi, Ctrl+Enter, F12. W Trados 2007 obowiązują oczywiście inne kombinacje klawiszy, a co gorsza nie można ich modyfikować (a przynajmniej nie doszukałem się takiej możliwości). Dlatego właśnie w moim skrypcie o nazwie TagEditor.ahk, który uruchamiam, gdy rozpoczynam pracę z Trados 2007, znajdują się następujące hotkey:

; Przywrócenie oryginału
$^0::
IfWinActive, SDL Trados TagEditor
	Send !{Ins}
else
	Send ^0
return

; Wczytanie podpowiedzi z bazy
$^1::
IfWinActive, SDL Trados TagEditor
{
	ControlClick, <, SDL Trados Translator
	WinActivate SDL Trados TagEditor
	Send !+{Ins}
}
else
	Send ^1
return

; Wczytanie kolejnej podpowiedzi z bazy
$^2::
IfWinActive, SDL Trados TagEditor
{
	ControlClick, >, SDL Trados Translator
	WinActivate SDL Trados TagEditor
	Send !+{Ins}
}
else
	Send ^2
return

; Zatwierdzenie tłumaczenia i przejście do następnego segmentu
$^Enter::
IfWinActive, SDL Trados TagEditor
	Send !{NumpadAdd}
else
	Send ^{Enter}
return

; Zatwierdzenie tłumaczenia i przejście do następnego nieprzetłumaczonego segmentu
$F12::
IfWinActive, SDL Trados TagEditor
	Send !^{NumpadAdd}
else
	Send {F12}
return

Wstawienie tekstu źródłowego jest proste. Wystarczy, aby naciśnięcie kombinacji klawiszy Ctrl+0, wywołało kombinację klawiszy odpowiedniej funkcji TagEditora, czyli w tym przypadku Alt+Ins (Copy Source). Podobnie jest z zatwierdzeniem tłumaczenia i przejściem do kolejnego segmentu. Wystarczy zastąpić wybraną kombinację klawiszy (w moim przypadku Ctrl+Enter) odpowiednią kombinacją TagEditora, czyli Alt+Num+. Przejście do kolejnego nieprzetłumaczonego segmentu po zatwierdzeniu tłumaczenia jest teoretycznie równie proste (zastąpienie klawisza F12 kombinacją Alt+Ctrl+Num+), niestety z nieznanego mi powodu nie zawsze działa.

Bardziej skomplikowane jest wstawienie drugiej propozycji, gdy wyświetlana jest tylko jedna. Rozwiązałem ten problem, wywołując kombinacją klawiszy Ctrl+2 następujący ciąg operacji:

  1. Kliknięcie przycisku o etykiecie > w Translator’s Workbench, co powoduje wyświetlenie kolejnej propozycji (jeśli jest dostępna)
  2. Naciśnięcie w TagEditor kombinacji Alt+shift+Ins, która powoduje wstawienie do tłumaczenia wyświetlanej aktualnie propozycji

Sposób obsługi wyświetlania drugiej propozycji spowodował, że wyświetlenie pierwszej stało się bardziej złożone: najpierw wywoływane jest kliknięcie przycisku o etykiecie <, aby powrócić do propozycji wcześniejszej (na wszelki wypadek, jeśli aktualnie nie jest wyświetlana pierwsza). Konsekwencją zaproponowanej organizacji jest to, że w przypadku istnienia na przykład trzech propozycji tłumaczenia segmentu wstawienie trzeciej wymaga dwukrotnego naciśnięcia kombinacji klawiszy Ctrl+2. Pierwsze naciśnięcie tej kombinacji klawiszy powoduje przejście do drugiej propozycji, a drugie naciśnięcie — przejście do trzeciej.

Na potrzeby innych programów opracowałem sobie osobne skrypty wywołujące odpowiednie funkcje. Nie będę przedstawiał ich wszystkich, bo przecież każdy użytkownik może być przyzwyczajony do innych kombinacji klawiszy, ale na przykład mój skrypt dla programu Passolo 2011 (o nazwie Passolo.ahk) zawiera m.in. następujące hotkey:

; Przywrócenie oryginału
$^0::
IfWinActive, SDL Passolo
	Send ^u
else
	Send ^0
return

; Zatwierdzenie tłumaczenia i przejście do następnego segmentu
$^Enter::
IfWinActive, SDL Passolo
	Send ^{Down}
else
	Send ^{Enter}
return

<< Wróć do poprzedniej strony