太田 晃 [著] 2008/12/19 14:00

1 2 3 →

0.はじめに

 C#言語(以下、C#)とVisual C# 2008(以下、VC#)を用いると、驚くほど簡単に多言語対応アプリケーションを作成することができます。

 しかし、多言語対応アプリケーションを作るための文書はネット上に散見していて、まとまった情報を手に入れることが難しいのが現状です。

 そこで本稿では、オープンソースソフトウェアの日本語化を通じて筆者が知った多言語化に関するTipsをまとめてみようと思います。

1.イントロダクション

.NET以前の多言語化

 .NET環境が登場する前は、多言語化を行うために利用するツールと言えば、もっぱらgettextを用いたものでした。gettextを使うと、プログラマは、標準的な関数名にgettext独特のsuffixを付け加えればよく、gettextはそれ以上の手間を要求しないことが大きなアドバンテージとなっていました。

 多言語化については別途用意した言語ファイルを用いて行うことができたため、翻訳作業にプログラマ以外の人間が参加できるという点もgettextの大きな特徴で、これも手伝い、オープンソースソフトウェアを中心に広く普及しました。

 これはプログラム中に多言語対応したメッセージを埋め込まなくてよいという、画期的な方法でした。こうして、プログラム自体はひとつで、言語ファイルを入れ替えることによって多言語に対応するというスタイルが定着したのです。

.NET環境下における多言語化

 さて、本稿で取り上げるC#とVC#による多言語化の手法も、基本的にはこの考え方と同じです。

 アプリケーションの内部には多言語化されたメッセージを埋め込まず、リソースという形で多言語のメッセージを用意しておきます。後は、このリソースをコンパイルし、プログラムと共に配布すれば、プログラムが実行時に自動的に必要な言語のファイルを読み込んでくれるという仕組みです。

 しかも、.NET環境下においては、海外で作成された(多言語化を考慮していない)アプリケーションであっても、gettextのようにすべての表示関数にsuffixを付け足すような手間なく、多言語化対応が可能になっています。

 これは、特にWindowsフォームアプリケーションや、既定のコンポーネントを利用したプログラムにおいて顕著で、多言語化の敷居は、従来よりぐっと下がったと言えます。

2.対象読者と開発環境

 対象読者として、C#によるプログラミング経験があり、アプリケーションの多言語化について興味を持っている人を想定しています。また開発環境として、前述のとおりVisual C# Express Edition 2008 SP1を用います。


1 2 3
→
INDEX
C#による多言語対応アプリケーション開発のコツ
Page1
0.はじめに
1.イントロダクション
2.対象読者と開発環境
3.Windows Form Application とコンポーネントの多言語化
4.Windows Form Application の管理下にない文字列の多言語化
5.まとめ
6.参考資料
プロフィール
太田 晃 オオタ アキラ

 ブログ(http://repse.blogspot.com/)では、coLinux上にMinGWを用いてクロスコンパイル環境を構築し、そのうえでSDLやOpenGLを使ってWindows向けのプログラムを書くとか、海外のソフトウェアを(勝手に)日本語化するとか、Windowsのインデックスサービスを叩いてみるとか、あんまり人がやらないことを、こっそり・ひっそりやってます。


注目の求人情報
技術営業・マーケティング/外資系ITサービス企業
■営業、プリセールス、デリバリーコンサルタント ERPシステムやITシステムの営業~プリセールス~デ...
システムエンジニア/商社系SIベンダー
・Windows、UNIXでの情報系システムの開発・・保守 ・お客様との打ち合わせを通じて要件定義、設計、実...
システムエンジニア/社名非公開
・キヤノン電子と協業でCRM領域(コールセンターシステム、営業支援システム、ECサイト構築等)の増強を...

(最新日付順)
名前(ゲストの方もコメントをどうぞ):*
アイコン:
なし

内容(テキストのみ1200文字まで):*

投稿規定に同意して

スポンサーサイト

この記事のトラックバックURL: