我不确定我是否理解Asp.Net MVC中的本地化

时间:2011-05-22 08:39:00

标签: asp.net-mvc localization

我已经在网上阅读了关于Asp.Net和MVC中的本地化的教程等,但我认为我没有得到它。如果你按照描述的那样处理页面,这似乎是一种非常混乱的方式......

假设我有很多带有大量文字段落的观点。以下只是一个部分示例,页面上通常会有更多内容:

<div id="homePageSidebar" class="roundedBox">
    <div class="infoBoxHeader">
        <h2>
            <%:Html.ActionLink("Who are we?", "About") %>
        </h2>
    </div>
    <div class="infoBoxContent">
        <p>
            Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.
        </p>
        <p id="frontpagedesc">
             Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.
        </p>
       <p id="frontpagedesc">
             Bla bla bla bla <a href="blabla">bla bla bla</a> bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla <i>bla bla bla</i> bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.
        </p>
    </div>

</div>

因此,如果我理解正确,我应该使用&lt;%= ViewRes.SharedStrings.Blabla_paragraph%&gt;,&lt;%= ViewRes.SharedStrings等替换每个

标记中的文本。 Blabla2_paragraph%GT;等?

最重要的是,这个文本(有时相当长的段落)应该输入一个编辑器,它似乎远不适合编辑长文本段(资源文件的数据库式编辑器)?

然后,我不会轻易编辑视图文件,而是会在文件中填充这些资源标识符(我肯定会在一段时间后看起来相当神秘)?要编辑内容,我将不得不从资源文件和视图中跳回来......

那么链接,斜体等等会在资源文件中的原始html中进行硬编码,还是应该将文本进一步分段(直到链接作为一个资源,链接另一个资源,以及句子中的剩余文字是第三种资源)?我在其中一个看起来像这样的教程中看到了一个例子,这会让它变得更加荒谬。

我发现很难相信这是你必须这样做的方式。所以我觉得我可能遗漏了一些基本的东西?我是否完全误解了本地化Asp.Net MVC网站的过程?

2 个答案:

答案 0 :(得分:1)

  

我发现很难相信这是你必须这样做的方式。所以我觉得我可能遗漏了一些基本的东西?我是否完全误解了本地化Asp.Net MVC网站的过程?

不,你没有遗漏任何东西。这是本地化ASP.NET MVC应用程序所涉及的process

答案 1 :(得分:1)

您始终可以使用为不同语言提供单独路由和视图的方法。有些人这样做,一些CMS实现支持这种方法。这样您就不必使用资源文件。缺点是,如果你想改变任何东西,你必须在几个地方做。达林给出的一个例子假设大多数专家建议的“最佳实践”,这可能不适合你。关于这个问题的讨论很激烈。我建议研究提供的解决方案,并选择最适合特定项目的方案。

有关该主题的更多信息,我可以建议以下堆栈溢出帖子:

我在一篇很棒的博客文章中有一个链接,一个俄罗斯人解释了英语和俄语的单独观点的方法(同样的原则适用于任何组合),但我现在找不到它。如果我以后发现它会发布它。

还可以转到this link获取一个小工具,以便更轻松地编辑和比较不同的语言资源文件。