2014/05/26

【OSX】Mayaの言語切換えとplist

そういえばMaya2015が出ました(※かなりいいテンポでSP1も出ました(汗))。(20140528追記:さらにSP2も出ましたね…)
インストールしたてだと日本語UIで起動されるので居心地が悪いですが、
Wondowsだと環境変数書き換え、
OSXだとplistを書き換えることで対応できます。
(OSXでもplistじゃないところでの切り替えってあるんでしょうか…?(´・_・`))

(20140809追記:初期設定の書き換えは defaults を使うそうです!うーんなるほど
 > 「OSXの固有コマンド」)


plist(Property List)はOSXでのユーザー設定ファイルです。
/Users/{user}/Library/Preferences/に置かれるplistの多くは
Converted Binary Plist
というもので、
xmlで書かれているplistとは違ってバイナリなためエディタで開いても「……」です。
人間に優しくありません。
今回書き換えたい「com.autodesk.Maya.2015.plist」も、これです。

バイナリ版plistを扱うために、「pluti」というコマンドラインツールが用意されています。
(OSX 10.2から用意されたようです)

ターミナルを起動して
plutil -help

でヘルプを見てみましょう。
以下のような感じ。

plutil -help
plutil: [command_option] [other_options] file...
The file '-' means stdin
Command options are (-lint is the default):
    -help    show this message and exit
    -lint    check the property list files for syntax errors
    -convert fmt    rewrite property list files in format
                    fmt is one of: xml1 binary1 json
    -p    print property list in a human-readable fashion without attempting to convert the actual data
          (not for machine parsing! this 'format' is not stable)
    
    There are some additional optional arguments:
    -s    be silent on success
    -o path    specify alternate file path name for result;
               the -o option is used with -convert, and is only
               useful with one file argument (last file overwrites);
               the path '-' means stdout
    -e extension    specify alternate extension for converted files
    -r    if writing JSON, output in human-readable form
    --    specifies that all further arguments are file names

plistのパスを与えると、文法チェックしてくれたり、中身を読んでターミナルに表示してくれたりもします。
今回の狙いは「-convert」。
これを使って、バイナリなplistをxmlにします。
こういう感じ
plutil -convert xml1 /path/to/preference/some_app.plist

これで、与えたplistがxmlに書き換わります。
ヘルプによると、変換フォーマットとして「xml1」「bnary1」「json」が指定できるとのこと。
ファイル書き換えじゃなくて、とりあえず読めればいいんだけど
という場合には2種類の方法があります。

まずは「-p」オプションを使う方法。
plutil -p /path/to/preference/some_app.plist

これを使うことで「human-readable(※helpの言)」にしてくれるとのこと。
なるほど読める!

それから、書き換え同様 -convert を使いつつ、出力をファイルじゃなくてターミナル(stdout。標準出力。)にする方法。
同じ -convert でも、変換結果をファイルに出さない=ファイル自体は書き換えないという挙動になります。

plutil -convert xml1 -o - /path/to/preference/some_app.plist

-o」 というオプションで出力先を指定しますが、そこでファイルパスではなく「-」とすることで、
出力先が標準出力になります。
(なので、 - ではなくファイルパスを与えれば、そのパスへ変換されたplistが書き出されます。


今回は
plutil -convert xml1 /Users/{user}/Library/Preferences/com.autodesk.Maya.2015.plist
でxmlなplistに変換し、
図のように言語がEnglishになるように指定しました。

最後に、
plutil -convert binary1 /Users/{user}/Library/Preferences/com.autodesk.Maya.2015.plist
で元に戻して作業完了です。


◆参考

プロパティリスト @ wikipedia
http://ja.wikipedia.org/wiki/プロパティリスト

0 件のコメント:

コメントを投稿