ブログアーカイブ
アプリケーションの多言語対応
Visual Studioを使用したアプリケーションの多言語の方法です。
Windows フォーム
- Windows フォームアプリケーション プロジェクトを作成します。
- フォームにコントロールを配置します。
- ソリューションエクスプローラーでプロジェクトを選択して右クリック、プロパティーを選択します。
- アプリケーションのアセンブリ情報をクリックして、ニュートラル言語を(なし)から変更します。
- Windows フォームのLocalizableをTureに設定して、Languageプロパティーを変更します。それぞれ対応する言語に合わせてラベル、ボタンなどのテキストを変更します。
Multilingual app toolkitを使用する場合
- メニューの 「ツール」-「多言語アプリツールキット」-「選択範囲を有効にする」を選択します。
- ソリューションエクスプローラーでプロジェクトを選択して右クリック、「多言語アプリツールキット」-「翻訳言語の追加」を選択します。疑似言語[qus-ploc]と追加する言語を選択します。
- MultilingualResourecesフォルダーのxlfファイルを選択して Multilingual Editor を起動します。候補表示をクリックして翻訳します。[qus-ploc]は必ず翻訳してください。
WPF アプリケーション
- WPF アプリケーション プロジェクトを作成します。
- MainWindows.xamlなどのファイルにコントロールを配置します。この例ではTextBlockコントロールを追加します。
- ソリューションエクスプローラーでプロジェクトを選択して右クリック、プロパティーを選択します。
- アプリケーションのアセンブリ情報をクリックして、ニュートラル言語を(なし)から変更します。
- Resources.resxファイルを開きます。アクセス修飾子をPublicに設定します。名前と値を入力して文字列を追加します。ここではTranslateTestとします。
- MainWindows.xamlファイルを開きます。Window要素にxmlns:Properties=”clr-namespace:(プロジェクトの名前).Properties” 属性を追加します。
- TextBlockコントロールの要素にText=”{x:Static Properties:Resources.TranslateTest} 属性を追加します。
- MainWindows.xaml.csファイルを開きます。[C#]
private CultureInfo cultureOverride = new CultureInfo("qps-PLOC");
を追加します。またコンストラクターのInitializeComponent();の後に
if (Debugger.IsAttached == true && cultureOverride != null) { Thread.CurrentThread.CurrentUICulture = cultureOverride; Thread.CurrentThread.CurrentCulture = cultureOverride; }
を追加します。Using the Multilingual App Toolkit with WPF Applications | Synergist:を参考にしました。
- MainWindows.xaml.csファイルを開きます。[C#]
-
Multilingual app toolkitを使用しない場合は、Resources.[lang].resxファイルを追加します。英語(米国)の場合はResouces.en-US.resxファイルを追加します。それぞれ値を翻訳します。
Multilingual app toolkitを使用する場合
- メニューの 「ツール」-「多言語アプリツールキット」-「選択範囲を有効にする」を選択します。
- ソリューションエクスプローラーでプロジェクトを選択して右クリック、「多言語アプリツールキット」-「翻訳言語の追加」を選択します。疑似言語[qus-ploc]と追加する言語を選択します。
- MultilingualResourecesフォルダーのxlfファイルを選択して Multilingual Editor を起動します。候補表示をクリックして翻訳します。[qus-ploc]は必ず翻訳してください。
ユニバーサル Windows プラットフォーム アプリ(UWP)
- 空白のアプリ(ユニバーサル Windows)を選択して ユニバーサル Windows プラットフォーム用のアプリ プロジェクトを作成します。
- MainPage.xamlなどのファイルにコントロールを配置します。この例ではTextBlockコントロールを追加します。
- Package.appxmanifestファイルを開きます。既定の言語を設定します。
- ソリューションエクスプローラーでプロジェクトを選択して右クリック、Stringsフォルダーを作成します。さらにそのフォルダーにResources.reswファイルを追加します。
- Resources.reswファイルを開きます。アクセス修飾子をPublicに設定します。名前と値を入力して文字列を追加します。ここではTranslateTestとします。
- MainPage.xamlファイルを開きます。TextBlock要素にx:Uid=”TranslateTest”を追加します。
-
Multilingual app toolkitを使用しない場合は、Stringsフォルダーに[lang]サブフォルダーを作成してResources.reswファイルを追加します。英語(米国)の場合は\en-US\Resouces.reswファイルを追加します。それぞれ値を翻訳します。
Multilingual app toolkitを使用する場合
Windows 10に対応したUWPを翻訳するには、Multilingual app toolkit 4.0が必要です。Multilingual app toolkit 3.0はWindows 8.1のUWPのみ対応しています。
- メニューの 「ツール」-「多言語アプリツールキット」-「選択範囲を有効にする」を選択します。
- ソリューションエクスプローラーでプロジェクトを選択して右クリック、「多言語アプリツールキット」-「翻訳言語の追加」を選択します。疑似言語[qus-ploc]と追加する言語を選択します。
- MultilingualResourecesフォルダーのxlfファイルを選択して Multilingual Editor を起動します。候補表示をクリックして翻訳します。[qus-ploc]は必ず翻訳してください。