ずっと日本語メインで作ってきたアプリを、国際化して多言語をあつかえるようにしなければいけなくなりました。ソースコードにハードコーディングされている日本語を洗い出す必要があります。
ひとつひとつファイルを精査していては時間がかかるので、grep検索でユニコード文字が使われている箇所を探して、そのリストをベースに国際化をしていくようにします。
普通のgrepコマンドでも探すことができますが、今回はgrepよりも高速なThe Sliver Searcherのag
コマンドを使って探してみます。Silver Searcherでユニコードを検索するコマンドは次のようになります。
$ ag '[\x80-\xFF]'
僕の環境では、コンソール上では文字化けしていましたが、一旦ファイルに書き出したり、クリップボードにコピーすると文字化けしてないデータが手に入ります。
ユニコードが使われている箇所をファイルに書き出す例
$ ag '[\x80-\xFF]' > need-to-internationalize.txt
ユニコードが使われている箇所をクリップボードにコピー(OSX)
$ ag '[\x80-\xFF]' | pbcopy
検索して見つかった箇所には、もちろんコメントや日本語向けのドキュメントなど、国際化の必要のないものも引っかかります。それらは、テキストエディアやGoogle Spreadsheetsなどを活用して取り除き翻訳が必要な箇所を絞り込んでいきます。