【问题标题】:.resx file (culture-specific) with singleton pattern?.resx 文件(特定于文化)与单例模式?
【发布时间】:2011-03-23 22:36:20
【问题描述】:

老实说,这对我来说是第一次进入 resx 文件。我试图调查哪些不好的做法和好的做法,并发现有很多想法和台词,很快就会有人翻译。

总的来说,我有这个想法,

  1. 根据需要创建所有“Resources/Purpose.lang-COUNTRY.resx”
  2. 创建一个加载 currentculture 并挂钩相应 resx 文件的单例。
  3. 在需要时,使用 SingletonName.GetString("StringVariable");

    • 在这里使用 Singleton 怎么样?
    • 是/否有什么更好的做法?

我也有点困惑如何找到正确的名称来引用嵌入式 resx。

ResourceManager rm = 
  new ResourceManager("SomeLang.en-US", Assembly.GetExecutingAssembly());

它搜索一个.resource(文件名为resx),我无法通过反射器在dll中找到资源规范..

【问题讨论】:

  • 那有什么问题?
  • 您使用的是 .NET MVC 还是 Web 表单?我有一个很好的简单示例,说明 MVC3 中的一种方法?
  • 这应该是纯 c# 用法(业务/数据逻辑)。将资源嵌入 ASP / MVC3 控件时还需要其他解决方案,我知道 - 但稍后会涉及到。

标签: c# .net cultureinfo


【解决方案1】:

我在 ASP.NET MVC3 中找到了一种相当直接的国际化方法,我认为它可能会给你一个不同的角度来考虑/比较你当前的方法。

http://afana.me/post/aspnet-mvc-internationalization.aspx

【讨论】:

  • 谢谢。你可能是对的。但是,作为评论,我会告诉您,您提出的答案甚至与我要求的答案都不相近,但是稍后它可能是 MVC 层的一个很好(虽然复杂)的解决方案。
  • 我知道它没有直接回答,但认为它可能会有所帮助。我目前正在做类似的事情,所以我会更新任何额外的信息:)
猜你喜欢
  • 1970-01-01
  • 2013-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多