使用i18n.DataAnnotations。它究竟是如何工作的?

时间:2012-11-26 13:58:03

标签: asp.net-mvc-3 razor localization internationalization

我正在使用asp.net mvc 3实现一个多语言网站 一位朋友向我建议了这个项目https://github.com/danielcrenna/i18n

到目前为止,我已成功使其在控制器和视图(剃刀)中工作,但在数据注释中却没有。

例如

public class LogOnModel
{
    [i18n.DataAnnotations.Email]
    [Required(ErrorMessage = "Required Field")]
    [i18n.DataAnnotations.DataType(DataType.EmailAddress)]
    public string Email { get; set; }

    [i18n.DataAnnotations.Required(ErrorMessage = "Required Field")]
    [DataType(DataType.Password)]
    [i18n.DataAnnotations.Display(Name = "Password")]
    public string Password { get; set; }

    [i18n.DataAnnotations.Display(Name = "Remember me?")]
    public bool RememberMe { get; set; }
}

只要构建成功,上面的代码就会在.po文件中生成新条目。但没有任何事情发生。

有没有人知道这个? 提前谢谢!

2 个答案:

答案 0 :(得分:0)

我无法对你在GitHub中使用的i18n框架发表评论,但如果它有所帮助,那么在.NET中会有类似的东西。在.NET中执行此操作的方式不是基于.po,而是基于编译到附属程序集中的资源。

对于MVC,您可以使用DisplayAttribute指定包含您要使用的资源字符串的类型。验证消息有等效的属性。

答案 1 :(得分:0)

似乎使用i18n v1无法使i18n.DataAnnotations工作,我在github上问了问题https://github.com/turquoiseowl/i18n/issues/104