Apertium-viewer

From Apertium
Jump to navigation Jump to search

Apertium-viewer is a little program which can be used to view and edit the output of the various stages of an apertium translation.

The various stages update while you type, and a change made in any one pane updates the subsequent stages.

A screen shot. Some stages are hidden (split panes have been moved togehter)

Currently, the program is in its early stages and it will take some time before it becomes fully usable. But if you are a developer with some knowledge of Java, you can already dive in.

What you need

  • Java JDK 1.6
  • Apertium

Getting and running apertium-viewer

Executable JAR (old): http://javabog.dk/filer/ApertiumView.jar ZIP file (newer): http://javabog.dk/filer/apertium-viewer.zip


Running apertium-viewer

Running the binary: Just double-click on apertium-viewer.jar

It this don't work, type

java -jar apertium-viewer.jar

from the command line. Remember to use JDK 1.6 (java -version shows the version number)

Getting, compiling and running apertium-viewer from source

Check out the source code (Netbeans project) from the subversion repository (apertium-tools/apertium-viewer)

svn co https://apertium.svn.sourceforge.net/svnroot/apertium/trunk/apertium-viewer
cd apertium-viewer
ant
ant run

To run it's easiest just to type 'ant run' or use Netbeans to compile. But if you really insist on going the longes possible way you can compile from command line with ant ant then type java -cp "lib/swing-app-framework/appframework-1.0.3.jar:lib/swing-app-framework/swing-worker-1.1.jar:dist/apertium-viewer.jar" apertiumview.ApertiumViewMain

Testing unreleased language pairs from subversion

At startup Apertium-viewer will scan for languages installed on the system.

But you don't need to install your own language pairs anywhere to use it! All what is needed is to compile the language pair with 'make' and point to the .mode file generated. Just choose File | Load mode and select the mode file from the language pair.

Opening a mode file

Features

  • Allow users to set 'mark unknown words' or not (Alt-M)
  • Automatically resizing panes (Fit text button, Alt-I). Stages with unchanged text are automatically collapsed.
  • Alt-0 brings focus to the first pane (input), Alt-1 to the second, etc. Alt-9 brings focus to the last (output). It autoscrolls to make the panes fully visible.
  • Undo on a per text-pane/stage basis (Ctrl-Z, redo is Ctrl-Y)
  • Copy all button puts text for all stages into clipboard (Alt-C)
  • Commands can be hidden for clearer view (Alt-S)
  • Views can be frozen/paused to not propagate changes
  • Syntax highlighting
  • If a surface form has an ambigious analysis its shown in red. If you click on an alternative it is selected (basically, between / /) and can be removed it pressing Delete key.
A click on an ambigious analysis selects one posibility (press Del to delete it). Also the freeze button is shown.
  • Removing scrollbars when not wanted.
  • Configuration / choosing language pair in the GUI.
  • Scroll panes down when they fill with more information.
  • Zoom button to get a detached window (particularly input and output windows).
  • Remember settings when closed (language pair, input text, size of panes, windows size and position etc).
  • It DOESENT use dbus. Rather you can just directly point to a mode file and use it. Therefore language pairs can be tested directly from the SVN source directory, without installing them.
When the text is the same as on the former stage it is shown with a yellow background. Commands have been hidden for a clearer view.
  • Text can be copied directly into a Regression testing wiki page (using Tools | Make Test Case...).
Apertium-viewer showing a Wiki Regression testing case text ready to be pasted.
  • Run via Java WebStart, so user doesent have to install anything (apart from Java).
  • Up to 10 texts can be stored for later use --Jacob Nordfalk 06:21, 5 December 2008 (UTC)


Feature requests/bugs

  • Use Ctrl-Pgup, Ctrl-PgDn to go switch to the upper/downer text panel
  • Restoring of view sizes after restart is not perfect yet (press Fit to text to fix)
  • Shrinking view sizes not perfect yet (press Fit to text a few times to fix)
  • Moving chunks as units rather than text.
foo{ bar } baz { bin } → baz{ bin } foo { bar }

Related software

  • Apertium-view is a somewhat simpler version of the same program and coded in Python instead of Java and dequires dbus.
  • Apertium-tolk is similar to, but much simpler than Apertium-viewer. It only has an input window and an output window. Where Apertium-viewer is aimed at developers, Apertium-tolk is intended to be as user friendly as possible.