如何使用Json本地化来本地化两个Json文件

时间:2018-10-25 08:54:59

标签: json asp.net-core localization

在我的ASP中。 NET Core应用程序,我正在尝试本地化两个Json文件。我的第一个问题是,由于在startup.cs中指示了资源路径,所以这两个Json文件需要位于同一资源文件夹中。我的第二个问题是,当两个Json文件位于同一文件夹中时,我得到的jsonLocalizer将这些文件的内容串联在一起,因此无法在jsonResult中将它们分开。

除了这些问题之外,还有一些我没有得到的东西,它是方法IStringLocalizer IStringLocalizerFactory.Create(string baseName,string location);。无论我在字符串baseName和字符串位置中输入什么 结果没有改变。 这是startup.cs中的代码:

 services.AddJsonLocalization(options =>
            {
                options.ResourcesPath = "Json";
                options.CacheDuration = TimeSpan.FromMinutes(15);
            });

这是我控制器中的代码:

  public class BotMessagesController : ControllerBase
    {
        private readonly IStringLocalizerFactory _sharedLocalizerFactory;

        public BotMessagesController(IStringLocalizerFactory sharedLocalizerFactory)
        {
            _sharedLocalizerFactory = sharedLocalizerFactory;
        }

        // GET api/messages
        [HttpGet()]
        public ActionResult<IEnumerable<LocalizedString>> GetAllBotMessages()
        {
            IStringLocalizer jsonLocalizer = _sharedLocalizerFactory.Create("AllMessages.json", "./BotMessages");
            IEnumerable<LocalizedString> jsonResult = jsonLocalizer.GetAllStrings();
            return Ok(jsonResult);
        }
    }

You can find in the picture the files in my project

0 个答案:

没有答案