10月29日と11月1日に、東京と大阪でmemoQ Day 2019が開催されました。
memoQ Day Osakaでは、ほぼ毎年登壇させていただいていますが、今年は初めて自社名義で、しかも東京と大阪両方で登壇させていただきました。
発表内容ですが、memoQ を使って特許翻訳をする上で必ずぶつかる問題について私なりの対処法を紹介させていただきました。
具体的には
- 特許請求項を訳す際の問題点とその解決方法
- 数字の整合性に関するQAの誤検出についての対策
そして最後に、特許翻訳限定ではないですが
- バージョン9.1から、memoQに統合されたAntidoteという文法チェックソフトの紹介です。
詳しい内容は、下記のスライドをご覧になってください。
発表資料
AutoHotKey Script
特許請求項をmemoQで翻訳する際の工夫に関する話で、AutoHotkeyを使って所定のコメントをセグメントに挿入して、Wordにエクスポート後にWordマクロを使ってコメントに基づいて文書を処理する話をしました。
以下は、Windowsロゴキー + cのショートカットキーで、メニューを表示させ、メニューの表示に基づいて所定のコメントをセグメントに挿入するAutoHotKeyのスクリプトです。
#IfWinActive,ahk_exe MemoQ.exe
;コメント入力の自動化
Menu, memoQcomment, Add, Move to TOP, MoveUP
Menu, memoQcomment, Add, Move to END, MoveDwn
Menu, memoQcomment, Add, Delete Later, Delete
Menu, memoQcomment, Add, Destination, Destination
MoveUP:
Send ^m
Send [Post_Exp] MoveUP
Send {Enter}
Return
MoveDwn:
Send ^m
Send [Post_Exp] MoveDwn
Send {Enter}
Return
Delete:
Send ^m
Send [Post_Exp] Delete
Send {Enter}
Return
Destination:
Send ^m
Send [Post_Exp] Destination
Send {Enter}
Return
#c::Menu, memoQcomment, Show
#IfWinActive
あくまでサンプルですのでご利用に関しては自己責任でお願いいたします。
Word VBA Source Code
上記のAutoHotkeyと組み合わせて使うWordマクロのソースコードです。
Const MvDwn = "[Post_Exp] MoveDwn"
Const MvUp = "[Post_Exp] MoveUP"
Const SegDel = "[Post_Exp] Delete"
Const Destination = "[Post_Exp] Destination"
Sub ClaimPost_Processing()
Dim Cmt As Comment
Dim selRngStart As Long
Dim selRngEnd As Long
Dim selStr As String
Dim CmtIdx As Long
Dim CmtTxt As String
Dim Mode As Integer
With ActiveDocument
.TrackRevisions = True
For Each Cmt In .Comments
Select Case Cmt.Range.Text
Case Destination
Mode = 0
Case MvUp
Mode = 1
Case MvDwn
Mode = 2
Case seldel
Mode = 3
Case Else
Mode = -1
End Select
If Mode = 1 Or Mode = 2 Then
selRngStart = Cmt.Scope.Start
selRngEnd = Cmt.Scope.End
Cmt.DeleteRecursively
.Range(selRngStart, selRngEnd).Select
selStr = LTrim(RTrim(Selection.Range.Text)) & " "
Selection.Delete
CmtIdx = findDestination()
.Range.Comments(CmtIdx).Scope.Select
With Selection
If Mode = 1 Then
.Collapse wdCollapseStart
Else
.Collapse wdCollapseEnd
End If
.TypeText selStr
End With
.Range.Comments(CmtIdx).DeleteRecursively
ElseIf Mode = 3 Then
Cmt.Scope.Select
Cmt.DeleteRecursively
Selection.Delete
Else: End If
Next
.TrackRevisions = False
End With
End Sub
Function findDestination() As Long
Dim i As Long
With ActiveDocument.Range
For i = 1 To .Comments.Count
If .Comments(i).Range.Text = Destination Then Exit For
Next i
End With
findDestination = i
End Function
上記WordVBAのコードも飽くまでもサンプルとして公開しております。ご利用に関しては自己責任でお願いいたします。