リソースファイルを用いてビュー上の日本語を管理する基本手順（ASP.NET）

# やりたいこと
ページの表記を日本語に変更する際、まとめて項目を管理したい。

# 問題になっていること
英語表記になっている箇所を日本語表記にしたいが、ビューやコントローラーが複数あり、効率よく管理したい。特に商品一覧に表示されているヘッダー部分は、複数のページで利用される項目であり、まとめて管理したい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/f4dd7f1f-72b7-810d-8779-83b7ca79ad40.png)
**ビューのサンプル**
```HTML
@ModelType IEnumerable(Of ASP.NET_Webアプリケーションの勉強.t_item)
@Code
ViewData("Title") = "Index"
End Code

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(Function(model) model.ItemName)
        </th>
        <th>
            @Html.DisplayNameFor(Function(model) model.RegistrationDate)
        </th>
        <th></th>
    </tr>

@For Each item In Model
    @<tr>
        <td>
            @Html.DisplayFor(Function(modelItem) item.ItemName)
        </td>
        <td>
            @Html.DisplayFor(Function(modelItem) item.RegistrationDate)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", New With {.id = item.Id}) |
            @Html.ActionLink("Details", "Details", New With {.id = item.Id}) |
            @Html.ActionLink("Delete", "Delete", New With {.id = item.Id})
        </td>
    </tr>
Next

</table>

```

# 調査した結果
リソースファイルを作成し、そこで日本語の項目を管理し、ビューファイルへ表示する方法が見つかった。

# やるべきこと
- リソースファイルを作成する
- リソースファイル内に日本語にしたい情報を、キーとバリューとして入力しておく
- コントローラー側でリソースファイルを読み込む
- ビュー側でリソースファイルにある情報を読み出す

## リソースファイルを作成する
1. ソリューションエクスプローラーに、"App_GrobalResources"のフォルダを追加する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/a6a052aa-0596-022c-ade3-940d595683d2.png)

1. リソースファイルを追加する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/a54579b1-6af2-7823-32af-f2e210e7f58b.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/a7983229-0edb-7f03-7069-7f3f5423714c.png)

1. 名前と値（キーとバリュー）に管理に必要な項目を登録する
**※アクセス修飾子は必ず"Public"に設定してください。設定しない場合、ビューで読み込みができません。**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/f74362b6-6cb8-1abc-852c-57c283ba96c6.png)

1. コントローラーの中でリソースファイルを定義する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/e4067ec9-9670-8b29-e7d5-f067d04f6056.png)

1. リソースファイルで管理している項目をビュー上で呼び出す。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/dcd6ca96-6a57-6805-d4d6-f55dad94c2e4.png)


1. 反映されていることを確認する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/6c31a289-49c7-b847-2cd1-a90d48291e04.png)

**サンプルコード（コントローラー）**
```VB
        Private db As New db_SystemEntities
        Private japanese As New My.Resources.Japanese

        Function Index() As ActionResult
            ViewBag.japanese = japanese
            Return View(db.t_item.ToList())
        End Function
```

**サンプルコード（ビュー）**
```HTML
        <th>
            @ViewBag.japanese.item_name
        </th>
        <th>
            @ViewBag.japanese.registration_date
        </th>
```

# 完成
リソースファイルを準備しておくことで、日本語表記を管理することができ、仕様変更に伴う影響を抑えることができるようになった。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079289/2ed6bc93-679a-f957-2f0c-5099d97007de.png)




# 注意事項
- この記事では、visual studio 2022を使用しているので、試してみたい方は事前に準備が必要です。
- 関連する記事の一覧は[こちら](https://qiita.com/portfoliokns3/items/7c789b7e1ba40500abbb#%E3%81%93%E3%82%8C%E3%81%8B%E3%82%89%E6%89%B1%E3%81%A3%E3%81%A6%E3%81%84%E3%81%8D%E3%81%9F%E3%81%84%E4%BA%BA%E5%90%91%E3%81%91%E3%81%AE%E8%A8%98%E4%BA%8B-1)。
※参照先のリンクが切れている場合は、[トップページ](https://qiita.com/portfoliokns3)から確認してください。

# この記事は誰向けの記事か？
- 試しにASP.NETを始めてみたいと思っている人

# 環境
- OS：Windows10
- [visual studio 2022](https://visualstudio.microsoft.com/ja/vs/)
- [Visual Studio Community Edition](https://visualstudio.microsoft.com/ja/downloads/)

# 本記事における注意事項
- 本記事は、備忘録としてまとめたものになります。
- 他の方の参考になる可能性も踏まえて、一般公開も行なっております。
- また記載内容はすべて、正しい内容が記載されているとは限りません。
- 誤った内容を見つけた場合は、ご指摘をお願いいたします。