Tag Archives: Ocelot

Is this a web version of Ocelot?

Perhaps!

OcelotWeb

Over the Christmas break and in my spare time I wanted to learn Microsoft’s Blazor framework so I thought it would be a great opportunity to try and write an editor which has some of the functionality of our open source desktop editor, Ocelot.

The main difference between Ocelot and this (other than desktop vs web) is that this works with JLIFF as opposed to XLIFF. This means I can do stuff like use CosmosDb as the repository and save native JLIFF documents to it.

Currently it has diff’ing, and machine translation and I’m currently trying to finish off ITS Quality annotation.

A Prime Year

So 2017! Let’s hope you turn out to be a good one.

I guess traditionally I should be using this post to make my predictions about the industry and technologies I’m engaged in to demonstrate thought leadership. The truth is I think I’m going to be arrogant and let the industry catch up a bit first with all of the innovations I have spent the last two years working on. Sure, I have forward looking plans based on what I think will be prevalent trends and requirements in the year ahead but sometimes you have to live in the moment and execute on what is imminent.

My team will be busy through Q1 with the migration of a large part of our operations to Plunet. Then we have the ramping up of a major new account that we were awarded last year.

Development has re-started slowly it has to be said with some small tasks that were started before Christmas taking an annoyingly long time to get finished. Or maybe I’m getting increasingly impatient.

Q1 will almost certainly see an update to Ocelot. We are trying to simplify and expand the configuration of plug-ins and the user interface so that you launch with windows and tools in a state ready to go.

I’ve resumed the Angular 2 and F# learning I started last year. Using Angular I’m writing a web-based string translation editor component which I hope will be simple in operation and blisteringly fast. With F# I started by writing some basic NLP utilities such as string tokenization and n-gram generation. I would like to try and re-write some of my Review Sentinel machine learning algorithms but I’d be surprised if I get all of that done this year.

So I’m going to finish this post by wishing you all and your families a safe, enjoyable, productive, and happy year.

Ocelot 2.2 Released

Ocelot 2.2 is now available for download. This release focuses on improving the editing experience generally with support for drag-and-drop and also in relation to inline tags: there is now a small context menu which helps replace deleted inline tags. Gratitude and kudos to Aaron Madlon-Kay who did a great job on these enhancements.

OcelotCnP-md

Ocelot 2.1

We released Ocelot 2.1 today at http://bit.ly/296H0J4. It includes bidirectional language support, an awesome new totally configurable ITS LQI grid with intuitive hot keys, saving of Notes in XLIFF 1.2 and search and replace.

Ocelot 2.0

I am pleased and excited to announce the release of Ocelot 2.0 available as source code and binaries. Special thanks go to Kevin Lew, Marta Borriello and Chase Tingley who were the main engineers of this release.

The new features are:

  1. Support for XLIFF 2.0 Core;
  2. Translation Memory and Concordance lookup;
  3. Save XLIFF document as TMX;
  4. Language Quality Issue Grid;
  5. Set the fonts used for source and target content;
  6. Support for notes in XLIFF 2.0
  7. Serialization of Original Target in XLIFF 2.0 using the Change Tracking Module.

v2Overview

XLIFF 2.0

Ocelot now supports XLIFF 2.0 documents. It still supports XLIFF 1.2 documents and auto-detects the XLIFF version of the document being opened.

Translation Memory and Concordance lookup

A new window above the main editing grid now displays two tabs for Translation Memory lookup matches and Concordance Search results. If it is not visible then clicking on the splitter bar just below the font selection controls under the menu bar should reveal them.

Ocelot works with Translation Memory Exchange (TMX) files. The View->Configure TM menu option opens the TM Configuration dialog where you can specify which translation memories you want to use (in a fallback sequence), the penalty if any to be applied to the TM, the maximum number of results to display, and the minimum match threshold which matches must satisfy in order to be shown.

We have also added the ability to save the document as TMX.

Language Quality Issue Grid

Adding Internationalization Tag Set 2.0 Language Quality Issue metadata, even using the “Quick Add” mechanism of release 1 that could be configured in the rule.properties file, has been cumbersome. The LQI Grid reduces this to a one-click or one-hot key operation (excluding any comments you want to add).

The grid is customizable graphically allowing a matrix of issue severities (columns) and a user defined selection of types (rows) to be configured along with hot keys for every combination. Clicking any cell in the grid or typing its associated hotkey sequence will add the required Localization Quality Issue metadata. For example, clicking the cell at the intersection of a “Major” error severity column and “style” error category row will add an <its:locQualityIssue locQualityIssueSeverity="..." locQualityIssueType="style" /> entry to the relevant segment.

Source and Target Fonts

Just below the menu bar are two comboboxes which allow you to set the font family and size to be used for the source and target content.

XLIFF 2.0 Notes

On the View menu, the Configure Columns option allows you to display a Notes column. Text entered into cells in this column will be serialized as XLIFF <note /> elements.

Serialization of Original Target

Ocelot now captures and serializes the original target text if modified as a tracked change using the XLIFF 2.0 Change Track module. One limitation here, which we hope to address as part of XLIFF 2.1 is that only the text (and no inline markup) is saved.

I hope that these enhancements are useful.

Prove It!

I gave two important demonstrations this week to senior management:

  1. Phase one of our distributed production platform which uses many enterprise integration architecture patterns
  2. Using the semantic enrichment facilities of the FREME e-services from a proprietary plug-in to Ocelot that we built using its plug-in API.

The distributed platform demonstration went well and showed the potential of the architecture:

  1. Configurable routes from one micro-service to another
  2. Scalability
  3. Fault tolerance
  4. Composability and reuse.

What I particularly like about this architecture is that we can incorporate discrete processes with blocks of translation management system workflow. For example, we can transform assets from one format to another, carry out validation, pre-edit, post-edit, inject, and generally modify and optimise every aspect of the production process.

The Ocelot presentation went better than I even anticipated in that it captured the imagination of two of the attending senior managers: our Vice President of Global Sales commenting that he thought it would open up opportunities to speak to new departments and roles and within organisations who in turn could influence localization stakeholders and buyers.

I’ll be giving both presentations again next week to a customer and the collaborators and Project Officer of the FREME consortium.

A Busy 4 Months

The last four months have been some of the busiest and productive I’ve known. Achievements relate to Machine Translation, dash-boarding, workflow integration, Ocelot and the FREME Project.

MT, dash-boarding and workflow integration are a widening of our adoption 18 months ago of enterprise integration patterns. Two new strategic hires covering the skill sets of ASP.NET Web API, AngularJS, Java Spring and SOAP services are about to deliver high impact tools and automation.

Ocelot and FREME have also made great progress following my third recent hire.

I finally joined the XLIFF Technical Committee and look forward to contributing to what I believe is a fundamental technology in our industry.

I’ll try to post more about each of these in the near future. Suffice to say the rumors of my demise based on lack of posts are unfounded.

FREME

The web site for our new European Commission funded Horizon 2020 project went live on 2015-03-27. I’m very excited about this project. It encompasses many important current topics: Big Linguistic Linked Data; The Semantic Web; NLP Technologies; Linguistic Linked Data Interoperability and Intelligent and Enriched Content.

My goals for the project include new features for our open sourced editor, Ocelot. The planned features will further integrate it with other linguistic technologies and standards, not least the Semantic Web and Linked Linguistic Data Clouds themselves.

Having missed the project kick-off in Berlin in February, I’m looking forward to meeting all of the world-class academic and industry partners.