微軟內建的多國語系目前分為三種 : 第一種是寫在Controller中的(通常用在商業邏輯判斷之錯誤顯示) 第二種是寫在View中的(通常用於畫面功能顯示以及UI顯示用) 第三種是寫在Data Model的Attribute中, 然後自動顯示在View中(通常用於與資料庫相關之資訊顯示, 如欄位名稱, 資料輸入之格式錯誤訊息) 我先來嘗試寫第一種 - Controller : 首先我先建立一個 Asp.Net Core 的 MVC 專案 NetCore ( 程式碼下載 , 如果想從無到有自己動手一步一步做, 可以參考微軟官網範例 MvcMovie , 我的專案就是從這小改來的, 只是將資料庫從LocalDB小改成InMemoryDB而已) 第二步打開Startup.cs, 並在下圖位置新增程式碼 services.AddLocalization(options => options.ResourcesPath = "Resources"); 第三步新增Resources資料夾, 並新增兩個資源檔案 "Controllers.MoviesController.resx" 和 "Controllers.MoviesController.en-US.resx" 如下圖 : Controllers.MoviesController.resx檔案的內容如下(檔案名稱沒包含語系表示是預設語系): Controllers.MoviesController.en-US.resx檔案的內容如下(en-US表示英語系): 以上表示系統是英語語系, "Hello" 會轉換成 "Hello(en-US,Movies)" 來顯示, 正常應該是轉換成 "Hello" 就好, 我多顯示其他文字只是用來知道這個 "Hello" 是由哪個語系檔案轉換來的而已 非英語系的 "Hello" 則會轉換成 "Hello(Default,Movies)" 來顯示, 表示是從預設檔案而來 以上第二以及第三兩個步驟是多國語系的共通步驟, 過來才是 Controller 的部分 第四步驟則是打開 MoviesControlle...
首先建立一個新的專案, 選擇 Asp.Net Core Web 應用程式, 按下一步 接著我都不改, 直接用預設值, 按建立 接著我選Asp.Net Core 5.0 以及 MVC 範本(方便測試看結果), 如下紅色框框, 按建立 專案建好後, 展開[建置]的菜單, 點選 [發佈 XXXXXX] 之後點選發佈到 [網頁伺服器IIS], 按下一步 再來直接用 [Web Deploy] 方式來發佈網站, 按下一步 接著輸入如下圖紅色框框部分 "localhost" 代表本機, "Default Web Site"(字字之間有空格)則是 IIS 的預設網站名稱(必須一樣, 如下圖紅色框框), 接著按完成 完成之後先別急著按發佈, 先按[編輯]進去, 裡面有連線測試, 如下圖紅色框框 進去編輯畫面按下[驗證連線]按鈕, 如下圖紅色框框 之後按鈕右邊會出現訊息"提高權限執行msdeploy", 點擊這字會告訴我們要用"系統管理員模式下啟動Visual Studio" 接著儲存專案後, 將 Visual Studio 關閉, 在 Visual Studio 2019 上按下右鍵, 點選[更多], 再點選[以系統管理員身分執行] 會出現警告視窗, 問"是否允許App變更您的裝置", 按下[是] 接著開啟剛剛的專案, 於菜單中選[建置], 再選[發佈], 開啟發佈視窗後再選[編輯], 再按一次[驗證連線]按鈕, 按鈕右邊就會出現綠色勾勾, 表示連線成功, 按下[取消]或是[儲存]關閉編輯的畫面 接著按下[發佈]的按鈕 Visual Studio 發佈完成後, 會自動開啟 IIS 上的網頁, 因為網頁的網址變成 localhost 了, 但是出現錯誤的畫面, 如下圖 去 Google 搜尋 "asp.net core IIS" 可以查到微軟的一篇文章 在使用 IIS 的 Windows 上裝載 ASP.NET Core 裡面有教很多東西, 其中有提到要在IIS上使用 Asp.Net Core 就要去一個連結 目前的 .NET Core 裝載套件組合安裝程式 (直接下載) 下載安裝 ASP.NET Core Hosting Bundle, 下載 dotn...