我们正在开发一个应该用葡萄牙语和英语工作的网站! 为此,我们创建了以下架构:
每个类(Product,Service,Contact ..)都有一个pt-br字段和一个en-us字段。以下是一个示例:http://chopapp.com/#1u9no3qw
要以正确的语言显示视图,我们使用的方法:
视图之间没有区别!
@using Resources
@using Dicionario = Semep.Recursos.Admin.Pagina.Remover
@model PaginaViewModel
@section css {
@Script.StylesForms()
<link href="~/Areas/Admin/Content/controller/paginas/remover.css" rel="stylesheet" type="text/css" />
}
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<legend>@Dicionario.DesejaRemoverEstaPagina</legend>
<fieldset>
@Html.ValidationSummary(false, Strings.VerifiqueOsErrosAbaixo)
@Html.DisplayForModel()
</fieldset>
<div class="buttons">
@Html.ActionLink("Cancelar", "Index", "Solucoes")
<input type="submit" value="SIM" />
</div>
}
显示字段pt-br!
@model PaginaViewModel
@Html.DisplayFor(p => p.ID)
<div class="display-label">
@Html.LabelFor(p => p.Link)
</div>
<div class="display-field">
@Html.DisplayFor(p => p.Link)
</div>
<div class="display-label">
@Html.LabelFor(p => p.Nome)
</div>
<div class="display-field">
@Html.DisplayFor(p => p.Nome)
</div>
<div class="display-label">
@Html.LabelFor(p => p.Texto)
</div>
<div class="display-field">
@Html.DisplayFor(p => p.Texto)
</div>
显示字段en-us!
@model PaginaViewModel
@Html.DisplayFor(p => p.ID)
<div class="display-label">
@Html.LabelFor(p => p.Link)
</div>
<div class="display-field">
@Html.DisplayFor(p => p.Link)
</div>
<div class="display-label">
@Html.LabelFor(p => p.NomeEn)
</div>
<div class="display-field">
@Html.DisplayFor(p => p.NomeEn)
</div>
<div class="display-label">
@Html.LabelFor(p => p.TextoEn)
</div>
<div class="display-field">
@Html.DisplayFor(p => p.TextoEn)
</div>
但是,数据只出现在“pt-br”中 如何在asp.net mvc中使用DisplayTemplates和全球化?
我知道这不是构建数据以配合全球化的最佳方式 但是整个系统都是如此,我来维持这个标准!