在我的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);
}
}