手帳

昔(バブルの頃)は「システム手帳」というのを使っていて、
打ち合わせやスケジュール管理に使っていた。
紙はグラフ用紙や無地など用途によっていろいろな様式があった。

今、俺が使っている手帳は
「測量野帳」というやつだ。
種類はいろいろあるがその中でも「方眼罫」が使いやすい。
表面裏面とも厚手の紙になっていて固いため、
手に持ちながら書いても書きやすい。
また、大きさも胸のポケットに入る大きさなので
使い勝手がとても良い。

嫁がマクロが使えるキーボードを

アマゾンで買った。
MMOで使うらしい。
当然ながら設定などは俺まかせだ。
以前、俺はマクロが使えるマウスを使っていたので設定は特に問題なくできた。
俺が使っていたマウスは1万以上のものだったが、買ったキーボードは2000円程度
俺のマウスと比べるとかなり安い。
まあこれから使うので、耐久性はどのくらいあるかはわからないが
マクロのほうは、俺のマウスよりいろいろと機能があり便利そうだ。


チェック中

 しばらく、放置していたためリンク先がなくなっているところが多く修正中。
 また、サイトが移動していることろもあったりと放置していたつけが...
 このドメイン下に作っていたサイトも廃止統合を進めようと思っている。
 まあ、今まで放置していたわけだしぼちぼちと作業を進めていく。
 Youtubeの動画(インド映画中の音楽)も多くが削除されている。
 リンク部分は削除する。

一日1食

ここ二か月ほど一日1食生活をしている。
体重が増えたためだ。
とはいっも、一日一食しているのは
平日のみで休日は普通に食事をしている。
始めた頃は75キロあった体重は70キロまで落ちた。
基本的に食事は夜だけで、特に野菜を多くしたりはせずに
好きなものを食べている。
だが、一日1食にしているせいか前よりは少しの量で
満足できるようになっている。
食事の際に欠かせないのがヨーグルトとイヌリンそれと米ぬかを混ぜたデザート。
イヌリンは腸内細菌の餌になるらしい、米ぬかは血中コレステロールの低下に有効性が示唆されている。
ただし、食べたら危険な人もいるので、この後に紹介する【「健康食品」の安全性・有効性情報】で確
認することをお勧めする。
ヨーグルトは小さいカップのものでそれを茶碗に移しイヌリンと米ぬかをスプーンに1杯入れてかき混
ぜると異様な色の食べ物に変わる。見た目も悪く美味くないが、腸がよくなるらしいというのでたべる
ようにしている。
困るのは次の日、つい多く食べてしまうとおなかにガスがたまるということ。でも、毎日快便だから良
しとしよう。
それと、体重が減ったのは食事だけでなく1日1時間のウォーキングもよかったのかもしれない。
食べ物は人の体質や持病などによって毒にもなる。
口に入れるものは注意が必要。
俺がいつも参考にしているサイトを紹介しておく。
「健康食品」の安全性・有効性情報〔国立研究開発法人 医薬基盤・健康・栄養研究所〕
テレビなどでよいといわれたものでも実際は効果がないものもある。このサイトを参考の一例として挙
げておく。
あくまでも一例でありほかのサイトも併用しながら、ご覧いただければと思う。

俺が使っている「イヌリン」は下のものだ。

海外DVD 字幕の付け方 その3

前回の続きです。
ダウンロードしてきた、英語の字幕データは下のような感じです。

00:00:16,727 --> 00:00:19,230
He just looks
like another
ball player to me.

これをDeepLで訳すと

00:00:16,727 --> 00:00:19,230
彼はただ見ているだけ
別のように
私にとってのボールプレーヤー。

こんな感じになってしまいます。
これでは意味が分かりません
しかし、元の英語を下のようにすると

00:00:16,727 --> 00:00:19,230
He just looks like another ball player to me.

00:00:16,727 --> 00:00:19,230
彼は私には別の球児にしか見えない。

と翻訳してきます。
見てわかるようにこちらのほうが、意味が分かりやすいと思います。

つまり
英語の字幕は途中で改行しているため
翻訳ツールを使うと1行ずつ翻訳するので
意味が分かりにくくなるということです。

この複数行になっている部分を1行にして翻訳すると
わかりやすい日本語になりやすいということです。

ただし、文が長くなると日本語の字幕も長くなってしまい
画面上ではみ出してしまうことがあるので
長い分は適当なところで改行する必要が出てきます。

この日本語の長い分を開業する作業は1話の中に
それほどないので手作業でいいのですが

英文を1行にする作業はかなりの手間がかかります。
この超人ハルクの場合1話当たりセリフ以外のデータも含め約3000行の
データがあります。

これをひとつづつ手でするには根気がいるので
下のようなエクセルのマクロを作ってみました。
なお、表示幅が小さいので改行がおかしくなっています。
コピーしてメモ帳などに張り付けていただくと
見やすくなると思います。
Sub Sample1()

    '=======================================================================================
    '
    '  途中で改行しているデータを1行にして出力する
    '
    '=======================================================================================

    '===============================
    ' 使用変数の設定
    '===============================
                
    Dim buf                         As String                                   ' 入力ファイル用のワークエリア
    Dim buf2                        As String                                   ' 出力ファイル用のワークエリア
    Dim filename_w                  As String                                   ' 出力ファイル名用のワークエリア

    '===============================
    ' 入力ファイルを開きます
    '===============================
    
    Open Cells(2, 2) For Input As #1                                            ' 入力ファイル名をcells(2,2)に入れます。つまりB2のセルに
    
    '===============================
    ' 出力ファイル名を編集します
    '===============================
    
    filename_w = Mid(Cells(2, 2), 1, Len(Cells(2, 2)) - 4) & "_out" & Right(Cells(2, 2), 4)     ' 入力したファイル名の後ろに_outを付加する
    
    '===============================
    ' 出力ファイルを開きます
    '===============================
    
    Open filename_w For Output As #2
    
    '===============================
    ' メイン処理出力
    '===============================
    
    buf2 = ""                                                                   ' 出力用ワークエリアの初期化
    
    
    Do Until EOF(1)                                                             ' データがなくなるまで処理を繰り返す
        
        Line Input #1, buf                                                      ' 入力データを読み込みます
                
        If IsNumeric(Mid(buf, 1, 1)) = True And Len(buf) = 1 Then               ' 文字長が1で数字の時
            
            If Len(buf2) > 0 Then                                               ' 出力ワークエリアに値が入っていたら出力します。
               Print #2, buf2
               buf2 = ""
            End If
            Print #2, buf                                                       ' 読み込んだデータをそのまま出力します。
        
        Else
            If IsNumeric(Mid(buf, 1, 2)) = True And Len(buf) = 2 Then           ' 文字長が2で数字の時
                    
                If Len(buf2) > 0 Then                                           ' 出力ワークエリアに値が入っていたら出力します。
                    Print #2, buf2
                    buf2 = ""
                End If
                Print #2, buf                                                   ' 読み込んだデータをそのまま出力します。
        
            Else
                If IsNumeric(Mid(buf, 1, 3)) = True And Len(buf) = 3 Then       ' 文字長が3で数字の時
                    
                    If Len(buf2) > 0 Then                                       ' 出力ワークエリアに値が入っていたら出力します。
                        Print #2, buf2
                        buf2 = ""
                    End If
                    Print #2, buf                                               ' 読み込んだデータをそのまま出力します。
                
                Else
                    If IsNumeric(Mid(buf, 1, 4)) = True And Len(buf) = 4 Then   ' 文字長が4で数字の時
                    
                        If Len(buf2) > 0 Then                                   ' 出力ワークエリアに値が入っていたら出力します。
                            Print #2, buf2
                            buf2 = ""
                        End If
                        Print #2, buf                                           ' 読み込んだデータをそのまま出力します。
                    
                    Else
                    
                        If Len(buf) = 0 Then                                    ' 読み込んだデータがNULLの時
                        
                            If Len(buf2) > 0 Then                               ' 出力ワークエリアに値が入っていたら出力します。
                                Print #2, buf2
                                buf2 = ""
                            End If
                            Print #2, buf                                       ' 読み込んだデータをそのまま出力します。
                        
                        Else
                            
                            If InStr(1, buf, "-->") = 0 Then                    ' 読み込んだデータに"-->"が含まれないとき
                            
                                buf2 = buf2 & " " & buf                         ' 出力用ワークエリアにあるデータの後ろに空白を入れた後、入力ワークエリアのデータを加えます
                                
                                If Right(buf, 1) = "." Or Right(buf, 1) = "?" Or Right(buf, 1) = ")" Then   ' 読み込んだデータの最後の文字が「.」「?」「)」なら出力用ワークエリアを出力します。
                                    Print #2, buf2
                                    buf2 = ""
                                End If
                                
                            Else                                                ' 読み込んだデータに"-->"が含まれていたとき
                            
                                Print #2, buf                                   ' 読み込んだデータをそのまま出力します。
                                
                            End If
                        End If
                    End If
                End If
            End If
        End If
                            
                            
    Loop

    Close #1
    Close #2
    

    
End Sub
簡単に内容を書くと
エクセルのB2セルにファイルのパスとファイル名を入れます。
c:\翻訳\01.srt という感じです。

実行すると1行ずつ読んでいき「.」「?」「)」が分の最後に出てくるまで
文字を繋げます。文字と文字の間には空白を入れます。「.」「?」「)」が
出てきたら1行のデータとして出力します。
数字や空行、時間等はそのまま出力します。
処理が終わると元のファイル名に「_out」とついたファイルができます。
この場合だと「c:\翻訳\01_out.srt」というファイルができます

簡単なマクロなので例外的なデータがあった場合は上手く編集できないかも
しれませんが、今のところ問題なく使えています。

まあ、参考程度でご利用ください。
問題が発生しても関知いたしませんのでご容赦ください。

 なお、翻訳はあくまでも自分で購入した海外のDVD等の動画を個人で
楽しむために翻訳するものであって、それを一般に公開する目的で翻訳
してはいけません。
 実際、自分で日本未公開の映画を自分で翻訳してインターネットで
公開した人が著作権違反で逮捕されています。くれぐれもそのようなことは
行わないように。

もし、この「海外DVD 字幕の付け方」の解説について問題等が
ございましたらコメントにてご連絡ください。削除もしくは非公開の対応をさせていただきます。

2020/8/5 追加
 上のマクロでは9999行までしか対応していません。
 もし、それ以上ある場合はマクロを修正してお使いください。