URLから言語を指定できるようにしました

sorceryforce.net のサイトのほうですが、今まではブラウザに設定されていた言語設定によって対象の言語で表示するようにしていましたが、URL から表示する言語を設定できるようにしました。

アドレスの後ろに「?lang=en」のようにクエリ文字列を指定すれば対象言語で表示できます。今は40言語程度対応していますが、対応外の言語を指定した場合は日本語で表示されます(たぶん)。

あと、このパラメータはほかの画面に引き継げないので、ほかの言語で見たいページがあるときの対処として使ってください。(ほとんど自分用)

]]>

ホームページを多言語対応しました

ホームページ「ソーサリーフォース.net」を多言語化対応してみました。対応している言語は列挙するのがちょっと大変なので書きませんが大体40か国語ぐらいに対応しています。主要な言語については大体サポートしているつもりです。

1年前に英語には対応していましたが、なんとなくやってみた程度だったので、半分ぐらいは翻訳されていない状態でした。最近プログラムの方をさわる機会ができたので今回一気に多言語対応しました。ただ、ページによってはそもそも多言語化する必要のないところもありますので、そこはそのままにしてあります。

多言語化の仕組みなんですが、sorceryforce.net ではサーバープログラムに ASP.NET MVC を採用しています。ASP.NET MVC にはローカライズの仕組みがあり普通に多言語化する分にはこれを使って作ります(作ると思います)。

ただ、調べてみると言語が増えるたびにファイルが増えて行くというなんとも嫌らしい構成になるらしく、数言語ぐらいならまだしも全世界対応ってなると相当な数になるみたいです。ビューを言語ごとに作成するとなると、レイアウトとか変更するたびに全ファイル修正しなければならなくなり、ビューの修正が億劫になってしまいます。私も Windows From でちょろっと多言語化やってみたのですが、同じように Windows Form のデザインを言語ごとに作る必要があり、とてもめんどくさそうなイメージがありました。まあ、ASP.NET MVC ならビューの継承、Windows Form ならフォームの継承を使ってある程度はごまかせるのですが、テキストが右⇒左方向だったり、翻訳語のテキストが長くなったり、文字の大きさが変わったりするので結局は微調整に時間を取られそうな感じがしますね。Windows Form は問題が顕著になりますが、Web ならレイアウトはある程度ブラウザが補間してくれるのでなんとかなりそうな気がしますが。

で、そんなこんな考慮してみて、最終的には多言語対応はすべて自前で実装しました。Visual Studio のリソース入力もめんどそうだったので、テキストはすべて Excel で管理し、日本語さえ入力すれば後は半自動的に他の言語に翻訳してくれるようにしました。半自動っていうのは、テキストを入力した後に頻繁に翻訳されても困るので、入力した後にバッチ叩けばプログラムにまで自動反映されるよー、っていう感じにしてあります。

実際にビューに出力する方法としては、テキストはすべて ID 管理されているため、.cshtml とかで @Model.GetMessage(なんちゃらID) のようにしておけば、後はブラウザの言語を判定して対応する言語で表示されるようになっています。ID は列挙体なので、ID 名でどんなテキストかわかんなくてもマウスカーソルを合わせれば summary で元の日本語が表示されるのでとても便利です。

あと、この仕組みはプラットフォームに依存しないようにしてあるので、ASP.NET でなくても、.NET Framework であれば他のアプリケーションにも適用できるようになっています。クライアントツールとかゲームとか Windows ストアアプリとか。まあ、まだホームページにしか使ってないので、機会があれば他のソフトも多言語対応してみたいですね。

ちょっといろいろ長くなってしまい、また内部的な話になっていしましたが、要はホームページを多言語化対応しました、という話でした。

]]>

レスポンシブデザインにしてみた

最近話題になっているレスポンシブデザインをホームページの方に適用してみました。とはいっても sorceryforce.com の方ではなくて sorceryforce.net の方です。

レスポンシブデザインと大々的に描いてますが、適用しているのはブラウザの幅に合わせてレイアウトを変更している部分です。スマートフォンとかのようなブラウザサイズが小さい画面でもコンテンツをなるべく表示できるようにしています。まあ、もともとPC向けのサイトなのでページによってはそれほど快適になるわけではないんですけどね。ここらへんは CSS の調整次第かと思います。

sorceryforce.net の方はサービス系のアプリとかを公開するために作ったんですが、しばらく放置気味だったのでこれから少しずつ構築していく予定です。外部コンポーネントとか使わずに自分で構築しているので結構時間がかかったりとかテストが面倒だったりしていますが、そのかわりすべて自分で制御できるので自由度は高いですね。

]]>

bing の検索結果が微妙

Web PI (Web Platform Installer) 3.0 をダウンロードしようと IE からデフォルトのまま bing で検索したんですが、なぜか 3.0 が出てこないで 2.0 が上がってくる、または 3.0 でもベータ版の情報が上がってきます。

bing2

ちなみに Yahoo! (Google エンジン)で検索した場合。欲しいものが一番上に上がってくる。

 

yahoo2

bing はもうちょっと直感的に欲しいものを上にあげてくれるようにしてほしいかなと思った今日この頃。

(ちなみにキーワードを「Web Platform Installer 3.0」にしても上がってきてくれませんでした orz)

]]>

震災による電車定期券の払い戻し

震災によって5日間以上電車が運休になっていた場合、その期間割で定期代の払い戻しが可能ということで窓口に行ってみました。

行く前にひとつ疑問に思っていたことがあったのですが、払い戻しした場合でも今使っている定期券はそのまま使えるはずなので、同じ定期券を再度持って行った場合に2重の払い戻しになってしまうのではないかと思ってました。(この時は新しい定期券を再発行かなーと思ってました)

実際に行って聞いてみたところ「今使っている定期の期限が切れた後に払い戻しをすることが可能」とのことでした。確かにこれなら納得です。(それまで払い戻しはできませんが。私の場合は7月まで期間があります(^^;))

]]>

オンラインストレージ リアルタイムファイル同期サービス

2011年3月11日の東日本大震災のようにパソコンや HDD がすべて津波で流されたなど、いくらローカルでバックアップ体制をとっていてもデータが損失してしまう事態が起こる可能性がでることが否定できない状態になっています。これを機会にデータをオンラインのデータセンターなどにバックアップしておきたいという需要が震災前よりも出てきたのではないかと思います。

とまあ一応前置きとして震災のことについて書きましたが、それ以外の意味合いでも複数のPCでのファイル自動同期はかなり便利なのでこれらのオンラインサービスはどんどん普及すると思います。

2,3年前ぐらいは「Dorpbox」がこのサービスで有名になり持てはやされていましたが、今となっては他にもいろいろなオンラインストレージサービスが立ち上がってきたため、今まで優位に立っていた Dropbox も容量や日本語対応などいくつかの部分で他のサイトよりも若干遅れをとっている状態になったようにも思えます。

そこで今存在するファイル同期オンラインサービスからいくつか試したものがあるので簡単に比較表を載せたいと思います。あまり詳しくまでは調べていないので Windows 限定であることと、日本人なので日本語に対応しているサイトについて載せています。また、1GB など容量が小さいものも省いています。

サービス名

SugerSync

Windows Live (Mesh)

Dropbox

4shared

ZumoDrive

登録 URL 登録 URL 登録 URL 登録 URL 登録 URL 登録 URL
無料登録のストレージ容量 5 GB 5 GB 2 GB 10 GB 1GB ~ 2GB (いくつか手順を踏むことによって 2GB になる)
有料登録のストレージ容量 30GB ~ 500GB なし 50GB ~ 100GB 100GB 10GB ~ 500GB
フォルダ指定
  • 場所自由
  • 複数指定可
  • デフォルトで固定フォルダがひとつ作成される
  • 場所自由
  • 複数指定可
  • 場所自由
  • 1つのみ指定
  • 場所自由
  • 1つのみ指定(複数指定可だが、同じファイルが同期されるだけ)
  • 場所自由
  • 複数指定可
  • ただし Z ドライブなどドライブレターを一つ消費する
日本語対応 完全対応 完全対応 未対応 対応 (Web は一部英語) 完全対応 (初期表示は英語、一部日本語訳が変)
クライアント管理ツール あり あり (ただし、フォルダの一覧を表示、作成などの簡易ツール) 設定ツール あり 設定ツール
Web 管理ツール あり あり (簡易)、SkyDrive と併用 あり あり あり
その他
  • スマートフォン対応
  • お気に入り, Office テンプレートなどの設定同期
  • オンラインストレージを使用しない P2P による PC 間ファイル同期もあり。こちらは容量制限なし
  • SkyDrive 併用であるため、登録すると同期ストレージ枠とは別にファイル保管用の 25GB のストレージ枠が使用可。
    • スマートフォン対応
  • 同期システムはベータバージョン
    • スマートフォン対応
私感 インターフェースとかわかりやすい感じがします。
無料ストレージ枠も大きいのでおすすめかも。
管理インターフェースは簡易的なものしかありませんが、
ファイルをフォルダに入れれば自動的に同期されるのであまり問題なし。
それよりもファイルサイズ無制限で PC 間同期の方が魅力。
同期パフォーマンスがいい。
ただしでかいファイルを同期すると CPU 処理を一時的に持って行かれることも。
使用事例は多い。
Web やクライアントのインターフェースがわかりにくいかも。
容量が大きいのは魅力なのですが…。
以前は 1GB のみで Z ドライブにしか同期できない、
必要なときにしかファイルがダウンロードされないなどがありましたが、
今は他のサービスに引けを取らないぐらいになりました。

私の場合、いままではストレージの同期として Dropbox のみを使っていて、PC 間のファイル同期としてはファイルサイズ制限のない Windows Live Mesh を使っていました。Windows Live Mesh の P2P によるファイル同期は PC が 立ち上がってないと同期されないので古いファイルが混在する可能性があるのですが、ひとつ同期用サーバーとして常時立ち上げていれば、ファイル数、ファイルサイズに制限がないファイル同期ができるので今でも主力で使っています。

ひとつひとつのオンラインサービスだと上限 5GB ほどなので足りないように思えるかもしれませんが、複数のサービスで登録すれば数十GBぐらいにはなるかと思います。ただ、ファイルがいろんな場所に点在する可能性があるので、1か所にまとめたいのであれば有料版の使用も考えてもいいかもしれません。まあ Windows Live Mesh のときのようにひとつファイル同期サーバー作ってしまえば無料版だけでもファイルを1か所にまとめることもできたりしますが(^^)

]]>