Google日本語入力のユーザー辞書を複数のPCで同期する方法

みなさん,こんにちは。
シンノユウキ(shinno1993)です。

仕事とプライベートで同じPCを利用する 。これは,私がぜひ実現したいライフ・プロジェクトの1つです。しかし,それを実現するのはまだまだ難しそうです。現状,職場専用PCと自宅専用PCを使い分ける必要があります。

仕事利用と自宅利用のPCを同じする利点はたくさんあり,その内の1つが日本語インプットメソッドのユーザー辞書の統一です。職場でも自宅でも同じユーザー辞書を使えるとスゴく便利です。仕事専用の単語もあるでしょうが,共通する単語も多くあるかと思いますので,分けるよりも統一した方が良いと考えるのは当然です。

今回は,Google日本語入力のユーザー辞書を複数のPCで同期する方法を紹介します。

※私が以前使用していたATOKにはこのような機能があったのですが,Google日本語入力にはそのような機能がありません(ただしデベロッパー版でテストはされている)。

Google日本語入力のユーザー辞書を複数PCで同期するためには,以下で示すように,PCを起動時にクラウドストレージからユーザー辞書をアップデート → シャットダウン時にユーザー辞書をクラウドストレージにバックアップすると良いでしょう:

  • PC起動時
    辞書データをクラウドストレージからアップデート

    予めクラウドストレージにバックアップしておいたデータを,使っているPCの辞書データにアップデートします。これは,PCを起動する度に行います。

  • PCシャットダウン前
    辞書データをクラウドストレージにバックアップ

    作業を終了し,PCをシャットダウンする前に,辞書データをクラウドストレージにバックアップします。これにより,PCを起動していた間に辞書登録したデータがバックアップされ,次回別のPCで起動する際にアップデートされます。

今回は上記を自動的に行えるようにするスクリプトを紹介し,タスクスケジューラを用いて自動化する方法を紹介します。ではいきましょう!

STEP①クラウドストレージを設定する

まずは,クラウドストレージを設定します。
GoogleドライブやDropBoxなど,ローカルPC上のファイルを自動的に同期してくれるクラウドストレージを選択しましょう。今回は,Googleドライブ(バックアップと同期)を利用していきます。

Googleドライブの場合,以下のリンクからダウンロードできます:

Google ドライブ: セキュアなクラウド ストレージを使ってオンラインでファイルを共有 | Google Workspace
Google ドライブのファイル共有プラットフォームについてご紹介します。個人向けの安全なクラウド ストレージとして利用し、コンテンツを他のユーザーと共有できます。

ダウンロード後,GoogleドライブのファイルをローカルPCに同期するように設定しましょう:

すると,以下のようにGoogleドライブのフォルダがローカルPCに作成されます。このドライブ内にGoogle日本語入力の辞書データをバックアップしていきます。

STEP②ユーザー辞書をバックアップ・アップデートするスクリプト

次に,以下の2つを行うスクリプトを紹介します:

  • バックアップされたユーザー辞書をローカルPCのGoogle日本語入力のユーザー辞書にアップデートする
  • ローカルPCにあるGoogle日本語入力のユーザー辞書をクラウドストレージにバックアップする

ここでキモになるのが「ユーザー辞書の情報が含まれたファイル」です。これをバックアップしたりアップデートしたりします。このファイルは,Google日本語入力のプログラム内に含まれます。おそらく,以下の場所にあるかと思います:

ユーザー辞書の情報が含まれたファイルの場所

C:\Users{ユーザー名}\AppData\LocalLow\Google\Google Japanese Input\user_dictionary.db

この「user_dictionary.db」にユーザー辞書の情報が含まれると考えられます。これを操作していきます。

まずは,このファイルをアップデートします。コードは以下のようになります:

@rem update_dic.bat
set filepathFrom="{Googleドライブのパス}\user_dictionary.db"
set filepathTo="C:\Users\{ユーザー名}\AppData\LocalLow\Google\Google Japanese Input\user_dictionary.db"
copy /Y  %filepathFrom%,%filepathTo% 
"C:\Program Files (x86)\Google\Google Japanese Input\GoogleIMEJaTool.exe" --mode=dictionary_tool

パス等は適宜変更してください。上記を実行することで,クラウドストレージから最新のユーザー辞書にアップデートできます。最終行のコードはユーザー辞書を開くもので,これにより変更が反映されます:

次に,ローカルPCのGoogle日本語入力のユーザー辞書をクラウドストレージにバックアップするスクリプトを紹介します。先ほどのコードと似ており,コピー元とコピー先が入れ替わり,ユーザー辞書を開く工程を排除,そして最後にPCをシャットダウンする工程を加えています:

@rem backup_dic.bat
set filepathFrom="C:\Users\{ユーザー名}\AppData\LocalLow\Google\Google Japanese Input\user_dictionary.db"
set filepathTo="{Googleドライブのパス}\user_dictionary.db"
copy /Y  %filepathFrom%,%filepathTo%
shutdown.exe /s /t 0

上記のコードを実行することでユーザー辞書の更新を行った場合にその差分をバックアップできます。

これらのスクリプトは,メモ帳等にコピペし拡張子を「.bat」としてわかりやすいファイル名で保存しておいてください。次のステップで,それらのスクリプトを自動で実行できるように設定します。

STEP③タスクスケジューラを設定する

ユーザー辞書をバックアップするスクリプトは,シャットダウンの前に実行します。ただし,Windowsではシャットダウン前にスクリプトを実行するようにスケジュールすることはできません。そのため,上記で紹介したコードのように「バックアップした後にシャットダウンする」ようにしました。

ただし,PC起動時に実行する,ユーザー辞書をアップデートするスクリプトは「タスクスケジューラ」を利用することで自動で実行することが可能です。以下でタスクスケジューラの設定方法を紹介します。

まずは,タスクスケジューラを起動します。
Windows + R「ファイル名を指名して実行」を開き,「taskschd.msc」を入力してください:

すると,以下のようなタスクスケジューラが開きます。右側から「タスクの作成」をクリックしてください。「基本タスクの作成」ではありません。「タスクの作成」です。

まずはタスクの基本的な設定を行います。

  1. 名前欄には,タスクを識別しやすいようにわかりやすい名前をつけてください
  2. 下部にある「最上位の特権で実行する」にチェックを入れてください。基本的には不要なのですが,念の為のお守りと捉えてください
  3. 右下の「OK」をクリックしてください

次にタスクのトリガーを設定します。トリガーというのはタスクが実行される条件のことを指します。辞書のアップデートがPC起動時に実行されるようにトリガーに設定しましょう。

  1. 「タスクの開始」を「スタートアップ時」に設定してください
  2. 「遅延時間を指定する」にチェックを入れ,遅延時間を「30秒間」に設定してください。ここで,遅延を30秒間に設定したのは,クラウドストレージの同期の時間を考慮したためです。たとえばGoogleドライブの場合,PC起動時にクラウドストレージとローカルとが同期されます。同期前に辞書を更新しても意味がないので,その時間を待っているというわけなのです

次はタスクで実行するプログラムを指定します:

  1. 「操作」では「プログラムの開始」を選択してください
  2. 「プログラム/スクリプト」には先に紹介した辞書をアップデートするプログラムの含まれたファイルのパスを指定してください
  3. 下部の「OK」をクリックしてください

最後にタスクに関する追加設定を行います:

  1. 初期設定では「タスクを停止するまでの時間」にチェックが入っていますので,そのチェックを外してください
  2. 右下の「OK」をクリックしてください

これで,完了です!

まとめ

今回は,Google日本語入力のユーザー辞書を複数PCで同期するための方法を紹介しました。「user_dictionary.db」にユーザー辞書の情報が含まれていることがわかれば,あとは各々好きなようにすれば良いと思います。まぁ,本音を言えば,1台のPCを職場でも自宅でも使いたいのですが,そのために乗り越えなければならないハードルは,まだまだたくさん存在しているのです…。

タイトルとURLをコピーしました