Javascriptだけで多言語化

昨日Javascriptだけで多言語化する必要が出てきたのですが、
いろいろと問題に突き当たりましたので、記録を残します。

使用したもの

参考にしたWEBサイト

qiita.com

本題

まず初めに結論ですが、上記参考サイトの方法で多言語化は可能です。
ただし、l10n.jsのインストールには必ずbowerを使うことです。

私ははじめ、bowerでインストールを試みましたが、そもそもbowerがインストールされておらず、npmを通してインストールしました。

node.jsで下記のコードです。

npm install bower

そしてl10n.jsをbowerを使ってインストールするのですが、下記のようなエラーが出る場合

ENOGIT git is not installed or not in the PATH

エラー内容の通りですが、gitが入っていないんですね。

gitをインストールするのと同じくPATHも正しく設定する必要があります。 設定Pathは2つです

C:\Program Files (x86)\Git\bin
C:\Program Files (x86)\Git\cmd

パスの設定方法を記載してます。

flopper.hatenablog.com

これでl10n.jsを正しくインストールできます。

なぜこのような話をしたかと言いますと、  

bowerがなかったため本家サイトから直接インストール(l10n)をしましたが、  

bowerでインストールしたものとjsの中身がかなり違っていたためです。

ちなみにnpmインストールの段階でうまくいかなかった場合は -g など入れてみてください。

さらに追伸ですが、jsに詳しい方であればvue.jsなどがなくても多言語化は作れると思います。

ですが、私があえてvue.jsを選択した理由はいくつかあり、


  • {{}}このようにmustacheと呼ばれる記法でjsで生成したhtmlを埋め込みできること
  • v-bind:value=“"のように属性値に「v-bind:」を追加することで属性値にも埋め込み可能なこと

がvue.jsの選択理由です。

速度の面でも他のフレームワークに比べても圧倒的です。  

f:id:Flopper:20170825141318p:plain

(左から2番目緑バーのVue.js2.X系が今回のものです。)

Angular.jsよりも速度面で有利なのは驚きですが、軽量面でもAngular.jsより群を抜いています。

ただし、リリース日が2014年なので情報が圧倒的に少ないです。 そもそもJSフレームワークを利用している日本人が少ないです。

未だ情報が少ないvue.jsですが、html埋め込みの点でいえば最高に使い勝手のいいものなのでおすすめです。