社員技術ブログ

C#の多言語対応|Resourceファイルを使ったローカライゼーション実装方法|Tips#1

こんにちは、富士です!
ワイドソフトデザインは前年で創立30年を迎えており、これまでのシステム開発事業を支えてこられた熟練のエンジニアが多数在籍しておられます。
そんな中、弊社の熟練エンジニアが社内に共有してくれた有益な情報「C#のTips」をご紹介したいと思います。いくつか紹介したい内容があるので、当ブログは半年に1度のペースで連載するシリーズ化できればと思います。

そこで、第一弾となる今回のテーマはC#の多言語対応です。C#での多言語対応は、実は非常にシンプルで効果的な仕組みが用意されています。
このブログでは、実際のサンプルコードと合わせて3言語(日本語・英語・中国語)で運用した経験を基に、実践的な実装方法をお伝えします。

この記事を読むことで、以下のことが身につきます。

  • C#で多言語対応する実装方法
  • Resourceファイルの役割と使い方
  • CurrentCultureとCurrentUICultureの役割と使い方

では、はじめましょう!

C#多言語対応の基本概念

Resourceファイルとは

C#の多言語対応は、Resourceファイル(.resx)を中心とした仕組みで実現されます。各言語ごとにリソースファイルを作成し、実行時に適切な言語の文字列を取得するというシンプルなアプローチです。

CurrentCultureとCurrentUICultureの役割

多言語対応の核となるのが、以下の2つのプロパティです。

  • CurrentCulture: 数値、日付、通貨などの表示形式を制御
  • CurrentUICulture: ユーザーインターフェースの文字列を制御

これらを動的に変更することで、アプリケーションの表示言語をまとめて切り替えることができます。

実装手順

Step 1: プロジェクト構造の準備

まず、Visual Studio2022でプロジェクトを作成しましょう。プロジェクトテンプレートからコンソールアプリを使用してベースプロジェクトを作成します。

プロジェクトを開けたら、ソリューションエクスプローラーからプロジェクトを右クリックし、プロパティを開きます。

プロパティを開けたら、リソース>全般 にある「アセンブリリソースを作成する/開く」をクリックします。

自動的にPropertiesフォルダが作成され、その中にリソースファイルが配置されます。

他言語のリソースファイルも作成しておきましょう。
今回は以下の役割で作成します。

  • Resources.resx(英語)←作成済み
  • Resources.ja.resx(日本語)
  • Resources.zn-CN.resx(中国語)

Propertiesフォルダを右クリックして、追加>新しい項目の追加から全般>リソースファイル を選択し、ファイル名をResources.ja.resxにします。(同様に中国語も作成します。)

Step 2: リソースファイルを編集

リソースエクスプローラーで緑色の「+」からリソースを追加していきます。以下のように設定してみましょう。

名前 ニュートラル値 ニュートラルコメント ja zh-CN
WelcomeMessage Welcome to C# Tips & Tricks Sample Welcome message displayed at the start C# Tips & Tricks サンプルコード集 C# 技巧与窍门示例代码集

リソースが追加出来たので、Program.csに表示するためのサンプルコードを実装していきます。

Step 3: コードでの実装

基本的な使用方法

Program.csに以下を実装します。

では次に、他の言語に切り替える方法を確認していきましょう。

カルチャー変更の実装

以下のコードを実装します。※改行、インデントは調整してください。
 

まとめ

C#の多言語対応は、Resourceファイルを使うことで非常にシンプルに実装できます。多言語対応は、グローバル化が進む現代のソフトウェア開発において必須のスキルです。C#では、.NET Frameworkの標準機能を使うことで、簡単に実装できます。今回のサンプルコードを参考に、実際のプロジェクトで多言語対応を試してみてください。効率的に運用できます。ではまた次の記事で会いましょう!

関連記事

TOP