start

多言語ロケールの憂鬱

Mac OS Xは、本格的に多言語ロケールに対応した、(恐らく世界初の)OSだ。これが意味するところは、世界中の様々な言語ならびに地域文化(例えば「暦」や「年号」「通過単位」など)を、実に優雅にシームレスに扱えるということだ。

[システム環境設定]-[言語環境]で、言語を英語にすれば、OSの各種メニュー・メッセージは英語表記になるし、他の言語を選べばその言語表記になる。また、一般アプリケーションも対応するロケール情報さえ持っていれば、システム環境にあわせた言語表記になる。某OSの一般の多言語対応アプリケーションのように、メニューの言語一覧から、表示に使う言語を選ぶ必要などない。

なので、英語の勉強もかねて、うちのMac OS Xは今、英語ロケールで地域文化は日本という設定になっている。

このロケールの仕組みは、(かなり単純なものではあるが)先進的でアンビリーバブルなだけに、一般アプリケーションの対応は、まだまだ今一つという感じだ。

実際、英語ロケールで使っていると、様々な不具合に遭遇する。

まずはiTunes。これは昨日の日記に書いた通り。

次にMicrosoft Messenger。こいつは、ロケールによって、ソフトの設定や会話ログの設定先が違う(具体的には、ディレクトリ名が違う)。そのため、ロケールを切り替える度に一部設定が初期化されていたり、会話ログがロケール単位でしか管理できなかったりと、不便。

そしてFlash Player。全角文字が化ける時がある。発現条件は不明。ブラウザのロケール設定を日本語にしても化けるので、Flash Playerのロケールはブラウザのそれとは独立してるっぽい。まぁ、大体のFlashは化ける事なく表示されるので、今のところはそんなに難儀はしてないけど。

……とまぁ、現在わかってる不具合はこんなもの。話に聞くところ、Javaのコンパイルで日本語が通らなくなったりもするとか。

折角、OS自体は多言語環境に対応してるのに、肝心のアプリがこれじゃなぁ…。

iTunes小ネタ

システム設定の言語環境を英語にして、曲を再生したら曲情報が文字化けした!

ID3タグの処理の問題(?)で、日本語ロケール以外で起動させると文字化けが発生するらしい。

iTunes.appを右クリックメニューの「情報をみる」で開き、「言語」ってところで「Japanese」以外のチェックを外せば、無条件で日本語ロケールで起動させることができる。これで解決。これはiTuensに限った事じゃなく、多言語ロケールを持つ他のアプリケーションにも応用可能。 個人的には、iTunesは英語ロケールの方がフォントがカッコイイ&見やすいんだよね。日本語ロケールでも昔は見やすかったのに、なんでヒラギノで表示するようにしちゃったんだよ……。

曲情報を編集したのに、反映されない!再生すると変更前の曲情報に戻ってる!!(MP3限定?)

「ID3タグを変換」で、「ID3タグバージョン」を「なし」に一旦[OK]。その後、改めてタグバージョンを設定する。されば編集した情報が反映されるようになるであろう。

曲名の頭に付いてるチェックボックス、1つずつ設定するのが面倒だ!

⌘+左クリックでチェックボックスを押すと、一括してON/OFFを切り替えられる。

切り替えはプレイリストウィンドウ単位で行われ、任意に選択した曲単位での切り替えは出来ない。どうしても任意の曲単位で操作したい場合は、検索やスマートプレイリストで上手い事絞り込むしかない。

「ライブラリを書き出し」で書き出したファイルには「再生回数」情報も入ってるのに、「読み込み」で考慮されないのはなぜ!?

最近のバージョン(少なくとも7)では考慮されるようになった模様。

謹賀新年

明けましておめでとうございます。

例によって、名実共に更新頻度の低いサイトですが、本年もご愛顧のほど宜しくお願いいたします。

さしあたっての目標。

  • PSSAudioRipperの完成(1月中)
  • KbMedia Playerのようなプレーヤソフトを作る(~3月)

専門用語の日本語訳

ADCの英文資料をチマチマと和訳してるけど、専門用語(準固有名詞)の扱いをどうするか、非常に悩む。本当の固有名詞(地名とか)は訳しようがないからいいんだけど、既存の単語を組み合わせて特殊な意味を持たせたような用語ってのが曲者。

例えば、先の日記にも書いてある「Default Output Unit」(以下DOUと略記)。 この単語の意味するところは、「Audio MIDI 設定.appの『デフォルトの出力』で指定されている音声装置を表わすAudio Unit」だ。

DOUを“プログラミングにおける専門概念”と考えるのなら原語のまま書くのがいいと思うが、用語の意味するところを考えたら「デフォルト出力ユニット」と書くのがよさそうな気はする。本当ならdefaultもカタカナ語は避けたいところだが、Audio MIDI 設定.appの表記を考えると「デフォルト」にするのが妥当かなと。

DOUはまだマシな方で、magic cookieなんてどうしろと?という感じである。

翻訳は難しい。

Default Output Unitを用いた音声出力サンプル

Core Audioで音を鳴らすための簡単なサンプル。Apple提供のサンプル CoreAudio/SimpleSDK/DefaultOutputUnit を簡単化&日本語化しただけの代物。440Hzの正弦波を Audio MIDI 設定.app の「デフォルトの出力」で指定されてる装置から出力しまする。

何気にC++なんぞで書いてますが、所謂better C的な使い方しかしてないので、簡単な修正で(C99準拠なら無修正でも?)Cなソースとしてコンパイルできるハズ。

こんなソースでライセンス主張できるのか甚だ疑問かつ恐縮だったりするけど、一応パブリックドメインってことで。煮るなり焼くなり好きに汁! Macのためならえんやこらせ〜。

Download DefaultOutputSample.dmg(17.3KB)

  • start.txt
  • 最終更新: 2022-07-27 15:26
  • by Decomo