Wiki

Clone wiki

Okapi / TranslationEditor

A set of initial thought, without any order or priority:

General

  • Should be capable of handling large (very large) documents without a lot of lose of performance.
  • Should be capable of 'loading' a package and have a way to 'navigate the different documents in package.
  • Would be nice to be able to sort source/target across documents to see duplicates
  • When possible, the use should be able to split or merge the proposed segments
  • When possible, the user should be able to move segments.
  • Should support bidirectional languages
  • Should support complex scripts (Thai, Devanagari, etc.)
  • If possible, the editing control and its basic functions should be a component that could be re-used in other context (e.g. TM editor, etc.)
  • It should provide TMX import/export
  • It should support SRX-based segmentation
  • It should support XLIFF files in addition to our 'native' package
  • It should have plugin support for other types of packages (TTX, QT?)
  • Should be able to query for updates of itself or plugins.
  • user should be able to choose the fonts and font sizes used in the UI to accomodate different languages and preference (some languages have intricated characters hard to read in small font).
  • The user should be able to expand/shrink the current segment by moving to the next/previous break opporunity.
  • The user should be able to joing the current segment with the previous or next one (withing the same text unit).
  • The user should be allowed to mark a text unit as not a matching translation for cases where the text units are artificially split and re-ordering need to be done. such entries should be re-used in context only.
  • It should be possible to set an option so each time a new segment is open, its source is written to an external file at a given location.
  • It may be useful if user has a function (ctrl+something) to get a text from a specific file at a specific location (this is linked to the item above). This system would allow external tools to monitor the opening of segment, do something to it and place the result in a given location where the user can recall it (using the clipboard for this may not be practical for some external tools).

Inline codes

  • When possible, the user should be able to move, delete add inline codes inside a segment.
  • Should have a mechanism to check inline codes between source and target. Such system should be optional, and driven by the things allowed in the segments (can move, delete, etc.)
  • Should catch XML tag balancing errors - even if tags span segments.
  • Should support simplified view of tags (g, x etc..) so translators do not need to understand HTML/XML.
  • It would be nice to have rich text (bold, underline) for formats where we can discern this information.
  • Should have basic QA function (leading/traling spaces, etc. but also allow plugins for additional specialized QA functions.
  • The user should be able to select the inline code in the source from the keyboard, and then place them at the cursor position in the target.
  • The user should be able to copy the source with or without its inline codes. There should be an option do do this action automatically when opening a new segemnt.
  • The user should be able to specify a set of rules to apply to the segments for treating as protected/placeable some special expressions not handle by the filter. For example, s/he may translate a document with many variable names not identified as such by markup, but being all in camelCase. S/he should be able to tell the editor to treat chunk of the segment matching camelCase patterns to behave like placeables (just for the time of the translation).
  • Ability to add new tags and delete tags based on supplied configuration which lists tag editing rules.
  • The user should be able to select a run of text and apply any addable or cloneable inline code available: the start code would be insterted at the start of the selection, the end code at the end of the selection. Checks should be made to insure no overlapping occurs.

Context

  • When possible, the context around the text should be provided.
  • All editing and navigation commands for the segment should be accesible from the keyboard, and not require the use of the mouse.
  • Any localization notes provided along with the segment should be visible to the user.
  • Should support context preview of HTML and XML formats using XSLT stylesheets (DITA etc.).
  • Should allow plugin mechanism to generate target or target preview depending of type of data.

Matches

  • Translation of the matches or partial matches should be highlighted and a simple keystroke should be able to paste it into the edit field.
  • When updating a translation from the editor, one should be able to update several selected TMs (local and/or remote) if needed.
  • The TM engine (or parts of it) should be local so the user can continue working even when the internet connection or the TM server is down.
  • Should be capable of querying several TMs, MT and term db. Access should be on local and/or remote TM, MT...
  • It should be possible to automatically resolve differences for numbers, punctuation, special patterns, etc. to increase repetitions and higher matches.
  • The user should be able to set an option to fill empty target with best match (and option for the threshold, or the type of trans-resource)

Status

  • Should have a state flag for each segment to indicate the translation state (to translate, edit, etc.) This flag should be canged automatically when possible, but the user should also be able to override any change manually if needed.
  • The state set in the editor should be reflected back into the saved translated package as appropriate for the type of package.
  • Should have a system to manage revision (comments, status, count, history maybe).

Miscellaneous

  • Should offer simple navigation and translation keys. For example avoid anything with numpad as laptops don't have easy access to it (at least provide alternate).
  • Should use simple keys like Enter, up/down arrow, etc. to navigate.
  • Spell-checking should be integrated.
  • It would be nice to have grammar-checking integrated.
  • It would be nice to have a feedback mechanism, to allow linguists to add comments per segment during the translation cycle.
  • It would be nice for the user to have easy access to chat-like facility with other user working on the same project.

Updated