2014-11-05 57 views
1

根據文章aspnet-mvc-internationalization,我爲每個語言環境創建了一個單獨的資源文件。我可以處理所有的視圖和內置的代碼。但是,我應該如何處理XML文件中指定的數據?Asp.Net本地化:如何處理XML數據文件?

<?xml version="1.0" encoding="utf-8" ?> 
<items> 
<item Text="@Resources.Home" NavigateUrl="~/Home"> 
<item Text="@Resources.Dashboard" NavigateUrl="~/Routing/Dashboard"/> 
</item> 

</items> 

@Resources.Home不起作用。這是一個類似於網站地圖的地方。

回答

0

我想出了一個解決方案,爲每個區域設置一個xml文件。然後用locale助手類綁定路徑。

public static string GetPath() 
    { 
     var culture = Thread.CurrentThread.CurrentUICulture; 
     string letters = culture.TwoLetterISOLanguageName; 
     if (String.IsNullOrWhiteSpace(letters)) 
      return String.Empty; 
     return HttpContext.Current.Server.MapPath(String.Format("~/App_Data/TopMenu.{0}.xml", letters)); 

    } 

例如, TopMenu.en.xml,TopMenu.es.xml

.BindToXML(CultureHelper.GetPath(),「/ items/*」)。GetHtml()