フォルダのローカライズ : macOS Tips(3)

はじめに

vscode でパスに ASCII 以外の文字が入っていると、「code .」としてフォルダが開けなくなりました。これ自体はバグで以下のように Issues も上がっています。

github.com

Mac OS X 使い初めの頃は、私も新居さんのアプリを使って、フォルダ名をこまめにローカライズしていたんですが、最近はすっかりサボっておりました。

msyk.net

今回の件もあったので、日本語で作ったフォルダをちゃんとローカライズで対応することにしました。新居さんのアプリも古いですし、この程度ならちょっとしたシェルスクリプトで十分なので、ささっと作ってしまいました。

作成したスクリプト

作成したスクリプトはこれだけです。自分の bin フォルダに localize-folder という名前で保存し、実行属性をつけています。

#!/bin/sh

if [ "X$1" = "X" ]; then
  echo "Usage: localize-folder ascii-name"
  exit
fi

PWD=`pwd`
JAPANESE=`basename $PWD`
mkdir -p .localized
echo "\"$1\"=\"$JAPANESE\";" > .localized/ja.strings
cd ..
mv $JAPANESE $1.localized

使い方

日本語のタイトルが存在しているとします。ここでは「018.情報処理III」とします。ターミナルでこのフォルダ内に入ります。

cd 018.情報処理III

先程のスクリプトを実行します。英語名は「018.ip3」としました。

localize-folder 018.ip3

pwd で確認すると/Users/hkob/lecGit/018.ip3.localizedのように .localized という名前がついたフォルダに変換されています。なお、フォルダ内には.localizedというフォルダがあり、そこに ja.strings というファイルが作られています。中身を見るとちゃんとローカライズの設定ファイルも作成できています。

$ cat .localized/ja.strings
"018.ip3"="018.情報処理III";

ターミナルからは 018.ip3.localized というフォルダになっていますが、Finder では今まで通りの日本語ファイル名で見えています。

f:id:hkob:20211014084510p:plain
日本語名のフォルダ

おわりに

ターミナルのコマンドで瞬時に変換できるので、新居さんのアプリよりはハードルが低く、ローカライズをやろうかなという気になりそうです。macOS Tips は本当に不定期なんですが、今後も気づいたら追加していきます。

hkob.hatenablog.com