Как использовать локализацию с String.Format - PullRequest
0 голосов
/ 01 июня 2018

Я работаю на веб-сайте Asp.net Core MVC с локализацией, и у меня есть текст для отображения с переменными внутри, например:

@{var item = "car"}
<h1>Max's @item is blue</h1>

, но на французском это

@{var item = "la voiture"}
<h1>@item de Max est bleue</h1>

Итак, порядок слов изменился, я попробовал:

@using Microsoft.AspNetCore.Mvc.Localization
@inject IViewLocalizer Localizer
    <h1>@String.Format(Localizer["Max's {0} is blue"],@item)</h1>

с тракцией:

    Max's {0} is blue => {0} de Max est bleu

но у меня ошибка:

FormatException: Index (zero based) must be greater than or equal to zero and less than the size of the argument list.

Какя могу сделать это?

Ответы [ 2 ]

0 голосов
/ 16 октября 2018
 @Localizer["My Format {0}", myValue]

Это решает проблему, потому что это синтаксис для локализатора с параметрами.

0 голосов
/ 04 июня 2018

@ Решение Камило Теревинто работает отлично.Вот полное решение, если оно может кому-либо помочь:

Просмотр:

@model Project.Models.item
    <h1>@String.Format(Localizer["Max's {0} is {1}"].Value, Model.Name, Model.Color)</h1>

Resx:

Max's {0} is {1} => {0} de Max est {1}
...