カテゴリー
PHP

PHPで数字を英語に変換する

5年前に作った「数字を英語に」を手直ししました。

数字を入れると、その数字を英語でどう読むかを変換するという単機能のサービスです。

たとえば、「42」に対して、”forty-two”を返します。

akimoto-jp-english-number

作ったまま放置していたのですが、少ないながらも毎日利用者がいるようなので、一から書き直してみました。

今回の作り直しでは、以下のような変更を行っています。

  • ベタPHPからSilexフレームワークの利用へ変更
  • PHPで書かれたライブラリNumber to wordをやめて、PHP Intl拡張を利用
  • 上記に伴い、英語・フランス語以外のテキスト化にも対応。話者人口の多そうな言語での結果を列挙しています。
  • デザイン無しから、流行のTwitter Bootstrapを利用、デザインをレスポンシブにしてスマートフォン対応
  • 各種ライブラリをComposer管理に

5年も経つといろいろ便利になって、労力は少ないのに見栄えも機能もいいもの(当社比)が作れるものですね。

5年前は、ライブラリの説明に「ドイツ語にも変換できるヨ」とあったので表示させていたら、ドイツ語のわかる方から「すごく間違った結果が出ますよ」と指摘されて引っ込めました。もし今回変換結果が違ってたら、僕の間違いというよりPHPかICUライブラリの間違いです。