First, I’d like to thank everyone for their good wishes. It really means a lot. For those of you interested in exactly what went wrong with my health, I wrote about it in my personal blog.
I’ve just about finished open-sourcing Felix. The code lives here on bitbucket. I also plan to put it on github as I’m able. I’ve already had a brave volunteer who is trying to build Felix on his own machine. That will be proof positive that Felix can live on its own.
I also went through the site and removed all references to Felix being paid software. When I first open-sourced Felix, I mistakenly left in the old commercial license. I swapped in the MIT license, and released version 22.214.171.124 with the correct license. You can download it here.
The next step will be to open source Memory Serves. I think that will pretty much do it for the Felix constellation of apps, and then I’ll be able to get back to development — albeit at a slow pace.
Due to a sudden illness, I am stopping sales of Felix. I feel that I can no longer provide the support that paying users deserve.
I’d like to thank all the users who have supported Felix over the years. I plan to make Felix a free and open source application in the future, so people can continue to use Felix. This may take a couple of months, so thank you for your patience.
The following is a guest post by friend and Felix user Peter DeBiase. He originally wrote this as a tutorial for a friend, but it was so useful I got his permission to post it to the Felix blog. Thanks, Peter!
Ideas for Application of Felix’s New Rule-Based Placement Feature to Translation of WOSAs
-Peter Adriano DeBiase 2013/07/02
First Things First
Rule based placement is a relatively new feature in Felix, so you might not have it if you haven’t updated Felix in a while. The easiest way to check is to just go to the main memory window and select Tools. If there’s a Rule Manager… option, you’re good to go.
If not, it’s time for an update (Help > Check Updates…). I believe that as of the time of this writing (2013/07/01), the latest version of Felix is 126.96.36.199.
Rule Based Placement Time!
In the patent translation industry, one document that you might run across is the Written Opinion of the International Searching Authority (WOSA). The most important part of a WOSA (where most of the translation needs to be done) is Box V. 2., which generally starts with a list of citations of prior art documents such as the following:
The highlighted locations in each citation are just crying out for use of rule-based placement. Let’s look at each individually.
Each citation starts with the document number. We can set up a rule in Felix that will take a segment of the form “文献X” and magically turn it into “Document X”.
Select Tools > Rule Manager… and then select Add under Enabled Rules to add a new rule. This will display an Edit Felix Rule window. Set it up as follows.
That scary looking (\d+) and \1 are two examples of a very powerful tool called regular expressions, which is essentially like search and replace on steroids (note that they really are backslashes – my computer thinks it’s Japanese).
Gentle intro to regex, starting with the Source Field: “\d” means “look for a number here” and the added “+” means “it can be any number of digits.” The enclosing parentheses around the \d+ tell the computer to remember whatever the \d+ expression matches. Finally, the “\1” in the Target field tells the computer to take the thing it remembered from the Source field and insert it at the location of the “\1”.
If you’re confused, don’t worry, so am I. Know in advance that regular expressions have a (perhaps rightfully deserved) reputation for being difficult. Let it go for now, or read section 5.3 Rule-based Placement in the Felix Manual. That page also includes a link to a very good tutorial on regular expressions that may be of use if you find yourself wanting to go deeper into the rabbit hole later.
Now let’s looks at the other case: the date of the form 1994.04.28. We can set up another rule in Felix to turn this into “28 April 1994”, which is the correct way to write dates in WOSA citations.
Notice that this time we have two (\d+) expressions in the Source field – the computer will remember two things that are numbers of arbitrary length. Again, we can tell the computer where to put those two things in the Target field with the \1 (the first thing) and the \2 (the second thing) expressions.
Now, you might be saying, “Wait a second! That will only work for April!” And you are correct. We will have to make 12 separate rules to handle each month of the year. If it helps, you can copy and paste from the table below to save a little time. It might also be possible to make one super-rule to…rule…all of these cases if you know how to use conditionals in regular expressions, but personally my regex-fu isn’t quite there yet.
So now, when we’re translating the citations in a WOSA, we’ll get some extra hits in our glossary from our rules:
And when we move to the next citation segment, those hits will be automatically updated as appropriate:
And the people rejoiced and there was much good in the land.
Is This Really Worth the Trouble?
That depends on what you mean by “worth” and “trouble.” We did just automate like 26 keystrokes, which is pretty cool, and now you’ll never miskey a document number or date again when you’re translating WOSAs so you can save time when proofing your translation, which is also pretty cool. There’s plenty of room for more use of rule based placement in translation of WOSAs, but to be honest I’m just getting started with those too so these are just some early ideas.
You’ve now also been exposed to regular expressions and rule-based placement in Felix, so you can extend what you learned here to making even better rules that are more suited to your translation work, because hey, we’re all translating different stuff. Also, applications of regex start to tend showing up everywhere once you know about them – it’s kind of like learning a new word and then suddenly you start hearing it all the time.