Asp.net-Mvc-3

多語言 asp.net mvc 3 的最佳方式

  • December 30, 2016

我正在嘗試為一個學術項目創建一個 asp.net mvc3 項目,其中一個要求是它必須能夠在不同的語言之間進行更改。目前我擁有的是以下內容:

我有一個作為語言儲存庫的外部項目,對於每個視圖,我都有一個定義所有“佔位符”的視圖的界面,確實定義了所有可更改的文本。在任何操作開始時,我獲取 uri 中的語言(類似於 /{lng}/{command}/{action})並使用 ViewBag 將其傳遞給視圖,一旦進入視圖,我將使用儲存庫以所選語言獲取該視圖的介面的目前實現。

我在這個問題上找不到任何好的話題。如果有更好的方法可以做到這一點並且更有效,我只是好奇。以及通常如何在專業水平上完成。我對 asp.net 不是很有經驗,大約一個月前才開始學習它。

此外,如果重要的是我正在使用 razor 引擎來查看視圖,並且在項目的這個階段我們不能使用任何 JavaScript。

您可以閱讀以下指南

我正在處理一個名為 Griffin.MvcContrib 的項目,該項目具有一些本地化功能。

首先,我使用查詢字元串和 cookie 來切換語言。(只需在您的佈局中創建一個帶有標誌的連結<a href="@Url.Action("Index")?lang=en-us">English</a>

並用我的屬性標記你的控制器:

[LocalizedAttribute]
public class YourController : Controller
{

}

接下來是獲取視圖、模型和驗證消息的本地化。此處描述了模型和驗證的本地化。至於視圖,你只需要使用@T()來獲取翻譯文本:

@Model.Title

<div>@T("This text will get translated")</div>

(您需要將 Views\Web.config 中的 pageBaseType 更改為Griffin.MvcContrib.GriffinWebViewPage

我幾乎完成了一個管理區域,任何非技術使用者都可以使用它來管理所有翻譯。在此處查看Griffin.MvcContrib.Admin 項目:https ://github.com/jgauffin/griffin.mvccontrib/tree/localization/source/Griffin.MvcContrib.Admin

引用自:https://stackoverflow.com/questions/8151114