(前回)Cocoaの日々: アプリケーション名とフォルダ名のローカライズ(その1)
前回はアプリケーション名のローカライズを行った。今回はフォルダ名のローカライズをやってみる。方法は Mac OS X Referece Library に書かれている。
Mac Dev Center: File System Overview: Display Names
この中の "Specifying Localized Directory Names" によれば手順は次の通り。
1 フォルダ名に拡張子 .localized を付ける
2 フォルダ内に .localized という名前のサブフォルダを作成する(ターミナル.appを使う)
3 .localized フォルダ内に言語毎の .strings ファイルを用意する
(例)Sample Folder.localized/ .localized/ en.strings de.strings ja.strings
この .strings ファイル内に言語ごとのフォルダ名を記述する。この時、左側のキーをオリジナルの名前にしておく。
(例)"Sample Folder" = "Localized name";
実際にやってみよう。
まずファインダから Sample Folder という名前のフォルダを作る。
次にターミナル.app で名前を Sample Folder.localized に変更する。
$ mv "Sample Folder" "Sample Folder.localized"
中に入り、.localized フォルダを作成する。
$ cd "Sample Folder.localized" $ mkdir .localized
さらに .localized フォルダへ入り ja.strings を作成する。
$ cd .localized $ vi ja.strings
中身はこう
"Sample Folder" = "サンプルフォルダ";
で、フォルダを見ると:
おお、変わった。
ちなみにこの状態でフォルダを変更するとどうなるのか。ファインダから変えてみた。
ターミナル.app で見ると:
$ ls 別名にかえると?
変わっている。一方、中の .localized 構成は変わらず。ja.strings も変わらず。
名前を変えられるとそれ以降はローカライズ情報が使われなくなるようだ。
なおシステムが提供している /System, /Library などもファインダで見ると日本語で表示されているが、これは別の仕組みを使っているとのこと。
以下、引用
Note: System-defined directories, such as/System
,/Library
, and the default directories in each user’s home directory, use a localization scheme different from the one described here. For these directories, the presence of an empty file with the name.localized
causes the system to display the directory with a localized name. Do not delete the.localized
file from any these directories.