2013年11月12日火曜日

PHPで国際化対応がバッチリできた技術面についてと新たな問題点を発見!

前回、PHPでWebサイトの国際化をしてみました。わけです。
まずは技術的な面を簡単に記載しておきます。

まずはここまでの経緯です。

1つ目のWebサイトは前職での経験を活かし、
バッチリ設計して作っていきましたが、
ちょっと懲りすぎてしまった部分と、ミスにより、
メンテナンスに手間取るようになってしまっていました。

2つ目のWebサイトは、そんな反省点を活かしつつ、
一時期流行に流行ったRuby On Railsの設計方法をさらっと勉強した後、
シンプルイズベストで作っているため、メンテナンスや改修も結構簡単です。
この辺りで通常のWebサイトを立ち上げるための
テンプレートが出来上がったという感じがありました。

そして、今回、集大成と言うべく、
国際化対応まで視野に入れて作ってみたというわけです。

さて、使っているのは書いてある通りPHPなのですが、
実際には静的なHTMLとたいして変わりません。

各コンテンツは以下のようなイメージで構成されています。
・全体の外枠となる部分
・閲覧者が見る部分の骨格
・実際のコンテンツの制御部分
・コンテンツの中身
(この他にTipsになるファイルやCSSやJSなどの細かいファイルが入っていきます。)
これらをincludeして使っていきます。

GoogleでPHP、国際化対応や多言語対応と検索すると
gettextを使った .poファイルとか、 .moファイルという難しい説明がなされているのを
見かけた方も多くいらっしゃるかとおもいますが、そんな複雑なことはまったくしていません。

コンテンツを増やすときには、
・実際のコンテンツの制御部分
・コンテンツの中身
の2つのファイルを作るのみです。
(実際には言語毎のファイルを作った方が良いのかも知れませんが
1人でメンテナンスもするので、めんどくさくないようにこうしています。)

あとは、閲覧者のブラウザの言語環境を取得し、
自動的に言語を設定して、表示すればOKというわけです。
テストもバッチリ!
ホクホクの状況で正式運用を開始し始めたわけですが、
実は1つ気になることがありました。

検索エンジンのインデックスがどうされていくかです。
ウェブマスターツールでチェックすれども、チェックすれども、
まだまだ海外からの訪問者はないようです。
もしかすると・・・?
そんな不安を抱える日々でしたが、
なんと、その不安は的中してしまっていました!

普段はもちろん、google.co.jpでチェックしているわけですが、
google.comにインデックスされているこのサイトをチェックしたところ、
なんと、日本語です・・・。これは困りました・・・。
失敗していました。

次回はこの辺りの解決方法か、
リクエストがあれば技術的な詳細にいってみようかと思います。