Appendix F. Сцэнары
Prev |  | Next

# Appendix F. Сцэнары

## 1. Уводзіны

OmegaT дазваляе выконваць сцэнары, напісаныя на розных мовах сцэнароў.

## 2. Ужываньне

Выберыце мэню Сэрвіс → Сцэнары…, адкрыецца вакно сцэнароў:

Акно сцэнароў дазваляе загрузіць існы сцэнар у тэкставую вобласьць і выканаць яго для бягучага праекта. Каб наладзіць выкананьне сцэнара, выканайце наступныя дзеяньні:

- Загрузеце сцэнар у рэдактар, націснуўшы ягоную назву ў сьпісе на левай панэлі.

- Правай кнопкай мышы націсьнеце на кнопку “<1>” — “<12>” на ніжняй панэлі і выберыце “Дадаць”. У прыкладзе вышэй два сцэнара (пазыцыі 1 і 2) ужо дададзеныя.

- Калі націснуць нумар левай кнопкай мышы, выканаецца выбраны сцэнар. Выбраныя сцэнары можна запускаць праз адпаведныя падпункты пункта мэню Сэрвіс або націскаючы Ctrl+Alt+F# (дзе # — 1 да 12).

Па змаўчаньні сцэнары знаходзяцца ў падкаталёгу “scripts” у каталёгу ўсталёўкі OmegaT (г. зн., каталёгу, які зьмяшчае файл OmegaT.jar).

Туды можна дадаваць новыя сцэнары, якія будуць зьяўляцца ў акне сцэнароў.

Некалькі дадатковых сцэнароў можна знайсьці тут: OmegaT Scripts

## 3. Мовы сцэнароў

Рэалізаваныя наступныя мовы сцэнароў:

- Groovy (http://groovy.codehaus.org): дынамічны мова для віртуальнай машыны Java. Ён аб’ядноўвае моц Java і зручныя функцыі, падобныя мовам тыпу Python, Ruby і Smalltalk.

- JavaScript (часам скарочана JS, не блытаць з Java): прататыпаарыентаваная мова сцэнароў, дынамічная, са слабой тыпізацыяй і першакляснымі функцыямі. Гэта — шматпарадыгмавая мова, якая падтрымлівае аб’ектна-арыентаваны, імпэратыўны і функцыянальны стылі праграмаваньня. Дзякуючы ўжываньню ў папулярных праграмах, такіх як Firefox, гэтую мову добра ведаюць і любяць прыхільнікі свабоднага праграмнага забесьпячэньня.

Усе мовы маюць доступ да аб’ектнай мадэлі OmegaT з праектам у якасьці верхняга аб’екта. У наступным фрагмэнце коду на Groovy, напрыклад, робіцца прагляд усіх сэгмэнтаў ва ўсіх файлах у бягучым праекце і, калі пераклад існуе, выводзіцца крыніца і пераклад сэгмэнта:

        files = project.projectFiles;
        for (i in 0 ..< files.size())
        {
            for (j in 0 ..< files[i].entries.size())
            {
                currSegment = files[i].entries[j];
                if (project.getTranslationInfo(currSegment))
                {
                    source = currSegment.getSrcText();
                    target = project.getTranslationInfo(currSegment).translation;
                    console.println(source + " >>>> " + target);
                }
            }
        }

Prev |  | Next
Appendix E. Плагін LanguageTool | Home | Appendix G. OmegaT у Інтэрнэце