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

AutoHotKeyの入手先

あくまでサンプルですのでご利用に関しては自己責任でお願いいたします。

 

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のコードも飽くまでもサンプルとして公開しております。ご利用に関しては自己責任でお願いいたします。