Welcome / Bienvenue / Benvinguts / Bienvenidos
For information about my translation services, please visit the main site.
Pour des informations sur mes services, merci de regarder le site principal.
Para información sobre mis servicios de traducción, visite el web principal.

Macro to prepare documents for monolingual review in memoQ (and possibly other CAT tools)

MemoQ’s monolingual review feature works best with clean Word documents containing no tracked changes or comments. If you import a document in which changes are still visible or in which there are comments, memoQ will add lots of code to the target text, which you don’t want.

This macro cleans the document up and saves it under a new filename (so that you don’t overwrite the commented version), making it ready to be imported as a monolingual review.

The macro includes comments to explain what some of the lines are doing and how you can adjust the macro to meet your needs.

Since many translators use only straight apostrophes and quotation marks in memoQ, then convert them to the curly variety in the final document sent to the client, the macro includes an optional line (deactivated by default) that will revert all apostrophes and quotation marks to the straight variety. Please read the instructions carefully if you wish to use that line.

Thanks to Kevin Mote, who provided the code for the part of the macro that renames the file. My code is a slightly modified version of his. In particular, unlike Kevin’s version, mine does not overwrite the old version, since most translators would want to keep a copy of the commented version they sent to their client.


Sub PrepareForMemoQMonolingualReview()
' memoQ's monolingual review feature works best when you import a document with no tracked changes and no comments.
' This macro removes them, then resaves the file with "clean-for-import" appended to the file name.
' The part that appends the filename is adapted from the macro provided by Kevin Mote (https://www.linkedin.com/in/kevinmote/) at https://superuser.com/a/781501. Thank you Kevin. This was very helpful!
' Please note that, unlike Kevin's macro, this version does not delete the original file.
Dim strFileFullName, strFileName, strNewName, strFileExtension As String
'
ActiveDocument.AcceptAllRevisions ' Accepts all tracked changes
ActiveDocument.TrackRevisions = False ' Switches off track changes
ActiveDocument.DeleteAllComments ' Deletes all comments in the active document.

ReplaceQuotes ' Reverts quotation marks and apostrophes back to the straight variety, assuming that this is the variety that was used while working in the CAT tool.
' Remove the apostrophe from the above line if you want the monolingual review document to revert to straight apostrophes and quotation marks.
' Note that to run the above line you also need to have installed the "ReplaceQuotes" and "QuotesReplacementBothWays" macros, which I provided along with several others in a blog post at http://www.anglopremier.com/blog/?p=1119.
' *****ADDITIONAL OPTION DESCRIBED ABOVE*****

' Get current name:
strFileFullName = ActiveDocument.FullName 'for Word docs
'strFileFullName = ActiveWorkbook.FullName 'Use this line instead for for Excel docs
'strFileFullName = Application.ActivePresentation.FullName 'Use this line instead for Powerpoint presentations
If (InStr(strFileFullName, ".") = 0) Then ' Checks whether the full file name contains a file extension by looking for a dot.
res = MsgBox("File has not been saved. Can't rename it.", , "Rename File")
Exit Sub
End If
' strFileName = Right(strFileFullName, Len(strFileFullName) - InStrRev(strFileFullName, "\")) 'strip path - not used. Next line used instead.
strFileName = strFileFullName
strFileExtension = Right(strFileName, Len(strFileName) - InStrRev(strFileName, ".")) ' Identifies the file extension
strFileName = Left(strFileName, (InStr(strFileName, ".") - 1)) ' Strips the extension from the strFileName variable
' If InStr(3, strFileName, "_Delivery", 1) <> 0 Then strFileName = Left(strFileName, (InStr(strFileName, "_Delivery", 1) - 1))
' The above line is not used. Originally intended to strip the word "_Delivery" and the delivery number from the file name (assumes "Delivery" is at least the third character; not case-sensitive). But I dedcided I wanted to keep the delivery number.
' If you wish to remove something from the file name you can reinstate the above line (remove the apostrophe) and replace "_Delivery" with whatever you want to remove.

' Prompt for new name. Replace "_clean-for-import" on the next line if you prefer something else to be appended by default.
strNewName = InputBox("Rename this file to:", "Rename File", strFileName & "_clean-for-import." & strFileExtension) 'Saves with the new name. Extension is not changed.
If (strNewName = "") Or (strNewName = strFileName) Then ' (Check whether user cancelled)
Exit Sub
End If

' Save file with new name:
ActiveDocument.SaveAs2 FileName:=strNewName 'for Word docs
'ActiveWorkbook.SaveAs2 FileName:=strNewName 'for Excel docs
'Application.ActivePresentation.SaveAs FileName:=strNewName 'for Powerpoint presentations

End Sub

Share:

Macros to replace apostrophes and quotation marks before and after using a CAT tool

To ensure that concordance searches in translation memories work properly and to increase fuzzy matches, many translators systematically replace curly apostrophes and quotation marks with straight ones before importing a document into their CAT tool, then revert them back to the curly variety before delivering the final document to the client.

Until recently, I used a very simple find/replace macro to achieve this, but then I realized that the macro didn’t replace apostrophes and quotation marks situated. I searched online and found a solution that works not only in the main document but also in footnotes and text boxes. Thanks to Doug Robbins and Greg Maxey, whose work I drew on to create one of the macros below.

Copy the following code into a single module in your normal.dotm template, then run the ReplaceQuotes macro before importing your document into your CAT tool and the ReinstateQuotes macro after you have exported from your CAT tool to Word.

I’ve included extensive comments so that you can understand what each line is doing and adapt it as necessary.

Sub ReplaceQuotes() ‘ Replace curly quotation marks and apostrophes with straight ones.
Options.AutoFormatAsYouTypeReplaceQuotes = False ‘ Sets autoformat option not to replace curly quotes with straight ones. This is reset in the final like of the QuotesReplacementBothWays macro.
QuotesReplacementBothWays
End Sub

Sub ReinstateQuotes() ‘ Replace straight quotation marks and apostrophes with curly ones.
Options.AutoFormatAsYouTypeReplaceQuotes = True ‘ Sets autoformat option to replace curly quotes with straight ones, in case the user has manually set the option to false before running the macro.
QuotesReplacementBothWays
End Sub

Sub QuotesReplacementBothWays()
pFindTxtFromOtherMacro = “‘”
pReplaceTxtFromOtherMacro = “‘”
FindReplaceAnywhere
pFindTxtFromOtherMacro = “””” ‘ Find all quotation marks (smart or curly). Four quotation marks are needed because the ” symbol has a special meaning that must be cancelled.
pReplaceTxtFromOtherMacro = “””” ‘ Replaces with smart or curly, depending on whether ReplaceQuotes or ReinstateQuotes was run.
FindReplaceAnywhere

‘ Remove the apostrophes from the start of each line in this section to replace French guillemets with English-style straight quotation marks.
‘ pFindTxtFromOtherMacro = “« ” ‘ Find all opening guillemets followed by a space (incl. non-breaking spaces).
‘ FindReplaceAnywhere
‘ pFindTxtFromOtherMacro = “«” ‘ Find remaining opening guillemets with no space after.
‘ FindReplaceAnywhere
‘ pFindTxtFromOtherMacro = ” »” ‘ Find all closing guillemets preceded by a space (incl. non-breaking spaces).
‘ FindReplaceAnywhere
‘ pFindTxtFromOtherMacro = “»” ‘ Find remaining closing guillemets with no space before.
‘ FindReplaceAnywhere

pFindTxtFromOtherMacro = “” ‘ Makes the variable empty again
pReplaceTxtFromOtherMacro = “” ‘ Makes the variable empty again
Options.AutoFormatAsYouTypeReplaceQuotes = True ‘ Reverts to Word’s default setting. Change this to “False” if you prefer Word not to replace straight quotes with curly ones as you type.
End Sub

Public Sub FindReplaceAnywhere()
‘Performs a find/replace on all parts of a text, including footnotes, text boxes, etc.
‘Found on various webpages, but seems to have been originally created by Doug Robbins and Greg Maxey (https://wordmvp.com/FAQs/Customization/ReplaceAnywhere.htm).
‘Adapted so that it can be run with the find and replace strings pre-defined by other macros.

Dim rngStory As Word.Range
Dim pFindTxt As String
Dim pReplaceTxt As String
Dim lngJunk As Long
Dim oShp As Shape

If pFindTxtFromOtherMacro = “” Then
‘ This macro can be used on its own, in which case the user is asked what Word should find.
pFindTxt = InputBox(“Enter the text that you want to find.” _
, “FIND”)

If pFindTxt = “” Then
MsgBox “Cancelled by User”
Exit Sub
End If

Else
pFindTxt = pFindTxtFromOtherMacro
End If

TryAgain:
If pReplaceTxtFromOtherMacro = “” Then
‘ This macro can be used on its own, in which case the user is asked what Word should replace the found string with.
pReplaceTxt = InputBox(“Enter the replacement.”, “REPLACE”)

If pReplaceTxt = “” Then
If MsgBox(“Do you just want to delete the found text?”, _
vbYesNoCancel) = vbNo Then
GoTo TryAgain
ElseIf vbCancel Then
MsgBox “Cancelled by User.”
Exit Sub
End If
End If

Else
pReplaceTxt = pReplaceTxtFromOtherMacro
End If

lngJunk = ActiveDocument.Sections(1).Headers(1).Range.StoryType ‘Fix the skipped blank Header/Footer problem

For Each rngStory In ActiveDocument.StoryRanges ‘Iterate through all story types in the current document

Do
SearchAndReplaceInStory rngStory, pFindTxt, pReplaceTxt
On Error Resume Next

Select Case rngStory.StoryType

Case 6, 7, 8, 9, 10, 11
If rngStory.ShapeRange.Count > 0 Then
For Each oShp In rngStory.ShapeRange
If oShp.TextFrame.HasText Then
SearchAndReplaceInStory oShp.TextFrame.TextRange, _
pFindTxt, pReplaceTxt
End If
Next
End If
Case Else

End Select

On Error GoTo 0

Set rngStory = rngStory.NextStoryRange ‘Get next linked story (if any)

Loop Until rngStory Is Nothing ‘ Loops back to the “Do”

Next ‘ Loops back to “For Each rngStory”

End Sub

Public Sub SearchAndReplaceInStory(ByVal rngStory As Word.Range, _
ByVal strSearch As String, ByVal strReplace As String)

With rngStory.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = strSearch
.Replacement.Text = strReplace
.Wrap = wdFindContinue
.Execute Replace:=wdReplaceAll
End With

End Sub

Share:

Spot the foreign-language influence

Amazon.com: For If The Flies - t-shirt: Clothing

¡Por si las moscas!

Anyone translator living in his or her source-language country needs to watch out for source-language interference. Similarly, an author who writes in one language but lives in a country that speaks a different language needs to be wary of interference from the host country’s language.

Today, Google recommended an article to me in which I noticed foreign-language interference almost from the beginning. See if you can spot it too in this article about the level of English in Spain, then click on “Continue reading” to reveal the answers.

Continue reading

Share:

On the usefulness of machine translation (hear me out!)

Colleagues who know me know that I’m not a proponent of offering machine translation post-editing as a service. There is just so much to fix in a machine-translated text that it’s not a productive way of working, especially if you’re a perfectionist like me, who would find it to difficult to leave a sentence alone if the translation can be understood but could be improved.

Nevertheless, I don’t belong to the camp who believe that machine translation (MT) is never useful. In fact, I challenge anyone to tell me that MT would not save them time if they were translating the following sentence.

Continue reading

Share:

I’m going to Cannes!

As I was doing the washing up last night, I decided to tune in to France Info. And it was perfect timing: a few minutes later the presenter interviewed Aurel about his film, Josep, which had been selected for the Cannes Film Festival 2020.

The animated film, produced by Les Films d’Ici Méditerranée, tells the story of Josep Bartoli, a Catalan artist who was among the many Republicans who fled north into France to escape the Spanish Civil War. The French government placed the refugees in concentration camps, in awful conditions, in the middle of winter. You can read a full review in English here.

So why was I so excited when this interview came on the radio?

Continue reading

Share:

For your critical documents, don’t trust a translator!

Hear me out… You’ve spent days or weeks working with a team to fine-tune your document before it is published. Now, it’s time to get it translated, so all you need is a good translator, right?

Wrong. If you needed a team to put together the original version, what makes you think a translator working alone will produce what you need? For your most critical documents, don’t trust a translator, trust a translation team. If you hire a translator who will work with another colleague, you’re more likely to receive a translation that has the same impact as the text you produced.

My workflow varies from project to project. For instance, for a recent document that had lots of short, catchy titles, I had a brainstorming session on the phone with my colleague, but I wouldn’t do that for every project. Here’s a typical workflow I might use when working with a colleague on an important document:

Step 1 – My first version: The fact my work will be read by an accomplished colleague shouldn’t make any difference. But I’ll be honest with you: it does. My reputation is important to me, and I know my colleague will pick up on anything that doesn’t quite sound right, or worse, any blatant mistranslations. So I read my work a little more carefully before passing it on. For some parts of the text, I even offer two solutions and leave a note asking my colleague which one he or she prefers.

Step 2 – My colleague’s edits: My colleague reads my work through carefully, edits it to improve the text, and adds additional comments with other ideas.

Step 3 – I go through all my colleague’s changes. Some of them I accept; some I reject; some I replace with a better idea.

Step 4 – My colleague looks at my feedback, and makes additional suggestions.

Step 5 – Depending on how much discussion is still taking place, I’ll either finalise the text or get on the phone and discuss the last few points.

Step 6 – I read through the entire text one last time in English to check the overall flow of the text before sending it to the client.

If it took an entire team to draft your document, or you had five different versions before you produced the definitive one, don’t have it translated by a translator working alone. Find a team.

Share:

Izaskun Orkwis’s article on institutional translation

I first met Izaskun Orkwis at the 1st International Conference of Economic, Business, Financial and Institutional Translation, when my only institutional client was the OECD. Since then, she’s given me some great advice on how to get my feet in the door of international institutions.

In an article for the latest edition of the ATA Chronicle, Izaskun draws on her experience with international institutions to explain some of the quirks of working for them and how to ensure your translation is fit for purpose. The article is packed with pearls of wisdom. Here, I highlight just a few, with some additional remarks based on my own experience:

“the different language versions must match exactly, including all nuances and formal structure…replacing parentheses with commas may be fine in other contexts, but not in institutional translation”

 

“There will be humongous databases and parallel corpora that will be both a blessing…and a curse (sometimes you must reuse previous language, unchanged).”

Sometimes I’ve translated 3,000 word documents in 15 minutes, as nearly the entire document is a recycled version of an old one in the translation memory. But as Izaskun says, sometimes the databases are a curse. This is especially true when you find inconsistencies in the memory and you spend far more time deciding which previous version to use than you would have spent just translating it from scratch.

“the institutional translator must…lose their individual voice…the translated document, just like the original, belongs to the institution, which is its sole author”

 

“the institutional translator must…adopt the institution’s working methods”

The latter is particularly challenging for those of us who do short-term contracts for various institutions, as the working methods vary from one institution to another. To give just one example, the World Trade Organization uses Trados Studio (with two different workflows, depending on the type of document), whereas the United Nations Office at Geneva has its own computer-assisted translation tool that runs in the browser. Some institutions require you to upload your translation to a portal; others ask you to save it to a shared network drive.

“the institutional translator must…adhere to vetted terminology”

Izaskun goes on to say that you should consult a terminologist if you feel the need to depart from the vetted terminology. In the work I’ve done, I tend only to have to consult one of the revisers, not a terminologist.

Sometimes the solution in the terminology database is not what the more senior translation staff actually use. In such cases, if I were working at home, with my own setup, I would quickly edit the entry in my termbase, but in an institutional setting, terminology vetting is a complex process and it can take a long time for the entry to be corrected. It gets even more complicated if you suggest a change to the editorial manual. Since it is used by all the UN offices, someone in Geneva can’t just change something without consulting colleagues in New York, Nairobi and elsewhere, which is perhaps why we’re still not allowed to make country names possessive, despite the fact that every UN translator I’ve ever spoken to hates the rule!

“whenever there’s a quote from or a reference to a previous document, no matter how long or short, you must assume there exists a previous translation that needs to be found and reused”

Continue reading

Share:

“Pain of the field” es lo de menos

Varios medios españoles y internacionales nos han ofrecido la noticia esta semana de que la web del Ministerio de Industria, Comercio y Turismo tiene una noticia en inglés sobre el nombramiento de un tal “pain of field” como miembro del Oficina Internacional de Pesas y Medidas. Este nombre raro es el resultado de la traducción automática del nombre de Dolores del Campo.

Una de las noticias más compartidas sobre el tema es bastante sorprendente: la de Euronews tiene un inglés muy deficiente, probablemente como resultado de una traducción automática.

Otra cosa que me ha sorprendido Continue reading

Share:

Financial translation CPD part 1: the 3rd ICEBFIT conference in Alicante

I have just returned from attending two events related to financial translation: the 3rd International Conference on Economic, Business, Financial and Institutional Translation, at the University of Alicante, and the Summer School for Financial Translators, in Brussels. This post is about the first of the two.

I had already attended the first conference in 2014, and although it was very academic, many practitioners also attended, including representatives of several international institutions. One speaker from a major international institution did an excellent talk about recruitment processes in institutions, and after I spoke to her and sent a CV, I began receiving interesting projects at good rates. For that reason alone it had been worth my while attending the conference.

The headline act this year was Chris Durban, who spoke on “Dichotomies, differentiators and predictors. What mystery shopping can teach us about successful corporate translation”. Unfortunately I arrived late after TAP Air Portugal cancelled one of my flights, so I missed most of the opening day, including Chris’s presentation and that of well-known Spanish financial translator Javier Gil González, who spoke on “Emerging areas of work for financial translators” (voted best presentation by those who attended the conference).

On the final day, Ondrej Klabal and Michal Kubanek of Palacky University Olomouc (Czech Republic) presented research that showed how translation students produced better translation when they were exposed in advance to some kind of professional discourse on the same broad subject matter, either in the form of a TV interview or in the form of a newspaper article.

Two days earlier, Defeng Li of the University of Macau also presented research on preparation, but this time for conference interpreters rather than translators. The researchers found that interpreters who were given preparation material plenty of time in advance, allowing them to prepare properly, performed better than those who received no preparation material at all. No surprise there. What was most interesting about the team’s findings, however, was that interpreters who were given only 10 minutes to read their preparation material actually performed worse than those who had no preparation time at all. Analysis using eye-tracking technology suggested that those who received last-minute material were too distracted to interpret properly, because they were looking through their glossaries while simultaneously trying to listen to the speaker and translate what they were saying.

All but one of the presentations I was able to attend following my late arrival were by speakers affiliated to universities, so it felt like the “institutional” aspect of the conference had been neglected a little this year. This made the event less attractive to practitioners. Although the conference was well organised and many of the topics were interesting, before deciding whether to attend the next edition I will look carefully at the programme and weigh up whether I will get a good return on my investment. If the organisers can attract more institutional speakers, like they did in 2014, then I’ll almost certainly sign up again. If not, I’ll probably only go if I happen to be in the area around the same dates for another event.

This year I was attending another event less than a week later: the Summer School for Financial Translators. More on that in my next post…

Share:

CPD at sea!

As a translator who has now been specialising in sailing for over three years, I thought it was about time I spent some time out on the water myself, learning how to sail and seeing first-hand what all the terms I use mean, so I signed up to Good Hope Sailing Academy‘s Competent Crew course. We had some theory classes, but it was mainly a practical course, out on the water.

The first two days we didn’t get far out of the harbour, because the wind was too strong for us novices, so we spent quite a lot of time on the theory. On day 3, however, we sailed much further, and on day 4 we went right out to Robben Island. The experience has been thoroughly enjoyable, thanks in no small part to the other students and our excellent skipper/teacher Digby.

As you can see, the views of Table Mountain and the surrounding hills from the water are pretty awesome!

A brief moment to relax while heading back towards Cape Town on a starboard tack.

A brief moment to relax as we close-hauled back towards Cape Town on a starboard tack.

Terminology was an important part of the course, which is one of the reasons why I signed up. The terms we learned were related to the parts of the boat, the names and parts of the sails, the points of sail and manoeuvres, among others. Many of the terms were ones that I was already familiar with, having used them in my translations, but it was helpful to see those terms in practical use, and it was reassuring to hear the captain use certain terms and expressions in the same way that I had used them in my translations, confirming that I’d used good sources when researching terminology and collocations. For example, hearing the skipper say “Shake out the reef” provided welcome reassurance that I use the correct expression to refer to the removal of a reef (i.e. a fold) from the mainsail. I also learned dozens of new terms, such as cleats (fittings used to secure lines), stanchions (the vertical posts to which the guard rails are attached), clew (the corner of a sail between the foot and the leech, or back edge) and to pinch (to sail too close to the wind, as a result of which the sail begins to flap).

Translators will tell you that one of the causes of a poor translation is that the translator has not understood the text. Thanks to this Competent Crew course, I will better understand the texts I will be translating and will be more aware of how to use the terms and expressions in English. I also believe it will help me better engage with conference attendees when I attend sailing conferences, since I will be able to better understand the conversations between session and participate in them.

On day 3 I was feeling a little unwell, and at one point I actually felt like I didn’t want to ever sail again! But I caught the bug again on day 4, and perhaps at some point in the future I’ll sign up to the Day Captain course!

Share: