.net Framework Web Api 實現多國語

我只吃饭不洗碗發表於2024-05-24

首先,在專案下建立一個Resources資料夾,在Resources資料夾中新增如下資原始檔:

Message.resx 【預設英語】

Message.ja.resx 【日語】

Message.zh-Hans.resx 【簡體中文】

Message.zh-Hant.resx 【繁體中文】

在檔案中新增名稱和值,例如在簡體中文的檔案中

在日語檔案中

然後在Global.asax.cs 檔案中新增如下程式碼

 protected void Application_BeginRequest(object sender, EventArgs e)
        {
            string lang = "en";
            string language = Request.Headers["Accept-Language"] ?? "en";
            if (language.StartsWith("zh", StringComparison.Ordinal))
            {
                lang = language.Contains("Hant") ? "zh-Hant" : "zh-Hans";
            }
            if (language.StartsWith("ja", StringComparison.Ordinal))
            {
                lang =  "ja";
            }           
    
            Thread.CurrentThread.CurrentUICulture = new CultureInfo(lang);   

測試成果:

相關文章