来源: Asp.net MVC 多语言应用 – finly – 博客园
这里以Mvc3模版项目的登录页为例,简单说一下过程:
首先准备资源文件,即语言包。为web site项目添加Resource文件夹,然后在Resource文件夹下添加两个resx文件
命令行工具ResGen.exe将这两个resx文件生成同名的resources文件,如zh-CN.resources、en-US.resources,生成后将这两个resources文件放到Resource目录下
写一个静态getLang
<span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"container"</span><span class="tag">></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number1 index0 alt2"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">namespace</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">System.Web.Mvc</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number2 index1 alt1"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">{</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number3 index2 alt2"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">using</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">System.Collections;</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number4 index3 alt1"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">using</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">System.Resources;</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number5 index4 alt2"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">using</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">System.Linq;</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number6 index5 alt1"</span><span class="tag">></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number7 index6 alt2"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">public</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">static</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">class</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">LocalizationHelper</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number8 index7 alt1"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">{</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number9 index8 alt2"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">public</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">static</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">string</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">Lang(</span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">this</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">HtmlHelper html, </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">string</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">key)</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number10 index9 alt1"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">{</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number11 index10 alt2"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">return</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">GetLang(key);</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number12 index11 alt1"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">}</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number13 index12 alt2"</span><span class="tag">></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number14 index13 alt1"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">public</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">static</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">string</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">GetLang(</span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">string</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">key)</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number15 index14 alt2"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">{</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number16 index15 alt1"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">var</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">filePath = HttpContext.Current.Server.MapPath(</span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp string"</span><span class="tag">></span><span class="pln">"~/Resource"</span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">);</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number17 index16 alt2"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">string</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">language = HttpContext.Current.Session[</span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp string"</span><span class="tag">></span><span class="pln">"CurrentLanguage"</span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">] == </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">null</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">?</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number18 index17 alt1"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp string"</span><span class="tag">></span><span class="pln">"zh-CN"</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">: HttpContext.Current.Session[</span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp string"</span><span class="tag">></span><span class="pln">"CurrentLanguage"</span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">].ToString();</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number19 index18 alt2"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">string</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">resxPath = </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">string</span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">.Format(</span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp string"</span><span class="tag">></span><span class="pln">@"{0}\{1}.resources"</span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">, filePath, language);</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number20 index19 alt1"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">ResourceReader reader = </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">new</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">ResourceReader(resxPath);</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number21 index20 alt2"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">var</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">entry = reader.Cast<DictionaryEntry>().FirstOrDefault<DictionaryEntry>(x => x.Key.ToString() == key);</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number22 index21 alt1"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">reader.Close();</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number23 index22 alt2"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">return</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">entry.Value == </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">null</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">? </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp string"</span><span class="tag">></span><span class="pln">""</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">: (</span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">string</span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">)entry.Value;</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number24 index23 alt1"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">}</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number25 index24 alt2"</span><span class="tag">></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number26 index25 alt1"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">public</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">static</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">string</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">GetLanguage(</span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">this</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">HtmlHelper html)</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number27 index26 alt2"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">{</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number28 index27 alt1"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp keyword"</span><span class="tag">></span><span class="pln">return</span><span class="tag"></code></span><span class="pln"> </span><span class="tag"><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">HttpContext.Current.Session[</span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp string"</span><span class="tag">></span><span class="pln">"CurrentLanguage"</span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">].ToString();</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number29 index28 alt2"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">}</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number30 index29 alt1"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp spaces"</span><span class="tag">></span><span class="pln"> </span><span class="tag"></code><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">}</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number31 index30 alt2"</span><span class="tag">><code</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"csharp plain"</span><span class="tag">></span><span class="pln">}</span><span class="tag"></code></div></span><span class="pln"> </span><span class="tag"><div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"line number31 index30 alt2"</span><span class="tag">></span> |