LoginSignup
12
8

More than 5 years have passed since last update.

アプリを多言語化したいので、日本語が書いてある行をgrep検索で洗い出したい

Posted at

ずっと日本語メインで作ってきたアプリを、国際化して多言語をあつかえるようにしなければいけなくなりました。ソースコードにハードコーディングされている日本語を洗い出す必要があります。

ひとつひとつファイルを精査していては時間がかかるので、grep検索でユニコード文字が使われている箇所を探して、そのリストをベースに国際化をしていくようにします。

普通のgrepコマンドでも探すことができますが、今回はgrepよりも高速なThe Sliver Searcheragコマンドを使って探してみます。Silver Searcherでユニコードを検索するコマンドは次のようになります。

$ ag '[\x80-\xFF]'

僕の環境では、コンソール上では文字化けしていましたが、一旦ファイルに書き出したり、クリップボードにコピーすると文字化けしてないデータが手に入ります。

ユニコードが使われている箇所をファイルに書き出す例
$ ag '[\x80-\xFF]' > need-to-internationalize.txt
ユニコードが使われている箇所をクリップボードにコピー(OSX)
$ ag '[\x80-\xFF]'  | pbcopy

検索して見つかった箇所には、もちろんコメントや日本語向けのドキュメントなど、国際化の必要のないものも引っかかります。それらは、テキストエディアやGoogle Spreadsheetsなどを活用して取り除き翻訳が必要な箇所を絞り込んでいきます。

12
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
8