Nancyfx本地化
Nancyfx localization
我正在 Nancy 测试本地化并能够使用嵌入式资源文件让它工作,但问题是我不想要嵌入式资源文件,因为我希望允许它们通过 GUI 或使用文件(如果我走数据库路线或将资源文件设置为"content")。
根据文档,您应该能够覆盖它以支持使用数据库,但我无法让它工作 (https://github.com/NancyFx/Nancy/wiki/Localization):
public class ResourceManager : ResourceBasedTextResource
{
public ResourceManager(IResourceAssemblyProvider resourceAssemblyProvider) : base(resourceAssemblyProvider)
{
}
public new string this[string key, NancyContext context]
{
get
{
return "HELO!";
}
}
}
这只是我在胡闹,但我在做@Text.Localization 时希望在 Razor 视图中。它应该 return "HELO!" 一切...但是它不起作用
你的 post 中确实没有问题,所以我将不得不猜测一下并假设你没有得到任何异常,而是你没有看到 "HELO!" 在你看来
仅仅实施新的 ResourceBasedTextResource
class 是不够的。这是一个核心组件,因此您必须明确告诉 Nancy 使用它。您可以通过覆盖 Bootstrapper
的 InternalConfiguration
属性 并告诉 Nancy 使用您的实现来实现此目的
链接的演示的 DemoBootstrapper
中看到它
此外,如果您不打算使用资源文件,那么您应该考虑从 ITextResource 接口继承。这是一个简单的界面,所以应该是直截了当的。
HTH
我正在 Nancy 测试本地化并能够使用嵌入式资源文件让它工作,但问题是我不想要嵌入式资源文件,因为我希望允许它们通过 GUI 或使用文件(如果我走数据库路线或将资源文件设置为"content")。
根据文档,您应该能够覆盖它以支持使用数据库,但我无法让它工作 (https://github.com/NancyFx/Nancy/wiki/Localization):
public class ResourceManager : ResourceBasedTextResource
{
public ResourceManager(IResourceAssemblyProvider resourceAssemblyProvider) : base(resourceAssemblyProvider)
{
}
public new string this[string key, NancyContext context]
{
get
{
return "HELO!";
}
}
}
这只是我在胡闹,但我在做@Text.Localization 时希望在 Razor 视图中。它应该 return "HELO!" 一切...但是它不起作用
你的 post 中确实没有问题,所以我将不得不猜测一下并假设你没有得到任何异常,而是你没有看到 "HELO!" 在你看来
仅仅实施新的 ResourceBasedTextResource
class 是不够的。这是一个核心组件,因此您必须明确告诉 Nancy 使用它。您可以通过覆盖 Bootstrapper
的 InternalConfiguration
属性 并告诉 Nancy 使用您的实现来实现此目的
DemoBootstrapper
中看到它
此外,如果您不打算使用资源文件,那么您应该考虑从 ITextResource 接口继承。这是一个简单的界面,所以应该是直截了当的。
HTH