ユーザー辞書のインポート/エクスポートを追加#319
Conversation
|
@artin-kagun 実装について確認させてください。各種IMEでユーザ辞書形式や品詞体系が違うと思いますが、そのあたりってどう吸収する設計になっていますか? |
|
@ensan-hcl お返事遅れまして申し訳ないです。 現状の実装では、各IMEの品詞体系を完全にazooKey側の品詞体系へ変換する設計にはしていません。 そのため、現時点での対応は、各形式のファイルからユーザー辞書項目として取り込めるという意味であり、IMEごとの品詞体系を保持・変換するものではありません。 インポート動作については、ローカルで以下のモック辞書を用意し、いずれもインポートできることを手動確認しました。
エクスポートも手動確認済みです。 |
|
@ensan-hcl すみません。追記です。 私が試験運用している中で変換品質の悪化に気づきにくかったのは、ユーザー辞書として名刺ばかりを取り込んでいたからかもしれません。 ユーザー辞書項目を変換器に渡すとき、 としています。 たとえばインポート元の辞書に のような項目があったとしても、それは変換機に以下のように渡されます |
|
そうだとすると、他のIMEの形式の辞書データを取り込むのは一旦スコープから外したいです。 |
|
azooKey用の辞書データフォーマットが必要かなーと思ってます |
|
ありがとうございます。 その場合、このPRではまず azooKey のユーザー辞書を情報を失わずに保存・復元できるネイティブ形式を定義するのがよさそうだと思いました。 今のazookeyのユーザー辞書(β版、50件登録可能)では品詞の登録ができないようになっています。 もしユーザー辞書取り込みという機能を作りこむのであれば、品詞の登録や(今後の拡張を見据えた)複数辞書対応のフォーマットにすべきと思いますが、ここはazookeyの方針がどうかによる気がします。 |
目的
ユーザー辞書設定に、既存の単一ユーザー辞書へファイルから読み込む / ファイルへ書き出すための導線を追加します。
#318 で一度まとめて提案していた変更のうち、このPRでは「ユーザー辞書のインポート / エクスポート」に範囲を絞っています。複数辞書管理、大規模辞書キャッシュ、候補欄へのコメント表示は含めていません。
変更内容
UserDictionaryTextCodecを追加しました。UserDictionaryTextFormatとして分けています。com.apple.security.files.user-selected.read-writeを追加しました。意図
まずは既存のユーザー辞書モデルを広げず、現在の
Config.UserDictionary.Value.itemsに対して入出力だけを足す構成にしています。形式サポートの細部はこのPR内でレビューしやすいよう、変換ロジックをUIから分離しました。検証
swift test --disable-sandbox --package-path Core --build-path /private/tmp/azookey-pr-import-export-buildgit diff --check upstream/mainplutil -lint azooKeyMac/azooKeyMac.entitlementsxcrun swiftc -parse azooKeyMac/Windows/UserDictionaryEditorWindow.swift