ReSharper 2026.1 Help

コードインスペクション: 要素はローカライズ可能です

このインスペクションは、ハードコードされた文字列リテラルを検出し、 リソースファイルに移動することを提案します。 同じ文字列がすでにリソースに定義されている場合、ReSharper はリテラルを既存のリソースエントリに置き換えることを提案します。

すべての文字列をリソースに移動してローカライズする必要があるわけではないため、ReSharper にはこのインスペクションを構成する方法がいくつか用意されています。 「Element is localizable」インスペクションが 有効になっている場合、以下のフローチャートに従って動作します。 アルゴリズムの各ステップは、チャートで説明されています。

ReSharper: 「要素をローカライズ可能にする」インスペクションの仕組み
  1. 逐語的な文字列には @ が接頭部として付けられます(例: @"Hello world"

  2. デフォルトでは、逐語的文字列はローカライゼーションインスペクションで無視されますが、 コード編集 | インスペクション重大度 ページの 逐語的な文字列を分析しない オプションを使用して ReSharper オプション Alt+R、O でこの設定を変更できます。

  3. ローカライズ可能な プロジェクトプロパティは、プロジェクト内の文字列の扱い方を定義します。 このプロパティを変更するには、ソリューションエクスプローラーでプロジェクトを右クリックし、 プロジェクト項目のプロパティを編集する を選択してから、 ローカライズ可能> [ デフォルト | はい | いいえ ] を選択します。

  4. 現在のプロジェクトまたはそれが参照する他のプロジェクトにリソースファイル( .resx )が含まれている場合、ReSharper はそのプロジェクトをデフォルトでローカライズ可能と見なします。

  5. 特定の関数やプロパティで文字列値を受け取る場合は、 LocalizableAttribute でマークすることで、受け取る文字列のローカライゼーションインスペクションを [Localizable(true)] で有効化、または [Localizable(false)] で無効化できます。

    シンボルは 外部アノテーション を使ってこの属性でマークできることに注意してください。 例: 外部アノテーションは、 Console.WriteLine[Localizable(true)] でマークするために使用されます。

  6. ローカライズ可能なインスペクタ プロジェクトプロパティは、 LocalizableAttribute でマークされたメンバーによって消費されない文字列リテラルの処理方法を定義します — 楽観的 アルゴリズムはそのような文字列を無視し、 悲観的それらにローカライズ可能としてフラグを立てます

    このプロジェクトプロパティを変更するには、ソリューションエクスプローラーでプロジェクトを右クリックし、 プロジェクト項目のプロパティを編集する を選択してから、 ローカライズ可能なインスペクター> [ 楽観的 | 悲観的 ] を選択します。

現在のプロジェクトでローカライゼーションインスペクションを無効化する最も簡単な方法は、エディターでハイライトされた文字列の上で Alt+Enter を押し、 アクションリストの対応するコマンドを使用することです:

ReSharper: プロジェクトのローカライゼーションインスペクションを無効にする

このコマンドは、現在のプロジェクトで ローカライズ可能な プロパティを いいえ に設定します。

2026 年 6 月 12 日