Emacsで保存時にgettextのpoをmoにしてくれるhook

WordPressなんかで使われているgettext。

poファイルからmoファイルを作るには、いちいちterminalで

msgfmt -o ./foo.mo ./foo.po

みたいなことをしなきゃいけなくて面倒だったのだけど、これで解決。

;; .poファイルを保存したらmsgfmt -oする
(add-hook 'after-save-hook
          (lambda ()
            (when (string= (file-name-extension (buffer-file-name)) "po")
              (shell-command (concat
                              "msgfmt -o "
                              (substring (buffer-file-name) 0 -2) "mo "
                              (buffer-file-name))))))

ジャンル: EmacsWeb