OSDN Ticket Archive


Ticket #39723

macOS版 日本語環境の判定に失敗する

登録: 2019-11-04 22:00 最終更新: 2019-11-07 01:30

報告者:
yknk
担当者:
yknk
チケットの種類:
バグ
状況:
完了
コンポーネント:
MIDITrail Ver.1.3.x for macOS
マイルストーン:
Version 1.3.1 for macOS (完了済み)
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし

詳細

macOS Mojave (10.14)とmacOS Catalina(10.15)にて、日本語環境の判定ができていない。 MIDIデータの日本語タイトルが文字化けして表示される。

チケットの履歴

2019-11-04 22:00 更新者: yknk
  • 新しいチケット "macOS版 日本語環境の判定に失敗する" が作成されました
2019-11-04 22:01 更新者: yknk
コメント

原因

デフォルトエンコーディングID取得メソッド MTFileOpenPanel::GetDefaultEncodingId にて、 以下の値が"ja_JP"であれば、日本語環境であると判定していた。

pLocale = [[NSLocale currentLocale] localeIdentifier];
しかし、この値が"en_JP"で返されていた。OSの仕様変更による影響と考えられる。 Mojaveよりも以前から、本自称が発生していた可能性がある。

2019-11-04 22:02 更新者: yknk
コメント

対策

iOS版でも同様の問題が発生していたため、iOS版の対策をそのまま適用する。

  • #36987 iOS版 日本語環境のロケール判定に失敗する

具体的には、[NSLocale preferredLanguages]で返される先頭のオブジェクトを参照し、 "ja"で始まる文字列だった場合は、日本語環境であると判断する。

preferredLanguagesが返す値の例は、"ja-JP"である。

(編集済, 2019-11-04 22:05 更新者: yknk)
2019-11-07 01:30 更新者: yknk
  • 解決法なし から 修正済み に更新されました
  • 状況オープン から 完了 に更新されました

添付ファイルリスト

添付ファイルはありません