ポルトガル語と英語で動作するウェブサイトを開発中です! このために、次のアーキテクチャを作成します。
各クラス (Product、Service、Contact ..) には、pt-br 用のフィールドと en-us 用のフィールドがあります。例を次に示します: http://chopapp.com/#1u9no3qw
ビューを正しい言語で表示するには、次のアプローチを使用します。
Remover.cshtml および Remover.us-en.cshtml
景色に違いはありません!
@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>
}
DisplayTemplates\PaginaViewModel.cshtml
フィールドを表示します 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>
DisplayTemplates\PaginaViewModel.en-us.cshtml
フィールドを表示 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 とグローバリゼーションを操作するには?
ノート
グローバリゼーションに対応するためにデータを構造化するには、これが最善の方法ではないことはわかっています。
しかし、システム全体がそうであり、私はこの基準を維持しなければなりません!