Ситуація
Стягнув із інтернету і встановив токенайзери, щоб OmegaT краще шукала відповідності з урахуванням словоформ. У файлі Readme сказано, що можна створити декілька скриптів для тих мов, з яких перекладаєш (і для яких токенайзери є), і навіть наведені приклади. Зробив, усе запускається і працює, але хочеться більшої життєвої гармонії і меншої мороки.
Проблема
Потрібна можливість вибирати, з якої мови перекладаєш і яким саме токенайзером будеш користуватись, маючи єдиний скрипт — а відтак всього одну іконку для запуску на стільниці/панелі/стартовому меню чи єдину для всіх команду десь у $PATH (чи %PATH%).
Рішення
Рішення знайдено. Для його роботи під GNU/Linux потрібно мати bash, zenity та cat.
Нижче подано скрипт, який треба помістити у $HOME/bin або /usr/local/bin і назвати, як зручно (наприклад ottok — OmegaTTOKenizers)
#!/bin/bash if [ ! -f $HOME/.omegat/ompath ]; then dirname `zenity --file-selection --title="Navigate to OT directory" \ --text="Select OmegaT.jar from the folder where OmegaT is installed"` \ > $HOME/.omegat/ompath fi OM_PATH=`cat $HOME/.omegat/ompath` #Select the Tokenizer for your project TokLang=`zenity --list --title="Source Language" \ --text="Select source language for the project" \ --radiolist --window-icon="$OM_PATH/OmegaT.png" \ --height="720" \ --column="" --column="Language" \ "" "Arabic" \ "" "Brazilian" \ "" "Chinese" \ "" "CJK" \ "" "Czech" \ "" "Danish" \ "" "Dutch" \ "" "English" \ "" "Finnish" \ "" "French" \ "" "German" \ "" "German2" \ "" "Greek" \ "" "Hungarian" \ "" "Italian" \ "" "Norwegian" \ "" "Persian" \ "" "Porter" \ "" "Portuguese" \ "" "Romanian" \ "" "Russian" \ "" "SmartChinese" \ "" "Spanish" \ "" "Swedish" \ "" "Thai" \ "" "Turkish" \ "" "Japanese" \ ` if [ $? -eq "1" ]; then zenity --error --title="Canceled" --text="Canceled" --timeout=1 exit 0 fi case "$TokLang" in Dutch|French|German|Russian) Analizer=`zenity --list --title="Analizer" \ --text="Select the analizer for your language" --radiolist \ --window-icon="$OM_PATH/OmegaT.png" \ --column="" --column="Analyzer" "TRUE" "Snowball" "" "Lucene"` if [ $? -eq "1" ]; then zenity --error --title="Canceled" --text="Canceled" --timeout=1 exit 0 fi ;; Japanese) Analizer="TinySegmenter" ;; Arabic|Brazilian|Chinese|CJK|Czech|Greek|Persian|SmartChinese|Thai) Analizer="Lucene" ;; Danish|English|Finnish|German2|Hungarian|Italian|Norwegian|Porter|\ Portuguese|Romanian|Spanish|Swedish|Turkish) Analizer="Snowball" esac TOKENIZER=org.omegat.plugins.tokenizer."$Analizer""$TokLang"Tokenizer; cd $OM_PATH ./OmegaT --ITokenizer=$TOKENIZER
ОНОВЛЕННЯ:
Новіша версія скрипта для нової версії плугіна можна знайти ось тут
Успіхів!