日本のアニメオンエア時間検索を作ってみました

前の投稿でホームページを多言語しましたという投稿をしましたが、実はその目的がこれだったりします。

β版開発室の方にて「日本のアニメ検索」を作ってみました。β版開発なので、正式サービスとして公開する予定はなく、あくまでも開発目的で作ってあります。

内容はアニメ検索と言いながら、今後一週間のアニメのオンエア時間を見れるというものです。ジャンルごとに分かれているのでジャンルで検索すればそのジャンルで表示するアニメを絞り込むことができます。他にも検索項目があればよかったのですが、まあとりあえず作ってみたものなので、気が向けば増やしてみたいですね。

まだテスト運用したばっかりなので正常に番組内容が新しくなるかはもうちょっと動かしてみないとわからないです。一応1日ごとに更新されます(予定)。

まあ、アニメ検索自体は他のサイトでもやっているのであんまり需要はないのですが、今回作ってみたのは他の言語でも同様に表示されるというのをやってみたかったからです。言語を変更したブラウザで開けばその言語でテキストが表示されるようになっています。ただ、アニメのタイトルは結構特殊なものが多いので正常に翻訳されていないものも結構あるのですが、そこはイメージで感じ取ってください、ってな形で。ちなみに翻訳できなかった場合は日本語にしています。グローバル的には英語にするべきなのですが、日本のアニメなんで日本語のままにしてあります。

あと、オンエア時間とかは自動で更新されているので正しいかどうかは特に検証していません。とりあえずこんなアニメがあるんだー、へー、程度で見ていただければと思います。


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

ホームページ「ソーサリーフォース.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 ストアアプリとか。まあ、まだホームページにしか使ってないので、機会があれば他のソフトも多言語対応してみたいですね。

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


チェックリスト管理ソフト「ラステイル Ver 4.02」公開

先日バージョンアップしたラステイル Ver 4.01 なのですが、タスクトレイのアイコンの画像が間違っていたので直したものを Ver 4.02 としてアップしました。特に機能面で修正はしていないので、気にしないのであれば Ver 4.01 を使っていても問題ありません。

ダウンロードページ


チェックリスト管理ソフト「ラステイル Ver 4.01」公開

バグを見つけたので1カ所修正しました。修正した内容は以下のものになります。

  • チェックリストを水平分割、または垂直分割した際に2画面目の方のタブが複数になった場合に正常にタブを選択できなくなる不具合

クリティカルな問題ではないのですが、使用上問題がある方は、以下のページからダウンロードして上書き更新してください。


Windows ストアゲーム「エイッとウォーズ 」Ver 1.01 が公開されました

表題のとおりなのですがやっと公開されました。Ver 1.01 を公開するにあたって2回もリジェクトされてたのでへこんでたんですが、やっとでてきましたね。ネット接続する場合、いくつか審査で引っかかりやすいので気を付けないといけないですね。

さて、バージョンアップ内容なのですが、すでに公開前から専用ページに書いていたのですが以下の通りになります。主にオプション的な機能を追加しています。ゲームバランスについては特にいじってはいません。

  • ステージクリア後にスコア表示
  • 各ステージのベストスコア画面追加
  • クリア済みのステージ選択 (全バージョンは前にのみ戻れたが、Ver 1.01 は双方向可)
  • プレイヤーレベル選択 (ただし条件を満たす必要あり)
  • ステージクリア後、同じステージを再挑戦できるようにした
  • クリアスコアを Twitter につぶやき (IE起動)
  • アプリのファイルサイズを10%程度縮小

 

主な追加機能としてはスコアが追加されたところですかね。各ステージごとにスコアがでるので、最短クリアや低レベルクリアの記録を残せるようになりました。スコアは Twitter にも連携できるのでバンバン投稿しちゃってください。

 

エイッとウォーズ専用ページは以下のURLになります。

ダウンロードページではないですが、ストアに直結するページは以下のURLになります。


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

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

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

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