sorceryforce.net のほうで Tips 公開始めました

今まで Tips 系の記事は sorceryforce.com のほうに書いていましたが、あちらはすべて静的な HTML で書いているため、ちょっと管理が面倒になってきました。

そのため、現在プログラムのほうで動かしている sorceryforce.net のほうで記事を載せられるように構築したので今後はこちらのほうに載せていきたいと思ってます。

まあ、ブログとか CMS 使えばいいじゃんっていう話にもなるかもしれませんが、細かいところまで制御したかったので必要な部分だけ自分で作ってしまいました。まだ対して載せられる項目はないのですが、今後少しずつ作り上げていきたいと思います。

あと、Tips 系の多言語化についてですが、HTML 付きの翻訳が割とめんどくさそうなので、Tips 系の記事については多言語化していません。必要であれば他サービスの翻訳機能をつかって見る形になるかと思います。

]]>

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

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

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

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

まだテスト運用したばっかりなので正常に番組内容が新しくなるかはもうちょっと動かしてみないとわからないです。一応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画面目の方のタブが複数になった場合に正常にタブを選択できなくなる不具合

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

]]>

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

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

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

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

]]>

Windows Mobile 用の Twitter クライアント「ちーたん Ver 1.06」公開

Twitter API の仕様がまた変更になったため、投稿やお気に入りをする際、POST メソッドが使えなくなってしまいました。GET メソッドであるタイムラインは正常に取得できています。

とりあえず POST メソッド関連の処理を治しましたのでアップデートお願いします。これよりも前のバージョンでは正常に動作しません。

]]>

Windows Mobile 用の Twitter クライアント「ちーたん Ver 1.05」公開

Twitter API の仕様が変更したためタイムラインの取得や投稿ができなくなっていました。今回はその対応のみ行っています。とは言っても来年の1月あたりにはまた動かなくなるのですが(^^;)

ちなみに今回の修正で Twitter API からパブリックタイムラインの取得が削除されたため、ちーたんでも設定しても取得エラーになります。まあ使っている人はほとんどいないと思いますが。

]]>

ComicStudio でレイヤーを別のページにコピーする(補足)

以前の投稿でレイヤーを別のレイヤーにコピーする方法を書きましたが、複数のレイヤーを一度にコピーする際どうやら非表示になっているレイヤーが含まれているとコピーできないようです。

なのですべてのレイヤーをコピーする場合はいったん可視状態にするか、不要であれば選択一覧から解除する必要があります。

非表示レイヤーは含めないで「Ctrl+C」でコピー
非表示レイヤーは含めないで「Ctrl+C」でコピー

]]>

Web サイト PDF 変換サービスの修正

URL に「&(アンパサンド)」が含まれている場合に PDF ファイルがダウンロードできない不具合がありましたので修正しました。今まで変換する URL がひとつの場合には PDF ファイルをそのままダウンロードする形になっていましたが、1つでも複数の場合でも ZIP ファイルにまとめてダウンロードできるようにしました。

]]>