Sync Phonetic Characters of Android Phone and Google Contacts

Android端末とGoogle Contactsのふりがなの同期

この問題はAndroid1.6で起きたものであり、2.0以降は名前、ふりがなが、名と姓に分かれたため、問題は起きなくなりました。

2010年11月現在、googleの連絡先もふりがな対応し、こちらの問題も起きなくなりました。

背景

当然のことながら、Androidは、Googleのサービスとの連携を前提として設計されているため、完璧にかつ簡単に同期をしてくれる。

ここで問題となりそうなのは、Google Contactsにあるふりがなとの同期くらいではなかろうか。

ふりがなの同期の問題は、有名なトピックであり、2010年4月現在、この問題が一般的に語られるようになってから、かなりの月日が経つので、ほとんどのユーザは問題を解決していると思われる。

しかしながらその対策の情報は断片的なものが多く、まだ困る人もいるかもしれないので、まとめてみることにした。

以下はGoogleからの公開されている情報ではなく、検証に基づいた推論を含んでいる。よって、間違いや、システム変更による違いが生じるかもしれない。

Google Contacts

Google Contactsは、ふりがなに完全に対応しているとは言えない状況である。しかしながら、Google Contactsにふりがなのフィールドは正しく存在している。

以下を理解していないと、項目が消えた、反映できない時があるなどの問題に遭遇するかもしれない。

フィールドのマッピング

ふりがなのフィールドにアクセスするためには、どのフィールドが、どこへマッピングされるのかを知る必要がある。

エクスポートする形式は以下の3つがある。

このうち、Outlook CSV 形式はふりがなのフィールドへのマッピングがない(もしくは、私が発見できなかった)ので、残りの2つの形式をみてみる。

名前のフィールドはかなり多数存在しているが、ここでは主要な3つのフィールドについてとりあげる。

Google CSV 形式では、これらの名前のフィールドが、Name,Given Name,Family Nameという名称でエクスポートされる。

それに対応したふりがなのフィールドは、Yomi Name,Given Name Yomi,Family Name Yomiとなっている。

vCard 形式の場合、これらは、FNとNにマッピングされ、FNはName、Nの1番目には、Family Name、Nの2番目には、Given Nameがマッピングされる。

それに対応したふりがなのフィールドは、Family Name Yomiが(存在しない場合にはYomi Nameが)、X-PHONETIC-LAST-NAMEに、

Given Nameが、X-PHONETIC-FIRST-NAMEにマッピングされる。またWeb上で見ると、カスタフィールドに名前がつけられ、表示される。

以下に表で表す。

インポート時の場合のマッピングも同様である。

ただし、vCard形式のX-PHONETIC-LAST-NAMEは、Family Name Yomiにマッピングされるので、Yomi Nameにマッピングされることはない。

また、インポート時に同一の名前がすでに存在すると他のフィールドもインポートされないので一旦削除する必要がある。

これで、Google Contactsの各フィールドにふりがなを反映させることができる。

あとは、データを新規に作成したい場合には、ファイルを作成して、フィールドにデータを入れ、インポートすればよいし、移行したい場合には、

SDカードにvCard形式で出力したり、Outlook等からエクスポートしたり、データリンクソフトなどで、CSV形式などにエクスポートし、加工すればよい。

なお、CSV形式の場合には、インポート時に手動でマッピングさせることも可能である。

端末との同期

Google Contactsにふりがなを登録したい理由の大半は、Web上でのみ使用するためではなく、他のPC上のソフトウェアや、携帯端末と同期をとりたいからだと思われる。

Google Contactsにふりがなを反映させる方法は理解できたと思うが、どこへ入れておけばいいのかを判断するために、携帯端末と同期をとる場合、

その端末の同期ソフトがどこへ何をマッピングしているのかを知る必要がある。

まずは最初の移行時。最初端末側にデータがあり、Gmail側に移行して同期をとりたい場合、同期をしてみて、必要な情報がすべて反映されたなら、

それでマッピングを知ることができ運用可能になる。

最初にGmail側にデータをいれ、それを端末へ移行し、同期したい場合には、端末が必要とするものをマッピングされる場所に入れておかなければならない。

端末側は通常、上記6つのフィールドすべてと同期しているわけではない。

私の知る限り、Windows Mobile等のExchangeを使用した同期の場合、Name, Given Name, Family Name, Given Name Yomi, Family Name Yomiがマッピングされた。

Android(試したのはNTT DocomoのXperiaのみ)のGoogleSyncを使用した同期の場合では、Name, Given Name, Family Name, Yomi Nameがマッピングされた。

つまりAndroidと同期させるデータを最初にGoogle Contactsへインポートしたい場合、vCard形式のX-PHONETIC-LAST-NAMEはYomi Nameにマッピングされることはないので、

vCard形式ではなくGoogle CSV 形式を使うしかないということになる。

次に運用時を考慮する。同期するということは、どちらかのデータが更新されたとき、片方のデータも更新されていなければならない。

この際に注意しなければならないのは、よみがなのフィールドはWeb上では編集できないということである。

これらを同期データとして使いたい場合には、端末側で編集するか、Web上であればエクスポートして編集してインポートを行わなければならない。