質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

1回答

1375閲覧

Visual Studioでの実行時の言語の参照について

tak_type_r

総合スコア11

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

1クリップ

投稿2022/07/11 09:31

編集2022/07/13 12:31

VS2022でC#で多言語対応(英語、日本語)のWindows Formsアプリを作成しています。
OSは日本語版のWindows10です。

アプリ起動時の、言語切り替えの仕組みについて質問します。

Formプロパティの言語設定(Language)で規定値では、各コンポーネントのTextプロパティを日本語、
言語が英語の場合は、各Textプロパティを英語の文字列を設定しています。

規定値は日本語なのですが、Debugモードでアプリを実行すると、なぜか各コンポーネントが英語で表示されてしまいます。
Releaseモードでは、日本語で表示されます。
なぜDebugモードでの規定値は日本語なのに、英語で表示されてしまうのか?
また、その現象を解消して日本語で表示させるには、どうすれば良いのでしょうか?

Visual Studioの経験が少ないため、解決方法が分かりません。よろしくお願いします

ビルド環境
Visual Studio Professional 2022(64bit) Version 17.1.3
Windows 10 Enterprise(64bit)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/07/11 10:03

何を作っているのですか? Windows Forms アプリ? そういう情報書けませんか? 必要最低限のコードその他問題を再現できる情報を書いてもらえませんか?
Zuishin

2022/07/11 10:13 編集

プロジェクトファイルをテキストエディタで開いて双方の違いを見てみたら良いと思います。
tak_type_r

2022/07/12 08:15

>SurferOnWww Windows Formsアプリです。質問文を修正しました
tak_type_r

2022/07/12 08:29

>Zuishin *.csproj内で、以下のタグ部分を比較しましたが、言語に関する設定はありませんでした <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> lang, languageでプロジェクトファイル内を検索しましたが、見つかりませんでした。
Zuishin

2022/07/12 08:50

多言語化をどのように行っているかを書いておらず、「ビルドモードで設定が異なる」ということしかわからないので、現状の方針としては、そこで何が異なっているかを調べるよりありません。 検索で探すのではなく、異なっている部分を抽出してみましょう。 通常、多言語化は次のように行います。 https://atmarkit.itmedia.co.jp/fdotnet/dotnettips/314winmultilang/winmultilang.html
tak_type_r

2022/07/13 02:58

なるほど。実装方法を記載すべきでした。説明不足で申し訳ありませんでした。 実装方法は、提示して頂いたURLで説明している様な方法で、実装しています。 つまり、FormのLanguageプロパティで 規定値:日本語 英語:英語 の時に、対応文字列をを各コントロールのTextに設定しています。 対応するリソースファイル(Form.resx, Form.en.resx)がFormに紐づいています。 異なっている部分を探してみます。アドバイスありがとうございました。
guest

回答1

0

自己解決

アプリ起動時に以下の様に、強制的に英語を設定している部分がありました。
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en", false);

他の人が作成したコードを引き継いだ為、考えが及ぶ&発見するに至りませんでした。
アドバイスをして頂いた方、ありがとうございました。

投稿2022/07/13 03:31

tak_type_r

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問